diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000000..f554b1fbaf0 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,29 @@ +{ + "name": "F* minimal devcontainer", + "build": { + "dockerfile": "minimal.Dockerfile" + }, + "customizations": { + "vscode": { + "extensions": [ + "FStarLang.fstar-vscode-assistant" + ] + } + }, + "remoteEnv": { + "FSTAR_DEVCONTAINER": "minimal" + // ^ We just set this in case we ever need to distinguish + // we are running in a codespace. + }, + // Runs only once when container is prepared + "onCreateCommand": { + "link_to_home_bin" : "ln -s $(realpath bin/fstar.exe) ~/bin/fstar.exe" + }, + // Runs periodically and/or when content of repo changes + "updateContentCommand": { + "make": "bash -i .devcontainer/onUpdate.sh" + }, + // These run only when the container is assigned to a user + "postCreateCommand": { + } +} diff --git a/.devcontainer/minimal.Dockerfile b/.devcontainer/minimal.Dockerfile new file mode 100644 index 00000000000..243a4e11cee --- /dev/null +++ b/.devcontainer/minimal.Dockerfile @@ -0,0 +1,65 @@ +FROM ubuntu:latest + +SHELL ["/bin/bash", "-c"] + +# Base dependencies: opam +# CI dependencies: jq (to identify F* branch) +# python3 (for interactive tests) +# libicu (for .NET, cf. https://aka.ms/dotnet-missing-libicu ) +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + wget \ + git \ + gnupg \ + sudo \ + python3 \ + python-is-python3 \ + libicu70 \ + libgmp-dev \ + opam \ + && apt-get clean -y +# FIXME: libgmp-dev should be installed automatically by opam, +# but it is not working, so just adding it above. + +# Create a new user and give them sudo rights +ARG USER=vscode +RUN useradd -d /home/$USER -s /bin/bash -m $USER +RUN echo "$USER ALL=NOPASSWD: ALL" >> /etc/sudoers +USER $USER +ENV HOME /home/$USER +WORKDIR $HOME +RUN mkdir -p $HOME/bin + +# Make sure ~/bin is in the PATH +RUN echo 'export PATH=$HOME/bin:$PATH' | tee --append $HOME/.profile $HOME/.bashrc $HOME/.bash_profile + +# Install dotnet +ENV DOTNET_ROOT /home/$USER/dotnet +RUN wget -nv https://download.visualstudio.microsoft.com/download/pr/cd0d0a4d-2a6a-4d0d-b42e-dfd3b880e222/008a93f83aba6d1acf75ded3d2cfba24/dotnet-sdk-6.0.400-linux-x64.tar.gz && \ + mkdir -p $DOTNET_ROOT && \ + tar xf dotnet-sdk-6.0.400-linux-x64.tar.gz -C $DOTNET_ROOT && \ + echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' | tee --append $HOME/.profile $HOME/.bashrc $HOME/.bash_profile && \ + rm -f dotnet-sdk*.tar.gz + +# Install OCaml +ARG OCAML_VERSION=4.12.0 +RUN opam init --compiler=$OCAML_VERSION --disable-sandboxing +RUN opam option depext-run-installs=true +ENV OPAMYES=1 +RUN opam install --yes batteries zarith stdint yojson dune menhir menhirLib pprint sedlex ppxlib process ppx_deriving ppx_deriving_yojson + +# Get compiled Z3 +RUN wget -nv https://github.com/Z3Prover/z3/releases/download/Z3-4.8.5/z3-4.8.5-x64-ubuntu-16.04.zip \ + && unzip z3-4.8.5-x64-ubuntu-16.04.zip \ + && cp z3-4.8.5-x64-ubuntu-16.04/bin/z3 $HOME/bin/z3 \ + && rm -r z3-4.8.5-* + +WORKDIR $HOME + +# Instrument .bashrc to set the opam switch. Note that this +# just appends the *call* to eval $(opam env) in these files, so we +# compute the new environments fter the fact. Calling opam env here +# would perhaps thrash some variables set by the devcontainer infra. +RUN echo 'eval $(opam env --set-switch)' | tee --append $HOME/.profile $HOME/.bashrc $HOME/.bash_profile diff --git a/.devcontainer/onUpdate.sh b/.devcontainer/onUpdate.sh new file mode 100755 index 00000000000..ec571fb0308 --- /dev/null +++ b/.devcontainer/onUpdate.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Prebuild F* and library +make -j$(nproc) ADMIT=1 |& tee .devcontainer_build.log diff --git a/.docker/build/build_funs.sh b/.docker/build/build_funs.sh index a1372560c90..95b77978957 100644 --- a/.docker/build/build_funs.sh +++ b/.docker/build/build_funs.sh @@ -30,7 +30,7 @@ function fetch_karamel() { git fetch origin local ref=$(jq -c -r '.RepoVersions["karamel_version"]' "$rootPath/.docker/build/config.json" ) if [[ $ref == "null" ]]; then - echo "Unale to find RepoVersions.karamel_version on $rootPath/.docker/build/config.json" + echo "Unable to find RepoVersions.karamel_version on $rootPath/.docker/build/config.json" return -1 fi @@ -41,11 +41,11 @@ function fetch_karamel() { # Install the Karamel dependencies pushd $KRML_HOME - .docker/build/install-other-deps.sh + OPAMYES=true .docker/build/install-other-deps.sh popd } -function make_karamel() { +function make_karamel_pre() { # Default build target is minimal, unless specified otherwise local localTarget if [[ $1 == "" ]]; then @@ -56,6 +56,9 @@ function make_karamel() { make -C karamel -j $threads $localTarget || (cd karamel && git clean -fdx && make -j $threads $localTarget) +} + +function make_karamel_post() { OTHERFLAGS='--admit_smt_queries true' make -C karamel/krmllib -j $threads export PATH="$(pwd)/karamel:$PATH" } @@ -75,9 +78,10 @@ function fstar_default_build () { export OTHERFLAGS="--record_hints $OTHERFLAGS" fi - # Start fetching while we build F* + # Start fetching and building karamel while we build F* if [[ -z "$CI_NO_KARAMEL" ]] ; then fetch_karamel + make_karamel_pre fi & # Build F*, along with fstarlib @@ -95,13 +99,15 @@ function fstar_default_build () { wait # for fetches above - # Build karamel if enabled + # Build the rest of karamel if enabled (i.e. verify krmllib) if [[ -z "$CI_NO_KARAMEL" ]] ; then # The commands above were executed in sub-shells and their EXPORTs are not # propagated to the current shell. Re-do. export_home KRML "$(pwd)/karamel" - make_karamel + make_karamel_post fi + # NOTE: We cannot run this in parallel with F* regressions as some + # examples depend on having krmllib checked. # Once F* is built, run its main regression suite. $gnutime make -j $threads -k ci-$localTarget && echo true >$status_file diff --git a/.github/workflows/linux-x64-rebuild-base.yaml b/.github/workflows/linux-x64-rebuild-base.yaml index 3bf4f0f1ed6..38e0d8d51e8 100644 --- a/.github/workflows/linux-x64-rebuild-base.yaml +++ b/.github/workflows/linux-x64-rebuild-base.yaml @@ -42,7 +42,7 @@ jobs: echo "ci_docker_image_tag=$ci_docker_image_tag" >> $GITHUB_ENV CI_TARGET=uregressions - docker build --no-cache -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg FSTAR_CI_BASE=$TEMP_IMAGE_NAME --build-arg CI_TARGET="$CI_TARGET" . |& tee BUILDLOG + docker build --no-cache -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg FSTAR_CI_BASE=$TEMP_IMAGE_NAME --build-arg CI_TARGET="$CI_TARGET" --build-arg CI_THREADS=$(nproc) . |& tee BUILDLOG ci_docker_status=$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/status.txt' || echo false) $ci_docker_status diff --git a/.github/workflows/linux-x64.yaml b/.github/workflows/linux-x64.yaml index a0cb5a5da93..c8f10568544 100644 --- a/.github/workflows/linux-x64.yaml +++ b/.github/workflows/linux-x64.yaml @@ -63,8 +63,8 @@ jobs: CI_IMAGEBUILD_INITIAL_TIMESTAMP=$(date '+%s') docker build -f .docker/base.Dockerfile -t fstar_ci_base . CI_IMAGEBUILD_FINAL_TIMESTAMP=$(date '+%s') - echo "CI_IMAGEBUILD_INITIAL_TIMESTAMP='$CI_IMAGEBUILD_INITIAL_TIMESTAMP'" >> $GITHUB_ENV - echo "CI_IMAGEBUILD_FINAL_TIMESTAMP='$CI_IMAGEBUILD_FINAL_TIMESTAMP'" >> $GITHUB_ENV + echo "CI_IMAGEBUILD_INITIAL_TIMESTAMP=$CI_IMAGEBUILD_INITIAL_TIMESTAMP" >> $GITHUB_ENV + echo "CI_IMAGEBUILD_FINAL_TIMESTAMP=$CI_IMAGEBUILD_FINAL_TIMESTAMP" >> $GITHUB_ENV fi - name: Build FStar and its dependencies @@ -72,7 +72,7 @@ jobs: ci_docker_image_tag=fstar:local-run-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT echo "ci_docker_image_tag=$ci_docker_image_tag" >> $GITHUB_ENV if [[ -z $CI_TARGET ]] ; then CI_TARGET=uregressions ; fi - docker build -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg CI_BRANCH=$GITHUB_REF_NAME --build-arg CI_TARGET="$CI_TARGET" --build-arg RESOURCEMONITOR=$RESOURCEMONITOR $CI_DO_NO_KARAMEL . |& tee BUILDLOG + docker build -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg CI_BRANCH=$GITHUB_REF_NAME --build-arg CI_TARGET="$CI_TARGET" --build-arg RESOURCEMONITOR=$RESOURCEMONITOR --build-arg CI_THREADS=$(nproc) $CI_DO_NO_KARAMEL . |& tee BUILDLOG ci_docker_status=$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/status.txt' || echo false) if $ci_docker_status && [[ -z "$CI_SKIP_IMAGE_TAG" ]] ; then if ! { echo $GITHUB_REF_NAME | grep '/' ; } ; then diff --git a/.gitignore b/.gitignore index 7b8d4458faf..e68737386ab 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,6 @@ nubuild.progress # Nuget packages nuget/ + +# devcontainer temp files +/.devcontainer_build.log diff --git a/CHANGES.md b/CHANGES.md index 44ff4c2e646..130ee9fab38 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -83,6 +83,15 @@ Guidelines for the changelog: collects all those refinement goals and presents them to the user tactic for furhter processing. + * A new version of the tactics and reflection engine was started by + PR https://github.com/FStarLang/FStar/pull/2960. The new version is + under the `FStar.Tactics.V2` and `FStar.Reflection.V2` namespaces + and should be considered *experimental* and subject to change. The + old version is still supported, available under the corresponding V1 + namespaces. All the old, unqualified modules point to V1, so users + should not need to make any change to their code to continue using + V1. + ## Typeclass argument syntax * The syntax for a typeclass argument (a.k.a. constraint) is now `{| ... |}` diff --git a/Makefile b/Makefile index 0611a01a7f5..2ce7e0421b1 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ fstar: @echo " DUNE INSTALL" $(Q)cd $(DUNE_SNAPSHOT) && dune install --profile=$(FSTAR_BUILD_PROFILE) --prefix=$(FSTAR_CURDIR) -.PHONY: verify-ulin +.PHONY: verify-ulib verify-ulib: +$(Q)$(MAKE) -C ulib @@ -132,24 +132,37 @@ output: +$(Q)$(MAKE) -C tests/ide/emacs accept +$(Q)$(MAKE) -C tests/bug-reports output-accept +# This rule is meant to mimic what the docker based CI does, but it +# is not perfect. In particular it will not look for a diff on the +# snapshot, nor run the build-standalone script. .PHONY: ci ci: - +$(Q)FSTAR_HOME=$(CURDIR) $(MAKE) ci-pre - +$(Q)FSTAR_HOME=$(CURDIR) $(MAKE) ci-post + +$(Q)OTHERFLAGS="--use_hints" FSTAR_HOME=$(CURDIR) $(MAKE) ci-pre + +$(Q)OTHERFLAGS="--use_hints" FSTAR_HOME=$(CURDIR) $(MAKE) ci-post +# This rule runs a CI job in a local container, exactly like is done for +# CI. .PHONY: docker-ci docker-ci: docker build -f .docker/standalone.Dockerfile --build-arg CI_THREADS=$(shell nproc) . .PHONY: ci-pre -ci-pre: +ci-pre: ci-rebootstrap + +.PHONY: ci-rebootstrap +ci-rebootstrap: +$(Q)$(MAKE) full-bootstrap FSTAR_BUILD_PROFILE=test + +.PHONY: ci-ocaml-test +ci-ocaml-test: +$(Q)$(MAKE) -C src ocaml-unit-tests - +$(Q)$(MAKE) -C ulib ulib-in-fsharp #build ulibfs + +.PHONY: ci-ulib-in-fsharp +ci-ulib-in-fsharp: + +$(Q)$(MAKE) -C ulib ulib-in-fsharp .PHONY: ci-post -ci-post: ci-uregressions - +if [ -n "${FSTAR_CI_UREGRESSIONS_ULONG}" ]; then $(MAKE) ci-uregressions-ulong; fi +ci-post: ci-ulib-in-fsharp ci-ocaml-test ci-uregressions .PHONY: ci-uregressions ci-uregressions: diff --git a/doc/book/code/AdHocEffectPolymorphism.fst.hints b/doc/book/code/AdHocEffectPolymorphism.fst.hints index 8af5b03d055..9a0b3e66570 100644 --- a/doc/book/code/AdHocEffectPolymorphism.fst.hints +++ b/doc/book/code/AdHocEffectPolymorphism.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "baeada5b87a6b8b6b17c5a32fbbca98e" + "426345ee67dc8cd4c21d9e4a7edab072" ], [ "AdHocEffectPolymorphism.elim_tot", @@ -23,7 +23,7 @@ 1, [ "@query", "assumption_AdHocEffectPolymorphism.eff_tag__uu___haseq" ], 0, - "e38bcd4f48d1030eeb9c255d2dede7cb" + "29f9416567bb7d37a62d15c201a7d555" ], [ "AdHocEffectPolymorphism.elim_tot", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_3d79f9587edb6fce694621aacef574f4" ], 0, - "8637e1d56804becdadf96393a3601745" + "6f3a8f4d48ed99f9cf2ba50475be67a0" ], [ "AdHocEffectPolymorphism.elim_gtot", @@ -47,7 +47,7 @@ 1, [ "@query", "assumption_AdHocEffectPolymorphism.eff_tag__uu___haseq" ], 0, - "38d0344bc57421824e70d9972039180e" + "1ee81aaefb3a8f60b93512ee691e0b81" ], [ "AdHocEffectPolymorphism.elim_gtot", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_b3f3fc301d11a45e47f02d6e4e9e143b" ], 0, - "517c30de2ee04ca38e0f35b1ceef8d55" + "a0e6e67d71ddaaf8e932937cd5395d84" ], [ "AdHocEffectPolymorphism.return", @@ -84,7 +84,7 @@ "typing_Tm_abs_b68e73a4efe6a575c72f28a07914e6c3" ], 0, - "38992104fa373149b23fbeaa80b072af" + "82174809f3946c4da62fe0f2c278334b" ], [ "AdHocEffectPolymorphism.op_let_Bang", @@ -105,7 +105,7 @@ "typing_Tm_abs_e0231376ac4f1e1c1f86bc97f17fb9b1" ], 0, - "e58cd7af27a330deb34ab6c08c54ecf7" + "a524767a52dd92b1d76a341fce50716f" ], [ "AdHocEffectPolymorphism.map", @@ -123,7 +123,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "c306d0cb2ca5f40dd5b5d2b9427a81dc" + "aecd83874333fe096d54860407334f40" ], [ "AdHocEffectPolymorphism.inc", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "643e0944f2063307b45a0cf0ce324c4d" + "d7afcb564203c8dc126ba6912bcc65c2" ], [ "AdHocEffectPolymorphism.ginc", @@ -151,7 +151,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "321b8bbe7eec248cee1c1704fcef4bd5" + "c7b82b816a5fb3a91e5df699e6d4d2b7" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Alex.fst.hints b/doc/book/code/Alex.fst.hints index 37455224e27..a790999d00e 100644 --- a/doc/book/code/Alex.fst.hints +++ b/doc/book/code/Alex.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e7fd3116b5e344bcae729e96313408d" + "0686b4b98040bd00ed59a5f6958d6415" ], [ "Alex.find_above_for_g", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_4a238e1e06eccc65deba555c9a504c92" ], 0, - "8a83f14a27debe9c558eda32b1b1ee52" + "66829accad157fce6c80f11c9bf885eb" ], [ "Alex.find_above_for_g", @@ -40,7 +40,7 @@ "token_correspondence_Alex.f" ], 0, - "9a7e2f88c3cf91db2872d972056df047" + "e6eecd866d3f39a70689d3cf757067c1" ], [ "Alex.find_above_for_g", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b2285c93a876f5ce40b9ef39b4a01409" + "e6fa8ce7d0f1e8a20968bfdcbe2f8154" ], [ "Alex.find_above_for_g", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_a3a13cdccab52590994745b5bb12473a" ], 0, - "2afca07662cd1d915d834b39d1f9582c" + "d01ed268a30a7af390e87768fee1dd3e" ], [ "Alex.find_above_for_g", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e689d077f317b9e6599f11d190c778a2" + "cf84ae41c61714cc91c864c21ce570f3" ], [ "Alex.find_above_for_g", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_15400c4215b69aceb1c3cfd351472b2e" ], 0, - "66e817e915946eaaca713f3426417efc" + "68619f6edc3fcef881e51d2bb01b770d" ], [ "Alex.find_above_for_g", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_e9f390a1043f17040e387fd036cf3d27" ], 0, - "d367633d63a8517054d90cc50673bd50" + "364155a035ce383ca6efa2da51e8e7e3" ], [ "Alex.find_above_for_g", @@ -132,7 +132,7 @@ "token_correspondence_Alex.f", "typing_Alex.f", "typing_Prims.abs" ], 0, - "b4ab6c710de32c7f2515d8bdf6f7b940" + "75b2c6525a49c26c91e65496fa524672" ], [ "Alex.find_above_for_g", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4b56b46701580e3129ddebc7bf5cb44a" + "e9cee637402d18618ee31ed518cd16b3" ], [ "Alex.find_above_for_g", @@ -164,7 +164,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c0808a26c1ec147bcdfc21badf5216f7" + "4d7ef8513ec42f2a502bca3aef4ff366" ], [ "Alex.find_above_for_g", @@ -182,7 +182,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b0e38b803dff876018a8a964b2fec56b" + "bf0e3a0f16c9139e0c0ce677ab195514" ], [ "Alex.find_above_for_g", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_15400c4215b69aceb1c3cfd351472b2e" ], 0, - "79df400a9f6d3b830e2d17a6704c2265" + "2c7f137ebf225d3e04214f13447e3be3" ], [ "Alex.find_above_for_g", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_8a82f3e93a1f1af98ddbbd4ccb78ba02" ], 0, - "f699c31401782a0e1d7f2cfc2212c347" + "8e83d4c8ac62cb57ea74d8b4ab7c1e05" ] ] ] \ No newline at end of file diff --git a/doc/book/code/AlexOpaque.fst.hints b/doc/book/code/AlexOpaque.fst.hints index 54675434ba3..d825abf5ffe 100644 --- a/doc/book/code/AlexOpaque.fst.hints +++ b/doc/book/code/AlexOpaque.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f" ], 0, - "6e5cb32ea9dd111472882d061164cd18" + "8cc9a9e87fcad8e6d79df935af16bdd3" ], [ "AlexOpaque.g", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8e0c1ed7daec387be5e8487fa0587086" + "f035dca1e451f2356f67e087e463294d" ], [ "AlexOpaque.find_above_for_g", @@ -50,7 +50,7 @@ "typing_AlexOpaque.f" ], 0, - "d94e30b1d15ac5d45cb429d7ad00df2d" + "3ff532b31d6b2232e322d370c63a13a2" ], [ "AlexOpaque.gg", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7ef3a283dbde86acff28a6d96d64f74e" + "af6e617347991ba0ff68d861cd3702cc" ], [ "AlexOpaque.find_above_for_gg", @@ -89,7 +89,7 @@ "typing_Prims.abs" ], 0, - "603ad5cf7ade697fcc46124c798abf72" + "415f5715b9831343bef8b7ab7ccead16" ], [ "AlexOpaque.find_above_for_g1", @@ -113,7 +113,7 @@ "typing_AlexOpaque.f" ], 0, - "38098e32ed48740007eea20a4ba71731" + "b0dd00b76641c4a9aad42e9d52733a48" ], [ "AlexOpaque.find_above_for_g2", @@ -137,7 +137,7 @@ "typing_AlexOpaque.f", "typing_AlexOpaque.g" ], 0, - "f20531ad09712e170ba9d70a584ff766" + "ef1f01cf152c0ea5e2ccf10150dd938b" ], [ "AlexOpaque.find_above_for_g'", @@ -160,7 +160,7 @@ "typing_AlexOpaque.f", "typing_AlexOpaque.g" ], 0, - "9e0cc28608e9e821316c1a0c5dd55210" + "fe5a74535445ce130930f7221175773b" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Connectives.fst.hints b/doc/book/code/Connectives.fst.hints index c8b3c1c7483..4c6ed42de67 100644 --- a/doc/book/code/Connectives.fst.hints +++ b/doc/book/code/Connectives.fst.hints @@ -11,7 +11,7 @@ "fuel_guarded_inversion_Connectives.empty" ], 0, - "f00032b1f8abf0f0f056d1fddaac4471" + "b64a3ba30f7db39eaf85d6f4bb8678a5" ], [ "Connectives.false_elim", @@ -23,7 +23,7 @@ "equation_Prims.l_False", "false_interp" ], 0, - "47942476e30d320133c3139877695c0d" + "213b1fdf93fd8ee0fe7ab2cb49fa9bf2" ], [ "Connectives.conj_intro", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ffd899f37dd92cc398de6d62ef3e2ba9" + "93000c8bff4b43d6ca6e1e25ca37f83d" ], [ "Connectives.conj_elim_1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "98d4deff0bdd347c8c31847124f03400" + "b5b513edb93cbac64685513dbeb61419" ], [ "Connectives.conj_elim_2", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "cecd58fd6dcb4884adf1166b22ce5104" + "44dda64f587ce6ef62276f7093ec9856" ], [ "Connectives.conj_elim_sugar_1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "6e556780851ed2bf4bb79d045b57a28a" + "b9309aa14d346887ee28910ae3ebe424" ], [ "Connectives.conj_elim_sugar_2", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "42e1f90d1c4567460d041a4dc9afb8c7" + "78c527b8955e7e871118d4e744f5d5ed" ], [ "Connectives.or_intro_left", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1d6d575ba0c39bef78a008b18d3960e2" + "c5a4b5f3cc54dfad3f89d5f27818e5c0" ], [ "Connectives.or_intro_right", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3ef2841c0c5230573c3af17f6e4b10ef" + "1d310f29fa3323ff18d42f0e250bcb03" ], [ "Connectives.or_intro_sugar_right", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "f499a583bd0d238f8ff3b66f108d9299" + "afffa44f78c860dd08327bed6b5365b6" ], [ "Connectives.either_elim", @@ -134,7 +134,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e91f71539d5c41bfcf51fba08d9f9dd4" + "1eb1c28c152d119067aff096d421bc2c" ], [ "Connectives.or_elim", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "a1a968a95325a8b61eabd08d5840aa01" + "1cbb0e240bd6e861c43d751381169413" ], [ "Connectives.or_elim_sugar", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "4281924f8ed053983ac6b9cb2b8c2654" + "e9b4466bf9aa94c7dc42abbf90f42e7f" ], [ "Connectives.implies_intro_2", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a8fff4af4e4ec8f72a6eb72eb204a6b8" + "5fc11d4a46c53eeeffe3ec5d535c5002" ], [ "Connectives.implies_intro_3", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "12d54f68fa3fd4b75a8c6393ad12c6a9" + "74c13e988923f629d942567d9ca521d6" ], [ "Connectives.implies_elim", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "b0d8cbfaaadbd6a6949ebc41eb696b0e" + "681c0d538473cc964abad533dc5db2f6" ], [ "Connectives.implies_elim_sugar", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "eb6b68d0f9870a7678a1e10f7b32940f" + "0ec12466b3dbc4b5b14fe2abf87ddc70" ], [ "Connectives.neg_elim", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "a764cb38de805e80a266783e47e23306" + "b0305897db3c48a75ab33f3bfbf01a86" ], [ "Connectives.forall_intro_2", @@ -232,7 +232,7 @@ 1, [ "@query" ], 0, - "d32dcca1c230fbea45a5ac32531b3d3c" + "c2398c99b9655fc42c454dca9a9ac94a" ], [ "Connectives.forall_intro_3", @@ -241,7 +241,7 @@ 1, [ "@query" ], 0, - "7b8fb3bc9c34e7272d83e3fb19b29cad" + "e8ba6fa6acba677275ca2e0ebf17b489" ], [ "Connectives.forall_elim_1", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "236f4bacf399aa98f661fde60c45ff44" + "025ce971b43f1b05f4ca845aed31d078" ], [ "Connectives.forall_elim_2", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_d163e3ea535eee9f7ded35da82a97326" ], 0, - "de941d2ec288eca46d2adf0a38878078" + "5b21c0293582a25db1f43a5cf388a008" ], [ "Connectives.exists_intro_1", @@ -277,7 +277,7 @@ "refinement_interpretation_Tm_refine_c2a6462ba4b9477e34b8a7b0105344c7" ], 0, - "5bda00de72499e29e5c4480f111125c5" + "8b4ce283342d944b8b683e2456dea2c0" ], [ "Connectives.exists_intro_3", @@ -286,7 +286,7 @@ 1, [ "@query" ], 0, - "e40f3706e9865b4dc9b96f71768b1c75" + "376a2fa284bc19e55c330b7810c73a09" ], [ "Connectives.exists_elim", @@ -298,7 +298,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "5ba198b1b6bbaf41116602ea9bd37a3b" + "251df5446681c9ee0a66dfc47e8b58e0" ], [ "Connectives.exists_elim_alt", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "35085ac11c700d3318ce46ed739cfab0" + "9cef8c62b3ea1143f723a5fbca345931" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Divergence.fst.hints b/doc/book/code/Divergence.fst.hints index daa9a8cb806..99188f2492a 100644 --- a/doc/book/code/Divergence.fst.hints +++ b/doc/book/code/Divergence.fst.hints @@ -19,7 +19,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "93a8876cc34010d0b89d7d5eec07ae02" + "28a1868aecb590b586a8ad5af8ee8427" ], [ "Divergence.last", @@ -42,7 +42,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "ce26bb607fcc073cf2cf3fd748283f01" + "827ca65cdf2dec37271abc4940f66c6a" ], [ "Divergence.collatz_ends_in_one", @@ -85,7 +85,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "2f22c601cd05ab6781b0034569d865f6" + "56ea8f86f9d9fb1726337a060ae91895" ], [ "Divergence.collatz_spec", @@ -114,7 +114,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2f1dbfb0d9c8aee88ea6de88a7bf443f" + "d8db135eba7e44e275711b7b9f17920a" ], [ "Divergence.collatz'", @@ -147,7 +147,7 @@ "typing_Divergence.collatz_spec" ], 0, - "b167d20197f0d9cd5fd1b503ff3847d7" + "f0105c681e9e8f512a55a5245d04e9f6" ], [ "Divergence.term", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3df251ab038e74dfca8c13c468aa2bc7" + "e772245761546041a1d2419dbb80cd2a" ], [ "Divergence.__proj__Var__item___0", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_cdd50521e9c03cc2d185a28f1ee1af46" ], 0, - "5880564dfb89abb6217b486851ef024f" + "ba97a49fcf10cb208f9a591705660c8d" ], [ "Divergence.__proj__Int__item___0", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_412b22bcd22c0ff134f850a6e38558cd" ], 0, - "8be734941dfbc7e50b892f9392eb4d91" + "b2d16cf78113c7bdff591333b61588c2" ], [ "Divergence.__proj__Lam__item___0", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_111879f7c1a479de6f84866f8b3a1ca1" ], 0, - "3b0c72fb09e8ce722dff1f59c3074bf7" + "6ca4b3235fc38f13bd5ee8773335659b" ], [ "Divergence.__proj__App__item___0", @@ -210,7 +210,7 @@ "refinement_interpretation_Tm_refine_f01e7d484d7a97acf2fd967415f36ddb" ], 0, - "3b09191b183e432f7f457a6b222e6579" + "084a5a0d7922f7a4051066b94aa4ce58" ], [ "Divergence.__proj__App__item___1", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_f01e7d484d7a97acf2fd967415f36ddb" ], 0, - "4e41fe901f23a56f8e59877df4c54b55" + "fcd910273e63188eb88eab1684f269d3" ], [ "Divergence.subst", @@ -248,7 +248,7 @@ "subterm_ordering_Divergence.App", "subterm_ordering_Divergence.Lam" ], 0, - "aba2bed87d32af56cb6d52ed66c575d0" + "9a89c681daec4c72f06ffd0bcb7929e6" ], [ "Divergence.interpret", @@ -263,7 +263,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d4aa408d09aef3cd6a496151c51dfd4e" + "c33bbdf81ce519c3b183ef86cd034ca4" ], [ "Divergence.__proj__DErr__item___0", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_ad29e06a7f7d5073ace7a1c2a3ec13f8" ], 0, - "33f0909e3ae6df765ae91172cc6aaaf2" + "ecded85f7a2514793912237d8cb5a849" ], [ "Divergence.__proj__DInt__item___0", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_4d4850cc1f5cf9c0b93b593ebbdcbfb5" ], 0, - "5e731ac96c2bb93921e28e0e4f184ceb" + "63000044ca58a7db295f889ca4ac8339" ], [ "Divergence.__proj__DFun__item___0", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_0d7b78c2bec10e6dab76d83ddf094d02" ], 0, - "71463eb2aa297d54a0408cb745a9e15a" + "934ce5fd8bd6d1df03aca653be5f87be" ], [ "Divergence.shift", @@ -313,7 +313,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8f3512812d1fdd78fd735572ddbcf0bf" + "974e814179f1b804b9e88089af1a359c" ], [ "Divergence.denote", @@ -330,7 +330,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a1e07f6b7fc0dcb96d590153deef68ca" + "a29989c8fcb81d3453330400a92aa138" ], [ "Divergence.div", @@ -339,7 +339,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "9f3bc6de0696c4364ace3e33c2ce1741" + "e73cedd97544f0fd3ef66430bb0242db" ], [ "Divergence.mod", @@ -348,7 +348,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "ef8d9b56589ba8ffbab1417c5c5baba5" + "1e8253809020b7a7244db6fa69223973" ] ] ] \ No newline at end of file diff --git a/doc/book/code/FactorialTailRec.fst.hints b/doc/book/code/FactorialTailRec.fst.hints index 2755b6e034f..95c48fc71e3 100644 --- a/doc/book/code/FactorialTailRec.fst.hints +++ b/doc/book/code/FactorialTailRec.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "179f01262bc4520583eea1a89ecf3014" + "2d4443eee72fd9a2156e44a19c13e535" ], [ "FactorialTailRec.factorial_tail", @@ -39,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "e502dd88d69dddd8ea4ff11441ca8447" + "4024cb5e0deb11e8630205a0cc8b4731" ], [ "FactorialTailRec.fact", @@ -57,7 +57,7 @@ "typing_FactorialTailRec.factorial" ], 0, - "2d082adb7401509292ed66f61aff5e80" + "46416a632da3ef5b7dc1a6f5b0f95856" ], [ "FactorialTailRec.factorial_tail_alt", @@ -81,7 +81,7 @@ "well-founded-ordering-on-nat" ], 0, - "9a7945ee2497734d7bfba44b2fd1ad5e" + "a6f75af48853fb2e901668e56f7c3d35" ] ] ] \ No newline at end of file diff --git a/doc/book/code/GradedMonad.fst.hints b/doc/book/code/GradedMonad.fst.hints index c5c5f999ed5..414ba092cca 100644 --- a/doc/book/code/GradedMonad.fst.hints +++ b/doc/book/code/GradedMonad.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dc1e3b727d61a7d74db06ea1f65635d5" + "4b4820aa29a86ec9e60b56ba787443b9" ], [ "GradedMonad.count_bind", @@ -25,26 +25,7 @@ "refinement_interpretation_Tm_refine_a44985b7c511fba5ee2addbf6c22f4fa" ], 0, - "fb5c0eb69713a52e7e84e545ee40cc92" - ], - [ - "GradedMonad.test2", - 1, - 2, - 1, - [ - "@query", "equation_GradedMonad.monoid_nat_plus", - "equation_GradedMonad.op", "equation_Prims.nat", - "interpretation_Tm_abs_70e5908d0ca8274b808ff953e2be9cf5", - "interpretation_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76", - "primitive_Prims.op_Addition", - "proj_equation_GradedMonad.Mkmonoid_op", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_GradedMonad.Mkmonoid_op", - "token_correspondence_GradedMonad.op" - ], - 0, - "fd285d403674fe4cecb38c10b9ee83ef" + "8c3c25936e62ab3f512bfe07e51f40ef" ] ] ] \ No newline at end of file diff --git a/doc/book/code/HintReplay.fst.hints b/doc/book/code/HintReplay.fst.hints index a5dcf78d8c1..ae6dba0059d 100644 --- a/doc/book/code/HintReplay.fst.hints +++ b/doc/book/code/HintReplay.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_984721f79c47f7ae2c9a896de7ad814d" ], 0, - "26d567f533a6487fb0049c2290198fe8" + "aa368f005b4d5236f6cb7f5a7f341ae7" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Imp.fst.hints b/doc/book/code/Imp.fst.hints index 91847e20548..f3d66f99521 100644 --- a/doc/book/code/Imp.fst.hints +++ b/doc/book/code/Imp.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c46e996cf74c8e5454dc1838f6ee555" + "ec8bec21fc9e8c5c97092dea89f208ed" ], [ "Imp.__proj__EConst__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_ee0151dd95678eaecf7beada8a17e653" ], 0, - "c339fb979dd9c044f25c1365dc57f5b4" + "461e98e1f6a0fd9d07b5088954e1f7ea" ], [ "Imp.__proj__EVar__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_4ed5fdb85c4fb68efa988f987a830813" ], 0, - "dd29c6ec171f6e59bba8ab2f2fc57792" + "adc7ca9855af9b93e93369146efd90f8" ], [ "Imp.__proj__EAdd__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_460abc684169718c186c821d0d52b4cb" ], 0, - "7d70e65e2f0053f218af943ad5188434" + "32c40898279ff889e8602ef2b19fd44b" ], [ "Imp.__proj__EAdd__item___1", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_460abc684169718c186c821d0d52b4cb" ], 0, - "ff0e2ca4fc12eb7abc4b7beaee7ba1fd" + "39663fca4a441b92490cdbdd0824f91a" ], [ "Imp.program", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4d86d1b2ce9e6ff452c8567dfe6d99eb" + "64d82c65abde0342b76b984f671f7871" ], [ "Imp.__proj__Assign__item___0", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_24f3d903b2f70a6191b57e87676e942f" ], 0, - "e8c2946fee8a57672b9d87343f6b7bbc" + "96e66c68714bc8c006e104138d8267ad" ], [ "Imp.__proj__Assign__item___1", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_24f3d903b2f70a6191b57e87676e942f" ], 0, - "c735694dc6cbbc55206a59dc6b7b2a30" + "0585499cff8b0d9cdd9924be4f307283" ], [ "Imp.__proj__Seq__item___0", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_063d65534be44cc74df3c9b18874f60a" ], 0, - "ebc8dc7a6621f7f02f8b32581c42d546" + "377874e675e6312d7993951714f8c140" ], [ "Imp.__proj__Seq__item___1", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_063d65534be44cc74df3c9b18874f60a" ], 0, - "1f270c26388ac4eb63f663be2a5f6001" + "95303d7be3eba79b7860337704d83f97" ], [ "Imp.__proj__If__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" ], 0, - "7f8496bc497026db948d14732c2fa06e" + "018e119296ace5f1d814024cfc39e070" ], [ "Imp.__proj__If__item___1", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" ], 0, - "6e9c7293fe57de98d964a15e019a0492" + "6b37c8bd52d821d288f9a3b84c97c0e9" ], [ "Imp.__proj__If__item___2", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" ], 0, - "40462a1cfb7bdf091c71a2e2cc648f81" + "81ff16ff7668f87658ef0ff0bc6eac69" ], [ "Imp.__proj__Repeat__item___0", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_1e0b69e2ca519fd63cf8349bd98f8a19" ], 0, - "cf0bfc6de54c2bd27de9fde8b2d10689" + "11358838555606f39f50105811b8c5a3" ], [ "Imp.__proj__Repeat__item___1", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_1e0b69e2ca519fd63cf8349bd98f8a19" ], 0, - "ca4b2650c9af28d43746f6ddfeb5bc53" + "9612fbd81b48a2b91702fad4cef42ed2" ], [ "Imp.write", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ddfc840e7ac40481ed04bb1dd6986840" + "a343e48cc75c0d1614dbaa06e31a9cd5" ], [ "Imp.eval_expr", @@ -216,7 +216,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Imp.EAdd" ], 0, - "4ae709562a7c3012d9e6e668fcd80c78" + "d11d3c0baa3586abe7905ac8aa46103d" ], [ "Imp.run", @@ -235,7 +235,7 @@ "subterm_ordering_Imp.Repeat", "subterm_ordering_Imp.Seq" ], 0, - "bd3ebb987fe813ca5c60fac82a89b780" + "357e9327818cce2232ff3c1e4d45cbf5" ], [ "Imp.run", @@ -256,7 +256,7 @@ "well-founded-ordering-on-nat" ], 0, - "a3ddf3a6f17868ac5af6e7da479d53ba" + "517bd7239e0c4b9a6a01a0e8a9f55777" ], [ "Imp.assignment", @@ -283,7 +283,7 @@ "projection_inverse_Imp.Assign__1", "token_correspondence_Imp.run" ], 0, - "1cacbdc5e5f21d2dcdb5d8e45234878b" + "85a359213564476c4ae5bee408c20b93" ], [ "Imp.sequence", @@ -315,7 +315,7 @@ "unit_inversion" ], 0, - "3c34ab85bf8c1d1e3a603f1cc66aacca" + "3429f5c426d0bf966a7ebc3a2dd5cca8" ], [ "Imp.conditional", @@ -349,7 +349,7 @@ "token_correspondence_Imp.run" ], 0, - "9cffcce89aad67324f9b99397e399597" + "7f841b337b07a3d251d4fa75ab30c0cd" ], [ "Imp.repeat_n", @@ -392,7 +392,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "c84070386862c1c6b1f62b29aefc5759" + "bdcff6abbfd9166e03b97d8dda6fa74a" ], [ "Imp.repeat", @@ -426,7 +426,7 @@ "token_correspondence_Imp.run", "token_correspondence_Imp.run_repeat" ], 0, - "8fe8166318ed79b618f80f2e45ac45bc" + "6f40619279289a653ef597b6b7f7bf96" ], [ "Imp.consequence", @@ -444,7 +444,7 @@ "typing_Imp.run" ], 0, - "194bbbf9cd863c5eff8425f6d9b8b00e" + "b889a92f9046d8a287bb03d57f46fbb3" ], [ "Imp.wp", @@ -466,7 +466,7 @@ "subterm_ordering_Imp.Seq" ], 0, - "d0dc0168d879a35895320b452961c4e8" + "ca1da779d2a490b0b8f2fbdec50e0e7a" ], [ "Imp.wp_soundness", @@ -533,7 +533,7 @@ "typing_Imp.uu___is_Assign" ], 0, - "3585e457f1d7d8a0ed0c17c1645c613f" + "c7526deeaca3d2854d412f1f3c33d5de" ], [ "Imp.wp_hoare", @@ -548,7 +548,7 @@ "interpretation_Tm_abs_59d6f57d554ee91a35a8bbb42fe040da" ], 0, - "6caffcbef8f4b13f5c48369f6c9bfd7c" + "24a6cd79f23a73d43be91471992ff65a" ], [ "Imp.hoare_consequence", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_e20a07252ee1edd0e806d00dfca967a3" ], 0, - "1684ff739b7099c127eb01f604968856" + "e339863b04c3fc5ca7cc7470b7857809" ], [ "Imp.prog", @@ -583,7 +583,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6791c768c6a5ee05679fbd0f681e2abb" + "4107ee74bc8556a8cac68089f54cfbbd" ], [ "Imp.prog1", @@ -602,7 +602,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "d079fff2b1b0985d3c4954bdb4cc628a" + "b5257e7eed89356766be0741a43162ce" ], [ "Imp.test", @@ -659,7 +659,7 @@ "typing_tok_Prims.T@tok" ], 0, - "f18e79c30a7387dd46af6f18c17d98f5" + "c365c7980dee396afc2598ee54c18919" ], [ "Imp.swap", @@ -678,7 +678,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "a35e7424c5ad79e22c7f4e6777e9ccc8" + "387a9ffbb38277396459b0b1573b5b24" ], [ "Imp.proof_swap", @@ -731,7 +731,7 @@ "typing_Tm_abs_14bcf8e5155484ecb7346015fe4297e0" ], 0, - "a3129bc202dddda9c21a7ce0dfb398a1" + "5065a113e6aea0abd30706352f623aa2" ] ] ] \ No newline at end of file diff --git a/doc/book/code/LList.fst.hints b/doc/book/code/LList.fst.hints index f6696ee41cc..eb362fef72a 100644 --- a/doc/book/code/LList.fst.hints +++ b/doc/book/code/LList.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "aebb790915ad18b7a17077f300c5405a" + "ef0dbcbf25aaa37201e2c0d29ddccadb" ], [ "LList.get", @@ -48,7 +48,7 @@ "well-founded-ordering-on-nat" ], 0, - "81864be7b10afc4f9f4815b13201c1e5" + "7ae4fd4a10e2df82b022f004bad230c7" ], [ "LList.split_at", @@ -89,7 +89,7 @@ "typing_LList.length", "well-founded-ordering-on-nat" ], 0, - "fd063eb078032f5c8a02c914864b3457" + "c5b0d014acf37aa30029078cb3d8342b" ], [ "LList.append", @@ -118,7 +118,7 @@ "subterm_ordering_Prims.Cons", "typing_LList.length" ], 0, - "ee6713be933359c29afe45ed7fbaf61b" + "fbdee9e59f94c6d38395bda44cee1f5f" ] ] ] \ No newline at end of file diff --git a/doc/book/code/MemCpy.Deps.fst.hints b/doc/book/code/MemCpy.Deps.fst.hints index ad08b9d0621..cc86cb29d32 100644 --- a/doc/book/code/MemCpy.Deps.fst.hints +++ b/doc/book/code/MemCpy.Deps.fst.hints @@ -17,7 +17,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "4c436d4bc6003fd0739ed037dedb9b2b" + "23d95f9f9c36eb1ebad054100933c149" ], [ "MemCpy.Deps.op_Array_Access", @@ -45,7 +45,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "78da323da3b14d6dc93897df39314a5b" + "843a3ea15b95197f0a182d72dbe67bcb" ], [ "MemCpy.Deps.op_Array_Assignment", @@ -77,7 +77,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "064324ba992f7599f172378424221579" + "98eea58adc244f9332f5e386314de812" ], [ "MemCpy.Deps.suffix", @@ -112,7 +112,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "da3a0dac33d1c48411992a52d870010f" + "83519ee45bd803b079794340bed1dd55" ], [ "MemCpy.Deps.prefix_equal", @@ -142,7 +142,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "024daa85dd483223bdf475e1d24be3e9" + "6c88fddcc35c6bb3143516c27f859b06" ], [ "MemCpy.Deps.op_Plus", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a" ], 0, - "d69b6876465fcab1a2479617bbdefef7" + "c9f7eefd995098b7206aebd07034a4e3" ], [ "MemCpy.Deps.op_Subtraction", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_96104f38e479f81983a3384aab04876a" ], 0, - "e1c2c6f11560d05d47ec74fe90ee67b8" + "8505df73bfdcd6223d28f746c6269551" ], [ "MemCpy.Deps.malloc", @@ -186,7 +186,7 @@ "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "ac89e745dfa6cc7165047f7a2696ff4a" + "76fcbbe5d8eba17d3df97e25d0fb5fcb" ], [ "MemCpy.Deps.free", @@ -195,7 +195,7 @@ 1, [ "@query" ], 0, - "aba2b2b14e30519ea8f977ef441a2421" + "9c23e1aa81643f966ce855c2424955da" ], [ "MemCpy.Deps.get", @@ -221,7 +221,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "c50c4c81ce5b8b56d0e2a0d70e805b93" + "a5443604df643ed5421caaa01db72805" ] ] ] \ No newline at end of file diff --git a/doc/book/code/MemCpy.fst.hints b/doc/book/code/MemCpy.fst.hints index 1578a725b85..6a20d0b58e6 100644 --- a/doc/book/code/MemCpy.fst.hints +++ b/doc/book/code/MemCpy.fst.hints @@ -65,7 +65,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "1a3113a82810880bc6dbc12f1fb80409" + "d8d9a3a896415e882b2c38516c75e28c" ], [ "MemCpy.malloc_copy_free", @@ -145,7 +145,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "68f5ce306df5960eb88a5cb8264a3d77" + "afaaca794d0d35d37dc7f4a388f92e88" ] ] ] \ No newline at end of file diff --git a/doc/book/code/MerkleTree.fst.hints b/doc/book/code/MerkleTree.fst.hints index 66020676fb1..1bf15851c1c 100644 --- a/doc/book/code/MerkleTree.fst.hints +++ b/doc/book/code/MerkleTree.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" ], 0, - "1a010f2b12942d6472f57ea43f2b6cc6" + "b63949d3385d2df8f49c2d5b4b75c1c1" ], [ "MerkleTree.mtree", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "089c0be1e7edb826457187ccd29032f3" + "873681581d45bc5eefa0503810849b85" ], [ "MerkleTree.mtree", @@ -48,7 +48,7 @@ "string_inversion" ], 0, - "6a4bde2272a60091cae10d6c4f1ec270" + "2922bc524d821807252b2241151c9321" ], [ "MerkleTree.__proj__L__item__res", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" ], 0, - "c5b97842d77f2fa2b511f9cc0fee7b7d" + "6f7321f33efe38c712924b615c289fd6" ], [ "MerkleTree.__proj__N__item__n", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "5fa2fcbb0a5fca35695a463ddef49103" + "730247799b963db99e957b731502d142" ], [ "MerkleTree.__proj__N__item__hl", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "34840464a396c6511d08feac171c451b" + "bd59cca437807d89ebe25056bb569c59" ], [ "MerkleTree.__proj__N__item__hr", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "1a50161aeb178572c9a5cdcbf7eed39c" + "88834f27a396b07a02b96dad7a3344d7" ], [ "MerkleTree.__proj__N__item__left", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "2401cd3a9dbb92120a006fbb13710f58" + "2df78d724ecf94d220ff97417004de6e" ], [ "MerkleTree.__proj__N__item__right", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "decf122b4168d652c3e4b0a91c29e39a" + "fbf4d7cccfd31cf16cdb78cc883eaf78" ], [ "MerkleTree.get", @@ -159,7 +159,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "3e71dad88dc7bbc2a3ea769b8cea6390" + "71e955686036e66845c325298ca8f32a" ], [ "MerkleTree.resource_with_evidence", @@ -180,7 +180,7 @@ "typing_MerkleTree.hash_size" ], 0, - "028c8573ded6624dea013e96a9014403" + "141229377fcc5fd4aedc7703ffe6d065" ], [ "MerkleTree.__proj__RES__item__hashes", @@ -189,7 +189,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.RES" ], 0, - "5e7117845f0bf367d354c1a5d23a44bc" + "14c993c705cf5fefaeda21ec5c676689" ], [ "MerkleTree.get_with_evidence", @@ -236,7 +236,7 @@ "typing_MerkleTree.__proj__RES__item__hashes" ], 0, - "ca94d6b62cd2349606490c35b477a1cc" + "e392e90e52a0f428b16cbae16528729d" ], [ "MerkleTree.tail", @@ -271,7 +271,7 @@ "typing_MerkleTree.__proj__RES__item__ri" ], 0, - "6b6b80cb8d3132c48414f3e58cd5aba6" + "ae86e36cde34f706684f405091ffc034" ], [ "MerkleTree.compute_root_hash", @@ -305,7 +305,7 @@ "well-founded-ordering-on-nat" ], 0, - "35fc7ac216d236eae3598e03d61177d1" + "a2db38c244aed11251294acaf147d381" ], [ "MerkleTree.verify", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a0e2f3b16ad416b9ea8866563111d41e" + "53330927971f2a918d40a9b0d2fbafd0" ], [ "MerkleTree.correctness", @@ -383,7 +383,7 @@ "unit_typing" ], 0, - "04479a617a693238cda89538ff7ef404" + "dbb1ad43c5650f2fdbac1c92654843b6" ], [ "MerkleTree.hash_collision", @@ -398,7 +398,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79c54eb38bf041994b516d0be4dc861c" + "21aa3ff220089cac1489b09268c6c935" ], [ "MerkleTree.hash_collision", @@ -415,7 +415,7 @@ "typing_MerkleTree.hash_size" ], 0, - "99fe339f2a24ed558d1d00bb57323f9b" + "c753cbe6b2115ef368ec54d7ba3056dc" ], [ "MerkleTree.__proj__Collision__item__s2", @@ -430,7 +430,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c76beee2136cd817241aab9e3f612a5b" + "1ba1c351443b2833de8bf6ea8b0588df" ], [ "MerkleTree.__proj__Collision__item__s2", @@ -455,7 +455,7 @@ "string_inversion", "typing_MerkleTree.hash_size" ], 0, - "32c06f4a67d8f2df0d720d6dc484c063" + "dfde3013c6ba0431c334d4494ea9bc04" ], [ "MerkleTree.security", @@ -468,7 +468,7 @@ "proj_equation_MerkleTree.RES_ri" ], 0, - "6bf11172f1dcf10dbf9da09d69c9a5f9" + "133ae5a466b18a23c7d0e00ec777d0c2" ], [ "MerkleTree.security", @@ -541,7 +541,7 @@ "typing_MerkleTree.verify", "well-founded-ordering-on-nat" ], 0, - "9f7b681a9ea9307c4227263210157667" + "c59d34bc696e7461a9e4cd9389d5335d" ], [ "MerkleTree.update", @@ -578,7 +578,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "31b0c8a32091e76f56e0d38e486e6542" + "9077228c3258a1736d51c04169fbf72f" ], [ "MerkleTree.mtree'", @@ -598,7 +598,7 @@ "string_inversion" ], 0, - "6d5fe9019d870dee0e75230b8ce0d8a9" + "a6e9e473f9c3d6ba026623433eae3d78" ], [ "MerkleTree.update_mtree'", @@ -635,7 +635,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "0979370b2428d158b35e9548c2f91bd3" + "0d640645a093bc5f6121a21558ce2ce3" ] ] ] \ No newline at end of file diff --git a/doc/book/code/MonadFunctorInference.fst.hints b/doc/book/code/MonadFunctorInference.fst.hints index 482fe5b48ec..113ef686023 100644 --- a/doc/book/code/MonadFunctorInference.fst.hints +++ b/doc/book/code/MonadFunctorInference.fst.hints @@ -7,8 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", + "@query", "equation_FStar.FunctionalExtensionality.feq", "equation_MonadFunctorInference.bind", "equation_MonadFunctorInference.get", "equation_MonadFunctorInference.get_put", @@ -16,27 +15,22 @@ "equation_MonadFunctorInference.put", "equation_MonadFunctorInference.return", "equation_MonadFunctorInference.st_monad", - "fuel_guarded_inversion_MonadFunctorInference.monad", + "interpretation_Tm_abs_149cffba6cd41c85a270a196659747b3", + "interpretation_Tm_abs_1cd3aec29fb640351fe3d81d618ff192", "interpretation_Tm_abs_4896c8b1c1f351c5ce7ba2d35d5b179b", "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", "interpretation_Tm_abs_87ae829f00c3e3960973b21feab95e8b", "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_c2a014bdea4b951e72c8353e7d112ef3", - "interpretation_Tm_abs_d06fb0f2970167b36b4e53bcf7949978", "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "proj_equation_MonadFunctorInference.Mkmonad_bind", - "proj_equation_MonadFunctorInference.Mkmonad_return", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_MonadFunctorInference.Mkmonad_bind", - "projection_inverse_MonadFunctorInference.Mkmonad_m", "projection_inverse_MonadFunctorInference.Mkmonad_return", "token_correspondence_MonadFunctorInference.bind", - "token_correspondence_MonadFunctorInference.return", - "typing_MonadFunctorInference.st_monad" + "token_correspondence_MonadFunctorInference.return" ], 0, - "0f18d0d9adf0eccc89f586acabeeec19" + "2b38a89658e9ae3107633e95de3b55e1" ], [ "MonadFunctorInference.opt_monad", @@ -45,7 +39,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "e28f8bf269acf2223580ea6f2613edcd" + "920b1a3fbbe263d7ee38706c26d782cc" ], [ "MonadFunctorInference.div", @@ -54,7 +48,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "78b83870ce72e4d3a7add8c9a10d029a" + "28eec3775dda2083c6d7c4d01bd8586c" ], [ "MonadFunctorInference.option_functor", @@ -63,7 +57,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "319cf870170f281cb89e1d4a33dba81a" + "3d0cc84ba38b741c850326361566cf97" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Assertions.fst.hints b/doc/book/code/Part1.Assertions.fst.hints index cd212b82111..b92fdbe9f5b 100644 --- a/doc/book/code/Part1.Assertions.fst.hints +++ b/doc/book/code/Part1.Assertions.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c499d8771a20f59217ce880ec6b348d1" + "9184b55624a2e4eb54c62579707d9069" ], [ "Part1.Assertions.uu___5", @@ -25,7 +25,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8142d1ea16bbfbf7d46608bf130bde7c" + "fe17f33bfe5b3f7b3117dbbd3044116f" ], [ "Part1.Assertions.uu___6", @@ -38,7 +38,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "58d5979d372f08d2c4f72638f27ffeab" + "877aa1296d683bc20a1c0797d6b98588" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.GettingOffTheGround.fst.hints b/doc/book/code/Part1.GettingOffTheGround.fst.hints index c015589b5c8..1924c4dec70 100644 --- a/doc/book/code/Part1.GettingOffTheGround.fst.hints +++ b/doc/book/code/Part1.GettingOffTheGround.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "08f172008ff1334f4bd75a2ca789afe8" + "b456b7e1501e2bc3711700f35f705bee" ], [ "Part1.GettingOffTheGround.incr3", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1185992bc18c2558c4fe3808e0c91cad" + "75275e44702a17ea88ab5dc1fa4d42c2" ], [ "Part1.GettingOffTheGround.incr6", @@ -37,7 +37,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "277fbc2c714d39614dd30493d5d0d2ba" + "275501c50ce2d063e4b4495d5e41fa41" ], [ "Part1.GettingOffTheGround.incr7", @@ -51,7 +51,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "77e45d902e7a69239c41e47a512356ea" + "804145927ddd64a2bb0c8119c0189018" ], [ "Part1.GettingOffTheGround.max1", @@ -65,7 +65,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "25d790b09672232858cadf6c86a36ffb" + "55640d87eb7ae8f00246ae7fe6eec34a" ], [ "Part1.GettingOffTheGround.max2", @@ -80,7 +80,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8b86dbbd53d60b539977e1289f38722b" + "0597883de7f2779c813730557cf3aa29" ], [ "Part1.GettingOffTheGround.factorial", @@ -97,7 +97,7 @@ "well-founded-ordering-on-nat" ], 0, - "d27ddb3fa6d16f60b84fe094cd95c91c" + "22692f9192a8a3a584871fb9f93ef747" ], [ "Part1.GettingOffTheGround.factorial1", @@ -115,7 +115,7 @@ "well-founded-ordering-on-nat" ], 0, - "15be9ef2032f59ebd8a58e7236fa5d8f" + "5168639ac395c43e6e3ccb83f4e49427" ], [ "Part1.GettingOffTheGround.factorial2", @@ -133,7 +133,7 @@ "well-founded-ordering-on-nat" ], 0, - "d9c94563174e0827dc4569d1c7c5ab8b" + "45287207857b9f3a602e2550f36afe13" ], [ "Part1.GettingOffTheGround.fibonacci", @@ -150,7 +150,7 @@ "well-founded-ordering-on-nat" ], 0, - "09d2dc2b32677e0781b64edfc7aeded2" + "fa25fb8bd591f833c54f61bada408587" ], [ "Part1.GettingOffTheGround.fibonacci_1", @@ -173,7 +173,7 @@ "well-founded-ordering-on-nat" ], 0, - "d9cd7ac97d55288e9236b65983705a35" + "4298c37367a2ce777064c8f7ab3ab206" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Inductives.fst.hints b/doc/book/code/Part1.Inductives.fst.hints index 5912c55d535..8b376e61090 100644 --- a/doc/book/code/Part1.Inductives.fst.hints +++ b/doc/book/code/Part1.Inductives.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Part1.Inductives.three__uu___haseq" ], 0, - "c14ff480b133eeed9bb493d3aa9fbe8e" + "d3a0a8a96d83615096f3f61168b84294" ], [ "Part1.Inductives.exhaustive", @@ -24,7 +24,7 @@ "fuel_guarded_inversion_Part1.Inductives.three" ], 0, - "c307127f6bfecf456d4dac7cf672db87" + "dedf5afd9bf42bb49b5829008b39cc7d" ], [ "Part1.Inductives.three_as_int''", @@ -40,7 +40,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bfb755edfcc2bf3e39f47ec050c40e64" + "2b89ee8bd465cac6485e8624b3bce293" ], [ "Part1.Inductives.only_two_as_int", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_0dcaca94b55a73b513e99c556ace9f72" ], 0, - "6faf200bf91a219646767cdf39b85411" + "68b9541da3e5a5668c0cdbd2397d909a" ], [ "Part1.Inductives.tup2", @@ -66,7 +66,7 @@ 1, [ "@query" ], 0, - "e1fadbcbeeddf53dc3826285378ba78c" + "f4b7faa8fe8f1bea50b7bc77eb82943e" ], [ "Part1.Inductives.tup3", @@ -75,7 +75,7 @@ 1, [ "@query" ], 0, - "745f00ed9014f2a271efa81340af34cd" + "977df0938ce55add9bad507066a9d638" ], [ "Part1.Inductives.try_divide", @@ -84,7 +84,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "94a6539bad4338842d04610090fdc043" + "c5d95ccf2e455ede4c51738bb462f7c9" ], [ "Part1.Inductives.sum", @@ -117,7 +117,7 @@ "typing_Part1.Inductives.same_case" ], 0, - "3d3bad0d4a4c43f6991c99e6adbf638d" + "5a4bdbc8e90c635567895fb0af36b380" ], [ "Part1.Inductives.length", @@ -135,7 +135,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1c295961ca70ff9c659b0c89188e898c" + "3ac46b113dbfc7c0605fe34cf47457e8" ], [ "Part1.Inductives.append", @@ -167,7 +167,7 @@ "typing_Part1.Inductives.length" ], 0, - "a2a44f9672f79c6130e5014425d6c142" + "44d84faff52bcb1a6cd496b5e8eadc66" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Lemmas.fst.hints b/doc/book/code/Part1.Lemmas.fst.hints index 06acd21b5c7..44fa52f7581 100644 --- a/doc/book/code/Part1.Lemmas.fst.hints +++ b/doc/book/code/Part1.Lemmas.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "75aeca312212a65c1d5dc4201d0fb4a1" + "28054997edf5ac669ca379173e0f3e7f" ], [ "Part1.Lemmas.factorial_is_positive", @@ -39,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "12943814db0ef3fe268d972f8ad569a3" + "5a145bc0c5943dcf65d0b7efa20d28a1" ], [ "Part1.Lemmas.factorial_is_pos", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d84cdd1d05ffdf103a4d764e7e7d7237" + "ab449dedaeb357e6926b2890b1af53e1" ], [ "Part1.Lemmas.factorial_is_pos", @@ -80,7 +80,7 @@ "well-founded-ordering-on-nat" ], 0, - "2a1f4214e9a8c49065cef797d8e59dfa" + "c2d9914eafed487ea10c9a9895dcbc25" ], [ "Part1.Lemmas.factorial_is_greater_than_arg", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7d3d93938a1164d68f38f84ec06bfc8a" + "e6f16b85ee231ca23ad963c0d5a0fdf0" ], [ "Part1.Lemmas.factorial_is_greater_than_arg", @@ -121,7 +121,7 @@ "well-founded-ordering-on-nat" ], 0, - "f8d49ac91b3212eea7d8bf4361087795" + "5a851aec2ac06b8c325412bc084b8b45" ], [ "Part1.Lemmas.fibonacci", @@ -138,7 +138,7 @@ "well-founded-ordering-on-nat" ], 0, - "b3a8e132810b26e077d8b4c465a9aa11" + "178ff849f7d90172fa6a002d37c56736" ], [ "Part1.Lemmas.fibonacci_greater_than_arg", @@ -162,7 +162,7 @@ "well-founded-ordering-on-nat" ], 0, - "91df04fa8433c63567013b302d3d6c08" + "9b05f4f1564f1668a1243b0c742734d6" ], [ "Part1.Lemmas.fib_greater_than_arg", @@ -189,7 +189,7 @@ "well-founded-ordering-on-nat" ], 0, - "f04e8aa3431bc861f0b4cd44aaf07bf2" + "ff0348335bf9b745fdbb2b7eab4a7f2c" ], [ "Part1.Lemmas.app", @@ -204,7 +204,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "6ba10db865f1db13c900ad2f8c739218" + "501b37d156c243404e630e0827b037d0" ], [ "Part1.Lemmas.app_length", @@ -236,7 +236,7 @@ "typing_Part1.Lemmas.app" ], 0, - "118dbb524cdb19fdf299c9702b033f35" + "d49e25a7482037af7621992ba7cb004c" ], [ "Part1.Lemmas.reverse", @@ -251,7 +251,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "376d687f3fb215deb4557a94e0790eb7" + "f6b33a8e387a4b62e0312caa8807a08c" ], [ "Part1.Lemmas.snoc_cons", @@ -283,7 +283,7 @@ "typing_Part1.Lemmas.snoc" ], 0, - "e6783a7ccde539ec98de4cdc604fa6ea" + "a05164c13c8118950c4d41bd16bd02db" ], [ "Part1.Lemmas.rev_involutive", @@ -308,7 +308,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "202da9dfa738cf06335f3f8db4590115" + "f2bb386c1959a1b1f4a9dc0a373a725e" ], [ "Part1.Lemmas.snoc_injective", @@ -317,7 +317,7 @@ 1, [ "@query" ], 0, - "695cfc9b081d1dd315407f58e9d016bd" + "f135eb088ec0112bccc56d378d903fd6" ], [ "Part1.Lemmas.snoc_injective", @@ -358,7 +358,7 @@ "typing_Part1.Lemmas.snoc" ], 0, - "af7b648a951dcd887bd04ef0b25b8bed" + "0c7600f7cad50e8457d3c30c86eb1037" ], [ "Part1.Lemmas.rev_injective", @@ -396,7 +396,7 @@ "typing_Part1.Lemmas.reverse" ], 0, - "daa794eab4cdd7185bd8183652ce2f28" + "59713a5f5799566caed9d148a5e7220e" ], [ "Part1.Lemmas.rev_injective_alt", @@ -405,7 +405,7 @@ 1, [ "@query" ], 0, - "32380a0e608716ebe80fb6fc5febe5e7" + "1fd081803b49157727d8fbefb256dd89" ], [ "Part1.Lemmas.map", @@ -420,7 +420,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "37ef491c36e72494d48d6e3d12a47dc3" + "5c7d6801c09ab08f315982097ed43fcf" ], [ "Part1.Lemmas.find", @@ -440,7 +440,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "85d896508da7b5012292a38a190f6b0c" + "46f31ee58ff4f8a88162f02dab626852" ], [ "Part1.Lemmas.find_alt", @@ -455,7 +455,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "412d5f1d3b49d0b686c0c6f41682bbe5" + "c41c8de04089d47e1490c49ee4282c30" ], [ "Part1.Lemmas.find_alt_ok", @@ -486,7 +486,7 @@ "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.find_alt" ], 0, - "bc60f9a69bb402b074d6782fbefd1a13" + "f3eed392b66555f9c1044267e7770c2f" ], [ "Part1.Lemmas.fold_left", @@ -501,7 +501,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "53aee4006761b60a5c493d7876bcae2c" + "c920b441586cc92a9acf367e8bb25ad4" ], [ "Part1.Lemmas.append_assoc", @@ -510,7 +510,7 @@ 1, [ "@query" ], 0, - "ac7e4c6c91aa8319943fe61748116f0d" + "3b172e19ddccc44d0693c280aba712ed" ], [ "Part1.Lemmas.append_assoc", @@ -537,7 +537,7 @@ "subterm_ordering_Prims.Cons", "typing_Part1.Inductives.append" ], 0, - "2a5e5de47576e108820f37c3cd92059d" + "732db17f0a81ef79807533ab80754a6a" ], [ "Part1.Lemmas.fold_left_Cons_is_rev_stronger", @@ -572,7 +572,7 @@ "typing_tok_Prims.Cons@tok" ], 0, - "66e38e9a580640754c1daf903c47e152" + "850fde85b82d8b9bfa6d748f81151c31" ], [ "Part1.Lemmas.append_right_unit", @@ -597,7 +597,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "28e6da4bf91d6c94bfd71f4fa7c0b68e" + "b46c00d21d86b6084b83c4498eb8d8f9" ], [ "Part1.Lemmas.fold_left_Cons_is_rev", @@ -606,7 +606,7 @@ 1, [ "@query" ], 0, - "eba8130bdd5c443176403a0974155b28" + "a1c22d55f890a55e86bd7dc41408f3df" ], [ "Part1.Lemmas.rev_aux", @@ -621,7 +621,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "4cc80bc3427bf930a3c95491269a0d98" + "855d8eeedf2f3520a40815698b54a943" ], [ "Part1.Lemmas.rev_is_ok_aux", @@ -653,7 +653,7 @@ "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.reverse" ], 0, - "4e40c9dcd21f34899b20ae10b9306f9c" + "4c917f784c75a04f915a01fa737067a2" ], [ "Part1.Lemmas.rev_is_ok", @@ -662,7 +662,7 @@ 1, [ "@query", "equation_Part1.Lemmas.rev" ], 0, - "063de79f3bf13aa586a580e9a352525a" + "f13b6fb87d4647ed5045033436870a83" ], [ "Part1.Lemmas.fib", @@ -680,7 +680,7 @@ "well-founded-ordering-on-nat" ], 0, - "eef51a1f0e1dccabded9ff0dec3b7b48" + "8622f3129949e356e8e90fb24294d965" ], [ "Part1.Lemmas.fib_is_ok_aux", @@ -695,7 +695,7 @@ "refinement_interpretation_Tm_refine_fb9b32c998d8374c029d7facf3bfecac" ], 0, - "b7629e872341244f061e3079a83951bf" + "0393c9c48df0d485853c89d8a7b3f682" ], [ "Part1.Lemmas.fib_is_ok_aux", @@ -723,7 +723,7 @@ "typing_Part1.Lemmas.fibonacci", "well-founded-ordering-on-nat" ], 0, - "c0e84d8e9912e4503d6419edd801f96b" + "f8b81ba376c6d813f8493b56063c35b6" ], [ "Part1.Lemmas.fib_tail_is_ok", @@ -742,7 +742,7 @@ "typing_Part1.Lemmas.fibonacci" ], 0, - "5a3c98b330f426e67719cb89b4880f4a" + "3b3098f89f2b2f6f227789077fd028d4" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Quicksort.Generic.fst.hints b/doc/book/code/Part1.Quicksort.Generic.fst.hints index 547703b03a5..5fa3ebc3d2e 100644 --- a/doc/book/code/Part1.Quicksort.Generic.fst.hints +++ b/doc/book/code/Part1.Quicksort.Generic.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "8f24cf21e28f6cc8e4f2f354d01379af" + "4a9a460cbf5900f496f3dd0bd7130cca" ], [ "Part1.Quicksort.Generic.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1f76c03df560fed6fc780dc6be6dde02" + "be94268bcb714b4f4ca458b763fd3b90" ], [ "Part1.Quicksort.Generic.sorted", @@ -52,7 +52,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "8be1c43fefaedd7cb354997b4d1a891a" + "1e33a955d3f1f6b48eec5fc71d579bb1" ], [ "Part1.Quicksort.Generic.mem", @@ -68,7 +68,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "12b0622539478629b1f0ec724f22633c" + "d753e9746aa8caa0e051e89efdedcb57" ], [ "Part1.Quicksort.Generic.partition", @@ -103,7 +103,7 @@ "typing_Part1.Quicksort.Generic.length" ], 0, - "d0b6edfb317db107de818fbd3202c78b" + "e5963058d2d182dc8944cac948894396" ], [ "Part1.Quicksort.Generic.sort", @@ -148,7 +148,7 @@ "well-founded-ordering-on-nat" ], 0, - "2563f6bf4a36c31613025b457f3c1fe4" + "a4ff3b78e585b63e1cada1e37a27d244" ], [ "Part1.Quicksort.Generic.partition_mem", @@ -193,7 +193,7 @@ "typing_Part1.Quicksort.Generic.partition" ], 0, - "b8e0044cf67178a1f1dc87e36f8ee349" + "c84f779929a9826784979285823b1e90" ], [ "Part1.Quicksort.Generic.sorted_concat", @@ -241,7 +241,7 @@ "typing_Part1.Quicksort.Generic.sorted" ], 0, - "a59bc5c2d3c6941462afacd685404e32" + "c3d97be1bde24bd1258010552faee8da" ], [ "Part1.Quicksort.Generic.append_mem", @@ -274,7 +274,7 @@ "typing_Part1.Quicksort.Generic.mem" ], 0, - "a14411d3fc44082f23e0c877f08405f0" + "f70f1e47396d25a5dd434883645858d9" ], [ "Part1.Quicksort.Generic.sort_correct", @@ -340,7 +340,7 @@ "well-founded-ordering-on-nat" ], 0, - "b22ebb2c2455c863131dc2d20248e052" + "d4dc8a6d7846f6927a95584772cc08e8" ], [ "Part1.Quicksort.Generic.sort_intrinsic", @@ -401,7 +401,7 @@ "well-founded-ordering-on-nat" ], 0, - "078d1a5dcc0abe7f02a98efb46993fe9" + "ec8a9d55f9a2e28671505df25faa56cb" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Quicksort.Main.fst.hints b/doc/book/code/Part1.Quicksort.Main.fst.hints index af1bd9e2372..4caae5629eb 100644 --- a/doc/book/code/Part1.Quicksort.Main.fst.hints +++ b/doc/book/code/Part1.Quicksort.Main.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "aa3daa703a24b8d513eda2d351daa4d5" + "228e77ecf91b431a97cbd1cf12da25ce" ], [ "Part1.Quicksort.Main.main", @@ -23,7 +23,7 @@ "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "34925a6a11935fb4a2fa14110ebd7044" + "f0c6a146aff82057b58d7f9858a8eb4c" ], [ "Part1.Quicksort.Main.uu___5", @@ -38,7 +38,7 @@ "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "dfc0a8411f692624641f923f034c5135" + "53c62c2da4ffccacc4d2ae92e1c10921" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Quicksort.Permutation.fst.hints b/doc/book/code/Part1.Quicksort.Permutation.fst.hints index bcc2367de58..7120fe4b92f 100644 --- a/doc/book/code/Part1.Quicksort.Permutation.fst.hints +++ b/doc/book/code/Part1.Quicksort.Permutation.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "88617e535e469541684f48dd1893e4cd" + "deb8dd7b62a25513ea4fd2fb5d4bd19b" ], [ "Part1.Quicksort.Permutation.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "7436ea1a2b2cc155d6a8c53ebed31cb3" + "b52a7cc89e5e97f2ae1d990d4c5fd83d" ], [ "Part1.Quicksort.Permutation.sorted", @@ -52,7 +52,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "1f1e80b577ab0b9857cd0b393f73b495" + "05e58709a9a61a977ddb9483a5ad74ed" ], [ "Part1.Quicksort.Permutation.count", @@ -72,7 +72,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "4a53bdb2e5dc6529b01f8b9f327b65f5" + "56bfffe9169cc2aa64d300b418a41207" ], [ "Part1.Quicksort.Permutation.is_permutation", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c3ce79ae0e91b19e39ae18de5586718e" + "96e989aefe9a91bfb8bf5287f695ff30" ], [ "Part1.Quicksort.Permutation.append_count", @@ -121,7 +121,7 @@ "typing_Part1.Quicksort.Permutation.count" ], 0, - "c0c1eed38a132910451a0af27c08787a" + "ac930a24a38c5ef80ed5e6bb9bf6e045" ], [ "Part1.Quicksort.Permutation.partition", @@ -154,7 +154,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3d2b77bcd6235685f9917a0b29d6ac5f" + "306f694e14c1d08b61fa3aaa0e4226cb" ], [ "Part1.Quicksort.Permutation.sort", @@ -199,7 +199,7 @@ "well-founded-ordering-on-nat" ], 0, - "02950cea5f050b6e8d299f3ae5ef70bd" + "a27a1ac172983a14be354df6537e452b" ], [ "Part1.Quicksort.Permutation.partition_mem_permutation", @@ -260,7 +260,7 @@ "typing_Part1.Quicksort.Permutation.partition" ], 0, - "90bc0b4a96ec90b9f02895e93cc2236e" + "8763e71a562403994188aa523ea26798" ], [ "Part1.Quicksort.Permutation.sorted_concat", @@ -313,7 +313,7 @@ "typing_Part1.Quicksort.Permutation.sorted" ], 0, - "15d1ec5e991e8c875e7eac028256fe99" + "cb67a63a22bb5b1b1dc99c0fb24fa918" ], [ "Part1.Quicksort.Permutation.permutation_app_lemma", @@ -340,7 +340,7 @@ "typing_Part1.Quicksort.Permutation.count" ], 0, - "934f9138bbfa7c816228d2ff8f7ed391" + "031eb198011ab01c5ad697f8d1885bbd" ], [ "Part1.Quicksort.Permutation.sort_correct", @@ -401,7 +401,7 @@ "well-founded-ordering-on-nat" ], 0, - "c5d642dcda108d86c8d093ff5e6fa1f3" + "01484a56566cbcd24b9959a17fabc4d8" ], [ "Part1.Quicksort.Permutation.sort_intrinsic", @@ -454,7 +454,7 @@ "well-founded-ordering-on-nat" ], 0, - "f37004d19e9f3e2dcda5448b6b65fbeb" + "cd8cf59c4ef93de2a1f1a81747b76124" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Quicksort.fst.hints b/doc/book/code/Part1.Quicksort.fst.hints index 81d92f323a0..296aeb7755a 100644 --- a/doc/book/code/Part1.Quicksort.fst.hints +++ b/doc/book/code/Part1.Quicksort.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "87d1ea64c038d711085da76a358ce6b1" + "f4cd6d5b6b4b78a78f252cb6e71b1448" ], [ "Part1.Quicksort.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "61cbea6151300f1ef12c70b921da24f0" + "ff7247a677abfb99695241b44478c138" ], [ "Part1.Quicksort.sorted", @@ -53,7 +53,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f2a4fde13ae57da8dbe61b829b91aa21" + "4d24d4caf2515b3cc20bb00e0fbbe778" ], [ "Part1.Quicksort.mem", @@ -69,7 +69,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "800b351fa386f7c00d91cc5fb24d1c57" + "6d11dc6ede04c329a91a8d2fb503541b" ], [ "Part1.Quicksort.partition", @@ -103,7 +103,7 @@ "subterm_ordering_Prims.Cons", "typing_Part1.Quicksort.length" ], 0, - "2aa274ee4a7462b0d6e1b7ecc2dffeb3" + "310b9d5c8a2df8aaa1f50621a865e29d" ], [ "Part1.Quicksort.sort", @@ -148,7 +148,7 @@ "well-founded-ordering-on-nat" ], 0, - "c5fe2ca60fa9de246fa2bd38ecaec0f4" + "2f8f8b0ea6dfe1a5a4caa1074d57d758" ], [ "Part1.Quicksort.partition_mem", @@ -192,7 +192,7 @@ "typing_Part1.Quicksort.partition" ], 0, - "2dee1ec64cbdd7aa2704aa250e0a6a82" + "c9eb1cd7c02805feb3fe48721f7faff8" ], [ "Part1.Quicksort.sorted_concat", @@ -235,7 +235,7 @@ "typing_Part1.Quicksort.sorted" ], 0, - "8589daed63976169a67bf5cd832da352" + "9778efa5bb8056a4f681fe204508f8af" ], [ "Part1.Quicksort.append_mem", @@ -267,7 +267,7 @@ "typing_Part1.Quicksort.mem" ], 0, - "e4b1b98c2f35004827879aefaaac1fff" + "5eca2a1210cde0004a4f4826c84aa4fd" ], [ "Part1.Quicksort.sort_correct", @@ -330,7 +330,7 @@ "well-founded-ordering-on-nat" ], 0, - "a13e9c8cf331368c68b483554b60d0d6" + "f423a76fe20a724860442f2c024c434b" ], [ "Part1.Quicksort.sort_correct_annotated", @@ -392,7 +392,7 @@ "typing_Part1.Quicksort.sorted", "well-founded-ordering-on-nat" ], 0, - "2f3cc2476121bbd8163e232169eda007" + "cfe7dbf93e5e054b05cc7a2113d46f39" ], [ "Part1.Quicksort.sort_alt", @@ -436,7 +436,7 @@ "well-founded-ordering-on-nat" ], 0, - "75ba5b2cab77b2f6ebd31a2b41e11016" + "4bf908edbf2c5219edcada42f4efbfdb" ], [ "Part1.Quicksort.sort_alt_correct_annotated", @@ -495,7 +495,7 @@ "well-founded-ordering-on-nat" ], 0, - "a210e4816496f9587dc6bfcb3c7536a7" + "e3a8eba49b90e1923aa1c27cd7a69d40" ], [ "Part1.Quicksort.sort_intrinsic", @@ -550,7 +550,7 @@ "well-founded-ordering-on-nat" ], 0, - "2e83a2be17a9fbc9737b09e93feae923" + "924b875d40bab76debf913e8cacff47b" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Termination.fst.hints b/doc/book/code/Part1.Termination.fst.hints index 771d0cbe6bb..33b503cb81c 100644 --- a/doc/book/code/Part1.Termination.fst.hints +++ b/doc/book/code/Part1.Termination.fst.hints @@ -21,7 +21,7 @@ "well-founded-ordering-on-nat" ], 0, - "91b316fba1a0baf1aa9e8dcf71050f63" + "0647a35edc771a853ac8bb134ad2732c" ], [ "Part1.Termination.ackermann_flip", @@ -41,7 +41,7 @@ "well-founded-ordering-on-nat" ], 0, - "5aa73b89669327bf1a30be7d90f8f693" + "6763e612b9fb9677de19032261254249" ], [ "Part1.Termination.foo", @@ -58,7 +58,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "cc3718b1bfd9628ee04505c52cf244e3" + "c8722d0aeacb934da592cb21fe81181c" ], [ "Part1.Termination.foo", @@ -73,7 +73,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "9c3ccc1a0c5dc19593fdd7fb75032afc" + "1eaa7b19e6efef5cd2412bd9d5b5f390" ], [ "Part1.Termination.tree", @@ -82,7 +82,7 @@ 1, [ "@query" ], 0, - "bfd48c73f853c50bc087d90554bbf47a" + "5596d8ef9b5274adf293f65d8c5c7016" ], [ "Part1.Termination.__proj__Internal__item___0", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_1562eeda39b5f0555cca09e4ece39857" ], 0, - "9236e2740cd28114e6dfe6f6ffbc174e" + "30b214fa0df8f348ce30cae05c7127a9" ], [ "Part1.Termination.incr_tree", @@ -114,7 +114,7 @@ "typing_tok_Part1.Termination.Terminal@tok" ], 0, - "02c1fe5e98a28c211b28b1cd2aa511fd" + "c2bdbfe71a7eb6120d519caa70704b85" ], [ "Part1.Termination.incr_tree", @@ -134,7 +134,7 @@ "typing_tok_Part1.Termination.Terminal@tok" ], 0, - "1d253a3d16ff6a37eac719860083a353" + "4f96d1eb6c063c401a003d7fb2476158" ], [ "Part1.Termination.fib", @@ -152,7 +152,7 @@ "well-founded-ordering-on-nat" ], 0, - "e697a45adcf639495e0fcaa7c25e5d88" + "05b6d3ce61a9acf7aac0a765ea48a960" ], [ "Part1.Termination.rev_aux", @@ -167,7 +167,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "07079046df2589b55c48daddbf370ce7" + "334d38681bf29a8e3ad6ac26feba170d" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.Free.fst.hints b/doc/book/code/Part2.Free.fst.hints index 37550e4eac6..199fb345e16 100644 --- a/doc/book/code/Part2.Free.fst.hints +++ b/doc/book/code/Part2.Free.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "857e630533b6716100efe40430690faf" + "bc7900eed6e194f757a69cbd2f577513" ], [ "Part2.Free.output_of", @@ -27,7 +27,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "315df7496a485995555fd0b54bd5de49" + "ee975c8e7fbca1093690fa90e0696900" ], [ "Part2.Free.__proj__Return__item__x", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_d0470c21c90bb5572aec576a7d2ec2c8" ], 0, - "08a836d21661301a09b4abc694feeb5d" + "e36a1db814bb370ddda1a72bb39d4e13" ], [ "Part2.Free.__proj__DoThen__item__act", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_eaa2744753f30789855f30670ce233d3" ], 0, - "d5bc58030f7a531466bc0895a2cff5b5" + "d7989e94f70f16b7c6fa6f41bf113184" ], [ "Part2.Free.__proj__DoThen__item__input", @@ -68,7 +68,7 @@ "token_correspondence_Part2.Free.__proj__Mkaction_class__item__input_of" ], 0, - "37c349d1ef3990f298c1ddc602df0b19" + "9bc9139cdc653c062ad3a9f3207819c4" ], [ "Part2.Free.__proj__DoThen__item__continue", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_eaa2744753f30789855f30670ce233d3" ], 0, - "2609cd816c9b658e9db91ebaa399cf37" + "af39cbbef64277344960825dceb5105c" ], [ "Part2.Free.bind", @@ -103,7 +103,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "b1fe84481626d1234ecdd77b30c04c51" + "56bba78ca1ec7982a4972faec11eaacf" ], [ "Part2.Free.equiv", @@ -124,7 +124,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "72d86ffed973e560c183181e60f21a6f" + "9c043a477e35def06196040a041670bc" ], [ "Part2.Free.equiv_refl", @@ -162,7 +162,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "a2f628aef20254fdc8ad47540c40f83a" + "e48c6c621b6f1a7b3a4ff96d8da86115" ], [ "Part2.Free.equiv_sym", @@ -207,7 +207,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "627210f884092f87964c73afc0e25f54" + "3dde26df368cdd0ad7bc475ddc7393f2" ], [ "Part2.Free.equiv_trans", @@ -256,7 +256,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "f4b739841e5f13345190f8799297799d" + "e77307103f8d49345b2e005c8dccc778" ], [ "Part2.Free.right_identity", @@ -275,7 +275,7 @@ "projection_inverse_Part2.Free.Return_x", "typing_Part2.Free.return" ], 0, - "6b18a4e853833c1eb9aaef50ede29a1a" + "a353e9509904230054dd67399d942a43" ], [ "Part2.Free.left_identity", @@ -322,7 +322,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "7b0c22e1a5a15a71b73b4820db52825f" + "dacef8f98c6f68c74f57843f9f0e8beb" ], [ "Part2.Free.assoc", @@ -376,7 +376,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "41acfac9c3ba2a092894ce050ac4e61a" + "8a0b5a6febe0f8a6122c8be640621248" ], [ "Part2.Free.interp", @@ -412,7 +412,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "6645a4f8a6a7ec9a61f074dde0a2374f" + "654eb0725d4243003b6ed542a50a079c" ], [ "Part2.Free.interp_equiv", @@ -474,7 +474,7 @@ "well_founded_ordering_on_codomain_Part2.Free.DoThen" ], 0, - "7b33e7c0e7d542caec2b12b2599a00e9" + "77635dbb1968a101ed5ca83c50f1e08e" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.FreeFunExt.fst.hints b/doc/book/code/Part2.FreeFunExt.fst.hints index a1420885d54..7c306231715 100644 --- a/doc/book/code/Part2.FreeFunExt.fst.hints +++ b/doc/book/code/Part2.FreeFunExt.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_976fbe440c65ea1a6802f2e2f85d2641" ], 0, - "6eacd7f163c17f0e52840945b2cf26d7" + "15a644cfef79110d65b71d71b13fe9d2" ], [ "Part2.FreeFunExt.__proj__DoThen__item__act", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" ], 0, - "d4e35ae5946f83a482a075b6867df036" + "3383be46e90b148ee3c1394f08132cb3" ], [ "Part2.FreeFunExt.__proj__DoThen__item__input", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" ], 0, - "f9c0ae46df0f5e35151ef640e0a14fae" + "353b798a6fc8095ec1d3b8e38a4abfa4" ], [ "Part2.FreeFunExt.__proj__DoThen__item__continue", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" ], 0, - "d1474a8f0bc3757d2c926aadbc5f1d2d" + "36189bd84d6a10aab1098c24466e5c96" ], [ "Part2.FreeFunExt.bind", @@ -68,7 +68,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "bd44747b65f53deddfe82de089454f35" + "6d0f00ea39d0bd65d93b069abafbaddb" ], [ "Part2.FreeFunExt.equiv", @@ -89,7 +89,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "e289fe16b592ec347854a081fe70bba3" + "89bd0f06ecf337400f1cf61e551c8032" ], [ "Part2.FreeFunExt.equiv_refl", @@ -129,7 +129,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "07153ee9a7823d3e2fac7566fc495ef7" + "8f507d9109de31ea963ccbe33011b32b" ], [ "Part2.FreeFunExt.equiv_sym", @@ -176,7 +176,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "ff8de2df9222bf371c85521037e3cedf" + "e5b4fb7575956e2e3a1b91d83b98feef" ], [ "Part2.FreeFunExt.equiv_trans", @@ -227,7 +227,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "58ffe47f247a87dba4aec4feab2d8eed" + "f2c5feb7bebebc1d65a8fe327316263f" ], [ "Part2.FreeFunExt.equiv_is_equal", @@ -278,7 +278,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "e34b9b67a7145a2d1538db6c1bbbb56e" + "8af5c5fe5101ef48ac4f0ab47e438c56" ], [ "Part2.FreeFunExt.right_identity", @@ -298,7 +298,7 @@ "typing_Part2.FreeFunExt.return" ], 0, - "9f6f61a0ae191c106fd53f8ac9abc173" + "e4f4f7379bb227f8774c109a6335e6b1" ], [ "Part2.FreeFunExt.left_identity", @@ -361,7 +361,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "0b21522184915a237bb0e4fd6f1e71b9" + "85f9fa2ae0ef9df5e0086de9dbbdc6b3" ], [ "Part2.FreeFunExt.assoc", @@ -429,7 +429,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "268a667719124e1b9ed41aa5231a4376" + "08ea52c1cc163cd74299ef2c5be11d7b" ], [ "Part2.FreeFunExt.input_of", @@ -444,7 +444,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1baa5707f5e0389faba7fe1042f154a3" + "98de6974ec2a9f397ab1419a5bc29c6a" ], [ "Part2.FreeFunExt.output_of", @@ -459,7 +459,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "295aac9118d9f6671b388c8cae3863ef" + "225fecd8c8c170bbe9d5f499388be03c" ], [ "Part2.FreeFunExt.interp", @@ -498,7 +498,7 @@ "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" ], 0, - "66b92755d1019f85ef7f290b783e5b7b" + "96e7e0991c190b245e348b05c3fe7b82" ], [ "Part2.FreeFunExt.interp_equiv", @@ -507,7 +507,7 @@ 1, [ "@query", "equation_FStar.FunctionalExtensionality.feq" ], 0, - "f75cfe8ed0ac01c16c3522497348d8e7" + "f21754d59729c04f4bf3b603be9bcf7c" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.HOAS.fst.hints b/doc/book/code/Part2.HOAS.fst.hints index d3f775ee728..1b11faeee63 100644 --- a/doc/book/code/Part2.HOAS.fst.hints +++ b/doc/book/code/Part2.HOAS.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "57ca60b7570aa110c9a257a0372639ab" + "0b731ed6ed7f63aac9a9597884605813" ], [ "Part2.HOAS.__proj__Arrow__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_30150cb5895a521f1b4b0dbda069b0b1" ], 0, - "48a69b1eb6b3a5b2999ed61cc87cb424" + "6ea322b9a646ecefa16e7450b8a5dbdd" ], [ "Part2.HOAS.__proj__Arrow__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_30150cb5895a521f1b4b0dbda069b0b1" ], 0, - "b50b3af65bd42440cb62adb32099ac58" + "646cf1a3cad778aed65cb4dd2089e07b" ], [ "Part2.HOAS.denote_typ", @@ -51,7 +51,7 @@ "subterm_ordering_Part2.HOAS.Arrow" ], 0, - "fcd31103b3a758f692cc00d5760894c7" + "e1c26630ca6a2b6efb0026c22a7c3371" ], [ "Part2.HOAS.__proj__Var__item__t", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_cfebae4731f3018188d6b3f7f86b69d4" ], 0, - "eb648ee3b2120712cdde1c6649fb7de5" + "ac11679cfd479cc73d6aba1ed0067820" ], [ "Part2.HOAS.__proj__Var__item___1", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_cfebae4731f3018188d6b3f7f86b69d4" ], 0, - "4224e189e2747d395e88c589e766b154" + "ca97327e45026bc5f393e12bbb3e64a9" ], [ "Part2.HOAS.__proj__I__item___0", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_e58f9931cf5268aecc895a6360af56a0" ], 0, - "e6c1798f94b72ad5b08c5bc6f0d76fe8" + "d4997d374360298fdd8e26c1c03bdbd1" ], [ "Part2.HOAS.__proj__App__item__t1", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" ], 0, - "06f0799fbed6b0189893f9c06e01e752" + "13488b04698bffb69a510cd515817195" ], [ "Part2.HOAS.__proj__App__item__t2", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" ], 0, - "aa71aa048d891825f9e6dda3e74a3c32" + "ef5b97a5ccf1d45d4f2d7d85fdcf68c8" ], [ "Part2.HOAS.__proj__App__item___2", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" ], 0, - "1a8055823e545618a591134dc76639f8" + "51180748de17f5f6ec52f411b0a0c0d9" ], [ "Part2.HOAS.__proj__App__item___3", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" ], 0, - "51af0d28f54c31701fb60f10c931b04a" + "d2f6c06ff9339dee3afb2ace264a49eb" ], [ "Part2.HOAS.__proj__Lam__item__t1", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" ], 0, - "8f6134ee4956a400d508f37589df0df0" + "c07bfe363153e6a8cb2adffb4c75befe" ], [ "Part2.HOAS.__proj__Lam__item__t2", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" ], 0, - "6d250a7d8af25bfa067cbc32c177682f" + "c18f8f7fd87c6c36302b95bcc6f210cc" ], [ "Part2.HOAS.__proj__Lam__item___2", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" ], 0, - "de1d9fb52babd6185e67b03756312608" + "a4d8c0e05fde7789f241babf74e2dcf4" ], [ "Part2.HOAS.denote_term", @@ -219,7 +219,7 @@ "well_founded_ordering_on_codomain_Part2.HOAS.Lam" ], 0, - "7e488525b88c9a78096a767ba95fb174" + "9e256e11077e657f30e5bc97b0846f3c" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.PHOAS.fst.hints b/doc/book/code/Part2.PHOAS.fst.hints index 6b677553f85..87cc7a2492b 100644 --- a/doc/book/code/Part2.PHOAS.fst.hints +++ b/doc/book/code/Part2.PHOAS.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2b687fb252ee08906d067507222c5985" + "08827908de322718ca8b43f9c04bb32d" ], [ "Part2.PHOAS.__proj__Arrow__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_89ad2f3ebcf13da182c8948e4bde8678" ], 0, - "e6563aebdf725315e4dc6d86d84d5290" + "21f4c6633e8c0ab18489dc518352c777" ], [ "Part2.PHOAS.__proj__Arrow__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_89ad2f3ebcf13da182c8948e4bde8678" ], 0, - "cbaba435ac605bbdfbfd05b5913f99ea" + "f7545ec2999392dde72aeddec8e63e50" ], [ "Part2.PHOAS.__proj__Var__item__t", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_eeecd4ea77bbf98724603ca7300a772d" ], 0, - "96e319102aaa74509ee3c7cad97f0045" + "da5ae72a52f727d902dbeee241a632fb" ], [ "Part2.PHOAS.__proj__Var__item___1", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_eeecd4ea77bbf98724603ca7300a772d" ], 0, - "0e00fc44d6058a1da29b08ada05754b6" + "495873163d992bd4e54964f551a01884" ], [ "Part2.PHOAS.__proj__App__item__t1", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" ], 0, - "c55c2fa354bee1147c92a41b6dabe472" + "a6c00dd311c53ce07b99c26b56f77461" ], [ "Part2.PHOAS.__proj__App__item__t2", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" ], 0, - "1cbf720b7470c3d90799a82fbf95814a" + "0c29252875c32aeb215e930b7630787b" ], [ "Part2.PHOAS.__proj__App__item___2", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" ], 0, - "0ef5f11456352cf65ec01e7a42ffd043" + "bd03bad142dd741a0cf2384d3f1710bf" ], [ "Part2.PHOAS.__proj__App__item___3", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" ], 0, - "9f26508544e0aebb7a868a3b07d54046" + "1f682123d74d3ed1689ec4ee19a7cacd" ], [ "Part2.PHOAS.__proj__Lam__item__t1", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" ], 0, - "c255c15c9c37aadbe32e9850556dd99c" + "42e3728595764392e4329ed0885da3c9" ], [ "Part2.PHOAS.__proj__Lam__item__t2", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" ], 0, - "d2a7b5676d08aff7d0199518fec57d0f" + "3db1f1e45755f91984529efde503d40f" ], [ "Part2.PHOAS.__proj__Lam__item___2", @@ -148,7 +148,7 @@ "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" ], 0, - "1df5abb758476fe9dc61fe0763db8cb4" + "cde2a60a527c09e0c2d7c32a431bd9c9" ], [ "Part2.PHOAS.denote_typ", @@ -167,7 +167,7 @@ "typing_tok_Part2.PHOAS.Bool@tok" ], 0, - "f2e7319d2d583ff424e206550b9956eb" + "d0a54287f5b8df41d3adbc56d4390331" ], [ "Part2.PHOAS.denote_term0", @@ -203,7 +203,7 @@ "well_founded_ordering_on_codomain_Part2.PHOAS.Lam" ], 0, - "cec901ddb5239cff9fcb9d17bf7feaeb" + "9e4d4cf7067096b7e53f8c533091dbd5" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.Par.fst.hints b/doc/book/code/Part2.Par.fst.hints index 31df712c1fd..9fe888c8965 100644 --- a/doc/book/code/Part2.Par.fst.hints +++ b/doc/book/code/Part2.Par.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_29b934f6ee2774a26632f3bde2a09c17" ], 0, - "27a2877e69a104956e4c2e61740ede24" + "7ee11c47aa9d6c01f09b4210101a6798" ], [ "Part2.Par.__proj__DoThen__item__act", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_8c4583238aed48bb17c555b7c4648a23" ], 0, - "84464febc26204d8e34950389f974e72" + "2c843a4e7d4e27ebc61e6dea6723d953" ], [ "Part2.Par.__proj__DoThen__item__input", @@ -40,7 +40,7 @@ "token_correspondence_Part2.Par.__proj__Mkaction_class__item__input_of" ], 0, - "8914f8898602ce13804230e65d91451d" + "6226675d8ffce3548b05b40a25088713" ], [ "Part2.Par.__proj__DoThen__item__continue", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_8c4583238aed48bb17c555b7c4648a23" ], 0, - "d976b71fa9ba517a0c3ddebff3a08e10" + "e4b3c3646449430a6faa7ba2017323c3" ], [ "Part2.Par.__proj__Or__item___0", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_529d5695b14b26bb804abd4cebb44862" ], 0, - "80f234ecb5bf4bb37f1547e8f2725b0e" + "e2917f8d3028274fb77959e0b453ea7e" ], [ "Part2.Par.__proj__Or__item___1", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_529d5695b14b26bb804abd4cebb44862" ], 0, - "d1b6650e25912f916d7baf39cb78a5cf" + "e16d96ed76e524960bdc231dc4019701" ], [ "Part2.Par.bind", @@ -100,7 +100,7 @@ "well_founded_ordering_on_codomain_Part2.Par.DoThen" ], 0, - "ca40e9498ca2927f44c229776a2ed510" + "056bb4ffa614dc819fad289a4023f7ea" ], [ "Part2.Par.l_par", @@ -121,7 +121,7 @@ "well_founded_ordering_on_codomain_Part2.Par.DoThen" ], 0, - "ab6bfe9c61ddac729c305694bce67a8b" + "3761cfbb30e276c2d218f4784d9a2e7c" ], [ "Part2.Par.l_par", @@ -142,7 +142,7 @@ "well_founded_ordering_on_codomain_Part2.Par.DoThen" ], 0, - "f97f02a6d30dd1d714d746eafa9f8e10" + "1fbe09bad2f8c43ee490c53c41ff69bb" ], [ "Part2.Par.input_of", @@ -156,7 +156,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a7464ada800074d76f922bb7a192adb5" + "41627840d9e66f3fb2e91ea0cf49dd15" ], [ "Part2.Par.output_of", @@ -170,7 +170,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9b7fa7eb9b33b96182cbe8bc7d214546" + "35b126b0e675535b5f7ec6b0ee261725" ], [ "Part2.Par.interp", @@ -208,7 +208,7 @@ "well_founded_ordering_on_codomain_Part2.Par.DoThen" ], 0, - "af6f3d0cf870dc77bd4f45ee32861f30" + "57525c23488432a18c7007b2aaaa86eb" ], [ "Part2.Par.test_prog", @@ -217,7 +217,7 @@ 1, [ "@query" ], 0, - "8dcb1b0a339f32e1b0e800522dec518c" + "2fdecb625b98642ad8e00a12cb5a85e2" ], [ "Part2.Par.input_of_rwi", @@ -231,7 +231,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f4baeb37bc9a778816b1c07ff0b8cd0f" + "54b27ba472a854091f5eac574f074fa3" ], [ "Part2.Par.output_of_rwi", @@ -245,7 +245,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "03b763eca8614c4e1876209f4c0f58fa" + "86a7f974735a19bab3591fd8e0ce9f46" ], [ "Part2.Par.interp_rwi", @@ -302,7 +302,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7e2e0ebccc20dc7a8a5c4c1cbdb1c7ce" + "b33f0021bee2eea48e54318fd6deb79e" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.Positivity.fst.hints b/doc/book/code/Part2.Positivity.fst.hints index af2a84690ab..d4db5232f89 100644 --- a/doc/book/code/Part2.Positivity.fst.hints +++ b/doc/book/code/Part2.Positivity.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_a4cb351197560390abc49a7256b7fa4f" ], 0, - "de4c7dde5f00f5c16218764e7905c8f1" + "b8d0d90f39197de82f437cbef9fb9c04" ], [ "Part2.Positivity.__proj__Int__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_9f111958f7bb057c90a70e7c3c5d778f" ], 0, - "b0dd0bce7d385403ccd532e13309b56a" + "ae932cd7c1dc860d545946e78f0b2c31" ], [ "Part2.Positivity.__proj__Function__item___0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_71ca2c4c42871aaec7cc8f05fac91dfe" ], 0, - "2bce0efb22adc98054392a51f1a16074" + "eba2568efde2aea9cb84150cdd237d2c" ], [ "Part2.Positivity.__proj__Bool__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_a4cb351197560390abc49a7256b7fa4f" ], 0, - "bd588e016844767cf39b6d8b8d1c528c" + "c920b93275fe94a580e89cd3f9d1712e" ], [ "Part2.Positivity.__proj__Int__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_9f111958f7bb057c90a70e7c3c5d778f" ], 0, - "9d3c0a6cae83d5ca2cbe4b4984640d2a" + "e1ff272f6d485b93d42be1f6203aa779" ], [ "Part2.Positivity.__proj__Function__item___0", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_71ca2c4c42871aaec7cc8f05fac91dfe" ], 0, - "fd58a72a455ddb46830c857dc2fab28c" + "cbb9ce7ca77dea42e12709665fdced47" ], [ "Part2.Positivity.__proj__Leaf__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_6e95d7bb40d4f96a1369a34ef8282f1c" ], 0, - "3d2986f3d34c59e77f8719fffcbd3f25" + "de2c16e6b48c4e77301347e55e0d370a" ], [ "Part2.Positivity.__proj__Branch__item___0", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_93316d549031f314135cf798d0cc4505" ], 0, - "999882d19efee59a8bccb42937b9b409" + "4760cbee5794b32a060645516697c4c2" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.ST.fst.hints b/doc/book/code/Part2.ST.fst.hints index 20cd643fbee..ed981e0183a 100644 --- a/doc/book/code/Part2.ST.fst.hints +++ b/doc/book/code/Part2.ST.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "974aa61228e8be3e0072f6cd62cd59b7" + "b2a0086c13e7ab2acc51180dae6ff47e" ], [ "Part2.ST.right_identity", @@ -34,7 +34,7 @@ "interpretation_Tm_abs_ae9ea94647dcc891a00f79c79edf2f97" ], 0, - "0126789d0945590f57b5bf2186b4e2fc" + "2b28e202bdfe5d381a84f65f14992c55" ], [ "Part2.ST.associativity", @@ -48,7 +48,7 @@ "interpretation_Tm_abs_e61e8af5ac452c4f7ed9b512a20a76d8" ], 0, - "d6198d1089bcbcd3ea24bfb45fde7b24" + "d5abfc797b18afada23572a53a881345" ], [ "Part2.ST.redundant_read_elim", @@ -64,7 +64,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "fecc227d47e356f273964bc628ed4e29" + "8186e62b4f02dbd101e386bf5e8f5240" ], [ "Part2.ST.redundant_write_elim", @@ -83,7 +83,7 @@ "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b" ], 0, - "85cb9827f61165112dcaf681a00fb1d4" + "9a13573c486f72245627c7bf67b53916" ], [ "Part2.ST.read_write_noop", @@ -103,7 +103,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "c8a0ed0bd3ec4b3df8e6d6bd605806d2" + "62d6a16c009292be796190a0fd3ab48b" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.STInt.fst.hints b/doc/book/code/Part2.STInt.fst.hints index f9f7133aede..777f4ef3439 100644 --- a/doc/book/code/Part2.STInt.fst.hints +++ b/doc/book/code/Part2.STInt.fst.hints @@ -22,7 +22,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "20d73d67233999d757f802b79ec205e6" + "d0253ce8872a49904967effc75e9205a" ], [ "Part2.STInt.right_identity", @@ -46,7 +46,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "0497275f719284b72c264972b797f47a" + "d30e4d5453450d0e643fd4e5ab2bc9c1" ], [ "Part2.STInt.associativity", @@ -64,7 +64,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "967c19064ec1165a0d5e2f4c0dc32f4d" + "59f9b4f8138abfda40d7cc75e235fa43" ], [ "Part2.STInt.redundant_read_elim", @@ -85,7 +85,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "acaa5d5d2b3985e269d56b5c44062dec" + "31552db1a7eef9317401e5392ab4b4b7" ], [ "Part2.STInt.redundant_write_elim", @@ -103,7 +103,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "907321f4c967976f417f0136b2f289d7" + "2903d01eaa049a49bda2c42df61139d9" ], [ "Part2.STInt.read_write_noop", @@ -127,7 +127,7 @@ "token_correspondence_Part2.STInt.op_let_Bang" ], 0, - "90098c72495e0ddfe635f5387faa76a4" + "fda1e31a7d603310fcc151377e49f41d" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.STLC.Strong.fst.hints b/doc/book/code/Part2.STLC.Strong.fst.hints index 12bc9ad2605..341ff8676a4 100644 --- a/doc/book/code/Part2.STLC.Strong.fst.hints +++ b/doc/book/code/Part2.STLC.Strong.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "01ac91726cb92e290d2fbcba05015cd3" + "f22a93f293bb7c1201b00163c82093a3" ], [ "Part2.STLC.Strong.__proj__TArr__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_4faf72fc220af6b4aa4f13e2362c455a" ], 0, - "dac30c1bd7fe134ccac3f0eaccef1882" + "196781f25eccbb5a6e20c67cf982cc25" ], [ "Part2.STLC.Strong.__proj__TArr__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_4faf72fc220af6b4aa4f13e2362c455a" ], 0, - "43956d8e64430fc7e0fe46834aa48b25" + "8c01180e38ebeb8213d8fbfbebf5b2dc" ], [ "Part2.STLC.Strong.exp", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "261f331309f25049698cbdfb755a3ef0" + "f9d8cb910a4444d158f99a61036a4b54" ], [ "Part2.STLC.Strong.__proj__EVar__item___0", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_742b50733fa05442ab6437ee6eaed6b6" ], 0, - "af7bdf4d45e3289092b0938a9da01f06" + "0d6f7986dbbb135d414d1faf73d85876" ], [ "Part2.STLC.Strong.__proj__ELam__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_cf7d6ae9fa5cbfbf3db1ba59319d2ccd" ], 0, - "84787f15829a4e530002efccaddeae37" + "418fa83d6407e75fddfdda25a756207f" ], [ "Part2.STLC.Strong.__proj__ELam__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_cf7d6ae9fa5cbfbf3db1ba59319d2ccd" ], 0, - "53d50508e3491fd2c65fec3dab7c1a84" + "053ff58188739dcc600bbc7f60d31f29" ], [ "Part2.STLC.Strong.__proj__EApp__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_6d0f2e8e5b709c353027c6975eec4c48" ], 0, - "88654cd923110db23fb24e70323011e3" + "33be266bd9cf30942211a14ebb3243c3" ], [ "Part2.STLC.Strong.__proj__EApp__item___1", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_6d0f2e8e5b709c353027c6975eec4c48" ], 0, - "614e2b7f039dd73d7c5fc11230368c43" + "dd4093d7e4a379c6ac6df0a446471a60" ], [ "Part2.STLC.Strong.sub_inc", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bba0f59c4aa35b00276430b1cccf1af2" + "5cbdabc7390179dbbae6a1eefc764ea4" ], [ "Part2.STLC.Strong.sub_inc", @@ -136,7 +136,7 @@ "projection_inverse_Part2.STLC.Strong.EVar__0" ], 0, - "d181ef7e191fb3a5dc49261f4a6e5bf2" + "da85a93fcf1bb05f1062fe1552c114cd" ], [ "Part2.STLC.Strong.subst", @@ -180,7 +180,7 @@ "well-founded-ordering-on-nat" ], 0, - "22c5a9e34d683d6a60da8934c772bdf9" + "2a9c04b8c092de7651c845e4d86176ed" ], [ "Part2.STLC.Strong.subst", @@ -207,19 +207,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Part2.STLC.Strong.EVar__0", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_44030b2fef95a69a9d73dfa24dc6c7ff", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5c3368337778a1301f5625f9c49902c1", "refinement_interpretation_Tm_refine_910042bf99ea3a9e523e4b0137e9cf55", "refinement_interpretation_Tm_refine_c661e093508ba079d8cd00ccc1d50372", "refinement_interpretation_Tm_refine_c9f01cebe26867a5caf781828584f518", + "refinement_interpretation_Tm_refine_e4a6d75957f70f90a82b2006cf4d20a4", "typing_Part2.STLC.Strong.bool_order", "typing_Part2.STLC.Strong.sub_inc", "typing_Part2.STLC.Strong.subst", "typing_Part2.STLC.Strong.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "f18b0850deb906a475071737b86ab627" + "d5e338c20ca9d5ad67f479a29c6b1ca2" ], [ "Part2.STLC.Strong.sub_beta", @@ -243,7 +243,7 @@ "typing_Part2.STLC.Strong.uu___is_EVar" ], 0, - "41ffcd042e5a4c4df9a0c62c6439c754" + "9cd4194dd2648d2a28263b583c17a91d" ], [ "Part2.STLC.Strong.step", @@ -255,7 +255,7 @@ "assumption_Part2.STLC.Strong.typ__uu___haseq" ], 0, - "449e4abec07130fdfbfe833b80375034" + "29793c17c392a7f65db1f403a9943aea" ], [ "Part2.STLC.Strong.__proj__SBeta__item__t", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" ], 0, - "90ad9f67536a14cc69cd47a264ab7d13" + "92552e040d4f53789b4f14227c259463" ], [ "Part2.STLC.Strong.__proj__SBeta__item__e1", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" ], 0, - "0dfa06ccc2b6bc9104ff759e26eb51e2" + "fed05d8b819c281df581b30a53ab637b" ], [ "Part2.STLC.Strong.__proj__SBeta__item__e2", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" ], 0, - "2f791e19bdac391a613eec08279b4204" + "7f54f9137a56a357a814a032627192a3" ], [ "Part2.STLC.Strong.__proj__SApp1__item__e1", @@ -303,7 +303,7 @@ "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" ], 0, - "1ac2ed9d0db77922ac290213c7674920" + "bd79c7894e19ab74ce510015a068f54a" ], [ "Part2.STLC.Strong.__proj__SApp1__item__e2", @@ -315,7 +315,7 @@ "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" ], 0, - "c5045de8f68d221fe39f2dee364e93a8" + "a4ed4b8454aa3370518925b63d854335" ], [ "Part2.STLC.Strong.__proj__SApp1__item__e1'", @@ -327,7 +327,7 @@ "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" ], 0, - "2d2fcd35fefc9a2451d4558196f35838" + "1d87a5bbd141b2928dfd3673556884d3" ], [ "Part2.STLC.Strong.__proj__SApp1__item__hst", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" ], 0, - "62bb61ca1a089dc9951c1d2d6dccd7c8" + "e48c01bc89ac0eb036edd70d276d65cd" ], [ "Part2.STLC.Strong.__proj__SApp2__item__e1", @@ -356,7 +356,7 @@ "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" ], 0, - "688f9929cd06fd8ae6214b7a14210050" + "6bfe9274738c8d21b6b465640c9abd9e" ], [ "Part2.STLC.Strong.__proj__SApp2__item__e2", @@ -368,7 +368,7 @@ "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" ], 0, - "8e9af9892b102352bd9f485cfb7c9d33" + "3922c33f8e0402c03717d902dfe9f8eb" ], [ "Part2.STLC.Strong.__proj__SApp2__item__e2'", @@ -380,7 +380,7 @@ "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" ], 0, - "bef829bdd6a19590172558bed5acb161" + "d27c46ddce7a7d471088d06de32abccf" ], [ "Part2.STLC.Strong.__proj__SApp2__item__hst", @@ -397,7 +397,7 @@ "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" ], 0, - "2411c31f7a863cfbab406ce0a3752d76" + "1599983c46482c688b0831c02b9ecaf4" ], [ "Part2.STLC.Strong.__proj__STrans__item__e0", @@ -409,7 +409,7 @@ "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" ], 0, - "438e149e7b87c5b936c1b4393fd0b2f8" + "0739759f68b201ff1137e9e39ebf4c87" ], [ "Part2.STLC.Strong.__proj__STrans__item__e1", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" ], 0, - "c23eb8621ff2f35469937bc67b285e52" + "597997fb57f38e982d0d54fb8e9d0bac" ], [ "Part2.STLC.Strong.__proj__STrans__item__e2", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" ], 0, - "5ef07301a02515a40fd7cf9955ec1783" + "57686e3610b98b9f4c5d9b39e121a205" ], [ "Part2.STLC.Strong.__proj__STrans__item___3", @@ -450,7 +450,7 @@ "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" ], 0, - "9093e664308a5107f5ca435620bd30cf" + "f7acd04c54267f5118669d92b217e40d" ], [ "Part2.STLC.Strong.__proj__STrans__item___4", @@ -467,7 +467,7 @@ "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" ], 0, - "fd7d0ac5aece791adf065c3a4acbed10" + "9d3b708499ddf363959645d7807935a4" ], [ "Part2.STLC.Strong.__proj__SStrong__item__t", @@ -479,7 +479,7 @@ "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" ], 0, - "f8f64f05f8fdededfac6394f40b9e2f2" + "80032cda3f24578f34c90666d84a9094" ], [ "Part2.STLC.Strong.__proj__SStrong__item__e", @@ -491,7 +491,7 @@ "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" ], 0, - "2434744f28aeaef764c4c81c62888fdf" + "9e99d436224fbd02821941366f112901" ], [ "Part2.STLC.Strong.__proj__SStrong__item__e'", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" ], 0, - "e25ab4c6287775f31e67907a3b78a26f" + "5e6c777a4e39ebf460c84779d6a1249d" ], [ "Part2.STLC.Strong.__proj__SStrong__item___3", @@ -520,7 +520,7 @@ "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" ], 0, - "574dc678af5b04d7b11c015d16da3eb0" + "1d54ca8d46f3bf993955fe2fadad0495" ], [ "Part2.STLC.Strong.extend", @@ -534,7 +534,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a1756e9f27dc6f860654aa329ca5b481" + "b83368c4dc0e5ec51342d61efe7e0c35" ], [ "Part2.STLC.Strong.typing", @@ -546,7 +546,7 @@ "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b" ], 0, - "3a262f23aa391c2e20db1c20342930e5" + "46669455614463753ded0f2ae9cbd405" ], [ "Part2.STLC.Strong.__proj__TyUnit__item__g", @@ -558,7 +558,7 @@ "refinement_interpretation_Tm_refine_9d5e4dbb5240843bca927cecf2759f85" ], 0, - "ef5523fddec448d27656a514a6dd4dee" + "371e5885c212e070900ddc7e0d1443e1" ], [ "Part2.STLC.Strong.__proj__TyVar__item__g", @@ -570,7 +570,7 @@ "refinement_interpretation_Tm_refine_3f1606275c7d863d12b6b6a5f9729ce8" ], 0, - "fe06110fb63eac0a75fb9661c0e28dd8" + "40b8ff841411669b26d4decf3ce16781" ], [ "Part2.STLC.Strong.__proj__TyVar__item__x", @@ -583,7 +583,7 @@ "refinement_interpretation_Tm_refine_3f1606275c7d863d12b6b6a5f9729ce8" ], 0, - "955d5e531aab65c7c99e77073e2e287b" + "f8f60a389232a5ce3127ae092266e5ba" ], [ "Part2.STLC.Strong.__proj__TyLam__item__g", @@ -595,7 +595,7 @@ "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" ], 0, - "3abbb47f8cc7d296f8a6cb6de1122a19" + "2a38afae3dc17c986c981ddb02b0f4fd" ], [ "Part2.STLC.Strong.__proj__TyLam__item__t", @@ -607,7 +607,7 @@ "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" ], 0, - "dbb87754cf7d0731617a9377a3a63804" + "f64624ffce31e2fbbfce7ade6e5e3f86" ], [ "Part2.STLC.Strong.__proj__TyLam__item__e1", @@ -619,7 +619,7 @@ "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" ], 0, - "82aaf11cc16c63612ec0f284751b3aaf" + "728512f4179ae57f35d43429fd2b2e6d" ], [ "Part2.STLC.Strong.__proj__TyLam__item__t'", @@ -631,7 +631,7 @@ "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" ], 0, - "1ae7ad54354e8088ee10942e30ede2d5" + "163b365bb313b39544365a96c90ea9db" ], [ "Part2.STLC.Strong.__proj__TyLam__item__hbody", @@ -652,7 +652,7 @@ "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" ], 0, - "5399f0393326fb5467bcef4b70fda172" + "9e620998d72a427baf05ea4da39167d5" ], [ "Part2.STLC.Strong.__proj__TyApp__item__g", @@ -664,7 +664,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "b0212d5deed2c49af7c18793182e9454" + "ce01d5f556f17f4cc337f57e680401c8" ], [ "Part2.STLC.Strong.__proj__TyApp__item__e1", @@ -676,7 +676,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "49088696e5aa61fecc32383e39a9472f" + "86c07ff85e550577813be44bf9ca6db9" ], [ "Part2.STLC.Strong.__proj__TyApp__item__e2", @@ -688,7 +688,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "100cdfa925aedb88dcce91cb72914331" + "ad066b9e68a95446baadecb93329e7bd" ], [ "Part2.STLC.Strong.__proj__TyApp__item__t11", @@ -700,7 +700,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "8854fced744512d03c511160eebdfba3" + "7290361080d3573eed1befd2d60380ce" ], [ "Part2.STLC.Strong.__proj__TyApp__item__t12", @@ -712,7 +712,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "69b8d5b99313790745994e6fa5549e85" + "f28f73a77df93ee77e6f2d7500895bd8" ], [ "Part2.STLC.Strong.__proj__TyApp__item__h1", @@ -733,7 +733,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "64e56f663e9b0c3e3ed8b860724d83c2" + "7e8a4edfcc5e82008b849f656b497c98" ], [ "Part2.STLC.Strong.__proj__TyApp__item__h2", @@ -752,7 +752,7 @@ "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" ], 0, - "1e47b47d07d5012ec945dcd67cd4c7ef" + "816eb0db1aeec04afd98499b96756bbe" ], [ "Part2.STLC.Strong.progress", @@ -801,7 +801,7 @@ "typing_tok_Part2.STLC.Strong.TUnit@tok" ], 0, - "3f6e185065d8a4a6a20d828579ec57c6" + "2376e6fd42f08539bf878d9a49ad3578" ], [ "Part2.STLC.Strong.subst_typing", @@ -813,7 +813,7 @@ "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b" ], 0, - "b955687d89b80f5036a9e09a26c0755b" + "0c39889f4b5eda10055012f2f783954d" ], [ "Part2.STLC.Strong.substitution", @@ -912,7 +912,7 @@ "well-founded-ordering-on-nat" ], 0, - "b21fd80bd844f5659489393ca58a2353" + "a4aa7cff0b115adb06e2c3a8efdd12f9" ], [ "Part2.STLC.Strong.substitution_beta", @@ -943,7 +943,7 @@ "typing_tok_Part2.STLC.Strong.TUnit@tok" ], 0, - "918b5830d876874bc7a2207fe36e6ff9" + "3bba28e06e3250045c20409e1aa5a0fc" ], [ "Part2.STLC.Strong.preservation", @@ -1020,7 +1020,7 @@ "subterm_ordering_Part2.STLC.Strong.STrans" ], 0, - "e07f93ccefbd248a7aab626bc46506c4" + "30c81ed1d9917ce0b1608003ae35ec6a" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.STLC.fst.hints b/doc/book/code/Part2.STLC.fst.hints index 495ea0cef84..a28e1c044f8 100644 --- a/doc/book/code/Part2.STLC.fst.hints +++ b/doc/book/code/Part2.STLC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "b04e0e5250a6666db7e8d04cc7c4af54" + "f690de1afdaf6d6c22c79a15aa11514a" ], [ "Part2.STLC.__proj__TArr__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" ], 0, - "3d1495e8ecd41b1be7a90a952b4cb84f" + "86d71b1b9d11a7a616a05cbdfc8b534f" ], [ "Part2.STLC.__proj__TArr__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" ], 0, - "b8dd5b8792918e99dee848c878ce15cd" + "43db723705089798937db1f8113b54ce" ], [ "Part2.STLC.exp", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d12a077e8a27813ab3d670886e0f175" + "b3b1829fd3403cd503599aa0bfbc7923" ], [ "Part2.STLC.__proj__EVar__item___0", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_a33d2a5e9563090c25ee7a18ccaecd18" ], 0, - "c33ec3d401d6d5fa1e156fbbbc1f891d" + "f4fefb99881fa45add75f807f69a2321" ], [ "Part2.STLC.__proj__ELam__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" ], 0, - "df6d2fb5dc42afe785a0958c6f46772d" + "f4402912146256d0a33e4c82685d2e18" ], [ "Part2.STLC.__proj__ELam__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" ], 0, - "fe9151549c4add469ba0164e83e3feb2" + "1835ec3cdb8ce8576c0e78338bd6f5c4" ], [ "Part2.STLC.__proj__EApp__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" ], 0, - "8b442946031e4b6615e7241af023093d" + "8be17437ba7bc7970b4070c4ad87e3a8" ], [ "Part2.STLC.__proj__EApp__item___1", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" ], 0, - "119ccc05e43d6c68effae0fd8b8360ba" + "4a00cbc345be4708835bfcd0b034a6ec" ], [ "Part2.STLC.sub_beta0", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "044748795bb618fc151516432096e2cd" + "ec86f666de33b9fdddc446fb44c79231" ], [ "Part2.STLC.sub_inc0", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "179b8d9ea1f61c8a036831939c81aabc" + "3ca5e5755e781cb03ae5089580f4ec86" ], [ "Part2.STLC.sub_inc", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9922807f76c66e430388b91e83873d43" + "b293183baa884c437443a773cf4cdefe" ], [ "Part2.STLC.sub_inc", @@ -163,7 +163,7 @@ "projection_inverse_Part2.STLC.EVar__0" ], 0, - "b63b974d4bc41515597a7daa52a4e44f" + "6369cb152fd8a1fbd233e7b605af7373" ], [ "Part2.STLC.sub_beta", @@ -187,7 +187,7 @@ "typing_Part2.STLC.uu___is_EVar" ], 0, - "1bd1c14bdf614de777fd6b148e408b6a" + "8d13e47551f1567d0b36c06e39327cec" ], [ "Part2.STLC.subst", @@ -224,7 +224,7 @@ "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" ], 0, - "c0e36af68623bf5e89bf6dbe1ddeea8c" + "ad5adad7692ce23155a33e52703ccf2d" ], [ "Part2.STLC.subst", @@ -252,8 +252,8 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Part2.STLC.EVar__0", + "refinement_interpretation_Tm_refine_43eafb83e7b25cd3d246191d9d32eb07", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b00cf006918e3165dcb80e4768ffd951", "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", "typing_Part2.STLC.bool_order", "typing_Part2.STLC.sub_inc", @@ -261,7 +261,7 @@ "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" ], 0, - "c60195a47cd1cd7d1ee721f8fe07d715" + "c70aae12edca3a3fc2ca136ffd52949d" ], [ "Part2.STLC.subst1", @@ -292,7 +292,7 @@ "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" ], 0, - "02d845c9ea061be02afdccf1e41b79c7" + "308fb9bbd47976aaf4aebb27ba709db6" ], [ "Part2.STLC.subst1", @@ -318,17 +318,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Part2.STLC.EVar__0", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_321a67fc0f409a495629b382e9e7c417", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_63dc0e8f7a71b1e2d7a3761e4423ece1", "refinement_interpretation_Tm_refine_bd0098dd84320b904459039b58648ab1", "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", + "refinement_interpretation_Tm_refine_e6b33741e22e2cf26e468a698c90dfef", "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", "typing_Part2.STLC.sub_inc", "typing_Part2.STLC.subst1", "typing_Part2.STLC.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "d7241281b7cf6824761ab47d2d3e35dd" + "fd90cd16ffc11193ea53eac49725ae19" ], [ "Part2.STLC.step", @@ -340,7 +340,7 @@ "assumption_Part2.STLC.typ__uu___haseq" ], 0, - "66fbf7cd811babad59a90d7457ff42d4" + "3233ddc6eb2734f51e3507f6bba4ef16" ], [ "Part2.STLC.__proj__Beta__item__t", @@ -352,7 +352,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "b8ec82c4c04b00be5d16ce14b80de0e5" + "8791d0088024194e19df3a715bc40408" ], [ "Part2.STLC.__proj__Beta__item__e1", @@ -364,7 +364,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "e7f845dc2ee3756c8d9ccac17b1f03cc" + "a6569a4c5e8147998591a8318920e222" ], [ "Part2.STLC.__proj__Beta__item__e2", @@ -376,7 +376,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "8efbe475486e64c84da481b1440f8d48" + "44ec231c57ec346fec98fb2ab8261d5d" ], [ "Part2.STLC.__proj__AppLeft__item__e1", @@ -388,7 +388,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "0012580ce8b426dce699b96d81a1a10b" + "16fe138c9bfc6ee06120d89f04cb1625" ], [ "Part2.STLC.__proj__AppLeft__item__e2", @@ -400,7 +400,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "0044421cc923418e7d695ad74cd49769" + "82a8aae737c227bb5d12c7bc24aa354d" ], [ "Part2.STLC.__proj__AppLeft__item__e1'", @@ -412,7 +412,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "4726f4930913ce37c8fc6ab8f0f81712" + "4bd6258071ca76187adacf70f7584349" ], [ "Part2.STLC.__proj__AppLeft__item__hst", @@ -428,7 +428,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "9e0aeec6ca5c2001b0ba8dedbf17cc4a" + "9070934a43152121a757edb3683b297e" ], [ "Part2.STLC.__proj__AppRight__item__e1", @@ -440,7 +440,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "d14c52d1c183e93c9244b9896a68b24c" + "64e55b6f77aed81d4da739518f5ab239" ], [ "Part2.STLC.__proj__AppRight__item__e2", @@ -452,7 +452,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "58c908513baa0dc60f8a391b74cda29a" + "945e789731e1fce13e851dc99d6bbd42" ], [ "Part2.STLC.__proj__AppRight__item__e2'", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "00ba883ae647bc6c627e5ccd29350d8c" + "0f82a1e5b1e471edb58e187a736c5ac9" ], [ "Part2.STLC.__proj__AppRight__item__hst", @@ -480,7 +480,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "29fd8eb789f4929417ea45032c75f66e" + "0356296524b73e2ac3b810763835a42f" ], [ "Part2.STLC.steps", @@ -492,7 +492,7 @@ "assumption_Part2.STLC.step__uu___haseq" ], 0, - "f22ee014b7b8e7ce9655618d0e345a1a" + "113b12e357632822cedd45cd67d241b3" ], [ "Part2.STLC.__proj__Single__item__e0", @@ -504,7 +504,7 @@ "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" ], 0, - "7b5c0811a3f515d7829c21860aac0221" + "5ff951c39b64d2b77b5236c49614b743" ], [ "Part2.STLC.__proj__Single__item__e1", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" ], 0, - "e202efef3bac6d92c5f78d13ed05ea4e" + "dcee9daeee8c2ca986b30bf1fb47caad" ], [ "Part2.STLC.__proj__Single__item___2", @@ -532,7 +532,7 @@ "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" ], 0, - "dee04debc80aad75e71fb351f29ee254" + "996f4847060abfc6a350d259df912b6e" ], [ "Part2.STLC.__proj__Many__item__e0", @@ -544,7 +544,7 @@ "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" ], 0, - "52b0bad321957d674fcf11235a5cd461" + "5f3462d0f773d122c134ba4ba8dbbbe1" ], [ "Part2.STLC.__proj__Many__item__e1", @@ -556,7 +556,7 @@ "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" ], 0, - "b17152717b2924365ceff9f2d4ad510c" + "8318d87ef44aac6be7c04a3639220a99" ], [ "Part2.STLC.__proj__Many__item__e2", @@ -568,7 +568,7 @@ "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" ], 0, - "79f7e0c97466a6d4aa5c0b8e0c979809" + "e00be005d9e6c26170ac2a546ce64134" ], [ "Part2.STLC.__proj__Many__item___3", @@ -584,7 +584,7 @@ "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" ], 0, - "d6054633850c76a83c5b4f672db6b79e" + "b0de4c3a9249590d51a2460bd7fcea37" ], [ "Part2.STLC.__proj__Many__item___4", @@ -600,7 +600,7 @@ "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" ], 0, - "04e144bac4708c3233afdfa6606c751b" + "616040bc565eddf6a5c44eb4a4f8095d" ], [ "Part2.STLC.extend", @@ -614,7 +614,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0c6d4f892b8bb9e5aa18e91adf191fcc" + "718881e625c706a6cceefc9831bb7b2a" ], [ "Part2.STLC.typing", @@ -626,7 +626,7 @@ "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" ], 0, - "ad65eb70e87c0bbb6fe5c9376ae107bc" + "f01766089d22866b8cef480768015eb2" ], [ "Part2.STLC.__proj__TyUnit__item__g", @@ -638,7 +638,7 @@ "refinement_interpretation_Tm_refine_458ed1c37648df81e4eddbf462b96636" ], 0, - "aa4bb6509d3b05a30571c68b19dc5d3f" + "a709099822db2f16111eaec910214f65" ], [ "Part2.STLC.__proj__TyVar__item__g", @@ -650,7 +650,7 @@ "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" ], 0, - "f09a1b2f20d650d2b2fca10d7704b3de" + "3a7763abd52b25a729dda89181e5bdf9" ], [ "Part2.STLC.__proj__TyVar__item__x", @@ -662,7 +662,7 @@ "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" ], 0, - "bd4ea5baf01379fd2566d370f88b956c" + "c75e4db05ac41afa0b0bfad62c89e329" ], [ "Part2.STLC.__proj__TyLam__item__g", @@ -674,7 +674,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "4e55b1417bb19e94212d12ca6bf64dd2" + "29225d7805b548ef1dd78dbf64d2ef60" ], [ "Part2.STLC.__proj__TyLam__item__t", @@ -686,7 +686,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "6bd9ce3773b6f935ccb1fb1ad6fed2bb" + "5bb3a15a9f6d276a4ffac89d43f96b72" ], [ "Part2.STLC.__proj__TyLam__item__e1", @@ -698,7 +698,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "9eb120a7b156d921f87f3d056cd48978" + "f78be6ec864b55895caac682920612b9" ], [ "Part2.STLC.__proj__TyLam__item__t'", @@ -710,7 +710,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "e3e8f329680cd821852482601792dc0f" + "ca9d0a32bd7ca742e8ab96699b331114" ], [ "Part2.STLC.__proj__TyLam__item__hbody", @@ -730,7 +730,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "03b2ed5d59fc34c51746920dddef6c73" + "770c973ff27db3f2db589a8c6cf2865d" ], [ "Part2.STLC.__proj__TyApp__item__g", @@ -742,7 +742,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "951cbdbd19acfcb36a626bf3c93456a8" + "2c69545975ee5c29dcaee9d5c6c0f7c9" ], [ "Part2.STLC.__proj__TyApp__item__e1", @@ -754,7 +754,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "9f370fae315239e31c694a95db2a3ec6" + "e608097bef0f8a810915da188be6dc99" ], [ "Part2.STLC.__proj__TyApp__item__e2", @@ -766,7 +766,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "c95dd6ed8742f4be77bb9466b995c7da" + "18a745802e1d2078a558758474de169c" ], [ "Part2.STLC.__proj__TyApp__item__t11", @@ -778,7 +778,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "f0b8a44ba37af46d6af91d0a840aca24" + "e121b4cce2eb8cba33c4a5f5a93ddc9d" ], [ "Part2.STLC.__proj__TyApp__item__t12", @@ -790,7 +790,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "e648eda7195c09df2d105536d57a1339" + "79dee011874c63085fded7ed7d19d72e" ], [ "Part2.STLC.__proj__TyApp__item__h1", @@ -810,7 +810,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "96d4eec032668be2d246219753226254" + "3329257761aad0b40def4d5ed6746596" ], [ "Part2.STLC.__proj__TyApp__item__h2", @@ -828,7 +828,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "0521620c5512e4a5b43976a07714458e" + "90d8d39c321f0f8f21eefed737a15a0a" ], [ "Part2.STLC.progress", @@ -873,7 +873,7 @@ "typing_tok_Part2.STLC.TUnit@tok" ], 0, - "79230920007f3e58f67fdee6454db179" + "826d383056d1900a42ba96351c1bf819" ], [ "Part2.STLC.subst_typing", @@ -885,7 +885,7 @@ "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" ], 0, - "ba41b6fc90025fe349896272d5341f29" + "a0e8d6ef0572c2ddf3569ab95c3e87a4" ], [ "Part2.STLC.substitution", @@ -974,7 +974,7 @@ "well-founded-ordering-on-nat" ], 0, - "c339f52a5a73c02e09473eac3d461303" + "4572afbf3cfa7e90a13051ab10eb88f3" ], [ "Part2.STLC.substitution_beta", @@ -1003,7 +1003,7 @@ "typing_tok_Part2.STLC.TUnit@tok" ], 0, - "041bdf7f25733fecb47452faddbeb19a" + "88327b4ff2a0cfbdd4624d40d630e6cd" ], [ "Part2.STLC.preservation_step", @@ -1051,7 +1051,7 @@ "subterm_ordering_Part2.STLC.EApp", "typing_tok_Part2.STLC.EUnit@tok" ], 0, - "02a0ce717f546c7c2efd0eba70e7f2dc" + "7126fe42faeaa6926b7700bde6b02cab" ], [ "Part2.STLC.preservation", @@ -1068,7 +1068,7 @@ "subterm_ordering_Part2.STLC.Many" ], 0, - "999e3d29e0c7ec8fd9737b5cb0d2bef2" + "e6dd543697f3f5eaaed17014e7a48362" ], [ "Part2.STLC.soundness", @@ -1080,7 +1080,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6a34fbc22ec20d1f26b8025b9675846d" + "0f70db80d810dc650f9037e3294ec111" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part2.WellFounded.fst.hints b/doc/book/code/Part2.WellFounded.fst.hints index 865be89f393..874c8325328 100644 --- a/doc/book/code/Part2.WellFounded.fst.hints +++ b/doc/book/code/Part2.WellFounded.fst.hints @@ -15,7 +15,7 @@ "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" ], 0, - "2bf5fdf3ab1b314261101ac71883921e" + "010aba8082d23da622ce6a4a4acdf3f3" ], [ "Part2.WellFounded.wf_lt_nat", @@ -32,7 +32,7 @@ "well-founded-ordering-on-nat" ], 0, - "5804d95aab4cc7bfd9d144e546e73402" + "58a4cd45730a5921988b097775c9cd74" ], [ "Part2.WellFounded.subrel_wf", @@ -48,7 +48,7 @@ "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" ], 0, - "919c4ee1834e7b99cee8fb68be83c768" + "ebcf21d7bdd4dcbfd59ec70ba5a4002d" ], [ "Part2.WellFounded.inverse_image_wf", @@ -67,7 +67,7 @@ "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" ], 0, - "b8f9489644c32a6a355568a0eb50da85" + "eeb0d6760c57495d4beff6405131d76b" ], [ "Part2.WellFounded.negate", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_53244119120a0c2642bc1a0709e77283" ], 0, - "f6d5bb9a27bf62d8ecf78cf2690aba15" + "3cc52e2418886bf9cde5203c3e6d8e20" ], [ "Part2.WellFounded.__proj__Left_lex__item__x1", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" ], 0, - "9450b8c4e35bf04648c916f8fa91d2aa" + "b7bb4a18bb3020ec7ce8b76c96010b0d" ], [ "Part2.WellFounded.__proj__Left_lex__item__x2", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" ], 0, - "0862ab2dfc27f20013138f72a87b08b5" + "268c2c87a3015a1e181b7c429bc374ae" ], [ "Part2.WellFounded.__proj__Left_lex__item__y1", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" ], 0, - "fb3d73dbf0220d492677b9539b1ce0aa" + "d9d3f67986afcb287732594621b810e6" ], [ "Part2.WellFounded.__proj__Left_lex__item__y2", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" ], 0, - "5a39b713fe485bea14ec7da00b2cebd4" + "c97b29af7b0d4f0e5f2cb3ba74c43b72" ], [ "Part2.WellFounded.__proj__Left_lex__item___4", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" ], 0, - "87406ca727f8006cd79bf2522f790075" + "ebc3ae36bef6f704ac0138c0170c7a50" ], [ "Part2.WellFounded.__proj__Right_lex__item__x", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" ], 0, - "e61b7ac5f1c5fb4e42173c7fcd8e12e2" + "e8d567748fa491712bd0c19a29eb007a" ], [ "Part2.WellFounded.__proj__Right_lex__item__y1", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" ], 0, - "7918b5b97ccaf2d32cccdb57e1df2b58" + "40285a3185d719f14ac0fd38c64353b1" ], [ "Part2.WellFounded.__proj__Right_lex__item__y2", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" ], 0, - "6c8748206fe552f585334f5a97f3062a" + "f69194256e003f9032f0c2fda374145f" ], [ "Part2.WellFounded.__proj__Right_lex__item___3", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" ], 0, - "bd862939f375c666d726bd860e5e1fe0" + "f5f81fb8d9fcac7ba4ae76b353a4164c" ], [ "Part2.WellFounded.mk_lt_nat", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "91c15062367225af30b5fd84cf8ccb9b" + "9dabddd79539dc1f37149c1b996b9ad1" ], [ "Part2.WellFounded.mk_lex_order_nat_pair", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_a6b719ee0ec38710e48ce4f7ee6fd3eb" ], 0, - "db01d7df5e67bd304e481bd74f396aa0" + "e4f44ff4c7e7b5f4b270cdd74fba3516" ], [ "Part2.WellFounded.ackermann'", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fabacbd4845e80754c65d0f40208f41f" + "5b80808493f6838df86bf29e7f91e10f" ], [ "Part2.WellFounded.coerce", @@ -266,7 +266,7 @@ "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" ], 0, - "4389a9dc9c2fe2d7bfb56ebbe7d0e851" + "5228e33362fd3257bcab075b904605bc" ], [ "Part2.WellFounded.ackermann_wf", @@ -289,7 +289,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ea9fe6c19e415b92fa98d99ccafcef5c" + "360728ae1b7db72c593ac5f639dfb72c" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part4.UTLCEx1.fst.hints b/doc/book/code/Part4.UTLCEx1.fst.hints index b2fbb2b7393..00955b399b0 100644 --- a/doc/book/code/Part4.UTLCEx1.fst.hints +++ b/doc/book/code/Part4.UTLCEx1.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fbb7f144e24f3c83576c50bad5f5fb84" + "6eec0cba3a4bec7ff81d56ab81a07969" ], [ "Part4.UTLCEx1.__proj__Var__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_d9b7d79b3de8de761e37900c421312d6" ], 0, - "13dc614a51911ce4968977b14118decf" + "bef30b77f6010c583c4ddd772614d06e" ], [ "Part4.UTLCEx1.__proj__Int__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_f5cb51cd6c4512d168a64a25fcb1f009" ], 0, - "4e56f8c666813d86469dd2ecaf68f4c6" + "205b0ea858b81e3ddad54dc82fb81cfc" ], [ "Part4.UTLCEx1.__proj__Lam__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_e2821279e37b7e4d56c35062dfda424c" ], 0, - "ae49c261e82c2c32d15b27edbb39609f" + "bcc398edf0885c75b01d6b2e952aaf63" ], [ "Part4.UTLCEx1.__proj__App__item___0", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_92b3b3b7fb8c1c7efa51e31e2cfaa929" ], 0, - "1fc8ce3e723147942e036ada5f46b204" + "f59ca8cd88b90e19ebbfb41ed81142d7" ], [ "Part4.UTLCEx1.__proj__App__item___1", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_92b3b3b7fb8c1c7efa51e31e2cfaa929" ], 0, - "30b65f0990a31505cd93b5ed63d961e8" + "131e7c85abf2c39f89966899edd9585d" ], [ "Part4.UTLCEx1.closed'", @@ -93,7 +93,7 @@ "subterm_ordering_Part4.UTLCEx1.Lam" ], 0, - "0e4210ff980187039b2a5afbd722460b" + "278879c0692b8b2166eb9a956401de8f" ], [ "Part4.UTLCEx1.closed'_weaken", @@ -132,7 +132,7 @@ "typing_Part4.UTLCEx1.closed_", "typing_Part4.UTLCEx1.uu___is_Int" ], 0, - "dcbb7c1b7d290f6014f76c09aafc29e2" + "562c182f7a1b24f87a033dfe6cc9f205" ], [ "Part4.UTLCEx1.subst", @@ -183,7 +183,7 @@ "typing_Part4.UTLCEx1.uu___is_Var" ], 0, - "e9162db9d96823609dff470744b99fa1" + "74060163e9c9efb26f41e02549934592" ], [ "Part4.UTLCEx1.interpret", @@ -217,7 +217,7 @@ "typing_Part4.UTLCEx1.closed" ], 0, - "d228ff16be188dba498b5d13ffdfb07b" + "ad3c2acb32f5b92f45ddf39b22bfebc7" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part4.UTLCEx2.fst.hints b/doc/book/code/Part4.UTLCEx2.fst.hints index 091bf69899a..498b01ca222 100644 --- a/doc/book/code/Part4.UTLCEx2.fst.hints +++ b/doc/book/code/Part4.UTLCEx2.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b5c28b40629a9b6677f027564bcde9e4" + "25ac8b46e39682b385cb6a2660e31f5f" ], [ "Part4.UTLCEx2.__proj__Var__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_4ff61267ad9445edb028b8951070a572" ], 0, - "c585e41fa62f861f7df6b84a0db7f459" + "00f52dfdc8b74949c2c3dc0bfa73d3d4" ], [ "Part4.UTLCEx2.__proj__Int__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_020bd6cbc9e7d25fb84c5a0b9e0c27a1" ], 0, - "0d07be9255a748af22f331a50952fbbd" + "4ebe10c20b3147d57608ddfcf988246e" ], [ "Part4.UTLCEx2.__proj__Lam__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_51fda4c8b6822223252f53a1d166a129" ], 0, - "2b10a17edcbc973f1edfaf73c2a09eae" + "788c0a60a5afd4fae866ce3f336de3b2" ], [ "Part4.UTLCEx2.__proj__App__item___0", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_e348bfe229195f6b9d1c40ff16d6f28b" ], 0, - "4f05107a0aed4dfc31f8a0d3cbff01cc" + "e3c6ab78327ac4a540acaf39b555c977" ], [ "Part4.UTLCEx2.__proj__App__item___1", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_e348bfe229195f6b9d1c40ff16d6f28b" ], 0, - "880315e23294cb6ad1c704505f5d3474" + "2da22fb70aac75169bc4553dd438f9c7" ], [ "Part4.UTLCEx2.free", @@ -93,7 +93,7 @@ "subterm_ordering_Part4.UTLCEx2.Lam" ], 0, - "f72e1cd2a697a2866a6c79e89cdcb64e" + "4ae26f57b56df18198f2b31464ca6754" ], [ "Part4.UTLCEx2.__proj__DErr__item___0", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_efbb2e8c81db31143ef9fcdf49712a2b" ], 0, - "ecb572e98ef1592f9c25e259ca0f0c47" + "b65b3bffbc2d7c9425d1d667c79653ed" ], [ "Part4.UTLCEx2.__proj__DInt__item___0", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_84350afeb2705875933c4811a0654da8" ], 0, - "60a1f03ca444bc45bf60afc9de032548" + "afc5e8eec190cc5a2a45465c8a5d6d09" ], [ "Part4.UTLCEx2.__proj__DFun__item___0", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_ba1647c5f3d08d7dd5ac75b84060a053" ], 0, - "58db68a7a32e5d2b47ade0b311b45788" + "9af7c5a96c0257fa70ba1ce0702d843e" ], [ "Part4.UTLCEx2.shift", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_a927208ed63cb8d3ef190387bdd1e099" ], 0, - "4d348be6fc1bba4ed75daa9eb075fa4a" + "7f40544a799018f275094c26cc7edfaa" ], [ "Part4.UTLCEx2.denote", @@ -178,7 +178,7 @@ "projection_inverse_Part4.UTLCEx2.Var__0" ], 0, - "e644c856bc0ae7ac4e71f1b979bd8850" + "cf22ac8724ae6fea532ced4017cb6e0f" ], [ "Part4.UTLCEx2.empty_context", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dd24c820f123d43e3c1706bdb57a54d0" + "0de9607c27aa6ec45c9b7514a506969d" ], [ "Part4.UTLCEx2.denote_closed", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_7c06bd7ffa422fcac3d578df766fb281" ], 0, - "bc00f8961debe387ef63b33a2ac64b96" + "7f0297283384e1d605727d97ce99c4cd" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part5.Mapply.fst.hints b/doc/book/code/Part5.Mapply.fst.hints index 038a3cbaf0e..afecc12aa38 100644 --- a/doc/book/code/Part5.Mapply.fst.hints +++ b/doc/book/code/Part5.Mapply.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "4839fade00a2bc44d4ef3bfc5bf041c8" + "ae49dadc1852fd8d6a5a804a462305ed" ], [ "Part5.Mapply.test", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_7a3bd9cfd60e65a77a656fd59cd76e42" ], 0, - "b2b2e7c16991ba3027e0ab294a01fff9" + "eb22c198009891f334205e8fee48e6e2" ], [ "Part5.Mapply.test", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_7a3bd9cfd60e65a77a656fd59cd76e42" ], 0, - "b2b2e7c16991ba3027e0ab294a01fff9" + "eb22c198009891f334205e8fee48e6e2" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Part5.Pow2.fst.hints b/doc/book/code/Part5.Pow2.fst.hints index 10e8b73d3a3..15ff8442c15 100644 --- a/doc/book/code/Part5.Pow2.fst.hints +++ b/doc/book/code/Part5.Pow2.fst.hints @@ -12,7 +12,7 @@ "true_interp" ], 0, - "f08628f73a45d9c71dfc9af7145aac63" + "f6621f4c104ec1b8e79a5d4137d854e6" ], [ "Part5.Pow2.pow2_bound_19'''", @@ -25,7 +25,7 @@ "true_interp" ], 0, - "12b442213ff046d243d40506739f8035" + "30086f2a13f04ecb4e48ac8003e903ef" ], [ "Part5.Pow2.pow2_bound_19''''", @@ -38,7 +38,7 @@ "true_interp" ], 0, - "4a1d7408c219bead8865ae87342a2869" + "642bf264c198808beea78cc151e456d6" ] ] ] \ No newline at end of file diff --git a/doc/book/code/ProvableEquality.fst.hints b/doc/book/code/ProvableEquality.fst.hints index ba333b7afdb..f6164193937 100644 --- a/doc/book/code/ProvableEquality.fst.hints +++ b/doc/book/code/ProvableEquality.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "63ff7b81899d7c6aae5ae47a251c7000" + "f1512e72b8964275302020ad6b4bfb49" ], [ "ProvableEquality.vec", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c929f7b2b11abd2147590aaa044de25b" + "0801f00d49c8e837d3f002472640bb6f" ], [ "ProvableEquality.__proj__Cons__item__n", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" ], 0, - "4630cd28ddefd337a252d28458f1aab8" + "504649a43072dbf3514fb9c12cc79a26" ], [ "ProvableEquality.__proj__Cons__item__hd", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" ], 0, - "b32e6faa5efdd667df09410ee645bfea" + "16992f79c9b0b17f17904eab5db5425a" ], [ "ProvableEquality.__proj__Cons__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" ], 0, - "1ac073dfb9a4da438ad4a07150ec08f6" + "9aab206ef789a17d4986a655e9cc21d8" ], [ "ProvableEquality.factorial", @@ -80,7 +80,7 @@ "well-founded-ordering-on-nat" ], 0, - "7bc4c333efc7ed6786a6cdec7886e041" + "c68a91213f59d40c884be2b1d161e1c5" ], [ "ProvableEquality.equals", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "6180406aa09074ad510b6120838362e2" + "ea734fc131107d57d7bc28c0c4ff5954" ], [ "ProvableEquality.symmetry", @@ -101,7 +101,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "81b6d61f88fd900f38dc88315054a1fc" + "915b81ee2ad51e9d7267ea9b2394e2a2" ], [ "ProvableEquality.transitivity", @@ -113,7 +113,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "0a6de151e54e1352e5f537305f58ca13" + "a845ed9d6a48bc83155f95f9618139e9" ], [ "ProvableEquality.uip_refl", @@ -125,7 +125,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "a5f0a4a7f01b7b3e9cd589dc58a6747d" + "3b14040fe59bab5b505043410ab7d9cf" ], [ "ProvableEquality.uip_refl_explicit", @@ -137,7 +137,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "a38856ef531436e2527cc44aa58cfbca" + "097397f6e7ad5668d85f770dbfc0ea54" ], [ "ProvableEquality.uip", @@ -149,7 +149,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "c2af920074bb1ce0ad967daf378b9aa9" + "22e763b7098247a2a88334fa41779aa2" ], [ "ProvableEquality.pconv_vec_z", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_0cc3b8bc4390a8152398abb544530a43" ], 0, - "99fb53bd85f44929abe959dd96bff6c5" + "9bccee235e1d617c6a066c509fb190fe" ], [ "ProvableEquality.pconv_vec_nm", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "e42c231966630ef3cafa28b4e4240de2" + "469f9a12ca0d2c2e47213a8cab8cb0bd" ], [ "ProvableEquality.pconv_int", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_1f5ab8b59c8e7f172e4f39cbe2899a5d" ], 0, - "5a652a9a4b123270d945f304213adcbb" + "7ad864435958ca1901be01239d255752" ], [ "ProvableEquality.pconv_ab", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "18758ce8575dba6592bd44d3579cbae2" + "5fa149b2085542a13d8eaa774f3eff26" ], [ "ProvableEquality.pconv_der", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_0da555bbe11d10924e139a6451fdb45d" ], 0, - "11ebb696276baa3a7c6f997e08e9b77d" + "0c85e2de7700ea1a7f8f92618a06ae31" ], [ "ProvableEquality.equals_lbz_eq", @@ -223,7 +223,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "93707c2a37dc81f92c3a6bacfc191576" + "c525a7fca710aff23904b154a79ddb22" ], [ "ProvableEquality.full_funext_false", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "3d6d05676d4132764755a1ad13c5c090" + "af670759aa18b9e0584ce557082fbd04" ], [ "ProvableEquality.eta_equiv_false", @@ -264,7 +264,7 @@ "refinement_interpretation_Tm_refine_e4c025b9e2bb23444824553ab6c4e094" ], 0, - "ae83f072ecbcdc53f9deace95ac5469e" + "f4f58831f9a7d6df5fe4eebed65aa0fb" ], [ "ProvableEquality.dec_equals", @@ -277,7 +277,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "99baaf290c1ac7229f40d9fc8d82afcc" + "4269d054c4e516233577f3d2c2fe8c8e" ], [ "ProvableEquality.equals_dec", @@ -289,7 +289,7 @@ "fuel_guarded_inversion_ProvableEquality.equals" ], 0, - "2d4a4877f43eec124478d463e42104bf" + "ec68c48c1b508593e412f03544fcb710" ], [ "ProvableEquality.__proj__Node__item__hd", @@ -301,7 +301,7 @@ "refinement_interpretation_Tm_refine_78a78ab6b86c5d95d4a09252057f5f84" ], 0, - "d80a523f1fb074f6b1faf5ba193e8fa4" + "80dbeac25b8a4b26ec721ea042b34caa" ], [ "ProvableEquality.__proj__Node__item__tl", @@ -313,7 +313,7 @@ "refinement_interpretation_Tm_refine_78a78ab6b86c5d95d4a09252057f5f84" ], 0, - "8ff81f807e03742b80e9b54c51d6e15f" + "9e2c315f2caf247606f56f1e9b253bcc" ], [ "ProvableEquality.uu___202", @@ -330,7 +330,7 @@ "token_correspondence_Prims.list@tok" ], 0, - "617e7ea421f40cdf5888f5fc7687cb79" + "00df92ea99e46f41833e8dd98a194b5f" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Pure.fst.hints b/doc/book/code/Pure.fst.hints index eda20d5b3f5..44e260fc2b6 100644 --- a/doc/book/code/Pure.fst.hints +++ b/doc/book/code/Pure.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "798e7fa5428f4700f7f313f2f272b0de" + "da84841d58087dd54e263eabef306f48" ], [ "Pure.fact", @@ -29,20 +29,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "69d3e4108c4004fcc1db4764790ac7f7" - ], - [ - "Pure.op_Equals_Tilde_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a5d3250044ecc2d1fe0545e6dc618517" + "6b60e7bb918f8e4efc449ce9d1238658" ], [ "Pure.left_identity", @@ -57,7 +44,7 @@ "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "d9cd7b34f4d79587b33939b2bb350137" + "d6e48056d700dd92482ad651e9baa03e" ], [ "Pure.right_identity", @@ -77,7 +64,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "6e0016a351bb43f8beb3b4e8a5a09ff7" + "8866ae966152a9c8c46b15cbb1ef050b" ], [ "Pure.associativity", @@ -95,7 +82,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "7ffbf2a904a3f401a90dc02e3dcfd000" + "7dc74a9b6c55e0584a0446088eb5943c" ], [ "Pure.square", @@ -108,20 +95,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "de1b58543014e6d3f5aeeb73bc770a4f" - ], - [ - "Pure.stronger_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "71f8d543d1e5e1debcfb255fea2c64bf" + "228606afdc0803be3f8c1678a5530884" ], [ "Pure.maybe_incr", @@ -144,7 +118,7 @@ "token_correspondence_Pure.if_then_else_wp" ], 0, - "0128809be26ea9fe950b56514170d829" + "28e681799b36a20c0dac19266d5c8985" ], [ "Pure.maybe_incr2", @@ -156,7 +130,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "fd791eaa2591544b355c1e16413ad2c8" + "7c7eb19cb1b0ba99a208005c44d0333a" ], [ "Pure.maybe_incr_tot", @@ -168,7 +142,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "035a62cd73764454bb24962de90a3362" + "da425592b454e15f504e5e036bc32285" ], [ "Pure.assert_wp", @@ -177,7 +151,7 @@ 1, [ "@query" ], 0, - "5dcf88c437b94320a2d5d79e7071d8f4" + "7c397c55fe8bc6e28843142152f792ba" ] ] ] \ No newline at end of file diff --git a/doc/book/code/RevealHideCoercions.fst.hints b/doc/book/code/RevealHideCoercions.fst.hints index 01d1ee6ffc0..c272f3a34e7 100644 --- a/doc/book/code/RevealHideCoercions.fst.hints +++ b/doc/book/code/RevealHideCoercions.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "140cf7dbfaf5a092b532b80efa5ec2ae" + "0ce8a01beea67f4a93565a9f113f3d14" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Russell.fst.hints b/doc/book/code/Russell.fst.hints index 4859cecab45..f403e042a6f 100644 --- a/doc/book/code/Russell.fst.hints +++ b/doc/book/code/Russell.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Prims.l_False", "false_interp" ], 0, - "63e9fdb9094ea82901ec5691f2b8b8a9" + "e5c1f12a9b0d14bc4886d0a0b251fa8c" ], [ "Russell.x_in_delta_x_not_in_delta", @@ -30,7 +30,7 @@ "token_correspondence_Russell.__proj__Set__item__f" ], 0, - "8a0b0609950950ffddba19ac74add570" + "6cf0ced4b6cb2aff0856b9628cf26a9e" ], [ "Russell.x_not_mem_x_x_mem_delta", @@ -56,7 +56,7 @@ "typing_Tm_abs_00c6031da87949e271baff96ec88e49e" ], 0, - "c3a8ca08a80d786ed45ad205bc5626cb" + "02fd6b5050df555a0f312964439f0866" ] ] ] \ No newline at end of file diff --git a/doc/book/code/SMTEncoding.fst.hints b/doc/book/code/SMTEncoding.fst.hints index cd29b54b609..d16340d25bf 100644 --- a/doc/book/code/SMTEncoding.fst.hints +++ b/doc/book/code/SMTEncoding.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "9de5cb52ceace2d9f7520f3951f57b0c" + "955e10a32af3a9064e4811e82cd688a0" ], [ "SMTEncoding.force_a_query", @@ -28,7 +28,7 @@ "true_interp" ], 0, - "b0c9e2351b9bfbfd159d6d49188ca3e7" + "4ae67f174e057de9c787157fcbbddfe4" ] ] ] \ No newline at end of file diff --git a/doc/book/code/SimplifiedFStarSet.fst.hints b/doc/book/code/SimplifiedFStarSet.fst.hints index 471c01e59ae..a81f3a7c3c1 100644 --- a/doc/book/code/SimplifiedFStarSet.fst.hints +++ b/doc/book/code/SimplifiedFStarSet.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9e1395b7e412aaf88a105c2907265db2" + "6c8be39b17cc009920811f82c8d96cc3" ], [ "SimplifiedFStarSet.mem_empty", @@ -37,7 +37,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "bfb56fdbaa4443ad32dffd67dcd2b3df" + "d25e6a2c5b954e8b204b182acfcbfbbe" ], [ "SimplifiedFStarSet.mem_singleton", @@ -60,7 +60,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "0f5e258c702176cabbd9f54aa1dc94db" + "2d0c6b3b2847b53f7317ef282d0ae46e" ], [ "SimplifiedFStarSet.mem_union", @@ -82,7 +82,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "671842df299e2129edcc55ad30a1e57e" + "9f2396dbc7fbf92c8da74c132e23061b" ], [ "SimplifiedFStarSet.mem_intersect", @@ -104,7 +104,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "340d6cb0a5ce4611ecbb82643f3851e1" + "df7a8612ae947b59d9fa29da7e9a6340" ], [ "SimplifiedFStarSet.mem_complement", @@ -126,7 +126,7 @@ "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "7eccfbb3b647df1328b7eced73a1abc4" + "2a9778ce8e44ddae1d7c4aec52a0d811" ], [ "SimplifiedFStarSet.equal_intro", @@ -139,7 +139,7 @@ "equation_SimplifiedFStarSet.mem" ], 0, - "7be8e3d3946598978e15f3f9648e2c36" + "b623f3177c36e214f280ebe2c25d7dba" ], [ "SimplifiedFStarSet.equal_elim", @@ -158,7 +158,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "d4d41a30a969b836797c9b947b7b0b0b" + "2bf9d77db0bcf2c607bfa23247cc0ee3" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Typeclasses.fst.hints b/doc/book/code/Typeclasses.fst.hints index d724551e994..491ebc68284 100644 --- a/doc/book/code/Typeclasses.fst.hints +++ b/doc/book/code/Typeclasses.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "0a9cf9ec7164e5ae54479c557cd4b2e3" + "713eadafde3017c85d4b14326d92a43f" ], [ "Typeclasses.printable_either", @@ -23,7 +23,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "49305adbd0d7fe95dd865d529ceda630" + "8042138dacb89b09d0fbcbaabb3e702f" ], [ "Typeclasses.bounded_unsigned_int", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "2821f85ff27931fc43f75a1aff7ca5d8" + "b4341a67751443ec4b68898f39984e3e" ], [ "Typeclasses.__proj__Mkbounded_unsigned_int__item__properties", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "c862c38941f7a44975565e45c2dd2b40" + "1625af43eb567cda94c891cc63d36ac6" ], [ "Typeclasses.__proj__Mkbounded_unsigned_int__item__properties", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "ad8f07f18b309ca882eb418c5b70b46f" + "821cca75db07287fcb0d37ebccb4b281" ], [ "Typeclasses.op_Plus_Hat", @@ -60,12 +60,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_Typeclasses.fits", "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", + "proj_equation_Typeclasses.Mkbounded_unsigned_int_fits", "token_correspondence_Typeclasses.__proj__Mkbounded_unsigned_int__item__fits", "token_correspondence_Typeclasses.fits" ], 0, - "89b2c0dc248767008f289e402478a2e5" + "ead2e2d1780ec8f47a1b00309eac7b19" ], [ "Typeclasses.op_Subtraction_Hat", @@ -75,12 +76,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_Typeclasses.fits", "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", + "proj_equation_Typeclasses.Mkbounded_unsigned_int_fits", "token_correspondence_Typeclasses.__proj__Mkbounded_unsigned_int__item__fits", "token_correspondence_Typeclasses.fits" ], 0, - "f481a27b9924988817f2db016de65cf1" + "012d6fdb6b1129689d3ecf7981b0f7c9" ], [ "Typeclasses.u32_instance", @@ -117,7 +119,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "5388410145ba1a8de295d8e5a2f93019" + "4bd903a0ae8c6d0f97d713ac4793fbf7" ], [ "Typeclasses.u64_instance", @@ -154,7 +156,7 @@ "typing_FStar.UInt64.sub", "typing_FStar.UInt64.v" ], 0, - "516bdedde1fbf6854772850cb1008696" + "ef42aa2e9e92717e554c78fd2f956b26" ], [ "Typeclasses.bounded_unsigned_int_eq", @@ -168,16 +170,14 @@ "equation_Typeclasses.lt", "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", "int_inversion", - "interpretation_Tm_abs_b53dbfd54d613bf634cc12b93726f94a", - "primitive_Prims.op_Negation", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_lt", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", "token_correspondence_Typeclasses.lt" ], 0, - "1e31e1b32fb5a53ef7c761a15ccbb4dd" + "3db7e657f35e8faa5d3b65a52d85be69" ], [ "Typeclasses.test32", @@ -205,19 +205,16 @@ "equation_Typeclasses.u32_instance", "function_token_typing_FStar.UInt32.uint_to_t", "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", "interpretation_Tm_abs_707b76618d150032d670eadea8c2886a", + "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "interpretation_Tm_abs_aeb26e9e366b33b01427e92c701e0a70", - "interpretation_Tm_abs_b53dbfd54d613bf634cc12b93726f94a", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", "l_and-interp", "lemma_FStar.UInt.pow2_values", "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_Typeclasses.Mkbounded_unsigned_int_fits", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_lt", - "proj_equation_Typeclasses.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Typeclasses.Mkbounded_unsigned_int_fits", @@ -240,7 +237,7 @@ "typing_Typeclasses.u32_instance" ], 0, - "8fd48e200450f07dfd4bd766d6e17fdb" + "050e837e30f67110714eb56316f62e6c" ], [ "Typeclasses.test64", @@ -268,19 +265,16 @@ "equation_Typeclasses.u64_instance", "function_token_typing_FStar.UInt64.uint_to_t", "function_token_typing_FStar.UInt64.v", "int_typing", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", "interpretation_Tm_abs_656d0f2049ea412abf4d6cc7d0dce066", + "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "interpretation_Tm_abs_aeb26e9e366b33b01427e92c701e0a70", - "interpretation_Tm_abs_b53dbfd54d613bf634cc12b93726f94a", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", "l_and-interp", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.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_Typeclasses.Mkbounded_unsigned_int_fits", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_lt", - "proj_equation_Typeclasses.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Typeclasses.Mkbounded_unsigned_int_fits", @@ -303,7 +297,7 @@ "typing_Typeclasses.u64_instance" ], 0, - "0d281a7686ac73596bf1120a5f030751" + "36c9bdc4585fab949ca426624680b579" ], [ "Typeclasses.try_add", @@ -312,9 +306,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", + "Typeclasses_interpretation_Tm_arrow_1306a99da913949e984f061e825ba070", "Typeclasses_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "Typeclasses_interpretation_Tm_arrow_4854a37a44266626aa4e306dc02dd5e4", "b2t_def", "data_elim_Typeclasses.Mkbounded_unsigned_int", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -329,22 +324,18 @@ "equation_Typeclasses.op_Subtraction_Hat", "equation_Typeclasses.sub", "equation_Typeclasses.u32_instance", "function_token_typing_FStar.UInt32.v", - "interpretation_Tm_abs_26aca97caf97ae97b5ce9060dfb49046", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "function_token_typing_Typeclasses.bound", + "interpretation_Tm_abs_37a0a4a84a56f18c93c5e050ff3013e0", + "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", "interpretation_Tm_abs_707b76618d150032d670eadea8c2886a", + "interpretation_Tm_abs_832f0fe6c37da7dc40003af1526bd23b", + "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "interpretation_Tm_abs_aeb26e9e366b33b01427e92c701e0a70", - "interpretation_Tm_abs_b53dbfd54d613bf634cc12b93726f94a", - "interpretation_Tm_abs_f640c6f28fd1244298abfbdc17bf8ea7", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_bound", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_fits", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_lt", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_sub", - "proj_equation_Typeclasses.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Typeclasses.Mkbounded_unsigned_int_bound", @@ -356,18 +347,17 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt32.v", "token_correspondence_Prims.op_Addition", + "token_correspondence_Prims.op_Subtraction", "token_correspondence_Typeclasses.bound", "token_correspondence_Typeclasses.eq_op", "token_correspondence_Typeclasses.fits", "token_correspondence_Typeclasses.lt", "token_correspondence_Typeclasses.sub", "typing_FStar.UInt32.t", - "typing_Typeclasses.__proj__Mkbounded_unsigned_int__item__bound", - "typing_Typeclasses.u32_instance" + "typing_FStar.UInt32.v", "typing_Typeclasses.u32_instance" ], 0, - "7a7648dc8e4a36740dec3c0cd42fa06f" + "7983e2a4ed4a828053e18468183e8712" ], [ "Typeclasses.sum", @@ -377,8 +367,10 @@ [ "@MaxIFuel_assumption", "@query", "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", + "Typeclasses_interpretation_Tm_arrow_1306a99da913949e984f061e825ba070", + "Typeclasses_interpretation_Tm_arrow_1a0120adf1d7bc7634d805f5498b2ea3", "Typeclasses_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "Typeclasses_interpretation_Tm_arrow_b9521ecef567189c3c74c890707705d4", + "Typeclasses_interpretation_Tm_arrow_4854a37a44266626aa4e306dc02dd5e4", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_Typeclasses.Mkbounded_unsigned_int", "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", @@ -392,43 +384,36 @@ "equation_Typeclasses.op_Subtraction_Hat", "equation_Typeclasses.sub", "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "function_token_typing_Typeclasses.__proj__Mkbounded_unsigned_int__item__fits", - "int_inversion", "int_typing", - "interpretation_Tm_abs_26aca97caf97ae97b5ce9060dfb49046", - "interpretation_Tm_abs_342140275acda8aae6cf4f026e3530c6", + "function_token_typing_Typeclasses.bound", "int_inversion", + "int_typing", + "interpretation_Tm_abs_37a0a4a84a56f18c93c5e050ff3013e0", + "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", + "interpretation_Tm_abs_832f0fe6c37da7dc40003af1526bd23b", + "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "interpretation_Tm_abs_aeb26e9e366b33b01427e92c701e0a70", - "interpretation_Tm_abs_b53dbfd54d613bf634cc12b93726f94a", - "interpretation_Tm_abs_f640c6f28fd1244298abfbdc17bf8ea7", + "interpretation_Tm_abs_e0816c017aa4eeb1f8db67121cfb73a4", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "primitive_tot_fun_Prims.op_Addition", "primitive_tot_fun_Prims.op_Addition.1", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_bound", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_fits", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_lt", - "proj_equation_Typeclasses.Mkbounded_unsigned_int_sub", - "proj_equation_Typeclasses.Mkeq_eq_op", "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_Typeclasses.Mkeq_eq_op", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8aab5cc4f53d4f30b40ce6e16d731077", + "refinement_interpretation_Tm_refine_c87fd7e81b78266e7c4e88b82bffe3f2", "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", "token_correspondence_Prims.op_Addition", "token_correspondence_Typeclasses.bound", "token_correspondence_Typeclasses.eq_op", "token_correspondence_Typeclasses.fits", "token_correspondence_Typeclasses.lt", - "token_correspondence_Typeclasses.sub", - "typing_Typeclasses.__proj__Mkbounded_unsigned_int__item__bound", - "typing_Typeclasses.__proj__Mkbounded_unsigned_int__item__sub" + "token_correspondence_Typeclasses.sub" ], 0, - "0472aba39a6921ec3b2eecab784efe74" + "8a68bf33280d4d59dc2d94eedc5b5e7c" ] ] ] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt.fst.hints b/doc/book/code/TypeclassesAlt.fst.hints index 3f94642d5ae..c2e7b0272b8 100644 --- a/doc/book/code/TypeclassesAlt.fst.hints +++ b/doc/book/code/TypeclassesAlt.fst.hints @@ -1,19 +1,6 @@ [ "ØØø<€\u0012\u0010t³Â\u001d,O«I", [ - [ - "TypeclassesAlt.fits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4ec97a627166001b9f1d156f4151b94f" - ], [ "TypeclassesAlt.bounded_unsigned_int", 1, @@ -21,7 +8,7 @@ 1, [ "@query" ], 0, - "ed55e1adb69c331910f20579e56e47fc" + "fd28ea14b9fcfd40f360f5fabd501a8e" ], [ "TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__properties", @@ -30,7 +17,7 @@ 1, [ "@query" ], 0, - "2ce1f46a3ee5f411cc0a756419953606" + "55c005b342388e91e336e2b6951ad469" ], [ "TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__properties", @@ -39,7 +26,7 @@ 1, [ "@query" ], 0, - "cec5f3fd722c95808b698263885576c6" + "c0af179eb3a12166a6aa2cf2ce43f3cf" ], [ "TypeclassesAlt.ok", @@ -50,14 +37,16 @@ "@MaxIFuel_assumption", "@query", "equation_TypeclassesAlt.as_nat", "equation_TypeclassesAlt.bound", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", "token_correspondence_TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__as_nat", "token_correspondence_TypeclassesAlt.as_nat", "token_correspondence_TypeclassesAlt.bound" ], 0, - "46572185560c100b1672c0381df60a94" + "1970ba854c33266ae2e351051543028e" ], [ "TypeclassesAlt.op_Plus_Hat", @@ -69,9 +58,12 @@ "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", "equation_TypeclassesAlt.ok", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", - "interpretation_Tm_abs_ed8cb77ba19e45adfd0d2cb6d3121c56", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_a04a9ae6caf3701eb9bfa6884ffef318", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", "token_correspondence_TypeclassesAlt.as_nat", "token_correspondence_TypeclassesAlt.bound", "token_correspondence_TypeclassesAlt.fits", @@ -79,7 +71,7 @@ "token_correspondence_TypeclassesAlt.ok" ], 0, - "4de48c35d336140a5768dcbfef0944e7" + "c580e48ae3e96591a0ee176627fa211c" ], [ "TypeclassesAlt.op_Subtraction_Hat", @@ -91,9 +83,12 @@ "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", "equation_TypeclassesAlt.ok", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", - "interpretation_Tm_abs_ed8cb77ba19e45adfd0d2cb6d3121c56", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_a04a9ae6caf3701eb9bfa6884ffef318", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", "token_correspondence_TypeclassesAlt.as_nat", "token_correspondence_TypeclassesAlt.bound", "token_correspondence_TypeclassesAlt.fits", @@ -101,7 +96,7 @@ "token_correspondence_TypeclassesAlt.ok" ], 0, - "49a2e3b64b5533c77c38058d25ee9a0f" + "7b44d57a793cf068d2adc3a2d9328605" ], [ "TypeclassesAlt.op_Star_Hat", @@ -113,9 +108,12 @@ "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", "equation_TypeclassesAlt.ok", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", - "interpretation_Tm_abs_ed8cb77ba19e45adfd0d2cb6d3121c56", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_a04a9ae6caf3701eb9bfa6884ffef318", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", + "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", "token_correspondence_TypeclassesAlt.as_nat", "token_correspondence_TypeclassesAlt.bound", "token_correspondence_TypeclassesAlt.fits", @@ -123,7 +121,7 @@ "token_correspondence_TypeclassesAlt.ok" ], 0, - "e1a8f80b6cce18045edcc7e9334c443d" + "47cad2fc79386aa63c9a19a2167f60f6" ], [ "TypeclassesAlt.u32_instance", @@ -167,7 +165,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "c63f84da955a75c8e1db7366cd8af2e4" + "d5635a2a9a9409a466de8577600926e9" ], [ "TypeclassesAlt.u64_instance", @@ -211,7 +209,7 @@ "typing_FStar.UInt64.sub", "typing_FStar.UInt64.v" ], 0, - "33c90c1d59350a411c04e5598bf0a75d" + "cd0126bf4c6a72f2f25898b50e280770" ], [ "TypeclassesAlt.bounded_unsigned_int_eq", @@ -225,16 +223,14 @@ "equation_Prims.nat", "equation_TypeclassesAlt.lt", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", "int_inversion", - "interpretation_Tm_abs_03c7e19e4c708e02a198b636caabb2cd", - "primitive_Prims.op_Negation", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", "token_correspondence_TypeclassesAlt.lt" ], 0, - "d897ea104e1331abcf6c50aff1d9cf47" + "e4629e6a8a232139ee1cd71f878f76bc" ], [ "TypeclassesAlt.test32", @@ -245,8 +241,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "TypeclassesAlt_interpretation_Tm_arrow_1b6d5700d19e269214362a600eabbf86", "TypeclassesAlt_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "TypeclassesAlt_interpretation_Tm_arrow_89b5bd37a1831a1815c2db5fdcb7395c", + "TypeclassesAlt_interpretation_Tm_arrow_763794115f83c9249d08c75540c77370", "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt.Mkeq", "equation_FStar.UInt.fits", @@ -265,21 +262,17 @@ "function_token_typing_FStar.UInt32.uint_to_t", "function_token_typing_FStar.UInt32.v", "int_inversion", "int_typing", - "interpretation_Tm_abs_03c7e19e4c708e02a198b636caabb2cd", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", "interpretation_Tm_abs_446576731a8898dec12769aef9257757", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", + "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "interpretation_Tm_abs_de5ad13c64f11d93a013cd0101182cf4", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", "lemma_FStar.UInt.pow2_values", "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_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "proj_equation_TypeclassesAlt.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", @@ -288,9 +281,9 @@ "projection_inverse_TypeclassesAlt.Mkeq_eq_op", "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46cadb0df2bb46c0f3fa396bebe83b21", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", + "refinement_interpretation_Tm_refine_a0c83da74d12c18b89f1234f7b9acf62", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", "token_correspondence_FStar.UInt32.lt", @@ -302,14 +295,12 @@ "token_correspondence_TypeclassesAlt.fits", "token_correspondence_TypeclassesAlt.lt", "token_correspondence_TypeclassesAlt.ok", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", - "typing_Tm_abs_446576731a8898dec12769aef9257757", - "typing_TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__bound", + "typing_FStar.UInt32.uint_to_t", "typing_TypeclassesAlt.bound", "typing_TypeclassesAlt.bounded_unsigned_int_eq", "typing_TypeclassesAlt.u32_instance" ], 0, - "bba4be4fb61fe91902a52ca0b1e67825" + "9c1ae9ebbba4d125fc243f5af30fda11" ], [ "TypeclassesAlt.test64", @@ -320,8 +311,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "TypeclassesAlt_interpretation_Tm_arrow_1b6d5700d19e269214362a600eabbf86", "TypeclassesAlt_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "TypeclassesAlt_interpretation_Tm_arrow_ae1c94836c7ac7a2c00c3cdc4d20fe28", + "TypeclassesAlt_interpretation_Tm_arrow_763794115f83c9249d08c75540c77370", "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt.Mkeq", "equation_FStar.UInt.fits", @@ -340,21 +332,17 @@ "function_token_typing_FStar.UInt64.uint_to_t", "function_token_typing_FStar.UInt64.v", "int_inversion", "int_typing", - "interpretation_Tm_abs_03c7e19e4c708e02a198b636caabb2cd", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", + "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", "interpretation_Tm_abs_ad6081024c14bdae20ce85b5cbdef6bd", - "interpretation_Tm_abs_de5ad13c64f11d93a013cd0101182cf4", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.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_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "proj_equation_TypeclassesAlt.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", @@ -365,8 +353,8 @@ "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", + "refinement_interpretation_Tm_refine_a0c83da74d12c18b89f1234f7b9acf62", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f46c9ea6c6f9a7549512227d7126b1a7", "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", "token_correspondence_FStar.UInt64.lt", "token_correspondence_FStar.UInt64.v", @@ -377,14 +365,12 @@ "token_correspondence_TypeclassesAlt.fits", "token_correspondence_TypeclassesAlt.lt", "token_correspondence_TypeclassesAlt.ok", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", - "typing_Tm_abs_ad6081024c14bdae20ce85b5cbdef6bd", - "typing_TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__bound", + "typing_FStar.UInt64.uint_to_t", "typing_TypeclassesAlt.bound", "typing_TypeclassesAlt.bounded_unsigned_int_eq", "typing_TypeclassesAlt.u64_instance" ], 0, - "255d98276f474eb84d92771fc96f186e" + "2f20e9eb95dc659624c59fe06cde051c" ], [ "TypeclassesAlt.try_add", @@ -395,6 +381,8 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "TypeclassesAlt_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt_interpretation_Tm_arrow_423815157aa28d8cb2d865ce645c4df0", + "TypeclassesAlt_interpretation_Tm_arrow_763794115f83c9249d08c75540c77370", "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", "equation_Prims.eqtype", "equation_Prims.nat", "equation_TypeclassesAlt.as_nat", "equation_TypeclassesAlt.bound", @@ -407,22 +395,17 @@ "equation_TypeclassesAlt.op_Subtraction_Hat", "equation_TypeclassesAlt.sub", "equation_TypeclassesAlt.u32_instance", - "interpretation_Tm_abs_03c7e19e4c708e02a198b636caabb2cd", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7ab0986c35653c1ec2115cb668f32f4a", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", + "function_token_typing_TypeclassesAlt.bound", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", + "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "interpretation_Tm_abs_de5ad13c64f11d93a013cd0101182cf4", - "interpretation_Tm_abs_ed8cb77ba19e45adfd0d2cb6d3121c56", + "interpretation_Tm_abs_a04a9ae6caf3701eb9bfa6884ffef318", + "interpretation_Tm_abs_ca15d2be7b11f53f9b734c2aa677b1dd", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_sub", - "proj_equation_TypeclassesAlt.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", @@ -434,9 +417,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", - "token_correspondence_FStar.UInt32.v", "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", "token_correspondence_TypeclassesAlt.as_nat", "token_correspondence_TypeclassesAlt.bound", "token_correspondence_TypeclassesAlt.eq_op", @@ -445,11 +426,10 @@ "token_correspondence_TypeclassesAlt.lt", "token_correspondence_TypeclassesAlt.ok", "token_correspondence_TypeclassesAlt.sub", "typing_FStar.UInt32.t", - "typing_TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__bound", "typing_TypeclassesAlt.u32_instance" ], 0, - "83eb0353a2f7f3129dfb2d533b5648a5" + "e4c826866cd369416a9cdd5d82c6d840" ], [ "TypeclassesAlt.sum", @@ -459,6 +439,8 @@ [ "@MaxIFuel_assumption", "@query", "TypeclassesAlt_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt_interpretation_Tm_arrow_423815157aa28d8cb2d865ce645c4df0", + "TypeclassesAlt_interpretation_Tm_arrow_763794115f83c9249d08c75540c77370", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", @@ -472,23 +454,18 @@ "equation_TypeclassesAlt.op_Subtraction_Hat", "equation_TypeclassesAlt.sub", "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "int_inversion", - "interpretation_Tm_abs_03c7e19e4c708e02a198b636caabb2cd", - "interpretation_Tm_abs_59ebfd4ec54c587e9da54126b0f8911b", - "interpretation_Tm_abs_7ab0986c35653c1ec2115cb668f32f4a", - "interpretation_Tm_abs_7fc4d5347d6a319847ec98a713621098", + "function_token_typing_TypeclassesAlt.bound", "int_inversion", + "int_typing", + "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", + "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", + "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "interpretation_Tm_abs_de5ad13c64f11d93a013cd0101182cf4", - "interpretation_Tm_abs_ed8cb77ba19e45adfd0d2cb6d3121c56", + "interpretation_Tm_abs_a04a9ae6caf3701eb9bfa6884ffef318", + "interpretation_Tm_abs_ca15d2be7b11f53f9b734c2aa677b1dd", + "interpretation_Tm_abs_dc0c893800c6f61c0dce3fdcc71cbe56", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "proj_equation_TypeclassesAlt.Mkbounded_unsigned_int_sub", - "proj_equation_TypeclassesAlt.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -505,11 +482,10 @@ "token_correspondence_TypeclassesAlt.from_nat", "token_correspondence_TypeclassesAlt.lt", "token_correspondence_TypeclassesAlt.ok", - "token_correspondence_TypeclassesAlt.sub", - "typing_TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__bound" + "token_correspondence_TypeclassesAlt.sub" ], 0, - "e42a3231b0b73e993a89226fb0f31c66" + "96398e9b10d9a72cf7c7c2e28aa370e5" ] ] ] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt2.fst.hints b/doc/book/code/TypeclassesAlt2.fst.hints index c2e1078e767..d0a6fd3a213 100644 --- a/doc/book/code/TypeclassesAlt2.fst.hints +++ b/doc/book/code/TypeclassesAlt2.fst.hints @@ -8,20 +8,7 @@ 1, [ "@query" ], 0, - "d04c99a62239822c82d2c5c220fe7d9b" - ], - [ - "TypeclassesAlt2.fits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "673abcb077054e7b0a2f72e8415dd443" + "9a18b6da0d1d5a2037187e7a84fda7ee" ], [ "TypeclassesAlt2.related_ops", @@ -30,7 +17,7 @@ 1, [ "@query" ], 0, - "a3ab14088f8411a13f3f2b05bc5ad2ca" + "93a6b19e1027e4ff4e43e286731946b2" ], [ "TypeclassesAlt2.try_sub", @@ -48,7 +35,7 @@ "refinement_interpretation_Tm_refine_50e6ea6e9727dfa5ba1ef704d5717e6c" ], 0, - "062e95200cad4df884c18ab9053f702b" + "062a22b2742c7226606f02f8ecb51cdd" ], [ "TypeclassesAlt2.u32_instance_base", @@ -74,7 +61,7 @@ "typing_FStar.UInt32.v" ], 0, - "db37b6563f388c1b3697b772cb2c0e9d" + "6dac8d2155c429a96f4c433609bbe8f7" ], [ "TypeclassesAlt2.u32_instance_add", @@ -86,8 +73,9 @@ "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", - "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", + "TypeclassesAlt2_interpretation_Tm_arrow_aec3f1abc8dc72a09d86f987dba8fd93", + "TypeclassesAlt2_interpretation_Tm_arrow_f7ad0df9db00444323df58f1c171261d", + "b2t_def", "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", "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", @@ -95,13 +83,12 @@ "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", "equation_TypeclassesAlt2.u32_instance_base", "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_5679ecd7ec070d48990640a511e7bd03", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", + "function_token_typing_FStar.UInt32.v", + "function_token_typing_TypeclassesAlt2.bound", + "interpretation_Tm_abs_959f509f4496f38d51155de31729b03d", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", @@ -115,13 +102,11 @@ "token_correspondence_Prims.op_Addition", "token_correspondence_TypeclassesAlt2.as_nat", "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", - "typing_TypeclassesAlt2.__proj__Mkbounded_unsigned_int__item__bound", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", "typing_TypeclassesAlt2.u32_instance_base" ], 0, - "620905e4327d853124e3f82c423f36e6" + "b36138eb66fa528dafba5dde68ce92b7" ], [ "TypeclassesAlt2.u32_instance_sub", @@ -133,27 +118,28 @@ "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", - "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", + "TypeclassesAlt2_interpretation_Tm_arrow_aec3f1abc8dc72a09d86f987dba8fd93", + "TypeclassesAlt2_interpretation_Tm_arrow_f7ad0df9db00444323df58f1c171261d", + "b2t_def", "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", "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_TypeclassesAlt2.as_nat", "equation_TypeclassesAlt2.bound", - "equation_TypeclassesAlt2.fits", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", + "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", "equation_TypeclassesAlt2.u32_instance_base", - "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_5679ecd7ec070d48990640a511e7bd03", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", + "function_token_typing_FStar.UInt32.v", + "function_token_typing_TypeclassesAlt2.bound", + "interpretation_Tm_abs_959f509f4496f38d51155de31729b03d", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "refinement_interpretation_Tm_refine_0ab24436007e2794259ffb4001ee8c45", "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", @@ -161,11 +147,11 @@ "token_correspondence_Prims.op_Subtraction", "token_correspondence_TypeclassesAlt2.as_nat", "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", "typing_TypeclassesAlt2.u32_instance_base" ], 0, - "b0182e5d4cc07ffefd3beeddee77c12a" + "b6aa00b8cef806cd80136683483f9524" ], [ "TypeclassesAlt2.u32_instance_cmp", @@ -177,15 +163,13 @@ "equation_TypeclassesAlt2.as_nat", "equation_TypeclassesAlt2.u32_instance_base", "function_token_typing_FStar.UInt32.v", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", - "primitive_Prims.op_LessThan", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", "token_correspondence_TypeclassesAlt2.as_nat" ], 0, - "9633f930ef148aaec102706243423635" + "1e6d0391c10fcf75ef098e9f3e85ffd4" ], [ "TypeclassesAlt2.u64_instance_base", @@ -211,7 +195,7 @@ "typing_FStar.UInt64.v" ], 0, - "e0d7165b8cf03301385f614760a0f714" + "a4cea0bb29e7a4674e7f1deaf9abb789" ], [ "TypeclassesAlt2.u64_instance_add", @@ -223,8 +207,9 @@ "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", - "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", + "TypeclassesAlt2_interpretation_Tm_arrow_aec3f1abc8dc72a09d86f987dba8fd93", + "TypeclassesAlt2_interpretation_Tm_arrow_f7ad0df9db00444323df58f1c171261d", + "b2t_def", "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", "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", @@ -232,13 +217,12 @@ "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", "equation_TypeclassesAlt2.u64_instance_base", "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_typing", - "interpretation_Tm_abs_5679ecd7ec070d48990640a511e7bd03", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", + "function_token_typing_FStar.UInt64.v", + "function_token_typing_TypeclassesAlt2.bound", + "interpretation_Tm_abs_959f509f4496f38d51155de31729b03d", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", @@ -252,13 +236,11 @@ "token_correspondence_Prims.op_Addition", "token_correspondence_TypeclassesAlt2.as_nat", "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt.fits", "typing_FStar.UInt64.add", - "typing_FStar.UInt64.t", - "typing_TypeclassesAlt2.__proj__Mkbounded_unsigned_int__item__bound", + "typing_FStar.UInt64.add", "typing_FStar.UInt64.t", "typing_TypeclassesAlt2.u64_instance_base" ], 0, - "98b698c4bd12819b527ce25aa40b2e8c" + "665f7d6e77b3a84d8abf8fc4c9ea7ac5" ], [ "TypeclassesAlt2.u64_instance_sub", @@ -270,27 +252,28 @@ "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", - "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", + "TypeclassesAlt2_interpretation_Tm_arrow_aec3f1abc8dc72a09d86f987dba8fd93", + "TypeclassesAlt2_interpretation_Tm_arrow_f7ad0df9db00444323df58f1c171261d", + "b2t_def", "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", "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_TypeclassesAlt2.as_nat", "equation_TypeclassesAlt2.bound", - "equation_TypeclassesAlt2.fits", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", + "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", "equation_TypeclassesAlt2.u64_instance_base", - "function_token_typing_FStar.UInt64.v", "int_typing", - "interpretation_Tm_abs_5679ecd7ec070d48990640a511e7bd03", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", + "function_token_typing_FStar.UInt64.v", + "function_token_typing_TypeclassesAlt2.bound", + "interpretation_Tm_abs_959f509f4496f38d51155de31729b03d", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "refinement_interpretation_Tm_refine_213aea8b9dc20a1f76dd7e717ea21ec8", "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4db8ba22c4504a66577a2159dcc603cd", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", @@ -298,11 +281,11 @@ "token_correspondence_Prims.op_Subtraction", "token_correspondence_TypeclassesAlt2.as_nat", "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt.fits", "typing_FStar.UInt64.sub", + "typing_FStar.UInt64.sub", "typing_FStar.UInt64.t", "typing_FStar.UInt64.v", "typing_TypeclassesAlt2.u64_instance_base" ], 0, - "0d5bf42b3d850b1c4cd0059111168893" + "8e08d1f90219986aa6cbc6d8743c7c04" ], [ "TypeclassesAlt2.u64_instance_cmp", @@ -314,15 +297,13 @@ "equation_TypeclassesAlt2.as_nat", "equation_TypeclassesAlt2.u64_instance_base", "function_token_typing_FStar.UInt64.v", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", - "primitive_Prims.op_LessThan", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", "token_correspondence_TypeclassesAlt2.as_nat" ], 0, - "84e07333a9787c5527ef76d74e53eca3" + "a13f60e66bf8f4de092c470f0a5313c7" ], [ "TypeclassesAlt2.sum", @@ -332,6 +313,8 @@ [ "@MaxIFuel_assumption", "@query", "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt2_interpretation_Tm_arrow_aec3f1abc8dc72a09d86f987dba8fd93", + "TypeclassesAlt2_interpretation_Tm_arrow_f7ad0df9db00444323df58f1c171261d", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_TypeclassesAlt2.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int", @@ -344,19 +327,15 @@ "fuel_guarded_inversion_TypeclassesAlt2.bounded_unsigned_int", "fuel_guarded_inversion_TypeclassesAlt2.comparable_bounded_unsigned_int", "fuel_guarded_inversion_TypeclassesAlt2.subtractable_bounded_unsigned_int", - "int_inversion", - "interpretation_Tm_abs_5679ecd7ec070d48990640a511e7bd03", - "interpretation_Tm_abs_672f1c67f6b7dde7fa028661a21760ed", - "interpretation_Tm_abs_a189805be438b227dce5a27f51c2b008", - "interpretation_Tm_abs_efc46ff4d65440c85df7e6e4e0e9db53", + "function_token_typing_TypeclassesAlt2.bound", "int_inversion", + "interpretation_Tm_abs_489d27e10e17a50973e77602543da33a", + "interpretation_Tm_abs_959f509f4496f38d51155de31729b03d", + "interpretation_Tm_abs_e01e21eb4369d1097d7248d947d2bb01", + "interpretation_Tm_abs_e023cb9fd727cfa8867bbc9b2a65461e", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt2.Mkbounded_unsigned_int_bound", "proj_equation_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_comp", "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_sub", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", @@ -370,11 +349,10 @@ "token_correspondence_TypeclassesAlt2.bound", "token_correspondence_TypeclassesAlt2.comp", "token_correspondence_TypeclassesAlt2.sub", - "typing_TypeclassesAlt2.__proj__Mkbounded_unsigned_int__item__bound", "typing_TypeclassesAlt2.__proj__Mksubtractable_bounded_unsigned_int__item__base" ], 0, - "128e9f2ae50400765d89d237704cd8e0" + "39e6cdcbaedddd6f0d913583e22a210a" ], [ "TypeclassesAlt2.testsum32", @@ -393,7 +371,7 @@ "projection_inverse_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base" ], 0, - "6c9caf0d4011e34510f20d505359845e" + "6586a5538e8dfa41c7e2a6f033e66115" ], [ "TypeclassesAlt2.testsum64", @@ -412,7 +390,7 @@ "projection_inverse_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base" ], 0, - "a90121379fe11c1da814a6dfdc1aede4" + "b417b9d88831531c5566c8f6090339bd" ], [ "TypeclassesAlt2.try_sub3", @@ -431,7 +409,7 @@ "typing_TypeclassesAlt2.__base_sub" ], 0, - "521bb83616063178c7bf2746cfa5d9f9" + "285c93dc9f9dd83423d37f2ada340d6e" ] ] ] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt3.fst.hints b/doc/book/code/TypeclassesAlt3.fst.hints index e739c44d682..2e85bb838a9 100644 --- a/doc/book/code/TypeclassesAlt3.fst.hints +++ b/doc/book/code/TypeclassesAlt3.fst.hints @@ -8,20 +8,7 @@ 1, [ "@query" ], 0, - "0c51e5d46b5b625e2bd42dc30a87ada8" - ], - [ - "TypeclassesAlt3.fits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2b5b9e1997654de0f232e1ffbaff056e" + "91143f09b320149fd3db166392b75040" ], [ "TypeclassesAlt3.related_ops", @@ -30,7 +17,7 @@ 1, [ "@query" ], 0, - "ac5d57dd0a52abee9b4f5e4aff706db8" + "7ef491194d4f2fce947b75f93898c6dd" ], [ "TypeclassesAlt3.op_Plus_Hat", @@ -39,7 +26,7 @@ 1, [ "@query", "equation_TypeclassesAlt3.ops_base" ], 0, - "6a705e12e51731a0cad82c0d90ab1d33" + "70f9edff41f8bd46f853ee4e4ef364ed" ], [ "TypeclassesAlt3.op_Subtraction_Hat", @@ -48,7 +35,7 @@ 1, [ "@query", "equation_TypeclassesAlt3.ops_base" ], 0, - "fba0bdfc08eedbcbde79d34ffd152a4b" + "09f9afb589b40e5cd257c910621b18a9" ], [ "TypeclassesAlt3.bounded_unsigned_int_ops_eq", @@ -58,6 +45,8 @@ [ "@MaxIFuel_assumption", "@query", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt3_interpretation_Tm_arrow_601e01d053bdf88869cdca0976a6e006", + "TypeclassesAlt3_interpretation_Tm_arrow_fb69d7c728809d59b86977279a39b019", "TypeclassesAlt3_pretyping_25108e5fd216ad5a7b567ee80965da91", "bool_inversion", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", @@ -66,26 +55,21 @@ "equation_TypeclassesAlt3.op_Less_Hat", "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int", "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int_ops", - "int_inversion", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", - "primitive_Prims.op_Negation", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "projection_inverse_BoxBool_proj_0", + "function_token_typing_TypeclassesAlt3.as_nat", "int_inversion", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_TypeclassesAlt3.as_nat", "token_correspondence_TypeclassesAlt3.bound", "token_correspondence_TypeclassesAlt3.lt", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__as_nat", "typing_TypeclassesAlt3.op_Less_Hat" ], 0, - "a63f2cfb76f863d559419b40e1456bf8" + "1845a53414ba9b1aa4d18a5a925d419f" ], [ "TypeclassesAlt3.u32_instance_base", @@ -111,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "e94b4cb30dfe7eb0367ee0ecc5d13287" + "25f2af78ed89575c6cb3ccc51e90b459" ], [ "TypeclassesAlt3.u32_instance_ops", @@ -123,28 +107,30 @@ "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "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.eqtype", - "equation_Prims.nat", "equation_TypeclassesAlt3.as_nat", - "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.fits", + "defn_equation_TypeclassesAlt3.fits", "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.eqtype", "equation_Prims.nat", + "equation_TypeclassesAlt3.as_nat", "equation_TypeclassesAlt3.bound", + "equation_TypeclassesAlt3.fits", "equation_TypeclassesAlt3.related_ops", "equation_TypeclassesAlt3.u32_instance_base", "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", + "function_token_typing_FStar.UInt32.v", + "function_token_typing_TypeclassesAlt3.bound", "int_typing", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_f3fd0234f45e7964fa30a5f3e031df23", "interpretation_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "l_and-interp", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", @@ -164,12 +150,10 @@ "token_correspondence_TypeclassesAlt3.bound", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", - "typing_TypeclassesAlt3.u32_instance_base" + "typing_FStar.UInt32.v", "typing_TypeclassesAlt3.u32_instance_base" ], 0, - "f91f564f96dd01c364ced5ee1016726e" + "7c18ec4015e5f1789e3939dc0947968f" ], [ "TypeclassesAlt3.u64_instance_base", @@ -195,7 +179,7 @@ "typing_FStar.UInt64.v" ], 0, - "978d783208be13edfa596477a3034091" + "5981f3c8b5a6a37d23e462d7e3332bf8" ], [ "TypeclassesAlt3.u64_instance_ops", @@ -207,28 +191,30 @@ "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "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", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_TypeclassesAlt3.as_nat", - "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.fits", + "defn_equation_TypeclassesAlt3.fits", "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", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_TypeclassesAlt3.as_nat", "equation_TypeclassesAlt3.bound", + "equation_TypeclassesAlt3.fits", "equation_TypeclassesAlt3.related_ops", "equation_TypeclassesAlt3.u64_instance_base", "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_typing", + "function_token_typing_FStar.UInt64.v", + "function_token_typing_TypeclassesAlt3.bound", "int_typing", "interpretation_Tm_abs_673d47be29ccf7d513a42b9efea90c75", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_cf9bf7398f38f52869a19e869749a638", - "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "l_and-interp", "lemma_FStar.UInt64.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", @@ -248,12 +234,10 @@ "token_correspondence_TypeclassesAlt3.bound", "typing_FStar.UInt.fits", "typing_FStar.UInt64.add", "typing_FStar.UInt64.sub", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", - "typing_TypeclassesAlt3.u64_instance_base" + "typing_FStar.UInt64.v", "typing_TypeclassesAlt3.u64_instance_base" ], 0, - "5adc99c9ac8de76934c621e2bd46e59d" + "7568d6bae8445e27ebade7f962809bf7" ], [ "TypeclassesAlt3.test32", @@ -267,11 +251,14 @@ "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", "TypeclassesAlt3_interpretation_Tm_arrow_0798320bcf7a9eb49616d1499c4f73d0", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", "TypeclassesAlt3_interpretation_Tm_arrow_e39760cfad7003621964de2f9cacf90f", "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", - "data_elim_TypeclassesAlt3.Mkeq", "equation_FStar.UInt.fits", + "data_elim_TypeclassesAlt3.Mkeq", + "defn_equation_TypeclassesAlt3.fits", "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", @@ -288,24 +275,20 @@ "equation_TypeclassesAlt3.u32_instance_base", "equation_TypeclassesAlt3.u32_instance_ops", "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", - "interpretation_Tm_abs_3fa879d644dce1588b5e4385fcd458d8", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", + "function_token_typing_FStar.UInt32.v", + "function_token_typing_TypeclassesAlt3.bound", "int_typing", + "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", "interpretation_Tm_abs_d5feaa0fcd0a4749d03a228af3ad5a12", - "interpretation_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", - "lemma_FStar.UInt.pow2_values", "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_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", + "l_and-interp", "lemma_FStar.UInt.pow2_values", + "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_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "proj_equation_TypeclassesAlt3.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", @@ -331,13 +314,12 @@ "token_correspondence_TypeclassesAlt3.lt", "typing_FStar.UInt.fits", "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", "typing_TypeclassesAlt3.bounded_unsigned_int_ops_eq", "typing_TypeclassesAlt3.u32_instance_base", "typing_TypeclassesAlt3.u32_instance_ops" ], 0, - "9490a4cd5782612b6f265bc91b8848f6" + "b4aba1081fdfbed0a54b274715f88cd7" ], [ "TypeclassesAlt3.test64", @@ -351,11 +333,14 @@ "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", "TypeclassesAlt3_interpretation_Tm_arrow_0798320bcf7a9eb49616d1499c4f73d0", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", "TypeclassesAlt3_interpretation_Tm_arrow_e39760cfad7003621964de2f9cacf90f", "b2t_def", "bool_inversion", "bool_typing", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", - "data_elim_TypeclassesAlt3.Mkeq", "equation_FStar.UInt.fits", + "data_elim_TypeclassesAlt3.Mkeq", + "defn_equation_TypeclassesAlt3.fits", "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", @@ -372,24 +357,20 @@ "equation_TypeclassesAlt3.u64_instance_base", "equation_TypeclassesAlt3.u64_instance_ops", "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_typing", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", + "function_token_typing_FStar.UInt64.v", + "function_token_typing_TypeclassesAlt3.bound", "int_typing", + "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", "interpretation_Tm_abs_3e3b9311a9431e9e288ede6bb09660b7", - "interpretation_Tm_abs_3fa879d644dce1588b5e4385fcd458d8", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", - "interpretation_Tm_abs_cf9bf7398f38f52869a19e869749a638", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.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_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", + "l_and-interp", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt64.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_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "proj_equation_TypeclassesAlt3.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", @@ -415,13 +396,12 @@ "token_correspondence_TypeclassesAlt3.lt", "typing_FStar.UInt.fits", "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", "typing_TypeclassesAlt3.bounded_unsigned_int_ops_eq", "typing_TypeclassesAlt3.u64_instance_base", "typing_TypeclassesAlt3.u64_instance_ops" ], 0, - "45452e2785fc59edf751c82ece77d05d" + "7aee9796f813684d206001c7392013c4" ], [ "TypeclassesAlt3.sum", @@ -430,10 +410,11 @@ 1, [ "@MaxIFuel_assumption", "@query", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", "disc_equation_FStar.Pervasives.Native.Some", - "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.bounded_unsigned_int_ops_eq", "equation_TypeclassesAlt3.eq_op", "equation_TypeclassesAlt3.fits", "equation_TypeclassesAlt3.lt", @@ -446,18 +427,15 @@ "equation_TypeclassesAlt3.sub", "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int", "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int_ops", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", - "interpretation_Tm_abs_3fa879d644dce1588b5e4385fcd458d8", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_c8cbe2001b8dedca24196a873552fb35", + "function_token_typing_TypeclassesAlt3.bound", + "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", + "interpretation_Tm_abs_e6081e9124b615ccbfdd7d765598f17f", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_sub", - "proj_equation_TypeclassesAlt3.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -466,15 +444,13 @@ "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.bound", "token_correspondence_TypeclassesAlt3.eq_op", "token_correspondence_TypeclassesAlt3.lt", "token_correspondence_TypeclassesAlt3.sub", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int_ops__item__base" + "typing_TypeclassesAlt3.ops_base" ], 0, - "27d673b574705310178b0386ef61bf64" + "31f3e7a4b65cb63f2d61e87b073d781d" ], [ "TypeclassesAlt3.testsum32", @@ -488,11 +464,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", "TypeclassesAlt3_interpretation_Tm_arrow_0798320bcf7a9eb49616d1499c4f73d0", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", "TypeclassesAlt3_interpretation_Tm_arrow_3bff42d2a398859551f0ad999230b94a", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", + "TypeclassesAlt3_interpretation_Tm_arrow_ec5432d4dfcc00717986e88d134f2e05", + "TypeclassesAlt3_interpretation_Tm_arrow_f379b7b674d02b99bbbb41c8ad948367", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -512,7 +490,8 @@ "equation_TypeclassesAlt3.add", "equation_TypeclassesAlt3.as_nat", "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "equation_TypeclassesAlt3.eq_op", "equation_TypeclassesAlt3.lt", + "equation_TypeclassesAlt3.eq_op", "equation_TypeclassesAlt3.fits", + "equation_TypeclassesAlt3.lt", "equation_TypeclassesAlt3.op_Equals_Question_Equals", "equation_TypeclassesAlt3.op_Less_Equals_Hat", "equation_TypeclassesAlt3.op_Less_Hat", @@ -525,18 +504,20 @@ "equation_TypeclassesAlt3.u32_instance_ops", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_inversion", + "function_token_typing_FStar.UInt32.v", + "function_token_typing_TypeclassesAlt3.bound", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", - "interpretation_Tm_abs_3fa879d644dce1588b5e4385fcd458d8", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", + "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", + "interpretation_Tm_abs_680421603b8231aeb5df55377597351e", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", "interpretation_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "interpretation_Tm_abs_b65bf9fbeb42f85be01a3113615d3878", - "interpretation_Tm_abs_c8cbe2001b8dedca24196a873552fb35", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", "interpretation_Tm_abs_d5feaa0fcd0a4749d03a228af3ad5a12", + "interpretation_Tm_abs_e6081e9124b615ccbfdd7d765598f17f", "interpretation_Tm_abs_f3fd0234f45e7964fa30a5f3e031df23", "interpretation_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", "kinding_FStar.Pervasives.Native.option@tok", @@ -545,16 +526,8 @@ "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", - "primitive_tot_fun_Prims.op_Subtraction", - "primitive_tot_fun_Prims.op_Subtraction.1", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_add", + "primitive_Prims.op_Subtraction", "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_sub", - "proj_equation_TypeclassesAlt3.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -576,11 +549,13 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b681f7b81ab364dd50c90f82bcab271d", "refinement_interpretation_Tm_refine_bcaef16606f8ccd1707ea17949cf35e1", "refinement_interpretation_Tm_refine_e212dd5016d8c2faf158ab100789ce12", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "token_correspondence_FStar.UInt32.v", + "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_Subtraction", "token_correspondence_Prims.pow2.fuel_instrumented", "token_correspondence_TypeclassesAlt3.add", @@ -593,7 +568,7 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", "typing_Prims.pow2", "typing_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", + "typing_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", "typing_TypeclassesAlt3.op_Less_Hat", "typing_TypeclassesAlt3.op_Subtraction_Hat", "typing_TypeclassesAlt3.sum", @@ -601,7 +576,7 @@ "typing_TypeclassesAlt3.u32_instance_ops" ], 0, - "94e97ce6cb7f79e3f7172c5abbf68111" + "0df5f00ee37a5ee7fc420fb7940f1409" ], [ "TypeclassesAlt3.testsum64", @@ -615,11 +590,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", "TypeclassesAlt3_interpretation_Tm_arrow_0798320bcf7a9eb49616d1499c4f73d0", "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", "TypeclassesAlt3_interpretation_Tm_arrow_3bff42d2a398859551f0ad999230b94a", + "TypeclassesAlt3_interpretation_Tm_arrow_504aba56c7e5b381432fe62e56170f07", + "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", + "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", + "TypeclassesAlt3_interpretation_Tm_arrow_f379b7b674d02b99bbbb41c8ad948367", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -639,7 +616,8 @@ "equation_TypeclassesAlt3.add", "equation_TypeclassesAlt3.as_nat", "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "equation_TypeclassesAlt3.eq_op", "equation_TypeclassesAlt3.lt", + "equation_TypeclassesAlt3.eq_op", "equation_TypeclassesAlt3.fits", + "equation_TypeclassesAlt3.lt", "equation_TypeclassesAlt3.op_Equals_Question_Equals", "equation_TypeclassesAlt3.op_Less_Equals_Hat", "equation_TypeclassesAlt3.op_Less_Hat", @@ -652,36 +630,29 @@ "equation_TypeclassesAlt3.u64_instance_ops", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_inversion", + "function_token_typing_FStar.UInt64.v", + "function_token_typing_TypeclassesAlt3.bound", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f636f040ed0e732097b29334e72536e", + "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", "interpretation_Tm_abs_3e3b9311a9431e9e288ede6bb09660b7", - "interpretation_Tm_abs_3fa879d644dce1588b5e4385fcd458d8", "interpretation_Tm_abs_673d47be29ccf7d513a42b9efea90c75", - "interpretation_Tm_abs_6b7617bb6d6bbf968f98fe3f4e47cc86", - "interpretation_Tm_abs_7dde5dcb34fe9b8b70e0eae05e44688a", + "interpretation_Tm_abs_680421603b8231aeb5df55377597351e", + "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", "interpretation_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "interpretation_Tm_abs_b65bf9fbeb42f85be01a3113615d3878", - "interpretation_Tm_abs_c8cbe2001b8dedca24196a873552fb35", - "interpretation_Tm_abs_cf9bf7398f38f52869a19e869749a638", + "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", + "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", + "interpretation_Tm_abs_e6081e9124b615ccbfdd7d765598f17f", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.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", - "primitive_tot_fun_Prims.op_Subtraction", - "primitive_tot_fun_Prims.op_Subtraction.1", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_add", + "primitive_Prims.op_Subtraction", "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_sub", - "proj_equation_TypeclassesAlt3.Mkeq_eq_op", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -702,12 +673,13 @@ "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b681f7b81ab364dd50c90f82bcab271d", "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", "refinement_interpretation_Tm_refine_bcaef16606f8ccd1707ea17949cf35e1", - "refinement_interpretation_Tm_refine_e212dd5016d8c2faf158ab100789ce12", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "token_correspondence_FStar.UInt64.v", + "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_Subtraction", "token_correspondence_Prims.pow2.fuel_instrumented", "token_correspondence_TypeclassesAlt3.add", @@ -720,15 +692,13 @@ "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2", "typing_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "typing_TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__bound", - "typing_TypeclassesAlt3.op_Less_Hat", - "typing_TypeclassesAlt3.op_Subtraction_Hat", - "typing_TypeclassesAlt3.sum", + "typing_Tm_abs_cf9bf7398f38f52869a19e869749a638", + "typing_TypeclassesAlt3.op_Less_Hat", "typing_TypeclassesAlt3.sum", "typing_TypeclassesAlt3.u64_instance_base", "typing_TypeclassesAlt3.u64_instance_ops" ], 0, - "27b47e39bd735d046fa10f0276403206" + "371b8824a230f46d6afb1d4a9c0766fa" ], [ "TypeclassesAlt3.testsum32'", @@ -737,7 +707,7 @@ 1, [ "@query" ], 0, - "5303b766f64446b68e804515ec3b935f" + "0364b1a2672ef4b6181d35410fd56065" ] ] ] \ No newline at end of file diff --git a/doc/book/code/UInt32.fst.hints b/doc/book/code/UInt32.fst.hints index 61ed71b0dc8..721244eb9ca 100644 --- a/doc/book/code/UInt32.fst.hints +++ b/doc/book/code/UInt32.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "51eec8c0c5180e9ea302db0a70b3c99e" + "add506390ffff1980fa8018212182c9a" ], [ "UInt32.max", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ba758e942ffdd3a9e757e578a6d69d47" + "2c169b6d949c0ca02bfbd459633a98b5" ], [ "UInt32.v", @@ -36,7 +36,7 @@ 1, [ "@query", "equation_UInt32.max", "equation_UInt32.n" ], 0, - "3a58b7c0911f938a38d40a7128c0171f" + "c0ca47bcfc6d993820ca58afa9478ded" ], [ "UInt32.u", @@ -45,7 +45,7 @@ 1, [ "@query", "equation_UInt32.max", "equation_UInt32.n" ], 0, - "c17886fb3264bfe78fc87a2375cdff7f" + "971a7e9421e9a0c1d41c6b668929620d" ], [ "UInt32.uv_inv", @@ -54,7 +54,7 @@ 1, [ "@query", "equation_UInt32.u", "equation_UInt32.v" ], 0, - "0095be704963d56bb24739911ac26083" + "ec028ebdbe1477d7323f140a596de1e2" ], [ "UInt32.vu_inv", @@ -63,7 +63,7 @@ 1, [ "@query", "equation_UInt32.u", "equation_UInt32.v" ], 0, - "1af8768afe5b0f7589e80d920ac2c328" + "6b582b021c0d24e78e0bde65a263be21" ], [ "UInt32.add_mod", @@ -72,7 +72,7 @@ 1, [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], 0, - "b008328e498cfa6a85ff2a203716ad2c" + "03a31fd33e619b927824646421e11f20" ], [ "UInt32.add_mod", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" ], 0, - "f8d88d4a79dcecda36861dc739660f9b" + "f0b68170ba8adcbccef6be7429c82893" ], [ "UInt32.sub_mod", @@ -100,7 +100,7 @@ 1, [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], 0, - "3db99dfc1f52ad944080cc3a0cba36d8" + "d93963f256a2fdde14c7aab382f08d70" ], [ "UInt32.sub_mod", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" ], 0, - "ae4730dbbbb9a7923d1c03b31128f1dd" + "c8bd9da3c261a0dd0d4a0abfe8487e46" ], [ "UInt32.add", @@ -134,7 +134,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "bf61df8fc9d9a18493a39fa07fdf2f39" + "fa6d0b2119fc181742c6d39592d04463" ], [ "UInt32.sub", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_7e6121326cfe7d9052697ff77b791937" ], 0, - "9c9b5bd61b8e4e400dd430fa261a69b8" + "b023306097b12b17ee74924a5c44cad3" ] ] ] \ No newline at end of file diff --git a/doc/book/code/UInt32.fsti.hints b/doc/book/code/UInt32.fsti.hints index 9ea99962add..7cf3c1b0ee5 100644 --- a/doc/book/code/UInt32.fsti.hints +++ b/doc/book/code/UInt32.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "594e76540cb67558dfa65852a4787f23" + "7407e1766c25820b9046eedcbc83e5f8" ], [ "UInt32.add_mod", @@ -22,7 +22,7 @@ 1, [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], 0, - "10ce9047c88859bee09b71ff5add6c42" + "5f224d0534cc609e90ff6da5f4fc2c9e" ], [ "UInt32.sub_mod", @@ -31,7 +31,7 @@ 1, [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], 0, - "2c82dc030192b4a8d06829637a2e478f" + "8b33b00f51a5cc966c657bde2f6ec40d" ] ] ] \ No newline at end of file diff --git a/doc/book/code/UInt32BV.fst.hints b/doc/book/code/UInt32BV.fst.hints index 1803ce759b9..47181e9bd2e 100644 --- a/doc/book/code/UInt32BV.fst.hints +++ b/doc/book/code/UInt32BV.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1f120604ddf7bc98e4067cc101dd1c2f" + "79f79aaa7f43e8c9f2c11d4288cbfafb" ], [ "UInt32BV.v", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "005813ba624d4032f5c655429ea0cad8" + "ba6fda36c1d7c1a3e962c6a5c2a91111" ], [ "UInt32BV.u", @@ -45,7 +45,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c0dc5cdc5356bcd06e3f2f1ca09ca346" + "30ec7f6b8eaff78b1a3fb97550584e64" ], [ "UInt32BV.sym", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "6f7d7c95cf10d61607f40f53f0f37ce4" + "e6c6dc5929ba17567a44c23ab803cda5" ], [ "UInt32BV.dec_eq", @@ -63,7 +63,7 @@ 1, [ "@query" ], 0, - "c2efb8fd51e00759d536fb77cd5bdee7" + "0340b640e121cecf0d8bfb4fb27ef1be" ], [ "UInt32BV.uv_inv", @@ -72,7 +72,7 @@ 1, [ "@query", "true_interp" ], 0, - "4a4bc77c4a6d50941d3f39ad1f894ba1" + "be2a792eb53edb65c922a02ed63e6f2c" ], [ "UInt32BV.ty", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_c1d4dc93ea6cce0512d2f8b84fba6607" ], 0, - "13d5074e3f767a8427aae0fcf9049315" + "69c414db0aefe725d92a00c0e536ea7a" ], [ "UInt32BV.vu_inv", @@ -100,7 +100,7 @@ 1, [ "@query", "true_interp" ], 0, - "a6856abba87a07a946b0d65477eb6f39" + "9b45ec459ea4f3d06c3fdc723259dd2f" ], [ "UInt32BV.vu_inv", @@ -116,7 +116,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "267065bb212377acf8d389ea16b2a0e5" + "fdae4b97273ef58bbe117d060da44169" ], [ "UInt32BV.vu_inv", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cb866fe351a8eedcdf15e13af20f24d2" + "41a68998fe300e2c0ce24cf87e7fa3c1" ], [ "UInt32BV.vu_inv", @@ -146,7 +146,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "267065bb212377acf8d389ea16b2a0e5" + "fdae4b97273ef58bbe117d060da44169" ], [ "UInt32BV.vu_inv", @@ -165,7 +165,7 @@ "typing_UInt32BV.u", "typing_UInt32BV.v" ], 0, - "8b034572135ec85784f099c59c4ebd4b" + "a85a4f2a359099722a0d11b1034fbec2" ], [ "UInt32BV.vu_inv", @@ -181,7 +181,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "267065bb212377acf8d389ea16b2a0e5" + "fdae4b97273ef58bbe117d060da44169" ], [ "UInt32BV.vu_inv", @@ -197,7 +197,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "65131f294fa8c38e1c1c2024c5881f4c" + "a0ddaf5bb6af4cb069f3831fae9dede9" ], [ "UInt32BV.add_mod", @@ -206,7 +206,7 @@ 1, [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], 0, - "a4f8b5e81b78d5f4d905733479d91c9e" + "04ec8d0bc1cee0571b1630595e6fd3b4" ], [ "UInt32BV.add_mod", @@ -228,7 +228,7 @@ "true_interp", "typing_UInt32BV.v" ], 0, - "58eab72dd3765241d7699f5a41198c31" + "0b483a6b4439b1916b8e137fa13aa4c4" ], [ "UInt32BV.add_mod", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "107f342f3e940f0a14f9f22e8414e479" + "c019a89b051f7d76992f4824a9972ac7" ], [ "UInt32BV.add_mod", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "eaa8cdfd784c41dd2dc126f90ce38323" + "5cb61e47c1b2b673922f90e65e9af951" ], [ "UInt32BV.sub_mod", @@ -263,7 +263,7 @@ 1, [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], 0, - "4c4c468fa0a618d14f4d1859cbd2d4eb" + "003832f64f0617a2c4469e17b602d958" ], [ "UInt32BV.sub_mod", @@ -285,7 +285,7 @@ "true_interp", "typing_UInt32BV.v" ], 0, - "99e8f32c4c8d809cd4d171862199a883" + "6424c3080493cd992188566840695456" ], [ "UInt32BV.sub_mod", @@ -298,7 +298,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "ae7c5e933bdb0cfbdb22b1cf4f8be56f" + "05a588c75bed84db305d4f2eed7b0a0d" ], [ "UInt32BV.sub_mod", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "db86bc5165a25e4571f75bcabe336b33" + "9d2782aa04ede9437b0191a19c083dbd" ], [ "UInt32BV.add", @@ -328,7 +328,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "b6056ee3073ef6b7bbf9520ff3b299f3" + "5560fc876d4eec617412e17758864cd5" ], [ "UInt32BV.sub", @@ -345,7 +345,7 @@ "refinement_interpretation_Tm_refine_3adc12fceb0138e1883e7519601a17c4" ], 0, - "3076d6c1efca0f44b10ad20710c617ff" + "7c21707cb5e0a833d883626e23b0c728" ] ] ] \ No newline at end of file diff --git a/doc/book/code/UInt32BV.fsti.hints b/doc/book/code/UInt32BV.fsti.hints index b13fc950f46..6366310d5c4 100644 --- a/doc/book/code/UInt32BV.fsti.hints +++ b/doc/book/code/UInt32BV.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f7aa6d358ee2713a22d9836b41c4658a" + "6bee477397ba44727a600c714c092772" ], [ "UInt32BV.add_mod", @@ -22,7 +22,7 @@ 1, [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], 0, - "aac49e1cdf0b54536cf8ed38da0a5b52" + "3e8bbd8afe85e99a0084d9c34c273d69" ], [ "UInt32BV.sub_mod", @@ -31,7 +31,7 @@ 1, [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], 0, - "5733cf40b655c8ffe1886552174bc08d" + "33cb91f0103893d653f539e96c09d8a4" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Universes.fst b/doc/book/code/Universes.fst index cdd1d561a73..2fcc86a4c2a 100644 --- a/doc/book/code/Universes.fst +++ b/doc/book/code/Universes.fst @@ -1,4 +1,5 @@ module Universes +#push-options "--warn_error -240" //some defs are expected to fail //SNIPPET_START: ty$ let ty : Type = Type diff --git a/doc/book/code/Universes.fst.hints b/doc/book/code/Universes.fst.hints index ec282633cfb..502a2660d9f 100644 --- a/doc/book/code/Universes.fst.hints +++ b/doc/book/code/Universes.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Universes.ty0", "equation_Universes.ty_poly" ], 0, - "eccd7c6399e806989e6186aaf5376e3f" + "7525388931146745844a6e4d243d3d8d" ], [ "Universes.uu___1", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Universes.ty1", "equation_Universes.ty_poly" ], 0, - "8078877279ac6e5d36e9fe9f84b20de0" + "9b0d1f18c6d7ed035a0178263e77d2ee" ], [ "Universes.uu___2", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_Universes.ty2", "equation_Universes.ty_poly" ], 0, - "b295838c4e8363a8218abbac5283f1a7" + "56be73520801acd526d553b0ac974a17" ], [ "Universes.uu___3", @@ -35,7 +35,7 @@ 1, [ "@query", "equation_Universes.ty0", "equation_Universes.ty_poly" ], 0, - "4a1c610e00ab794d2e2e3e24bd4deaf4" + "75b503bb833dc55999ddff582c7ea03d" ], [ "Universes.list", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "b1424bed872264f53eb48474e1c4770f" + "0db5ed27a79f43d56cb781ec816d4b63" ], [ "Universes.__proj__Cons__item__hd", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_3c1b97e4120bd80fe1302fd106a008d6" ], 0, - "e1f5e42970f3a8810ed4829ae7b56b7b" + "c9b43a6bff1bdd94b36bc8c89c560515" ], [ "Universes.__proj__Cons__item__tl", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_3c1b97e4120bd80fe1302fd106a008d6" ], 0, - "6536e504329532439a1c11655af5f03e" + "2d29703981832405343962cb49ca57aa" ], [ "Universes.list'", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "ca78cfebda3285898f22dc82a5982771" + "92ee5db09597031587759160d62b769b" ], [ "Universes.__proj__Cons'__item__hd", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_8f39bc31184d8ae0acdd1e5c0bc83fc5" ], 0, - "10555e04f90d255dea058d0b3855440b" + "ca1737f75f26f476be28c40b526a5b37" ], [ "Universes.__proj__Cons'__item__tl", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_8f39bc31184d8ae0acdd1e5c0bc83fc5" ], 0, - "0d9e54359db9c41098f41d31f604d7e9" + "7177725a58393333078217177f3b319c" ], [ "Universes.pair", @@ -110,35 +110,7 @@ 1, [ "@query" ], 0, - "c9f6ad13407a04df45ed6bd776f2502b" - ], - [ - "Universes.uu___65", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "916f19a09854fa5c8204f5fe993553e0" - ], - [ - "Universes.uu___67", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c9bb4c083a22113bc18ca59e5fa20fc7" + "c2029a017ab4cd7d785447cf31ff4ac5" ], [ "Universes.__proj__NilAlt__item__a", @@ -150,7 +122,7 @@ "refinement_interpretation_Tm_refine_1fc10e6a73e2f6e1644f0cd1b482aba1" ], 0, - "6ad5e2d98623f339fc60a495054f47c0" + "20b82c402691d43bd62cfeb35a6e360a" ], [ "Universes.__proj__ConsAlt__item__a", @@ -162,7 +134,7 @@ "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" ], 0, - "81df2854126b5d0cc73e2f90e8fdd780" + "757af27f19b8a301f21565779dd15139" ], [ "Universes.__proj__ConsAlt__item__hd", @@ -174,7 +146,7 @@ "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" ], 0, - "68be05b15cb44190c2a5a1195222c69c" + "ad2663960e8cae3adff8a46ea6b12d80" ], [ "Universes.__proj__ConsAlt__item__tl", @@ -186,7 +158,7 @@ "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" ], 0, - "db42d0c3981a49b0593b48835868fce3" + "949a18b2b97d029d8c7b8c66e53b09c5" ] ] ] \ No newline at end of file diff --git a/doc/book/code/Vec.fst.hints b/doc/book/code/Vec.fst.hints index 7f4846720f1..244ae53a8ba 100644 --- a/doc/book/code/Vec.fst.hints +++ b/doc/book/code/Vec.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e41ec7cd73b62a8f52878581fd0a4ace" + "3a7b4bf57f42c3bc6a0e4416d44cf97c" ], [ "Vec.__proj__ECons__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_fb118a40a2834de6ebe952e4660e7f51" ], 0, - "ad0f6c7072ae8404c31d096c7bb3eb25" + "9bdcc1c928423fe814a169543b28d838" ], [ "Vec.__proj__ECons__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_fb118a40a2834de6ebe952e4660e7f51" ], 0, - "afe6b1938eb2dcb6340491f85a234612" + "4ce683ac3b86b427b7d6934b156e9f4d" ], [ "Vec.elength", @@ -52,7 +52,7 @@ "subterm_ordering_Vec.ECons" ], 0, - "fbf5018636db0a2af5faae2682f463e8" + "104521e5d1cf1be24f1293d8337b45a7" ], [ "Vec.elength", @@ -69,7 +69,7 @@ "subterm_ordering_Vec.OCons" ], 0, - "a454b943e84cff8f3771abc93357e668" + "e0ae5c8cbf29de2da37e5633f9b1d7b7" ], [ "Vec.even_or_odd_list", @@ -78,7 +78,7 @@ 1, [ "@query" ], 0, - "b4e61602e3feaa61bdbaa8f066808262" + "89dea566ee6ccda292be665a6a800bc6" ], [ "Vec.__proj__EOCons__item___0", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" ], 0, - "516cb5afd96b7b10a2e6300292b876b6" + "8bfefd5bd48e6fffc54665ac196b4d5e" ], [ "Vec.__proj__EOCons__item__b", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" ], 0, - "4e7e16d9527b36a5c3ea8368495af535" + "62174de7d31c611b68a1e2e7ebb71cf3" ], [ "Vec.__proj__EOCons__item___2", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" ], 0, - "09bbc487b8c575e185c0144167ade3e8" + "e85a846c70e2c5ebed53eda086e91951" ], [ "Vec.eo_length", @@ -137,7 +137,7 @@ "subterm_ordering_Vec.EOCons" ], 0, - "0741d4714548bc49ae7cf18cfb6121b4" + "2e94685032b94a91aea564011c1d51bf" ], [ "Vec.vec", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4515e5dd11177d0c56f85ea96142324a" + "fe7d6286a226695038f6a10def5af910" ], [ "Vec.vec", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fbd7ab11d44afb485924792a2ae416ca" + "c6f7a8c8cdde9c570d794064fc7b1c59" ], [ "Vec.__proj__Cons__item__n", @@ -177,7 +177,7 @@ "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" ], 0, - "ed0d1c2df11bca5b7128c600e26b6087" + "6e09c13e091e23b47a712e5372204724" ], [ "Vec.__proj__Cons__item__hd", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" ], 0, - "1ab1ce37afbebabcefbdb491c14f0024" + "2e91c2a1c4adbc77fcf781dc121bd559" ], [ "Vec.__proj__Cons__item__tl", @@ -201,7 +201,7 @@ "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" ], 0, - "67536aea44f4a251bf2a3b80daf363c2" + "73282ff7f40a55fec41e7b26a45baec4" ], [ "Vec.get", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "b04dbbf621a259bfae208e0899040a44" + "609900932a0bdc6116b027c18925ea29" ], [ "Vec.get", @@ -240,7 +240,7 @@ "well-founded-ordering-on-nat" ], 0, - "f4519903e04e744797b3f01631849929" + "bd58ee4d082b7ffb2deb8f01afd942d7" ], [ "Vec.split_at", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "de9a1f605f36bdc9b4a5ad071b394fad" + "560a3414a0a90bc344aca3668be3e0c5" ], [ "Vec.split_at", @@ -279,7 +279,7 @@ "well-founded-ordering-on-nat" ], 0, - "4841d8ae5fa37f489c030784e97c5add" + "a828e4820e77b8dd4916a4108c60afe1" ], [ "Vec.append", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "251c7e8f07364ec96982437da9332e6d" + "d0b5a0041035d4b1b077bebbe7c2c2eb" ], [ "Vec.append", @@ -313,7 +313,7 @@ "well-founded-ordering-on-nat" ], 0, - "7026147def330e16af04ef2d295515b5" + "a6b2535485e67dd10cbf14376657f662" ], [ "Vec.reverse", @@ -334,7 +334,7 @@ "well-founded-ordering-on-nat" ], 0, - "87b5ee26fef3e9592f3856794e53f88b" + "a0ac99026e35f2fb5ea11d20cf9e016d" ], [ "Vec.split_at_tail", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "f30a5c8d051db35b4d02f228ffb8ecaa" + "0fc71aaf55351ced69687317438c266c" ], [ "Vec.split_at_tail", @@ -370,7 +370,7 @@ "well-founded-ordering-on-nat" ], 0, - "801b45bd143a1944b72c96ebdae9eccc" + "3d60c93a6ab039f1fd881c8abb294cfd" ], [ "Vec.foldr", @@ -390,7 +390,7 @@ "well-founded-ordering-on-nat" ], 0, - "1564cdf98be829f1820418550ebe2614" + "ca043f8091ce3b040bf8cf4e67657a08" ], [ "Vec.pow2", @@ -407,7 +407,7 @@ "well-founded-ordering-on-nat" ], 0, - "45e48311968684ff9068ab1ea67695aa" + "db399f4ea9a72b5a15afdf071975cbed" ], [ "Vec.proof_by_normalization", @@ -416,7 +416,7 @@ 1, [ "@query" ], 0, - "ee8430f212bf3ac2cdf1ea7f9d19091f" + "a8bb776da7f7b6533771791252d5ecaf" ], [ "Vec.fold_right", @@ -431,7 +431,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5c9822d0f1a9360037ab863d8580c3b9" + "b57d80bb87d3835ed2d57e5b97b78057" ], [ "Vec.imp_intro_lem", @@ -440,7 +440,7 @@ 1, [ "@query" ], 0, - "fe744facc3494b69e16a7e4080e5e67b" + "4906946efa891d9bad8b02047b67b9c9" ], [ "Vec.split_lem", @@ -452,7 +452,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1abab4c4010f6253a721c581623c3d6d" + "c1c8fa8e6db402ac596134915520aecb" ], [ "Vec.split_lem'", @@ -461,7 +461,7 @@ 1, [ "@query" ], 0, - "3223388f875be8ab81b62d4d93349a8e" + "b108424f67b5f26fa2161c11036ea506" ] ] ] \ No newline at end of file diff --git a/doc/book/code/VecErased.fst.hints b/doc/book/code/VecErased.fst.hints index f10c49d94fb..10d49ea294e 100644 --- a/doc/book/code/VecErased.fst.hints +++ b/doc/book/code/VecErased.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "8c1d777121692165ca66589d8abe94e5" + "3c7dfac684de53f5210e5dd8668d4af2" ], [ "VecErased.__proj__Cons__item__n", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" ], 0, - "601621f71c26b81d90b391bbb78fe161" + "5280abc14447e5478c0cf7b4c2775962" ], [ "VecErased.__proj__Cons__item__hd", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" ], 0, - "74c0f63199d6ac76e6c9d77a3698b50e" + "98ed1669984bfb48c0a364e211a637f8" ], [ "VecErased.__proj__Cons__item__tl", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" ], 0, - "0399f9dc9628941cee5e03117048f940" + "7339ee2d5df1c6f2bdc801c53dca19ae" ], [ "VecErased.append", @@ -65,7 +65,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "2f7fc3c414c21a79b25e388f0a0f1f83" + "3a2b0a133ac6d7bf834755b6465b9e23" ], [ "VecErased.append", @@ -88,7 +88,7 @@ "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" ], 0, - "c8ccc0a6bb1e1cbab2812c67a0856388" + "125fc1cbad690e6b2b83734189f77a16" ] ] ] \ No newline at end of file diff --git a/doc/book/code/VecErasedExplicit.fst.hints b/doc/book/code/VecErasedExplicit.fst.hints index 5963c540be1..34595220eb2 100644 --- a/doc/book/code/VecErasedExplicit.fst.hints +++ b/doc/book/code/VecErasedExplicit.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "e1b962a321ae7fce27949a840f9665e9" + "f93cb6a9cb70dedd8aeaa55562ca5f11" ], [ "VecErasedExplicit.__proj__Cons__item__n", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" ], 0, - "1fc683b0a8bf48d74f9991e90131b98f" + "f26605199823f5bb17d9c32107f95d8c" ], [ "VecErasedExplicit.__proj__Cons__item__hd", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" ], 0, - "eb623f57d92183fbdf5b637ece25ca70" + "d26723c717805fec90a47e7af6b74f0d" ], [ "VecErasedExplicit.__proj__Cons__item__tl", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" ], 0, - "6353fcf03994f03a6fe1f633ec6e305d" + "85368775ebbf8d9f61bf6ba75f1ea397" ], [ "VecErasedExplicit.append", @@ -65,7 +65,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "c684c02e376ece4df774ff936ad82dca" + "6428bcd857e04c4aea1a2307f09bb1df" ], [ "VecErasedExplicit.append", @@ -90,7 +90,7 @@ "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" ], 0, - "3a6a388f28ea504a9d53b5ed7914cd5c" + "85a02e62323bffa72d79b52a2f0a635c" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Assertions.fst.hints b/doc/book/code/exercises/Part1.Assertions.fst.hints index e1881835f91..2d282d4b48c 100644 --- a/doc/book/code/exercises/Part1.Assertions.fst.hints +++ b/doc/book/code/exercises/Part1.Assertions.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c499d8771a20f59217ce880ec6b348d1" + "9184b55624a2e4eb54c62579707d9069" ], [ "Part1.Assertions.uu___5", @@ -25,7 +25,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8142d1ea16bbfbf7d46608bf130bde7c" + "fe17f33bfe5b3f7b3117dbbd3044116f" ], [ "Part1.Assertions.uu___6", @@ -38,7 +38,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "58d5979d372f08d2c4f72638f27ffeab" + "877aa1296d683bc20a1c0797d6b98588" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.GettingOffTheGround.fst.hints b/doc/book/code/exercises/Part1.GettingOffTheGround.fst.hints index 3a39787914e..0406825c374 100644 --- a/doc/book/code/exercises/Part1.GettingOffTheGround.fst.hints +++ b/doc/book/code/exercises/Part1.GettingOffTheGround.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "b3c66db746d0993124e094c1ea96a75a" + "0bf52d6d26a378ccf288e783f742fcc7" ], [ "Part1.GettingOffTheGround.fibonacci", @@ -33,7 +33,7 @@ "well-founded-ordering-on-nat" ], 0, - "f93f2ad5318d2d0e831e2693ab395ce2" + "021917569b4337b0e2660eb44e28341f" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Inductives.fst.hints b/doc/book/code/exercises/Part1.Inductives.fst.hints index f12f2dcf24c..fd988ad8292 100644 --- a/doc/book/code/exercises/Part1.Inductives.fst.hints +++ b/doc/book/code/exercises/Part1.Inductives.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3fb8cd4978f46139a7d53f3f9c9b69ed" + "1c387f09e81c41df17345690b86018e7" ], [ "Part1.Inductives.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "01bb340d100881cd7a9a8b900207c28d" + "8bd73cef7aa134bee860b4e61b33b3d3" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Lemmas.fst.hints b/doc/book/code/exercises/Part1.Lemmas.fst.hints index f64442067b8..9da6e75bb73 100644 --- a/doc/book/code/exercises/Part1.Lemmas.fst.hints +++ b/doc/book/code/exercises/Part1.Lemmas.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "e3910d0bfeac2dd66b02ac521d6ab6d5" + "723b5d43272c6867f5f9e7bc5b2afbc8" ], [ "Part1.Lemmas.factorial_is_greater_than_arg", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "944caa6c87c08773ec29e1b4310ad525" + "c40bd599c51bbb224a114c6609c74556" ], [ "Part1.Lemmas.factorial_is_greater_than_arg", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "465e88e38f58d3324dca2f5e5071adcf" + "7aeb4b8e6cc354ac2dfbb95c56c4853d" ], [ "Part1.Lemmas.fibonacci", @@ -63,7 +63,7 @@ "well-founded-ordering-on-nat" ], 0, - "125405b91739672015bcdc68053cb355" + "f0cb80dd640914b7339aeb145864a42d" ], [ "Part1.Lemmas.app", @@ -78,7 +78,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "7252fa0f2549a66a434700366dffef8c" + "2f3df7f5894e9dc33565de41668654ff" ], [ "Part1.Lemmas.length", @@ -96,7 +96,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "7f87ae8b2448940b72e2df7c2a3607bc" + "b0a8476ecb2fe87d2dadbf46d3947dc0" ], [ "Part1.Lemmas.append", @@ -111,7 +111,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "a428177367fb8b106ba2814f33a5cd53" + "94e6f2b2c7906e2ca5a5f6a54abc73c0" ], [ "Part1.Lemmas.reverse", @@ -126,7 +126,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "094131af45e6219dc0440f5b7178bb58" + "8467af3b7b480ea4370c1681cfe42681" ], [ "Part1.Lemmas.map", @@ -141,7 +141,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1ce1fee43bcb26ee6172def25a5fa96b" + "a6cf2f25ec38cda46978cd78ba7e3798" ], [ "Part1.Lemmas.find", @@ -156,7 +156,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5ded6dc6885921a6fba1afa9d1f41303" + "5036e29f0e2216a0660f0b5033d37cf2" ], [ "Part1.Lemmas.find_alt", @@ -171,7 +171,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "2bda7e579b4ffe294492c452dc2ff6ec" + "ed8e99840e89c339697790b44543eb7b" ], [ "Part1.Lemmas.find_alt_ok", @@ -202,7 +202,7 @@ "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.find_alt" ], 0, - "b839c6cfea6ddda3ce1c0eb361f4f258" + "4edc112b2917ab8ac89e3ae860887020" ], [ "Part1.Lemmas.fold_left", @@ -217,7 +217,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "eae85720ffa6c78dd088684bf4c81539" + "8b4844f21cda49d2b4a9640752d73031" ], [ "Part1.Lemmas.rev_aux", @@ -232,7 +232,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "b4706bce0e4fa4fe67f41b5813c60006" + "c03d16ced8dc8b6f8e2ff43a1fb69c6a" ], [ "Part1.Lemmas.fib", @@ -250,7 +250,7 @@ "well-founded-ordering-on-nat" ], 0, - "d38cc3e6b382d2a5e8ce6c5de707d6f0" + "369b33a25bae1960ad192e1fa2def102" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Quicksort.Generic.fst.hints b/doc/book/code/exercises/Part1.Quicksort.Generic.fst.hints index 43c33bb2e49..838aa8b6a1a 100644 --- a/doc/book/code/exercises/Part1.Quicksort.Generic.fst.hints +++ b/doc/book/code/exercises/Part1.Quicksort.Generic.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "8f24cf21e28f6cc8e4f2f354d01379af" + "4a9a460cbf5900f496f3dd0bd7130cca" ], [ "Part1.Quicksort.Generic.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1f76c03df560fed6fc780dc6be6dde02" + "be94268bcb714b4f4ca458b763fd3b90" ], [ "Part1.Quicksort.Generic.sorted", @@ -52,7 +52,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "8be1c43fefaedd7cb354997b4d1a891a" + "1e33a955d3f1f6b48eec5fc71d579bb1" ], [ "Part1.Quicksort.Generic.mem", @@ -68,7 +68,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "12b0622539478629b1f0ec724f22633c" + "d753e9746aa8caa0e051e89efdedcb57" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Quicksort.Permutation.fst.hints b/doc/book/code/exercises/Part1.Quicksort.Permutation.fst.hints index 5963b85d53c..8816117c2c3 100644 --- a/doc/book/code/exercises/Part1.Quicksort.Permutation.fst.hints +++ b/doc/book/code/exercises/Part1.Quicksort.Permutation.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "da423aab3dba3767577941cf43404d2a" + "5fabaf0033309f731997d13f3074101f" ], [ "Part1.Quicksort.Permutation.append", @@ -32,7 +32,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "48c66691c01dfa2e3dd7769a3bc267f6" + "dc07c28f54207e12195e141abbfdcc82" ], [ "Part1.Quicksort.Permutation.sorted", @@ -52,7 +52,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "e9fc7dee192c1752468fce6798c851f0" + "1250c913f15fbea8b7d3c1de067ba095" ], [ "Part1.Quicksort.Permutation.count", @@ -72,7 +72,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e5c2ff9a18a7728c0e8416e7811c5a13" + "f7cf5c62ff2087b3aab5a0ced279a925" ], [ "Part1.Quicksort.Permutation.is_permutation", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "47be2ca444ff7108de2bfca6f16c2465" + "c1d990ab771b48e0e264378eed12f00b" ], [ "Part1.Quicksort.Permutation.append_count", @@ -121,7 +121,7 @@ "typing_Part1.Quicksort.Permutation.count" ], 0, - "1ac36aa3e2db4cb169ed59dace246f57" + "591a2e8f2fb0a8c7e0a301e010eda9c2" ], [ "Part1.Quicksort.Permutation.partition", @@ -160,7 +160,7 @@ "typing_Part1.Quicksort.Permutation.length" ], 0, - "4936f22e46ccd84370157296857c2f57" + "b2966d34d12422400e1e3068472db507" ], [ "Part1.Quicksort.Permutation.sort", @@ -205,7 +205,7 @@ "well-founded-ordering-on-nat" ], 0, - "98f2dab06ad328eae5d4648925198cec" + "55612973049fb743284808d9d01a5661" ], [ "Part1.Quicksort.Permutation.sorted_concat", @@ -258,7 +258,7 @@ "typing_Part1.Quicksort.Permutation.sorted" ], 0, - "69e2a00e7bd250083e49587c46a3b614" + "838ad63ab05ddabb8088a1897cad22ea" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.AtomicIncrement.fst.hints b/doc/book/code/exercises/Part2.AtomicIncrement.fst.hints index 92c38e813c2..57cdc487e4f 100644 --- a/doc/book/code/exercises/Part2.AtomicIncrement.fst.hints +++ b/doc/book/code/exercises/Part2.AtomicIncrement.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_c98a85d1e11f0e96f66d140adf54e134" ], 0, - "17362a0558f91ca097efe042ced47d82" + "5cfaf7598d0036125f75f08311367893" ], [ "Part2.AtomicIncrement.__proj__DoThen__item__act", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_e5f33580f383e5123165d702c8184857" ], 0, - "60f82a2079b867908de51e42037fd525" + "c91cfcd67695de5d217d4f936afa5f99" ], [ "Part2.AtomicIncrement.__proj__DoThen__item__input", @@ -40,7 +40,7 @@ "token_correspondence_Part2.AtomicIncrement.__proj__Mkaction_class__item__input_of" ], 0, - "cacef126f3f929b78bef1c2eac44603d" + "6668325e64e2bfcfa586f47189740111" ], [ "Part2.AtomicIncrement.__proj__DoThen__item__continue", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_e5f33580f383e5123165d702c8184857" ], 0, - "70617b232996382b387e4eafd99e7db8" + "65462e23137a2e690aa69e3c938676ad" ], [ "Part2.AtomicIncrement.__proj__Or__item___0", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_b4dc035b8711a880d3c6b7605710901b" ], 0, - "5de94271532e0504a59e0887dc6f3379" + "49c442addf199ca9b517d25f576b508c" ], [ "Part2.AtomicIncrement.__proj__Or__item___1", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_b4dc035b8711a880d3c6b7605710901b" ], 0, - "136f7ca9ab40e7e75ef808d951499d27" + "968ffd1dcfd0d5535b3a66a6e11693f2" ], [ "Part2.AtomicIncrement.bind", @@ -102,7 +102,7 @@ "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" ], 0, - "f8ad50c1f16196a949b0953694844418" + "4e06da99b19a3dbadda8f4ef9ab2cf78" ], [ "Part2.AtomicIncrement.l_par", @@ -125,7 +125,7 @@ "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" ], 0, - "28152d17423b31f396f1d6a8febc29cd" + "246c00b4642c0ac4220ccabfe7f3d716" ], [ "Part2.AtomicIncrement.l_par", @@ -148,7 +148,7 @@ "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" ], 0, - "9eafad2708096740b1da9a17198da0fc" + "833826133a5d2a89620963bc524ffb71" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.ComputationTreeEquiv.fst.hints b/doc/book/code/exercises/Part2.ComputationTreeEquiv.fst.hints index a6aefee219c..ae552cad501 100644 --- a/doc/book/code/exercises/Part2.ComputationTreeEquiv.fst.hints +++ b/doc/book/code/exercises/Part2.ComputationTreeEquiv.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "697c11ec9471af81a3e2efaaa0f64bd5" + "3e25ffa400fe565fd1a10d27fee9c7a9" ], [ "Part2.ComputationTreeEquiv.output_of", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "aec94ff183a3b279a60512f1f216d307" + "f3b40ae8d354eaef2c5086440649f843" ], [ "Part2.ComputationTreeEquiv.__proj__Return__item__x", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_8b9cff117f2e3f9ec7ca3e43a8a51553" ], 0, - "4081fd52720859680284e3d6bfb289a2" + "219f5bef194860bb56bc5b36c8d69ff5" ], [ "Part2.ComputationTreeEquiv.__proj__DoThen__item__act", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_6a92965ab597df439caba7bfbd780f4b" ], 0, - "424c55c53f373b377f65bb4d611f8434" + "f9845dd48c0a74e7046246aa04ace9b3" ], [ "Part2.ComputationTreeEquiv.__proj__DoThen__item__input", @@ -70,7 +70,7 @@ "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__input_of" ], 0, - "67b90a10813d3cf4d15dc96d132aced1" + "08f5de86248ebc09f9c7c190a2f09fad" ], [ "Part2.ComputationTreeEquiv.__proj__DoThen__item__continue", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_6a92965ab597df439caba7bfbd780f4b" ], 0, - "7ee619eacc94890c767b034b4684ead7" + "2b0351278e38614b1ee58f67dcdeb5e8" ], [ "Part2.ComputationTreeEquiv.bind", @@ -106,7 +106,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "7d3a188f23b93b0ec69a53cdbc417880" + "950611bf6982e0128869669f6a3372a1" ], [ "Part2.ComputationTreeEquiv.equiv", @@ -127,7 +127,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "2143365ffdfc8d110cca5f2e8ad27927" + "2e8452b6f96a2e78cf13952e5171fd31" ], [ "Part2.ComputationTreeEquiv.equiv_refl", @@ -167,7 +167,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "8cfa722a77c5ba88ae78c8eaf5869846" + "cbb6770680bcb4be9a5aab385e8e59a4" ], [ "Part2.ComputationTreeEquiv.equiv_sym", @@ -214,7 +214,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "10ef164bcb58be2730df42c7bdacd0dc" + "6ca02c4b2bcaf3cbf441f5a2b14dcf4b" ], [ "Part2.ComputationTreeEquiv.equiv_trans", @@ -265,7 +265,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "e8a8071c4d27df084445167d7cf063a6" + "17e52db9fcdaa92a300bf9f14cfb39fc" ], [ "Part2.ComputationTreeEquiv.right_identity", @@ -285,7 +285,7 @@ "typing_Part2.ComputationTreeEquiv.return" ], 0, - "60bf1ab1abbb2ee91e8cc658d7151579" + "85a1e322ddb777e7e3eee27db455d18e" ], [ "Part2.ComputationTreeEquiv.left_identity", @@ -335,7 +335,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "8ff165493b7e1e353da1cf5de550c54c" + "a96d9a10a9e13b0cc93fb71a801077d7" ], [ "Part2.ComputationTreeEquiv.assoc", @@ -391,7 +391,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "2d2800b00bcb74505fdde71e9bcb45e2" + "3ffaf80550e0b0689bed8528e2afd3e8" ], [ "Part2.ComputationTreeEquiv.interp", @@ -432,7 +432,7 @@ "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" ], 0, - "418ddc0a792b67c0278422a711269463" + "aa3bd2832a5400adbd4014a84e840054" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.MerkleTreeGet.fst.hints b/doc/book/code/exercises/Part2.MerkleTreeGet.fst.hints index 1e244d01679..838d4344708 100644 --- a/doc/book/code/exercises/Part2.MerkleTreeGet.fst.hints +++ b/doc/book/code/exercises/Part2.MerkleTreeGet.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" ], 0, - "768ce6732264d6e577ed210b8cabb874" + "d7aab975a0cff0e0284db1216ad90f06" ], [ "Part2.MerkleTreeGet.mtree", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6b6133306636f5a046b37cf299623592" + "217d5076b323640e1636ee0e432ba9a3" ], [ "Part2.MerkleTreeGet.mtree", @@ -50,7 +50,7 @@ "string_inversion" ], 0, - "2ccaed48daec5e6a5373099f897af2c2" + "c7eee7b7a9fb091016083e5094ad945d" ], [ "Part2.MerkleTreeGet.__proj__L__item__res", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_1227872f8061b10b03c76a5dafbade0c" ], 0, - "1b6f0ee6a88a49ed5888240fbf081491" + "2c8775c68c0349c1e48a85000c977af0" ], [ "Part2.MerkleTreeGet.__proj__N__item__n", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" ], 0, - "5ac3b275ff20c93a39938f81f38cb7c7" + "7a79819fd09d4b5fd6b6456151bd04de" ], [ "Part2.MerkleTreeGet.__proj__N__item__hl", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" ], 0, - "67ecec0cd3f780219ad559edf66991ce" + "b6a2d42df0e592be300a875f0011d4fe" ], [ "Part2.MerkleTreeGet.__proj__N__item__hr", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" ], 0, - "cd7aa1fd889f030d028e624901fac1a6" + "1415db3bb8cf14e16553698eb6c84874" ], [ "Part2.MerkleTreeGet.__proj__N__item__left", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" ], 0, - "46492f0d78dff928d61f0f3ae9a1460e" + "863e9c8a16971660d826cef885d9437e" ], [ "Part2.MerkleTreeGet.__proj__N__item__right", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" ], 0, - "bd720f2b8207c099c8bcceeb50b2624b" + "cbd6faf2965d489d96827f8b09d1ff23" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.MerkleTreeUpdate.fst.hints b/doc/book/code/exercises/Part2.MerkleTreeUpdate.fst.hints index 8d790999a60..034d766cc0c 100644 --- a/doc/book/code/exercises/Part2.MerkleTreeUpdate.fst.hints +++ b/doc/book/code/exercises/Part2.MerkleTreeUpdate.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" ], 0, - "4262145d6f789bbadf1b95b55ec4c7e6" + "0d9a171bd55196111bed23be27e5da3b" ], [ "Part2.MerkleTreeUpdate.mtree", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "921fb6be428336908808f4c1e67a3a40" + "b2f3c7f270eb7381bf5a1f725e735b72" ], [ "Part2.MerkleTreeUpdate.mtree", @@ -50,7 +50,7 @@ "string_inversion" ], 0, - "8f0e33fae412da7fcd3acbebc2d26240" + "d562482fad63053a23a336aca159743a" ], [ "Part2.MerkleTreeUpdate.__proj__L__item__res", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_9fe0de7927eebb0f260c524618c9f60f" ], 0, - "df719095b4de5c020f3c52ce3dd3bf2d" + "0705e7cf47a4ccaa35de86517b7c83e2" ], [ "Part2.MerkleTreeUpdate.__proj__N__item__n", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" ], 0, - "b1f12d2d956f13db507265a30f0f9a5f" + "bc1811ddbc28bac2a5d5adf732d94291" ], [ "Part2.MerkleTreeUpdate.__proj__N__item__hl", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" ], 0, - "5e5ef7802b48aa7d7fd7282ec1a41683" + "7ae1ddfa14384b841cea92fe6d7d4be3" ], [ "Part2.MerkleTreeUpdate.__proj__N__item__hr", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" ], 0, - "2967c967b9a629c58f3c60afa83b4fe6" + "85ab448321ad59f6e0ce2945eea1c967" ], [ "Part2.MerkleTreeUpdate.__proj__N__item__left", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" ], 0, - "33bc491fde4e0d60f303ddf5ae960d39" + "9763c285444979d90c7d66ba53b4c79a" ], [ "Part2.MerkleTreeUpdate.__proj__N__item__right", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" ], 0, - "88a3d959440760a96b1b7f48662d98d2" + "10dda72eaaf0c3865ccac8a6231fee61" ], [ "Part2.MerkleTreeUpdate.get", @@ -165,7 +165,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "58c74bf5ec3fc7206af7c0f674060d09" + "bb6b6dbd07d97f571192d8db93e0c786" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.MerkleTreeUpdate_V0.fst.hints b/doc/book/code/exercises/Part2.MerkleTreeUpdate_V0.fst.hints index 5f81a417081..19db90f4347 100644 --- a/doc/book/code/exercises/Part2.MerkleTreeUpdate_V0.fst.hints +++ b/doc/book/code/exercises/Part2.MerkleTreeUpdate_V0.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" ], 0, - "72e4d00c1f8d0df129fbb2ad0183ef80" + "8676de8bc93677004e7027a756a600f0" ], [ "Part2.MerkleTreeUpdate_V0.mtree", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "97307cd308531f125a478c272a8c0d67" + "142e543ca7a36934992aa90b6ae412d4" ], [ "Part2.MerkleTreeUpdate_V0.mtree", @@ -51,7 +51,7 @@ "string_inversion" ], 0, - "a9b973c91453c42daed05e3817218d2a" + "2bd516937de3c069f88d835e1d4c468c" ], [ "Part2.MerkleTreeUpdate_V0.__proj__L__item__res", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_8e69cebc710bb68b015c24d3e7cb8a83" ], 0, - "fdf785692b015926a0154609900683d9" + "ed6ab96914e75cc3e7a896bda632a38e" ], [ "Part2.MerkleTreeUpdate_V0.__proj__N__item__n", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" ], 0, - "9a6f38102b29a76498e71162b73309e9" + "2aad08f98e93b10cd56a2affcdf154da" ], [ "Part2.MerkleTreeUpdate_V0.__proj__N__item__hl", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" ], 0, - "10039f53978be2136b4fc119e81aff46" + "a5c00ebebee6e3e88af33bce2396a9f4" ], [ "Part2.MerkleTreeUpdate_V0.__proj__N__item__hr", @@ -99,7 +99,7 @@ "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" ], 0, - "de78101a3f88549bf457417937d8177d" + "34b4b8cfac2ecefd325bb6ddb4094168" ], [ "Part2.MerkleTreeUpdate_V0.__proj__N__item__left", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" ], 0, - "c4a8d7138cb8bf02c719e4c3656fea37" + "7e83131c9e9ab5ee1925207b35c23963" ], [ "Part2.MerkleTreeUpdate_V0.__proj__N__item__right", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" ], 0, - "b3ff9128951cbe7ef1ad3c55cae02ce0" + "499a44c25371f5d9cd50a62aa0444093" ], [ "Part2.MerkleTreeUpdate_V0.mtree'", @@ -146,7 +146,7 @@ "string_inversion" ], 0, - "6edef9d0c4fe51b4e24cb53dba9f8638" + "f78d03a2d69f164a632d8d67ca7578c0" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.ST.fst.hints b/doc/book/code/exercises/Part2.ST.fst.hints index 89dca401b6e..7a86c63cf9e 100644 --- a/doc/book/code/exercises/Part2.ST.fst.hints +++ b/doc/book/code/exercises/Part2.ST.fst.hints @@ -20,7 +20,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "3fd44531add1f6f7d8c788ab926afc71" + "2ad3a3a9b9cc7a5805178bb79b228583" ], [ "Part2.ST.right_identity", @@ -40,7 +40,7 @@ "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed" ], 0, - "e401130ee7d1291ed18a74d720de13e5" + "9f9f11757b99d68efbe48f90d22c27c2" ], [ "Part2.ST.associativity", @@ -54,7 +54,7 @@ "interpretation_Tm_abs_f60fb6c7723bc12608080c328ffdef90" ], 0, - "c3954f4a4741b4bf21913a56c3cadd6e" + "492ef591b285286cce7575eae1432afc" ], [ "Part2.ST.redundant_read_elim", @@ -72,7 +72,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "3668bf6a4588d927350278302acc3c45" + "5846312b26fda7a12ba93c9f0396e945" ], [ "Part2.ST.redundant_write_elim", @@ -87,7 +87,7 @@ "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed" ], 0, - "9da8d7c3476a879efa78d9915f9cd98c" + "1b26b4f844ac52beceba9d947ef073a0" ], [ "Part2.ST.read_write_noop", @@ -109,7 +109,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "c92aaa73c265e281e86435655f89b96e" + "bc881ace9471a3ea9e30796e7c1e4011" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.STLC.fst.hints b/doc/book/code/exercises/Part2.STLC.fst.hints index 470b314a645..dde8ed30480 100644 --- a/doc/book/code/exercises/Part2.STLC.fst.hints +++ b/doc/book/code/exercises/Part2.STLC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "b04e0e5250a6666db7e8d04cc7c4af54" + "f690de1afdaf6d6c22c79a15aa11514a" ], [ "Part2.STLC.__proj__TArr__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" ], 0, - "3d1495e8ecd41b1be7a90a952b4cb84f" + "86d71b1b9d11a7a616a05cbdfc8b534f" ], [ "Part2.STLC.__proj__TArr__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" ], 0, - "b8dd5b8792918e99dee848c878ce15cd" + "43db723705089798937db1f8113b54ce" ], [ "Part2.STLC.exp", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d12a077e8a27813ab3d670886e0f175" + "b3b1829fd3403cd503599aa0bfbc7923" ], [ "Part2.STLC.__proj__EVar__item___0", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_a33d2a5e9563090c25ee7a18ccaecd18" ], 0, - "c33ec3d401d6d5fa1e156fbbbc1f891d" + "f4fefb99881fa45add75f807f69a2321" ], [ "Part2.STLC.__proj__ELam__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" ], 0, - "df6d2fb5dc42afe785a0958c6f46772d" + "f4402912146256d0a33e4c82685d2e18" ], [ "Part2.STLC.__proj__ELam__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" ], 0, - "fe9151549c4add469ba0164e83e3feb2" + "1835ec3cdb8ce8576c0e78338bd6f5c4" ], [ "Part2.STLC.__proj__EApp__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" ], 0, - "8b442946031e4b6615e7241af023093d" + "8be17437ba7bc7970b4070c4ad87e3a8" ], [ "Part2.STLC.__proj__EApp__item___1", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" ], 0, - "119ccc05e43d6c68effae0fd8b8360ba" + "4a00cbc345be4708835bfcd0b034a6ec" ], [ "Part2.STLC.sub_inc", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "07ea0d03723723a7ce0ebb120aee92fd" + "a6e46db51447e992e248ed834b9549ea" ], [ "Part2.STLC.sub_inc", @@ -135,7 +135,7 @@ "projection_inverse_Part2.STLC.EVar__0" ], 0, - "55a24880ae135aa3b12250d9a8385cfa" + "c069eb9e64bd4c4967403cdb8762843f" ], [ "Part2.STLC.sub_beta", @@ -159,7 +159,7 @@ "typing_Part2.STLC.uu___is_EVar" ], 0, - "b1975f16d72ef8fb1cb934dc28f17de9" + "58031d837e85bb5e76e5036670ee0f17" ], [ "Part2.STLC.subst", @@ -196,7 +196,7 @@ "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" ], 0, - "5c36c1e4dbacb76205f01532252407e5" + "f15f796c4f7f4e57128131386bc10c01" ], [ "Part2.STLC.subst", @@ -220,12 +220,12 @@ "int_inversion", "int_typing", "l_quant_interp_2de7c21b0601c0f4dd3f55faefa9de23", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Part2.STLC.EVar__0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cd001454cf80ea2609a5958d40759ee", + "refinement_interpretation_Tm_refine_82a19028876e3be325f2d9e684de232f", "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", "typing_Part2.STLC.bool_order", "typing_Part2.STLC.sub_inc", @@ -233,7 +233,7 @@ "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" ], 0, - "7ee9bf6cf3697f97ebcd093cc6f93984" + "79ccda7be615dc2179d5cea198b24d56" ], [ "Part2.STLC.step", @@ -245,7 +245,7 @@ "assumption_Part2.STLC.typ__uu___haseq" ], 0, - "558c8c1669cf25b3d73e38925e0d96a6" + "4eaa0a885876a0b0aea5c1c27c6fd33c" ], [ "Part2.STLC.__proj__Beta__item__t", @@ -257,7 +257,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "e9ebc0f17396564332880f4960f247c5" + "c1929f8b101355e25a977cff7d90f9f2" ], [ "Part2.STLC.__proj__Beta__item__e1", @@ -269,7 +269,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "192752d12a07aa8c28dccd9f9766f21e" + "faf9f40b87bf5cf518db77d95831607c" ], [ "Part2.STLC.__proj__Beta__item__e2", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" ], 0, - "9003997cba9fc7490b2846db4a9f04c3" + "3dea137f87e048ec7cc9ae6d68e7dd55" ], [ "Part2.STLC.__proj__AppLeft__item__e1", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "2b84981c5fa77e3b914eaf47e2e5b5cb" + "91e9e464f1fe5b249e4b416c9932fd7d" ], [ "Part2.STLC.__proj__AppLeft__item__e2", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "8d41a4d739492709f00e8d663e49e721" + "71344d85ebe4818f7e566064a66ecda3" ], [ "Part2.STLC.__proj__AppLeft__item__e1'", @@ -317,7 +317,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "53400c560d2ef1d83d98ae8878b5100a" + "ae044b9b38f87e7455d3d6646f80d867" ], [ "Part2.STLC.__proj__AppLeft__item__hst", @@ -333,7 +333,7 @@ "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" ], 0, - "cd939a636d563bf1303f29fe5d27b475" + "5612568455105671476a61ea3f4cc0b3" ], [ "Part2.STLC.__proj__AppRight__item__e1", @@ -345,7 +345,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "6310d23078fc382df47f7187daa35364" + "4d6cefcb5836b97607bf68139fb15e04" ], [ "Part2.STLC.__proj__AppRight__item__e2", @@ -357,7 +357,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "1d82d64d92ee8c761f8e79075a9ec877" + "6cd8173289b1dbccbb694a514cee8fc1" ], [ "Part2.STLC.__proj__AppRight__item__e2'", @@ -369,7 +369,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "5110e718ebfc1475fc0ab6d6af16258d" + "b42383cbc03daf679955133303352f5b" ], [ "Part2.STLC.__proj__AppRight__item__hst", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" ], 0, - "865c764ef5b7c9ef3d318fd6b98a10fe" + "6e1f62d429777886b0a98fcd3dcc0bcc" ], [ "Part2.STLC.extend", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9f1a0b86140d691cdd03c51444fd296c" + "82f6d262f2123498357ba160863118d0" ], [ "Part2.STLC.typing", @@ -411,7 +411,7 @@ "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" ], 0, - "682624ba7ef8d65243f7c8c1372fd70e" + "51e3b62aab0294463567c3f8baf52878" ], [ "Part2.STLC.__proj__TyUnit__item__g", @@ -423,7 +423,7 @@ "refinement_interpretation_Tm_refine_458ed1c37648df81e4eddbf462b96636" ], 0, - "28c156edd406def99936dc6bd69a0015" + "89e469a8bcf39c8eeebca0546b0bd26f" ], [ "Part2.STLC.__proj__TyVar__item__g", @@ -435,7 +435,7 @@ "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" ], 0, - "439b5cdfa2e00cb73e7c8e5f2a5794ba" + "43013522ad73a5ae634a5a6cf4da01c5" ], [ "Part2.STLC.__proj__TyVar__item__x", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" ], 0, - "be5a4197c2019f3aac7590fa0d0bcbaf" + "917229aee094a695e05abc55d7c54a98" ], [ "Part2.STLC.__proj__TyLam__item__g", @@ -459,7 +459,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "3ee5726c8eb927c46bc5e7180f7b4df8" + "b159da9409cdb3a4a2894ed1f40e7858" ], [ "Part2.STLC.__proj__TyLam__item__t", @@ -471,7 +471,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "e187bda9fb87a74da6702119af69b5b1" + "cfb5c8115c174359ba7f915aee6fc202" ], [ "Part2.STLC.__proj__TyLam__item__e1", @@ -483,7 +483,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "0c00b4d1355aa5b713c4d589e28d7a03" + "4d94628385495d4964ed1cef2e6bbcfd" ], [ "Part2.STLC.__proj__TyLam__item__t'", @@ -495,7 +495,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "57938190fb9bddc24d377f43bd9c0e34" + "7389054b506754caa4a0b1916a4345b6" ], [ "Part2.STLC.__proj__TyLam__item__hbody", @@ -515,7 +515,7 @@ "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" ], 0, - "d3bb33781a10ea37322bc953f0648af1" + "8bd6b731aaec6977c0b51da472d68b89" ], [ "Part2.STLC.__proj__TyApp__item__g", @@ -527,7 +527,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "1330f1719f1831824977ad83bea69f32" + "08450eb7e37cb61a51092955247e2a21" ], [ "Part2.STLC.__proj__TyApp__item__e1", @@ -539,7 +539,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "865f36b728cb064017568036b125d3a6" + "eb6f1f911be5dd5b5bda52e1be5c75ba" ], [ "Part2.STLC.__proj__TyApp__item__e2", @@ -551,7 +551,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "512d84bd5efd0bc4d1680923a29eb166" + "39e4c8ac4f493067cad828fe9212088b" ], [ "Part2.STLC.__proj__TyApp__item__t11", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "00c03566407655e2b993527882ce06c5" + "1960b7e6bf0fbb9dd20a1e2fb4702847" ], [ "Part2.STLC.__proj__TyApp__item__t12", @@ -575,7 +575,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "e61882ee8a2a344a185a8e66121cc7a4" + "3d4079da3f4d20bb3f0bbac76f780711" ], [ "Part2.STLC.__proj__TyApp__item__h1", @@ -595,7 +595,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "ba996c83c8e758e72996d33d2c075f06" + "2d64bc7c658ff983f6a579fb7cc4c274" ], [ "Part2.STLC.__proj__TyApp__item__h2", @@ -613,7 +613,7 @@ "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" ], 0, - "09e52ef4604997813ba2d1a4df3e53de" + "0b467035d79893e39f1646dd4c5d7521" ], [ "Part2.STLC.subst_typing", @@ -625,7 +625,7 @@ "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" ], 0, - "bda13e719cfc16afe3db77c903a7be91" + "81284fbe51d6f93d4de53027b94a19eb" ], [ "Part2.STLC.substitution", @@ -714,7 +714,7 @@ "well-founded-ordering-on-nat" ], 0, - "e4943ccad9808379cc3c1b6242d53386" + "21f990dad2dfe8bb624f78c7bbb8d055" ], [ "Part2.STLC.preservation_step", @@ -762,7 +762,7 @@ "subterm_ordering_Part2.STLC.EApp", "typing_tok_Part2.STLC.EUnit@tok" ], 0, - "eb633506e79317e324c9744475935be4" + "d91c024d99f60f31b8ceff36ff2e6919" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.Vec.fst.hints b/doc/book/code/exercises/Part2.Vec.fst.hints index d1c87303c7a..c2bda60d3d9 100644 --- a/doc/book/code/exercises/Part2.Vec.fst.hints +++ b/doc/book/code/exercises/Part2.Vec.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f7577fc710fcdd32c909a770d2ac8891" + "3d6b1f75ca332b31cf99d30c88df7ac1" ], [ "Part2.Vec.vec", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "116c8271af505ad9bf167c5d3f4cb496" + "2701c29c28239efc11bcd0320b1025f2" ], [ "Part2.Vec.__proj__Cons__item__n", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" ], 0, - "fe68ee44b7ee200d5f13c42ae4fad314" + "0126ba6b50e1f3b3b972ca4b72c558e4" ], [ "Part2.Vec.__proj__Cons__item__hd", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" ], 0, - "9acd97f0ffc76015569440285cec8f53" + "250601fb07593d695c63a7ca49169276" ], [ "Part2.Vec.__proj__Cons__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" ], 0, - "30550661e3346d5c8d98ca5d8313e7f4" + "6228377116ebd6f31ac4c6356e478367" ], [ "Part2.Vec.get", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "cca1d7c8d65a87c1ffd4854a970f3913" + "90f6d272cbcb62b3d2fe1a5f413a8abf" ], [ "Part2.Vec.get", @@ -102,7 +102,7 @@ "well-founded-ordering-on-nat" ], 0, - "ec816e70f27b4682e45cf0e90e1dc96b" + "00a9231a36932f41fb767f50ee935962" ], [ "Part2.Vec.append", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0f580671e57b89bcb0aff1c6612a6f94" + "81b36c1d23c9b5644864f91920566931" ], [ "Part2.Vec.append", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "071ad012f84c44d1b91013d977afc494" + "e5c988b32dba2172d0bf0f2c2535e3e4" ], [ "Part2.Vec.split_at", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "47841d85cf6dfb3328fd66c755e7ebcd" + "fc78f308757633d9ab5b3df5f048b9c3" ] ] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part3.MonadsAndFunctors.fst.hints b/doc/book/code/exercises/Part3.MonadsAndFunctors.fst.hints index db48a5a5f15..69d7c51cc1e 100644 --- a/doc/book/code/exercises/Part3.MonadsAndFunctors.fst.hints +++ b/doc/book/code/exercises/Part3.MonadsAndFunctors.fst.hints @@ -7,8 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", + "@query", "equation_FStar.FunctionalExtensionality.feq", "equation_Part3.MonadsAndFunctors.bind", "equation_Part3.MonadsAndFunctors.get", "equation_Part3.MonadsAndFunctors.get_put", @@ -16,27 +15,22 @@ "equation_Part3.MonadsAndFunctors.put", "equation_Part3.MonadsAndFunctors.return", "equation_Part3.MonadsAndFunctors.st_monad", - "fuel_guarded_inversion_Part3.MonadsAndFunctors.monad", + "interpretation_Tm_abs_2aa0b1a96b161b2d053b39fd53381fc4", + "interpretation_Tm_abs_507db0de980bbf77bf49302498bf419c", "interpretation_Tm_abs_6fe7781f05550e647ef9348567de2f4a", "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "interpretation_Tm_abs_7b635665b13d92867e2a7a394f6a2045", "interpretation_Tm_abs_80bae2cedda8810a1873ff1bc009da67", "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_cb72b10530b50327b78d3bba5e7a9f66", "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "proj_equation_Part3.MonadsAndFunctors.Mkmonad_bind", - "proj_equation_Part3.MonadsAndFunctors.Mkmonad_return", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Part3.MonadsAndFunctors.Mkmonad_bind", - "projection_inverse_Part3.MonadsAndFunctors.Mkmonad_m", "projection_inverse_Part3.MonadsAndFunctors.Mkmonad_return", "token_correspondence_Part3.MonadsAndFunctors.bind", - "token_correspondence_Part3.MonadsAndFunctors.return", - "typing_Part3.MonadsAndFunctors.st_monad" + "token_correspondence_Part3.MonadsAndFunctors.return" ], 0, - "ba73b3cdaed0286ba7f928abb149fa51" + "001d97fc4a9aa167708e62adc69a1365" ], [ "Part3.MonadsAndFunctors.opt_monad", @@ -45,7 +39,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "1524bc670e100db88d829d32569dc283" + "52bac5c37395726ee05a3d506d53e015" ], [ "Part3.MonadsAndFunctors.div", @@ -54,7 +48,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "b52fb1542e5c9c7875ebf0e0e118f70e" + "77c26977cc34eb2c5cb9cb010b8009ae" ] ] ] \ No newline at end of file diff --git a/doc/book/part1/part1_termination.rst b/doc/book/part1/part1_termination.rst index 1a0ce4277ee..89c0055a160 100755 --- a/doc/book/part1/part1_termination.rst +++ b/doc/book/part1/part1_termination.rst @@ -65,14 +65,14 @@ if any of the following are true: 1. **The ordering on integers**: - ``t1 = nat`` and ``t2 = nat`` and ``v1 < vâ‚‚`` + ``t1 = nat`` and ``t2 = nat`` and ``v1 < v2`` Negative integers are not related by the `<<` relation, which is only a _partial_ order. 2. **The sub-term ordering on inductive types** - If ``vâ‚‚ = D u1 ... un``, where ``D`` is a constructor of an + If ``v2 = D u1 ... un``, where ``D`` is a constructor of an inductive type fully applied to arguments ``u1`` to ``un``, then ``v1 << v2`` if either @@ -150,7 +150,7 @@ F* also provides a convenience to enhance the well-founded ordering lists of terms ``v1, ..., vn`` and ``u1, ..., un``, F* accepts that the following lexicographic ordering:: - v1 << u1 ‌‌\/ (v1 == u1 /\ (vâ‚‚ << uâ‚‚ ‌‌\/ (vâ‚‚ == uâ‚‚ /\ ( ... vn << un)))) + v1 << u1 ‌‌\/ (v1 == u1 /\ (v2 << u2 ‌‌\/ (v2 == u2 /\ ( ... vn << un)))) is also well-founded. In fact, it is possible to prove in F* that this ordering is well-founded, provided ``<<`` is itself well-founded. diff --git a/doc/book/part4/part4_pure.rst b/doc/book/part4/part4_pure.rst index b9e88d91822..5b0f0a10c3e 100755 --- a/doc/book/part4/part4_pure.rst +++ b/doc/book/part4/part4_pure.rst @@ -698,7 +698,7 @@ defined as shown below in ``prims.fst``: .. code-block:: fstar effect Pure (a:Type) (req:Type0) (ens:a -> Type0) = - PURE a (fun post -> req /\ (forall x. ens x /\ post x)) + PURE a (fun post -> req /\ (forall x. ens x ==> post x)) The signature of ``Pure`` is ``Pure a req ens``, where ``req`` is the precondition and ``ens:a -> Type0`` is the postcondition. Using diff --git a/doc/tutorial/code/exercises/Ex01a.fst.hints b/doc/tutorial/code/exercises/Ex01a.fst.hints index 9d9552eb04e..144f8412044 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, - "0e3b9f6aff2429cdd6744a5d0817fe1d" + "f8ca8b72362df3273a39c2616f71b9da" ], [ "Ex01a.checkedRead", @@ -27,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "fcef67b9ce277764b3f9eebd1f28a3a1" + "bd4ec436a0ae08ecd0e97c7dbc7eba84" ] ] ] \ 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 b8586379aae..06a1a1ee329 100644 --- a/doc/tutorial/code/exercises/Ex03a.fst.hints +++ b/doc/tutorial/code/exercises/Ex03a.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "af64dae1a7e33da3d3dbd4a8792a5f4b" + "d4e2053a09276d5e7c5297a00fc1784c" ] ] ] \ 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 488851dbe96..263f888f54d 100644 --- a/doc/tutorial/code/exercises/Ex03b.fst.hints +++ b/doc/tutorial/code/exercises/Ex03b.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "e6b0279c0e819823bd6d3c7eacb0bad7" + "e68ac8b592db7bcc31c2539f1756044d" ] ] ] \ 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 9c8e8de639c..e460f1b625e 100644 --- a/doc/tutorial/code/exercises/Ex03c.fst.hints +++ b/doc/tutorial/code/exercises/Ex03c.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "70ecb6755b229e9090bbdf7bd2369b87" + "631d3cd16c46e8d4813d5bc1a0bf9fe0" ] ] ] \ 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 357ce45800b..071eaadfe5a 100644 --- a/doc/tutorial/code/exercises/Ex04a.fst.hints +++ b/doc/tutorial/code/exercises/Ex04a.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "19a1da2eb4b7865fb8b5f69765e86173" + "471720d27cc39aa61801cc4d37fd0814" ], [ "Ex04a.append", @@ -30,7 +30,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2922f852f533d27bddea79a501e8ea17" + "cade7e54b3bad79514ea2ea8245ac2d1" ] ] ] \ 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 82edb03cb3b..51392c95c8b 100644 --- a/doc/tutorial/code/exercises/Ex04b.fst.hints +++ b/doc/tutorial/code/exercises/Ex04b.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "581debf78740e8db3f084fc90b00f99a" + "c24fd26759b16fb069162f061d11e025" ], [ "Ex04b.append", @@ -31,7 +31,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "faee9a26b9190e017060b5ee1ae3da82" + "dac1c3725ae9ee55cf63b2e5b521755b" ] ] ] \ 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 2fe33e43a69..606a5ea746c 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, - "b7e1bb50dd26f27758ccd0081dec28ea" + "68c120e3e06cbfd406be4cdd897bd1c0" ], [ "Ex04c.mem", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "2895fe4eaa114cb98af200c5dda4b534" + "179c2259edb5399ecc6ca466be2c0a19" ] ] ] \ 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 b6bf8599777..dff6c65d265 100644 --- a/doc/tutorial/code/exercises/Ex04e.fst.hints +++ b/doc/tutorial/code/exercises/Ex04e.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "504986533877aa4cb6020cfb0a8e1b1a" + "27c7efd5d55835c8940e2e7809f82018" ], [ "Ex04e.__proj__Some__item__v", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "37b0f2568e27c13e33e535a5cb194419" + "54b084f0e7808e2791c821217b26bb44" ], [ "Ex04e.find", @@ -35,7 +35,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "935edcc814a9b6849d51c0e4d6d4132a" + "0e92d2108db55d5a8bce3220e70d8b9e" ] ] ] \ 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 5b4b34291e4..9bcab9cd1bd 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, - "671ba14b22857ef9690da89007046c19" + "ae82f0d01704e250821f57f40ba49691" ], [ "Ex04f.reverse", @@ -29,7 +29,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "0baf3229f7d9b7811a3b34ee16b99b8d" + "731159b0bf61a47f2a863bd523cbfb99" ] ] ] \ 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 d72d5633271..840cb6196d8 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, - "0b64327f36bb76f84a8f9d02bf2327bd" + "3520b2ada8741edead79f13b9552b1d1" ], [ "Ex05a.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2aa72b012d410eecb2aa0a0f825027fb" + "1636ef02e21b235736a7aa56acf36dcb" ], [ "Ex05a.rev", @@ -42,7 +42,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1a29733ac4263a2193f5be8b679403f6" + "6fe8d647a38906470cd409019ed288a7" ], [ "Ex05a.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.append" ], 0, - "6da8d44a0f1da6cf2c72436943ca7016" + "1ce38053ba4805346fa8b41961f1d290" ] ] ] \ 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 46759c3b7a0..1519430e60a 100644 --- a/doc/tutorial/code/exercises/Ex05b.fst.hints +++ b/doc/tutorial/code/exercises/Ex05b.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "4bcf10a2c3e8fe2575d00e83296411d9" + "9bdc61a88a39a073a855ae94da12e0cd" ], [ "Ex05b.fib", @@ -34,7 +34,7 @@ "well-founded-ordering-on-nat" ], 0, - "0ec039df8866d417949043400fca48e3" + "60b17425b1487fa85502305fd415bab7" ], [ "Ex05b.fib_is_ok", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b95cc2bb4d7467dc327a22aa893faea8" + "30831c79bb469e5c40d59bc068c7f401" ] ] ] \ 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 335127f2f74..a585687b549 100644 --- a/doc/tutorial/code/exercises/Ex06b.fst.hints +++ b/doc/tutorial/code/exercises/Ex06b.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e8ab5da575689344a1a1a6ceaff5966c" + "ed259e755f0cfdbba2333136950c9c81" ], [ "Ex06b.append", @@ -30,7 +30,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "777e212418e6e024de37b97f3cc147b4" + "2a96ed8fec692c9a32ab5e49fc1638c1" ], [ "Ex06b.append_mem", @@ -62,7 +62,7 @@ "typing_Ex06b.mem" ], 0, - "8fd3c0987e00455ebd7e00c29384572c" + "42b52c97f42544f8c1a0bbf68f0edd0e" ], [ "Ex06b.length", @@ -79,7 +79,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "93d1706cfdd95c3eae2f9c4f08ee7bf7" + "00a2ffa057a5cc421b80fc552f619cc5" ], [ "Ex06b.sorted", @@ -100,7 +100,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "eb08acda5babec9fba3844ff674babfa" + "5669e2e6bfad1bd253b4671501ea9f66" ], [ "Ex06b.partition", @@ -115,7 +115,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "5cc50d91a55cecc6f0958083c4794792" + "78d5674d0229b1cb15b6d1a3e09dcb47" ], [ "Ex06b.partition_lemma", @@ -161,7 +161,7 @@ "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition" ], 0, - "9473f34fe49fb7f3b8b982f156edce13" + "44aa9b0719c69714d68609ea3a769f06" ], [ "Ex06b.sorted_concat_lemma", @@ -204,7 +204,7 @@ "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" ], 0, - "86b03202786114fda4b960387c703714" + "85f7ebb631a6375a16dfdb996b25835e" ], [ "Ex06b.sort", @@ -269,7 +269,7 @@ "well-founded-ordering-on-nat" ], 0, - "8b9d6625f78b648a2b8e8860e773e6b0" + "6c5d58e9c275c27455675f0344afd84b" ] ] ] \ 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 0b215561a5b..cea6bcc243f 100644 --- a/doc/tutorial/code/exercises/Ex06e.fst.hints +++ b/doc/tutorial/code/exercises/Ex06e.fst.hints @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "ea0798081000b21816adaf958b555864" + "319c09f9f4558f47d471840c02df9499" ], [ "Ex06e.mem", @@ -40,7 +40,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e9fd3517d38bc30012e5fff2392400db" + "ff4d539dc03c0bb678b913219baaf022" ] ] ] \ 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 f9b76309a49..7d38a9b433d 100644 --- a/doc/tutorial/code/exercises/Ex07a.fst.hints +++ b/doc/tutorial/code/exercises/Ex07a.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f6be067ad6a6377192c672235de52a1f" + "c23890777cc5fa15bff8d9be049865bf" ], [ "Ex07a.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "b810f859159df80a8db02375ba9bfed2" + "86fdcfbb4f37beb861a6399e13dd4d37" ], [ "Ex07a.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "51dad9c278f59a4350120755411b751a" + "98acee8c1455cc7486c030d7cb7bf4f6" ], [ "Ex07a.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "8e87b290706242a3e291f0f9ad139af9" + "1d882d39cf5c8a2c16decb5a2adac909" ], [ "Ex07a.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "78e23c2f9987bb43d4f56e7e4b6664a6" + "a9f4c8acf6683c672b746b7aa833c47f" ], [ "Ex07a.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "37aa33e573d0e56fe78316ed910d4f71" + "67bed8567e10cac1525c0cd44edbd6e4" ], [ "Ex07a.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "f7f3f35f3e86f437fa62c74687dd2f23" + "43152af11dcf3c5a3a0982c4a97013ea" ], [ "Ex07a.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "a31d76d1677ad4b0e379c8b7ab9cfdc7" + "18a919de6f3bd03326adb73cf167c330" ], [ "Ex07a.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "1338bcfd0cf7c4ed5a39f999fb29b885" + "3429c87dda954c35f953a7ebaccc6ecd" ], [ "Ex07a.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "b2d77cdfb3f1d45af6a4d51f38ff5ba3" + "944f557ac7bbc491683e10c35ebcaa1b" ], [ "Ex07a.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "a5ca288bf4fd8c79baf6fb636f13b41e" + "ac50b2779fc06acf7a23ba53382527d6" ], [ "Ex07a.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "46b14d450d5eb518add125a5278be508" + "da4295e2d5acab47a1d2de9c294237f2" ], [ "Ex07a.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "a2cb80d7d69a96cb185dd0c586e9267d" + "6fe6684d8e11a300daab182c7e9c79a9" ], [ "Ex07a.subst", @@ -187,7 +187,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "6d76a36fc8f6586dfaf169346a24a57b" + "d5a17f0c39f85c86f3731ed00794e8cc" ], [ "Ex07a.step", @@ -207,7 +207,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "cebe6c1b688edb29306a3d697e7f0b43" + "d5a753b26218f7950395ae1ff2ab9b51" ], [ "Ex07a.typing", @@ -233,7 +233,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "256926e5ba4595bc7ad202d88bbd2e75" + "d5e2402f412fb021025bbfa92a3e7059" ], [ "Ex07a.progress", @@ -292,7 +292,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "f06f7b116618fb55cdca92f2983916fc" + "28648029913c2710735336d5332bae61" ], [ "Ex07a.appears_free_in", @@ -316,7 +316,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "3ddbdd0228acd0015cb2ffe366dfb8cf" + "7f91d9f2b6ea85716fc5b9cbb5bae047" ], [ "Ex07a.free_in_context", @@ -383,7 +383,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "a8b37f8b5fe7b793951042a3335a8eba" + "94f787c3169bdbd61d5c8f1cf8a5b9ce" ], [ "Ex07a.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" ], 0, - "f223d939628c944075355a7562041b6b" + "0e6ae37233a4ca8d1cb70e32449c8166" ], [ "Ex07a.equal", @@ -412,7 +412,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "7a5e5608374c341c7f6f69da99a97873" + "6a1b65e1095bd80088ca18300b57a195" ], [ "Ex07a.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "f403506df7183878e69a09661c4ab6c3" + "453ed0a0e953edefea37c17985b93269" ], [ "Ex07a.context_invariance", @@ -487,7 +487,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_typing" ], 0, - "2b2af6b8668d7765980068cb64f73d76" + "4ceaf3478097e770f14a96d4b5efdae5" ], [ "Ex07a.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], 0, - "eb25dbf4912e601395325f496f5128e4" + "52fae8ee7edc8a98eb12000e9b395c78" ], [ "Ex07a.substitution_preserves_typing", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" ], 0, - "4351ed79e66d2dbe2cf5cd1c99daed36" + "f67955c654830b78a14fb8ce4270bce1" ], [ "Ex07a.substitution_preserves_typing", @@ -520,7 +520,7 @@ "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" ], 0, - "19caf3f7c3d423941e215f2bf8934e02" + "47061a156445900222c21d16bdf1028f" ], [ "Ex07a.substitution_preserves_typing", @@ -594,7 +594,7 @@ "typing_tok_Ex07a.ETrue@tok", "unit_inversion", "unit_typing" ], 0, - "4646c2f53e8390e62fb990f5f9429b59" + "c3ea689ab7fd486440c5b0b42a67ca3b" ], [ "Ex07a.preservation", @@ -651,7 +651,7 @@ "unit_typing" ], 0, - "403ccb1ec233c465b8ddb7816e709886" + "0d5bdb0bcd0968c4ef2017a2e41cebbe" ], [ "Ex07a.typed_step", @@ -664,7 +664,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "e8553105038a6a48ba58ce588fefcb17" + "4a62a6ddfcefc5d95334a54961faaf11" ] ] ] \ 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 179732eeeca..19f2069be08 100644 --- a/doc/tutorial/code/exercises/Ex07b.fst.hints +++ b/doc/tutorial/code/exercises/Ex07b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c39389bb0de417941c86a3e09acc2308" + "3ebb6c38246e21a0117808b9183e90a1" ], [ "Ex07b.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "9e39d35a2c24d8e5403d07e33818b25f" + "e984ef49dda89637ffe06270d06e16e6" ], [ "Ex07b.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "4edfdc025798b4ba2f4b4fe61c748de8" + "3a05816ab4f90275b74bd169f8ad4324" ], [ "Ex07b.__proj__TPair__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "adec976a68b73226706655a3c7955c70" + "6d1de7533776c6be0b9da044541054e5" ], [ "Ex07b.__proj__TPair__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "b934cea63f47cc8a2300573f2d6af495" + "9f8f28d033e04457f691715c4e4b2e19" ], [ "Ex07b.exp", @@ -72,7 +72,7 @@ "assumption_Prims.HasEq_int" ], 0, - "4be7aa784fae70b2ab0789fea66cfb77" + "4a62ae9ac23c5ec81d83c0b0dcc08e91" ], [ "Ex07b.__proj__EVar__item___0", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "5d509e0b20ce43943558f1c223d14136" + "283f441e5f063c57d417b66c2367a0ec" ], [ "Ex07b.__proj__EApp__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "3d784d8658cc6f57df2c8112ed1d9c80" + "ea91325cb4dbc98ea1cfb2fadca69c78" ], [ "Ex07b.__proj__EApp__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "8d4c179667278fcb133b39911118c40b" + "f2a663505040f3297029fb47a868cc60" ], [ "Ex07b.__proj__EAbs__item___0", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "770ecaa77e5e80033f4e64c51ab53f75" + "acde67f982a3c693d0caa2fba96cf845" ], [ "Ex07b.__proj__EAbs__item___1", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "1f6299c0cbe1d062c69d13e68e206c85" + "d81da7add955781547df3452fc281841" ], [ "Ex07b.__proj__EAbs__item___2", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "99a313907a6c3516a1566bf4ed42e69e" + "dee70494cb70e42da4930b81b6eb5709" ], [ "Ex07b.__proj__EIf__item___0", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "4780135044f07f85689cd87d78f4581b" + "9e4b833dd7db6ce3d93f49fba2902e33" ], [ "Ex07b.__proj__EIf__item___1", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "4bfc23698af8490a281bf9c55314905f" + "97dbdffb9baae5b50fadc6df3576974e" ], [ "Ex07b.__proj__EIf__item___2", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "ead4df52dca7be2819a6b67afdd414ee" + "9c805d1c63f557896dc9014976fc4e4f" ], [ "Ex07b.subst", @@ -213,7 +213,7 @@ "subterm_ordering_Ex07b.EIf" ], 0, - "4d5f1daca439f0c5680e92731e78d054" + "d0eb750b5bce6167dfd42b416f91aae1" ], [ "Ex07b.step", @@ -234,7 +234,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "50fcdea46ee9b2b4ef7f6a9b0242839a" + "10186f5c1b485f0d0012075f61664099" ], [ "Ex07b.typing", @@ -260,7 +260,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "34a355bce6f5021ef0f02023d3e7b2c9" + "4e80cb51d457a30990bc9981cde0cf4a" ], [ "Ex07b.progress", @@ -324,7 +324,7 @@ "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "04c68fe10c9a5729e9ed23f6e00ec4c2" + "b1b2980b1d22899fa474507829fd2f89" ], [ "Ex07b.appears_free_in", @@ -348,7 +348,7 @@ "subterm_ordering_Ex07b.EIf" ], 0, - "b50b184cc99c04ea36a859ce6cb2d0ae" + "2b0fcb614baae71069608e54095e4d4f" ], [ "Ex07b.free_in_context", @@ -415,7 +415,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "8c33350af4130374ac99bc0a2f57830c" + "67d1e9c1c9f1e62f7f3a7bb6f507900f" ], [ "Ex07b.typable_empty_closed", @@ -431,7 +431,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" ], 0, - "c9ded799faa1bd3c07d5b868ad82b3c4" + "a6e11c92c99396e9bd56e29c0fa9711d" ], [ "Ex07b.equal", @@ -444,7 +444,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "bcdf38cd366c11228bdb0fe631c041f4" + "01b14bac294e12249319421012d4580f" ], [ "Ex07b.equalE", @@ -457,7 +457,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "cf6d76df103917ec6fddd29c1121c498" + "ec0fa420eec049f7b2875f03e4b87ea7" ], [ "Ex07b.context_invariance", @@ -519,7 +519,7 @@ "typing_tok_Ex07b.TBool@tok", "unit_typing" ], 0, - "236177bf24a987b2bb663d3bce1e9645" + "725223f59e8ea687e123d126c869a7e9" ], [ "Ex07b.typing_extensional", @@ -528,7 +528,7 @@ 1, [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], 0, - "cb4ca1a50196276b2f29e4fae2d8f7d6" + "06dade0f07ec0fc0842db26efff69059" ], [ "Ex07b.substitution_preserves_typing", @@ -540,7 +540,7 @@ "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" ], 0, - "246dbc0ca67c5cdbf37b3c09984d82de" + "fd92b533ff9304851aaadae8b257e8c2" ], [ "Ex07b.substitution_preserves_typing", @@ -549,10 +549,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d035fdb4659e7255e03d52e305ba05c5" + "refinement_interpretation_Tm_refine_9a093e78bf1bc54904efa23ca454f0af" ], 0, - "05e7dc33fee12c1a918176285a6a96a9" + "33d1341abaf957898c08a54cd82c3d73" ], [ "Ex07b.substitution_preserves_typing", @@ -629,7 +629,7 @@ "unit_inversion", "unit_typing" ], 0, - "4b99731bb3f6e1a83c9229cf139d54ae" + "bc143478f356efefba2cba3e7df5a029" ], [ "Ex07b.preservation", @@ -641,7 +641,7 @@ "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" ], 0, - "224dfaa3229cc9070607159e89b2375f" + "09167f5bdbe84041859abb1d928e18fe" ], [ "Ex07b.preservation", @@ -653,7 +653,7 @@ "refinement_interpretation_Tm_refine_bf62d4c1bb63a69655ed6597f113bcd8" ], 0, - "70407a28f0f9333045b6556fe4e19feb" + "17fcf4e5c0095ffa98db5061623e2419" ], [ "Ex07b.preservation", @@ -715,7 +715,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "ba0fab5aee36fe92a9e7f16dc466c66c" + "d4c68c1db6bdf98336146cddacc7ffd4" ] ] ] \ 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 23808e6913c..ba71fb0591c 100644 --- a/doc/tutorial/code/exercises/Ex07c.fst.hints +++ b/doc/tutorial/code/exercises/Ex07c.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d8a0eecb920fbda436b185fc9c6e24e3" + "3b2cd95c29525de3d9243a35539bacab" ], [ "Ex07c.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "84ad5c334ace85d91e460bf6a7d4d605" + "b7a7691a52e7fac1dca5c7f2740f7050" ], [ "Ex07c.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "3dc5e374c90bc8058296ed72f87212c7" + "95023b0a928d6441f12e5e4b7018d69d" ], [ "Ex07c.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "910074a1e5efcbdce29d63383d22ebf8" + "7ff2bec5ffd2a80243668eb7a30d8755" ], [ "Ex07c.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "66cc4af2b9d277e74feeb4c5065bd9e7" + "4e97ab697768fc6a373c81305f91a6ca" ], [ "Ex07c.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "cc1deb2c81e026bebe65e3acce97f6cb" + "44e200c8b31d0abf7438a6f695c8faa4" ], [ "Ex07c.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "8a4d65f33f70ac6c1eee5c9eebfdbc6c" + "f9380a849ad88001eb22942bd5b1c96f" ], [ "Ex07c.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "c5ba60657d452ae0bf4178e287c41254" + "f0dd34b3591a6d41d783b6e20620f24e" ], [ "Ex07c.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "a417ce89c84789ef49075674b6319cc0" + "2f01579f6541f5e8833da6d060918a1b" ], [ "Ex07c.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "8eb577446c8ea32308e3b2399316f7f9" + "bb7e6f22c1a2c3e069dff0ada2af8c05" ], [ "Ex07c.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "f67b17974e8fde35ce65926c6295977b" + "86565a15a4422d553740337348f5f1fa" ], [ "Ex07c.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "8cdfa0f2fadfcc2c86da1980ca7a7795" + "a694e694627458053c5221c845431981" ], [ "Ex07c.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "0370a639a22f9ad06b494a035c1322f1" + "7b22396d05761f7c5b34cfd45f14909b" ], [ "Ex07c.subst", @@ -187,7 +187,7 @@ "subterm_ordering_Ex07c.EIf" ], 0, - "31d5dc5e32e662e9884091f46d7a2b92" + "128aa0c4822c34edd22c9407b2d41056" ], [ "Ex07c.step", @@ -207,7 +207,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a43d2dc682daad48cd32d2acaae3b4fd" + "40d78e5123bb773bd6b1cde5d7c43d3e" ], [ "Ex07c.typing", @@ -233,7 +233,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "0c5a44593aa92f0c51154f62805c343b" + "e0d34b564464cc9de58d6500953e4899" ], [ "Ex07c.progress", @@ -292,7 +292,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "2b5a9e8a18008d366ce1dfb1409a46cf" + "f66f1e2a3eb3937868a14e9e759555ec" ], [ "Ex07c.appears_free_in", @@ -316,7 +316,7 @@ "subterm_ordering_Ex07c.EIf" ], 0, - "e6693b112253a363ad8ee59845150773" + "1be46afe0218fc57c40074c8dd3aaed5" ], [ "Ex07c.free_in_context", @@ -383,7 +383,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "219152d343104879bdc44295c1169680" + "794a8f908a11dee61f860935962d1a23" ], [ "Ex07c.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" ], 0, - "71a617d7a1787477962e67d2f6be3488" + "37cdbace82a9873fb36be3292ecabf85" ], [ "Ex07c.equal", @@ -412,7 +412,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "ce950c34a1f6de880605faffc63cc960" + "7fa2fb6fe05b2d5f396c23a35e5b069e" ], [ "Ex07c.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "489c44a58a2e3d3e610ec5c81b727a90" + "ba5621ee64c231e79b730f3da2045a4f" ], [ "Ex07c.context_invariance", @@ -487,7 +487,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_typing" ], 0, - "dadcf672f3f0a76847e1565e13f5a5e0" + "dae2045041d71c4cdf407ea7f8e30cba" ], [ "Ex07c.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], 0, - "b4e8c24453c5a725ecdb9d33052b38b5" + "0af6f9338b8a61fd963bf827ac8c8c9c" ], [ "Ex07c.substitution_preserves_typing", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" ], 0, - "aac27d43804cc3d3a1828aeb80319b26" + "fa65fc4bba20c58dd0ed6c175f954630" ], [ "Ex07c.substitution_preserves_typing", @@ -517,10 +517,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a62ef4e1b82201944c26a46c327bd489" + "refinement_interpretation_Tm_refine_315ccc107627b71bca5a927242a72f79" ], 0, - "a4bdf747c1841a524137dc53e87ae8d2" + "5a69af970db68206e6aa13ef2c91901b" ], [ "Ex07c.substitution_preserves_typing", @@ -597,7 +597,7 @@ "unit_inversion", "unit_typing" ], 0, - "5d999ff67d3b6a663b7b5586690d56c4" + "e81cd5c712dab6c372411a4267566555" ], [ "Ex07c.preservation", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" ], 0, - "e5ab46b75fe2de10974364a5aa54ec5c" + "7f8d09691bf711ae4606cb755d153ff9" ], [ "Ex07c.preservation", @@ -621,7 +621,7 @@ "refinement_interpretation_Tm_refine_4cfaa190b25bee06832ff28680da0c47" ], 0, - "c4f7316e70d89f12d0160c43837b0bc6" + "cc8ff89d46fe7bc53a455ae206cd1e79" ], [ "Ex07c.preservation", @@ -682,7 +682,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "0ef5cb6075202b19ca1550920a5c0e92" + "19d0583002dcae9a66c7545e56685ccc" ] ] ] \ 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 6b1c234cb45..679c10da7e7 100644 --- a/doc/tutorial/code/exercises/Ex07d.fst.hints +++ b/doc/tutorial/code/exercises/Ex07d.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "342f2c81c3823cc4e8ed8996e63002d6" + "27e0781b72afccecd7d5269529e69853" ], [ "Ex07d.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "ba59d4c4c5a96ac3eb18152517b01ef3" + "5740420380bac22e4e750b442c1fcca7" ], [ "Ex07d.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "c34fc27d09ffd2c3b183b43ba6ac8a62" + "83c39c78f8bae1c89947ea238b1706d5" ], [ "Ex07d.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "eb1956723b3be02b6174ca2546e3ddba" + "475b040d76a3a5db7b3b4594267039b8" ], [ "Ex07d.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "348f881e3b2de96eb2724eaa3ae42897" + "4ef841616c41830d1e0c63015ffda74a" ], [ "Ex07d.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "fadb17ee8df3c972b724034a254a7673" + "c1003e4d59d4e509a1a91355bda0b2ad" ], [ "Ex07d.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "308962fcea639dc70c1583d7a69108c8" + "5a9c9a9da5483be137276bf66fff443f" ], [ "Ex07d.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "d9662a9ccb3893ac10cc8c11f21d5692" + "283550f3ffdbde1f0661422e4193ab0f" ], [ "Ex07d.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "8eed06ba8949ddd6761bcc4d680e0792" + "24b9e046b6da44df91f48a3c84dfdeaa" ], [ "Ex07d.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "8ea2f69f084fe2e966475bd881fc5d4d" + "74008c54f7c2b929361f0d6650ad2002" ], [ "Ex07d.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "cdf9a63f3f9560a698cae7608a0df8d6" + "437a1b3a0e7a4fd4eb932b45bbee3162" ], [ "Ex07d.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "e40e750ac9670710ad1e092de9b06817" + "77635759f6e07ad0e5f12e9641953652" ], [ "Ex07d.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "cc158ef0aeb689ff5e0001d5b5c5739b" + "53fb4c56c2b3e9eee5ebcfc5b87140af" ], [ "Ex07d.subst", @@ -187,7 +187,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "1e2f95e0eb31838390dc8d171899a70b" + "1eb8a921076545219d4308be3401d781" ], [ "Ex07d.step", @@ -207,7 +207,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6e30fdcd46fe1e0939668e0bd9f567b2" + "b5a9b67fc379c4b33c92bae05554f746" ], [ "Ex07d.typing", @@ -233,7 +233,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "75fd3cb032b3f5f0ac7b8068930de091" + "234599723bbc38686489ec78b026b6da" ], [ "Ex07d.progress", @@ -292,7 +292,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "cd049f997b8cee2b77011846dab7d395" + "0ba10c8d84522c976861303751a42027" ], [ "Ex07d.appears_free_in", @@ -316,7 +316,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "f3030025def814998b6ba224fba5e8ab" + "30945bbe3f9307a89879ca958e74c925" ], [ "Ex07d.free_in_context", @@ -383,7 +383,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "74eb24791763c07005dd11472d295d9b" + "b5da29941332b30d4b8cfc9dd5341779" ], [ "Ex07d.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" ], 0, - "2fed82c1742cac3f684b690e80ef9fe3" + "874868245b0aa21a2a221620b8fff018" ], [ "Ex07d.equal", @@ -412,7 +412,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "ffe083058fbdf48f6f53bf13c616def8" + "3dab9528d6028ec75d5af4dea0a12043" ], [ "Ex07d.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "6ee74d9b4a4ade23b5ee42958d75e1f3" + "a23047dadb80ae64a952cab4d97bd042" ], [ "Ex07d.context_invariance", @@ -487,7 +487,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_typing" ], 0, - "8a5f6bdc89a18560c6c2300a08ace2d1" + "7a16485dc9296517d34b3ceae807dbca" ], [ "Ex07d.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], 0, - "197cdff0fa2540676bde26d42cf6aa34" + "eb6ba4d37432cf72b20309cb0d825fea" ], [ "Ex07d.substitution_preserves_typing", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" ], 0, - "b08cab88b025e58dfc400074b09b8cb0" + "1bb811e048a3af873545cb067d7e3d96" ], [ "Ex07d.substitution_preserves_typing", @@ -517,10 +517,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43b459decccaff7450f25125a9c94930" + "refinement_interpretation_Tm_refine_8ab31ffad0a6bf610b08c3440216253d" ], 0, - "1a2818dac52915a2609dd5a0a6acd773" + "8872d22538717af77943159f9a3b52e2" ], [ "Ex07d.substitution_preserves_typing", @@ -597,7 +597,7 @@ "unit_inversion", "unit_typing" ], 0, - "0a1516df007d670c2f5d085a2170de4b" + "e1aecbdadcaa56bfe8123e23fc18355b" ], [ "Ex07d.preservation", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" ], 0, - "d4e10b00fbdcfa14411bdf6b0d688346" + "b63a704a8605e7e1fff69828dd501424" ], [ "Ex07d.preservation", @@ -621,7 +621,7 @@ "refinement_interpretation_Tm_refine_e217d9dee4ceb6482fb83e449fb7fc82" ], 0, - "d22de0fdf3b019df2998abec9b2b3f31" + "11c41b56eba5fb57833f62ec3401f87a" ], [ "Ex07d.preservation", @@ -682,7 +682,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "b88439457dcd38bf7ceca6fd13c19d7c" + "1c6f631ffd60f9cb8711978dfdd47527" ], [ "Ex07d.typed_step", @@ -695,7 +695,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "7015357ff35c0008e23ad60127388615" + "83bd5fa5b34176e2e825eb2a65c084ff" ], [ "Ex07d.typed_step", @@ -708,7 +708,7 @@ "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "297263c5dc1af082a94cdee0a44a4146" + "27cd0216f3dd9f1efe4c2be6e6aea519" ], [ "Ex07d.eval", @@ -721,7 +721,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "1a124000e218795797a3da54649f4765" + "7d16e8eda6568236511273833b1c02e9" ] ] ] \ 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 018b87731a2..3ad2fde8afc 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, - "fe1fe377887d7a7c45e560a4b1c717dd" + "c15d753b8704d2a77ae5db9c4599d686" ], [ "Ex10a.__proj__Writable__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "fd7323c965c3b95d8fd5c1d573b050c8" + "b2d9ca2bb9e2fe170fd29b602510914c" ], [ "Ex10a.canRead", @@ -38,7 +38,7 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "1a45bd75614bd9acb159750b1b4d1a6a" + "88a623d96c8b0ace89887b8e330cd10b" ], [ "Ex10a.revoke", @@ -51,7 +51,7 @@ "refinement_interpretation_Ex10a_Tm_refine_f978ff754af8f266cb4edc62e2a055cb" ], 0, - "f8870352abd9473d84c05eebfc42d0c2" + "7b9a34d8fed10a50ef559a26e3f5adbe" ], [ "Ex10a.safe_delete", @@ -72,7 +72,7 @@ "string_inversion", "unit_inversion", "unit_typing" ], 0, - "edffcfdd40f13645b98876e66d44599c" + "c35b80f03169595327dbc19f55bb6869" ], [ "Ex10a.test_acls", @@ -110,7 +110,7 @@ "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6" ], 0, - "5792bf6d29c47184f36bafb9131a3933" + "d45b2cd180f41b74025e54d3f9d7f703" ] ] ] \ 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 7bca04ed61d..7f5eacccc6e 100644 --- a/doc/tutorial/code/exercises/Ex10b.fst.hints +++ b/doc/tutorial/code/exercises/Ex10b.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ec4b5e474d5b24d23648bebd719fde65" + "74cdfce1bfc620a222172bb44f747084" ], [ "Ex10b.__proj__Point__item__y", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a16a7ed2a0ce4b05fc0d5694c0c404a3" + "7085562b2512006f410423ebb15c5a97" ], [ "Ex10b.__proj__Point__item__y", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e4bb0b59ffcbf19e25788ea68e8048d" + "ddc92f38b42869f4dd0bb8c120893985" ], [ "Ex10b.new_point", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6eca2804d3f9275a0f7ebf6b29be41e1" + "1894a82d98b91b898b11e1e966ddcd25" ], [ "Ex10b.new_point", @@ -92,7 +92,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "b658eb081fdabc46a72171626c6c1d5a" + "1d9281d760944cb0e00bb445b80cf80a" ], [ "Ex10b.shift_x_p1", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bfe30ef65a72c1d3cdb30dafdf916b89" + "5f22d38b8e1a8f7e3546f47340ba45fc" ], [ "Ex10b.shift_x_p1", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a443d159b0581b6d704d3bce4b9c0573" + "4dfcb8aa61f1be107e517dcda08a8dc5" ], [ "Ex10b.test", @@ -148,7 +148,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "a5a0bc0d06544c510203fdb2ddd6a592" + "fcbf7737d2fb7a5d14cfce77d162567b" ] ] ] \ 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 9d8685bf485..9f3eea5a900 100644 --- a/doc/tutorial/code/exercises/Ex11a.fst.hints +++ b/doc/tutorial/code/exercises/Ex11a.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d68c8e983511300dbcd43693873f62cc" + "dabdbadd072c4cef2fb9cb8ff09af956" ], [ "Ex11a.__proj__Point__item__z", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5061a8665847eeaae670bd41ec33932c" + "c6c4d51c77a700ae98b9a7f7d6262c6a" ], [ "Ex11a.__proj__Point__item__z", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ecb399c8a26321157ed8032c5c7e6e8" + "5899c282e256533eb641e61666bbd27a" ], [ "Ex11a.arm", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7eb02c7ac53eaed97431c80826ac9e6" + "43d00cbc1b18a628ac826741648f538a" ], [ "Ex11a.__proj__Arm__item__azim", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2938248c06416dd901d84a0a6e13c2b4" + "9c65004a8b2ca0aa26a545516992acd0" ], [ "Ex11a.__proj__Arm__item__azim", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "770c74abea16ac005c45259be8bf64c7" + "50ea236be4b764285910a10457192dbc" ], [ "Ex11a.new_point", @@ -180,7 +180,7 @@ "typing_FStar.Set.union" ], 0, - "442b315780b22a1bff1dd76b9621f21c" + "fa9eb2b2731c290dc9b099c128c9e663" ], [ "Ex11a.new_arm", @@ -261,7 +261,7 @@ "typing_FStar.Set.union" ], 0, - "106378e190a99a845945953707adba6a" + "85aabdd8b1774bd8f9c90b6cb7f3004f" ], [ "Ex11a.new_robot", @@ -341,7 +341,7 @@ "typing_FStar.Set.union" ], 0, - "f49e200120938d0dc496b934779d7cf0" + "155dcbfaf2dcc8c4948cc74161262737" ], [ "Ex11a.walk_robot_to", @@ -450,7 +450,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6a78e66ee32089277f5234ff2a860293" + "3d3597d41163297923b4e662f5158621" ], [ "Ex11a.fly", @@ -563,7 +563,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2f159b8b34c4b11110d26f1f66edf5b0" + "0c872122e6373208edae93bfb09645b7" ], [ "Ex11a.fly_both", @@ -652,7 +652,7 @@ "typing_FStar.Set.union" ], 0, - "fa296aff4106e7a53150fb814c88d296" + "a3a3c82e4539de2d32f7d36b29dab108" ], [ "Ex11a.fly_one", @@ -713,7 +713,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "f798f6988e3058a9265ef1f1dce69cc9" + "f78564073de7bef79ca3afd6f972068b" ], [ "Ex11a.__proj__Cons__item__rs", @@ -726,7 +726,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "0fe98b22dfc3a1eda5c439b432578267" + "5a907f12f2097e6d7cd9c584ff570028" ], [ "Ex11a.__proj__Cons__item__hd", @@ -738,7 +738,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "548e7abbe28cec164c27470606af4557" + "9c6afc9b473d36ebd8f562b7ba1be8b6" ], [ "Ex11a.__proj__Cons__item__tl", @@ -750,7 +750,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "0c9f39725e5852eabfba22de70919e91" + "5ce471cbf24239126057aa9ec8d15738" ], [ "Ex11a.mem", @@ -765,7 +765,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "eb42bc69aabe8b18c070687cb1af372f" + "1e881d9b2b27faa82b36d08fd6f256c3" ], [ "Ex11a.lemma_mem_rid", @@ -805,7 +805,7 @@ "typing_tok_Ex11a.Nil@tok" ], 0, - "4ead3a02f26f7bd4a6dcfb4df6962bb7" + "8a006a9650988981eb3846121c86e31a" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -818,7 +818,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "79c691bef3f9d85caa2c5b95ac6a191d" + "e9af05108a8d000e9e979e00285c6d26" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -840,7 +840,7 @@ "typing_Ex11a.__proj__Bot__item__r" ], 0, - "f101e2d6f19853f5cb0458de7d81a091" + "eea18af20f76bcf2c2dc20b4c4a7f7cd" ], [ "Ex11a.main", @@ -930,7 +930,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "c8de7af7205030c7f0cccfe94b89f79d" + "105628e02849d2ea81c0c89e0520f7fd" ] ] ] \ 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 7bbab69705c..e1910960c11 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, - "76cb6860e35bca29132454e0ba66a2ce" + "04b277050a9f2bd57809bb783a6d1f32" ] ] ] \ 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 809820bcc75..02e4e6b78f9 100644 --- a/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "81a8aa5372dd7f4cc2e18eb67f5f9330" + "e5de87aa84b9464bbb8c895579ef80f9" ], [ "Ex12b1.Format.append_inj_lemma", @@ -33,7 +33,7 @@ "typing_FStar.UInt8.t" ], 0, - "fb69baa98ade3eaad3a072e53e9f100d" + "edb76b9ced31c5e67b260c2d8097502e" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ab04997787cd348d5c1cd4a7091e47d" + "fe9a18bfeaa62d997a3fb1b1208be332" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -56,7 +56,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "7fbde17ac8f0fac7f062501946bd9696" + "c468c4c332f2151932839520d1c0f5ea" ], [ "Ex12b1.Format.UTF8_inj", @@ -69,7 +69,7 @@ "typing_FStar.UInt8.t" ], 0, - "9c48e674dbbd96bd959847571f69f03e" + "de03d0455d5c3c327deffb9fb447e249" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -78,7 +78,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "c2c1acfbed748bee0a0cc512b8a51359" + "b2de73f5daff0a1db334177041fd4cbd" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -87,7 +87,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "468ccad531ac8106afb45d96207bbf15" + "656d9ecb987873f8cfcad73709a684a8" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -103,7 +103,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "e7de44fb43e79b61920118f303f57dbb" + "79e8c3bebd85984c3470346e563412e5" ], [ "Ex12b1.Format.UINT16_inj", @@ -118,7 +118,7 @@ "typing_FStar.UInt8.t" ], 0, - "558989e88fbf1d7936a354adf6510f24" + "3d57c271aad509a0de3b23466dafaffd" ], [ "Ex12b1.Format.response", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_cab669ea2f01a509964765946e35daa0" ], 0, - "121014552f421189cd97e179a5d1eebc" + "bc8bbacd740a04164dd65830c30cdcc6" ] ] ] \ 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 db630d11d2b..9e80bcac3ea 100644 --- a/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "0c8118a56cae2e6cacf47a281ad406e5" + "60838edae18148b98656303cb6fd877d" ], [ "Ex12b2.Format.append_inj_lemma", @@ -33,7 +33,7 @@ "typing_FStar.UInt8.t" ], 0, - "87859201c23f89bbe57ecd1fa774760e" + "6970d476f504580c83c118b3c61c26d6" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a886fbc103ca0dd67a3e9b19ed49857e" + "00bb4a79ead77a9da3d8d3149ed4c8d2" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -56,7 +56,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "ca722286877d716ac6b0ea6fff0720be" + "515488da881a3e6551182b019f9b60b6" ], [ "Ex12b2.Format.UTF8_inj", @@ -69,7 +69,7 @@ "typing_FStar.UInt8.t" ], 0, - "e3127e32d33484d75d3a356628f6ec11" + "4f0a673763ed70e3c019652f455a1c1e" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -78,7 +78,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "81e2bb0cf2c9d8f5e8b70158c6f25bd9" + "440e82a09312d0c319ed08165bd6d231" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -87,7 +87,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "7df7a007774ed5f6625eca10edee78bd" + "06ede031b571e6d25c17325da3da5d97" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -103,7 +103,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "523ae1dace9fe1b57f2a666ee6d46e78" + "3b32facff93f6e399de0356318387795" ], [ "Ex12b2.Format.UINT16_inj", @@ -118,7 +118,7 @@ "typing_FStar.UInt8.t" ], 0, - "cc9c6e0a47982ad7f5631362b2992b3a" + "602a39fe05338b32c59c7aa8d9b7b0d0" ], [ "Ex12b2.Format.response", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308" ], 0, - "40fc952559ffd1b8dd7df32c395c3991" + "75a48801f6d8d9739f36cd5cea60f821" ], [ "Ex12b2.Format.req_resp_distinct", @@ -143,7 +143,7 @@ "equation_Ex12b2.Format.message" ], 0, - "6b65016b886f3c802484cc2642f2f508" + "007922d440f7e3b07d40fd34bdbb84ad" ], [ "Ex12b2.Format.req_injective", @@ -156,7 +156,7 @@ "typing_FStar.UInt8.t" ], 0, - "6b179a333ffba2711b15234c9988f67c" + "e088744b984ba4e8d986b00e87d483e0" ], [ "Ex12b2.Format.resp_injective", @@ -169,7 +169,7 @@ "typing_FStar.UInt8.t" ], 0, - "ad2ea3e7676855946788c23d4aabbd35" + "3cdf9ba4f954f709052754da1f4c1bee" ] ] ] \ 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 0823887cb6e..59bbd8fed4e 100644 --- a/doc/tutorial/code/exercises/Ex12c.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12c.Format.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "7bd77eb8dd183a2da47019be205576b1" + "44486994188c0a9af96d74e54d0c6302" ], [ "Ex12c.Format.append_inj_lemma", @@ -29,7 +29,7 @@ "typing_FStar.UInt8.t" ], 0, - "9a95d88d0974322b394167ae50664871" + "b7c5a85078f2389fe88fdb8ca96c205c" ] ] ] \ 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 c45d89b990b..07866dc358b 100644 --- a/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints +++ b/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a3f4f2a7db4a85c046681595e1950fd6" + "c58cd51bb8da83e252cc827baef1d2ec" ], [ "Ex12d.Pad.pad", @@ -23,7 +23,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "e40beef416adba7f3d51f47af173a28d" + "a80a3063ec4d8b8d9f1ff6341cbad318" ], [ "Ex12d.Pad.decode", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_bb7f7fd2d7f9c9b2d22c55c88cbda154" ], 0, - "c0bb6906cb0706dafd697f7727edca9e" + "7cd79f83080f5ec1571a48e80debb897" ] ] ] \ 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 693770e7c15..de97a3a8270 100644 --- a/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints +++ b/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6403452572c8261f88084904a89fd6c8" + "d09855f554eed23b1b219d6943d98d07" ], [ "Ex12e.Pad.pad", @@ -30,7 +30,7 @@ "typing_FStar.UInt8.t" ], 0, - "f2e2c10e736ee75dd52c13b19411b3e7" + "bf7812e95558b79625a51802fbbf437f" ], [ "Ex12e.Pad.encode", @@ -52,7 +52,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "06177f7e47047ddcb1c7b2175a95a17a" + "382f29d847f483822b54005881f53021" ], [ "Ex12e.Pad.decode", @@ -98,7 +98,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "d82835f08b7d208e1acb514fbde37e74" + "e68ed6f4286731e57536b5ad2934b9d6" ] ] ] \ 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 60b6a45ee07..c11e33194a8 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, - "ec00a8b77b8a3845905aea52d95bd061" + "6925c515bc61b132b015f2a8136c06ad" ], [ "Ex12g.TMAC2.bspec1", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "bc71fda05c362b48a8288e0c817890cb" + "ae5f1fe71c2056b805ee75b6b684ff65" ], [ "Ex12g.TMAC2.keygen", @@ -40,7 +40,7 @@ "typing_Ex12.BMAC.keygen" ], 0, - "4b7109279ff4e1eb1e26d487091e591a" + "21fe2ebe666ccf735115bf4e92ab3755" ] ] ] \ 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 c5e91e0e5b8..4bf981c70d4 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, - "972ae672a9c4b2050d72ab7511479539" + "444397a7bead3b1ddac0b4b8756ad3da" ], [ "LowStar.Ex1.min_int32", @@ -38,7 +38,7 @@ "typing_Prims.pow2" ], 0, - "12ca0a35e83bf0f93ca73c006fb2d0d7" + "f0e6081367a41bcbc95f0c881e765bc0" ], [ "LowStar.Ex1.sum3", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "1adaf5803f3101fd0e095bd76c12c029" + "cc1cdc0c81a05bd6d7acaa858d5dcc09" ] ] ] \ 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 308369dd68b..4d33aceed30 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints +++ b/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints @@ -18,7 +18,7 @@ "refinement_interpretation_Tm_refine_c97172742a96c0b17199622a0241325b" ], 0, - "fa6349f3e299ae236ba44edf9d05f815" + "3bd966f52461ca233e0c2ab7ef845768" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints b/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints index a63b6a777f5..0c68c3050a8 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints +++ b/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints @@ -34,7 +34,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "721034d9ff49e809ba85c2ea01763662" + "2616bac4541634948bc5ae05ac10b6c5" ], [ "LowStar.Ex3.pop", @@ -61,7 +61,7 @@ "typing_LowStar.Monotonic.Buffer.get" ], 0, - "3a3608295979c9e1e8a0c2185837b960" + "80ffb83e9aa1b269a3a70a8ea0d41bc2" ], [ "LowStar.Ex3.malloc", @@ -90,7 +90,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "d6ac7225c013d2233675a37b072679f9" + "6b6eef11f68a12d7ec29051a04326cd3" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Makefile b/doc/tutorial/code/exercises/Makefile index 4f82420e7fc..a2607f6b2be 100644 --- a/doc/tutorial/code/exercises/Makefile +++ b/doc/tutorial/code/exercises/Makefile @@ -36,6 +36,9 @@ LowStar.Ex3.fst include ../../../Makefile.include +# exercises have val without definitions, by design +OTHERFLAGS+=--warn_error -240 + verify-%: __force__ $(FSTAR) --include $(FSTAR_CONTRIB)/Platform/fst --include $(FSTAR_CONTRIB)/CoreCrypto/fst $* diff --git a/doc/tutorial/code/solutions/EtM.AE.fst.hints b/doc/tutorial/code/solutions/EtM.AE.fst.hints index cfe17bb4234..5e66bf8f31a 100644 --- a/doc/tutorial/code/solutions/EtM.AE.fst.hints +++ b/doc/tutorial/code/solutions/EtM.AE.fst.hints @@ -17,7 +17,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "64504e2295f88393aadaccc8ebf57d2d" + "b0bfd7b5c7725a24e9a1882d15d9ad54" ], [ "EtM.AE.genPost", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "2f912f6f69a0d478e4f3e39cacfe1b3f" + "25d3d5d99fa5372ee1cc0e6c0b708959" ], [ "EtM.AE.keygen", @@ -160,7 +160,7 @@ "typing_Prims.pow2" ], 0, - "6ad97dab601713f774491397ea1aec27" + "01edd98b4f9cc5d8a2d632febaf84880" ], [ "EtM.AE.keygen", @@ -281,7 +281,7 @@ "typing_FStar.Set.union" ], 0, - "287b980e5b5929ce0275439a0b9ac4c9" + "c49a418200779ba9662ee539612d191c" ], [ "EtM.AE.encrypt", @@ -393,7 +393,7 @@ "typing_FStar.Set.singleton" ], 0, - "d4311c3df3d73b4cfcfc6f6e898306e5" + "5864d334504c607aee9640c79b3ed7b1" ], [ "EtM.AE.decrypt", @@ -411,7 +411,7 @@ "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "1459774ebd40ddf3b2ea87c1c1f4472c" + "78a3044d7d8d03e613644bf59261e2a8" ], [ "EtM.AE.decrypt", @@ -530,7 +530,7 @@ "typing_Tm_abs_828e9bf3f7b8947a8345907abcb4f794" ], 0, - "beb7b09775b3a891d148d58dd41f53c9" + "d62be54054bbe82046c424434363f072" ] ] ] \ 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 073a11f913b..4955fe582bf 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, - "f718ef2af6b83a38100ffd432ae467ef" + "02ae6f63c33b56d686ad505c623d33ca" ], [ "EtM.CPA.keygen", @@ -101,7 +101,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "fefedee8791b7cafac6f78a5658fe5ae" + "b28e6df05ee0c313d26cdaee3c2c37a5" ], [ "EtM.CPA.encrypt", @@ -143,7 +143,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "241cac698f2195e93089a52975e0a1e1" + "f32f4fffbe5d86df56d77fdfcaf34efe" ], [ "EtM.CPA.decrypt", @@ -159,7 +159,7 @@ "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "25b0b18590dc6bc385736bc9c09879c0" + "2e2e0b3cc1fcd402eff06b448c0fec7a" ], [ "EtM.CPA.decrypt", @@ -253,7 +253,7 @@ "typing_Tm_abs_50119bc4d67e4e21ccc8214627c33789" ], 0, - "adf95a2b277d939fb77c459db1f590c7" + "f2936665afcaedbcf91a11f36fa36500" ] ] ] \ 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 66b53579bb2..eaa4abe2364 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, - "0811b76da7dedd66edc179ecc9b3531f" + "dca20ec6f6ba4d2d2fd61cf2010c0b68" ], [ "EtM.MAC.tag", @@ -24,7 +24,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "0949f9f63271a44e5c936f8e57a0d0b1" + "e1e1425b8a6890406fdd403182903673" ], [ "EtM.MAC.sha1", @@ -33,7 +33,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "9cd407b45d72f41ddf835d9863e63e73" + "d14af7a45ea03e2db25c66e551512006" ], [ "EtM.MAC.hmac_sha1", @@ -53,7 +53,7 @@ "typing_EtM.MAC.sha1", "typing_Platform.Bytes.op_At_Bar" ], 0, - "fa3fe50b536c3eecd634e17b0d0c62f3" + "6eac0c17ab813ee386cf4d16c4b7e33e" ], [ "EtM.MAC.keygen", @@ -146,7 +146,7 @@ "typing_FStar.Set.union" ], 0, - "0f1202d483b9950851d7ce39b213b7ab" + "6eb5749c74fdf5b9c1e8fb1da511ce66" ], [ "EtM.MAC.mac", @@ -183,7 +183,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "b891ab233eaa1170529083e56f9ada13" + "c82a8a0ef35378fbb5f6f05572bd0fea" ], [ "EtM.MAC.verify", @@ -201,7 +201,7 @@ "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "4ad1aa3fc934efc4e6255a66c444e841" + "d701b533f980a19587158a2996adc7cf" ], [ "EtM.MAC.verify", @@ -272,7 +272,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "80847e68d1930f8ab1d851baf8f98b98" + "11ba8a4d888f9f8b0ed89ea6f585657b" ] ] ] \ 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 78d47cba9d5..3277195f6c6 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, - "ce2cc4ea046a864aa736cf46d511b43d" + "fc5db8d23e13a9415f1671ba47f9efb1" ], [ "Ex01a.checkedRead", @@ -27,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "fcef67b9ce277764b3f9eebd1f28a3a1" + "bd4ec436a0ae08ecd0e97c7dbc7eba84" ], [ "Ex01a.checkedWrite", @@ -36,7 +36,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "a8eb403d3f31280abc25fe30db502122" + "fa7a55430e426897b5eb5fdec71dd58a" ] ] ] \ 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 6b1644387d9..bbeee2b0dce 100644 --- a/doc/tutorial/code/solutions/Ex03a.fst.hints +++ b/doc/tutorial/code/solutions/Ex03a.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "af64dae1a7e33da3d3dbd4a8792a5f4b" + "d4e2053a09276d5e7c5297a00fc1784c" ] ] ] \ 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 c99021df12e..03621233611 100644 --- a/doc/tutorial/code/solutions/Ex03b.fst.hints +++ b/doc/tutorial/code/solutions/Ex03b.fst.hints @@ -18,7 +18,7 @@ "well-founded-ordering-on-nat" ], 0, - "3379c1d54952b67f64ed670def83397f" + "256d33fc594b2063e09f6f05b39e34c1" ] ] ] \ 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 570b2acb4d5..bce3d0e3bcf 100644 --- a/doc/tutorial/code/solutions/Ex03c.fst.hints +++ b/doc/tutorial/code/solutions/Ex03c.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "3286c6c3190f621302096d398f7ac0a3" + "ea1e2b200427dfdb719d8dc17ef1d0aa" ], [ "Ex03c.fibonacci_greater_than_arg", @@ -41,7 +41,7 @@ "typing_Ex03c.fibonacci", "well-founded-ordering-on-nat" ], 0, - "b8f3b8f4829533211b7ade5d1f323ad4" + "b06e6ce42f5d6d916c6072088cdea5fc" ] ] ] \ 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 609d87e3c8b..14a5070c814 100644 --- a/doc/tutorial/code/solutions/Ex04a.fst.hints +++ b/doc/tutorial/code/solutions/Ex04a.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "19a1da2eb4b7865fb8b5f69765e86173" + "471720d27cc39aa61801cc4d37fd0814" ], [ "Ex04a.append", @@ -47,7 +47,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04a.length" ], 0, - "0a376f65ef55634070f8dc159e7ce8b2" + "117bcd53c924ffe5ae02a43cd51e12f2" ] ] ] \ 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 7ddf64cfd35..196d9d7a8a2 100644 --- a/doc/tutorial/code/solutions/Ex04b.fst.hints +++ b/doc/tutorial/code/solutions/Ex04b.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "581debf78740e8db3f084fc90b00f99a" + "c24fd26759b16fb069162f061d11e025" ], [ "Ex04b.append", @@ -31,7 +31,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "faee9a26b9190e017060b5ee1ae3da82" + "dac1c3725ae9ee55cf63b2e5b521755b" ], [ "Ex04b.append_len", @@ -64,7 +64,7 @@ "typing_Ex04b.append", "typing_Ex04b.length" ], 0, - "a1e0533c86b206b9b442a271ec957874" + "d4e62836ea51c76f7a8dcffc2d000881" ] ] ] \ 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 218789bd726..af6f9de1969 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, - "b7e1bb50dd26f27758ccd0081dec28ea" + "68c120e3e06cbfd406be4cdd897bd1c0" ], [ "Ex04c.mem", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "29e8dae5ed851f576ce3e22ab4b498b2" + "ef2030f2d7dbbfed8b58b5e29686a935" ], [ "Ex04c.append_mem", @@ -62,7 +62,7 @@ "typing_Ex04c.mem" ], 0, - "71fa020073b636d2cd35f3f7ecb04622" + "1f227015ad2b6251a7518823cdbeb341" ] ] ] \ 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 e60920250ba..6ea11f3d203 100644 --- a/doc/tutorial/code/solutions/Ex04e.fst.hints +++ b/doc/tutorial/code/solutions/Ex04e.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "504986533877aa4cb6020cfb0a8e1b1a" + "27c7efd5d55835c8940e2e7809f82018" ], [ "Ex04e.__proj__Some__item__v", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "37b0f2568e27c13e33e535a5cb194419" + "54b084f0e7808e2791c821217b26bb44" ], [ "Ex04e.find", @@ -37,7 +37,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "7c6daede9459182c41d7dee87473f6c1" + "5f3f87613ddd13eede45fa32827cd4c6" ], [ "Ex04e.find'", @@ -52,7 +52,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "14403be08ec6b9e339210268ba213308" + "f2e7ebee26178f2d6d45ddf58dae9302" ], [ "Ex04e.find_some", @@ -67,7 +67,7 @@ "projection_inverse_BoxBool_proj_0", "typing_Ex04e.find_" ], 0, - "db0c8ec4139907314ee9d65b11c91ec8" + "bfe404036d0ae515d23f6503cb580d3e" ], [ "Ex04e.find_some", @@ -84,7 +84,7 @@ "typing_Ex04e.find_" ], 0, - "a4afafdbd2f50d9e1abd8a5ac9760de7" + "ffad5f89b8df7659fe2e9440a74db4a1" ], [ "Ex04e.find_some", @@ -115,7 +115,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04e.find_" ], 0, - "9806039d1aeec68c406a48321da9bfea" + "a521c9b36cbbd1b6f4ebf55cdac84bac" ], [ "Ex04e.find_some'", @@ -129,7 +129,7 @@ "fuel_guarded_inversion_Ex04e.option", "typing_Ex04e.find" ], 0, - "d862d7679217fad8c4f337cc2b10d598" + "a52578b7347defdc3ba7a5a2443a160e" ], [ "Ex04e.find_some'", @@ -146,7 +146,7 @@ "typing_Ex04e.find" ], 0, - "a62817d11e6e28f7a8690c8dd4796ab4" + "8b25c666bcebfed1b08160aad50cd63b" ], [ "Ex04e.find_some'", @@ -172,7 +172,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04e.find" ], 0, - "038826ac5cd6120aa33ea36672a564f4" + "0126b4ba2813e6d9625a1ed3cd06ce68" ] ] ] \ 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 69b48dad8ab..496d7851842 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, - "7222de2361e6b8ca1663bfbaa622b3fc" + "389dc109b566ee7490ad15079d87ba4f" ], [ "Ex04f.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9ac97f9c23977dbdb207add99ea50e04" + "c7b94c7ff8df240f3741c637a63de517" ], [ "Ex04f.fold_left", @@ -42,7 +42,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "79edf26b265d2eac0a6932c60a7c454e" + "120f89969375b470125582e689a6ca01" ], [ "Ex04f.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04f.append" ], 0, - "e9420c1f40de78b15dc6b95ed7f62bb3" + "71839bd7b5fe180a0f5af380004c490f" ], [ "Ex04f.fold_left_Cons_is_rev", @@ -101,7 +101,7 @@ "typing_tok_Prims.Cons@tok" ], 0, - "8642bef153e89c7fd5e45bd6efeabe9b" + "d2f9f4d69dcced74ec946b52079b5e1f" ] ] ] \ 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 5e9284227a9..63d2f882a7f 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, - "345009c6f9722ef0e7c9f46188a22783" + "3e05207ad2f8d8c458e271ba7edfdf11" ], [ "Ex04g.tl", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "00a3fd6d7e22354f323495aec1d4a22a" + "604fb369743fadbbd5adbe86868c7266" ] ] ] \ 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 23ff526a933..e5f313d4f06 100644 --- a/doc/tutorial/code/solutions/Ex04h.fst.hints +++ b/doc/tutorial/code/solutions/Ex04h.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0d0fb32e99b5f1156cd7446f1206a32b" + "8ec365be984b145d8a2e2f9a4527fe03" ], [ "Ex04h.nth", @@ -45,7 +45,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2026917d5d9f2db9ebd3ab4872ba1acf" + "68c203fdc7e49b338ba0c2df59bed1d7" ] ] ] \ 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 c90be8ccd6d..0007f52e7bc 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, - "0b64327f36bb76f84a8f9d02bf2327bd" + "3520b2ada8741edead79f13b9552b1d1" ], [ "Ex05a.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2aa72b012d410eecb2aa0a0f825027fb" + "1636ef02e21b235736a7aa56acf36dcb" ], [ "Ex05a.rev", @@ -42,7 +42,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1a29733ac4263a2193f5be8b679403f6" + "6fe8d647a38906470cd409019ed288a7" ], [ "Ex05a.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.append" ], 0, - "6da8d44a0f1da6cf2c72436943ca7016" + "1ce38053ba4805346fa8b41961f1d290" ], [ "Ex05a.rev_is_ok_aux", @@ -98,7 +98,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.reverse" ], 0, - "9de44bcd5d324f056e0e0e70fb977ea8" + "49aefc4544be257b454b6178fcab074e" ], [ "Ex05a.append_nil", @@ -122,7 +122,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e31cc7e602fe442652860a2c02901357" + "179def71cd5b3188f111f396586a108a" ], [ "Ex05a.rev_is_ok", @@ -131,7 +131,7 @@ 1, [ "@query" ], 0, - "98582cf21482990498fa4f03f5529a6f" + "f079128b7c078d651fcccf9652ce4713" ] ] ] \ 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 06fbac47545..dfa7062ac30 100644 --- a/doc/tutorial/code/solutions/Ex05b.fst.hints +++ b/doc/tutorial/code/solutions/Ex05b.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "4bcf10a2c3e8fe2575d00e83296411d9" + "9bdc61a88a39a073a855ae94da12e0cd" ], [ "Ex05b.fib", @@ -34,7 +34,7 @@ "well-founded-ordering-on-nat" ], 0, - "0ec039df8866d417949043400fca48e3" + "60b17425b1487fa85502305fd415bab7" ], [ "Ex05b.fib_is_ok_aux", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" ], 0, - "dfcf31d608d62afe1c1341b18f731663" + "a649e4c1caa1434a6ac15af3fa10a4ad" ], [ "Ex05b.fib_is_ok_aux", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "83fa95bfe4039e077af066a89586e2c0" + "f28697ef043d5692af7456efe698c77f" ], [ "Ex05b.fib_is_ok_aux", @@ -104,7 +104,7 @@ "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "165fb2f02b3a18c5da9b2f7f11b6910d" + "a2f62a0f6e223d0114fc9c189aa6ac71" ], [ "Ex05b.fib_is_ok", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8c32f5f3898d02024c6fa845ed4f01e6" + "6b3b2491f36e7df7476ccb02316e2650" ], [ "Ex05b.fib_is_ok", @@ -137,7 +137,7 @@ "typing_Ex05b.fibonacci" ], 0, - "203d3fbedc4e5ad5b517e1b2b6686516" + "4a9150466f1ded6d547f86a5cf745248" ], [ "Ex05b.fib_inner_aux", @@ -155,7 +155,7 @@ "well-founded-ordering-on-nat" ], 0, - "32c34eeba561e82b0cf8d8e95a02d227" + "b6bbda7964f75e63099b571b8fdb8076" ], [ "Ex05b.fib_inner_aux_2", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b5b7f2ad3c5636340769cb068d2e31d7" + "130891d13dddeb9e4965676534a8fd0f" ], [ "Ex05b.fib_inner_aux_2", @@ -196,7 +196,7 @@ "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "e7dc0bb0856e213c8b972f68b011eb03" + "83994a0ccae06adfb20b0e6cd82b28b0" ] ] ] \ 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 7833aba3b5d..ea344601eef 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, - "6d121d85cef9fe7a23af511e20799d22" + "ddc961d3c25fe8c6a23781af28e04b25" ] ] ] \ 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 61d9d6b8782..0540b9b9954 100644 --- a/doc/tutorial/code/solutions/Ex06b.fst.hints +++ b/doc/tutorial/code/solutions/Ex06b.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e8ab5da575689344a1a1a6ceaff5966c" + "ed259e755f0cfdbba2333136950c9c81" ], [ "Ex06b.append", @@ -30,7 +30,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "777e212418e6e024de37b97f3cc147b4" + "2a96ed8fec692c9a32ab5e49fc1638c1" ], [ "Ex06b.append_mem", @@ -62,7 +62,7 @@ "typing_Ex06b.mem" ], 0, - "8fd3c0987e00455ebd7e00c29384572c" + "42b52c97f42544f8c1a0bbf68f0edd0e" ], [ "Ex06b.length", @@ -79,7 +79,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "93d1706cfdd95c3eae2f9c4f08ee7bf7" + "00a2ffa057a5cc421b80fc552f619cc5" ], [ "Ex06b.sorted", @@ -97,7 +97,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f1e2e7b07d04b6897d664fd5add01df6" + "58e166f38ded55f796ebffd60e58bbff" ], [ "Ex06b.partition", @@ -112,7 +112,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "e71e92ec252d9586ad781e74ba8cdc8d" + "f7647b836368bbb562f700af503cfae5" ], [ "Ex06b.partition_lemma", @@ -158,7 +158,7 @@ "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition" ], 0, - "971d33fced92f34dfdd545d8e608bef8" + "d054df9f4843cd0621a2aeb8bbb805f6" ], [ "Ex06b.sorted_concat_lemma", @@ -201,7 +201,7 @@ "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" ], 0, - "9ffd870226ae5d7a6b3c12845c18f0ea" + "69142edd3ffad5a420a14a00e1421012" ], [ "Ex06b.sort", @@ -267,7 +267,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "42b97a62a6c0fc468661559717d20b57" + "18db87d6a77367f4a56252c39283b7fe" ] ] ] \ 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 c3544084d89..547a3ca7db2 100644 --- a/doc/tutorial/code/solutions/Ex06c.fst.hints +++ b/doc/tutorial/code/solutions/Ex06c.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "a699d871021214e76f4ddb6d8e1806fe" + "8a428b0c3ba273e59a3d89be1d0d61ce" ], [ "Ex06c.append", @@ -30,7 +30,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "bc9458781a00f8937e343e458a9e4f75" + "c1eb3cd662463735bc592dbad692867a" ], [ "Ex06c.append_mem", @@ -62,7 +62,7 @@ "typing_Ex06c.mem" ], 0, - "8de9ad9ad0d9645d1a04d9c86c821bab" + "53dcd7e0ec0edf3186f69c1f02f8b5fa" ], [ "Ex06c.length", @@ -79,7 +79,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "31b35c122ab3c66d69d4db50670eefaa" + "7cbedba9fb43fa2afecd8ae4d0bcc0e5" ], [ "Ex06c.sorted", @@ -100,7 +100,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "df48bc2dbface05d39c919ff78e0995c" + "e68b68d5a1a9d62bc8e27e6461744cf7" ], [ "Ex06c.partition", @@ -115,7 +115,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "9ca5566f5e73d4a5044764431eebf83b" + "790ad4e4a30e06e0d192355806793cc7" ], [ "Ex06c.partition_lemma", @@ -166,7 +166,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "f8938b9c839ea4754113fbea52b47ba1" + "2fc39a48a2fe7d41d7473aa226fafa02" ], [ "Ex06c.sorted_concat_lemma", @@ -209,7 +209,7 @@ "typing_Ex06c.append", "typing_Ex06c.mem", "typing_Ex06c.sorted" ], 0, - "8ab188c56c3db3bc9db6b0d1feb9527c" + "58e575138ce51cfe3e0f2b4c2bfc9615" ], [ "Ex06c.match_head", @@ -225,7 +225,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9729859bab7d8f1c25a09182561c2fcd" + "bff3f1d170023d89327866977e026ad1" ], [ "Ex06c.dedup", @@ -266,7 +266,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "72c5e90fc0fde8c7b9f3b2f3c18f82ee" + "9dd04d9e04e6edde5dac8addcd2e2011" ], [ "Ex06c.sort", @@ -332,7 +332,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "77634738662da06f661aec4ad4754db7" + "e359991c75080a9ee76c2fd6985c56fb" ] ] ] \ 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 4782fc93d24..745bfcbeaf0 100644 --- a/doc/tutorial/code/solutions/Ex06d.fst.hints +++ b/doc/tutorial/code/solutions/Ex06d.fst.hints @@ -19,7 +19,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5d75f4e35fc6a2747c06849735a2c642" + "3b9aec175d1942f594731cbd26b88e0d" ], [ "Ex06d.append", @@ -33,7 +33,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b5ad660f738f9249f8aaecaa6e11631e" + "8afff22c2182cb7120e1f1172b3f8b2d" ], [ "Ex06d.append_count", @@ -68,7 +68,7 @@ "typing_Ex06d.count" ], 0, - "31bfbd2ddcc991615bcd9833bd1cf171" + "8bb185a1214adcc26e8dfdb24528c2ad" ], [ "Ex06d.append_mem", @@ -87,7 +87,7 @@ "typing_Ex06d.count" ], 0, - "83fdd73ee75ee7eb4afde7e0b4c7e112" + "992ef6359fa15e6eba775b27bd0e1ba2" ], [ "Ex06d.length", @@ -104,7 +104,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2be2931642a10c6ae3b1033e03b9f364" + "c757306d3b17dca00a6814c98dfc6a59" ], [ "Ex06d.sorted", @@ -122,7 +122,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "11916b6da691b1797c8869f0d8d466de" + "e961f6c0f7ac37a07aad5a0445d266d9" ], [ "Ex06d.partition", @@ -136,7 +136,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "00ba8d3562547b85214166ecde4e5a55" + "fcccbcfe44ede814c6c3d1b912c49420" ], [ "Ex06d.partition_lemma", @@ -188,7 +188,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "0b43a63e0874044be725e01097c10713" + "37fbd8a4ff00ab7a202b841a35600050" ], [ "Ex06d.sorted_concat_lemma", @@ -236,7 +236,7 @@ "typing_Ex06d.sorted" ], 0, - "996802fbe04319cd5d2a520ad8df075d" + "37923161b519e747c0d1a97d38faf37a" ], [ "Ex06d.sort", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1dcb3781013ad927e0743df71dee111d" + "b1b3399b6bc4ac191a2b7362b87cb459" ], [ "Ex06d.sort", @@ -264,7 +264,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "090780afc63b1466767e74201adfb421" + "72faaa2134f74e360d4911f7a2ebc837" ], [ "Ex06d.sort", @@ -320,7 +320,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "0455dfc7d47ec69b9f10527269719229" + "fc917c317e1c79a0ec143881b9c4951b" ] ] ] \ 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 f2097ac4f2a..01739528ff6 100644 --- a/doc/tutorial/code/solutions/Ex06e.fst.hints +++ b/doc/tutorial/code/solutions/Ex06e.fst.hints @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "ea0798081000b21816adaf958b555864" + "319c09f9f4558f47d471840c02df9499" ], [ "Ex06e.mem", @@ -40,7 +40,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e9fd3517d38bc30012e5fff2392400db" + "ff4d539dc03c0bb678b913219baaf022" ], [ "Ex06e.sorted_smaller", @@ -79,7 +79,7 @@ "unit_typing" ], 0, - "4b552ec69daa01cd6101df4d16fb5c84" + "5dc5c019ddf08faab0f62049c4dee38c" ], [ "Ex06e.insert", @@ -122,7 +122,7 @@ "typing_Ex06e.insert", "typing_Ex06e.mem", "typing_Ex06e.sorted" ], 0, - "09a62b5d344c4fa21c841a39cdaa6b6e" + "3ecbc13958ee2e6bf639d84b2fbefbca" ], [ "Ex06e.sort", @@ -153,7 +153,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex06e.mem" ], 0, - "663a7926188cf5d2715af3c044d80078" + "7771bfecb1d96b74d8abd30f26aa1f56" ] ] ] \ 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 ea6759f3c9a..29e9fe4998e 100644 --- a/doc/tutorial/code/solutions/Ex07a.fst.hints +++ b/doc/tutorial/code/solutions/Ex07a.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f6be067ad6a6377192c672235de52a1f" + "c23890777cc5fa15bff8d9be049865bf" ], [ "Ex07a.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "b810f859159df80a8db02375ba9bfed2" + "86fdcfbb4f37beb861a6399e13dd4d37" ], [ "Ex07a.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "51dad9c278f59a4350120755411b751a" + "98acee8c1455cc7486c030d7cb7bf4f6" ], [ "Ex07a.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "8e87b290706242a3e291f0f9ad139af9" + "1d882d39cf5c8a2c16decb5a2adac909" ], [ "Ex07a.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "78e23c2f9987bb43d4f56e7e4b6664a6" + "a9f4c8acf6683c672b746b7aa833c47f" ], [ "Ex07a.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "37aa33e573d0e56fe78316ed910d4f71" + "67bed8567e10cac1525c0cd44edbd6e4" ], [ "Ex07a.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "f7f3f35f3e86f437fa62c74687dd2f23" + "43152af11dcf3c5a3a0982c4a97013ea" ], [ "Ex07a.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "a31d76d1677ad4b0e379c8b7ab9cfdc7" + "18a919de6f3bd03326adb73cf167c330" ], [ "Ex07a.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "1338bcfd0cf7c4ed5a39f999fb29b885" + "3429c87dda954c35f953a7ebaccc6ecd" ], [ "Ex07a.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "b2d77cdfb3f1d45af6a4d51f38ff5ba3" + "944f557ac7bbc491683e10c35ebcaa1b" ], [ "Ex07a.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "a5ca288bf4fd8c79baf6fb636f13b41e" + "ac50b2779fc06acf7a23ba53382527d6" ], [ "Ex07a.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "46b14d450d5eb518add125a5278be508" + "da4295e2d5acab47a1d2de9c294237f2" ], [ "Ex07a.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "a2cb80d7d69a96cb185dd0c586e9267d" + "6fe6684d8e11a300daab182c7e9c79a9" ], [ "Ex07a.subst", @@ -187,7 +187,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "6d76a36fc8f6586dfaf169346a24a57b" + "d5a17f0c39f85c86f3731ed00794e8cc" ], [ "Ex07a.step", @@ -207,7 +207,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "cebe6c1b688edb29306a3d697e7f0b43" + "d5a753b26218f7950395ae1ff2ab9b51" ], [ "Ex07a.typing", @@ -233,7 +233,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "256926e5ba4595bc7ad202d88bbd2e75" + "d5e2402f412fb021025bbfa92a3e7059" ], [ "Ex07a.progress", @@ -292,7 +292,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "f06f7b116618fb55cdca92f2983916fc" + "28648029913c2710735336d5332bae61" ], [ "Ex07a.appears_free_in", @@ -316,7 +316,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "3ddbdd0228acd0015cb2ffe366dfb8cf" + "7f91d9f2b6ea85716fc5b9cbb5bae047" ], [ "Ex07a.free_in_context", @@ -383,7 +383,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "a8b37f8b5fe7b793951042a3335a8eba" + "94f787c3169bdbd61d5c8f1cf8a5b9ce" ], [ "Ex07a.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" ], 0, - "f223d939628c944075355a7562041b6b" + "0e6ae37233a4ca8d1cb70e32449c8166" ], [ "Ex07a.equal", @@ -412,7 +412,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "7a5e5608374c341c7f6f69da99a97873" + "6a1b65e1095bd80088ca18300b57a195" ], [ "Ex07a.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "f403506df7183878e69a09661c4ab6c3" + "453ed0a0e953edefea37c17985b93269" ], [ "Ex07a.context_invariance", @@ -487,7 +487,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_typing" ], 0, - "2b2af6b8668d7765980068cb64f73d76" + "4ceaf3478097e770f14a96d4b5efdae5" ], [ "Ex07a.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], 0, - "eb25dbf4912e601395325f496f5128e4" + "52fae8ee7edc8a98eb12000e9b395c78" ], [ "Ex07a.substitution_preserves_typing", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" ], 0, - "4351ed79e66d2dbe2cf5cd1c99daed36" + "f67955c654830b78a14fb8ce4270bce1" ], [ "Ex07a.substitution_preserves_typing", @@ -520,7 +520,7 @@ "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" ], 0, - "19caf3f7c3d423941e215f2bf8934e02" + "47061a156445900222c21d16bdf1028f" ], [ "Ex07a.substitution_preserves_typing", @@ -594,7 +594,7 @@ "typing_tok_Ex07a.ETrue@tok", "unit_inversion", "unit_typing" ], 0, - "4646c2f53e8390e62fb990f5f9429b59" + "c3ea689ab7fd486440c5b0b42a67ca3b" ], [ "Ex07a.preservation", @@ -651,7 +651,7 @@ "unit_typing" ], 0, - "403ccb1ec233c465b8ddb7816e709886" + "0d5bdb0bcd0968c4ef2017a2e41cebbe" ], [ "Ex07a.typed_step", @@ -664,7 +664,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "e8553105038a6a48ba58ce588fefcb17" + "4a62a6ddfcefc5d95334a54961faaf11" ], [ "Ex07a.typed_step", @@ -676,7 +676,7 @@ "refinement_interpretation_Tm_refine_b2e0d703856834b97017ac5e35213e3b" ], 0, - "8690fe79e90ac6e0b97b7b974de021f6" + "080925ae97db118fc7ef70ef47130250" ] ] ] \ 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 ec1fb6984d2..f474a3769b5 100644 --- a/doc/tutorial/code/solutions/Ex07b.fst.hints +++ b/doc/tutorial/code/solutions/Ex07b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c39389bb0de417941c86a3e09acc2308" + "3ebb6c38246e21a0117808b9183e90a1" ], [ "Ex07b.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "9e39d35a2c24d8e5403d07e33818b25f" + "e984ef49dda89637ffe06270d06e16e6" ], [ "Ex07b.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "4edfdc025798b4ba2f4b4fe61c748de8" + "3a05816ab4f90275b74bd169f8ad4324" ], [ "Ex07b.__proj__TPair__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "adec976a68b73226706655a3c7955c70" + "6d1de7533776c6be0b9da044541054e5" ], [ "Ex07b.__proj__TPair__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "b934cea63f47cc8a2300573f2d6af495" + "9f8f28d033e04457f691715c4e4b2e19" ], [ "Ex07b.exp", @@ -72,7 +72,7 @@ "assumption_Prims.HasEq_int" ], 0, - "cdcd41fe6df328c1e5a6a9c6eeb4407e" + "4a0aa1dcce4c35867d3ceaa36b335c3f" ], [ "Ex07b.__proj__EVar__item___0", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "985204cd25cb41b48e4d83d6e1fdd227" + "9489e82b3e396937c59a382898222929" ], [ "Ex07b.__proj__EApp__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "3e99dde6e2baacdc503a469faeef1fcc" + "4c3aed373f6d839398e28b4bf98d81de" ], [ "Ex07b.__proj__EApp__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "ac37ead20b167f6400cfa92d1ac92183" + "996b80747a20ffce61e061050a18725f" ], [ "Ex07b.__proj__EAbs__item___0", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "a33277d8864c8551d3d6e5c4e544bea1" + "3fc5b90dda9246f5a7a105b1a4f12767" ], [ "Ex07b.__proj__EAbs__item___1", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "ac7bc5a21e3c8ca0b54e477b2ff344bb" + "410498a06d82d4ae63cb984dfb1e4947" ], [ "Ex07b.__proj__EAbs__item___2", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "0e0933f3d2de91c703637571ef99e778" + "bd64c9535dea32cba23731214c1e3ee2" ], [ "Ex07b.__proj__EIf__item___0", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "f83e3ab6d195f0b64c2b7186e0aecc6c" + "90302db1bc264b13ce01bfa4df51b5ed" ], [ "Ex07b.__proj__EIf__item___1", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "272cbc21d6011f4585d0812d69989254" + "26689670edf6f90e793a2f4d3c569fa6" ], [ "Ex07b.__proj__EIf__item___2", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "773402bdfa7a83077cef3cbccd8d3f0a" + "b82aefd4287d213d5a689258b3c3f515" ], [ "Ex07b.__proj__EPair__item___0", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "74e19ef82f6e0c339895a4b25ec0c23d" + "c23e7b5c9d5a0c2f6737a1c141aa03e2" ], [ "Ex07b.__proj__EPair__item___1", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "e4cc988f217fdcb933c0b9e3e50252bd" + "02c7202be94dafb57849b09dfaa83148" ], [ "Ex07b.__proj__EFst__item___0", @@ -228,7 +228,7 @@ "refinement_interpretation_Tm_refine_958ca9a5748df3729ea50125a7b4943a" ], 0, - "56ecdfbcfb62bcb0c4d555052702e9ff" + "e510bb40ce63a7051a0b4fa62da613bf" ], [ "Ex07b.__proj__ESnd__item___0", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_6f9b0d6ea3ce26714864b1ca2a2f6caa" ], 0, - "82740a071578156e9b62806ef33ba443" + "d2c7420f13eb9abfc0f5cf70480ac3b2" ], [ "Ex07b.is_value", @@ -254,7 +254,7 @@ "subterm_ordering_Ex07b.EPair" ], 0, - "dba6dca273ac3d2b065406b550b1f1e0" + "b950a79f7862170bac004ea304049571" ], [ "Ex07b.subst", @@ -281,7 +281,7 @@ "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" ], 0, - "542e31072c955123353d70453ec010d8" + "a000590cb58a0467dfac4adc76f98137" ], [ "Ex07b.step", @@ -303,7 +303,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "bf6a7a27b815d2babef3190e5f94b8c0" + "c4a55fc59ccd57cccb6f9774e2abd743" ], [ "Ex07b.typing", @@ -332,7 +332,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "87301aff51307a44dac844cf8b97e060" + "feb1de5238ff684b6edd03a0c86b60c1" ], [ "Ex07b.progress", @@ -409,7 +409,7 @@ "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "5af372b3afbad30589569c6ccfeda422" + "c5b25f715b2666b455b1e67b21e7e088" ], [ "Ex07b.appears_free_in", @@ -436,7 +436,7 @@ "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" ], 0, - "808e1d48cd483969ce78d7b3b5a58f51" + "ba6893a300f54afb29d721be78259e39" ], [ "Ex07b.free_in_context", @@ -512,7 +512,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "7c846c4cda88b570b894f1893804bd6f" + "ce2a9b469c5738597017e8cc4f9cd75e" ], [ "Ex07b.typable_empty_closed", @@ -528,7 +528,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" ], 0, - "20e4936043fbb95509961bf42041acba" + "4f978386dbc3ca620a117837712d5cc5" ], [ "Ex07b.equal", @@ -541,7 +541,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "8755731d9f8635f1e29bc50c72956a12" + "c254b76df4e41a85da0c528c93a4d111" ], [ "Ex07b.equalE", @@ -554,7 +554,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "efbe2aa3a0b71cc956b45ec82235e6a8" + "659e0059c22c4d68a8685129f3a1d979" ], [ "Ex07b.context_invariance", @@ -625,7 +625,7 @@ "typing_Ex07b.typing", "typing_tok_Ex07b.TBool@tok", "unit_typing" ], 0, - "ed00106f4df113d908f0e972332370a0" + "0b1e339f4f60895c1945399e059b969a" ], [ "Ex07b.typing_extensional", @@ -634,7 +634,7 @@ 1, [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], 0, - "952cefda43e6f65077d408bf4ace810a" + "edb4ffa23457930ba2a0357b8a200482" ], [ "Ex07b.substitution_preserves_typing", @@ -646,7 +646,7 @@ "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" ], 0, - "98494ae8cd294cc4618833c2fec9c011" + "4121fc8d20f3de438adcdfaecced166e" ], [ "Ex07b.substitution_preserves_typing", @@ -655,10 +655,10 @@ 2, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4750582cadc3bd17059aa64e5c0890e1" + "refinement_interpretation_Tm_refine_2c9a1835fffa9d0c02ff6e6728c72e74" ], 0, - "d5106a093446ed195e094ba28973ff79" + "7447433c0c9102a2ce6cc4f4dfe5e41a" ], [ "Ex07b.substitution_preserves_typing", @@ -745,7 +745,7 @@ "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "bd5d0c21ff89511786a231c87d539b2b" + "0b0f8692923196fc703670a31f0d8736" ], [ "Ex07b.preservation", @@ -757,7 +757,7 @@ "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" ], 0, - "b72c116bcaba6c570ef0cbc7708ad678" + "67cb742331b57e0a5851e34c8dcd9172" ], [ "Ex07b.preservation", @@ -769,7 +769,7 @@ "refinement_interpretation_Tm_refine_07035437dd23ca8744f5fa863bda5e5c" ], 0, - "3fc21149ecba093d46bcddff2e81c0ae" + "982d937024ed9cb5f093b9387dbbcd09" ], [ "Ex07b.preservation", @@ -846,7 +846,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "4d0c3c45edb32a46d264c6b739c9458e" + "28de951fa357c09cf84e9984391b07ba" ] ] ] \ 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 bec2ab49bca..d6fbc4e8b56 100644 --- a/doc/tutorial/code/solutions/Ex07c.fst.hints +++ b/doc/tutorial/code/solutions/Ex07c.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d8a0eecb920fbda436b185fc9c6e24e3" + "3b2cd95c29525de3d9243a35539bacab" ], [ "Ex07c.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "84ad5c334ace85d91e460bf6a7d4d605" + "b7a7691a52e7fac1dca5c7f2740f7050" ], [ "Ex07c.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "3dc5e374c90bc8058296ed72f87212c7" + "95023b0a928d6441f12e5e4b7018d69d" ], [ "Ex07c.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "46c2443bfae3fcbf70d00058db1ca8c2" + "e7164245d6e24e68ceb807be73c4aa05" ], [ "Ex07c.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "ba3e1ab44ca44647a2a0d8589eac980f" + "a79752aefa03cfd1dce9076e18de4a4e" ], [ "Ex07c.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "033b0b3d18c28156a3f453d823ad6bdb" + "5682635c2032cd387ade04517df3a907" ], [ "Ex07c.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "c40eb88d726bf4e2b458e5b936ed3eab" + "66c3e4caa1b2e53ea5546502081ed34e" ], [ "Ex07c.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "c73b3626e355952139687506d3a8c9d1" + "26432581854c397057a73385d677521a" ], [ "Ex07c.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "ec433c451797aa02554f08c623eb315f" + "f37400aab2439af09937c4db67563c07" ], [ "Ex07c.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "aed62334765e6fdb10fa80b1a3226a05" + "e971aeda2477c8c677a5fd43190f1849" ], [ "Ex07c.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "d49e434eb51a7b64a4a928b7e4dbd974" + "5a12dac206947595f4ec647f3e308f23" ], [ "Ex07c.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "a6a8465c7c1605302a90ac35f3de34b2" + "470600ef98de3642caa38bfe3c0ff454" ], [ "Ex07c.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "666d8606afdbee5c8aa5f9d7a3e5cca5" + "7f30580af4d2ae75a7a293d77e95ee15" ], [ "Ex07c.__proj__ELet__item___0", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "0b994eb129ed06329f42c83849c76eb1" + "a4d53d6358829b14de2b415be4344370" ], [ "Ex07c.__proj__ELet__item___1", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "159ca8c769fbcace82374000882eec09" + "ae26f925ee92a1ba4c8d646328d87b0f" ], [ "Ex07c.__proj__ELet__item___2", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "2e4b7abdb3362b5a2e2d7fce49dd9166" + "6c7d875bad0c8e390bd01b2d2f9acdc9" ], [ "Ex07c.subst", @@ -227,7 +227,7 @@ "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" ], 0, - "b60ee0fbf6cbede0e5e1be62c3be9799" + "03338adab7d0cd890839438925ccc4d3" ], [ "Ex07c.step", @@ -249,7 +249,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a1124d8bbf2946244b7fa621537a884f" + "51675eadbd613ecf2341490f2e5f32e8" ], [ "Ex07c.typing", @@ -276,7 +276,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "b22cf242151193a6f4b2b3138faca307" + "a619d7b1eea5aecf4e2da22fda0d0463" ], [ "Ex07c.progress", @@ -351,7 +351,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "ca1df453abf3c0a00e6e54919bd455ee" + "1f91f6eaf7fda4b6f86cd7d1cb75605d" ], [ "Ex07c.appears_free_in", @@ -376,7 +376,7 @@ "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" ], 0, - "27c534779f7f125b0591e62dfa777c72" + "c516fd98b448d6e31e29a64858f183d3" ], [ "Ex07c.free_in_context", @@ -448,7 +448,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "915b0b2c89a439312b83a26a1d3fa46b" + "1f5986b818a8214f4d61dac44bcd52fd" ], [ "Ex07c.typable_empty_closed", @@ -464,7 +464,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" ], 0, - "b5e04d710cac0695fae9586974df842d" + "6886bf7f3bf9683bb4dc156ce50c0086" ], [ "Ex07c.equal", @@ -477,7 +477,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "f877128def8c73734431a988dbe1f0a4" + "23af8bf42b4032b36f0ce2624e419f29" ], [ "Ex07c.equalE", @@ -490,7 +490,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "a3fa1f82263a068f687d24d30a9c6da3" + "987d12e3f2958b302a7eccb8a82f72d8" ], [ "Ex07c.context_invariance", @@ -561,7 +561,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "2937b74a9435f28d4fefcfc7cedd0bad" + "3526bfdc9ab30508bd2b38042a33911c" ], [ "Ex07c.typing_extensional", @@ -570,7 +570,7 @@ 1, [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], 0, - "7cf8e35d1738f27d65446842aaee4724" + "3117de0244d054ad28afe0620b70f819" ], [ "Ex07c.substitution_preserves_typing", @@ -582,7 +582,7 @@ "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" ], 0, - "ff5ead7af5e9e1848978d89fe71adb6e" + "647f470b3b266fe6cefff9680b76ea04" ], [ "Ex07c.substitution_preserves_typing", @@ -591,10 +591,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_753369953388a7bb551807af20335a3b" + "refinement_interpretation_Tm_refine_f8a6ad62a9cbf663bd1fed57ffc5ba52" ], 0, - "fbfb7e089740af3646964e4ed794b6c8" + "61495d38507390117ab51377bee81c61" ], [ "Ex07c.substitution_preserves_typing", @@ -676,7 +676,7 @@ "unit_inversion", "unit_typing" ], 0, - "a849e8469b45186b2821bb1e0e89d318" + "da9e73c5de3a08fd66a093a01859b5cc" ], [ "Ex07c.preservation", @@ -688,7 +688,7 @@ "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" ], 0, - "6972618abe8c493e2d7c1a346a11ffb9" + "f45f4b71903b059fde9691cb433f606f" ], [ "Ex07c.preservation", @@ -700,7 +700,7 @@ "refinement_interpretation_Tm_refine_5e062f3112be86faca38b2322e7ece02" ], 0, - "e156f048393cd84552990aee788dbe6f" + "8f03f22b0b3dc19f091978742b75ad2c" ], [ "Ex07c.preservation", @@ -768,7 +768,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "8eb2b084950522d33c8babf0d6feadfa" + "98c6ef2879fb0d1464f2eb9a7a7f8363" ] ] ] \ 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 d109ffc97c2..6f96d8a88a4 100644 --- a/doc/tutorial/code/solutions/Ex07d.fst.hints +++ b/doc/tutorial/code/solutions/Ex07d.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "342f2c81c3823cc4e8ed8996e63002d6" + "27e0781b72afccecd7d5269529e69853" ], [ "Ex07d.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "ba59d4c4c5a96ac3eb18152517b01ef3" + "5740420380bac22e4e750b442c1fcca7" ], [ "Ex07d.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "c34fc27d09ffd2c3b183b43ba6ac8a62" + "83c39c78f8bae1c89947ea238b1706d5" ], [ "Ex07d.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "eb1956723b3be02b6174ca2546e3ddba" + "475b040d76a3a5db7b3b4594267039b8" ], [ "Ex07d.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "348f881e3b2de96eb2724eaa3ae42897" + "4ef841616c41830d1e0c63015ffda74a" ], [ "Ex07d.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "fadb17ee8df3c972b724034a254a7673" + "c1003e4d59d4e509a1a91355bda0b2ad" ], [ "Ex07d.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "308962fcea639dc70c1583d7a69108c8" + "5a9c9a9da5483be137276bf66fff443f" ], [ "Ex07d.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "d9662a9ccb3893ac10cc8c11f21d5692" + "283550f3ffdbde1f0661422e4193ab0f" ], [ "Ex07d.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "8eed06ba8949ddd6761bcc4d680e0792" + "24b9e046b6da44df91f48a3c84dfdeaa" ], [ "Ex07d.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "8ea2f69f084fe2e966475bd881fc5d4d" + "74008c54f7c2b929361f0d6650ad2002" ], [ "Ex07d.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "cdf9a63f3f9560a698cae7608a0df8d6" + "437a1b3a0e7a4fd4eb932b45bbee3162" ], [ "Ex07d.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "e40e750ac9670710ad1e092de9b06817" + "77635759f6e07ad0e5f12e9641953652" ], [ "Ex07d.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "cc158ef0aeb689ff5e0001d5b5c5739b" + "53fb4c56c2b3e9eee5ebcfc5b87140af" ], [ "Ex07d.subst", @@ -187,7 +187,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "1e2f95e0eb31838390dc8d171899a70b" + "1eb8a921076545219d4308be3401d781" ], [ "Ex07d.step", @@ -207,7 +207,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6e30fdcd46fe1e0939668e0bd9f567b2" + "b5a9b67fc379c4b33c92bae05554f746" ], [ "Ex07d.typing", @@ -233,7 +233,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "75fd3cb032b3f5f0ac7b8068930de091" + "234599723bbc38686489ec78b026b6da" ], [ "Ex07d.progress", @@ -292,7 +292,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "cd049f997b8cee2b77011846dab7d395" + "0ba10c8d84522c976861303751a42027" ], [ "Ex07d.appears_free_in", @@ -316,7 +316,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "f3030025def814998b6ba224fba5e8ab" + "30945bbe3f9307a89879ca958e74c925" ], [ "Ex07d.free_in_context", @@ -383,7 +383,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "74eb24791763c07005dd11472d295d9b" + "b5da29941332b30d4b8cfc9dd5341779" ], [ "Ex07d.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" ], 0, - "2fed82c1742cac3f684b690e80ef9fe3" + "874868245b0aa21a2a221620b8fff018" ], [ "Ex07d.equal", @@ -412,7 +412,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "ffe083058fbdf48f6f53bf13c616def8" + "3dab9528d6028ec75d5af4dea0a12043" ], [ "Ex07d.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "6ee74d9b4a4ade23b5ee42958d75e1f3" + "a23047dadb80ae64a952cab4d97bd042" ], [ "Ex07d.context_invariance", @@ -487,7 +487,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_typing" ], 0, - "8a5f6bdc89a18560c6c2300a08ace2d1" + "7a16485dc9296517d34b3ceae807dbca" ], [ "Ex07d.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], 0, - "197cdff0fa2540676bde26d42cf6aa34" + "eb6ba4d37432cf72b20309cb0d825fea" ], [ "Ex07d.substitution_preserves_typing", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" ], 0, - "b08cab88b025e58dfc400074b09b8cb0" + "1bb811e048a3af873545cb067d7e3d96" ], [ "Ex07d.substitution_preserves_typing", @@ -517,10 +517,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43b459decccaff7450f25125a9c94930" + "refinement_interpretation_Tm_refine_8ab31ffad0a6bf610b08c3440216253d" ], 0, - "1a2818dac52915a2609dd5a0a6acd773" + "8872d22538717af77943159f9a3b52e2" ], [ "Ex07d.substitution_preserves_typing", @@ -597,7 +597,7 @@ "unit_inversion", "unit_typing" ], 0, - "0a1516df007d670c2f5d085a2170de4b" + "e1aecbdadcaa56bfe8123e23fc18355b" ], [ "Ex07d.preservation", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" ], 0, - "d4e10b00fbdcfa14411bdf6b0d688346" + "b63a704a8605e7e1fff69828dd501424" ], [ "Ex07d.preservation", @@ -621,7 +621,7 @@ "refinement_interpretation_Tm_refine_e217d9dee4ceb6482fb83e449fb7fc82" ], 0, - "d22de0fdf3b019df2998abec9b2b3f31" + "11c41b56eba5fb57833f62ec3401f87a" ], [ "Ex07d.preservation", @@ -682,7 +682,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "b88439457dcd38bf7ceca6fd13c19d7c" + "1c6f631ffd60f9cb8711978dfdd47527" ], [ "Ex07d.typed_step", @@ -695,7 +695,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "7015357ff35c0008e23ad60127388615" + "83bd5fa5b34176e2e825eb2a65c084ff" ], [ "Ex07d.typed_step", @@ -708,7 +708,7 @@ "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "297263c5dc1af082a94cdee0a44a4146" + "27cd0216f3dd9f1efe4c2be6e6aea519" ], [ "Ex07d.eval", @@ -721,7 +721,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "1a124000e218795797a3da54649f4765" + "7d16e8eda6568236511273833b1c02e9" ], [ "Ex07d.eval", @@ -741,7 +741,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "c6086c9632b25856902dfefaa2c3179c" + "59586dd70e6b42b69e94c59dd02de451" ], [ "Ex07d.eval'", @@ -754,7 +754,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "5675c697ef3f783b651c5d4ef0968769" + "a87c9ff8d394be1c93279199430087a4" ], [ "Ex07d.eval'", @@ -811,7 +811,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "e86732a6cbfe1d92dbd1068c3a9f67e9" + "c4c9d3b5515de9e8275487dff5d534da" ] ] ] \ 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 9465e8a9e6d..a08ebe4969e 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, - "fe1fe377887d7a7c45e560a4b1c717dd" + "c15d753b8704d2a77ae5db9c4599d686" ], [ "Ex10a.__proj__Writable__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "fd7323c965c3b95d8fd5c1d573b050c8" + "b2d9ca2bb9e2fe170fd29b602510914c" ], [ "Ex10a.canRead", @@ -38,7 +38,7 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "1a45bd75614bd9acb159750b1b4d1a6a" + "88a623d96c8b0ace89887b8e330cd10b" ], [ "Ex10a.revoke", @@ -47,7 +47,7 @@ 1, [ "@query", "assumption_Ex10a.entry__uu___haseq" ], 0, - "f5a529512c72055f1e8b7fff79b42b5e" + "d40d87dd73e04d1badcadcba3dc04645" ], [ "Ex10a.grant", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "ced5c4d49a1a691415efce5ace06102e" + "c13cfebf4645df7e91ba91bdcf362a14" ], [ "Ex10a.revoke", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_d0e9697343d36e5e4f62e16ed173deab" ], 0, - "d7f34aa882820d23134720fc54e673a8" + "bf79d11cb57e3764ed6c59f62d676959" ], [ "Ex10a.safe_delete", @@ -98,7 +98,7 @@ "string_inversion", "unit_inversion", "unit_typing" ], 0, - "8e26ab22e88f5f3981123df90e527501" + "b8527a24bf7762318998ffec7681a7db" ], [ "Ex10a.test_acls", @@ -134,7 +134,7 @@ "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6" ], 0, - "a1ff199d16a5816984d304c2cf336ebb" + "09602e859fb96d38a4a64b3c198d8c3f" ] ] ] \ 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 a52e46f0c8f..bf07b928068 100644 --- a/doc/tutorial/code/solutions/Ex10b.fst.hints +++ b/doc/tutorial/code/solutions/Ex10b.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fbeaea90d8214edefa01b4fafcfb0ef4" + "b6d077b02d5e12e9f2928a6e3092fdee" ], [ "Ex10b.__proj__Point__item__y", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "152563126f594834d78ec7f5d4a17a06" + "b06ad67976a942db9eeaca172fb39ad0" ], [ "Ex10b.__proj__Point__item__y", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4290db06c0fac92df115d7e34f3aa5d5" + "5007c475279222d19b4701632bd92ec7" ], [ "Ex10b.new_point", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb33bd46835e4183d007c5d630714cc1" + "fbe7954839cd079b117035a2f300c683" ], [ "Ex10b.new_point", @@ -91,7 +91,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "54d1ed38e4a76349a12e848b89d8c42d" + "7d40d62b16da14837bb7c21ff8872a46" ], [ "Ex10b.shift_x", @@ -100,7 +100,7 @@ 1, [ "@query" ], 0, - "c82d9a85e4a6e461e5efc61613ff5863" + "389ee30cf3dd05b7de7d340317421d33" ], [ "Ex10b.shift_x_p1", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd732f359f512144a585829660c886b9" + "6251ed73daaa3b29f7a7091b75a20ebb" ], [ "Ex10b.shift_x_p1", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa1c7a9a0710c65a8304a0f306273c11" + "139f933befa8018c63ec194ac4465714" ], [ "Ex10b.shift_x_p1", @@ -167,7 +167,7 @@ "typing_FStar.Monotonic.Heap.only" ], 0, - "6eb30f9be4686437758857fd7b2c362c" + "c811bb07336aeceeb2566c9bcab9918b" ], [ "Ex10b.test1", @@ -195,7 +195,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "32d5910fd3f604c3ac536db2d241ad38" + "d8812172bfdc99cae9dc85e2a6d1c41d" ], [ "Ex10b.test2", @@ -222,7 +222,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "d5622505af0a62570df969908835f066" + "d5281cd1f87e412f68c0872bd2606bb9" ], [ "Ex10b.shift_p1", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "269f4f4f3778da9a55a2c59143a23dfa" + "772f4f068dc666f330b933e176c767c2" ], [ "Ex10b.shift_p1", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "523b47ee45fc506e1da3b28eede26927" + "16c2eef78c4058d41730bc15b154978f" ], [ "Ex10b.shift_p1", @@ -294,7 +294,7 @@ "typing_FStar.Monotonic.Heap.op_Hat_Plus_Hat", "typing_FStar.Set.mem" ], 0, - "eab353c764391bdb979c8b6ccbaf07fc" + "aaa42b8df7c68f598373c6538c214267" ], [ "Ex10b.test", @@ -322,7 +322,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "a7a1a747f17988901bf2382bb3f62846" + "07015b0787aefbeacb62c534c76c5e2a" ] ] ] \ 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 09685dde7e0..963722f2bf8 100644 --- a/doc/tutorial/code/solutions/Ex11a.fst.hints +++ b/doc/tutorial/code/solutions/Ex11a.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d68c8e983511300dbcd43693873f62cc" + "dabdbadd072c4cef2fb9cb8ff09af956" ], [ "Ex11a.__proj__Point__item__z", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5061a8665847eeaae670bd41ec33932c" + "c6c4d51c77a700ae98b9a7f7d6262c6a" ], [ "Ex11a.__proj__Point__item__z", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ecb399c8a26321157ed8032c5c7e6e8" + "5899c282e256533eb641e61666bbd27a" ], [ "Ex11a.arm", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7eb02c7ac53eaed97431c80826ac9e6" + "43d00cbc1b18a628ac826741648f538a" ], [ "Ex11a.__proj__Arm__item__azim", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2938248c06416dd901d84a0a6e13c2b4" + "9c65004a8b2ca0aa26a545516992acd0" ], [ "Ex11a.__proj__Arm__item__azim", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "770c74abea16ac005c45259be8bf64c7" + "50ea236be4b764285910a10457192dbc" ], [ "Ex11a.new_point", @@ -180,7 +180,7 @@ "typing_FStar.Set.union" ], 0, - "442b315780b22a1bff1dd76b9621f21c" + "fa9eb2b2731c290dc9b099c128c9e663" ], [ "Ex11a.new_arm", @@ -261,7 +261,7 @@ "typing_FStar.Set.union" ], 0, - "106378e190a99a845945953707adba6a" + "85aabdd8b1774bd8f9c90b6cb7f3004f" ], [ "Ex11a.new_robot", @@ -341,7 +341,7 @@ "typing_FStar.Set.union" ], 0, - "34e3bd54cd4cbe14c4fd155d5f6135fd" + "7d906dc7fa01c7d8fdc3c06d479687ca" ], [ "Ex11a.walk_robot_to", @@ -450,7 +450,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "29360756844099bc9346c2b486906e76" + "fa44f410187fdd7bc6d1cf0fa4fe0f82" ], [ "Ex11a.fly", @@ -563,7 +563,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "160586da72da06e7e64724bf8b94fa1c" + "9cb622aed912fba71c8b519fcf772902" ], [ "Ex11a.fly_both", @@ -652,7 +652,7 @@ "typing_FStar.Set.union" ], 0, - "e520ce6284714359d52cd6601de83580" + "151b8c43cdbc16070b6be504dabd0bb9" ], [ "Ex11a.fly_one", @@ -713,7 +713,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "98fe6a669694a93e5e96927db7cdb729" + "e8cffab8b052ba691f2dfcce1bb1c884" ], [ "Ex11a.__proj__Cons__item__rs", @@ -726,7 +726,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "5a326b63f2663ed2032146d1b771f303" + "240e1de40164d542b470ebc6f984b4e1" ], [ "Ex11a.__proj__Cons__item__hd", @@ -738,7 +738,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "fd0bd1cbdd053a531f7e0cb4f637b3b6" + "549b122e5c37c22f01f9db5f812dd4c5" ], [ "Ex11a.__proj__Cons__item__tl", @@ -750,7 +750,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "8dfe3eadc194db4720434ee0f5c8bfc5" + "d78b19d11b85882d8458b673bd3322ba" ], [ "Ex11a.mem", @@ -765,7 +765,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "98c14433acacabc793bf6240b9c67f5c" + "d8a3336de41e7543bdbccaecd4331110" ], [ "Ex11a.lemma_mem_rid", @@ -805,7 +805,7 @@ "typing_tok_Ex11a.Nil@tok" ], 0, - "336950b8358e90d12226a6cea7beea6b" + "443b2c52447f31f0df94371613bebc8f" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -818,7 +818,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "e85402b9b353bf403f5874e890ec0ae2" + "0dee08c70b9dabcdec617bc7f14b2441" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -840,7 +840,7 @@ "typing_Ex11a.__proj__Bot__item__r" ], 0, - "2ada53d297a4346d23cb2e38bedf8bf3" + "21851c1e90340654092b9032d5b6ce48" ], [ "Ex11a.lemma_frame_robot_inv_and_flying", @@ -899,7 +899,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "f6737f89b30b029321a80dc9fc114afb" + "4719000ebacb4da4760c1a2a765b97c9" ], [ "Ex11a.fly_robot_army", @@ -999,7 +999,7 @@ "unit_inversion", "unit_typing" ], 0, - "5a7efac7b9f3d3328b99aa767ccf04b9" + "9642fc8bf5b7435a013f2d650cac9f7e" ], [ "Ex11a.main", @@ -1089,7 +1089,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "4650c46a6dc4f7c4466820b94339b2b6" + "ac4a85b7d2be1daa237d5687aca9b3a1" ] ] ] \ 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 8fda134678f..8507c3d9385 100644 --- a/doc/tutorial/code/solutions/Ex12.MAC.fst.hints +++ b/doc/tutorial/code/solutions/Ex12.MAC.fst.hints @@ -13,7 +13,7 @@ "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "f4753f8325ebd120f718f368c012caac" + "aac54583bf45ff077df52fe655ebc508" ], [ "Ex12.MAC.unique_registry_order", @@ -28,7 +28,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "3c48a184ff6d8b8cbadc6afdb3dbdcaf" + "4dd84def085ef23d367470642385448e" ], [ "Ex12.MAC.unicity", @@ -45,7 +45,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "8757295d313fd80b7915f8b99000a0b4" + "754ec1546565d11f24b65eb9050584c2" ], [ "Ex12.MAC.key_log", @@ -83,7 +83,7 @@ "unit_typing" ], 0, - "f49eb054f77937e4160bf2a3d37b9850" + "09570e4b56f7b5e73b3b073377b1006a" ], [ "Ex12.MAC.associated_to", @@ -103,7 +103,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "77d1a47e2f4c101d708cec2316a0afbd" + "cb4e17f8c9113e42d6e81f44cced275d" ], [ "Ex12.MAC.pkey", @@ -131,7 +131,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "55f681edc666ea4a9818234ef0528de6" + "54165bc1171aef0d76cf4bb7f0ade70a" ], [ "Ex12.MAC.key_prop", @@ -149,7 +149,7 @@ "typing_Ex12.MAC.associated_to" ], 0, - "791ccaede7e4cad08e7eb8142f2af659" + "852dd45e41cf1e6e621a080ecb6310d4" ], [ "Ex12.MAC.spred_exists_stable'", @@ -161,7 +161,7 @@ "equation_FStar.Preorder.stable", "l_quant_interp__9291" ], 0, - "f5ef08b6d46dd1c6a056686319b14d16" + "1fd3f32285947e6026618ee3e4aad477" ], [ "Ex12.MAC.spred_exists_stable", @@ -173,7 +173,7 @@ "token_correspondence_Ex12.MAC.spred_exists_" ], 0, - "c4a1924cb0d346d419d40ce6460f7882" + "b9cacf4ab65f52a8b6428a0ce4f05499" ], [ "Ex12.MAC.spred_exists", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_7376d56cf6d6772ad32cf5b5c0891600" ], 0, - "58741900e32f9b860172660dc19f059b" + "17f0561e8be1af3a2f8e0f6cf78328df" ], [ "Ex12.MAC.spred_and", @@ -199,7 +199,7 @@ "token_correspondence_Ex12.MAC.spred_and_" ], 0, - "a621c9c625999ef704724af5ad8e4883" + "1d47eb164207d9cca67900d4c38c538b" ], [ "Ex12.MAC.token_intro_and", @@ -219,7 +219,7 @@ "token_correspondence_FStar.Preorder.stable" ], 0, - "e43d4d3a2326fdab98fe110845fe8f6a" + "67545aea9d360f847df06624ec5e57a2" ], [ "Ex12.MAC.mem_assoc_unique", @@ -276,7 +276,7 @@ "unit_typing" ], 0, - "374af59f51614986a69a26181811f8db" + "715fceca26950689cc57c8e2d96a8737" ], [ "Ex12.MAC.key_cipher_text_spred", @@ -300,7 +300,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "b36e89fe6c30913e59b508c700a38fdd" + "b3c8d3aa1d022c77709a8e608ac45086" ], [ "Ex12.MAC.key_cipher_text_spred_unfold", @@ -319,7 +319,7 @@ "token_correspondence_Ex12.MAC.spred_exists_" ], 0, - "fef3cc1cc5ce0f5794e92a42e306d396" + "488cf1c4b9cbdee9fa27d86876ce7553" ], [ "Ex12.MAC.key_prop_entails_key_cipher_text_token", @@ -344,7 +344,7 @@ "typing_Ex12.MAC.associated_to" ], 0, - "5ddb845a8c7b96145d915ad54edbe4f7" + "ca1e23dfb0b42ced9286a92e243f5f7a" ], [ "Ex12.MAC.key_prop_unicity", @@ -375,7 +375,7 @@ "unit_typing" ], 0, - "faed1e0e49ae7ddc6667e017501624d9" + "77fbea3cc886f5affc2b790c308cf737" ], [ "Ex12.MAC.key_prop_unicity'", @@ -390,7 +390,7 @@ "unit_typing" ], 0, - "aa4a77af31fc1d81fee1a6d29a9b33f5" + "10bddf876467d813f6d6b54415dc46ce" ], [ "Ex12.MAC.to_key_prop", @@ -413,7 +413,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "a986c4eee25f34c874ad88441ae7e695" + "6335ef6ae6461b19257c56d58896d982" ], [ "Ex12.MAC.from_key_prop", @@ -448,7 +448,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "unit_typing" ], 0, - "2cd534426e42a10fe28bdeb1e0e09f70" + "0ea868a959369acc199d32591b000a6e" ], [ "Ex12.MAC.mac", @@ -462,7 +462,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "39fc81ac1cfe61c9c11a231c4da96154" + "a87f5d3c6c63ba3c0f17a241e7208c8a" ], [ "Ex12.MAC.verify", @@ -476,7 +476,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1d5013453657da2106227c19ba6a081" + "ba63c34f0fe808378f5a2c85f31969b7" ], [ "Ex12.MAC.keygen", @@ -544,7 +544,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "cac39b9f64ce4a98bfc6a0283fb6fa11" + "406f26220af68d05b460e002e1419279" ], [ "Ex12.MAC.mac", @@ -562,7 +562,7 @@ "true_interp", "typing_Ex12.SHA1.hmac_sha1" ], 0, - "1ac5311d4e677b5a5210d4dec555e4fc" + "f2251ad3ffb036d08961960df91f0116" ], [ "Ex12.MAC.verify", @@ -599,7 +599,7 @@ "typing_Tm_abs_bf091bc233a8972a6260cd878f3db16c" ], 0, - "9b9635bbcb1309ed5d8f7b51bd69c579" + "d935fe9aa8d580497ed0e363fc0f16ad" ] ] ] \ 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 25b9f341c6d..d2a5f9d7bc4 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, - "66345cb269f8bd94d5d0b7fb00a3a18d" + "1d5a3b004387c683b9b9c40bd7169bec" ], [ "Ex12a1.Cap.issue", @@ -42,7 +42,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "a3ae2ef2652ab4c20129e48a64fbdc43" + "9a120bc9a77004ca6ed8ff69341e4b7b" ], [ "Ex12a1.Cap.redeem", @@ -56,7 +56,7 @@ "string_inversion" ], 0, - "7f946385fc5a7e3a9bd4e747f6cbd5e5" + "c58bd4fc002dd18dde723cda7ae8fb32" ] ] ] \ 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 bb3fe926860..33e988559f8 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, - "bc77461e9867f258a66e6d61982976e7" + "caf76ac164ad4772ad81b85bcd1c7203" ], [ "Ex12a2.Cap.issue_read", @@ -42,7 +42,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "46fc4e2816736a4d0b078827979a194f" + "0be459af97ce7b223b6ff405a898c078" ], [ "Ex12a2.Cap.redeem_read", @@ -56,7 +56,7 @@ "string_inversion" ], 0, - "7313684f29c9f2963b4754e3d8761ad8" + "a2defdfc916112b203926822ed7486b6" ], [ "Ex12a2.Cap.capWrite", @@ -65,7 +65,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "3067cc4ce8ec2d9bfa9465719bdc542d" + "b4494c7b7a3f55f2fdf1fc9903a33855" ], [ "Ex12a2.Cap.issue_write", @@ -96,7 +96,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "61364042204b26c64cc35d55040d4445" + "9796d961d22b86749ce57527e1042d44" ], [ "Ex12a2.Cap.redeem_write", @@ -110,7 +110,7 @@ "string_inversion" ], 0, - "6eccbdd0cbcb95f8a08f6d4705c0b712" + "b3408c5647477c1e9f26795f3b03c54b" ] ] ] \ 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 d948ed8abb9..57540bce561 100644 --- a/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints @@ -15,7 +15,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "8524a34ae56e06b871f96eca3ec5275a" + "6d07793060c37531a5ac33c0f4b1af6e" ], [ "Ex12b.RPC.recv", @@ -31,7 +31,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "556846e3c5eb39f2f6a63ff88fa5f9b5" + "c31d6c29da120887fbbee9ebef57a0fe" ], [ "Ex12b.RPC.__proj__Request__item___0", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_14c5a3d37fdb1eed8ce1422dcff2c170" ], 0, - "404a512b6853e937ac44d29a96f06976" + "b77be02b6ce07f7d9dd6948240bcef14" ], [ "Ex12b.RPC.__proj__Response__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "d49a10bfd60b8adb0aa72af277364540" + "af5d0f92e482722523116e7c309110bd" ], [ "Ex12b.RPC.__proj__Response__item___1", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "fdf52a236d886250b731549abbf8bd54" + "46fb3ef93d769016743034572f016fff" ], [ "Ex12b.RPC.subset", @@ -85,7 +85,7 @@ "token_correspondence_Ex12b.RPC.subset_" ], 0, - "ab37a705e931065e0f13ee1fcd6bf8c5" + "cfa95302552d1a2a392e66fcd5ca8c70" ], [ "Ex12b.RPC.lref", @@ -94,7 +94,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "df31a8a2eb10319926cc3f77df6c1f7f" + "776cf95e2109c57760b1726531942bb3" ], [ "Ex12b.RPC.log", @@ -103,7 +103,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "d9e1675e54dbc2831f182eceefa3d1da" + "cc656ddbf9dac339ed33aca074b208aa" ], [ "Ex12b.RPC.add_to_log", @@ -132,7 +132,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.Heap.sel" ], 0, - "6a1af9c20c6b6bf68ae3d0423649b3a9" + "f45b38f734558d05ac21d6648001baf1" ], [ "Ex12b.RPC.req", @@ -149,7 +149,7 @@ "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "19f5f4fb7cbedbe8cb3a88aecdee8798" + "b0fe1a74c5d6bdebf98d26a8b36c8d50" ], [ "Ex12b.RPC.resp", @@ -166,7 +166,7 @@ "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "fc1a4cdc64e8bc70423fb2f803ee0a05" + "1a6987a00e323e06403d23d6445a75d3" ], [ "Ex12b.RPC.pRequest", @@ -182,7 +182,7 @@ "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.req" ], 0, - "e789e9272807a7ac5d6ab901097e1dfb" + "d69a909a9fcc590d9d2f4d955c1b0edb" ], [ "Ex12b.RPC.pResponse", @@ -198,7 +198,7 @@ "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.resp" ], 0, - "16e91031836e274eb5720760a85a4a3d" + "84d39c08b0ce949489f223eee679e44d" ], [ "Ex12b.RPC.reqresp", @@ -210,7 +210,7 @@ "equation_Ex12b2.Format.message" ], 0, - "e6034a6b2c911c88630051a7377484c1" + "bca63d2d119adc29b593a1dad7065b8e" ], [ "Ex12b.RPC.client_send", @@ -259,7 +259,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "7e6e2dcb4d2915deb1e62fd1459ec1e3" + "f5edd451f2951ab4734536ecb1c10556" ], [ "Ex12b.RPC.client_recv", @@ -300,7 +300,7 @@ "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t" ], 0, - "7bfda4e89044496924b1d2cdc74a3ab9" + "31ecc833d65aeb0897bb2d0809f6d144" ], [ "Ex12b.RPC.server", @@ -372,7 +372,7 @@ "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "2039df821f3424552c23eb59685a4fcd" + "1617d3846fc386348f277dcb485ecc5e" ], [ "Ex12b.RPC.test", @@ -394,7 +394,7 @@ "typing_Platform.Bytes.utf8", "unit_typing" ], 0, - "cb310bce2f8e1a570a139e88a9bffcfa" + "04c0ff25baa3d4d6b5dd9c4beb50c21a" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12b1.Format.fst b/doc/tutorial/code/solutions/Ex12b1.Format.fst index 0e9aea3f772..dea73e529ae 100644 --- a/doc/tutorial/code/solutions/Ex12b1.Format.fst +++ b/doc/tutorial/code/solutions/Ex12b1.Format.fst @@ -95,18 +95,21 @@ let response s t = functions---they just return messages---so these three lemmas are sufficient *) +assume val req_resp_distinct: s:string -> s':string16 -> t':string -> Lemma (requires True) (ensures (request s <> response s' t')) [SMTPat (request s); SMTPat (response s' t')] +assume val req_injective: s0:string -> s1:string -> Lemma (requires (b2t (Seq.eq (request s0) (request s1)))) (ensures (s0==s1)) (*[SMTPat (request s0); SMTPat (request s1)]*) +assume val resp_injective: s0:string16 -> t0:string -> s1:string16 -> t1:string -> Lemma (requires (b2t (Seq.eq (response s0 t0) (response s1 t1)))) diff --git a/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints b/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints index d7566baa86a..4de68413675 100644 --- a/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "81a8aa5372dd7f4cc2e18eb67f5f9330" + "e5de87aa84b9464bbb8c895579ef80f9" ], [ "Ex12b1.Format.append_inj_lemma", @@ -33,7 +33,7 @@ "typing_FStar.UInt8.t" ], 0, - "fb69baa98ade3eaad3a072e53e9f100d" + "edb76b9ced31c5e67b260c2d8097502e" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ab04997787cd348d5c1cd4a7091e47d" + "fe9a18bfeaa62d997a3fb1b1208be332" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -56,7 +56,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "7fbde17ac8f0fac7f062501946bd9696" + "c468c4c332f2151932839520d1c0f5ea" ], [ "Ex12b1.Format.UTF8_inj", @@ -69,7 +69,7 @@ "typing_FStar.UInt8.t" ], 0, - "9c48e674dbbd96bd959847571f69f03e" + "de03d0455d5c3c327deffb9fb447e249" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -78,7 +78,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "c2c1acfbed748bee0a0cc512b8a51359" + "b2de73f5daff0a1db334177041fd4cbd" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -87,7 +87,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "468ccad531ac8106afb45d96207bbf15" + "656d9ecb987873f8cfcad73709a684a8" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -103,7 +103,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "e7de44fb43e79b61920118f303f57dbb" + "79e8c3bebd85984c3470346e563412e5" ], [ "Ex12b1.Format.UINT16_inj", @@ -118,7 +118,7 @@ "typing_FStar.UInt8.t" ], 0, - "558989e88fbf1d7936a354adf6510f24" + "3d57c271aad509a0de3b23466dafaffd" ], [ "Ex12b1.Format.response", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_cab669ea2f01a509964765946e35daa0" ], 0, - "121014552f421189cd97e179a5d1eebc" + "bc8bbacd740a04164dd65830c30cdcc6" ], [ "Ex12b1.Format.req_resp_distinct", @@ -143,7 +143,7 @@ "equation_Ex12b1.Format.message" ], 0, - "8d98aaec931db39a2de6ad73d1975d18" + "7cc9f11631ef7cb38fc0ef4f9aba7759" ], [ "Ex12b1.Format.req_injective", @@ -156,7 +156,7 @@ "typing_FStar.UInt8.t" ], 0, - "27fcde84c7a25ac3679a6b09c34568f9" + "69b006e798d6c44311a0ebea82d4c8e3" ], [ "Ex12b1.Format.resp_injective", @@ -169,7 +169,7 @@ "typing_FStar.UInt8.t" ], 0, - "c3541b69c470b7871b1b66e3604adb92" + "31fbec5ab77f2a064a4e3c6c7de6203a" ] ] ] \ 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 d7a99b5007a..72c1666cf7b 100644 --- a/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "0c8118a56cae2e6cacf47a281ad406e5" + "60838edae18148b98656303cb6fd877d" ], [ "Ex12b2.Format.append_inj_lemma", @@ -33,7 +33,7 @@ "typing_FStar.UInt8.t" ], 0, - "87859201c23f89bbe57ecd1fa774760e" + "6970d476f504580c83c118b3c61c26d6" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a886fbc103ca0dd67a3e9b19ed49857e" + "00bb4a79ead77a9da3d8d3149ed4c8d2" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -56,7 +56,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "ca722286877d716ac6b0ea6fff0720be" + "515488da881a3e6551182b019f9b60b6" ], [ "Ex12b2.Format.UTF8_inj", @@ -69,7 +69,7 @@ "typing_FStar.UInt8.t" ], 0, - "e3127e32d33484d75d3a356628f6ec11" + "4f0a673763ed70e3c019652f455a1c1e" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -78,7 +78,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "81e2bb0cf2c9d8f5e8b70158c6f25bd9" + "440e82a09312d0c319ed08165bd6d231" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -87,7 +87,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "7df7a007774ed5f6625eca10edee78bd" + "06ede031b571e6d25c17325da3da5d97" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -103,7 +103,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "523ae1dace9fe1b57f2a666ee6d46e78" + "3b32facff93f6e399de0356318387795" ], [ "Ex12b2.Format.UINT16_inj", @@ -118,7 +118,7 @@ "typing_FStar.UInt8.t" ], 0, - "cc9c6e0a47982ad7f5631362b2992b3a" + "602a39fe05338b32c59c7aa8d9b7b0d0" ], [ "Ex12b2.Format.response", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308" ], 0, - "40fc952559ffd1b8dd7df32c395c3991" + "75a48801f6d8d9739f36cd5cea60f821" ], [ "Ex12b2.Format.req_resp_distinct", @@ -143,7 +143,7 @@ "equation_Ex12b2.Format.message" ], 0, - "6b65016b886f3c802484cc2642f2f508" + "007922d440f7e3b07d40fd34bdbb84ad" ], [ "Ex12b2.Format.req_injective", @@ -156,7 +156,7 @@ "typing_FStar.UInt8.t" ], 0, - "6b179a333ffba2711b15234c9988f67c" + "e088744b984ba4e8d986b00e87d483e0" ], [ "Ex12b2.Format.resp_injective", @@ -169,7 +169,7 @@ "typing_FStar.UInt8.t" ], 0, - "ad2ea3e7676855946788c23d4aabbd35" + "3cdf9ba4f954f709052754da1f4c1bee" ], [ "Ex12b2.Format.req_resp_distinct", @@ -228,7 +228,7 @@ "typing_Platform.Bytes.utf8", "typing_Prims.pow2" ], 0, - "563fafdb4fd5fb943d0ddae4d6fc54f1" + "e37cf03739a00fb4f10e551fff9228ca" ], [ "Ex12b2.Format.req_injective", @@ -245,7 +245,7 @@ "typing_Ex12b2.Format.tag0", "typing_Platform.Bytes.utf8" ], 0, - "3f4538297fda3a53fc31a8e4d64a460d" + "77305668037ca1fd8257b595b16cf7f9" ], [ "Ex12b2.Format.resp_injective", @@ -277,7 +277,7 @@ "typing_FStar.Seq.Base.op_At_Bar", "typing_Platform.Bytes.utf8" ], 0, - "26750b3c70e467135225205ea6ffe995" + "633487c25bcd5a37de54feddf3dfac31" ] ] ] \ 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 17ed1ea26d1..88d325f1ab0 100644 --- a/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints +++ b/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a3f4f2a7db4a85c046681595e1950fd6" + "c58cd51bb8da83e252cc827baef1d2ec" ], [ "Ex12d.Pad.pad", @@ -30,7 +30,7 @@ "typing_FStar.UInt8.t" ], 0, - "d6a40a218b7b258f5e851a5a20c5a9b7" + "bdf0dfd69fb8ccfd1bff6ff73c7f18d6" ], [ "Ex12d.Pad.encode", @@ -52,7 +52,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "d2dcb17550b18e02847ff1abe4d58995" + "4421c6ddccba1b42805bd89aefd93d73" ], [ "Ex12d.Pad.decode", @@ -97,7 +97,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "78b9db7c2245523ca899ad856286e819" + "22e604d9171aca62ad497a5035e914b7" ] ] ] \ 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 37848de1377..695fd7bd143 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, - "9e7bc60b6c157e3e594d5aca2c833571" + "8e63c523d8e4963a0010163ab99bf6b2" ], [ "Ex12e.Pad.pad", @@ -38,7 +38,7 @@ "typing_FStar.UInt8.t" ], 0, - "1ce11bd19715be6f66b8c551aa911498" + "2e1fed4d53a4fa11ef8b6638161000c4" ], [ "Ex12e.Pad.encode", @@ -60,7 +60,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "78c95ce9cbef4d62a45a12558081e896" + "e93e852c111a2adfd28f12fcd5d976bb" ], [ "Ex12e.Pad.lemma_append_inj", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b2369dc2e9e29c8ec2c2488aa71ae102" + "f29eb6d0a1e7c9e47f212dd71fbbae8f" ], [ "Ex12e.Pad.lemma_append_inj", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ef464b17dfb248afb7f83cba33debf6" + "a1e44984d47006d426e0aa7cef340d2b" ], [ "Ex12e.Pad.inj", @@ -136,7 +136,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "151241fbb4b59ad6fcb01202051d3fac" + "f0b07493b610bfee2b1fd54257b369d7" ], [ "Ex12e.Pad.decode", @@ -184,7 +184,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "685d3b5740a453f39e42db04fb5814d3" + "cff0e24612d53678e841d95d12bb7673" ] ] ] \ 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 4fd4d8b37fd..1f097500738 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, - "29fca90e633cabf547a24468a304fc65" + "384a8928ac12e34c872c4e2f2edb2f8c" ], [ "Ex12f.TMAC.mac", @@ -28,7 +28,7 @@ "token_correspondence_Ex12f.TMAC.bspec", "typing_FStar.UInt8.t" ], 0, - "c5ea9680dbd10e9662b3d9ba6491ddd3" + "438c3c5f7c971a4484c7d3b66ceb416c" ], [ "Ex12f.TMAC.verify", @@ -49,7 +49,7 @@ "typing_FStar.UInt8.t" ], 0, - "7415a0c729866169c2a4ff63617801f8" + "bb2784e6096fc8597fcfdcf2f5a69724" ] ] ] \ 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 265610d978c..1f744f470b9 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, - "ec00a8b77b8a3845905aea52d95bd061" + "6925c515bc61b132b015f2a8136c06ad" ], [ "Ex12g.TMAC2.bspec1", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "bc71fda05c362b48a8288e0c817890cb" + "ae5f1fe71c2056b805ee75b6b684ff65" ], [ "Ex12g.TMAC2.keygen", @@ -40,7 +40,7 @@ "typing_Ex12.BMAC.keygen" ], 0, - "81e9ec32a95a244f6ca07a53763dcfd3" + "d2ba43336df78f2fbe4bcd9a6de2e3cc" ], [ "Ex12g.TMAC2.mac", @@ -72,7 +72,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "61af7338ccd01c8122179fb08da83670" + "d5a450f6558ce9c9e7b81d52c51775c5" ], [ "Ex12g.TMAC2.verify", @@ -105,7 +105,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "4431b569cd4b1803c0d7172cb6b7c441" + "b9b0a33d9616cef28f49ee58aa75247b" ] ] ] \ 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 9f31497ddaa..ad8f9ca5d5c 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, - "972ae672a9c4b2050d72ab7511479539" + "444397a7bead3b1ddac0b4b8756ad3da" ], [ "LowStar.Ex1.min_int32", @@ -38,7 +38,7 @@ "typing_Prims.pow2" ], 0, - "12ca0a35e83bf0f93ca73c006fb2d0d7" + "f0e6081367a41bcbc95f0c881e765bc0" ], [ "LowStar.Ex1.abs1", @@ -89,7 +89,7 @@ "typing_LowStar.Ex1.min_int32" ], 0, - "86400698855a533b984bbf120dc54a44" + "ed73e1b3b60ae760e2307cec3c808218" ], [ "LowStar.Ex1.abs2", @@ -126,7 +126,7 @@ "typing_FStar.Int32.t", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "beb723ea6462e7fa59157c7fbf312b72" + "19a6430279896275e248978549d222c8" ], [ "LowStar.Ex1.sum3", @@ -153,7 +153,7 @@ "typing_FStar.Int32.add" ], 0, - "95e1f9bcbc96ec7d2fc7e61046077727" + "0db44515ff42c23f7e0334952644798f" ] ] ] \ 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 5e33771575c..34b5ced8f5d 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints +++ b/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints @@ -46,7 +46,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "52caa993ae7b2d8a72abd613f877a433" + "59a7e0d47e3884b2e8b5b3307e210a3a" ], [ "LowStar.Ex2.prefix_equal", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_c97172742a96c0b17199622a0241325b" ], 0, - "de7fbbcaec60a3a323d0b59fd9b98d98" + "fa0eee5ebc66fd472f9e2f8bc395bf05" ], [ "LowStar.Ex2.copy_correct", @@ -145,7 +145,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "50b5165addfa28920d71644af4678155" + "c4988acee2da5a16c47cc3bb0482f145" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints b/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints index a98f95a1dda..2efd4b8618f 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints +++ b/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "d32679c2f7a9c0a21618fe5ae8434b7f" + "8994f0ff118143070890576a9171ed9b" ], [ "LowStar.Ex3.repr", @@ -50,7 +50,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "700b7e1845aeae1ba180355186c4b285" + "89da73484929c630b9978eef4a7de293" ], [ "LowStar.Ex3.full", @@ -64,7 +64,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e6b9944e86ba1b529a1d73993098e271" + "9efba522a99a344743bb15dc4b60098a" ], [ "LowStar.Ex3.pop", @@ -163,7 +163,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "78667dfff66d6e9fd9405917d929dd10" + "5513cf6cdf3719d2ea590ba2c9631bc6" ], [ "LowStar.Ex3.push", @@ -264,7 +264,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "a572517c9b9d3e53aec4963869ee4d8e" + "67b71c7c8928c55d2ed8ae7643004d28" ], [ "LowStar.Ex3.malloc", @@ -293,7 +293,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "d71e46a89c71f767b4becfb4d1c69be3" + "496f9149d5ee8aee47c5ee9ba25e1302" ], [ "LowStar.Ex3.create", @@ -400,7 +400,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "980b922e92e8633ffa53be72b71101ad" + "e1f5f420cc537a6eb9e86c4948d0539a" ], [ "LowStar.Ex3.main", @@ -481,7 +481,7 @@ "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" ], 0, - "8e9ec57438613baeca4cb2ccd06fdc8a" + "99f0f1f559a06b5efc5a4d2cf8259c1e" ] ] ] \ No newline at end of file diff --git a/examples/Makefile b/examples/Makefile index 2c637505f1e..01a9c812239 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -5,16 +5,18 @@ include Makefile.include # These examples are excluded since the binary package can't verify # them. +# Scheduling these first as some files take very long. +ALL_EXAMPLE_DIRS += layeredeffects +ALL_EXAMPLE_DIRS += dsls +ALL_EXAMPLE_DIRS += data_structures + ALL_EXAMPLE_DIRS += algorithms ALL_EXAMPLE_DIRS += calc ALL_EXAMPLE_DIRS += crypto -ALL_EXAMPLE_DIRS += data_structures ALL_EXAMPLE_DIRS += demos ALL_EXAMPLE_DIRS += doublylinkedlist -ALL_EXAMPLE_DIRS += dsls ALL_EXAMPLE_DIRS += generic ALL_EXAMPLE_DIRS += indexed_effects -ALL_EXAMPLE_DIRS += layeredeffects ALL_EXAMPLE_DIRS += low-mitls-experiments ALL_EXAMPLE_DIRS += maths ALL_EXAMPLE_DIRS += metatheory diff --git a/examples/Makefile.common b/examples/Makefile.common index f8708db2254..ad642c601a6 100644 --- a/examples/Makefile.common +++ b/examples/Makefile.common @@ -71,8 +71,7 @@ MY_FSTAR=$(RUNLIM) $(VERBOSE_FSTAR) $(SIL) # the dependency analysis failed. #-------------------------------------------------------------------------------- .depend: $(FSTAR_FILES) - $(Q)$(MY_FSTAR) --dep full $(FSTAR_FILES) > ._depend - mv ._depend .depend + $(Q)$(MY_FSTAR) --dep full $(FSTAR_FILES) --output_deps_to $@ depend: .depend diff --git a/examples/algorithms/BinarySearch.fst.hints b/examples/algorithms/BinarySearch.fst.hints index c4e9a513fde..dfdb27b9981 100644 --- a/examples/algorithms/BinarySearch.fst.hints +++ b/examples/algorithms/BinarySearch.fst.hints @@ -22,7 +22,7 @@ "well-founded-ordering-on-nat" ], 0, - "07726a3efd7b47f970df958253e19e74" + "06930881a2068ddd381268cbd2a67e33" ], [ "BinarySearch.bsearch", @@ -41,7 +41,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "34caa83171e7edfb6c1e15f51de55d8b" + "a0e08ace344d1b211c2f9a9c26f2bf77" ], [ "BinarySearch.bsearch_rec_correct", @@ -50,7 +50,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "05ef47fca36e331b2ac69ea6bab3fec1" + "b403b27347637618e15a9f2cc57978ea" ], [ "BinarySearch.bsearch_rec_correct", @@ -83,7 +83,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "af26855a60e933de34764cc10ade5b9e" + "293937a72a41102686d85c25af9dba85" ], [ "BinarySearch.bsearch_rec_correct", @@ -119,7 +119,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "b229fa5f5824370a122bdef7ef445fb2" + "784d498b125b55fa4f3dfea14bc6adb5" ], [ "BinarySearch.bsearch_correct", @@ -128,7 +128,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "6a58e8e74567ab0a907b748a7ec6a8a0" + "0ff1007dc8d6791264f01fd7f50625cf" ], [ "BinarySearch.bsearch_correct", @@ -148,7 +148,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "6c30b2a04042336608a73084aeb22e29" + "ecb438cd5c90bf10df9971d46347a980" ], [ "BinarySearch.hint1", @@ -157,7 +157,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "494a3a91602a2bd9647297c17f4d392b" + "b3f7957744e563bdcd192b5ab8ed8f95" ], [ "BinarySearch.hint2", @@ -166,7 +166,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "05e083f3e8215dce115a8e57c07eec4d" + "1a1ca1aa3f5fdf83ae76edf0cbf64092" ], [ "BinarySearch.hint2", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" ], 0, - "e6a80c544fa8712925b34c36361ac8bd" + "b04d01c9f0ca3aacf7c81531e64c26e3" ], [ "BinarySearch.hint3", @@ -187,7 +187,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "a44bddaf2508fb9c96c2551e9d8738c7" + "b81b210ce6b25a1a76162cee1144eef8" ], [ "BinarySearch.hint4", @@ -196,7 +196,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "57aa371a9c2e4ded3519a846fe0b7eda" + "c4ef3bc34001b37dbaac66f450a51dee" ], [ "BinarySearch.hint4", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" ], 0, - "1b480c347bc406f94b753d1474f69469" + "7f81e244485ea47e1688c5abc662bec2" ], [ "BinarySearch.bsearch_rec_complete", @@ -240,7 +240,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "e4815ccce688ea1bd1486f87079b0962" + "2866f3a5b0d8410d656022585700282a" ], [ "BinarySearch.bsearch_rec_complete", @@ -276,7 +276,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "cef7ae227a011496da0e2ff9cb23e7dc" + "2c324d3d7b00a1a86a086acbc1eec056" ], [ "BinarySearch.bsearch_complete", @@ -296,7 +296,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "d1de629bea8794a1bbc78d84d06acb72" + "988bc969f5fd6222a386e1b502062eae" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/GC.fst.hints b/examples/algorithms/GC.fst.hints index 2e37f8fd5ac..bb33f3d8402 100644 --- a/examples/algorithms/GC.fst.hints +++ b/examples/algorithms/GC.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7977ab5689f8e588ec8fcf673c10f1a" + "a37d92d80e5dd03a79a2676c83519c87" ], [ "GC.inv", @@ -22,7 +22,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "4e9cb607522c87138ede31c161afb85b" + "c93ed6bc8e7116ebe468c6649f6f5e96" ], [ "GC.gc_inv", @@ -31,7 +31,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "0201f12d2faaaccd5aa2578ce7afee25" + "5cc76b94cda35dd0a2f38e5bd480742c" ], [ "GC.mutator_inv", @@ -40,7 +40,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "8d71c5d2185d113c0570af9d527eafa8" + "031e9587998c7f3f41fdca1bbea532f9" ], [ "GC.init_invariant", @@ -57,7 +57,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo" ], 0, - "f51f878b26f3c2d1460b94a7cb9aab23" + "3b3b34260d9cd960ab747eca18a0baf8" ], [ "GC.upd_map2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0698b0eac4b54d5add626ea557c50ada" + "10ed5adbba4ca3d6503393b51669c8cd" ], [ "GC.initialize", @@ -113,7 +113,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid" ], 0, - "aa71ccd799531f2a2d1020780dffb081" + "73434618305113ee806d243de4c33847" ], [ "GC.read_field", @@ -138,7 +138,7 @@ "token_correspondence_GC.__proj__Mkgc_state__item__fields" ], 0, - "06fee31947d2410689156b45bc88ad64" + "effef273bb7927bc23d860d225997167" ], [ "GC.write_field", @@ -184,7 +184,7 @@ "token_correspondence_GC.upd_map", "typing_GC.abs_node" ], 0, - "997fc44da430389331e707904e4a3e44" + "9b985731fa3aded19a9604361a2906ae" ], [ "GC.mark", @@ -193,7 +193,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "018b803d413ce2147ee02748b7f81d64" + "97702a9923094714f110787366e58047" ], [ "GC.mark", @@ -249,7 +249,7 @@ "typing_tok_GC.F1@tok", "typing_tok_GC.F2@tok" ], 0, - "9cf187152dfc300e8dc02be29ae94460" + "f052ea98cdeea66aa7d6dd0d32351e4f" ], [ "GC.sweep_aux_inv", @@ -258,7 +258,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "bbb2c9ca6a3d25b313beefeb5bef0cfc" + "ad6d0e23f98c5f01f0a68a639ae0b89b" ], [ "GC.test1", @@ -278,7 +278,7 @@ "typing_GC.mem_hi" ], 0, - "d33d8e9edea845ae17f8f4e63e977e92" + "dfc4b07a4cdce1f8ac8d7b4f1664106e" ], [ "GC.test2", @@ -302,7 +302,7 @@ "typing_GC.is_mem_addr", "typing_GC.mem_lo" ], 0, - "fc0ceb2f8c0cd3bf98ee6edcd96e1215" + "7616fa42fab5ba0a4bfcafc88c987228" ], [ "GC.sweep", @@ -311,7 +311,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "fa632244af6dac98c4a6e2c4ebff88b2" + "40ca3d8cd1eee9858ce36546da1c7ce8" ], [ "GC.sweep", @@ -372,7 +372,7 @@ "typing_GC.valid", "unit_inversion", "unit_typing" ], 0, - "8433072f4b7618c6e714d0a5a94025f2" + "e07e6cbcf7da33b35d9403b4c4672799" ], [ "GC.gc", @@ -406,7 +406,7 @@ "typing_GC.mem_lo" ], 0, - "2af1034d8848bc685aecfc0f36249744" + "35508291d7286adf7893af6a7c75df94" ], [ "GC.alloc", @@ -464,7 +464,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid" ], 0, - "5ab802f7631162b2ffcc4a036d570ed1" + "57813b957584b10d2fea893de24bccac" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/Huffman.fst.hints b/examples/algorithms/Huffman.fst.hints index f5e5e1000ae..95a404ab692 100644 --- a/examples/algorithms/Huffman.fst.hints +++ b/examples/algorithms/Huffman.fst.hints @@ -15,7 +15,7 @@ "typing_Huffman.symbol" ], 0, - "af15afec2026836a60871e873716f0a5" + "ce64ca7c8f300111f7c42be8a599b612" ], [ "Huffman.__proj__Leaf__item__w", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "fb76d1ab4c94cc629e417356fd1c9a5d" + "0b5b0b3aa3ed665e939fa37b68b5ac7f" ], [ "Huffman.__proj__Leaf__item__s", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "e0deed1d19af1013b76a08d7a4522d96" + "6e35c05ba25739edc1c2694fda2bda1b" ], [ "Huffman.__proj__Node__item__w", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "411f227c7d245a150359da226784f7de" + "6f64ae34df7e60bbf727adbb6a3d26c6" ], [ "Huffman.__proj__Node__item__l", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "b239525b2900da618909781c8aeb1d37" + "d2bf5dae0eaed12d0b1cc2c738379de0" ], [ "Huffman.__proj__Node__item__r", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "2eeb3e9996aad66989b9b85a4180cb89" + "d12508cfee2d25cd665f7d70bbdf1276" ], [ "Huffman.weight", @@ -92,7 +92,7 @@ "disc_equation_Huffman.Node", "fuel_guarded_inversion_Huffman.trie" ], 0, - "f480f52697758d26d2574091544f049a" + "17f35dafca90d52bb2549fec4adb12bd" ], [ "Huffman.sorted", @@ -109,7 +109,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "d8344236f5347f1be6ef9d99d28ea486" + "b0e3ce593059159722344562b04df747" ], [ "Huffman.permutation", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "336dab4aba1159cee502475286f64ac0" + "9fe4070f0c7b154637a5dd6ad9a03089" ], [ "Huffman.sorted_smaller", @@ -133,7 +133,7 @@ 1, [ "@query", "assumption_Huffman.trie__uu___haseq" ], 0, - "1f4b29cd93f8b592e94a6a3489f58809" + "58983d43e070462c1fd925bce2a6c325" ], [ "Huffman.sorted_smaller", @@ -171,7 +171,7 @@ "typing_Huffman.leq_trie", "unit_inversion", "unit_typing" ], 0, - "540f210c096df6f8816c080d5c0a0b28" + "04e30d9a57e2330458a5bad5ffd4d6a5" ], [ "Huffman.sorted_smaller", @@ -209,7 +209,7 @@ "typing_Huffman.sorted", "unit_inversion", "unit_typing" ], 0, - "b829192372a141806efc7add409d772d" + "c395fde38a4c1f57c751a7a6ebf0aa86" ], [ "Huffman.insert_in_sorted", @@ -249,7 +249,7 @@ "subterm_ordering_Prims.Cons", "typing_Huffman.sorted" ], 0, - "088cf2776144e45294499ff41fea9854" + "d84c4f8da2b53030c5e493d1bce45624" ], [ "Huffman.insertion_sort", @@ -283,7 +283,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "963924a1b6b914812acf472b16cf09fe" + "21c0999f14afbaf639f5023202058248" ], [ "Huffman.huffman_trie", @@ -341,7 +341,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "f9ad45507cf274d2f1eb38ac3a13b121" + "809e10408dc5c49e4241ded393d3900d" ], [ "Huffman.huffman", @@ -370,7 +370,7 @@ "typing_Tm_abs_6533a4f83db3855fa174143ac8c4ac82" ], 0, - "c73473553625d12d3c78a0fef024a26f" + "b1bc982a2865393cb400f493354055e0" ], [ "Huffman.encode_one", @@ -395,7 +395,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "88bd65715d4ca7055fab0e9e5ed1cdb9" + "42b2eee0a29c08b9a90e98b1ee3abaea" ], [ "Huffman.encode", @@ -444,7 +444,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "77a2430372be828f040e5d4b58d86bf2" + "f0a3d92a9f5dc648d25540b63a530a8b" ], [ "Huffman.encode", @@ -494,7 +494,7 @@ "typing_Prims.uu___is_Cons", "typing_Prims.uu___is_Nil" ], 0, - "f67cc96c4c0a370098612fc6b6fd6e52" + "6002c2689816d7f35af4fadf0f7a1aa1" ], [ "Huffman.decode_one", @@ -539,7 +539,7 @@ "subterm_ordering_Huffman.Node" ], 0, - "85f4536807d0c5667ae30c9449f5d988" + "c50db9232de9d8822755a0de43b3e52b" ], [ "Huffman.decode_one", @@ -587,7 +587,7 @@ "subterm_ordering_Huffman.Node" ], 0, - "4d2c5690b857a7b4cc367bd6526e0a8d" + "effad7bb0754c7d76ad8734019b0d0d1" ], [ "Huffman.decode'", @@ -638,7 +638,7 @@ "typing_Huffman.symbol", "well-founded-ordering-on-nat" ], 0, - "bd593b145742a4aded33c32ae353f1dd" + "013649c29ac42f27650503f3be0ac90f" ], [ "Huffman.decode_aux", @@ -695,7 +695,7 @@ "typing_Huffman.uu___is_Node", "well-founded-ordering-on-nat" ], 0, - "53c3ed7676001da110433f8dfa4a3adf" + "011f182f21ae8d29ad853628f57d8c3a" ], [ "Huffman.decode", @@ -704,7 +704,7 @@ 1, [ "@query" ], 0, - "2487f228e2a0bcc1abe5bd665f955620" + "2e3343668051c086e212be6364219361" ], [ "Huffman.cancelation_one", @@ -730,7 +730,7 @@ "typing_Huffman.symbol", "typing_Huffman.uu___is_Node" ], 0, - "1db6a9a43355aaa82fe6333a544f0b90" + "2b1dae113b01ee7f5360e5ac99252345" ], [ "Huffman.cancelation_one", @@ -792,7 +792,7 @@ "unit_inversion", "unit_typing" ], 0, - "8a7f87ca58b8c1701ef39af7824df15f" + "a51806cb8f4e1ebf6e6422cd76f9aa1c" ], [ "Huffman.decode_prefix_aux", @@ -812,7 +812,7 @@ "typing_Huffman.symbol" ], 0, - "3590916a54598d1a2b60e3de211a0f44" + "fb692169107a49d584834d06726de25e" ], [ "Huffman.decode_prefix_aux", @@ -882,7 +882,7 @@ "typing_Huffman.uu___is_Node" ], 0, - "36ea7c974f8415c85181240d4711e59e" + "5b69168ee86e3f3d6ff3748a3e251d22" ], [ "Huffman.decode_prefix", @@ -904,7 +904,7 @@ "typing_Huffman.symbol" ], 0, - "8ed0e6cc408f26fc79bfbfb1c4dc453b" + "d579af92407c2c9b73c8898bd6a1197b" ], [ "Huffman.decode_prefix", @@ -937,7 +937,7 @@ "typing_Huffman.uu___is_Node" ], 0, - "de4cee11f3f291900fc1e4b4ec310dcc" + "c34d704f785be121137765fa6f88fc1d" ], [ "Huffman.cancelation_aux", @@ -959,7 +959,7 @@ "typing_Huffman.symbol" ], 0, - "8ea21fa45bb5bd0d5c86cfabc18b0e6c" + "dbcc1a520c1599f32ef19ee71f224f77" ], [ "Huffman.cancelation_aux", @@ -1015,7 +1015,7 @@ "typing_Huffman.uu___is_Node", "unit_inversion", "unit_typing" ], 0, - "f03c6fab3635ef4975acd9622d6da96c" + "f3de1794e9a5d1e0f96d09deb0d9704a" ], [ "Huffman.cancelation", @@ -1039,7 +1039,7 @@ "typing_Huffman.symbol" ], 0, - "3d15191e0da2320991695477fe735f5e" + "51778ed77703d3a06f8a6b3b5b9931cd" ], [ "Huffman.cancelation", @@ -1063,7 +1063,7 @@ "typing_Huffman.symbol" ], 0, - "fd0101514fda7f8291c53eb63ad8793a" + "d098ddb0874e2000f75b44d7b61c71a3" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/InsertionSort.fst.hints b/examples/algorithms/InsertionSort.fst.hints index e85278d9a68..d0b865f8033 100644 --- a/examples/algorithms/InsertionSort.fst.hints +++ b/examples/algorithms/InsertionSort.fst.hints @@ -45,7 +45,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted" ], 0, - "8f8b403228838b649b7f68aa4273f85c" + "3f39397b01f2537fef09869ade487947" ], [ "InsertionSort.insert_implicit", @@ -88,7 +88,7 @@ "typing_IntSort.sorted" ], 0, - "9e2bc2f88837b4ca445196daeae7b4c9" + "92cd160f2ca771cf1fd2c6d7509a481c" ], [ "InsertionSort.sort", @@ -124,7 +124,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "179b8de5fabf1d4cf65f71ac5018e35a" + "b09b64eed6ad416b94c6fc1b6f433d5a" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/IntSort.fst.hints b/examples/algorithms/IntSort.fst.hints index 74cddf87bfc..2bd6adfef17 100644 --- a/examples/algorithms/IntSort.fst.hints +++ b/examples/algorithms/IntSort.fst.hints @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "de79dbc05923c15288413f532ed5f750" + "6c686ef6746988a003147eaf75509741" ], [ "IntSort.test_sorted", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "81315a7b5c756374b902f397123d8449" + "e1c83e3bdf36daa8f9561e6febb7ba35" ], [ "IntSort.test_sorted", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "81a05484e63f6c45464c37a516ec26ed" + "71901351cdc7aba423bc44f25f39ada4" ], [ "IntSort.test_sorted2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de20381f72fb0f59297e4db06b9fdc9a" + "ed1621a77adbb925727492d54481f453" ], [ "IntSort.sorted_smaller", @@ -109,7 +109,7 @@ "unit_inversion", "unit_typing" ], 0, - "357eb072fc370dada99b450d57a74851" + "a55cde6648685ef511fd966c01f65138" ], [ "IntSort.permutation", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6fdd8899110d8a0d3d97792756cc4f03" + "43528afce3548c0f83080c0922c49b80" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/IntervalIntersect.fst.hints b/examples/algorithms/IntervalIntersect.fst.hints index 736bcc62487..8eb0dd308aa 100644 --- a/examples/algorithms/IntervalIntersect.fst.hints +++ b/examples/algorithms/IntervalIntersect.fst.hints @@ -13,7 +13,7 @@ "typing_FStar.Int64.t" ], 0, - "6fa12f3f4334577f4863d856cf78efbb" + "ee9fb69b1c5c0fb44fcda9ede0ba23c7" ], [ "IntervalIntersect.goodLIs", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "92bbcf992be99bff371c74ac1433660d" + "3e8735a25fd69b1a1d03bce54f66c6fb" ], [ "IntervalIntersect.good", @@ -39,7 +39,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "c949403ba63e23de0bf06d134979c567" + "33aaa5c79a6a1c13860b0a4edc4a7c45" ], [ "IntervalIntersect.max", @@ -55,7 +55,7 @@ "typing_FStar.Int64.v" ], 0, - "566a041f64ed3dc4fcbea63fe8f95dfb" + "4e1dad80b98742b58800467181f4fe2c" ], [ "IntervalIntersect.go", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d" ], 0, - "09b1ca6feb2e2a9a3973367eb528cb7f" + "eefd51ddfcd936cc875be50ee40f4288" ], [ "IntervalIntersect.go", @@ -160,7 +160,7 @@ "typing_IntervalIntersect.max", "well-founded-ordering-on-nat" ], 0, - "515f646f6c0aba87b4fd58a1966527c4" + "5fdf514d088c425dc6fcb42fa7ebda8e" ], [ "IntervalIntersect.mem_rangeGT", @@ -173,7 +173,7 @@ "equation_IntervalIntersect.rangeGT" ], 0, - "47d14a26f887e682dc1ec06a86ba5c67" + "cfe850bcb0f711eff3665adfffea1392" ], [ "IntervalIntersect.range", @@ -231,7 +231,7 @@ "typing_FStar.Set.singleton", "well-founded-ordering-on-nat" ], 0, - "e7bf938e902795f3072fc00db6b7d51c" + "86253040517f8ded238a15e0144b4ea8" ], [ "IntervalIntersect.sem", @@ -281,7 +281,7 @@ "typing_FStar.Int64.v", "typing_IntervalIntersect.good" ], 0, - "0b68c9209c199f4bb526b19610b5c566" + "c1b1b6d90057620489723e1788520adb" ], [ "IntervalIntersect.lemma_disjoint_intro", @@ -290,7 +290,7 @@ 1, [ "@query", "equation_FStar.Set.disjoint" ], 0, - "f3d92df234d7bc273d557b3fec6cff00" + "26f584b6d4b6beb8128a6fb4a01e3120" ], [ "IntervalIntersect.lemma_semI_sem_disjoint", @@ -367,7 +367,7 @@ "typing_IntervalIntersect.semI" ], 0, - "ba585e8e9d85217126d6cfaee9d15de4" + "937af3aceab376dc97fca387641966f2" ], [ "IntervalIntersect.lemma_disjoint_prefix", @@ -436,7 +436,7 @@ "typing_IntervalIntersect.semI" ], 0, - "8fcbad4baaf643201d349b68df870c2e" + "5d1ecd87776131f9d02f7de16a31f794" ], [ "IntervalIntersect.lemma_subset_prefix", @@ -515,7 +515,7 @@ "typing_IntervalIntersect.semI" ], 0, - "1a39c316ce4cc2bfe7377b80baa45473" + "17666bdaf875837fe9f73e2d47a1b212" ], [ "IntervalIntersect.lemma_overlapping_prefix", @@ -563,8 +563,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_7c1772a556bc0676a36d20aa898dc52c", "refinement_interpretation_Tm_refine_7ef2cc3b4736ba226daf0be63d231a99", + "refinement_interpretation_Tm_refine_827e82ad7cbae0fd57e37151e395ef15", "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_f12250cd049034ecc1144e28ba699e0b", "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", @@ -574,7 +574,7 @@ "typing_IntervalIntersect.good" ], 0, - "806c896febcf5ad53214777ee7a987ea" + "8e772817b9e9cc0368f0623d10ef54a5" ], [ "IntervalIntersect.lemma_overlapping_prefix", @@ -657,7 +657,7 @@ "typing_IntervalIntersect.semI" ], 0, - "467afe54f20b5717d07d3ba5ce03da7f" + "baa0c114a49fa3f56f08b1bcde4e4c44" ], [ "IntervalIntersect.lemma_intersection_spec", @@ -757,7 +757,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ceddd4a13c886d6b2b15aae116a2537d" + "ce260c5132700e7207a1f7cf5dcc94b0" ], [ "IntervalIntersect.ppInterval", @@ -766,7 +766,7 @@ 1, [ "@query" ], 0, - "a9be11f4cffaa45738af8a3717f34e71" + "a0eabef5ce46e8f9c65c6f8145b8fba2" ], [ "IntervalIntersect.ppIntervals'", @@ -817,7 +817,7 @@ "unit_typing" ], 0, - "546b7784fda83d5038f2f44db71e7598" + "e78b6fa4010b854f410140b2323ca8b4" ], [ "IntervalIntersect.ppIntervals", @@ -829,7 +829,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "8ef7d836a6dbc8123a9e46affc9d4221" + "f16c5b5f07c8b2b827c284ae7380e810" ], [ "IntervalIntersect.main", @@ -880,7 +880,7 @@ "typing_Prims.pow2" ], 0, - "6f9b271b6d0df1fea6fe4c76d48a9144" + "388d97875a70a3debfe922fdba1f7631" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/MergeSort.fst.hints b/examples/algorithms/MergeSort.fst.hints index 6636214e38a..c2e84a67a1f 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, - "199a0d141f71f15ed516709719d4c23c" + "c009e941adbc714d546e9bd529c7c9f9" ], [ "MergeSort.split", @@ -93,7 +93,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "31fc9154f446b10976ea9395ce2189bb" + "0f0d4db580405f6646c7f2b818150969" ], [ "MergeSort.merge_inv", @@ -102,7 +102,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "31a3de04c6ab973a8fac00bcc1ddb7a7" + "f555643efc17dd8e39debbb3e503a869" ], [ "MergeSort.merge", @@ -153,7 +153,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted" ], 0, - "a7768c3fab9712c1b97fc31e8ec29dfb" + "6ca7cfca5439e5234ace9e9fa7bf701b" ], [ "MergeSort.mergesort", @@ -193,7 +193,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "07dc1bd4098756897fbba59b3e43dc09" + "ac3a72243bb48cf5f0c5a4aa533cf8f2" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Array.fst.hints b/examples/algorithms/QuickSort.Array.fst.hints index a8a26448ed1..b4b1da53219 100644 --- a/examples/algorithms/QuickSort.Array.fst.hints +++ b/examples/algorithms/QuickSort.Array.fst.hints @@ -17,7 +17,7 @@ "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "df3a53535fe53fa8b345b0fe61f4369f" + "d595b6957431b6ff04f0ed03a4c0d639" ], [ "QuickSort.Array.partition_post", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "1f3fccf313d64fd4ec3e7881a6fba6cd" + "ff8a08e07a81d6951ac256c8657e3982" ], [ "QuickSort.Array.partition", @@ -93,7 +93,7 @@ "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.mem" ], 0, - "5c1fbd9ae4e8a3fbe81b52d8f1a942d4" + "14147c39ad103ffebe46712e017ffccb" ], [ "QuickSort.Array.lemma_slice_cons_pv", @@ -112,7 +112,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1f5c9f882614fcf0d4788a303543203f" + "710863ff590b18c3b1fa8a3f0105aea4" ], [ "QuickSort.Array.lemma_slice_cons_pv", @@ -149,7 +149,7 @@ "typing_FStar.Seq.Properties.cons" ], 0, - "f78ec59a95997ae58d0394576187648a" + "1ab30fe16654a1ab94a2226271230a85" ], [ "QuickSort.Array.sort", @@ -169,7 +169,7 @@ "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "72666531bde061a4b0cd5217f2b397b0" + "0675471b822c4fedc352dd2c9466ac96" ], [ "QuickSort.Array.sort", @@ -220,7 +220,7 @@ "typing_FStar.Seq.Properties.mem" ], 0, - "62a25ee7a152c67ffc92cb88b14eed26" + "4e64fadbdaf8a1c70efcdadc9545cec3" ], [ "QuickSort.Array.qsort", @@ -242,7 +242,7 @@ "typing_FStar.Array.sel", "typing_FStar.Seq.Properties.sorted" ], 0, - "7268de38196ab39d6348af91111ed2b5" + "d3b2d9785898af35648e6fcfbd6de4ac" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.List.fst.hints b/examples/algorithms/QuickSort.List.fst.hints index d86a146b9c4..d6a11d7b401 100644 --- a/examples/algorithms/QuickSort.List.fst.hints +++ b/examples/algorithms/QuickSort.List.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0fa3bc7eabb39b48d368bbf10bccf31c" + "dfd3b82bec059e9a71875dbc91ff010d" ], [ "QuickSort.List.count", @@ -32,7 +32,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "abecc4e4356fa4e87ab0e2835f4f1f19" + "1f287b0eee6807f4a05a1e38e5d0b8bc" ], [ "QuickSort.List.mem_count", @@ -64,7 +64,7 @@ "subterm_ordering_Prims.Cons", "typing_QuickSort.List.count" ], 0, - "9d370b00b17d2fabf0f9d5d9a9719741" + "e5622b40105220547048e034a15d023a" ], [ "QuickSort.List.partition", @@ -78,7 +78,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "3b3cafe22c31541f13eff24661ac3997" + "cfe35697f28808b846ae41cc0e127dd2" ], [ "QuickSort.List.partition_lemma", @@ -129,7 +129,7 @@ "typing_QuickSort.List.partition" ], 0, - "216e6625bdf9018b40f6af54a1822578" + "71d537de92860728d9828962b21516f4" ], [ "QuickSort.List.sorted_app_lemma", @@ -177,7 +177,7 @@ "typing_QuickSort.List.sorted", "unit_typing" ], 0, - "0f937aee6c3df0b01c92d6e121f9d1ea" + "77cfd5aa731963f9f93d466cb5349e10" ], [ "QuickSort.List.is_permutation", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4090b27cbdc9f9ef21d421030cf1157f" + "314297b6926e221367c8b98360a7b59b" ], [ "QuickSort.List.append_count", @@ -228,7 +228,7 @@ "typing_FStar.List.Tot.Base.op_At", "typing_QuickSort.List.count" ], 0, - "337e21861ae2301d07b3b9ac108cc2fd" + "dccbada43d6ab7b6004bf0b0081bd435" ], [ "QuickSort.List.permutation_app_lemma", @@ -258,7 +258,7 @@ "typing_QuickSort.List.count" ], 0, - "21266484cf5b953a830700d005c65208" + "b4c0786df62519d1ccee4791cbf86987" ], [ "QuickSort.List.quicksort", @@ -313,7 +313,7 @@ "well-founded-ordering-on-nat" ], 0, - "05ad860d5d12f5a74352de2640174edd" + "e621cd4a3877031666578d724ecc700b" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Seq.fst.hints b/examples/algorithms/QuickSort.Seq.fst.hints index 575aafcf10e..e0eeecdee28 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, - "be5ed8e837ec78c3b344570d3198fbeb" + "42fe375ddb80909bbfae95f2054c1901" ], [ "QuickSort.Seq.partition", @@ -74,7 +74,7 @@ "well-founded-ordering-on-nat" ], 0, - "3629f1a070ea57e2efd27d15cb9e502e" + "48ddbe61dbd871deb6a1068c04b865c6" ], [ "QuickSort.Seq.partition", @@ -135,7 +135,7 @@ "typing_FStar.Seq.Base.upd", "well-founded-ordering-on-nat" ], 0, - "d77c0cfcd2f398aef4e6b7b8c4ddd7a3" + "fe36771790f64c75768e57944244433a" ], [ "QuickSort.Seq.sort", @@ -201,7 +201,7 @@ "well-founded-ordering-on-nat" ], 0, - "bef33f0ec9dcb7d5491faa7e83975da1" + "7f8237d241e791c56b87fa49314d0403" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/Unification.fst.hints b/examples/algorithms/Unification.fst.hints index f452fe66971..6f14de922e9 100644 --- a/examples/algorithms/Unification.fst.hints +++ b/examples/algorithms/Unification.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "975280d231ad15712076a1e8109d6b51" + "db9633c8acdcc49f42a6b6c2ca41eead" ], [ "Unification.lemma_shift_append", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "516259c659b9d21008e892d186e528ed" + "ff3385f65770099a859c3d155b053302" ], [ "Unification.lemma_shift_append", @@ -59,7 +59,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "07068cb5730142bc13983e6b6e2c9805" + "69986218b45aa5bfa8a1ee264e2b3b8a" ], [ "Unification.term", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f3a1aa332ccdd554ca24732f8b308a38" + "58851c6a27d005e41cf045c0474bfe2c" ], [ "Unification.__proj__V__item__i", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_a6f3162317a37ec3b40e2ddee0a47784" ], 0, - "2a0be9cafab66c68825bd772f91fdb34" + "558756096002c545ff8bbd7f0571ec65" ], [ "Unification.__proj__F__item__t1", @@ -99,7 +99,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "86143fc2ccee2c5e33870bb5db293442" + "2669c6b881f8f68178de96f70da883a7" ], [ "Unification.__proj__F__item__t2", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "d4fc6e79420261606e11606479ef093d" + "0a74b52d320ffb59ee0f7faf0a501fa4" ], [ "Unification.nat_order", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8e399385466f6ff9589d17a50609883" + "8090d6de7618f68a23e45e41cd7e37d5" ], [ "Unification.nat_order", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5d696aca7b86b9b4310e7b7383ffb7f6" + "b039e63902387487285cb3a5e73d58bd" ], [ "Unification.varset", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89146dc29aeb6f88fd38b50a2148c3fb" + "4f4c94deb4b63bd397cc056e568156f4" ], [ "Unification.empty_vars", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f3ad7ae2e4240105d7306f270c39aebd" + "9eecaedb444fa23fc518df343e972d66" ], [ "Unification.vars", @@ -193,7 +193,7 @@ "subterm_ordering_Unification.F" ], 0, - "55c66c3239a875fc430a977d54291d4c" + "affe18c094d52497b89f8db34755d4a9" ], [ "Unification.evars", @@ -212,7 +212,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6b007f09df281cd3b05fbe266e679b6e" + "af4ab546cbac450d3d090dc3691c924a" ], [ "Unification.n_evars", @@ -226,7 +226,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5a84c833a192835c1e5c0fc85e48289b" + "fee5fb51d913cda49995a8909579f00e" ], [ "Unification.funs", @@ -244,7 +244,7 @@ "subterm_ordering_Unification.F" ], 0, - "3627004b283ef66555a4369ec84ca416" + "3543b9f5da632c71777aa24391bb1395" ], [ "Unification.efuns", @@ -263,7 +263,7 @@ "subterm_ordering_Prims.Cons", "typing_Unification.funs" ], 0, - "854b3019d8993ecc04cad790ffcb2a54" + "19181dbea260fa7f48ebe96cf16fa545" ], [ "Unification.n_flex_rhs", @@ -281,7 +281,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3f4cb756cb003ea486afc55e0f69cc44" + "5ae30b67b0410a98331df6c372e526b9" ], [ "Unification.subst_term", @@ -306,7 +306,7 @@ "subterm_ordering_Unification.F" ], 0, - "7d82075c7abe568b09ba32c9d360585c" + "5eb3794b23935a3c7643c125efc4cf24" ], [ "Unification.occurs", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0f70e0c081f4fec27d1ce94c56c8882a" + "262f603e28179ddd14f41855c75c1fd9" ], [ "Unification.lsubst_eqns", @@ -336,7 +336,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ee07f846e36edd97147ab97bfec69404" + "d65048ecc73533a8e4a66f2c0506b3b1" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -352,7 +352,7 @@ "kinding_Unification.term@tok" ], 0, - "b80059bba5fac4982323d16bcdc09230" + "58efc49335b4f8fd29e832b0259049bf" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -368,7 +368,7 @@ "kinding_Unification.term@tok" ], 0, - "6ad82e7436aebef729270efc65a6b7e8" + "1307450ac618104ab32e60614542b5b8" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -401,7 +401,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "fa1dfe6169eb5c494129d761329888a1" + "762b672323c55b262c5a866f6de25148" ], [ "Unification.evars_permute_hd", @@ -419,7 +419,7 @@ "typing_Unification.nat_order" ], 0, - "6d2d07bc5ccc0990c380873faeffbb90" + "2e1e9f142a33a3cc0ae2f85a53392efe" ], [ "Unification.evars_permute_hd", @@ -451,7 +451,7 @@ "typing_Unification.nat_order", "typing_Unification.vars" ], 0, - "33be68caf833c4422d87858326f0b7ce" + "14f6f1b771cdfaf9267421df16743399" ], [ "Unification.evars_unfun", @@ -469,7 +469,7 @@ "typing_Unification.nat_order" ], 0, - "9bb143ea5e1897f5931e9f898bfd9b67" + "f50bc2270790bfb64b0b4233be75e83f" ], [ "Unification.evars_unfun", @@ -514,7 +514,7 @@ "typing_Unification.nat_order", "typing_Unification.vars" ], 0, - "562372710755068ba4974cc9101fc695" + "7d75b253f1dd76c6161956bfb2eda867" ], [ "Unification.lemma_vars_decrease", @@ -528,7 +528,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5fe09ba6788882e44fd56893cdb6cd24" + "425f972103e0ee054e225d70475ac841" ], [ "Unification.lemma_vars_decrease", @@ -542,7 +542,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "087188b4acefed50da5444ef2f154d84" + "b2a4b1d2e993299e5b5938f491ee1cc8" ], [ "Unification.lemma_vars_decrease", @@ -593,7 +593,7 @@ "typing_Unification.subst_term", "typing_Unification.vars" ], 0, - "4a965ee932ef7f97b95eb498bbdeb130" + "39e469725c9a67e6e9750e81f0c07430" ], [ "Unification.vars_decrease_eqns", @@ -607,7 +607,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dabe1845709021b34815ce1c37304075" + "2b4f3394a4af0705ecb813d1c7b96fae" ], [ "Unification.vars_decrease_eqns", @@ -621,7 +621,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d4a5e846a966f106fa1546bd0f5e9923" + "51ce35b0e38fbe54453dbd6171b3b73d" ], [ "Unification.vars_decrease_eqns", @@ -691,7 +691,7 @@ "typing_Unification.subst_term", "typing_Unification.vars" ], 0, - "bf1b56412e663c6cd91dcfc5a913e68e" + "a39d6157896d24a6101c69a9f2cd8eff" ], [ "Unification.unify", @@ -774,7 +774,7 @@ "well-founded-ordering-on-nat" ], 0, - "db81eef676685365e646c062467dfc51" + "d94498b2099a4db8d3ed67571a81b181" ], [ "Unification.solved", @@ -790,7 +790,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "77c96cb6cb1d254f2aeeda53f1deb007" + "73552fb3a5203e779766ef3497d414c2" ], [ "Unification.lsubst_distributes_over_F", @@ -799,7 +799,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "3d2b2460555f155e998f9cf8449f4e22" + "5de8a0739198a4f8c15d97f694dabcc4" ], [ "Unification.lsubst_distributes_over_F", @@ -808,7 +808,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "ed924c4634b06550032947ce87e2f43c" + "32cedac205ede09f6b11e2b357436d63" ], [ "Unification.lsubst_distributes_over_F", @@ -847,7 +847,7 @@ "typing_Unification.lsubst_term" ], 0, - "4878b4b0644513496359b308f7a118d3" + "fdb16f7c4616d7422fbf4725a2e0eb46" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -856,7 +856,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "a57605761dc7b11a80d3e2b94e9de3eb" + "f084e677283d02cce430fa4fa76212b1" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -865,7 +865,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "fdf14f7440b2f304e51ff3fbcc548b16" + "61785e2a431d2f2962429101ddd7c986" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -904,7 +904,7 @@ "typing_Unification.extend_lsubst", "typing_Unification.lsubst_term" ], 0, - "deb32e4f797a462fc6f8ba92e184c263" + "4ff098500bcef15dab561da01c355208" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -920,7 +920,7 @@ "kinding_Unification.term@tok" ], 0, - "b87f977b56c0efd4fa1821db7e261817" + "1f2f819a13604dbc6c85066b7e4ca6e4" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -936,7 +936,7 @@ "kinding_Unification.term@tok" ], 0, - "50493b3b0c18eb10ce171b6cc2c47d66" + "f6f4b241f6caa05fb2dcfba0f17d6dc0" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -975,7 +975,7 @@ "typing_Unification.extend_lsubst", "typing_Unification.lsubst_eqns" ], 0, - "be0dc6a27eef9ba00385642044cedf28" + "dd78bd99371a7a19883f17d8a08e39fb" ], [ "Unification.lemma_subst_id", @@ -984,7 +984,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "ad046f253cb6373ea8e824d2b910475d" + "e67e45f88574544c2ed3d6652608462d" ], [ "Unification.lemma_subst_id", @@ -993,7 +993,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "5e6e6386b852f50fa0e0a0099308a26a" + "b16d118a246d70f908a72797cecb86b0" ], [ "Unification.lemma_subst_id", @@ -1040,7 +1040,7 @@ "typing_Unification.occurs" ], 0, - "18bff6889710b7c016eadfd1f19f7d7c" + "4fbebac1f21b91cb47b7f668cb3270c6" ], [ "Unification.neutral", @@ -1049,7 +1049,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "f89a6925e3f467ca89957812f51c6117" + "d424856ba9b30b006f2bb3caa6450eb4" ], [ "Unification.neutral_l", @@ -1058,7 +1058,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9e898924436ec95b924df1121d1ef41a" + "b4094a1ca58b1c6b47321b189aca1b5c" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1067,7 +1067,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "d41beb36d5dc7997f2c28366ef9fb0e5" + "2fbf2537ac10f4137016fc10d9734dc6" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1076,7 +1076,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9e0a695e51cd3d3f2240ee3b5e9ee942" + "07425f253889eb32c7171388181baa9f" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1133,7 +1133,7 @@ "typing_Unification.subst_term" ], 0, - "7745ab37487222ef88763093aa7762ec" + "9f6f14d1b6298e6e53045f9af802b291" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1149,7 +1149,7 @@ "kinding_Unification.term@tok" ], 0, - "a237f1b9655e275923babe52cb33a665" + "61a567abcb2a7a0ca85a86e8f5e7c8ad" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1165,7 +1165,7 @@ "kinding_Unification.term@tok" ], 0, - "b4d912ff4a63d482ef28a286b328664b" + "72289d235053dcba7595f8fbbdbfa67c" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1207,7 +1207,7 @@ "typing_Unification.lsubst_eqns" ], 0, - "ea5483dc3aa5dd9b3b53ab161e60528e" + "470c4bc4f38e19e53b22185e0864b81f" ], [ "Unification.key_lemma", @@ -1230,7 +1230,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1466e1ce539ee2c7cd52060a0195b7d9" + "98f5d56e7c5e5ab06b5f1075247c16b5" ], [ "Unification.key_lemma", @@ -1296,7 +1296,7 @@ "typing_Unification.sub" ], 0, - "948eabfa03376bab6934cf6b2cb61d64" + "6de8ac58b1c4e59f7ad24ef40c096126" ], [ "Unification.lemma_subst_term_idem", @@ -1305,7 +1305,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "7b7518ed2882d1226071b6ac8079cd3a" + "6655e1df755d51df2bbdfe697cfeff0a" ], [ "Unification.lemma_subst_term_idem", @@ -1314,7 +1314,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "87411d073087ee322d099510e8f93b0c" + "219a922bc18dcc5ab34390e98f675891" ], [ "Unification.lemma_subst_term_idem", @@ -1348,7 +1348,7 @@ "subterm_ordering_Unification.F", "typing_Unification.subst_term" ], 0, - "334eac1bcf6f52d8950fd4d03528f7f1" + "a5be9518707809566630c7a17519d120" ], [ "Unification.lemma_subst_eqns_idem", @@ -1366,7 +1366,7 @@ "kinding_Unification.term@tok" ], 0, - "83404d8ae460a9aa3cc1f7e95b819ad9" + "eacbd96ea19d64b6bfe85bc05a004d2d" ], [ "Unification.lemma_subst_eqns_idem", @@ -1384,7 +1384,7 @@ "kinding_Unification.term@tok" ], 0, - "30369930ffcc256ca55968ab87244604" + "3c4acb810641155cbe821b1aa3893199" ], [ "Unification.lemma_subst_eqns_idem", @@ -1425,7 +1425,7 @@ "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term" ], 0, - "b65109db59afe88840ed394539ffb00a" + "4772154d1c4af6770cebad6c58bbb3e7" ], [ "Unification.subst_funs_monotone", @@ -1461,7 +1461,7 @@ "typing_Unification.subst_term" ], 0, - "0f169397f65427727e04451355967ee3" + "9eb49128f330e02e6c10889d35e9bd2b" ], [ "Unification.lsubst_funs_monotone", @@ -1492,7 +1492,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ff11337c1800c68e737c22a05fca6192" + "d3592d88d065abef3ec5eb7f82754b05" ], [ "Unification.lemma_occurs_not_solveable_aux", @@ -1538,7 +1538,7 @@ "typing_Unification.occurs", "unit_inversion", "unit_typing" ], 0, - "58227118105afcee0a95f5515350d4b2" + "2368b5d1022de97db281fa9a46dc36a4" ], [ "Unification.not_solveable", @@ -1547,7 +1547,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "e8c1d71ab36ab8b861e101dd2533c308" + "50cfebd0a16bd128c5338e299873f868" ], [ "Unification.lemma_occurs_not_solveable", @@ -1575,7 +1575,7 @@ "token_correspondence_Unification.funs.fuel_instrumented" ], 0, - "70adc5aa885b95eb0ec34173fda8d851" + "64e16445cd330e7355c5f52bff1527b7" ], [ "Unification.lemma_subst_idem", @@ -1584,7 +1584,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "d8a85ea056235bb6a07ce7d2d0bed3f2" + "fc269a11e8a4ea34589cd48a74c1048a" ], [ "Unification.lemma_subst_idem", @@ -1593,7 +1593,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "25f03e25aa1bc271eb2043e4f3e28556" + "47502be75332c8dd9d9facfbc151d29c" ], [ "Unification.lemma_subst_idem", @@ -1634,7 +1634,7 @@ "subterm_ordering_Unification.F", "typing_Unification.subst_term" ], 0, - "fd50862ccd6b25fe7bf44759423479b4" + "31bc4ff7e59e9ac52583d4f559ad9b1c" ], [ "Unification.lemma_subst_eqns", @@ -1649,7 +1649,7 @@ "kinding_FStar.Pervasives.Native.tuple2@tok" ], 0, - "b441daf4fe2943e774164c67c5adff20" + "2757dc93020046ae948674285b7dcf23" ], [ "Unification.lemma_subst_eqns", @@ -1665,7 +1665,7 @@ "kinding_Unification.term@tok" ], 0, - "1e364d334db0f1053cbfae81237a5aec" + "215b3d7811be85093cca48164b4f630a" ], [ "Unification.lemma_subst_eqns", @@ -1710,7 +1710,7 @@ "typing_Unification.lsubst_eqns" ], 0, - "cdb8c175f98c8f625cef6e64ebd3b1ce" + "e835552e6f3eeac801371213f237537d" ], [ "Unification.lemma_not_solveable_cons_aux", @@ -1744,7 +1744,7 @@ "typing_Unification.lsubst_eqns" ], 0, - "61de30a62eb9621e5a60d7e917a916a3" + "70d7c925829b6311853fe70614cac30f" ], [ "Unification.lemma_not_solveable_cons", @@ -1761,7 +1761,7 @@ "lemma_Unification.lemma_not_solveable_cons_aux" ], 0, - "992f8b8bf89a86bb600383aff562cd81" + "137d562c7db4a885bb77d64535553545" ], [ "Unification.unify_correct_aux", @@ -1794,7 +1794,7 @@ "typing_Unification.unify" ], 0, - "797e6a69937ef5c6342e65034fc6bf71" + "73664d17cd4223fc36526e772c89ea38" ], [ "Unification.unify_correct_aux", @@ -1827,7 +1827,7 @@ "typing_Unification.lsubst_eqns", "typing_Unification.unify" ], 0, - "3bd723b211a0e14584f3b6bb58e332f3" + "56c583aed87ac63f85d8a4954f9cad8e" ], [ "Unification.unify_correct_aux", @@ -1966,7 +1966,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "774c113490b9b97eb74d00685273564e" + "ea85bc9abb19e6eb5b9e0928f44fd655" ], [ "Unification.unify_eqns_correct", @@ -1982,7 +1982,7 @@ "typing_Unification.unify_eqns" ], 0, - "a57e1bf804c4badb5cafb4c7d6cf8bdd" + "06247e382b298fe48af8acb996bb5f76" ], [ "Unification.unify_eqns_correct", @@ -2000,7 +2000,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1c835bae443fe5f63c38da1ca5ac56a9" + "6c79e0468a9d3555810bc2da11164c65" ] ] ] \ No newline at end of file diff --git a/examples/calc/BasicTests.fst.hints b/examples/calc/BasicTests.fst.hints index b5c4549af7d..bb5a260cb9a 100644 --- a/examples/calc/BasicTests.fst.hints +++ b/examples/calc/BasicTests.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4b2a30d1ec6919a4b75d0d8e884d4797" + "7f3fb1a393763fde895bc8bfcc6405ad" ], [ "BasicTests.test2", @@ -25,7 +25,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "37b255bfb01d76223c9d9f0f4968c083" + "2e70fef2c722ee62738a2776d972d23e" ], [ "BasicTests.test3", @@ -37,7 +37,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "fd5fcffa6fcfa08e33cfb815dbcd1f88" + "8b21888cad659ef9d5659440a1c57e47" ], [ "BasicTests.test4", @@ -46,7 +46,7 @@ 1, [ "@query" ], 0, - "e91177bb5cdddc9791955819eacb3f6e" + "4a7e0bf556b9a818dcd381d74c168aeb" ], [ "BasicTests.test5", @@ -59,7 +59,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "12f07250a57457f640cd46be2ac5cee7" + "b9b4b9129cf7afae4d37cff3d514eacf" ] ] ] \ No newline at end of file diff --git a/examples/calc/CalcImpl.fst.hints b/examples/calc/CalcImpl.fst.hints index f7468e5f85f..60bba8a37ba 100644 --- a/examples/calc/CalcImpl.fst.hints +++ b/examples/calc/CalcImpl.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "85f4db66ad6a1e61a2de02260fdbf154" + "90b08fca9f25c7f48aedca9b367c762e" ], [ "CalcImpl.test3", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5aa160f8759c942d0c458c8ec3c586cc" + "9f2312a19ab75a7ec8762fad7e2e045d" ], [ "CalcImpl.test4", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eeab0d7eec4f265e9ad44664ac3403a8" + "849ea5afab2cef8cb9eccf55b0bff606" ], [ "CalcImpl.test5", @@ -50,7 +50,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cbabb0286d27f3f1ad968f85138a121e" + "0f035b34bdd8751ea7a96d1a298f381c" ] ] ] \ No newline at end of file diff --git a/examples/calc/CalcInference.fst.hints b/examples/calc/CalcInference.fst.hints index 8426b54a46e..787cb6849ff 100644 --- a/examples/calc/CalcInference.fst.hints +++ b/examples/calc/CalcInference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "004354715a0081ed744ce608a63d44dc" + "53d312314692938296375e0412845336" ], [ "CalcInference.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "1ba7420ea88983b2a4cbb11f001d809f" + "980b363f7568236bcfa6134bce10d515" ], [ "CalcInference.test3", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "afca98e90e7343a14656f05bdfca6cca" + "01031db971f9b45f50ed4a8b108cc4e2" ] ] ] \ No newline at end of file diff --git a/examples/calc/CalcTest.fst.hints b/examples/calc/CalcTest.fst.hints index 8e9b9f4e3e0..5ff9b3a1c08 100644 --- a/examples/calc/CalcTest.fst.hints +++ b/examples/calc/CalcTest.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d6311163f08b2f3a48d1099e209bd319" + "e4173ea14a0b65f09568b9c827405de9" ], [ "CalcTest.calc0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2aef88d446a1fe417de961c8813ca727" + "02595bb1c9f5f20fd526c35822ee28bb" ], [ "CalcTest.calc0_desugared", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a7229b08d008a49202e932c0521fd55f" + "6898b5d225e056784d216083a6b7c11f" ], [ "CalcTest.calc1", @@ -53,7 +53,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "f87565e027efdd9ae509659fe2d6bcf9" + "435d641d3144e42127671bb98277de71" ], [ "CalcTest.test_ge", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "d3739017cf159f9cb2da12b1380e7ab2" + "d645181f6d40bbdcfe606cebfb31180b" ], [ "CalcTest.test_erase", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "c1c12217e7c93d13836d96dc70c7b3e6" + "847b32bd238afb7100e8b128059f90ab" ], [ "CalcTest.test_gt", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "899503e3e20d3e44554ea5f47abcba99" + "643a33b19b2051ff485023a6963daafc" ] ] ] \ No newline at end of file diff --git a/examples/calc/Long.fst.hints b/examples/calc/Long.fst.hints index f7f54077213..354936157c2 100644 --- a/examples/calc/Long.fst.hints +++ b/examples/calc/Long.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7fc88081f76c144604d7db7ce35b3d13" + "b80117f6c3d2e238c1e2d9da4249d213" ], [ "Long.calc50", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "6b7ea1b4fed8d262736925118bbd4e3d" + "43befa9a5701b87cbd5d72a5584f60f6" ], [ "Long.calc75", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "05453f86889d6c96a3d3c5597420b9fb" + "58a011267defc20db060a30d0fb5585a" ], [ "Long.calc100", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "2c88d692bd922e80dce59056f8434715" + "e33c185a2720f232e9c9ae3524178869" ] ] ] \ No newline at end of file diff --git a/examples/calc/SeqCalc.fst.hints b/examples/calc/SeqCalc.fst.hints index 1274487f5b2..f0b87f6dd3b 100644 --- a/examples/calc/SeqCalc.fst.hints +++ b/examples/calc/SeqCalc.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "18cfabdc7a4d7b4f960b8c61ce68761b" + "3e0f60e502f9770d8b33c5479b6830b2" ] ] ] \ No newline at end of file diff --git a/examples/crypto/AES.fst.hints b/examples/crypto/AES.fst.hints index b0c0923de0f..3d4f4085573 100644 --- a/examples/crypto/AES.fst.hints +++ b/examples/crypto/AES.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c7412df5ebe04904971edfbfa716dbc1" + "dbe00bf12c77536139ef70536b2d378e" ], [ "AES.cipher", @@ -23,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "0c2f0ef33490022706edf814a8df3566" + "68785988da7db41254936935e936cde9" ], [ "AES.key", @@ -34,7 +34,7 @@ "@query", "equation_AES.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "1f7402cd3b8d4e0837e61ce9ec2ffb38" + "6691b19b091b667dd4b392111d73f8ac" ], [ "AES.enc", @@ -48,7 +48,7 @@ "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "94dd61fdd9a8bd7c44a2334f03223850" + "8e727e65590441ec423153e15d72180b" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Cap.fst.hints b/examples/crypto/Cap.fst.hints index aa3922a1c47..17f0ce8af92 100644 --- a/examples/crypto/Cap.fst.hints +++ b/examples/crypto/Cap.fst.hints @@ -11,7 +11,7 @@ "equation_Cap.byte", "equation_Platform.Bytes.bytes" ], 0, - "05d16df6160970903c24cfda9c0e8717" + "e19286fa85463527983f67b6f94859bb" ], [ "Cap.issue", @@ -28,7 +28,7 @@ "string_inversion", "token_correspondence_Cap.capRead" ], 0, - "ec31afc3813f18ae5faead887211e1dd" + "143c2562677df5013f4fc2c8c370b78c" ], [ "Cap.main", @@ -55,7 +55,7 @@ "typing_Platform.Bytes.equalBytes", "unit_typing" ], 0, - "1f90ebc9f8beccfe06c9b48fd5021091" + "ca8748a74d99446281fc6c5ebee1862e" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Cert.ACLs.fst.hints b/examples/crypto/Cert.ACLs.fst.hints index 58d59f85026..0bf033afbe6 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, - "45efd3bd4f4197b506496201fc0fcb05" + "fe9a1119ff2c04c07990d3f24ead2b6c" ], [ "Cert.ACLs.rc", @@ -22,7 +22,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "d880695a509a26c02451a078c6477a87" + "f610d4bb7e86ff19b16c15c868afff72" ] ] ] \ No newline at end of file diff --git a/examples/crypto/CntFormat.fst.hints b/examples/crypto/CntFormat.fst.hints index 386711b7200..7b49d7ab860 100644 --- a/examples/crypto/CntFormat.fst.hints +++ b/examples/crypto/CntFormat.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "afe7ab1d28e99c8e74a166fa83baa416" + "ffd5111f0db0acd08f8a04315ce3c021" ], [ "CntFormat.append_inj_lemma", @@ -34,7 +34,7 @@ "typing_FStar.UInt8.t" ], 0, - "9fa8f4e41dc2f034a1fe88468b531f50" + "2c5c59c47e26141419473f13442517ef" ], [ "CntFormat.UTF8_inj", @@ -47,7 +47,7 @@ "typing_FStar.UInt8.t" ], 0, - "aeb103e0772e486012a6d2c347d601dd" + "1da9eecd5f4b7e8ed67e738d5336aeac" ], [ "CntFormat.response", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_1ed200b6affe2db07bfbf96ff8436cc6" ], 0, - "b4eb52505413e67f42a692d40114ebae" + "2a338e6175761ea2563645dce00e78aa" ], [ "CntFormat.signal", @@ -71,7 +71,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2123c6b059f3347cd1338706abf769b3" + "1e55f01e8d7576987600ad776502ce9c" ], [ "CntFormat.signal", @@ -94,7 +94,7 @@ "typing_CntFormat.uint32_to_bytes" ], 0, - "dc080fe41bf22999f4c5ad61eced5d07" + "1c9d756788a7d702554ddd4cb2529f15" ], [ "CntFormat.signal_split", @@ -109,7 +109,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4370caf443937f82bed221c6940a6c23" + "3551332419e4dfbab9d8483eecfda5a3" ], [ "CntFormat.signal_split", @@ -144,7 +144,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_71050496a0b6bdbab08b701114cb2b13" ], 0, - "e88334228d277a365c9913c4f4a07c47" + "5460000dc2a497d30f30f01829641078" ], [ "CntFormat.signal_split", @@ -180,7 +180,7 @@ "typing_CntFormat.signal_size" ], 0, - "29a60ba5c20b8b805594154d28232786" + "1313b1b5c6e2cd35cd974f9c1be99b3b" ], [ "CntFormat.signal_components_corr", @@ -198,7 +198,7 @@ "typing_FStar.UInt8.t" ], 0, - "fbf8155e5f8c620e4ee03bc55068ff1f" + "e734a4c7e3e862878f77c361912532e1" ] ] ] \ No newline at end of file diff --git a/examples/crypto/CntProtocol.fst.hints b/examples/crypto/CntProtocol.fst.hints index 8e291882678..bffe0edd922 100644 --- a/examples/crypto/CntProtocol.fst.hints +++ b/examples/crypto/CntProtocol.fst.hints @@ -16,7 +16,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "81a423c61aefaca92623b25df32b9843" + "9adb11097d0283e03c91e383f84bcec6" ], [ "CntProtocol.client_cnt", @@ -25,7 +25,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "257cb44b84ecfdb0a91471349db41e24" + "29a671bf4ab330e71b89e094f1f5f3b7" ], [ "CntProtocol.server_cnt", @@ -34,7 +34,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "1d84674a3e0493e941270d04cba8e3fa" + "a2e1b93699ec9ee5d06f348a2867282b" ], [ "CntProtocol.server_max", @@ -55,7 +55,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "18748aa28c1e5a8f429a931d944d5c70" + "e0c0368cfcbee8d4daacbefefc1e73c3" ], [ "CntProtocol.max_list", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "625ed1903df09ab546549035ad92aba3" + "46929ee8ba1be3109c111388b30c3736" ], [ "CntProtocol.max_list", @@ -102,7 +102,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "2a52a865941c1400eb7acd80abfaa2a9" + "1c2a1295107f43298f68ac46a46ba970" ], [ "CntProtocol.max_lemma", @@ -111,7 +111,7 @@ 1, [ "@query", "assumption_CntProtocol.event__uu___haseq" ], 0, - "6d0c62084c94812ac46e8d3228c04ebc" + "15bd240817a90be2ca2efcbf2f3b919e" ], [ "CntProtocol.max_lemma", @@ -154,7 +154,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "b2dfe4dd69045874649b98ed5c59d8c0" + "ac4c5a7fe3b61a7fad9879b83c6805eb" ], [ "CntProtocol.max_lemma", @@ -197,7 +197,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "5231cfec45eba0402565ef29f9d3c7f8" + "594814ad1ec8628816b50ffd07b157f3" ], [ "CntProtocol.invariant", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "70662fe9af6c8891efc2b81b837d832d" + "7b3c79261dafa1ae6f144bc93d9810b9" ], [ "CntProtocol.next_cnt", @@ -253,7 +253,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "9bb90abbe8e907397697f339c07a7e19" + "2c3e9e3e6a929c996dbbfe5128f74d28" ], [ "CntProtocol.update_cnt", @@ -274,7 +274,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "11ff5c205643fa1143c020f3635cc4fb" + "6a35300e5f2e46081e1e267688469d34" ], [ "CntProtocol.log_and_update", @@ -301,7 +301,7 @@ "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "05f1aa95e4bf1d38a12219070f1955a5" + "ff9430fe0c89b648c69902cad603bc1e" ], [ "CntProtocol.log_and_update", @@ -357,7 +357,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "1c4d42ab229c0ceda40be29fb6c75057" + "ff5ed1863ac9eb8aa95a7b346619279e" ], [ "CntProtocol.send", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ae4d95c3445a3566d138ea1d76c237ac" + "c6021f3252ba9e4cc4f801c90410da9f" ], [ "CntProtocol.send", @@ -407,7 +407,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "a7ebd9a5d3c2858cd33dc2e55ab6f079" + "5b8bedf38653c6285365820ca7d3fd83" ], [ "CntProtocol.recv", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30a35896de58fb226af41b7b6674b0af" + "64edc4f643eabb5ded8fd88f5e87a09a" ], [ "CntProtocol.recv", @@ -470,7 +470,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "7fdfe53fea733ef1b2fd57642c7c081d" + "2ffbe8d9df18c63ec6de9453cc18c308" ], [ "CntProtocol.req", @@ -479,7 +479,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "fa17988811f0d1be7c05fd73fac4396a" + "0e01d92a03ddb98cb87739960e42cd7e" ], [ "CntProtocol.k", @@ -494,7 +494,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94" ], 0, - "bf7622c9ee383880c36f94426cafe694" + "3c29ccb73c5a361525b7d202e13048c5" ], [ "CntProtocol.recall_all", @@ -503,7 +503,7 @@ 1, [ "@query", "unit_typing" ], 0, - "0ea740ed261b175a22dbabf7f659503e" + "b3d75405f6662757e35b168440aa5bde" ], [ "CntProtocol.client", @@ -524,7 +524,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "9683f5b8d2d3eef941a785c1fb07c6e2" + "130f0bb1f89fd48e7db1783535613236" ], [ "CntProtocol.client", @@ -598,7 +598,7 @@ "typing_Tm_abs_a2e9f695669e1cfac185e9f9ad9ae2a7" ], 0, - "ddbab04d025c8ccce4b98aff2afe3d65" + "3aa64c53d666f818fc11b424cfa51a32" ], [ "CntProtocol.server", @@ -621,7 +621,7 @@ "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "eb894f6763b88066f93ee8ba5cbac340" + "0d446fe649ef1c8bc6bdc6f5b4937d08" ], [ "CntProtocol.server", @@ -694,7 +694,7 @@ "typing_SHA1.keysize" ], 0, - "6956917014851d0a279d0920b3ea0086" + "b980b1b60a4ec04e1e84b0600cf2fed9" ], [ "CntProtocol.main", @@ -747,7 +747,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem" ], 0, - "13c5d9d9594c2df8246739c836896b15" + "7b65d463cc6b1800392dd16ff0df9428" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Encrypt_SymEnc.fst.hints b/examples/crypto/Encrypt_SymEnc.fst.hints index 9a3e961cb44..be8a233bcad 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, - "fedfa02b200b19a0ea443832950070b7" + "daeba82c532991b31060783ceb4c565a" ], [ "Encrypt_SymEnc.__proj__Ideal__item__repr", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "095ea62295843a9ad3bfcf5d970e1ba1" + "01d9d4aa6a268a0d38bbf99b04e7f55f" ], [ "Encrypt_SymEnc.__proj__Ideal__item___2", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "85c00fb09d2c29395f5dc7367c840e64" + "406e3f19abe668a3e68c15c989a72266" ], [ "Encrypt_SymEnc.__proj__Ideal__item__i", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "3303c36cbb094a1aa6ed3c8f16937000" + "7d84a383316acbd7fcd212820ebd8b4d" ], [ "Encrypt_SymEnc.__proj__Concrete__item__plain", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "9643614f85bd497d5fb8b800b56c4429" + "9910e4dddbdd1b0091e8c631a33cf859" ], [ "Encrypt_SymEnc.__proj__Concrete__item__repr", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "c04349056f327d7eced3ae593493a039" + "f9338c91db0a88df422060f8f8cc0124" ], [ "Encrypt_SymEnc.__proj__Concrete__item___2", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "13b16e03ac6b999de534e162d2010fed" + "3590e8299ab758649df5614e7c5c4dce" ], [ "Encrypt_SymEnc.__proj__Concrete__item__i", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "f7e1d31600efc77bb668b77ed53adf99" + "1ce49b986c633b9284fd880902445fa9" ], [ "Encrypt_SymEnc.keygen", @@ -134,7 +134,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "11bc84fb1f3f6862e398bbfe51d6063b" + "672051a4bb9bc6a6180ed5e5209d9eac" ], [ "Encrypt_SymEnc.log", @@ -143,7 +143,7 @@ 1, [ "@query", "equation_FStar.ST.ref" ], 0, - "ec61f0a0336c9b37fb6990d4d24ad261" + "6b45a9dd3f09edac919f02d94e9f0c4e" ], [ "Encrypt_SymEnc.encrypt", @@ -160,7 +160,7 @@ "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "4d593400217707da4d8ba1af833d7ac2" + "1e6ddf17d8cfdfa271d1feb9b4f37157" ], [ "Encrypt_SymEnc.decrypt", @@ -177,7 +177,7 @@ "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "3d6d341e2604fd17cce7c918e55aace3" + "bc3273166502f494032d73db8900a833" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.AE.fst.hints b/examples/crypto/EtM.AE.fst.hints index 2b1a7df4f75..7a9d18a0dfe 100644 --- a/examples/crypto/EtM.AE.fst.hints +++ b/examples/crypto/EtM.AE.fst.hints @@ -33,7 +33,7 @@ "well-founded-ordering-on-nat" ], 0, - "f72c7cacf0a16b8022e883cc2380b1c0" + "a76a236de7234c803a2ea0ff779c8b20" ], [ "EtM.AE.mac_only_cpa_ciphers_snoc", @@ -62,7 +62,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "a80afd6fd78936b7b7d73f77e1c48f0c" + "a882de047da6567a7560d2d8603b42c2" ], [ "EtM.AE.mac_only_cpa_ciphers_mem", @@ -82,7 +82,7 @@ "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "d9c77352d2da1458cc28480fdabfd4bf" + "5b6c5a9679877c730b08c4177afe303f" ], [ "EtM.AE.mac_only_cpa_ciphers_mem", @@ -154,7 +154,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ba65c1bce696553560333e99344bc1d3" + "26b5783bdf5573ff268c87a85ccab06d" ], [ "EtM.AE.mac_and_cpa_refine_ae", @@ -189,7 +189,7 @@ "well-founded-ordering-on-nat" ], 0, - "91af595f33940ce6c62d5b9aacb45458" + "a4a3445604c01dab84d6241b43252839" ], [ "EtM.AE.mac_and_cpa_refine_ae_snoc", @@ -221,7 +221,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "fcc11f5f94cb7e472805fb431605f6b8" + "08b41942d3336fa9ca132b4be1d41d5f" ], [ "EtM.AE.invert_invariant_aux", @@ -246,7 +246,7 @@ "typing_EtM.Plain.plain" ], 0, - "1f4bba42f7e978cbd49e647b98f2240d" + "e863fb86ace626063a3ad5c387460368" ], [ "EtM.AE.invert_invariant_aux", @@ -334,7 +334,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "eff89226c1497493c4edc8da3c2d28c8" + "9c83da4f443f2f51a44a4805dcf11e39" ], [ "EtM.AE.invert_invariant", @@ -365,7 +365,7 @@ "typing_EtM.Plain.plain" ], 0, - "82af890c76e08a33de9b8cb792474bd8" + "1087acda8ec4748973e1b30859fdad64" ], [ "EtM.AE.keygen", @@ -498,7 +498,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0f41eb8c66f1d2b0c0fd89f864441095" + "8285b67aae639f3781cc0b7d6e3f6eb7" ], [ "EtM.AE.encrypt", @@ -663,7 +663,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "911c34e176d81742f2ec90e9e7093557" + "0a62249ad25348c45bf9dfa45a38bae6" ], [ "EtM.AE.decrypt", @@ -801,7 +801,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a3115188cdd6e302111c5892108f9bae" + "32ec5c3319b6e6f03cbb4b270d8d9414" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.CPA.fst.hints b/examples/crypto/EtM.CPA.fst.hints index 7f07999a128..b36b12e1b0e 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, - "976696c069ae19f6ec7628ebfebead24" + "6cfcddf5ee36f9ff1f7476713f551920" ], [ "EtM.CPA.aes_key", @@ -25,7 +25,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9d8e0bd9b715491f9ea8928b028e0320" + "3ad2d7e5a0a7662c60a29338f8028eba" ], [ "EtM.CPA.log_entry", @@ -41,7 +41,7 @@ "typing_EtM.Plain.plain" ], 0, - "ce02a8c830af63bb00a829c97cc2956f" + "397463ced26217942298597d07d35b90" ], [ "EtM.CPA.iv_of_entry", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_7f78f70eb44b3abbe4ffd0af2859ffdb" ], 0, - "ae0048ef58f4a999c5dd3104d687a47f" + "db73e1e236d40fcc70782a994ed6e5e5" ], [ "EtM.CPA.raw_cipher", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "c704eb986dffbee39ee399106866ed65" + "acd28d5d91ccd32a53c7ee815b8e93cf" ], [ "EtM.CPA.split_entry", @@ -122,7 +122,7 @@ "typing_Platform.Bytes.op_At_Bar", "typing_Platform.Bytes.split" ], 0, - "ab89a467fef9829a31b13c827f9ccb96" + "23ed28fc453eb765e6fced348fab8338" ], [ "EtM.CPA.iv_of_entry_inj", @@ -151,7 +151,7 @@ "typing_EtM.CPA.iv_of_entry" ], 0, - "3c4604ac0a3c4be998f10b3bc46e6b6a" + "0f36400dab2a084696a1e7f231077f74" ], [ "EtM.CPA.iv_not_in", @@ -165,7 +165,7 @@ "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "dbaffdc178a92ecd42c82e496b28a96b" + "7f71ee22cc18f94a7798a7fce0b0c700" ], [ "EtM.CPA.pairwise_distinct_ivs", @@ -198,7 +198,7 @@ "well-founded-ordering-on-nat" ], 0, - "b7ba36c52de4f48574d8dd0d9a3382f8" + "d92692f2efce776a455be40e3896ba0d" ], [ "EtM.CPA.pairwise_snoc", @@ -223,7 +223,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "3e62b41a7ebd60543318b3f296a48c7a" + "49caecb6dfae9e81c74c218911977e3c" ], [ "EtM.CPA.invert_pairwise", @@ -244,7 +244,7 @@ "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a" ], 0, - "1af255bdb6df79723e070e099c44192b" + "c9065046622d2dcb75e34f62329efd77" ], [ "EtM.CPA.entry_functional_correctness", @@ -257,7 +257,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "846be62296d88932adeb1ce6b437ec4f" + "4bf6529c82a8043afed3bd3102f9c9da" ], [ "EtM.CPA.cipher_functional_correctness", @@ -266,7 +266,7 @@ 1, [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], 0, - "11fa3dfa5a5d1017cdfcc9689ba7e1d8" + "adcef01b939655ebcea48433538febaa" ], [ "EtM.CPA.keygen", @@ -368,7 +368,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "69846bd264b9d8bc9d005b6ce0eddccc" + "b5e9ff1518bc14b9aeac2b8fdb8ee547" ], [ "EtM.CPA.encrypt", @@ -427,7 +427,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "f1cfddfa46e8494ba8ee5d0f5c4ec666" + "4fd7d83f6221bc22b08029b643029deb" ], [ "EtM.CPA.find_entry", @@ -457,7 +457,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "0407cf674ead6f097b0b750284c1190e" + "bce20a31a3a2fe9bf316f4bb35249c9f" ], [ "EtM.CPA.decrypt", @@ -547,7 +547,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "6980b8157b979051cf6a74506d22e322" + "5272371133fe16cc2d7bd57c05b5f5b8" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.MAC.fst.hints b/examples/crypto/EtM.MAC.fst.hints index c4beb424008..2d304e8ae8b 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, - "980dcdce457475edae11425bdeabe927" + "a470f7796cdd20ce43eea6b78f0a57c0" ], [ "EtM.MAC.tag", @@ -24,7 +24,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "9bda7c34d937b7235577a3f360e60156" + "377ec9c50ea3272e8182e3877caca177" ], [ "EtM.MAC.sha1", @@ -33,7 +33,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "4076a443c9d937ab44fde493c7fb421c" + "fbb44f2a1cb110cab96c8ccfe7e0c716" ], [ "EtM.MAC.hmac_sha1", @@ -45,7 +45,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "bc27dc7683161101ff2ca0bed9b46b64" + "1f5a1d071f878bb9e4de6a1c1b901838" ], [ "EtM.MAC.keygen", @@ -133,7 +133,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "05aaa15124281f3a28b32e3d325cbb42" + "973529ec010fdde11d547d05834964d1" ], [ "EtM.MAC.mac", @@ -169,7 +169,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "ed15fd8efb84b759c6f934e0b5689ebb" + "07dc312606057ce33c07ac10fdb13bf3" ], [ "EtM.MAC.verify", @@ -188,7 +188,7 @@ "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "5b96e2392bd1f524228f1b18ec6738cd" + "9f57fe63f3ba89b8cfcbf4b73adc5fab" ], [ "EtM.MAC.verify", @@ -252,7 +252,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "660b497b91a0feb5b07ee083bf0b6cca" + "77d89941e923f3bb4a85c3bc899f1a25" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.Plain.fst.hints b/examples/crypto/EtM.Plain.fst.hints index c4f50c3e358..61928c87d3d 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, - "1a5a81949f6f1ad56beea29f39ce1c4d" + "75954a0d952b78f77bf8a2e7abe5ce70" ], [ "EtM.Plain.reveal_hide", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], 0, - "ce337c5226688379aa1963a6a99f31a7" + "6686ab76e92f3743580af490096954b6" ], [ "EtM.Plain.hide_reveal", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], 0, - "8c0d4ff23d1fc9737e74d96c4fd6e862" + "08e98a9cfcb379f65046cece9f0430ad" ], [ "EtM.Plain.repr", @@ -35,7 +35,7 @@ 1, [ "@query", "equation_EtM.Plain.reveal" ], 0, - "acb50d8a5118f03634c2b8bef85d8f6d" + "67b603557caac40bc3d814e77638766a" ], [ "EtM.Plain.coerce", @@ -44,7 +44,7 @@ 1, [ "@query", "equation_EtM.Plain.hide" ], 0, - "b4aa1a7055f7ec7f7f165dfc731d1d2e" + "7998650ebe69d1e65d986a22a1f5834b" ], [ "EtM.Plain.length", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b9ecda59b2a310b6834cd5cdf2dfe42" + "56cdbd72424054dcbc172dabae3d8f9e" ], [ "EtM.Plain.length", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f129eaf89a4bcd17f722a4bbc1e92ecf" + "4e5db29548aea308ca50a8d607c56458" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Formatting.fst.hints b/examples/crypto/Formatting.fst.hints index c8748e908fa..f841319d121 100644 --- a/examples/crypto/Formatting.fst.hints +++ b/examples/crypto/Formatting.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.UInt8.t" ], 0, - "57966159caac840ca647a8eaeb53b735" + "3022aaf3805bcf4ab6a6bc5c53fd31f0" ], [ "Formatting.append_inj_lemma", @@ -34,7 +34,7 @@ "typing_Formatting.op_At_Bar" ], 0, - "d7248de3b27fb5c69f9040bbf548f4dc" + "291ecb11ef7659bd4dec9a61c10be00c" ], [ "Formatting.lemma_eq_intro", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8c050a03c838c3ca6e64a84c61efedb" + "bdf117ad3732da31670d42f7c3e76145" ], [ "Formatting.lemma_eq_intro", @@ -57,7 +57,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "4b1376d20d0fc519049f963f4e262f2f" + "53ce8516bfd22fcf2d2d9d45c50b3107" ], [ "Formatting.UTF8_inj", @@ -70,7 +70,7 @@ "typing_FStar.UInt8.t" ], 0, - "7dc999926ffe0ba999769154f1d0fadc" + "7f34ce51091c844c3196a2e8bf91eadd" ], [ "Formatting.uint16_to_bytes", @@ -79,7 +79,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "1a301f59d212d081405121f4a263d3ae" + "4c147944955a3cd485f1d1dff494280c" ], [ "Formatting.uint16_to_bytes", @@ -95,7 +95,7 @@ "refinement_interpretation_Formatting_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf" ], 0, - "c5755552f52335006f55b0c26a60de12" + "505a2d6c93c56e627638c474859be5fe" ], [ "Formatting.uint16_to_bytes", @@ -104,7 +104,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "440139573dc8c4a44eec7fa5cd12a81b" + "c562e2e9f5398d79082e251a0f96b9b1" ], [ "Formatting.UINT16_inj", @@ -119,7 +119,7 @@ "typing_FStar.UInt8.t" ], 0, - "7474f54162c0079a22b5e0f4378407ed" + "21aa2152c6d407aa1b12b003d79e6641" ], [ "Formatting.response", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9" ], 0, - "cdc058a81c5a2cefbe9e3ea42debfba4" + "affe2da47e501977badf7588261b050e" ], [ "Formatting.req_resp_distinct", @@ -145,7 +145,7 @@ "equation_Formatting.message" ], 0, - "958d271732e8528590461e1fbd2232c8" + "7abe6f0535629f88f62a172be3721749" ], [ "Formatting.req_resp_distinct", @@ -205,7 +205,7 @@ "typing_Prims.pow2" ], 0, - "4482c242c13bde3470ca30205631e240" + "d73aa53e7ca04a455bdfa579fb047522" ], [ "Formatting.req_components_corr", @@ -218,7 +218,7 @@ "typing_FStar.UInt8.t" ], 0, - "fb709cc9cbc20cec4b2bc9ffa4248ac1" + "886800e05ef587e4c5c177e17641d79e" ], [ "Formatting.req_components_corr", @@ -234,7 +234,7 @@ "typing_Formatting.tag0", "typing_Platform.Bytes.utf8" ], 0, - "d7f8629d09eed9c00af78af8f082cb0c" + "0ec418be82cee6c47e667f5bf7194506" ], [ "Formatting.resp_components_corr", @@ -247,7 +247,7 @@ "typing_FStar.UInt8.t" ], 0, - "553aae90b53cbccd69728b42b1975d4a" + "45ce752d7edc176459f2d1902d06dcc4" ], [ "Formatting.resp_components_corr", @@ -282,7 +282,7 @@ "typing_Formatting.uint16_to_bytes", "typing_Platform.Bytes.utf8" ], 0, - "59f05743ad37981ef5fba8f2d08e8315" + "e903ae79747b0668d1820336e29167a2" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.AE.fst.hints b/examples/crypto/HyE.AE.fst.hints index 4aaf6cee790..ca1177a5077 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, - "1824970b393c05a94d17ccd9ff1e5bbb" + "8152d242ddd1934f13594474271a63a0" ], [ "HyE.AE.keygen", @@ -106,7 +106,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "c3cc7862d69c504f47a11afd22007c84" + "d5347e8526d0c6b300b10789d9ab871a" ], [ "HyE.AE.encrypt", @@ -183,7 +183,7 @@ "typing_tok_CoreCrypto.AES_128_GCM@tok" ], 0, - "d06b9944be27ae841a9b8c7cdbc5bb18" + "4d2080d63f80b3ed2181a1cabdbbf1ca" ], [ "HyE.AE.decrypt", @@ -199,7 +199,7 @@ "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546" ], 0, - "5e96b26603b3fc16aa826dae05d10b4e" + "2b5dc4d611607f6ec5b6a91bf8a8c8d8" ], [ "HyE.AE.decrypt", @@ -296,7 +296,7 @@ "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c" ], 0, - "83e8322028a324961bee74ecd7423356" + "cdc6c9f7d15062969dbec5d6aa2bcd51" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.CCA2.fst.hints b/examples/crypto/HyE.CCA2.fst.hints index d486f443af0..6ab8a1aaaaf 100644 --- a/examples/crypto/HyE.CCA2.fst.hints +++ b/examples/crypto/HyE.CCA2.fst.hints @@ -31,7 +31,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "9949557482415080c949d0b9d8b26526" + "3fb833327ec899a5d06bd0317d3c96d7" ], [ "HyE.CCA2.encrypt", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_3ca866cb4753920b807f65cae9ed57ef" ], 0, - "10f9e8c2d3ddef5dd279fc6f428c771c" + "1400c7fcae25814e43032e21c50655c8" ], [ "HyE.CCA2.decrypt", @@ -103,7 +103,7 @@ "typing_HyE.CCA2.__proj__SKey__item__pk" ], 0, - "b8f8699bf083f5b0276e5e87b7fa9e7a" + "33b03aa795a7281d5da7882c2e90b830" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.HCCA2.fst.hints b/examples/crypto/HyE.HCCA2.fst.hints index c8630e7a652..0d3b149339e 100644 --- a/examples/crypto/HyE.HCCA2.fst.hints +++ b/examples/crypto/HyE.HCCA2.fst.hints @@ -37,7 +37,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "808a783c0cf597424e901675e7fd53b8" + "999dfab0412bfd80ca6b2f4017627834" ], [ "HyE.HCCA2.encrypt", @@ -80,7 +80,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "94ee88356a27f680890fc7b0c46720c9" + "352e465ed1f5c9edacb32bc364fca6b1" ], [ "HyE.HCCA2.decrypt", @@ -105,7 +105,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "5e51f83e7893d1752a4afe17f0c0eee3" + "e032c2883f57802389c5f4b7e557b079" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.RSA.fst.hints b/examples/crypto/HyE.RSA.fst.hints index e1961e91f30..93de01729b6 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, - "fa6c47852638aa7a2cedcc3a35c99497" + "d3207fd163ba80e666d8f5bd67faf4df" ], [ "HyE.RSA.enc", @@ -28,7 +28,7 @@ "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "6ea375b57028dd0865e3e08e6ba670b6" + "2401aa401586c49f433c13ec8e2f3a17" ] ] ] \ No newline at end of file diff --git a/examples/crypto/MAC.fst.hints b/examples/crypto/MAC.fst.hints index 2ccf4f20330..be3497fd13a 100644 --- a/examples/crypto/MAC.fst.hints +++ b/examples/crypto/MAC.fst.hints @@ -13,7 +13,7 @@ "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "b61677fe5bb1ee452411598d87ce6804" + "a3422df80415ed667ccd1a068e88ac5d" ], [ "MAC.verify", @@ -39,7 +39,7 @@ "typing_Platform.Bytes.equalBytes" ], 0, - "05bd9068069b36c601b2cd2bc08c4c3f" + "42e5200b6c628f57df5c41e4e78164e1" ], [ "MAC.keygen", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357" ], 0, - "84b7b81a5951825c6ea33f1035c8b634" + "a046312931c2d058a29b5c68bb95151e" ], [ "MAC.mac", @@ -99,7 +99,7 @@ "typing_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d" ], 0, - "498a588ab8d4f010ee52689fa5d81e0a" + "8be57c80a3b11b8361debb86ffdafa6e" ], [ "MAC.verify", @@ -133,7 +133,7 @@ "typing_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d" ], 0, - "12222dbce6674548d382891bd995d16d" + "cee978ae08e7e71f099d47f6a0f5038b" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.AE.fst.hints b/examples/crypto/OPLSS.AE.fst.hints index 880b9d6d681..10b3ab2e6db 100644 --- a/examples/crypto/OPLSS.AE.fst.hints +++ b/examples/crypto/OPLSS.AE.fst.hints @@ -11,7 +11,7 @@ "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "6e246a7f456c9c462ee7fe25762dcf8d" + "a951a5eadb438a0b2d120a789d7f398c" ], [ "OPLSS.AE.__proj__Key__item__enc", @@ -23,7 +23,7 @@ "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "d6a247eb416164b35a06e147c9dc76da" + "ac8a2ea1b59b84e66dd9d5538a2c56fc" ], [ "OPLSS.AE.__proj__Key__item__enc", @@ -37,7 +37,7 @@ "projection_inverse_OPLSS.AE.Key_mac" ], 0, - "d2b91f28595fb4f328cdfeac083b1e10" + "e87434f8b9a29b4716097ea8195731fe" ], [ "OPLSS.AE.ae_cipher", @@ -58,7 +58,7 @@ "typing_FStar.UInt8.t" ], 0, - "8c3cdf9c480c14d720ad767273f586ee" + "67de12afba60da55c738873c11ce98bb" ], [ "OPLSS.AE.footprint", @@ -70,7 +70,7 @@ "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "8d6047becc84e6e671f394ecdaae4ae7" + "e09d6f3bde994655cf001220d25a6164" ], [ "OPLSS.AE.mac_only_cpa_ciphers", @@ -103,7 +103,7 @@ "well-founded-ordering-on-nat" ], 0, - "721f947e313941361930c080f5a786ca" + "c684c333d8a711e18783ecd602da894f" ], [ "OPLSS.AE.mac_only_cpa_ciphers_snoc", @@ -130,7 +130,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "9c8bd70cb8b2f7975a6e882290ff1e54" + "15e2bb5b932b548d84d36d2b998ba60a" ], [ "OPLSS.AE.mac_only_cpa_ciphers_mem", @@ -142,7 +142,7 @@ "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "76f4c0a81c7c2e57f63a4edd20adb3b7" + "1725764466fdece2a09e3c6d166e4d13" ], [ "OPLSS.AE.mac_only_cpa_ciphers_mem", @@ -205,22 +205,7 @@ "well-founded-ordering-on-nat" ], 0, - "02a4b5e3e75cc63a0301720decb54839" - ], - [ - "OPLSS.AE.invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.l_imp", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "feeda5e06c4b4f5b4f5346af511f98d1" + "cb7bd7532437877eaaba1942ea865a3b" ], [ "OPLSS.AE.composite_log", @@ -234,7 +219,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ad4a8c1b2fdc5de906e65534e0bc4b6" + "ef14d646ed46046af08c6f4f6f80cf3f" ], [ "OPLSS.AE.composite_log", @@ -285,7 +270,7 @@ "typing_OPLSS.AE.composite_log_entry", "well-founded-ordering-on-nat" ], 0, - "52ae5e4d70c9ba4517b782875cb0c624" + "7896ea4931d95242219286acc41fe10a" ], [ "OPLSS.AE.composite_log_snoc", @@ -322,7 +307,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "891586fd91974412885f721e467fe129" + "f712f7d5d51ca07d049230c5d0ee6747" ], [ "OPLSS.AE.ae_log", @@ -338,7 +323,7 @@ "refinement_interpretation_Tm_refine_26b146ce0ad10e022d31a0a58fdaede3" ], 0, - "bee78635e5ae1c820cc76534031f7e87" + "b1e3dc124badf2bc39d653f21a99f98c" ], [ "OPLSS.AE.invert_invariant_aux", @@ -360,7 +345,7 @@ "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.Plain.plain" ], 0, - "75d7c4aa18431b476a854dd55815bb59" + "73570d1bcf24583066a3a7ad8234f463" ], [ "OPLSS.AE.invert_invariant_aux", @@ -463,7 +448,7 @@ "well-founded-ordering-on-nat" ], 0, - "c7a1e941b0539012f987452a928eed00" + "d065f8d13f61c3a91830a217ef6eb698" ], [ "OPLSS.AE.invert_invariant", @@ -498,7 +483,7 @@ "typing_OPLSS.Plain.plain" ], 0, - "47ea02d0707c562de98ef87c40132585" + "f3c72f4eab3d9bd1c8d0927361afc372" ], [ "OPLSS.AE.keygen", @@ -507,7 +492,7 @@ 1, [ "@query" ], 0, - "b54c8c42aebcc365c78a339caf841c9b" + "1d9f3141b11031844b806917afc8f684" ], [ "OPLSS.AE.keygen", @@ -588,7 +573,7 @@ "typing_OPLSS.MAC.__proj__Key__item__log", "typing_OPLSS.MAC.log" ], 0, - "5f0b9ec463e4c60221b18fb252f1bd11" + "f2011d405a6c7aa46d97f319edb51e12" ], [ "OPLSS.AE.encrypt", @@ -600,7 +585,7 @@ "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f" ], 0, - "c321385a6bca7d5ec3ebde92d29f7b4d" + "867eea62788e860f249dd37ae96c6cf4" ], [ "OPLSS.AE.encrypt", @@ -703,7 +688,7 @@ "typing_OPLSS.MAC.__proj__Key__item__log", "typing_OPLSS.MAC.log" ], 0, - "f6a54fabf22aebed856edfb65c26aa89" + "ed3675b002936cd2893554f987123ce2" ], [ "OPLSS.AE.decrypt", @@ -722,7 +707,7 @@ "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.Plain.plain" ], 0, - "e08d94a905abee9c46441fe1c4dd29be" + "2eee10214f8694046e2c37d3d1e34a70" ], [ "OPLSS.AE.decrypt", @@ -775,7 +760,7 @@ "typing_OPLSS.Ideal.pre_ind_cpa", "typing_OPLSS.Plain.plain" ], 0, - "43f9b12dc0807aebcabb9bee314c8844" + "847fe3a390c72b831b56fa10dddf6947" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.AE.fsti.hints b/examples/crypto/OPLSS.AE.fsti.hints index 0f879adac54..c6dc750fab8 100644 --- a/examples/crypto/OPLSS.AE.fsti.hints +++ b/examples/crypto/OPLSS.AE.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0608167f1456a7978c2dce22db9f240b" + "2e8973127ae842af382f5d03ba9ab906" ], [ "OPLSS.AE.encrypt", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f" ], 0, - "af914e789af91c006e82a2addbba8635" + "6443403b5913b6729b7663ad4f68583d" ], [ "OPLSS.AE.decrypt", @@ -35,7 +35,7 @@ "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.Plain.plain" ], 0, - "c26856c107cb0674300408304653c543" + "f931c66242206fb8c55981d81241dc09" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.AES.fst.hints b/examples/crypto/OPLSS.AES.fst.hints index 5c361cb2fa2..fae44c204fa 100644 --- a/examples/crypto/OPLSS.AES.fst.hints +++ b/examples/crypto/OPLSS.AES.fst.hints @@ -13,7 +13,7 @@ "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" ], 0, - "e979d353e4ccf220cfbc097e0264afed" + "8e9b0a953552b606deed841bd12e3e04" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.CPA.fst.hints b/examples/crypto/OPLSS.CPA.fst.hints index 76329318891..f5ccec7a28a 100644 --- a/examples/crypto/OPLSS.CPA.fst.hints +++ b/examples/crypto/OPLSS.CPA.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.UInt8.t", "typing_OPLSS.Plain.plain" ], 0, - "35c57ce36ddf78c547d73f4cd5f11d71" + "8b5944a78ddd85b32461e9009327eb80" ], [ "OPLSS.CPA.iv_of_entry", @@ -45,7 +45,7 @@ "typing_OPLSS.AES.ivsize" ], 0, - "ef7bd23e9755f1998b0b65a76c5f4590" + "be56d5acfc6099e8b0541a40f81a6a16" ], [ "OPLSS.CPA.raw_cipher", @@ -61,7 +61,7 @@ "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" ], 0, - "dcbf1212c8775c0ed11d36fadf5f93f9" + "f7edcc70b3ec0a8e479e1392be5c3802" ], [ "OPLSS.CPA.split_entry", @@ -108,7 +108,7 @@ "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" ], 0, - "493e3bbf61087c4728f810a4822e8137" + "4ffda2f903ba91fb094744ffe20c1f87" ], [ "OPLSS.CPA.iv_of_entry_inj", @@ -137,7 +137,7 @@ "typing_OPLSS.CPA.iv_of_entry" ], 0, - "b8593081384330d1aab2064a21a45b4f" + "5a9bc9bc95e6a93eb7ea555ae1cc01ed" ], [ "OPLSS.CPA.key", @@ -146,7 +146,7 @@ 1, [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], 0, - "cd2a73a03d89d0bcf49eb32d435c0e6e" + "c64f47176695107cab9a8d7f64c68238" ], [ "OPLSS.CPA.__proj__Key__item__log", @@ -155,7 +155,7 @@ 1, [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], 0, - "46315b0206f419f5c6fc64cca61450fe" + "e74d7d760ff6399afb1a51c9557745c8" ], [ "OPLSS.CPA.__proj__Key__item__log", @@ -164,7 +164,7 @@ 1, [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], 0, - "4b35b53ad3e81979ee7ad21e4a1180ad" + "d61fb65ef6c9c7350bdc2e2d2360fe4d" ], [ "OPLSS.CPA.iv_not_in", @@ -182,7 +182,7 @@ "typing_FStar.UInt8.t" ], 0, - "524b6aa1b23d4a616aafcc0a294ef281" + "da250cbcd11b90a77e0554819c46879c" ], [ "OPLSS.CPA.pairwise_distinct_ivs", @@ -215,7 +215,7 @@ "well-founded-ordering-on-nat" ], 0, - "4d842a1261fec54343eedde5a6808d40" + "e5b712657b253da3f7016f46f484a215" ], [ "OPLSS.CPA.pairwise_snoc", @@ -240,7 +240,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "50cc2e9b3c85057bbee5528863cf33ed" + "e8836fb66d266cc56020bd1032c550dd" ], [ "OPLSS.CPA.invert_pairwise", @@ -262,7 +262,7 @@ "typing_FStar.UInt8.t", "typing_OPLSS.AES.ivsize" ], 0, - "da4b415730ec810c285b2daf0f4f8447" + "445e8fb362068e4e6a08440186d9dfdd" ], [ "OPLSS.CPA.entry_functional_correctness", @@ -300,7 +300,7 @@ "typing_Prims.pow2" ], 0, - "60e563c5b8834f23e6eb28ac406cf106" + "9826d1f4ec43b918b8cb00dad4720e2f" ], [ "OPLSS.CPA.cipher_functional_correctness", @@ -309,7 +309,7 @@ 1, [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], 0, - "0cb430bb379dcf185564221c22be2d13" + "f240b9c53b93fba6eee9784973f5b087" ], [ "OPLSS.CPA.dec_functionally_correct", @@ -343,7 +343,7 @@ "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" ], 0, - "b7a3783687194f0c26cfb044edc416a1" + "76c1d8ec8a6324e82c31c6cec4b71c1b" ], [ "OPLSS.CPA.authentic", @@ -352,7 +352,7 @@ 1, [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], 0, - "1959a885c9c319754641a4acb88c8745" + "66594f6faba56d18d9772ab9e2b0649e" ], [ "OPLSS.CPA.find", @@ -384,7 +384,7 @@ "typing_FStar.UInt8.t" ], 0, - "68e73b5d029d71e2fb824ee54b021b8a" + "a613097850aef8a01c14ee62512dd6d5" ], [ "OPLSS.CPA.keygen", @@ -444,7 +444,7 @@ "typing_OPLSS.Log.grows" ], 0, - "5268522c85b229b0e2253eda09ef4149" + "6b49a1db32099bb9bd00a3cc04419ea5" ], [ "OPLSS.CPA.encrypt", @@ -544,7 +544,7 @@ "typing_OPLSS.Plain.reveal", "typing_Prims.pow2" ], 0, - "55fd0bd09962cec08b9ba62372eec32e" + "41bf4d2ec719f97af767c2e29b72fd4f" ], [ "OPLSS.CPA.decrypt", @@ -622,7 +622,7 @@ "typing_OPLSS.Log.has", "typing_OPLSS.Plain.repr" ], 0, - "6794b5fcf1ca06e0ba95ec6cd06ced3b" + "1c26e286929ce1aa22fd6afb6d751d04" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.HMACSHA1.fst.hints b/examples/crypto/OPLSS.HMACSHA1.fst.hints index 39ab645685e..8b9f2088cdf 100644 --- a/examples/crypto/OPLSS.HMACSHA1.fst.hints +++ b/examples/crypto/OPLSS.HMACSHA1.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2e1b25a543bcaa8a00bea460f8c9adf0" + "fe066ecf3b58edfc119a1e8a1c8e55d0" ], [ "OPLSS.HMACSHA1.tag", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e36b8b2d4d98c6d5075fea4c98d183e6" + "2a5ced7954a761714385c904aba904da" ], [ "OPLSS.HMACSHA1.hmac_sha1", @@ -48,7 +48,7 @@ "typing_OPLSS.byte_of_int" ], 0, - "e2e11e6a411224929cdbb7604e3a78d6" + "35bc09a63b4e2bebda335cac72c837ad" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Log.fst.hints b/examples/crypto/OPLSS.Log.fst.hints index 7db55cf57c1..db28c08f07f 100644 --- a/examples/crypto/OPLSS.Log.fst.hints +++ b/examples/crypto/OPLSS.Log.fst.hints @@ -17,7 +17,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "89fad85e7d3983157942ea945690a28c" + "deb831446fc39bef5f42dd25404945a9" ], [ "OPLSS.Log.contains_h_stable", @@ -54,7 +54,7 @@ "typing_OPLSS.Log.has" ], 0, - "c186b22ef201adf2d171aa5f98bc799f" + "b3abec9c567b31634694c6bc4c4f9972" ], [ "OPLSS.Log.intro_contains_h", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "4565e695d1a5946566ee085b59ea923c" + "fa0aa393f5e606cea7ca32af08ba4ebf" ], [ "OPLSS.Log.snoc_grows_contains", @@ -101,7 +101,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "c12c092a140f52e88c52c29fb0687152" + "59a1b4834296981f5dfa4f35a9c0517b" ], [ "OPLSS.Log.contains", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "b246117aa77b20ae825f6be19866c5ba" + "d52e594760a49dec6f1f9f7f2fa03e8b" ], [ "OPLSS.Log.contains_now", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_a626d06952ec967701441b4547090388" ], 0, - "9bc3adaf9cb22bcf688ce5c83e8f6443" + "98c126e14d01facb617e2a006e344f39" ], [ "OPLSS.Log.contains_now_e", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_dbdc7fc085ee146f1b32ec00b1e53d18" ], 0, - "0047ef46ee4df6d8f90ece1d91921146" + "ecad48be862f3a41f9173c90b41d6b8e" ], [ "OPLSS.Log.new_log", @@ -215,7 +215,7 @@ "typing_OPLSS.Log.grows" ], 0, - "6edc00405b3749e4300b0fef40bf2cfc" + "2a87b255f199b80ca4a8ac9b96015ed1" ], [ "OPLSS.Log.add", @@ -291,7 +291,7 @@ "typing_OPLSS.Log.grows" ], 0, - "3bb7b86236b69752efac92d545038dab" + "ad0812603e0d746243f7f089d8af0254" ], [ "OPLSS.Log.index_mem", @@ -335,7 +335,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "684f531776fea6c39c6c2bc0cdad82e8" + "feadfeaa26b85b2089ea11fcebaf3c35" ], [ "OPLSS.Log.find", @@ -393,7 +393,7 @@ "typing_OPLSS.Log.has" ], 0, - "5bdb09de6355d48867354d8fae51d584" + "a0a1e28ec6fea2b3e2a93719f600421b" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.MAC.fst.hints b/examples/crypto/OPLSS.MAC.fst.hints index e1f652b8a2b..a4a3e7d60ef 100644 --- a/examples/crypto/OPLSS.MAC.fst.hints +++ b/examples/crypto/OPLSS.MAC.fst.hints @@ -17,7 +17,7 @@ "typing_FStar.UInt8.t" ], 0, - "f5394684d318ba783ea952530752eb2e" + "0c0c46b3a8561805ae22e566f1f840af" ], [ "OPLSS.MAC.key", @@ -26,7 +26,7 @@ 1, [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "185aef3fcbe51ba00e94c3c0af2677d6" + "4d7788c666f68255c3faf2f98de12986" ], [ "OPLSS.MAC.__proj__Key__item__log", @@ -35,7 +35,7 @@ 1, [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "6327e044a7bc3a127da9b367c40ac209" + "50f718b78a316352783bc3331f90f2b9" ], [ "OPLSS.MAC.__proj__Key__item__log", @@ -44,7 +44,7 @@ 1, [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "360c27cc5bba3401f315210b89e2b6e3" + "19c041f27ef5827621271b9a00d02d15" ], [ "OPLSS.MAC.log", @@ -53,7 +53,7 @@ 1, [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], 0, - "2c679196cdae0e22423a12366484161f" + "cc5854a6e9b95b23844440637c3f3c0d" ], [ "OPLSS.MAC.keygen", @@ -96,7 +96,7 @@ "typing_OPLSS.Log.grows" ], 0, - "2868c4c0ed57a5757c14266316e38420" + "62a5cc6e0ea6172cf6f2b86c7109d5bd" ], [ "OPLSS.MAC.mac", @@ -148,7 +148,7 @@ "typing_OPLSS.MAC.__proj__Key__item__raw" ], 0, - "bdab1c3080e0a9485b9a776954edc346" + "23e38d1bf44dbad88f17d7147abb13be" ], [ "OPLSS.MAC.verify", @@ -217,7 +217,7 @@ "typing_OPLSS.MAC.__proj__Key__item__raw" ], 0, - "a5b84c8c622bfb8eea1876a18fee206d" + "9845ee531ea8cbfc09ea0e95b6f76e19" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Plain.fst.hints b/examples/crypto/OPLSS.Plain.fst.hints index 122c3c1c41e..c6580b2d1cc 100644 --- a/examples/crypto/OPLSS.Plain.fst.hints +++ b/examples/crypto/OPLSS.Plain.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.UInt8.t" ], 0, - "a7b7eed1706f2d8617ba63cf4a6598b0" + "f06aae239617c75e4e51cfe6aecb6cd9" ], [ "OPLSS.Plain.reveal_hide", @@ -27,7 +27,7 @@ "@query", "equation_OPLSS.Plain.hide", "equation_OPLSS.Plain.reveal" ], 0, - "ebb6c64b6eb0b2b5e391af9e411a9522" + "56336af40972fa6621fd60c3e21d91b2" ], [ "OPLSS.Plain.hide_reveal", @@ -38,7 +38,7 @@ "@query", "equation_OPLSS.Plain.hide", "equation_OPLSS.Plain.reveal" ], 0, - "ac438f3f0a94d0970ea20b0eb21093b1" + "3803d2921c480b5c64480e74cd1ea10f" ], [ "OPLSS.Plain.repr", @@ -47,7 +47,7 @@ 1, [ "@query", "equation_OPLSS.Plain.reveal" ], 0, - "dcdc3e3fd23eb60ad2b8fbe3f0053d1d" + "fbaf001e2ac66b1704c9125d89ca0015" ], [ "OPLSS.Plain.coerce", @@ -56,7 +56,7 @@ 1, [ "@query", "equation_OPLSS.Plain.hide" ], 0, - "cbf9ca267aed0f897ea9b28f936d7595" + "a5ca96201dc999cd2f30e21e0db18a96" ], [ "OPLSS.Plain.length", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "744f2331dea300d9b84677072172f707" + "1636e020deae9f4910197943239cb12e" ], [ "OPLSS.Plain.length", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52521bf44f942f1bbf5f89f5221181e1" + "15fff807aedfdf72f36872f15177ac5f" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Plain.fsti.hints b/examples/crypto/OPLSS.Plain.fsti.hints index 624259602cf..342d5af16d0 100644 --- a/examples/crypto/OPLSS.Plain.fsti.hints +++ b/examples/crypto/OPLSS.Plain.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a13e11cfb1daeb1e1b9e74f6e543fae0" + "cc2a7b6a52d934c6085a5187b66e97aa" ] ] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.fst.hints b/examples/crypto/OPLSS.fst.hints index 8d770cfc0af..6aa15cffaa4 100644 --- a/examples/crypto/OPLSS.fst.hints +++ b/examples/crypto/OPLSS.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7f352b2be32ca8d84e861eccba249ab" + "64efa19084db427784a9bec62e78f115" ], [ "OPLSS.auto_lemma_mem_snoc", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "9a71180f304eb902ea003fc3db631007" + "a6d1ffe287741781786b63f5ea633d98" ] ] ] \ No newline at end of file diff --git a/examples/crypto/RPC.fst.hints b/examples/crypto/RPC.fst.hints index f3b6503962e..fc501ee050d 100644 --- a/examples/crypto/RPC.fst.hints +++ b/examples/crypto/RPC.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "c49e4687ea0d69f43f7e2beab80da2ff" + "4cfebd3042a2c5cc98ee30033c00840b" ], [ "RPC.recv", @@ -30,7 +30,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "95e2d7527a39fa763a13fcb24c19b648" + "9866d2a4235623871cb0a56a9c906f52" ], [ "RPC.reqresp", @@ -42,7 +42,7 @@ "equation_Formatting.message" ], 0, - "e02fb4fa9fcd69815df738ab41fcc713" + "b1ebc111d8c4e632b0830dd9bdc8a64d" ], [ "RPC.k", @@ -58,7 +58,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94" ], 0, - "23ad932d283e1466444e43914c191f05" + "e25ef39a843ffaa8ae544aad27d5a00a" ], [ "RPC.client_send", @@ -78,7 +78,7 @@ "typing_RPC.k", "unit_typing" ], 0, - "f9d380c5b88b6e50cb06c22e047b27f6" + "f0b8b16d4d5f26820f83a6ad52b010bd" ], [ "RPC.client_recv", @@ -115,7 +115,7 @@ "typing_Formatting.response", "typing_RPC.k" ], 0, - "8e4885c25d25f22d37d58e415fad1f31" + "516854804e71d4a51551f9db22a45837" ], [ "RPC.server", @@ -163,7 +163,7 @@ "typing_Platform.Bytes.utf8", "typing_RPC.k" ], 0, - "f8a85f2c33322500a097f50692c2a7ac" + "f42628f75eab0bd635371a2d6d7afd22" ], [ "RPC.test", @@ -184,7 +184,7 @@ "typing_Platform.Bytes.utf8", "unit_typing" ], 0, - "f6dcaccf7ac6669396f60b2b27c92643" + "f11402b322767ca03d8a02e05d2ba49a" ] ] ] \ No newline at end of file diff --git a/examples/crypto/SHA1.fst.hints b/examples/crypto/SHA1.fst.hints index 0432aa5eec4..545008e2114 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, - "ee660de9fa35baa368859e39f6c3cc0c" + "456ff82df2c2eb8645ea39b401c28091" ], [ "SHA1.sample", @@ -19,7 +19,7 @@ 1, [ "@query" ], 0, - "499013c5d6ee57c0096f80e5b7172c97" + "2a8ba4f9c7c99796aae3300244623b28" ], [ "SHA1.sha1", @@ -31,7 +31,7 @@ "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize" ], 0, - "89d7efd9798231df8cc3c7f45ebfa12f" + "03e4cd05d3c14d37906511467337a1f1" ], [ "SHA1.hmac_sha1", @@ -43,7 +43,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8aca6001d86b661f102d0722cd2f8071" + "663b251854fe0f09134870dc217af96f" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Sig.fst.hints b/examples/crypto/Sig.fst.hints index de8ca65d143..30ec33f3c0e 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, - "d7bd502a2d8a8ebd42a4dd3f91e5dd2e" + "8ff4429f29c6c4b5ce84e47b2aec21cf" ], [ "Sig.pk", @@ -19,7 +19,7 @@ 1, [ "@query", "equation_Sig.pksize", "projection_inverse_BoxInt_proj_0" ], 0, - "e59343c70be84e57c5d95300c3a50ef6" + "a01186e45cce3388fd2fb24e5761637c" ], [ "Sig.sk", @@ -28,7 +28,7 @@ 1, [ "@query", "equation_Sig.sksize", "projection_inverse_BoxInt_proj_0" ], 0, - "2a1b948d424ff04c68ec017029347e4d" + "a7c8e94b9b0be62986ce7128399a429a" ], [ "Sig.entry", @@ -43,7 +43,7 @@ "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "45ac25a0a45e5e94802720adccab8bd4" + "ac37421a3a04023b80738442f3be72b7" ], [ "Sig.sign", @@ -57,7 +57,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "8863b25f14a1dbeb611c071695b6ae9a" + "dde9fcf2fa94a907580238ced51129aa" ], [ "Sig.verify", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_fcaf3f241603a1e28a7ee47f5eb025f1" ], 0, - "cc9ba103d6cc7f13ec5d7faee81b3576" + "93a7910f2a32454f1a7d6d4419fe443d" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/ArrayRealized.fst.hints b/examples/data_structures/ArrayRealized.fst.hints index 2aef61e43c8..f97d04731e3 100644 --- a/examples/data_structures/ArrayRealized.fst.hints +++ b/examples/data_structures/ArrayRealized.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f518e333d098938912ef26bb10f80716" ], 0, - "3618870fa88306b1231a99c9a869ccf1" + "91afe955be54bb27d67058bd6c1c8ca1" ], [ "ArrayRealized.__proj__Upd__item__ix", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "fac1dfbeae28a0210fa9c77799a84658" + "e76221c5342e54bc05ce42b31a4e512f" ], [ "ArrayRealized.__proj__Upd__item__v", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "e620404028e79a74a6bd789319adbd70" + "f126d7146c4bed91df758f85c5603b89" ], [ "ArrayRealized.__proj__Upd__item__tl", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "66e03b3880ee0f3f5a197b81d9bea007" + "0aaeabc9946d7f8bbc217272102ee3e0" ], [ "ArrayRealized.__proj__Append__item__s1", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "ad554f1b45f7a997d0ffcc3dfd4ecb31" + "7a9f32ff9c510217828187f15b939008" ], [ "ArrayRealized.__proj__Append__item__s2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "ef5b31d98c26cd2a6746d427e8c5b8df" + "889f7dbaeed5c891cee941249716bbbf" ], [ "ArrayRealized.create", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fcce71892392c1c91a05ae371a7965e3" + "b1c881334ffd958d5e640ab982e69636" ], [ "ArrayRealized.length", @@ -98,7 +98,7 @@ "typing_ArrayRealized.__proj__Seq__item__end_i" ], 0, - "e5dc5f0d1b69adc5efb1da261d307a20" + "5de264d7b177ccacafbe0403da3e653b" ], [ "ArrayRealized.__index__", @@ -120,7 +120,7 @@ "subterm_ordering_ArrayRealized.Upd" ], 0, - "08053b6ec9b424c02e9f1e4421746548" + "d0143edbe16617bcad0554c44aef684e" ], [ "ArrayRealized.__update__", @@ -141,7 +141,7 @@ "subterm_ordering_ArrayRealized.Seq" ], 0, - "1cd5660219b7a69f99f3231d96f67431" + "2c5a6b2a2f93c0faaf277776cf1e6e95" ], [ "ArrayRealized.slice", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fdac51f0b0500ef8497f5ecca94a4d7b" + "6075c51de56c1a6d66d56833ac0f7fcf" ], [ "ArrayRealized.split", @@ -168,7 +168,7 @@ "refinement_interpretation_Tm_refine_b8cada5c916f910ecd78984b727cc657" ], 0, - "ad050537c4ad591e19f18e6b0895792a" + "d18307f1adaaff4c68991ca70ab6868b" ], [ "ArrayRealized.append", @@ -183,7 +183,7 @@ "typing_ArrayRealized.length" ], 0, - "c99466dd94780763d112fcdc69cd08d7" + "f4aaab3ad318cf3156e961d4a4380daa" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree.fst.hints b/examples/data_structures/BinarySearchTree.fst.hints index 01bf8526028..39f0e70c502 100644 --- a/examples/data_structures/BinarySearchTree.fst.hints +++ b/examples/data_structures/BinarySearchTree.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e32a7ddce671db182d0707de0238c531" + "7635afd4aabe9e8abb93e3b561fe9a10" ], [ "BinarySearchTree.__proj__Node__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "f79282ff391b2bd8d66497fe7c072da7" + "f2d61b8cc1fc5908bdf810e8fb586035" ], [ "BinarySearchTree.__proj__Node__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "b10c0553ea400aaa75ef578fc573cf68" + "939a490d4b009b9cc3915a9a130cc824" ], [ "BinarySearchTree.__proj__Node__item___2", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "ed9696af98f587ffc1bf3d3b0c7365b1" + "3c8220ba4cd845562a0c1529f8de540d" ], [ "BinarySearchTree.in_tree", @@ -68,7 +68,7 @@ "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "af106615e38e3f350cb3057901da41b1" + "3f82c455c3010b68ee4ba824096a2c46" ], [ "BinarySearchTree.all", @@ -106,7 +106,7 @@ "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "6d81315a61ba042594dec2d6664af8ac" + "ce32896955dd3fd83c295fa3c349e52e" ], [ "BinarySearchTree.is_bst", @@ -126,7 +126,7 @@ "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "f8ae780bf01847759832167e605876aa" + "f9b29e96984ec9da985142403652d566" ], [ "BinarySearchTree.search", @@ -175,7 +175,7 @@ "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "2f6ef839affda1404767f89a5aee4054" + "6df836e763441fcca8f66361cb6290bd" ], [ "BinarySearchTree.insert", @@ -232,7 +232,7 @@ "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "8759ffeca3fa0dc160b53aba3e42718e" + "cd39473be89935f177d1a3e382e82c0b" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree0.fst.hints b/examples/data_structures/BinarySearchTree0.fst.hints index b9dd89916d1..2792c05e9f8 100644 --- a/examples/data_structures/BinarySearchTree0.fst.hints +++ b/examples/data_structures/BinarySearchTree0.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "b3c9accc2e761f43a420fe9650d34a92" + "1fd046fe02b54064f45812aec370c2c7" ], [ "BinarySearchTree0.__proj__Node__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "9b33a1eae83b610150ff29c78ce1dcd2" + "98abe5bbb62b320a23b77636fd0bff43" ], [ "BinarySearchTree0.__proj__Node__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "77d46513ebbbec5e16f80e87939584d5" + "27f6d5aaacb2e0a165a5b1c637a29947" ], [ "BinarySearchTree0.__proj__Node__item___2", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "2e4c91911735ea26972d90e71f51b846" + "edc874f41984f321e64b399316d3b786" ], [ "BinarySearchTree0.search", @@ -68,7 +68,7 @@ "typing_tok_BinarySearchTree0.Leaf@tok" ], 0, - "71f980e7fcb6ab71c611c9026d77225f" + "e6d474769495ec8fd6e065f4fdc1141c" ], [ "BinarySearchTree0.insert", @@ -92,7 +92,7 @@ "typing_tok_BinarySearchTree0.Leaf@tok" ], 0, - "3fe1e06ab1c6b7d1db17e57a1fb6ff6e" + "b113cc61e4ecccaa024fca3bd7f3b8af" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeBasic.fst.hints b/examples/data_structures/BinarySearchTreeBasic.fst.hints index f0981db4272..4b6a985e64c 100644 --- a/examples/data_structures/BinarySearchTreeBasic.fst.hints +++ b/examples/data_structures/BinarySearchTreeBasic.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6344449315b6ddcb0e008e980f15dfa1" + "c911698e7793de9b0548111c92ac0802" ], [ "BinarySearchTreeBasic.__proj__Node__item__n", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "09838261b9ae5d0e12c271dc8f6423eb" + "629858c2c1a5275e78aa8dbf94bb6858" ], [ "BinarySearchTreeBasic.__proj__Node__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "d254f121fa6d952918c4cf4a83216f04" + "900919c5fc40d6241e424c4077b5f25f" ], [ "BinarySearchTreeBasic.__proj__Node__item___2", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "a984dce33336ec0dc333e8f17c31d321" + "660ed3a9415a869079b5d9409b0da978" ], [ "BinarySearchTreeBasic.in_tree", @@ -68,7 +68,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "7a1cae54a27abd844445c8e1b088a94a" + "e0a2fa655f6583928abdbc7d10f54e9d" ], [ "BinarySearchTreeBasic.all", @@ -107,7 +107,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "525fe144219b47f151db57c909cb2167" + "ec21bffcfa8665960f486b7864b87d54" ], [ "BinarySearchTreeBasic.is_bst", @@ -127,7 +127,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "21edd98698c0ff16888100b8f49616d2" + "0f769b8a53bef8d0f38468aadb3791e2" ], [ "BinarySearchTreeBasic.search", @@ -181,7 +181,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "ad46ca8e8487d6ab675f1e6836039209" + "e50e7f89ea09d58165263821f06beee3" ], [ "BinarySearchTreeBasic.insert", @@ -239,7 +239,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "f98302e5e69a13e2b448239ed9a1fb30" + "ae27b4f35b2babf6dc253cc76fca95ee" ], [ "BinarySearchTreeBasic.insert'", @@ -297,7 +297,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "3d47bbb8e83c9c206f0f5872d1d205df" + "aa25674022b091ca81278c5cd1f6d9a8" ], [ "BinarySearchTreeBasic.insert''", @@ -321,7 +321,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "70c88b670aafaad01653f42e2548d8c6" + "6f6b1615c8740a44df86720f3fd26d4b" ], [ "BinarySearchTreeBasic.insert_lemma", @@ -334,7 +334,6 @@ "@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", @@ -384,7 +383,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "0afe24fb743dcf10b17d04335b097efe" + "e401104dbf6436337237bf7fb6869ec1" ], [ "BinarySearchTreeBasic.find_max", @@ -445,7 +444,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "38b3a44dc894c4d90d7881f1bfb23876" + "b6b0a38b3641e918de21b94ed3f3ff46" ], [ "BinarySearchTreeBasic.find_max'", @@ -470,7 +469,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "ca5b0f01c7cdd5d25c53b5ef6dc83985" + "1a689400e10a29696348a8a66ecb593e" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -479,7 +478,7 @@ 1, [ "@query" ], 0, - "72644beea0279da8bbd3a59688ac4a02" + "0e9ab5811816d58002e5f62a1dc56f67" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -488,7 +487,7 @@ 1, [ "@query" ], 0, - "4d34fc191c99edbb2a79739a28665910" + "9641804779d615aa84e3821d4ed3c65b" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -554,7 +553,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "e2ee4191eee04cdcabe324fc6b56ab11" + "7b8b14abf5c2c149f06234db2aff75f5" ], [ "BinarySearchTreeBasic.find_max_eq", @@ -563,7 +562,7 @@ 1, [ "@query" ], 0, - "b47f597b9beb3797d52744563034c4aa" + "c48477f4b2befb30dd8de4e84ca09155" ], [ "BinarySearchTreeBasic.find_max_eq", @@ -599,7 +598,7 @@ "typing_BinarySearchTreeBasic.uu___is_Node" ], 0, - "31428a47d585a98aabeeb75e7102877d" + "d7e60fb9078be406c8672b197e342d06" ], [ "BinarySearchTreeBasic.delete", @@ -611,6 +610,7 @@ "@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", @@ -657,6 +657,7 @@ "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", @@ -669,7 +670,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "bf867ab582ad8e8613c00bf79d450720" + "bb76fce100f6399202e8e2eb7003ee72" ], [ "BinarySearchTreeBasic.delete'", @@ -691,7 +692,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "3135b931bcee0181e35ddbc6998e2d36" + "c194ee91f8bb013fcced8f59aa8748dc" ], [ "BinarySearchTreeBasic.delete_lemma", @@ -759,7 +760,7 @@ "unit_typing" ], 0, - "9e0ed639c04ddbd1b13fe3d8f7d4244e" + "29a2e0ae98c926a1ac4ab0b4cf802858" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeFirst.fst.hints b/examples/data_structures/BinarySearchTreeFirst.fst.hints index 06121d22ca9..038610bef3f 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, - "993f69d90740cd693340994a45b7335e" + "89c55bf63f0d3e3360f67782858c7bcf" ], [ "BinarySearchTreeFirst.leaf", @@ -25,7 +25,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "0817ec4d6106dba9deb2f3f7e398a019" + "18e8ba6a39ee59501a8270b1e2cba8b6" ], [ "BinarySearchTreeFirst.insert", @@ -61,7 +61,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f6c09c0b6dc9bd4723aadd3cf9ca4337" + "39433282453898785c96538790dd14ec" ], [ "BinarySearchTreeFirst.contains", @@ -79,7 +79,7 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "dfb7d2361b056512f0b7b72b62e8e0d1" + "2d0186ccb528937306228cbf6b19902b" ], [ "BinarySearchTreeFirst.in_order_opt", @@ -97,7 +97,7 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "5a65c43359b8b935fae6032c566b70f3" + "61157a166c888d327a3a0f295e958e34" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinaryTrees.fst.hints b/examples/data_structures/BinaryTrees.fst.hints index 80ea4c81e41..c01bb52cb9e 100644 --- a/examples/data_structures/BinaryTrees.fst.hints +++ b/examples/data_structures/BinaryTrees.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3b5bde665836e281ab92818f083e8ecb" + "dbc7e82a0a8df48270164601fabaf534" ], [ "BinaryTrees.__proj__Node__item__root", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "696538d2238639a86b601ff44921d31d" + "6d64cb02891726d518ded89330151401" ], [ "BinaryTrees.__proj__Node__item__left", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "4d77bd6aeac0a3a01cbd83a521114083" + "793cbd0c220e837486d4d69816e4acf5" ], [ "BinaryTrees.__proj__Node__item__right", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "ba8a22ad6cfa90fe19293bfb4b03ccf8" + "2864492e115626bc9f0e790686dd5442" ], [ "BinaryTrees.size", @@ -65,7 +65,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "f7bdfd0c3e0a4d9f9fb71221bd14bae6" + "f6af339138515edc68bb1f35f7b394b3" ], [ "BinaryTrees.map", @@ -84,7 +84,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "1a8a65125f4d27297b5efcadc1090352" + "e5cf7c63d9f5d396de8d9720b72a6900" ], [ "BinaryTrees.map_size", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fb2266de1c70178c25ea7b30ec045cb" + "131a2572ede5260ba8774b7059367a44" ], [ "BinaryTrees.map_size", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "067bb1a1a5867700706303a4dbd51f27" + "40eca921ecad63d7786caed2097612e1" ], [ "BinaryTrees.map_size", @@ -143,7 +143,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "29e490344ebdf19999f2feb63fdc3796" + "a10e344b0b88130d0fd1441db21c2c34" ], [ "BinaryTrees.find", @@ -162,7 +162,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "213be285501076d21364f9b71732d0b2" + "d72791db297ae8d7de377bdae087086d" ], [ "BinaryTrees.find_some", @@ -183,7 +183,7 @@ "typing_BinaryTrees.find" ], 0, - "1696bfa14682fd759ab83e8246347fc5" + "0837803a006270bded6739783bc59e25" ], [ "BinaryTrees.find_some", @@ -206,7 +206,7 @@ "typing_BinaryTrees.find" ], 0, - "12ffb98c6e5fdc0c40da1589b8dcafe5" + "e4caacf108abe005206173fdb519f864" ], [ "BinaryTrees.find_some", @@ -248,7 +248,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "96a2fa1cd5072824e0a66fc3a8f058c3" + "1621a3a9de20a4aafd0c04af36a5401d" ], [ "BinaryTrees.map_option", @@ -257,7 +257,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "3c9d62c8c34b2e2b39cb88f3d51d6b0f" + "2ee636e618ee3dfbe8e55fa11c9009a4" ], [ "BinaryTrees.map_find", @@ -271,7 +271,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04b94bcc135134a07e9f0061b671b9e1" + "537ee7ac720eb8ad66af7a0ef18aefb8" ], [ "BinaryTrees.map_find", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "70421b33351dae3be9521ffd1e18d123" + "7f6e90bcfe1dfc475c4d8ab583e4e34a" ], [ "BinaryTrees.map_find", @@ -307,8 +307,8 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_1696252159950375ed27d3faba8e3379_2", "binder_x_87ac387399742bfb1341a669dfb6c913_1", - "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinaryTrees.Leaf", + "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", @@ -338,7 +338,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "7a780a249ad58591e6aa7dd3124d6ced" + "30ffb35c5f3e6ab3658881eef6b040db" ], [ "BinaryTrees.in_tree", @@ -361,7 +361,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "7dd7775f5a18a6e148a1dd4558a2cff9" + "9d08d727da5d5e284a5b89af3c2e9d5a" ], [ "BinaryTrees.fold", @@ -381,7 +381,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "5d8263926909ec5e307ea47de452026a" + "b5697a74893c2004769c85094c52711d" ], [ "BinaryTrees.fold_map", @@ -428,7 +428,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "143906f4a8a292ee9a5edcfc51b52d68" + "2b8162ba733ac80f9615e97c4ddbc3b4" ], [ "BinaryTrees.size_fold", @@ -444,7 +444,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0e86ef8fb3163c0ffca5372057043451" + "8a12eb01bd3595b17c33791bc6283e67" ], [ "BinaryTrees.size_fold", @@ -460,7 +460,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ebb134c09877fbfd1590f1671b603669" + "cfbf500c7f07fdea6d394f663d537fe4" ], [ "BinaryTrees.size_fold", @@ -497,7 +497,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "3155ab181f5531fdf76c4eb0c21ece35" + "42e735e4326d36344b7680de090c6b8f" ], [ "BinaryTrees.in_tree_fold", @@ -539,7 +539,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "bd975c3ce8f734b9262f9222ea1b415c" + "4279178c710e0b870a7e1a1fb86b82c6" ], [ "BinaryTrees.find_fold", @@ -548,7 +548,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "d7f8830bd2a4ee9ee3cf30c73152cf59" + "6b6d364ebb7ef23501235a8648ee935a" ], [ "BinaryTrees.revert", @@ -567,7 +567,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "1b124fca40de272f25cd13f102910b41" + "61b17a2ba2c0fc0181fc9681ee7a7f65" ], [ "BinaryTrees.revert_involutive", @@ -576,7 +576,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "f7f27b2ca2ac0b42bc71b016a132d7c0" + "bbdfe1058862abc4e3dcbffe9148763c" ], [ "BinaryTrees.revert_involutive", @@ -585,7 +585,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "0b2cd665f653e7b350e733cc658a10ae" + "ac8608600096493727425b0902e76900" ], [ "BinaryTrees.revert_involutive", @@ -612,7 +612,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "dda5b030afad6b25263acb4ee9ea01c9" + "025af70b57a1b572c008340d9015caf4" ], [ "BinaryTrees.revert_injective", @@ -621,7 +621,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "700b70ab69cd2dc4044615f38f74486d" + "b9d165cb22a903536adca04207582129" ], [ "BinaryTrees.revert_injective", @@ -630,7 +630,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "3cc41e57588445261a9501176b68ad23" + "0f21a3d874fb55fa351a84d9338c354e" ], [ "BinaryTrees.revert_injective", @@ -662,7 +662,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "5d13ff21d753720243fe893f0e966d46" + "5e25b1db43ed94cc2cd5e169a4fed895" ], [ "BinaryTrees.revert_fold", @@ -671,7 +671,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "c4ba108baa8dfac42fde54fc7c7aa081" + "f8f7b1853a1d460bfcc3d5481f61142e" ], [ "BinaryTrees.revert_fold", @@ -680,7 +680,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "6fd5d1660fe80314c00335503e5b62ce" + "4cdc177ef4d3b6d9c2a8c2e99dba59b3" ], [ "BinaryTrees.revert_fold", @@ -715,7 +715,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "37c5f667783527211dcae56652ff57a4" + "425a3d65a94abe277a423bf8206599d3" ], [ "BinaryTrees.remove_root", @@ -739,7 +739,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "90426007b32167c793a98fbb91b1bcea" + "bae9e3246d24bf0dfe60ed1cda8369e9" ], [ "BinaryTrees.add_root", @@ -763,7 +763,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "6a02fb011abeae06cd2183cb8ed21701" + "821b64ec1649fe6aba766971d6862de1" ], [ "BinaryTrees.remove_add_root", @@ -772,7 +772,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "0f357b4d3e95feb54c15be9c2dbb187d" + "b53c3aecd5f78493d06f5a945e9abdf5" ], [ "BinaryTrees.remove_add_root", @@ -781,7 +781,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "94185265c8163be3989a4e68edbc141a" + "258f36ddc82a2f2d0d262b852fd5525b" ], [ "BinaryTrees.remove_add_root", @@ -815,7 +815,7 @@ "typing_BinaryTrees.add_root", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "6a589a3016695abcc96f1e2672d76619" + "0fa31bafca7d7a48361973ac496a84c9" ], [ "BinaryTrees.count", @@ -841,7 +841,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "38d87b30942b1cc4e49fd198b76d5641" + "88848bcf3829f30acc457026ee46cc0a" ], [ "BinaryTrees.remove", @@ -873,7 +873,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "3d8f73a55fc857dfa88a203f0d4d1865" + "82bb992e544a41c52a43b46a0792f73b" ], [ "BinaryTrees.count_remove_root", @@ -887,7 +887,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1044b8eb6f1f6b84b6603254bb36b64d" + "ae5e7da9559974f6a94a0b455862813d" ], [ "BinaryTrees.count_remove_root", @@ -932,7 +932,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "1e328616381d95bbb9f5b13d411d7349" + "e9380f4f805e53bfbc554ac5513d6d45" ], [ "BinaryTrees.count_remove", @@ -941,7 +941,7 @@ 1, [ "@query" ], 0, - "86263449997ecbda5cfcc632bd3fa3e7" + "ff1d107da90045527a4903c9dc95ea88" ], [ "BinaryTrees.count_remove", @@ -983,7 +983,7 @@ "typing_tok_BinaryTrees.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "3211202d40c5cedb60377c265a856ea0" + "ee1a2986c157859c1b60008e5ef24a28" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinaryTreesEnumeration.fst.hints b/examples/data_structures/BinaryTreesEnumeration.fst.hints index f1f7be66504..93a1cba3768 100644 --- a/examples/data_structures/BinaryTreesEnumeration.fst.hints +++ b/examples/data_structures/BinaryTreesEnumeration.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "eee715d0f22b43a6b850675e5f145fc9" + "ba4b0499beccdb34aed17675f7d5bc34" ], [ "BinaryTreesEnumeration.pairs_with_sum'", @@ -23,10 +23,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e037410deb390f8d706aad37eafcd7f7" + "refinement_interpretation_Tm_refine_7e9dafd60d27afa79ca583cc58ae3556" ], 0, - "e28d78e2a7e663280ec018861e5c40ca" + "1973fa599659842b77746ce4db326f96" ], [ "BinaryTreesEnumeration.pairs_with_sum'", @@ -52,7 +52,7 @@ "well-founded-ordering-on-nat" ], 0, - "c27c08cfde33b479721f78c84eb6bdba" + "acee492d3fe3b484f532bbf260dba27c" ], [ "BinaryTreesEnumeration.pairs_with_sum", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2fbd8ed135fe26da572c8a48fbd164ca" + "2f4cdde1709cbe3732ff4b06d35658e2" ], [ "BinaryTreesEnumeration.bin_tree", @@ -78,7 +78,7 @@ "kinding_BinaryTreesEnumeration.bin_tree@tok" ], 0, - "b37d86bbfa5a01b6f40011f864166f2d" + "56dbe7b7e5ec399ae584b774ac6ec838" ], [ "BinaryTreesEnumeration.__proj__Branch__item___0", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" ], 0, - "d1164fa3ea5849db611e0ef47cebd0de" + "f54ecdcf3dce18e9b5a6469ef93af40b" ], [ "BinaryTreesEnumeration.size", @@ -114,7 +114,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "0b2e412044ba0895cdf8b1ca9d786ce6" + "f4fbb0b2fdaf36f9bf8c6c389d671f6b" ], [ "BinaryTreesEnumeration.trees_of_size", @@ -158,7 +158,7 @@ "well-founded-ordering-on-nat" ], 0, - "4fcfd825ea00ef0235b0d22c8baba406" + "e78dfa993b2973f9da5f45a6daf57078" ], [ "BinaryTreesEnumeration.pws'_complete", @@ -169,7 +169,7 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "int_inversion", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "54eecf25db58888533d5f3c92907e15a" + "4b6cbb1631874090023411c13de4b7cd" ], [ "BinaryTreesEnumeration.pws'_complete", @@ -223,7 +223,7 @@ "well-founded-ordering-on-nat" ], 0, - "6275306f6e3d7472c4a0a6e77675af93" + "3916f1d04faacb6209a5a6a5a884c238" ], [ "BinaryTreesEnumeration.pws_complete", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "30242874cd225711d7c572aeeb1eebf7" + "9fa66ab125bb0fd8407e4fdd6864ce9a" ], [ "BinaryTreesEnumeration.pws_complete", @@ -264,7 +264,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7b81b7be92195068fe4d88055439c428" + "757c2bddc604f2e2aa13d7641d862a99" ], [ "BinaryTreesEnumeration.concatMap_flatten_map", @@ -300,7 +300,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "76e052be30616841cfc48cb08ded7926" + "c9cb4ea1f627d18f744f0c3f5665b860" ], [ "BinaryTreesEnumeration.pure_as_squash", @@ -312,7 +312,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "38625ec82aa1a5f0bee89d52593775fe" + "2a359c44b7dae0cf7ccef913db03b65e" ], [ "BinaryTreesEnumeration.memP_append_aux", @@ -358,7 +358,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "7e8bdb7e84317742332269b2457c642d" + "378540741692d7a686931f38e3c9426f" ], [ "BinaryTreesEnumeration.flatten_app", @@ -388,7 +388,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "d6004d2f4b5b663500b4167fb5bc5026" + "da650e3ae530458b6cfd0440619f2821" ], [ "BinaryTreesEnumeration.memP_app_intro_l", @@ -420,7 +420,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "cbdcb8009c031ce05d7a50441f8c7da5" + "37d5515c0062140c804a59153659d566" ], [ "BinaryTreesEnumeration.memP_app_intro_r", @@ -451,7 +451,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "7525da783c1dbbded4819efbf5a9a900" + "a5afa7edea8b213de8c539f5b3b02f48" ], [ "BinaryTreesEnumeration.memP_flatten_intro", @@ -486,7 +486,7 @@ "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c" ], 0, - "ca323e59167d3fc6810441b7d795c629" + "18fbd96d1e6a5ddd94a6e8f561192504" ], [ "BinaryTreesEnumeration.memP_concatMap_intro", @@ -495,7 +495,7 @@ 1, [ "@query" ], 0, - "84e9ffa565aa98084591f87431ac1502" + "fdfb09c6ff0565ad7f79dd766629557e" ], [ "BinaryTreesEnumeration.product_complete", @@ -504,7 +504,7 @@ 1, [ "@query", "equation_BinaryTreesEnumeration.product" ], 0, - "9a341018c746fb6878629e8102434e14" + "08aa1c572d5687e9af3e02404f7defc5" ], [ "BinaryTreesEnumeration.unfold_tos", @@ -546,7 +546,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "bb1095acbc690a471397d8c4c56d7ee5" + "e193b208441bd35a2b8299c5fd947182" ], [ "BinaryTreesEnumeration.tos_complete", @@ -581,9 +581,10 @@ "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "fuel_guarded_inversion_BinaryTreesEnumeration.bin_tree", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinaryTreesEnumeration.bin_tree@tok", - "l_or-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", + "kinding_BinaryTreesEnumeration.bin_tree@tok", "l_or-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BinaryTreesEnumeration.Branch__0", @@ -605,7 +606,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "bc81682c294180df1c5f8577a6f31745" + "beea5ed998d8efee798f240b3227d710" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinaryTreesEnumeration.fsti.hints b/examples/data_structures/BinaryTreesEnumeration.fsti.hints index b27c20b0da7..1d31ca5ff31 100644 --- a/examples/data_structures/BinaryTreesEnumeration.fsti.hints +++ b/examples/data_structures/BinaryTreesEnumeration.fsti.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "97dd902d4174116cee09a220f3d25daa" + "e2111a420f21e7ab51e07fa394febfa9" ], [ "BinaryTreesEnumeration.pairs_with_sum", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "59b488b3c1e2a99d9c9c33febf8adbd9" + "abadb42d5a5fecac0c30f671a9d82e91" ], [ "BinaryTreesEnumeration.bin_tree", @@ -38,7 +38,7 @@ "kinding_BinaryTreesEnumeration.bin_tree@tok" ], 0, - "6ef8627e545619903c062e559233ed35" + "23a26fe944e1ad1645e31959596e7f54" ], [ "BinaryTreesEnumeration.__proj__Branch__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" ], 0, - "e521dec621f5540458ccb52133eed756" + "fc6ae1b12322f22c4373f3b46671664a" ], [ "BinaryTreesEnumeration.size", @@ -74,7 +74,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "a0905447b5d28a5fd77ec25cc6f5b207" + "f4fbb0b2fdaf36f9bf8c6c389d671f6b" ], [ "BinaryTreesEnumeration.trees_of_size", @@ -118,7 +118,7 @@ "well-founded-ordering-on-nat" ], 0, - "88bf5adffd5f8b7da537861abf329be0" + "e78dfa993b2973f9da5f45a6daf57078" ], [ "BinaryTreesEnumeration.pws_complete", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "04332f9194c86c0c8383409d57c9d651" + "7f8411d96a4496b6b183542beb25efff" ], [ "BinaryTreesEnumeration.concatMap_flatten_map", @@ -174,7 +174,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "c86daf67394529b8aad13e976fe0dc50" + "c9cb4ea1f627d18f744f0c3f5665b860" ], [ "BinaryTreesEnumeration.pure_as_squash", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "7544c3a2a7e657215f30b5b00e003505" + "2a359c44b7dae0cf7ccef913db03b65e" ], [ "BinaryTreesEnumeration.memP_append_aux", @@ -232,7 +232,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "2e14181871acee0024a3896c78f902a5" + "378540741692d7a686931f38e3c9426f" ], [ "BinaryTreesEnumeration.flatten_app", @@ -262,7 +262,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "ba0c60747c276e7aa5970118a624253f" + "da650e3ae530458b6cfd0440619f2821" ], [ "BinaryTreesEnumeration.memP_app_intro_l", @@ -294,7 +294,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "83dc58b2cede6ce70405c568b6767035" + "37d5515c0062140c804a59153659d566" ], [ "BinaryTreesEnumeration.memP_app_intro_r", @@ -325,7 +325,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "2338d40e89091f547ce891df00d8e676" + "a5afa7edea8b213de8c539f5b3b02f48" ], [ "BinaryTreesEnumeration.memP_flatten_intro", @@ -360,7 +360,7 @@ "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c" ], 0, - "c102ca489afc9746ce57f64b485ae7fc" + "18fbd96d1e6a5ddd94a6e8f561192504" ], [ "BinaryTreesEnumeration.memP_concatMap_intro", @@ -369,7 +369,7 @@ 1, [ "@query" ], 0, - "7e6347f533784a88eaa9154b45f8d57f" + "fdfb09c6ff0565ad7f79dd766629557e" ], [ "BinaryTreesEnumeration.product_complete", @@ -378,7 +378,7 @@ 1, [ "@query", "equation_BinaryTreesEnumeration.product" ], 0, - "18f51276e34ce22c1600557ec9effee1" + "08aa1c572d5687e9af3e02404f7defc5" ], [ "BinaryTreesEnumeration.unfold_tos", @@ -420,7 +420,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "99e8fc6847646041bc45544c8d4eaaf5" + "e193b208441bd35a2b8299c5fd947182" ], [ "BinaryTreesEnumeration.tos_complete", @@ -480,7 +480,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "84afa7a48146f858d7669af611ca5fa5" + "beea5ed998d8efee798f240b3227d710" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinomialQueue.fst.hints b/examples/data_structures/BinomialQueue.fst.hints index ecfad5d32c0..149250988e8 100644 --- a/examples/data_structures/BinomialQueue.fst.hints +++ b/examples/data_structures/BinomialQueue.fst.hints @@ -16,7 +16,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7da28061e0298649ea26ae2e00710ae9" + "627fbdc6c1541ff1d7bc7673276649ef" ], [ "BinomialQueue.last_cons", @@ -45,7 +45,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "76ceacf1fba998a8d452a1d141f288ab" + "f730896c7a1c003161a2943ce26d08fe" ], [ "BinomialQueue.tree", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7a38ef87c455bc7c38b34a1c6123895" + "0cff032347f1b257847db9d3fb990100" ], [ "BinomialQueue.__proj__Internal__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" ], 0, - "ffaac4d1a99d8a296ae9146feb1e2810" + "b27784c8bfef0cf3e2e42e3a587ec656" ], [ "BinomialQueue.__proj__Internal__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" ], 0, - "921e11e965965e76a0930aa4fc265e06" + "35e718de90acd0c8e1aefaf8f35f4da4" ], [ "BinomialQueue.__proj__Internal__item___2", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" ], 0, - "cda4a6df44e0e0328317aee26eb4a4ba" + "c44c05c7c48c6b5258ebaaa4eb9536f5" ], [ "BinomialQueue.pow2heap_pred", @@ -105,24 +105,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_Prims.subtype_of", - "fuel_guarded_inversion_BinomialQueue.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", + "disc_equation_BinomialQueue.Leaf", "equation_Prims.nat", + "fuel_guarded_inversion_BinomialQueue.tree", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "9eede61b2f752735c908adee558a37f3" + "b3a558be95b608f9f554271c3cdd4552" ], [ "BinomialQueue.is_pow2heap", @@ -130,14 +125,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", - "equation_Prims.pos", "equation_Prims.subtype_of", "false_interp", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2ca8c768a8b040b34dd7c0cfa8ba559a" + "af987cd777f4ed7c1257e00dc25cd396" ], [ "BinomialQueue.is_binomial_queue", @@ -147,24 +140,19 @@ [ "@MaxIFuel_assumption", "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", "binder_x_07642eb27f8c86505049ec727a4a557c_1", "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", "equality_tok_Prims.T@tok", - "equation_BinomialQueue.forest", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.l_or", "equation_Prims.pos", - "equation_Prims.squash", "equation_Prims.subtype_of", + "equality_tok_BinomialQueue.Leaf@tok", + "equation_BinomialQueue.forest", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok", - "typing_tok_Prims.T@tok" + "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "b72611ee795e64f7bab2d94351b5ebc5" + "c88fccd7c9577d143a6741c489138f72" ], [ "BinomialQueue.is_compact", @@ -177,7 +165,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6ff5bb090fc78743bc3481dc898c6619" + "6dfa04515113dcf512aa505ce4d10686" ], [ "BinomialQueue.empty", @@ -198,7 +186,7 @@ "true_interp" ], 0, - "763eacd4dce8226c51ec2a8d2db81054" + "b98e35e62bf9ce0946aeb4d4f00efa6f" ], [ "BinomialQueue.all_leaf", @@ -222,7 +210,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9ef558bf14473183ff58b0ce90eacd2a" + "9cd599e624adf8f02b946e3c70e150c8" ], [ "BinomialQueue.mk_compact", @@ -240,7 +228,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "fcf37a2c35829999a6884c314010c974" + "fb4204cb4e0b32c76c1c21284291062b" ], [ "BinomialQueue.mk_compact_correctness", @@ -280,7 +268,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "4327d1102bac936c4c7fd5c62ca3538f" + "d0c6778719eab54e277ee7136d59c0f7" ], [ "BinomialQueue.mk_compact_preserves_binomial_queue", @@ -316,7 +304,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "6e9aaa04a100cbd72201cea9bcfdaa5e" + "548d024a7cbb41028761a271b24cfdb5" ], [ "BinomialQueue.smash", @@ -357,7 +345,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "36e714d1e131b26a625df54c37558f27" + "4df3565cabd1a43dcaa9f3074bb6aa48" ], [ "BinomialQueue.carry", @@ -370,7 +358,7 @@ "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "constructor_distinct_BinomialQueue.Leaf", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", @@ -378,19 +366,20 @@ "equation_BinomialQueue.forest", "equation_BinomialQueue.is_pow2heap", "equation_Prims.pos", "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "l_and-interp", "l_or-interp", "primitive_Prims.op_Addition", + "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", + "int_typing", "kinding_BinomialQueue.tree@tok", "l_and-interp", + "l_or-interp", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_hd", "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_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok" + "subterm_ordering_Prims.Cons", "typing_Prims.uu___is_Cons", + "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "6a0170dbede1827a2d7de06fed1009ef" + "b799cfe2b43c83c978096b446ee080a2" ], [ "BinomialQueue.join", @@ -438,7 +427,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "well-founded-ordering-on-nat" ], 0, - "704f31ebd4e42a32876c59fdeeb875f6" + "3be5b97b89a71312296070cacccd7a54" ], [ "BinomialQueue.insert", @@ -476,7 +465,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "63cc6bcf24a59f5b58a227c234445859" + "58fc76b7217a61f8ae20ba286f33dbb1" ], [ "BinomialQueue.find_max", @@ -504,7 +493,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "7d112a8d1dde586ca2e04d768a7cc362" + "9cb00d46410a948b0ebd40deaf9f7e43" ], [ "BinomialQueue.binomial_queue_append", @@ -526,7 +515,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "f43230a91e4a4d6175d415d73160d1e7" + "16ef3f8db723fc1168b22be9754009dc" ], [ "BinomialQueue.binomial_queue_append", @@ -578,7 +567,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "3e7998f5989e81e27e36dc4d7a111bf9" + "8b271800a630f576a5d9fb393357c3da" ], [ "BinomialQueue.unzip", @@ -598,11 +587,10 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", "bool_inversion", - "bool_typing", "constructor_distinct_BinomialQueue.Internal", + "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", + "constructor_distinct_BinomialQueue.Internal", "constructor_distinct_BinomialQueue.Leaf", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BinomialQueue.Internal", "data_typing_intro_BinomialQueue.Internal@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -642,7 +630,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "well-founded-ordering-on-nat" ], 0, - "ae1a6a9e7d8108cf0a7c4bdfebf073b6" + "ea702957e18ac8c7ee33017c2b568053" ], [ "BinomialQueue.heap_delete_max", @@ -665,7 +653,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db0682ae8c22fc59aaa029c77002fce0" + "ef5f50c41efa19ee540b4bf212e263cf" ], [ "BinomialQueue.delete_max_aux", @@ -712,7 +700,7 @@ "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "4f9bc52f878238ed86928c79d483af1a" + "c25477cc8ca3204859f2cb3558a7fb43" ], [ "BinomialQueue.delete_max", @@ -746,7 +734,7 @@ "typing_BinomialQueue.find_max" ], 0, - "1e1c509e1bcc55036ce2906b1e26af7f" + "0cdd1966225501e64c2d3adf64a161d7" ], [ "BinomialQueue.merge", @@ -772,7 +760,7 @@ "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" ], 0, - "a9e7387a8a8f6b7da434cc4e19526636" + "5f9a23d5ab36be5879c10e15d510da7f" ], [ "BinomialQueue.ms", @@ -787,7 +775,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ef11bdb2e8eaf34825b227d0cbd905b" + "f38d7ce6f4aea4ee9256b24e0586b20a" ], [ "BinomialQueue.__proj__Mkms__item__ms_elems", @@ -802,7 +790,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cd69acc032631f685391946a811459f0" + "4049755935d24ded6bd420db80276ae0" ], [ "BinomialQueue.__proj__Mkms__item__ms_elems", @@ -817,7 +805,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d2335bff336608d720934bff0ffdc6a" + "98152b87b6d7d3ccfb2b7481d93eba1d" ], [ "BinomialQueue.ms_empty", @@ -832,7 +820,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7f330202c85103cffebf875fb9cd5a7f" + "d32ddd56536b42d3c472ab0a5ba3a65f" ], [ "BinomialQueue.ms_singleton", @@ -847,7 +835,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "762007e75f3f97ebd6fbb5f00b858b83" + "b62fdb2c4cc57b5ed58da65daec362f7" ], [ "BinomialQueue.ms_append", @@ -870,7 +858,7 @@ "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count" ], 0, - "57478eba4f5375798611c6a08381344b" + "d63cb3869adc3559ab11a4f1c9266e7c" ], [ "BinomialQueue.permutation", @@ -885,7 +873,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cea81e258eddc6d21e2f22d9c7c3efe" + "ae24eaa04811bcef74afd385cafd8160" ], [ "BinomialQueue.keys_of_tree", @@ -905,7 +893,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "1a0e361c6aee42340f26433d406c79c6" + "b1144cad8e1d1ddfc3a078b38610a059" ], [ "BinomialQueue.keys", @@ -923,7 +911,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "cda5219c73e3223b4f3a40406a315799" + "489f3a750c32aad8dfa247ce4d41c21f" ], [ "BinomialQueue.repr_t", @@ -939,7 +927,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7c62c61b73a1709c490325401361431d" + "3a30cbfc29e4633375a53b9064428b74" ], [ "BinomialQueue.repr_l", @@ -955,7 +943,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "95b59066d97691b58e742237534fec02" + "489d07e2811a9f81106a445582a14e1d" ], [ "BinomialQueue.empty_repr", @@ -988,7 +976,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "c09ce78be1a80375d6891f8c2e0762ec" + "4a3f14d66c1544eca2ed00729ae76078" ], [ "BinomialQueue.smash_repr", @@ -1056,7 +1044,7 @@ "typing_FStar.Set.mem", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "674b11294d75d05aca579462158acd04" + "41b15ac9660e432e8e3b66ad5733d073" ], [ "BinomialQueue.carry_repr", @@ -1068,7 +1056,7 @@ "refinement_interpretation_Tm_refine_f92f3e6b3863a3cc9f2f0700b6474407" ], 0, - "bac1e84e8e7cab7d202bf63f04a81a86" + "4c915f0c6327de49b25e3feab638011c" ], [ "BinomialQueue.carry_repr", @@ -1101,7 +1089,7 @@ "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", "equation_BinomialQueue.forest", "equation_BinomialQueue.is_pow2heap", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", + "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_empty", "equation_BinomialQueue.permutation", "equation_BinomialQueue.repr_l", "equation_BinomialQueue.repr_t", @@ -1148,13 +1136,14 @@ "typing_BinomialQueue.__proj__Mkms__item__ms_elems", "typing_BinomialQueue.carry", "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", "typing_FStar.Set.mem", + "typing_BinomialQueue.ms_append", + "typing_BinomialQueue.uu___is_Leaf", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Tm_abs_015f65dc738b17ca923c21bdd897be70", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "ce53a8c032e6d5a8eacb5556f590f6b9" + "526234bb399a364cdd6f3a25f595d989" ], [ "BinomialQueue.join_repr", @@ -1166,7 +1155,7 @@ "refinement_interpretation_Tm_refine_4aaacdbe6aef23914ad906053a7ec01c" ], 0, - "7761bb8b16f3b95d04fe3d4676fa29e8" + "0abc34689498df1de14217b15bab5dee" ], [ "BinomialQueue.join_repr", @@ -1181,7 +1170,9 @@ "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", "@fuel_irrelevance_BinomialQueue.join.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", "@query", + "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", + "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", + "@query", "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_1", @@ -1193,14 +1184,15 @@ "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "constructor_distinct_BinomialQueue.Leaf", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BinomialQueue.Mkms", "data_elim_Prims.Cons", - "defn_equation_BinomialQueue.permutation", + "data_elim_BinomialQueue.Internal", "data_elim_BinomialQueue.Mkms", + "data_elim_Prims.Cons", "defn_equation_BinomialQueue.permutation", "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", "equation_BinomialQueue.forest", "equation_BinomialQueue.is_pow2heap", "equation_BinomialQueue.key_t", "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", "equation_BinomialQueue.ms_empty", + "equation_BinomialQueue.ms_singleton", "equation_BinomialQueue.permutation", "equation_BinomialQueue.repr_l", "equation_BinomialQueue.repr_t", "equation_Prims.eqtype", "equation_Prims.l_or", "equation_Prims.nat", @@ -1212,6 +1204,7 @@ "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", "fuel_guarded_inversion_BinomialQueue.tree", "fuel_guarded_inversion_Prims.list", + "function_token_typing_BinomialQueue.__proj__Mkms__item__ms_count", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", @@ -1244,23 +1237,26 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_89e06c024202b7960c7a838d26b7ac36", "refinement_interpretation_Tm_refine_ef894c20818013c5faab7b4bf585814b", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", "token_correspondence_BinomialQueue.join.fuel_instrumented", "token_correspondence_BinomialQueue.keys.fuel_instrumented", + "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", "typing_BinomialQueue.__proj__Mkms__item__ms_elems", "typing_BinomialQueue.join", "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", + "typing_BinomialQueue.ms_append", "typing_BinomialQueue.smash", "typing_BinomialQueue.uu___is_Leaf", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.uu___is_Cons", "typing_Tm_abs_015f65dc738b17ca923c21bdd897be70", + "typing_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "f242b73a6bcd895f993b909d4b81dab8" + "f55a2ebbb9a0515d6015a3e4f582bebc" ], [ "BinomialQueue.all_leaf_keys", @@ -1269,7 +1265,7 @@ 1, [ "@query" ], 0, - "56c06a0580eaffd55cfc404f8d5dcec3" + "b4741d96d3fee8e5497cee5a2a5c34fa" ], [ "BinomialQueue.all_leaf_keys", @@ -1327,7 +1323,7 @@ "typing_FStar.Set.union", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "ac215770c76eb40d2b51c5972e83e443" + "f8620b71f427ece39467a52bb6eb1565" ], [ "BinomialQueue.compact_preserves_keys", @@ -1379,7 +1375,7 @@ "unit_inversion", "unit_typing" ], 0, - "97c976e04c18b77fe6d0aae1fc3e453a" + "648520a4c13927da0733a240531615d5" ], [ "BinomialQueue.insert_repr", @@ -1457,7 +1453,7 @@ "typing_FStar.Set.union", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "77fec79a8e0c23b5ce89b02cbd28198e" + "402a2cf23a309226b5fd75fd3ae792f5" ], [ "BinomialQueue.merge_repr", @@ -1523,7 +1519,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "664d91a60fa95c6a8da1a42ed1d0fe8f" + "819a38755593abac884903e6713322d9" ], [ "BinomialQueue.last_key_in_keys", @@ -1539,7 +1535,7 @@ "refinement_interpretation_Tm_refine_a4694aff90882905e013f7442fc2a587" ], 0, - "3261133ab51cb023c49c7d84610938a7" + "0df93a84f85b91b574d78b4ee3eadd7b" ], [ "BinomialQueue.last_key_in_keys", @@ -1597,7 +1593,7 @@ "typing_FStar.Set.singleton", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "1e760b0ecffe82696d643e58e729b13b" + "1fc621d3c831d13d98e054162fcaf695" ], [ "BinomialQueue.find_max_some_is_some", @@ -1646,7 +1642,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "2bc6621f21f9c21ed70b2acd633463dc" + "bdf717b4e45f8a4aac521caeccc4e1ff" ], [ "BinomialQueue.find_max_emp_repr_l", @@ -1691,7 +1687,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "88dfb6b639eb64e9ab15263318addaaa" + "e6314b1acf8e09e8b7216a5402360fdb" ], [ "BinomialQueue.find_max_emp_repr_r", @@ -1761,7 +1757,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "21152916d7f897a74abb2c94e94440cd" + "a0dc072217e3ca9928787f3e62856158" ], [ "BinomialQueue.delete_max_none_repr", @@ -1787,7 +1783,7 @@ "typing_BinomialQueue.find_max" ], 0, - "6e336e55b6e35d6102a93c5bbe1202e9" + "d854465dba3f4bf6c3494d5f5dcead1d" ], [ "BinomialQueue.keys_append", @@ -1811,7 +1807,7 @@ "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_3", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Mkms", - "data_elim_Prims.Cons", "defn_equation_BinomialQueue.permutation", + "defn_equation_BinomialQueue.permutation", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", @@ -1855,12 +1851,11 @@ "typing_BinomialQueue.__proj__Mkms__item__ms_elems", "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", "typing_BinomialQueue.ms_append", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_tok_BinomialQueue.Leaf@tok" + "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.mem", + "typing_FStar.Set.union", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "867dbb91f52ebda4f24df3000d630c30" + "2625536f4531bb66f2db4b4af6e8d9d4" ], [ "BinomialQueue.unzip_repr", @@ -1872,7 +1867,7 @@ "refinement_interpretation_Tm_refine_76adbb251afae091ffb3b3578bcabcfe" ], 0, - "1a150f1f09abd2ec8773580fc24c2817" + "d078e6e5d9e2548196b71e65f7c56f3d" ], [ "BinomialQueue.unzip_repr", @@ -1970,7 +1965,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "5da758b764cf5dfbe98f8ca67b159c34" + "990a296cecb8f1c787bea3f5d6441e3e" ], [ "BinomialQueue.heap_delete_max_repr", @@ -2047,7 +2042,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "39b1e0a646a34db8a17469e2193d84e6" + "1c76d221fbbaf3279cbd6e428cf84cd4" ], [ "BinomialQueue.max", @@ -2062,7 +2057,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "722deeda49d9869d7fe8b275c2a75e6f" + "a6b967240ca44b04244a7d2febf3d717" ], [ "BinomialQueue.max", @@ -2077,7 +2072,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "856cf233fe5611670c398f1dc4655fa6" + "7b96d9b69be5872e495ce358de7802ce" ], [ "BinomialQueue.tree_root_is_max_aux", @@ -2131,7 +2126,7 @@ "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "02c416f77c75b7f1cd275e0a815bb088" + "9ab0930f112c474b2a74aec583a78a9e" ], [ "BinomialQueue.tree_root_is_max", @@ -2156,7 +2151,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b0771fde8589c0334977cf25b15898f3" + "5a5cd952b428f087952991a099bc0b31" ], [ "BinomialQueue.delete_max_aux_repr", @@ -2171,7 +2166,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "804bb37637df660277b24c2e1605f7b2" + "24608cc6f090fa740bb42a7e0f47182f" ], [ "BinomialQueue.delete_max_aux_repr", @@ -2205,7 +2200,6 @@ "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Internal", "data_elim_BinomialQueue.Mkms", "data_elim_Prims.Cons", - "defn_equation_BinomialQueue.permutation", "disc_equation_BinomialQueue.Internal", "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", @@ -2233,9 +2227,7 @@ "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", "interpretation_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", - "l_and-interp", "l_or-interp", - "l_quant_interp_c6ffb0d48eff19a8afa9bf101a43b037", - "lemma_FStar.Set.lemma_equal_elim", + "l_and-interp", "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", @@ -2280,7 +2272,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "9d40182163889997de3e30b52e57bab6" + "4f4878b6b968f1e21f3645505ae1d3f5" ], [ "BinomialQueue.find_max_mem_keys", @@ -2295,7 +2287,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1b7ca62a187c2488edff2b76b5ac6f7" + "6f32379c9cb843396822ee248a25944f" ], [ "BinomialQueue.find_max_mem_keys", @@ -2370,7 +2362,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "cb2e86859f32446aa8c2df192e4bfd85" + "1ae2182b657333b48c2be8282ffdfd0a" ], [ "BinomialQueue.find_max_is_max", @@ -2382,7 +2374,7 @@ "refinement_interpretation_Tm_refine_40004e77c501d0d7faf8da16dffd8ea1" ], 0, - "03730b3b7117a0cb17353831260b748b" + "35a86fb5ce1fda182a4e95d42737ddbf" ], [ "BinomialQueue.find_max_is_max", @@ -2461,7 +2453,7 @@ "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "d1a34d9a77c7a97795d5adf67d51023a" + "3b6e779d87d881217ca649a552e2dddf" ], [ "BinomialQueue.delete_max_some_repr", @@ -2476,59 +2468,400 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29e96e7773ebc265446d3b61ad92de59" + "4288174c881e5411d42e313e523dcffa" + ], + [ + "BinomialQueue.delete_max_some_repr", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_BinomialQueue.delete_max", "equation_BinomialQueue.key_t", + "equation_Prims.nat", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_dafa4d3065c0f0ef51aceec58164848e", + "refinement_interpretation_Tm_refine_f7bc8d21ca16bbb10ec3bfc1c99b287a" + ], + 0, + "4027f0aac705afc4927c8c9cd47a9ecd" + ], + [ + "BinomialQueue.delete_max_some_repr", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "equation_BinomialQueue.delete_max", "equation_BinomialQueue.key_t", + "equation_Prims.nat", + "projection_inverse_FStar.Pervasives.Native.None_a", + "refinement_interpretation_Tm_refine_057aee523c17017a6e69eacf33fa6872", + "refinement_interpretation_Tm_refine_dafa4d3065c0f0ef51aceec58164848e" + ], + 0, + "0dad28beff100e3b38fcd53bc36504bd" + ], + [ + "BinomialQueue.delete_max_some_repr", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", + "equation_Prims.eqtype", "equation_Prims.nat", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "b875366bef0c91213b4cd3312e3f3734" + ], + [ + "BinomialQueue.delete_max_some_repr", + 6, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "equation_BinomialQueue.key_t", "equation_Prims.nat", + "proj_equation_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_0a1ab0d5d71b300f76ea8d49dac5b3fc", + "refinement_interpretation_Tm_refine_6c398439580f0b2a9e8f00ad06216bd7", + "refinement_interpretation_Tm_refine_99a530d26dadc8f00190ad218d216df2" + ], + 0, + "2e28c999163cd54745439d33e22fca18" + ], + [ + "BinomialQueue.delete_max_some_repr", + 7, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.is_priq", + "equation_BinomialQueue.priq", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" + ], + 0, + "af8f3ec76837c633f0109bd22a5c371a" + ], + [ + "BinomialQueue.delete_max_some_repr", + 8, + 2, + 1, + [ "@query", "b2t_def" ], + 0, + "5f8a5d2ae3c15b05bfefc30a904122d3" + ], + [ + "BinomialQueue.delete_max_some_repr", + 9, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.is_priq", + "equation_BinomialQueue.priq", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" + ], + 0, + "215eaebfe3e81528a572b033f6fb0c9c" + ], + [ + "BinomialQueue.delete_max_some_repr", + 10, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.repr", + "fuel_guarded_inversion_BinomialQueue.ms", + "refinement_interpretation_Tm_refine_dafa4d3065c0f0ef51aceec58164848e" + ], + 0, + "67bc1e3f7f599d69ee8ac68f81b88374" + ], + [ + "BinomialQueue.delete_max_some_repr", + 11, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_bc23f3acb163f247bce53cf2c3250165" + ], + 0, + "e41a726808be29603c492ff9a1ef496d" + ], + [ + "BinomialQueue.delete_max_some_repr", + 12, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", + "@query", "equation_BinomialQueue.key_t", + "equation_BinomialQueue.permutation", + "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_refl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.keys" + ], + 0, + "34e34bc8eff507fc0a5b515623aa045d" + ], + [ + "BinomialQueue.delete_max_some_repr", + 13, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", + "@query", "equation_BinomialQueue.key_t", + "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", + "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_refl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.keys" + ], + 0, + "e799a71738de71f6d5e02ada62404189" + ], + [ + "BinomialQueue.delete_max_some_repr", + 14, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.forest", + "equation_BinomialQueue.key_t", "equation_BinomialQueue.priq", + "equation_Prims.l_and", "equation_Prims.nat", "l_and-interp", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "refinement_interpretation_Tm_refine_287b5a6ae93fdd8d2c296e7e1a7744ec", + "refinement_interpretation_Tm_refine_bc23f3acb163f247bce53cf2c3250165" + ], + 0, + "09321594da42d6b6f8135810dd551ec7" + ], + [ + "BinomialQueue.delete_max_some_repr", + 15, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.is_priq", + "equation_BinomialQueue.priq", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" + ], + 0, + "4e771e38bef7d7f7c37bbc9c7be1a502" + ], + [ + "BinomialQueue.delete_max_some_repr", + 16, + 2, + 1, + [ + "@query", "constructor_distinct_BinomialQueue.Leaf", + "disc_equation_BinomialQueue.Leaf", + "equality_tok_BinomialQueue.Leaf@tok", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "a220a9a6e9e149de2ce763c5a06ecbb8" + ], + [ + "BinomialQueue.delete_max_some_repr", + 17, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.forest", + "equation_BinomialQueue.key_t", "equation_BinomialQueue.priq", + "equation_Prims.l_and", "equation_Prims.nat", "l_and-interp", + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "refinement_interpretation_Tm_refine_287b5a6ae93fdd8d2c296e7e1a7744ec", + "refinement_interpretation_Tm_refine_bc23f3acb163f247bce53cf2c3250165" + ], + 0, + "b3159496fc24cb4b23f9c99ec5599236" ], [ "BinomialQueue.delete_max_some_repr", + 18, 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.is_priq", + "equation_BinomialQueue.priq", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" + ], + 0, + "277e70f166c7a39954717dafa36a775f" + ], + [ + "BinomialQueue.delete_max_some_repr", + 19, + 2, + 1, + [ + "@query", "constructor_distinct_BinomialQueue.Leaf", + "disc_equation_BinomialQueue.Leaf", + "equality_tok_BinomialQueue.Leaf@tok", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "55394a343c113968ce58bebc4081db29" + ], + [ + "BinomialQueue.delete_max_some_repr", + 20, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", + "@query", "equation_BinomialQueue.key_t", + "equation_BinomialQueue.permutation", + "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_refl", + "proj_equation_BinomialQueue.Mkms_ms_elems", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.keys" + ], + 0, + "16d6b80863fbe8803c02c332ef98cfe0" + ], + [ + "BinomialQueue.delete_max_some_repr", + 21, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", + "@query", "equation_BinomialQueue.key_t", + "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", + "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_refl", + "proj_equation_BinomialQueue.Mkms_ms_elems", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.keys" + ], + 0, + "2e0f825468f2507f05ca4cc04e5c0f93" + ], + [ + "BinomialQueue.delete_max_some_repr", + 22, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", + "@query", "constructor_distinct_BinomialQueue.Leaf", + "equality_tok_BinomialQueue.Leaf@tok", + "equation_BinomialQueue.key_t", "equation_BinomialQueue.ms_empty", + "equation_BinomialQueue.permutation", + "equation_BinomialQueue.repr_t", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Set.lemma_equal_refl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.ms_empty", "typing_tok_BinomialQueue.Leaf@tok" + ], + 0, + "71635c467285e1e7d03ef5014f472420" + ], + [ + "BinomialQueue.delete_max_some_repr", + 23, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", + "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", + "@fuel_correspondence_BinomialQueue.join.fuel_instrumented", "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", + "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", "@query", "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "bool_inversion", "constructor_distinct_BinomialQueue.Leaf", + "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Mkms", - "defn_equation_BinomialQueue.permutation", + "data_elim_BinomialQueue.Mkms", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Pervasives.Native.None@tok", "disc_equation_BinomialQueue.Leaf", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_BinomialQueue.Leaf@tok", "equation_BinomialQueue.delete_max", "equation_BinomialQueue.forest", + "equation_BinomialQueue.is_pow2heap", "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.max", "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_cons", "equation_BinomialQueue.ms_empty", + "equation_BinomialQueue.ms_append", + "equation_BinomialQueue.ms_empty", "equation_BinomialQueue.ms_singleton", "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", "equation_BinomialQueue.repr", "equation_BinomialQueue.repr_l", - "equation_BinomialQueue.repr_t", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", + "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.ms", - "function_token_typing_BinomialQueue.__proj__Mkms__item__ms_count", + "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", + "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "interpretation_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", - "l_and-interp", "l_quant_interp_c6ffb0d48eff19a8afa9bf101a43b037", + "l_and-interp", "l_or-interp", "lemma_BinomialQueue.compact_preserves_keys", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "proj_equation_BinomialQueue.Mkms_ms_count", "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BinomialQueue.Mkms_ms_count", "projection_inverse_BinomialQueue.Mkms_ms_elems", "projection_inverse_BoxBool_proj_0", @@ -2538,25 +2871,105 @@ "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", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_287b5a6ae93fdd8d2c296e7e1a7744ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_99a530d26dadc8f00190ad218d216df2", + "refinement_interpretation_Tm_refine_b6712851ec2cee739f9e35718194f716", + "refinement_interpretation_Tm_refine_bc23f3acb163f247bce53cf2c3250165", "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", + "refinement_interpretation_Tm_refine_dafa4d3065c0f0ef51aceec58164848e", + "refinement_interpretation_Tm_refine_f8369f9f81d71242f646d7868a2bf860", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.ms_append", + "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", + "typing_BinomialQueue.mk_compact", "typing_BinomialQueue.ms_append", "typing_BinomialQueue.ms_empty", "typing_BinomialQueue.ms_singleton", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", + "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_BinomialQueue.Leaf@tok" ], 0, - "f65ff272572ef0374f010d27c4ed8018" + "6ca7726a6b225ce2e93d446af040660d" + ], + [ + "BinomialQueue.delete_max_some_repr", + 24, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.is_priq", + "equation_BinomialQueue.priq", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" + ], + 0, + "2a4c45ddf43b777eb40a191166d4c369" + ], + [ + "BinomialQueue.delete_max_some_repr", + 25, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "equation_BinomialQueue.key_t", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_6c398439580f0b2a9e8f00ad06216bd7", + "refinement_interpretation_Tm_refine_99a530d26dadc8f00190ad218d216df2" + ], + 0, + "a57b9e348738bf092ef540ad41a6587b" + ], + [ + "BinomialQueue.delete_max_some_repr", + 26, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", + "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", + "@query", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "equation_BinomialQueue.delete_max", "equation_BinomialQueue.forest", + "equation_BinomialQueue.key_t", "equation_BinomialQueue.max", + "equation_BinomialQueue.ms_cons", + "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", + "equation_BinomialQueue.repr", "equation_BinomialQueue.repr_l", + "equation_Prims.eqtype", "equation_Prims.l_and", + "equation_Prims.nat", "fuel_guarded_inversion_BinomialQueue.ms", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "l_and-interp", "lemma_FStar.Set.lemma_equal_elim", + "primitive_Prims.op_LessThanOrEqual", + "proj_equation_BinomialQueue.Mkms_ms_elems", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "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_0a1ab0d5d71b300f76ea8d49dac5b3fc", + "refinement_interpretation_Tm_refine_287b5a6ae93fdd8d2c296e7e1a7744ec", + "refinement_interpretation_Tm_refine_28b3529e604de38cfa56254e079a0089", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_99a530d26dadc8f00190ad218d216df2", + "refinement_interpretation_Tm_refine_b6712851ec2cee739f9e35718194f716", + "refinement_interpretation_Tm_refine_bc23f3acb163f247bce53cf2c3250165", + "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", + "refinement_interpretation_Tm_refine_dafa4d3065c0f0ef51aceec58164848e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_BinomialQueue.__proj__Mkms__item__ms_elems", + "typing_BinomialQueue.keys", "typing_FStar.Set.mem", "unit_inversion" + ], + 0, + "9aebfe9d15b42db7492d692ff313911a" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinomialQueue.fsti.hints b/examples/data_structures/BinomialQueue.fsti.hints index e72a2f9259c..37d695ad54e 100644 --- a/examples/data_structures/BinomialQueue.fsti.hints +++ b/examples/data_structures/BinomialQueue.fsti.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea91c9f95d34a462f3b81970f78567f8" + "b974ec61e78e806c5c32b39f8a271f84" ], [ "BinomialQueue.__proj__Mkms__item__ms_elems", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89ee3bedaff20977052a5b7a09a98c97" + "ece0a1185a3c5329b51293cb31e0c73d" ], [ "BinomialQueue.__proj__Mkms__item__ms_elems", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e381756df5e9ad5e88bd7c3a45a29c8" + "98152b87b6d7d3ccfb2b7481d93eba1d" ], [ "BinomialQueue.ms_empty", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f01ffc2f5ca508d3f430e04ebb4011c3" + "d32ddd56536b42d3c472ab0a5ba3a65f" ], [ "BinomialQueue.ms_singleton", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c010b179b28b57fd1667f47042b7f45" + "b62fdb2c4cc57b5ed58da65daec362f7" ], [ "BinomialQueue.ms_append", @@ -97,7 +97,7 @@ "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count" ], 0, - "c7d627f16b48f92eb58f06a98be66014" + "d63cb3869adc3559ab11a4f1c9266e7c" ], [ "BinomialQueue.permutation", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e96a30ed33071a12cc5a17055c361651" + "ae24eaa04811bcef74afd385cafd8160" ], [ "BinomialQueue.delete_max_some_repr", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4fc13f3f21b05a0703d1f98a8037517" + "6a7f48187ae4a857fdf92ae85630613f" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LeftistHeap.fst b/examples/data_structures/LeftistHeap.fst new file mode 100644 index 00000000000..710ca9c485d --- /dev/null +++ b/examples/data_structures/LeftistHeap.fst @@ -0,0 +1,376 @@ +(* + Copyright 2023 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 LeftistHeap + +// ----------------------------------------------------------------- +// Elimination rules for the ordered type class, and instantiations +// ----------------------------------------------------------------- + +let gt (#t: eqtype) {| _ : ordered t |} (a b: t) = + leq b a && a <> b + +let transitivity #a {| p : ordered a |} (x y z: a): + Lemma (requires leq x y /\ leq y z) + (ensures leq x z) += p.properties + +let reflexivity #a {| p : ordered a |} (x: a): + Lemma (ensures leq x x) += p.properties + +let antisymmetry (#a: eqtype) {| p : ordered a |} (x y: a): + Lemma (requires leq x y /\ leq y x) (ensures x = y) += p.properties + +let total_order (#a: eqtype) {| p : ordered a |} (x y: a): + Lemma (ensures leq x y \/ leq y x) += p.properties + +instance ints_leq : ordered int = +{ + leq = (<=); + properties = () +} + +instance nats_leq : ordered nat = +{ + leq = (<=); + properties = () +} + +// ----------------------------------------------------------------- +// Useful functions and lemmas for lists +// ----------------------------------------------------------------- + +let delta (#a: eqtype) (x y:a): GTot int = (if x = y then 1 else 0) + +let rec count (#a: eqtype) (l: list a) y: GTot nat = + match l with + | [] -> 0 + | t::q -> delta t y + count q y + +let rec lower_bounded #a {| _ : ordered a |} (l: list a) m: GTot bool = + match l with + | [] -> true + | t::q -> leq m t && lower_bounded q m + +let rec lower_bounded_trans #a {| _ : ordered a |} (l: list a) m1 m2: + Lemma (requires lower_bounded l m1 /\ leq m2 m1) (ensures lower_bounded l m2) += match l with + | [] -> () + | t::q -> (transitivity m2 m1 t; lower_bounded_trans q m1 m2) + +let rec sorted_then_lower_bounded #a {| _ : ordered a |} (t: a) (q: list a): + Lemma (requires sorted (t::q)) (ensures lower_bounded (t::q) t) += match q with + | [] -> reflexivity t + | a::b -> + (if Cons? b then transitivity t a (Cons?.hd b) else (); + sorted_then_lower_bounded t b; assert (lower_bounded q t)) + +// Any element in the list is greater than or equal to a lower bound of the list +let rec lower_bounded_and_count (#a: eqtype) {| _ : ordered a |} (l: list a) (m x: a): + Lemma (requires lower_bounded l m /\ count l x > 0) (ensures leq m x) += match l with + | [] -> () + | t::q -> if (t = x) then () else lower_bounded_and_count q m x + +// Two sorted lists with the same elements (with the same multiplicities) are the same +#push-options "--split_queries always" +#push-options "--z3rlimit 30" +let rec injectivity_count_sorted (#t: eqtype) {| _ : ordered t |} (a b: list t): + Lemma (requires (forall y. count a y = count b y) /\ sorted a /\ sorted b) + (ensures a = b) += match a, b with + | ta::qa, tb::qb -> ( + // 1. ta <= tb + eliminate forall y. count a y = count b y with tb; + assert (count a tb > 0); + sorted_then_lower_bounded ta qa; + lower_bounded_and_count a ta tb; + // 2. ta <= tb + eliminate forall y. count a y = count b y with ta; + assert (count b ta > 0); + sorted_then_lower_bounded tb qb; + lower_bounded_and_count b tb ta; + // 3. induction hypothesis + antisymmetry ta tb; + injectivity_count_sorted #t qa qb + ) + | _ -> () +#pop-options +#pop-options + +let rec merge_count (#t: eqtype) {| _: ordered t |} (a b: list t) y: + Lemma (ensures count (merge a b) y = count a y + count b y) += match a, b with + | ta::qa, tb::qb -> if (leq ta tb) then merge_count qa b y else merge_count a qb y + | _ -> () + +let rec sorted_merge #t {| _ : ordered t |} (a b: list t): + Lemma (requires sorted #t a /\ sorted #t b) (ensures sorted (merge #t a b)) += match a, b with + | ta::qa, tb::qb -> if (leq ta tb) + then sorted_merge #t qa b + else (sorted_merge #t a qb; total_order ta tb) + | _ -> () + +let rec merge_lower_bounded (#t: eqtype) {| _ : ordered t |} (a b: list t) m: + Lemma (requires lower_bounded a m /\ lower_bounded b m) (ensures lower_bounded (merge a b) m) += match a, b with + | ta::qa, tb::qb -> if (leq ta tb) + then merge_lower_bounded qa b m + else merge_lower_bounded a qb m + | _ -> () + +// ----------------------------------------------------------------- +// Useful functions and lemmas for heaps +// ----------------------------------------------------------------- + +type heap a = + | Leaf: heap a + | Node: key:a -> left:heap a -> right:heap a -> rank:nat-> heap a + +let rec size t: GTot nat = + match t with + | Leaf -> 0 + | Node _ l r _ -> 1 + size l + size r + +// recursively updates the lower bound, as opposed to the list one +let rec lower_bounded_heap (#a: eqtype) {| _ : ordered a |} (t: heap a) (m: a): GTot bool = + match t with + | Leaf -> true + | Node k l r _ -> lower_bounded_heap l k && lower_bounded_heap r k && leq m k + +let heap_property (#a: eqtype) {| _ : ordered a |} (t: heap a): prop = + match t with + | Leaf -> True + | Node k l r _ -> lower_bounded_heap l k /\ lower_bounded_heap r k + +let rec count_heap (#a: eqtype) {| _ : ordered a |} (t: heap a) y: GTot nat = + match t with + | Leaf -> 0 + | Node k l r _ -> delta k y + count_heap l y + count_heap r y + +// ----------------------------------------------------------------- +// List representations of heaps +// ----------------------------------------------------------------- + +let rec to_list_aux (#a: eqtype) {| _ : ordered a |} (t: heap a): GTot (list a) = + match t with + | Leaf -> [] + | Node k l r _ -> k :: merge (to_list_aux l) (to_list_aux r) + +// A lower bound for a heap is also a lower bound for its list representation +let rec to_list_aux_lower_bounded (#a: eqtype) {| _ : ordered a |} (t: heap a) m: + Lemma (requires lower_bounded_heap t m) (ensures lower_bounded (to_list_aux t) m) += match t with + | Leaf -> () + | Node k l r _ -> ( + to_list_aux_lower_bounded l k; + lower_bounded_trans (to_list_aux l) k m; + to_list_aux_lower_bounded r k; + lower_bounded_trans (to_list_aux r) k m; + merge_lower_bounded (to_list_aux l) (to_list_aux r) m + ) + +// The list representation of a sorted heap is sorted +let rec heap_property_then_sorted (#a: eqtype) {| _ : ordered a |} (t: heap a): + Lemma (requires heap_property t) (ensures sorted (to_list_aux t)) += match t with + | Node k l r _ -> + ( + heap_property_then_sorted l; + heap_property_then_sorted r; + sorted_merge (to_list_aux l) (to_list_aux r) + ) + | _ -> () + +let rec count_list_heap (#a: eqtype) {| _ : ordered a |} (t: heap a) y: + Lemma (ensures count_heap t y = count (to_list_aux t) y) += match t with + | Leaf -> () + | Node k l r _ -> (count_list_heap l y; count_list_heap r y; + merge_count (to_list_aux l) (to_list_aux r) y) + +// ----------------------------------------------------------------- +// Merging heaps +// ----------------------------------------------------------------- + +// Termination measure +let measure (#a: eqtype) {| _ : ordered a |} (t1 t2: heap a) = + match t1, t2 with + | Node _ _ _ _, Leaf -> 1 + | Node k1 _ _ _, Node k2 _ _ _ -> if gt k1 k2 then 1 else 0 + | _ -> 0 + +let rank t = + match t with + | Leaf -> 0 + | Node _ _ _ r -> r + +let rec merge_heaps_aux (#a: eqtype) {| _ : ordered a |} (t1 t2: heap a): + Tot (heap a) + (decreases %[size t1 + size t2; measure t1 t2]) + = + match t1, t2 with + | Leaf, _ -> t2 + | _, Leaf -> t1 + | Node k1 l r _, Node k2 _ _ _ -> + if gt k1 k2 then merge_heaps_aux t2 t1 + else + let merged = merge_heaps_aux r t2 in + let rank_left = rank l in + let rank_right = rank merged in + if rank_left >= rank_right then + Node k1 l merged (rank_right + 1) + else + Node k1 merged l (rank_left + 1) + +// ----------------------------------------------------------------- +// Merging heaps preserves sortedness and the elements +// ----------------------------------------------------------------- + +let rec heap_property_merge #a {| _ : ordered a |} (t1 t2: heap a): Lemma + (requires heap_property t1 /\ heap_property t2) + (ensures heap_property (merge_heaps_aux t1 t2)) + (decreases %[size t1 + size t2; measure t1 t2]) += match t1, t2 with + | Node k1 l r _, Node k2 _ _ _ -> + if gt k1 k2 then heap_property_merge t2 t1 + else (heap_property_merge r t2; total_order k1 k2) + | _ -> () + +let rec count_merge_aux (#a: eqtype) {| _ : ordered a |} (t1 t2: heap a) y: + Lemma (ensures count_heap (merge_heaps_aux t1 t2) y = count_heap t1 y + count_heap t2 y) + (decreases %[size t1 + size t2; measure t1 t2]) += match t1, t2 with + | Node k1 l r _, Node k2 _ _ _ -> + if gt k1 k2 then count_merge_aux t2 t1 y + else count_merge_aux r t2 y + | _ -> () + +let merge_heap_charact (#t: eqtype) {| _ : ordered t |} (a b: heap t): + Lemma (requires heap_property a /\ heap_property b) + (ensures to_list_aux (merge_heaps_aux a b) = merge (to_list_aux a) (to_list_aux b)) += + let l1 = to_list_aux (merge_heaps_aux a b) in + let l2 = merge (to_list_aux a) (to_list_aux b) in + ( + // Step 1: (forall y. count l1 y = count l2 y); + introduce forall (y: t). (count l1 y = count l2 y) with ( + calc (=) { + count l1 y; + = {count_list_heap (merge_heaps_aux a b) y} + count_heap (merge_heaps_aux a b) y; + = {count_merge_aux a b y} + count_heap a y + count_heap b y; + = {count_list_heap a y; count_list_heap b y} + count (to_list_aux a) y + count (to_list_aux b) y; + = {merge_count (to_list_aux a) (to_list_aux b) y} + count l2 y; + } + ); + // Step 2: l1 is sorted + heap_property_merge a b; + heap_property_then_sorted (merge_heaps_aux a b); + // Step 3: l2 is sorted + heap_property_then_sorted a; + heap_property_then_sorted b; + sorted_merge (to_list_aux a) (to_list_aux b); + // Step 4: Conclusion + injectivity_count_sorted l1 l2 +) + +// ----------------------------------------------------------------- +// Merging heaps preserves the properties about ranks +// ----------------------------------------------------------------- + +// leftist property: Left ranks are always greater than or equal to right ranks +let rec leftist_property t: GTot bool = + match t with + | Leaf -> true + | Node _ l r _ -> leftist_property l && leftist_property r && rank l >= rank r + +// The rank of a node is the length of its rightmost spine +let rec compute_rank t: GTot int = + match t with + | Leaf -> 0 + | Node _ l r _ -> 1 + compute_rank r + +// The annotated rank corresponds to the real (computed) rank +let rec correct_ranks t: GTot bool = + match t with + | Leaf -> true + | Node _ l r rk -> correct_ranks l && correct_ranks r && rk = compute_rank t + +// the merging heaps function correctly modifies the annotated ranks +let rec correct_ranks_merge (#a: eqtype) {| _ : ordered a |} (t1 t2: heap a): Lemma + (requires correct_ranks t1 && correct_ranks t2) + (ensures correct_ranks (merge_heaps_aux t1 t2)) + (decreases %[size t1 + size t2; measure t1 t2]) += match t1, t2 with + | Node k1 l r _, Node k2 _ _ _ -> + if gt k1 k2 then correct_ranks_merge t2 t1 + else correct_ranks_merge r t2 + | _ -> () + +let rec leftist_property_merge (#a: eqtype) {| _ : ordered a |} (t1 t2: heap a): Lemma + (requires leftist_property t1 && leftist_property t2) + (ensures leftist_property (merge_heaps_aux t1 t2)) + (decreases %[size t1 + size t2; measure t1 t2]) += match t1, t2 with + | Node k1 l r _, Node k2 _ _ _ -> + if gt k1 k2 then leftist_property_merge t2 t1 + else leftist_property_merge r t2 + | _ -> () + +// ----------------------------------------------------------------- +// Actual implementation of the interface +// ----------------------------------------------------------------- + +let leftist (a: eqtype) {| _ : ordered a |} = + t:heap a{heap_property t /\ leftist_property t /\ correct_ranks t} + +let to_list (#a: eqtype) {| _ : ordered a |} (t:leftist a): GTot (l:list a{sorted l}) = + (heap_property_then_sorted t; to_list_aux t) + +let empty (#a: eqtype) {| _ : ordered a |}: (t:leftist a{ to_list t = [] }) = Leaf + +let isEmpty (#a: eqtype) {| _ : ordered a |} (t:leftist a): (b:bool{ b <==> to_list t = []}) = Leaf? t + +let singleton (#a: eqtype) {| _ : ordered a |} (k:a): (s:leftist a{to_list s = [k]}) = + Node k Leaf Leaf 1 + +let merge_heaps (#a: eqtype) {| _ : ordered a |} (t1 t2: leftist a): + (t:leftist a{ to_list t = merge (to_list t1) (to_list t2) }) += (merge_heap_charact t1 t2; + heap_property_merge t1 t2; + leftist_property_merge t1 t2; + correct_ranks_merge t1 t2; + merge_heaps_aux t1 t2) + +let insert (#a: eqtype) {| _ : ordered a |} (x: a) (t:leftist a): + (t':leftist a{ to_list t' = merge [x] (to_list t) }) += merge_heaps (singleton x) t + +let get_min (#a: eqtype) {| _ : ordered a |} (t:leftist a{ ~(isEmpty t) }): + (x:a{ x = Cons?.hd (to_list t) }) = + match t with + | Node k _ _ _ -> k + +let delete_min (#a: eqtype) {| _ : ordered a |} (t: leftist a{~(isEmpty t)}): + (t':leftist a{to_list t' = Cons?.tl (to_list t) }) = + match t with + | Node _ l r _ -> merge_heaps l r \ No newline at end of file diff --git a/examples/data_structures/LeftistHeap.fsti b/examples/data_structures/LeftistHeap.fsti new file mode 100644 index 00000000000..30114189169 --- /dev/null +++ b/examples/data_structures/LeftistHeap.fsti @@ -0,0 +1,63 @@ +(* + Copyright 2023 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 LeftistHeap + +class ordered (a:eqtype) = +{ + leq : a -> a -> bool; + [@@@FStar.Tactics.Typeclasses.no_method] + properties : squash ( + (forall x. leq x x) /\ // reflexivity + (forall a b c. (leq a b /\ leq b c) ==> leq a c) /\ // transivitive + (forall a b. (leq a b /\ leq b a) ==> a = b) /\ // antisymmetry + (forall a b. leq a b \/ leq b a) // total + ) +} + +let rec merge #t {| _: ordered t |} (a: list t) (b: list t): GTot (list t) = + match a, b with + | [], _ -> b + | _, [] -> a + | ta::qa, tb::qb -> if (leq ta tb) then ta :: (merge qa b) else tb :: (merge a qb) + +let rec sorted #t {| _: ordered t|} (l: list t): GTot bool = + match l with + | x::y::q -> if leq x y then sorted (y::q) else false + | _ -> true + +val leftist (a: eqtype) {| _ : ordered a |}: eqtype + +val to_list (#a: eqtype) {| _: ordered a|} (t:leftist a): + GTot (l:list a{sorted l}) + +val empty (#a: eqtype) {| _: ordered a |}: + (t:leftist a{ to_list t = [] }) + +val isEmpty (#a: eqtype) {| _: ordered a |} (t:leftist a): + (b:bool{ b <==> to_list t = [] }) + +val singleton (#a: eqtype) {| _: ordered a |} (k:a): + (s:leftist a{to_list s = [k]}) + +val merge_heaps (#a: eqtype) {| _: ordered a |} (t1 t2:leftist a): + (t:leftist a{ to_list t = merge (to_list t1) (to_list t2) }) + +val insert (#a: eqtype) {| _: ordered a |} (x:a) (t:leftist a): + (t':leftist a{ to_list t' = merge [x] (to_list t) }) + +val get_min (#a: eqtype) {| _: ordered a |} (t:leftist a{ ~(isEmpty t) }): + (x:a{ x = Cons?.hd (to_list t) }) + +val delete_min (#a: eqtype) {| _: ordered a |} (t: leftist a{~(isEmpty t)}): + (t':leftist a{to_list t' = Cons?.tl (to_list t) }) \ No newline at end of file diff --git a/examples/data_structures/Lens.fst.hints b/examples/data_structures/Lens.fst.hints index 29bea161d6e..9e18cad0c96 100644 --- a/examples/data_structures/Lens.fst.hints +++ b/examples/data_structures/Lens.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c6418521eeae3ce591591c6bc968bff" + "97eb0fb8a1dd6b25379bbb3983aa96ca" ], [ "Lens.rgb", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bef8497fef384ef421e4c15cfeb4cfc" + "c2df80552420e4967339eb87a599a2c8" ], [ "Lens.colored", @@ -37,7 +37,7 @@ 1, [ "@query", "assumption_Lens.rgb__uu___haseq" ], 0, - "f4419f9f4230566b9fda5a45f84b35a1" + "a0fa35cb6292d3e6e52129ecf40a8323" ], [ "Lens.stlens", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9d23938a52e262a6050628d20f23073a" + "2afa4818429bd49210e3d12c2328a350" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a8c888fbd30f475e51dadff03277a55" + "7b6025783121b0638aa4a2006092c580" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bbba98d977c7105aabab1eadf1e873e" + "82e305e81ddb39b3c6c843139c20fdb8" ], [ "Lens.st", @@ -97,7 +97,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_Lens.op_String_Access" ], 0, - "a900765fa92b8f5ea98ac814e70d3c60" + "f548f2712128e84f390de69622ba4d84" ], [ "Lens.op_Bar_Colon_Dot_Dot", @@ -123,7 +123,7 @@ "typing_Lens.op_String_Access" ], 0, - "142c1e07a07de87dd7c1240d5035419f" + "77c8e00f0f4dbaee6cd430655944f96f" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.Buffer.fst.hints b/examples/data_structures/LowStar.Lens.Buffer.fst.hints index a35fd908cb0..b2150a783eb 100644 --- a/examples/data_structures/LowStar.Lens.Buffer.fst.hints +++ b/examples/data_structures/LowStar.Lens.Buffer.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "43b586527ec85962f5f0e6e74509dbcd" + "723a7d9cba8db98e2303a456326038b2" ], [ "LowStar.Lens.Buffer.ptr", @@ -24,7 +24,7 @@ "true_interp" ], 0, - "22fb80410ea71480c757a91c84ac3a53" + "508d2712df31acd945e0e461a0d611e6" ], [ "LowStar.Lens.Buffer.view_type_of", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" ], 0, - "ffa5094ad56de563aba0e6628eb9b8be" + "7180437d2c21cae9554674c7055eb28f" ], [ "LowStar.Lens.Buffer.get_value_at", @@ -74,7 +74,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "2ad9bc6e3ded80dd67193d527abe0734" + "ad21154b195cd24cda3310453a6aa849" ], [ "LowStar.Lens.Buffer.put_value_at", @@ -109,7 +109,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "682cef290a13da8f7b6067e00c0423b4" + "1da6990d9998c0b1dfdaaad8919e3250" ], [ "LowStar.Lens.Buffer.as_seq", @@ -134,7 +134,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "65f61d7be00e6376d34a9cb7d115d617" + "425b03966dd840ea99a6e1c572cd8697" ], [ "LowStar.Lens.Buffer.id_lens", @@ -147,7 +147,7 @@ "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" ], 0, - "91d06031a8f8634c40e260acb5cfab0b" + "b7677bdae5742e8296ec9f87ae29b25e" ], [ "LowStar.Lens.Buffer.mk", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "621445dcc0ffbbb117e90b8dc61f0283" + "6aa4fb84aa56cd1c0d62ab7366c88834" ], [ "LowStar.Lens.Buffer.mk", @@ -272,7 +272,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "119b5371da0acddcd3fa69b4bb54d496" + "cffca995545ae843c66f9bac6fec0c88" ], [ "LowStar.Lens.Buffer.elim_inv", @@ -330,7 +330,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "6e2d7befa33bcf07a4df40d8328d5138" + "4903ac9b407f7a29f211f3b1f94e353b" ], [ "LowStar.Lens.Buffer.elim_inv", @@ -402,7 +402,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "5a31045e20b467cd188851c53f507e75" + "103104db60a358a9ac66d226253042c6" ], [ "LowStar.Lens.Buffer.index", @@ -443,7 +443,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "7b95a1d5f13a0f554e3baa49f1c4cdb4" + "0f79e1b691510657435522c9b35107f1" ], [ "LowStar.Lens.Buffer.upd", @@ -487,7 +487,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "6e700f0ce76351e736a1c6f2ec433e23" + "fbe002ef8547a680bcb67e78f0456452" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.Buffer.fsti.hints b/examples/data_structures/LowStar.Lens.Buffer.fsti.hints index 7811d993144..0346fd6097f 100644 --- a/examples/data_structures/LowStar.Lens.Buffer.fsti.hints +++ b/examples/data_structures/LowStar.Lens.Buffer.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "fbd535105ae617c83ff80603d8ab9249" + "3cce9f5799a182dd9867d4c955f355f2" ], [ "LowStar.Lens.Buffer.ptr", @@ -24,7 +24,7 @@ "true_interp" ], 0, - "7200383e4b020503e2b58d42d2049091" + "508d2712df31acd945e0e461a0d611e6" ], [ "LowStar.Lens.Buffer.view_type_of", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" ], 0, - "ee1ac2cfaf6d66a36f4055ff5d4de62f" + "7180437d2c21cae9554674c7055eb28f" ], [ "LowStar.Lens.Buffer.get_value_at", @@ -74,7 +74,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "889de9f21f991177d401bfd7ba4651bf" + "ad21154b195cd24cda3310453a6aa849" ], [ "LowStar.Lens.Buffer.put_value_at", @@ -109,7 +109,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "2070524453d99eaf55128d3b8c3d59f7" + "1da6990d9998c0b1dfdaaad8919e3250" ], [ "LowStar.Lens.Buffer.as_seq", @@ -134,7 +134,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "6fdbc8c4e0a0865ca786694b0ed72c84" + "425b03966dd840ea99a6e1c572cd8697" ], [ "LowStar.Lens.Buffer.id_lens", @@ -147,7 +147,7 @@ "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" ], 0, - "47054242e738e67bfe2bc0e3d8e4f7a5" + "b7677bdae5742e8296ec9f87ae29b25e" ], [ "LowStar.Lens.Buffer.mk", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "f1e830940c7422ba89a1520940aa9a17" + "6aa4fb84aa56cd1c0d62ab7366c88834" ], [ "LowStar.Lens.Buffer.elim_inv", @@ -213,7 +213,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "08f4715c0a00015c48f6bd6b8e3412ea" + "1d6b081af8db3d194f5c792603790f93" ], [ "LowStar.Lens.Buffer.index", @@ -254,7 +254,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "001e66d11e5296040c5e6812de8f71a9" + "0f79e1b691510657435522c9b35107f1" ], [ "LowStar.Lens.Buffer.upd", @@ -298,7 +298,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "53f2ddf53bab87474cc512f436d9e036" + "74200c43b62ac94e0df039fa237b1d7c" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.Tuple2.fst.hints b/examples/data_structures/LowStar.Lens.Tuple2.fst.hints index 5932ca02c8c..e6690c6f7da 100644 --- a/examples/data_structures/LowStar.Lens.Tuple2.fst.hints +++ b/examples/data_structures/LowStar.Lens.Tuple2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6715477c09d7972f66a2a4498eeef36f" + "60c8da0905dc923fcc29960233c2cc6d" ], [ "LowStar.Lens.Tuple2.mk", @@ -27,8 +27,7 @@ "equation_LowStar.Lens.imem_lens", "equation_LowStar.Lens.invariant_reads_loc", "equation_LowStar.Lens.put_modifies_loc", - "equation_LowStar.Lens.put_t", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", + "equation_LowStar.Lens.put_t", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_LowStar.Lens.hs_lens", "fuel_guarded_inversion_LowStar.Lens.lens", @@ -70,7 +69,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "6f273e00c649f822fc72b36568c693c7" + "affe1d427614ef0f3c32a7ff66537936" ], [ "LowStar.Lens.Tuple2.op_fst", @@ -132,7 +131,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "4b50ac83c1c15a8cd57fe3c0cca8fd1c" + "129d429b286adacfca22404fc0790baf" ], [ "LowStar.Lens.Tuple2.op_snd", @@ -193,7 +192,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "cc48e955c209791e0e455e136c5cfedc" + "6f9b258adbb9ef664f4f5d7f0d4de5b9" ], [ "LowStar.Lens.Tuple2.lens_fst", @@ -207,7 +206,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "f040c797242699f545a28757f01e2e47" + "da592ef5099e83deaa0cb22d2457da69" ], [ "LowStar.Lens.Tuple2.lens_snd", @@ -221,7 +220,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "fef0e5acce77948e4ff5161acb336435" + "31714ad636c2269af4a99a452896c9be" ], [ "LowStar.Lens.Tuple2.tup2_t", @@ -233,7 +232,7 @@ "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" ], 0, - "29cdb579c7b793fa5ef383c0c9663f15" + "7edb7f50477bdae9ad958850a088be6d" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", @@ -247,7 +246,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "2d680ec27381d3ab53390b5a593cc1ac" + "a5ce14301bcb11b99ad536597419f47d" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", @@ -264,7 +263,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "3e67911db7524b84f4b6bf2be8130fac" + "091b14f3e25f4dd6733ebd11eb7e856d" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", @@ -278,7 +277,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "9f35a376df2d8a6b73e3ef6bdb52b4c9" + "a3fa224017a8f809ff3f87d5d15dc373" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", @@ -295,7 +294,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "2050ae24564ac194dc711b9f0bcc5ffa" + "aa505408947f71157a70bcb9b1bff51b" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", @@ -309,7 +308,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "e7351dd0c41c137841d124b8fadd08a9" + "a3fa224017a8f809ff3f87d5d15dc373" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", @@ -326,7 +325,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "cc1887a9646cee1b13bbaca6e7fd0ba0" + "87e74a9a571c332c4c72ac9a3fdcc4c7" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", @@ -340,7 +339,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "e602fceab8f52b8b4547a0889ca3bb08" + "a3fa224017a8f809ff3f87d5d15dc373" ], [ "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", @@ -357,7 +356,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "97b7d05cb3fbcedd57054ab5330f4af6" + "3b2d47df516e2f84e57cfce431bda626" ], [ "LowStar.Lens.Tuple2.mk_tup2", @@ -430,7 +429,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "7612a2f1ae5a1e92a992cdd5278ffb01" + "5704e0af1371fb5bb57c30699cc0d69c" ], [ "LowStar.Lens.Tuple2.lens_of", @@ -444,7 +443,7 @@ "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" ], 0, - "602191ca4787d3908962f8d8874e2da2" + "b7115a0f53a438b3501bbca38faeb637" ], [ "LowStar.Lens.Tuple2.test_read_ptr_fst", @@ -509,7 +508,7 @@ "typing_tok_LowStar.Lens.Buffer.Pointer@tok" ], 0, - "3f7e27a1c1f19d91ea4803f8c6ec70bf" + "06d2001ae9cbf2c2e2fce6e45c966b1a" ], [ "LowStar.Lens.Tuple2.test_read_buf_snd", @@ -545,7 +544,7 @@ "typing_FStar.UInt32.v" ], 0, - "610b46b72012d2d365b9783a375b8789" + "f577d3e4102336ca29e05536762308d4" ], [ "LowStar.Lens.Tuple2.test_write_ptr_fst", @@ -614,7 +613,7 @@ "typing_tok_LowStar.Lens.Buffer.Pointer@tok" ], 0, - "94a4838041167f3e6a19759a62ab20b6" + "cda4a6a918a5ff3d7e56ee0527e74535" ], [ "LowStar.Lens.Tuple2.test_write_buf", @@ -650,7 +649,7 @@ "typing_FStar.UInt32.v" ], 0, - "f3af19d8d5c0594e988a1b7b607b16b4" + "f44c23beca3c26a0104912c07995acdc" ], [ "LowStar.Lens.Tuple2.elim_tup2_inv", @@ -727,7 +726,7 @@ "typing_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "3158669d8585ad4d77cbb81c3c1d1a42" + "c0813d3fb2628f71e036ba6d81ca1ce2" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.fst.hints b/examples/data_structures/LowStar.Lens.fst.hints index dace2e93a84..749a4fa6a53 100644 --- a/examples/data_structures/LowStar.Lens.fst.hints +++ b/examples/data_structures/LowStar.Lens.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_LowStar.Lens.inv" ], 0, - "57024991eeb40e0a24af96df3cd0eb0d" + "9721a208301cb5a2209ad77e2c197bce" ], [ "LowStar.Lens.LensST", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "2bc8b2d8e64e41941c9308a3e01f658f" + "718f4931e24b125917087521081d2416" ], [ "LowStar.Lens.reveal_inv", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "4dde192e28091206e0fef577cd0f5aad" + "32de3e46ab3fc1502aff7ca590df10b8" ], [ "LowStar.Lens.reveal_inv", @@ -39,7 +39,7 @@ "fuel_guarded_inversion_LowStar.Lens.hs_lens" ], 0, - "166506e299c84489c3302107a696f3a7" + "bcf7b8b2027ecb9a17f361427aa112b8" ], [ "LowStar.Lens.for_n", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "d156f01646214acf9a2f4800abfbfeb0" + "11dface11d1431b398f574c5f2c1a7a2" ], [ "LowStar.Lens.for_n", @@ -83,7 +83,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "2945c6c83d94aa7ae63dc3b4cd14b18c" + "0bc199126006ddaafa1163d9864667a9" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.fsti.hints b/examples/data_structures/LowStar.Lens.fsti.hints index ee33aa74e91..4d92912a3c2 100644 --- a/examples/data_structures/LowStar.Lens.fsti.hints +++ b/examples/data_structures/LowStar.Lens.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2a26d34baf0dd968ecd60ec04e45a4ca" + "6f0e314d3b206f8f39b8288653ffaccb" ], [ "LowStar.Lens.reveal_inv", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "d0e01b3a318b64d9c417eaf56e7b6e99" + "32de3e46ab3fc1502aff7ca590df10b8" ], [ "LowStar.Lens.for_n", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2572f41394f2e18a28f87043f7a4f4d2" + "11dface11d1431b398f574c5f2c1a7a2" ], [ "LowStar.Lens.for_n", @@ -61,7 +61,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "22b731988f78f8da001bfd0c94c5718d" + "0bc199126006ddaafa1163d9864667a9" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/MerkleTree.fst.hints b/examples/data_structures/MerkleTree.fst.hints index 83a4bef9e66..eb75962b64e 100644 --- a/examples/data_structures/MerkleTree.fst.hints +++ b/examples/data_structures/MerkleTree.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7e0deb7b3f9004d5d174caadcd925f4f" + "c23977d8e9d5eb0d76cac87c8582b869" ], [ "MerkleTree.mstring", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b247de7e772474ee227f437d4565d939" + "06ea470ed917d6b3980e92f0353a11fc" ], [ "MerkleTree.__proj__Base__item__n", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_3ab915087995f936a969050df0880d3c" ], 0, - "50b5374d1e31f29442421a76db737ee4" + "776745f51241d1142affb1fe31c09917" ], [ "MerkleTree.__proj__Concat__item__n", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" ], 0, - "812369c9697bcdf45a3b4d8192c59a4a" + "4df1b0e2a9aca7a05cf83d6c2dc69d16" ], [ "MerkleTree.__proj__Concat__item__s1", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" ], 0, - "d0bfa90f164cf2213efdc9274264f515" + "4895827d98f749185c4f3c9d819822e7" ], [ "MerkleTree.__proj__Concat__item__s2", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" ], 0, - "141b5fe6e71a2a3c809f49d38f782682" + "78ca5a7c314ec4488e877f0a9c1d8c2b" ], [ "MerkleTree.mtree", @@ -90,7 +90,7 @@ "typing_MerkleTree.hash_size" ], 0, - "34c88d6917ed094b08d079ff7d2051be" + "fa963cc54997583f25dd8dfc2a21662d" ], [ "MerkleTree.mtree", @@ -109,7 +109,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "ff893c3de0a430ab57b598a0ea5a45e6" + "63040332e88f9d39b62f49bc7f2dda64" ], [ "MerkleTree.__proj__L__item__data", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" ], 0, - "90bf868b94241b21fedda85fcef600db" + "3fa3d7772d1273eb3c5a22400837d6af" ], [ "MerkleTree.__proj__N__item__n", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "2d02b24cddc3106fe761e1fb3ae7f361" + "63456caeb0cf1dd846e85b9e55015a8a" ], [ "MerkleTree.__proj__N__item__h1", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "ee3a76753910af7e9853dddaf05fa50e" + "25254e95f11bb2c93b482efeb19b1a24" ], [ "MerkleTree.__proj__N__item__h2", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "c8e972e74cf7a3de29e634772df1895f" + "459172cfc3f4f0a8f2ccbe41dff48411" ], [ "MerkleTree.__proj__N__item__left", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "d6a49ad94fcf30d002413211efa68da7" + "c4b1bc74bcc39c096d09602e728e40a6" ], [ "MerkleTree.__proj__N__item__right", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "0d5ca91e85b4451c5f5aea1f62372642" + "a6c2f66e5dd232f5ecd634480ed532ff" ], [ "MerkleTree.get_elt", @@ -218,7 +218,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "8d5eeb72759bcd00fcc04e192bde9de4" + "ecf75f6836806b461ac5e6eb34ba9635" ], [ "MerkleTree.proof", @@ -235,7 +235,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "40ff18d09efe9a2bea9a5ba8b0980251" + "0508c0ded8f52919231b3f4754dd0ef3" ], [ "MerkleTree.p_tail", @@ -258,7 +258,7 @@ "typing_MerkleTree.__proj__Mk_proof__item__pstream" ], 0, - "8bb8f129e4c21e6d65473423e17fb242" + "bc449ec1c19a11b29a36ce6f586b376a" ], [ "MerkleTree.verifier", @@ -272,7 +272,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "529bf2ca002a41c6c4fb37731266b93e" + "9d4426fb00a5c249f85e9e3439153043" ], [ "MerkleTree.verifier", @@ -286,7 +286,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30ed907223db4e52a7b2109c03aea4d6" + "8ce1b7bcceabf611ef834a52dc8a003d" ], [ "MerkleTree.verifier", @@ -330,7 +330,7 @@ "typing_MerkleTree.hash_size", "typing_MerkleTree.lenp" ], 0, - "1918ff9be864ca21e5fbd81cd9c18667" + "948c299e20162a2c508aa2e97c9edd48" ], [ "MerkleTree.prover", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d6232cf4cf64d78dea56f34f791f1b3" + "1bd0a3eef0e6b93260612f4da8cb5094" ], [ "MerkleTree.prover", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2da45f0780ef3c2bd32b39e452b794e8" + "f38e92c28f24c084c4ca444be766d011" ], [ "MerkleTree.prover", @@ -381,6 +381,7 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MerkleTree.mtree", + "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", @@ -408,7 +409,7 @@ "typing_MerkleTree.p_stream" ], 0, - "17aee23919ff9663932181678489a878" + "c55149dbc256be1626d76faf19029496" ], [ "MerkleTree.correctness", @@ -426,7 +427,7 @@ "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" ], 0, - "5b3a5f81599dad888f25791e7fafe69f" + "9bc45db09adee7be51d7a37c54a92a45" ], [ "MerkleTree.correctness", @@ -444,7 +445,7 @@ "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" ], 0, - "04738e4e2fd38f8d9f08edf193d731f1" + "d28b261f6db44e519aea1d8a77b6fca9" ], [ "MerkleTree.correctness", @@ -508,7 +509,7 @@ "unit_inversion", "unit_typing" ], 0, - "eaf068eba26ee8c28068b580c19d93d6" + "57c6f88164ed35367e2566070322986e" ], [ "MerkleTree.hash_collision", @@ -523,7 +524,7 @@ "typing_MerkleTree.hash_size" ], 0, - "6d09e44655144ae480c2422922088edc" + "6809c6604347fedee64b1f05f49461c9" ], [ "MerkleTree.security", @@ -542,7 +543,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "5e4bd3cc162f8fd81604e4b3beb1c5bc" + "65aadafd25a8bb17f4dae44cd9209246" ], [ "MerkleTree.security", @@ -561,7 +562,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "9e7b03bb974ea02e807937da6c3da87d" + "657db0837bf641bfa34e05ffc9f957bc" ], [ "MerkleTree.security", @@ -634,7 +635,7 @@ "typing_MerkleTree.lenp" ], 0, - "ea60e6963bfd5e5194dcbc1d023c2f7d" + "ba861b6ff7f23449955382ecbffcb29a" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/RBTree.fst.hints b/examples/data_structures/RBTree.fst.hints index 45b251d7ff3..80e874a7804 100644 --- a/examples/data_structures/RBTree.fst.hints +++ b/examples/data_structures/RBTree.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "429f0df6742dacef1dfd66ae3a4a439a" + "d5de2b604257fc6a12862ed6c905cea6" ], [ "RBTree.__proj__T__item__col", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "44a5d321421820df9999c228baadc848" + "ec5113bc9eb003946ce01823e7d674f5" ], [ "RBTree.__proj__T__item__left", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "4db0a3ddfaf07a49e8db7f2674d72216" + "5e9827e1a39708e1484158f18cc178e5" ], [ "RBTree.__proj__T__item__key", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "6e3d0e920413f9600f9dd6948cedef75" + "51213b7d2e3dcc00e7376f80f94d0da6" ], [ "RBTree.__proj__T__item__right", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "47b0d541e46326306b57c1665c368722" + "544e8d5a931ce6f6378bd0b4ea63b0ef" ], [ "RBTree.color_of", @@ -75,7 +75,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b361ee3d783858023b4c127355ec1729" + "552bfe5b13c153e537d812bdcbcd20b3" ], [ "RBTree.black_height", @@ -99,7 +99,7 @@ "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "405ab057179ca4e0fca46b29c4915092" + "efad2d4e7557db20b8a832447a858459" ], [ "RBTree.min_elt", @@ -120,7 +120,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "3803aeb031b7f650bebf61cfd48c2847" + "50caf01cf9727c97f6fc4d440e3a72f7" ], [ "RBTree.max_elt", @@ -141,7 +141,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "c9e47ee25dfe32b3e3b15ae89c251058" + "577778a243695094780eb597fc994911" ], [ "RBTree.r_inv", @@ -150,7 +150,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "9d6dd58fad7700c6b920966c8461db09" + "d2bf35ef3dc1b872bb148d45e30a5698" ], [ "RBTree.c_inv", @@ -175,7 +175,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "35f97a52918960a8d86cc0dfe5e61446" + "f28b6e090b68b847f3d0a0364f11f3b6" ], [ "RBTree.k_inv", @@ -196,7 +196,7 @@ "typing_RBTree.uu___is_E", "typing_tok_RBTree.E@tok" ], 0, - "12318a040b746065208e4ad435165bbe" + "33364f10a9aa92d68c90204ad595ad42" ], [ "RBTree.in_tree", @@ -217,7 +217,7 @@ "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "36d783fb926198cf74135fd94cf5e6af" + "4c650763f582b5c008904151d460e407" ], [ "RBTree.not_c_inv", @@ -226,7 +226,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "d4ee908a3adfab1af4b6aaff326975f4" + "41f5c3b347e512bc6bf2ba4ad1db6d14" ], [ "RBTree.lr_c_inv", @@ -235,7 +235,7 @@ 1, [ "@query" ], 0, - "40c2b3b0f138838d556928c7a29dddac" + "000083f4ada8557282919ab8c843d5aa" ], [ "RBTree.pre_balance", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b5b7abd1c0206540b6cd3050554856b1" + "48761a6e46e72848bcdb1f0a47580d6d" ], [ "RBTree.post_balance", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11b48db882bdd2cdc22b73e5f87788b4" + "51d570b0a030226ad5af02c42cb3813a" ], [ "RBTree.balance", @@ -293,8 +293,9 @@ "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.R", - "constructor_distinct_RBTree.T", "constructor_distinct_Tm_unit", + "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", "data_typing_intro_RBTree.T@tok", "disc_equation_FStar.Pervasives.Native.None", @@ -315,8 +316,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_RBTree.color", "fuel_guarded_inversion_RBTree.rbtree_", "int_inversion", - "int_typing", "kinding_RBTree.color@tok", - "kinding_RBTree.rbtree_@tok", "lemma_FStar.Pervasives.invertOption", + "int_typing", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -339,13 +339,14 @@ "projection_inverse_RBTree.T_left", "projection_inverse_RBTree.T_right", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_870dc8a73b27151e0403bb23ded8a971", "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "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_FStar.Pervasives.Native.__proj__Mktuple4__item___4", + "token_correspondence_RBTree.max_elt.fuel_instrumented", "typing_RBTree.__proj__T__item__col", "typing_RBTree.__proj__T__item__left", "typing_RBTree.__proj__T__item__right", "typing_RBTree.black_height", @@ -356,7 +357,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "8aeabaccbc1506f4aa3b15cd7fb5f73c" + "9e042e7f2951721b750b936ab12716b4" ], [ "RBTree.ins", @@ -373,7 +374,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ec4e5b6384b96b261f3743aedc4901c5" + "ca0f29097f5da3538c91408f34328104" ], [ "RBTree.ins", @@ -390,7 +391,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "43f60635e0fca0727d995297ff91cd88" + "0f2e2f461fd0b0558425c8697e26289c" ], [ "RBTree.ins", @@ -471,7 +472,7 @@ "typing_RBTree.k_inv", "typing_tok_RBTree.E@tok" ], 0, - "4830de54bdec702198e5ff8f69578804" + "2d20b360edd79dca132d1add258d7283" ], [ "RBTree.make_black", @@ -520,7 +521,7 @@ "typing_RBTree.h_inv", "typing_RBTree.k_inv" ], 0, - "e5de0f92e2e32b6137a737ea7a7ccc8b" + "648d1b9076594dde81569969ab485f97" ], [ "RBTree.insert", @@ -534,7 +535,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "688911ad83dfa9470c078167fce290aa" + "c6fa27bf87b525a5c905d8ccaa0a8624" ], [ "RBTree.insert", @@ -554,7 +555,7 @@ "typing_RBTree.make_black" ], 0, - "c697dfd6b384af93b6bb0266b45a37bd" + "a51bbd699aeae246dd9da20d80a76f99" ], [ "RBTree.proj", @@ -566,7 +567,7 @@ "refinement_interpretation_Tm_refine_b9a9fc64f3ae46074f41960b319aa53f" ], 0, - "367baba2f6164cf49e988abbdadfae9d" + "3b9ccbf30b034bf63e4b198877bef4e6" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/RBTreeIntrinsic.fst.hints b/examples/data_structures/RBTreeIntrinsic.fst.hints index 01f9c264b45..c61e3105aa7 100644 --- a/examples/data_structures/RBTreeIntrinsic.fst.hints +++ b/examples/data_structures/RBTreeIntrinsic.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "aa3837542c906bc57241e523ba9aabc0" + "059a1a0b0fa3575ee3bd51e8ae44aaae" ], [ "RBTreeIntrinsic.rbnode", @@ -30,7 +30,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "c38ea337abc3275a5cb2e942032e01b5" + "f6653bd6d7e113b7e387aad056549ab7" ], [ "RBTreeIntrinsic.__proj__R__item__h", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" ], 0, - "a0d6eecf0e3e1f80b5d4936395e064c4" + "e339d728e6275dcadf7d3541d9193115" ], [ "RBTreeIntrinsic.__proj__R__item__left", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" ], 0, - "70cc7172464e6c06f155f8fe64306bc2" + "c804ac98f2a965c79f1f8886a17c76f7" ], [ "RBTreeIntrinsic.__proj__R__item__value", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" ], 0, - "8fd8ddce6d980a08b08db7cbc3af6017" + "17b3a3c2b302990e84a9c4c8b7113fc9" ], [ "RBTreeIntrinsic.__proj__R__item__right", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" ], 0, - "e6b3660be5359bc3ce8a83d86588fd76" + "9e7558279e754f461c991d94bfc16109" ], [ "RBTreeIntrinsic.__proj__B__item__h", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "247ea9fd1f9142fe27e525cf5020a848" + "fea15a85d89ee3690f136d6b083716fc" ], [ "RBTreeIntrinsic.__proj__B__item__cl", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "46e124ca485a3103970e41c40af942e4" + "8a6cbe9aa92fa38c59e1d3f7b2e03f9b" ], [ "RBTreeIntrinsic.__proj__B__item__cr", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "429096cbcb661ae9aed40990e1eb8d64" + "1f4ae0000fe12895598090227c2bc281" ], [ "RBTreeIntrinsic.__proj__B__item__left", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "d4264be7ab84c901dfe41462c6245501" + "412ee98387cf10d7dd779a8891bb75d3" ], [ "RBTreeIntrinsic.__proj__B__item__value", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "224cc362ae334f5626d2919fa5410353" + "746037b1275628d2ea3946921afb584a" ], [ "RBTreeIntrinsic.__proj__B__item__right", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" ], 0, - "db4d339f5c7665cf084685ad65f33db6" + "082aa47fcd98eb3a61a8b6808642b4f6" ], [ "RBTreeIntrinsic.reduceNode", @@ -182,7 +182,7 @@ "subterm_ordering_RBTreeIntrinsic.R" ], 0, - "ecd0c68d821ef4acdaec678cfbb90ffd" + "dcb4122b33c5e330b12db559cbc09831" ], [ "RBTreeIntrinsic.sorted", @@ -204,7 +204,7 @@ "subterm_ordering_RBTreeIntrinsic.R" ], 0, - "1643f4980592087fd4387338e4464f78" + "81b7acc53c62e43aeeaa7a68869e1d6a" ], [ "RBTreeIntrinsic.rbtree", @@ -222,7 +222,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "73da04363d615733cc2ba69e2a572eaf" + "cc392af1db77492b245862836a0945a0" ], [ "RBTreeIntrinsic.hiddenTree", @@ -235,7 +235,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c320fd7bd6e44d9cff4b6039da329e30" + "2ee1eaa9e1db808e0a9338c523281ab9" ], [ "RBTreeIntrinsic.hiddenTree", @@ -248,7 +248,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "06c890e8b6de3637a4a4a06d80f13833" + "2acfef8a1229d3fb8a4dc611b28d2337" ], [ "RBTreeIntrinsic.hiddenTree", @@ -262,7 +262,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "01fd2c6c0cb10dd2e4a1c2ce0564bf87" + "30b3e41b3924e80dcedd52bb3d5d1e3f" ], [ "RBTreeIntrinsic.hiddenTree", @@ -283,7 +283,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "78b2ef108b92a54b9c87c15cbef2de40" + "0bc6e167f9ec64b374609d3fe682b2a0" ], [ "RBTreeIntrinsic.__proj__HR__item__h", @@ -295,7 +295,7 @@ "refinement_interpretation_Tm_refine_fe5516b6f3a411ac6ed1aade1b670e1d" ], 0, - "f7ddccada0ea219276383a80eae88540" + "9f9b4e953a2023fb473e6aac0763678c" ], [ "RBTreeIntrinsic.__proj__HR__item__node", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_fe5516b6f3a411ac6ed1aade1b670e1d" ], 0, - "b4104110964c32876bebe7a4f31deac5" + "cb9b5b82116f570674d689cfc17ab082" ], [ "RBTreeIntrinsic.__proj__HB__item__h", @@ -319,7 +319,7 @@ "refinement_interpretation_Tm_refine_b1a7273a4d72e20375ad649ff728b871" ], 0, - "9efb09fcf246cc266cf7bef85484a18b" + "6a62117609e36fa83cc5714f0c44160f" ], [ "RBTreeIntrinsic.__proj__HB__item__node", @@ -334,7 +334,7 @@ "typing_RBTreeIntrinsic.__proj__HB__item__h" ], 0, - "64ff053206b6080c0745def85e78653e" + "657e11f9e2d1358af7f2ce95a073ed79" ], [ "RBTreeIntrinsic.__proj__HB__item__node", @@ -354,7 +354,7 @@ "typing_RBTreeIntrinsic.__proj__HB__item__h" ], 0, - "4e7e8559c2e119fd3bd88348a2dbc68f" + "99f2a23188d3f25f2eb8cab2e04ac3d0" ], [ "RBTreeIntrinsic.almostNode", @@ -373,7 +373,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "909eea6c5d920903fdda083942294fc6" + "29b26582f0fa579bc52ca23565411ff7" ], [ "RBTreeIntrinsic.__proj__LR__item__h", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" ], 0, - "a2a7c520ac1cee52e20154d4ba7f0f78" + "aa51cc5409bdb8e2686f9294358bc3e3" ], [ "RBTreeIntrinsic.__proj__LR__item__cR", @@ -397,7 +397,7 @@ "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" ], 0, - "0bd6ee87e1c8612fa593b998490dce50" + "dea00e8fbfec591231c1f9f85557348b" ], [ "RBTreeIntrinsic.__proj__LR__item__left", @@ -409,7 +409,7 @@ "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" ], 0, - "6c9611b89215f1a5e294b1c7a2abd6e4" + "7ec4114c7453d0a13ff24f9a83a3a12a" ], [ "RBTreeIntrinsic.__proj__LR__item__value", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" ], 0, - "061ad688e37085452dbcea77f2c89ebf" + "225997f0ec1dd4c34ad933b0f5f1c22c" ], [ "RBTreeIntrinsic.__proj__LR__item__right", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" ], 0, - "0e23728e8ce07b226fd13b4ab1176fd4" + "5bfe1be91c0ec723caa881b6198f8a3e" ], [ "RBTreeIntrinsic.__proj__RR__item__h", @@ -445,7 +445,7 @@ "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" ], 0, - "0cf6b71edbc7c371361a2983064e3320" + "948fb028cdac5b68a5f67a8358010fc6" ], [ "RBTreeIntrinsic.__proj__RR__item__cL", @@ -457,7 +457,7 @@ "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" ], 0, - "f59faa6bca2e331adc06d18ca492b36e" + "5f1e41ab3083ebecd2c6a809b1498371" ], [ "RBTreeIntrinsic.__proj__RR__item__left", @@ -469,7 +469,7 @@ "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" ], 0, - "606a514dbb7e4e681ac1f67f2ebfa117" + "714b169e13821061ca2b5e8ab111237d" ], [ "RBTreeIntrinsic.__proj__RR__item__value", @@ -481,7 +481,7 @@ "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" ], 0, - "58887fc06a35ff4db53f65a918dc3c82" + "97cad5a6f66d2b750d9e51b2291d1d26" ], [ "RBTreeIntrinsic.__proj__RR__item__right", @@ -493,7 +493,7 @@ "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" ], 0, - "d74f3f3c2d656ae3b9b5efc1c039bfc8" + "3959cc280abb0a30b0a5c3a622e3e0ee" ], [ "RBTreeIntrinsic.__proj__V__item__h", @@ -505,7 +505,7 @@ "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" ], 0, - "28f08e768df2c868e61797c1782b483f" + "f2b2135f4e7244f69e945d5c8d15e137" ], [ "RBTreeIntrinsic.__proj__V__item__c", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" ], 0, - "a0214e682658869170d8bed2a9b1c3d0" + "6624bde3656e064dc47ec1a84b951de5" ], [ "RBTreeIntrinsic.__proj__V__item__node", @@ -529,7 +529,7 @@ "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" ], 0, - "6b7cf4d49cc3c6c10e20fa89f6d16321" + "9481dff00b7562985917a9feb6b8d6fd" ], [ "RBTreeIntrinsic.balanceLB", @@ -542,7 +542,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ac08fcfbd7bd435246c272b1ba4a9313" + "5942f6e3a346aac45d15c7257ca63f3a" ], [ "RBTreeIntrinsic.balanceLB", @@ -589,7 +589,7 @@ "typing_RBTreeIntrinsic.__proj__RR__item__right" ], 0, - "dfb3843ee322bfd6803ad8a8dc1c41d7" + "2371b2a3ffd2c079146bc42a0d7a0c9a" ], [ "RBTreeIntrinsic.balanceRB", @@ -602,7 +602,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "14595e9766799179507cad6afe0ddad5" + "5ba43199944cd4d9a98510b47beda086" ], [ "RBTreeIntrinsic.balanceRB", @@ -648,7 +648,7 @@ "typing_RBTreeIntrinsic.__proj__RR__item__right" ], 0, - "6c69c993ded28e1c27dd7826e169178e" + "3bcd9aebb63fd5f7676c9a78193fa1b5" ], [ "RBTreeIntrinsic.balanceLR", @@ -673,7 +673,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fb8b07db24e264c3ff2645d218a277c2" + "5a5b6257874d7caa2734482db6b22dc6" ], [ "RBTreeIntrinsic.balanceRR", @@ -699,7 +699,7 @@ "typing_tok_RBTreeIntrinsic.Leaf@tok" ], 0, - "f2b4bfff18a3246e0ada6b65c2d61870" + "d84e2aacad04d50025fa51518a63f596" ], [ "RBTreeIntrinsic.ins", @@ -730,7 +730,7 @@ "typing_tok_RBTreeIntrinsic.Leaf@tok" ], 0, - "0401e3f65e0af068620eda72f08043b8" + "62e3b3932341082b67681c4a7a43a93f" ], [ "RBTreeIntrinsic.ins", @@ -755,7 +755,7 @@ "subterm_ordering_RBTreeIntrinsic.B" ], 0, - "b74c4849e79126a378e6530aee837cb5" + "4db915cf4fd6113bf4604688bd4224d1" ], [ "RBTreeIntrinsic.mem", @@ -777,7 +777,7 @@ "subterm_ordering_RBTreeIntrinsic.R" ], 0, - "30412a6e7e9ab81f11beebe2e82b23be" + "ed49014760a5e05eface38fd43928c55" ], [ "RBTreeIntrinsic.hiddenTree_mem", @@ -793,7 +793,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b06969670a9829433e17f72aa5180265" + "edbf4bc7702f51905c242086e240b3be" ], [ "RBTreeIntrinsic.almostNode_mem", @@ -810,7 +810,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "87cd204e25f44021d83325977d1cb6b9" + "afcbd7b6109c9abd02006775864d176b" ], [ "RBTreeIntrinsic.ins_mem", @@ -853,7 +853,6 @@ "data_elim_RBTreeIntrinsic.V", "data_typing_intro_RBTreeIntrinsic.B@tok", "data_typing_intro_RBTreeIntrinsic.Black@tok", - "data_typing_intro_RBTreeIntrinsic.Leaf@tok", "data_typing_intro_RBTreeIntrinsic.R@tok", "data_typing_intro_RBTreeIntrinsic.Red@tok", "disc_equation_RBTreeIntrinsic.B", @@ -923,7 +922,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" ], 0, - "4db1a49e35158b7cd61c91ffbe354daa" + "d497d0f328401ed8b27c282183c52ba4" ], [ "RBTreeIntrinsic.ins_mem", @@ -1010,7 +1009,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" ], 0, - "833145288869546dc372b67537e6bf8c" + "3b815f6358adfa0dfaf20c5afa415af8" ], [ "RBTreeIntrinsic.almostNode_sorted", @@ -1027,7 +1026,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "60e4e8530103b39c8123043fb90231dc" + "f12fb5a5eb589c00f6cb40d8e3039a9a" ], [ "RBTreeIntrinsic.hiddenTree_sorted", @@ -1043,7 +1042,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e45c1c96da9c2bef97c273af792d6390" + "5f40d45a8d26adb45a7cdade2ba05c8a" ], [ "RBTreeIntrinsic.hiddenTree_max", @@ -1059,7 +1058,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bcc361c19b664b08de630ba5d6d3f51c" + "961a9dd6562d1429d388291fcfe61e88" ], [ "RBTreeIntrinsic.hiddenTree_min", @@ -1075,7 +1074,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "36a14f0291ae0ee90d1a87d88da50dec" + "96b170940e766b6ddc67870adbfafc34" ], [ "RBTreeIntrinsic.almostNode_max", @@ -1101,7 +1100,7 @@ "typing_RBTreeIntrinsic.__proj__V__item__node" ], 0, - "9a8b52447c1af578c95762e80cc5401a" + "b397021f0220c4e004f3ee05023d4a77" ], [ "RBTreeIntrinsic.almostNode_min", @@ -1127,7 +1126,7 @@ "typing_RBTreeIntrinsic.__proj__V__item__node" ], 0, - "3ce5fc13586504184d052c9b23b6a4c4" + "e8209d3958558fb90af6c3825d6f1be8" ], [ "RBTreeIntrinsic.atLeast", @@ -1141,7 +1140,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7925333fb69120acef369efec2a791a8" + "dec0eac14f199cc434f26b0931912175" ], [ "RBTreeIntrinsic.atMost", @@ -1155,7 +1154,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e68cee587abb65ffec97bfc2d1c78363" + "c9a47aa9b727c83dfd8f3e5353eb063d" ], [ "RBTreeIntrinsic.global_upper_bound", @@ -1232,7 +1231,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" ], 0, - "75bb54d89212be8f7cc919740b5d56da" + "4cf9fca43888af07acc7bf49de1c780b" ], [ "RBTreeIntrinsic.global_lower_bound", @@ -1297,7 +1296,6 @@ "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_RBTreeIntrinsic.B_cl", "projection_inverse_RBTreeIntrinsic.B_cr", @@ -1325,7 +1323,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" ], 0, - "5241a7c7b30e5f9c8c2b6e99111e3b97" + "9c8e7023ae3873cc113cee506a797813" ], [ "RBTreeIntrinsic.mem_to_max", @@ -1398,7 +1396,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "fadbf106d5eace387837a706e76db977" + "9a6216332ec4f6245b732e449f6f3f36" ], [ "RBTreeIntrinsic.mem_to_min", @@ -1471,7 +1469,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "63a1286b929ac0a7a10a420fcc1ee909" + "cc607f3cb312690f183b7d2862b0beeb" ], [ "RBTreeIntrinsic.almostNode_mem_to_max", @@ -1538,7 +1536,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "8fa71c2943f124c519701d91c9d4c2ee" + "ce909cbaaf3f165752de6f50ee2cde5e" ], [ "RBTreeIntrinsic.almostNode_mem_to_min", @@ -1605,7 +1603,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "5a49ce8ccd0c23db605fa5ba6062faa6" + "370a08d72998e3887be780b5774f26a7" ], [ "RBTreeIntrinsic.hiddenTree_mem_to_max", @@ -1632,7 +1630,7 @@ "typing_RBTreeIntrinsic.hiddenTree_mem" ], 0, - "7234f9599d3e05705c9e60d88a27d077" + "89ee6201ea4324b698113d7d0252f3b2" ], [ "RBTreeIntrinsic.hiddenTree_mem_to_min", @@ -1659,7 +1657,7 @@ "typing_RBTreeIntrinsic.hiddenTree_mem" ], 0, - "b47a1179d6ab284246c89f8b22fba309" + "2d478be0ff3df93551ca001d1deea859" ], [ "RBTreeIntrinsic.ins_max", @@ -1668,7 +1666,7 @@ 1, [ "@query" ], 0, - "c33bdc9367198427bc59454e5a30a858" + "d5049c6c19e6bdf0e80c0126be23c3c3" ], [ "RBTreeIntrinsic.ins_min", @@ -1722,7 +1720,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "de36d3fdd7533117b4d6ff27d0b3484e" + "a671d77c99ffaebc019efd045e9b5beb" ], [ "RBTreeIntrinsic.insB_max", @@ -1731,7 +1729,7 @@ 1, [ "@query" ], 0, - "de56cea02c55b9e94463081a4bf9c313" + "55f03b0f89c7a96c07d97baa50cf2949" ], [ "RBTreeIntrinsic.insB_min", @@ -1740,7 +1738,6 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -1752,8 +1749,7 @@ "constructor_distinct_RBTreeIntrinsic.Red", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "data_elim_RBTreeIntrinsic.R", + "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.R", "data_typing_intro_RBTreeIntrinsic.Black@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1762,11 +1758,9 @@ "equation_Prims.nat", "equation_RBTreeIntrinsic.atLeast", "equation_RBTreeIntrinsic.hiddenTree_mem", "equation_RBTreeIntrinsic.max", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", @@ -1787,11 +1781,10 @@ "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" + "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "3759cca9f81d161af57e341371127209" + "049f9e88eac21b70236d07d618213201" ], [ "RBTreeIntrinsic.balanceLB_preserves_sort", @@ -1804,7 +1797,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "19dc1f8e85e2e3e7b537a520f95ad850" + "9ed9fef2b5017eb19918bf2f6694365b" ], [ "RBTreeIntrinsic.balanceLB_preserves_sort", @@ -1818,13 +1811,17 @@ "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", "@query", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", "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_RBTreeIntrinsic.B", "constructor_distinct_RBTreeIntrinsic.Black", "constructor_distinct_RBTreeIntrinsic.HB", @@ -1840,6 +1837,7 @@ "data_elim_RBTreeIntrinsic.V", "data_typing_intro_RBTreeIntrinsic.B@tok", "data_typing_intro_RBTreeIntrinsic.Black@tok", + "data_typing_intro_RBTreeIntrinsic.Leaf@tok", "data_typing_intro_RBTreeIntrinsic.Red@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1901,10 +1899,10 @@ "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", "typing_tok_RBTreeIntrinsic.Black@tok", "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" + "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" ], 0, - "5f97c47759f473cadad49954ea0f96de" + "7f3c289d69f1f03711ed47e0c5ce7e1c" ], [ "RBTreeIntrinsic.balanceRB_preserves_sort", @@ -1917,7 +1915,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0b9ef31bc916e504e1833c8e40b2d364" + "1a6b5cf94e8a9604dd67d7ac68b869d8" ], [ "RBTreeIntrinsic.balanceRB_preserves_sort", @@ -2021,7 +2019,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" ], 0, - "5a3ae7180b5e440feff402d74c9f25ca" + "e82a6e002f56851d8308ef72cb7315c4" ], [ "RBTreeIntrinsic.balanceLR_preserves_sort", @@ -2094,7 +2092,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "0617d0aa11b571b49d6d1869be79b4bc" + "6667fc75b8201aa65f4686032d2f1dfe" ], [ "RBTreeIntrinsic.balanceRR_preserves_sort", @@ -2166,7 +2164,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "3b33772c2b3611f3706142b2813c10d4" + "b1097d99f59469e7e17ba5080b47e0cc" ], [ "RBTreeIntrinsic.ins_preserves_sort", @@ -2264,7 +2262,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" ], 0, - "3b475191f157d9fab7baeaf3121f590b" + "638b61381b9c8c0743590c51215a3625" ], [ "RBTreeIntrinsic.ins_preserves_sort", @@ -2352,7 +2350,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" ], 0, - "7b52772838427c7385d2ea747bae3bc5" + "d943440cf66edd42b84d0c219054a258" ], [ "RBTreeIntrinsic.insert", @@ -2444,7 +2442,7 @@ "typing_tok_RBTreeIntrinsic.Red@tok" ], 0, - "f451c35f50b62c022153b6f1cfa915c6" + "7ee8b9c884b46682c6d58161e1a884bd" ], [ "RBTreeIntrinsic.insert_mem", @@ -2499,7 +2497,7 @@ "typing_tok_RBTreeIntrinsic.Black@tok" ], 0, - "0a23908875896dafe378bd877751c9e6" + "a9b2622728dff082b107793aae1f969f" ], [ "RBTreeIntrinsic.sanity_check1", @@ -2508,7 +2506,7 @@ 1, [ "@query" ], 0, - "314fcb2140806d8b5b57756e39b38fb7" + "c3bba5dc1c04ce8d7047468e03eb5979" ], [ "RBTreeIntrinsic.repeat", @@ -2527,7 +2525,7 @@ "string_inversion", "well-founded-ordering-on-nat" ], 0, - "24f880c574a072ebcae4fe57378126ea" + "720871efe64ebf30c90a18107b3f8c31" ], [ "RBTreeIntrinsic.node_to_string", @@ -2542,7 +2540,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "da584678c9fa100c71fe322e27b9c552" + "c2cbcf81f0e2b2824a86051d5ed6232a" ], [ "RBTreeIntrinsic.rbnode_to_string", @@ -2569,7 +2567,7 @@ "subterm_ordering_RBTreeIntrinsic.R" ], 0, - "9ddc5b6727a38f0cbcfea7260649f5f5" + "a9a57e6c84332c8fc859ded9c1966fef" ], [ "RBTreeIntrinsic.rbtree_to_string", @@ -2578,7 +2576,7 @@ 1, [ "@query" ], 0, - "6e5b7b9ae30a20097662102ce1be3941" + "25bd66ef18ffc2f42927e916510e8af5" ], [ "RBTreeIntrinsic.test", @@ -2599,7 +2597,7 @@ "typing_tok_RBTreeIntrinsic.Leaf@tok" ], 0, - "5ef7d248c50b425b57e5c8d25a17d13f" + "1f5914679993b01343643b0df8fedd3d" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/StatefulLens.fst.hints b/examples/data_structures/StatefulLens.fst.hints index 93896a18c27..220d5005461 100644 --- a/examples/data_structures/StatefulLens.fst.hints +++ b/examples/data_structures/StatefulLens.fst.hints @@ -22,7 +22,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "8c680c07260843e825728cbd1a31a0d7" + "5f54738a80ec1643728fc576c3d71f2d" ], [ "StatefulLens.as_stlens", @@ -44,7 +44,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "3e1bd775a3b78164beae8f37915a128a" + "c8182ed4cc3419617c006ac6f6a53ee6" ], [ "StatefulLens.stlens_ref", @@ -70,7 +70,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "735e4e5648b517827a6fbc26a868c840" + "1590d410a6265582869fa7c0ba4ba7e3" ], [ "StatefulLens.test0", @@ -90,7 +90,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__get" ], 0, - "cf8dc6eb0b7e4baae40cf7f6d3a965c5" + "bc0a7f93d539de9de187102d007238da" ], [ "StatefulLens.test1", @@ -128,7 +128,7 @@ "typing_FStar.ST.mref" ], 0, - "718acbf234fdf7231d0e9bd9fceb9baf" + "a1e2bf89ccfc16b418830786ffd78a43" ], [ "StatefulLens.test2", @@ -167,7 +167,7 @@ "typing_FStar.ST.mref" ], 0, - "161904c12711eb31aae8bdd05048b103" + "1b038779116b004d64a237552b97eddf" ], [ "StatefulLens.test4", @@ -206,7 +206,7 @@ "typing_FStar.ST.mref" ], 0, - "87f1c617e64eb83a430224f6dabc2d02" + "711f5d8eeb87689544ec18570f60d245" ], [ "StatefulLens.move_x", @@ -253,7 +253,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "eb0ffd26a463c2cd5669168c51711740" + "6639f84c1b6cb56cd49dd255d6b285bb" ], [ "StatefulLens.move_x2", @@ -295,7 +295,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "268e67bc804d0b8b1ecfd0c21df67aac" + "08c9be58849742387df4a3726a5642ae" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/Vector.fst.hints b/examples/data_structures/Vector.fst.hints index 270b8b6e6b5..485de791556 100644 --- a/examples/data_structures/Vector.fst.hints +++ b/examples/data_structures/Vector.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b549585602c8e4104b70a69c988430e4" + "008c9b0c063b5d2e5447c8a9ec444fbf" ], [ "Vector.vector", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a23db8b6ed7d3f50bbf08565f8a7e576" + "9f1435e572fa8ed32763d8fe58a30a18" ], [ "Vector.__proj__VCons__item__hd", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "b15c9146070a29879cccd34e1e788434" + "d9f0b37c20f7aebcbbc15e1c00ef1c6f" ], [ "Vector.__proj__VCons__item__n", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "7f5b81e4560e8b06d4729761e883a5a6" + "82d4fcdc389e2c7e73d03b30bdae131e" ], [ "Vector.__proj__VCons__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "242eac54cb74ec098a57bc6f72054914" + "1c5297c4064aded4373c8f35bb101f7a" ], [ "Vector.head", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "531459b9b93a858713db3a87555ea8ad" + "59fa7ad6c172c4ae994658ae1b2071ce" ], [ "Vector.head", @@ -81,7 +81,7 @@ 1, [ "@query" ], 0, - "bee580e5330c2ed6c6e9832902885181" + "59fa7ad6c172c4ae994658ae1b2071ce" ], [ "Vector.head", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bdc1a3c6247fdc9e49b5001a2bc7ffd7" + "83205d39220a33dbafd987c12e2b5576" ], [ "Vector.nth", @@ -121,7 +121,7 @@ "well-founded-ordering-on-nat" ], 0, - "d3db82b5009c7b18fc213e391b669d73" + "98ee0e7040d32cc8cfbe4addccfcb1bf" ], [ "Vector.append", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "224b3e490317b66b97170ee579e0f7cc" + "21bd429035853bd6866923f10bfab002" ], [ "Vector.append", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "40fb07e5d4ffac3ad7313f5ae006dfb4" + "a48fe338ae76c5f0735433b24790e5c7" ], [ "Vector.append", @@ -169,7 +169,7 @@ "well-founded-ordering-on-nat" ], 0, - "51895556ab441dc4c6b2152941c1f387" + "b9956df45725df839cb56480e361348f" ], [ "Vector.reverse", @@ -190,7 +190,7 @@ "well-founded-ordering-on-nat" ], 0, - "deb2d9690d57b9e89ebac2d480101ce3" + "023fa77cad7c32e125e9723b0c93cf1f" ], [ "Vector.mapT", @@ -211,7 +211,7 @@ "well-founded-ordering-on-nat" ], 0, - "bd6b0a34424e24d40a72bf5d4c33dec9" + "f2dbc9d9c6b23bc8d4973eebc715df29" ], [ "Vector.fold_left", @@ -231,7 +231,7 @@ "well-founded-ordering-on-nat" ], 0, - "ca29f3d799fcc4c37d30efcc0948b20d" + "78e62a3facc8e7216557e8a38308290a" ], [ "Vector.fold_right", @@ -251,7 +251,7 @@ "well-founded-ordering-on-nat" ], 0, - "4578a20d470d1220fc520726613dc32a" + "deeb26fe079f7f5339ec42c1fc76410b" ], [ "Vector.find", @@ -271,7 +271,7 @@ "well-founded-ordering-on-nat" ], 0, - "fa1d5874802b9af0aef29c27ba2bcb3e" + "5025f0a11df8796ce8371c477639416e" ], [ "Vector.zip'", @@ -294,7 +294,7 @@ "well-founded-ordering-on-nat" ], 0, - "1ea750b3fcba1fb9d7f620aba437db56" + "0d8e7e1251195d9ee61d38f0f5e6535a" ] ] ] \ 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 1be8af3d286..2cbee17e909 100644 --- a/examples/demos/low-star/Demo.Deps.fst.hints +++ b/examples/demos/low-star/Demo.Deps.fst.hints @@ -16,7 +16,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "bf6a48fc27904cee608416feee45a401" + "1f00ded6615c84be555a9296e2e52c75" ], [ "Demo.Deps.op_Array_Access", @@ -44,7 +44,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "8c93c9d1439e72f7ec1bb926509dc1a1" + "685ca5ee4c5d70a2d1ae23bb880a752e" ], [ "Demo.Deps.op_Array_Assignment", @@ -76,7 +76,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "c3bcc354ece6227353133d90614ab3a1" + "a2e39a49b378e915c2a30cebeff476db" ], [ "Demo.Deps.suffix", @@ -111,7 +111,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "9e2978ac1b1ebbd4bfdfef1bcc8c7d74" + "967233e11bb7caa78fba078002984f1d" ], [ "Demo.Deps.prefix_equal", @@ -141,7 +141,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "eff2c17e39e195e54ddb47d5db42fd24" + "282e569321aa33242561359899fe0300" ], [ "Demo.Deps.op_Plus", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a" ], 0, - "46a50426e4a42fb6d4839efa0336a683" + "d3d7b55efd91bb58b70dd6d248f4d156" ], [ "Demo.Deps.op_Subtraction", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_96104f38e479f81983a3384aab04876a" ], 0, - "e50306172743e2a9530fa5a726d7aa04" + "74ab8af442b520eae4b4bc2c1ea9dea1" ], [ "Demo.Deps.malloc", @@ -185,7 +185,7 @@ "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "76500c40c9a1d533ee125072e03d1abd" + "71e2a354ede4d76879402434da87dc7d" ], [ "Demo.Deps.free", @@ -194,7 +194,7 @@ 1, [ "@query" ], 0, - "f4c3b0491bb4e641cc7fffdb2604582c" + "e2461532c5f235c13bb20a8d3d81f5c9" ], [ "Demo.Deps.get", @@ -219,7 +219,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "b407b10a49df61f08ec661ba5114cdac" + "2abdc15b4b335ac5f305f5f01e1e90e6" ] ] ] \ 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 3784f460aa6..72b2201be83 100644 --- a/examples/demos/low-star/Demo.fst.hints +++ b/examples/demos/low-star/Demo.fst.hints @@ -34,7 +34,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "7c240e6c45da28f4c58a2c0315cb70be" + "1da188a3ffc48abbdad1bc147445151b" ], [ "Demo.copy3", @@ -88,7 +88,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "6d318b53bf735de75365ad1c07680f16" + "414381b0be67590e310fc5047aebde2c" ], [ "Demo.memcpy", @@ -153,7 +153,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "97a2e4f7f393515b9eafe8c7047f0e7f" + "b016182f9cf476991214f816a07fb7ee" ], [ "Demo.malloc_copy_free", @@ -233,7 +233,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "16e0c3c04ae6e096e7283db629bf0ec0" + "520bea547b6c1aa9fbe5c8ea38714d63" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.BasicIntST.fst b/examples/dm4free/FStar.DM4F.BasicIntST.fst index c1357e3a1d2..e7079b0d307 100644 --- a/examples/dm4free/FStar.DM4F.BasicIntST.fst +++ b/examples/dm4free/FStar.DM4F.BasicIntST.fst @@ -51,7 +51,7 @@ total reifiable reflectable new_effect { } -open FStar.Tactics +open FStar.Tactics.V2 //Re-define bind_elab with implicit parameters for easier use diff --git a/examples/doublylinkedlist/DoublyLinkedList.fst.hints b/examples/doublylinkedlist/DoublyLinkedList.fst.hints index bb949c910cb..1348ee7e736 100644 --- a/examples/doublylinkedlist/DoublyLinkedList.fst.hints +++ b/examples/doublylinkedlist/DoublyLinkedList.fst.hints @@ -22,7 +22,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "a2bf0be8162962f82a3243431ae4c0b7" + "633d326c069f88aa47b1377704a0882d" ], [ "DoublyLinkedList.op_At", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "2d48e0e6b8c375800254297098d6fd72" + "bb9ad5904e9c35229009db8ac35da4c2" ], [ "DoublyLinkedList.op_Hat_At", @@ -80,7 +80,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "d90ea728aedadb0071c43bb9e9404bd1" + "c63ac27a016bf41d6c7dc51f5ce28aa5" ], [ "DoublyLinkedList.__proj__Frag1__item___0", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_d56d2c22716a132051de7449f1f9f54c" ], 0, - "6840b9c567ebb62c4cd4569927d7f18a" + "866e4b0b8a21b26a8f628391e0bc2c29" ], [ "DoublyLinkedList.__proj__Frag2__item___0", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "46e0c0feaa098c2cf4b9451809bc004f" + "a0628a00558eb6c18b4f185fdcee342e" ], [ "DoublyLinkedList.__proj__Frag2__item___1", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "60b2089a860898efe9e082737b1b04d2" + "b678a6d9ba5e8dcfbb2ec6d19ed72536" ], [ "DoublyLinkedList.__proj__Frag3__item___0", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "304eb794ca6d6a1d319082ec77ec84bc" + "551d3f558f19d7451967c92695758d71" ], [ "DoublyLinkedList.__proj__Frag3__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "7ea64f045dd0170a7004698a0dbeec7a" + "402809d1ed1fe63b727ba563c8eb213e" ], [ "DoublyLinkedList.__proj__Frag3__item___2", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "fca9e66cd9068cf144653bc0e6fbc3cc" + "a5819287a7a518c4c212bcda2810c972" ], [ "DoublyLinkedList.empty_node", @@ -180,7 +180,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "fd6954287dce2f93949d1049d4c8ddeb" + "54fb6e59e3b8addedfff04e5a168c15d" ], [ "DoublyLinkedList.empty_list", @@ -196,7 +196,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "d9cbbc0925bd070c8a167cd9af001fb0" + "bb65eb960e6620eacf4c2d5091278468" ], [ "DoublyLinkedList.fragment_for_each0", @@ -212,7 +212,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "eb81e6893ccf65d499c1cf67a583bcd1" + "6724ba7dd290ff4d033a43a6692e872d" ], [ "DoublyLinkedList.fragment_for_each1", @@ -228,7 +228,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "84b81b189d2ec4be48979a20638026a4" + "4e2e9569477b40af5797b3e603b243ff" ], [ "DoublyLinkedList.fragment_length", @@ -244,7 +244,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "32e868228d74c4febae35b822013d33e" + "669efc97cca4437718789c0762e7ec7a" ], [ "DoublyLinkedList.dll_ghostly_connections", @@ -264,7 +264,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "71e7c778337ceb1879d4cfc54d1dd4b7" + "2290a42a006dc6b79bb0284cc56dd1d0" ], [ "DoublyLinkedList.piece_ghostly_connections", @@ -284,7 +284,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "af97b108f2a964345aa274ff9783f1bf" + "db7467b2e4aba2aa5660f859e74367b3" ], [ "DoublyLinkedList.nodelist_contained0", @@ -303,7 +303,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ed6779252da0ee42b848f8953418186e" + "1afcb242ab64b3cc3be06bdb6f1e00fb" ], [ "DoublyLinkedList.nodelist_fp0", @@ -319,7 +319,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5d9f89ae44fdac1df47554618790422f" + "cad0209b1fc400e20fce6b325ae1fa4e" ], [ "DoublyLinkedList.nodelist_fp_f", @@ -338,7 +338,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ad470662ed0e1d30bbc99698b06c25ed" + "588359f34090018fbe2b04e2109b5aae" ], [ "DoublyLinkedList.nodelist_fp_b", @@ -357,7 +357,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "11840784245a09deb261cf3bd00c4db7" + "10bfc49fa0a162cd97e3f09f4419ba81" ], [ "DoublyLinkedList.dll_fp_f", @@ -374,7 +374,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "692fe9376554b65df5ca54494a388118" + "ad939957bbea30aa488d5c39a6c14ed9" ], [ "DoublyLinkedList.dll_fp_b", @@ -391,7 +391,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "24d4b755d2c5825ff1cd8efb4213ae8d" + "e269cec207811ce7d047d89d02e5b19b" ], [ "DoublyLinkedList.fragment_fp0", @@ -408,7 +408,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "0e75049239940fd39ff35aa7de99feb4" + "23dfb4b9c4aa95619776cd7e3c4baa66" ], [ "DoublyLinkedList.loc_includes_union_l_nodelist_fp0", @@ -417,7 +417,7 @@ 1, [ "@query" ], 0, - "9e911455b4437c70bc4bf89a8a3b603b" + "e6bd04bd57cf6050df8f6742285d016e" ], [ "DoublyLinkedList.loc_includes_union_l_dll_fp0", @@ -426,7 +426,7 @@ 1, [ "@query" ], 0, - "35cd88e3440b6a4b955a9360f04e9bcb" + "238bef9ad7bb8e017c199813e4228109" ], [ "DoublyLinkedList.loc_includes_union_l_piece_fp0", @@ -435,7 +435,7 @@ 1, [ "@query" ], 0, - "25b80134f0f6eb8a11956ac667fb41d3" + "b5198cf638acffde96b686dfef1ca54b" ], [ "DoublyLinkedList.loc_includes_union_l_fragment_fp0", @@ -444,7 +444,7 @@ 1, [ "@query" ], 0, - "99aa33939acedd16b7fbf055e617836f" + "f9369a42e81eddbf4b00cce2e295c4c3" ], [ "DoublyLinkedList.loc_equiv_trans", @@ -453,7 +453,7 @@ 1, [ "@query", "equation_DoublyLinkedList.loc_equiv" ], 0, - "6737242c9bcc4e7de81916aa2153dd65" + "5ad8713a69eb4b7c311fba8564b9cdd8" ], [ "DoublyLinkedList.loc_equiv_union_union_loc", @@ -468,7 +468,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "3e0d8dd6501d34f5183a20b261489c6f" + "f62139c381ca48fd9fcfcab5f108778b" ], [ "DoublyLinkedList.nodelist_aa_r", @@ -484,7 +484,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e40d473282e354ab2f3e42e472075a5c" + "c2eee025234caead457331c26e93c0c9" ], [ "DoublyLinkedList.nodelist_aa_l", @@ -514,7 +514,7 @@ "well-founded-ordering-on-nat" ], 0, - "23ef1facdd686ea7c90785785207a401" + "ad2b39eb33d2bd2ff83d670be73bcba2" ], [ "DoublyLinkedList.fragment_aa_lr", @@ -531,7 +531,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "2c4f0554a70d052d83c8c7af019d620e" + "9b082bfaad2fca88387ed6253123b51b" ], [ "DoublyLinkedList.op_Bar_Greater", @@ -540,7 +540,7 @@ 1, [ "@query" ], 0, - "d1e0741be3f49f2bf422adf74d4c572d" + "1d3c256a82681a2a2acd0a49964f53b8" ], [ "DoublyLinkedList.op_Less_Bar", @@ -549,7 +549,7 @@ 1, [ "@query" ], 0, - "0b6c8a47c840291b9149b6f2c4f79309" + "094e05dd472a46e212fc7407231e0ff5" ], [ "DoublyLinkedList.nodelist_conn", @@ -579,7 +579,7 @@ "well-founded-ordering-on-nat" ], 0, - "7ad4cd70a4a1859cf58c172dbbd9e91f" + "6ca896af95fb95e092c38414d2b24a77" ], [ "DoublyLinkedList.dll_conn", @@ -622,7 +622,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "addce8e0c40ac842b546436de8266fc4" + "c4e69a62e4b7bd40d6e37a90f5124f3f" ], [ "DoublyLinkedList.unchanged_node_val", @@ -631,7 +631,7 @@ 1, [ "@query" ], 0, - "86bce7788428a431f606155907f66a1e" + "c7d16c106d8a1d7cdbbfb33a6d12f9dd" ], [ "DoublyLinkedList.unchanged_node_vals", @@ -655,7 +655,7 @@ "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok" ], 0, - "187c7fbf1542d5c364a0597b1a997c21" + "32ea0dd5c9fd5b52de1608cc8c6cc64f" ], [ "DoublyLinkedList.op_Equals_Bar_Greater", @@ -708,7 +708,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "a5b283e3bc5ba3e35bb2fc8e15163fe4" + "a26fe550246259bcec706d2213208ddc" ], [ "DoublyLinkedList.op_Less_Bar_Equals", @@ -760,7 +760,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "feac9af8d0d65c2b6a3936c941731e9b" + "e1ba7079f980cc56595839990819b81f" ], [ "DoublyLinkedList.op_Bang_Equals_Bar_Greater", @@ -814,7 +814,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "d5c850aafbd80fae768749662c2baf61" + "132750d3f240dadc394236d72d57aa8b" ], [ "DoublyLinkedList.op_Bang_Less_Bar_Equals", @@ -868,7 +868,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "b3c9a47e3ab76a6cace4d0c140720fb3" + "904ab17156199461b1eac80f26cba53e" ], [ "DoublyLinkedList.extract_nodelist_contained", @@ -877,7 +877,7 @@ 1, [ "@query" ], 0, - "33202f60452d590e367c7159261fb49a" + "792e160344506955794884b006b71dc5" ], [ "DoublyLinkedList.extract_nodelist_contained", @@ -928,7 +928,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "15300c8e7e41019bcdf99cf6ed5f4d11" + "a255be350463fd15a96735d461f8e53f" ], [ "DoublyLinkedList.extract_nodelist_fp0", @@ -937,7 +937,7 @@ 1, [ "@query" ], 0, - "36fb1c45cdc7530446094767ca78ed6d" + "df541c6167ad736f2528b79d1dcc763b" ], [ "DoublyLinkedList.extract_nodelist_fp0", @@ -989,7 +989,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "69b28b86c288e4b653c19c1b0d4b5408" + "ef8e675702e9bfbbe65341186b2c8c17" ], [ "DoublyLinkedList.extract_nodelist_aa_r", @@ -998,7 +998,7 @@ 1, [ "@query" ], 0, - "4ba8895c7d266760a7f59999d85f6b74" + "b7b791f65024b6c398aed63e7f01f1ad" ], [ "DoublyLinkedList.extract_nodelist_aa_r", @@ -1050,7 +1050,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "aa4205a4d0cb059c3ada322e8225a96d" + "ef988b5f613d09a880fd77d265bf5a81" ], [ "DoublyLinkedList.extract_nodelist_aa_l", @@ -1059,7 +1059,7 @@ 1, [ "@query" ], 0, - "75f12d2911599af694737f605f409057" + "89f5cd2eb3a61abaef6c62acd7ebdf1c" ], [ "DoublyLinkedList.extract_nodelist_aa_l", @@ -1116,7 +1116,7 @@ "typing_LowStar.Monotonic.Buffer.len", "well-founded-ordering-on-nat" ], 0, - "4e961166a13a37835031aa6cc4c5abc8" + "d822396bc53336e257b3fa7d5b89e24f" ], [ "DoublyLinkedList.extract_nodelist_conn", @@ -1131,7 +1131,7 @@ "refinement_interpretation_Tm_refine_f23bc90be14d59cff6c67f60e15ea076" ], 0, - "44c8721a80f3bbdc590f3f48762bfdf6" + "c944fb8738caa7d8dcf2d84d52cd6434" ], [ "DoublyLinkedList.extract_nodelist_conn", @@ -1206,7 +1206,7 @@ "typing_LowStar.Monotonic.Buffer.get", "well-founded-ordering-on-nat" ], 0, - "35af2aa6338e54412d55d02852c6f63a" + "e90afbe33ddede33ccfe292c9a1e18bb" ], [ "DoublyLinkedList.nodelist_remains_aa_l", @@ -1228,7 +1228,7 @@ "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "4ac6e58ef0ccfee009a234847fc9300a" + "74f5fa0246ab08f5d45d1573193dda70" ], [ "DoublyLinkedList.nodelist_remains_aa_l", @@ -1296,7 +1296,7 @@ "well-founded-ordering-on-nat" ], 0, - "c24d140857960b99a64f042fde58bf7b" + "266ec364af34dedc5bdc2bb9ebc2aca2" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_fp0", @@ -1310,7 +1310,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d458659262ec481051053e0281e48d7f" + "32cc93744675450b9aa9f0f5ea2683b7" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_fp0", @@ -1375,7 +1375,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "175a7c32b2734d57797c51491ea35928" + "7579229de7cea1ff6e4eac7895712e3e" ], [ "DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -1389,7 +1389,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a49753f74a64ab9112d1f2321caf82a5" + "e2ef9479327addcf85a443ceea04d67a" ], [ "DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -1450,7 +1450,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "a172ea94520d5f4ae3445a8fd06a027c" + "6a864f1a922f31ef0ccdad6c4411b139" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_contained", @@ -1462,7 +1462,7 @@ "refinement_interpretation_Tm_refine_aefc44a52511cc693b1ecde014774ead" ], 0, - "9f478f3f6488c65dcad8fd4016d6acbc" + "a39532a0e6b2a8e5be36c5fd9bfa3545" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_contained", @@ -1521,7 +1521,7 @@ "typing_FStar.Pervasives.Native.fst", "typing_LowStar.Buffer.pointer" ], 0, - "ff1b031d2b5ed8ca423d23be65859fe1" + "396b2edf250a3d45bab32719fc592fa1" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_aa", @@ -1533,7 +1533,7 @@ "refinement_interpretation_Tm_refine_d935250edfd06c6dbbbd4f0f7d3691f7" ], 0, - "c1a704b25b03006e5c8bdc1b9e911d7e" + "d15eb0650d1afff12083ffab121bbfbf" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_aa", @@ -1606,7 +1606,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "e7f85f5cdb982a7a0b71503f5d9e8648" + "878d77a0523f7014f8f6ac1271403389" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_conn", @@ -1618,7 +1618,7 @@ "refinement_interpretation_Tm_refine_74082ec34a751d59012dbf5fce664d85" ], 0, - "9e72a6a98f2fef1b6ca606abd8a0fff7" + "2b573c482a563b146bf24e452e6c806d" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_conn", @@ -1684,7 +1684,7 @@ "typing_LowStar.Monotonic.Buffer.get" ], 0, - "38119ffe446ac037c8f39d83252518af" + "c5c2edc6ce5bcdc6ab19a25a6bcd0b03" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_valid", @@ -1699,7 +1699,7 @@ "refinement_interpretation_Tm_refine_0f50d7658b0e192b1248a9b21728185d" ], 0, - "9436257193314bb1d924550aa76999df" + "0a2014f0f831f4f65542bfca4d4fb108" ], [ "DoublyLinkedList.nodelist_includes_r_fp0", @@ -1761,7 +1761,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "1a88c02cc9771b9554affe8dcc8db42c" + "13223608115ca75017b672e438f0362d" ], [ "DoublyLinkedList.nodelist_includes_l_fp0", @@ -1825,7 +1825,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "1e495a1b903a78c1ab0cd5a01f77f615" + "5548a4837d9c2d864fce01c45d763665" ], [ "DoublyLinkedList.tot_dll_to_piece", @@ -1884,7 +1884,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "29da060552ceab4b223adc218b48c4b3" + "991465225d93f3b80570a0fd3da36f36" ], [ "DoublyLinkedList.tot_dll_to_fragment", @@ -1933,7 +1933,7 @@ "true_interp" ], 0, - "523d13e4cbb9ec81f928a1cda0f7ec8a" + "3d8ec80297ecdad22325e90b0e173f47" ], [ "DoublyLinkedList.tot_piece_to_dll", @@ -1977,7 +1977,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "a3acbb51bb47464d8b1103c13c5e1717" + "43deb7d1b46bf077b9499e9a99b969a9" ], [ "DoublyLinkedList.nodelist_append_contained", @@ -2014,7 +2014,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "3bfc2682b06ae7d395af0699d9f7eb81" + "11aba676e94e78bccb3493d19f89d4a1" ], [ "DoublyLinkedList.nodelist_append_fp0", @@ -2059,7 +2059,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "bb8b369046af74d44f60006451c84a26" + "21cb88e8172a39c5f37d1dbb219b2e7a" ], [ "DoublyLinkedList.nodelist_append_aa_l", @@ -2119,7 +2119,7 @@ "well-founded-ordering-on-nat" ], 0, - "0f1cac53ba7d84c013f2489b61ab13b9" + "0c6eeb1d76faabfb6fec62c6e88891a9" ], [ "DoublyLinkedList.nodelist_append_aa_r", @@ -2165,7 +2165,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "9e47e4c0eec99ddf3033fb557e6fbae2" + "e2b9de5c405fe79722365fd0980757d1" ], [ "DoublyLinkedList.nodelist_append_aa", @@ -2174,7 +2174,7 @@ 1, [ "@query", "equation_DoublyLinkedList.nodelist_aa" ], 0, - "2b277c248607133a840c53cfab625025" + "f28ca9846a9310afaed9f6222f9511b1" ], [ "DoublyLinkedList.nodelist_append_conn", @@ -2207,7 +2207,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "0804e989817029476546681a65ac1694" + "da50b9deddda1f81b1251ad68e5396e2" ], [ "DoublyLinkedList.nodelist_append_conn", @@ -2288,7 +2288,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "f2a558dad1158e823f0240afdab5d756" + "a18007b854ecd26fec192b105a982122" ], [ "DoublyLinkedList.nodelist_append_valid", @@ -2312,7 +2312,7 @@ "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "0b05934267276e6e5645e4271ba42cf6" + "e881f882896c50cfb7d38172daee3fb2" ], [ "DoublyLinkedList.loc_includes_union_r_inv", @@ -2324,7 +2324,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_" ], 0, - "2907d6c2f1b178564d1a5654476a5500" + "c778046c85ecd78da2e46371efc12779" ], [ "DoublyLinkedList.piece_merge", @@ -2405,7 +2405,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "01ab08dbfc609671b809fca9addd4c59" + "e4a892e0461db8077d88d1b490dae4e3" ], [ "DoublyLinkedList.piece_merge", @@ -2467,7 +2467,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "a89815f78b5a4a00cb976dcad3bca3a3" + "c213bea9123fef9caf7b46ee0aebea94" ], [ "DoublyLinkedList.piece_merge_fp0", @@ -2549,7 +2549,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "c363fea2052a6c097d1f24075722dc3a" + "cf2a8995fe61fbbc3f90721067d702a3" ], [ "DoublyLinkedList.fragment_defragmentable", @@ -2618,7 +2618,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "8df5341054afd967f52950f8b01c75c0" + "ca58b8046ba7884c46a389d69e09367a" ], [ "DoublyLinkedList.single_piece_fragment_valid", @@ -2653,7 +2653,7 @@ "projection_inverse_DoublyLinkedList.Frag1_t", "true_interp" ], 0, - "fb94658c688f7a78e557ca67694924e0" + "d6f9e9c62bf2128c47047b1ca1451e8a" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -2669,7 +2669,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "1e008e97b49113bde126dd395a72c760" + "769c109b856215429836ad3b4e04dcf0" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -2808,7 +2808,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "828b82385d3d369ffb970da90aa89802" + "653498998e3f8c024bcd0d5081332967" ], [ "DoublyLinkedList.nodelist_split_contained", @@ -2848,7 +2848,7 @@ "unit_typing" ], 0, - "b221a3ee289236e6ccd4cb5b559c1264" + "656617529203ce1822f43b2f59819026" ], [ "DoublyLinkedList.nodelist_split_fp0", @@ -2918,7 +2918,7 @@ "unit_typing" ], 0, - "9dd180e648c491d9612de07680808553" + "a5db420215cae489de80d4acbb69c5eb" ], [ "DoublyLinkedList.nodelist_split_fp0_equiv", @@ -2965,7 +2965,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "14ccfd2af32ebb87ddd218fc2a544cb0" + "20734b33eed4e16f83b2f2b9a2d809dd" ], [ "DoublyLinkedList.nodelist_split_aa_l", @@ -3019,7 +3019,7 @@ "well-founded-ordering-on-nat" ], 0, - "8b35b801602cf1a5fd72e503e2570e52" + "00c468d39017d1fdc901763c9ef76373" ], [ "DoublyLinkedList.nodelist_split_aa_r", @@ -3062,7 +3062,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "f445f552508a5c4b3a78d2d88ebf5e8f" + "19ba80724d358886e142c41ff360688c" ], [ "DoublyLinkedList.nodelist_split_aa", @@ -3084,7 +3084,7 @@ "kinding_DoublyLinkedList.node@tok", "typing_LowStar.Buffer.pointer" ], 0, - "4ba47f9b9576b90e2f68d8f757061d03" + "42c947fbae2502c2173f58074ef5717a" ], [ "DoublyLinkedList.nodelist_split_conn", @@ -3116,7 +3116,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "7b99f62af4017fc649e99127963d0553" + "1f61778483bf519d64c59b27a02bfe44" ], [ "DoublyLinkedList.nodelist_split_conn", @@ -3189,7 +3189,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "a064855b3bcf2aa11182e303672ab086" + "c6ad51cbf1cba42eff69d1dd8ba2e932" ], [ "DoublyLinkedList.nodelist_split_valid", @@ -3223,7 +3223,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "eca3c258e0384f5782183acc4c99b406" + "dde809285f4c8be4151dde654d02e665" ], [ "DoublyLinkedList.dll_fp0_is_nodelist_fp0", @@ -3278,7 +3278,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "8e539386ce49fc8652230829d9511883" + "3a659070a199b9d2d672388210ca04b6" ], [ "DoublyLinkedList.piece_fp0_is_nodelist_fp0", @@ -3326,7 +3326,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "75e37788f5c504dbdfb03004a99b7e48" + "824665700689a563127e7c65e3baf83f" ], [ "DoublyLinkedList.tot_dll_to_fragment_split", @@ -3482,7 +3482,7 @@ "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" ], 0, - "c67a22278ff48fe4822f980233360c37" + "939ab63ab5ea3e669173018df8fabcee" ], [ "DoublyLinkedList.tot_node_to_dll", @@ -3555,7 +3555,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "5ce26bada5e094a9607738461ab3804b" + "90d8a70c282dd886f528a3ce645c60ea" ], [ "DoublyLinkedList.singleton_dll", @@ -3606,7 +3606,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "cfc481c78a6c5046e5339bfbbb71d0e5" + "25c9c4ccd6586a6853f807c079e2d013" ], [ "DoublyLinkedList.tot_node_to_piece", @@ -3686,7 +3686,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "55e327e911371ac5c6cc9e5ce10b3b8b" + "1ee74f026a6fdc04fe850298a2f885c7" ], [ "DoublyLinkedList.tot_piece_tail", @@ -3787,7 +3787,7 @@ "typing_Tm_abs_48cba56a704db0ed348fc817520f6956" ], 0, - "dea474a526037b179da276d89c1da9e3" + "aa31b3578038eba4fe63bc09f4017bce" ], [ "DoublyLinkedList.lemma_dll_links_contained", @@ -3880,7 +3880,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "0907623d7db041add797e49db1192a86" + "2932400540cce66ddf4d53435c3d7458" ], [ "DoublyLinkedList.lemma_dll_links_disjoint", @@ -4002,7 +4002,7 @@ "unit_typing" ], 0, - "dfc33dc8fd12452ae7b908c89baf91da" + "966e696f8337e76a28b9f24838084cf3" ], [ "DoublyLinkedList.nodelist_remains_valid", @@ -4095,7 +4095,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "650977bb63a2317ccca50ed6361334d0" + "c620cb4d4704e8db166f1f6bcfaf3956" ], [ "DoublyLinkedList.piece_remains_valid", @@ -4152,7 +4152,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "22e108b391268c3c8339fe86f1d98950" + "6a04a51b55aa9ee5c38732121c3f6e26" ], [ "DoublyLinkedList.piece_remains_valid_b", @@ -4260,7 +4260,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "3e8c4a37d49960c50d3721b0e7451b10" + "320058ba7906514d358ef4a827e106e6" ], [ "DoublyLinkedList.piece_remains_valid_f", @@ -4377,7 +4377,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "bed01db674c0e582fa18a4b2203a9571" + "c18c58c0fcedbaabba84d3ea85776f03" ], [ "DoublyLinkedList._auto_empty_dll", @@ -4408,7 +4408,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "8ba01dab4094c12cf3471a9d849b4174" + "ff37218b2035c1b7ddb3bf4a38bab969" ], [ "DoublyLinkedList.aux_unchanged_payload", @@ -4420,7 +4420,7 @@ "refinement_interpretation_Tm_refine_a7fdc201a8ae2706f0931690143bdf76" ], 0, - "3a862b782691fcd4ef18cf8ff8ca9e68" + "dc79a27a8c135adb7d9b37129d8e74f4" ], [ "DoublyLinkedList.aux_unchanged_payload", @@ -4486,7 +4486,7 @@ "well-founded-ordering-on-nat" ], 0, - "2e55e817599732977f7d6609f5723bb6" + "8706ee19dfda95add36803418415137e" ], [ "DoublyLinkedList.aux_unchanged_payload_nomod", @@ -4529,7 +4529,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "d35d42863cbfb3772a4116eafb3a463b" + "7af30948bdfc1fbb5f1e6091a7e23d0b" ], [ "DoublyLinkedList.aux_unchanged_payload_transitive", @@ -4561,7 +4561,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "c4ba53a11ff389e9114b675835e99182" + "7b8637ff3d7d9b67ffb5a7c53a29dc14" ], [ "DoublyLinkedList.aux_unchanged_payload_append", @@ -4597,7 +4597,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "206a0153f5f54325c23e671bd3aeabe8" + "6e90cc55f10249f0a17767976a474b57" ], [ "DoublyLinkedList.dll_insert_at_head", @@ -4763,7 +4763,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "02e0bfde8d8a0407254fcf66b3f9ca91" + "5b1b5d42ca1e3400e0c86cf802fd4abc" ], [ "DoublyLinkedList.dll_insert_at_tail", @@ -4960,7 +4960,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "51f87152fde32760cee07f361ed1c06e" + "cbcdd00378b04f85442f478f5739b52c" ], [ "DoublyLinkedList._l_insert_after", @@ -4987,7 +4987,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "6ba244f1ca5340d52f2de229b97bab15" + "26a4657cb10e09920c0249e68f4132c0" ], [ "DoublyLinkedList.dll_insert_after", @@ -5205,7 +5205,7 @@ "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "6acebf6b240609c8711cfb0ff54f1ed6" + "e24dd9afa4ac7d7ccd843d0da2dc3fd5" ], [ "DoublyLinkedList._l_insert_before", @@ -5217,7 +5217,7 @@ "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" ], 0, - "1f972a0ad235e01ba694661cd727e949" + "f5ad1d98c465c9ff53b0f0d3860e142d" ], [ "DoublyLinkedList.dll_insert_before", @@ -5353,7 +5353,7 @@ "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "9c60ab24b616ac35e109b9fbf60cd26a" + "621279f451fda9a03320f70b1d7fe8e3" ], [ "DoublyLinkedList.dll_remove_head", @@ -5525,7 +5525,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "f1c4d4efa24462aace1762c699255482" + "cf0848825fdfb663c1d4636b51f27ad5" ], [ "DoublyLinkedList._lemma_only_head_can_point_left_to_null", @@ -5547,7 +5547,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "7c449890c3dae30a1f9abb86ee7496e9" + "49e6b965a869805bd854b22fc99f2fb0" ], [ "DoublyLinkedList._lemma_only_head_can_point_left_to_null", @@ -5602,7 +5602,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "ec632295f944566ef226e0f060d39b70" + "c20d8083ea644640cce33b9786a7900b" ], [ "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", @@ -5624,7 +5624,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "6fc1751cfa92ab3d9a5c876ea806b2f2" + "167f014254f0508b7fb57f10c951cc93" ], [ "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", @@ -5690,7 +5690,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "405e4dab2eea759d15c20ee5bc53a14b" + "51e87c4b1a19cdb354dac15bc05ce0a0" ], [ "DoublyLinkedList._lemma_all_nodes_are_unique", @@ -5728,7 +5728,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "697af1b863a293d0463024c90d047800" + "d1541579c81d417b1228d1d0a593599b" ], [ "DoublyLinkedList._lemma_all_nodes_are_unique", @@ -5789,7 +5789,7 @@ "well-founded-ordering-on-nat" ], 0, - "80927dd0dd2f5eaad4c5a39b3d05b4ec" + "3741c26ad21d8cdff07db0019cf4596e" ], [ "DoublyLinkedList.dll_remove_tail", @@ -5971,7 +5971,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "e480c7b33d508b083b49abb355473efd" + "970149fcfea60bbe3cd0cabf243e2159" ], [ "DoublyLinkedList._l_remove_mid", @@ -5996,7 +5996,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "626d79d6e7f643ea036c5bdfeda9e622" + "5400bc3862dc1040f74cc471781b776a" ], [ "DoublyLinkedList.dll_remove_node", @@ -6109,7 +6109,7 @@ "unit_typing" ], 0, - "803e2c9fe3b4efb79ca744965c0339b3" + "d294b25119e2bdbb25ff062b6a506405" ], [ "DoublyLinkedList.dll_append", @@ -6262,7 +6262,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "a512b6c38b1a2cbaadb3ce458d5be949" + "ff0aa077542e86638783bf3d468058d3" ], [ "DoublyLinkedList.dll_split_using", @@ -6493,7 +6493,7 @@ "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" ], 0, - "6820c67258b6a23d6a83812257bbd798" + "4f2bd19833851245e7b8467957b78f07" ] ] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints index 217b2086643..a521dd2245b 100644 --- a/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "c9c2b8b694a994429f4f5234365944e1" + "0a6e0277eb19f339d63bd90fb3b882d9" ], [ "DoublyLinkedListIface.op_Hat_At", @@ -57,35 +57,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "fea7e73392205ba441f9b9eb38f8df0a" - ], - [ - "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, - "b4efbf9652f14dd19494651b266f08d4" - ], - [ - "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, - "725c8b2ae719f179a1654705d5d846ee" + "20692f7f3b20584f104e0078a2170ee7" ], [ "DoublyLinkedListIface.node_val", @@ -106,7 +78,7 @@ "typing_DoublyLinkedList.__proj__Mknode__item__p" ], 0, - "7bd8e89997ba8e7133f38eb3a9d2458a" + "27f348a6bb220e5216521c00ad27c15e" ], [ "DoublyLinkedListIface.node_of", @@ -164,22 +136,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "c182741a57d1481d1e4701994bd16144" - ], - [ - "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, - "0aef6ad5a08ffe278bcfd0fa6fd396d4" + "2f9614286fc983c60cfdf4f3cb9d72bc" ], [ "DoublyLinkedListIface.node_update", @@ -235,21 +192,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "35752ad32572b4ca467fe3547b4196ef" - ], - [ - "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, - "35dcb1def86d97eb4fc490b38a5f23e5" + "05020f841266fbf1c783d60f783500ce" ], [ "DoublyLinkedListIface.unchanged_node_vals", @@ -271,7 +214,7 @@ "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok" ], 0, - "3c9792d8649b61c23e7e6ab7435f9b94" + "63c566bfad4e122ae6813687587dfde2" ], [ "DoublyLinkedListIface.g_node_vals", @@ -289,7 +232,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "04883030de270a61862c1a670a5be7df" + "205a5a7cf8be717643f99794a6402f73" ], [ "DoublyLinkedListIface.dll_new", @@ -392,7 +335,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "143c891a1084e25b41319b45dfbec02e" + "624fea147a0561b3e0741ef3fdbef135" ], [ "DoublyLinkedListIface.is_empty", @@ -437,7 +380,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "cd1252a2cb3b840b64172a830836975a" + "81b824f04811806d9ee7001b08d2b243" ], [ "DoublyLinkedListIface.dll_head", @@ -457,7 +400,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "d2d495b117df1da10256fbdc3453bdb4" + "e2aac88b2694b9ed938a68b5a3fe6e29" ], [ "DoublyLinkedListIface.dll_head", @@ -503,7 +446,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "407104abb5b5a91399b74c1fa66591ac" + "a8f60c90a865f12d342cd0f85cb20cb9" ], [ "DoublyLinkedListIface.dll_tail", @@ -515,7 +458,7 @@ "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" ], 0, - "3b0a6a9b90c8365edec1f11a04fad182" + "f9e1245fabdcbe3e8af0b81c45a0954f" ], [ "DoublyLinkedListIface.dll_tail", @@ -558,7 +501,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "db2fa3e1efbd8a0eb74e71ab05d5f771" + "7a48c19bebad5250cd2c20080c788a57" ], [ "DoublyLinkedListIface.lemma_node_in_valid_dll_is_valid", @@ -577,7 +520,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "c420b58621633c7c2d4e66add929298f" + "e256a3cc5d47c8d38ea33a0b7b2c04fa" ], [ "DoublyLinkedListIface._lemma_nodelist_contained_in_unmodified_mem", @@ -621,7 +564,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "3233c0614667e5e1154c52349da5aa34" + "33160e80da00103225d3542a7849d014" ], [ "DoublyLinkedListIface._lemma_nodelist_conn_in_unmodified_mem", @@ -670,7 +613,7 @@ "unit_typing" ], 0, - "7bd15f676106a8a14e15d7ab444365b8" + "11d7956d710ebdc8596a2aecc791b535" ], [ "DoublyLinkedListIface._lemma_nodelist_disjoint_in_push", @@ -735,7 +678,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "6c05a620b6d7d826c3a05069d63369ea" + "65e247f9d198c8205cb55a5e0968e448" ], [ "DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", @@ -797,7 +740,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "2aea3f7206dd3c1cb1c5bf8d97361cf2" + "55d03afbc3b4b8d2e14c46d983385bf6" ], [ "DoublyLinkedListIface._lemma_dll_valid_and_unchanged_through_pop", @@ -865,7 +808,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "7de5151e04011a09c02a4809d2982f2d" + "e62474ef975900891be7eedb777bc9e4" ], [ "DoublyLinkedListIface._auto_dll_modified_with_push_pop", @@ -931,7 +874,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "a40c81ec6677df952ab87879a10c5786" + "54dc88ec33c23ee9470c225f1d5f0984" ], [ "DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", @@ -1016,7 +959,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "177d7b0b28d71814f2715536de432be4" + "4c2a2becab2c66c895e9945e232525e3" ], [ "DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", @@ -1062,7 +1005,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "d1db32452b93b2fc83f31cbc6018bd2c" + "00a08b8d0e3f60b15c454da63a37b0ae" ], [ "DoublyLinkedListIface._lemma_unchanged_node_vals_transitive", @@ -1093,7 +1036,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "354f4d47caab0dfd9759f4bde9d4a639" + "1b8cfb253f7031bd9149b665b270532e" ], [ "DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", @@ -1161,7 +1104,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "a119e273f2d7bf6cae08cbc3de389a1f" + "ac584f2ce9e54d90e326c3a7360aa10b" ], [ "DoublyLinkedListIface._auto_pred_nl_disjoint_push", @@ -1233,7 +1176,7 @@ "typing_LowStar.Monotonic.Buffer.loc_not_unused_in" ], 0, - "70bafac9481eea28bdbd8616223b3606" + "44cfa9df6a2c3265fa58af7779d46d56" ], [ "DoublyLinkedListIface._auto_unchanged_node_vals_DLL", @@ -1269,7 +1212,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "82668598ac81ec4a64f71b75b2aa2fa3" + "25d62caf6d67db80e031de57ec96974f" ], [ "DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", @@ -1323,7 +1266,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "6055120ca52bb2a0dd738a59dc0b77fe" + "ce4eafd728d0be50394d850b854cf98e" ], [ "DoublyLinkedListIface._lemma_unchanged_node_vals_when_disjoint", @@ -1371,7 +1314,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "3517a3fdf9c2a5a03ee1168033515014" + "3bb21d8c3b1deee75f369acaf87a38cb" ], [ "DoublyLinkedListIface._lemma_unchanged_node_vals_stays_valid0", @@ -1408,7 +1351,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "93020fb1443ebcc5d489618d9629e68f" + "4fb9ca992b770cea002d322e71051bfd" ], [ "DoublyLinkedListIface._lemma_node_in_list_is_included", @@ -1455,7 +1398,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "c93fc9a39d0d4bc9e105653efd95ad23" + "6d857839d1419bf650d8698855089587" ], [ "DoublyLinkedListIface._lemma_node_in_list_or_null_is_included", @@ -1500,7 +1443,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "a3eabcf2e570cacb45a95038f3bb64f1" + "4c396ffcef981dd8c4c911967e601e21" ], [ "DoublyLinkedListIface._lemma_prev_node_in_list", @@ -1585,7 +1528,7 @@ "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "30012f90a47661496601d2b3b6542411" + "6f821f40a1f4ba72f5b4c12702b0314c" ], [ "DoublyLinkedListIface._lemma_next_node_in_list", @@ -1645,7 +1588,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "b0de0198da3914df6c47655d66f875aa" + "17ecab374c3022b9f920311840b10445" ], [ "DoublyLinkedListIface._lemma_insertion_maintains_memP", @@ -1654,7 +1597,7 @@ 1, [ "@query" ], 0, - "aaa2aa6352ae822b5930c56938985eae" + "4e0aa70cb994fc673e56c448306df5b6" ], [ "DoublyLinkedListIface._lemma_insertion_maintains_memP", @@ -1710,7 +1653,7 @@ "typing_Prims.squash" ], 0, - "0f0b119d5364027e23b07eebcef426f4" + "0ab8f2156e0691bd51f87e100bbb80cd" ], [ "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", @@ -1719,7 +1662,7 @@ 1, [ "@query" ], 0, - "0b1a584163fa47d6123c93ae7c1f5006" + "924d803dca179dff7185ac39f7df3cc6" ], [ "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", @@ -1782,7 +1725,7 @@ "typing_Prims.eq2", "typing_Prims.squash" ], 0, - "5ca4d5b813a87abf5ca3eac49ccc10fa" + "99b6a355da8fa59a1ad73119a0881550" ], [ "DoublyLinkedListIface._lemma_unchanged_node_vals_maintains_changes", @@ -1821,7 +1764,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e0d545afb71426e1d9fa9a0384bf21e3" + "1772862162eb4873ff565a5a2908c6c4" ], [ "DoublyLinkedListIface._lemma_append_contains", @@ -1858,7 +1801,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "6a65ae9d299fff3f135251c693f1cbe8" + "c1feb32358c153805ee958e8628ad826" ], [ "DoublyLinkedListIface._lemma_append_g_node_vals", @@ -1893,7 +1836,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "96ffa4b06ac17578204df9c5adb9c6e9" + "db81814fcf8b75eb696a84456f8c02ac" ], [ "DoublyLinkedListIface._lemma_unchanged_node_vals_append", @@ -1928,7 +1871,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "97fc8a9c989cfc25001a34778a673354" + "4e385662749fb3f5a16cd5dc4a7c06d3" ], [ "DoublyLinkedListIface._lemma_extract_unchanged_node_val", @@ -1961,7 +1904,7 @@ "subterm_ordering_Prims.Cons", "typing_DoublyLinkedListIface.node" ], 0, - "2f57379dfa2a98bf9ec165ea7941dfa8" + "b4cc63e6b5aad2850769e837fb65fff8" ], [ "DoublyLinkedListIface._lemma_split_using_splitAt", @@ -1975,7 +1918,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3dc18e8d2ebb4f21490ddb9cde62ee2f" + "14d01104ed3d8b9baa1a149e7eadebb9" ], [ "DoublyLinkedListIface._lemma_split_using_splitAt", @@ -2032,7 +1975,7 @@ "typing_Prims.__proj__Cons__item__tl", "typing_Prims.eq2" ], 0, - "f71ec63217df4511b67d272519e39319" + "f7dd67c5d2e57df01aa4cfdfe448fc18" ], [ "DoublyLinkedListIface._lemma_length_g_node_vals", @@ -2046,7 +1989,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b5d7ea78983a3311cb5f12d32d75607d" + "531b899d8753a64a6a38335b1c04d2d5" ], [ "DoublyLinkedListIface._lemma_length_g_node_vals", @@ -2082,7 +2025,7 @@ "typing_DoublyLinkedListIface.node" ], 0, - "a0fc38edb25d2f295fcd777fee2a727d" + "63b9baba3e882b4e5bb6b65d6c77102f" ], [ "DoublyLinkedListIface.has_next", @@ -2094,7 +2037,7 @@ "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" ], 0, - "154b43341868be104d8e27ed6de1a366" + "826255e076fccb9183b29a21961e2fed" ], [ "DoublyLinkedListIface.has_next", @@ -2148,7 +2091,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "63f3c587e5b8ea669683f1008fd07823" + "799ed331e1483c905d7334d0bf167929" ], [ "DoublyLinkedListIface.has_prev", @@ -2160,7 +2103,7 @@ "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" ], 0, - "def455c48e1b2fc04ae7424cd00bc0e7" + "25397929e188e312b3e4dd474eb268d5" ], [ "DoublyLinkedListIface.has_prev", @@ -2237,7 +2180,7 @@ "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "fdc8d6c1d4ff1173a491ceb72245c367" + "8256768216cd13e3a509bfd52b091450" ], [ "DoublyLinkedListIface.next_node", @@ -2253,7 +2196,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "de7a6b8fdba9ae44f777519f6f0a321d" + "2cbbcdb340917dc23f60c9b4d7e32358" ], [ "DoublyLinkedListIface.next_node", @@ -2291,7 +2234,7 @@ "typing_FStar.List.Tot.Base.index" ], 0, - "cfbe5195c1d03f36bfce07beb8147ab3" + "08f7f72a198ba01c888f8e5314ac8ac4" ], [ "DoublyLinkedListIface.prev_node", @@ -2305,7 +2248,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "84e28d16fa21c44ecac24cce25512ac7" + "f17760060a52bff57e4ff44ab23307f0" ], [ "DoublyLinkedListIface.prev_node", @@ -2383,7 +2326,7 @@ "typing_LowStar.Buffer.trivial_preorder", "typing_Prims.eq2" ], 0, - "a7e483de73bcade7e7d17c49d2d5018f" + "e1493a5aef6a011857e124c3f13bbb35" ], [ "DoublyLinkedListIface.l_insert_before", @@ -2395,7 +2338,7 @@ "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" ], 0, - "952172f475308de63274998553ee9bb3" + "99629dfdca0709b370c223f8f12abb31" ], [ "DoublyLinkedListIface.l_insert_after", @@ -2422,7 +2365,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "e865f2d58eba2a6837deb830df0f4134" + "d1ec2dcd13765d017e2fa7844419a8be" ], [ "DoublyLinkedListIface.l_insert_after'", @@ -2441,7 +2384,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "22b98cc591af871cefb03be9955cc0a0" + "4f2daecc2ed3e56ca5243fba91086e10" ], [ "DoublyLinkedListIface.l_remove_head", @@ -2460,7 +2403,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "904cb346f6de38214fcb2aa36a212059" + "3c1c0fbdf71393457d48d5c93bfe40bc" ], [ "DoublyLinkedListIface.l_remove_mid", @@ -2485,7 +2428,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "f14e0bedfb4bf842de7a42e7a7960c2b" + "e033c61e3831a038bf5e27785fdd26aa" ], [ "DoublyLinkedListIface.l_remove_mid'", @@ -2506,7 +2449,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "42dd6d143dfe5ccc65e520e59937b4f8" + "ac7ba58d9ac704c22206e7b7e0fdf335" ], [ "DoublyLinkedListIface.dll_insert_at_head", @@ -2704,7 +2647,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "60c25e854279628ce752719e3b3a4639" + "c0d070b0e9bbec57637a7fa0d4ad54f6" ], [ "DoublyLinkedListIface.dll_insert_at_tail", @@ -2903,7 +2846,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "ab62908bc043a811898e658a36347b99" + "b89ed1d813c154a365a6a0be38d4a84b" ], [ "DoublyLinkedListIface.dll_insert_before", @@ -2915,7 +2858,7 @@ "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" ], 0, - "d67c32784757211df896f0c6d6d9db32" + "f4965e3812be021d4f46a10ac8394a4e" ], [ "DoublyLinkedListIface.dll_insert_before", @@ -3125,7 +3068,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "902148c901cc60c3b2d8508e4a180438" + "837d1d6e3d569b608b529fc92f987f2d" ], [ "DoublyLinkedListIface.dll_insert_after", @@ -3141,7 +3084,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "0e80e1731c3382e47983e7a2fe6e13c2" + "23381c825440a0b104bfe4ee6596f427" ], [ "DoublyLinkedListIface.dll_insert_after", @@ -3259,7 +3202,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "1bbefadf616c5df2e27640e41011c322" + "56b83a32aa3df8462908c19991ef500c" ], [ "DoublyLinkedListIface.dll_remove_head", @@ -3317,7 +3260,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "05d0d879affe3c6eb51a428ae79c9832" + "b061b0fe7f8daf475801df07bd371d85" ], [ "DoublyLinkedListIface.dll_remove_head", @@ -3414,7 +3357,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "684b8ea6c63f85425d253789e46cca5f" + "196d47a819e5d8a7c061e690bfa8a408" ], [ "DoublyLinkedListIface.dll_remove_tail", @@ -3471,7 +3414,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "ea01581410f59541906079c46a896639" + "70e7ca90abc1887c92068d7771eab101" ], [ "DoublyLinkedListIface.dll_remove_tail", @@ -3583,7 +3526,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "5c40e2302b78a94cc77e96cea9793ee2" + "2bfccfd0cfa8606696294ae787e6d27b" ], [ "DoublyLinkedListIface.dll_remove_mid", @@ -3614,7 +3557,7 @@ "typing_DoublyLinkedListIface.node" ], 0, - "1e260496acf5282d276aaa1459d25605" + "f3adb79433d4a2d3519ec88879754973" ], [ "DoublyLinkedListIface.dll_remove_mid", @@ -3737,7 +3680,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "196b0c309227a3f27f567191defa8422" + "4b905ab0b27de3bad38afbe4c03e8171" ], [ "DoublyLinkedListIface.dll_append", @@ -3824,7 +3767,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "90b57dc6e36b9abf0c9da54e521bdb01" + "d08e66e179b1001f0c671ba20ae7162a" ], [ "DoublyLinkedListIface.dll_split_using", @@ -3836,7 +3779,7 @@ "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" ], 0, - "0b40124ebfeb3acececd1fc79bd793f1" + "7e0a4021583ffe0ff9288730414c4eeb" ], [ "DoublyLinkedListIface.dll_split_using", @@ -4002,7 +3945,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "57fc6dc14dfa255a6a16e0da453357bd" + "f13dbd28146a7ceb670b0a7884c13ed2" ], [ "DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", @@ -4069,7 +4012,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "92e043622523efa8f8fd8048f34eeafe" + "9edb24a1f183a7a2d8adb496d809e97a" ], [ "DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", @@ -4089,7 +4032,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "2646d439a2ed071e9bf43579068d6e3a" + "7495d6162e1cb66b6017ddaaeef2224f" ], [ "DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", @@ -4119,7 +4062,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "b3dda7c52ce8dbb77477add101efd346" + "27f4cc271acc397160ecd93f31c4dbf9" ], [ "DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", @@ -4150,7 +4093,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "f311ef124d3d3ccdd97858b12ada3810" + "e16d218ec1ce055589f50640acb092ee" ], [ "DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", @@ -4221,7 +4164,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "cb09069ccc11728f1a11e7d6aaa632c3" + "e2d666d60ca722eecfb027fc5ad6a166" ], [ "DoublyLinkedListIface.auto_node_val_staying_unchanged", @@ -4243,7 +4186,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "d0d9596abd5308704268a12cf5cf7c23" + "16d25067c236069df7f91a6916160baf" ], [ "DoublyLinkedListIface.auto_node_in_list_is_included", @@ -4285,7 +4228,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "d097feb572df11ca23cbf459352c2ab3" + "505fc069291cf0cdf7340b92694f2d4a" ], [ "DoublyLinkedListIface.auto_node_in_list_is_valid", @@ -4304,7 +4247,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "d02a8c02295c2435f838606e68e19b94" + "4031204b4a8940432219198757a28110" ], [ "DoublyLinkedListIface.auto_unchanged_node_connections_list_unchanged", @@ -4348,7 +4291,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "8382d6fada39ef0a387fcd789abadf58" + "4bab07d4c90ec6e8b66edc4b35a5b3e5" ], [ "DoublyLinkedListIface.auto_unchanged_node_connections_dll_valid", @@ -4510,7 +4453,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "fabe84dece01888b6982e0410a12fdf3" + "4a5b2730bc0005515cf74432bcc9f99d" ], [ "DoublyLinkedListIface.auto_dll_push_pop", @@ -4529,7 +4472,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "d575e6e2ec5586be3cca3c89e4fdf7ec" + "7be3ed385f34815ca443af1f8e26e6ae" ], [ "DoublyLinkedListIface.auto_dll_fp_push_pop", @@ -4548,7 +4491,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "e3b3be8ea4c537402fe171b0b44bf4b5" + "0b2e6e7114ac3413cad9448382b8d7ac" ], [ "DoublyLinkedListIface.auto_dll_fp_disjoint_push", @@ -4561,7 +4504,7 @@ "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push" ], 0, - "074f6648bd33d90ca6cfe83fe81f934b" + "e3d07fa180741cb491acc8f40f7d3b08" ] ] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints index 1209bb08e7a..34f527f7506 100644 --- a/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints @@ -16,7 +16,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "4478e3a92a93876b7bdd93619efc3352" + "cb111d8d01fc1c4ed07423ef7a12642d" ], [ "DoublyLinkedListIface.dll_head", @@ -36,7 +36,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "1d089a0ad7225887c9d6833329db98c5" + "f50204401c43337493871fcc3f2bb023" ], [ "DoublyLinkedListIface.dll_tail", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" ], 0, - "0d7aa9731d165df980957d706e6ae707" + "7f8e32d91972de32b7a1a5f70ceb848e" ], [ "DoublyLinkedListIface.has_next", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" ], 0, - "0bbf8d3259c1e117811a5a39196e2273" + "8fdff67765b8a92c15ef987a1394a974" ], [ "DoublyLinkedListIface.has_prev", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" ], 0, - "109b5f2e9fc51f56885944a2e095a604" + "e21f0a61ded1d0cbec3fd6059d63e7ac" ], [ "DoublyLinkedListIface.next_node", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "a1613f23f4562ec7e6642966708b371e" + "247c07583bd4d8978a3b03576c87a0dd" ], [ "DoublyLinkedListIface.prev_node", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "8218ab8a63a17c7f17520e5ce1c537be" + "5943f47d5a82491ac19ccffbcbec69f7" ], [ "DoublyLinkedListIface.l_insert_before", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" ], 0, - "14ae7dbfdb616ca3baa19bc41e240e64" + "ca2f5b2e03e0e9c02444c3f35eeda519" ], [ "DoublyLinkedListIface.l_insert_after", @@ -141,7 +141,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "4de725d9ef2635063199a7c62a4d35d4" + "4d2e04a130da2f6447612f112a127496" ], [ "DoublyLinkedListIface.l_insert_after'", @@ -160,7 +160,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "bf927e3e0fa6f3e3288eeb67629d0aae" + "2d03b6cc8f70f126986650c283847c7a" ], [ "DoublyLinkedListIface.l_remove_head", @@ -179,7 +179,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "0d6f7f6d85a22e6f9e77e566eac46894" + "1ac205d993a828766fc6c3cc7e27a829" ], [ "DoublyLinkedListIface.l_remove_mid", @@ -204,7 +204,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "8b937caa386d263048c979b58f1db419" + "c72f458bd4625b811480c61dc0696e8e" ], [ "DoublyLinkedListIface.l_remove_mid'", @@ -225,7 +225,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "0348ac46efdb7ff29624fdcb83a9fde9" + "35ac4768bfa54fa880b90145aa1d4d8d" ], [ "DoublyLinkedListIface.dll_insert_before", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" ], 0, - "6c09e2e24d442b843b428567fd0a4433" + "16dae54b5b4565fe9ff2aa2fd5dc6564" ], [ "DoublyLinkedListIface.dll_insert_after", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" ], 0, - "c1df097664054de4583a9e77a371755a" + "aa97e1352119421ee030e6096e63e12d" ], [ "DoublyLinkedListIface.dll_remove_head", @@ -285,7 +285,7 @@ "typing_DoublyLinkedListIface.node" ], 0, - "7c09826b9138991a31cd0c4f46cdc765" + "8cc0bcba81ebe7920a6f9e696271810f" ], [ "DoublyLinkedListIface.dll_remove_tail", @@ -317,7 +317,7 @@ "typing_DoublyLinkedListIface.node" ], 0, - "69a0b7bfc696d27e49612de7b027ccf6" + "1400193a37763e54026f9d07cb9b378c" ], [ "DoublyLinkedListIface.dll_remove_mid", @@ -344,7 +344,7 @@ "typing_DoublyLinkedListIface.node" ], 0, - "d6f72eaa3a6702a44a8029eb05526c3f" + "d88f0acb98b418cd3826cfc9911cd257" ], [ "DoublyLinkedListIface.dll_split_using", @@ -356,7 +356,7 @@ "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" ], 0, - "7bf707ae0ef3c8e7a32d8a4c72788808" + "ae9a1ab027cca31e725e60d14e5e53cb" ] ] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/Example.fst.hints b/examples/doublylinkedlist/Example.fst.hints index 2733e86ce88..544c84771ad 100644 --- a/examples/doublylinkedlist/Example.fst.hints +++ b/examples/doublylinkedlist/Example.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "d95444121a1fcfbbc233147c1790c2e7" + "dfd96510966951f0fe5085cf9b604baa" ], [ "Example.reverse", @@ -130,7 +130,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "54a335502e32f3ce5cdde2171cb51893" + "dafd3b88a24b95c80e8c0940cf15e62a" ], [ "Example.main", @@ -250,7 +250,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "cd303072519e9e28a5e47afba7b47334" + "48cb46d067891b75163e48e509edabff" ] ] ] \ No newline at end of file diff --git a/examples/dsls/bool_refinement/BoolRefinement.fst b/examples/dsls/bool_refinement/BoolRefinement.fst index 6c6d1778145..be1988f1b1f 100755 --- a/examples/dsls/bool_refinement/BoolRefinement.fst +++ b/examples/dsls/bool_refinement/BoolRefinement.fst @@ -1,6 +1,6 @@ module BoolRefinement -module T = FStar.Tactics -module R = FStar.Reflection +module T = FStar.Tactics.V2 +module R = FStar.Reflection.V2 module L = FStar.List.Tot open FStar.List.Tot #push-options "--z3cliopt 'smt.qi.eager_threshold=100' --z3cliopt 'smt.arith.nl=false'" @@ -182,6 +182,7 @@ let rec close_exp_ln (e:src_exp) (v:var) (n:nat) | ELam _ e -> close_exp_ln e v (n + 1) | EApp e1 e2 -> close_exp_ln e1 v n; close_exp_ln e2 v n +#push-options "--z3rlimit 15" let rec open_exp_freevars (e:src_exp) (v:var) (n:nat) : Lemma ((freevars e `Set.subset` freevars (open_exp' e v n)) /\ (freevars (open_exp' e v n) `Set.subset` (freevars e `Set.union` Set.singleton v))) @@ -199,7 +200,8 @@ let rec open_exp_freevars (e:src_exp) (v:var) (n:nat) open_exp_freevars e2 v n | ELam t e -> open_exp_freevars e v (n + 1) - +#pop-options + let minus (s:Set.set 'a) (x:'a) = Set.intersect s (Set.complement (Set.singleton x)) let rec close_exp_freevars (m:int) (e:src_exp { ln' e m } ) (v:var) (n:nat) @@ -309,14 +311,13 @@ let rec elab_exp (e:src_exp) R.pack_ln (Tv_BVar bv) | EVar n -> - // tun because type does not matter at a use site - let bv = R.pack_bv (RT.make_bv n) in - R.pack_ln (Tv_Var bv) + let namedv = R.pack_namedv (RT.make_namedv n) in + R.pack_ln (Tv_Var namedv) | ELam t e -> let t = elab_ty t in let e = elab_exp e in - R.pack_ln (Tv_Abs (RT.mk_binder RT.pp_name_default 0 t R.Q_Explicit) e) + R.pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default t) e) | EApp e1 e2 -> let e1 = elab_exp e1 in @@ -341,14 +342,15 @@ and elab_ty (t:src_ty) let t2 = elab_ty t2 in R.pack_ln (R.Tv_Arrow - (RT.mk_binder RT.pp_name_default 0 t1 R.Q_Explicit) + (RT.mk_simple_binder RT.pp_name_default t1) (RT.mk_total t2)) //.pack_comp (C_Total t2 u_unk []))) | TRefineBool e -> let e = elab_exp e in + let b : R.simple_binder = RT.mk_simple_binder RT.pp_name_default RT.bool_ty in let bv = R.pack_bv (RT.make_bv 0) in let refinement = r_b2t (R.pack_ln (Tv_App e (R.pack_ln (Tv_BVar bv), Q_Explicit))) in - R.pack_ln (Tv_Refine bv RT.bool_ty refinement) + R.pack_ln (Tv_Refine b refinement) let elab_eqn (e1 e2:src_exp) : R.term @@ -487,7 +489,7 @@ and t_height #f (#g:src_env) (#t:s_ty) (d:src_ty_ok f g t) | OK_TArrow _ _ _ d0 d1 -> max (t_height d0) (t_height d1) + 1 | OK_TRefine _ _ d -> height d + 1 -module FTB = FStar.Tactics.Builtins +module FTB = FStar.Tactics.V2.Builtins let check_sub_typing (f:RT.fstar_top_env) (sg:src_env) @@ -603,51 +605,55 @@ let rec extend_env_l_lookup_bvar (g:R.env) (sg:src_env) (x:var) | hd :: tl -> extend_env_l_lookup_bvar g tl x //key lemma about src types: Their elaborations are closed +#push-options "--z3rlimit_factor 4 --fuel 8 --ifuel 2" let rec src_refinements_are_closed_core (n:nat) (e:src_exp {ln' e (n - 1) && closed e}) - (x:RT.open_or_close) - : Lemma (ensures RT.open_or_close_term' (elab_exp e) x n == elab_exp e) + (elt:RT.subst_elt) + : Lemma (ensures RT.subst_term (elab_exp e) (RT.shift_subst_n n [elt]) == + elab_exp e) (decreases e) = match e with | EBool _ -> () | EBVar _ -> () | EApp e1 e2 -> - src_refinements_are_closed_core n e1 x; - src_refinements_are_closed_core n e2 x + src_refinements_are_closed_core n e1 elt; + src_refinements_are_closed_core n e2 elt | EIf b e1 e2 -> - src_refinements_are_closed_core n b x; - src_refinements_are_closed_core n e1 x; - src_refinements_are_closed_core n e2 x + src_refinements_are_closed_core n b elt; + src_refinements_are_closed_core n e1 elt; + src_refinements_are_closed_core n e2 elt | ELam t e1 -> - src_types_are_closed_core t x n; - src_refinements_are_closed_core (n + 1) e1 x -and src_types_are_closed_core (ty:s_ty) (x:RT.open_or_close) (n:nat) - : Lemma (ensures RT.open_or_close_term' (elab_ty ty) x n == elab_ty ty) + src_types_are_closed_core t elt n; + src_refinements_are_closed_core (n + 1) e1 elt +and src_types_are_closed_core (ty:s_ty) (elt:RT.subst_elt) (n:nat) + : Lemma (ensures RT.subst_term (elab_ty ty) (RT.shift_subst_n n [elt]) == + elab_ty ty) (decreases ty) = match ty with | TBool -> () | TArrow t1 t2 -> - src_types_are_closed_core t1 x n; - src_types_are_closed_core t2 x (n + 1) + src_types_are_closed_core t1 elt n; + src_types_are_closed_core t2 elt (n + 1) | TRefineBool e -> assert (ln e); assert (closed e); ln_weaker e (-1) n; - src_refinements_are_closed_core (n + 1) e x + src_refinements_are_closed_core (n + 1) e elt +#pop-options let src_refinements_are_closed (e:src_exp {ln e && closed e}) - (x:RT.open_or_close) - : Lemma (ensures RT.open_or_close_term' (elab_exp e) x 0 == elab_exp e) + (elt:RT.subst_elt) + : Lemma (ensures RT.subst_term (elab_exp e) [elt] == elab_exp e) (decreases e) = ln_weaker e (-1) 0; - src_refinements_are_closed_core 0 e x + src_refinements_are_closed_core 0 e elt #push-options "--query_stats --fuel 8 --ifuel 2 --z3rlimit_factor 2" let rec elab_open_commute' (n:nat) (e:src_exp { ln' e n }) (x:var) : Lemma (ensures - RT.open_or_close_term' (elab_exp e) (RT.open_with_var x) n == + RT.subst_term (elab_exp e) (RT.open_with_var x n) == elab_exp (open_exp' e x n)) (decreases e) = match e with @@ -662,26 +668,25 @@ let rec elab_open_commute' (n:nat) (e:src_exp { ln' e n }) (x:var) elab_open_commute' n e1 x; elab_open_commute' n e2 x; let opening = RT.open_with_var x in - assert (RT.open_or_close_term' (elab_exp e) opening n == - R.(pack_ln (Tv_Match (RT.open_or_close_term' (elab_exp b) opening n) + assert (RT.subst_term (elab_exp e) (opening n) == + R.(pack_ln (Tv_Match (RT.subst_term (elab_exp b) (opening n)) None - [(Pat_Constant C_True, RT.open_or_close_term' (elab_exp e1) opening n); - (Pat_Constant C_False, RT.open_or_close_term' (elab_exp e2) opening n)]))) + [(Pat_Constant C_True, RT.subst_term (elab_exp e1) (opening n)); + (Pat_Constant C_False, RT.subst_term (elab_exp e2) (opening n))]))) | ELam t e -> calc (==) { elab_exp (open_exp' (ELam t e) x n); (==) {} elab_exp (ELam t (open_exp' e x (n + 1))); (==) { } - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) (elab_exp (open_exp' e x (n + 1))))); + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) (elab_exp (open_exp' e x (n + 1))))); (==) { elab_open_commute' (n + 1) e x } - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) - (RT.open_or_close_term' (elab_exp e) RT.(open_with_var x) (n + 1)))); - (==) { src_types_are_closed_core t (RT.open_with_var x) n } - RT.open_or_close_term' - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) (elab_exp e))) - RT.(open_with_var x) - n; + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) + (RT.subst_term (elab_exp e) RT.(open_with_var x (n + 1))))); + (==) { src_types_are_closed_core t (RT.open_with_var_elt x n) 0 } + RT.subst_term + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) (elab_exp e))) + RT.(open_with_var x n); } #pop-options @@ -695,19 +700,19 @@ let elab_open_commute (e:src_exp { ln' e 0 }) (x:var) let src_types_are_closed1 (ty:s_ty) (v:R.term) : Lemma (RT.open_with (elab_ty ty) v == elab_ty ty) [SMTPat (RT.open_with (elab_ty ty) v)] - = src_types_are_closed_core ty (RT.OpenWith v) 0; + = src_types_are_closed_core ty (RT.DT 0 v) 0; RT.open_with_spec (elab_ty ty) v let src_types_are_closed2 (ty:s_ty) (x:R.var) : Lemma (RT.close_term (elab_ty ty) x == elab_ty ty) [SMTPat (RT.close_term (elab_ty ty) x)] - = src_types_are_closed_core ty (RT.CloseVar x) 0; + = src_types_are_closed_core ty (RT.ND x 0) 0; RT.close_term_spec (elab_ty ty) x let src_types_are_closed3 (ty:s_ty) (x:R.var) : Lemma (RT.open_term (elab_ty ty) x == elab_ty ty) [SMTPat (RT.open_term (elab_ty ty) x)] - = src_types_are_closed_core ty (RT.open_with_var x) 0; + = src_types_are_closed_core ty (RT.open_with_var_elt x 0) 0; RT.open_term_spec (elab_ty ty) x let b2t_typing (g:RT.fstar_env) (t:R.term) (dt:RT.tot_typing g t RT.bool_ty) @@ -828,7 +833,7 @@ let rec rename_open' (x y:var) | EIf b e1 e2 -> rename_open' x y b n; rename_open' x y e1 n; - rename_open' x y e2 n + rename_open' x y e2 n | ELam t e -> rename_open' x y e (n + 1) @@ -940,10 +945,14 @@ let rec as_bindings_rename_env_append (sg sg':src_env) (x y:var) = match sg with | [] -> () | hd::tl -> as_bindings_rename_env_append tl sg' x y + +let rt_rename (x y:var) : RT.subst_elt = + RT.NT x (RT.var_as_term y) + #push-options "--query_stats --fuel 8 --ifuel 4 --z3rlimit_factor 10" let rec rename_elab_commute_core (m:int) (e:src_exp { ln' e m } ) (x y:var) (n:nat) : Lemma - (ensures RT.open_or_close_term' (elab_exp e) (RT.Rename x y) n == + (ensures RT.subst_term (elab_exp e) (RT.shift_subst_n n [rt_rename x y]) == elab_exp (rename e x y)) (decreases e) = match e with @@ -958,7 +967,7 @@ let rec rename_elab_commute_core (m:int) (e:src_exp { ln' e m } ) (x y:var) (n:n rename_elab_commute_core m e0 x y n; rename_elab_commute_core m e1 x y n | ELam t e -> - src_types_are_closed_core t (RT.Rename x y) n; + src_types_are_closed_core t (rt_rename x y) n; rename_elab_commute_core (m + 1) e x y (n + 1) #pop-options let rename_elab_commute (e:s_exp) (x y:var) @@ -983,7 +992,7 @@ let rename_as_bindings_commute_1 (b:either s_ty src_eqn) (x y:var) = match b with | Inl t -> assert (rename_binding b x y == Inl t); - src_types_are_closed_core t (RT.Rename x y) 0; + src_types_are_closed_core t (rt_rename x y) 0; RT.rename_spec (elab_ty t) x y | Inr (e0, e1) -> calc (==) { @@ -1046,7 +1055,7 @@ let core_subtyping_renaming (==) { as_bindings_append sg' ((x,b)::sg) } RT.extend_env_l f ((as_bindings sg')@(x, elab_binding b)::as_bindings sg); }; - let tok : squash (FTB.subtyping_token + let tok : squash (T.subtyping_token (RT.extend_env_l f ((as_bindings sg')@(x, elab_binding b)::as_bindings sg)) (elab_ty t0) (elab_ty t1)) @@ -1059,16 +1068,16 @@ let core_subtyping_renaming lookup_append_inverse sg sg' y; assert (None? (RT.lookup_bvar (RT.extend_env_l f ((as_bindings sg')@as_bindings sg)) x)); assert (None? (RT.lookup_bvar (RT.extend_env_l f ((as_bindings sg')@as_bindings sg)) y)); - let tok : squash (FTB.subtyping_token + let tok : squash (T.subtyping_token (RT.extend_env_l f (RT.rename_bindings (as_bindings sg') x y@(y, elab_binding b)::as_bindings sg)) (RT.rename (elab_ty t0) x y) (RT.rename (elab_ty t1) x y)) = FStar.Squash.map_squash tok (RT.subtyping_token_renaming f _ _ _ y _ _ _) in RT.rename_spec (elab_ty t0) x y; RT.rename_spec (elab_ty t1) x y; - src_types_are_closed_core t0 (RT.Rename x y) 0; - src_types_are_closed_core t1 (RT.Rename x y) 0; - let tok : squash (FTB.subtyping_token + src_types_are_closed_core t0 (rt_rename x y) 0; + src_types_are_closed_core t1 (rt_rename x y) 0; + let tok : squash (T.subtyping_token (RT.extend_env_l f (RT.rename_bindings (as_bindings sg') x y@(y, elab_binding b)::as_bindings sg)) (elab_ty t0) (elab_ty t1)) @@ -1076,7 +1085,7 @@ let core_subtyping_renaming rename_as_bindings_commute sg' x y; assert (RT.rename_bindings (as_bindings sg') x y == as_bindings (rename_env sg' x y)); - let tok : squash (FTB.subtyping_token + let tok : squash (T.subtyping_token (RT.extend_env_l f (as_bindings (rename_env sg' x y)@(y, elab_binding b)::as_bindings sg)) (elab_ty t0) (elab_ty t1)) @@ -1090,7 +1099,7 @@ let core_subtyping_renaming (==) {extend_env_equiv f ((rename_env sg' x y)@(y,b)::sg) } extend_env_l f ((rename_env sg' x y)@(y, b)::sg); }; - let tok : squash (FTB.subtyping_token + let tok : squash (T.subtyping_token (extend_env_l f ((rename_env sg' x y)@(y, b)::sg)) (elab_ty t0) (elab_ty t1)) @@ -1269,7 +1278,7 @@ let sub_typing_weakening #f (sg sg':src_env) | RT.Rel_subtyping_token _ _ _ tok -> let tok - : squash (FTB.subtyping_token + : squash (T.subtyping_token (extend_env_l f (sg'@sg)) (elab_ty t1) (elab_ty t2)) @@ -1285,7 +1294,7 @@ let sub_typing_weakening #f (sg sg':src_env) lookup_append_inverse sg sg' x; extend_env_l_lookup_bvar f (sg'@sg) x; let tok - : squash (FTB.subtyping_token + : squash (T.subtyping_token (RT.extend_env_l f (as_bindings sg'@(x, elab_binding b)::as_bindings sg)) (elab_ty t1) (elab_ty t2)) @@ -1299,7 +1308,7 @@ let sub_typing_weakening #f (sg sg':src_env) extend_env_l f (sg'@(x, b)::sg); }; let tok - : squash (FTB.subtyping_token + : squash (T.subtyping_token (extend_env_l f (sg'@(x,b)::sg)) (elab_ty t1) (elab_ty t2)) @@ -1431,10 +1440,6 @@ let bv_as_arg (x:R.bv) = let open R in pack_ln (Tv_BVar x), Q_Explicit -let var_as_arg (x:R.bv) - = let open R in - pack_ln (Tv_Var x), Q_Explicit - let apply (e:R.term) (x:_) : R.term = let open R in @@ -1444,7 +1449,8 @@ let mk_refine (e:R.term) : R.term = let open R in let ref = apply e (bv_as_arg bv0) in - pack_ln (Tv_Refine bv0 RT.bool_ty (r_b2t ref)) + let b = RT.mk_simple_binder RT.pp_name_default RT.bool_ty in + pack_ln (Tv_Refine b (r_b2t ref)) #push-options "--fuel 4" let apply_refinement_closed (e:src_exp { ln e && closed e }) @@ -1456,13 +1462,13 @@ let apply_refinement_closed (e:src_exp { ln e && closed e }) calc (==) { RT.open_term (r_b2t (apply (elab_exp e) (bv_as_arg bv0))) x; (==) { RT.open_term_spec (r_b2t (apply (elab_exp e) (bv_as_arg bv0))) x } - RT.open_or_close_term' (r_b2t (apply (elab_exp e) (bv_as_arg bv0))) (RT.open_with_var x) 0; + RT.subst_term (r_b2t (apply (elab_exp e) (bv_as_arg bv0))) (RT.open_with_var x 0); (==) { } - r_b2t (apply (RT.open_or_close_term' (elab_exp e) (RT.open_with_var x) 0) - (RT.open_or_close_term' R.(pack_ln (Tv_BVar bv0)) (RT.open_with_var x) 0, R.Q_Explicit)); - (==) { src_refinements_are_closed_core 0 e (RT.open_with_var x) } + r_b2t (apply (RT.subst_term (elab_exp e) (RT.open_with_var x 0)) + (RT.subst_term R.(pack_ln (Tv_BVar bv0)) (RT.open_with_var x 0), R.Q_Explicit)); + (==) { src_refinements_are_closed_core 0 e (RT.open_with_var_elt x 0) } r_b2t (apply (elab_exp e) - (RT.open_or_close_term' R.(pack_ln (Tv_BVar bv0)) (RT.open_with_var x) 0, R.Q_Explicit)); + (RT.subst_term R.(pack_ln (Tv_BVar bv0)) (RT.open_with_var x 0), R.Q_Explicit)); (==) { assume (RT.tun == RT.bool_ty) } //obviously a false assumption; but these bv_sorts need to go! r_b2t (apply (elab_exp e) (RT.var_as_term x, R.Q_Explicit)); } @@ -1525,7 +1531,7 @@ let rec soundness (#f:RT.fstar_top_env) RT.T_Const _ _ _ RT.CT_False | T_Var _ x -> - RT.T_Var _ (R.pack_bv (RT.make_bv x)) + RT.T_Var _ (R.pack_namedv (RT.make_namedv x)) | T_Lam _ t e t' x dt de -> let de : RT.tot_typing (extend_env_l f ((x,Inl t)::sg)) @@ -1634,7 +1640,7 @@ and src_ty_ok_soundness (#f:RT.fstar_top_env) : RT.tot_typing (RT.extend_env (extend_env_l f sg) x RT.bool_ty) arg_x RT.bool_ty - = RT.T_Var _ (RT.var_as_bv x) + = RT.T_Var _ (RT.var_as_namedv x) in let refinement = apply (elab_exp e) (arg_x, R.Q_Explicit) in let dr : RT.tot_typing (RT.extend_env (extend_env_l f sg) x RT.bool_ty) @@ -1643,7 +1649,7 @@ and src_ty_ok_soundness (#f:RT.fstar_top_env) = RT.T_App (RT.extend_env (extend_env_l f sg) x RT.bool_ty) (elab_exp e) (arg_x) - (RT.as_binder 0 RT.bool_ty) + (RT.mk_simple_binder RT.pp_name_default RT.bool_ty) RT.bool_ty _ de diff --git a/examples/dsls/bool_refinement/BoolRefinement.fst.hints b/examples/dsls/bool_refinement/BoolRefinement.fst.hints index 14d7af47760..29dca2c1ceb 100644 --- a/examples/dsls/bool_refinement/BoolRefinement.fst.hints +++ b/examples/dsls/bool_refinement/BoolRefinement.fst.hints @@ -1,5 +1,5 @@ [ - "½Òô„t¨\\ÅXl~\u0019£ô›", + "Caõ\u0006v\u00152²M}¡ÆÂ\u001a»€", [ [ "BoolRefinement.src_exp", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf6fcc9501b81e82f64d4830638eee9b" + "72677a179e4086ca284b14355d99d144" ], [ "BoolRefinement.__proj__EBVar__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_5beaab0a0cb822040b33b63094cfb182" ], 0, - "d7affed190c6bc6fbb8a32315dab1282" + "c9d7df60544373505e2d5b0a6d1ec287" ], [ "BoolRefinement.__proj__EVar__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_4f4cc18d7cb6b89788e0b876b116928f" ], 0, - "924899cd1902b1bf8d4630cd0d1b6042" + "742a0556959a6865fd781070849f3c52" ], [ "BoolRefinement.__proj__EBool__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_168c349dc86262956010318ffe13df05" ], 0, - "51904e5ed303237f351e04e8abb3c96d" + "9b8c89b047f44167ca73440e281cc9d0" ], [ "BoolRefinement.__proj__EIf__item___0", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" ], 0, - "8c42e0b839e7e40702ed273a7334dfd7" + "5c34224a604c8f07618d5896cf46c3b7" ], [ "BoolRefinement.__proj__EIf__item___1", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" ], 0, - "59b07587fc39270b5fd142a66b5e330c" + "b77cd0fa410edcbb1d12d7befc606bb1" ], [ "BoolRefinement.__proj__EIf__item___2", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" ], 0, - "84d79ed6b2f6c1c9b5be6c74b68d9fd1" + "92bd5af4275b54583f86c66237334d13" ], [ "BoolRefinement.__proj__ELam__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_74544a87820003d3da5fc1fceae92e9d" ], 0, - "5502a9b6099c6b092c997e8e1eca6391" + "c57c5ec6e069c5640e93a943dd82f258" ], [ "BoolRefinement.__proj__ELam__item___1", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_74544a87820003d3da5fc1fceae92e9d" ], 0, - "f13000b29ce5776a025532f58bd7bbf5" + "3a7423036e6f09844f7f8d7ae8213253" ], [ "BoolRefinement.__proj__EApp__item___0", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_de89ed353c809082f1a8ecece9de3d70" ], 0, - "98f562c514b501a7edf2b1f5bf489e17" + "793108c2f8af602e324db1af984bdff2" ], [ "BoolRefinement.__proj__EApp__item___1", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_de89ed353c809082f1a8ecece9de3d70" ], 0, - "af47f01b4577b6918c55a1a42da64634" + "20eede8a7e3ad10661cd395c4a5b1aa6" ], [ "BoolRefinement.__proj__TRefineBool__item___0", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_406527302c6da820ab7e3a285919847e" ], 0, - "d8beb6460e22c6871637170afebd369b" + "0a82400b3128351f537d203022614667" ], [ "BoolRefinement.__proj__TArrow__item___0", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_0453f9fb437ed8ab5533c3c97d51bf09" ], 0, - "52731b10312935045052946265de0d82" + "f3d4bda2bfb9b4d4bcdedb772b3bb4fb" ], [ "BoolRefinement.__proj__TArrow__item___1", @@ -170,7 +170,7 @@ "refinement_interpretation_Tm_refine_0453f9fb437ed8ab5533c3c97d51bf09" ], 0, - "92135d15c0eb074b838e9b59bb0e1b70" + "54d8fa9f2ed0e0166e8abb9febc1aaef" ], [ "BoolRefinement.size", @@ -196,7 +196,7 @@ "subterm_ordering_BoolRefinement.ELam" ], 0, - "86bac23b346f54416a4789520b74851a" + "f2599f95c66214b80f0a81f14c59842c" ], [ "BoolRefinement.freevars", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c977b11f9e5762bbbeea22db571e1c22" + "7629733bc432b9c736f28107e901501d" ], [ "BoolRefinement.freevars", @@ -243,7 +243,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "a3c73824d24a36281b60c464c41fabac" + "152e1be478fc3f20fe135c2d8732029f" ], [ "BoolRefinement.freevars", @@ -258,7 +258,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5eb9a394e437fb730e88da3e82618911" + "9f054fb5d60a0d23639a5036ad70ce0a" ], [ "BoolRefinement.freevars", @@ -284,7 +284,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "5abe509358134101e7a0698d7ed84853" + "8729311d0b4f5215ccd6949f7be120c8" ], [ "BoolRefinement.closed", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b271af8805d727af30186a6bb490278d" + "15d500052d075b1e52472c9605e82283" ], [ "BoolRefinement.closed", @@ -329,8 +329,9 @@ "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_exp", @@ -368,12 +369,12 @@ "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.uu___is_EVar", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "154d5f3cffe6c4d4bea59a08288e0be0" + "43c39476d83c959e8ed8ed20bf471a2e" ], [ "BoolRefinement.closed", @@ -388,7 +389,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5ab15e18382be121922df52912d48a9" + "d3d65fc3342faee7270daf0d57a25e2c" ], [ "BoolRefinement.closed", @@ -412,8 +413,9 @@ "disc_equation_BoolRefinement.TBool", "disc_equation_BoolRefinement.TRefineBool", "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_ty", "function_token_typing_Prims.int", @@ -433,11 +435,11 @@ "subterm_ordering_BoolRefinement.TRefineBool", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars_ty", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "3218d1c27a1651e1120be87bb7726bb7" + "2a2cc0c5ea6211bbdf108b860f8b61ad" ], [ "BoolRefinement.ln'", @@ -464,7 +466,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "9788f2c0e7b767e354f25ae821eecbd9" + "8a6d1ad761fddc811728dd14af8855ff" ], [ "BoolRefinement.ln'", @@ -489,8 +491,8 @@ "disc_equation_BoolRefinement.TBool", "disc_equation_BoolRefinement.TRefineBool", "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", @@ -510,11 +512,11 @@ "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.uu___is_TBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "34308f21c5082b51d40b808ba687f759" + "8b2de2d76066159b6fdacd7552d72c5d" ], [ "BoolRefinement.ln_weaker", @@ -565,7 +567,7 @@ "typing_BoolRefinement.ln_", "typing_BoolRefinement.uu___is_EBool" ], 0, - "90cc2bd44e2fd8975e53c9b31a6ea978" + "f0f6ed5a544d40a901528a4bbf883fad" ], [ "BoolRefinement.open_exp'", @@ -618,7 +620,7 @@ "subterm_ordering_BoolRefinement.ELam" ], 0, - "fa043e3e5a8f5021d89d38493a11e678" + "2bff8eccda77efae214ccacf669bebff" ], [ "BoolRefinement.close_exp'", @@ -670,7 +672,7 @@ "subterm_ordering_BoolRefinement.ELam" ], 0, - "2a2f3d92a7314e88f3e276531937d7ed" + "33680baf076cfde827dbc35d5ddf5a78" ], [ "BoolRefinement.open_close'", @@ -734,7 +736,7 @@ "typing_BoolRefinement.uu___is_EBool" ], 0, - "d31366de479ec669fc0affa040ed3cf7" + "0e6656cfad643b76476fc9dad704a3a9" ], [ "BoolRefinement.open_close", @@ -749,7 +751,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e85332da4f9825b5eedb6406f963381f" + "41340f27465f69570afa7113b5dd3591" ], [ "BoolRefinement.open_exp_ln", @@ -811,7 +813,7 @@ "typing_BoolRefinement.uu___is_EBool" ], 0, - "5748bc9634a92747148cae0b80ab04cd" + "56ee8e6a3adc507cae97ffe4a600767c" ], [ "BoolRefinement.close_exp_ln", @@ -870,7 +872,7 @@ "typing_BoolRefinement.uu___is_EBool" ], 0, - "9c15766d809662b2207df2679fffc8cd" + "00c2df9d80cab7c19762ecca747c2a97" ], [ "BoolRefinement.open_exp_freevars", @@ -885,13 +887,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bb6219528e152ede3ea41fe1e671635" + "4a65ffd8123064c852c5522e4d011931" ], [ "BoolRefinement.open_exp_freevars", 2, - 4, 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", @@ -915,9 +917,9 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", @@ -939,10 +941,10 @@ "projection_inverse_BoolRefinement.EVar__0", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_175b23fd08cf58f8832145d85f442416", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d2833a516d84f155a275fdb8b8e9b7b", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", @@ -950,11 +952,11 @@ "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", "typing_BoolRefinement.freevars", "typing_BoolRefinement.open_exp_", "typing_BoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "a011148084f8be9008c1e4203047814c" + "cd8b7b3094b8ef74b11341e8c3298681" ], [ "BoolRefinement.close_exp_freevars", @@ -969,7 +971,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "60b6a3fd45358db0c0e0f17ef718a92a" + "cd64b0afdb855b26a37d9b4b7d723f34" ], [ "BoolRefinement.close_exp_freevars", @@ -1004,8 +1006,9 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.minus", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.close_exp_.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", @@ -1036,9 +1039,9 @@ "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", + "refinement_interpretation_Tm_refine_53767227359f9f06f71535e3123132c8", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_f08a1269f104c2ca738c9669b0ee08a0", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", @@ -1048,13 +1051,13 @@ "typing_BoolRefinement.close_exp_", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.ln_", - "typing_BoolRefinement.minus", "typing_FStar.Reflection.Data.var", + "typing_BoolRefinement.minus", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "83bdb671fd6f867f75cbaf061f5b4a1f" + "974a55a5122ecdbdf11402bf6202fa3c" ], [ "BoolRefinement.lookup", @@ -1074,7 +1077,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3ea7c44c48a7b1231b6568d3aa9f509e" + "b1699a674dec2e121ff5b8ad255e0577" ], [ "BoolRefinement.src_env_ok", @@ -1090,7 +1093,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1d93a8c4a6c7245e462678cc96fda765" + "f5167c9b93a7ce6c05c1b4a7af278eea" ], [ "BoolRefinement.fresh", @@ -1110,7 +1113,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "66a8846d0e597ede408851ee3af2a307" + "bf1651722be5a61dbc1b4ffe1641187e" ], [ "BoolRefinement.fresh_not_mem", @@ -1149,7 +1152,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "7ae15d993b094c22193e752fff014c91" + "6eee3749160a58fafcb2b3248de074c5" ], [ "BoolRefinement.lookup_mem", @@ -1192,7 +1195,7 @@ "unit_typing" ], 0, - "346239ab2061a1a6df1db8179e9de23e" + "3d1c65a32986a5c8603fd47349aa9d9a" ], [ "BoolRefinement.fresh_is_fresh", @@ -1216,7 +1219,7 @@ "typing_BoolRefinement.fresh", "typing_BoolRefinement.lookup" ], 0, - "8efd2b049c2bdccb6c1d719bda67c1ce" + "c7db60e3dc7f4b1e23ec899726d87998" ], [ "BoolRefinement.elab_exp", @@ -1248,7 +1251,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "30b7484355147a449b29871085b23e07" + "c9c832606dfc24b9f41f92604801d8d3" ], [ "BoolRefinement.elab_exp", @@ -1270,7 +1273,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "2c743fa4bdf5b20d5605ed27fee53e29" + "ff6223939f4e2fef12f24b7875ccc089" ], [ "BoolRefinement.elab_binding", @@ -1287,7 +1290,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8a1b823c6a30b7c0ee3b1b5a79a64cff" + "962a69be453dc14c115d1a1a8d401a4b" ], [ "BoolRefinement.extend_env_equiv", @@ -1303,7 +1306,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "BoolRefinement_interpretation_Tm_arrow_a2c73be25deabd0aa2ce395c742dc9df", "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", @@ -1318,7 +1321,7 @@ "equation_BoolRefinement.extend_env_alt", "equation_BoolRefinement.extend_env_l", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", @@ -1328,7 +1331,7 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", "interpretation_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3", - "interpretation_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "interpretation_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1340,10 +1343,10 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_BoolRefinement.as_bindings", "typing_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae" + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe" ], 0, - "678f49c96fa5866cb2f5eec73224c979" + "5ac73bec004c7f7bf0999b3b7c0f297d" ], [ "BoolRefinement.extend_env_alt_append", @@ -1372,8 +1375,8 @@ "equation_BoolRefinement.extend_env_alt", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.bindings", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.bindings", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", @@ -1393,7 +1396,7 @@ "typing_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3" ], 0, - "6da1cec0ac64c59e7bc7be9567a5c8f0" + "793656ed8aeca008357f4ddfe4cfe222" ], [ "BoolRefinement.__proj__S_Refl__item__g", @@ -1405,7 +1408,7 @@ "refinement_interpretation_Tm_refine_826d1694ed3e02ed85441e1d3a258886" ], 0, - "99817af4a6e2e9391034a97275aa2cc6" + "4ddaa847b760c6ca92c42e50ce7f19f7" ], [ "BoolRefinement.__proj__S_Refl__item__t", @@ -1417,7 +1420,7 @@ "refinement_interpretation_Tm_refine_826d1694ed3e02ed85441e1d3a258886" ], 0, - "ef2da5c26f4b7b4d39a095f2a08b5215" + "1bee4434ecbff8c672d3f41cab7516b0" ], [ "BoolRefinement.__proj__S_ELab__item__g", @@ -1429,7 +1432,7 @@ "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" ], 0, - "2adc5e75e737a14921865a586a7ed9ac" + "8d750722de67892333206131cb785e83" ], [ "BoolRefinement.__proj__S_ELab__item__t0", @@ -1441,7 +1444,7 @@ "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" ], 0, - "bbc1a07798fb5e16f3d9d9ab75eb2769" + "bb32dd0cd111574881f8c300f203b29c" ], [ "BoolRefinement.__proj__S_ELab__item__t1", @@ -1453,7 +1456,7 @@ "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" ], 0, - "72601309fad320a40ad337f18ec7e29d" + "dfaa76635b32f379be77a0c37ae93d51" ], [ "BoolRefinement.__proj__S_ELab__item___3", @@ -1465,7 +1468,7 @@ "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" ], 0, - "b75bc0ee9a2fb4f11c4b56bc39482401" + "0cd3407e5da6280254bdf05106cda92f" ], [ "BoolRefinement.src_typing", @@ -1495,7 +1498,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "bc8bc76f32cde6298e99c584f4016b50" + "3874af64555a4eeed8c1bfc8d3499cd7" ], [ "BoolRefinement.src_typing", @@ -1523,7 +1526,7 @@ "typing_BoolRefinement.ln_ty" ], 0, - "09eb71ac3b53b0590530ec5f54ccee4b" + "2fb6dd3b680a6e4c70ef700ccc875e62" ], [ "BoolRefinement.src_typing", @@ -1547,7 +1550,7 @@ "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" ], 0, - "da5d2ad76e5c0d9d8dc635be74762ecb" + "af6f8b6f56b41964997b88a0bf2472cf" ], [ "BoolRefinement.src_typing", @@ -1564,7 +1567,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "38f42b07f431b684eabbebe9388e3a86" + "7164b19843bdb1197cfebbf3491d6b6a" ], [ "BoolRefinement.src_typing", @@ -1581,8 +1584,9 @@ "data_typing_intro_BoolRefinement.EBool@tok", "equality_tok_BoolRefinement.TBool@tok", "equation_BoolRefinement.ln", "equation_BoolRefinement.s_exp", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", "function_token_typing_Prims.int", @@ -1592,11 +1596,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", "typing_BoolRefinement.freevars", "typing_BoolRefinement.ln", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "cc2ee87b2340b1554d3a8e30cfd7b7dd" + "6e4db758473a16ed553476b019b598cd" ], [ "BoolRefinement.src_typing", @@ -1620,7 +1624,7 @@ "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" ], 0, - "c590615a2331c320a2691b6be076b832" + "b8bc2bd643e88d7289268a606f88a4c5" ], [ "BoolRefinement.src_typing", @@ -1635,7 +1639,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "56263b452c310cafad3db629fad00236" + "d8c81ec253e67dc9eb1f7600acbed108" ], [ "BoolRefinement.src_typing", @@ -1661,7 +1665,7 @@ "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" ], 0, - "060d57ba1558f7eaa62370d7484e18a5" + "55d2436701ff96f1858589588b92c2ab" ], [ "BoolRefinement.src_typing", @@ -1692,7 +1696,7 @@ "typing_BoolRefinement.lookup", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "e990acb24e86c37dc648044baf27a3d7" + "8d26f31abe5aac0338317ae6bfe9ab01" ], [ "BoolRefinement.src_typing", @@ -1709,7 +1713,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "5019c1cfc8103082ff0f984f875793c4" + "792ff40b8b6215c12ded9614b54223cd" ], [ "BoolRefinement.__proj__T_Bool__item__g", @@ -1721,7 +1725,7 @@ "refinement_interpretation_Tm_refine_88bdb3d0bffd1287de9d0e894f0a796a" ], 0, - "7208eb4828f251e883d419c79e73ae25" + "ca7006ebf7a8519e6b5daf439e5f0a98" ], [ "BoolRefinement.__proj__T_Bool__item__b", @@ -1733,7 +1737,7 @@ "refinement_interpretation_Tm_refine_88bdb3d0bffd1287de9d0e894f0a796a" ], 0, - "cfd47699124dd9df1dda71a799ea7e4e" + "5e8701785c8b11ec488a9af4505e527a" ], [ "BoolRefinement.__proj__T_Var__item__g", @@ -1745,7 +1749,7 @@ "refinement_interpretation_Tm_refine_db87d0f9eefa0bcb3263e8301521f248" ], 0, - "bd9a207e01a71ea445ea839ba052c3f9" + "7b1d7c61dc429c6508321a586b1143a7" ], [ "BoolRefinement.__proj__T_Var__item__x", @@ -1757,7 +1761,7 @@ "refinement_interpretation_Tm_refine_db87d0f9eefa0bcb3263e8301521f248" ], 0, - "3f9ac48676218c35596afd9e0f8cf5ac" + "73ef200d9983e4255405d87a60f73f8c" ], [ "BoolRefinement.__proj__T_Lam__item__g", @@ -1769,7 +1773,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "4e94706e4c187584bb364b18415fe493" + "d8dd22c712f77c9f387b530eeb64bcdc" ], [ "BoolRefinement.__proj__T_Lam__item__t", @@ -1781,7 +1785,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "d6e08a3b34adeb97346cb5c67629fe20" + "c1182d84b5c02f88aba0a72c6e4368bf" ], [ "BoolRefinement.__proj__T_Lam__item__e", @@ -1793,7 +1797,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "435578f7159c9c61588d17000b83c11a" + "96c853cda858a9eee6e266bd54fdd259" ], [ "BoolRefinement.__proj__T_Lam__item__t'", @@ -1805,7 +1809,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "243f77356c029d7ac7e237a9aa995a07" + "4665d525ec703ec75ff6784f673c50e2" ], [ "BoolRefinement.__proj__T_Lam__item__x", @@ -1820,7 +1824,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "357dd7e6d2b6745d393c051135a2fbcc" + "afb5a99ff5f308af4c5fb325b6865bd5" ], [ "BoolRefinement.__proj__T_Lam__item__x", @@ -1836,7 +1840,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "0ad7d42d3158cb63248c0b8085bfa98f" + "c251a1ca6a4cdc4a3a6fc789f3d52515" ], [ "BoolRefinement.__proj__T_Lam__item___5", @@ -1848,7 +1852,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "1c8d58c5279bfcb759ea1f23841c90df" + "3e68195e1c34e4bf06974e733a9fce8c" ], [ "BoolRefinement.__proj__T_Lam__item___6", @@ -1864,7 +1868,7 @@ "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" ], 0, - "b76397443b42b5795756c423fbadeff5" + "ba4ebe2a0b8fe73c2569fba7e08ff851" ], [ "BoolRefinement.__proj__T_App__item__g", @@ -1876,7 +1880,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "208f48780bc7bf6d95e98c9beec54d70" + "7753434217441c969f2b3e89d6b2aac2" ], [ "BoolRefinement.__proj__T_App__item__e1", @@ -1888,7 +1892,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "63b2f0e8d7b28d9a3c5bda0b32409a40" + "721815cac51e49ae768289dca81517fd" ], [ "BoolRefinement.__proj__T_App__item__e2", @@ -1900,7 +1904,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "9d69818a0a0138ff62e723f6cdac3ab9" + "4a45424e5985ef2c67e78a0f8c1e033c" ], [ "BoolRefinement.__proj__T_App__item__t", @@ -1912,7 +1916,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "896e27b91dddcafd2af47f05191afa7a" + "1fa276c74bbeeeafd2fc152f25ecabcd" ], [ "BoolRefinement.__proj__T_App__item__t'", @@ -1924,7 +1928,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "993dff341236d640b3769d0dbbffe8ff" + "084c0a6a35dcf6e6bc161f87fc2af750" ], [ "BoolRefinement.__proj__T_App__item__t0", @@ -1936,7 +1940,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "31d564d4e0e578bf8b3a138400462d9a" + "43a2b7067e3e601feee07b4d57974e40" ], [ "BoolRefinement.__proj__T_App__item___6", @@ -1965,7 +1969,7 @@ "typing_BoolRefinement.__proj__T_App__item__t" ], 0, - "f76fcb0344a853054bbca9629e3376f7" + "a3acd79f12cd6152cb3b29f0aad9da54" ], [ "BoolRefinement.__proj__T_App__item___6", @@ -2000,7 +2004,7 @@ "typing_BoolRefinement.ln_ty" ], 0, - "93e13da9d95c58e5b055ccc3198663a0" + "f2ac4d7c48ebfda2b98a9a45b1b92754" ], [ "BoolRefinement.__proj__T_App__item___7", @@ -2012,7 +2016,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "ee2bc3efaf62861fc02798217f3926c1" + "93c9b1a037e42afb9b8518f3c6bf9d8f" ], [ "BoolRefinement.__proj__T_App__item___8", @@ -2024,7 +2028,7 @@ "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" ], 0, - "1737de3f57b991ab567aceaac778382b" + "f12cc29deabad2e53c375bc306d2e4c9" ], [ "BoolRefinement.__proj__T_If__item__g", @@ -2036,7 +2040,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "892e6bab4f00f298215a516f213e6d43" + "44d4a33d185b96bbc4e2a017526a1171" ], [ "BoolRefinement.__proj__T_If__item__b", @@ -2048,7 +2052,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "ea29fba250272d2345fadb5ca43a8f9b" + "8f819148eb1f19b6d9a25937838d57af" ], [ "BoolRefinement.__proj__T_If__item__e1", @@ -2060,7 +2064,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "9ccbdd96acbc093530fe543f7b990cf7" + "7e26f2f08125ff5d542f8db3a2750512" ], [ "BoolRefinement.__proj__T_If__item__e2", @@ -2072,7 +2076,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "73a1bbbda34767bd2424751549e21cec" + "da927c49a0d87c51f30e2a826bc1e1ec" ], [ "BoolRefinement.__proj__T_If__item__t1", @@ -2084,7 +2088,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "58d2dcd5c728652519c6fa88f0f74b10" + "e68f664d725263d34531e7efcc28e0be" ], [ "BoolRefinement.__proj__T_If__item__t2", @@ -2096,7 +2100,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "cf69f34ee61a3b8b8ff0df212d9e8f0e" + "44e9230a2dcdafc8cc6068fe66eb1ac1" ], [ "BoolRefinement.__proj__T_If__item__t", @@ -2108,7 +2112,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "d940c5a359b6acc46ff6ed6b73fae6c4" + "089fa84d676aaaecf24e87d791ff15a2" ], [ "BoolRefinement.__proj__T_If__item__hyp", @@ -2123,7 +2127,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "030404e537915b8dadd7b517883cd281" + "e84887a38a4c60e9d7bbf21f1bd5d3c9" ], [ "BoolRefinement.__proj__T_If__item__hyp", @@ -2139,7 +2143,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "1d48a5f6e36325c3bd982078b1686b34" + "2efec4c870588dd0d5d0d8419ddf2b64" ], [ "BoolRefinement.__proj__T_If__item___8", @@ -2156,7 +2160,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "a42026f3b524ea99faf8aab550344d6f" + "a314704ba0363ef4c04762fc59803146" ], [ "BoolRefinement.__proj__T_If__item___8", @@ -2180,7 +2184,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "698144dea8b6d1c34f01daabd799204a" + "88df98a9ffca52906c80337a189ed4ee" ], [ "BoolRefinement.__proj__T_If__item___9", @@ -2200,7 +2204,7 @@ "typing_BoolRefinement.ln" ], 0, - "b091f832551b500bc9089d0fb356c959" + "76db946a75e03391ab2e51f3849f56ee" ], [ "BoolRefinement.__proj__T_If__item___9", @@ -2228,7 +2232,7 @@ "typing_BoolRefinement.ln", "typing_BoolRefinement.uu___is_T_If" ], 0, - "21d1540ef18d4119e5ea9cce25b40e4c" + "6e6f9293797a6f89821562026e986c03" ], [ "BoolRefinement.__proj__T_If__item___10", @@ -2248,7 +2252,7 @@ "typing_BoolRefinement.ln" ], 0, - "8468b2430bd7df5587a0d66909726c69" + "091121f6c4fed506a0a8db39ce9754ba" ], [ "BoolRefinement.__proj__T_If__item___10", @@ -2276,7 +2280,7 @@ "typing_BoolRefinement.ln" ], 0, - "c694fd3a4bf287e9989ef9305ae3d48e" + "09bb1b98a0f630330fdb79e361c1e487" ], [ "BoolRefinement.__proj__T_If__item___11", @@ -2296,7 +2300,7 @@ "typing_BoolRefinement.ln" ], 0, - "45e892ab879ecbb877b6a9947801464e" + "76db946a75e03391ab2e51f3849f56ee" ], [ "BoolRefinement.__proj__T_If__item___11", @@ -2324,7 +2328,7 @@ "typing_BoolRefinement.ln", "typing_BoolRefinement.uu___is_T_If" ], 0, - "c580df43c15c199307bd94d2cc2d4e46" + "62a57c7b65f5baf9746c2c54bd630d8b" ], [ "BoolRefinement.__proj__T_If__item___12", @@ -2344,7 +2348,7 @@ "typing_BoolRefinement.ln" ], 0, - "4a944bea56cec0df8bc474103016644d" + "091121f6c4fed506a0a8db39ce9754ba" ], [ "BoolRefinement.__proj__T_If__item___12", @@ -2372,7 +2376,7 @@ "typing_BoolRefinement.ln" ], 0, - "d94085b2746f54e8a59420353a030ec9" + "801b4af4923c3b94fb887ba5f7b40b60" ], [ "BoolRefinement.__proj__T_If__item___13", @@ -2384,7 +2388,7 @@ "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" ], 0, - "5f280a494439de0d9fc899774f3a9335" + "936959a6b87fe00c27c9bd9c2692a8e8" ], [ "BoolRefinement.__proj__OK_TBool__item__g", @@ -2396,7 +2400,7 @@ "refinement_interpretation_Tm_refine_6a3dd718892fcd324f257522d6a5a3a9" ], 0, - "d5bfb1b93d8d58ae83c063ee786e42b9" + "48dafce6c933f32cb4a99f355b51790e" ], [ "BoolRefinement.__proj__OK_TArrow__item__g", @@ -2408,7 +2412,7 @@ "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" ], 0, - "71ac5a1c871fe6881f68543f6c649db3" + "09a965a459e573d0a267c4b534623ccf" ], [ "BoolRefinement.__proj__OK_TArrow__item__t", @@ -2420,7 +2424,7 @@ "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" ], 0, - "06dd107ad4edb9761f5cf871a920fa92" + "e48916eb93eecb7c65fc9c8f8a20d4ca" ], [ "BoolRefinement.__proj__OK_TArrow__item__t'", @@ -2432,7 +2436,7 @@ "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" ], 0, - "ea73fc73f97a56457e151414f81893e3" + "54289207ea62b0a3aea2e63146b27ca3" ], [ "BoolRefinement.__proj__OK_TArrow__item___3", @@ -2445,7 +2449,7 @@ "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" ], 0, - "a80074a832220d2033282678df25c45c" + "51dfb3535df3309ff602402ad8fbc85f" ], [ "BoolRefinement.__proj__OK_TArrow__item___4", @@ -2458,7 +2462,7 @@ "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" ], 0, - "37e4737f03eee394a46ed35fd9939999" + "870b0f073e539184a9e083965a03581d" ], [ "BoolRefinement.__proj__OK_TRefine__item__g", @@ -2470,7 +2474,7 @@ "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4" ], 0, - "94d049f9b3262fdf330a635974e491d3" + "d4aa65abbdf43558d9c1a3fb7b1ec035" ], [ "BoolRefinement.__proj__OK_TRefine__item__e", @@ -2482,7 +2486,7 @@ "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4" ], 0, - "cbf205dc0476c107336b7b4095b3c176" + "c3ba3b6786c17777a5962298cf2be08e" ], [ "BoolRefinement.__proj__OK_TRefine__item___2", @@ -2525,7 +2529,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "ab32d8ba7aa1a91d0141ebc88c4f1b28" + "801afd83e71b9fc777bc82b6f8a9452a" ], [ "BoolRefinement.__proj__OK_TRefine__item___2", @@ -2554,7 +2558,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "e5e0a1b21e10a8d52bef2249feedadce" + "659c1a815e59ff020497fa9fe5ac28fb" ], [ "BoolRefinement.height", @@ -2605,7 +2609,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "cbfe54cd05947be8bd159ba8f06ee170" + "54a6382a2fe39e6ff69b452f2831f2bb" ], [ "BoolRefinement.height", @@ -2659,7 +2663,7 @@ "typing_tok_BoolRefinement.TBool@tok" ], 0, - "a70ace9dbb5cfd1bc29fccf26e6286ea" + "1f63f188fd40e1bd31eb7324ec254ba6" ], [ "BoolRefinement.check_sub_typing", @@ -2675,9 +2679,12 @@ "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Tactics.Types.issues", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Tactics.Types.issues", "haseqTm_refine_69908f7d94e40d6b2a5dd1c4733376b7", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", @@ -2687,10 +2694,11 @@ "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.extend_env_l", - "typing_FStar.Tactics.Builtins.subtyping_token" + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", + "typing_FStar.Tactics.Types.subtyping_token" ], 0, - "63bccd3436f5bb7469311dae9958a61e" + "96e947aef7d1268e0eede55254b55dc3" ], [ "BoolRefinement.weaken", @@ -2725,7 +2733,7 @@ "typing_FStar.Reflection.Typing.lookup_fvar" ], 0, - "f11be73e824f0f76f1ca66ff0c903cb7" + "d97d014fdbe4be9c3789ed438510fb66" ], [ "BoolRefinement.exp", @@ -2740,7 +2748,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c3eee2910bfdc3a6d9ae5b0d0d500460" + "1a71e6235b290bf26fb35b5d739f44e4" ], [ "BoolRefinement.check", @@ -2769,6 +2777,7 @@ "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_BoolRefinement.src_ty__uu___haseq", "bool_inversion", "bool_typing", "constructor_distinct_BoolRefinement.EBool", + "constructor_distinct_BoolRefinement.ELam", "constructor_distinct_BoolRefinement.TArrow", "constructor_distinct_BoolRefinement.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -2797,9 +2806,10 @@ "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.open_exp", "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", + "equation_BoolRefinement.var", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Set.subset", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.fresh.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", @@ -2835,6 +2845,8 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoolRefinement.EBool__0", + "projection_inverse_BoolRefinement.ELam__0", + "projection_inverse_BoolRefinement.ELam__1", "projection_inverse_BoolRefinement.TArrow__0", "projection_inverse_BoolRefinement.TArrow__1", "projection_inverse_BoxBool_proj_0", @@ -2857,6 +2869,7 @@ "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", + "token_correspondence_BoolRefinement.lookup.fuel_instrumented", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.fresh", "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", @@ -2864,12 +2877,12 @@ "typing_BoolRefinement.open_exp", "typing_BoolRefinement.uu___is_EBool", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok" ], 0, - "c274d72f537bb9d7956335ab4dd38df7" + "40b662ee27906acff88c32404af94c4b" ], [ "BoolRefinement.check", @@ -2895,8 +2908,8 @@ "disc_equation_BoolRefinement.TRefineBool", "equality_tok_BoolRefinement.TBool@tok", "equation_BoolRefinement.ln", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", @@ -2915,7 +2928,7 @@ "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.ln_ty", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_tok_BoolRefinement.TBool@tok" ], 0, @@ -2935,11 +2948,11 @@ "function_token_typing_BoolRefinement.binding", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_71953036cfd9837136f14a45a6ffe9d2", + "refinement_interpretation_Tm_refine_d42dc9d46171e9b1f015a7164d4588da", "typing_BoolRefinement.lookup" ], 0, - "c21e24f36de81e61189c676dc78c7ffe" + "ceedae98afba74b6443b76e192b1dd91" ], [ "BoolRefinement.extend_env_l_lookup_bvar", @@ -2953,7 +2966,7 @@ "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "binder_x_21122f7702b6e827c14a45fff63cf106_2", @@ -2970,7 +2983,7 @@ "equation_BoolRefinement.elab_binding", "equation_BoolRefinement.extend_env_l", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -2978,7 +2991,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_BoolRefinement.binding", "function_token_typing_FStar.Reflection.Types.env", "int_inversion", - "interpretation_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "interpretation_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", @@ -2992,10 +3005,10 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_BoolRefinement.elab_binding", "typing_BoolRefinement.extend_env_l", "typing_BoolRefinement.lookup", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae" + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe" ], 0, - "a44b95655fc85ac00ee64c3b6f23b1ac" + "d83d2a4a2a7ad961072e3f3407e527b6" ], [ "BoolRefinement.src_refinements_are_closed_core", @@ -3009,46 +3022,54 @@ "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.closed.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_00a94bfa60c3993c68eae37f07367450_1", - "binder_x_533bf3ef86a910ea5007104587667f43_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_eb3f6a12b21ecce74807f95f3a6b55c3_2", "bool_inversion", "constructor_distinct_BoolRefinement.EApp", "constructor_distinct_BoolRefinement.EBVar", "constructor_distinct_BoolRefinement.EBool", "constructor_distinct_BoolRefinement.EIf", "constructor_distinct_BoolRefinement.ELam", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.EApp", @@ -3056,21 +3077,27 @@ "disc_equation_BoolRefinement.EBool", "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_BoolRefinement.index", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.tun", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -3080,38 +3107,39 @@ "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_exp", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "fuel_guarded_inversion_FStar.Reflection.Typing.open_or_close", - "function_token_typing_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.List.Tot.Base.map", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.V2.Data.branch", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "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_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoolRefinement.EApp__0", "projection_inverse_BoolRefinement.EApp__1", "projection_inverse_BoolRefinement.EBVar__0", @@ -3126,31 +3154,33 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", "refinement_interpretation_Tm_refine_9732fe09422309a6bf671d51bad6ad22", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", @@ -3159,30 +3189,35 @@ "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", "true_interp", "typing_BoolRefinement.elab_exp", - "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.tun", + "typing_BoolRefinement.elab_ty", + "typing_BoolRefinement.uu___is_EBool", "typing_BoolRefinement.uu___is_ELam", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", + "typing_FStar.Reflection.Typing.binder_offset_pattern", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", "typing_FStar.Sealed.seal", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "d1c9de7df72d2bcaa82be5ce33b6d325" + "46d9a989e23af6d2f6f459d0deec1612" ], [ "BoolRefinement.src_refinements_are_closed_core", 2, - 4, + 8, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", @@ -3192,94 +3227,111 @@ "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.closed.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_533bf3ef86a910ea5007104587667f43_1", "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_eb3f6a12b21ecce74807f95f3a6b55c3_1", "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", "constructor_distinct_BoolRefinement.TBool", "constructor_distinct_BoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.TArrow", "disc_equation_BoolRefinement.TBool", "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_BoolRefinement.ln", "equation_BoolRefinement.r_b2t", "equation_BoolRefinement.s_ty", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.bv_index", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_ty", - "fuel_guarded_inversion_FStar.Reflection.Typing.open_or_close", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.List.Tot.Base.map", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoolRefinement.TArrow__0", "projection_inverse_BoolRefinement.TArrow__1", "projection_inverse_BoolRefinement.TRefineBool__0", @@ -3287,53 +3339,64 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", + "refinement_interpretation_Tm_refine_317955b88272e544f543a34e1c23d377", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_ea38c1c641df06bc0837ffd76a382a2a", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.TArrow", "subterm_ordering_BoolRefinement.TRefineBool", "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "true_interp", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_", "typing_BoolRefinement.r_b2t", "typing_BoolRefinement.uu___is_TBool", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", "typing_FStar.Reflection.Typing.b2t_fv", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.mk_total", "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", "typing_FStar.Sealed.seal", "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "058a2a3d29355a54e97727e0b067cb9d" + "33d71f7c3a70037bcc9899511107b6db" ], [ "BoolRefinement.src_refinements_are_closed", @@ -3341,11 +3404,37 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.ln", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5" + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.DT", + "data_elim_FStar.Reflection.Typing.ND", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "equation_BoolRefinement.ln", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@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", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n" ], 0, - "809b2d42992cb8d64ab41dbaa483ba37" + "15ab11b08b1bc61e8aa74c7c82144765" ], [ "BoolRefinement.elab_open_commute'", @@ -3359,19 +3448,26 @@ "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Types_pretyping_8632d594431d6c78cb2dd50457d25394", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_21122f7702b6e827c14a45fff63cf106_2", "binder_x_a3df01e2280927a8a4f73a104b265cfb_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", @@ -3382,28 +3478,29 @@ "constructor_distinct_BoolRefinement.ELam", "constructor_distinct_BoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Types.term", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Reflection.Data.Mkbv_view", + "constructor_distinct_Prims.unit", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.EApp", @@ -3412,64 +3509,82 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.tun", - "equation_BoolRefinement.var", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_BoolRefinement.index", "equation_BoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.maybe_index_of_term", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Sealed.Inhabited.seal", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "function_token_typing_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.V2.Data.branch", + "function_token_typing_Prims.string", "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoolRefinement.EApp__0", "projection_inverse_BoolRefinement.EApp__1", "projection_inverse_BoolRefinement.EBVar__0", @@ -3485,60 +3600,76 @@ "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.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", "refinement_interpretation_Tm_refine_d3d578aae398a9506bc7093f97cbc7bc", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", "token_correspondence_BoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", - "typing_BoolRefinement.ln_", "typing_BoolRefinement.open_exp_", - "typing_BoolRefinement.tun", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Typing.as_binder", + "token_correspondence_BoolRefinement.open_exp_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "true_interp", "typing_BoolRefinement.elab_exp", + "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.ln_", + "typing_BoolRefinement.open_exp_", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.maybe_index_of_term", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_bv", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Sealed.seal", + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "unit_typing" ], 0, - "2a2caecc3552e4fe08e6283997a031e1" + "dd5e9a749a0ff755837bdee0f741bbcf" ], [ "BoolRefinement.elab_open_commute", @@ -3547,34 +3678,116 @@ 1, [ "@query", "equation_BoolRefinement.open_exp" ], 0, - "a9e5c155fd6931e308a37c5e9735b18d" + "fdd179a5734dd158552a9aadb6db6410" ], [ "BoolRefinement.src_types_are_closed1", 1, 2, 1, - [ "@query" ], + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__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_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n" + ], 0, - "68b264b0505f939870f6559653296903" + "3abb375dffd33536d7d70c22a553b1f8" ], [ "BoolRefinement.src_types_are_closed2", 1, 2, 1, - [ "@query" ], + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n" + ], 0, - "86b7ce0fa5dfa49a97d502ec6f681517" + "0e4a1a9bd00ba5d99f3b8c693a8f1a80" ], [ "BoolRefinement.src_types_are_closed3", 1, 2, 1, - [ "@query" ], + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__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_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Reflection.Typing.open_with_var" + ], 0, - "44f729430b28697d0674edc4f08fa0d1" + "f7d91e42f77fad7af874707903da1358" ], [ "BoolRefinement.b2t_typing", @@ -3583,61 +3796,68 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_Type", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.Typing.OpenWith@tok", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Tactics.Types.E_Total", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bool_ty", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.subst", "equation_FStar.Reflection.Typing.tm_type", "equation_FStar.Reflection.Typing.u_zero", + "equation_FStar.Reflection.V2.Data.ppname_t", "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.string", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "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.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", "string_typing", "true_interp", - "typing_FStar.Reflection.Builtins.pack_bv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.tm_type", "typing_FStar.Reflection.Typing.u_zero", "typing_FStar.Sealed.seal", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "fb62f23f8dd1cb66a0e3ff711510b599" + "39213946f27c32e31d8a516d8ba794e4" ], [ "BoolRefinement.extend_env_l_lookup_fvar", @@ -3649,7 +3869,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "binder_x_b57262eead998d474939c05a17e1ffab_0", @@ -3661,9 +3881,9 @@ "equation_BoolRefinement.elab_binding", "equation_BoolRefinement.extend_env_l", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.universes", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.lookup_fvar", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.lookup_fvar", + "equation_FStar.Reflection.V2.Data.universes", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -3672,7 +3892,7 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.universe", "int_inversion", - "interpretation_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "interpretation_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", "projection_inverse_BoxBool_proj_0", @@ -3683,10 +3903,10 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_BoolRefinement.elab_binding", "typing_BoolRefinement.extend_env_l", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae" + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe" ], 0, - "c7c7b383eec283a4bc7391c90d1f969a" + "714ad4ac3214a46543659ca1da8fef8c" ], [ "BoolRefinement.src_ty_ok_weakening", @@ -3748,7 +3968,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "66676b72250e83a8e89251534c1b6657" + "101bfc4181e20d66f37a127f75595121" ], [ "BoolRefinement.rename", @@ -3799,7 +4019,7 @@ "typing_BoolRefinement.ln_", "typing_BoolRefinement.uu___is_EBVar" ], 0, - "79b600a1a7581853f01d1bed872f8560" + "1901bfff474951951b10a4e2786ba127" ], [ "BoolRefinement.rename_binding", @@ -3818,7 +4038,7 @@ "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb" ], 0, - "480fdd6e4db942ac2cbdcc74919a2163" + "6625168f85c77e642398512e82d77d22" ], [ "BoolRefinement.rename_freevars", @@ -3833,7 +4053,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "edfbbb4d4fbd31b69d19023340e63747" + "edb9805121adda34a8e077bcae115e91" ], [ "BoolRefinement.rename_freevars", @@ -3863,7 +4083,7 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", @@ -3894,11 +4114,11 @@ "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", "typing_BoolRefinement.freevars", "typing_BoolRefinement.rename", "typing_BoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "97cb0ae0a5df15c35c9dd3d305d009a5" + "da3d19bbc0f364b0c7ff659c6b453385" ], [ "BoolRefinement.lookup_middle", @@ -3944,7 +4164,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "ae7e3e875f69cd4333414a6caf1159bd" + "8249c86307c9a9be83c7646bff3a0626" ], [ "BoolRefinement.lookup_append_inverse", @@ -3962,12 +4182,12 @@ "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c4d2de0b1986022f9c3cfadc9c99e1e", + "refinement_interpretation_Tm_refine_f2fd2ea05b29973dce8555bb55f0ee8f", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.op_At" ], 0, - "9d4454d2393cecddc804a20cbb68a116" + "8b26d15c9a397c28bfba70d4f5caadc6" ], [ "BoolRefinement.lookup_append_inverse", @@ -4009,11 +4229,10 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "subterm_ordering_Prims.Cons", - "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At" + "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.op_At" ], 0, - "1070af35f6b9e964f7fa573c9e6a088b" + "8fb3c6e9a54347290db9b0185fbdc9ce" ], [ "BoolRefinement.cons_append_assoc", @@ -4033,7 +4252,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "aad09c12dbd8cba11865eda4c8c8d423" + "cb7e89728fcc333d5a18175924243b8b" ], [ "BoolRefinement.rename_open'", @@ -4048,7 +4267,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bbff45e4eeab002f022c92f853697c7" + "cb596999ee78a8f522f4b2fae94d2e22" ], [ "BoolRefinement.rename_open'", @@ -4081,8 +4300,8 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", - "equation_Prims.nat", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", @@ -4111,11 +4330,11 @@ "token_correspondence_BoolRefinement.freevars.fuel_instrumented", "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", "typing_BoolRefinement.freevars", "typing_BoolRefinement.open_exp_", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "8a3bc8c80f4bf22c5e4f54c575d62661" + "af963fd042542b948a4a934bbce86c63" ], [ "BoolRefinement.rename_id", @@ -4130,7 +4349,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a65335021229005e77227fc42c824419" + "b10c20a17cc6fa47e9a3c9805813572b" ], [ "BoolRefinement.rename_id", @@ -4160,7 +4379,7 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", @@ -4188,11 +4407,12 @@ "subterm_ordering_BoolRefinement.ELam", "token_correspondence_BoolRefinement.freevars.fuel_instrumented", "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.freevars", "typing_FStar.Reflection.Data.var", - "typing_FStar.Set.mem", "typing_FStar.Set.union" + "typing_BoolRefinement.freevars", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "7433ecdf1dc7d62321aa22751176ad71" + "172453a46ba50b80d8a2adf3c43ffabc" ], [ "BoolRefinement.rename_open", @@ -4207,7 +4427,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0e245c0b99668a87b6f59c18a1b53cf" + "39bd22fa62c6e0a4c745fef0c29f9d44" ], [ "BoolRefinement.rename_open", @@ -4221,7 +4441,7 @@ "refinement_interpretation_Tm_refine_8a093c41b74fffcfe77e17e1696b037b" ], 0, - "02e2a532e99f20912a96fa70c462a5d4" + "cdc4f77de3b915b1724b2753fe621f71" ], [ "BoolRefinement.rename_open_commute'", @@ -4236,7 +4456,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "95f03ad9603460fd168ba20c5b3ca164" + "53e2cdc974373e572b22691dc4fc71ec" ], [ "BoolRefinement.rename_open_commute'", @@ -4298,7 +4518,7 @@ "typing_BoolRefinement.open_exp_", "typing_BoolRefinement.rename" ], 0, - "d95a8e5e7b911333972b03b6d0619483" + "2b08399bfdf5ded4620386e264b07504" ], [ "BoolRefinement.rename_open_commute", @@ -4316,7 +4536,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "900719430580d83e2e087c91d3b455b8" + "4e483ec2c0d01de9fe5b7bc428e0b1e2" ], [ "BoolRefinement.rename_lookup", @@ -4345,7 +4565,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "6c5dece7aa9b053b4c7fb86827867cc2" + "4a99199cac16a005d6620184fc2d637b" ], [ "BoolRefinement.rename_lookup", @@ -4411,7 +4631,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e5a2edf0741c0839940e19761a22bcee" + "bd301f7786519dfbf1c9a00a0a23bdc2" ], [ "BoolRefinement.src_ty_ok_renaming", @@ -4475,7 +4695,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "1e80edcef41573d7ab20274ea66f1c17" + "c6100083c532760406f4e2a901260df1" ], [ "BoolRefinement.as_bindings_append", @@ -4486,10 +4706,10 @@ "@query", "equation_BoolRefinement.as_bindings", "equation_BoolRefinement.binding", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var" + "equation_FStar.Reflection.V2.Data.var" ], 0, - "9e9238d42783883dced6bc0dc5d41e0b" + "e51839c45f483d3a7ebca7081630a8d7" ], [ "BoolRefinement.map_fusion", @@ -4524,7 +4744,7 @@ "typing_FStar.List.Tot.Base.map" ], 0, - "9bf9000a4f757b8186c2a76242d82abe" + "bcbe86ae9ad3d9ee053d2d79ab02c4f9" ], [ "BoolRefinement.as_bindings_rename_env_append", @@ -4553,8 +4773,8 @@ "equation_BoolRefinement.rename_env", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.bindings", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.bindings", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "fuel_guarded_inversion_Prims.list", @@ -4570,12 +4790,12 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "subterm_ordering_Prims.Cons", "typing_BoolRefinement.as_bindings", - "typing_BoolRefinement.rename_env", + "typing_BoolRefinement.rename_env", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.op_At", "typing_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3" ], 0, - "d421361646125089b9dce8a3ffbd4a5c" + "019a9e72bd661201d23518f993b573c8" ], [ "BoolRefinement.rename_elab_commute_core", @@ -4589,18 +4809,24 @@ "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_21122f7702b6e827c14a45fff63cf106_2", "binder_x_21122f7702b6e827c14a45fff63cf106_3", @@ -4614,28 +4840,27 @@ "constructor_distinct_BoolRefinement.ELam", "constructor_distinct_BoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.Rename", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.NT", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_FStar.Reflection.Typing.Rename@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.EApp", @@ -4644,22 +4869,35 @@ "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", "disc_equation_BoolRefinement.EVar", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.tun", - "equation_BoolRefinement.var", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_BoolRefinement.index", "equation_BoolRefinement.rt_rename", + "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.Typing.var_as_term", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -4669,34 +4907,43 @@ "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_exp", - "function_token_typing_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.List.Tot.Base.map", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.V2.Data.branch", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoolRefinement.EApp__0", "projection_inverse_BoolRefinement.EApp__1", "projection_inverse_BoolRefinement.EBVar__0", @@ -4712,25 +4959,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.Rename__0", - "projection_inverse_FStar.Reflection.Typing.Rename__1", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.NT__0", + "projection_inverse_FStar.Reflection.Typing.NT__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", @@ -4739,29 +4987,43 @@ "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", + "refinement_interpretation_Tm_refine_b4a4984f3120b57e109b83ff8f033e61", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", "true_interp", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.ln_", - "typing_BoolRefinement.rename", "typing_BoolRefinement.tun", - "typing_FStar.Reflection.Builtins.pack_bv", + "typing_BoolRefinement.rename", "typing_BoolRefinement.rt_rename", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.find_matching_subst_elt_var", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", "typing_FStar.Sealed.seal", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "f0d79368f921021fce1959584834a906" + "7435d227270b0769b2a9fada3ea11b49" ], [ "BoolRefinement.rename_elab_commute", @@ -4769,12 +5031,38 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.ln", - "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb" + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "constructor_distinct_FStar.Reflection.Typing.NT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "equation_BoolRefinement.ln", + "equation_BoolRefinement.rt_rename", "equation_BoolRefinement.s_exp", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "projection_inverse_FStar.Reflection.Typing.NT__0", + "projection_inverse_FStar.Reflection.Typing.NT__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_456c505ecbe6e3bd8befa26c18e003cb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_BoolRefinement.rt_rename" ], 0, - "3f24767162cbe19ee655c57a678fff8e" + "08e6d42381e5bb1589e39d6aff35a0df" ], [ "BoolRefinement.rename_eq2", @@ -4783,54 +5071,56 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_UInst", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_UInst@tok", - "data_typing_intro_FStar.Reflection.Typing.Rename@tok", + "data_typing_intro_FStar.Reflection.Typing.NT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_UInst@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", - "equality_tok_FStar.Reflection.Data.Q_Implicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", "equation_BoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.universes", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.name", "equation_FStar.Reflection.Typing.eq2", - "equation_FStar.Reflection.Typing.u_zero", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.u_zero", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.universes", + "equation_FStar.Reflection.V2.Data.var", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_FStar.Reflection.Types.universe", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "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", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.Builtins.pack_fv", - "typing_FStar.Reflection.Builtins.pack_ln", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", "typing_FStar.Reflection.Const.eq2_qn", "typing_FStar.Reflection.Typing.eq2", "typing_FStar.Reflection.Typing.u_zero", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", - "typing_tok_FStar.Reflection.Data.Q_Implicit@tok" + "typing_FStar.Reflection.Typing.var_as_term", + "typing_FStar.Reflection.V2.Builtins.pack_fv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok" ], 0, - "7cad50ee10ba41462e161c776b013f83" + "ce4a1f41c1ff7225b14b8fef2bf7604c" ], [ "BoolRefinement.rename_as_bindings_commute_1", @@ -4840,24 +5130,40 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Inl", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Typing.Rename@tok", + "constructor_distinct_FStar.Reflection.Typing.NT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.NT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_BoolRefinement.elab_binding", "equation_BoolRefinement.elab_eqn", "equation_BoolRefinement.rename_binding", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.bool_ty", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.either", "int_inversion", - "int_typing", "lemma_FStar.Reflection.Typing.inspect_pack", + "equation_BoolRefinement.rt_rename", "equation_BoolRefinement.s_exp", + "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_eqn", + "equation_BoolRefinement.var", + "equation_FStar.Reflection.Typing.bool_ty", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.either", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.inspect_pack", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Inl_a", "projection_inverse_FStar.Pervasives.Inl_b", @@ -4867,13 +5173,24 @@ "projection_inverse_FStar.Pervasives.Inr_v", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.Typing.NT__0", + "projection_inverse_FStar.Reflection.Typing.NT__1", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "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_69908f7d94e40d6b2a5dd1c4733376b7", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.rt_rename", "typing_FStar.Reflection.Typing.bool_fv", - "typing_FStar.Reflection.Typing.bool_ty" + "typing_FStar.Reflection.Typing.bool_ty", + "typing_FStar.Reflection.Typing.var_as_term" ], 0, - "008fcbdc67d932d93193089f6c8f5da0" + "c968abd5c5ea91b56205b26cb1c51039" ], [ "BoolRefinement.rename_as_bindings_commute", @@ -4901,10 +5218,9 @@ "equation_BoolRefinement.rename_env", "equation_BoolRefinement.rename_src_env_elt", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.bindings", "equation_FStar.Reflection.Typing.rename_bindings", - "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_BoolRefinement.binding", @@ -4929,7 +5245,7 @@ "typing_Tm_abs_60289395cb3379d5c7cb72f6134a3086" ], 0, - "680bf26c88821dae3fd69e89d7543278" + "962bc81fa657d553ca151876d6b15a50" ], [ "BoolRefinement.core_subtyping_renaming", @@ -4945,43 +5261,51 @@ "@query", "BoolRefinement_interpretation_Tm_arrow_a2c73be25deabd0aa2ce395c742dc9df", "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Reflection.Typing.ST_Token", - "data_elim_FStar.Reflection.Typing.ST_UnivEq", + "constructor_distinct_FStar.Reflection.Typing.NT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.Rel_subtyping_token", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Typing.ST_Equiv", - "disc_equation_FStar.Reflection.Typing.ST_Token", - "disc_equation_FStar.Reflection.Typing.ST_UnivEq", + "equality_tok_FStar.Reflection.Typing.R_Sub@tok", "equation_BoolRefinement.as_bindings", "equation_BoolRefinement.binding", "equation_BoolRefinement.extend_env_alt", "equation_BoolRefinement.extend_env_l", + "equation_BoolRefinement.rt_rename", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Reflection.Typing.rename_bindings", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.sub_typing", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Reflection.Typing.sub_typing", "function_token_typing_BoolRefinement.binding", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", "interpretation_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.Typing.NT__0", + "projection_inverse_FStar.Reflection.Typing.NT__1", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -4990,13 +5314,16 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "typing_BoolRefinement.extend_env_alt", - "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.op_At", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_BoolRefinement.lookup", "typing_BoolRefinement.rt_rename", + "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Reflection.Typing.lookup_bvar", "typing_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3" ], 0, - "ff0f789128deb473e9ae4db18111a0ba" + "41cfed2996ece64d122e0c0830a83707" ], [ "BoolRefinement.sub_typing_renaming", @@ -5014,7 +5341,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b87e17c45ff2f8b1978579b0a51056b0" + "b4a0c0a5909be8e9f4f743fbeecab90e" ], [ "BoolRefinement.freevars_included_in", @@ -5029,7 +5356,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2808ac897617684910f2d97498749428" + "84c808746df103239fc4f028538cfe81" ], [ "BoolRefinement.src_typing_freevars", @@ -5084,15 +5411,15 @@ "equality_tok_BoolRefinement.TBool@tok", "equation_BoolRefinement.binding", "equation_BoolRefinement.freevars_included_in", - "equation_BoolRefinement.ln", "equation_BoolRefinement.lookup_ty", + "equation_BoolRefinement.index", "equation_BoolRefinement.ln", + "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.open_exp", "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", @@ -5152,14 +5479,14 @@ "typing_BoolRefinement.lookup", "typing_BoolRefinement.open_exp", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", "typing_FStar.Reflection.Typing.lookup_fvar", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.Set.union", + "typing_tok_BoolRefinement.TBool@tok" ], 0, - "85b5f469decfcef4715ef04dc3fc77a0" + "4a5df6f3979be2ebd5760ade90e4d5e0" ], [ "BoolRefinement.src_typing_renaming", @@ -5243,8 +5570,9 @@ "equality_tok_BoolRefinement.TBool@tok", "equation_BoolRefinement.binding", "equation_BoolRefinement.freevars_included_in", - "equation_BoolRefinement.ln", "equation_BoolRefinement.lookup_ty", - "equation_BoolRefinement.max", "equation_BoolRefinement.open_exp", + "equation_BoolRefinement.index", "equation_BoolRefinement.ln", + "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.max", + "equation_BoolRefinement.open_exp", "equation_BoolRefinement.rename_binding", "equation_BoolRefinement.rename_env", "equation_BoolRefinement.rename_src_env_elt", @@ -5252,13 +5580,13 @@ "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", + "equation_with_fuel_BoolRefinement.fresh.fuel_instrumented", "equation_with_fuel_BoolRefinement.height.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", @@ -5392,7 +5720,6 @@ "token_correspondence_BoolRefinement.lookup.fuel_instrumented", "token_correspondence_BoolRefinement.rename.fuel_instrumented", "token_correspondence_BoolRefinement.rename_src_env_elt", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "typing_BoolRefinement.freevars", "typing_BoolRefinement.fresh", "typing_BoolRefinement.height", "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.lookup", @@ -5403,14 +5730,14 @@ "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.lookup_fvar", "typing_FStar.Set.mem", + "typing_FStar.Reflection.Typing.lookup_fvar", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" ], 0, - "8f484810e783d56feffe380d8f47ec87" + "b1158aabf6e373afc3397a155a9d4497" ], [ "BoolRefinement.sub_typing_weakening", @@ -5429,17 +5756,14 @@ "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.S_ELab", "data_elim_BoolRefinement.S_Refl", - "data_elim_FStar.Reflection.Typing.ST_Token", - "data_elim_FStar.Reflection.Typing.ST_UnivEq", + "data_elim_FStar.Reflection.Typing.Rel_subtyping_token", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_BoolRefinement.S_ELab", "disc_equation_BoolRefinement.S_Refl", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Typing.ST_Equiv", - "disc_equation_FStar.Reflection.Typing.ST_Token", - "disc_equation_FStar.Reflection.Typing.ST_UnivEq", + "equality_tok_FStar.Reflection.Typing.R_Sub@tok", "equation_BoolRefinement.as_bindings", "equation_BoolRefinement.binding", "equation_BoolRefinement.extend_env_alt", @@ -5447,16 +5771,16 @@ "equation_BoolRefinement.s_height", "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Reflection.Typing.sub_typing", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.sub_typing", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Typing.sub_typing", "function_token_typing_BoolRefinement.binding", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", "interpretation_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3", @@ -5481,7 +5805,7 @@ "typing_Tm_abs_22c168b8d3c2cc5863a31a09b1c325b3" ], 0, - "de596364f49970f8141d518cd768bbdb" + "29146bbd3832018d8187dfcb644264bf" ], [ "BoolRefinement.src_typing_weakening", @@ -5563,11 +5887,10 @@ "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", @@ -5583,6 +5906,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pervasives.either", + "fuel_guarded_inversion_Prims.list", "function_token_typing_BoolRefinement.binding", "function_token_typing_BoolRefinement.rename_src_env_elt", "function_token_typing_BoolRefinement.src_eqn", @@ -5685,6 +6009,7 @@ "token_correspondence_BoolRefinement.height.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "token_correspondence_BoolRefinement.lookup.fuel_instrumented", + "token_correspondence_BoolRefinement.t_height.fuel_instrumented", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.fresh", "typing_BoolRefinement.height", "typing_BoolRefinement.ln", @@ -5693,15 +6018,14 @@ "typing_BoolRefinement.open_exp", "typing_BoolRefinement.rename_env", "typing_BoolRefinement.s_height", "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", "typing_FStar.Reflection.Typing.lookup_fvar", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok", - "well-founded-ordering-on-nat" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.Set.union", + "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" ], 0, - "7359caaa08ade19ecd2157f8a30a35fd" + "082091ea8fe2cfbf38b961b36d6d83a9" ], [ "BoolRefinement.src_typing_weakening_l", @@ -5752,12 +6076,11 @@ "subterm_ordering_Prims.Cons", "token_correspondence_BoolRefinement.lookup.fuel_instrumented", "token_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", + "typing_BoolRefinement.lookup", "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "503ae73498d4e9ee7b684cb0d2db7e68" + "2b9dbeefa7842413b58a6b97f7172ca1" ], [ "BoolRefinement.open_with_fvar_id", @@ -5766,19 +6089,22 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Typing.OpenWith@tok", - "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "int_typing", "lemma_FStar.Reflection.Typing.inspect_pack", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.inspect_pack", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.Builtins.pack_ln" + "typing_FStar.Reflection.V2.Builtins.pack_ln" ], 0, - "1f0bd837e2a4c1e68c8963ffaaac354d" + "2df88e94098d9c672fd8a09fc29cc4d0" ], [ "BoolRefinement.open_term_fvar_id", @@ -5787,21 +6113,21 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.var", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "equation_BoolRefinement.var", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "int_typing", "lemma_FStar.Reflection.Typing.inspect_pack", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.V2.Builtins.pack_ln" ], 0, - "80c5b26e466f2b3fa736f23a1d046baa" + "555a29a4e6217c22c03e6946b16256eb" ], [ "BoolRefinement.subtyping_soundness", @@ -5816,7 +6142,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "78c7d7ca16970c73a666b3f7378e3a75" + "19318f8549f616dc631586972532b10e" ], [ "BoolRefinement.apply_refinement_closed", @@ -5826,78 +6152,114 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.V2.Data.Mkbv_view", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", + "data_typing_intro_Prims.Nil@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_BoolRefinement.apply", "equation_BoolRefinement.bv0", "equation_BoolRefinement.bv_as_arg", "equation_BoolRefinement.ln", "equation_BoolRefinement.r_b2t", "equation_BoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.bool_ty", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.maybe_index_of_term", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.sort_default", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", - "equation_FStar.Reflection.Typing.var_as_term", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.Typing.var_as_term", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.seal", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "primitive_Prims.op_Equality", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "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_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", + "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_7b71ed368891b904e5e36276d66ea9a5", + "string_typing", "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_BoolRefinement.apply", "typing_BoolRefinement.bv0", "typing_BoolRefinement.bv_as_arg", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.r_b2t", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Reflection.Builtins.pack_ln", "typing_FStar.Reflection.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.maybe_index_of_term", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", "typing_FStar.Reflection.Typing.open_with_var", "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_bv", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Sealed.seal", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "80996893b0dcccd070b2d8760c5fa416" + "7a65a3ab27095acbf880af1d5dee04cb" ], [ "BoolRefinement.freevars_elab_exp", @@ -5918,16 +6280,15 @@ "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", "bool_inversion", "constructor_distinct_BoolRefinement.EApp", @@ -5937,26 +6298,25 @@ "constructor_distinct_BoolRefinement.ELam", "constructor_distinct_BoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.EApp", @@ -5964,20 +6324,21 @@ "disc_equation_BoolRefinement.EBool", "disc_equation_BoolRefinement.EIf", "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", + "disc_equation_BoolRefinement.EVar", "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.tun", - "equation_BoolRefinement.var", "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_BoolRefinement.index", "equation_BoolRefinement.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -5989,29 +6350,27 @@ "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_exp", "fuel_token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented_token", - "function_token_typing_FStar.Reflection.Data.branch", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "function_token_typing_FStar.Reflection.V2.Data.branch", + "function_token_typing_Prims.string", "int_inversion", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoolRefinement.EApp__0", "projection_inverse_BoolRefinement.EApp__1", "projection_inverse_BoolRefinement.EBVar__0", @@ -6026,20 +6385,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", @@ -6047,44 +6404,43 @@ "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.EApp", "subterm_ordering_BoolRefinement.EIf", "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_BoolRefinement.freevars.fuel_instrumented", "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "true_interp", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.tun", + "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.mem", "typing_FStar.Set.union", + "typing_tok_BoolRefinement.TBool@tok", + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "61000ec8b96f9129fc32bcb6b0a026c1" + "53f4532df4b02efdd6aa20bea60a7200" ], [ "BoolRefinement.freevars_elab_exp", @@ -6103,51 +6459,48 @@ "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@query", "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", "constructor_distinct_BoolRefinement.TBool", "constructor_distinct_BoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.TArrow", "disc_equation_BoolRefinement.TBool", "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_BoolRefinement.r_b2t", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -6158,78 +6511,72 @@ "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "fuel_guarded_inversion_BoolRefinement.src_ty", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoolRefinement.TArrow__0", "projection_inverse_BoolRefinement.TArrow__1", "projection_inverse_BoolRefinement.TRefineBool__0", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_BoolRefinement.TArrow", "subterm_ordering_BoolRefinement.TRefineBool", "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "true_interp", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.r_b2t", - "typing_BoolRefinement.uu___is_TBool", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", + "typing_FStar.Reflection.Typing.binder_sort", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.mk_total", "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.mem", "typing_tok_BoolRefinement.TBool@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "947584314efa28520241943694ecc867" + "d345fe667aa0c0a631e7f2cea51023c8" ], [ "BoolRefinement.freevars_refinement", @@ -6241,45 +6588,45 @@ "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_BoolRefinement.apply", "equation_BoolRefinement.bv_as_arg", "equation_BoolRefinement.r_b2t", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "typing_BoolRefinement.apply", "typing_BoolRefinement.bv_as_arg", "typing_BoolRefinement.r_b2t", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Set.mem", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.Typing.freevars", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "293a2ad798c333aa222f77fe8c78b5c1" + "ee739f6cb9a2181e212e78f97ac83d64" ], [ "BoolRefinement.soundness", @@ -6310,10 +6657,11 @@ "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", @@ -6335,6 +6683,7 @@ "constructor_distinct_FStar.Pervasives.Inr", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.EBool", "data_elim_BoolRefinement.T_App", "data_elim_BoolRefinement.T_Bool", "data_elim_BoolRefinement.T_If", "data_elim_BoolRefinement.T_Lam", @@ -6343,8 +6692,8 @@ "data_typing_intro_BoolRefinement.TArrow@tok", "data_typing_intro_FStar.Pervasives.Inl@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.T_App", @@ -6354,10 +6703,12 @@ "disc_equation_BoolRefinement.T_Var", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_BoolRefinement.binding", "equation_BoolRefinement.elab_binding", "equation_BoolRefinement.elab_eqn", @@ -6368,24 +6719,30 @@ "equation_BoolRefinement.s_height", "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.binder_qual", "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Reflection.Typing.bool_ty", + "equation_FStar.Reflection.Typing.close_comp_typ", + "equation_FStar.Reflection.Typing.close_comp_typ_", "equation_FStar.Reflection.Typing.constant_as_term", "equation_FStar.Reflection.Typing.false_bool", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_comp", "equation_FStar.Reflection.Typing.mk_if", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.pp_name_t", "equation_FStar.Reflection.Typing.true_bool", "equation_FStar.Reflection.Typing.u_zero", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", @@ -6406,23 +6763,27 @@ "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "interpretation_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "interpretation_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_BoolRefinement.elab_open_commute", "lemma_BoolRefinement.extend_env_l_lookup_bvar", "lemma_BoolRefinement.open_exp_ln", "lemma_BoolRefinement.src_types_are_closed1", "lemma_BoolRefinement.src_types_are_closed2", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "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_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_BoolRefinement.T_Bool_b", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoolRefinement.EApp__0", "projection_inverse_BoolRefinement.EApp__1", "projection_inverse_BoolRefinement.EBool__0", @@ -6478,9 +6839,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", @@ -6492,6 +6851,7 @@ "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", @@ -6501,32 +6861,33 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "string_typing", + "token_correspondence_BoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_BoolRefinement.height.fuel_instrumented", "token_correspondence_BoolRefinement.ln_.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "token_correspondence_BoolRefinement.t_height.fuel_instrumented", "true_interp", "typing_BoolRefinement.elab_exp", - "typing_BoolRefinement.elab_ty", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.height", "typing_BoolRefinement.ln", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.max", "typing_BoolRefinement.open_exp", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_env_ok", - "typing_BoolRefinement.t_height", "typing_BoolRefinement.tun", + "typing_BoolRefinement.freevars", "typing_BoolRefinement.height", + "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", + "typing_BoolRefinement.lookup", "typing_BoolRefinement.max", + "typing_BoolRefinement.open_exp", "typing_BoolRefinement.s_height", + "typing_BoolRefinement.src_env_ok", "typing_BoolRefinement.t_height", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.b2t_fv", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", "typing_FStar.Reflection.Typing.lookup_fvar", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.mem", + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "well-founded-ordering-on-nat" ], 0, - "47df75c0f3d3e687719657bbec5215ca" + "cb82034b54dca431f255a89fc7a9244a" ], [ "BoolRefinement.soundness", @@ -6560,9 +6921,10 @@ "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_2", @@ -6575,6 +6937,7 @@ "constructor_distinct_BoolRefinement.TRefineBool", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_BoolRefinement.OK_TArrow", "data_elim_BoolRefinement.OK_TBool", @@ -6582,8 +6945,9 @@ "data_typing_intro_BoolRefinement.TArrow@tok", "data_typing_intro_FStar.Pervasives.Inl@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_BoolRefinement.OK_TArrow", @@ -6591,8 +6955,10 @@ "disc_equation_BoolRefinement.OK_TRefine", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_BoolRefinement.apply", "equation_BoolRefinement.binding", "equation_BoolRefinement.bv0", "equation_BoolRefinement.bv_as_arg", "equation_BoolRefinement.elab_binding", @@ -6601,11 +6967,9 @@ "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.b2t_fv", "equation_FStar.Reflection.Typing.binder_qual", "equation_FStar.Reflection.Typing.binder_sort", @@ -6614,11 +6978,19 @@ "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.mk_total", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.var_as_bv", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.Typing.sort_default", + "equation_FStar.Reflection.Typing.tun", + "equation_FStar.Reflection.Typing.var_as_namedv", "equation_FStar.Reflection.Typing.var_as_term", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -6638,28 +7010,36 @@ "fuel_guarded_inversion_BoolRefinement.src_ty", "fuel_guarded_inversion_BoolRefinement.src_ty_ok", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", "function_token_typing_BoolRefinement.binding", "function_token_typing_BoolRefinement.src_eqn", "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "interpretation_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "interpretation_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_BoolRefinement.extend_env_l_lookup_bvar", "lemma_BoolRefinement.extend_env_l_lookup_fvar", "lemma_BoolRefinement.open_with_fvar_id", "lemma_BoolRefinement.src_types_are_closed3", "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "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_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoolRefinement.OK_TArrow__3", "projection_inverse_BoolRefinement.OK_TArrow__4", "projection_inverse_BoolRefinement.OK_TArrow_f", @@ -6682,9 +7062,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", @@ -6695,12 +7074,14 @@ "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", "refinement_interpretation_Tm_refine_a052c3b009416b6dd8d3777050854c02", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "string_typing", @@ -6708,11 +7089,11 @@ "token_correspondence_BoolRefinement.fresh.fuel_instrumented", "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "true_interp", "typing_BoolRefinement.apply", "typing_BoolRefinement.bv0", "typing_BoolRefinement.bv_as_arg", "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.elab_ty", + "typing_BoolRefinement.extend_env_l", "typing_BoolRefinement.freevars", "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.fresh", "typing_BoolRefinement.height", "typing_BoolRefinement.ln", @@ -6720,24 +7101,31 @@ "typing_BoolRefinement.max", "typing_BoolRefinement.r_b2t", "typing_BoolRefinement.src_env_ok", "typing_BoolRefinement.t_height", "typing_BoolRefinement.uu___is_OK_TBool", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", + "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Reflection.Typing.b2t_fv", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", + "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.namedv_uniq", + "typing_FStar.Reflection.Typing.pp_name_default", "typing_FStar.Reflection.Typing.tun", "typing_FStar.Reflection.Typing.unit_fv", + "typing_FStar.Reflection.Typing.var_as_namedv", "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Sealed.seal", "typing_FStar.Set.empty", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.empty", + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe", "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "well-founded-ordering-on-nat" ], 0, - "7c47f0b5801c8d4d63fa299141cf94ff" + "c8c4b307a7407574c64f9c4ab194c79e" ], [ "BoolRefinement.soundness_lemma", @@ -6745,11 +7133,13 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_Prims.squash", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3669500c35a954e4ee97be36bbb799aa" + "86892f1f4b6f78fee852194e9ec59cd5" ], [ "BoolRefinement.main", @@ -6762,7 +7152,7 @@ "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "BoolRefinement_interpretation_Tm_arrow_88f257264d87593f72a75e457c1a241a", + "BoolRefinement_interpretation_Tm_arrow_747aa8d552eb0f64a17bdbb71475299d", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "bool_inversion", "constructor_distinct_Prims.Nil", @@ -6771,11 +7161,11 @@ "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -6795,12 +7185,12 @@ "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_BoolRefinement.closed", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.ln", "typing_FStar.Reflection.Data.var", + "typing_BoolRefinement.ln", "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", - "typing_Tm_abs_9b1ba9473f43fc266542c5123bf135ae" + "typing_Tm_abs_5c0fbd2e2af22b65494e05d403c1eebe" ], 0, - "f22f0795ebe39fd99b8a53103ca90817" + "de8fd5ab52a16b0052c8d735fb7b1a86" ] ] ] \ No newline at end of file diff --git a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst b/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst index abcf43ce8b3..dd6be6b772e 100755 --- a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst +++ b/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst @@ -1,6 +1,6 @@ module DependentBoolRefinement -module T = FStar.Tactics -module R = FStar.Reflection +module T = FStar.Tactics.V2 +module R = FStar.Reflection.V2 open FStar.List.Tot module L = FStar.List.Tot #push-options "--z3cliopt 'smt.qi.eager_threshold=100' --z3cliopt 'smt.arith.nl=false'" @@ -211,7 +211,7 @@ module RT = FStar.Reflection.Typing let b2t_lid : R.name = ["Prims"; "b2t"] let b2t_fv : R.fv = R.pack_fv b2t_lid -let b2t_ty : R.term = R.(pack_ln (Tv_Arrow (RT.as_binder 0 RT.bool_ty) (RT.mk_total (RT.tm_type RT.u_zero)))) +let b2t_ty : R.term = R.(pack_ln (Tv_Arrow (RT.mk_simple_binder RT.pp_name_default RT.bool_ty) (RT.mk_total (RT.tm_type RT.u_zero)))) let r_b2t (t:R.term) : R.term = R.(pack_ln (Tv_App (pack_ln (Tv_FVar b2t_fv)) (t, Q_Explicit))) @@ -231,13 +231,13 @@ let rec elab_exp (e:src_exp) R.pack_ln (Tv_BVar bv) | EVar n -> - let bv = R.pack_bv (RT.make_bv n) in - R.pack_ln (Tv_Var bv) + let v = R.pack_namedv (RT.make_namedv n) in + R.pack_ln (Tv_Var v) | ELam t e -> let t = elab_ty t in let e = elab_exp e in - R.pack_ln (Tv_Abs (RT.as_binder 0 t) e) + R.pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default t) e) | EApp e1 e2 -> let e1 = elab_exp e1 in @@ -262,14 +262,15 @@ and elab_ty (t:src_ty) let t2 = elab_ty t2 in R.pack_ln (R.Tv_Arrow - (RT.as_binder 0 t1) + (RT.mk_simple_binder RT.pp_name_default t1) (RT.mk_total t2)) //(R.pack_comp (C_Total t2 []))) | TRefineBool e -> let e = elab_exp e in + let b = RT.mk_simple_binder RT.pp_name_default RT.bool_ty in let bv = R.pack_bv (RT.make_bv 0) in let refinement = r_b2t e in - R.pack_ln (Tv_Refine bv RT.bool_ty refinement) + R.pack_ln (Tv_Refine b refinement) let rec freevars_elab_exp (e:src_exp) : Lemma (freevars e `Set.equal` RT.freevars (elab_exp e)) @@ -580,7 +581,7 @@ let rec extend_env_l_lookup_bvar (g:R.env) (sg:src_env) (x:var) #push-options "--query_stats --fuel 8 --ifuel 2 --z3rlimit_factor 2" let rec elab_open_commute' (n:nat) (e:src_exp) (x:src_exp) : Lemma (ensures - RT.open_or_close_term' (elab_exp e) (RT.OpenWith (elab_exp x)) n == + RT.subst_term (elab_exp e) [ RT.DT n (elab_exp x) ] == elab_exp (open_exp' e x n)) (decreases e) = match e with @@ -601,7 +602,7 @@ let rec elab_open_commute' (n:nat) (e:src_exp) (x:src_exp) and elab_ty_open_commute' (n:nat) (e:src_ty) (x:src_exp) : Lemma (ensures - RT.open_or_close_term' (elab_ty e) (RT.OpenWith (elab_exp x)) n == + RT.subst_term (elab_ty e) [ RT.DT n (elab_exp x) ] == elab_ty (open_ty' e x n)) (decreases e) = match e with @@ -645,10 +646,10 @@ let subtyping_soundness #f (#sg:src_env) (#t0 #t1:src_ty) (ds:sub_typing f sg t0 | S_Refl _ _ -> RT.Rel_equiv _ _ _ _ (RT.EQ_Refl _ _) | S_ELab _ _ _ d -> d -#push-options "--query_stats --fuel 8 --ifuel 2 --z3rlimit_factor 2" +#push-options "--query_stats --fuel 8 --ifuel 2 --z3rlimit_factor 4" let rec elab_close_commute' (n:nat) (e:src_exp) (x:var) : Lemma (ensures - RT.open_or_close_term' (elab_exp e) (RT.CloseVar x) n == + RT.subst_term (elab_exp e) [ RT.ND x n ] == elab_exp (close_exp' e x n)) (decreases e) = match e with @@ -669,7 +670,7 @@ let rec elab_close_commute' (n:nat) (e:src_exp) (x:var) and elab_ty_close_commute' (n:nat) (e:src_ty) (x:var) : Lemma (ensures - RT.open_or_close_term' (elab_ty e) (RT.CloseVar x) n == + RT.subst_term (elab_ty e) [ RT.ND x n ] == elab_ty (close_ty' e x n)) (decreases e) = match e with @@ -723,7 +724,7 @@ let rec soundness (#f:fstar_top_env) RT.T_Const _ _ _ RT.CT_False | T_Var _ x -> - RT.T_Var _ (R.pack_bv (RT.make_bv x)) + RT.T_Var _ (R.pack_namedv (RT.make_namedv x)) | T_Lam _ t e t' x dt de -> let de : RT.tot_typing (extend_env_l f ((x,Inl t)::sg)) @@ -743,11 +744,11 @@ let rec soundness (#f:fstar_top_env) in let dd : RT.tot_typing (extend_env_l f sg) - (R.pack_ln (R.Tv_Abs (RT.as_binder 0 (elab_ty t)) (elab_exp e))) + (R.pack_ln (R.Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) (elab_exp e))) (elab_ty (TArrow t (close_ty t' x))) = RT.close_term_spec (elab_ty t') x; assert (elab_ty (close_ty t' x) == - RT.open_or_close_term' (elab_ty t') (RT.CloseVar x) 0); + RT.subst_term (elab_ty t') [ RT.ND x 0 ]); RT.T_Abs (extend_env_l f sg) x (elab_ty t) diff --git a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints b/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints index 65898d76550..e4d261c8e7b 100644 --- a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints +++ b/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints @@ -1,5 +1,5 @@ [ - "]¦\u0017\u0016ÕW;\u001e|,¿êWV•", + "9.Ùº\u0006»19\u0005dÀ©û\ràÿ", [ [ "DependentBoolRefinement.src_exp", @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "06c23f740140d144cdc608855517a901" + "6b14b559a101dee050bf6e34ca9b1b36" ], [ "DependentBoolRefinement.__proj__EBVar__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_76e69f53f8b139ac640cb3bc36a348fe" ], 0, - "c66ccc77e739a32ed49bb68249974a93" + "773a2a29f3514fb46572d24b0a712974" ], [ "DependentBoolRefinement.__proj__EVar__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_61bd973be40b4a8dfa24fc7f49dc4153" ], 0, - "908a13cc01362ae24fe954cc6a410e75" + "2dcb32dd0bd84358fccbf106ade122c7" ], [ "DependentBoolRefinement.__proj__EBool__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_60cf0d93e14741912de2789279cbb8f0" ], 0, - "1ca4f12c60c52ef82b12de4efa1c903a" + "490322f31a27467c88b176e1894751e7" ], [ "DependentBoolRefinement.__proj__EIf__item___0", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" ], 0, - "71dd9be41ac2b6c852201d68b9ba916c" + "e31c8b2bb0c581f64946fe4f41305b82" ], [ "DependentBoolRefinement.__proj__EIf__item___1", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" ], 0, - "58df10ddc2726ce7fa0ad36ab486b49e" + "78b5788f43d1bd464e3587b251e6a3af" ], [ "DependentBoolRefinement.__proj__EIf__item___2", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" ], 0, - "82b7548e1b8d8b6e47375f1420c1c19c" + "566581357113283b5d278520b5837523" ], [ "DependentBoolRefinement.__proj__ELam__item___0", @@ -99,7 +99,7 @@ "refinement_interpretation_Tm_refine_b1f8a1df9130c65b3ebeebb754b2c688" ], 0, - "4c07433df3b27255b4b90ee6a44b3713" + "4d06141d5b4cafb8f0721d0763049713" ], [ "DependentBoolRefinement.__proj__ELam__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_b1f8a1df9130c65b3ebeebb754b2c688" ], 0, - "08fe1b3a6a96046962dc3e22a14c7a75" + "d3b3eed852ec0bbcb0da487dd3738a0b" ], [ "DependentBoolRefinement.__proj__EApp__item___0", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_93cbdb34920e19b859910ddd2d452895" ], 0, - "8d837172df54afa38e2c3cfef33f40d4" + "62e4b14e4fb115f4db29956f23e23d04" ], [ "DependentBoolRefinement.__proj__EApp__item___1", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_93cbdb34920e19b859910ddd2d452895" ], 0, - "794997940f180f833695d07114a2cc19" + "198056535072a11c35c51b3f597ea158" ], [ "DependentBoolRefinement.__proj__TRefineBool__item___0", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_49f6994e08d23b0a5dff8fc691808e77" ], 0, - "7814550191bc627bbce9933db2ace0f6" + "12851d0e9edc88335ebfdd55c1789486" ], [ "DependentBoolRefinement.__proj__TArrow__item___0", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_d2c100660062dd969251e832eba80ce1" ], 0, - "522e29d9756e065cc56ee653025612a4" + "16a5866de641578cdbacf43b4f508c23" ], [ "DependentBoolRefinement.__proj__TArrow__item___1", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_d2c100660062dd969251e832eba80ce1" ], 0, - "821d20a94cc2cd2794cc8d0f1796fc3f" + "e1d50107e4b7267002a57d3fe2b16a49" ], [ "DependentBoolRefinement.freevars", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "17e7754b283eca2c1a3e0750cf7fa940" + "3fc7f67d24ff1c43cd8ef46ade452477" ], [ "DependentBoolRefinement.freevars", @@ -218,7 +218,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "b7a64f145a3b696f827ba17b5872c0f4" + "40708e4159199cf8eadfad22289011da" ], [ "DependentBoolRefinement.freevars", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bdf4703ba99f7a34ca179c2cd9891b25" + "cb9b61759a16b526e2e14bfdfff68205" ], [ "DependentBoolRefinement.freevars", @@ -260,7 +260,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "1a7539e11552fe5d50f2a8b4c9c79d1e" + "c86c6c8d4b38b469fe9af5f5b97f39a9" ], [ "DependentBoolRefinement.ln'", @@ -287,7 +287,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "42e20feb96002d3890eef478ab41a00f" + "0883ad745ecc3d8c975dc55bba0629f5" ], [ "DependentBoolRefinement.ln'", @@ -309,7 +309,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "bed824f9df3ad85788c0c8d95cc3e87e" + "772d601fd57327b313c0861c78a30623" ], [ "DependentBoolRefinement.open_exp'", @@ -344,7 +344,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "d5c029b1e0192e4e7e2f910048ec9d00" + "4b9f54a92b29c825d9a678f94664d4d0" ], [ "DependentBoolRefinement.open_exp'", @@ -373,7 +373,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "626d8fcefc8dd15d14c9357a7c5d8ea6" + "7e399f6295a5f5c5faa77189e9825191" ], [ "DependentBoolRefinement.close_exp'", @@ -408,7 +408,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "fc6970e4596493f3aa2e9797c8115610" + "148d02e5bdae6a24efda63a4942e8181" ], [ "DependentBoolRefinement.close_exp'", @@ -435,7 +435,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "e69f71074b39884eadb7a2362a391b51" + "01137d18d53402c53171e91a51c4ba72" ], [ "DependentBoolRefinement.open_exp_freevars", @@ -450,7 +450,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4fafd267ae4ff5e5064caa8b11a930f" + "2f3d64a90dfa57ff401e08e069e62e38" ], [ "DependentBoolRefinement.open_exp_freevars", @@ -488,7 +488,7 @@ "equality_tok_DependentBoolRefinement.TBool@tok", "equation_DependentBoolRefinement.index", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", @@ -523,12 +523,12 @@ "typing_DependentBoolRefinement.open_exp_", "typing_DependentBoolRefinement.open_ty_", "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "7c42288c7805d518cee319c715d01b5a" + "1e1bac1768ebf00d0198f5468df6399f" ], [ "DependentBoolRefinement.open_exp_freevars", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e0bf46871ae6e9cb609b77ee754582e7" + "9ac7dbf1c1b3ff4a6f2ff9542e1a0772" ], [ "DependentBoolRefinement.open_exp_freevars", @@ -575,7 +575,7 @@ "equality_tok_DependentBoolRefinement.TBool@tok", "equation_DependentBoolRefinement.index", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", @@ -597,17 +597,16 @@ "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", "typing_DependentBoolRefinement.open_ty_", "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "63298f05978e90b2da21f6cc695c0a12" + "7d9d4cb69110474a1aa08b2d088d5577" ], [ "DependentBoolRefinement.lookup", @@ -627,7 +626,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b2b98a31e681ab4e780eb9daa8f3d322" + "ec4a0a11090e6159b79a8f48d9636759" ], [ "DependentBoolRefinement.src_env_ok", @@ -645,7 +644,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "255d01b44ed18fb42823f03408adcd0c" + "2485b2ec29b89d7671fa9d16a0a6ffac" ], [ "DependentBoolRefinement.fresh", @@ -665,7 +664,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9e29630466d6506b6ceebb16bcf18bab" + "1b68932b201b1a074a7084d56a750a05" ], [ "DependentBoolRefinement.fresh_not_mem", @@ -705,7 +704,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2107fbd76ff7cbb8b8594ad17bd2e27c" + "052ed6f74cb7092111ef25247c6c8dcc" ], [ "DependentBoolRefinement.lookup_mem", @@ -749,7 +748,7 @@ "unit_typing" ], 0, - "bbe23549d772ef4d62c30a0d1893f14f" + "c1b4b2f18e4c6f9fc39f47c4548fc68a" ], [ "DependentBoolRefinement.fresh_is_fresh", @@ -772,7 +771,7 @@ "typing_DependentBoolRefinement.lookup" ], 0, - "f4da25d6dafaa78de40e1e3b43448dc4" + "e4772e80ff85ad4db7b8bb28ed871928" ], [ "DependentBoolRefinement.elab_exp", @@ -804,7 +803,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "03ceded4ebfd088c3e2cbdc1730c5610" + "1d9c7795a8148d93996389048e22b7ed" ], [ "DependentBoolRefinement.elab_exp", @@ -826,7 +825,7 @@ "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "f37ea0a60e6e3c7d40e1d793e5632cd9" + "a47a64d747b76181090f780aad641466" ], [ "DependentBoolRefinement.freevars_elab_exp", @@ -841,7 +840,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0258f4f47b21a71963f899f6f1c19b34" + "1c116112af2898c6c1ab6fd5179c8f0e" ], [ "DependentBoolRefinement.freevars_elab_exp", @@ -862,16 +861,15 @@ "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", "bool_inversion", "constructor_distinct_DependentBoolRefinement.EApp", @@ -881,26 +879,25 @@ "constructor_distinct_DependentBoolRefinement.ELam", "constructor_distinct_DependentBoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.EApp", @@ -909,22 +906,22 @@ "disc_equation_DependentBoolRefinement.EIf", "disc_equation_DependentBoolRefinement.ELam", "disc_equation_DependentBoolRefinement.EVar", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.tun", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -936,31 +933,29 @@ "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_exp", "fuel_token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented_token", - "function_token_typing_FStar.Reflection.Data.branch", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.V2.Data.branch", "function_token_typing_Prims.int", "function_token_typing_Prims.string", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_DependentBoolRefinement.EApp__0", "projection_inverse_DependentBoolRefinement.EApp__1", @@ -975,20 +970,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", @@ -996,18 +989,17 @@ "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.EApp", "subterm_ordering_DependentBoolRefinement.EIf", "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", @@ -1016,18 +1008,22 @@ "typing_DependentBoolRefinement.elab_ty", "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.tun", "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.as_binder", "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.make_bv", "typing_FStar.Sealed.seal", + "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, "21181f5bef259c104220035fc95b8666" @@ -1045,7 +1041,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de79a3750b9106b2bed1ab370baba32e" + "709a673f5524155e846871d4d2276bf8" ], [ "DependentBoolRefinement.freevars_elab_exp", @@ -1064,50 +1060,48 @@ "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_54deee709e06dbd1631f01413bb5dc48_0", "bool_inversion", "constructor_distinct_DependentBoolRefinement.TArrow", "constructor_distinct_DependentBoolRefinement.TBool", "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.TArrow", "disc_equation_DependentBoolRefinement.TBool", "disc_equation_DependentBoolRefinement.TRefineBool", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.r_b2t", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", + "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -1118,7 +1112,6 @@ "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", @@ -1126,46 +1119,41 @@ "function_token_typing_Prims.int", "function_token_typing_Prims.string", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_DependentBoolRefinement.TArrow__0", "projection_inverse_DependentBoolRefinement.TArrow__1", "projection_inverse_DependentBoolRefinement.TRefineBool__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", - "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "true_interp", "typing_DependentBoolRefinement.b2t_fv", @@ -1174,21 +1162,21 @@ "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", "typing_DependentBoolRefinement.r_b2t", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.as_binder", + "typing_FStar.Reflection.Typing.binder_sort", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.mk_total", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.mem", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, "6fee92cf858d05e84603479646f79ae7" @@ -1208,7 +1196,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2ec8c9daa6f9d524df8387f8bef8f32b" + "42a11b697d27cfb6569eb99c77346044" ], [ "DependentBoolRefinement.__proj__S_Refl__item__g", @@ -1220,7 +1208,7 @@ "refinement_interpretation_Tm_refine_2c96aa34aec294d21766dc0cbda40981" ], 0, - "6bc717a025645db2fbbc54d049b4bd60" + "dc0ada8e43ea2c0169a8b4a585fa53cf" ], [ "DependentBoolRefinement.__proj__S_Refl__item__t", @@ -1232,7 +1220,7 @@ "refinement_interpretation_Tm_refine_2c96aa34aec294d21766dc0cbda40981" ], 0, - "c96f501e4cbd4f8107868fffa58cee35" + "a163a2a6cfd314a607ed7f573cd84e6e" ], [ "DependentBoolRefinement.__proj__S_ELab__item__g", @@ -1244,7 +1232,7 @@ "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" ], 0, - "c0a67085eb69dfbbcb518c00c9775972" + "6e2c624f3358f655a9f37563a21a2321" ], [ "DependentBoolRefinement.__proj__S_ELab__item__t0", @@ -1256,7 +1244,7 @@ "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" ], 0, - "d66a965bdc62b56113ec6a04c5787957" + "78424082f65ee81149f49d69e97c3d96" ], [ "DependentBoolRefinement.__proj__S_ELab__item__t1", @@ -1268,7 +1256,7 @@ "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" ], 0, - "6142e2f0b8a177a7fe1b80397b2c240e" + "4d7389787d4cd8f82e140f77b76d176f" ], [ "DependentBoolRefinement.__proj__S_ELab__item___3", @@ -1281,7 +1269,7 @@ "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" ], 0, - "171380cfb2f67644aaf8869fe465a67e" + "27b8f81e187f2e25bcfbe824036f72eb" ], [ "DependentBoolRefinement.src_typing", @@ -1296,7 +1284,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa3fadfeacf13a96cccdbcdd26dbe0e6" + "986bbbbc9613d0b53cb820e17169f5f4" ], [ "DependentBoolRefinement.src_typing", @@ -1311,7 +1299,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fe38fa368d2d9d6bc9bb72ce7899508e" + "92f70f67b2db00cf79d52331fe83898b" ], [ "DependentBoolRefinement.src_typing", @@ -1326,7 +1314,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b371d9da46010ce1ea61165e2aa5d7fd" + "5afc7310462d1382cbb0245301105d02" ], [ "DependentBoolRefinement.src_typing", @@ -1341,7 +1329,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4019d951912115561fffc81017716f99" + "6921cff804275a281967192249ffa80d" ], [ "DependentBoolRefinement.src_typing", @@ -1353,7 +1341,7 @@ "refinement_interpretation_Tm_refine_06dd6912fa61977caa4379d2456a1d1e" ], 0, - "56d26949ea2579f30c592dc7f25375c0" + "4ab729faf90d279d71f8a8d465f223f8" ], [ "DependentBoolRefinement.__proj__T_Bool__item__g", @@ -1365,7 +1353,7 @@ "refinement_interpretation_Tm_refine_cfac24a0fddbd9a1cf8bc8f9c33a15a9" ], 0, - "36a7e5d3b3906c567d67d9e2aa446fdf" + "40e3fdafc1ff8c7e809178bfea4b49f1" ], [ "DependentBoolRefinement.__proj__T_Bool__item__b", @@ -1377,7 +1365,7 @@ "refinement_interpretation_Tm_refine_cfac24a0fddbd9a1cf8bc8f9c33a15a9" ], 0, - "7574c3b70584461eaee3c6d6f518c822" + "9f386105a3e17afa74926a4936989644" ], [ "DependentBoolRefinement.__proj__T_Var__item__g", @@ -1389,7 +1377,7 @@ "refinement_interpretation_Tm_refine_86644fd14ee21cf25ca5e8268da5bda8" ], 0, - "3ed07cb2e1dbd2f43174e5b7a13326f1" + "f52fd1cb697da596696da26444d3c378" ], [ "DependentBoolRefinement.__proj__T_Var__item__x", @@ -1402,7 +1390,7 @@ "refinement_interpretation_Tm_refine_86644fd14ee21cf25ca5e8268da5bda8" ], 0, - "10c37e82b4958ec03e3006430d5f2d77" + "554cb86262c087f3a73b84d4b540f251" ], [ "DependentBoolRefinement.__proj__T_Lam__item__g", @@ -1414,7 +1402,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "48e81b01fcd7158d06d9f149764901e9" + "4988f531b1605cb11fbb31db27d963cf" ], [ "DependentBoolRefinement.__proj__T_Lam__item__t", @@ -1426,7 +1414,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "1225dba6eb2bbee0d125d858b54671e5" + "5380b3fbbe4be2288fee316bfb879010" ], [ "DependentBoolRefinement.__proj__T_Lam__item__e", @@ -1438,7 +1426,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "24114c1c3be2d862726e27bc5e5f72a2" + "9e5714f536ffd7a0be69bf08e139677a" ], [ "DependentBoolRefinement.__proj__T_Lam__item__t'", @@ -1450,7 +1438,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "8555baf25759cc71abda0affc46fb74c" + "3a44b4bd3fd2a72343b675b42a3d8cd2" ], [ "DependentBoolRefinement.__proj__T_Lam__item__x", @@ -1465,7 +1453,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c70a7cd212db15ff47c477e580156ce" + "ed9368ebd80e79099444c6bae22b9c6a" ], [ "DependentBoolRefinement.__proj__T_Lam__item__x", @@ -1482,7 +1470,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "fdc97d824026293bf1334abc4a4d1b1c" + "3bccf708346f6dace3ee42774b97ee32" ], [ "DependentBoolRefinement.__proj__T_Lam__item___5", @@ -1495,7 +1483,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "f09b5f3e1e0c6e35ce8c83a214c0fa5b" + "250d628f25ea17710ca90a80a7cff62b" ], [ "DependentBoolRefinement.__proj__T_Lam__item___6", @@ -1512,7 +1500,7 @@ "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" ], 0, - "aa718d0f4ac7e5ec3cc5b370fc7b8a51" + "6075921048852633aabea4421663458f" ], [ "DependentBoolRefinement.__proj__T_App__item__g", @@ -1524,7 +1512,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "bfe9252553b6aa631dc7ae8cb456c86d" + "4a555de2aed0d26130a4d83422e5051f" ], [ "DependentBoolRefinement.__proj__T_App__item__e1", @@ -1536,7 +1524,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "015af28f7a7990f4368cae062bdbda07" + "872aa97d4aa01c5932dbc569f4d40242" ], [ "DependentBoolRefinement.__proj__T_App__item__e2", @@ -1548,7 +1536,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "4367bea51095e2e87265cb580aaa05e7" + "b158eeb08959036c6ca6420453ff80a6" ], [ "DependentBoolRefinement.__proj__T_App__item__t", @@ -1560,7 +1548,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "72c2898ebb759c2828fb0a8cd979010c" + "6706fdb4efbcee6fd5486fd168aec31b" ], [ "DependentBoolRefinement.__proj__T_App__item__t'", @@ -1572,7 +1560,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "fd0b6a8274546330b94029ede0c9ce80" + "ce16f52741fe9e64707da9a743501791" ], [ "DependentBoolRefinement.__proj__T_App__item__t0", @@ -1584,7 +1572,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "03398ef875e4c18336255480a9c1c4e1" + "20bcf8d3d165e5456ef86848d4128e61" ], [ "DependentBoolRefinement.__proj__T_App__item___6", @@ -1597,7 +1585,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "aedec18b17db0f00f0ced16c9f0b851e" + "21ca0f32be72cab2d45b816a39034122" ], [ "DependentBoolRefinement.__proj__T_App__item___7", @@ -1610,7 +1598,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "92aa2c65b41835d1775d946bfd78f1a4" + "3ccdf99e36424c36dbff232261ff8051" ], [ "DependentBoolRefinement.__proj__T_App__item___8", @@ -1623,7 +1611,7 @@ "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" ], 0, - "41c66c7dd730df165e11a78577e6da27" + "cd340cebcdb58e7390cbbfaaa8aed6c3" ], [ "DependentBoolRefinement.__proj__T_If__item__g", @@ -1635,7 +1623,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "fcc6a45143b283c1fa0e96764edb37bd" + "d1e0774839287d18783e2b048f2ee3bd" ], [ "DependentBoolRefinement.__proj__T_If__item__b", @@ -1647,7 +1635,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "fc535feb5f2f4343dc79918052670ead" + "04e130ba9a9674fa2ae9109e33c2874f" ], [ "DependentBoolRefinement.__proj__T_If__item__e1", @@ -1659,7 +1647,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "2dcce96f1cd5b5168a0dd65e2e38a3b6" + "e2c7806c2147a6ec3a2177175fde6883" ], [ "DependentBoolRefinement.__proj__T_If__item__e2", @@ -1671,7 +1659,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "a548f4367c247f942774e85761476dd5" + "9a5bf8bed9c7739bcb1e59e6b3fabf8a" ], [ "DependentBoolRefinement.__proj__T_If__item__t1", @@ -1683,7 +1671,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "01a79ae96e37bb1d5f014ae5d59ca481" + "abc486df9d7c8a5d5ea1ef992341a361" ], [ "DependentBoolRefinement.__proj__T_If__item__t2", @@ -1695,7 +1683,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "3cfa87b79e8ffa4c9fc7d3f73eaf82c6" + "3d465b28d90f4fe7baa68b8164a931e7" ], [ "DependentBoolRefinement.__proj__T_If__item__t", @@ -1707,7 +1695,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "15871cfea73f6631bfa415601f7c5861" + "8defa4e221f8ca64b92048bb9a55acbc" ], [ "DependentBoolRefinement.__proj__T_If__item__hyp", @@ -1722,7 +1710,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ac37a9843431309ba766c60d520db313" + "222fb285a942ea33c9f5573de8a1066d" ], [ "DependentBoolRefinement.__proj__T_If__item__hyp", @@ -1739,7 +1727,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "0fda52ac75ac5a16478866225f50a018" + "8542c694f166b22aa34b68af1dc7a180" ], [ "DependentBoolRefinement.__proj__T_If__item___8", @@ -1752,7 +1740,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "2864df2d8e405df3bdff5958dccd5ebb" + "31b6207ccf28eec3429e92f5235b62ce" ], [ "DependentBoolRefinement.__proj__T_If__item___9", @@ -1765,7 +1753,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "a9c49f970020632b9bea814ddb2772e5" + "943a3e42a6c24d60111256a9d94c1b0c" ], [ "DependentBoolRefinement.__proj__T_If__item___10", @@ -1778,7 +1766,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "ec4515d94e86a18d9bf530f85f4d8e62" + "8a04a5a66357cd71b46a982fb90995cd" ], [ "DependentBoolRefinement.__proj__T_If__item___11", @@ -1791,7 +1779,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "ea0e0fe1da9e6f03b0eafa4e5e1eeca7" + "d370c4f89edb809db2137bfaea703f19" ], [ "DependentBoolRefinement.__proj__T_If__item___12", @@ -1804,7 +1792,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "7123ea635690c374c42cd0a5275eb8f6" + "f2e6047be2e1257087a13a420b05c43a" ], [ "DependentBoolRefinement.__proj__T_If__item___13", @@ -1817,7 +1805,7 @@ "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" ], 0, - "dea7dd1c56bf83f007198ad38e8928bd" + "09f60c3594bc1eb332ba858118a8d036" ], [ "DependentBoolRefinement.__proj__OK_TBool__item__g", @@ -1829,7 +1817,7 @@ "refinement_interpretation_Tm_refine_a89cf231f371e522f4f1777ec17e24de" ], 0, - "9e4731fc33a1e4c4bbb1a084021b60f7" + "a7121cd487e0cc02f525523bb8977295" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item__g", @@ -1841,7 +1829,7 @@ "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" ], 0, - "81021ced253cc7780b06209f14c173ff" + "849b0c2e212977b72686a8ca71c22b6a" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item__t", @@ -1853,7 +1841,7 @@ "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" ], 0, - "aebc9c5b2ea9cfff5fad489bbf4f08f0" + "93d5fafda1faa364bbaea443b1698a61" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item__t'", @@ -1865,7 +1853,7 @@ "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" ], 0, - "07cf80ab3782756e887db5cecd7e5610" + "9d8645024a6bfb49a29e8f2b38f27d9f" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item__x", @@ -1880,7 +1868,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aa3cd11a076586c64efe1b35695f3cc5" + "d0f7db9e4d37fb35ff57eec4ab443546" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item__x", @@ -1897,7 +1885,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "df208948c01efaa564714d9c583ff1d6" + "1f440d01e2500baf872e51b964232f11" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item___4", @@ -1910,7 +1898,7 @@ "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" ], 0, - "a47cb16da5a134ba2e777a110c10faf1" + "3dbe160d3d94979d7be7fc62472f28c9" ], [ "DependentBoolRefinement.__proj__OK_TArrow__item___5", @@ -1927,7 +1915,7 @@ "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" ], 0, - "cc0f2b21d13a1348d71e2391951939f9" + "f3d2c511ceb2c2ea677da054f0550a75" ], [ "DependentBoolRefinement.__proj__OK_TRefine__item__g", @@ -1939,7 +1927,7 @@ "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" ], 0, - "55edc9bd284f7940ed2b3d026f4fe80b" + "ced50f9cc9bbe2f2f287a6b18172815c" ], [ "DependentBoolRefinement.__proj__OK_TRefine__item__e", @@ -1951,7 +1939,7 @@ "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" ], 0, - "5ff403a7eeb7dc70b7038b505fa707b5" + "0ef998237077a3d4daa1bb5d513e1695" ], [ "DependentBoolRefinement.__proj__OK_TRefine__item__x", @@ -1966,7 +1954,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cce6dc55c6f59ffadbd5ef5e22d824b7" + "ae7e6a72acdddec2949905e5774beec7" ], [ "DependentBoolRefinement.__proj__OK_TRefine__item__x", @@ -1983,7 +1971,7 @@ "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" ], 0, - "c841fb3e418b30bdc12b779773b23494" + "f88232dbaff84aeeb7d0982cd7433349" ], [ "DependentBoolRefinement.__proj__OK_TRefine__item___3", @@ -2000,7 +1988,7 @@ "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" ], 0, - "5b59f15f5620d0cbcdf56eca7f8b99e8" + "31f01f66f6f2da0d7aeb96bb815b0925" ], [ "DependentBoolRefinement.height", @@ -2026,7 +2014,7 @@ "subterm_ordering_DependentBoolRefinement.T_Lam" ], 0, - "e344b06de39d3bc010d897f2a39d943c" + "5bd1441b72ac12a01b2739356d7a3d91" ], [ "DependentBoolRefinement.height", @@ -2049,7 +2037,7 @@ "subterm_ordering_DependentBoolRefinement.OK_TRefine" ], 0, - "a335e3e575056a953bb74f41873a788c" + "e2c42710358d8f776ed0fe0ba4423217" ], [ "DependentBoolRefinement.check_sub_typing", @@ -2061,7 +2049,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "529b3ad9520f11279d8e9c9aebb95352" + "e5174d8b1043ab50b6fd5590dd2f1727" ], [ "DependentBoolRefinement.weaken", @@ -2073,7 +2061,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "5190d4fbd97a355d9b1db2038b504a48" + "84f19d1e8f93d52ce3f46f4762df1508" ], [ "DependentBoolRefinement.ok", @@ -2088,7 +2076,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3a666d5ddfb4065694dc18e83c61c217" + "7f049de8904d91bd85050e8c1e9599d0" ], [ "DependentBoolRefinement.ok_ty", @@ -2103,7 +2091,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bae1c2477e5af82ae01d11e309ec036b" + "eb4ff2d618a5f668e42f4cf07b61bab5" ], [ "DependentBoolRefinement.check_ok_ty", @@ -2134,7 +2122,7 @@ "equation_DependentBoolRefinement.ok_ty", "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", "fuel_guarded_inversion_Prims.list", "int_inversion", @@ -2143,9 +2131,9 @@ "projection_inverse_DependentBoolRefinement.TArrow__0", "projection_inverse_DependentBoolRefinement.TArrow__1", "projection_inverse_DependentBoolRefinement.TRefineBool__0", + "refinement_interpretation_Tm_refine_2bd24cf776a7d5930c9f56aab7bb5c27", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_944e9800f2861e190c5e920f97ef9dfa", - "refinement_interpretation_Tm_refine_c54df58710d2f542dad8d898c6c08192", "refinement_interpretation_Tm_refine_cab1f128e8319609ab79f0d0c82de62a", "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", @@ -2153,11 +2141,11 @@ "typing_DependentBoolRefinement.check_ok_ty", "typing_DependentBoolRefinement.freevars_ty", "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "ac446bbc28dff8a0ae95b15099c2d0b8" + "ed9705e3f94fc6f5e5212ea1147eae25" ], [ "DependentBoolRefinement.check_ok_ty", @@ -2195,7 +2183,7 @@ "equation_DependentBoolRefinement.ok_ty", "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_exp", "fuel_guarded_inversion_Prims.list", @@ -2217,9 +2205,9 @@ "projection_inverse_DependentBoolRefinement.EVar__0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5faf9c2fc3ba5ca673c66700c1e6bad6", + "refinement_interpretation_Tm_refine_c9e1e1776b0f945683956fed06a79030", "refinement_interpretation_Tm_refine_cab1f128e8319609ab79f0d0c82de62a", - "refinement_interpretation_Tm_refine_f15888a69292922e1af371e78ad516c4", - "refinement_interpretation_Tm_refine_fa53f5a073b2d7e6c957eba6d26979de", + "refinement_interpretation_Tm_refine_e1d4a751ee04c5052407a0b4a7d8853d", "subterm_ordering_DependentBoolRefinement.EApp", "subterm_ordering_DependentBoolRefinement.EIf", "subterm_ordering_DependentBoolRefinement.ELam", @@ -2232,12 +2220,12 @@ "typing_DependentBoolRefinement.lookup", "typing_DependentBoolRefinement.uu___is_EBVar", "typing_DependentBoolRefinement.uu___is_ELam", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "2ea8966a2a4890990e640671d399dce1" + "19111180ba1adfda201d7ea1c42620eb" ], [ "DependentBoolRefinement.check", @@ -2268,7 +2256,8 @@ "data_elim_DependentBoolRefinement.ELam", "data_elim_DependentBoolRefinement.EVar", "data_elim_FStar.Pervasives.Mkdtuple3", - "data_elim_FStar.Tactics.Result.Success", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", "data_typing_intro_DependentBoolRefinement.EBool@tok", "data_typing_intro_DependentBoolRefinement.EVar@tok", "data_typing_intro_FStar.Pervasives.Inl@tok", @@ -2295,7 +2284,7 @@ "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.src_eqn", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.lookup.fuel_instrumented", @@ -2334,8 +2323,6 @@ "projection_inverse_DependentBoolRefinement.EVar__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.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", @@ -2349,7 +2336,6 @@ "string_typing", "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", "typing_DependentBoolRefinement.check_ok_ty", "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", @@ -2358,8 +2344,8 @@ "typing_DependentBoolRefinement.lookup_ty", "typing_DependentBoolRefinement.uu___is_EBVar", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.lookup_bvar", "typing_FStar.Set.mem", + "typing_FStar.Reflection.Typing.lookup_bvar", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], @@ -2383,8 +2369,8 @@ "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "bool_typing", "constructor_distinct_DependentBoolRefinement.EVar", + "bool_inversion", "bool_typing", + "constructor_distinct_DependentBoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_DependentBoolRefinement.TArrow", @@ -2408,17 +2394,15 @@ "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.src_eqn", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "equation_with_fuel_DependentBoolRefinement.fresh.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.lookup.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "function_token_typing_DependentBoolRefinement.binding", "function_token_typing_DependentBoolRefinement.src_eqn", "function_token_typing_Prims.__cache_version_number__", @@ -2441,16 +2425,13 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e08c58976dc9b572addf699730212f78", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.fresh.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", "typing_DependentBoolRefinement.fresh", "typing_DependentBoolRefinement.lookup", "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], @@ -2472,11 +2453,11 @@ "function_token_typing_DependentBoolRefinement.binding", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d2db391e6e28713426a0c204dadb9005", + "refinement_interpretation_Tm_refine_b776681fa1cfd80650be36ce54f75810", "typing_DependentBoolRefinement.lookup" ], 0, - "56c358db6c9987396a6fafd9831466b0" + "7f435776379e9e620cc501be99a68246" ], [ "DependentBoolRefinement.extend_env_l_lookup_bvar", @@ -2490,7 +2471,7 @@ "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_a8f7819b3210ede375e323ab19b4fa5b", + "DependentBoolRefinement_interpretation_Tm_arrow_da037f0de0effeb78e28cefbb6ab5280", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "binder_x_53291ad9202a48478aa9c1b21e607f71_2", @@ -2508,7 +2489,7 @@ "equation_DependentBoolRefinement.extend_env_l", "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.lookup.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -2516,7 +2497,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_DependentBoolRefinement.binding", "function_token_typing_FStar.Reflection.Types.env", "int_inversion", - "interpretation_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "interpretation_Tm_abs_f587ce443e5c535824796434946e858b", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", @@ -2532,10 +2513,10 @@ "typing_DependentBoolRefinement.elab_binding", "typing_DependentBoolRefinement.extend_env_l", "typing_DependentBoolRefinement.lookup", - "typing_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b" + "typing_Tm_abs_f587ce443e5c535824796434946e858b" ], 0, - "2d19e8f0f9220ae6a5d93e4803cfd896" + "18de4671c97a860c417a4bf5453fe03c" ], [ "DependentBoolRefinement.elab_open_commute'", @@ -2548,19 +2529,23 @@ "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.open_exp_.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.open_exp_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_4c99ae3f01f1ab766dc1ce497af9730e", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", @@ -2573,14 +2558,14 @@ "constructor_distinct_DependentBoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_DependentBoolRefinement.EApp", "data_elim_DependentBoolRefinement.EBVar", @@ -2588,20 +2573,20 @@ "data_elim_DependentBoolRefinement.EIf", "data_elim_DependentBoolRefinement.ELam", "data_elim_DependentBoolRefinement.EVar", - "data_elim_FStar.Reflection.Data.Mkbv_view", + "data_elim_FStar.Reflection.V2.Data.Mkbv_view", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_FStar.Reflection.Typing.OpenWith@tok", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.EApp", @@ -2610,64 +2595,79 @@ "disc_equation_DependentBoolRefinement.EIf", "disc_equation_DependentBoolRefinement.ELam", "disc_equation_DependentBoolRefinement.EVar", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.tun", "equation_DependentBoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", - "equation_FStar.Reflection.Typing.bv_index", "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.maybe_index_of_term", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.namedv_uniq", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.open_exp_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "function_token_typing_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.V2.Data.branch", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DependentBoolRefinement.EApp__0", @@ -2685,50 +2685,63 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.EApp", "subterm_ordering_DependentBoolRefinement.EIf", "subterm_ordering_DependentBoolRefinement.ELam", "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", + "token_correspondence_DependentBoolRefinement.open_exp_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", "true_interp", "typing_DependentBoolRefinement.elab_exp", "typing_DependentBoolRefinement.elab_ty", "typing_DependentBoolRefinement.open_exp_", - "typing_DependentBoolRefinement.tun", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Typing.as_binder", - "typing_FStar.Reflection.Typing.make_bv", "typing_FStar.Sealed.seal", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", + "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "a332d763b8e15ed72eebf6706e972a94" + "195dde2967d470846bfcbc0c98c0fb69" ], [ "DependentBoolRefinement.elab_open_commute'", @@ -2741,16 +2754,19 @@ "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.open_exp_.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.open_exp_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_54deee709e06dbd1631f01413bb5dc48_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", @@ -2758,42 +2774,47 @@ "constructor_distinct_DependentBoolRefinement.TArrow", "constructor_distinct_DependentBoolRefinement.TBool", "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Reflection.Typing.OpenWith@tok", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.TArrow", "disc_equation_DependentBoolRefinement.TBool", "disc_equation_DependentBoolRefinement.TRefineBool", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.index", "equation_DependentBoolRefinement.r_b2t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -2802,29 +2823,29 @@ "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.open_ty_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DependentBoolRefinement.TArrow__0", @@ -2832,53 +2853,56 @@ "projection_inverse_DependentBoolRefinement.TRefineBool__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", + "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "true_interp", "typing_DependentBoolRefinement.b2t_fv", "typing_DependentBoolRefinement.elab_exp", "typing_DependentBoolRefinement.elab_ty", "typing_DependentBoolRefinement.open_ty_", "typing_DependentBoolRefinement.r_b2t", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Typing.as_binder", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", - "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.mk_total", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", "typing_FStar.Sealed.seal", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "025086fed4a72a83d46b99582013516f" + "05e1d9cd5c058bfaf803729f907d1424" ], [ "DependentBoolRefinement.elab_open_commute", @@ -2891,15 +2915,15 @@ "@query", "constructor_distinct_DependentBoolRefinement.EVar", "data_typing_intro_DependentBoolRefinement.EVar@tok", "equation_DependentBoolRefinement.open_exp", - "equation_DependentBoolRefinement.tun", + "equation_FStar.Reflection.Typing.make_namedv", "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.var_as_namedv", "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "projection_inverse_DependentBoolRefinement.EVar__0" ], 0, - "2248a981ae2802abc5aa489485fd3e61" + "8af521cd1fc9d0245f84af6a6e1119e9" ], [ "DependentBoolRefinement.b2t_typing", @@ -2908,60 +2932,69 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_Type", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Type@tok", - "data_typing_intro_FStar.Reflection.Typing.OpenWith@tok", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Tactics.Types.E_Total", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Type@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_DependentBoolRefinement.fstar_env", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.subst", "equation_FStar.Reflection.Typing.tm_type", "equation_FStar.Reflection.Typing.u_zero", + "equation_FStar.Reflection.V2.Data.ppname_t", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.string", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "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.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa003e5c56b9f4669c70a0a1141fc22d", "string_typing", "true_interp", - "typing_FStar.Reflection.Builtins.pack_bv", "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.tm_type", "typing_FStar.Reflection.Typing.u_zero", "typing_FStar.Sealed.seal", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "79c5d70e0d3d338972c0c8e0b691a06a" + "7c1188f502ffe769f906244538614ff9" ], [ "DependentBoolRefinement.extend_env_l_lookup_fvar", @@ -2973,7 +3006,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_a8f7819b3210ede375e323ab19b4fa5b", + "DependentBoolRefinement_interpretation_Tm_arrow_da037f0de0effeb78e28cefbb6ab5280", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "binder_x_b57262eead998d474939c05a17e1ffab_0", @@ -2987,9 +3020,9 @@ "equation_DependentBoolRefinement.extend_env_l", "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.universes", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.lookup_fvar", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.lookup_fvar", + "equation_FStar.Reflection.V2.Data.universes", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -2998,7 +3031,7 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.universe", "int_inversion", - "interpretation_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "interpretation_Tm_abs_f587ce443e5c535824796434946e858b", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", "projection_inverse_BoxBool_proj_0", @@ -3010,10 +3043,10 @@ "subterm_ordering_Prims.Cons", "typing_DependentBoolRefinement.elab_binding", "typing_DependentBoolRefinement.extend_env_l", - "typing_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b" + "typing_Tm_abs_f587ce443e5c535824796434946e858b" ], 0, - "d2b25bb4e5db0e58084f9cc3ffb438da" + "ff26da2f31e4a7a0b10e5291a3dce9a5" ], [ "DependentBoolRefinement.subtyping_soundness", @@ -3030,7 +3063,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a3bbc4217919aa2dc3ad1c01dcbe9a18" + "f3b6baf6ad3e958f40f9178e68aca6c4" ], [ "DependentBoolRefinement.elab_close_commute'", @@ -3043,18 +3076,24 @@ "@fuel_correspondence_DependentBoolRefinement.close_ty_.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.close_exp_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.close_ty_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_53291ad9202a48478aa9c1b21e607f71_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", @@ -3066,28 +3105,29 @@ "constructor_distinct_DependentBoolRefinement.ELam", "constructor_distinct_DependentBoolRefinement.EVar", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.CloseVar", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Pat_Constant@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.EApp", @@ -3096,25 +3136,34 @@ "disc_equation_DependentBoolRefinement.EIf", "disc_equation_DependentBoolRefinement.ELam", "disc_equation_DependentBoolRefinement.EVar", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.tun", "equation_DependentBoolRefinement.var", + "equation_FStar.List.Tot.Base.hd", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -3123,35 +3172,39 @@ "equation_with_fuel_DependentBoolRefinement.close_exp_.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "function_token_typing_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.V2.Data.branch", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "kinding_FStar.Reflection.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Addition", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DependentBoolRefinement.EApp__0", @@ -3167,57 +3220,61 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.CloseVar__0", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.EApp", "subterm_ordering_DependentBoolRefinement.EIf", "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", "true_interp", "typing_DependentBoolRefinement.close_exp_", "typing_DependentBoolRefinement.elab_exp", "typing_DependentBoolRefinement.elab_ty", - "typing_DependentBoolRefinement.tun", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Typing.as_binder", - "typing_FStar.Reflection.Typing.make_bv", "typing_FStar.Sealed.seal", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Sealed.seal", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.C_False@tok", - "typing_tok_FStar.Reflection.Data.C_True@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.C_False@tok", + "typing_tok_FStar.Reflection.V2.Data.C_True@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "3e81a74c9fc8eeeade19049b57b7150b" + "2de30aaef8fdcbd6dbc82829b1b75c77" ], [ "DependentBoolRefinement.elab_close_commute'", @@ -3230,16 +3287,20 @@ "@fuel_correspondence_DependentBoolRefinement.close_ty_.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.close_exp_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.close_ty_.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_53291ad9202a48478aa9c1b21e607f71_2", "binder_x_54deee709e06dbd1631f01413bb5dc48_1", @@ -3247,43 +3308,50 @@ "constructor_distinct_DependentBoolRefinement.TArrow", "constructor_distinct_DependentBoolRefinement.TBool", "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.ND", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.TArrow", "disc_equation_DependentBoolRefinement.TBool", "disc_equation_DependentBoolRefinement.TRefineBool", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.index", "equation_DependentBoolRefinement.r_b2t", "equation_DependentBoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -3292,28 +3360,28 @@ "equation_with_fuel_DependentBoolRefinement.close_ty_.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DependentBoolRefinement.TArrow__0", @@ -3321,46 +3389,54 @@ "projection_inverse_DependentBoolRefinement.TRefineBool__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", "token_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "true_interp", "typing_DependentBoolRefinement.b2t_fv", "typing_DependentBoolRefinement.close_ty_", "typing_DependentBoolRefinement.elab_exp", "typing_DependentBoolRefinement.elab_ty", "typing_DependentBoolRefinement.r_b2t", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Typing.as_binder", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.bool_ty", - "typing_FStar.Reflection.Typing.make_bv", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.mk_total", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", "typing_FStar.Sealed.seal", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "4fc39ac38306151cb0e76c973b7adf2a" + "9c0b9241bdef2b4d9d61922e6cc9f5b7" ], [ "DependentBoolRefinement.elab_ty_close_commute", @@ -3369,7 +3445,7 @@ 2, [ "@query", "equation_DependentBoolRefinement.close_ty" ], 0, - "2859ebf0eeb30e5132e9c722a320e29e" + "f22e5c16154472f10121c6668ca06680" ], [ "DependentBoolRefinement.elab_ty_open_with_commute", @@ -3378,7 +3454,7 @@ 2, [ "@query", "equation_DependentBoolRefinement.open_ty_with" ], 0, - "8923f9b11b5220299273480d37ebc09c" + "dc2ae54751e3fde1d8762ec73a4d550a" ], [ "DependentBoolRefinement.elab_ty_open_commute", @@ -3391,15 +3467,15 @@ "@query", "constructor_distinct_DependentBoolRefinement.EVar", "data_typing_intro_DependentBoolRefinement.EVar@tok", "equation_DependentBoolRefinement.open_ty", - "equation_DependentBoolRefinement.tun", + "equation_FStar.Reflection.Typing.make_namedv", "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.var_as_namedv", "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", "projection_inverse_DependentBoolRefinement.EVar__0" ], 0, - "82d982c65cc9f7f6dc2794128dce568a" + "5d9c7e7f79608acd30ff6dfabaaddc64" ], [ "DependentBoolRefinement.elab_open_b2t", @@ -3409,49 +3485,48 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equation_DependentBoolRefinement.open_exp", "equation_DependentBoolRefinement.r_b2t", "equation_DependentBoolRefinement.var", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "function_token_typing_FStar.Reflection.Types.term", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_DependentBoolRefinement.elab_open_commute", "lemma_FStar.Reflection.Typing.inspect_pack", "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", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_DependentBoolRefinement.b2t_fv", "typing_DependentBoolRefinement.elab_exp", "typing_DependentBoolRefinement.r_b2t", - "typing_FStar.Reflection.Builtins.pack_ln", "typing_FStar.Reflection.Typing.open_with_var", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok" + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok" ], 0, - "0237ee5085688d48c8b490db30cf5f06" + "39ba3a8b104367bde3c8c79678bf70e7" ], [ "DependentBoolRefinement.soundness", @@ -3468,7 +3543,6 @@ "@fuel_correspondence_DependentBoolRefinement.src_env_ok.fuel_instrumented", "@fuel_correspondence_DependentBoolRefinement.t_height.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.elab_ty.fuel_instrumented", "@fuel_irrelevance_DependentBoolRefinement.height.fuel_instrumented", @@ -3477,11 +3551,12 @@ "@fuel_irrelevance_DependentBoolRefinement.t_height.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_a8f7819b3210ede375e323ab19b4fa5b", + "DependentBoolRefinement_interpretation_Tm_arrow_da037f0de0effeb78e28cefbb6ab5280", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_2ae8d4c7a7b18f6c504af405dc9d6547_1", @@ -3503,6 +3578,7 @@ "constructor_distinct_FStar.Pervasives.Inr", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_Prims.Cons", "data_elim_DependentBoolRefinement.EBool", "data_elim_DependentBoolRefinement.T_App", @@ -3515,8 +3591,8 @@ "data_typing_intro_FStar.Pervasives.Inl@tok", "data_typing_intro_FStar.Pervasives.Inr@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_DependentBoolRefinement.T_App", @@ -3527,9 +3603,10 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.C_False@tok", - "equality_tok_FStar.Reflection.Data.C_True@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_False@tok", + "equality_tok_FStar.Reflection.V2.Data.C_True@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_DependentBoolRefinement.binding", "equation_DependentBoolRefinement.elab_binding", "equation_DependentBoolRefinement.elab_eqn", @@ -3543,20 +3620,26 @@ "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.src_eqn", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.binder_qual", "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bool_ty", + "equation_FStar.Reflection.Typing.close_comp_typ", + "equation_FStar.Reflection.Typing.close_comp_typ_", "equation_FStar.Reflection.Typing.constant_as_term", "equation_FStar.Reflection.Typing.false_bool", "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_comp", "equation_FStar.Reflection.Typing.mk_if", - "equation_FStar.Reflection.Typing.seal_pp_name", + "equation_FStar.Reflection.Typing.mk_simple_binder", + "equation_FStar.Reflection.Typing.pp_name_default", "equation_FStar.Reflection.Typing.true_bool", "equation_FStar.Reflection.Typing.u_zero", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -3566,6 +3649,7 @@ "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.height.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.src_env_ok.fuel_instrumented", + "equation_with_fuel_DependentBoolRefinement.t_height.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_typing", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -3574,8 +3658,8 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.string", "int_inversion", "int_typing", - "interpretation_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "function_token_typing_Prims.string", "int_inversion", + "interpretation_Tm_abs_f587ce443e5c535824796434946e858b", "kinding_DependentBoolRefinement.src_exp@tok", "kinding_DependentBoolRefinement.src_ty@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -3583,16 +3667,18 @@ "lemma_DependentBoolRefinement.elab_ty_close_commute", "lemma_DependentBoolRefinement.elab_ty_open_with_commute", "lemma_DependentBoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", "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_LessThan", "proj_equation_DependentBoolRefinement.T_Bool_b", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DependentBoolRefinement.EApp__0", @@ -3648,9 +3734,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", @@ -3661,8 +3747,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5627f58d3597eae9d1b33335f84e2a1a", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_aa003e5c56b9f4669c70a0a1141fc22d", "refinement_interpretation_Tm_refine_e08c58976dc9b572addf699730212f78", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "token_correspondence_DependentBoolRefinement.height.fuel_instrumented", @@ -3677,24 +3765,28 @@ "typing_DependentBoolRefinement.s_height", "typing_DependentBoolRefinement.src_env_ok", "typing_DependentBoolRefinement.t_height", - "typing_DependentBoolRefinement.tun", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.bool_fv", - "typing_FStar.Reflection.Typing.bv_index", + "typing_FStar.Reflection.Typing.bool_ty", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", "typing_FStar.Reflection.Typing.lookup_fvar", - "typing_FStar.Reflection.Typing.make_bv", "typing_FStar.Sealed.seal", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.namedv_uniq", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "typing_Tm_abs_f587ce443e5c535824796434946e858b", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "well-founded-ordering-on-nat" ], 0, - "2f0f65eb2edc916d8094d068f99e0540" + "1c0336fb9938a2bb480349c6225167ec" ], [ "DependentBoolRefinement.soundness", @@ -3721,12 +3813,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_a8f7819b3210ede375e323ab19b4fa5b", + "DependentBoolRefinement_interpretation_Tm_arrow_da037f0de0effeb78e28cefbb6ab5280", "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "binder_x_2ae8d4c7a7b18f6c504af405dc9d6547_1", "binder_x_3e453ce2f4f7209353534460b12cbd64_0", "binder_x_54deee709e06dbd1631f01413bb5dc48_2", @@ -3738,17 +3830,19 @@ "constructor_distinct_DependentBoolRefinement.TRefineBool", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_Prims.Cons", "data_elim_DependentBoolRefinement.OK_TArrow", "data_elim_DependentBoolRefinement.OK_TBool", "data_elim_DependentBoolRefinement.OK_TRefine", "data_typing_intro_FStar.Pervasives.Inl@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_DependentBoolRefinement.OK_TArrow", "disc_equation_DependentBoolRefinement.OK_TBool", @@ -3756,7 +3850,8 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equation_DependentBoolRefinement.b2t_fv", "equation_DependentBoolRefinement.binding", "equation_DependentBoolRefinement.elab_binding", @@ -3770,14 +3865,16 @@ "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.src_eqn", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.as_binder", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.bool_ty", + "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.src_env_ok.fuel_instrumented", @@ -3791,20 +3888,21 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "int_inversion", + "interpretation_Tm_abs_f587ce443e5c535824796434946e858b", "kinding_DependentBoolRefinement.src_ty@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_DependentBoolRefinement.elab_ty_open_commute", "lemma_DependentBoolRefinement.extend_env_l_lookup_bvar", "lemma_DependentBoolRefinement.extend_env_l_lookup_fvar", "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "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", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -3830,21 +3928,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_22725d82069874b2c75166e3e3d9871d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5627f58d3597eae9d1b33335f84e2a1a", "refinement_interpretation_Tm_refine_841698a3d35eb0eee9d07e5aee00c80f", "refinement_interpretation_Tm_refine_aa003e5c56b9f4669c70a0a1141fc22d", "refinement_interpretation_Tm_refine_e08c58976dc9b572addf699730212f78", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "token_correspondence_DependentBoolRefinement.t_height.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "typing_DependentBoolRefinement.b2t_fv", @@ -3860,20 +3956,18 @@ "typing_DependentBoolRefinement.src_env_ok", "typing_DependentBoolRefinement.t_height", "typing_DependentBoolRefinement.uu___is_OK_TBool", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.bool_fv", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.seal_pp_name", - "typing_FStar.Set.mem", - "typing_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_Tm_abs_f587ce443e5c535824796434946e858b", "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "well-founded-ordering-on-nat" ], 0, - "841832ebd833546fff34b30d596d1053" + "14d6abef0c623f680dfd3e85226080a3" ], [ "DependentBoolRefinement.soundness_lemma", @@ -3881,11 +3975,13 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_Prims.squash", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3e7858569c2b28e1f8c136b8aa14ca39" + "c9c3e66e170151cbbf4ba1c042d4496b" ], [ "DependentBoolRefinement.closed", @@ -3900,7 +3996,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9864227c78ebcaa2e63f45c8a4ba0337" + "07ec1c5bec3dae581d0b2e7318fda540" ], [ "DependentBoolRefinement.closed", @@ -3931,7 +4027,7 @@ "disc_equation_DependentBoolRefinement.EVar", "equality_tok_DependentBoolRefinement.TBool@tok", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", @@ -3955,10 +4051,10 @@ "projection_inverse_DependentBoolRefinement.ELam__1", "projection_inverse_DependentBoolRefinement.EVar__0", "refinement_interpretation_Tm_refine_0ea8b64a07842fa5ccaeff560a21fea1", - "refinement_interpretation_Tm_refine_2e06bbae35a0c6bec029e86eb7275a1f", - "refinement_interpretation_Tm_refine_39f3c795f95e65e451093565e00e1e57", + "refinement_interpretation_Tm_refine_347804af51f0863509b5544691e546be", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_617e10ee05d71f878ec49f88544d43fc", "refinement_interpretation_Tm_refine_fe8dd6fe91d1fc42e6ad8191a6594f2e", "subterm_ordering_DependentBoolRefinement.EApp", "subterm_ordering_DependentBoolRefinement.EIf", @@ -3970,12 +4066,12 @@ "typing_DependentBoolRefinement.freevars", "typing_DependentBoolRefinement.freevars_ty", "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "6ef6ca227748cb734aca5a6c93484831" + "9be33c7b2172a3acfed1f5729ebcd690" ], [ "DependentBoolRefinement.closed", @@ -3990,7 +4086,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f71f7e7ca27b36ba1a0c777af394c588" + "64df01d4944ce059dcd9eae128f69615" ], [ "DependentBoolRefinement.closed", @@ -4015,7 +4111,7 @@ "disc_equation_DependentBoolRefinement.TRefineBool", "equality_tok_DependentBoolRefinement.TBool@tok", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", "fuel_guarded_inversion_DependentBoolRefinement.src_ty", @@ -4031,17 +4127,17 @@ "projection_inverse_DependentBoolRefinement.TRefineBool__0", "refinement_interpretation_Tm_refine_0ea8b64a07842fa5ccaeff560a21fea1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51cc1625159f39e3788d5e7f1997d2dd", + "refinement_interpretation_Tm_refine_a844ffc37c094c610e53c052bd045bfe", "subterm_ordering_DependentBoolRefinement.TArrow", "subterm_ordering_DependentBoolRefinement.TRefineBool", "typing_DependentBoolRefinement.closed_ty", "typing_DependentBoolRefinement.freevars_ty", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_tok_DependentBoolRefinement.TBool@tok" ], 0, - "1dbeab612a3e705e7bdadd7f90d10f9a" + "ad2c3f7e21b11f5bb08724e52dfd1826" ], [ "DependentBoolRefinement.main", @@ -4053,7 +4149,7 @@ "@fuel_correspondence_DependentBoolRefinement.src_env_ok.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_a8f7819b3210ede375e323ab19b4fa5b", + "DependentBoolRefinement_interpretation_Tm_arrow_da037f0de0effeb78e28cefbb6ab5280", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", @@ -4064,7 +4160,7 @@ "equation_DependentBoolRefinement.ok", "equation_DependentBoolRefinement.src_env", "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_DependentBoolRefinement.src_env_ok.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -4080,11 +4176,11 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_DependentBoolRefinement.closed", "typing_DependentBoolRefinement.freevars", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", - "typing_Tm_abs_e65f9572b763ff4f68e1b2d6ba0c9d3b" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", + "typing_Tm_abs_f587ce443e5c535824796434946e858b" ], 0, - "fee7dfac8f7e5b5a27a4f163c42cd59d" + "ef9bd9450c18aeff16f8b66b22d2915d" ] ] ] \ No newline at end of file diff --git a/examples/dsls/stlc/STLC.Core.fst b/examples/dsls/stlc/STLC.Core.fst index b03be2ee78d..af3f3ee29f4 100755 --- a/examples/dsls/stlc/STLC.Core.fst +++ b/examples/dsls/stlc/STLC.Core.fst @@ -1,6 +1,6 @@ module STLC.Core -module T = FStar.Tactics -module R = FStar.Reflection +module T = FStar.Tactics.V2 +module R = FStar.Reflection.V2 module L = FStar.List.Tot module RT = FStar.Reflection.Typing @@ -148,33 +148,23 @@ let rec fresh (e:list (var & 'a)) : var = match e with | [] -> 0 - | hd :: tl -> + | hd :: tl -> max (fresh tl) (fst hd) + 1 +let _ = assert (fresh [1,();2,();3,();4,()] == 8) // odd.. but ok + let rec fresh_not_mem (e:list (var & 'a)) (elt: (var & 'a)) : Lemma (ensures L.memP elt e ==> fresh e > fst elt) = match e with | [] -> () | hd :: tl -> fresh_not_mem tl elt - -let rec lookup_mem (e:list (var & 'a)) (x:var) + +let lookup_mem (e:list (var & 'a)) (x:var) : Lemma (requires Some? (lookup e x)) (ensures exists elt. L.memP elt e /\ fst elt == x) - = match e with - | [] -> () - | hd :: tl -> - match lookup tl x with - | None -> assert (L.memP hd e) - | _ -> - lookup_mem tl x; - eliminate exists elt. L.memP elt tl /\ fst elt == x - returns _ - with _ . ( - introduce exists elt. L.memP elt e /\ fst elt == x - with elt - and () - ) + = let Some y = lookup e x in + List.Tot.Properties.assoc_memP_some x y e let fresh_is_fresh (e:list (var & 'a)) : Lemma (None? (lookup e (fresh e))) @@ -301,7 +291,7 @@ let rec elab_ty (t:stlc_ty) R.pack_ln (R.Tv_Arrow - (RT.mk_binder RT.pp_name_default 0 t1 R.Q_Explicit) + (RT.mk_simple_binder RT.pp_name_default t1) (R.pack_comp (C_Total t2))) let rec elab_exp (e:stlc_exp) @@ -316,14 +306,13 @@ let rec elab_exp (e:stlc_exp) R.pack_ln (Tv_BVar bv) | EVar n -> - // tun because type does not matter at a use site - let bv = R.pack_bv (RT.make_bv n) in + let bv = R.pack_namedv (RT.make_namedv n) in R.pack_ln (Tv_Var bv) | ELam t e -> let t = elab_ty t in let e = elab_exp e in - R.pack_ln (Tv_Abs (RT.mk_binder RT.pp_name_default 0 t R.Q_Explicit) e) + R.pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default t) e) | EApp e1 e2 -> let e1 = elab_exp e1 in @@ -350,33 +339,33 @@ let rec extend_env_l_lookup_bvar (g:R.env) (sg:stlc_env) (x:var) open FStar.Calc //key lemma about STLC types: Their elaborations are closed -let rec stlc_types_are_closed_core (ty:stlc_ty) (x:RT.open_or_close) (n:nat) - : Lemma (ensures RT.open_or_close_term' (elab_ty ty) x n == elab_ty ty) +let rec stlc_types_are_closed_core (ty:stlc_ty) (ss:RT.subst) + : Lemma (ensures RT.subst_term (elab_ty ty) ss == elab_ty ty) (decreases ty) - [SMTPat (RT.open_or_close_term' (elab_ty ty) x n)] + [SMTPat (RT.subst_term (elab_ty ty) ss)] = match ty with | TUnit -> () | TArrow t1 t2 -> - stlc_types_are_closed_core t1 x n; - stlc_types_are_closed_core t2 x (n + 1) + stlc_types_are_closed_core t1 ss; + stlc_types_are_closed_core t2 (RT.shift_subst ss) let stlc_types_are_closed1 (ty:stlc_ty) (v:R.term) : Lemma (RT.open_with (elab_ty ty) v == elab_ty ty) [SMTPat (RT.open_with (elab_ty ty) v)] - = stlc_types_are_closed_core ty (RT.OpenWith v) 0; + = stlc_types_are_closed_core ty [ RT.DT 0 v ]; RT.open_with_spec (elab_ty ty) v let stlc_types_are_closed2 (ty:stlc_ty) (x:R.var) : Lemma (RT.close_term (elab_ty ty) x == elab_ty ty) [SMTPat (RT.close_term (elab_ty ty) x)] - = stlc_types_are_closed_core ty (RT.CloseVar x) 0; + = stlc_types_are_closed_core ty [ RT.ND x 0 ]; RT.close_term_spec (elab_ty ty) x let stlc_types_are_closed3 (ty:stlc_ty) (x:R.var) : Lemma (RT.open_term (elab_ty ty) x == elab_ty ty) [SMTPat (RT.open_term (elab_ty ty) x)] - = stlc_types_are_closed_core ty (RT.OpenWith (RT.var_as_term x)) 0; + = stlc_types_are_closed_core ty [ RT.DT 0 (RT.var_as_term x) ]; RT.open_term_spec (elab_ty ty) x let rec elab_ty_freevars (ty:stlc_ty) @@ -389,7 +378,7 @@ let rec elab_ty_freevars (ty:stlc_ty) let rec elab_open_commute' (e:stlc_exp) (x:var) (n:nat) : Lemma (ensures - RT.open_or_close_term' (elab_exp e) (RT.open_with_var x) n == + RT.subst_term (elab_exp e) (RT.open_with_var x n) == elab_exp (open_exp' e x n)) (decreases e) = match e with @@ -405,15 +394,14 @@ let rec elab_open_commute' (e:stlc_exp) (x:var) (n:nat) (==) {} elab_exp (ELam t (open_exp' e x (n + 1))); (==) { } - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) (elab_exp (open_exp' e x (n + 1))))); + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) (elab_exp (open_exp' e x (n + 1))))); (==) { elab_open_commute' e x (n + 1) } - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) - (RT.open_or_close_term' (elab_exp e) RT.(open_with_var x) (n + 1)))); - (==) { stlc_types_are_closed_core t (RT.open_with_var x) n } - RT.open_or_close_term' - R.(pack_ln (Tv_Abs (RT.as_binder 0 (elab_ty t)) (elab_exp e))) - RT.(open_with_var x) - n; + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) + (RT.subst_term (elab_exp e) RT.(open_with_var x (n + 1))))); + (==) { stlc_types_are_closed_core t (RT.open_with_var x n) } + RT.subst_term + R.(pack_ln (Tv_Abs (RT.mk_simple_binder RT.pp_name_default (elab_ty t)) (elab_exp e))) + RT.(open_with_var x n); } let elab_open_commute (e:stlc_exp) (x:var) @@ -484,7 +472,7 @@ let rec soundness (#sg:stlc_env) RT.T_Const _ _ _ RT.CT_Unit | T_Var _ x -> - RT.T_Var _ (R.pack_bv (RT.make_bv x)) + RT.T_Var _ (R.pack_namedv (RT.make_namedv x)) | T_Lam _ t e t' x de -> let de : RT.tot_typing (extend_env_l g ((x,t)::sg)) @@ -559,8 +547,6 @@ let main (src:stlc_exp) : RT.dsl_tac_t = (***** Tests *****) -#set-options "--ugly" - %splice_t[foo] (main (ELam TUnit (EBVar 0))) #push-options "--no_smt" diff --git a/examples/dsls/stlc/STLC.Core.fst.hints b/examples/dsls/stlc/STLC.Core.fst.hints index d802d013f02..e9da5119689 100644 --- a/examples/dsls/stlc/STLC.Core.fst.hints +++ b/examples/dsls/stlc/STLC.Core.fst.hints @@ -1,5 +1,5 @@ [ - "cV¦G+­\u001fº®|ý2¿§\u0014ö", + "\u0018´Õ\"˜ðîÞ.ælÚ\"ѾW", [ [ "STLC.Core.stlc_ty", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "74a31ce9567f1c961438bf6c80206d6f" + "0b0acf85b3c46702afe14e30c15902fb" ], [ "STLC.Core.__proj__TArrow__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_e4cd39f93a2f396579d289bfab964471" ], 0, - "9e5a6a4ab49872261b81f77abd7263b3" + "a8ebbce2bad56ebf5166cb4f44b8e081" ], [ "STLC.Core.__proj__TArrow__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_e4cd39f93a2f396579d289bfab964471" ], 0, - "0273cc53683cb455c6d363a9077a9ea5" + "871a1640e9941314f55a1493fe59f4b7" ], [ "STLC.Core.__proj__EBVar__item___0", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_3b65c671f3fc38d8b95112856044c1be" ], 0, - "773ab42f6a42bfc14c71efbab737e502" + "029fe2be769ca4d967bf955a25357c47" ], [ "STLC.Core.__proj__EVar__item___0", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_8dd56feaa7d87df69df9944bc5abe5d1" ], 0, - "1a91fc3a10213e6454d04ccbf927a965" + "7b0f8ecd7c571b94f386cbaa5b45c9f4" ], [ "STLC.Core.__proj__ELam__item___0", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_5a915c96ff333830c43bf398963581f1" ], 0, - "b2ce64f808a162fcb006864e6463dc1a" + "b3af589288df89411aeb5756e091aba3" ], [ "STLC.Core.__proj__ELam__item___1", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_5a915c96ff333830c43bf398963581f1" ], 0, - "e884d049ebc5cf37115233a0c8dc638f" + "cd3972988c5176970401462dd5b620ec" ], [ "STLC.Core.__proj__EApp__item___0", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_42d6d1e0f5af9d1c45bb39524a5dfa89" ], 0, - "9584c26a38d7298741bed7fe4ce471a3" + "eab724cca8951cceb09f547fb294189f" ], [ "STLC.Core.__proj__EApp__item___1", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_42d6d1e0f5af9d1c45bb39524a5dfa89" ], 0, - "8adaecd0695bbd54f3c9f6b2c524d763" + "805cff7adf61f584cfb24c10865202e5" ], [ "STLC.Core.size", @@ -126,7 +126,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "e9ee85f3a2b8f7579c6f8d955fa026d3" + "2349c005b224aa7639a172fc6d64f92e" ], [ "STLC.Core.ln'", @@ -146,7 +146,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "a480c244a221f9f4723225130ea7c615" + "93d4a91dcce5af1a53d5ca3f21d3b037" ], [ "STLC.Core.open_exp'", @@ -190,7 +190,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "83384a59136eb05a41ef183c750e54d1" + "7b4d087e044743c3cd15612b2eb4b383" ], [ "STLC.Core.close_exp'", @@ -233,7 +233,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "8745a7ee8a2bece8340ebd204143323e" + "1e40b8b7b965282b22000bd89d51ca5d" ], [ "STLC.Core.open_close'", @@ -287,7 +287,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "c404c7c7a78bcdd72a5c01ea4cfd681f" + "368415cb37796599d707b557d8f032eb" ], [ "STLC.Core.open_close", @@ -302,7 +302,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "951d9d862470a3319397429c17b8f0e0" + "753f459d821ca063a5c7bb5d9357c4a4" ], [ "STLC.Core.open_exp_ln", @@ -353,7 +353,7 @@ "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" ], 0, - "811a154af0ecaca0ef8392e2ddff732f" + "f0a62918aa28790b9f5def95bcdef0da" ], [ "STLC.Core.close_exp_ln", @@ -402,7 +402,7 @@ "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" ], 0, - "0a4bb8cddbb7d1a6b4ca31eee594dc4b" + "08ca648dbc914c6494ac4c6cc7770ad7" ], [ "STLC.Core.freevars", @@ -417,7 +417,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6f68e0e546b8a977c7ca90218122992d" + "93ecd65f7574c71c0760009f5feeb565" ], [ "STLC.Core.freevars", @@ -442,7 +442,7 @@ "typing_tok_STLC.Core.EUnit@tok" ], 0, - "b1c34a6e26404f7af56cc25116741886" + "3d82d2cabdd098fa795fbb3712575980" ], [ "STLC.Core.closed", @@ -457,7 +457,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7c8eca1db2a0d61ceae296cfef9ada1b" + "ee866d9b61d4c0ea4e7d8c43399a4274" ], [ "STLC.Core.closed", @@ -478,7 +478,7 @@ "disc_equation_STLC.Core.EApp", "disc_equation_STLC.Core.EBVar", "disc_equation_STLC.Core.ELam", "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", "equality_tok_STLC.Core.EUnit@tok", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_STLC.Core.var", "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", "fuel_guarded_inversion_STLC.Core.stlc_exp", @@ -502,13 +502,13 @@ "refinement_interpretation_Tm_refine_b15559f8f68748fe9c7c84f456ec7265", "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", "token_correspondence_STLC.Core.freevars.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_STLC.Core.closed", "typing_STLC.Core.freevars", "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" ], 0, - "9ad6a3ed81d091798ece7f0459d97003" + "1ed9896f94f74365920ad5d3a017e7a0" ], [ "STLC.Core.freevars_open", @@ -523,7 +523,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46e2058caf2afc845f5b59e8ba6d4c2e" + "cb15cff991b24bf8ece773a9896f7d20" ], [ "STLC.Core.freevars_open", @@ -548,7 +548,7 @@ "disc_equation_STLC.Core.EApp", "disc_equation_STLC.Core.EBVar", "disc_equation_STLC.Core.ELam", "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", "equality_tok_STLC.Core.EUnit@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_STLC.Core.index", "equation_STLC.Core.var", "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", @@ -571,13 +571,13 @@ "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", "token_correspondence_STLC.Core.freevars.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_STLC.Core.freevars", "typing_STLC.Core.open_exp_", "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" ], 0, - "6fe949880499884e55d3ef0aed8a9465" + "8bc1827d6109667a87de88f791b75030" ], [ "STLC.Core.lookup", @@ -592,7 +592,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "613effd206668e8288dde28107e62953" + "12cd0bce2b25f4ee452c875c4350ab98" ], [ "STLC.Core.fresh", @@ -611,7 +611,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "f0213495762dfaf86b23279c8d0daf79" + "e4915171b44d09dcaa6ce6285332adaa" ], [ "STLC.Core.fresh_not_mem", @@ -647,7 +647,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "67b5f6b91fe1fb3ee856a81ca126a0ae" + "24d4285e45b717ee246722788ff98f99" ], [ "STLC.Core.lookup_mem", @@ -669,7 +669,7 @@ "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_STLC.Core.lookup", "equation_STLC.Core.var", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", @@ -688,11 +688,11 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Data.var", "typing_STLC.Core.lookup", + "typing_FStar.Reflection.V2.Data.var", "typing_STLC.Core.lookup", "unit_inversion", "unit_typing" ], 0, - "893ab52347d17e661eb6b9fff3875853" + "c6e1bf1fbcf1abd95c76037b48290367" ], [ "STLC.Core.fresh_is_fresh", @@ -710,7 +710,7 @@ "typing_STLC.Core.fresh", "typing_STLC.Core.lookup" ], 0, - "088110d0179905de1cfb63e04b32e580" + "5e9d41845edaa4d8cf7b8039d2eee682" ], [ "STLC.Core.stlc_typing", @@ -725,7 +725,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2bb7899d48dae10dc261282cdb41639" + "c258109cd72a5399c87ff6c26304e456" ], [ "STLC.Core.stlc_typing", @@ -737,7 +737,7 @@ "refinement_interpretation_Tm_refine_cced09f03a5bf8ddedf8f5f1ea3ccbfa" ], 0, - "6f6748850a84619b2d63f3bdb6deffbb" + "35fce9b9e9801675065eeceb5d503de9" ], [ "STLC.Core.__proj__T_Unit__item__g", @@ -749,7 +749,7 @@ "refinement_interpretation_Tm_refine_3a99bf8f5077b2b47494963d853bc52b" ], 0, - "2ea689e58f0912f7cc00ff2d5224402b" + "6d9a31756e9989b47325770e01f3aa51" ], [ "STLC.Core.__proj__T_Var__item__g", @@ -761,7 +761,7 @@ "refinement_interpretation_Tm_refine_c9be4b45375bd3e25c3f783b967dd122" ], 0, - "c921e01ec821db116f69a1b9dc410062" + "b31911c21c75d7f8d6f6d8cf99f8b6a2" ], [ "STLC.Core.__proj__T_Var__item__x", @@ -773,7 +773,7 @@ "refinement_interpretation_Tm_refine_c9be4b45375bd3e25c3f783b967dd122" ], 0, - "3f3a4aabbf17aed1da649d2a8ca7fed0" + "fc66a6cfa1276aba3f1a45813666f0ab" ], [ "STLC.Core.__proj__T_Lam__item__g", @@ -785,7 +785,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "970b3d7194e4769eff4e97c9e56526b2" + "fca14ddeae08cfee79a92a7356e9991b" ], [ "STLC.Core.__proj__T_Lam__item__t", @@ -797,7 +797,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "2c9d96851851bebb5cdb0c9cd1533292" + "5145f39601f5c90315c8e0d36de39c30" ], [ "STLC.Core.__proj__T_Lam__item__e", @@ -809,7 +809,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "ee64909106f05334110922594ef91521" + "1b1bfaeb55182ba5120f1162d33c8bcd" ], [ "STLC.Core.__proj__T_Lam__item__t'", @@ -821,7 +821,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "157bf2eddb0f14ca394b7eb12b125422" + "7dfc7b1359cde30fc2f52a5df243fbc5" ], [ "STLC.Core.__proj__T_Lam__item__x", @@ -836,7 +836,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ca0629e55fa2e1428f9dfb538f4efbe0" + "554c44c359e04f6983b2e24f8214932e" ], [ "STLC.Core.__proj__T_Lam__item__x", @@ -852,7 +852,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "30910f1b37ce895974ae9dd776343a22" + "e029a8368a7275d0c52d6db59863c1e1" ], [ "STLC.Core.__proj__T_Lam__item___5", @@ -867,7 +867,7 @@ "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" ], 0, - "ea23c0148ff92f3c7030e01c307b41c9" + "2fa9a6398cab775c7cfb6fbe255afde4" ], [ "STLC.Core.__proj__T_App__item__g", @@ -879,7 +879,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "a0ca3bd93a62d599e007ad334085bcf0" + "2435c99332806ed392c51471af385d90" ], [ "STLC.Core.__proj__T_App__item__e1", @@ -891,7 +891,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "e3ce03430c52bfd19764add0f9332025" + "74ff111a51b0055af191459fdbea503d" ], [ "STLC.Core.__proj__T_App__item__e2", @@ -903,7 +903,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "6558df53fe0e83b493164638c2946b68" + "76f7bd17ac66e7d56121c2a573dba6bf" ], [ "STLC.Core.__proj__T_App__item__t", @@ -915,7 +915,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "2a4f9791911f858514f7336f74c20593" + "a682fe7ea982222ac1c3d7b42c4e28cd" ], [ "STLC.Core.__proj__T_App__item__t'", @@ -927,7 +927,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "628d677239941456adde16a771463bad" + "f35b494e801713d1f8ccf39529231357" ], [ "STLC.Core.__proj__T_App__item___5", @@ -939,7 +939,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "3ce43637a23ce34a2f9d69678f2b31b9" + "7bc4807cacbd70dfba083c01ea4d2bab" ], [ "STLC.Core.__proj__T_App__item___6", @@ -951,7 +951,7 @@ "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" ], 0, - "c054a3b43e6ad4b04281d3a7f3d605b4" + "c39f60a96400fd186b7145259c0fed18" ], [ "STLC.Core.ty_to_string'", @@ -969,7 +969,7 @@ "subterm_ordering_STLC.Core.TArrow", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "e3b24d8faea63dd72e838b88aa8c6fe2" + "84286178c316f11b3399d921e09bcf2f" ], [ "STLC.Core.vars_of_env", @@ -984,7 +984,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "68d09a178f1b89ae1b71209fa7bd6033" + "1f4fb1ea83ff0839dacda9779d5df320" ], [ "STLC.Core.check", @@ -999,7 +999,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b0aca16a7165dfeda4e7a728e58fb44" + "029b6f6fbd782f4fb6a42a1f55dc655a" ], [ "STLC.Core.check", @@ -1034,7 +1034,7 @@ "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", "disc_equation_STLC.Core.TArrow", "equality_tok_STLC.Core.EUnit@tok", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.subset", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", "equation_Prims.nat", "equation_STLC.Core.contains", "equation_STLC.Core.index", "equation_STLC.Core.ln", "equation_STLC.Core.lookup", "equation_STLC.Core.open_exp", @@ -1075,7 +1075,7 @@ "token_correspondence_STLC.Core.contains", "token_correspondence_STLC.Core.freevars.fuel_instrumented", "token_correspondence_STLC.Core.ln_.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_STLC.Core.__proj__ELam__item___1", "typing_STLC.Core.freevars", "typing_STLC.Core.fresh", @@ -1084,7 +1084,7 @@ "typing_tok_STLC.Core.EUnit@tok", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "b3f44d3136af7ec33e11443c6e4589dd" + "325db1d7c6f15d1696d975f4d0edc788" ], [ "STLC.Core.elab_ty", @@ -1102,7 +1102,7 @@ "subterm_ordering_STLC.Core.TArrow", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "43b8737ed87e0b2007b94d9c3acac93c" + "b6d9a5d1f5cbcb846045e9f24eb82cfb" ], [ "STLC.Core.elab_exp", @@ -1132,7 +1132,7 @@ "typing_STLC.Core.size", "well-founded-ordering-on-nat" ], 0, - "984ec6f493420a4b6c2f7eacb6fb0369" + "7570a834e43be712b4120bafb1fd3c9f" ], [ "STLC.Core.extend_env_l_lookup_bvar", @@ -1148,11 +1148,11 @@ "equation_STLC.Core.stlc_env", "kinding_STLC.Core.stlc_ty@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14d7edc875db3c357b64d03f14a030d0", + "refinement_interpretation_Tm_refine_527f8e4146c979a28afe2a3f666a189f", "typing_STLC.Core.lookup", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "898fdef292156c87dc3b97368fd7f67f" + "fc90c5d4e06d273a24defdaa65671d8e" ], [ "STLC.Core.extend_env_l_lookup_bvar", @@ -1169,7 +1169,7 @@ "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "STLC.Core_interpretation_Tm_arrow_9b17f5df2eecfdd3ef214f2ed31a9421", + "STLC.Core_interpretation_Tm_arrow_91e07b94b5937f4a3ff652ba5068e773", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_3c9f31759cbf15ef1c647817d05db5f9_2", "binder_x_9bad35bf99f3b119fc38a05c56093903_1", @@ -1182,17 +1182,16 @@ "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_STLC.Core.extend_env_l", "equation_STLC.Core.lookup", "equation_STLC.Core.stlc_env", "equation_STLC.Core.var", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_STLC.Core.elab_ty.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.Reflection.Types.env", "int_inversion", - "interpretation_Tm_abs_f92e79ff5e444b7ec0479eff214f57e3", + "interpretation_Tm_abs_454c2d058f0957bb0c79dfebdd032815", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_STLC.Core.stlc_ty@tok", "lemma_FStar.Pervasives.invertOption", @@ -1204,14 +1203,14 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.Reflection.Data.var", + "subterm_ordering_Prims.Cons", "typing_FStar.Reflection.V2.Data.var", "typing_STLC.Core.elab_ty", "typing_STLC.Core.extend_env_l", "typing_STLC.Core.lookup", - "typing_Tm_abs_f92e79ff5e444b7ec0479eff214f57e3", + "typing_Tm_abs_454c2d058f0957bb0c79dfebdd032815", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "25d6a8a83f634baf46298e1bb11aa655" + "b25b3d260d2d2d21030b71e544298f0a" ], [ "STLC.Core.stlc_types_are_closed_core", @@ -1220,97 +1219,81 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_ty.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_2e422433f33e373905c3c0dcc0de7e25_0", - "binder_x_533bf3ef86a910ea5007104587667f43_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_Prims.Nil", + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_1", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", "constructor_distinct_STLC.Core.TArrow", "constructor_distinct_STLC.Core.TUnit", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_STLC.Core.TArrow", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "disc_equation_STLC.Core.TArrow", "disc_equation_STLC.Core.TUnit", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", "equation_FStar.Reflection.Typing.unit_fv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "equation_with_fuel_STLC.Core.elab_ty.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", "fuel_guarded_inversion_STLC.Core.stlc_ty", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.string", "int_inversion", "int_typing", + "function_token_typing_Prims.string", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "projection_inverse_STLC.Core.TArrow__0", "projection_inverse_STLC.Core.TArrow__1", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_0bfa7d1cc2d2b388c44cacdb67a7c240", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63b354efe9e5f9b35c141780ab98c782", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "string_typing", "subterm_ordering_STLC.Core.TArrow", "true_interp", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_comp", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "string_typing", "subterm_ordering_STLC.Core.TArrow", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "true_interp", "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Reflection.Typing.unit_fv", "typing_FStar.Sealed.seal", - "typing_STLC.Core.elab_ty", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_FStar.Reflection.Typing.unit_fv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_comp", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", + "typing_FStar.Sealed.seal", "typing_STLC.Core.elab_ty", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "82c1891ff4a863a235df8fb2c011b983" + "1d99d01e57a77d65f08b7c54a9f44127" ], [ "STLC.Core.stlc_types_are_closed1", @@ -1319,7 +1302,7 @@ 1, [ "@query" ], 0, - "f697f938ac52401332b5a0557843eeff" + "ed7fcca42f9b39cd6b4240b4de80b609" ], [ "STLC.Core.stlc_types_are_closed2", @@ -1328,7 +1311,7 @@ 1, [ "@query" ], 0, - "ae36c9707c27165952d56c649105dac2" + "f6359c0286eb1287fb57ab7da92d1edf" ], [ "STLC.Core.stlc_types_are_closed3", @@ -1337,10 +1320,11 @@ 1, [ "@query", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", "equation_FStar.Reflection.Typing.var_as_term" ], 0, - "705c3274899435cf5fc099e851977e02" + "2fd4d0a8006ff13388358c141ad98e07" ], [ "STLC.Core.elab_ty_freevars", @@ -1352,33 +1336,31 @@ "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_ty.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_2e422433f33e373905c3c0dcc0de7e25_0", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", "constructor_distinct_STLC.Core.TArrow", "constructor_distinct_STLC.Core.TUnit", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_STLC.Core.TArrow", - "disc_equation_STLC.Core.TUnit", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_FVar@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Nil", + "disc_equation_STLC.Core.TArrow", "disc_equation_STLC.Core.TUnit", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", "equation_FStar.Reflection.Typing.unit_fv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", @@ -1386,61 +1368,56 @@ "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "equation_with_fuel_STLC.Core.elab_ty.fuel_instrumented", "fuel_guarded_inversion_STLC.Core.stlc_ty", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.string", "int_inversion", "int_typing", + "function_token_typing_Prims.string", "int_inversion", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", "projection_inverse_STLC.Core.TArrow__0", "projection_inverse_STLC.Core.TArrow__1", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_STLC.Core.TArrow", + "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "true_interp", "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_comp", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.mk_binder", + "true_interp", "typing_FStar.Reflection.Typing.freevars", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Reflection.Typing.unit_fv", "typing_FStar.Sealed.seal", + "typing_FStar.Reflection.Typing.unit_fv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_comp", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_STLC.Core.elab_ty", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "3e7725b8981cf522f11cadb69a4f6ecd" + "a9830db1cd9468176e1ca8408f198df2" ], [ "STLC.Core.elab_open_commute'", @@ -1449,141 +1426,179 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_correspondence_STLC.Core.elab_exp.fuel_instrumented", - "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", "@fuel_correspondence_STLC.Core.open_exp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_exp.fuel_instrumented", "@fuel_irrelevance_STLC.Core.open_exp_.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Types_pretyping_8632d594431d6c78cb2dd50457d25394", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", "binder_x_89abde120be4ca7f61b90e68ba77b262_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Types.term", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.unit", "constructor_distinct_STLC.Core.EApp", "constructor_distinct_STLC.Core.EBVar", "constructor_distinct_STLC.Core.ELam", "constructor_distinct_STLC.Core.EUnit", "constructor_distinct_STLC.Core.EVar", - "data_elim_FStar.Reflection.Data.Mkbv_view", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_STLC.Core.EApp", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "disc_equation_STLC.Core.EApp", "disc_equation_STLC.Core.EBVar", "disc_equation_STLC.Core.ELam", "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", - "equality_tok_FStar.Reflection.Data.C_Unit@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.C_Unit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equality_tok_STLC.Core.EUnit@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.as_binder", "equation_FStar.Reflection.Typing.make_bv", - "equation_FStar.Reflection.Typing.maybe_index_of_term", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.seal_pp_name", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", "equation_Prims.nat", - "equation_STLC.Core.index", "equation_STLC.Core.tun", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Sealed.Inhabited.seal", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_STLC.Core.index", "equation_STLC.Core.var", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "equation_with_fuel_STLC.Core.elab_exp.fuel_instrumented", - "equation_with_fuel_STLC.Core.elab_ty.fuel_instrumented", "equation_with_fuel_STLC.Core.open_exp_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_STLC.Core.stlc_exp", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "int_typing", "kinding_FStar.Reflection.Data.aqualv@tok", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_Prims.string", "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", "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_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_STLC.Core.EApp__0", "projection_inverse_STLC.Core.EApp__1", "projection_inverse_STLC.Core.EBVar__0", "projection_inverse_STLC.Core.ELam__0", "projection_inverse_STLC.Core.ELam__1", "projection_inverse_STLC.Core.EVar__0", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Typing.as_binder", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_STLC.Core.elab_exp.fuel_instrumented", + "true_interp", + "typing_FStar.Reflection.Typing.find_matching_subst_elt_bv", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.maybe_index_of_term", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_bv", - "typing_STLC.Core.elab_exp", "typing_STLC.Core.elab_ty", - "typing_STLC.Core.open_exp_", "typing_STLC.Core.tun", - "typing_tok_FStar.Reflection.Data.C_Unit@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", - "typing_tok_STLC.Core.EUnit@tok" + "typing_FStar.Reflection.Typing.open_with_var_elt", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Sealed.seal", "typing_STLC.Core.elab_exp", + "typing_STLC.Core.elab_ty", "typing_STLC.Core.open_exp_", + "typing_tok_FStar.Reflection.V2.Data.C_Unit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "typing_tok_STLC.Core.EUnit@tok", "unit_typing" ], 0, - "eeda1937e5e9420d9eb2d3bc5dc00583" + "8c30dce70f8df87e12e27b24ab7caf64" ], [ "STLC.Core.elab_open_commute", @@ -1592,7 +1607,7 @@ 1, [ "@query", "equation_STLC.Core.open_exp" ], 0, - "dc3abc7e85ae7af71e0c7405be2200be" + "4b5e1f21bf8834083dbb269503a37993" ], [ "STLC.Core.extend_env_l_lookup_fvar", @@ -1607,7 +1622,7 @@ "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "STLC.Core_interpretation_Tm_arrow_9b17f5df2eecfdd3ef214f2ed31a9421", + "STLC.Core_interpretation_Tm_arrow_91e07b94b5937f4a3ff652ba5068e773", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_9bad35bf99f3b119fc38a05c56093903_1", "binder_x_b57262eead998d474939c05a17e1ffab_0", @@ -1615,9 +1630,9 @@ "data_elim_FStar.Pervasives.Native.Mktuple2", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.universes", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Typing.lookup_fvar", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.lookup_fvar", + "equation_FStar.Reflection.V2.Data.universes", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", "equation_STLC.Core.extend_env_l", "equation_STLC.Core.stlc_env", "equation_STLC.Core.var", @@ -1627,7 +1642,7 @@ "function_token_typing_FStar.Reflection.Types.env", "function_token_typing_FStar.Reflection.Types.universe", "int_inversion", - "interpretation_Tm_abs_f92e79ff5e444b7ec0479eff214f57e3", + "interpretation_Tm_abs_454c2d058f0957bb0c79dfebdd032815", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_STLC.Core.stlc_ty@tok", "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", @@ -1639,11 +1654,11 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_STLC.Core.elab_ty", "typing_STLC.Core.extend_env_l", - "typing_Tm_abs_f92e79ff5e444b7ec0479eff214f57e3", + "typing_Tm_abs_454c2d058f0957bb0c79dfebdd032815", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "ac4ecc8af183fe920e0e0418dc1f3c3b" + "8725cc0cf497e0c11370a8d119672dab" ], [ "STLC.Core.elab_ty_soundness", @@ -1655,23 +1670,34 @@ "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_ty.fuel_instrumented", "@query", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_2e422433f33e373905c3c0dcc0de7e25_2", "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", "binder_x_9bad35bf99f3b119fc38a05c56093903_1", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_STLC.Core.TArrow", "constructor_distinct_STLC.Core.TUnit", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_STLC.Core.TArrow", "disc_equation_STLC.Core.TUnit", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.var", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_env_fvs", "equation_FStar.Reflection.Typing.fstar_top_env", + "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.unit_fv", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.unit_fv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_STLC.Core.stlc_env", "equation_STLC.Core.var", "equation_with_fuel_STLC.Core.elab_ty.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -1682,8 +1708,12 @@ "lemma_STLC.Core.extend_env_l_lookup_bvar", "lemma_STLC.Core.extend_env_l_lookup_fvar", "lemma_STLC.Core.stlc_types_are_closed3", + "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_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_STLC.Core.TArrow__0", @@ -1691,15 +1721,15 @@ "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", "subterm_ordering_STLC.Core.TArrow", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.unit_fv", "typing_FStar.Set.empty", + "typing_FStar.Reflection.Typing.unit_fv", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_STLC.Core.elab_ty", "typing_STLC.Core.fresh", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "01dc6f9c95e3b2ba59ae151b120837e3" + "eafc5852a19258ada0d35b8834d0641b" ], [ "STLC.Core.elab_exp_freevars", @@ -1714,7 +1744,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e683c674c95edfbf74212fa5065f1cbc" + "861b9f6c2b4696b8b0cdd23177e04542" ], [ "STLC.Core.elab_exp_freevars", @@ -1728,54 +1758,52 @@ "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", "@fuel_correspondence_STLC.Core.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_exp.fuel_instrumented", "@fuel_irrelevance_STLC.Core.freevars.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", "binder_x_89abde120be4ca7f61b90e68ba77b262_0", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_Prims.Nil", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", "constructor_distinct_STLC.Core.EApp", "constructor_distinct_STLC.Core.EBVar", "constructor_distinct_STLC.Core.ELam", "constructor_distinct_STLC.Core.EUnit", "constructor_distinct_STLC.Core.EVar", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Const@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_STLC.Core.EApp", - "disc_equation_STLC.Core.EBVar", "disc_equation_STLC.Core.ELam", - "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", - "equality_tok_FStar.Reflection.Data.C_Unit@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Const@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Nil", + "disc_equation_STLC.Core.EApp", "disc_equation_STLC.Core.EBVar", + "disc_equation_STLC.Core.ELam", "disc_equation_STLC.Core.EUnit", + "disc_equation_STLC.Core.EVar", + "equality_tok_FStar.Reflection.V2.Data.C_Unit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "equality_tok_STLC.Core.EUnit@tok", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_STLC.Core.index", - "equation_STLC.Core.tun", "equation_STLC.Core.var", + "equation_STLC.Core.var", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", "equation_with_fuel_STLC.Core.elab_exp.fuel_instrumented", "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", @@ -1783,32 +1811,28 @@ "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Reflection.Typing.inspect_pack", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_Prims.Nil_a", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_STLC.Core.EApp__0", "projection_inverse_STLC.Core.EApp__1", "projection_inverse_STLC.Core.EBVar__0", @@ -1817,26 +1841,30 @@ "projection_inverse_STLC.Core.EVar__0", "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "true_interp", "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.freevars", + "true_interp", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_binder", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_STLC.Core.elab_exp", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.freevars", - "typing_STLC.Core.tun", - "typing_tok_FStar.Reflection.Data.C_Unit@tok", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_STLC.Core.elab_exp", "typing_STLC.Core.elab_ty", + "typing_STLC.Core.freevars", + "typing_tok_FStar.Reflection.V2.Data.C_Unit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "typing_tok_STLC.Core.EUnit@tok" ], 0, - "935ed9931f3f15e8a2e7430b07d2a9fc" + "17099eade5f4edf27eb132ff822ab017" ], [ "STLC.Core.soundness", @@ -1845,81 +1873,106 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_correspondence_STLC.Core.elab_exp.fuel_instrumented", "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", "@fuel_correspondence_STLC.Core.freevars.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_exp.fuel_instrumented", "@fuel_irrelevance_STLC.Core.elab_ty.fuel_instrumented", "@query", + "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.Types_pretyping_05a3bdeb4a1637ac1bf12ee84facf747", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", "binder_x_06b33a9535240e4c4c84f8ee9854ed1c_3", "binder_x_2e422433f33e373905c3c0dcc0de7e25_2", "binder_x_89abde120be4ca7f61b90e68ba77b262_1", "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_4", - "binder_x_9bad35bf99f3b119fc38a05c56093903_0", "bool_inversion", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.Types.E_Total", "constructor_distinct_STLC.Core.EApp", "constructor_distinct_STLC.Core.ELam", "constructor_distinct_STLC.Core.EUnit", "constructor_distinct_STLC.Core.EVar", "constructor_distinct_STLC.Core.TArrow", - "constructor_distinct_STLC.Core.TUnit", "data_elim_STLC.Core.T_App", - "data_elim_STLC.Core.T_Lam", "data_elim_STLC.Core.T_Unit", - "data_elim_STLC.Core.T_Var", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", + "constructor_distinct_STLC.Core.TUnit", + "data_elim_FStar.Reflection.Typing.T_Abs", + "data_elim_STLC.Core.T_App", "data_elim_STLC.Core.T_Lam", + "data_elim_STLC.Core.T_Unit", "data_elim_STLC.Core.T_Var", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Tactics.Types.E_Ghost@tok", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", "disc_equation_STLC.Core.T_App", "disc_equation_STLC.Core.T_Lam", "disc_equation_STLC.Core.T_Unit", "disc_equation_STLC.Core.T_Var", - "equality_tok_FStar.Reflection.Data.C_Unit@tok", - "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Integers.Winfinite@tok", + "equality_tok_FStar.Reflection.V2.Data.C_Unit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Tactics.Types.E_Total@tok", "equality_tok_STLC.Core.EUnit@tok", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", + "equality_tok_STLC.Core.TUnit@tok", "equation_FStar.Integers.int_t", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.binder_qual", "equation_FStar.Reflection.Typing.binder_sort", + "equation_FStar.Reflection.Typing.close_comp_typ", + "equation_FStar.Reflection.Typing.close_comp_typ_", "equation_FStar.Reflection.Typing.constant_as_term", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", "equation_FStar.Reflection.Typing.mk_binder", + "equation_FStar.Reflection.Typing.mk_comp", + "equation_FStar.Reflection.Typing.mk_simple_binder", "equation_FStar.Reflection.Typing.mk_total", "equation_FStar.Reflection.Typing.pp_name_default", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.u_zero", "equation_FStar.Reflection.Typing.unit_fv", "equation_FStar.Reflection.Typing.unit_ty", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Sealed.Inhabited.is_sealed", "equation_FStar.Sealed.Inhabited.seal", "equation_FStar.Sealed.Inhabited.sealed", "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.open_exp", - "equation_STLC.Core.var", + "equation_Prims.nat", "equation_STLC.Core.extend_env_l", + "equation_STLC.Core.open_exp", "equation_STLC.Core.var", "equation_with_fuel_STLC.Core.elab_exp.fuel_instrumented", "equation_with_fuel_STLC.Core.elab_ty.fuel_instrumented", - "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_STLC.Core.stlc_typing", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.lemma_equal_elim", "lemma_STLC.Core.elab_open_commute", "lemma_STLC.Core.extend_env_l_lookup_bvar", "lemma_STLC.Core.stlc_types_are_closed1", - "lemma_STLC.Core.stlc_types_are_closed2", + "lemma_STLC.Core.stlc_types_are_closed_core", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Integers.Signed__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.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_STLC.Core.EApp__0", "projection_inverse_STLC.Core.EApp__1", "projection_inverse_STLC.Core.ELam__0", @@ -1932,24 +1985,27 @@ "refinement_interpretation_Tm_refine_262f039a938fc14ac016e995f8cd074e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", + "refinement_interpretation_Tm_refine_ccc981f509c8fc58c1361c205467ade0", "refinement_interpretation_Tm_refine_cced09f03a5bf8ddedf8f5f1ea3ccbfa", "string_typing", "subterm_ordering_STLC.Core.T_App", "subterm_ordering_STLC.Core.T_Lam", "true_interp", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.bv_index", "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.make_bv", "typing_FStar.Sealed.seal", - "typing_FStar.Set.mem", "typing_STLC.Core.elab_exp", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.freevars", - "typing_STLC.Core.tun", "typing_STLC.Core.uu___is_T_Unit", - "typing_tok_FStar.Reflection.Data.Q_Explicit@tok", + "typing_FStar.Reflection.Typing.make_namedv", + "typing_FStar.Reflection.Typing.mk_simple_binder", + "typing_FStar.Reflection.Typing.namedv_uniq", + "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_STLC.Core.elab_exp", "typing_STLC.Core.elab_ty", + "typing_STLC.Core.freevars", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", "typing_tok_STLC.Core.EUnit@tok", "typing_tok_STLC.Core.TUnit@tok" ], 0, - "5d45b07577b990feeed7ec83c6022bac" + "6e8eacb677c0557f98d1a52bb4eb51ae" ], [ "STLC.Core.soundness_lemma", @@ -1957,11 +2013,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_Prims.squash", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "385aca0d51b17db5d9c1141076267edc" + "2df8fd1ee8971c4b58725083928590b4" ], [ "STLC.Core.main", @@ -1976,16 +2034,17 @@ "@query", "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "STLC.Core_interpretation_Tm_arrow_9b17f5df2eecfdd3ef214f2ed31a9421", + "STLC.Core_interpretation_Tm_arrow_91e07b94b5937f4a3ff652ba5068e773", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.fstar_env", "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Set.subset", "equation_Prims.nat", - "equation_STLC.Core.extend_env_l", "equation_STLC.Core.var", + "equation_FStar.Reflection.Typing.tot_typing", + "equation_FStar.Reflection.V2.Data.var", "equation_FStar.Set.subset", + "equation_Prims.nat", "equation_STLC.Core.extend_env_l", + "equation_STLC.Core.var", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -2003,12 +2062,12 @@ "refinement_interpretation_Tm_refine_b15559f8f68748fe9c7c84f456ec7265", "refinement_interpretation_Tm_refine_b9943bf670d3eeece9d9f2e3e534ed66", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.Data.var", "typing_FStar.Set.empty", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_STLC.Core.closed", "typing_STLC.Core.freevars", - "typing_Tm_abs_f92e79ff5e444b7ec0479eff214f57e3" + "typing_Tm_abs_454c2d058f0957bb0c79dfebdd032815" ], 0, - "63b5199744b235ab991f9ecc916d2019" + "eea7bfe23c9731582864a654ddf1f9fc" ] ] ] \ No newline at end of file diff --git a/examples/dsls/stlc/STLC.Infer.fst b/examples/dsls/stlc/STLC.Infer.fst index c266a4cfeff..725a4a35e2f 100755 --- a/examples/dsls/stlc/STLC.Infer.fst +++ b/examples/dsls/stlc/STLC.Infer.fst @@ -1,6 +1,6 @@ module STLC.Infer -module T = FStar.Tactics -module R = FStar.Reflection +module T = FStar.Tactics.V2 +module R = FStar.Reflection.V2 module L = FStar.List.Tot module RT = FStar.Reflection.Typing open STLC.Core @@ -77,25 +77,25 @@ let rec infer (g:R.env) let is_fv (t:R.term) (n:R.name) : T.Tac bool = match T.inspect t with - | R.Tv_FVar fv -> - R.inspect_fv fv = n + | T.Tv_FVar fv -> + T.inspect_fv fv = n | _ -> false let rec read_back (g:R.env) (t:R.term) : T.Tac stlc_ty = let tt = T.inspect t in match tt with - | R.Tv_Uvar _ _ -> + | T.Tv_Uvar _ _ -> if T.unify_env g t (`TUnit) then read_back g t else T.fail "Impossible: Unresolved uvar must be unifiable with TUnit" - | R.Tv_FVar _ -> + | T.Tv_FVar _ -> if is_fv t ["STLC"; "Core"; "TUnit"] then TUnit else T.fail "Got an FV of type stlc_ty, but it is not a TUnit" - | R.Tv_App _ _ -> + | T.Tv_App _ _ -> begin let head, args = T.collect_app t in if not (is_fv head ["STLC"; "Core"; "TArrow"]) diff --git a/examples/dsls/stlc/STLC.Infer.fst.hints b/examples/dsls/stlc/STLC.Infer.fst.hints index f73e3035b69..b382c5e57d1 100644 --- a/examples/dsls/stlc/STLC.Infer.fst.hints +++ b/examples/dsls/stlc/STLC.Infer.fst.hints @@ -1,5 +1,5 @@ [ - "Æî\u001cí8¥Ú\u0003öêµÄ\u0006Ú›", + "w\u0016m\u001a\u0017¤£Ç³\u0001\u0015F4;0·", [ [ "STLC.Infer.__proj__EBVar__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_67dd0c8a36eaf642ae0fc764a3b385e4" ], 0, - "261363c0d73e269eacdebf1604dfad1a" + "9a8679f222630d177ddc9650c2975047" ], [ "STLC.Infer.__proj__EVar__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_10f5db85a110b66ccb5055c6ad6b968a" ], 0, - "faea2d579b3a7001e1140d40cdbcd88f" + "a9f2c928add8bfbc416773c28c11ab4a" ], [ "STLC.Infer.__proj__ELam__item___0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_77e8f911aba7f63a6e07ac80f3ab2530" ], 0, - "1e04a6220bdc05709e04dae872474fc8" + "d1a48d546c3e54c70bf4bb359494f144" ], [ "STLC.Infer.__proj__ELam__item___1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_77e8f911aba7f63a6e07ac80f3ab2530" ], 0, - "41d023094364980bd88abbdabb066931" + "c914f11e83cce98c7db64505b901cbd6" ], [ "STLC.Infer.__proj__EApp__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_ab6d475508fc8c19b7a29918cef42c03" ], 0, - "8c6427453ec9787ac82e1325cbb2ac78" + "9aa54969747c123fd29cfb8bf4b29788" ], [ "STLC.Infer.__proj__EApp__item___1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_ab6d475508fc8c19b7a29918cef42c03" ], 0, - "608ecffda470b2fc68b1bf2583dc0157" + "88d6dd567aa10f46d09ef0a848332072" ], [ "STLC.Infer.open_exp'", @@ -97,7 +97,7 @@ "subterm_ordering_STLC.Infer.ELam" ], 0, - "afa0207c1bbec9c14c536af9e2935827" + "c796b2ab3945650b136b1157042175c1" ], [ "STLC.Infer.close_exp'", @@ -123,7 +123,7 @@ "subterm_ordering_STLC.Infer.ELam" ], 0, - "b551b4b061c719aa8974b59fd952caed" + "a03991a136cfa51b68ae0fb0ff40d652" ], [ "STLC.Infer.infer", @@ -144,7 +144,7 @@ "typing_STLC.Core.lookup", "typing_STLC.Infer.__proj__EVar__item___0" ], 0, - "aa5c8fd2404ce4e00c77e9cc45f2763c" + "edb9385c49891ecc25add1df37da6517" ], [ "STLC.Infer.elab_core", @@ -159,7 +159,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3d130b000a26fc18a9200df7ba3a98a0" + "74fa670d6536343da10959c32b72c3c4" ] ] ] \ No newline at end of file diff --git a/examples/extraction/Eta_expand.fst.hints b/examples/extraction/Eta_expand.fst.hints index 4a1cb061428..12001ee29c2 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, - "155df87a9571b27e9446434eb0ce96e4" + "e138fb924ef17ed3810386fac191a496" ], [ "Eta_expand.choose", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Eta_expand.t" ], 0, - "9ff745051b0708e96a3e628aecf0cfcb" + "02e6f16288b35896b58521c2de11da76" ] ] ] \ No newline at end of file diff --git a/examples/extraction/InlineLet.fst.hints b/examples/extraction/InlineLet.fst.hints index a72ba40bc9a..1fcd2456ef5 100644 --- a/examples/extraction/InlineLet.fst.hints +++ b/examples/extraction/InlineLet.fst.hints @@ -57,7 +57,7 @@ "typing_FStar.Monotonic.HyperStack.mk_mem" ], 0, - "0f0cd28f388e380ec90faf345f902fe9" + "2be8de585489281f710986d42029ee7c" ], [ "InlineLet.test", @@ -90,7 +90,7 @@ "typing_FStar.Monotonic.HyperStack.is_mm" ], 0, - "c28eeaa03e88b65db6526725b3fa19ff" + "9c96a321fc48ccf26720f796fa8edea7" ] ] ] \ No newline at end of file diff --git a/examples/generic/Interop.fst.hints b/examples/generic/Interop.fst.hints index 3666d15595b..8096beaddf5 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, - "f41d43ff92c087264f4c67172e88346c" + "aeb345f2394ad44d13ef7c4508ecd5b4" ], [ "Interop.as_reg", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_e6b2aee2400a046740e3ca5c2a276983" ], 0, - "177d8207eff0acc30e22fddcc3d6370c" + "0e88c8ed817ec413c85a4399144b72d8" ], [ "Interop.n_arrow", @@ -49,7 +49,7 @@ "well-founded-ordering-on-nat" ], 0, - "21eb8122d8f59b6f69c464bdab9293ea" + "ba66157afbcead9c35bfbdb9247611e6" ], [ "Interop.elim", @@ -66,7 +66,7 @@ "primitive_Prims.op_Subtraction" ], 0, - "1a571f45f70b8b433cfbfe4479202687" + "57f789e1ecd53e68a560f12c2197e137" ], [ "Interop.elim_1", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" ], 0, - "84abe0eafe9bc67afaa6ec76eef77bca" + "783f4eb8a35ddf0567b7a187fe6ecda7" ], [ "Interop.elim_m", @@ -120,7 +120,7 @@ "well-founded-ordering-on-nat" ], 0, - "86a9cbcaae4539864cacfb84dbb5a11c" + "f2c9acbdb465911b441d67d447605d15" ], [ "Interop.as_vale_pre", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" ], 0, - "9e699d877573331a259b1ae0d72742b6" + "a41cfc446c144272a57c8261af95dc87" ], [ "Interop.as_vale_post", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" ], 0, - "0e5013b5ef89c763593a4f05e13e8c28" + "e15b17446e5c07a127340a0cb00b7903" ], [ "Interop.as_lowstar_sig", @@ -182,7 +182,7 @@ "well-founded-ordering-on-nat" ], 0, - "bc5a9d12a5c8a4c52d45218219db1e46" + "6974b4400c7271ada5190a95b4291c13" ], [ "Interop.wrap", @@ -284,7 +284,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "09f99360f77d7294b0dd5de29140487b" + "b46e91472913fc4ef5f87e32ad6f296b" ] ] ] \ No newline at end of file diff --git a/examples/hello/Makefile b/examples/hello/Makefile index 57102ec7f87..18bb3da8ca5 100644 --- a/examples/hello/Makefile +++ b/examples/hello/Makefile @@ -5,17 +5,17 @@ include $(FSTAR_ULIB)/ml/Makefile.include all: hello testseq multi strings hello: out Hello/Hello.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'Hello' Hello/Hello.fst --record_hints + $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'Hello' Hello/Hello.fst $(OCAMLOPT) out/Hello.ml -o hello.exe ./hello.exe testseq: out TestSeq/TestSeq.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'TestSeq' TestSeq/TestSeq.fst --record_hints + $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'TestSeq' TestSeq/TestSeq.fst $(OCAMLOPT) out/TestSeq.ml -o testseq.exe ./testseq.exe strings: out strings/TestStrings.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'TestStrings' strings/TestStrings.fst --record_hints + $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'TestStrings' strings/TestStrings.fst $(OCAMLOPT) out/TestStrings.ml -o teststrings.exe multi: diff --git a/examples/hello/TestSeq/TestSeq.fst.hints b/examples/hello/TestSeq/TestSeq.fst.hints index 6de2d07055f..2e7e7c8a356 100755 --- a/examples/hello/TestSeq/TestSeq.fst.hints +++ b/examples/hello/TestSeq/TestSeq.fst.hints @@ -23,7 +23,7 @@ "typing_FStar.Seq.Base.length", "unit_typing" ], 0, - "26ce563845c1013967118f6a74aa1c63" + "9503238f813e94711aa55942137285da" ], [ "TestSeq.main", @@ -47,7 +47,7 @@ "typing_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "731974b673c6814037e3d53b305340dc" + "84bd819731a31c8c5cfc7d8e105b5bae" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/GEXN.fst.hints b/examples/indexed_effects/GEXN.fst.hints index b7b6e6e64b5..91273df48ff 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, - "4dec4633af12387ed7973b3234107a28" + "49a25a44b8a2b2ef3c8749124ab3cb0e" ], [ "GEXN._dm4f_GEXN_bind_wp", @@ -54,7 +54,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string", "equation_GEXN.exn" ], 0, - "feb97282234b1b1570b9155b32f4c28f" + "a02bce30c8ae8b8b88bfe50825acb706" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/GMST.fst.hints b/examples/indexed_effects/GMST.fst.hints index 8b567b1e27c..ac094f1ccc6 100644 --- a/examples/indexed_effects/GMST.fst.hints +++ b/examples/indexed_effects/GMST.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_GMST.op_At" ], 0, - "e04a57a3e089e1d56b5e2fe80819cd37" + "3aa7e294d3446ae750921b2d77602d14" ], [ "GMST.gst_put", @@ -23,7 +23,7 @@ 1, [ "@query" ], 0, - "11d78fa71360bcfe8c0788e3a95072b2" + "80e0685f8a8e0c5ba36ae8918ee315ba" ], [ "GMST.gst_witness", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "1b32cee36e6260f07197daf3482fc9c4" + "b8efc18dda316499b126ccb3656d1d27" ], [ "GMST.gst_recall", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "573be1a96cf60207881fd6a2f70fbdf2" + "c1147117608394397a57e84632130000" ], [ "GMST.app", @@ -69,7 +69,7 @@ "token_correspondence_GMST.op_At" ], 0, - "45aa8a3c0d42905f33fad4229f0a12da" + "644f2c87cbeebeea4ad4893c1a1fd7e3" ], [ "GMST.lemma_preorder_comp_equiv", @@ -87,7 +87,7 @@ "token_correspondence_GMST.op_At" ], 0, - "fb5fd8e933df1581996c0b9dbd76195c" + "7ce1ac1d24e21e850196e7c0b8cda2a1" ], [ "GMST.preorder_app'", @@ -109,7 +109,7 @@ "token_correspondence_GMST.op_At" ], 0, - "b3fbce5658fdf5683efd5cdd79e0aee5" + "bc0f054aab0a64bec49e128bad02598d" ], [ "GMST.transport_gmst_rel", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_bdc975851b597885266e1bf07a144b19" ], 0, - "21f150695b4473104c242f7608a339c2" + "c0cecbdb9cc430ea49414263b064fde0" ], [ "GMST.preorder_app", @@ -147,7 +147,7 @@ "token_correspondence_GMST.op_At", "true_interp" ], 0, - "6e3dd598ad2bffec9c1c2d1d35440b7a" + "65bd1e7d090f9ea50d692dcb38978fd0" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IEXN.fst.hints b/examples/indexed_effects/IEXN.fst.hints index 362ca287b03..971aef396c7 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, - "9ce78252fb1895cdb933bf2dbf2d1f98" + "cb81210f5fd36f1e4553eb84fd32d20b" ], [ "IEXN.__proj__E__item__e", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_c4a45b085cc780dedd2505084f3c2549" ], 0, - "f3d5d187da061f693355c8864dd1d564" + "d4cf406a32435c8a283dcc5e16df45b3" ], [ "IEXN.iex_bind_wp", @@ -37,7 +37,7 @@ "disc_equation_IEXN.V", "fuel_guarded_inversion_IEXN.result" ], 0, - "1999124530174e6ea9485a3ab11a3441" + "082552b1c69e5b749e54245533b342d1" ], [ "IEXN.f", @@ -46,7 +46,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "e8b71d9f7a27454313ebc31da70fa27a" + "fe1acf13be2defd7f5abc8ebc7f214a5" ], [ "IEXN.g", @@ -64,7 +64,7 @@ "typing_IEXN.exception2" ], 0, - "2ea404d98ca542f14cb36899389db307" + "032a00ad076eb94a2a4bfbe93734b42e" ], [ "IEXN.h", @@ -87,7 +87,7 @@ "unit_typing" ], 0, - "d5255d91bc458177cd4de24fb2608569" + "ec1da53a3176919a0d32533b64b60642" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IMST.fst.hints b/examples/indexed_effects/IMST.fst.hints index 65a382f45f0..9213791b83e 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, - "f4232bc31649d0be1a25e298a1148740" + "1782bae33b6f155f8556ff48cad5d382" ], [ "IMST.nat_rel", @@ -24,7 +24,7 @@ "token_correspondence_IMST.nat_rel_" ], 0, - "532b258cd95eb7c271f263a30426fb0a" + "080198edfcf9d33d15fb45b8a2a12f4a" ], [ "IMST.f", @@ -53,7 +53,7 @@ "token_correspondence_IMST.nat_rel_", "typing_IMST.nat_rel" ], 0, - "80cf2891dafa76791725fe34ec25699a" + "95b222a3d290ff6ae987ce9166a3b652" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IMSTsub.fst.hints b/examples/indexed_effects/IMSTsub.fst.hints index 8ba1458712a..658fc71aaf7 100644 --- a/examples/indexed_effects/IMSTsub.fst.hints +++ b/examples/indexed_effects/IMSTsub.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "57d8da3c3df0f26b4d83a3a246ba29c4" + "073bb02b2efc0d5991166aa58c03c631" ], [ "IMSTsub.nat_rel", @@ -24,7 +24,7 @@ "token_correspondence_IMSTsub.nat_rel_" ], 0, - "12f1f89a40510c92b4151f0e657a5078" + "619b4e7fadd319f36232878d7f00eaba" ], [ "IMSTsub.eq_rel'", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6886a16bc108fb40f5d5bc17dce6b718" + "2660f33056c780f93bf9634f102ebaee" ], [ "IMSTsub.eq_rel", @@ -54,7 +54,7 @@ "token_correspondence_IMSTsub.eq_rel_" ], 0, - "3aee33891db3cd4821e45451536bedd8" + "02ca05d3b39e71830b976e7644e44262" ], [ "IMSTsub.f", @@ -63,7 +63,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "f4f12a2bda2c2ea53b3074eea9359741" + "898d40e8fcdd2b04203c2e3a78237ec3" ], [ "IMSTsub.g", @@ -94,7 +94,7 @@ "token_correspondence_IMSTsub.nat_rel_" ], 0, - "fbba8c51a5e997b9d5c4fd35e3ec3150" + "f13b1612308726825643cda5e32f14c8" ], [ "IMSTsub.h", @@ -118,7 +118,7 @@ "token_correspondence_IMSTsub.nat_rel_" ], 0, - "a71c36b23926412805beeb2bf29cbf1a" + "d119a46e642a97d8e6a4664a3654e1ed" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IST.fst.hints b/examples/indexed_effects/IST.fst.hints index 0f589b26e86..bd75dcf9888 100644 --- a/examples/indexed_effects/IST.fst.hints +++ b/examples/indexed_effects/IST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c989c43a04dd71b13fdc1d17f8bf7ca2" + "baf2da1d1a0cceb668ca82c365c1e942" ], [ "IST.f", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "7a4138d44d8e289abc1251cb9b8a8a71" + "10215a0c7fb32f2991def46abc76246a" ], [ "IST.g", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "5f5222da96c5e0ef8361405ebec24cfb" + "4b6d23b756e8c734c6a53c38fc5db660" ] ] ] \ No newline at end of file diff --git a/examples/interactive/FStar.InteractiveHelpers.ParseTest.fst b/examples/interactive/FStar.InteractiveHelpers.ParseTest.fst index 014a01eb5cb..1f374a91e92 100644 --- a/examples/interactive/FStar.InteractiveHelpers.ParseTest.fst +++ b/examples/interactive/FStar.InteractiveHelpers.ParseTest.fst @@ -5,7 +5,7 @@ module ST = FStar.HyperStack.ST module B = LowStar.Buffer open FStar.List -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul open FStar.FStar.InteractiveHelpers diff --git a/examples/interactive/FStar.InteractiveHelpers.Tutorial.Definitions.fst b/examples/interactive/FStar.InteractiveHelpers.Tutorial.Definitions.fst index 8cf7900e8f1..ea370c92453 100644 --- a/examples/interactive/FStar.InteractiveHelpers.Tutorial.Definitions.fst +++ b/examples/interactive/FStar.InteractiveHelpers.Tutorial.Definitions.fst @@ -5,7 +5,7 @@ module ST = FStar.HyperStack.ST module B = LowStar.Buffer open FStar.List -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul /// Some dummy functions used for the tutorial for the FStar.FStar.InteractiveHelpers functions diff --git a/examples/interactive/FStar.InteractiveHelpers.Tutorial.fst b/examples/interactive/FStar.InteractiveHelpers.Tutorial.fst index e7d10fcefb8..6e671147015 100644 --- a/examples/interactive/FStar.InteractiveHelpers.Tutorial.fst +++ b/examples/interactive/FStar.InteractiveHelpers.Tutorial.fst @@ -5,7 +5,7 @@ module ST = FStar.HyperStack.ST module B = LowStar.Buffer open FStar.List -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul open FStar.InteractiveHelpers.Tutorial.Definitions diff --git a/examples/kv_parsing/EnumParsing.fst b/examples/kv_parsing/EnumParsing.fst index 14d7b252374..f13206a4458 100644 --- a/examples/kv_parsing/EnumParsing.fst +++ b/examples/kv_parsing/EnumParsing.fst @@ -24,7 +24,7 @@ open PureEncoder open Serializer open Slice -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Ghost open FStar.Seq open FStar.HyperStack diff --git a/examples/kv_parsing/EnumParsing.fst.hints b/examples/kv_parsing/EnumParsing.fst.hints index 97df401d6f8..9bb5b613af1 100644 --- a/examples/kv_parsing/EnumParsing.fst.hints +++ b/examples/kv_parsing/EnumParsing.fst.hints @@ -1,5 +1,5 @@ [ - "‘sŒ€Ì¿\u001e‰C`§‡4–}:", + ",ÎÕÎÄh•=ÓŠ–2`ù„C", [ [ "EnumParsing.numbers", @@ -12,7 +12,7 @@ "typing_FStar.UInt32.t" ], 0, - "d07b2a1cf6d67122a456a00026f13a6d" + "a035c5bd5f2ee53446bcea8a39891756" ], [ "EnumParsing.__proj__OneNum__item__n", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_4f83c2c575e4b9df7e99e95590ac6726" ], 0, - "a86ab612a80710e4749c3ef1cea692f6" + "7b7ccaf19ed0d70a3b97bdd70d4e0206" ], [ "EnumParsing.__proj__TwoNums__item__n", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "06b536441f4d8e4cca0265797c744c71" + "75fb16217bb33db0b9baf5d919e36f0f" ], [ "EnumParsing.__proj__TwoNums__item__m", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "17c3fa29d395723d2a2fe9763cde4cb3" + "a258e2f849fa367abdfc0f99fb9c93ac" ], [ "EnumParsing.numbers_tag_val", @@ -64,7 +64,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5cfece3b8aa8158ac543277df5282af1" + "2edf0a6eaaa271813adcfd551fe0f6ff" ], [ "EnumParsing.parse_numbers_tag", @@ -85,7 +85,7 @@ "typing_FStar.UInt8.v" ], 0, - "9c0a2c6820e13958882ddd6913fe56d1" + "32f4fcacc1adfc07b73e33b363c2190b" ], [ "EnumParsing.parse_Nothing", @@ -99,7 +99,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "26d63919054e2092f8c22f251def2fba" + "82d5461f26df8db6c0388e6376bb0c31" ], [ "EnumParsing.parse_OneNum", @@ -113,7 +113,7 @@ "projection_inverse_EnumParsing.OneNum_n" ], 0, - "4151cfcc0c33484bae34e157c1bfe78a" + "08871eebcd1e5db91e1a15cda607fdb9" ], [ "EnumParsing.parse_TwoNums", @@ -128,7 +128,7 @@ "projection_inverse_EnumParsing.TwoNums_n" ], 0, - "296968514a9e67aabf8a9c26cca19d84" + "6f8d8a07e42d16af9868c458168a292c" ], [ "EnumParsing.parser_forget", @@ -145,7 +145,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ef229e6d8c4a00d411400e4d2dc6f8fb" + "b1a881ed2bdf08b1987c5d44afb3513d" ], [ "EnumParsing.validate_ok", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_44194a55cbe5e910cc85b59a81e856c4" ], 0, - "af07e36de87f8349fcd92ed1204faa1a" + "8155bf26c6b9e99cd915e1c6e71cc15f" ], [ "EnumParsing.parser_forget_ok", @@ -184,7 +184,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "a0b6bb6b52155fedd1e855bd3166936d" + "5cc46cb36d65aee61d13ac38b982aaf0" ], [ "EnumParsing.make_correct", @@ -193,7 +193,7 @@ 1, [ "@query" ], 0, - "6b44200dfa371a7cd7328facb098d53b" + "df56561a0bf34a9bb8f35bf96921143f" ], [ "EnumParsing.validate_Nothing_pure", @@ -225,7 +225,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "93dfefb84266f9b8672759a3e236841f" + "408f6ffd901a79e0144a387a0b8a4cd3" ], [ "EnumParsing.validate_OneNum_pure", @@ -271,7 +271,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "40a70d94a361c5d18ab4e758a500b4e7" + "f6add06db504fdfbd083255182633836" ], [ "EnumParsing.validate_TwoNums_pure", @@ -338,7 +338,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "ae95a07b5bc5359e85ad9cf2fa454aef" + "4b3dc07b35912a380e029c1907ebd5e2" ], [ "EnumParsing.validate_numbers_data_pure", @@ -358,7 +358,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "105216600b143d299fbdd57ba66831e3" + "3857d341cae416a7a038ac50e0960865" ], [ "EnumParsing.seq_pure_validate", @@ -390,7 +390,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "9736051ca21c27921f787acebd4f700e" + "500c05c3544f78af510974079f258b15" ], [ "EnumParsing.lemma_seq_pure_validate_A2_ok", @@ -450,7 +450,7 @@ "typing_Tm_abs_c7ff89ecb22b292e336651fb3699f177" ], 0, - "788364d33fcfbf3554ca8f91e8887c01" + "3788662e85707fcfd655302e5ee7c50d" ], [ "EnumParsing.then_pure_check", @@ -481,7 +481,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "2293cb0e47610e23db2ec8dfea38d145" + "6031684bbc3b95553f29c07d175e8733" ], [ "EnumParsing.lemma_then_pure_check_ok", @@ -537,7 +537,7 @@ "typing_Tm_abs_6ef5ffbc77895757d2fd9846f18773bf" ], 0, - "9c2014bd537a0ff76bad15023a70bfe5" + "f1094fdf2298695945e11f5c37cd2ef5" ], [ "EnumParsing.validate_numbers_pure", @@ -565,7 +565,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "ff07860cc301b1f8f63be8ab0bb43fa9" + "cd020333d8bbdfcb1dd7e7c6f1bbce70" ], [ "EnumParsing.parse_numbers_tag_st", @@ -629,7 +629,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "64155c001751371cfade51ce609c4520" + "bc368f95e6a811cf874496a71e0ad6c5" ], [ "EnumParsing.parse_numbers_tag_st_nochk", @@ -725,7 +725,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "43550f67746fdb9a402531f26a2da8f3" + "3930fb83be0844dc9cd7a2e4d95927a6" ], [ "EnumParsing.check_length", @@ -738,7 +738,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ac211ead0b60ec184660dc93338f2e0d" + "09ad82802d25ff5032361cb5140d1149" ], [ "EnumParsing.validate_Nothing", @@ -816,7 +816,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "ba3f1d70a954f81e7f32b075472718aa" + "13dc3896d38c73b5038eb5f9e8a866ca" ], [ "EnumParsing.validate_OneNum", @@ -908,7 +908,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "5acff40ed92e9a54abd40c56fb6a69ab" + "88cff16341da9782fd0c6e0d222d7a37" ], [ "EnumParsing.validate_TwoNums", @@ -1031,7 +1031,7 @@ "typing_tok_EnumParsing.Nothing@tok" ], 0, - "e8b272442d13c9ad6a3dc5b6e2be1ad0" + "60bf820c9c20852c10a493eaff3dab05" ], [ "EnumParsing.validate_numbers_data", @@ -1055,7 +1055,7 @@ "typing_FStar.UInt8.v", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "4c68884ac9d3905633d053a8f1ebd45c" + "73721e897616696cb132990063c318f2" ], [ "EnumParsing.coerce_validator", @@ -1097,7 +1097,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "c169ea2d2fd08e52cfd7c8030e9d25b1" + "c4adb5bab454cda97cca408824b37164" ], [ "EnumParsing.and_check", @@ -1228,7 +1228,7 @@ "typing_Slice.__proj__BSlice__item__p", "unit_typing" ], 0, - "4528665f65edc85a868b48eb8bbe32a8" + "0a19d2a643c692996e69c7b080621497" ], [ "EnumParsing.encode_numbers_tag", @@ -1246,7 +1246,7 @@ "typing_FStar.UInt8.t" ], 0, - "f6aa8fe8a5d338aac14696d78b05e2d8" + "ccf682c076ee7569c53e0b2827c744b8" ], [ "EnumParsing.encode_Nothing", @@ -1255,7 +1255,7 @@ 1, [ "@query" ], 0, - "3797592ceb86ea320d7f235b883dc6c8" + "96743ef51f81fa65f27806b26e1fc4fe" ], [ "EnumParsing.encode_OneNum", @@ -1264,7 +1264,7 @@ 1, [ "@query", "equation_Slice.byte" ], 0, - "54719906bd20cd92a746155c89f5bb3b" + "354a32abf1d3301c9a547f41e609d7f1" ], [ "EnumParsing.encode_TwoNums", @@ -1283,7 +1283,7 @@ "typing_FStar.UInt8.t", "typing_IntegerParsing.encode_u32" ], 0, - "12903b88202531688e6beda3cd2a3321" + "26f52eb44f631457f5fe77cd23b5dbe2" ], [ "EnumParsing.encode_numbers_data", @@ -1299,7 +1299,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ccb07f4ba3e2554dcebf0d97d01d11d6" + "ad5d1841fc870b13925cb5743c1ee4c8" ], [ "EnumParsing.ser_Nothing", @@ -1389,7 +1389,7 @@ "typing_Slice.bslice_split_at" ], 0, - "8e9d28383c79615571e52ad6506a5e28" + "e83927b103c6f950ab19ca314c361c44" ], [ "EnumParsing.ser_TwoNums", @@ -1415,7 +1415,7 @@ "typing_FStar.TSet.set" ], 0, - "0512a95888d9f558780a556ca433b591" + "14811eb0e35863ce9af3dfd3b147bf55" ], [ "EnumParsing.ser_TwoNums'", @@ -1432,7 +1432,7 @@ "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f" ], 0, - "8295d94877ad061aad294c6a2ee643c8" + "9a928cb652460f3eb4f6dba1744a75a9" ], [ "EnumParsing.ser_numbers_data", @@ -1456,7 +1456,7 @@ "projection_inverse_EnumParsing.TwoNums_n" ], 0, - "815926fae3498ae97cfcdd9fd8d5e91f" + "3639963f6bf76e2dcb92be26569538b7" ], [ "EnumParsing.ser_numbers_data'", @@ -1477,7 +1477,7 @@ "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f" ], 0, - "611dffe7c6fb431ca5107cce922a9c8c" + "300f03a23928671aeaa68b34e473228a" ], [ "EnumParsing.ser_numbers_data2", @@ -1498,7 +1498,7 @@ "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f" ], 0, - "b1129aae4b41a4b5dc6e7b526fb40d64" + "3d190f4d1690a3994bf5f39e4d7f9abf" ], [ "EnumParsing.ser_numbers", @@ -1524,7 +1524,7 @@ "typing_FStar.TSet.set" ], 0, - "29d57c33e6b399381d8db1c274ac539e" + "4a058c8be7a942d4c75fb7b5b603ead3" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/IntegerParsing.fst.hints b/examples/kv_parsing/IntegerParsing.fst.hints index c62465b5d10..1cc1676f53a 100644 --- a/examples/kv_parsing/IntegerParsing.fst.hints +++ b/examples/kv_parsing/IntegerParsing.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f59ac6ce40178a2f33c797a8fd17b230" + "c993b3a0d33e62d365b9c32448a6c709" ], [ "IntegerParsing.u16_array", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c038606fd7b62c52571720445c611e3e" + "416ff66c6a196d248ede2deab69864b0" ], [ "IntegerParsing.u16_array", @@ -33,7 +33,7 @@ "typing_FStar.UInt16.t", "typing_FStar.UInt8.t" ], 0, - "1ff7ee499d13f0af0f0acbdfbb70152b" + "9c22551f7135f27b01f08326d1c792f1" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -42,7 +42,7 @@ 1, [ "@query" ], 0, - "82faba247cabcee2a476e56d7d65c8d7" + "a4bf9ca4594eab169655e1a76654d851" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "d8752f76212b25107db688f7c04f0b04" + "570968bc8bba33fa4ba0a04a7da035f3" ], [ "IntegerParsing.u32_array", @@ -60,7 +60,7 @@ 1, [ "@query" ], 0, - "fcd446024f2d65c06c0cbb3352d02aeb" + "307e2083d582da7fac873559326455a6" ], [ "IntegerParsing.u32_array", @@ -69,7 +69,7 @@ 1, [ "@query" ], 0, - "f19acd29d363fb40ba5f6048af9ba5ca" + "04a24d090415e92a5b7aaae9e7b46e9d" ], [ "IntegerParsing.u32_array", @@ -85,7 +85,7 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt8.t" ], 0, - "cae870446b7bb69952c890f3ec875f31" + "db7607ad6641fbffefac1ded5e6098e4" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "dd0361416ae64c2b6bd4f9e712f5e3b7" + "125d88f45d482d0ff4e11fc6298244f7" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "9d8b9ea429ec3c097d145bc9603e77bc" + "1c0c6cd5585d2d50186c1d2568d3a947" ], [ "IntegerParsing.parse_u8", @@ -115,7 +115,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f9fbd5877e0465f3e73f4eb3e2a1a4d4" + "1c05d519cb14e7c0dd67fc4200c4ccd2" ], [ "IntegerParsing.parse_u16", @@ -144,7 +144,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "a8db6f33b19e3cbe09f95a0508363783" + "5276f284779a595642381940c6a96b14" ], [ "IntegerParsing.parse_u32", @@ -174,7 +174,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "546205201d77ef13ed179abd81861f4c" + "01e746569db46d4da9a1adb6a9d9bfbe" ], [ "IntegerParsing.parse_u16_array", @@ -204,7 +204,7 @@ "typing_FStar.UInt8.t" ], 0, - "d3beb302476ca9f967d0ae6c9d23d43b" + "2bc146963042a25c11f94af8cb05b038" ], [ "IntegerParsing.parse_u32_array", @@ -234,7 +234,7 @@ "typing_FStar.UInt8.t" ], 0, - "d7f075efac1872bc33107fa18a19c2f9" + "11a527d8624af57aa23a3664e20f6903" ], [ "IntegerParsing.u16_array_st", @@ -243,7 +243,7 @@ 1, [ "@query" ], 0, - "5287089837e6a0714181df7236746d7d" + "b789272f21159ee556c18d2c94f980c0" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -252,7 +252,7 @@ 1, [ "@query" ], 0, - "cd05c50e78cd39874bb223c5fe62ed1c" + "b14a4f43e238d2cc0f039b80a0dc6781" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -261,7 +261,7 @@ 1, [ "@query" ], 0, - "4a865614dc03e28626f008d82d4ae029" + "594977beb6fdfb18e959c129e7be6429" ], [ "IntegerParsing.as_u16_array", @@ -276,7 +276,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "2953c84489ba9b525ed1272dd8e52d10" + "3f35fd53b202d113e51224a9bcdfcd5c" ], [ "IntegerParsing.as_u32_array", @@ -291,7 +291,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "46d87f5819a85a9ff36b3e20e27c5e0c" + "250da1b666f7f0d61158da3f22c78521" ], [ "IntegerParsing.parse_u8_st_nochk", @@ -354,7 +354,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "b99181f8a2e6933ad921746d43c7c10b" + "c153abb6ec28150834f446dac5d031d6" ], [ "IntegerParsing.parse_u8_st", @@ -472,7 +472,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "353e6157c39cdd533f0a372b436284c1" + "a5d442a6ec81b1487c4f5153e330c352" ], [ "IntegerParsing.parse_u16_st_nochk", @@ -552,7 +552,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "81906ea68d7524d18aa1b21977cf9b7c" + "d9325f9360dcc65235c69f083cd8c4b9" ], [ "IntegerParsing.parse_u16_st", @@ -670,7 +670,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "152fe78a82b1dcab9eaf8c548b88ae0e" + "a01a5e4ad843e05806450aaa42fe85d7" ], [ "IntegerParsing.parse_u32_st_nochk", @@ -752,7 +752,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "e9a4ea740e4245b58453063138cc24cc" + "41c7bb270d836ae103b54a9e69aeb052" ], [ "IntegerParsing.parse_u32_st", @@ -866,7 +866,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "f7af804d26e68b27bd4ffb77f906d6c1" + "55fcc954bd8724973b120a175a42650a" ], [ "IntegerParsing.parse_u16_array_nochk", @@ -995,7 +995,7 @@ "typing_Slice.as_seq" ], 0, - "6f9f43368a195f8176627c902bbb5bd6" + "03cdd74197d0c3cfd2c2e124a185a743" ], [ "IntegerParsing.parse_u32_array_nochk", @@ -1121,7 +1121,7 @@ "typing_Slice.as_seq" ], 0, - "c56e63c24133793efe0d2b8d73424f1c" + "d3066a38e006187969a624ddeab3662f" ], [ "IntegerParsing.validate_u16_array_st", @@ -1237,7 +1237,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "47b35156ffe1c3aa171c55fed6bcceaf" + "a1cfaae3b9abd9de2b14cc90bc9bbac4" ], [ "IntegerParsing.u32_array_bound_is", @@ -1264,7 +1264,7 @@ "typing_FStar.UInt32.v", "typing_IntegerParsing.u32_array_bound" ], 0, - "f6421a954bef71fd8250f68a67647650" + "46fb0e5647a192e97539a525b3a5d728" ], [ "IntegerParsing.validate_u32_array_st", @@ -1352,7 +1352,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "80de922cae0f8735f31f8b4cb6952657" + "8d64e40bd3317541e1261f6feb39cd27" ], [ "IntegerParsing.encode_u8", @@ -1369,7 +1369,7 @@ "typing_FStar.UInt8.t" ], 0, - "139a0caf982f4314835f9b0370303bd9" + "3fcf539f998c4ad1cd8ff1e10b711ee0" ], [ "IntegerParsing.encode_u16", @@ -1386,7 +1386,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a8f7f080f6620f2f64f0e5a26e0b9af6" + "ed6bf8ceb16c2c313061c03c07718670" ], [ "IntegerParsing.encode_u32", @@ -1406,7 +1406,7 @@ "typing_FStar.UInt32.v" ], 0, - "83062b2064240dec27fbdeb64a0f6a88" + "921ef686f0bbc0772ac051290bd33823" ], [ "IntegerParsing.encode_u16_array", @@ -1415,7 +1415,7 @@ 1, [ "@query" ], 0, - "31ea019d511b6fc293ba658cba728c89" + "5994dc20223fc7ff05bdb7e2348ba331" ], [ "IntegerParsing.encode_u32_array", @@ -1424,7 +1424,7 @@ 1, [ "@query" ], 0, - "22e7c2c8d37c406e92219d25710a6b34" + "d6c149daf3f5af185ed58bbe2e54a11d" ], [ "IntegerParsing.upd_len_1", @@ -1436,7 +1436,7 @@ "refinement_interpretation_Tm_refine_0e8e6d303853d84bc6b6f6552f57fff5" ], 0, - "28c872d415741ec7dd5e7ce341023328" + "362f172beed8c546e4c0241509100451" ], [ "IntegerParsing.upd_len_1", @@ -1461,7 +1461,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "62ad161428477e4bbefb03f99bf4dde8" + "02f70f6f134bc5c7f79af3a86b22c3cc" ], [ "IntegerParsing.ser_byte", @@ -1552,7 +1552,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "53e01a99e25bf75c0e199d993f99006b" + "30fef3c904b63d7472468e1e4eb4df45" ], [ "IntegerParsing.n_to_be_inv", @@ -1570,7 +1570,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "3e377fd38ca5f5cfee9bc8e671679067" + "b0aeba3930deef346705aa50621dddfd" ], [ "IntegerParsing.store_be_inv", @@ -1585,7 +1585,7 @@ "typing_FStar.UInt32.v" ], 0, - "7d893f033dd43d944315f316d0411fd5" + "fec929d1c807085251b44c713fd46866" ], [ "IntegerParsing.store_be_inv", @@ -1600,7 +1600,7 @@ "typing_FStar.UInt32.v" ], 0, - "1a4e53604daa698f6e8a572f95b4b9c0" + "ffe7b45bdd53dbc209da59c482c0a1c2" ], [ "IntegerParsing.store_be_inv", @@ -1609,7 +1609,7 @@ 1, [ "@query" ], 0, - "61648f83372888be6409d0726be7e1eb" + "6fabfad918862c73f4f3a4056a3ef94e" ], [ "IntegerParsing.ser_u16", @@ -1696,7 +1696,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "f756acec85534447d2f3d295f39d9906" + "576cf9772947ffb91ceb86a5d3022e8a" ], [ "IntegerParsing.ser_u32", @@ -1780,7 +1780,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "5d8d633a42ed9c580f28ab202602c4f6" + "19607717054329eaa4a3d317571d84d1" ], [ "IntegerParsing.enc_u16_array_st", @@ -1792,7 +1792,7 @@ "refinement_interpretation_Tm_refine_b087b15f55861226688db043ad41e833" ], 0, - "a92f808db1119f88947ad29cb90f84e2" + "7c271a0c2bfe0136c9bee48057bfd450" ], [ "IntegerParsing.ser_u16_array", @@ -1812,7 +1812,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "fa99736ba9ec054a1ebb766ef424dc2d" + "7ccf55a3388f742db4beade62b847516" ], [ "IntegerParsing.ser_u16_array", @@ -1844,7 +1844,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "84194a528d6e435f15ca59d2585f32f9" + "dcc89f74d9228057b3299ec6b8bb6d16" ], [ "IntegerParsing.enc_u32_array_st", @@ -1856,7 +1856,7 @@ "refinement_interpretation_Tm_refine_4d8fb130f892ac3594db66bb6c0ececa" ], 0, - "341d30dd4f11f6a18cd8e5eb6fb7ba68" + "d3d761f5b6005c79f9675d2ee743890b" ], [ "IntegerParsing.ser_u32_array", @@ -1876,7 +1876,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "769f3bd5fc071aed6d48ba2266679158" + "2220d82485b6ac5666aea63e5824293c" ], [ "IntegerParsing.ser_u32_array", @@ -1908,7 +1908,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "ac7fc787031a5615394e1a51780801f0" + "63fac79560b060d68bcefa47612d72fa" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/KeyValue.fst.hints b/examples/kv_parsing/KeyValue.fst.hints index 6fbe76851af..2765a61603b 100644 --- a/examples/kv_parsing/KeyValue.fst.hints +++ b/examples/kv_parsing/KeyValue.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.UInt8.t" ], 0, - "a69ec1e0ccafb50cc7b4337453682750" + "24c6f70119d582d24ed6232cd423f78d" ], [ "KeyValue.encoded_entry", @@ -25,7 +25,7 @@ 1, [ "@query" ], 0, - "21aa261228be14ba181c987a72276616" + "4869ee0d4db130a739bd43d0cf90f774" ], [ "KeyValue.encoded_entry", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "5cb71a1343b462493dc98ce9b51d777c" + "0b60733a13b326bb8696b605dddfff06" ], [ "KeyValue.encoded_entry", @@ -52,7 +52,7 @@ "typing_FStar.UInt8.t" ], 0, - "e9f5900f1c2b02c9cbcf09f75863bb6a" + "6a382ae8ea42fcec27d7c925657fb173" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -61,7 +61,7 @@ 1, [ "@query" ], 0, - "ddb706e7c2f5b456cd4e920167a32cba" + "8d2aede1b7651d25e643d313a9762e98" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -70,7 +70,7 @@ 1, [ "@query" ], 0, - "d1755c2ccc28ed27096569d5bb2a7a71" + "df89528ca7576bdbff5a35524491db13" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -79,7 +79,7 @@ 1, [ "@query" ], 0, - "5a03d5aaaf7900a3fd4bccb9287eb119" + "4b022ce4e58fe1f348104cfe6e5b6fd2" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -88,7 +88,7 @@ 1, [ "@query" ], 0, - "c09ee94dac1030fb36d3dfe2a879f33b" + "dd7d4af3c4bdebd01a5b54fec1b880d9" ], [ "KeyValue.store", @@ -97,7 +97,7 @@ 1, [ "@query" ], 0, - "db2ef0077b24ed3e38aafff620eba539" + "3a1c70e5d3a53c00182755d80d512f37" ], [ "KeyValue.store", @@ -106,7 +106,7 @@ 1, [ "@query" ], 0, - "63e3347419b0f50aff6411c361a5cce5" + "001681ca19b79f7fd1c21dc25ce2e728" ], [ "KeyValue.store", @@ -122,7 +122,7 @@ "typing_FStar.UInt32.t" ], 0, - "999a4d00fbc38eed662a8caf80a31401" + "84536a4256a8a9be01e0e362f3f2dec8" ], [ "KeyValue.__proj__Store__item__entries", @@ -131,7 +131,7 @@ 1, [ "@query" ], 0, - "d7fe41d5532d8a1b30f8f5fabbbcea86" + "a7319fbae81cda25ae422ff9836b7786" ], [ "KeyValue.__proj__Store__item__entries", @@ -140,7 +140,7 @@ 1, [ "@query" ], 0, - "4f51647f89960c2168931b5b2a9cfef7" + "30eaa46bdbcc8dbade9da133258e109d" ], [ "KeyValue.as_entry", @@ -149,7 +149,7 @@ 1, [ "@query", "equation_KeyValue.entry_live", "equation_Slice.byte" ], 0, - "54661616e8b4c2ed24646fff3a5e2881" + "9588fcd2466d9113b06c01cd863ac3dc" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Parsing.fst b/examples/kv_parsing/Parsing.fst index 4f66dbd1982..d1431f63e4c 100644 --- a/examples/kv_parsing/Parsing.fst +++ b/examples/kv_parsing/Parsing.fst @@ -17,7 +17,7 @@ module Parsing open Slice -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Seq module List = FStar.List.Tot open FStar.HyperStack diff --git a/examples/kv_parsing/Parsing.fst.hints b/examples/kv_parsing/Parsing.fst.hints index a1b6d7c2827..671c8152144 100644 --- a/examples/kv_parsing/Parsing.fst.hints +++ b/examples/kv_parsing/Parsing.fst.hints @@ -1,5 +1,5 @@ [ - "wZ¹â“ßg‘@°É+x~÷\u007f", + "\u007fµô×ïžÍ½ãß0–g\u0013‡Å", [ [ "Parsing.and_then", @@ -32,7 +32,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "8c236e1f92330829cdd3898e46910c4f" + "e0e9ca224155b5ac16d3f074b4615166" ], [ "Parsing.parse_ret", @@ -49,7 +49,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "b772f4ceddac9f060b726257197aa5d2" + "e51fd2dc28d473cf7f28fb3821c7d4c8" ], [ "Parsing.parsing_done", @@ -61,7 +61,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8489959614a4ee5517094fcda8fe4155" + "2ddb2dbb6033f17ee708471933ff0b5c" ], [ "Parsing.parse_many", @@ -88,7 +88,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "e9e0e9e025809163b67f8c53ba852a39" + "4b068875ec4c4ef63d775e2ae0c45be1" ], [ "Parsing.parser_st", @@ -113,7 +113,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "ed5c60e407e994fe3c74850f4fc15327" + "f8e4667bd402ba8a3239f6ba39c86193" ], [ "Parsing.parser_st_nochk", @@ -138,7 +138,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "0ee027e222f8e8de0e6e99ecbf566655" + "b38a1c55a570cec1a35714bd47a12a6d" ], [ "Parsing.validation_checks_parse", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "7e955a55aca42c4d3f76de64585e8ab8" + "5c5ecf76800d577f60dae30da413ae5a" ], [ "Parsing.stateful_validator", @@ -170,7 +170,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "896aaba351f83f6e4f734c4daad34709" + "ce9b614239ca849ea519124beb31137c" ], [ "Parsing.then_check", @@ -314,7 +314,7 @@ "typing_Tm_abs_a1896cd6919f5856ac1c39649c6e688e" ], 0, - "2898305fae59d2ca66a222743b0fdc37" + "bbf8e374e8b02aa745f7df69c88c12e3" ], [ "Parsing.validate_done_st", @@ -393,7 +393,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "579109bdc5993aafdd7d8c85c7400174" + "e834b44f495557b89d7be8b75dd88fdd" ], [ "Parsing.validate_fail", @@ -441,7 +441,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "32a16341f120ec381b4ef87719d895b6" + "f92e6f3d56e8db141d6a9818537148c7" ], [ "Parsing.and_then_offset", @@ -490,7 +490,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "e6aae3777362d16770c3b68bc7abec98" + "9d2838a559bb8de812f12a08973bbfe6" ], [ "Parsing.parse_many_parse_one", @@ -499,7 +499,7 @@ 1, [ "@query" ], 0, - "337d376500e24888442bedd1724a37a0" + "ec2aa1a3fb44df1f365080d938d1eaa2" ], [ "Parsing.parse_many_parse_one", @@ -555,7 +555,7 @@ "typing_Tm_abs_43468ed488373c2fe2e459e99a962897" ], 0, - "107a651416518fb7f8e1ad2c033b1648" + "4ef82b2b0647f0f0b2bd44d5b9496afd" ], [ "Parsing.validate_n_more", @@ -603,7 +603,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "1f2fe85083a1d03715ef5624f607b5f0" + "5caafd5afb0c6bbf87521f67ca0ea0fa" ], [ "Parsing.validate_n_more", @@ -652,7 +652,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "ab45dcde783817e6bce281c56e0ec6a5" + "f59201e12c97a966951734ee3bf86ebc" ], [ "Parsing.validate_n_more", @@ -706,7 +706,7 @@ "typing_Slice.__proj__BSlice__item__len", "typing_Slice.as_seq" ], 0, - "3d99237e618ca6a44369ae7af7cd447b" + "f6f7651a107c458b0b4d4dc3348512fa" ], [ "Parsing.validate_one_more", @@ -766,7 +766,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "b9949062afcce7f6cfb8859d797b6562" + "01f1ce4b7116f35c4cc016a0596d1ef8" ], [ "Parsing.validate_one_more", @@ -854,7 +854,7 @@ "typing_Slice.as_seq" ], 0, - "958f219cd06973541505d8180cd21ce1" + "96095ea780a3b4c4e67bb5343f3fec0b" ], [ "Parsing.for_readonly", @@ -870,7 +870,7 @@ "typing_FStar.UInt32.v" ], 0, - "721e266659edd606cf87bcadee2861b5" + "e5f54ab6c5e3506107b6d84239703fdc" ], [ "Parsing.for_readonly", @@ -886,7 +886,7 @@ "typing_FStar.UInt32.v" ], 0, - "12e7b21ac1009e527d6f2dd124041c56" + "ef40a12c21302c1c3a64ecddd3d36a2b" ], [ "Parsing.for_readonly", @@ -1015,7 +1015,7 @@ "typing_FStar.UInt32.v" ], 0, - "b4dc327841f06e2f45e4619073056a45" + "b528382e0c4f5f86ad039ca62173fa7a" ], [ "Parsing.validate_many_st", @@ -1032,7 +1032,7 @@ "typing_FStar.UInt32.v" ], 0, - "6579f2761f4b8b93542842fb85415e3a" + "3ccb90930d6b69d720025a82e62e5d6b" ], [ "Parsing.validate_many_st", @@ -1170,7 +1170,7 @@ "typing_Tm_abs_fcf5f089b4575c189c74603aa57cb45b" ], 0, - "fdaf2cacb09a14df5b90809d33daeb71" + "1ae3f990a53d0640b5e1af7b604cc2b9" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureEncoder.fst.hints b/examples/kv_parsing/PureEncoder.fst.hints index 874e592a232..9fe99f89699 100644 --- a/examples/kv_parsing/PureEncoder.fst.hints +++ b/examples/kv_parsing/PureEncoder.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Slice.byte" ], 0, - "2871e100bb0a17885f6f908d7ce560f6" + "9a0a827954c8e5d02edfae83d02408e7" ], [ "PureEncoder.encode_store", @@ -29,7 +29,7 @@ "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "3e535c1cf8708197a7c20cafc54a07c0" + "f147aa11a00e1133944ae81a7d62f894" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureParser.fst.hints b/examples/kv_parsing/PureParser.fst.hints index 422118d1f38..1f1d0767b60 100644 --- a/examples/kv_parsing/PureParser.fst.hints +++ b/examples/kv_parsing/PureParser.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Slice.byte" ], 0, - "46db811f3b23c9d74e72bac39c733e09" + "17ac84019f6c4d0ff6f180e5ca1a8426" ], [ "PureParser.parse_abstract_store", @@ -25,7 +25,7 @@ "typing_FStar.UInt32.v" ], 0, - "96e8656f069a2a31e6edc2673efbafd3" + "ebdb83b4143cdfe86e1715b04eb24b27" ], [ "PureParser.parse_entries", @@ -42,7 +42,7 @@ "typing_FStar.UInt32.v" ], 0, - "36641b559f4b444e0677e36960979a4e" + "3095e37fe7d005c83dcc9ea7213ac8cb" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureValidator.fst.hints b/examples/kv_parsing/PureValidator.fst.hints index 2fefdcee6ea..445d41c85bf 100644 --- a/examples/kv_parsing/PureValidator.fst.hints +++ b/examples/kv_parsing/PureValidator.fst.hints @@ -32,7 +32,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "1e4944a430c2100570d5869e54b2f344" + "38c51ccd3925b0a0cb92fb3b9018da4f" ], [ "PureValidator.skip_bytes", @@ -41,7 +41,7 @@ 1, [ "@query", "primitive_Prims.op_LessThan" ], 0, - "1259eb6f710c782bfe6fc3790d5ad19a" + "16f3346d82a37b8ebcb38bb50b6cefdb" ], [ "PureValidator.parser_validation_checks_parse", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "185f97fa4fb6a1aaacc6140d572398cc" + "355c4b66ebd8629dbcd08764d331b3a9" ], [ "PureValidator.validate_u16_array", @@ -92,7 +92,7 @@ "typing_IntegerParsing.parse_u16_array" ], 0, - "906e26d9655044e49bb3760186afcb00" + "232c4c559538d7c74e529e9c42628a52" ], [ "PureValidator.validate_u32_array", @@ -136,7 +136,7 @@ "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32_array" ], 0, - "31ea1a0ca980e73bac3703d0c59ad414" + "4722382577c0d6b44ababa24453f00c7" ], [ "PureValidator.validate_accept", @@ -153,7 +153,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "666b30fd6eaf8349ad17e1ba33a1224b" + "fca4d869c6a6598fa537cfbd0c31859a" ], [ "PureValidator.validate_many'", @@ -169,7 +169,7 @@ "well-founded-ordering-on-nat" ], 0, - "d4c7c980e63e6eeca52306c196bc127b" + "550436764b37eec60edce2ca5b797d6b" ], [ "PureValidator.intro_validator_checks", @@ -178,7 +178,7 @@ 1, [ "@query", "equation_PureValidator.validator_checks" ], 0, - "de24fa6a266c2ade16f50fe81b8ca081" + "54cf917c34ae3246dade9bdc7bebde63" ], [ "PureValidator.validate_many'_ok", @@ -256,7 +256,7 @@ "well-founded-ordering-on-nat" ], 0, - "63112f46aededa4209bdf0b2d9774489" + "dc17b71fb0aa20933cecfcdd985801e4" ], [ "PureValidator.validate_many", @@ -265,7 +265,7 @@ 1, [ "@query" ], 0, - "cdafd1a93422e201e3e65375bb4a2a76" + "268958c0deab720440d6db1d871e27fb" ], [ "PureValidator.validate_done", @@ -277,7 +277,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d0d5fd24287ba982e374d70f056ab32a" + "4c93421e6236bf9dbd9055ddcb6431ae" ], [ "PureValidator.validate_done", @@ -292,7 +292,7 @@ "interpretation_Tm_abs_edbf06710bb6dd834626c73d213f2951" ], 0, - "d2c43eb68d8f4dbf0538c31ea1522d9f" + "93d8b72c9e32682a986874371781b995" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Serializer.fst b/examples/kv_parsing/Serializer.fst index 88477bf9480..ff7e740128f 100644 --- a/examples/kv_parsing/Serializer.fst +++ b/examples/kv_parsing/Serializer.fst @@ -46,7 +46,7 @@ val enc_entry_st : e:entry_st -> h:mem{forall b. TSet.mem b (entry_st_bufs e) == let enc_entry_st (e:entry_st) h = enc_u16_array_st e.key_st h `append` enc_u32_array_st e.val_st h -module T = FStar.Tactics +module T = FStar.Tactics.V2 let ser_entry (e:entry_st) : Tot (serializer_any (hide (entry_st_bufs e)) (fun h -> enc_entry_st e h)) diff --git a/examples/kv_parsing/Serializer.fst.hints b/examples/kv_parsing/Serializer.fst.hints index 0ce5f186ef4..a96863ea1ff 100644 --- a/examples/kv_parsing/Serializer.fst.hints +++ b/examples/kv_parsing/Serializer.fst.hints @@ -1,5 +1,5 @@ [ - "Ðñœn\u0011ú®ì¹o+\n\u001fŠ\\", + "£â«6†›ÆXçzëÿ#^§n", [ [ "Serializer.enc_entry_st", @@ -27,7 +27,7 @@ "typing_KeyValue.__proj__EntrySt__item__val_st" ], 0, - "14d1a7067a442679d26da6b3bf1f830e" + "661facb6ed44be0aec00ecbbdc86fa17" ], [ "Serializer.ser_entry", @@ -64,7 +64,7 @@ "typing_KeyValue.__proj__EntrySt__item__val_st" ], 0, - "202fa120e6feab2d77d7702e83736e9a" + "4badfc9d2ab9c1ee575be3c0a8fb5464" ], [ "Serializer.adjacent_entries_disjoint", @@ -80,7 +80,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "2d270693d70ca60e9ae564d568578aac" + "0a5bce9d8f3d410eb0084d09cbe34a38" ], [ "Serializer.writer_inv", @@ -105,7 +105,7 @@ "typing_Serializer.__proj__Mkwriter__item__num_entries_written" ], 0, - "ea961573ec79f8939d538d98b8ac62ac" + "8cde1cca200ee3fd808f220fdcfc260d" ], [ "Serializer.adjacent_advance", @@ -162,7 +162,7 @@ "typing_Slice.truncated_slice" ], 0, - "8a8017e7256891dfa58228fac549ffb3" + "2df5d0d59957b1add6cc4abd28a0a47f" ], [ "Serializer.adjacent_truncate", @@ -206,7 +206,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "222aa51a11f66eaff8b6361b255463e4" + "7032febc6f1f4dce8ba4bbe684f52cbf" ], [ "Serializer.adjacent_0len", @@ -220,7 +220,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "274af9aaa3d44261bfda9f090ce2c291" + "f310d91f3e721343f9b8291ecd40183d" ], [ "Serializer.adjacent_0len", @@ -274,7 +274,7 @@ "typing_Slice.truncated_slice" ], 0, - "52ea2bf21630fd9079434c314ce6188e" + "0ea360e76d5f8c6c5aebc6fff4efec53" ], [ "Serializer.writer_init", @@ -383,7 +383,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "70af980c34800e4832cb288f040a531d" + "f151cb871d228f1812e2a09a5047e25e" ], [ "Serializer.writer_reinit", @@ -392,7 +392,7 @@ 1, [ "@query" ], 0, - "a4ba566cd9079d20d887790a12556520" + "321c21049627cf4497b69cba6f389976" ], [ "Serializer.writer_reinit", @@ -477,7 +477,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "c0e4b0f61b57eb132c6d218d7789f157" + "84444b88cba26254275e0fe3c6687a19" ], [ "Serializer.join_slices", @@ -538,7 +538,7 @@ "typing_Slice.u32_add_overflows" ], 0, - "4b86dc9d5af9d0e567c0fa06c9fff0df" + "095b8243a3fbf56dd4697d88b7c73bc9" ], [ "Serializer.enc_one_more", @@ -547,7 +547,7 @@ 1, [ "@query" ], 0, - "2227c8b95eb4f23d62fa5e4c84114b85" + "3037f66741959b7ba5c29e5778d9c91c" ], [ "Serializer.enc_one_more", @@ -556,7 +556,7 @@ 1, [ "@query" ], 0, - "e2fea3b778b16f32ab3a4f8c3b70543d" + "b0f735aae1a3a46454735f0202ab2ab8" ], [ "Serializer.enc_one_more", @@ -599,7 +599,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "cb52e0a4e6187f142879fb29b2a1b537" + "3e4846a4781de3de03a1170d29660321" ], [ "Serializer.max_entries_to_write", @@ -615,7 +615,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "76a931bbaf2d4f8e369e673e7adc0f53" + "6ebe08146bbb5b76cda3f1042f249eba" ], [ "Serializer.lt_max_entries", @@ -632,7 +632,7 @@ "typing_Serializer.max_entries_to_write" ], 0, - "5f61d7f5a7e3aee33d76feeec7667deb" + "c6e50b89a0e69e27ae1c42676f4024a4" ], [ "Serializer.join_adjacent_stable", @@ -661,7 +661,7 @@ "typing_Serializer.join_slices" ], 0, - "7db08ceaabf11ec79824f350a3c66e12" + "4458b98d6a4acd5aa2af629b09ee81d0" ], [ "Serializer.writer_append", @@ -670,7 +670,7 @@ 1, [ "@query" ], 0, - "89a1df9615e6d197fb3d0cc777caeff1" + "001a78fcbf91a4576c41881177ec102f" ], [ "Serializer.writer_append", @@ -860,7 +860,7 @@ "typing_Slice.buffer_split_at" ], 0, - "a789bb72346f3b1e3e68e82c5d2978b5" + "42b7a38119d4e8fd47bdd30455e2a7c1" ], [ "Serializer.join_is_concat", @@ -874,7 +874,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "852f0a1c41394b076838dfed42ade8b6" + "8af42e9daf22a2ea40b7daef3d2a00a4" ], [ "Serializer.join_is_concat", @@ -921,7 +921,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "f5562b7ca2da64242c6c1e23358d9252" + "ed49a27f91a46be6b3f15b49ec9396d2" ], [ "Serializer.writer_store_buf", @@ -970,7 +970,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "3ce48a7a14056318078b7fa28ff7379e" + "3b10ee57c916e94505267cc184b057bd" ], [ "Serializer.writer_finish", @@ -979,7 +979,7 @@ 1, [ "@query" ], 0, - "f5ecdbc468e4b626258c92eee9151951" + "d4d92ee60d06ceb8c3770916fe88bba5" ], [ "Serializer.writer_finish", @@ -1106,7 +1106,7 @@ "typing_Slice.bslice_split_at" ], 0, - "5e80d75f252f7c2d00ea4f5a95aec903" + "56a77608b155c3f9fa72e50231115008" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Serializing.fst.hints b/examples/kv_parsing/Serializing.fst.hints index d89b1882227..e84ed5b8312 100644 --- a/examples/kv_parsing/Serializing.fst.hints +++ b/examples/kv_parsing/Serializing.fst.hints @@ -25,7 +25,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "42262198ddad97686a2b38788f8cc256" + "07c49bc586ee6104f3a1b1be5814dbfe" ], [ "Serializing.serialized", @@ -51,7 +51,7 @@ "projection_inverse_Slice.BSlice_p", "typing_Serializing.offset_into" ], 0, - "5562795113555ea09250fcc44889d439" + "613f523d8b0d89341659b6fde0b72a36" ], [ "Serializing.buffer_fun", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996" ], 0, - "2ffcdf954f25635882270821acaa9fa1" + "fd6c2f620952bf4b1c4b973e71bfe777" ], [ "Serializing.serializer_any", @@ -73,7 +73,7 @@ 1, [ "@query" ], 0, - "c584fdc92ef30861224bce93f8228a60" + "0ff94df38b117b156ae9328e63a5e948" ], [ "Serializing.serializer_1", @@ -89,7 +89,7 @@ "typing_FStar.TSet.set", "typing_FStar.TSet.singleton" ], 0, - "b7ca86ef0c7144f10a4cdfd9bcc2267d" + "fd30c83070c9b477cc30c95018f4cd24" ], [ "Serializing.ser_input", @@ -178,7 +178,7 @@ "typing_Slice.bslice_split_at" ], 0, - "3f3eaefd59a4b9f2b5ff4b5a8581a9fa" + "77f225e7e1d973bacd4aaec35e571b27" ], [ "Serializing.ser_inputs", @@ -285,7 +285,7 @@ "typing_Slice.bslice_split_at" ], 0, - "f3bfedf4c8289bf215e6fe8fa6ca574e" + "4cb6bfb452bfec5491c6ce69c6d54ab3" ], [ "Serializing.ser_append", @@ -402,7 +402,7 @@ "typing_Slice.u32_add_overflows" ], 0, - "1408aef23917746a010666ea2fe335da" + "b7b63ff745c22605a2906923cd0f2fb0" ], [ "Serializing.ser_copy", @@ -417,7 +417,7 @@ "refinement_interpretation_Tm_refine_b7c97f97206d149fdb8172188d1c4456" ], 0, - "34ae5c99925c17c507ab94f12d674e16" + "3155b6b79ccbe92ada813a83b0173812" ], [ "Serializing.ser_copy", @@ -522,7 +522,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "1bf83f291decc70fa0018a6408882006" + "aab2f632911f83d372277bfd97dc0300" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Slice.fst.hints b/examples/kv_parsing/Slice.fst.hints index e53c7befa43..efb78e6e9fc 100644 --- a/examples/kv_parsing/Slice.fst.hints +++ b/examples/kv_parsing/Slice.fst.hints @@ -13,7 +13,7 @@ "typing_FStar.UInt32.v" ], 0, - "dfb24ee9316a2998f6f572f0b7fff70d" + "96b46f305982bff2d861ac5ac43b1abb" ], [ "Slice.__proj__BSlice__item__p", @@ -27,7 +27,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "dc83b96924f0107f1c36c07c7bdb2de3" + "ab924730d23ccebc39878d7ad6186c12" ], [ "Slice.__proj__BSlice__item__p", @@ -45,7 +45,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "8427fe616b33e058eaea98e0b1e9ee01" + "423a9ca7f1ba1773ad23521d9e8c50a7" ], [ "Slice.as_seq", @@ -60,7 +60,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "b8de4ae0f015a14c3c0627448bfb40d0" + "9c20fd340d9677d4aa55502f07e0fb05" ], [ "Slice.advance_slice", @@ -85,7 +85,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "b1d81230da46a6e4e800cea4a56f9d2b" + "9f4d7cbf7ce8002832f1df18701662c1" ], [ "Slice.advance_slice_spec", @@ -154,7 +154,7 @@ "typing_Slice.as_seq" ], 0, - "f94ebfdf4599b1923ad40aee51774282" + "35d91a19927c127767a36dc77331d0be" ], [ "Slice.u32_add_overflows", @@ -181,7 +181,7 @@ "typing_FStar.UInt32.v" ], 0, - "da79a65fe2528ec338afda648cc6a5e5" + "19f2aba1a204f988d4f1e896962b57ce" ], [ "Slice.truncate_slice", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_44d098939b8b07981ebd637e18daa181" ], 0, - "168280f99b69fcfd2086ea23656f4708" + "bf457ffe8f9a2533fd92f3cf1c464398" ], [ "Slice.truncate_slice", @@ -273,7 +273,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "4ccdbffa89968e4b6ab6724e11b62c18" + "182c3b43cb1efbb51ecbea2214b4929c" ], [ "Slice.truncated_slice", @@ -298,7 +298,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "e0ccd78d63eff6256c09e58764b129b1" + "23f902c17cf0e954856bfdf6b7acf6aa" ], [ "Slice.bslice_prefix_equals", @@ -313,7 +313,7 @@ "typing_FStar.UInt8.t" ], 0, - "435150bc587aacba4ed5aa82924456c6" + "818968fa94936359522639ab458ffe3b" ], [ "Slice.bslice_prefix_equals", @@ -332,7 +332,7 @@ "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0" ], 0, - "335731fd7279fb2b9625a99bb409e2ff" + "b0d7511e8c518488e48f183fb7ce5110" ], [ "Slice.bslice_prefix_trans", @@ -346,7 +346,7 @@ "proj_equation_Slice.BSlice_p" ], 0, - "b9ae56badf8aa7054a39e2cbede8a6e6" + "277eb3d9813f67b1debaa9e6febd6524" ], [ "Slice.u32_max", @@ -365,7 +365,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "f0453faf052d75d1a35c8597a2834d79" + "4c8fe4f7418726cbd5bf8cbd16db78d3" ], [ "Slice.modifies_prefix_plus", @@ -446,7 +446,7 @@ "typing_Slice.truncated_slice", "typing_Slice.u32_max" ], 0, - "f8f410c68f55e9e3fddf941c5d1df2d6" + "92ebecc2c66455534ec26b90f96e1097" ], [ "Slice.modifies_prefix_times", @@ -532,7 +532,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "a8eb460fbaded4a2c0531dd6ab2b47ec" + "dcb2cb631d713b735f202d751c0b0341" ], [ "Slice.same_ref_equivalence", @@ -544,7 +544,7 @@ "equation_Slice.same_ref" ], 0, - "d92439109fb858b22edbca9ceb8e1e2b" + "d1fde997d8e47dc3b0b2d32865518d2c" ], [ "Slice.is_concat_liveness", @@ -560,7 +560,7 @@ "fuel_guarded_inversion_FStar.Buffer._buffer" ], 0, - "da88d03a727afdc2ae6fbdd1b7eff448" + "81b6c18ee435c496c63a1baf951cb0d2" ], [ "Slice.is_concat_disjoint", @@ -577,7 +577,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "52ecfd143770348057556ab0ede7250c" + "c1fd3f8ad03d497a1e195d8ba52714e9" ], [ "Slice.is_concat_append", @@ -635,7 +635,7 @@ "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "81e72cf9dd43c8b45df971813d5d3ff0" + "2156b0396446efae8468e4deaf15aeb8" ], [ "Slice.is_concat_suffix", @@ -717,7 +717,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "81ea29e9e4efef70b4a9863a022cdb6b" + "825302bcd88911090b3ae3cf557ed815" ], [ "Slice.is_concat_prefix", @@ -778,7 +778,7 @@ "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "59e69a41189a7c50bb8384e1831cb7e1" + "b015b051e5c87bd64e8283ca53e82061" ], [ "Slice.buffer_split_at", @@ -787,7 +787,7 @@ 1, [ "@query" ], 0, - "2b97333549decc72b1cf3566823dbf3e" + "789c0029853dc009af2a83e0be2896cf" ], [ "Slice.buffer_split_at", @@ -796,7 +796,7 @@ 1, [ "@query" ], 0, - "578e60a5d4e18dbade8d48ed378f6a27" + "04cb2970fcab94ff02309211f598dfa4" ], [ "Slice.buffer_split_at", @@ -850,7 +850,7 @@ "typing_FStar.UInt32.v" ], 0, - "c83f6400403c3dee691c0dc1e8807698" + "a7afb945206a1846ee8259e150ae9d0a" ], [ "Slice.bslice_split_at", @@ -885,7 +885,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "d3281231feaf5cd2b3f937cb42dc0ba6" + "43d5a083a03915622434c030db27032b" ], [ "Slice.modifies_prefix_seq_intro", @@ -899,7 +899,7 @@ "refinement_interpretation_Tm_refine_ce73caf971ab960d176981762c6e6b39" ], 0, - "f70b89529cb68cd19badcc8e455fee13" + "34c9803a9f8684943cd6c13af8e344c3" ], [ "Slice.modifies_prefix_seq_intro", @@ -908,7 +908,7 @@ 1, [ "@query", "equation_Slice.modifies_slice" ], 0, - "9d12034270899cd77500b30ec900d080" + "5a4345eb10194425a6fe4a683f90e2d2" ], [ "Slice.modifies_prefix_split", @@ -927,7 +927,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "4fc950486efc7cac5581d2fd608c38e3" + "f2b3c04256d3ea1e5810f21c01dc24c5" ], [ "Slice.modifies_prefix_split", @@ -936,7 +936,7 @@ 1, [ "@query", "equation_Slice.live" ], 0, - "0e0c918f7e8eb715ca8a6ab501e71cc4" + "9d5180354364f5b55f243e00d326ab54" ], [ "Slice.modifies_grow_from_b1", @@ -966,7 +966,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "51caad26d7e42eec3a16000fce074b83" + "5e89d173a3454a91cf6902c2febcf6e1" ], [ "Slice.modifies_grow_from_b2", @@ -996,7 +996,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "59cc6f021195bb555b4cd8bd9e6a3889" + "a5eef49e7f81f713b38f53205b8829a5" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/ValidatedAccess.fst.hints b/examples/kv_parsing/ValidatedAccess.fst.hints index 1d32d5a8caf..73637978fed 100644 --- a/examples/kv_parsing/ValidatedAccess.fst.hints +++ b/examples/kv_parsing/ValidatedAccess.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.UInt32.v" ], 0, - "0ebc60aec91bbe1070b6172460d71024" + "81bc9d1590a104225325546423a72d2a" ], [ "ValidatedAccess.for_readonly2", @@ -32,7 +32,7 @@ "typing_FStar.UInt32.v" ], 0, - "1f53e9fdfbe696ca927d108f41f91201" + "4ca332fc84d1e67c080bfdb9d3a472f1" ], [ "ValidatedAccess.for_readonly2", @@ -163,7 +163,7 @@ "typing_FStar.UInt32.v" ], 0, - "411a390cdb7ce4fc0065530feaf1ebfd" + "97e93f3c46bfe97a05e33af0b7feedc3" ], [ "ValidatedAccess.lookup_in_entries", @@ -184,7 +184,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.UInt8.t" ], 0, - "4f51383499e5724586da5ff7e740e9a6" + "a236051ce072a886425f836db8925836" ], [ "ValidatedAccess.lookup_in_entries_st", @@ -209,7 +209,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "a6a1f3b1ce9ac0a9e7058cf552b84e48" + "28ae82c35f73a5b5f72daf441c1e9764" ], [ "ValidatedAccess.lookup_st", @@ -234,7 +234,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "1c8997a00fdecf98daedd054d2e5ab85" + "da47ae1f60466c86e437cb582e24c72c" ], [ "ValidatedAccess.lookup_st", @@ -353,7 +353,7 @@ "typing_Slice.as_seq" ], 0, - "8161596175991f71dfe666eef7ef10a8" + "0ed02e596e5d9d1babc3502d0711a7da" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/ValidatedParser.fst.hints b/examples/kv_parsing/ValidatedParser.fst.hints index 05209361bec..9e5ea222262 100644 --- a/examples/kv_parsing/ValidatedParser.fst.hints +++ b/examples/kv_parsing/ValidatedParser.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "2e6ff27dedf3bfb849e67f4b49fb6846" + "40fd6c77f1139967fa4a945445c56e73" ], [ "ValidatedParser.fold_left_store_n", @@ -41,7 +41,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "5e6b88e7900d71cd2969cda26cc29aae" + "e2b361376b62b73b736d8ca34890c2cd" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -62,7 +62,7 @@ "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "be547876f86c65ef1b7742476956fc56" + "5ceffb888985403628d5c37441936dc1" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -82,7 +82,7 @@ "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "d09c4e0ed32ad0615d0d9bbc70ff28af" + "f8027ee8eeba250a492da21e5c52204a" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -136,7 +136,7 @@ "well-founded-ordering-on-nat" ], 0, - "d89c632fda7398fd088b2d627cb83b41" + "adbc68197529dafae644e0309b25d846" ], [ "ValidatedParser.fold_left_entries_st", @@ -155,7 +155,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1ea4987802afd3cd9f5216271f1194c0" + "00184b091a3617e457f799281435e45b" ], [ "ValidatedParser.fold_left_buffer", @@ -220,7 +220,7 @@ "well-founded-ordering-on-nat" ], 0, - "915225949228310b10de51a166ad71b2" + "f40b70d972dc5289180011416bbf8c35" ], [ "ValidatedParser.parse_num_entries_valid", @@ -257,7 +257,7 @@ "typing_FStar.UInt8.t", "typing_Slice.__proj__BSlice__item__len" ], 0, - "2694db599b0a624509a460d254602c86" + "8dd9295a0b1ddf0482b6dc834a82f794" ], [ "ValidatedParser.parse_num_entries_valid", @@ -277,7 +277,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "b3168f23eac0dffe8e3428e4b770b2a3" + "b0d13ffab3aaa2387dc793e0bdbd61b5" ], [ "ValidatedParser.parse_entry_st_nochk", @@ -443,7 +443,7 @@ "typing_Slice.as_seq" ], 0, - "da1670eae08287924a01f78a9ee02c46" + "d505a5776d0ac18af9c7daeb317497e3" ], [ "ValidatedParser.parse_many_next", @@ -508,7 +508,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "06a02f0120ed7a97cecb25f2bdab4323" + "aad0e01bb2ac88625c216761063f6754" ], [ "ValidatedParser.parse_one_entry", @@ -547,7 +547,7 @@ "typing_FStar.UInt8.t", "typing_Slice.__proj__BSlice__item__len" ], 0, - "e61f32010c6695c1b60233adbdf70997" + "016994a0a8eb0603db8fac29a262d1d1" ], [ "ValidatedParser.parse_one_entry", @@ -634,7 +634,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "4870fc11816906f12959c10621ce75dd" + "e91d6fd822d9eb094e93e9de8ffc47a9" ], [ "ValidatedParser.fold_left_store_n_unfold1", @@ -659,7 +659,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "22b5f4b7b7ab8c1d7f3ebe9a97c92402" + "f919dc6f307d2570079bfb232490dfa4" ], [ "ValidatedParser.fold_left_store_n_unfold1", @@ -682,7 +682,7 @@ "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42" ], 0, - "b07c6a1cc5bd5fc3a737150c0815d20e" + "f908c01935d022f77db9d6f30d1a5ff9" ], [ "ValidatedParser.fold_left_buffer_n_mut_st", @@ -733,7 +733,7 @@ "typing_Slice.__proj__BSlice__item__p", "unit_typing" ], 0, - "72e0189fb1c965e4d3fb75646e73129a" + "25c2fe4d743d1bc72fb895207ce42710" ], [ "ValidatedParser.fold_left_buffer_n_mut_st", @@ -742,7 +742,7 @@ 1, [ "@query" ], 0, - "41645eccd39142d7b0db64d50fdeb5a0" + "2f418cd867e9400269e9ada5b7d9fcdc" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -766,7 +766,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "878c2a70f67d071ec972f1bc40008ec1" + "8473fe4af2102604a66b1ccf8cbf206b" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -775,7 +775,7 @@ 1, [ "@query" ], 0, - "370247935ec99ee4271c06ebc39289c1" + "5492d3d00ef4ef20c2c70294993b1c9f" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -981,7 +981,7 @@ "typing_Slice.as_seq" ], 0, - "9d75b0bb262b73cad98df58b7a2593bc" + "4b5f98ee18bc280d2e24217e6a0ba343" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1004,7 +1004,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "607537728022108fd422440ba2b8e252" + "67a7f488175e5b5463104a7ab3a60dc3" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1013,7 +1013,7 @@ 1, [ "@query" ], 0, - "a1572d99f9426758ff127e9a2dc51e0d" + "aed1b0da5f1e35bbdea179d8404575a8" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1124,7 +1124,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "88b5e8c2f6644084aa360b3fceb638db" + "fbb99bf97b1e6dedf1984911ded2e89e" ], [ "ValidatedParser.fold_left_n_count", @@ -1148,7 +1148,7 @@ "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v" ], 0, - "3c32c73d0cd25ea8182a7d5cc374f6a2" + "3d309094bfec3aba557b27a958ce4e9e" ], [ "ValidatedParser.fold_left_n_count", @@ -1173,7 +1173,7 @@ "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v" ], 0, - "579eb5f20befad1e4b97002aa59491ad" + "9e83490d46d8cea0b68b89b45032cf42" ], [ "ValidatedParser.fold_left_n_count", @@ -1226,7 +1226,7 @@ "typing_Tm_abs_53df15fc4047d876009ffd917d78afba" ], 0, - "b2ebd2e347922f3cf4527eb63b1ffd5b" + "c6d9f01d7a1abaeaafdcb9142eedd0ba" ], [ "ValidatedParser.fold_left_count", @@ -1255,7 +1255,7 @@ "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "11e8012b9cb521dc2c2debaef8be132c" + "82b5290372b523594feee391d1f0c57e" ], [ "ValidatedParser.count_entries_example", @@ -1278,7 +1278,7 @@ "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "8b24c26d186d471a17739674c996957c" + "7f3c55f13a75f92c28b0d2add704a8a0" ], [ "ValidatedParser.count_entries_example", @@ -1334,7 +1334,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "a20a86204fa544095b17ce8dff45d891" + "3fe4e323c39fd1c9ce13b1333e845ff2" ], [ "ValidatedParser.count_entries_example'", @@ -1430,7 +1430,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "db66d97ea79ee7db604bfa2aba031f3e" + "9d4b908260883b8e8aa33dd875e7181d" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Validator.fst.hints b/examples/kv_parsing/Validator.fst.hints index 40edf4b4c63..978084b2b35 100644 --- a/examples/kv_parsing/Validator.fst.hints +++ b/examples/kv_parsing/Validator.fst.hints @@ -69,7 +69,7 @@ "typing_Tm_abs_e721b5146802119538de537768163e78" ], 0, - "90c9812eb958f3bc7e13474ff02eae5a" + "a67c49bb04992dd085de327780d81175" ], [ "Validator.validate_entries_st", @@ -138,7 +138,7 @@ "typing_Tm_abs_94510e0353a00e9b40c5c507a356d42f" ], 0, - "cc282f7b11b6fb28267603f6e01e6289" + "b5641f083d3e2a4581620f019d617b7f" ], [ "Validator.validate_store_st", @@ -293,7 +293,7 @@ "typing_Tm_abs_43468ed488373c2fe2e459e99a962897", "unit_typing" ], 0, - "1c37e9c24cd252c7cb907f126ad6ec72" + "b67cf3b4f240950251a1a8b81296d15f" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/VectorParsing.fst.hints b/examples/kv_parsing/VectorParsing.fst.hints index dd56f4c589f..de0f3b2b271 100644 --- a/examples/kv_parsing/VectorParsing.fst.hints +++ b/examples/kv_parsing/VectorParsing.fst.hints @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bbb7b54cf8e63ece825fc62781e13724" + "bc7b1bee1db08ec70ef018522f565d1a" ], [ "VectorParsing.parse_elem_progress", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_44194a55cbe5e910cc85b59a81e856c4" ], 0, - "ed777f79afe510769a1af4e525ba386e" + "0d3fb4b3365217ab61b054b465c639f7" ], [ "VectorParsing.parse_elem_progress", @@ -73,7 +73,7 @@ "typing_FStar.UInt8.t", "typing_VectorParsing.enc_elem" ], 0, - "e6e72bcfaf49c335691eef4481e0305a" + "4f07fc0aca28dd585d687356fc347e1c" ], [ "VectorParsing.parse_elem_enc_length", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_44194a55cbe5e910cc85b59a81e856c4" ], 0, - "661e60889f376a5dd7ee8954c2e43907" + "e61cfb856f83d8e3652de50a8cb1fa3a" ], [ "VectorParsing.parse_elem_enc_length", @@ -123,7 +123,7 @@ "typing_FStar.UInt8.t" ], 0, - "2296eea3bec3e888278f6c45a73bbf2e" + "2535d6c83d1f84e0f5b233ed67997827" ], [ "VectorParsing.vector_length", @@ -138,7 +138,7 @@ "typing_VectorParsing.enc_elem" ], 0, - "a1103335027bf1f407a609587f99a9f8" + "5a64294dcadc8aae9ab28d51489a7157" ], [ "VectorParsing.parse_vector_length_pre", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "7a34847f01bbfefe3e3fee2d14d957ba" + "1d9b29c40729cae42617fe184b632798" ], [ "VectorParsing.parse_vector_length_pre", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "cc334fdbe74cdafb31a011bcfe4c1222" + "4b06c8622270919fc5d13db8377a3e8e" ], [ "VectorParsing.parse_vector_length_pre", @@ -223,7 +223,7 @@ "typing_VectorParsing.vector_length", "well-founded-ordering-on-nat" ], 0, - "0ede73fa0911338fdc1a1dd8d9b0f5bf" + "8bee87f1825dc24c7c3a6fba3a76477e" ], [ "VectorParsing.parse_vector_length_pre_extend", @@ -254,7 +254,7 @@ "typing_FStar.UInt16.v", "typing_FStar.UInt8.t" ], 0, - "3e656ec60aa6f8f4543380138170b5d5" + "bb2c0a0c963f1b128d03419c5d5fe6d0" ], [ "VectorParsing.parse_vector_length", @@ -263,7 +263,7 @@ 1, [ "@query" ], 0, - "ff27ad515fe89eea8ea747caa7d3c547" + "8ddead88df9ac050be1b66ff780b1a6d" ], [ "VectorParsing.parse_vector_length", @@ -292,7 +292,7 @@ "typing_VectorParsing.vector_length" ], 0, - "aa027c0bad777aa32d048ddc5830a767" + "e49032168e6e84908aee81fd8b744363" ], [ "VectorParsing.parse_vector_length_0", @@ -350,7 +350,7 @@ "typing_VectorParsing.vector_length" ], 0, - "1844788b9888c39c5948b690fdd7dd26" + "50dbc6ce6709084621416aaee3b6b2fb" ], [ "VectorParsing.parse_vector_length_consumes_len", @@ -367,7 +367,7 @@ "refinement_interpretation_Tm_refine_44194a55cbe5e910cc85b59a81e856c4" ], 0, - "2e65cd4f978de4809232182968057db6" + "b9d56ff322e58c296e06a165c52c1748" ], [ "VectorParsing.parse_vector_length_consumes_len", @@ -394,7 +394,7 @@ "typing_VectorParsing.parse_vector_length_pre" ], 0, - "6bbaab9b751929776625593db9aa87a8" + "bc5e1634341aea537922d369f7bc43ff" ], [ "VectorParsing.parse_vector", @@ -403,7 +403,7 @@ 1, [ "@query" ], 0, - "865fcfdb4b1f805fb244faec9822b4c8" + "318f6af9b892f4fe9407cf1a93603eed" ], [ "VectorParsing.encode_vector_data", @@ -446,7 +446,7 @@ "typing_VectorParsing.enc_elem" ], 0, - "ddf38467dc17b1298e322475cb86b1d2" + "ff3540512a831a7b8be7cb5fe9600443" ], [ "VectorParsing.encode_vector", @@ -467,7 +467,7 @@ "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4" ], 0, - "72b3bb5bd2aa2964894b3fc20843ad59" + "4f86e6dcf490ea05a94c01c584b5c604" ], [ "VectorParsing.do_while_readonly", @@ -593,7 +593,7 @@ "typing_FStar.UInt32.v" ], 0, - "d2c2e9a2f5b09c31afb588902f6d6226" + "aa76781abad7432b4a9de0ca6ebf24a9" ], [ "VectorParsing.u16_bound", @@ -614,7 +614,7 @@ "typing_FStar.UInt16.v" ], 0, - "29c0a6952e01462595ada5ea78e11701" + "d58623154ce68b85ffaf76f4ae607545" ], [ "VectorParsing.validate_vector_data", @@ -623,7 +623,7 @@ 1, [ "@query" ], 0, - "b236774d83a15ce7ae6852eb7e3f061d" + "09b0cfbc472647a4a5372df46eb37c94" ], [ "VectorParsing.validate_vector_data", @@ -787,7 +787,7 @@ "typing_VectorParsing.parse_vector_length_pre" ], 0, - "983c6a1bc4d832ca974ea5ad47277930" + "c5a4068300537ca5376421a286d06d32" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Alg.fst b/examples/layeredeffects/Alg.fst index 21960d87bed..17cfdd36753 100644 --- a/examples/layeredeffects/Alg.fst +++ b/examples/layeredeffects/Alg.fst @@ -2,7 +2,7 @@ module Alg (*** Algebraic effects. ***) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot open FStar.Universe //module WF = FStar.WellFounded diff --git a/examples/layeredeffects/Alg.fst.hints b/examples/layeredeffects/Alg.fst.hints index edee89f9cb1..c882f7608b7 100644 --- a/examples/layeredeffects/Alg.fst.hints +++ b/examples/layeredeffects/Alg.fst.hints @@ -1,5 +1,5 @@ [ - "½FŽ#ÀsÇ|¬?Å”\u001fÕÖ†", + "\u0001^¯ßXq±BÅÉ¿-8¶c\u0019", [ [ "Alg.__proj__Other__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_a9240f7d56c60cd25a725ecfdcc71b29" ], 0, - "71169561ed5da0615da292427b4b7b09" + "5eb38e9093977a824dffe7cdc0edbc0e" ], [ "Alg.op_inp", @@ -25,7 +25,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6864e03d1a04f8b3091d2431e1b82f36" + "f261702e4b1216512ef064e1a64b5bde" ], [ "Alg.op_out", @@ -39,7 +39,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2dfb0a2443715a89de9538f028f47d28" + "25dadba39908bc1da35fb1b036165560" ], [ "Alg.__proj__Return__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_04752b183a74d88f451aa19de994b079" ], 0, - "97e4a83cd17dc128e8c117113cb1267b" + "6e7a0956d674f2e3000bec170c2430b4" ], [ "Alg.__proj__Op__item__op", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_d27e42e9977a5f6390b2a28e6f34068f" ], 0, - "9cd7a6b598d0b4ecbd3539c2fc0ba8df" + "fbc99a965566b75293e38476abcb7f13" ], [ "Alg.__proj__Op__item__i", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_d27e42e9977a5f6390b2a28e6f34068f" ], 0, - "ebb18842b3e77afb2452485f6813942d" + "03eefe7b137753bcf14a09d2200818a6" ], [ "Alg.__proj__Op__item__k", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_d27e42e9977a5f6390b2a28e6f34068f" ], 0, - "8184e2145088edf053d8f08810f7f427" + "d880547dd9560e8283409124d62b71e1" ], [ "Alg.abides", @@ -115,7 +115,7 @@ "typing_tok_Prims.T@tok", "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "18b09b722c32220bba4746947453c5b1" + "e2a4c180f0c416d4aea330dd5db04849" ], [ "Alg.memP_at", @@ -147,7 +147,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "2754c31aeb3ac0649bc0e14a3adaf02a" + "6ab4cccc67ef961cf7d5679cf8e447a5" ], [ "Alg.sublist_at", @@ -175,7 +175,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "64425ba3de5ca7b0c798f3a87c30f3cb" + "97405840f6ecac366b29b5aa83ea9ab1" ], [ "Alg.sublist_at_self", @@ -184,7 +184,7 @@ 1, [ "@query", "lemma_Alg.sublist_at" ], 0, - "770ab23d329c43776d2b651e880833e9" + "11dc080e4b62d2f71a1e044832003aa7" ], [ "Alg.abides_sublist_nopat", @@ -216,7 +216,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "9610cfd7044ad16d268cdac3b3dfce8f" + "e41a8ca5168d46c9764cc222ea63482c" ], [ "Alg.abides_at_self", @@ -237,7 +237,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "ed285c300e2fb16e9918ccde3c9f8db8" + "ab23adf53b4bb637ed62ba495b4e8b27" ], [ "Alg.abides_app", @@ -253,7 +253,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "26613264bd9587f832e64d7a0c97a270" + "0a2c29fa8f3eaf4c1c4f86250d0841b3" ], [ "Alg.fold_with", @@ -280,7 +280,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "ecde2d44de9d13e50e515f5be84fd974" + "87ff25368ce3696c294b66fe2389a08c" ], [ "Alg.return", @@ -298,7 +298,7 @@ "projection_inverse_Alg.Return_a", "true_interp" ], 0, - "f4b5fce0482f1b161ee94538a2578b49" + "35e31f6f3e4a37dabf11b47e8cf97eb2" ], [ "Alg.bind", @@ -331,7 +331,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "2199e132178c95780a890251e94621ca" + "7d9e2598974f4560469f0bfe6cf5847f" ], [ "Alg.subcomp", @@ -346,7 +346,7 @@ "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232" ], 0, - "73c9a0abaf7db865bf5c9d8e3441eadd" + "960a2362592bd259e2fbc22c081239e7" ], [ "Alg.Alg", @@ -355,7 +355,7 @@ 1, [ "@query", "lemma_Alg.sublist_at" ], 0, - "ac3577ed167e0a393c6c2324e20f7449" + "68cc12d26d7c3f93c83d6ba4243a3e78" ], [ "Alg.Alg", @@ -364,7 +364,7 @@ 1, [ "@query", "lemma_Alg.sublist_at" ], 0, - "0799630aa1db12da3a876cd6b565a9ec" + "1ec41edb48f7f0ffa321f16e63694bf7" ], [ "Alg.Alg", @@ -373,7 +373,7 @@ 1, [ "@query", "lemma_Alg.sublist_at" ], 0, - "d79e482ad198f6f1fe9070d8bd33e79e" + "f127c39711a36cd155b603bf3b53ebc4" ], [ "Alg.lift_pure_alg", @@ -391,16 +391,16 @@ "projection_inverse_Alg.Return_a", "true_interp" ], 0, - "f05e46781f1b6030538a9fa3a5210a11" + "9651d23e8c55f33e568a9b91edd18ef2" ], [ - "Alg.16396", + "Alg.49176", 1, 2, 1, [ "@query" ], 0, - "4bd05ea75a6d3b881a9d017501efb054" + "e7f76880ba8805651cf734a103b68647" ], [ "Alg.geneff", @@ -433,7 +433,7 @@ "typing_Alg.op_out", "typing_tok_Alg.Return@tok" ], 0, - "3117e464d81e03fbf8c0f844c49527fe" + "1ad29cfee6a5c718da3acbff477b823c" ], [ "Alg.get", @@ -442,7 +442,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "4014f4bd91ec9f7c596a5c781a4cf5bc" + "22761d38d48da31d683f99cec4c6d95b" ], [ "Alg.put", @@ -451,7 +451,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "d2ee3acab5ce714bed0f9f6b47500207" + "af8e6a2f2c6a1888fda6293f479d1ed2" ], [ "Alg.raise", @@ -475,7 +475,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Raise@tok" ], 0, - "9520d07423d7e8bab0219edd593f104f" + "814aed4850cdc53c8d834288497f74bf" ], [ "Alg.another_raise", @@ -505,7 +505,7 @@ "projection_inverse_Prims.Cons_tl", "typing_tok_Alg.Raise@tok" ], 0, - "8cc88aa35687c891bd2388c7b397c6c9" + "439a5daed5c363504d6db6d72b471c14" ], [ "Alg.listmap", @@ -534,7 +534,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "45dd7715a0378407075db82ec170ea54" + "ee123da1721d2bc70c25402ce20e2fa4" ], [ "Alg.listmap_read", @@ -570,7 +570,7 @@ "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Read@tok" ], 0, - "4c7886f23007af4c18e0a138dc27a1e5" + "f7d9657ce147fc880389398f20c8670e" ], [ "Alg.frompure", @@ -593,7 +593,7 @@ "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232" ], 0, - "18fd18ce778e99a27b74563b37982efb" + "8f0f1c3ba6a2e36437bb681b93499de9" ], [ "Alg.__proj__Failure__item__uu___", @@ -605,7 +605,7 @@ "refinement_interpretation_Tm_refine_a8d28b78e42d900aa24a87f347ba147c" ], 0, - "e296bb3bd2018d4e4b1af61fbbf1a47f" + "e9e77a1cb8a0d43c5ce11e53dc716ab9" ], [ "Alg.test0", @@ -631,7 +631,7 @@ "typing_tok_Alg.Read@tok", "unit_typing" ], 0, - "86e7ffaeea3ff3bbf4e038fe44ac1327" + "2366db9db7590b7ec623607a2cbdb51d" ], [ "Alg.test1", @@ -660,7 +660,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "1c87f8d0ff4bb0f7ac85ddbbf6c3d7b2" + "819a664a8d81f414b1e8f4b0274c4f63" ], [ "Alg.labpoly", @@ -676,7 +676,7 @@ "lemma_Alg.memP_at", "lemma_FStar.List.Tot.Properties.append_l_nil" ], 0, - "fb8cf145691453a54441a74f6b734e8c" + "01e4bb3f391a4a53c81411bee96f80fc" ], [ "Alg.__catch0", @@ -720,7 +720,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "cb6dd5e7d2385472780375de5120dd9c" + "8d5f20e9991a07bdc7ed497e1857ed57" ], [ "Alg.__catch1", @@ -760,7 +760,7 @@ "true_interp", "typing_tok_Alg.Raise@tok" ], 0, - "5184f6fccac232440dcb1b6e1f08d1b4" + "a97dbc105f8423b46647c5ddd020a3f6" ], [ "Alg.test_catch", @@ -784,7 +784,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Write@tok" ], 0, - "596ca3c35976dc7aa3eb2695fd14c6a2" + "90e3abcf6ae346d564cd5e9d4755d444" ], [ "Alg.test_catch2", @@ -813,7 +813,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "d923c2f85daa84f989d3806a0acb0cfd" + "e54b76af944d3fa128d3776fcb5821e4" ], [ "Alg.handle_with", @@ -822,7 +822,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "dc46c94b7843be7e94bdb7da17a74148" + "a5695d065327fda8bf6cf7325ad756c3" ], [ "Alg.defh", @@ -849,7 +849,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "8d8239d9c9e21a6c47053895620ea607" + "760cf395b0fb7b26c24f08e9bcdf4706" ], [ "Alg.exp_defh", @@ -876,7 +876,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "272c33ff94a884dd1b3976602e5df5bf" + "60c8ef8cdb55c6eb6b77362ac75c2d53" ], [ "Alg.defh_tree", @@ -905,7 +905,7 @@ "refinement_interpretation_Tm_refine_d3f2e5fe5b6bef23be1dead391ddd517" ], 0, - "92d5cc1332674b238554685d39661a42" + "214fedffa3aaa16bfeeaa00b59242864" ], [ "Alg.try_with", @@ -935,7 +935,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Raise@tok" ], 0, - "964bdd6733afa193cc85470448158e71" + "0cb571cb09a01a84e7557f6862f474a7" ], [ "Alg.some_as_alg", @@ -954,7 +954,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "b40e88dbeeca5343cc6a63dbbe675b99" + "1389e5cd5f13edeffb47b42865ef27ed" ], [ "Alg.catchE", @@ -984,7 +984,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Raise@tok" ], 0, - "9cfbe62ca5ce69b94dec7b67066f6a84" + "5c56d1df14b6fb3e310439539aaaead6" ], [ "Alg.test_try_with", @@ -1008,7 +1008,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Write@tok" ], 0, - "d7aa41dea013fcd8ea63819e4f80cd00" + "4311dd50307e2fe56792634b592fe6a0" ], [ "Alg.test_try_with2", @@ -1037,7 +1037,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "2e2fd89c31cb36e599b836f01a2649a4" + "b29735d716f21d06d3519cd2187c64bd" ], [ "Alg.__catchST0", @@ -1090,7 +1090,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "a07ecc2b7ba4fc45c08941b706bcf8bd" + "d86a68d99a4908e572af2367f2126fe3" ], [ "Alg.__catchST1_aux", @@ -1140,7 +1140,7 @@ "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "167a9d14107b65bedbd90b0815e586af" + "faa6f7b8a4c4344fcde177cc4b336638" ], [ "Alg.__catchST1", @@ -1165,7 +1165,7 @@ "typing_Tm_abs_e48f02b9cd9cafe7d8a71651deedacfe" ], 0, - "d6d5a7cdcc5f02f2aae327d872cf7803" + "97e273e4cb97968cfc0d47dc0ed0798d" ], [ "Alg.catchST", @@ -1201,7 +1201,7 @@ "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "046cb27ef229c6c02a1c1d10a1a7187b" + "0a9f4afb2b9c3bf962068257a7e65d71" ], [ "Alg.runST", @@ -1220,7 +1220,7 @@ "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.append" ], 0, - "0dfd02c9cc3d00919283aaa33bb3959b" + "6267a475660fafe836aea5f7f05caa88" ], [ "Alg.runST2", @@ -1250,7 +1250,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "d49120f9900f660724d8da6753e3b625" + "eb2fdcd760845bf924dc72ca2bd5eebe" ], [ "Alg.run_stexn", @@ -1280,7 +1280,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "1c9c64eeb43d526dd7ea638508c5be91" + "7b54ccbb80a4f37669ee540dc6f5ba46" ], [ "Alg.run_exnst", @@ -1310,7 +1310,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "e1d2dcbd2857af3cae77ee243d992d71" + "c25aaafb22734aa2379fa5749cb268a7" ], [ "Alg.read_handler", @@ -1319,7 +1319,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "b111b352472ae37ee26a6ffc87ef109c" + "591f6a55892473169bceea931857e553" ], [ "Alg.handle_read", @@ -1349,7 +1349,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Read@tok" ], 0, - "91ac6e6205b24cf8151cdaf92e6e20a6" + "32cb22976617b5437f568b4b18d96cb7" ], [ "Alg.write_handler", @@ -1377,7 +1377,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Read@tok" ], 0, - "bbbc3e5ee2e7e8da197cf5a6a49167ee" + "0dc1c92e7f8fc36c52cb5bd026769a4a" ], [ "Alg.handle_write", @@ -1407,7 +1407,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Write@tok" ], 0, - "1f6a25a7125e2b1b4e82b6e6c7d0776d" + "fa9c4d41cfba271e29b8b27d89331304" ], [ "Alg.handle_st", @@ -1428,7 +1428,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Read@tok" ], 0, - "d186d3aa9150a423631d10b8f985e454" + "32416df0e4f8bc25c16415e1d1fc4ae2" ], [ "Alg.widen_handler", @@ -1445,7 +1445,7 @@ "refinement_interpretation_Tm_refine_4a61601c82f7bb2aff07d8db579c8b45" ], 0, - "2a7e1deb0581aa1a9b85d77f3047e3f6" + "3cb56258176a48cb47fdc0d5bf58b62e" ], [ "Alg.handle_sub", @@ -1464,7 +1464,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "4bb0784b8e070df63b34ca4edb7d2e8a" + "3d3ed17f89af09ccd332d2a7a78279f4" ], [ "Alg.widen_handler_1", @@ -1489,7 +1489,7 @@ "refinement_interpretation_Tm_refine_eb7ac74a52a1d20f7b8acdf8a7243a27" ], 0, - "cbe9628bbb80d48469b06d353bfd041d" + "8ed18850235799895a27e97e92d57616" ], [ "Alg.handle_one", @@ -1510,7 +1510,7 @@ "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.append" ], 0, - "8b307b357b96938924c4e3644249dd66" + "9923f0287cb0c6d288f3e064019b2fac" ], [ "Alg.append_single", @@ -1530,7 +1530,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "5f5d7a00ad8cef6947046d87833c192b" + "53ac38206a225ca10febd10ae06dc6a9" ], [ "Alg.handle_raise", @@ -1549,7 +1549,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "fddfe99c7c2eadb6da1e61d379e6b01d" + "ddaab7c348324ccb16980653ae00f25a" ], [ "Alg.handle_read'", @@ -1568,7 +1568,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "08bb9df63167feda386c49f2f91bb07d" + "abf61ed1f1d9cd39ae50fb26149140d8" ], [ "Alg.handle_write'", @@ -1590,7 +1590,7 @@ "typing_FStar.List.Tot.Base.append", "typing_tok_Alg.Read@tok" ], 0, - "c127fff373b151375747a765866b2ac0" + "6f36a7893b2371ed6aac876e0b4d9431" ], [ "Alg.handle_return", @@ -1606,7 +1606,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "65fabd22374c4d19cfab867f4fae7955" + "ae91aec254865b0525792d8e411a2f1c" ], [ "Alg.handler_raise", @@ -1638,7 +1638,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "0b008fc606a4233b3840df851e2ba7ae" + "5b380ec0e8c715580ddc556e610272a1" ], [ "Alg.handler_raise_write", @@ -1674,7 +1674,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "5423a53f0435d81f028d062a0e3dde7e" + "821002f5b22604d2b94c86332643c9b8" ], [ "Alg.run_tree", @@ -1697,7 +1697,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "6e7a623fe33fdfd2bc914aa37ad4488f" + "db6428713b10a5b36e0bed373b5c599b" ], [ "Alg.runSTE", @@ -1731,7 +1731,7 @@ "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "35bfc2871b76cc8ac815aa0524d7c6ca" + "4c1be5a018967f1c9e7c7eba922c6ca3" ], [ "Alg.runSTE_pure", @@ -1750,7 +1750,7 @@ "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.append" ], 0, - "281a360178c962e00735ec4cc1d04db8" + "053097fc15e2b724501f05ba88795dd9" ], [ "Alg.interp_pure_tree", @@ -1773,7 +1773,7 @@ "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232" ], 0, - "f817daf0ecf1d2272c5645c7ecce1eca" + "48a7fc083379cc581d0b3ae5a25ef833" ], [ "Alg.interp_rd_tree", @@ -1815,7 +1815,7 @@ "typing_tok_Alg.Read@tok", "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "6658116f0aeea2f144f4d4672355ae27" + "d96223be726249007b2e984c840023a3" ], [ "Alg.interp_rdwr_tree", @@ -1857,7 +1857,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "b1fa055d9e87ad123a5680170311c628" + "8f37e5679979cd02b3946bf81df287e9" ], [ "Alg.interp_read_raise_tree", @@ -1901,7 +1901,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "031c44d5868a5b5788f1750c4cffa920" + "9d1b0aacf559831463d6c56b5e3febec" ], [ "Alg.interp_all_tree", @@ -1946,7 +1946,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "f90ccf8a9718ceff40dded34ddcb0d34" + "2cb8083b1fdae22e1ef164a1fa5b6953" ], [ "Alg.handle", @@ -1995,7 +1995,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "e7ef10b0c2ee5bb316e858f1cc28e74a" + "8e19957296963e817786117c7d108cfe" ], [ "Alg.handle2", @@ -2040,7 +2040,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "9f9c62d61137a4e82359abfeb7ccaef9" + "460b62969d4ca8894d605d802ac449ce" ], [ "Alg.catch0'", @@ -2061,7 +2061,7 @@ "true_interp" ], 0, - "be9b627c72e8cb6448ed99b809f7f3fc" + "32095bfe573ca6cd7f8238bf099b049e" ], [ "Alg.catch0''", @@ -2101,7 +2101,7 @@ "true_interp", "typing_tok_Alg.Raise@tok" ], 0, - "e1f8a88552ab46b0841ece73c7fee011" + "a3f7fa8cd7eb0c7aa4508460c22a1ebd" ], [ "Alg.trlab", @@ -2116,7 +2116,7 @@ "refinement_interpretation_Tm_refine_42487773910566de31d97756b368e840" ], 0, - "1c7aef7857432c86860a9368340d6577" + "ef20efb4b90a9a7a56019d80c2b3dd96" ], [ "Alg.trlab'", @@ -2130,7 +2130,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3b20e74983a417722117b65debe5bbb7" + "136a2035091811b3352297f26334b841" ], [ "Alg.lab_corr", @@ -2143,7 +2143,7 @@ "haseqTm_refine_42487773910566de31d97756b368e840" ], 0, - "0c50039014c0d55249d9628ff69e8553" + "d9c3c1aa86b5dbe212053054658764d9" ], [ "Alg.lab_corr", @@ -2194,7 +2194,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "9b65460496ef3a5cc6c7d5b9f7b4bc6f" + "ed50d25073eb6195b6247f40e9896f6c" ], [ "Alg.fixup_corr", @@ -2233,7 +2233,7 @@ "typing_Tm_abs_d412d56154ba17a5e27edbf9b2330909" ], 0, - "55170ed08ecb5521e92ada494336bb54" + "505310dc8f35dafb2868d96cd6b36fc6" ], [ "Alg.fixup_no_other", @@ -2273,7 +2273,7 @@ "typing_Tm_abs_d412d56154ba17a5e27edbf9b2330909" ], 0, - "07875bc9da21b6ebc14927526d264c5a" + "35624313c366e014e59017e4f519b83a" ], [ "Alg.interp_into_lattice_tree", @@ -2377,7 +2377,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "c6aad3aa257c09b2a6fe11ba478e71fe" + "db7f754a2632b8b736b1db4615245fc8" ], [ "Alg.interp_full", @@ -2396,7 +2396,7 @@ "typing_Alg.trlabs", "unit_typing" ], 0, - "33da9fb6272972977d97581fe800685f" + "43f2f39fc61fe4ed9ef330422e7efee6" ], [ "Alg.abides'", @@ -2417,7 +2417,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fc8131bc808b8feb8a33193b6a0760b9" + "e7bac06d0b66e994a8b9545a1e1286f0" ], [ "Alg.interp_sem", @@ -2499,7 +2499,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "cc7073d008cf03dc39ea6e56acf80b25" + "5eb2d5e00bf4d88bda05e2dc577bab55" ], [ "Alg.interp_from_lattice_tree", @@ -2547,7 +2547,7 @@ "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "3b278fbac8f9cd62f46cd02c76e88d7b" + "c7044044e3b19661225f04fdc53c2110" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/AlgForAll.fst b/examples/layeredeffects/AlgForAll.fst index c769c435f47..32bff49fa4d 100644 --- a/examples/layeredeffects/AlgForAll.fst +++ b/examples/layeredeffects/AlgForAll.fst @@ -4,7 +4,7 @@ open FStar.Calc module FE = FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality module W = FStar.WellFounded -module T = FStar.Tactics +module T = FStar.Tactics.V2 module ID5 = ID5 open Alg diff --git a/examples/layeredeffects/AlgForAll.fst.hints b/examples/layeredeffects/AlgForAll.fst.hints index 01df90fcd2c..f8ee964f44f 100644 --- a/examples/layeredeffects/AlgForAll.fst.hints +++ b/examples/layeredeffects/AlgForAll.fst.hints @@ -1,5 +1,5 @@ [ - "ŸâqºR´*‘¢Ô ÀA;ã", + "\u0004 «Aª\u0000@\"ÀA¿\u0010K/", [ [ "AlgForAll.tbind", @@ -23,7 +23,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "24f90fa0bd918102f2ba64508e260480" + "a864944498ebc4039cfe4ccee6c7bcb9" ], [ "AlgForAll.return_wp", @@ -35,7 +35,7 @@ "interpretation_Tm_abs_8fefa78b9304fa89f906a877711a1b75" ], 0, - "cb753b0d185bc0f3cb8807f6af9fa405" + "3458db055af585a0a5aaea3eea976b99" ], [ "AlgForAll.bind_wp", @@ -58,7 +58,7 @@ "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" ], 0, - "3f5708875135b18bffb722485fa5e7c0" + "7d268cb037ecfadc986ca2e3fa8cdc3b" ], [ "AlgForAll.read_wp", @@ -70,7 +70,7 @@ "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553" ], 0, - "639d874d2b02ab16310132b085fa2281" + "17f3db92af922e0dc698d13d8660f6e8" ], [ "AlgForAll.write_wp", @@ -83,7 +83,7 @@ "unit_typing" ], 0, - "4c0420a53255cb4fccda7c08a321b842" + "abb4a600414cb5f05db34cec2f117cba" ], [ "AlgForAll.interp_as_wp", @@ -127,7 +127,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "ff4892d06dc91d064de624a0ebbbad8e" + "43f1a6898c4744e8fb3b676115f41a65" ], [ "AlgForAll.interp_as_wp2", @@ -157,7 +157,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "b6fe76ae6ef104b4d126157fcf95d749" + "bae24140be76bc1079af0086ed2af3e5" ], [ "AlgForAll.interp_ret", @@ -178,7 +178,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "0dff3ec1766663e7c65180461a5a1eb1" + "1d8c8396314daa4ca46bfd615d4e7fa7" ], [ "AlgForAll.interp_ret", @@ -215,7 +215,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "45ff3011ec4ff7bd107b83acef0357dd" + "5245d240ef2bbf3e7d7ee1b096488847" ], [ "AlgForAll.bind_preserves_mon", @@ -237,7 +237,7 @@ "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" ], 0, - "59b40a88bfb2f05ea698e753508d6d04" + "ee7353c44829c056e3a3217c6a9e837f" ], [ "AlgForAll.interp_monotonic", @@ -295,7 +295,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "160e3332e50a810258de96f9d3a23a05" + "030a503ac9a183ec32ebf1cda426faa2" ], [ "AlgForAll.elim_str", @@ -310,7 +310,7 @@ "token_correspondence_AlgForAll.stronger" ], 0, - "0550001280b9644da28aace8fcaa51cd" + "f0dd230574cf307ab89b1c1edda7e366" ], [ "AlgForAll.interp_morph", @@ -400,7 +400,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "b92c3b2da4c7d6836a288eaead334dc6" + "a0c2f24df71ad8a936d07b45c3e22239" ], [ "AlgForAll.interp_bind", @@ -436,7 +436,7 @@ "typing_Tm_abs_ac8b2e1f5f927d134d88675f106a3f43" ], 0, - "373f6b06eb0d511729de47e3bb6b674f" + "8c1a7cf0fe3f1197bfa086287a67afb1" ], [ "AlgForAll.return", @@ -457,7 +457,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "834cf2fc2e1414c3bcf6099f7387a1e8" + "c224c688944961d76f1a79b62749c4e9" ], [ "AlgForAll.bind", @@ -476,7 +476,7 @@ "token_correspondence_AlgForAll.stronger" ], 0, - "6ecab3ab764a86969db2d6245db261d4" + "125d59f8f0cd154f80fcc58df1f3f48f" ], [ "AlgForAll.subcomp", @@ -491,7 +491,7 @@ "refinement_interpretation_Tm_refine_026324d6a27599b6bd889c228a092008" ], 0, - "b3cb94249e45c12e6b6bd24d081b4920" + "d8a48cb59e7820d2e98ea3a11648bcea" ], [ "AlgForAll.AlgWP", @@ -504,7 +504,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2c60a3e8ac70fa412d1728f14ee9bacc" + "b890e627e2194bed4c21af6f08b1309d" ], [ "AlgForAll.AlgWP", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7ef42856cf52eb10709bfb0bc8a4fd6b" + "6d7f998de15464c192001abc0259afdc" ], [ "AlgForAll.AlgWP", @@ -530,7 +530,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3123cb1a6d0a68d63ccf835c019ec05b" + "67e2fd4c3e7ba825bd73a918b489b247" ], [ "AlgForAll.get", @@ -581,7 +581,7 @@ "unit_typing" ], 0, - "5b3a169a01ec3fd7920bf750ed9a89d3" + "5787eff7365ed9c670dd5396ecfbcafc" ], [ "AlgForAll.put", @@ -632,7 +632,7 @@ "unit_typing" ], 0, - "4662d9998ecccd9db140655f0c56fe76" + "2b7d9f94c49954b819f66b4d2f33b7da" ], [ "AlgForAll.lift_pure_wp", @@ -652,7 +652,7 @@ "typing_Tm_abs_4d919759bceafc48670cf8103fc4eaae" ], 0, - "9e0b747dfeebf9ad5ad323732cbe0c5d" + "388b41452db07a371ce575feb18334bd" ], [ "AlgForAll.lift_pure_algwp", @@ -702,16 +702,16 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "135adeac863079eb3e2165bf1f5bb693" + "96f209537977b33dd2fa5d5c4d7b9f6d" ], [ - "AlgForAll.36084", + "AlgForAll.66428", 1, 2, 1, [ "@query" ], 0, - "9303dffc2a54d657c70f7674b1ae4e46" + "6a8346e360c4710605595db557a2f59e" ], [ "AlgForAll.addx", @@ -727,7 +727,7 @@ "primitive_Prims.op_Addition", "unit_typing" ], 0, - "c01abe2da675d146924e71c9bb18bb00" + "870dfe464182f5206f799f712474f986" ], [ "AlgForAll.add_via_state", @@ -744,7 +744,7 @@ "primitive_Prims.op_Addition" ], 0, - "40f27305094f8c149ad3973b24f45792" + "299d87be241fb857d228307a3026d096" ], [ "AlgForAll.interp_sem", @@ -778,7 +778,7 @@ "typing_AlgForAll.interp_as_wp" ], 0, - "6bdb530865ffba1e593cd6f914011ee7" + "38d1626c2208c56482143f5cae28e9e3" ], [ "AlgForAll.interp_sem", @@ -845,7 +845,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "c1f4d5a9dd067d6ed989b213e60f11b9" + "9bbca80b201d3d39e0048c0cd5a3de72" ], [ "AlgForAll.extract", @@ -857,7 +857,7 @@ "refinement_interpretation_Tm_refine_026324d6a27599b6bd889c228a092008" ], 0, - "f7b2a1529626eaacd7c9a20064351ae4" + "1adcaf8da97bda1779d277ba98c58135" ], [ "AlgForAll.soundness_aux", @@ -897,7 +897,7 @@ "true_interp", "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "1c84de4f08f0ccb070dd9ecc5721253f" + "853f596eafbad8e75370f766341931a5" ], [ "AlgForAll.soundness", @@ -925,7 +925,7 @@ "token_correspondence_AlgForAll.interp_as_wp", "true_interp" ], 0, - "e2b52f873cabba4c7c8ced304974de7e" + "91c3c03728b9dda3fde687c1300e4cd0" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/AlgHeap.fst b/examples/layeredeffects/AlgHeap.fst index b9c35f48401..bfa5ac67dca 100644 --- a/examples/layeredeffects/AlgHeap.fst +++ b/examples/layeredeffects/AlgHeap.fst @@ -2,13 +2,13 @@ module AlgHeap (* Essentially a copy of AlgForAll but using a heap for the state *) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot open FStar.Universe module L = Lattice module Ghost = FStar.Ghost module Map = FStar.Map -module T = FStar.Tactics +module T = FStar.Tactics.V2 type loc = int type state = Map.t loc int diff --git a/examples/layeredeffects/AlgHeap.fst.hints b/examples/layeredeffects/AlgHeap.fst.hints index eae9d59294b..7c936ba9bad 100644 --- a/examples/layeredeffects/AlgHeap.fst.hints +++ b/examples/layeredeffects/AlgHeap.fst.hints @@ -1,5 +1,5 @@ [ - "¬`¥4ÌtsSe¾¥\u000b°S6_", + "ÒRfÌ5üÓÅÏÄ‘q$8j", [ [ "AlgHeap.__proj__Other__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_4d3a727e833e34e12b62cb99ae2cfa77" ], 0, - "47e9dd34cc8be105d327c62d32a5d469" + "32267880fbc8b9ad47272778d508b309" ], [ "AlgHeap.op_inp", @@ -25,7 +25,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "363a8718374594a5e494bae9907813ec" + "2fc8e88ae5708a53b2f4fd17de884644" ], [ "AlgHeap.op_out", @@ -39,7 +39,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "37b051881e2c048891863c080f41dab0" + "9c481baf61ada32cd32740f38f987026" ], [ "AlgHeap.__proj__Return__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_ccabc473ef9a933255a20d0434d5d827" ], 0, - "2025db46011a2df3b33e306197fa334a" + "b3a044807e2ffba3254f80d282e67f48" ], [ "AlgHeap.__proj__Op__item__op", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_c6e795687555a75b5b8ef75d9d66d9f5" ], 0, - "cf0d86597947bb858fdbec4a807a07b2" + "35292cdfd7c67593fab66bc6b7d892a4" ], [ "AlgHeap.__proj__Op__item__i", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_c6e795687555a75b5b8ef75d9d66d9f5" ], 0, - "f544ef94ebab33409b5571b56f6a3c39" + "f4dc78d47de2294724eaba2a11c7fecb" ], [ "AlgHeap.__proj__Op__item__k", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_c6e795687555a75b5b8ef75d9d66d9f5" ], 0, - "5885e6d5060590314597e7db1fea5a2d" + "b25d5adf1ef84f6b2a80af6b92016ace" ], [ "AlgHeap.abides", @@ -117,7 +117,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "68ec985b80cf1815a9986f46ff5a7af2" + "b01e29fb1d14de972e214b4eb61e6619" ], [ "AlgHeap.interp_at", @@ -126,7 +126,7 @@ 1, [ "@query", "assumption_AlgHeap.op__uu___haseq" ], 0, - "e7288073017a13a6c62cd5ff41dc2f30" + "70852acf4a35a1e5f302fa19a292853a" ], [ "AlgHeap.interp_at", @@ -161,7 +161,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "b5101b0e99a3370ca9b0f90ec19b15dd" + "b338371f6c4196f30b943ed68317c423" ], [ "AlgHeap.sublist", @@ -170,7 +170,7 @@ 1, [ "@query", "assumption_AlgHeap.op__uu___haseq" ], 0, - "190f2ff153839f3109e666a836d2049d" + "fe4ef7eb6dec6c27674c045cc6ecce8e" ], [ "AlgHeap.sublist_at", @@ -197,7 +197,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "fa822fe30189aa24f32bcdcdd4add992" + "8b57526ef51f98caaa07977dd5e613b9" ], [ "AlgHeap.sublist_at_self", @@ -206,7 +206,7 @@ 1, [ "@query", "lemma_AlgHeap.sublist_at" ], 0, - "54e7377bc7dfbeafcf0d7db86fd5b977" + "24bd37f1474458ac067f3ea16d30cbb6" ], [ "AlgHeap.abides_sublist_nopat", @@ -239,7 +239,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "ad22fdc9d14b5026cbfd5356769f6613" + "0a387b9c073304cc1a26cb3c7c1fe497" ], [ "AlgHeap.abides_at_self", @@ -261,7 +261,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "6fa5041b7cebd9c9fa7be0fe873add65" + "26b671db5d808c4f0d5dcca7fd160e65" ], [ "AlgHeap.abides_app", @@ -277,7 +277,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "0d9b2fc690d97667faf985b95ad88ce4" + "2cfdef6ae3c054338824ca95453518df" ], [ "AlgHeap.fold_with", @@ -286,7 +286,7 @@ 1, [ "@query", "assumption_AlgHeap.op__uu___haseq" ], 0, - "765d2c0d9211d18c8eeb01f62c90ae18" + "07e16c1b58ecd90f16240b7bff9ebf9f" ], [ "AlgHeap.fold_with", @@ -295,7 +295,7 @@ 1, [ "@query", "assumption_AlgHeap.op__uu___haseq" ], 0, - "b3c90eaecc6440dc711e46f34712f854" + "b9a20187ce677c1f0c2924b8ab8a051f" ], [ "AlgHeap.fold_with", @@ -323,7 +323,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "f2faa7dc5a7a9a5200a84e176f37c200" + "2fc006b4789e96d0589f899aabefdd48" ], [ "AlgHeap.handler_ty", @@ -332,7 +332,7 @@ 1, [ "@query", "assumption_AlgHeap.op__uu___haseq" ], 0, - "b5654958191070875b9e2cf6162f7e8e" + "cffb3b3f597131ba1ab72b19df3f2d1c" ], [ "AlgHeap.return", @@ -350,7 +350,7 @@ "projection_inverse_AlgHeap.Return_a", "true_interp" ], 0, - "b6e7fa7a308a33ecb2b18214fb50bdcb" + "99bafd62bf422788042fc743d5172d6e" ], [ "AlgHeap.bind", @@ -385,7 +385,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "4e6cf6ff4d897ffa1a7ef168478aae74" + "00bfd62f8742ae16a9e2bad3a2161693" ], [ "AlgHeap.subcomp", @@ -400,7 +400,7 @@ "refinement_interpretation_Tm_refine_b9088dc5f5b21f291d92b72cef2689ab" ], 0, - "c196053bb25c899da162e52abf35a5a8" + "c437f53287071ae5cf2484b058e2620a" ], [ "AlgHeap._get", @@ -444,7 +444,7 @@ "typing_tok_AlgHeap.Return@tok", "unit_typing" ], 0, - "a94c3c2312f2be6c6d2d01b9c847a3f9" + "cb1eda68797b02d773bf4996b637d077" ], [ "AlgHeap._put", @@ -489,7 +489,7 @@ "typing_tok_AlgHeap.Write@tok" ], 0, - "e9eed8871664ff22374bcf8f71912e01" + "71aa443563fbae81dbcad7b3e884758c" ], [ "AlgHeap.Alg", @@ -498,7 +498,7 @@ 1, [ "@query", "lemma_AlgHeap.sublist_at" ], 0, - "f38896612952d388eeb4589674c20cf4" + "03c9254a5ec545d6bc702745b81fdd35" ], [ "AlgHeap.Alg", @@ -507,7 +507,7 @@ 1, [ "@query", "lemma_AlgHeap.sublist_at" ], 0, - "074a096f0b128466274b7664d7c5b30c" + "5228ef6481bdae5670929a38cba5d3d5" ], [ "AlgHeap.Alg", @@ -516,7 +516,7 @@ 1, [ "@query", "lemma_AlgHeap.sublist_at" ], 0, - "5b135376f0d6345bb39c29b5b3e02d4b" + "a713f92b9e09843ae5c20816e3658ac0" ], [ "AlgHeap.lift_pure_eff", @@ -546,16 +546,16 @@ "typing_Tm_abs_f6c224848b643b0d9c86eb84a322fe89" ], 0, - "a237e0baf71cdd73899a2ebf348d805b" + "c61b38df3b95b90785a9f00ffeeb13ae" ], [ - "AlgHeap.18146", + "AlgHeap.51974", 1, 2, 1, [ "@query" ], 0, - "86b74167abe3180a47fc4c96dd1c8fed" + "0035a05baca79a7a725c49e4aaa27810" ], [ "AlgHeap.raise", @@ -591,7 +591,7 @@ "typing_tok_AlgHeap.Raise@tok" ], 0, - "4ae13ba3cee28323b84ea635aa049558" + "9aeb339e3405352e487ff728ad1754a2" ], [ "AlgHeap.tbind", @@ -615,7 +615,7 @@ "typing_tok_AlgHeap.Write@tok" ], 0, - "4b6462f51e49ab38717e77dfd8903d36" + "3549059144989666995c62d1daa3e31b" ], [ "AlgHeap.return_wp", @@ -627,7 +627,7 @@ "interpretation_Tm_abs_e9710c98a0190e37235109793e10b402" ], 0, - "4612c45a2222736ac7bb949af9754b33" + "dde427143cf515151b76c5c8cf9e2091" ], [ "AlgHeap.bind_wp", @@ -649,7 +649,7 @@ "typing_Tm_abs_9b395c431ada1d563eb9320e26a68f45" ], 0, - "0c7924f0f37aa877be61a8c9e709fdbf" + "4829425b8a8815dfc565c38eed639709" ], [ "AlgHeap.read_wp", @@ -661,7 +661,7 @@ "interpretation_Tm_abs_6523b6e656ba8c181e5fba70ec0bf70a" ], 0, - "167bc5fc8341bf087d145759f92224fd" + "d38f9dfed432ff885420aedb94c9b0d3" ], [ "AlgHeap.write_wp", @@ -674,7 +674,7 @@ "unit_typing" ], 0, - "40b2f57afdec14192ca87c53e334d747" + "8e280371e250e7ba1cd193a146f30980" ], [ "AlgHeap.interp_as_wp", @@ -722,7 +722,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "54fe951121a526228b7dce7960f5c879" + "bb28bedc15db4346254062e6ad753924" ], [ "AlgHeap.interp_rdwr_tree", @@ -769,7 +769,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "4e73887116fbfa0218b32a37c6849940" + "14b553096d77bcfc0ee9f6c11779c148" ], [ "AlgHeap.interp_ret", @@ -790,7 +790,7 @@ "typing_tok_AlgHeap.Read@tok", "typing_tok_AlgHeap.Write@tok" ], 0, - "a7a1188d1b38839e7e4fa039137a10c4" + "37de0d2a018d3d5223403eec28334784" ], [ "AlgHeap.interp_ret", @@ -821,7 +821,7 @@ "typing_tok_AlgHeap.Write@tok" ], 0, - "8fd725e850970839e7b8b2d62c2afeda" + "cbd549af7e6edeae3ae7b4a277280ab7" ], [ "AlgHeap.bind_preserves_mon", @@ -841,7 +841,7 @@ "typing_Tm_abs_9b395c431ada1d563eb9320e26a68f45" ], 0, - "2beb8c120dc8f304c2986333576fa3b0" + "46cee207a5caf0af96a44887584b7a3a" ], [ "AlgHeap.interp_monotonic", @@ -903,7 +903,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "b98506cbc1cbfad0fed8b4b2d8d8ae76" + "19e8dc9254f2189098d0a4e955bb66ac" ], [ "AlgHeap.elim_str", @@ -917,7 +917,7 @@ "token_correspondence_AlgHeap.stronger" ], 0, - "9527b8af9ee7c0541f9b873fe7b9fdc7" + "803b102720e374a26d3292a6e163c7fb" ], [ "AlgHeap.interp_morph", @@ -1006,7 +1006,7 @@ "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "0e03e9b48d91cb26b47aac708d6c18b9" + "f956796717b940d281d0471be832a940" ], [ "AlgHeap.interp_bind", @@ -1039,7 +1039,7 @@ "typing_Tm_abs_9b395c431ada1d563eb9320e26a68f45" ], 0, - "c8928f7a82be239bf4b3fd348a132728" + "85c63016cc1fb02627bb67ca24b3ffa7" ], [ "AlgHeap.return2", @@ -1060,7 +1060,7 @@ "typing_tok_AlgHeap.Read@tok", "typing_tok_AlgHeap.Write@tok" ], 0, - "97bedcf80f47ca2f2afa960c4524052d" + "f221039c31d6ba1ef91ee3d50547954f" ], [ "AlgHeap.bind2", @@ -1079,7 +1079,7 @@ "token_correspondence_AlgHeap.stronger" ], 0, - "46589deeac2a6fd4c3a36863eba5ced6" + "78acf8fa4938ab995f7cbd81832742bf" ], [ "AlgHeap.subcomp2", @@ -1094,7 +1094,7 @@ "refinement_interpretation_Tm_refine_439a8540195cd93d9895894c3a0a9e7f" ], 0, - "116a3a900e0c13aa52dd3292b2cb48de" + "7996da28b698e34eb922a31d03458fa3" ], [ "AlgHeap.AlgWP", @@ -1107,7 +1107,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5f292d003db9d195586dd2dcef3d25cc" + "a747bbc02b2a1aef7f01bb4ef32fb549" ], [ "AlgHeap.AlgWP", @@ -1120,7 +1120,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "707386441fed8db6d60797e5759d1197" + "8ddba73291aa4d1343b947dd4f55905e" ], [ "AlgHeap.AlgWP", @@ -1133,7 +1133,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "990e6cf1994d91f8f58abf7f08b3e9a0" + "b546ed31999dfab76aa5cb93cfc96eb6" ], [ "AlgHeap.get2", @@ -1187,7 +1187,7 @@ "typing_tok_AlgHeap.Return@tok", "typing_tok_AlgHeap.Write@tok" ], 0, - "c6dd971b1fea631e89f51d09a7b3c5ad" + "1fefae7b1e7a8882f2ac5912fd63f2fa" ], [ "AlgHeap.put2", @@ -1241,7 +1241,7 @@ "typing_tok_AlgHeap.Write@tok", "unit_inversion", "unit_typing" ], 0, - "04114c59a62602916a28f943a09c0f99" + "6067c6e000351c88d051de9a316f5272" ], [ "AlgHeap.lift_pure_wp", @@ -1260,7 +1260,7 @@ "typing_Tm_abs_42dfe9471efcf3225ddc31fa2fb93c64" ], 0, - "d075e6f9703b45e1d51427cca71bfc8b" + "ca4b8f2d0e54b706d36917b6d39374e9" ], [ "AlgHeap.lift_pure_algwp", @@ -1311,16 +1311,16 @@ "unit_typing" ], 0, - "6d385b57b75779ddb3d84a4f2d32ddca" + "415961931ee80ed37781248605be9e35" ], [ - "AlgHeap.54013", + "AlgHeap.120856", 1, 2, 1, [ "@query" ], 0, - "f2d4a1e608dfbe1134b04bd96338904e" + "48f7cdf0f0d75597ee2b21f71268c61d" ], [ "AlgHeap.sel", @@ -1338,7 +1338,7 @@ "typing_FStar.Map.sel" ], 0, - "d99f6b6887a32c1c4117729c6560d95d" + "56aa56626bcd5eb56c810cf7b83f0df4" ], [ "AlgHeap.upd", @@ -1356,7 +1356,7 @@ "typing_FStar.Map.upd", "unit_typing" ], 0, - "cb840f82b8e9c12c662740e7bf514388" + "8f0d3e1bd6d5ee836d3ef1ce9ce1c3e5" ], [ "AlgHeap.AlgPP", @@ -1369,7 +1369,7 @@ "l_and-interp", "l_quant_interp_ec2c85f73a3f856d7655b988ad1da7f3" ], 0, - "e0e7e2872f1518a7c734108b51bdfec9" + "722736f92f7809caae807c767fc1c2bd" ], [ "AlgHeap.addx", @@ -1390,7 +1390,7 @@ "typing_FStar.Map.upd", "unit_typing" ], 0, - "88393c4e1119a4e451b884564703b881" + "07cc66f7a8654dcbd59e3713990e6a93" ], [ "AlgHeap.swap", @@ -1420,7 +1420,7 @@ "typing_FStar.Map.sel", "typing_FStar.Map.upd", "unit_typing" ], 0, - "02a2cc277c44900fdeb30b8154d3cdcf" + "ada4183cd8a1c58712ba2025309c772f" ], [ "AlgHeap.interp_sem", @@ -1453,7 +1453,7 @@ "typing_AlgHeap.interp_as_wp" ], 0, - "f5ffc1ceea5ff7c5321dfe37c946e2d9" + "dcb2eac48ca4868895aab1d3036cd5fc" ], [ "AlgHeap.interp_sem", @@ -1518,7 +1518,7 @@ "unit_typing", "well_founded_ordering_on_codomain_AlgHeap.Op" ], 0, - "cfa09a34e681c59398b34735afd0e5da" + "e925f950dac30e22203407394eccae54" ], [ "AlgHeap.extract", @@ -1530,7 +1530,7 @@ "refinement_interpretation_Tm_refine_439a8540195cd93d9895894c3a0a9e7f" ], 0, - "744c09936134c2aad2124810ec6af1aa" + "61a0d6bc6e8ae19497567cf0c83ef3e8" ], [ "AlgHeap.soundness_aux", @@ -1568,7 +1568,7 @@ "typing_tok_AlgHeap.Write@tok" ], 0, - "bafc960a705732e0e86183d1964c6c7b" + "cd21305c516e4f2b29814be5f72280bd" ], [ "AlgHeap.soundness", @@ -1592,7 +1592,7 @@ "token_correspondence_AlgHeap.interp_as_wp", "true_interp" ], 0, - "2564fb7020d48f4bb4d9210216e90c87" + "7f24f3cafb5c78adb3bba8d54d506384" ], [ "AlgHeap.soundnessPP", @@ -1618,7 +1618,7 @@ "typing_Tm_abs_c10e8dded117afcf8f82a2d7484cc680" ], 0, - "10d6a75045ddd7150986d7f81fed6378" + "28ecd79617bf6594e89d82358e21cbcd" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/AlgWP.fst b/examples/layeredeffects/AlgWP.fst index c29543baa74..ea69e628f2a 100644 --- a/examples/layeredeffects/AlgWP.fst +++ b/examples/layeredeffects/AlgWP.fst @@ -10,7 +10,7 @@ open FStar.Calc module FE = FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality module W = FStar.WellFounded -module T = FStar.Tactics +module T = FStar.Tactics.V2 module ID5 = ID5 open Alg diff --git a/examples/layeredeffects/AlgWP.fst.hints b/examples/layeredeffects/AlgWP.fst.hints index 839fc443df6..db0614279a7 100644 --- a/examples/layeredeffects/AlgWP.fst.hints +++ b/examples/layeredeffects/AlgWP.fst.hints @@ -1,5 +1,5 @@ [ - "P\u000b¹œ):#ç\u001fÄ}º›˜¥/", + "1ð\n©>ˆ&)\\ö£QcQ\u001eþ", [ [ "AlgWP.noops", @@ -16,7 +16,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "ab2dfc8ff8c04a136435efb8e67db7e1" + "c1225ad8258f061c978318433ee759cb" ], [ "AlgWP.sublist_at_const", @@ -46,7 +46,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9a838a9671a13c069d2dcb1c865fe8e5" + "aff447945ae7fdc0bcd8e5eb99f5f449" ], [ "AlgWP.op_At_At", @@ -66,7 +66,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "b40bda5467fdf78e664e798c34aae0e1" + "7451c9a34995419385e04143c0bd1caa" ], [ "AlgWP.rwtree_help", @@ -100,7 +100,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "7842d219def6a9b9c48c1ba2d5742ffb" + "a6735ebfcc73cfb7a8810e6cd92f6aa6" ], [ "AlgWP.return_wp", @@ -112,7 +112,7 @@ "interpretation_Tm_abs_8fefa78b9304fa89f906a877711a1b75" ], 0, - "1ad9726ded3e21376672f215c2aa852d" + "4415b0349452417a93f892d5def63a1f" ], [ "AlgWP.bind_wp", @@ -134,7 +134,7 @@ "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" ], 0, - "6dca22acc1635d9063c575b91a23596e" + "58cd5ad56e71e49951b2cedd58a90bb1" ], [ "AlgWP.read_wp", @@ -146,7 +146,7 @@ "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553" ], 0, - "4a83473d209aa94bd71c8dc0b08de56d" + "541b0b3f332722e8810fa1a6797cb4a7" ], [ "AlgWP.write_wp", @@ -159,7 +159,7 @@ "unit_typing" ], 0, - "d2a68763503a9745b0a17e0faf1e45a6" + "a803a3dfaff1b80b3057c8bc0416d16d" ], [ "AlgWP.interp_as_wp", @@ -258,7 +258,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "0780decdc05acb0070f777a475960d37" + "3214b4ee0c6e466226645425c0b72ef2" ], [ "AlgWP.interp_ret", @@ -287,7 +287,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "06d8650dd7095cd42f42e5a16f3aca6f" + "48df99a49b7fa0cf4d39f0629abe3080" ], [ "AlgWP.interp_ret'", @@ -308,7 +308,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "6158e8f809a2656c6c1f7a494e0d35df" + "8a51c25b12b22a4646e940f228c111c9" ], [ "AlgWP.interp_ret'", @@ -331,7 +331,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "e253c7f78ec58e0d48fb99deebc890bf" + "ddfba03047c616e9772e2793746a944a" ], [ "AlgWP.bind_preserves_mon", @@ -353,7 +353,7 @@ "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" ], 0, - "50430f3551ed5ec2fb96f04a8cf8daf6" + "8db5032a1bdfc652f6dd67c6cebfc26f" ], [ "AlgWP.interp_monotonic", @@ -375,7 +375,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "e6cd88590deb27d987d598d6605e7595" + "06e4a44463e44cd95e5ad8f32dfb55f6" ], [ "AlgWP.interp_monotonic", @@ -431,7 +431,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "476ecb64befd15a2d49d0e9a1dfdbcdc" + "44cdf64d59b63ced5216e8d7a661da78" ], [ "AlgWP.elim_str", @@ -446,7 +446,7 @@ "token_correspondence_AlgWP.op_Less_Less_Equals" ], 0, - "b74b8bfb358de1df2685d74d9925a428" + "1407eef49675c9e965f5a1104f009b5d" ], [ "AlgWP.interp_morph", @@ -474,7 +474,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "23644bbd9b911167f9e7663d9a2b16da" + "e4a1e45400909cec228965eade740a55" ], [ "AlgWP.interp_morph", @@ -563,7 +563,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "782c6ef5c4407322b3cfeec279a3f839" + "af0670f5a335375abc818b0fb3a74907" ], [ "AlgWP.interp_bind", @@ -591,7 +591,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "ef5676163f7f832618145a11e729b371" + "85805f5b3f47218d74c37a3f137866ff" ], [ "AlgWP.interp_bind", @@ -641,7 +641,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "15bf61ca9d1ab5b59b72115eb5b299e5" + "4ac29018de5ee8c125010bc74ec594bd" ], [ "AlgWP.repr", @@ -662,7 +662,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "1a55fb534221125fd9f19067498a8a54" + "c4121abe459b2967473fb2409335625f" ], [ "AlgWP.return", @@ -686,7 +686,7 @@ "true_interp" ], 0, - "1873edaa031c1220fc540deb30032d39" + "9cb9539ac1a50f52de0f80d91bc6a07b" ], [ "AlgWP.bind", @@ -704,7 +704,7 @@ "token_correspondence_AlgWP.op_Less_Less_Equals" ], 0, - "a406177aa96fb50dd8d412adad21972a" + "fcf2005fe4e880b6cb48b8d9a4408ed5" ], [ "AlgWP.subcomp", @@ -723,7 +723,7 @@ "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" ], 0, - "1ae22b75eb950fd1911f513b55acbb1c" + "b1f2fb71262ded0d29e6dfb5d3bfa034" ], [ "AlgWP.AlgWP", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" ], 0, - "812b46dc4979e5b380e5089bddea54e6" + "23cd6ccfd45a0a91d3ffcccf296c7719" ], [ "AlgWP.AlgWP", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" ], 0, - "d81e631d0fe3c9db1cf642b83ff652bc" + "92e56c0683915ccd5211648994060cda" ], [ "AlgWP.AlgWP", @@ -774,7 +774,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "06c137bf42f56d7c0e39b17ae734256f" + "5f33b638cb131149e539ea3963714143" ], [ "AlgWP.get", @@ -831,7 +831,7 @@ "unit_typing" ], 0, - "c8134cc2faa7c5ac71b47b5da23e8227" + "04b9aff9dad31dcd9dd32a3dec4b0b4c" ], [ "AlgWP.put", @@ -881,7 +881,7 @@ "unit_typing" ], 0, - "66d48f6ba22c00eb12e782dab46fb37e" + "3ff52ee4555d0567e85f9489abef97f7" ], [ "AlgWP.lift_pure_wp", @@ -901,7 +901,7 @@ "typing_Tm_abs_4d919759bceafc48670cf8103fc4eaae" ], 0, - "c1c4f8a2c04e0183d42db54fe77c840b" + "909409e5fa297fab186044cc41881bd1" ], [ "AlgWP.lift_pure_algwp", @@ -953,16 +953,16 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "c5b4e8dbf7ea6adb44d053225e0a70eb" + "a68807c2e925cac9aa8bb3b28694d516" ], [ - "AlgWP.53734", + "AlgWP.97520", 1, 2, 1, [ "@query" ], 0, - "a7e5e43a9ffdaf4daeedbad1de322347" + "7bba5492d26ecadee10d42dcd5fa2083" ], [ "AlgWP.addx", @@ -978,7 +978,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "67cce89e00635f957657d16c891edb94" + "902d47194295eab3d59557e3f63b11ba" ], [ "AlgWP.addx", @@ -1001,7 +1001,7 @@ "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "3ef0601907a87e0edea7a771cec8a676" + "a6a4fd5dfa5a94577209ab3ea4b05845" ], [ "AlgWP.add_via_state", @@ -1017,7 +1017,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "f0deca30cfb0d43ca8022a81c1b220f4" + "5b8d67ad390a60e302181af69ea63800" ], [ "AlgWP.add_via_state", @@ -1046,7 +1046,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "18aa76c8ec1500adcdf56608ba25e316" + "f6c190be6b7787357d90682ce3ba1540" ], [ "AlgWP.add_via_state", @@ -1066,7 +1066,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "8cb373554136957fc6c8e7150df20eff" + "8252a9591dd767764cd4cbbc2cd83b88" ], [ "AlgWP.add_via_state", @@ -1086,7 +1086,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "b4b65edfba58681107c25752a20f97f5" + "c8963b9556be74297772c1f342d5d966" ], [ "AlgWP.add_via_state", @@ -1115,7 +1115,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "10a7c6769938ae2a486e1512f6b6193b" + "2f5075c93ddee1c19293e7b08a055f70" ], [ "AlgWP.interp_sem", @@ -1151,7 +1151,7 @@ "token_correspondence_AlgWP.interp_as_wp", "true_interp" ], 0, - "48048a32740e54cf6373279f22e3bcd8" + "31ef1d564a76d429ce41866d0ebff00e" ], [ "AlgWP.interp_sem", @@ -1218,7 +1218,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "9ed1966836d1300f97aafd7f0b6129c7" + "b03ff121e20b645674b0d2136c9fd4d8" ], [ "AlgWP.quotient_ro", @@ -1240,7 +1240,7 @@ "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" ], 0, - "9810963770f71fcf69987b1a4b0ed44c" + "2248fec3c22176a36d8a80444d0985e8" ], [ "AlgWP.sanity_1", @@ -1258,7 +1258,7 @@ "token_correspondence_AlgWP.quotient_ro" ], 0, - "9cb754a5f2e0b5002832c3e3612497f0" + "f78301ed3861fb9826dd5da4ce71c9be" ], [ "AlgWP.sanity_2", @@ -1277,7 +1277,7 @@ "token_correspondence_AlgWP.quotient_ro" ], 0, - "f2a534a9a235754b389497db4dd25e45" + "d1c93b9283be56829c7f7e89ec1e9f26" ], [ "AlgWP.interp_ro", @@ -1338,7 +1338,7 @@ "true_interp", "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "72f215955898a6d0006c6b178f5366cf" + "1e3cd8bc06f9af412555041da0ea043a" ], [ "AlgWP.interp_ro", @@ -1411,7 +1411,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "8c5230acbc360f412226a54e52243b4b" + "c9e00539c66a0af907063de025932440" ], [ "AlgWP.st_soundness_aux", @@ -1420,7 +1420,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "a532875115daaf9d880deed2963513e8" + "003819720c3827d4f234e757d9694ab7" ], [ "AlgWP.st_soundness_aux", @@ -1456,7 +1456,7 @@ "true_interp", "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "db75d9bd2b10ff79727297423fbf79e8" + "f0d7722202cf404440411a324162b3fa" ], [ "AlgWP.st_soundness", @@ -1465,7 +1465,7 @@ 1, [ "@query", "equation_Alg.sublist" ], 0, - "5a4967ac32d46bcc061db5b534860d21" + "bc4853b94223737ffecfd96a4c2fe133" ], [ "AlgWP.st_soundness", @@ -1494,7 +1494,7 @@ "token_correspondence_AlgWP.interp_as_wp", "true_interp" ], 0, - "14863b1f85e89a544d9ba3a87fb5fe79" + "37f776b5d62e848b4073e377da878940" ], [ "AlgWP.ro_soundness_aux", @@ -1510,7 +1510,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "bd791beb29e73d2a5f114bc24bcb1002" + "293e550f0bf5db16a83f971c7a9a5221" ], [ "AlgWP.ro_soundness_aux", @@ -1544,7 +1544,7 @@ "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" ], 0, - "dbd50bd520e583a525478fef2bd62a71" + "c80b5839127ca7ea76c3647595027925" ], [ "AlgWP.ro_soundness", @@ -1560,7 +1560,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "27f0f35cb9631ee7dbc18d3b8d96f197" + "1fc247ac7cd8e0549980ad866c90c1f4" ], [ "AlgWP.ro_soundness", @@ -1611,7 +1611,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "b8e03f736b5f4cd0c2a1204dc9a7791d" + "de500611cf760e20886b1f708a697e2a" ], [ "AlgWP.ro_soundness_pre_post", @@ -1627,7 +1627,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "2add808ce9a1c3be2a4696c9eb14a589" + "7fa6c6fce8f97ce5a6dafa4c03f18ca9" ], [ "AlgWP.ro_soundness_pre_post", @@ -1655,7 +1655,7 @@ "typing_Tm_abs_7540bb8f3ba6ce2d3430b53f23449e9f" ], 0, - "cdf19e5dae0b65e739a7cf0162959a4e" + "bf26d12fe30d3d4d88654d4c784b9f7e" ], [ "AlgWP.bind_ro", @@ -1683,7 +1683,7 @@ "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" ], 0, - "a4d800e82a4aa0a895698e4a37547e9d" + "314bb86e3a4409ccec4adb99ad84f69b" ], [ "AlgWP.quot_mono", @@ -1698,7 +1698,7 @@ "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" ], 0, - "ae16a71083f20fc5db6ee845bf8526a8" + "a264c2ca30b5075b2882539bb9d41e91" ], [ "AlgWP.ro_tree_wp", @@ -1719,7 +1719,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "7d0d695fa52bbb4f1af370efab4e398a" + "6bc988b13c76a8cd6a585d3fe21a6954" ], [ "AlgWP.ro_tree_wp", @@ -1783,7 +1783,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "186168b114268e5afc6b817e1ddbd728" + "58a04adb346098c772b7a2b8340f6e27" ], [ "AlgWP.quot_tree", @@ -1799,7 +1799,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "28564efa97d12bc80434bd641e58ef24" + "0a572c012e5d87d9c7caafdf37875a6b" ], [ "AlgWP.quot_tree", @@ -1831,7 +1831,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "a12a8ea73d0ded208e36ae458078c2b0" + "876e4cb85d700884a8fa8781b77c3579" ], [ "AlgWP.quot", @@ -1847,7 +1847,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "a907f29bec2a4f28bbefaa259322aea7" + "64a0845e97bcb54973c36466883be56a" ], [ "AlgWP.quot", @@ -1875,7 +1875,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "5e524afafaab6ffac18556e22a2d9f93" + "1e7831f2b2dc6119dc8c6ce4a730935c" ], [ "AlgWP.AlgPP", @@ -1889,7 +1889,7 @@ "l_and-interp", "l_quant_interp_45e36f2117295ee7f73ce1b0d916cb62" ], 0, - "2457e0fb93d924fd27d58127e9c8018b" + "8bb18cb7b49f2dd716b246f3ab39583e" ], [ "AlgWP.quotPP", @@ -1905,7 +1905,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "99a5fad522665403f9c13929663204a4" + "56c9e2afddc8f7b17a87a1e957f27dec" ], [ "AlgWP.quotPP", @@ -1954,7 +1954,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "8ba37683ac74d7e8a862cbb5cda58d94" + "e3c793f8888a7b29a713723cb8a98316" ], [ "AlgWP.quotPP", @@ -1970,7 +1970,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "0c438ed331b0f09acb98766bc8d0d0dc" + "b71ee42215e13f29cc88573aa9bd3050" ], [ "AlgWP.quotPP", @@ -1986,7 +1986,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "ff1aafdf9aebfd5cd385a6f9be5e6973" + "8a0d858f41332a657986f6d0d74e0d73" ], [ "AlgWP.quotPP", @@ -2031,7 +2031,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "f195f45d9d46e5d21c199d8f781eefa2" + "57bdb3608e5d8435171e6d87ee5e2e31" ], [ "AlgWP.null", @@ -2048,7 +2048,7 @@ "l_quant_interp_f286e8acaee32f5b1e7a843dd5baeebc" ], 0, - "c6883a8aa2fcab4c8399b3139ece0adb" + "298a32c6db5a23887c4a3ad13020660a" ], [ "AlgWP.null_ro1", @@ -2062,7 +2062,7 @@ "l_quant_interp_310ec8932244318b9ea0b5bdb7e6eb13" ], 0, - "068ed60094b1a861bd785d38f4a7d77d" + "15e671cffb3a0859e8cc65aa14ff04a0" ], [ "AlgWP.null_equiv_sanity", @@ -2117,7 +2117,7 @@ "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" ], 0, - "74b46551525c0b0103d700949879a517" + "91cb86976d19c8821ffa10e7ba2f89e0" ], [ "AlgWP.null_ro_tree_wp", @@ -2138,7 +2138,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "dbd852f7e0a2209d9f2f37161f2efab2" + "ca0485b3e83589d8f35bc55745ceb1f2" ], [ "AlgWP.null_ro_tree_wp", @@ -2204,7 +2204,7 @@ "well_founded_ordering_on_codomain_Alg.Op" ], 0, - "6729987a0e9253440f623919d4137c72" + "288b0fe59e212ab5404df4b3b4cbd80a" ], [ "AlgWP.__tree_handle_into_ro", @@ -2225,7 +2225,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "b3c87e7923acdf8e6eefafb89624f070" + "b80a5d715df54c8afe22e2523282f873" ], [ "AlgWP.__tree_handle_into_ro", @@ -2279,7 +2279,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" ], 0, - "1f4d9e3bb3996bd16be1b911e81b730e" + "5c2c0e445efd08b92c9b7a986c4e6c81" ], [ "AlgWP.handle_into_ro", @@ -2300,7 +2300,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "cf3ef7e4d119f4f1e8fd73ff4dbf184e" + "5f3ac87238054f5cf596bdd13bdfb7c7" ], [ "AlgWP.ignore_writes", @@ -2321,7 +2321,7 @@ "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" ], 0, - "c25609e574a108b6cb18c1f07eb30ac6" + "e11040c0c492ca33205bd231b328b417" ], [ "AlgWP.ignore_writes", @@ -2366,7 +2366,7 @@ "typing_tok_Alg.Write@tok" ], 0, - "237da4fc46d11c703e47e599a893ffcc" + "1967c6abc2d87dca1672fab6e908f0a3" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/BUGSLowParseWriters.fst.hints b/examples/layeredeffects/BUGSLowParseWriters.fst.hints index dd3d6fd0d7e..4a96e76b06a 100644 --- a/examples/layeredeffects/BUGSLowParseWriters.fst.hints +++ b/examples/layeredeffects/BUGSLowParseWriters.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_663361c39544907ac5067c9c50873bd4" ], 0, - "9259922f17fed256dbad34b169680c18" + "6b64ec223509a96d1d1511345da3d1b5" ], [ "BUGSLowParseWriters.__proj__Error__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_3b282434ccd43fdb008018983e216134" ], 0, - "775a05861711b858a6fc09d6afeaea98" + "e3243f89d419ee0bf4fe41d02ebf4ded" ], [ "BUGSLowParseWriters.read_repr_spec", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_a21d04f2177efa608733964b5aa08d52" ], 0, - "8912a2626fd2645b17f3188bcbe74da9" + "21349bf544717dbb4af5f2557710d2ba" ], [ "BUGSLowParseWriters.read_return_spec", @@ -52,7 +52,7 @@ "projection_inverse_BUGSLowParseWriters.Correct_a" ], 0, - "60c92cdf7481a6ba7e7e0898dceffc94" + "fd5507327fd5c76630c18e85575f36c3" ], [ "BUGSLowParseWriters.read_bind_spec", @@ -71,7 +71,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b62be3464d0e6ed6e4a527494f4f3131" + "0bc8f26360088d3af3578c780ea3bb7d" ], [ "BUGSLowParseWriters.read_subcomp_spec", @@ -83,7 +83,7 @@ "data_elim_BUGSLowParseWriters.Correct" ], 0, - "3af5e42e737f395c7ae14dc8a26c121d" + "614ade37ac54786e1640a11eb6fded26" ], [ "BUGSLowParseWriters.read_subcomp", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "b6f2edd085c02a3c197c3766502af3a7" + "5dc9531a9ddbcdb66aaa15e4ea76cfff" ], [ "BUGSLowParseWriters.ERead", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "85dffe9f35e50a673cbb941a1f0c6465" + "6baf97c1abe9ce476272f29718273bdd" ], [ "BUGSLowParseWriters.ERead", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e652065b5ec33695ad78d884c379643b" + "ab8486a82198622612e9061b2748a6a8" ], [ "BUGSLowParseWriters.ERead", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "238311370032e38bedb60f9192bb50b5" + "92f29aecc7a9274bead8a80b0cb1774b" ], [ "BUGSLowParseWriters.lift_pure_read_spec", @@ -157,7 +157,7 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "50d0fab60df8620089e45435dde74611" + "d89fe679f335cf3662915840efb97cd2" ], [ "BUGSLowParseWriters.read_bind_spec'", @@ -169,7 +169,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "118f94112faef5137d8b67e388bf6bb9" + "76bb2a94abde1974e4cb32da624170a7" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/DM4F.fst.hints b/examples/layeredeffects/DM4F.fst.hints index eac996106a8..4327bdfc7ff 100644 --- a/examples/layeredeffects/DM4F.fst.hints +++ b/examples/layeredeffects/DM4F.fst.hints @@ -20,7 +20,7 @@ "true_interp" ], 0, - "1aa55b95e10082870c4360eff18778f7" + "2904e4393990e371d0825c9ad0b22f34" ], [ "DM4F.return_wp", @@ -32,7 +32,7 @@ "interpretation_Tm_abs_a53e7fdfe19e2acb9ae53a9cdca91170" ], 0, - "87952c0c521a841fe1d5e229e60e74f1" + "aee9d300dcbbae1e208f8bd55628dabd" ], [ "DM4F.return", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "f1296f6956b3346b553c48cfa1e84b15" + "14ebfb0650b6e62648e11df459cfc213" ], [ "DM4F.bind_wp", @@ -63,7 +63,7 @@ "typing_Tm_abs_811e8b5e3738987d804ef8609b0e9eff" ], 0, - "8cdd6a93d0f3a5f6a8c5fc08d0ef7470" + "935897a3718b12ab41b513c0b64027fc" ], [ "DM4F.bind", @@ -94,7 +94,7 @@ "typing_Tm_abs_ade907d0cf068369deec49e03ec454f6" ], 0, - "5383ce0e756eb95191f03a07c46e4027" + "b2c7e0f857f83d9ad947de2b7bb6005c" ], [ "DM4F.ite_wp", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_7d65da4998d4da77eee5d5ab706ad1ce" ], 0, - "d731f2f8896afb9d4d095f51cdcbe32d" + "4de9f8ddee39203f1faa4af913084ec5" ], [ "DM4F.subcomp", @@ -126,7 +126,7 @@ "true_interp" ], 0, - "656756a1fc0ff1f680ed814dabb3128a" + "c1f0da265c31792592b5fcef3bf59da7" ], [ "DM4F.ST", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a3b7d2170558ed2cc83e11d1acd675c5" + "442e22499e2f1f9cd0d4a933699db0f4" ], [ "DM4F.ST", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1f2dd03cff1f8ecfa4ca99780632eeb0" + "c17e3d81cb4ceca59e78417abe336f05" ], [ "DM4F.ST", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "99ba29d64e5d09e73e35a091aecaff5f" + "d24519acb41940bae5316557e1139cd1" ], [ "DM4F.lift_wp", @@ -184,7 +184,7 @@ "typing_Tm_abs_963d181e5476598451a0d753ab150aec" ], 0, - "88cc20e19c5744d2bd949badaf659f23" + "23b50601a8a46bf46751aaf0e953a3ec" ], [ "DM4F.lift_pure_st", @@ -205,7 +205,7 @@ "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" ], 0, - "6452fe198974410f4e3cb8fe02cfdf3a" + "bd2d6e5dd07ef4549a22b0c53e7acd42" ], [ "DM4F.null", @@ -221,7 +221,7 @@ "l_quant_interp_7476593ebb206e7a8235a58ae2f6298e" ], 0, - "f8a50e316277f0f9211b6cb93776547f" + "be5fb3f1d784c0f87e22c7a95a4379a7" ], [ "DM4F.get", @@ -233,7 +233,7 @@ "interpretation_Tm_abs_20a7238fd07f9d31c2887ac37e91b7a4" ], 0, - "065f1d875deed5871f6d8df471cc7277" + "f3584bbd43e0eb58f6aec85d58f2a7a6" ], [ "DM4F.put", @@ -246,7 +246,7 @@ "unit_typing" ], 0, - "263ed5e540c8f444cde278e65f6a5f74" + "b379f97f2d1b5acf18ea46c779ebea9f" ], [ "DM4F.test", @@ -265,7 +265,7 @@ "token_correspondence_DM4F.null" ], 0, - "032f1c556da512ea385721cd022487ed" + "f62ddcb3b4837c9a344fec0de89c5dbf" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/DM4F_layered.fst b/examples/layeredeffects/DM4F_layered.fst index e39b56f67d9..ea78ab3ab01 100644 --- a/examples/layeredeffects/DM4F_layered.fst +++ b/examples/layeredeffects/DM4F_layered.fst @@ -19,7 +19,7 @@ module DM4F_layered (* Same as DM4F, but layered over a layered PURE *) open DM4F_Utils open ID2 -open FStar.Tactics +open FStar.Tactics.V2 (* Simulating state effect in DM4F, hopefully doable by a tactic. *) @@ -78,8 +78,8 @@ let bind (a:Type) (b:Type) (st:Type0) (f : (x:a -> repr b st (wp_f x))) : repr b st (bind_wp wp_c wp_f) by (explode (); - let w = nth_binder 3 in - apply_lemma (`(wp_squash_lem (`#w))); + let w = nth_var 3 in + apply_lemma (`(wp_squash_lem (`#(binding_to_term w)))); dump "") = fun s0 -> let (y, s1) = c s0 in diff --git a/examples/layeredeffects/DM4F_layered.fst.hints b/examples/layeredeffects/DM4F_layered.fst.hints index 4223f072f30..2f97bf8742e 100644 --- a/examples/layeredeffects/DM4F_layered.fst.hints +++ b/examples/layeredeffects/DM4F_layered.fst.hints @@ -1,5 +1,5 @@ [ - ":'wÃt\b»QÖ\u0018ºfW€óD", + "¤Ò½Ìþîw\b\"i—К:\u0017", [ [ "DM4F_layered.repr", @@ -24,7 +24,7 @@ "token_correspondence_DM4F_Utils.curry", "true_interp" ], 0, - "30c8fcf3801ed06d2148cb83a3af1145" + "ee6171d92ee7bb9c55918792fd021b03" ], [ "DM4F_layered.return_wp", @@ -36,7 +36,7 @@ "interpretation_Tm_abs_bdd7c30bf8f3de9d1a3f5433474d643e" ], 0, - "c68e3fd031df1468e5fad7c48ce5f2c1" + "5290b09cbaeb075d64fe9d37e163c08b" ], [ "DM4F_layered.return", @@ -45,7 +45,7 @@ 1, [ "@query", "equation_DM4F_Utils.curry" ], 0, - "a10ee766f080fcedc5c3300f49d6175c" + "aa3400c53bfb93da4f414a8a57c2230d" ], [ "DM4F_layered.bind_wp", @@ -65,7 +65,7 @@ "typing_Tm_abs_da366628e6a04b9ecea250d7b8119b11" ], 0, - "6b25389c9dc0b98353d7d21704dae115" + "c611ba110ccf748c08bbf4179e57dcd8" ], [ "DM4F_layered.squash_lem", @@ -74,7 +74,7 @@ 1, [ "@query" ], 0, - "38ca3e8b4d4ae6d9f7459bf1eac95242" + "3486a114e6434365449b9f02316d2558" ], [ "DM4F_layered.elim_mon", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_6d1f01fdd916443d82ef2356acab4038" ], 0, - "db592729cb605c0e30fa89298e4c8cc1" + "496485b51d878b1b6aadf4bdb9bcbaee" ], [ "DM4F_layered.wp_squash_lem", @@ -108,7 +108,7 @@ "typing_Tm_abs_15fafebec4857e66e0be76a0f41524a6" ], 0, - "9175b1c7beb81398c4940cef6a6b10c8" + "7b88ea5fafe00b34d3b8f653262bdc81" ], [ "DM4F_layered.bind", @@ -119,8 +119,8 @@ "@MaxIFuel_assumption", "@query", "DM4F_Utils_interpretation_Tm_arrow_2bc9d15ae1cb546068e0d55601622293", "DM4F_Utils_interpretation_Tm_arrow_79751b42d6e01aa07e62103305b8e055", + "DM4F_layered_interpretation_Tm_arrow_306438268a72ce1c31bae6bba90c8218", "DM4F_layered_interpretation_Tm_arrow_3cd3f2295adc6b8529e49f7dc7e04cca", - "DM4F_layered_interpretation_Tm_arrow_65cee8ce6da0752d9fcadab3d8f192e6", "DM4F_layered_interpretation_Tm_arrow_9838d507ef076e687c9195d1ee7889b3", "DM4F_layered_interpretation_Tm_arrow_a4554d38cea03bac7ff47a43174b2c4b", "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", @@ -131,7 +131,7 @@ "equation_Prims.pure_post", "equation_Prims.pure_post_", "function_token_typing_DM4F_Utils.curry", "function_token_typing_Prims.logical", - "interpretation_Tm_abs_645dbfac03a8bfd552464baab4c0b38e", + "interpretation_Tm_abs_93960dd516173915d434d64ed392e679", "interpretation_Tm_abs_b2fe3f79a82be19a3b2aa6bead0076ac", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -139,11 +139,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_6d1f01fdd916443d82ef2356acab4038", "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp", "typing_Tm_abs_645dbfac03a8bfd552464baab4c0b38e", + "true_interp", "typing_Tm_abs_93960dd516173915d434d64ed392e679", "typing_Tm_abs_b2fe3f79a82be19a3b2aa6bead0076ac" ], 0, - "4c34558c75a3b74897fb79a21b9d76f7" + "482f35928bfbf0a72336927faddb6ede" ], [ "DM4F_layered.ite_wp", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_6d1f01fdd916443d82ef2356acab4038" ], 0, - "0dd6d5b82713271cadb1f3936844839f" + "1c71d8c6aea6e43746e1c313522e6e2b" ], [ "DM4F_layered.subcomp", @@ -181,7 +181,7 @@ "true_interp" ], 0, - "680f76aa59ef7b671eb4736e36daa0c2" + "f7d1df51e5c244686338fb37b72614a9" ], [ "DM4F_layered.ST", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a64fa784abb3d88e51ab16b1391dabe0" + "f6f883dfd79514e4124b3673a26ff5f7" ], [ "DM4F_layered.ST", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7e57a24e3cb254e744f71523465f8da9" + "45fb923b6a95f668b06a26832a74635f" ], [ "DM4F_layered.ST", @@ -226,7 +226,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "957b5f5d7bda5917fb3de954e3e724c4" + "c4af3205c924d00ef0d4d975a6011f50" ], [ "DM4F_layered.lift_pure_st_wp", @@ -245,7 +245,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "670b9527ce23efc3817d299b54c3e284" + "e411f61ded77bc468012b7943c34c511" ], [ "DM4F_layered.lift_id_st_wp", @@ -265,7 +265,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "971d94530001b05a9dd221d6da66d265" + "47c0ce3138574212be296a12e005032c" ], [ "DM4F_layered.lift_id_st", @@ -291,7 +291,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "7118c636872f46bfba3897ea74fc350e" + "f88a117771711081dc612dec7b4154a9" ], [ "DM4F_layered.null", @@ -304,7 +304,7 @@ "l_quant_interp_f81d9a4c4cebdec92f518240e9101497" ], 0, - "882988567fdd1aa7695a82f6b5280374" + "d48c3b206730b8848889e0a1e958072a" ], [ "DM4F_layered.get", @@ -317,7 +317,7 @@ "interpretation_Tm_abs_5c8e14a399ca3ce69db1e89844177863" ], 0, - "10dabe562c6e96a6b0dd33301ffa4414" + "d6410238509ba86df76d32b0f3f5de3d" ], [ "DM4F_layered.put", @@ -331,7 +331,7 @@ "unit_typing" ], 0, - "3fb7780a2fdea3f13dcb8620a1867de7" + "0781c55a5baaf97b5b1b3a8d2f05c22e" ], [ "DM4F_layered.test", @@ -349,7 +349,7 @@ "primitive_Prims.op_Addition" ], 0, - "19ce3c2eb4cc6ff84f569a8ced4e2513" + "1b85c6e5727829e99b31af3586cf6a8d" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/DM4F_layered5.fst.hints b/examples/layeredeffects/DM4F_layered5.fst.hints index 9488e4a03ec..1ef3e67886e 100644 --- a/examples/layeredeffects/DM4F_layered5.fst.hints +++ b/examples/layeredeffects/DM4F_layered5.fst.hints @@ -24,7 +24,7 @@ "token_correspondence_DM4F_Utils.curry", "true_interp" ], 0, - "7b0b19e099ca76d98b013b67ebaf9a4c" + "4829ab73f187e956f6f486ff93d2ceb7" ], [ "DM4F_layered5.return_wp", @@ -36,7 +36,7 @@ "interpretation_Tm_abs_bdd7c30bf8f3de9d1a3f5433474d643e" ], 0, - "e28ff611d72a37c175719c9632eff935" + "ff02e83d42cb1a964383cbea99a254f0" ], [ "DM4F_layered5.return", @@ -45,7 +45,7 @@ 1, [ "@query", "equation_DM4F_Utils.curry" ], 0, - "cc9a81d6e48b0439195834c5cc3aa429" + "cce39e925ec16c2ca59f239e808d7b20" ], [ "DM4F_layered5.bind_wp", @@ -65,7 +65,7 @@ "typing_Tm_abs_da366628e6a04b9ecea250d7b8119b11" ], 0, - "e9668bc8ba69d893a85a544940ba0573" + "4d1a4aa7f8e535f3600debac3dfff237" ], [ "DM4F_layered5.bind", @@ -96,7 +96,7 @@ "typing_Tm_abs_be9fb7deb5723623db82be4a4d1f828f" ], 0, - "e52db58734d0b7dd46541f6dc14838fe" + "dd938fb358be8d99492de70959e42154" ], [ "DM4F_layered5.ite_wp", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_81da57f72a1743c16fe910ecaaa53ac5" ], 0, - "056eebad92d7638c1664a90d1501ac6e" + "c20080382cbff06e3eb364c6c8587f57" ], [ "DM4F_layered5.subcomp", @@ -134,7 +134,7 @@ "true_interp" ], 0, - "bd51742d61b107d799e9c165731858d1" + "f6bfd821766e41e2d3f0e9ac84224976" ], [ "DM4F_layered5.ST", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3fb2363a619f42d1c5e3bafd5f470913" + "822fb1dabc8e3ffdd6e24997a2e01734" ], [ "DM4F_layered5.ST", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "773fd86128d406265c018052a81379e2" + "fa6efd560b3a88d41822961e70bd92a4" ], [ "DM4F_layered5.lift_id_st_wp", @@ -184,7 +184,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "440d58703935d1cb0f5325c2a1b3b0fc" + "7f8896d64024898d2590520701a59c33" ], [ "DM4F_layered5.lift_id_st", @@ -212,7 +212,7 @@ "token_correspondence_DM4F_layered5.lift_id_st_wp", "true_interp" ], 0, - "43b0ed19c836771189d8e34edd76494c" + "c26b21bbcbfc6e455922e8714d24871d" ], [ "DM4F_layered5.null", @@ -225,7 +225,7 @@ "l_quant_interp_f81d9a4c4cebdec92f518240e9101497" ], 0, - "f8c484a03a70ba83d4263bb1628d84b7" + "337b4b287b5eafbcbe457ea2730bdc61" ], [ "DM4F_layered5.get", @@ -238,7 +238,7 @@ "interpretation_Tm_abs_5c8e14a399ca3ce69db1e89844177863" ], 0, - "cef0de8362b357787ff607e0a28cd46a" + "753a8e06b4d03d81bbbd91e39bc94127" ], [ "DM4F_layered5.put", @@ -252,7 +252,7 @@ "unit_typing" ], 0, - "0d5b8cd93dd24d02601799792a892c49" + "0e779589cae9a159bc1dcebeedbcebbf" ], [ "DM4F_layered5.test", @@ -270,7 +270,7 @@ "primitive_Prims.op_Addition" ], 0, - "2e7bd23cfaa4866cdec93f061b94edd0" + "2fac39bf0aa8943a396d05db809b602a" ], [ "DM4F_layered5.addx", @@ -285,7 +285,7 @@ "primitive_Prims.op_Addition" ], 0, - "cd79aa0a3b5aa26767b48e67e977b1e7" + "9fffde0d48eed75b5b5667e5b374a611" ], [ "DM4F_layered5.addx", @@ -299,7 +299,7 @@ "primitive_Prims.op_Addition", "unit_typing" ], 0, - "44f4d6d18da966fcc5f28adcaa63716b" + "2e8a35ad4383965b9a1e5149ff8b759a" ], [ "DM4F_layered5.add_via_state", @@ -312,7 +312,7 @@ "interpretation_Tm_abs_a6181c5fd8b91f0266d730640340fb56" ], 0, - "6c435247fba3184bb5eb716abcc41838" + "8118640cd167db8e79da476419adfe47" ], [ "DM4F_layered5.add_via_state", @@ -326,7 +326,7 @@ "primitive_Prims.op_Addition" ], 0, - "d3d65bda7acea0313b8152c56dca027b" + "76c421a168ef6a36af3e6c329e29c15a" ], [ "DM4F_layered5.main", @@ -339,7 +339,7 @@ "true_interp" ], 0, - "e1ed8a14b5477badfc3584590f038cfc" + "fbc229ade14e42c6e465489a2c96337c" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/DijkstraStateMonad.fst b/examples/layeredeffects/DijkstraStateMonad.fst index a8831afead6..9c33d300016 100644 --- a/examples/layeredeffects/DijkstraStateMonad.fst +++ b/examples/layeredeffects/DijkstraStateMonad.fst @@ -17,7 +17,7 @@ module DijkstraStateMonad open FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality -module T = FStar.Tactics +module T = FStar.Tactics.V2 /// This example illustrates how to derive a WP-indexed state monad /// from a free state monad, parametric in the type of the state diff --git a/examples/layeredeffects/DijkstraStateMonad.fst.hints b/examples/layeredeffects/DijkstraStateMonad.fst.hints index 905bc37c747..3a8969859e9 100644 --- a/examples/layeredeffects/DijkstraStateMonad.fst.hints +++ b/examples/layeredeffects/DijkstraStateMonad.fst.hints @@ -1,5 +1,5 @@ [ - "É\u0019p8?~KÞ?ÕHn§ß<ð", + "†g±ßç¹±0>B\b,<\t\u001cd", [ [ "DijkstraStateMonad.__proj__Ret__item___0", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_ef13a5ff0d90c6079d56c261caecb696" ], 0, - "e9794ab0fb4b9b933bce02762e39d51b" + "bf0b6b28b2e4740083ebf06652a58dc9" ], [ "DijkstraStateMonad.__proj__Get__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_147432991a8dc1876cc4a286c219c78a" ], 0, - "861c4b0640673ad7548f1c5c0ef6a941" + "47c673fbc06cbd0c49c029fae85d3046" ], [ "DijkstraStateMonad.__proj__Put__item__x", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_d1cce375ab9fd25f8df281ce8e9ef48a" ], 0, - "cf6768762700d47b4672690eb651e5e2" + "5081339e88c676e30058aad315b6d39d" ], [ "DijkstraStateMonad.__proj__Put__item___1", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_d1cce375ab9fd25f8df281ce8e9ef48a" ], 0, - "470c7bebc0f719647c760d16431ad9a5" + "89a52cc477e25568c6a6b95f2e139edc" ], [ "DijkstraStateMonad.bind_m", @@ -74,7 +74,7 @@ "well_founded_ordering_on_codomain_DijkstraStateMonad.Get" ], 0, - "c93a571f3441fee429cafedd694e0aa7" + "af959028bc86d639f712e02d97ab7849" ], [ "DijkstraStateMonad.wp_of", @@ -93,7 +93,7 @@ "well_founded_ordering_on_codomain_DijkstraStateMonad.Get" ], 0, - "6a2cce307213cfc26fcff4eca95bcd9b" + "4911b10d3d67cc9b29193a73643412ca" ], [ "DijkstraStateMonad.run", @@ -162,7 +162,7 @@ "well_founded_ordering_on_codomain_DijkstraStateMonad.Get" ], 0, - "ea3a6f688b4ebe172aa336ea5d76992e" + "8bf2f1265f6366eb37b7dadc8763c758" ], [ "DijkstraStateMonad.ireturn", @@ -181,7 +181,7 @@ "projection_inverse_DijkstraStateMonad.Ret_s" ], 0, - "c7513876450080cd5f2fdbeef4e45019" + "24ab83efabbf62833b2c6958277f3c62" ], [ "DijkstraStateMonad.lem_on_comp", @@ -197,7 +197,7 @@ "typing_DijkstraStateMonad.op_Star_Dot" ], 0, - "5798370f28d997c02461881e21942107" + "dba659f28425645df5f4dcdd04f7d094" ], [ "DijkstraStateMonad.bind_wp_lem'", @@ -265,7 +265,7 @@ "well_founded_ordering_on_codomain_DijkstraStateMonad.Get" ], 0, - "724b0c8fbd61bd51f18d24458df0c2bb" + "29bf88bd00330a3e0a988f1cffdcb739" ], [ "DijkstraStateMonad.bind_wp_lem", @@ -296,7 +296,7 @@ "typing_Tm_abs_99791d40815b747907d6296c0fa69faa" ], 0, - "c0854e7ede539c3251f74551a7ff5a05" + "43f9872c3065021a616365f1288d18ed" ], [ "DijkstraStateMonad.ibind", @@ -342,7 +342,7 @@ "typing_Tm_abs_989e925b5e0283d1284e522415177fbe", "unit_typing" ], 0, - "56c5160558a56b3e648ea4941fe8d9a8" + "a60d6c25e19a753c882d0450067d24e9" ], [ "DijkstraStateMonad.iget", @@ -351,7 +351,7 @@ 1, [ "@query", "equation_FStar.FunctionalExtensionality.feq" ], 0, - "15dd18c40f7758db7115510cc4dfe761" + "0a556f4d64d6a75a2581ac9b81672291" ], [ "DijkstraStateMonad.iput", @@ -360,7 +360,7 @@ 1, [ "@query", "equation_FStar.FunctionalExtensionality.feq" ], 0, - "ca2ec893f5389e6ae24d784ec51d3309" + "1741d37af9f4b091996fb58de6c507ef" ], [ "DijkstraStateMonad.IFST", @@ -372,7 +372,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "56489c22d0dbd9351edf921ce36d6d1f" + "64d9995c4c7f84212ecaf4cf7779cff6" ], [ "DijkstraStateMonad.IFST", @@ -384,7 +384,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad63d9aaf6a14eb4524964d68c106549" + "b2aa3151cc55ce1e5049c06bdda547a7" ], [ "DijkstraStateMonad.IFST", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "07954ad64947ca178ddf3af360a5ceff" + "5f84eb6d43c363af5c64950380f8b3f3" ], [ "DijkstraStateMonad.iincr", @@ -407,7 +407,7 @@ "@query", "int_typing", "primitive_Prims.op_Addition", "unit_typing" ], 0, - "5eb17c5f7d353264dc239e322efd5adc" + "661a1311f7c9789d7f40182382f788bb" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/DivAction.fst.hints b/examples/layeredeffects/DivAction.fst.hints index 04fd9c2bb1b..caec51719a5 100644 --- a/examples/layeredeffects/DivAction.fst.hints +++ b/examples/layeredeffects/DivAction.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c7b0f3db81da9c4d4e869f90d19bc3fc" + "7a19203d02489f19d0c10413f54ad939" ], [ "DivAction.1641", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "225a2ac4807643baa5dd55ad649da3ac" + "501d4571e1e6753da1fa0ceb730e797d" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/GT.fst b/examples/layeredeffects/GT.fst index a2109a22215..1af27cd4efc 100644 --- a/examples/layeredeffects/GT.fst +++ b/examples/layeredeffects/GT.fst @@ -1,6 +1,6 @@ module GT -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Universe type idx = @@ -93,7 +93,7 @@ let app #a #b #i (f : a -> GTD b i) (x : a) : GTD b i = f x // todo: use map/app from tot context and prove that it does what it's meant to do -open FStar.Tactics +open FStar.Tactics.V2 let rec appn #a #i (n:nat) (f : a -> GTD a i) (x : a) : GTD a i = match n with diff --git a/examples/layeredeffects/GT.fst.hints b/examples/layeredeffects/GT.fst.hints index 647dfd838b3..3c7d43db912 100644 --- a/examples/layeredeffects/GT.fst.hints +++ b/examples/layeredeffects/GT.fst.hints @@ -1,5 +1,5 @@ [ - "[Ø<1åÛ5½\u0006íNÌ×Î\u000b÷", + "¸ZÝB½ØЈ–á\u001d&H€Dƒ", [ [ "GT.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "c8918e6bb9f7eff8ab99cc563ece4123" + "a639fff75f24216094b15e5047f6a4ef" ], [ "GT.m", @@ -24,7 +24,7 @@ "fuel_guarded_inversion_GT.idx", "projection_inverse_BoxBool_proj_0" ], 0, - "5074f7c5a7f57c57b5bc3d9cb5af168b" + "63e2c6fab3a98a555fee36724fdbfc0d" ], [ "GT.return", @@ -43,7 +43,7 @@ "typing_Tm_abs_b68e73a4efe6a575c72f28a07914e6c3" ], 0, - "d5e86603c9c08aaa8fb42f98e04240a1" + "697ad8522e497e0659aa4249c03c2d6c" ], [ "GT.bind", @@ -60,7 +60,7 @@ "typing_Tm_abs_24309c3cadd869b94b5601201277f265" ], 0, - "05cb34ddb3951152536e5a39a893390c" + "1ec2a0e2656ee01b2fc7a5a890abe921" ], [ "GT.r_map", @@ -77,7 +77,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "815d1f21882ab69ef5d71ee5fccb2303" + "ecc3518fbdc7f25e9b6cdcc3670b3e80" ], [ "GT.lift_pure_gtd", @@ -108,10 +108,16 @@ "typing_Tm_abs_735bfa0400a12573ed48312f042e45e7" ], 0, - "e84818e9a0487032a155d670f03195c3" + "6ff6d3876c4a4cecb7599fb59da931b7" ], [ - "GT.8441", 1, 2, 1, [ "@query" ], 0, "a1a8add6399b2dc6678ee9cf196a433a" + "GT.19267", + 1, + 2, + 1, + [ "@query" ], + 0, + "a11f4fe8dda3b64b202b05f94c5facea" ], [ "GT.map", @@ -124,7 +130,7 @@ "projection_inverse_BoxBool_proj_0", "unit_typing" ], 0, - "b359f1ad32574bd17f35debcf26ce75c" + "f663d342ff118ce0e4700998ab3c7533" ], [ "GT.appn", @@ -139,7 +145,7 @@ "unit_typing" ], 0, - "f378520ce0a88f9bca345baa9f819fd0" + "2bc0731e272422426e387ec070d71f38" ], [ "GT.labs", @@ -154,7 +160,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b669d58cc5a37bcf91e5e873cd5346ad" + "915d346bc52ab1e412cdd084d164ec70" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/GTWP.fst b/examples/layeredeffects/GTWP.fst index cf6ac8e4476..2af0907f4e0 100644 --- a/examples/layeredeffects/GTWP.fst +++ b/examples/layeredeffects/GTWP.fst @@ -1,6 +1,6 @@ module GTWP -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Universe open FStar.Monotonic.Pure @@ -129,7 +129,7 @@ let rec map #a #b #i (f : a -> Gtd b i) (xs : list a) : Gtd (list b) i (* by (ex let app #a #b #i #wp (f : a -> GTD b i wp) (x : a) : GTD b i wp = f x -open FStar.Tactics +open FStar.Tactics.V2 let rec appn #a #i (n:nat) (f : a -> Gtd a i) (x : a) : Gtd a i = match n with diff --git a/examples/layeredeffects/GTWP.fst.hints b/examples/layeredeffects/GTWP.fst.hints index edd6d29e4fb..8c271710a6e 100644 --- a/examples/layeredeffects/GTWP.fst.hints +++ b/examples/layeredeffects/GTWP.fst.hints @@ -1,5 +1,5 @@ [ - "è•\u0019ó*£§òi\u001f»²¶»®\u0013", + "ð€\u0003¨ÕØT v’ˆ]h}", [ [ "GTWP.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "59ac2318f9323e1aa36abb1958b4535e" + "6c986944144cef8fa9d0f7e658e55c5e" ], [ "GTWP.bind_wp", @@ -30,7 +30,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "a8b2620c38c40171fba9741b35e55574" + "83aeef64a64c9417f4db344463071928" ], [ "GTWP.m", @@ -44,7 +44,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "33baba2865b16d40d57928bcfdc0c147" + "a78f115be0e6d00487574906c879c5d2" ], [ "GTWP.t_return", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "e99cbe875d0963cc130b13c578b10e8d" + "85e65129b2a8d4f011991d31d56bdf5b" ], [ "GTWP.g_return", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "6f279ed98fcd3667da5f33a7ba639b8a" + "dfbbc077bb5d738013cb8f6182a51e05" ], [ "GTWP.d_return", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "d4476f3584dce0ffe021c7c8d89fcb97" + "5a9a1c1c214e84810a14dd1b406b6da6" ], [ "GTWP.return_wp", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "f52cb0b25a9ce8f2b8e625824be7b769" + "0a93c6da8097275308e389d73c7addaf" ], [ "GTWP.return", @@ -109,7 +109,7 @@ "typing_GTWP.t_return" ], 0, - "f96f2bff290f18ce58295576bc0165b2" + "a9aa0133fb880a0337eb4f27d6b5cb46" ], [ "GTWP.t_bind", @@ -137,7 +137,7 @@ "typing_Tm_abs_f8e7b716a282654c9757509b2a0f7de3" ], 0, - "fc0e19424e937ace9a529787ba2e2ba0" + "6e0ae27d366c541aa4c2ca46408f7f46" ], [ "GTWP.g_bind", @@ -165,7 +165,7 @@ "typing_Tm_abs_e93a7dc38d53ba477737b29daf01ffde" ], 0, - "2c3aa2203ebc0a06183cf189fc7ecbe8" + "514922439ea33e6ba71aa3e3af502cc7" ], [ "GTWP.bind", @@ -203,7 +203,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "1ce91bb64717693904a2651f7efba91e" + "129ceb5f670942588bb6a84c51ca216a" ], [ "GTWP.subcomp", @@ -234,7 +234,7 @@ "typing_Tm_abs_735bfa0400a12573ed48312f042e45e7" ], 0, - "3f503f918ebb71a4b8c2d94943b0e020" + "26dac56edc47f93c702e94f1c8d07bcd" ], [ "GTWP.ite_wp", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_9c79c4ef8bf28fdd5d01e604e0426830" ], 0, - "f002008320b3d093f744a7724130cab7" + "cf1caa9385faaf8b766e9ada73201c49" ], [ "GTWP.GTD", @@ -261,7 +261,7 @@ "token_correspondence_GTWP.ite_wp" ], 0, - "b6f6c3cbd5efc7911caa5464feb9aaea" + "1b17dc71e682093cb21e04dec794be13" ], [ "GTWP.GTD", @@ -274,7 +274,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "00425a4fd7869de36a433eab971b97cb" + "ae8779d28f255e1ab92b2159896ebdcd" ], [ "GTWP.GTD", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "2e9e40295550b7b09f59dfd08d344f91" + "7aedc28eef5e17d8b71a6d41c6d0b57e" ], [ "GTWP.lift_pure_gtd", @@ -316,16 +316,16 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "06b71a6f2f81a5df48851124944c9690" + "2dec59454cc92a715ecd1baa092c3d78" ], [ - "GTWP.17203", + "GTWP.28183", 1, 2, 1, [ "@query" ], 0, - "9451b1090775cd84b6ebe7f97e9ea275" + "e491431f8bd7c50e68c1ebf2956a53d1" ], [ "GTWP.null_wp", @@ -334,7 +334,7 @@ 1, [ "@query" ], 0, - "e3d6b7b97fb8302be9f2927936d0acbd" + "b98a550906493680978d24b7a38a0cdb" ], [ "GTWP.map", @@ -359,7 +359,7 @@ "typing_Prims.uu___is_Nil" ], 0, - "fe90999530c70b46f5c29350651142ac" + "a2fec72dde6bba0b7cc6dbc8095456d5" ], [ "GTWP.appn", @@ -382,7 +382,7 @@ "token_correspondence_GTWP.ite_wp", "true_interp" ], 0, - "26344602ad0106bc55813dcb08e58084" + "558a5c38ca52e7ae1c580ee980b534f7" ], [ "GTWP.labs", @@ -396,7 +396,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9c87e09bb5134fe365a63ead17d22813" + "716688031be0ee598ba8b4b3ea6564fe" ], [ "GTWP.test", @@ -410,7 +410,7 @@ "token_correspondence_GTWP.return_wp", "true_interp" ], 0, - "2817f738b97aca402f08bcb61d0bc2ec" + "c36ac2245269e10b54a729ec7e0b4aff" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/GenericPartialDM4A.fst b/examples/layeredeffects/GenericPartialDM4A.fst index 95de7d83df4..0ebfdcb480a 100644 --- a/examples/layeredeffects/GenericPartialDM4A.fst +++ b/examples/layeredeffects/GenericPartialDM4A.fst @@ -1,11 +1,11 @@ module GenericPartialDM4A -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Calc open FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality module W = FStar.WellFounded -module T = FStar.Tactics +module T = FStar.Tactics.V2 open FStar.Preorder // m is a monad. @@ -75,7 +75,7 @@ let bind (a : Type) (b : Type) fun (pf : squash (pre_v /\ (forall x. pre_f x))) -> let v = v () in let _ = and_elim_2 pf in - assert (forall (x:a). pre_f x) by (exact (nth_binder (-1))); // what the hell? #1948? + assert (forall (x:a). pre_f x) by (exact (binding_to_term (nth_var (-1)))); // what the hell? #1948? let f x = f x () in let r = m_bind v f in (* Proof that stronger holds *) diff --git a/examples/layeredeffects/GenericPartialDM4A.fst.hints b/examples/layeredeffects/GenericPartialDM4A.fst.hints index ca62eac87e1..455e659b67b 100644 --- a/examples/layeredeffects/GenericPartialDM4A.fst.hints +++ b/examples/layeredeffects/GenericPartialDM4A.fst.hints @@ -1,5 +1,5 @@ [ - "¯F9Eè\n)Ln¼Œ«Û¥\u0012ç", + "õ¼ÉA]a„Q‰ÅºëÖŸ*€", [ [ "GenericPartialDM4A.repr", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "20d4c26d1ce894f6986766458dc95944" + "4e07f92bf137f2170d1a60d8f361c54c" ], [ "GenericPartialDM4A.return", @@ -20,7 +20,7 @@ 1, [ "@query", "equation_GenericPartialDM4A.equiv" ], 0, - "03b8356aeac01230e6debe6b8c08fccb" + "a14e79548a5240fda2d336f578f9a59c" ], [ "GenericPartialDM4A.and_elim_2", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "4dc2316ef92ff71f0ee0e347e4c390d7" + "40b3ff142cf3b02bb5d2915ef5faa24a" ], [ "GenericPartialDM4A.iw_bind", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_1744e69bca1517e683508841df6d9c49" ], 0, - "a8377b00b6d727d7db5060cf1b441fda" + "56f544bc1e105b7060f2789a76176db2" ], [ "GenericPartialDM4A.bind", @@ -76,7 +76,7 @@ "unit_typing" ], 0, - "aec67ba80c2933221a52e81a8bfdd277" + "325d6b328c431f84145cc8f48a49972d" ], [ "GenericPartialDM4A.weaken", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e82fac9f11af7d94d2201a249451f39b" + "23e960657efbd6712649d71812a66451" ], [ "GenericPartialDM4A.subcomp", @@ -113,7 +113,7 @@ "typing_GenericPartialDM4A.weaken", "unit_inversion" ], 0, - "5bf8d8dec53b259cb68e3b3bb2d89746" + "b1d8079722702db10cf87ff93b614ac5" ], [ "GenericPartialDM4A.DM4A", @@ -122,7 +122,7 @@ 1, [ "@query" ], 0, - "ef054e4aca9731471011797ad10d112b" + "3802904040a2388f2753b2767c6e3b92" ], [ "GenericPartialDM4A.DM4A", @@ -144,7 +144,7 @@ "typing_GenericPartialDM4A.weaken", "unit_inversion" ], 0, - "87812dd071f6eeda6d6c5a4523623bec" + "ca5d7f4d3f350eaa2c570d8aeb293acd" ], [ "GenericPartialDM4A.DM4A", @@ -168,7 +168,7 @@ "typing_GenericPartialDM4A.weaken", "unit_inversion" ], 0, - "574de6dc7403981185ab760c57758407" + "971e1ca1cfaecf6e3468643cded6fc44" ], [ "GenericPartialDM4A.lift_pure_dm4a", @@ -192,7 +192,7 @@ "typing_Tm_abs_dbf003a9879e111684205aae0ef8682e" ], 0, - "5a4e81c1d75bd6efd3619b1da03e9736" + "f23e32535a27880db9a383ade138960d" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/GenericTotalDM4A.fst b/examples/layeredeffects/GenericTotalDM4A.fst index 2f8c8dbc575..99ba2061b54 100644 --- a/examples/layeredeffects/GenericTotalDM4A.fst +++ b/examples/layeredeffects/GenericTotalDM4A.fst @@ -1,11 +1,11 @@ module GenericTotalDM4A -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Calc open FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality module W = FStar.WellFounded -module T = FStar.Tactics +module T = FStar.Tactics.V2 open FStar.Preorder // m is a monad. diff --git a/examples/layeredeffects/GenericTotalDM4A.fst.hints b/examples/layeredeffects/GenericTotalDM4A.fst.hints index 632bc5816b1..3c7a39e5a7c 100644 --- a/examples/layeredeffects/GenericTotalDM4A.fst.hints +++ b/examples/layeredeffects/GenericTotalDM4A.fst.hints @@ -1,5 +1,5 @@ [ - "\u0001—«ûƒø¡µ_õó§t:F", + "½•\u0013½Wî\u0011ì(\u007f¤d\u0016!Ë", [ [ "GenericTotalDM4A.return", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_GenericTotalDM4A.equiv" ], 0, - "e779552d70a381ba8de03f49db58a9fe" + "5f75b0cc25bbe69e21ec8b814d6558c0" ], [ "GenericTotalDM4A.bind", @@ -32,7 +32,7 @@ "token_correspondence_GenericTotalDM4A.stronger" ], 0, - "41bdfef4722f1f5b742a5e32168d0b53" + "22b4c8a8e440efc4d237c114557e706d" ], [ "GenericTotalDM4A.subcomp", @@ -50,7 +50,7 @@ "typing_GenericTotalDM4A.interp", "typing_GenericTotalDM4A.stronger" ], 0, - "af016220b0acd48a759c7d0996e4ca1a" + "76a5b8ee8aae3e55b889f795b30bb142" ], [ "GenericTotalDM4A.DM4A", @@ -68,7 +68,7 @@ "typing_GenericTotalDM4A.stronger" ], 0, - "b0c3da65d4b9a73242f7bb8313bc160e" + "dbbac17f65eedf04c234c065a74e2d88" ], [ "GenericTotalDM4A.DM4A", @@ -86,7 +86,7 @@ "typing_GenericTotalDM4A.stronger" ], 0, - "03d1b1bfdd5dfb322c1dd37a314d20a2" + "cea123a1f594df059a6ce22730a3411d" ], [ "GenericTotalDM4A.DM4A", @@ -104,7 +104,7 @@ "typing_GenericTotalDM4A.stronger" ], 0, - "e6bb25936b5ae8d46def18f1bea0eb92" + "93f5ebfc1dddab1af274d72b0b5fbe5e" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/HoareDiv.fst.hints b/examples/layeredeffects/HoareDiv.fst.hints index a89403c81e3..a604416f46e 100644 --- a/examples/layeredeffects/HoareDiv.fst.hints +++ b/examples/layeredeffects/HoareDiv.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "795266624d05eee71756e883a494448b" + "9afacaf3e08912ff97f6eaa011e23802" ], [ "HoareDiv.bind", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "b397bcaceaddbdb0168d6d4343ba1e6d" + "cbd40b344a4f478a7d97c3c983e7e523" ], [ "HoareDiv.subcomp", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_HoareDiv.repr" ], 0, - "f08c963376d29d5f9b51543b97cd203b" + "e3a7211fc99fca1ea5bb0888b1bdac40" ], [ "HoareDiv.HoareDiv", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "383699c133947c89c63a5e3e92d25770" + "330c86b1d3618116ca97195960b263b5" ], [ "HoareDiv.HoareDiv", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f965a9074e2961151ed3b629ba1ea4ce" + "988f1e0b1aff3bdde31c61509ee10bc5" ], [ "HoareDiv.HoareDiv", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "33617eb3398ccc1b2e1f7192f50c204d" + "9793c2a9f974f54f9565a239e4ecd36c" ], [ "HoareDiv.lift_pure_meff", @@ -88,7 +88,7 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "6dda4afb9aaa727922ac870d2af571a7" + "b50393a21273f484da49c0c30b21cf92" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/HoareST.fst.hints b/examples/layeredeffects/HoareST.fst.hints index 92e9729c5cf..fdf669b558e 100755 --- a/examples/layeredeffects/HoareST.fst.hints +++ b/examples/layeredeffects/HoareST.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "3ddad8d24d60f683f33e3d962244b1d0" + "ed9800f5802ed70f9f733045e600d970" ], [ "HoareST.bind", @@ -17,7 +17,7 @@ 0, [ "@query" ], 0, - "5858f094ec1e2e1137e9ec90bd4e25df" + "4b18ab1c350891e608839f8eee3a54d7" ], [ "HoareST.subcomp", @@ -26,7 +26,7 @@ 0, [ "@query", "equation_HoareST.repr" ], 0, - "b6633f1480ac997ce60f7a55d88a79b3" + "19e33e030f5d95117d7563632e0ee468" ], [ "HoareST.HoareST", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "50775744fdd6e3828f0aaee73032f040" + "f4760afa8796de65a1e5f223db864d09" ], [ "HoareST.HoareST", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bd8d3c7bf2c302ebd497e115a6b350de" + "fa0fa2691b06c6a4540958f0973f3887" ], [ "HoareST.HoareST", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3fa04c2906e5f5bbd57bd9f9642d42e7" + "a47780122b0440d529ecf755ee12428c" ], [ "HoareST.recall", @@ -71,7 +71,7 @@ 0, [ "@query", "unit_typing" ], 0, - "206ace93d6003612d7ba53b44636c5c2" + "3e5635731740c546779f2395725b41c7" ], [ "HoareST.alloc", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14889945aa04a325441fb5d47f39b8a3" + "a0f07c7d522b7a7c60a46471a57759ff" ], [ "HoareST.op_Bang", @@ -98,7 +98,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "e9e62e08e732db97303e886af8d7b612" + "fe788d32b8845d444aec2d074f0547b7" ], [ "HoareST.op_Colon_Equals", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_87a53fdd47ca86fd63a6af797c1e42d4" ], 0, - "6c664e8d39c115d9451b90ed3d99d8a3" + "0546026d4e5590e84a893c360320ff4a" ], [ "HoareST.lift_pure_hoarest", @@ -138,7 +138,7 @@ "typing_Tm_abs_efcce3c21fe48dce9105b420b0cd535c" ], 0, - "264622cdb2f6bf94b39519fcda7977e4" + "e6b165928bd1dbc783db97c4d2cb4d00" ], [ "HoareST.op_At_Bar", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "be377a846c6ee18103aef58d4160405d" + "b84269f9c48f54e636349a6ee7d4404a" ], [ "HoareST.index", @@ -161,7 +161,7 @@ 0, [ "@query" ], 0, - "00e25949c2ad3efce3715542aff71afd" + "2728e47ab8d97587d5cc13c8a25db575" ], [ "HoareST.upd", @@ -182,7 +182,7 @@ "true_interp" ], 0, - "465a86020b9d1ef4f18e8f513de115aa" + "ec1dd4b8593e2602070854edf2b9451d" ], [ "HoareST.length", @@ -191,7 +191,7 @@ 0, [ "@query" ], 0, - "57262d5afc911080d04924fcbd76b847" + "fc0bb8cbc2903156eb133d4fb4265398" ], [ "HoareST.swap", @@ -217,7 +217,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.seq" ], 0, - "c78a3c2a4c2b9cbc6ba3a8f363ae149c" + "bc0baeb1ae05ce13d4b0ae0a058acf35" ], [ "HoareST.copy_aux", @@ -259,7 +259,7 @@ "typing_FStar.Set.singleton" ], 0, - "60d901416078d3d1f288bc8959d334ea" + "72ad8159f3455eaafd2a28c88da37eb8" ], [ "HoareST.copy", @@ -298,7 +298,7 @@ "typing_FStar.Seq.Base.seq", "typing_FStar.Set.empty" ], 0, - "c39fad41ef7de2e8b7be4a4fb0c60c88" + "9d22dc666104d51cb00cdb7435e81ad1" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/HoareSTFree.fst.hints b/examples/layeredeffects/HoareSTFree.fst.hints index 5ea9da5d2db..241f27378d7 100644 --- a/examples/layeredeffects/HoareSTFree.fst.hints +++ b/examples/layeredeffects/HoareSTFree.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_4cfe188e92aa62e40eb51efad78fbe81" ], 0, - "98676db3d0ba05f3b2a43f18134126e3" + "6d46fe00d0f09150877324a40758eab2" ], [ "HoareSTFree.__proj__Ret__item__q", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_4cfe188e92aa62e40eb51efad78fbe81" ], 0, - "175adb85d54d77b244fa58b439cd6c00" + "2071620ca04f283de397f46ccda2dc9b" ], [ "HoareSTFree.__proj__Ret__item__x", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_4cfe188e92aa62e40eb51efad78fbe81" ], 0, - "a870e245f1ce4e012e4fb96ddfe179af" + "5db9f99fb45d68288eee8e3ad35bbfe9" ], [ "HoareSTFree.__proj__Act__item__a", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "0697260cc71891bbfa0aae39303ac6fa" + "2664f75149738a2ad8c3d8a442a7fe65" ], [ "HoareSTFree.__proj__Act__item__a_p", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "ac01bfc0f7c52c5d57ed199c76546c5f" + "d8e3bd59a7138d9a62e2697b8b4349aa" ], [ "HoareSTFree.__proj__Act__item__a_q", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "b3331afd0e8778cd904ae9a76bb2cc46" + "e177028328c4b202e3b6d947e5613d22" ], [ "HoareSTFree.__proj__Act__item__act", @@ -91,7 +91,7 @@ "token_correspondence_HoareSTFree.__proj__Act__item__a_q" ], 0, - "95dd566be5bbdc44e68c0eabbc3d612f" + "01173444572dca34de3a32b8b55c3c98" ], [ "HoareSTFree.__proj__Act__item__b", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "674351091f59d4d447c19afbf18eb37a" + "adb8c6c3f459a13304799cdf1f5569aa" ], [ "HoareSTFree.__proj__Act__item__k_p", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "21becec5984bbf72568963fb453b64aa" + "8e6d474e71a297ac5db0fc71fc25772f" ], [ "HoareSTFree.__proj__Act__item__k_q", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_dc5a4d5b61532b33c9f5b60abe8c861e" ], 0, - "cd7b8a3cf77ea124b3495a1b95f42d9c" + "2ba25da74934864117c2a7aed4ef6130" ], [ "HoareSTFree.__proj__Act__item__k", @@ -151,7 +151,7 @@ "token_correspondence_HoareSTFree.__proj__Act__item__k_q" ], 0, - "b42bfd1c0c43fe1ab947ddf01ab4dcb3" + "4113930fade7f95d49355d7eb93811fc" ], [ "HoareSTFree.__proj__Weaken__item__a", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "d8fa01c8f561d4fd79d01160129cc95f" + "3efcd8a8972259dce8c754d62afd2249" ], [ "HoareSTFree.__proj__Weaken__item__p0", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "859181f2ad2fa9b950c0635f6c5b7b9b" + "5dd77db434846d915a3f12bc286c92a6" ], [ "HoareSTFree.__proj__Weaken__item__q0", @@ -187,7 +187,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "a7f4d450b22e1815545390b0634c5f95" + "e00f5eb69f12952f8bc76ce5eec949b4" ], [ "HoareSTFree.__proj__Weaken__item__p1", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "38907fe92ac10f689fe3fe6505e828df" + "1f224bc054e6dc4a311ff94f8d56ebf1" ], [ "HoareSTFree.__proj__Weaken__item__q1", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "76e673b4765594aef46858e91fb4d1fc" + "56706f4d5ba33a0488c802daa3b09b81" ], [ "HoareSTFree.__proj__Weaken__item___5", @@ -240,7 +240,7 @@ "token_correspondence_HoareSTFree.__proj__Weaken__item__q1" ], 0, - "aaa2d471549c0fb5955c8af3aeeb4c4f" + "18f70cf8078b148a31a42d5ffa052ad2" ], [ "HoareSTFree.__proj__Weaken__item__f", @@ -258,7 +258,7 @@ "refinement_interpretation_Tm_refine_af764247f953a28b44f2188156d29c27" ], 0, - "791fd933de4f2a05a0dd17e96fc0c068" + "a266da5f3bdd1e2a5ef4e1c8dc4e365c" ], [ "HoareSTFree.__proj__Strengthen__item__a", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_0700a4510c6db9661eca8cb43eb7a8cf" ], 0, - "822d1abce366063d537acdea09d65611" + "fe2175323d316945e1b9dd6709f16220" ], [ "HoareSTFree.__proj__Strengthen__item__phi", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_0700a4510c6db9661eca8cb43eb7a8cf" ], 0, - "cbb9f9cc07427d3a509535c72456cf79" + "0c1ba2a358958c57bfcc43710902386a" ], [ "HoareSTFree.__proj__Strengthen__item__p", @@ -294,7 +294,7 @@ "refinement_interpretation_Tm_refine_0700a4510c6db9661eca8cb43eb7a8cf" ], 0, - "a539ef7c83bf4b3fd149a72409210a5b" + "b04efa6a4fdd7683b65d80850c6c3122" ], [ "HoareSTFree.__proj__Strengthen__item__q", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_0700a4510c6db9661eca8cb43eb7a8cf" ], 0, - "23392d5820503061593fb6274aab5516" + "84f53535a41a7be6e2277eb5cf617f6a" ], [ "HoareSTFree.__proj__Strengthen__item__f", @@ -326,7 +326,7 @@ "refinement_interpretation_Tm_refine_0700a4510c6db9661eca8cb43eb7a8cf" ], 0, - "e752079c58a71b83ffacad6fd71d2214" + "29f7ea2e8070720e51f2635112209c6e" ], [ "HoareSTFree.bind", @@ -353,7 +353,7 @@ "refinement_interpretation_Tm_refine_8fb012c82b6116d290a3f8671988cb15" ], 0, - "beba891e08add02d7004c862d205c455" + "98e888c45475948084e3e19cdebd82a9" ], [ "HoareSTFree.subcomp", @@ -362,7 +362,7 @@ 1, [ "@query" ], 0, - "4bcb66c705f60608eda3b34b44ca0250" + "344787f5213526f7c4f66cac5a4facc8" ], [ "HoareSTFree.M", @@ -371,7 +371,7 @@ 1, [ "@query" ], 0, - "fe179773a28a6f6c840891c68f7a4763" + "8f74c7d18aa1c048929747d2ab9a27a7" ], [ "HoareSTFree.lift_PURE_M", @@ -398,7 +398,7 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "6e229f3ba53a6b7ad0815e0625bbe9d6" + "f26c0c18c57af2904bf2670d150a20ee" ], [ "HoareSTFree.test", @@ -407,7 +407,7 @@ 1, [ "@query", "assumption_HoareSTFree.ST_axiom" ], 0, - "5e716b4dc3c57a956ab4999405c1bb31" + "5600b68f9edd22d7093e05c59525be92" ], [ "HoareSTFree.step", @@ -436,7 +436,7 @@ "refinement_interpretation_Tm_refine_d9455d40e720d2f1e39450f68b416fa6" ], 0, - "e82d5825578e7eb4570c761ea4c2f50d" + "2b77162fa9af20e4ebc4fd00fa9f6a08" ], [ "HoareSTFree.run", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_999f45a228b1b0edc1149cf1d683da61" ], 0, - "4c5ecdbcd6c8053dbd9a7bcc6fadbc9f" + "fb29b440f749419a44a122aeb376ef51" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/HoareSTPolyBind.fst.hints b/examples/layeredeffects/HoareSTPolyBind.fst.hints index 23cec89ebe2..24481fb872f 100644 --- a/examples/layeredeffects/HoareSTPolyBind.fst.hints +++ b/examples/layeredeffects/HoareSTPolyBind.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "bf0c1f9e489d59df7c3e930eefb262b8" + "d91ccc8d22a11b1165218fc82b7f7071" ], [ "HoareSTPolyBind.bind", @@ -17,7 +17,7 @@ 0, [ "@query" ], 0, - "89352cf854770319ae13d8af0a477bb1" + "0823cddc91d7d2e78dd7b9f0cdf6201b" ], [ "HoareSTPolyBind.subcomp", @@ -26,7 +26,7 @@ 0, [ "@query", "equation_HoareSTPolyBind.repr" ], 0, - "2e53fa2cfb89466d058e71b11498a50e" + "975c186c465877be6d0e2b4276162436" ], [ "HoareSTPolyBind.HoareST", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "717f7c05a84af0c28653bd66ab7cf039" + "58bafdc420f3661e2341729eec47c3a6" ], [ "HoareSTPolyBind.HoareST", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "edf6badda62630c787a1990865b09059" + "263896fa4fe3dbb35b2dc74acea30203" ], [ "HoareSTPolyBind.HoareST", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "59a5160979e0e59b24366c12d0f41e9d" + "75475a89fb93c3f6168cc3ea797f3105" ], [ "HoareSTPolyBind.recall", @@ -71,7 +71,7 @@ 0, [ "@query", "unit_typing" ], 0, - "893387dd26020ceaee4982486ac00bc0" + "8d4faa84ef2b6eba40d59aab9fa7155f" ], [ "HoareSTPolyBind.alloc", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5151afd2f368a3f5187c35d73e397270" + "c7842632a1cef9c8d392074e55a8c757" ], [ "HoareSTPolyBind.op_Bang", @@ -98,7 +98,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "895a820e4121740accb4db5fa0d68471" + "a5c3747c4e859c4a3240c2010eaff55a" ], [ "HoareSTPolyBind.op_Colon_Equals", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_87a53fdd47ca86fd63a6af797c1e42d4" ], 0, - "9d67655016de337cb99cba9dc5dc299a" + "efa8be67b4e1e0b1617dd5375e47d725" ], [ "HoareSTPolyBind.bind_pure_hoarest", @@ -137,7 +137,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "44adabae4224fe399c7f7f81ffd0dc5c" + "9cfed1ee2134af329232b6fd535ef5f0" ], [ "HoareSTPolyBind.bind_hoarest_pure", @@ -170,7 +170,7 @@ "typing_Tm_abs_a461ccd55358cee79fe797036ed58fae", "unit_typing" ], 0, - "619411c023195614435f9612dc55f61b" + "ab5e76959bdc3a7baf8da65379d17a8e" ], [ "HoareSTPolyBind.subcomp_pure_hoarest", @@ -195,7 +195,7 @@ "typing_Tm_abs_efcce3c21fe48dce9105b420b0cd535c" ], 0, - "0daa1472e0d604cb0e3bce2756dfa41e" + "1ec815503ed9dcb85c61b2e6fac64560" ], [ "HoareSTPolyBind.17761", @@ -204,7 +204,7 @@ 0, [ "@query" ], 0, - "e83ab5e0110e16d21e2200e103a51014" + "8301289a32c931599b5a8db1afff41b8" ], [ "HoareSTPolyBind.test_subcomp", @@ -213,7 +213,7 @@ 0, [ "@query" ], 0, - "fda41db95e737fc3508a9e9882c66782" + "9103834c0e9f4835ee307cde9a8e1ea1" ], [ "HoareSTPolyBind.test_subcomp3", @@ -222,7 +222,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "2043803a1ca576efa5dccd76097a4a2d" + "8a5020db914c479a0f98c3cb9a59851b" ], [ "HoareSTPolyBind.g", @@ -231,7 +231,7 @@ 0, [ "@query" ], 0, - "88225b0cccb358f78009c761ccbacf71" + "ce6883e059d70b3b16fbb03765390eb1" ], [ "HoareSTPolyBind.pure_g", @@ -240,7 +240,7 @@ 0, [ "@query" ], 0, - "d93809c4f71780d45f051bb0fc294cc0" + "7516f4ed79fa8ded2da2c805a7df2ede" ], [ "HoareSTPolyBind.op_At_Bar", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7ae5eff892810c85df706d9c9f615454" + "17513c249c1bfe4aa468a16363f5ab63" ], [ "HoareSTPolyBind.index", @@ -263,7 +263,7 @@ 0, [ "@query" ], 0, - "e6ba0d1c14df3951098362a21dfc3a4b" + "f0155f9dcab621f3c09150250765ea25" ], [ "HoareSTPolyBind.upd", @@ -284,7 +284,7 @@ "true_interp" ], 0, - "ca7a939453cf3255b73a1f363e6bc5d5" + "ba1d81a49a1394e7f0dcfe41ad50d43b" ], [ "HoareSTPolyBind.length", @@ -293,7 +293,7 @@ 0, [ "@query" ], 0, - "0d5acbc35a8ffb8436a7cda4bf73bf83" + "0de8c57fe53b172edd5cb68c7455103c" ], [ "HoareSTPolyBind.swap", @@ -319,7 +319,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.seq" ], 0, - "80a43bdecaef6e97c4f4f7f2bfbadb72" + "7352b2cfbb2722fc50831a0e49ff1c79" ], [ "HoareSTPolyBind.test_lift", @@ -328,7 +328,7 @@ 0, [ "@query" ], 0, - "d4424a5825055c3d8cb3a35155be5ad7" + "c056cfd7fa0898a8fcbffffcb056d7de" ], [ "HoareSTPolyBind.copy_aux", @@ -370,7 +370,7 @@ "typing_FStar.Set.singleton" ], 0, - "55774c55263f01a8acf8bb8f9d453d71" + "bd839446dffdc1a5f38615f33d7aab15" ], [ "HoareSTPolyBind.copy", @@ -409,7 +409,7 @@ "typing_FStar.Seq.Base.seq", "typing_FStar.Set.empty" ], 0, - "07c9b31df158a2f433eeb6846a98ef1f" + "35abb5f7fefb7ea9c601bc9791b56523" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ID1.fst b/examples/layeredeffects/ID1.fst index a51bac9d869..6f2bca03f59 100644 --- a/examples/layeredeffects/ID1.fst +++ b/examples/layeredeffects/ID1.fst @@ -95,7 +95,7 @@ effect Id (a:Type) (pre:Type0) (post:a->Type0) = effect I (a:Type) = Id a True (fun _ -> True) -open FStar.Tactics +open FStar.Tactics.V2 let elim_pure #a #wp ($f : unit -> PURE a wp) p : Pure a (requires (wp p)) (ensures (fun r -> p r)) diff --git a/examples/layeredeffects/ID1.fst.hints b/examples/layeredeffects/ID1.fst.hints index e716fb6b246..733c48391f0 100644 --- a/examples/layeredeffects/ID1.fst.hints +++ b/examples/layeredeffects/ID1.fst.hints @@ -1,5 +1,5 @@ [ - "Ϫ”¸D\u0003f\t~ÎbÞÓF\tþ", + "í:¯­‹Çi1R€²Rº\u0000p¤", [ [ "ID1.return_wp", @@ -11,7 +11,7 @@ "interpretation_Tm_abs_20f46fae85d769677ea03d385fd1212b" ], 0, - "54c90c71deff99ad90bc0a0e69efa772" + "87a6321f9bddc792451c941ec5947f2b" ], [ "ID1.return", @@ -26,7 +26,7 @@ "token_correspondence_ID1.return_wp" ], 0, - "fc8b0057b51cd215985c998c10964d76" + "cd750bba90a1ce69758a83ea2990397a" ], [ "ID1.bind_wp", @@ -45,7 +45,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "2114f5e3f2dda8de9c47e10f0e6022c1" + "f9c64e3c0dfdd4c9ad52e2b5716e522c" ], [ "ID1.bind", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5458cdb639c5e2a21e09064978059184" + "df7c2f089ff2e6e9097a655c9d5515c4" ], [ "ID1.subcomp", @@ -76,7 +76,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "e154195a194da90d955e4e8588711383" + "823371d5641032e2632bb740da7add58" ], [ "ID1.ite_wp", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_8f3616f433e633e4aaca01cd88926598" ], 0, - "d9ca996d12dbb6cd0910592536b56e48" + "d69796dc49eb05c3ebb072cd640d0975" ], [ "ID1.ID", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "736acab5bd32cb587b30e866b4923ddc" + "112619509f8b5e59131afae3818c7261" ], [ "ID1.ID", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "05c0dbe3ac1c7c2719f5a5d726d45aae" + "80bb40275e1b7ec598382a7368171c0c" ], [ "ID1.ID", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "1937420d475b404e5e96b9bea28e95f4" + "39fa78112e3e00564bd157ae317a18a0" ], [ "ID1.Id", @@ -140,7 +140,7 @@ "l_and-interp", "l_quant_interp_78041fc93dbf8b238989cd676a5806f6" ], 0, - "962f837367a1df52fe6941f13f78a369" + "1efd0730334264c9d7c920948be8ef74" ], [ "ID1.elim_pure", @@ -159,7 +159,7 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "d4858d2f29aa2ddef145e518d5a7b369" + "c81dcd2356fed3d70dd8583b2c5d2d55" ], [ "ID1.lift_pure_nd", @@ -182,16 +182,16 @@ "typing_Tm_abs_79b81c2fcfd8960dbe2503b58f731c34" ], 0, - "97116c1b4d5ac4c76386d86e62aca862" + "d1eb2d18d95ba228b3d9158069562b13" ], [ - "ID1.7579", + "ID1.13969", 1, 2, 1, [ "@query" ], 0, - "d85ef6613832efc6a9158062ea88be51" + "95522832d8084e3851cd385c6107584b" ], [ "ID1.iassert", @@ -204,7 +204,7 @@ "l_and-interp", "l_imp-interp", "unit_inversion", "unit_typing" ], 0, - "32eb7aab25abe88638a0febea557f337" + "5417c89a1f999e1d372c82e79f65f2ac" ], [ "ID1.iassume", @@ -217,7 +217,7 @@ "l_imp-interp", "unit_typing" ], 0, - "1c835294d6b2476c06e1235831ac4453" + "e7b5fe0988c11f8d4cbe4172add137f2" ], [ "ID1.test_f", @@ -230,7 +230,7 @@ "l_and-interp" ], 0, - "ac65ffa5090281c1430b1cabdcc6dbb4" + "cb447b791405c2920cc3dcc13703bdff" ], [ "ID1.test_f", @@ -239,7 +239,7 @@ 1, [ "@query" ], 0, - "dc954163988809fcedc1d8e52472f6b4" + "b652e5051dd6421e917238ac5dae1af0" ], [ "ID1.pmap", @@ -262,7 +262,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "0549cac817d8133df66204a12a4142a7" + "ab7721d6b499fe38c12cc7ad53387a20" ], [ "ID1.fmap", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d580c097516c3c699baa15fbf8f8bb27" + "5136dd34b8799d6fc5ea82bfae3b4cce" ], [ "ID1.callmap", @@ -300,7 +300,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "97faa5439c0017781458c31eeaed279b" + "55afb9661e46b24ee7664b85ddb4ccd8" ], [ "ID1.count", @@ -332,7 +332,7 @@ "well-founded-ordering-on-nat" ], 0, - "86351568ca87ac99fa102872d21b1eb3" + "5383e70ed2391de13a1d4f78dbf0e8cf" ], [ "ID1.pow2", @@ -349,7 +349,7 @@ "well-founded-ordering-on-nat" ], 0, - "9fdc99e705afead6417f275a279bcdfb" + "0debc0795dab1064d94bd001264ff21c" ], [ "ID1.fibl", @@ -368,7 +368,7 @@ "well-founded-ordering-on-nat" ], 0, - "106e0e65aa9b101e3496578790531afa" + "1b2d706697a0da569e5dba76d689c271" ], [ "ID1.fibr", @@ -387,7 +387,7 @@ "well-founded-ordering-on-nat" ], 0, - "2d8a4e113c459fb2539f41bd336ad2be" + "8de82abc2db13c712f3c9eae9cf6a538" ], [ "ID1.fib", @@ -405,7 +405,7 @@ "well-founded-ordering-on-nat" ], 0, - "94602f601b397526c0faf82f393b03c8" + "3bb063f7b16ffb75eaa8678a24eb9662" ], [ "ID1.test_assert", @@ -418,7 +418,7 @@ "unit_typing" ], 0, - "3efe6e68f880fbb31442e03c724a6d6a" + "b1dee3b3cc584023ab269f2ac82310ee" ], [ "ID1.idiv", @@ -436,7 +436,7 @@ "well-founded-ordering-on-nat" ], 0, - "8bd7efc2390d1fde20a56fd7efc247a5" + "d3d28e08c3578bc2a5e6dcdc9d1a9fff" ], [ "ID1.ack", @@ -461,7 +461,7 @@ "well-founded-ordering-on-nat" ], 0, - "1b046ad9fd999a4993e225f064f5aa75" + "788a1fbe2687585275ca6e917c5ef822" ], [ "ID1.add1", @@ -470,7 +470,7 @@ 1, [ "@query" ], 0, - "463e916a11df094fe2c69e4166366b80" + "a89dbdab724da4f4dde3a05c3e406719" ], [ "ID1.sum", @@ -488,7 +488,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2148e51039e764b218934937bb2fbbd3" + "1b074b78f0c59cad313101e796292c60" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ID2.fst.hints b/examples/layeredeffects/ID2.fst.hints index 1079a9c515a..90adf71eb61 100644 --- a/examples/layeredeffects/ID2.fst.hints +++ b/examples/layeredeffects/ID2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "901e7cdcbf8331f1558040b64238285b" + "5d67b1ba7e46642dacf08e305d104f98" ], [ "ID2.bind", @@ -33,7 +33,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "08903e45b02c6f1457630e3fbc82080d" + "3ea92c3ea6e8c281d436e23b1333ba7a" ], [ "ID2.subcomp", @@ -52,7 +52,7 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "59ae98bdf06bc18d21f1d692ec288c26" + "c4e79ee0f5d16c208d509f42ca94d06d" ], [ "ID2.if_then_else_wp", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_4c9fcb91d9b375e2e26411eb85d293f5" ], 0, - "10149c9d2b36deb387cfe4f5350f03dc" + "cfa1706a2a991dde0c0e59a65d0d55ab" ], [ "ID2.ID", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "36b1e4e8716283261993de144435f21a" + "431c495c45da6b93306ce9c0d8b6072c" ], [ "ID2.ID", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "080de21e61ca73ff8c20e604a0b371da" + "2217106617b0ff19fccecddb611eeb88" ], [ "ID2.ID", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "4dc0a6a342395b38cdb00d723659362b" + "fb001fbd9ef2fabdd0636e187421b970" ], [ "ID2.lift_pure_nd", @@ -127,7 +127,7 @@ "typing_Tm_abs_927a276ce23d88dbe79a87bbe56dc445" ], 0, - "e75186d8de9093d14fa942fcd19dceb5" + "03a84c7c6875f58009c8c04370ad8e8d" ], [ "ID2.count", @@ -136,7 +136,7 @@ 1, [ "@query" ], 0, - "6a7595d145fdbc0d8c88c70490deedd0" + "62fb0b1b08914f259d4e12a7784e1199" ], [ "ID2.count", @@ -155,7 +155,7 @@ "well-founded-ordering-on-nat" ], 0, - "700f25ba0bf12d5a53e9f6150abb7662" + "74c912a0c88fbe0141410d3f1f8280dd" ], [ "ID2.test_f", @@ -164,7 +164,7 @@ 1, [ "@query", "int_typing" ], 0, - "23b0ed7ccf0f0cde3c0f9472e0e56572" + "0274757020f8637aa644d8c4d2839c82" ], [ "ID2.test_f", @@ -173,7 +173,7 @@ 1, [ "@query" ], 0, - "6dc41da2a218e912976d109c81a79666" + "e5e35d646dc57ad76b8e80b2458a3451" ], [ "ID2.test_2", @@ -182,10 +182,10 @@ 1, [ "@query", "int_typing" ], 0, - "73d1ff6e9856995649e7133d3770271e" + "ebac7a1ed8f039218b49e496c51b9389" ], [ - "ID2.Id", 1, 2, 1, [ "@query" ], 0, "c9b63160143d0ed69436e170e829b96c" + "ID2.Id", 1, 2, 1, [ "@query" ], 0, "ae24eedc159bf988f83f606aabf67088" ], [ "ID2.sum", @@ -203,7 +203,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "7a7c4816582e99789dfa10c244aa7366" + "92a98ad6fab6c2e8162e2490a820a66f" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ID3.fst b/examples/layeredeffects/ID3.fst index 02b941cd66d..cc15db0a508 100644 --- a/examples/layeredeffects/ID3.fst +++ b/examples/layeredeffects/ID3.fst @@ -71,7 +71,7 @@ sub_effect PURE ~> ID = lift_pure_nd val test_f : unit -> ID int (as_pure_wp (fun p -> p 5 /\ p 3)) let test_f () = 3 -module T = FStar.Tactics +module T = FStar.Tactics.V2 let l () : int = reify (test_f ()) diff --git a/examples/layeredeffects/ID3.fst.hints b/examples/layeredeffects/ID3.fst.hints index 9786a755ea4..6fa5fb340e7 100644 --- a/examples/layeredeffects/ID3.fst.hints +++ b/examples/layeredeffects/ID3.fst.hints @@ -1,5 +1,5 @@ [ - "kû_¶c>±°\u0013h®²2ëa—", + "û\u0002\u0001¸I¯›|ã\u0000I5©Ýõe", [ [ "ID3.return", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "285fe533fc1eefd8ef831075bfc3a959" + "aaa8c052a4b37d11023cb4ec139b78df" ], [ "ID3.bind_wp", @@ -27,7 +27,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "5583a4adb1c3db90d327a84d7580e8f9" + "1ae3524fffaac3431b63e3a86a7a672c" ], [ "ID3.bind", @@ -41,7 +41,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "61006a753e308c9da5e849bddcd5eb64" + "9d00f9c807255f57da5222839e25428e" ], [ "ID3.subcomp", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "ce1ed5b6d18ff0d04090f3dbe0e00f24" + "05dd4cc5f9e260ec7dcd0c4a5155b4a0" ], [ "ID3.if_then_else_wp", @@ -67,7 +67,7 @@ 1, [ "@query", "equation_ID3.w" ], 0, - "2c9873c730ba7f153c814be1c8dde920" + "3beb1c64a559456aba89e2cbb50412cd" ], [ "ID3.ID", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "24d32219a32944769ccd7fd10f0fee81" + "77d239563c8e50a5ada0a76e9218276a" ], [ "ID3.ID", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e8487e6499339625f0a29ee471913731" + "85c4dfaf44a098de45a1d755d6f6991d" ], [ "ID3.ID", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7040d434fe15ce9bc288b230cf2dfef3" + "4c79eb802646b8748da31a52cfe657ea" ], [ "ID3.ID", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "890abd44cac2d2cff3860e625fb43f44" + "027101ab32ebb3937a4da7668dbd55aa" ], [ "ID3.lift_pure_nd", @@ -139,16 +139,16 @@ "typing_Tm_abs_7449511e63cff31881fe505864197781" ], 0, - "cc0e883c20b8989419ec44600ba6c74e" + "d9df2d253c1acb6f5fc483ec3df8c2a8" ], [ - "ID3.5621", + "ID3.10631", 1, 2, 1, [ "@query" ], 0, - "c4ecf59f1f5f5cc9894ec108af3d93a7" + "50d44c8120aaef224cc1c5d524fba82a" ], [ "ID3.test_f", @@ -157,7 +157,7 @@ 1, [ "@query", "int_typing" ], 0, - "71893bc2dcd8534dd49fc93879cc9dc6" + "3131c7167bf12f51466ad758cf5b2c6e" ], [ "ID3.test_f", @@ -166,10 +166,10 @@ 1, [ "@query" ], 0, - "cf288166e477e6846957c9d96d226205" + "82af405668394d0b2d4e13b50a7c5601" ], [ - "ID3.Id", 1, 2, 1, [ "@query" ], 0, "6483e7cc2373b3f01d6f8f62058b6d44" + "ID3.Id", 1, 2, 1, [ "@query" ], 0, "c5162c78a31e6d7ffe70534040f4b33d" ], [ "ID3.sum", @@ -187,7 +187,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "bc5e7c79a29fc3430306f2ff7e15c907" + "fa6b86748cd09125733f25e6e991f30b" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ID4.fst b/examples/layeredeffects/ID4.fst index e9b03c1a30f..dbfae376bfe 100644 --- a/examples/layeredeffects/ID4.fst +++ b/examples/layeredeffects/ID4.fst @@ -114,7 +114,7 @@ effect Id (a:Type) (pre:pure_pre) (post:pure_post' a pre) = effect I (a:Type) = Id a True (fun _ -> True) -open FStar.Tactics +open FStar.Tactics.V2 let br (n:nat) : I bool = if n = 0 then true else false diff --git a/examples/layeredeffects/ID4.fst.hints b/examples/layeredeffects/ID4.fst.hints index 8d94aa69e8a..14e06875d04 100644 --- a/examples/layeredeffects/ID4.fst.hints +++ b/examples/layeredeffects/ID4.fst.hints @@ -1,5 +1,5 @@ [ - ",TüÇËì<È£X ü‡\u0017à¹", + "^&Y=ª \\óDš­=Q\u0010/ ", [ [ "ID4.return_wp", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a4a1e7e288ddebb062bd2d15b68a9e9c" + "97239218bb61b4b13a4bd77fce177292" ], [ "ID4.return", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9ad578d6a8ef67eb3c54d3c05a0d3d52" + "93608cefe36928de47c1f32626be0ef1" ], [ "ID4.bind_wp", @@ -41,7 +41,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "2bda764a4a056f4a95f33815a0535fdd" + "53728dd8dfd11c10e0ffd2aa80dd43ac" ], [ "ID4.bind", @@ -63,7 +63,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "fd365dd90f0899b2ed0d345b9d7e48a2" + "96a726601f78c2e0b7d68e6da4f30fab" ], [ "ID4.subcomp", @@ -83,7 +83,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "91d97855bab192612b31b7bee5f6d2a1" + "2227674524355336265ff5085b452f8b" ], [ "ID4.ite_wp", @@ -92,7 +92,7 @@ 1, [ "@query", "equation_ID4.wp0" ], 0, - "9fbb199b306b838e17a7148b5a67f66b" + "d1f44a5ada26b2896dfc12b435587d85" ], [ "ID4.ID", @@ -111,7 +111,7 @@ "token_correspondence_ID4.ite_wp" ], 0, - "c40c013512b6e428118a27972c542901" + "99e76514abaacf70729a42ceed0af29f" ], [ "ID4.ID", @@ -131,7 +131,7 @@ "token_correspondence_ID4.ite_wp" ], 0, - "eb7a1475573d97554fe683245d42734a" + "febe444a47bbd599907638549dda641e" ], [ "ID4.ID", @@ -151,7 +151,7 @@ "token_correspondence_ID4.ite_wp" ], 0, - "89248451d2251c93329ebe8712d6fecf" + "21b1df4cfdacaf036f3557b83f5dedf3" ], [ "ID4.lift_pure_nd", @@ -176,7 +176,7 @@ "typing_Tm_abs_79b81c2fcfd8960dbe2503b58f731c34" ], 0, - "bc037bbe563c8cf7f659870cb175e133" + "26ef1dc83a6e2d48b63054f8ba392e20" ], [ "ID4.test_f", @@ -193,7 +193,7 @@ "l_and-interp", "l_quant_interp_8eca2b28427a2893fd99e154beceaa7e" ], 0, - "962c92927345b7ca582adaa2d439a601" + "26a7cf7d17c93e396da6b0250bb89d32" ], [ "ID4.test_f", @@ -210,7 +210,7 @@ "l_and-interp", "l_quant_interp_8eca2b28427a2893fd99e154beceaa7e" ], 0, - "26a7f1436fea465235e0fa0a5bc091a2" + "b8c410d17a949b456c83ae8801950e89" ], [ "ID4.l", @@ -226,10 +226,10 @@ "typing_Tm_abs_7abdf5a5f13e7e6a87c8f777c806807b" ], 0, - "ff6125c7ba3e711e86dcf425b29e388d" + "e65cef0158749d373d47a9ee6290eb37" ], [ - "ID4.Id", 1, 2, 1, [ "@query" ], 0, "5659b172d1574bf3c7b4db31eb080874" + "ID4.Id", 1, 2, 1, [ "@query" ], 0, "3b81fbf77d4896fa89535d564baa806c" ], [ "ID4.br", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a4be23bc3127f981bfa11df79f7b89bb" + "c871280bad5350e5155ece1eac598306" ], [ "ID4.add1", @@ -264,7 +264,7 @@ "l_and-interp", "l_quant_interp_070ebadb12b255ab07f1029d953cd596" ], 0, - "ed39f04fa9cae35b155368ad220b1e36" + "4c046317f92ca260f41e90379a746949" ], [ "ID4.count", @@ -297,7 +297,7 @@ "well-founded-ordering-on-nat" ], 0, - "123c2f696a0174dec62af71235d32c03" + "0c1f768554e24afcc40f8e3cb46d1a99" ], [ "ID4.fib", @@ -331,7 +331,7 @@ "well-founded-ordering-on-nat" ], 0, - "9c6da9fbeec8291aa15ef46f0bdb9141" + "2f4d466d8f962e13f9ecc0c8aa535743" ], [ "ID4.idiv", @@ -362,7 +362,7 @@ "token_correspondence_ID4.ite_wp", "well-founded-ordering-on-nat" ], 0, - "1b7c1be4acb4f5b3a06aa2a898bfc5a2" + "08cc3788896d792368d10215549bb6ec" ], [ "ID4.sum", @@ -391,7 +391,7 @@ "true_interp" ], 0, - "407c2ff3208543b483b7ef166612dea9" + "c29f20260998a5afa47a16e93fa404e0" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ID5.fst b/examples/layeredeffects/ID5.fst index 348728c726f..0dfd1eebe47 100644 --- a/examples/layeredeffects/ID5.fst +++ b/examples/layeredeffects/ID5.fst @@ -114,7 +114,7 @@ effect Id (a:Type) (pre:Type0) (post:a->Type0) = effect I (a:Type) = Id a True (fun _ -> True) -open FStar.Tactics +open FStar.Tactics.V2 let lift_pure_nd (a:Type) (wp:wp a) (f:unit -> PURE a wp) : Pure (repr a wp) (requires True) diff --git a/examples/layeredeffects/ID5.fst.hints b/examples/layeredeffects/ID5.fst.hints index 0156aded476..36cf8e8c295 100644 --- a/examples/layeredeffects/ID5.fst.hints +++ b/examples/layeredeffects/ID5.fst.hints @@ -1,5 +1,5 @@ [ - "cU‚\u0013~õ\u0011Š—çT3kMâi", + "îÓ/ S_ãÑâáôñG¯óž", [ [ "ID5.return_wp", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3082e2902264cb4eba0df4abe10197bc" + "a1119ebd96d51816be3d7d6b366bc402" ], [ "ID5.return", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7a91a56727635ae98b8887fcb1d1d775" + "b56dce7b864b070cccf6c985c55c553d" ], [ "ID5.bind_wp", @@ -39,7 +39,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "c8991a070c42e8a6c6479729142c2c0b" + "7152880c82b35ca6195199d75b1c2d03" ], [ "ID5.bind", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a7f7660515b38a5c347276eb603998ef" + "2a573ff40bd2b0977a9f1726214ccbda" ], [ "ID5.subcomp", @@ -71,7 +71,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "9265b9df0195c31d21d4a489198ecacb" + "47564fec0989fcfd7443be432ea5ad4b" ], [ "ID5.ite_wp", @@ -80,7 +80,7 @@ 1, [ "@query", "equation_ID5.wp" ], 0, - "4236289f1b4d9d1c986fe21a5ad47404" + "a5bb219746b373510df5126b21523db2" ], [ "ID5.strengthen_wp", @@ -89,7 +89,7 @@ 1, [ "@query", "equation_ID5.wp" ], 0, - "3b9447db66f4622f80c4dfb5ae569835" + "5d2f4c339c8d6409a9970b14d1c3c1ee" ], [ "ID5.strengthen", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_67874bf75b38796dbef8c49883847dc7" ], 0, - "85f672bd25fd25839637c0e3b2e8bdb1" + "544dba5dad4d774204ffae29c341a3e8" ], [ "ID5.weaken_wp", @@ -110,7 +110,7 @@ 1, [ "@query", "equation_ID5.wp" ], 0, - "e77793498b50e02945a59f5484bcb4f9" + "b0af333e90645e80b1f488648564a833" ], [ "ID5.weaken", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_f20c72935f0fc19b1566d1d1fcdf6d16" ], 0, - "1870832a339dc7ebd7e4f5d761751321" + "e3375aca38bdae9a6c7dcd631ce83f64" ], [ "ID5.cut_wp", @@ -131,7 +131,7 @@ 1, [ "@query", "equation_ID5.wp" ], 0, - "48e408c6ee45d778c80214ca009c55dd" + "2b1d4ea06a724dc0576c9b5a9a6e4a57" ], [ "ID5.cut", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "267ed4fdddeb4c11003aaaeff6483040" + "17cba20d85bc338ab2a58f5ee8bbad64" ], [ "ID5.ID", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "23b14e3d20b0064a87f3c0792cbc5d81" + "7f84b5913fa65bd3d875eef47b9ebd5b" ], [ "ID5.ID", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "914706e27d06034022ff07a68417f97a" + "204e6c1b0bac3da74fcac5cf6ca426e8" ], [ "ID5.ID", @@ -179,10 +179,10 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "f2d5492a5e5ce6bd655568d39662ef18" + "86439b15b83d1247615c432e52734460" ], [ - "ID5.Id", 1, 2, 1, [ "@query" ], 0, "8c55dfb349d87d038745c29e8f6ec2ce" + "ID5.Id", 1, 2, 1, [ "@query" ], 0, "f3902880d0d1fe490b78f1c6787ec33f" ], [ "ID5.lift_pure_nd", @@ -194,16 +194,16 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "900716756bd29d67dff6937e06c3dbab" + "24aef71f772506ddf79a83eea437de9e" ], [ - "ID5.10285", + "ID5.19165", 1, 2, 1, [ "@query" ], 0, - "f728e6897d278838653627b10168095e" + "0610903878a1f02386d434a0aa71cd63" ], [ "ID5.apply", @@ -212,7 +212,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "7756b600a62b5556826f9b66143b460b" + "10182e84a943208aa69366e41b79272f" ], [ "ID5.iassert", @@ -221,7 +221,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion", "unit_typing" ], 0, - "a9588545b96bcc173a32a7a6615ff49f" + "4c338cb62d008d7aa0cc0fbe75ed422b" ], [ "ID5.iassume", @@ -230,7 +230,7 @@ 1, [ "@query", "unit_typing" ], 0, - "9571dc3773a4d1bc421327f4002c405b" + "6c67852e129aae3dc66f59feebad6d5e" ], [ "ID5.test_f", @@ -239,7 +239,7 @@ 1, [ "@query", "int_typing" ], 0, - "b50a05fe9d67228387f66c06f45b54ab" + "62f93d2a0add9a403bc1af4726d70b1b" ], [ "ID5.test_f", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "73bdee17b6244af7e8c96f9dad6e34f2" + "8b2989fa7c15286bd49517175a1226ff" ], [ "ID5.map", @@ -271,7 +271,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "dea1c0dfd398cb12cceb961fd2aea6c1" + "22aff089d5862c519718924e40dd4928" ], [ "ID5.fmap", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fae48dd85d3b3be91e2b147f408583da" + "f74fbd15a797e9eec6fad04d76f80004" ], [ "ID5.callmap", @@ -309,7 +309,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3ccd6478afa4b4f230ed2732abb2b19f" + "7cffe416be6a240e495138904041bd05" ], [ "ID5.count", @@ -326,7 +326,7 @@ "well-founded-ordering-on-nat" ], 0, - "91d17d9d566dc31392aff7376a9dcf0e" + "da2dd6689f39dd8d5ebd01a956cdb913" ], [ "ID5.pow2", @@ -343,7 +343,7 @@ "well-founded-ordering-on-nat" ], 0, - "7dbefd4026373e3fc52a7c6df0799fe0" + "592bd3334dc30e83c68fdf7e4f769ff1" ], [ "ID5.fibl", @@ -362,7 +362,7 @@ "well-founded-ordering-on-nat" ], 0, - "046531a34e1b13614c744030b8819bfb" + "1fb5044d39c83ae5f8b3bfc61be741ce" ], [ "ID5.fibr", @@ -381,7 +381,7 @@ "well-founded-ordering-on-nat" ], 0, - "054b93f141d6d8ff4af1645c14f98bd4" + "6d95ef960339238095ccd27118ab5d13" ], [ "ID5.fib", @@ -399,7 +399,7 @@ "well-founded-ordering-on-nat" ], 0, - "03b56fdf5a1f99b075bbff8fe81547d9" + "5c765cbd7191fa13f70ce2a3076c4173" ], [ "ID5.test_assert", @@ -408,7 +408,7 @@ 1, [ "@query", "unit_typing" ], 0, - "0bff365cd817a4db593ebddeb1a4a446" + "243d8904df4b31db63b6ed884f213f9a" ], [ "ID5.idiv", @@ -427,7 +427,7 @@ "well-founded-ordering-on-nat" ], 0, - "2fd34bd4e446f900e3b72ba3c46077bd" + "5935b2a4edb780beda06ccbd03217c4b" ], [ "ID5.ack", @@ -452,7 +452,7 @@ "well-founded-ordering-on-nat" ], 0, - "fc54d3b33d76c3dfa0dcff3c58aa6a71" + "ebd5cc386e133efea0f357621c00f9d2" ], [ "ID5.add1", @@ -461,7 +461,7 @@ 1, [ "@query" ], 0, - "a53867c60e5c7333e07c740bdd2fe830" + "93ada581cc438dd4673af87bf85b3b07" ], [ "ID5.sum", @@ -479,7 +479,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "670a44d7412b8e3e39413c705ff3e9f5" + "1a8f06b12b59a3eab84c2e2b4bffe152" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/IteSoundness.fst b/examples/layeredeffects/IteSoundness.fst index ba665e630b8..82a79dc2911 100644 --- a/examples/layeredeffects/IteSoundness.fst +++ b/examples/layeredeffects/IteSoundness.fst @@ -26,7 +26,7 @@ module IteSoundness * effects if-then-else combinator using a tactic *) -open FStar.Tactics +open FStar.Tactics.V2 let unit : Type0 = unit irreducible let an_attr : unit = () diff --git a/examples/layeredeffects/IteSoundness.fst.hints b/examples/layeredeffects/IteSoundness.fst.hints index b2382696684..aec13fd4bac 100644 --- a/examples/layeredeffects/IteSoundness.fst.hints +++ b/examples/layeredeffects/IteSoundness.fst.hints @@ -1,5 +1,5 @@ [ - "@ôã\u001eŽ\u0007à}\u0018oª]¥áeP", + "·\u001e\u0001H\u0003O—Z´F;Y%”§\u0018", [ [ "IteSoundness.return_wp", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cacc1a61f4ef63086894854648d45fc6" + "4a1ff612ae303a0436d2c79a191b9a85" ], [ "IteSoundness.return", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c0ae50f62094604f7c1f9b2ebc879f86" + "1030e3d15c899b233ff31b0fe4a2789c" ], [ "IteSoundness.bind_wp", @@ -36,7 +36,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "f0d8489d408f1fd96b0fc9ba2482f1e0" + "0263db8f8d4c5bbe6193b295ce3fb277" ], [ "IteSoundness.bind", @@ -60,7 +60,7 @@ "typing_Tm_abs_e93a7dc38d53ba477737b29daf01ffde" ], 0, - "e4633aeaba1e4708c90f75ddc50ece29" + "570d705369e44d9751558a3719e97c20" ], [ "IteSoundness.subcomp", @@ -69,7 +69,7 @@ 1, [ "@query" ], 0, - "0f20b81f23fff24d749676a12621fe58" + "38060b40e95ab8870e5e3c7314f0059d" ], [ "IteSoundness.ite_wp", @@ -78,7 +78,7 @@ 1, [ "@query" ], 0, - "f8cf6cdc28db8e5c46c8ad2376fc939b" + "780b06841a7955bac2316521c7727d75" ], [ "IteSoundness.mtac", @@ -91,7 +91,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "693d518c9158cddcaf8af42a273dd588" + "3bb960da7c0eb3652523f1651664d616" ], [ "IteSoundness.MPURE", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b45273a92dd6090d6eb3cc6fcbd8dcae" + "e8f533e0682f3c56570b0bad8c885eca" ], [ "IteSoundness.MPURE", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4b5dcd985dbfb7706a6eddfec11145ba" + "085c460623560b6c827e5f762229decd" ], [ "IteSoundness.MPURE", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "3a1159b8a137da41ab64827d0d8d8afc" + "84760e0256ef25a4262ef80df9e1a4d5" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LL.fst.hints b/examples/layeredeffects/LL.fst.hints index 5742c13319b..0a98aedb645 100644 --- a/examples/layeredeffects/LL.fst.hints +++ b/examples/layeredeffects/LL.fst.hints @@ -18,7 +18,7 @@ "true_interp" ], 0, - "076f52c864a1fa20694737849b4d1f15" + "86ff2d6ec73c07bd2da33d43e7becc1e" ], [ "LL.ereturn", @@ -30,7 +30,7 @@ "data_typing_intro_FStar.Pervasives.Native.Some@tok" ], 0, - "4d90aa51d17e70436ef072bb001dd509" + "fedf82e31369740e91e62e06bd439361" ], [ "LL.ebind", @@ -64,7 +64,7 @@ "typing_Tm_abs_a02e05ea16a99e9d3b9fd1c4810e0eb5" ], 0, - "58a8fc726576f9d01ed41ca3c4aa00cc" + "e5f98baa01aeb53bb88bc8518c9402b8" ], [ "LL.esubcomp", @@ -88,7 +88,7 @@ "typing_Tm_abs_be11597b2d168a82e859ce42bbc6f504" ], 0, - "d1df3865d56dea4ae5ee5ddb3db563e8" + "5843ab769cea1ec4253f08d0b676471c" ], [ "LL.eif_then_else", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_c85b4687a869e34ffc6f0b5f631d61d0" ], 0, - "777bbd43bd4cf0669aa589040619b964" + "8990507845993fdd3f25811a73c35580" ], [ "LL.EXN", @@ -112,7 +112,7 @@ "data_typing_intro_FStar.Pervasives.Native.Some@tok" ], 0, - "6f3b544ecd874976388038040a0e2efc" + "e4989c53eb49f83bffca3a877c389563" ], [ "LL.EXN", @@ -135,7 +135,7 @@ "typing_Tm_abs_a02e05ea16a99e9d3b9fd1c4810e0eb5" ], 0, - "8541808b45b7917c25dc5e47a0ec7b7c" + "c4b56c347a6acef508e84f6e1523e9db" ], [ "LL.EXN", @@ -158,10 +158,10 @@ "typing_Tm_abs_a02e05ea16a99e9d3b9fd1c4810e0eb5" ], 0, - "9bcf654a2c882593a17d29fd06925a79" + "74e6bd2f8343d41bdad13232725f0d12" ], [ - "LL.EXN", 4, 2, 1, [ "@query" ], 0, "d889bcb511bdcff883be49eb3e77d4bf" + "LL.EXN", 4, 2, 1, [ "@query" ], 0, "193ba0688c8f473f236f4e4f7429801b" ], [ "LL.EXN", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_c85b4687a869e34ffc6f0b5f631d61d0" ], 0, - "61f76878476ca017122e59c3eaf26b74" + "655227e79a626677b873a0baa41e6386" ], [ "LL.EXN", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_c85b4687a869e34ffc6f0b5f631d61d0" ], 0, - "77cd08e2f4ad7a3b384b13ac99d4e76a" + "a5bd75b831f2ec54a8af14a01fd78915" ], [ "LL.EXN", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_c85b4687a869e34ffc6f0b5f631d61d0" ], 0, - "66e8dd98da34f83344feec98838d1f2b" + "43bbf70b5c690f414ed706980c26d1f4" ], [ "LL.EXN", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "877a43255b676fdadce59df3dc2ed9ae" + "c037729fe465da27e2c3002f3ff0c94d" ], [ "LL.EXN", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "26860fd4eb971efa4e3ed035d569ab53" + "067503bb2b5b45505419ff94fb8b1d4c" ], [ "LL.EXN", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "61cd5aae7760be9f5719ce1a3a807e50" + "3f08a2beb6f590262cc2fde26fcff3fd" ], [ "LL.lift_pure_wp", @@ -255,7 +255,7 @@ "typing_Tm_abs_d954c14e39c7f4cea5286704868608dd" ], 0, - "f1b575e550eea8c87fbeb067e7eb0445" + "1c3a2b1dfbe6e4cc7e6e8ee43571b99b" ], [ "LL.lift_pure_exn", @@ -276,10 +276,10 @@ "typing_Tm_abs_f8b0b9e8f3a99f63623b5369b8cdb122" ], 0, - "6774235bae1a5011a24d17fadc4354f8" + "75173597f6e39b3d3f8361febd4e5b51" ], [ - "LL.Exn", 1, 2, 1, [ "@query" ], 0, "4a36e98bc24ae29bb660d54bacee1a66" + "LL.Exn", 1, 2, 1, [ "@query" ], 0, "fa79dd54a6183be238c969a07b9885ef" ], [ "LL.get_n1", @@ -296,7 +296,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e533fdaba1fa34aadf2ee5c3122f5c32" + "71574c3562cbf98feb09b48080dda1f7" ], [ "LL.flt", @@ -310,7 +310,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d090e50e1245912085f37b282abd0396" + "ec4aa49a7bd36bf19b60b54ce2126d04" ], [ "LL.get_flt", @@ -338,7 +338,7 @@ "refinement_interpretation_Tm_refine_70804d23317f86fe387e3e5e5532e8f2" ], 0, - "7767e75e029f2d691af595590d60d787" + "ced84bac8c986cdcc3d249721a210317" ], [ "LL.get_n1_exn", @@ -356,7 +356,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6d53ab999d69b812510db0aef1a1d064" + "ac2c453e3c750ceef82eab495fd2b7d4" ], [ "LL.get_flt_exn", @@ -388,7 +388,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5801d41d33ccbdc96423ca8c89fc9cc8" + "fa036854c6c2288f3f3efdd3108b2f9a" ], [ "LL.repr", @@ -402,7 +402,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "df4a8ba1d6835761b42adaa2a035be6d" + "5dba9146abbac158dbb9a0a627426aa3" ], [ "LL.return", @@ -417,7 +417,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b43214e83636638dbf9d991e22a0cbc4" + "ddc4053d5845eda843767906077e0016" ], [ "LL.post_a", @@ -435,7 +435,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "8016e5c815830d203849539f5ddc0578" + "b2d58e386f6f96f94c15496f444ce47f" ], [ "LL.bind_wp", @@ -463,7 +463,7 @@ "typing_Tm_abs_69dc43d163913871c2e8b8303515bed7" ], 0, - "b68587d1859d3136b92fb8b23752067e" + "19164b108c7d8c0acd0af30980fd0f05" ], [ "LL.bind", @@ -487,7 +487,7 @@ "typing_Tm_abs_fc090c2ac45f75d0305c4f1b38ce3d78" ], 0, - "d77f4561383be8e624cc6d78a712923e" + "f88ef79584eb774dc354d7c5119de63d" ], [ "LL.subcomp", @@ -502,7 +502,7 @@ "equation_Prims.nat" ], 0, - "eab51828a86e2a3d4d7079677020fb12" + "308b06f8ee8f6146673082027d4cc9af" ], [ "LL.if_then_else", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8bc94dccd2395b7d71a83d9c1caf5938" + "13cda863956448bb91aa99022f8ea3b8" ], [ "LL.STEXN", @@ -531,7 +531,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6f276e457846e20eb7e8a33530f0a299" + "44380cebe34193a71919fdb927d27170" ], [ "LL.STEXN", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "6197aae086fe8271e87acdb95925d1bd" + "fa4cc02c54303b54d43da9e4a1acb0e6" ], [ "LL.STEXN", @@ -557,7 +557,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6c863617e989bc3b94c7f48c8a045c47" + "faa359bf20a774c6b7752941db08c3a2" ], [ "LL.STEXN", @@ -571,7 +571,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4a7dbef5fc267e5da2f5043eb077576f" + "8d2a82e285a1e426e47e3f05112b5db3" ], [ "LL.STEXN", @@ -586,7 +586,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dc7c9692ebd80a97e9efe57549063ef1" + "6600a89780d0687dd117489b58572713" ], [ "LL.STEXN", @@ -598,7 +598,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1ee1e854c6410c8cf14f3cd6fb2cc523" + "95acc1b60aaa6dc152d2fe46c3532ad3" ], [ "LL.STEXN", @@ -613,7 +613,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "6a6439474c01d446f7195aaeeffc5574" + "0d1bfa012597226c4d2ee5328a86c735" ], [ "LL.STEXN", @@ -625,7 +625,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "ae6c4212b4c1b266a4a6a2ac9d4f66cf" + "dce4d427d8d18c2836145734df5bbfe3" ], [ "LL.lift_pure_wp_stexn", @@ -649,7 +649,7 @@ "typing_Tm_abs_455ec25b3caead5c9e831a867e7622dc" ], 0, - "b52d45078a381cbf9317ec08a3e63626" + "a9b4512e13b9d2c415f585c6a9ab9015" ], [ "LL.lift_pure_stexn", @@ -672,7 +672,7 @@ "typing_Tm_abs_455ec25b3caead5c9e831a867e7622dc" ], 0, - "93cf1c679be393ec3f1d435f0ea1505e" + "54841539620856211db6d6c39fa506d3" ], [ "LL.StExn", @@ -681,7 +681,7 @@ 1, [ "@query" ], 0, - "fea3ab610999ae3fc3c3d9fa1437f947" + "b514f94b196cf00250583d374afc81b5" ], [ "LL.get_n1_stexn", @@ -699,7 +699,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "84b477108be42ef654fd782bb1af8190" + "748dbd0428491212a5310daba395b9b6" ], [ "LL.get_flt_stexn", @@ -735,7 +735,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "624b5026e0f56394e6a9beae62cfb764" + "63f087bde0d08d272eb3c83984429f32" ], [ "LL.get_flt_stexn_reified", @@ -753,7 +753,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "19001a8300e1eb9285e60f93043c8162" + "bf539599a8d80c5549dd38057891019c" ], [ "LL.main", @@ -770,7 +770,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5e482a9833cd0b3f9a774689f67f905b" + "7853a42440fb5cd32ae1a89c82d32bf8" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Lattice.fst b/examples/layeredeffects/Lattice.fst index 880b310843a..5b7c3e1d42a 100644 --- a/examples/layeredeffects/Lattice.fst +++ b/examples/layeredeffects/Lattice.fst @@ -1,6 +1,6 @@ module Lattice -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot // GM: Force a type equality by SMT diff --git a/examples/layeredeffects/Lattice.fst.hints b/examples/layeredeffects/Lattice.fst.hints index 24ae771003a..622d9afffc2 100644 --- a/examples/layeredeffects/Lattice.fst.hints +++ b/examples/layeredeffects/Lattice.fst.hints @@ -1,5 +1,5 @@ [ - "»ì^tN¼Ìø\u0000\"Ç’`ѹÐ", + "ºòÐvkn§†\u0011é=Ÿ5ÞÎ", [ [ "Lattice.coerce", @@ -11,22 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "eee4616c87df7074d1d1b556fdd358d1" - ], - [ - "Lattice.abides", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.l_imp", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "26b4dcd699e3198825213c40e5fee0f1" + "8c102502c5d7a8643719397472ac5bd0" ], [ "Lattice.interp", @@ -35,7 +20,7 @@ 1, [ "@query", "assumption_Lattice.eff_label__uu___haseq" ], 0, - "00ed8b0580a89c4bdadd8a7374e0f8f3" + "3fb14fd447a64d4cfed70d7eca2feffe" ], [ "Lattice.interp_at", @@ -79,7 +64,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "d90d76e4792870670d4d1d0bb3b6622a" + "57576951385111de62179b6a68443a7a" ], [ "Lattice.sublist", @@ -88,7 +73,7 @@ 1, [ "@query", "assumption_Lattice.eff_label__uu___haseq" ], 0, - "d21ca64013b229b03dcd1cc15857bffd" + "9a9484034e3ef0a5be5cc3b07d273f0b" ], [ "Lattice.sublist_refl", @@ -97,7 +82,7 @@ 1, [ "@query", "equation_Lattice.sublist" ], 0, - "d27a41e61ed5aac9ed04865b62d85d8c" + "43e55cbc816eac68a71531bba20bdc4c" ], [ "Lattice.interp_sublist", @@ -130,7 +115,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "c0f95c4581412b4b80142771f125d557" + "59815851d25f06b2505e7704c80b1522" ], [ "Lattice.sublist_at", @@ -165,21 +150,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "349747a4bf2f38ed1b0d99ee469397a2" - ], - [ - "Lattice.ann_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "10009b31480f438a0fdddf9550b4108d" + "318412b452938f631d5daac56a3e8194" ], [ "Lattice.return", @@ -205,7 +176,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "1ed0c79b8a5153d78ad2981d27c8af18" + "242b32c3de5a89a9a7d6d2d7d0a705d9" ], [ "Lattice.bind", @@ -266,7 +237,7 @@ "typing_tok_Lattice.WR@tok" ], 0, - "d4d847f5b3ddbd89df53519de7f60d41" + "d344ec805f305c3caabb20797d2ac879" ], [ "Lattice.subcomp", @@ -290,7 +261,7 @@ "typing_tok_Lattice.RD@tok", "typing_tok_Lattice.WR@tok" ], 0, - "9b965c18912b0012833d4e375ccff97d" + "9467c30f16a9d59ed1bc7d0da7597748" ], [ "Lattice.EFF", @@ -299,7 +270,7 @@ 1, [ "@query", "lemma_Lattice.sublist_at" ], 0, - "dd83aca61fa3585b8a7068d6daacee37" + "92dceeb401ca34ecb8699b0cfcbbbf96" ], [ "Lattice.EFF", @@ -308,7 +279,7 @@ 1, [ "@query", "lemma_Lattice.sublist_at" ], 0, - "69bc3b028fa21c790f881113ab9a806a" + "bbd1199da317b855ae7460531ac9e9ef" ], [ "Lattice.EFF", @@ -317,7 +288,7 @@ 1, [ "@query", "lemma_Lattice.sublist_at" ], 0, - "f0ccd8e1747f35426bee87eef6e234a9" + "164bdee3f9d378ef8a92f358a59deef9" ], [ "Lattice.lift_pure_eff", @@ -343,16 +314,16 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "46aac00011c07c1b073f86a6d6bde1e9" + "54a61be48fd6cde2eaacc2336f24afae" ], [ - "Lattice.9959", + "Lattice.31259", 1, 2, 1, [ "@query" ], 0, - "515b5fa6f9711f98c6eedd16fb5cfcf2" + "2b8041bc6480dbf9fa7177a0399858e3" ], [ "Lattice.get", @@ -393,7 +364,7 @@ "typing_tok_Lattice.RD@tok" ], 0, - "440634c795b0ccdd68e32124f387858d" + "312941a855d27a483a395bedd5afa973" ], [ "Lattice.put", @@ -436,7 +407,7 @@ "typing_tok_Lattice.WR@tok" ], 0, - "c5089bac353b4f0b527ec261a271b602" + "298ce2ca821081ea2dcfe05c04fadc10" ], [ "Lattice.raise", @@ -483,7 +454,7 @@ "typing_tok_Lattice.EXN@tok" ], 0, - "93c6b1c8d817d9e4f57065b31c5fc490" + "05b18ba357666c191988c8c196d39060" ], [ "Lattice.test0", @@ -510,7 +481,7 @@ "typing_tok_Lattice.RD@tok", "unit_typing" ], 0, - "83f99caecdf8f3053e936068e4c838a2" + "73b7f84296054e74c4adc36d97897bc7" ], [ "Lattice.test1", @@ -544,7 +515,7 @@ "typing_tok_Lattice.WR@tok", "unit_typing" ], 0, - "06a040db4af8bd2ee959969ace9223e3" + "ecc47dde8f3f4ae003aba806b9ae6ff6" ], [ "Lattice.sublist_at_self", @@ -557,7 +528,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5ada8a35add636e5d628ae061eb35120" + "5dd10b70f56825e34d6b849a43265607" ], [ "Lattice.labpoly", @@ -570,7 +541,7 @@ "lemma_Lattice.sublist_at_self" ], 0, - "3301bf7de20554391145211523df2672" + "0b9023fd32c77f1065930c7165ffa8b5" ], [ "Lattice.catch0", @@ -630,7 +601,7 @@ "typing_tok_Lattice.WR@tok" ], 0, - "a464893df40cfae1fb72a0a61070e96a" + "474978e65b0cdeee305680799ad10a2f" ], [ "Lattice.g", @@ -651,7 +622,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d17f51f40beafb58da48ab04a1a2d4bb" + "1af748a8ee81dfe031ae1162c3185272" ], [ "Lattice.test_catch", @@ -678,7 +649,7 @@ "unit_typing" ], 0, - "21733d093e58425237e86d61bc07e657" + "4d327a5d379ab56e1bfb59156e7e466c" ], [ "Lattice.test_catch2", @@ -705,7 +676,7 @@ "typing_tok_Lattice.WR@tok", "unit_typing" ], 0, - "6a261b842b4539e35d3ae666c6860d4e" + "1e80913a4b0e6db290e13bf13a715ab1" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LatticeEff.fst b/examples/layeredeffects/LatticeEff.fst index 02e19e99acd..73336aeb6c6 100644 --- a/examples/layeredeffects/LatticeEff.fst +++ b/examples/layeredeffects/LatticeEff.fst @@ -1,6 +1,6 @@ module LatticeEff -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot open FStar.All module H = FStar.Heap diff --git a/examples/layeredeffects/LatticeEff.fst.hints b/examples/layeredeffects/LatticeEff.fst.hints index ee043a0d14a..518b75916e1 100644 --- a/examples/layeredeffects/LatticeEff.fst.hints +++ b/examples/layeredeffects/LatticeEff.fst.hints @@ -1,5 +1,5 @@ [ - "Mx¨\u0014¼ô©ƒú5\u000ef}E \u000f", + "×F`q5*Ì\u0003NÛòÙ‡€Éû", [ [ "LatticeEff.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "e860f9c793624ef51cc674b3f66912cf" + "d794f4ffb2a7f3a1f30dc77bcb410871" ], [ "LatticeEff.interp", @@ -20,7 +20,7 @@ 1, [ "@query", "assumption_LatticeEff.eff_label__uu___haseq" ], 0, - "4070f5764995720eccb9ebb146477873" + "67ec970c72a3917d9349d6108e2673c3" ], [ "LatticeEff.interp_at", @@ -65,7 +65,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "2e5c95ca2b254bdbd393f770d15d315f" + "cb38b4cbe5c6cc4a09b9e500494cdf9d" ], [ "LatticeEff.sublist", @@ -74,7 +74,7 @@ 1, [ "@query", "assumption_LatticeEff.eff_label__uu___haseq" ], 0, - "6dfb68b1428ed5f325ae6d303cb74800" + "03e72596ad58049225ccfaea772b59d6" ], [ "LatticeEff.sublist_refl", @@ -83,7 +83,7 @@ 1, [ "@query", "equation_LatticeEff.sublist" ], 0, - "8116ac24bbf72b38b554eeb485b0bd15" + "1ae0d3475e0b3badab2aaa2ef5b142f3" ], [ "LatticeEff.interp_sublist", @@ -117,7 +117,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "f4eccd6caa049e84a16f9487839f24df" + "5955b136640ed8a3da908abc37d33318" ], [ "LatticeEff.sublist_at", @@ -153,21 +153,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "fffca78fe9013d95e41c333bee5edb53" - ], - [ - "LatticeEff.ann_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "1d7f20ee1ed9697ebaac376f4fdff664" + "285ad5bacd22410aa4152196b818831c" ], [ "LatticeEff.return", @@ -187,7 +173,7 @@ "token_correspondence_LatticeEff.wpof2" ], 0, - "03e6229f1160816a63cceb94e0a9abb0" + "4be80d9e89d373a7917eae809ebd79ab" ], [ "LatticeEff.bind", @@ -236,7 +222,7 @@ "typing_tok_LatticeEff.WR@tok" ], 0, - "c01babea21313d3d97b2e6f997d4033a" + "f946992cd5dd3d5130fa3d542eb55976" ], [ "LatticeEff.subcomp", @@ -264,7 +250,7 @@ "typing_tok_LatticeEff.EXN@tok", "typing_tok_LatticeEff.WR@tok" ], 0, - "e2b06f88aaf2a562ce621e96235f8f06" + "80ab443998dcfc1713bddf04fa5d27a8" ], [ "LatticeEff.EFF", @@ -273,7 +259,7 @@ 1, [ "@query", "lemma_LatticeEff.sublist_at" ], 0, - "bd9dcf4be9ffc16b4c62c0b8f61f4175" + "ec5252ab2a21180a671e899bc093c980" ], [ "LatticeEff.EFF", @@ -282,7 +268,7 @@ 1, [ "@query", "lemma_LatticeEff.sublist_at" ], 0, - "c57f631997f96378be880ca11bb236be" + "14ac92f19fb9c67ef3b1d68d062ed0d3" ], [ "LatticeEff.EFF", @@ -291,7 +277,7 @@ 1, [ "@query", "lemma_LatticeEff.sublist_at" ], 0, - "b1a78a574a1af7461f4d6420b8875806" + "69daa2961911e9993c1e4f9261d09584" ], [ "LatticeEff.lift_pure_eff", @@ -322,16 +308,16 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "d5e268090e5ace03fee067ba76d95a36" + "461da87221b3febbf1c68690358d87d1" ], [ - "LatticeEff.8816", + "LatticeEff.28985", 1, 2, 1, [ "@query" ], 0, - "8d5b3689b5a75988a5370a01fba2c0dd" + "ace7dc27705c77ba6220075d2b17357c" ], [ "LatticeEff.get", @@ -352,7 +338,7 @@ "token_correspondence_LatticeEff.wpof2" ], 0, - "ba3c3ef3460a97b078237be772b2693b" + "aa7c1b55c1f601a5a2ff21a4c2059636" ], [ "LatticeEff.op_Bang", @@ -377,7 +363,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "f003b76f99e497fbe3d19a96777932bf" + "00056d0151603b4d60f29a0fe057c896" ], [ "LatticeEff.op_Colon_Equals", @@ -419,7 +405,7 @@ "typing_tok_LatticeEff.WR@tok", "unit_inversion", "unit_typing" ], 0, - "0690892ec34113e92a4f7b2fa7de5480" + "58f1246ad51847eb78ae686776db21e0" ], [ "LatticeEff.put", @@ -458,7 +444,7 @@ "typing_tok_LatticeEff.WR@tok", "unit_typing" ], 0, - "9b587c4df279e3031fd680fe5c94ac56" + "4e5e8de1553cf8f11d2e5d517ed7ac43" ], [ "LatticeEff.raise", @@ -489,7 +475,7 @@ "typing_tok_LatticeEff.EXN@tok" ], 0, - "e51b7771a09c8f321b07193606c39da2" + "95a8bcab58a6d551d3a579bbdb8bce82" ], [ "LatticeEff.test0", @@ -513,7 +499,7 @@ "unit_typing" ], 0, - "971afa588278004b7c21f60aac374907" + "33b7a608bcb420255c075918ebe40586" ], [ "LatticeEff.test1", @@ -541,7 +527,7 @@ "typing_tok_LatticeEff.WR@tok", "unit_typing" ], 0, - "3bd7ff9985e91c67215cc0e19cab12ef" + "286ba518955ccf6b6d0f21ea60d1d36a" ], [ "LatticeEff.sublist_at_self", @@ -554,7 +540,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5c66929c8897399b39e14fa861d4a343" + "e5bd2e3016b330051bc73624058e2eab" ], [ "LatticeEff.labpoly", @@ -567,7 +553,7 @@ "lemma_LatticeEff.sublist_at_self" ], 0, - "380536f22e694cb503d48a8e37bd1adc" + "d709096b12baf8200b9bf6ad1f2dd6b0" ], [ "LatticeEff.catch", @@ -604,7 +590,7 @@ "typing_tok_LatticeEff.EXN@tok", "typing_tok_LatticeEff.WR@tok" ], 0, - "352886e62c2fb8727bbb91df4ac4abfa" + "9020121085f0d7e81d1d0df181835038" ], [ "LatticeEff.g", @@ -627,7 +613,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "389761dda9fb7d2372ba7580cccda73f" + "c8c9a8f55df00ebd460f9ae03a282062" ], [ "LatticeEff.test_catch", @@ -656,7 +642,7 @@ "unit_typing" ], 0, - "2662b2975ca0fd245ec91a8e69605885" + "db40482386bcfe5da9ad87129efd7fa3" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LatticeSpec.fst b/examples/layeredeffects/LatticeSpec.fst index a8bc6c7bf62..b1e09ba3466 100644 --- a/examples/layeredeffects/LatticeSpec.fst +++ b/examples/layeredeffects/LatticeSpec.fst @@ -1,6 +1,6 @@ module LatticeSpec -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot // GM: Force a type equality by SMT diff --git a/examples/layeredeffects/LatticeSpec.fst.hints b/examples/layeredeffects/LatticeSpec.fst.hints index dee9173728d..4e30e4c5a26 100644 --- a/examples/layeredeffects/LatticeSpec.fst.hints +++ b/examples/layeredeffects/LatticeSpec.fst.hints @@ -1,5 +1,5 @@ [ - "—E\u001a\u0001&vgGržV\rÃÞe¯", + "˜)çÀdIIöIU<\u0017ZY=\u001d", [ [ "LatticeSpec.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "eee4616c87df7074d1d1b556fdd358d1" + "8c102502c5d7a8643719397472ac5bd0" ], [ "LatticeSpec.interp", @@ -20,7 +20,7 @@ 1, [ "@query", "assumption_LatticeSpec.eff_label__uu___haseq" ], 0, - "95448045c1489d39bc027fecda5a5b13" + "f0a3d1dc72911c568308a0e802eed7dd" ], [ "LatticeSpec.interp_at", @@ -65,7 +65,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "4d18ea1fb3427813728059383b7cf16e" + "50bbfb1a09634e5f061c4e94a61f0d15" ], [ "LatticeSpec.sublist", @@ -74,7 +74,7 @@ 1, [ "@query", "assumption_LatticeSpec.eff_label__uu___haseq" ], 0, - "8f7f1aae4b6fb32d0debe21f88abc124" + "e975010c8614010de38b6b4f5d0a3bce" ], [ "LatticeSpec.sublist_refl", @@ -83,7 +83,7 @@ 1, [ "@query", "equation_LatticeSpec.sublist" ], 0, - "2140c8eb928b2b64efa810c9925bfd13" + "4206875c1fd6453db92171036a52a181" ], [ "LatticeSpec.interp_sublist", @@ -117,7 +117,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "f4b287635597282aeb521e5fcb6ee6a9" + "1a6dd82133cecf342a90362b3d96db45" ], [ "LatticeSpec.sublist_at", @@ -153,7 +153,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "1522e454453165347121b61ed403b987" + "ee8cb0ab34ec84b4b39b1f4f5741e422" ], [ "LatticeSpec.return", @@ -178,7 +178,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "bd9e370c68b5dbcfd435c02563271ea8" + "8ec46eb2797fdad216748ddd21a0ea22" ], [ "LatticeSpec.bind", @@ -253,7 +253,7 @@ "typing_tok_LatticeSpec.WR@tok" ], 0, - "9a3f965135b1e428f0dd1fc8e6e8c9ba" + "1418445c42d927f72a83eea29f6b0989" ], [ "LatticeSpec.subcomp", @@ -294,7 +294,7 @@ "typing_tok_LatticeSpec.WR@tok" ], 0, - "29ab96d3402b872a0810460c4e343933" + "1f43cb4a2f7dcf86d2ff296a0c4c3e42" ], [ "LatticeSpec.EFF", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1b028db9989bb859d27bbbcb6fbed7ff" + "22e9c476ba0fb8540da647c6b082cbcd" ], [ "LatticeSpec.EFF", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "23221327589d3eda23e2ae61e7116349" + "80610e34697863c0c99e36c4129ef67a" ], [ "LatticeSpec.EFF", @@ -332,7 +332,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "1643849be30cb536c627148a03423043" + "796db3838190c6e5ded6d4e6572a7686" ], [ "LatticeSpec.post_of_wp", @@ -341,7 +341,7 @@ 1, [ "@query" ], 0, - "2417dad4865aebbf220f3d9bf8bc5bac" + "12a28d6d4e139a6f2aa71472cdc2db82" ], [ "LatticeSpec.lift_pure_eff", @@ -382,7 +382,7 @@ "typing_Tm_abs_8a1f4d0e1ba7670c76332a8022e9258a" ], 0, - "7306fc9b94926c1fa263cd3b17969c59" + "218e0b3939e251db028cc55548fb1cdb" ], [ "LatticeSpec._get", @@ -424,7 +424,7 @@ "typing_tok_LatticeSpec.RD@tok" ], 0, - "42e3c5f54303dbc374a1833ba9c36a3c" + "7dbb209ee65a49e2896657a77f0a6d10" ], [ "LatticeSpec._put", @@ -470,7 +470,7 @@ "typing_tok_LatticeSpec.WR@tok", "unit_typing" ], 0, - "2eada2ddc5a0893df3880c85fbd0e295" + "6701e3a03022e08e502691007511e573" ], [ "LatticeSpec.put", @@ -479,7 +479,7 @@ 1, [ "@query", "equation_LatticeSpec.abides" ], 0, - "5741132eaa8ea12966e36f395dc9af6b" + "0af67d3184babadf0e566b8852d26561" ], [ "LatticeSpec._raise", @@ -530,7 +530,7 @@ "typing_tok_LatticeSpec.EXN@tok" ], 0, - "95e6eb87f992c19a4c103dc408b09012" + "7bb77623e513876e62f3a5864f75dffc" ], [ "LatticeSpec.test0", @@ -574,7 +574,7 @@ "unit_typing" ], 0, - "ffa77b61ed8ab5dec2becc0da579dae8" + "17eecd17f38e86551d5643285acd0f0f" ], [ "LatticeSpec.test1", @@ -604,7 +604,7 @@ "unit_typing" ], 0, - "c074a0451416a218caeca45bf75a8d5e" + "d1c7f130bda153066b296c5773c3db72" ], [ "LatticeSpec.sublist_at_self", @@ -617,7 +617,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e3736449f1cd20dd9b1f72498f3ced42" + "2f5fad199ddaaa4b6c3e47b8d346adde" ], [ "LatticeSpec.labpoly", @@ -642,7 +642,7 @@ "token_correspondence_LatticeSpec.bind_pre", "true_interp" ], 0, - "64762294bf6ebb4516e1d8d783413da1" + "1f2cebb0ba8bfd6379cadf895d58855a" ], [ "LatticeSpec.catch0", @@ -707,7 +707,7 @@ "typing_tok_LatticeSpec.WR@tok" ], 0, - "80a0a7435af1ff48e1c23f009205153f" + "ca9dc946d6bacae7b2ed54a99c68939d" ], [ "LatticeSpec.g", @@ -730,7 +730,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2c8286e8523054bdcd9fc3d183e0925" + "f59591d1ddfa5dc62bfba1c02bb77d5d" ], [ "LatticeSpec.test_catch", @@ -768,7 +768,7 @@ "unit_typing" ], 0, - "594ebf526bf45b6a7bf65cbcec7c62d4" + "20d6120295221bd5ccd56805d038cf09" ], [ "LatticeSpec.test_catch2", @@ -806,7 +806,7 @@ "unit_typing" ], 0, - "d205b4dcdafa56294ccd41113902ded7" + "144850e87275b136a36984cbfc291300" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Locals.Effect.fst.hints b/examples/layeredeffects/Locals.Effect.fst.hints index 4a07021eb15..79b902a54e7 100755 --- a/examples/layeredeffects/Locals.Effect.fst.hints +++ b/examples/layeredeffects/Locals.Effect.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "200ead0f71d1b17086e028652458d336" + "10dece3811935c2218c31f0ce4aaf685" ], [ "Locals.Effect.__proj__Mklocals_t'__item__m", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3879d80dbad8a88e6532e72b3badcddd" + "31d5a79405839918a2a91f7886f9ef61" ], [ "Locals.Effect.__proj__Mklocals_t'__item__m", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "74c1a3e655768cb62c629e3a4b3c1c56" + "f4eb36a47679b821a71a5014837e9043" ], [ "Locals.Effect.locals_t", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b580ecbd7150227d33e87ff1ed3c4802" + "a9a961d54780ea83b56ff627d576d723" ], [ "Locals.Effect.repr", @@ -75,7 +75,7 @@ "typing_Tm_abs_676be96ae4b733dd6a33eb0558e9b005" ], 0, - "0adcdb10bb9b8276f4c01b86f88d14fd" + "1abb471cd84089505c8f3e3f612be3e8" ], [ "Locals.Effect.return", @@ -84,7 +84,7 @@ 1, [ "@query" ], 0, - "bcb5e966351fe7a96aa6103d41dd6d4b" + "fdd2cb2f515ad21f2b83d0bcc1545bc0" ], [ "Locals.Effect.bind", @@ -119,7 +119,7 @@ "typing_Tm_abs_e8384b68ad10198c6025b7ea0d9e51c2" ], 0, - "54f96163313cc5cf850699e17750b5c6" + "0b78b4a6a2eb96d154af68c2c677f925" ], [ "Locals.Effect.subcomp", @@ -139,7 +139,7 @@ "typing_Tm_abs_83a87d25257ae4e73048e71a976d1d67" ], 0, - "4f72b44724e73e6baebbb21ebe08b8a9" + "1b44ecc6652bff9361fd8106b1961aad" ], [ "Locals.Effect.if_then_else", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_c4e4579510ab3d2bc939c99d71699ab5" ], 0, - "04c64090822ddb5cbca686e93b861226" + "baaf16915353f8d397cc901e69f17565" ], [ "Locals.Effect.LVARS", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "79d85e7bf3ca19d51da9e349cc72cd6e" + "46d089b1c276fcac0590f133adac5969" ], [ "Locals.Effect.LVARS", @@ -188,7 +188,7 @@ "typing_Tm_abs_ae65ab58b7ba62cd0f0ce0b19cf5de72" ], 0, - "9c1c7e9375a817e7f661f23b97994890" + "22735ba7cd6308a3425c246f5ae99add" ], [ "Locals.Effect.LVARS", @@ -210,7 +210,7 @@ "typing_Tm_abs_ae65ab58b7ba62cd0f0ce0b19cf5de72" ], 0, - "b4d41920d206d1f92dd62d6eec399fe6" + "3ee852380fd7def43fe8d4fd05064dd4" ], [ "Locals.Effect.LVARS", @@ -219,7 +219,7 @@ 1, [ "@query" ], 0, - "043b36ec77a6b1ec5a2f72941dd9473f" + "1ff8251eb4aeff458b21568db7e636bc" ], [ "Locals.Effect.LVARS", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_c4e4579510ab3d2bc939c99d71699ab5" ], 0, - "f6f126116c4b9c16fe5e16f1d3f82c77" + "daa238c92378e18caf6f23122378335c" ], [ "Locals.Effect.LVARS", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_c4e4579510ab3d2bc939c99d71699ab5" ], 0, - "f4ff5f8a5e7e4192c2461e52e31d5e3d" + "9ef9f862f3926cf12de2e3b0112758be" ], [ "Locals.Effect.LVARS", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_c4e4579510ab3d2bc939c99d71699ab5" ], 0, - "4679a467e12e859bc28689e576229fdc" + "e83f90cb9cf808f8d3720550921c201b" ], [ "Locals.Effect.LVARS", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9a26497b18560949f275439003c70ad5" + "ca14d7192a9f513b604bbf81636832d3" ], [ "Locals.Effect.LVARS", @@ -294,7 +294,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "619ba65a9f5e76b69742895535e2aad2" + "3aed817ba50cffcd6eb0369fc7acc180" ], [ "Locals.Effect.LVARS", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "f35721c84d0fdc7859ffc34e1b6d06c9" + "e7de22c4f8acd9ec230a31399607e08b" ], [ "Locals.Effect.lift_pure_wp", @@ -326,7 +326,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "b96a55efce1e4f29ab40ba68271f1ac2" + "1112ab3cce554e609fbf0cf3af97b238" ], [ "Locals.Effect.lift_pure_lvars", @@ -352,7 +352,7 @@ "typing_Tm_abs_f4e50037218c944d065aa19d84762d0b" ], 0, - "b49a11fad284005038aeec9596db2e69" + "49720550ec7b7e3ab750f4d50d7ea50c" ], [ "Locals.Effect.LV", @@ -361,7 +361,7 @@ 1, [ "@query" ], 0, - "b07fc13b32364ff9a5ae533623ce5c0d" + "d6bca323784c40333f88ebed70fc1198" ], [ "Locals.Effect.create", @@ -399,7 +399,7 @@ "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "b35809fe7d4931dc4c367918024f4c51" + "fc6a03d142606687610112226f5962a9" ], [ "Locals.Effect.read", @@ -414,7 +414,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8197ea31a14ba3895c4155ceb5980ea6" + "6b5814f85a5a61da405cfd48a5ce6a3b" ], [ "Locals.Effect.write", @@ -449,7 +449,7 @@ "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", "unit_typing" ], 0, - "892018f61ba64b5f474dbbca440a9b0b" + "521a46f34a19e52ecbeef288425b9ef1" ], [ "Locals.Effect.get", @@ -466,7 +466,7 @@ "typing_Locals.Effect.__proj__Mklocals_t___item__m" ], 0, - "6f181d70214218d644c5f86f94a78769" + "79636c40460b52cf758cbb3aeaa9c7c8" ], [ "Locals.Effect.test", @@ -509,7 +509,7 @@ "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", "unit_typing" ], 0, - "a02fc86db4a74e77e910953c15d5b024" + "39bcb19f7d6dceaf68a96978065bf979" ], [ "Locals.Effect.emp_locals", @@ -523,7 +523,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a269e4d9c39592e08b831d5d77c9fd8a" + "b57f58ff7746c07629fde9e8a7c4a425" ], [ "Locals.Effect.run_with_locals_aux", @@ -570,7 +570,7 @@ "typing_Tm_abs_a6d1ca36844d5ef6a3a088cfd178a470", "unit_typing" ], 0, - "fdd5abb08d48f30190ea6d89453b1e1d" + "1368332a680edf44fe5697ff52355cdd" ], [ "Locals.Effect.run_with_locals", @@ -606,7 +606,7 @@ "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", "unit_typing" ], 0, - "5ae1d94a20050bdc7ba91123b8851289" + "9e4dca32808b8fe0f0a59d489afd7039" ], [ "Locals.Effect.sum", @@ -628,7 +628,7 @@ "well-founded-ordering-on-nat" ], 0, - "7dc22db13f974c71741a35601225f656" + "95f1f605399cbb791531d77e0df833a2" ], [ "Locals.Effect.test1", @@ -655,7 +655,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "2c032588d24f942acf232b49fdd6d796" + "24aaa3b478390d07d3ee4d665bd72028" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LowParseWriters.LowParse.fsti.hints b/examples/layeredeffects/LowParseWriters.LowParse.fsti.hints index 73b350cdd67..5b0ff687c65 100644 --- a/examples/layeredeffects/LowParseWriters.LowParse.fsti.hints +++ b/examples/layeredeffects/LowParseWriters.LowParse.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "dccfd7913c020c2a4fd2f167208f4b99" + "c78eefe7c822342750b707d670fdfd07" ], [ "LowParseWriters.LowParse.valid_ext", @@ -32,7 +32,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "7eb5143623c53784e48183f74310b511" + "a6c497a9a574310ca6693fded8ca3bb2" ], [ "LowParseWriters.LowParse.valid_frame", @@ -69,7 +69,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "e323ada67ebccd2758ad5610908634a1" + "4b3dbd43ea95c0e4152b23f716e2bdd2" ], [ "LowParseWriters.LowParse.valid_gsub_elim", @@ -118,7 +118,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "986c63d57f15772869cdcaccf3249695" + "bac42cce078fc67dc6d1d8f240211628" ], [ "LowParseWriters.LowParse.valid_gsub_intro", @@ -173,7 +173,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "6bb56da1f6d09634ae633987d7202a0c" + "1f732d930ce002035e25662c727a096f" ], [ "LowParseWriters.LowParse.leaf_writer", @@ -187,7 +187,7 @@ "typing_FStar.UInt32.t" ], 0, - "87c43ebf55aec81dcde571c32ab9b612" + "682cff2f3c2231dd77d75104d67f1160" ], [ "LowParseWriters.LowParse.valid_parse_pair_inv_spec", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_d04519b54879885d2f0765abbc7d9148" ], 0, - "66d8afb426b339c2ad4c66572959e58f" + "9be4e992755b00fe437414b3c9c5e8ca" ], [ "LowParseWriters.LowParse.valid_parse_pair_inv", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_8af7e10a320bf5210ffe74ba1f995fc4" ], 0, - "fba4868a6d574ee350a7c7006b62985b" + "a7f7f8bc0725a8b3435878ef2bd5c868" ], [ "LowParseWriters.LowParse.buffer_contents", @@ -220,7 +220,7 @@ 1, [ "@query", "equation_LowParseWriters.LowParse.valid_buffer" ], 0, - "1e3d38383152726500520d5eed6dbed5" + "1ad8d25e1945b48c801c30370fa40eb2" ], [ "LowParseWriters.LowParse.leaf_reader", @@ -232,7 +232,7 @@ "refinement_interpretation_Tm_refine_26712a1d0cf73208ab0f6dfc63a42b16" ], 0, - "55d9f8358447a8eeb250798df0a9324d" + "663ee2ac235321597bb4371051630a32" ], [ "LowParseWriters.LowParse.gaccess", @@ -244,7 +244,7 @@ "refinement_interpretation_Tm_refine_d469c6cbe7d8e1f93ee51d89f5b68e17" ], 0, - "fd14a7bd7b4b40084d0eccde6f227501" + "9b92ced7f01f0239bd269f9521413a5e" ], [ "LowParseWriters.LowParse.gaccessor_frame", @@ -253,7 +253,7 @@ 1, [ "@query" ], 0, - "6ff825a187f8ad2d22e4e682481c2f9f" + "86993309db6744f459bef96e7289e158" ], [ "LowParseWriters.LowParse.baccess", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_4b2b7d2da84e8461d1bad722ce93de04" ], 0, - "d0623f8e0319fcc5af5766c41b26e30a" + "1075d927e29e513d620aa4ce8d1307e6" ], [ "LowParseWriters.LowParse.gvalidate", @@ -280,7 +280,7 @@ "typing_FStar.UInt32.t" ], 0, - "482538e083055a690f8caf08274cbe51" + "cb4119002299a2d0313af058d91fc43f" ], [ "LowParseWriters.LowParse.gvalidate_frame", @@ -300,7 +300,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "d54c23b88f330b69a4f5b43604f68c5d" + "ce65b7677f0f9e06fe8c9fd69064af57" ], [ "LowParseWriters.LowParse.bvalidate", @@ -312,7 +312,7 @@ "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d" ], 0, - "011df5197d40f0d356234b60579fefbb" + "7dad47febfdbaa621b8170c5698e7dd1" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LowParseWriters.NoHoare.fst.hints b/examples/layeredeffects/LowParseWriters.NoHoare.fst.hints index a456860bb0e..954d0367bb6 100644 --- a/examples/layeredeffects/LowParseWriters.NoHoare.fst.hints +++ b/examples/layeredeffects/LowParseWriters.NoHoare.fst.hints @@ -25,7 +25,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "72f484637f04a4e00ed28c69db372d56" + "0837fd325cd8e98fca2b98d32b488725" ], [ "LowParseWriters.NoHoare.read_return", @@ -51,7 +51,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "2f97e2bde8082cfa9fd0408b8f932ad7" + "7d6b32f3fdfe745c8c531819f32302e6" ], [ "LowParseWriters.NoHoare.read_bind_conv", @@ -77,7 +77,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "74fb262f504862b4654cb064310e2ca4" + "0eea6a0939dbb9adb1450824aedb13f5" ], [ "LowParseWriters.NoHoare.read_bind", @@ -103,7 +103,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "5ad17b0794eec5ba9bc8c3516ee4d584" + "47eaae378c875b5615f040a30eb3f1fc" ], [ "LowParseWriters.NoHoare.read_subcomp_conv", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_b8d40235e77ed96ff0ed3dc65b9756b5" ], 0, - "c0782823a8f7f0ce74858a68cd7b51aa" + "6fb30c1fb1619241238429aea56201a5" ], [ "LowParseWriters.NoHoare.read_subcomp", @@ -139,7 +139,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "a39445fb314817ec4003c2fe0f66c71f" + "580218b6146d50e2d0faad1405fd9949" ], [ "LowParseWriters.NoHoare.TRead", @@ -165,7 +165,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "323a49f87eab2fe4598fb23532678060" + "10cd6639b5c50d77a20cf21374683380" ], [ "LowParseWriters.NoHoare.TRead", @@ -191,7 +191,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "7b348788200ae8027d3b10793e4d8cd5" + "faf37e4561c6cab04dc26ec8fe814fe1" ], [ "LowParseWriters.NoHoare.TRead", @@ -216,7 +216,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "e404304dad9489b5b0b06406bcad5aff" + "51f0377ef27c5bd797598cbcfa8a89b0" ], [ "LowParseWriters.NoHoare.lift_pure_read_conv", @@ -243,7 +243,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "8c378a70bf08421bc3ac5cf2f8fd28df" + "0311defa2dfb3f8e8f2a53320d8350ae" ], [ "LowParseWriters.NoHoare.lift_pure_read'", @@ -269,16 +269,16 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "1a16f39b98d1973324d5b4d5ac926769" + "1a40ba957a950beccbee62f86d63aef9" ], [ - "LowParseWriters.NoHoare.9464", + "LowParseWriters.NoHoare.15554", 1, 2, 1, [ "@query" ], 0, - "20ea219a0e5830220cb1315be7a08bb5" + "a2684c76ee83874197bf49d7cafab0a9" ], [ "LowParseWriters.NoHoare.tread_of_eread", @@ -304,7 +304,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "80520e7415c07c70f3eb59c00f5bc448" + "9dc1986af91c16c97bc5a9f2c456bd34" ], [ "LowParseWriters.NoHoare.failwith", @@ -330,7 +330,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "3896ac92fd31909389534bed39c8d3fb" + "218fbeb71a7bd05f0b86cf6c1c7ada92" ], [ "LowParseWriters.NoHoare.buffer_index", @@ -356,7 +356,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "7e9efa8b6caf96c3a988e41051a0ab71" + "523dcec755b40956e7e3d34726980c18" ], [ "LowParseWriters.NoHoare.buffer_sub", @@ -382,7 +382,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "5cb6847ba39a9ac81251fb3d9a151a33" + "a2bca88a99345f98ce795cd43716b021" ], [ "LowParseWriters.NoHoare.return_conv", @@ -408,7 +408,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "4fefa4f0b24b7555621346ef132a4cf8" + "e4809c586fd927f70a5cfb63da64fd96" ], [ "LowParseWriters.NoHoare.returnc", @@ -434,7 +434,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "e5a6edf610b804d495c929a577a7ba88" + "5ad68d8cc467604cf28468ecc1241232" ], [ "LowParseWriters.NoHoare.bind_conv", @@ -460,7 +460,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "df653afa9432fa6df132a63d732a7135" + "437a61a25404b01593799082d34fb2c0" ], [ "LowParseWriters.NoHoare.bind", @@ -486,7 +486,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "92a62f5876b8e5ebcdaa407618894a60" + "77d959953f6aaf1d6d175e0d303c0bf3" ], [ "LowParseWriters.NoHoare.tvalid_rewrite_of_evalid_rewrite", @@ -500,7 +500,7 @@ "refinement_interpretation_Tm_refine_caa5e59828280ff65970f26faf0172b5" ], 0, - "f518a3024ce4e8c068f9b3a0c7e7cb18" + "5cbf2a9f5cf3f8ebad7b5c0a01a061a2" ], [ "LowParseWriters.NoHoare.evalid_rewrite_of_tvalid_rewrite_f", @@ -521,7 +521,7 @@ "typing_tok_Prims.T@tok" ], 0, - "5df63c7b2e8b891865f294224e86c7f4" + "c2cf09afe9544f34a6bbfeddb69c0b84" ], [ "LowParseWriters.NoHoare.evalid_rewrite_of_tvalid_rewrite", @@ -543,7 +543,7 @@ "typing_tok_Prims.T@tok", "unit_inversion" ], 0, - "9c1ab8eafc4bb4014662da0e0741d9b3" + "700d0c4b2371d9a37b17884753443520" ], [ "LowParseWriters.NoHoare.valid_rewrite_refl", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "35ef67d97ac1f3909a59eb437cc764b4" + "8af1f88584c97f983a54d029d9cd18aa" ], [ "LowParseWriters.NoHoare.valid_rewrite_repr", @@ -581,7 +581,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "a7a65166fb4906e348eee1aac7c1b856" + "214063221652394df252a77db0db11d6" ], [ "LowParseWriters.NoHoare.subcomp_conv", @@ -593,7 +593,7 @@ "refinement_interpretation_Tm_refine_b8d40235e77ed96ff0ed3dc65b9756b5" ], 0, - "03721916c0174cfa2eb00cc026805527" + "67d2b505fbc052a142751ff40f8a80dd" ], [ "LowParseWriters.NoHoare.subcomp1", @@ -617,7 +617,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "20be46c7ce02114a12e4fd5a86b215d8" + "c708dd012785247bf8eaa7b86b24d26e" ], [ "LowParseWriters.NoHoare.subcomp2", @@ -626,7 +626,7 @@ 1, [ "@query" ], 0, - "f8d074e4d1683e2ac28edf8104828e90" + "13bf4099a93ae8cdde23adf037e2556c" ], [ "LowParseWriters.NoHoare.subcomp", @@ -638,7 +638,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "07dcc8e44ce410e55701b796c9f571ee" + "8782d7a7cae2a5582825d3480681f514" ], [ "LowParseWriters.NoHoare.TWrite", @@ -666,7 +666,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "78e6ff7abd03002f6224b6959f7edffa" + "72bff4d55f182ac3ddd7b0255a341396" ], [ "LowParseWriters.NoHoare.TWrite", @@ -678,7 +678,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "e1f1606196dede1773132010dc5a7fa4" + "ec3e0406ad5b738b24553d5c177dd672" ], [ "LowParseWriters.NoHoare.TWrite", @@ -705,7 +705,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "65c55ce97233591da79cd842de1bb7d7" + "23a3c6233e1b098414cf41e7b6093be5" ], [ "LowParseWriters.NoHoare.TWrite", @@ -731,7 +731,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "bc7833e37f8223f19c0826d3eb3065e8" + "f70a6287a584228afe5a368e003c0873" ], [ "LowParseWriters.NoHoare.lift_read_conv", @@ -757,7 +757,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "1a3232c55ddab5aa2e3f090e71a157a1" + "8b2e8aec9e360eed55963ec440049d0d" ], [ "LowParseWriters.NoHoare.lift_read", @@ -783,7 +783,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "5adfd89a3bfe1163e583ec10da983766" + "d5d7a4f130e088097e22a3cd07fc988d" ], [ "LowParseWriters.NoHoare.extract_t", @@ -792,7 +792,7 @@ 1, [ "@query" ], 0, - "9ce1ac0df033cf34dfc78f4bccc28234" + "a138c9ee03a90b7e907f247d9ed9eec9" ], [ "LowParseWriters.NoHoare.bind_spec'", @@ -805,7 +805,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "cf26147fba09e19039b8f5e3797bbefe" + "ea4b2d02ac6b33aa7c9a7cca3d9e4b44" ], [ "LowParseWriters.NoHoare.bind_spec2_aux", @@ -818,7 +818,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "fce02f22171cc7c383087ac99d55cff1" + "c245ef0f4d221ed5fd5bb091a5a885ef" ], [ "LowParseWriters.NoHoare.bind_impl'", @@ -846,7 +846,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "e4718c01d205209b56fe5ba22e9e0506" + "2b7ff52c0374460937c074ba032392b5" ], [ "LowParseWriters.NoHoare.twrite_of_ewrite", @@ -872,7 +872,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "dbb79124227a4be62af0990a8727e51d" + "5ec1b1ccaa670152298e571d41849cf1" ], [ "LowParseWriters.NoHoare.wfailwith", @@ -900,7 +900,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "403d9f4b1f54e00498b1a6bb12bc8c4a" + "0cacbd33a1bc457a18bb89a0e8d75319" ], [ "LowParseWriters.NoHoare.frame", @@ -929,7 +929,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "7c705196a3c256a13f5e501c510a5e72" + "320f073ed36c70e72c9f4ad2658b3a4b" ], [ "LowParseWriters.NoHoare.valid_rewrite", @@ -957,7 +957,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "914511af07c0aeba89d6b92124da04fd" + "7ae49269c00bb325de3e255ff07bf326" ], [ "LowParseWriters.NoHoare.cat", @@ -985,7 +985,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "ca3cdd8e65d5a31a01d3414bbe2051f1" + "f91c92bdbb4588c7f495e768f4e34a76" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LowParseWriters.fst.hints b/examples/layeredeffects/LowParseWriters.fst.hints index f10bc6d0a76..384bde4d769 100644 --- a/examples/layeredeffects/LowParseWriters.fst.hints +++ b/examples/layeredeffects/LowParseWriters.fst.hints @@ -25,7 +25,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "418b46b51e6d9d4a4582741faaab8aab" + "565d60cb98006ec3a46c747315b06d88" ], [ "LowParseWriters.__proj__Correct__item___0", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_148a8463a89a2493ecbd47da78405ee9" ], 0, - "2e95734ea617437bf77f9715cb0003ae" + "76cc2acadd3b2dbdae591b1e788933c4" ], [ "LowParseWriters.__proj__Error__item___0", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_1ffb98942b6f7ce8491341f66b1deee3" ], 0, - "88b11e9282f08081a95f0e8b1b1eec84" + "41e24e3a59406bb420349ba7ba54aecd" ], [ "LowParseWriters.read_repr_spec", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_1d96020d9d4cce4bffe0a300e202fa85" ], 0, - "775c21e656b393f6adef0a131e0b702c" + "ab1370b321618ee034c6cd19cfd61f51" ], [ "LowParseWriters.read_repr_impl", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "7857fed1533272af9990bff38cd985aa" + "eacea77f753c952766333e26fde7e8c1" ], [ "LowParseWriters.mk_read_repr_impl", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "3751deaf5a6999a4f4adabd200ced429" + "5d822a7bff8f314750783b8735a2f055" ], [ "LowParseWriters.mk_read_repr_impl", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "8972d29aa49cf303a5e2444d3d5e4d6c" + "d95343962098c085d49d17a74f9b0b39" ], [ "LowParseWriters.extract_read_repr_impl", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "dcfe7fb5384aee87c3fa26c616d8b6cb" + "f9e8d3c1c85061285b7ee1c65ad246fe" ], [ "LowParseWriters.read_return_spec", @@ -126,7 +126,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "90f67893b0bf41d91a95fdebd67a541c" + "cb31401b052477f4b2a0ae4cfa2b245e" ], [ "LowParseWriters.read_return_impl", @@ -154,7 +154,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "f0d18a511654aeed6ff9b54a7be5836e" + "359e140c7fd8345dd158d6b20d5181a9" ], [ "LowParseWriters.read_bind_spec", @@ -173,7 +173,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "4caf7f10404cb9db7e0942afbf1b4e4e" + "b4772a0ed4ca24ff0db576d07257738e" ], [ "LowParseWriters.read_bind_impl", @@ -228,7 +228,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none", "unit_typing" ], 0, - "bb820d9b16b6444601758808215b5412" + "f71a17d1733a1842cbd07f4ebb803b83" ], [ "LowParseWriters.read_bind", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "93b65f107b4fef27dae08a8cce1d4469" + "de68c0f14ed72e9a9f608c597193e947" ], [ "LowParseWriters.read_subcomp_spec", @@ -251,7 +251,7 @@ "@MaxIFuel_assumption", "@query", "data_elim_LowParseWriters.Correct" ], 0, - "8425a2c31b92adc5f8316fdae795df83" + "32818b194e961fd9690ef382a47cdcc0" ], [ "LowParseWriters.read_subcomp_impl", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_5d8cd0e7ab0c73a4da8904c1ec15fd2e" ], 0, - "e613f6c8febc7e22679d91cf8df0c346" + "d8cea71106ec2dc31b7979e53ed45adf" ], [ "LowParseWriters.read_subcomp_impl", @@ -294,7 +294,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "a02c236e474f86c079a02498d3ad8770" + "c91e8bb4f3d66766efebce64afe752d2" ], [ "LowParseWriters.read_subcomp", @@ -303,7 +303,7 @@ 1, [ "@query" ], 0, - "a57839de03ed9956843023c003c3417a" + "99021be449185e4f5b3bb2e279f32809" ], [ "LowParseWriters.ERead", @@ -330,7 +330,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "7763573a8f2b40bca6c91a781c475b30" + "6ca24f0db00cc7bb936ec083c85a48aa" ], [ "LowParseWriters.ERead", @@ -357,7 +357,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "1b5a1f4bb99450d58d91a2d594926140" + "6438ca0c7ce4ecffbb25b15d48d60af5" ], [ "LowParseWriters.ERead", @@ -383,7 +383,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "f2e49bc7b9660fe5b035a4d194b2d648" + "c4e602cba109e81709f7dd2c1bce8bb2" ], [ "LowParseWriters.lift_pure_read_spec", @@ -412,7 +412,7 @@ "typing_Tm_abs_a1e078de1ab64da00a64b25bd2a9a388" ], 0, - "c12e4150cd89b9f0fc618679a0d359dd" + "871a8286d1a4d01ca41e5475b8d5990e" ], [ "LowParseWriters.lift_pure_read_impl", @@ -452,7 +452,7 @@ "typing_Tm_abs_f3f6db39822f4dc8276f6eee7b37fb41" ], 0, - "5c412e0fd4765110e4e1eb043548e47a" + "c457ef3c876dee6accbd61e487a33802" ], [ "LowParseWriters.reify_read", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "f15f74e6c05585c5fa121342860e6f94" + "280e803479bd35a6a641e2c0b5b96188" ], [ "LowParseWriters.pick_next", @@ -475,7 +475,8 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", + "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", @@ -487,7 +488,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bc779591279db936ce65b850361b470c" + "4752f98e78f151377f274fe9b6b7471f" ], [ "LowParseWriters.try_rewrite_equality", @@ -496,12 +497,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binders", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0" ], 0, - "d058bf462eac2e04cbda2356260a3010" + "bd4856a3c1514a9f8a65eccac5060ecf" ], [ "LowParseWriters.rewrite_all_context_equalities", @@ -510,12 +512,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binders", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0" ], 0, - "70b5d2fa04a863a609b68dc22cc94995" + "0952d2691788e7d30063ff6fb5abd8c8" ], [ "LowParseWriters.test_read_if", @@ -541,7 +544,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "bbd9dffeabb201dee3338bd4aae02e32" + "aa0fdc9e8ba150e212ef72e0af3c76d8" ], [ "LowParseWriters.test_read1", @@ -567,7 +570,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "0c8886de945e9af7b2250929a2e66a1f" + "ade0e618baad36c92eb144cc860607b4" ], [ "LowParseWriters.test_read2", @@ -593,7 +596,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "1c6945843c1654e9d96e3af06c5bd48b" + "b94c2b0336f04c8df5424981b184c491" ], [ "LowParseWriters.test_read3", @@ -619,7 +622,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "0c5e8b72d3f18b9fe1b841dd14e577b5" + "e3c9fa8617fbb53280d5d6ad6ec934b6" ], [ "LowParseWriters.failwith_spec", @@ -632,7 +635,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "8962b168fff7b345e99be365c95cdaa6" + "e618a32a2320b80c7b1d17ab1a34de17" ], [ "LowParseWriters.failwith_impl", @@ -660,7 +663,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "b9a88cab8fe3e57018faa530bfa89dfe" + "c4736f03c1feb969812695391dc06fc7" ], [ "LowParseWriters.buffer_index_spec", @@ -688,7 +691,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "a9b9fdf7ae01eaa41377e3a16eb7c25e" + "b605c9d6c40445b4bf7958d9eec631da" ], [ "LowParseWriters.buffer_index_impl", @@ -709,7 +712,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "e362965b3b13ca246e6e6ccc5c89218c" + "45051ee4442f03f11b1b0a229dba95e5" ], [ "LowParseWriters.buffer_index_impl", @@ -747,7 +750,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "3f8bdaed4796da6ab1e6efc694eab0d7" + "7e69bea3b09d243ef001b18b625f4907" ], [ "LowParseWriters.buffer_index", @@ -770,7 +773,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "96a96e7fd975a8a905e827f3386e87e9" + "a69ff9a9c098cd3a591c8e5118a721ae" ], [ "LowParseWriters.buffer_sub_spec", @@ -796,7 +799,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "79dc8e4c395f8a5166ff36e19e9c7a08" + "992cda69b0aeb8459ff7d39dc50b894e" ], [ "LowParseWriters.buffer_sub_impl", @@ -805,7 +808,7 @@ 1, [ "@query" ], 0, - "4229c0cb0e4fcfba7fd726492e49ee84" + "e227241670ac74b2abe3a627dc780ab4" ], [ "LowParseWriters.buffer_sub_impl", @@ -846,7 +849,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "c0e5d3721373d909caf9e824bc7c7b18" + "248b4a495a0ac953af294e10ffc9effd" ], [ "LowParseWriters.buffer_sub", @@ -855,7 +858,7 @@ 1, [ "@query" ], 0, - "93ddf885f6bca71a64224e437064c9a0" + "9e79cb6f31d1ee70a9e6e0f5789daa8a" ], [ "LowParseWriters.deref_spec", @@ -870,7 +873,7 @@ "refinement_interpretation_Tm_refine_977941e0bbb4b47f6af3013f226903cd" ], 0, - "a8e01c46ed78aaea38cc89840b3523b5" + "43ce3286fb1233286ebdd2baeb6abbdb" ], [ "LowParseWriters.mk_ptr", @@ -882,7 +885,7 @@ "refinement_interpretation_Tm_refine_7c4a40d2b3cc45c979a7faad1506b5e9" ], 0, - "b9286e9a629a5506aa9b17814aeff896" + "c3cbba118344c792f4064ea6ee0e4d97" ], [ "LowParseWriters.mk_ptr", @@ -901,7 +904,7 @@ "refinement_interpretation_Tm_refine_2d6dd7d0af99b4e2de72433083ce2239" ], 0, - "922be3ac19e4a5d16fc103a1a4705630" + "d288547459dddbdb7d1ab74056eaa988" ], [ "LowParseWriters.buffer_of_ptr", @@ -910,7 +913,7 @@ 1, [ "@query" ], 0, - "ef085579d024713e2b8c9598241239df" + "5a9d418278632de04b0fc7902792fda6" ], [ "LowParseWriters.buffer_of_ptr", @@ -932,7 +935,7 @@ "refinement_interpretation_Tm_refine_977941e0bbb4b47f6af3013f226903cd" ], 0, - "d8b8a913607ae5ee50cb1c2738eaced4" + "77b53a40b0efb256b0fb4cb2a1d56b19" ], [ "LowParseWriters.valid_rptr_frame", @@ -941,7 +944,7 @@ 1, [ "@query" ], 0, - "9c848b6a6ab3372c343b100a73af2881" + "03e43cd6ce2ac41478b511059342b432" ], [ "LowParseWriters.valid_rptr_frame", @@ -1000,7 +1003,7 @@ "typing_Prims.pow2" ], 0, - "b6bfc89a1c35523f0101a41df2473aff" + "ef205ab2eb5f1a95bb46d7645685fad8" ], [ "LowParseWriters.deref_impl", @@ -1013,7 +1016,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "9695fdaaa22627017d0bddc3c1fbbdba" + "f3ca5f63fe5583d366bd6e4cb61c70c7" ], [ "LowParseWriters.deref_impl", @@ -1072,7 +1075,7 @@ "typing_Prims.pow2" ], 0, - "b31ff4a4a2692fe2020d6203a8063919" + "04cc8f95dd17963f93af50d96562de53" ], [ "LowParseWriters.deref_repr", @@ -1085,7 +1088,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "1d44483ab42c66ca276369546b4e7197" + "08e9e44a10eba8426e26567aa1f9cdf6" ], [ "LowParseWriters.access_spec", @@ -1097,7 +1100,7 @@ "refinement_interpretation_Tm_refine_515fe7fdd23536c0889af098cb1521c0" ], 0, - "564d1309b14d8031a812f9fa68ac6690" + "4e735a761a4e82fcfe593cf4d0333355" ], [ "LowParseWriters.access_spec", @@ -1128,7 +1131,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "816bd4d0be5962272de87b1b3d113dbf" + "e0ced6ff4b2f5ea60a0f692fceb6d874" ], [ "LowParseWriters.access_impl", @@ -1141,7 +1144,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "454e51afde2b37909535fcb1f1448fc6" + "2fca6fe111d41faa9d2f33a554a71a73" ], [ "LowParseWriters.access_impl", @@ -1206,7 +1209,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none", "typing_Prims.pow2" ], 0, - "71a09856f6d29b0c6f79b54731f8d510" + "3db8c8aec72d9415aa23f55fac884561" ], [ "LowParseWriters.access_repr", @@ -1219,7 +1222,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "4af23eea481398c918bda420940e9e11" + "ef80bbf9b6fb13d162d5ee4cfaec6c99" ], [ "LowParseWriters.access", @@ -1228,7 +1231,7 @@ 1, [ "@query" ], 0, - "36229942175ee04597827963bc083555" + "49f1a53709e598cab03806028ae14c4f" ], [ "LowParseWriters.validate_post", @@ -1237,7 +1240,7 @@ 1, [ "@query" ], 0, - "a8bc5222a9b0d3f3182bbe7663d1148a" + "07dde25ac7835753bc4bd16760ab3a4a" ], [ "LowParseWriters.validate_spec", @@ -1330,7 +1333,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "3032aff12ed9450bc070b31a714aac0f" + "e699d127e44ca7b782ba7ae444444ccc" ], [ "LowParseWriters.valid_frame'", @@ -1339,7 +1342,7 @@ 1, [ "@query" ], 0, - "37e29ba48d9d1224c7bf000e046afd18" + "dafe59956f2844d75e897fbf275aa8c1" ], [ "LowParseWriters.validate_impl", @@ -1431,7 +1434,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none", "typing_Prims.pow2" ], 0, - "80c6df6cd53777d0a1172654315a164e" + "caf7615b5f720fd9ca528153ef3bb7ae" ], [ "LowParseWriters.repr_spec", @@ -1447,7 +1450,7 @@ "refinement_interpretation_Tm_refine_4657fa066e1615d35a5e92ce2afbd2c3" ], 0, - "1643476d803fdece9dc4260074d8991d" + "45ea493e690f8ee07139096ea9e8cf1e" ], [ "LowParseWriters.__proj__ICorrect__item__res", @@ -1459,7 +1462,7 @@ "refinement_interpretation_Tm_refine_aa6aafa7df4950197831ce9cbce7f51a" ], 0, - "5f7efaae67e2333c4a869f0fabc715cb" + "30f927023974f76b894d75131d608a0b" ], [ "LowParseWriters.__proj__ICorrect__item__new_pos", @@ -1471,7 +1474,7 @@ "refinement_interpretation_Tm_refine_aa6aafa7df4950197831ce9cbce7f51a" ], 0, - "77f9d712f9c20162aba95819f7b7d043" + "d2dcb3325d0f5c26935147f66a1ed81e" ], [ "LowParseWriters.__proj__IError__item___0", @@ -1483,7 +1486,7 @@ "refinement_interpretation_Tm_refine_451de6ad11fce232c71a98651cb8f5d8" ], 0, - "8262874d92a9c066bf15e6d6790cfdad" + "052103799b4db0342c324bfd4c10c97a" ], [ "LowParseWriters.repr_impl_post", @@ -1492,7 +1495,7 @@ 1, [ "@query" ], 0, - "32d6c3d3496e4cb46e26fcbb920322d2" + "c4c7722116583e2bafe1062de2c0a3d9" ], [ "LowParseWriters.repr_impl", @@ -1506,7 +1509,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "7b9043f33108bd47e0c38b30a0cafb09" + "9019151154e8350e72c32d0162cae281" ], [ "LowParseWriters.mk_repr_impl", @@ -1520,7 +1523,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "e41f5c8e19b57b5f8b116fa4011b7d66" + "9b812188c8e140f01df8258731ca8c59" ], [ "LowParseWriters.mk_repr_impl", @@ -1534,7 +1537,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "55c4b1c3bc10c362588c26a8190c94d3" + "899d1bad0bf88e3716b3ca487aa3c1da" ], [ "LowParseWriters.extract_repr_impl", @@ -1548,7 +1551,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "94940b8d7e8919b50ed23f4d0a5d4abb" + "4d862f946cb6e729d4fc606096339da2" ], [ "LowParseWriters.return_spec", @@ -1563,7 +1566,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "c75199b3360a42da3c7d3b1187c3e323" + "40dac37c7267befafc5b817c57b6c847" ], [ "LowParseWriters.return_impl", @@ -1613,7 +1616,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "24f809550b65cd1f8eb16fc45db567b2" + "06666b3e2b37dd0db4040fa0a815b89d" ], [ "LowParseWriters.bind_spec", @@ -1635,7 +1638,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "be85991a20da141b44e85459f4df335a" + "e479d79508ede976d1983f0b9784a61c" ], [ "LowParseWriters.bind_impl", @@ -1724,7 +1727,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "047eebbc2cd718d31a4e021d79932e60" + "8ef1399ac342ddc2a3b55f0324c7a441" ], [ "LowParseWriters.bind", @@ -1737,7 +1740,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "92c5a469b24cf04345ed8062820285d0" + "2bf76803ad2f846687ec957b5ee31103" ], [ "LowParseWriters.subcomp_spec", @@ -1753,7 +1756,7 @@ "proj_equation_LowParseWriters.LowParse.Parser_t" ], 0, - "562daf2e19535540951b641de85ec36c" + "0335d2aeb84ee3b3ce6f4c98d79f9d0f" ], [ "LowParseWriters.subcomp_impl", @@ -1765,7 +1768,7 @@ "refinement_interpretation_Tm_refine_d5f3e3757347b86057f40bcdfede2573" ], 0, - "696ad322de0079e4c8ec3581c64b2c83" + "cb52cc2cd943125f43ed7ae2cd590010" ], [ "LowParseWriters.subcomp_impl", @@ -1834,7 +1837,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "a19f328047a604baaec8daf3ac49741b" + "282b1a2bad6bf67669e375d142f523db" ], [ "LowParseWriters.subcomp", @@ -1846,7 +1849,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "780ed0d99f5601e8fba5b39bfddb023e" + "1dfe230015840760846fc032728e201e" ], [ "LowParseWriters.if_then_else", @@ -1859,7 +1862,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "1031bd0ff716f956bf846a85035375f6" + "32305630fb453a957f0a91adfea40def" ], [ "LowParseWriters.EWrite", @@ -1871,7 +1874,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "6ef7446efcab11a23d305edf3900cb19" + "7eecb3644e8acc6d322bbc6fd57186c3" ], [ "LowParseWriters.EWrite", @@ -1883,7 +1886,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "00f9670d3dbd4b2273d4ab3a7384b49e" + "6282ae080bd8fbf428d06f5230173c35" ], [ "LowParseWriters.EWrite", @@ -1895,7 +1898,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "7fbc5a17382e455da25769aed632781d" + "0430aef26df8493cc6bfdc110c8c439a" ], [ "LowParseWriters.EWrite", @@ -1907,7 +1910,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "f05b76b13a65a0a729858ab41c1b332b" + "4e2b508fecded36dc82362e716054d90" ], [ "LowParseWriters.EWrite", @@ -1919,7 +1922,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "f64bcaee960dccabc488a1a46a0d7154" + "19778c80eb575948d5a90f6d7a699835" ], [ "LowParseWriters.EWrite", @@ -1932,7 +1935,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "fbacdc24b3b5fbcf41f3353c3a99527e" + "de68a5d66476d9bf6a0959454a969aa0" ], [ "LowParseWriters.EWrite", @@ -1944,7 +1947,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "4c3878d30706f81cb4f2263bb5880238" + "075cf16f44837004393e412e0a5d1073" ], [ "LowParseWriters.EWrite", @@ -1956,7 +1959,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "e5de3e5944246cdb11f12da82d33ad9d" + "6679a77071170afadacc81567ad58779" ], [ "LowParseWriters.EWrite", @@ -1968,7 +1971,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "79c5d75912c2f2349c28fd3b32e1fc7c" + "78ae694be79af0d7b3b802609d8667c4" ], [ "LowParseWriters.EWrite", @@ -1980,7 +1983,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "a3af7455df222cd2e6b3240d1758c55a" + "21e6d51a081b1d1431e2866466e35c4f" ], [ "LowParseWriters.EWrite", @@ -1992,7 +1995,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "7be48841588174a57fa8f221eb8beebc" + "360a323f9bce50d68d46c08a58e143a0" ], [ "LowParseWriters.EWrite", @@ -2004,7 +2007,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "110d8e889d24273bfae96fe890a7a3ea" + "ad09f9ed1701d2e59cc8ce946784268b" ], [ "LowParseWriters.EWrite", @@ -2031,7 +2034,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "d45a0a446bee7d49568361e7c225542d" + "0a564feccc3697f7190d2af1f37f6525" ], [ "LowParseWriters.EWrite", @@ -2043,7 +2046,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "0854f2848ba7d2d805ea09a5973d5de2" + "a68fa6a3dbe60187a2fe0fd60acc7636" ], [ "LowParseWriters.EWrite", @@ -2055,7 +2058,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "632cd6559fbc4e5c50318f058418089a" + "bc10bb7b11d7721c3323feb2c58bee55" ], [ "LowParseWriters.EWrite", @@ -2067,7 +2070,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "f519f5894f559d180e67cf1c2c3f138f" + "2579e756c321f09db50e407f9a804b14" ], [ "LowParseWriters.EWrite", @@ -2079,7 +2082,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "e1eeff475c77258e2a981aebe2bae040" + "c47dea18f9aef576dbc5a1203a00dafe" ], [ "LowParseWriters.EWrite", @@ -2091,7 +2094,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "cf18f3f9a045d986c7c891ce3739924c" + "925fc6fdc211cee9f4dd09caec518e1d" ], [ "LowParseWriters.EWrite", @@ -2118,7 +2121,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "09cbeaf7133c9d615c381e28ce78234d" + "11fe566849a32d904d7831a6087e734d" ], [ "LowParseWriters.lift_read_spec", @@ -2142,7 +2145,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "09480e5b84d5f0a38093a2e6af98a8f4" + "5d4945bbd3097efcfee8c5eb3bbe85e4" ], [ "LowParseWriters.lift_read_impl", @@ -2216,7 +2219,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none", "unit_typing" ], 0, - "5bcfa44bb0eef1abda8ce5753e208c9a" + "41096942af8ffdde5ea023f946c91368" ], [ "LowParseWriters.wfailwith_spec", @@ -2229,7 +2232,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "7e28f97a9005b485cc84bce32d69f03a" + "07a5709a73fc6bcd25a247069d5e4817" ], [ "LowParseWriters.wfailwith_impl", @@ -2277,7 +2280,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "43afb2678f64aabbf1d3e8f753bbb6a7" + "5ece66156f634e85d6a0d71a17626118" ], [ "LowParseWriters.extract_t", @@ -2286,7 +2289,7 @@ 1, [ "@query" ], 0, - "31ff0b69b62b222779ca2e9756119095" + "0ad768cca1818d43805e19e70414779a" ], [ "LowParseWriters.get_state_spec", @@ -2303,7 +2306,7 @@ "typing_LowParseWriters.LowParse.__proj__Parser__item__t" ], 0, - "1cb6ee1b8232f618cce631a29e119ef6" + "ba991f4675a264c679f5c8128afd6ad7" ], [ "LowParseWriters.get_state_impl", @@ -2349,7 +2352,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "b0dfe0e692bebe3a9270dfb316e302fe" + "5809206a79c060abc2af564462da2e0c" ], [ "LowParseWriters.frame_spec", @@ -2379,7 +2382,7 @@ "refinement_interpretation_Tm_refine_5ea6f4a299cb5e289b11758dc9f6cb56" ], 0, - "0915e5bc7803222a3cfc88c570bef6f6" + "60ead1aeb254f03795afe8bdec1fada5" ], [ "LowParseWriters.frame_impl", @@ -2405,7 +2408,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "987fd2e825b5779f9babf2c07c1abb7e" + "6338eab3dda77088d8512f069995aaef" ], [ "LowParseWriters.frame_impl", @@ -2445,6 +2448,7 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "fuel_guarded_inversion_LowParseWriters.LowParse.parser", + "fuel_guarded_inversion_LowParseWriters.iresult", "fuel_guarded_inversion_LowParseWriters.memory_invariant", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowParseWriters.LowParse.u8", @@ -2553,7 +2557,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "8c36d2a310791a045e7c8c31d8f200cd" + "0775ce1c8d6ad9a052cf1ec39e5884d2" ], [ "LowParseWriters.frame", @@ -2579,7 +2583,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "821a90104733ea2f4ca07af2050b8a7e" + "24765040cff164fd80fb84790ee45838" ], [ "LowParseWriters.elem_writer_spec", @@ -2604,7 +2608,7 @@ "typing_LowParseWriters.LowParse.size", "unit_inversion" ], 0, - "e7c0ffc81876fbb851f571914fda6c27" + "96e414468bc45852cab743c37f14c6db" ], [ "LowParseWriters.elem_writer_impl", @@ -2695,7 +2699,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to" ], 0, - "e418b921deddf827ffa26a2db50d66fa" + "c457d5e051db62b99968dfaf07a512f0" ], [ "LowParseWriters.start", @@ -2721,7 +2725,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "9f586729aded432d6b03f1ac2f4342d3" + "5f0a238ef0e204ad44f7151244005291" ], [ "LowParseWriters.append", @@ -2747,7 +2751,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "197bd016a180d1180e9ed0d6a26188db" + "1fe9b88d947795b931fb0300032fe708" ], [ "LowParseWriters.recast_writer_spec", @@ -2786,7 +2790,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "862ad56ce7972fe2d71293dbf0e9d25c" + "5122ba4256e6aeb7eb8eb7c92eaf189a" ], [ "LowParseWriters.recast_writer_impl", @@ -2812,7 +2816,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "98bb281507b7938d43c2088a6bea71eb" + "c9fa51df8e3109d222ca1f065a612613" ], [ "LowParseWriters.recast_writer_impl", @@ -2844,7 +2848,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "20a17e3f3b371d0aea0593b26a450c19" + "7a73ab0c1013e3ab7091e249603ff316" ], [ "LowParseWriters.recast_writer_repr", @@ -2870,7 +2874,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "ce030364a1d2af403c029a69663ed1a4" + "e522330dac7f8341ef6afa60ef75705a" ], [ "LowParseWriters.recast_writer", @@ -2896,7 +2900,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "dd608516fb0e4cc234ae1812b93c465f" + "4c4211401ebc2a20d7b11a158232dc00" ], [ "LowParseWriters.frame'", @@ -2922,7 +2926,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "f5398db58270edae2a85ec8f148cbeba" + "5ade369c40b3f5a0b78d08a16be9e9ac" ], [ "LowParseWriters.frame2_spec", @@ -2952,7 +2956,7 @@ "projection_inverse_LowParseWriters.LowParse.Parser_t" ], 0, - "2ee1703a9804dae7f49a5658a960ed2f" + "3b9e192b79b02b73260670fd0f85cd44" ], [ "LowParseWriters.frame2_impl", @@ -2978,7 +2982,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "358c02635722290a864593cbc85f594d" + "92abe3f97e94b51d45a455da01169a81" ], [ "LowParseWriters.frame2_impl", @@ -3101,7 +3105,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "7e30563390e183750b9a60e7eebae133" + "261b83ad60764bfe1287f5ca2c8dae7a" ], [ "LowParseWriters.frame2_repr", @@ -3127,7 +3131,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "505eced5de96f1fc8e0bd0d885329692" + "422bea1fa564a7c22c5c71501a9d8e15" ], [ "LowParseWriters.frame2", @@ -3153,7 +3157,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "4d7ee9bda5ab899d3907fca583ab45c9" + "de6ac7811c64b67de63a5b512406a3bc" ], [ "LowParseWriters.valid_rewrite_t", @@ -3162,7 +3166,7 @@ 8, [ "@query" ], 0, - "df345f14d11bdcde6a4f7a40d0e209a6" + "9dc0548c0cecd6b988370dfa4d85b2f1" ], [ "LowParseWriters.__proj__Mkvalid_rewrite_t__item__valid_rewrite_valid", @@ -3171,7 +3175,7 @@ 8, [ "@query" ], 0, - "f6576564911945cb007ce9270dce53ae" + "d28b942a00d8fcae2891aa9a8acf972a" ], [ "LowParseWriters.__proj__Mkvalid_rewrite_t__item__valid_rewrite_valid", @@ -3180,7 +3184,7 @@ 8, [ "@query" ], 0, - "b6c5d10fc3dae6e9d66a8fdea2fe001e" + "b4cc4af0c07286e96721e55762c343e4" ], [ "LowParseWriters.valid_rewrite_implies", @@ -3195,7 +3199,7 @@ "typing_LowParseWriters.LowParse.contents" ], 0, - "326cfbfd3951a74dc08f4c38fe505792" + "00922e8c1b2e3b1535a0d683786286dc" ], [ "LowParseWriters.valid_rewrite_compose", @@ -3208,7 +3212,7 @@ "refinement_interpretation_Tm_refine_41aedb64593c1013f655c6e91e0532ce" ], 0, - "ae43e8afa7f2eb08056cbb2288e98028" + "b05816ce2b2230c62ad8ed25663e83c3" ], [ "LowParseWriters.valid_rewrite_spec", @@ -3222,7 +3226,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "356a9651ec6f3d607332bd477aca9421" + "8bcbb5972868ed046fa8714d9dcd4bfd" ], [ "LowParseWriters.valid_rewrite_impl", @@ -3231,7 +3235,7 @@ 1, [ "@query" ], 0, - "416ec498c3b7c7ec345cf1fca3e03cf8" + "2191dff99719cdf62ca0b51b9b9505eb" ], [ "LowParseWriters.valid_rewrite_impl", @@ -3276,7 +3280,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "d1a235ea1f53a25d4a2474ebad49e6a3" + "5806231de2329c421168c918bef1980e" ], [ "LowParseWriters.valid_rewrite_repr", @@ -3285,7 +3289,7 @@ 1, [ "@query" ], 0, - "4ebe915f45d4966e366b5e060e41f0f9" + "3f291616ee71ca8ad8a45075b4bfdb25" ], [ "LowParseWriters.valid_rewrite", @@ -3294,7 +3298,7 @@ 1, [ "@query" ], 0, - "7d77bc53d81812922443af13104a8555" + "a42d0bb91293086c87255a9e14bf0cc5" ], [ "LowParseWriters.cast", @@ -3306,7 +3310,7 @@ "refinement_interpretation_Tm_refine_bd7e27c6f4aa97dcee8da0d3a41a8cb1" ], 0, - "54e53399d861af61eefe9419fd4f54dd" + "06f455b3eae3c48c61b0a481705f0375" ], [ "LowParseWriters.cast", @@ -3330,7 +3334,7 @@ "refinement_interpretation_Tm_refine_bd7e27c6f4aa97dcee8da0d3a41a8cb1" ], 0, - "d1d42224815382260b2bd9a292b3a05e" + "8c0cfb3296000af9d50d0f91348c4a4e" ], [ "LowParseWriters.valid_rewrite_parse_pair_assoc_1", @@ -3357,7 +3361,7 @@ "typing_LowParseWriters.LowParse.size" ], 0, - "b2be56066218be84bc49bb9cb9a92a4d" + "d4e379b2bdef2a88540c7b7c1090215a" ], [ "LowParseWriters.valid_rewrite_parse_pair_assoc_2", @@ -3384,7 +3388,7 @@ "typing_LowParseWriters.LowParse.size" ], 0, - "c55518b42e95d51504be0dd5ff3ad646" + "401b7884a92dbe9358975cd0a0bc8a7d" ], [ "LowParseWriters.valid_rewrite_parse_pair_compat_l", @@ -3403,7 +3407,7 @@ "refinement_interpretation_Tm_refine_c34becded4ee2035e3578d57522f382c" ], 0, - "8ac54f3698fef6c15acb93df8170f2ca" + "f3b08b5c285a3652e767857e1a9097c6" ], [ "LowParseWriters.valid_rewrite_parse_pair_compat_r", @@ -3422,7 +3426,7 @@ "refinement_interpretation_Tm_refine_6ef99c39becd8fb6797eae328278081d" ], 0, - "a2280272a08cde9074cdf3574db4eaf5" + "d8acfed91a2217f4cd21be0597d49a83" ], [ "LowParseWriters.check_precond_t", @@ -3434,7 +3438,7 @@ "refinement_interpretation_Tm_refine_a7346e222cbf90f5c0be34c80478778e" ], 0, - "6b93e5aba9b037cfa96d06f5b33b0dae" + "45b49ba03d4db98dd1b8c815e60c7afb" ], [ "LowParseWriters.check_precond_spec", @@ -3451,7 +3455,7 @@ "refinement_interpretation_Tm_refine_1eb8227f6a6a8241b98e624c517e3da7" ], 0, - "6911c1a4ada686db50456c4dab6bf8aa" + "86356560f04ddad45d0001b21b23fc7e" ], [ "LowParseWriters.check_precond_impl", @@ -3519,7 +3523,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "05a8e33baa9708c30277c298fd9e8ae2" + "326870f55702ad3aae48db0f0b8541c0" ], [ "LowParseWriters.cat_spec", @@ -3545,7 +3549,7 @@ "typing_LowParseWriters.deref_spec", "unit_inversion" ], 0, - "1aafac8835080e2b40a567b0073ca246" + "b36c78e6e3f370d03541562354939bf5" ], [ "LowParseWriters.cat_impl", @@ -3660,7 +3664,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_typing" ], 0, - "a49d3c34e67d12c635b7f4a1ef35837b" + "48e023eeabfba9e734bae539eb8475d3" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/LowParseWriters.fsti b/examples/layeredeffects/LowParseWriters.fsti index ec24219cd72..971a2da742f 100644 --- a/examples/layeredeffects/LowParseWriters.fsti +++ b/examples/layeredeffects/LowParseWriters.fsti @@ -27,7 +27,7 @@ module HST = FStar.HyperStack.ST irreducible let refl_implicit : unit = () -open FStar.Tactics +open FStar.Tactics.V2 noeq [@erasable] @@ -406,11 +406,11 @@ let reify_read = extract_read_repr_impl _ _ _ _ _ _ (destr_read_repr_impl _ _ _ _ _ r) -let is_uvar (t:term) : Tac bool = match t with +let is_uvar (t:term) : Tac bool = match inspect t with | Tv_Uvar _ _ -> true | Tv_App _ _ -> let hd, args = collect_app t in - Tv_Uvar? hd + Tv_Uvar? (inspect hd) | _ -> false let is_eq (t:term) : Tac (option (term & term)) = @@ -443,10 +443,10 @@ let rec try_rewrite_equality (x:term) (bs:binders) : Tac unit = match bs with | [] -> () | x_t::bs -> - begin match term_as_formula' (type_of_binder x_t) with + begin match term_as_formula' x_t.sort with | Comp (Eq _) y _ -> if term_eq x y - then rewrite x_t + then rewrite (binder_to_binding x_t) else try_rewrite_equality x bs | _ -> try_rewrite_equality x bs @@ -456,12 +456,12 @@ let rec rewrite_all_context_equalities (bs:binders) : Tac unit = match bs with | [] -> () | x_t::bs -> begin - (try rewrite x_t with | _ -> ()); + (try rewrite (binder_to_binding x_t) with | _ -> ()); rewrite_all_context_equalities bs end let rewrite_eqs_from_context_non_sq () : Tac unit = - rewrite_all_context_equalities (cur_binders ()) + rewrite_all_context_equalities (List.Tot.map binding_to_binder (cur_vars ())) let rewrite_eqs_from_context () : Tac unit = rewrite_eqs_from_context (); diff --git a/examples/layeredeffects/LowParseWriters.fsti.hints b/examples/layeredeffects/LowParseWriters.fsti.hints index 69c2118007d..99058ea166b 100644 --- a/examples/layeredeffects/LowParseWriters.fsti.hints +++ b/examples/layeredeffects/LowParseWriters.fsti.hints @@ -1,5 +1,5 @@ [ - "†\\F’¬C¼5+-§ÐLm€", + "S2u\t\u0013É…/Oq’ò©ÆoÞ", [ [ "LowParseWriters.memory_invariant_includes_trans", @@ -25,7 +25,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "c2603ce78e1f23000ce5128c5117719c" + "3c95cd8cd1023f38803eee4f679be3e7" ], [ "LowParseWriters.__proj__Correct__item___0", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_148a8463a89a2493ecbd47da78405ee9" ], 0, - "552032867603f1ad0c521442cfa6c9cb" + "32340586fb1d6e63a87dd7e3065b5ccb" ], [ "LowParseWriters.__proj__Error__item___0", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_1ffb98942b6f7ce8491341f66b1deee3" ], 0, - "2c4b818177c5bcf1f2af9a439b33bb99" + "148c226b7ed82cff0148b97db25c9375" ], [ "LowParseWriters.read_repr_spec", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_1d96020d9d4cce4bffe0a300e202fa85" ], 0, - "2f8e505af8f54115c7451d7ccfd8108c" + "9206e61004ae931da91cd803f456e704" ], [ "LowParseWriters.mk_read_repr_impl", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "0037608f28187bbf4bdb5228c639fb06" + "75b238cf5c0349d375db1e0717791e2b" ], [ "LowParseWriters.extract_read_repr_impl", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "84570575b570b688449dc3174c4937cc" + "a3b007fb1b84d254ed3c15e6e6d26079" ], [ "LowParseWriters.read_return_spec", @@ -102,7 +102,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "0c0a816e28a6a7ad96beaf23727e905f" + "321c05ef938d99ed0a174d047add2a6c" ], [ "LowParseWriters.read_bind_spec", @@ -121,7 +121,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "6f3295587c3c88b75708f2141a96d7fe" + "709e94aa0f8c3c5e2be196db9e62a3ac" ], [ "LowParseWriters.read_bind", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "bbe3ca4b8f81f9240f1edd3725aea3d1" + "0c832f28a6b312c003e8db456af153aa" ], [ "LowParseWriters.read_subcomp_spec", @@ -144,7 +144,7 @@ "@MaxIFuel_assumption", "@query", "data_elim_LowParseWriters.Correct" ], 0, - "a7349b50a809496e8577527276bfdf6c" + "2107aa5e819322193d7a796fbac07387" ], [ "LowParseWriters.read_subcomp_impl", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_5d8cd0e7ab0c73a4da8904c1ec15fd2e" ], 0, - "c914ae207ceafffd60549d27599a3e87" + "8eec1faedf1ceadfa2a074b82a9df347" ], [ "LowParseWriters.read_subcomp", @@ -165,7 +165,7 @@ 1, [ "@query" ], 0, - "0fa98c283534c062c746c6892ae292ba" + "11ca8f9ef2f2c864d93322efb56a5e9b" ], [ "LowParseWriters.ERead", @@ -192,7 +192,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "6bb7a5e547e6ff6bf0f73b02ba0ba879" + "696228127410481491224f5db7d312f3" ], [ "LowParseWriters.ERead", @@ -219,7 +219,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "04588147e6d575b260acaaada41b0d69" + "4329066d12f558fe3664c0edaf75b06a" ], [ "LowParseWriters.ERead", @@ -245,7 +245,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "213ee2ef9eccdaafb8c7d73cdd5162e2" + "7c5602665293fecf552e0c32a66c1053" ], [ "LowParseWriters.lift_pure_read_spec", @@ -274,7 +274,7 @@ "typing_Tm_abs_a1e078de1ab64da00a64b25bd2a9a388" ], 0, - "2b7cce891749d2cc0911ad25ec01f183" + "e81cf1c8f4957977567eba630d239f55" ], [ "LowParseWriters.reify_read", @@ -286,7 +286,7 @@ "refinement_interpretation_Tm_refine_71c3130636a4dc156c6133982e4aff09" ], 0, - "7cfef97ca4c420204e4a99deddcb0c91" + "4efacb22ae4240e554e606a1647ee461" ], [ "LowParseWriters.pick_next", @@ -297,7 +297,8 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", + "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", @@ -309,7 +310,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9bea228fab42a61dbae0d5d74b9b94f3" + "4752f98e78f151377f274fe9b6b7471f" ], [ "LowParseWriters.try_rewrite_equality", @@ -318,12 +319,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binders", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0" ], 0, - "38d86f3456482189e39655191ee3bdb0" + "bd4856a3c1514a9f8a65eccac5060ecf" ], [ "LowParseWriters.rewrite_all_context_equalities", @@ -332,12 +334,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binders", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0" ], 0, - "32af0b171bcd9243d94a089a51c67d6c" + "0952d2691788e7d30063ff6fb5abd8c8" ], [ "LowParseWriters.test_read_if", @@ -363,7 +366,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "094519ae81564801b52e22111126c2ad" + "a24732227d303f8fc2cf0cf7a6cf33e2" ], [ "LowParseWriters.test_read1", @@ -389,7 +392,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "2a6327d1c2666afc10e7c34ae540713a" + "23fba0530c6494ebedd6584b77a19027" ], [ "LowParseWriters.test_read2", @@ -415,7 +418,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "1e87979d9d074f0b070326154c69244e" + "c1649dd66a6ee3671a7416d705dad8bd" ], [ "LowParseWriters.test_read3", @@ -441,7 +444,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "16c3cf151c9b527cebde5ba901e628a4" + "33e1681fe6c385c4d76edf512fa10ea3" ], [ "LowParseWriters.failwith_spec", @@ -454,7 +457,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "64e17973856cd79c9f341fd4741af2cd" + "3939847806164b332a7470687c01fd0d" ], [ "LowParseWriters.buffer_index_spec", @@ -482,7 +485,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "c5b18e6d4bd8b9628cd2f89279e476c7" + "d0f56c617ebc952988afa4c2d7f60ad2" ], [ "LowParseWriters.buffer_index_impl", @@ -503,7 +506,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "d9bc6f69b22636f1c1769a318bb49d17" + "f71a56970870e75f6a90d6935c55734a" ], [ "LowParseWriters.buffer_index", @@ -526,7 +529,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "0f35b27f5fce2871d7c1265124550d88" + "1c478eef866120270bfbdba80d4f7ad8" ], [ "LowParseWriters.buffer_sub_spec", @@ -552,7 +555,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "793829a311b3303bb098afad3409e44b" + "ccf6f1a7e1c4ccd6c1ef7a67e2609d0a" ], [ "LowParseWriters.buffer_sub_impl", @@ -561,7 +564,7 @@ 1, [ "@query" ], 0, - "fd00a6b2172474723dccc41fd73f0224" + "053fb3374c25d740879ef62d114b054e" ], [ "LowParseWriters.buffer_sub", @@ -570,7 +573,7 @@ 1, [ "@query" ], 0, - "44e1bd0ded19e8b5118e7852dc5ca416" + "c9b2520aa0bc7ff973ce33e26df06d90" ], [ "LowParseWriters.mk_ptr", @@ -582,7 +585,7 @@ "refinement_interpretation_Tm_refine_7c4a40d2b3cc45c979a7faad1506b5e9" ], 0, - "27dce80871da622e2bdce896b5b0808e" + "94b4febb9bc3df9892cad9f6df95bd43" ], [ "LowParseWriters.buffer_of_ptr", @@ -591,7 +594,7 @@ 1, [ "@query" ], 0, - "318bad20ac4b1b35ca2695ed40efd2a2" + "8ffcda1add308f5479256f7d263a0d3f" ], [ "LowParseWriters.valid_rptr_frame", @@ -600,7 +603,7 @@ 1, [ "@query" ], 0, - "50b9e6b9b07e4241ffc39efc1659b5dd" + "7e8ef7e07d551c0a86d370d99047426a" ], [ "LowParseWriters.deref_impl", @@ -613,7 +616,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "4376b33dee388b909ffd1b73594eb47c" + "54e082ffb3b763a6ffcbeb61698c33e7" ], [ "LowParseWriters.deref_repr", @@ -626,7 +629,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "92c1e9294d1d342aaf980ce379d34b79" + "79849ff4b851986a064dd0f9f96300d6" ], [ "LowParseWriters.access_spec", @@ -638,7 +641,7 @@ "refinement_interpretation_Tm_refine_515fe7fdd23536c0889af098cb1521c0" ], 0, - "b79dbdc7a810339a7a139dc10cb7b194" + "1474c9ea26ee572466637a0d5b5b2acc" ], [ "LowParseWriters.access_impl", @@ -651,7 +654,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "04dfe0c670220dfbca0550c5f0bc55f2" + "8e99d89b020d37a598b2779f8f62d72d" ], [ "LowParseWriters.access_repr", @@ -664,7 +667,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "3f675dba412e084a0f9bed880aba675f" + "07fe502bc7d653f9886251874004d6bd" ], [ "LowParseWriters.access", @@ -673,7 +676,7 @@ 1, [ "@query" ], 0, - "ee599d1fd711fc48d8b3814cc264e847" + "9de00b0ea05a11b5cdd87b29ec07fd1f" ], [ "LowParseWriters.validate_post", @@ -682,7 +685,7 @@ 1, [ "@query" ], 0, - "3beba7f3981dda096a791cf45143f7f9" + "55916f8b74125759fcc05d7f22b01809" ], [ "LowParseWriters.repr_spec", @@ -698,7 +701,7 @@ "refinement_interpretation_Tm_refine_4657fa066e1615d35a5e92ce2afbd2c3" ], 0, - "9eff62c0d7aa0e0b2067bbb001cf0d27" + "d897d1372b3e24a0c1712d08fcc4932d" ], [ "LowParseWriters.__proj__ICorrect__item__res", @@ -710,7 +713,7 @@ "refinement_interpretation_Tm_refine_aa6aafa7df4950197831ce9cbce7f51a" ], 0, - "01fe5d3dffaf99051b4736b77c79909c" + "98a6ba163deaebc62f33c7607b0dc398" ], [ "LowParseWriters.__proj__ICorrect__item__new_pos", @@ -722,7 +725,7 @@ "refinement_interpretation_Tm_refine_aa6aafa7df4950197831ce9cbce7f51a" ], 0, - "3650eb5b17665bbc98454705407e5f9c" + "67acde59ee7e5ef8e41a1748cc023d47" ], [ "LowParseWriters.__proj__IError__item___0", @@ -734,7 +737,7 @@ "refinement_interpretation_Tm_refine_451de6ad11fce232c71a98651cb8f5d8" ], 0, - "5c10e94787b80fa81d91b80794a39eb4" + "0e45456374f113ac4224090b11f00609" ], [ "LowParseWriters.repr_impl_post", @@ -743,7 +746,7 @@ 1, [ "@query" ], 0, - "732bb8f1d47ea42e1102811a38d637b3" + "929fc399b578300c9be964919112ad04" ], [ "LowParseWriters.mk_repr_impl", @@ -757,7 +760,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "7650106b12b27ad47594fed0555f7655" + "1714646ed7441a1f6269ef5fc1514c98" ], [ "LowParseWriters.extract_repr_impl", @@ -771,7 +774,7 @@ "refinement_interpretation_Tm_refine_58698342aad3c73ac102e0c0467addc1" ], 0, - "062b5cf385afdf3393554d65811420df" + "43b8596143aaab92d387df6e4c87a866" ], [ "LowParseWriters.return_spec", @@ -786,7 +789,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "ade014c99f780d29394721c1785a538c" + "e486cc3cd6b055411713add490b36916" ], [ "LowParseWriters.bind_spec", @@ -808,7 +811,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "1a8abbc6f6946da3f03ef018f6fe241d" + "cc05ce8f9cbd13c8a6d39fcd5cfb67ac" ], [ "LowParseWriters.bind", @@ -821,7 +824,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "110b8078c21fdde1aef4e125a52b08d6" + "11a5b762fd7c83194a968ae5ca9bd573" ], [ "LowParseWriters.subcomp_spec", @@ -837,7 +840,7 @@ "proj_equation_LowParseWriters.LowParse.Parser_t" ], 0, - "5c7b3047a9d24d4473021b7aa84ae1a0" + "75669513d0dbcc62a9c314af8b5f7b06" ], [ "LowParseWriters.subcomp_impl", @@ -849,7 +852,7 @@ "refinement_interpretation_Tm_refine_d5f3e3757347b86057f40bcdfede2573" ], 0, - "b69cce37c3d48e859907ebf988106320" + "e5974892627a30e0b3e880223d83e0df" ], [ "LowParseWriters.subcomp", @@ -861,7 +864,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "91f2fd2dffeb02772acb168b298c09cf" + "76b94634a8be174d595a4997868f3f58" ], [ "LowParseWriters.if_then_else", @@ -874,7 +877,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "0b273407975ec1555b244c330f50482b" + "d655046ea37f44431955c02ea1853e78" ], [ "LowParseWriters.EWrite", @@ -886,7 +889,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "db74a6091369ad7dd7d9c78f25ad72e7" + "a0d3c03dfee1e4abee306dd22d0893d1" ], [ "LowParseWriters.EWrite", @@ -898,7 +901,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "769b6e60883136111607bd277202e436" + "ed1cf192edd95582996aed477d089b09" ], [ "LowParseWriters.EWrite", @@ -910,7 +913,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "b837b50ae8a85c4c7ed731028b575845" + "d30baa7bb62ac9a878bc1ec58180b815" ], [ "LowParseWriters.EWrite", @@ -922,7 +925,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "0cf5d9cdf7340b463d746ff582b58882" + "8db0415447d7a533b4f4b152b7dc107c" ], [ "LowParseWriters.EWrite", @@ -934,7 +937,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "2faf23d0d8f437a1625f32697731bef9" + "d25e31f92ca749941132cec7e5f54855" ], [ "LowParseWriters.EWrite", @@ -947,7 +950,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "fd5e63590e4a2cfb52ff6b21882846d5" + "78a302457161d2adaf4e90632c6893a6" ], [ "LowParseWriters.EWrite", @@ -959,7 +962,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "ff8fe8d83afb8a47c554d5d1024b8e8e" + "094ef8db37a1b20961df1fc5c5c9d159" ], [ "LowParseWriters.EWrite", @@ -971,7 +974,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "2f70bf3272362219fcbf6b41b7f8e1da" + "8407d01154e82a7da07dbb081de69d15" ], [ "LowParseWriters.EWrite", @@ -983,7 +986,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "aaffeaa77fccd3578fd5e3837effd9cb" + "77ddb4f5a2fca6baffc7e89f27e58937" ], [ "LowParseWriters.EWrite", @@ -995,7 +998,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "19a293ac7e59a6179100b6bdb5071b2d" + "adc9905ddf98f1ffd3c026c0613c56f1" ], [ "LowParseWriters.EWrite", @@ -1007,7 +1010,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "ed3af858f733cf21f2ee15d873d74d68" + "8f6d9de8755dc22dd92e8b01aeba2b2a" ], [ "LowParseWriters.EWrite", @@ -1019,7 +1022,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d9e4882413a409744cdb84d4ffc4de01" + "e4271b476f5cec2dfa46f003350d3881" ], [ "LowParseWriters.EWrite", @@ -1046,7 +1049,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "73b22d0584fd40c26e9befa8da00c8e5" + "b3a232253e123764c716cdafb33c58af" ], [ "LowParseWriters.EWrite", @@ -1058,7 +1061,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "ea7873d07c210f8b697639a5f12d0775" + "10d3c03e7454112d60e8d03c859ec516" ], [ "LowParseWriters.EWrite", @@ -1070,7 +1073,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "6ca3ce054746bf46843244be6f566e28" + "66cb19cab34280b3626a87ab07c78f0d" ], [ "LowParseWriters.EWrite", @@ -1082,7 +1085,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "80ab08d7465de94ce993e6bfb33f926b" + "b9542b2fdc98038166fa13b2228a67a0" ], [ "LowParseWriters.EWrite", @@ -1094,7 +1097,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d7c3249a3fd5dab2dd83f18441a58ebd" + "e74dc9e95746c1cc951ef0fa589a7556" ], [ "LowParseWriters.EWrite", @@ -1106,7 +1109,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d17c2034273a8c4914ae4961c8556196" + "4c746d3f8293498bfb7eabe49c649347" ], [ "LowParseWriters.EWrite", @@ -1133,7 +1136,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "a642824fdcbfe2aa4898b93c20ddf656" + "a81e480be25ec0bc7783268288edbbcc" ], [ "LowParseWriters.lift_read_spec", @@ -1157,7 +1160,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "83194d0bda98ba01f689a69e2215a74e" + "95402f07f8a2c0f830841f0e7996cdcf" ], [ "LowParseWriters.wfailwith_spec", @@ -1170,7 +1173,7 @@ "projection_inverse_LowParseWriters.Error_a" ], 0, - "82db1bcfd7746cc286f33484ae7258cc" + "d26133a58f0b4d4cc35324d4bd60fa27" ], [ "LowParseWriters.extract_t", @@ -1179,7 +1182,7 @@ 1, [ "@query" ], 0, - "3aa501a01b0fcfaa4c1b7b7d6135a647" + "9c69f2335f6f5c129e45da5207c6dd0d" ], [ "LowParseWriters.get_state_spec", @@ -1196,7 +1199,7 @@ "typing_LowParseWriters.LowParse.__proj__Parser__item__t" ], 0, - "bf3a66a65ae93057cb71857d8861d4b9" + "0dad41a578d3b1131fcd00422a6529e9" ], [ "LowParseWriters.frame_spec", @@ -1226,7 +1229,7 @@ "refinement_interpretation_Tm_refine_5ea6f4a299cb5e289b11758dc9f6cb56" ], 0, - "43d3eaa9bf5f70476d00120cc2b9b68e" + "2c4eb319aee03fc50aec72b207196ae5" ], [ "LowParseWriters.frame_impl", @@ -1252,7 +1255,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "9b5966b5fb86aedd0e6574ce49edb15f" + "4127a37cca22f5af71472b640ca07650" ], [ "LowParseWriters.frame_repr", @@ -1278,7 +1281,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "9631ea63c9ad3b0b4d442d5d549c40d9" + "0a444691242fe77c0b6020201e0de337" ], [ "LowParseWriters.frame", @@ -1304,7 +1307,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "117c3216a90a58f4c6fd25f461181796" + "e86904021ab9420dc49a7c8b7d61b1c4" ], [ "LowParseWriters.elem_writer_spec", @@ -1329,7 +1332,7 @@ "typing_LowParseWriters.LowParse.size", "unit_inversion" ], 0, - "1340bf4d420a6538031ef29e4c8e8713" + "d977eb1d79726f2a96cbdfba9efed88b" ], [ "LowParseWriters.start", @@ -1355,7 +1358,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "89935bcdec104c9482460cd4d9949f3b" + "c788b0165d26cc435eec765a5553409c" ], [ "LowParseWriters.append", @@ -1381,7 +1384,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "7bf0eabbec552a17df9968339f6f6703" + "3251ef78bdee8494e6cbc193e4834ac0" ], [ "LowParseWriters.recast_writer_spec", @@ -1420,7 +1423,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "6267ffc1aa34080f1723d26166e805a0" + "b6442e070205a20f4419fbbaec028670" ], [ "LowParseWriters.recast_writer_impl", @@ -1446,7 +1449,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "51230f3081739bf9a6201a8646672da5" + "ab81e5c103d3aa97636f164eb99e8813" ], [ "LowParseWriters.recast_writer_repr", @@ -1472,7 +1475,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "280bdbfc09fb1f2487db7d78b098dc5b" + "f40aa3e5ef5fa9e4721e1f777517366d" ], [ "LowParseWriters.recast_writer", @@ -1498,7 +1501,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "80c551e0b283765ad6067d8ab80acdb9" + "4a455e4a8ab60138aa5d5590be7e9823" ], [ "LowParseWriters.frame'", @@ -1524,7 +1527,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "562c3faabe0e76890ed9f458ed0d228a" + "4682d7608aa0c911a740a22d95ffad4e" ], [ "LowParseWriters.frame2_spec", @@ -1554,7 +1557,7 @@ "projection_inverse_LowParseWriters.LowParse.Parser_t" ], 0, - "75715d1a846bdebd0f91bf230c9bca66" + "4e3fe14d39f8332eb9f0d7c8aabc821d" ], [ "LowParseWriters.frame2_impl", @@ -1580,7 +1583,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "740fa7c2c42a9158159b9e70797ddb23" + "1f146c7db2ca2a92fefd007157643778" ], [ "LowParseWriters.frame2_repr", @@ -1606,7 +1609,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "3d50dbd3e2336c1c53fea753026f7bde" + "677a18fd6c5762f9af809c80fbf7ca19" ], [ "LowParseWriters.frame2", @@ -1632,7 +1635,7 @@ "typing_LowParseWriters.__proj__Mkmemory_invariant__item__lwrite" ], 0, - "ae835ff5665eed074cbf19d344b5b03e" + "257949bd388dea68cd12611b382e004d" ], [ "LowParseWriters.valid_rewrite_t", @@ -1641,7 +1644,7 @@ 1, [ "@query" ], 0, - "4100fd06f226331cdebb26fcecc1e921" + "6ef0d8a9e833de0afece7b317413a825" ], [ "LowParseWriters.__proj__Mkvalid_rewrite_t__item__valid_rewrite_valid", @@ -1650,7 +1653,7 @@ 1, [ "@query" ], 0, - "d62c5006cc712491c8f166ca5a4fa315" + "508982d2d2e698865a3fe64718a154f7" ], [ "LowParseWriters.__proj__Mkvalid_rewrite_t__item__valid_rewrite_valid", @@ -1659,7 +1662,7 @@ 1, [ "@query" ], 0, - "ecff55f66342254b4d9e296e2b794981" + "ff3320ea2c2a9b5dee268ed957f9747b" ], [ "LowParseWriters.valid_rewrite_implies", @@ -1674,7 +1677,7 @@ "typing_LowParseWriters.LowParse.contents" ], 0, - "7816b0f9276340a752a7559ab14bee5a" + "df08f7390418c96a06fd9c17e1855ad0" ], [ "LowParseWriters.valid_rewrite_compose", @@ -1687,7 +1690,7 @@ "refinement_interpretation_Tm_refine_41aedb64593c1013f655c6e91e0532ce" ], 0, - "873c39cd8f9920e78ac198184dc446a0" + "8578d6c247e3c34dfccaeea190de1009" ], [ "LowParseWriters.valid_rewrite_spec", @@ -1701,7 +1704,7 @@ "projection_inverse_LowParseWriters.Correct_a" ], 0, - "ffaf5d992af0ad741dabdd7bbabdd36e" + "6658599e2714297130127e8d7b8ac8e5" ], [ "LowParseWriters.valid_rewrite_impl", @@ -1710,7 +1713,7 @@ 1, [ "@query" ], 0, - "7e3376dc857c58dd29f0685ae0a8ccf6" + "3c6d3fb59ed2528d845c553ec820c191" ], [ "LowParseWriters.valid_rewrite_repr", @@ -1719,7 +1722,7 @@ 1, [ "@query" ], 0, - "0658b1e14306576f7696b67fe68487af" + "05e66b077f9c5f9e19ad3c42d9622d5a" ], [ "LowParseWriters.valid_rewrite", @@ -1728,7 +1731,7 @@ 1, [ "@query" ], 0, - "d52ad8882b30fa73fa2ed225d0833366" + "56fddf139bd0234db491dd7cbebfd1b3" ], [ "LowParseWriters.cast", @@ -1740,7 +1743,7 @@ "refinement_interpretation_Tm_refine_bd7e27c6f4aa97dcee8da0d3a41a8cb1" ], 0, - "26e01b97243ad41a474040fda7852fed" + "deca15774970ced607a4a39d30cf495a" ], [ "LowParseWriters.valid_rewrite_parse_pair_assoc_1", @@ -1767,7 +1770,7 @@ "typing_LowParseWriters.LowParse.size" ], 0, - "1819de0dcb2d4ebb409e24849bea9901" + "cd0a4df2e27259be6ce76c6c30ba1fa9" ], [ "LowParseWriters.valid_rewrite_parse_pair_assoc_2", @@ -1794,7 +1797,7 @@ "typing_LowParseWriters.LowParse.size" ], 0, - "289dccf9a4b98986730cfd09d7444b0a" + "2271d88ae5e753aa45ca7f4a1de2467d" ], [ "LowParseWriters.valid_rewrite_parse_pair_compat_l", @@ -1813,7 +1816,7 @@ "refinement_interpretation_Tm_refine_c34becded4ee2035e3578d57522f382c" ], 0, - "deec4e80dac649de2614052fdef94c3a" + "2c0e6729bf544855a7df42bc5f9edbb5" ], [ "LowParseWriters.valid_rewrite_parse_pair_compat_r", @@ -1832,7 +1835,7 @@ "refinement_interpretation_Tm_refine_6ef99c39becd8fb6797eae328278081d" ], 0, - "a344289c53eca60002b51159df9e9a7c" + "a03a8ba469e65ce9a7098955f94162a8" ], [ "LowParseWriters.check_precond_t", @@ -1844,7 +1847,7 @@ "refinement_interpretation_Tm_refine_a7346e222cbf90f5c0be34c80478778e" ], 0, - "e7988c373550c09fedb909c75fb97703" + "9ecc983b92a4763e03727e3963162188" ], [ "LowParseWriters.cat_spec", @@ -1870,7 +1873,7 @@ "typing_LowParseWriters.deref_spec", "unit_inversion" ], 0, - "12747fb509f255843dcb91acdff27787" + "e2533085a9ae277eff0153d01774818a" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/MSeqExn.fst.hints b/examples/layeredeffects/MSeqExn.fst.hints index 5c38977cc5b..0c1da15ea3d 100644 --- a/examples/layeredeffects/MSeqExn.fst.hints +++ b/examples/layeredeffects/MSeqExn.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "782e011856f22d5f408ea35c81f08f97" + "73a299a00c3d441ca3c3a6906daedaa8" ], [ "MSeqExn.__proj__Success__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_bca7c46301f85d0bd6667ce2075a559f" ], 0, - "e34770cc5fc64052987078a9da9e4249" + "3cd340de54d168909f8a6aa95c95a417" ], [ "MSeqExn.__proj__Error__item___0", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_aa268dc3d9ba92bda2faef10efd31e86" ], 0, - "8b390d530eb0001f1895812b8cf024d7" + "48bfa8a5c0dfbe8b7cb8efa076999349" ], [ "MSeqExn.grows", @@ -52,7 +52,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "701fdc0684a3cda0568902be93fbb3a7" + "307efc22af9626f8876bdfc4f57b04b1" ], [ "MSeqExn.grows", @@ -70,7 +70,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3b6b1fb3e684335db7fd95c66089ff18" + "9903aa5a85e0974da41c9740aecfd895" ], [ "MSeqExn.repr", @@ -89,7 +89,7 @@ "typing_Tm_abs_129e01eefee35b85dba4d23a66214fef" ], 0, - "d04940fe854d016ac667eef7e9cb8498" + "8f8306d467471efdc3a8dfc970b9127a" ], [ "MSeqExn.return", @@ -105,7 +105,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "629e3e583634ccf2ed6349363497181b" + "6ca846928a99d6cbada74fea5554c813" ], [ "MSeqExn.bind", @@ -146,7 +146,7 @@ "typing_Tm_abs_98148b3d1f2c61bf8348c5a5348b7d10" ], 0, - "a520d9e370bf27973f8ab906bd5d8431" + "8011a4b936a3d897a7b6f2c762f3fc34" ], [ "MSeqExn.subcomp", @@ -163,7 +163,7 @@ "typing_Tm_abs_756d7262b543c7c6a48d481f61bc2bf2" ], 0, - "4d9b038d7acfff657e6ca6c59a07d6b6" + "6d59b0c41f04b16c96d8a9daf5372f0c" ], [ "MSeqExn.if_then_else", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_727bec1c7bc6283b532887908e2fabc4" ], 0, - "75b0c1aa79dd7d4f14d763e62790839f" + "22e61be6c448f55c1980af1b89b0d704" ], [ "MSeqExn.MSeqEXN", @@ -187,7 +187,7 @@ "data_typing_intro_MSeqExn.Success@tok" ], 0, - "4bc33f2636de14b135637611f563e414" + "7cc72cbcaaebc1f5731c2e4e01532fa1" ], [ "MSeqExn.MSeqEXN", @@ -210,7 +210,7 @@ "typing_Tm_abs_61f0b4e4fc1bf22287ce3037711369a5" ], 0, - "f97e34344d1672946cc2829b2115303f" + "a8f4860138e7ce9991894fbcec9bd4fa" ], [ "MSeqExn.MSeqEXN", @@ -233,7 +233,7 @@ "typing_Tm_abs_61f0b4e4fc1bf22287ce3037711369a5" ], 0, - "37322d589ee7928410055acb56ccb1d0" + "ecf43ced5b1ccd9667db85f2cafb639e" ], [ "MSeqExn.MSeqEXN", @@ -242,7 +242,7 @@ 1, [ "@query" ], 0, - "5e8d1df0d2c239938db3867041769e43" + "9e12f0c3e98b43ec233374f3ed9fa438" ], [ "MSeqExn.MSeqEXN", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_727bec1c7bc6283b532887908e2fabc4" ], 0, - "1ab3a96f2530e5fdc3b27be48f2da403" + "86dd1174d73b95be1113486d3304438d" ], [ "MSeqExn.MSeqEXN", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_727bec1c7bc6283b532887908e2fabc4" ], 0, - "4e186ddc780030f68957f20da5c8c893" + "132cbfc0af2df3f349aa662849d08ac1" ], [ "MSeqExn.MSeqEXN", @@ -280,7 +280,7 @@ "refinement_interpretation_Tm_refine_727bec1c7bc6283b532887908e2fabc4" ], 0, - "8b85057cca9becfde6e2513d37f5fe3c" + "d17c837d341a9bce8a3db3ef8b16f72c" ], [ "MSeqExn.MSeqEXN", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "90b3a75bbc120d2ebac3168c9095e5a8" + "be34b65b2da7a69d8e11314706d6f38d" ], [ "MSeqExn.MSeqEXN", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "4387107d813c54e1320ec26e5a334064" + "9031306190798d81131e774d514d261d" ], [ "MSeqExn.MSeqEXN", @@ -317,7 +317,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "c53f0846bab7047f52d699ccd2abb956" + "92e3ce6b8f31c70e588002bd1d6d8795" ], [ "MSeqExn.lift_pure_wp", @@ -335,7 +335,7 @@ "typing_Tm_abs_5a434916a6831db435ec4d0cc4191967" ], 0, - "6a135935eace037c1d6ebfcebc2cdc7f" + "1b619933fdb07cea10ddb6b9c40905c2" ], [ "MSeqExn.lift_pure_mseqexn", @@ -362,7 +362,7 @@ "typing_Tm_abs_d85abeda43527ced4d79d6bbe0d33206" ], 0, - "2e3fbf38d3d03a150d4ab3364ab9acbc" + "3ca36792f01e7c50b40c806b0e748fad" ], [ "MSeqExn.MSeqExn", @@ -371,7 +371,7 @@ 1, [ "@query" ], 0, - "1a25a845f3e45acba5b13997337f6248" + "5a94a5d7ecfe1925185e13f9387d7b7c" ], [ "MSeqExn.witnessed_constant", @@ -380,7 +380,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "75d86b7db038c3e1d7d689352579883d" + "3e30977dbbfec0f35a66a1b4611ffda7" ], [ "MSeqExn.witnessed_nested", @@ -389,7 +389,7 @@ 1, [ "@query" ], 0, - "642897c4cad0f6b8bac1ce534687c080" + "dcc69d7698bad876061cd5a72c1c6984" ], [ "MSeqExn.witnessed_and", @@ -398,7 +398,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "d2c74bcb81a31c0b04a1880c973cefe9" + "f04ef4ed78562f17ac2d81837da09738" ], [ "MSeqExn.witnessed_or", @@ -407,7 +407,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "7088a7498485a0cec81d10cf2de05a0d" + "ddedd290f52bc4be2a9fa13b4e994d01" ], [ "MSeqExn.witnessed_impl", @@ -416,7 +416,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "dea144f1039214d20a21850aa34f1286" + "7eb3d71e6d813270029fcbe358d3e407" ], [ "MSeqExn.witnessed_forall", @@ -425,7 +425,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "cf6ff850de4b357e1da5bcb07696cfd0" + "f2f5954c944d0b60a2bf0e8a7b157f15" ], [ "MSeqExn.witnessed_exists", @@ -434,7 +434,7 @@ 1, [ "@query", "equation_MSeqExn.witnessed" ], 0, - "1c1b7d3aa84c9b70671be0081867bdbc" + "08be56b2cb455fcbbdedc108b84c94d7" ], [ "MSeqExn.get", @@ -452,7 +452,7 @@ "refinement_kinding_Tm_refine_39fc48d179c0612597a9a194407ba9c9" ], 0, - "774432ba80265a92e2a4052c8edb2998" + "6d7b859902447af465b55d9c88b21381" ], [ "MSeqExn.put", @@ -465,7 +465,7 @@ "equation_MSeqExn.state" ], 0, - "cd983a169d07d356d7167060dc2c8e7e" + "3cf4641ff4d89e1de7d03617a39f8235" ], [ "MSeqExn.raise", @@ -481,7 +481,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a2aaaa7c90992e43c91e353c412ba9b5" + "3a2c851223319947d82bcd5d28ba266f" ], [ "MSeqExn.size", @@ -501,7 +501,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4f7e6836f94be94b39f895b7b1afdcd8" + "743a3250ede0ac1f152a30a684a9922c" ], [ "MSeqExn.write_at_end", @@ -533,7 +533,7 @@ "typing_FStar.Seq.Base.create" ], 0, - "ac949590c73dfeb67072fcb0114f4e0d" + "6836c4f71f73d53c53f316952766e3e9" ], [ "MSeqExn.index", @@ -554,7 +554,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "07021a63113841f19d456f8aa32b1599" + "0a6246dd435a9c836e1922fb34c4de5f" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/ND.fst b/examples/layeredeffects/ND.fst index 4a70f23b9a4..4077b2c991d 100644 --- a/examples/layeredeffects/ND.fst +++ b/examples/layeredeffects/ND.fst @@ -3,13 +3,13 @@ module ND (* An effect for (demonic) nondeterminism via lists. *) open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Calc open FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality module W = FStar.WellFounded -module T = FStar.Tactics +module T = FStar.Tactics.V2 // m is a monad. In this particular example, lists val m (a : Type u#a) : Type u#a diff --git a/examples/layeredeffects/ND.fst.hints b/examples/layeredeffects/ND.fst.hints index b208a9b4960..a4c3ee6dec4 100644 --- a/examples/layeredeffects/ND.fst.hints +++ b/examples/layeredeffects/ND.fst.hints @@ -1,5 +1,5 @@ [ - "â1ÝC\u001fFOJÑWõ[\u0019¨~›", + "&\u0014ô“eê6,·]•ê;¶e¼", [ [ "ND.w_return", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c7cd38952a968c78712602623fbaf9c1" + "e5ab875a434118ac4034ce300a2186f4" ], [ "ND.w_bind", @@ -27,7 +27,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "01633970ce824b643f24b4a526cc2612" + "f9d0478ea6065a4eec079ce5580312e6" ], [ "ND.interp", @@ -36,7 +36,7 @@ 1, [ "@query" ], 0, - "000c73ab3d843d7d8f2718ce1710b02e" + "94ff4666de972b8671ae42ee1f32a038" ], [ "ND.concatlemma", @@ -65,7 +65,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "c0b16c97d7c908720664596618bf9cd0" + "07f4c985fb2ab1d4a9678d55af442e99" ], [ "ND.concatmaplemma", @@ -98,7 +98,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.concatMap" ], 0, - "3195a7561698600c4d55555fe53e67de" + "326aa64fdd0ae8c43cca6334358b8aeb" ], [ "ND.ireturn", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3988f818a1bfa46ec12b977e1c8c1cc9" + "f893fd990eb30136fc8f4fe4e0264681" ], [ "ND.pmap", @@ -143,7 +143,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "1a4f97ad5bd84b2baaab8117e32d7e61" + "ad35715c8f4683fd5623dd72bd6f5138" ], [ "ND.unref", @@ -171,7 +171,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d4b1cab55e1a045c805f9131f8ff3962" + "ec8a2cf174d427949ab179345d27e02c" ], [ "ND.append_memP", @@ -201,7 +201,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "4cbdbe3ffd34133b86650f45cd300477" + "148ed1687aea5beaf9bf6f80c4fb0819" ], [ "ND.flatten_mem_lem", @@ -231,7 +231,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.flatten" ], 0, - "4e7a5296f34f9820bad48f00dce8ea02" + "9f41935824dbd3797677df6af81cd989" ], [ "ND.ibind", @@ -275,7 +275,7 @@ "typing_Tm_abs_f06c07b0623cf55f164054a4905d51bf" ], 0, - "4f34451fdcfa3e27389fd99ebe8ab410" + "11f43dc5079312c018a828a0b071b728" ], [ "ND.isubcomp", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "8ddd40bde5953ae0484f48aec3b0a42e" + "1cff1227839f51798a466849ce6c8875" ], [ "ND.wp_if_then_else", @@ -300,7 +300,7 @@ 1, [ "@query", "equation_ND.w" ], 0, - "30b324420d0f5de381d91383db471603" + "8742167948cc833155f0ac9158f59eb5" ], [ "ND.ND", @@ -315,7 +315,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7935adc90af67cbbc351ad12704fba89" + "3af0fc1937fb8ce989519010171e5aa4" ], [ "ND.ND", @@ -330,7 +330,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "17a59741f0886afe0f43663f0f0c3f14" + "e4a320af86f618a856dafabfb6286347" ], [ "ND.ND", @@ -345,7 +345,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "4de389af02d19c09a3eea74fbf119522" + "a814d443129b3f3e0a90edfbda12f793" ], [ "ND.lift_pure_nd", @@ -366,16 +366,16 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eda228d683465258ea53ddb4e734a869" + "31492244d48627a2d798736a49ebdedd" ], [ - "ND.16747", + "ND.44424", 1, 2, 1, [ "@query" ], 0, - "60754a163e963ddac2cd0cf147f06b90" + "a7a00404528aca91cffad9314cff7d86" ], [ "ND.test_f", @@ -402,7 +402,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "56ea97cff52c715f621983acae7fb345" + "7dd8ac19bc172c4e8c74b75744044e83" ], [ "ND.test_f", @@ -428,7 +428,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "712715bdb59770eb528acdfec2b69b06" + "6b150de6b290035bdb8b7c40bdbd5ddd" ], [ "ND.Nd", @@ -444,7 +444,7 @@ "typing_Tm_abs_5ce49e3e1e3c2e52495da70a03737a9b" ], 0, - "8ec54cc88adb988a2af5d39e3938a14a" + "30c1ff39bfdfdbc533a5153b913b6f95" ], [ "ND.choose", @@ -466,7 +466,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "954d74d1207d0440f03d6eb0ad00f4ee" + "4c5ea256b8de71b0b63556417acf299d" ], [ "ND.choose", @@ -486,7 +486,7 @@ "refinement_interpretation_Tm_refine_c2a6462ba4b9477e34b8a7b0105344c7" ], 0, - "238b4ec864e92acd54a35cf071700910" + "9fac6bcf1817b91d10189e784ac54d6d" ], [ "ND.fail", @@ -502,7 +502,7 @@ "false_interp", "projection_inverse_Prims.Nil_a" ], 0, - "99abcb397f1ccf3a95e291a55956c82b" + "de76d0ce18ea7a40e9d7651b7f8e0c9b" ], [ "ND.flip", @@ -516,7 +516,7 @@ "l_and-interp" ], 0, - "c974e873bb49f4e77b279af086bc06f5" + "8ee46e3aa5ac0614c8a1837572470e5f" ], [ "ND.test", @@ -529,7 +529,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "851f749415d2e202a43a7d555338b8ed" + "902004f4f13c386f18fd3c5361e46d44" ], [ "ND.guard", @@ -538,7 +538,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion", "unit_typing" ], 0, - "d85d2ce0b1834fc25f453c77ca8e58e4" + "18bc7b4582886e6ecae481d558757817" ], [ "ND.pick_from", @@ -547,7 +547,7 @@ 1, [ "@query", "equation_ND.w_ord" ], 0, - "dfd69358af49cb580939aebe9c508326" + "b2ad76ba72ba69ccbeda1b181da6714d" ], [ "ND.pick_from", @@ -556,7 +556,7 @@ 1, [ "@query", "equation_ND.w_ord" ], 0, - "2244cbe3208bf6c195afef8d4977da60" + "9047d07d7bbb6736850e1f94d0912f1f" ], [ "ND.pick_from", @@ -574,7 +574,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e04fd003c127ca2b213db186c0765822" + "465b6205778df222277e2fd5358c329d" ], [ "ND.pyths", @@ -592,7 +592,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61ffb0cebcf90d2b042e8d585af26baf" + "a2e6acf7d3be858ed88b40dd6b6aaa45" ], [ "ND.pyths_norm", @@ -606,7 +606,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0b9996032ce70763b82974fe3532d633" + "a5f87b85d46f5ccb8baa59705e175548" ], [ "ND.test_u", @@ -615,7 +615,7 @@ 1, [ "@query", "equation_ND.w_ord" ], 0, - "85e954f94120454450cdec15ca27b500" + "60350ecb4d219874b287cd3e8c069728" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Queens.fst.hints b/examples/layeredeffects/Queens.fst.hints index ed0375d7a68..a450ed562a2 100644 --- a/examples/layeredeffects/Queens.fst.hints +++ b/examples/layeredeffects/Queens.fst.hints @@ -17,7 +17,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1f57b91d8e0cfc65a8dd2d3a72a61a8b" + "e3b09973360825104bc1b6a906904ff9" ], [ "Queens.no_clash_minus", @@ -35,7 +35,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "33c13d6a12973d71396ec8de5582cf5d" + "9d70d2a86a79ec9c48d373d1d2feec2d" ], [ "Queens.valid", @@ -59,7 +59,7 @@ "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok" ], 0, - "bd2a097a88e430d9f915711608dfa4cb" + "cce6e53d12a1a042f152824188c10219" ], [ "Queens.pickn", @@ -94,7 +94,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "a079143bd51a3f8a3e10da773eb7fad5" + "7d72936f7595cb4ddaff9bd63063fd8f" ], [ "Queens._queens", @@ -163,7 +163,7 @@ "well-founded-ordering-on-nat" ], 0, - "fa431c576da7b2e424e846a641fbf8a9" + "367f906c65d9ca8eca4fb2fa5458104f" ], [ "Queens.queens", @@ -204,7 +204,7 @@ "true_interp", "typing_Queens.flipOp", "typing_Queens.quitOp" ], 0, - "17b48fd5498fec48c49cb39bf5cb2519" + "21b219fab72fc6b5cf7b4a2d042a3a45" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/RW.fst b/examples/layeredeffects/RW.fst index fea895cf381..3226ef35202 100644 --- a/examples/layeredeffects/RW.fst +++ b/examples/layeredeffects/RW.fst @@ -3,7 +3,7 @@ module RW #set-options "--print_effect_args" module H = FStar.Heap -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Universe open FStar.ST diff --git a/examples/layeredeffects/RW.fst.hints b/examples/layeredeffects/RW.fst.hints index a71ef142f9c..cdeaadad929 100644 --- a/examples/layeredeffects/RW.fst.hints +++ b/examples/layeredeffects/RW.fst.hints @@ -1,5 +1,5 @@ [ - "$ÐG~,±\"ÌŽ|C<ØB—‰", + ">Ñ—´Q='%²n„»â×ÜT", [ [ "RW.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "6ed0b6b6691a438c3729389eccd37af0" + "e05355faa7c9888dcb3c42cd3e4702ae" ], [ "RW.ro_sanity_check", @@ -24,7 +24,7 @@ "l_and-interp" ], 0, - "330b2491c78b27e103db3cde5adfce4e" + "28da8486acd06cfcd9d4c79002d58e02" ], [ "RW.return", @@ -40,7 +40,7 @@ "l_and-interp", "token_correspondence_RW.real_post" ], 0, - "8860839bfe2696e354a42a97e1e24852" + "6c69b86aa4a531353d6cb4953434e324" ], [ "RW.bind", @@ -66,7 +66,7 @@ "token_correspondence_RW.real_post" ], 0, - "ab4016824a692fe1ccfc8cb824ec9283" + "ada5b234f3eaebe18eeddbc0b520fa59" ], [ "RW.rwi_subtype", @@ -91,7 +91,7 @@ "token_correspondence_RW.real_post" ], 0, - "a8ce5b9eeeb0817a32ffbc47b1ab2ea1" + "4b8dcd9e23623333a9eaef2d5c7e9f75" ], [ "RW.subcomp", @@ -114,7 +114,7 @@ "token_correspondence_RW.real_post" ], 0, - "ad04e2f94564ffecfdc15efc7f8a8b17" + "fa2cc1fff71c80caa3f55774f5341881" ], [ "RW.RWI", @@ -137,7 +137,7 @@ "true_interp" ], 0, - "a8bd4c624181e5ee92b7f836d69c242b" + "32031334ed5b24acdda6361b60baccc8" ], [ "RW.RWI", @@ -161,7 +161,7 @@ "true_interp" ], 0, - "1d5ff3e41f36167e2530f87b457e0c08" + "e8d5791028cb6a2f2aa348f0bd79a81a" ], [ "RW.RWI", @@ -185,7 +185,7 @@ "true_interp" ], 0, - "d0c66818eba312dc2e4b1c6718401263" + "10e892c0fbf6182b2f13c439010e46e4" ], [ "RW.lift_pure_rwi", @@ -224,7 +224,7 @@ "typing_Tm_abs_e5f9da69b4e622fc8b88c80c57775066", "unit_typing" ], 0, - "ca1bf80c9d3ce126b37493ae9130670b" + "ad8c35acd5fb6e9d8f8f34afa7b0905f" ], [ "RW.test_rrr", @@ -257,7 +257,7 @@ "unit_typing" ], 0, - "675a268969c35aed08e1b8944b123596" + "2244ed9cda07eade30e539c1b5a80314" ], [ "RW.test_rrw", @@ -293,7 +293,7 @@ "typing_tok_RW.RO@tok", "unit_inversion" ], 0, - "0c597deb651cba8c966fd14f76c55a73" + "3d9f8183c756cc3379099a525b20891c" ], [ "RW.test_rww", @@ -329,7 +329,7 @@ "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion" ], 0, - "e973a5a653d6362c0a0b7dd6ff2e85ac" + "cb8e2589b1a86807f951117b025e863e" ], [ "RW.test_wrw", @@ -363,7 +363,7 @@ "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion" ], 0, - "7385da4e910beda1d51816b38c28de85" + "f73319c572c336988c645dc1ee91066f" ], [ "RW.test_www", @@ -399,7 +399,7 @@ "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion" ], 0, - "a4eeaa50d869f81627a8be7342ede54d" + "b2385d14580ff493a6c4d497e5fb4933" ], [ "RW.map", @@ -425,7 +425,7 @@ "true_interp" ], 0, - "703b618dbe717b4f0d0293bb0ab379fe" + "1682ca07b2b76b2c6fac821aa611bcd8" ], [ "RW.app", @@ -444,7 +444,7 @@ "true_interp" ], 0, - "144ff9fa509b37bea871dea88f778da0" + "d7bca2a27b4593e444ac319f5e54a762" ], [ "RW.appn", @@ -469,7 +469,7 @@ "true_interp", "typing_RW.join", "typing_tok_RW.RO@tok" ], 0, - "ede5bad6d1c77c92194a02ce0b0ad8cb" + "b237c072e6eb5282b974af0172b47948" ], [ "RW.labs0", @@ -497,7 +497,7 @@ "true_interp" ], 0, - "fb89251bee8c7e97c60745f6963a031a" + "022a3efbb75d2cd623bd6576602947d1" ], [ "RW.labs", @@ -525,7 +525,7 @@ "true_interp" ], 0, - "507b6cf01ebc539c65f53f8fe4769d08" + "2d9660ab8365d86015b80250c6ffabac" ], [ "RW.rwi_assert", @@ -542,7 +542,7 @@ "token_correspondence_RW.real_post", "unit_inversion" ], 0, - "8a34b8ba143c5e8b9cde80af40c8610d" + "c874be46fd93aa3ebde46689537556cf" ], [ "RW.rwi_assume", @@ -558,7 +558,7 @@ "l_and-interp", "token_correspondence_RW.real_post", "unit_inversion" ], 0, - "cc263e2a9cd3faf6e6a386a4ba0b5a3a" + "6529c2102f135afcbe77dcdb373787e2" ], [ "RW.test_abs0", @@ -588,7 +588,7 @@ "token_correspondence_RW.real_post", "true_interp" ], 0, - "17c899d8074612ace01f141fccdc9425" + "b93a69a356f5e122af4330ad1340b7e0" ], [ "RW.test_abs0'", @@ -618,7 +618,7 @@ "token_correspondence_RW.real_post", "true_interp", "unit_typing" ], 0, - "ecbed1becad232a9ed569cf3586061c7" + "db56ed54e4286c70c71d1455709615d8" ], [ "RW.test_abs", @@ -637,7 +637,7 @@ "true_interp" ], 0, - "0525b6f3b88a7a7cca582736c198afc8" + "69198d51bac0abf83ce26155cbe4f4c9" ], [ "RW.get_indexed", @@ -652,7 +652,7 @@ "l_and-interp", "token_correspondence_RW.real_post" ], 0, - "09f68c9ecb0df8ad4aec5577c0d17277" + "d85623693d47bfb14b044686b1896d4a" ], [ "RW.get_r", @@ -668,7 +668,7 @@ "l_and-interp", "token_correspondence_RW.real_post" ], 0, - "82c8585cc1b0cdbcf6c8f6492228b02e" + "446f94ec6915b46dac8e1431c0e86034" ], [ "RW.test_state_eq_rrr", @@ -696,7 +696,7 @@ "token_correspondence_RW.real_post", "true_interp", "unit_typing" ], 0, - "419b82ac411ae98efb4af576f75e001a" + "28a0925934011bd4cee889adc110e505" ], [ "RW.test_state_eq_rrw", @@ -724,7 +724,7 @@ "token_correspondence_RW.real_post", "true_interp", "unit_typing" ], 0, - "b92bf93da1014b115e3a99ab6b5f755c" + "e859d2c71d1e5e45adf0a6be9f2b6a6d" ], [ "RW.test_state_eq_rww", @@ -752,7 +752,7 @@ "token_correspondence_RW.real_post", "true_interp", "unit_typing" ], 0, - "5bdc2d0101dfbe5f6d4a221eb30c5252" + "4070d75abdeabb2d83e85f4d465cb798" ], [ "RW.test_state_eq_www", @@ -773,7 +773,7 @@ "true_interp" ], 0, - "4709101d24de84424b75cbdba237ea63" + "11ec430069d067c5eb3af1784f22da9f" ], [ "RW.makero", @@ -792,7 +792,7 @@ "token_correspondence_RW.real_post" ], 0, - "8bb9a65d23ff470b9bf8cc24e687b773" + "c6151548420a87321694dad91f5c5810" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/RunST.fst b/examples/layeredeffects/RunST.fst index 54c445b220b..a2e891c1a9d 100644 --- a/examples/layeredeffects/RunST.fst +++ b/examples/layeredeffects/RunST.fst @@ -3,7 +3,7 @@ module RunST (* Similar to LatticeAlg, but ignoring exceptions to start with a simpler example. The interaction between state+exn can be tricky. *) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List.Tot open FStar.Universe open FStar.Ghost diff --git a/examples/layeredeffects/RunST.fst.hints b/examples/layeredeffects/RunST.fst.hints index 4d7c26956ef..338c3c5b4af 100644 --- a/examples/layeredeffects/RunST.fst.hints +++ b/examples/layeredeffects/RunST.fst.hints @@ -1,5 +1,5 @@ [ - "¯Ÿ\u000f¨˜%§(ã~_<\u0010ê;", + "|G\nÓÜ\u0000”`åJÌ\u000bÙK2.", [ [ "RunST.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "48834b2b2fcff8044ce14c98b61af94a" + "4f4a557688de994350b89e57e7c47645" ], [ "RunST.__proj__Read__item__st0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2c886d15e6dbd7a95f452e92182695d9" ], 0, - "94f19dc6e1c0f752906ca8b9b7d1e0f1" + "97639e2dbfb922ec726577cb0125b1ae" ], [ "RunST.__proj__Write__item__st0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_58169d42ff8ecb3e94c8e4456cb12065" ], 0, - "3d05eea396bc86bfdf502f49f0a49c4e" + "cbc9f5f4694470c306b619afdad36ca5" ], [ "RunST.__proj__Write__item__st1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_58169d42ff8ecb3e94c8e4456cb12065" ], 0, - "b484b5d3cf999a94f52f8216da6fa139" + "9a00faca52e69e40298ed6ed3f6661c5" ], [ "RunST.__proj__Raise__item__st0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_dc9ba67dbb14c044cb455cff96093cf9" ], 0, - "3799fa8990ec53acbbe97152db86c0f1" + "243f6da623bb08aad967655f463c8fa1" ], [ "RunST.__proj__Raise__item__st1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_dc9ba67dbb14c044cb455cff96093cf9" ], 0, - "59ee8a27008fb42d83e1ddb28ca82639" + "4fce3858f5cb577960a16d5ccf30cff0" ], [ "RunST.__proj__Return__item__s", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_e4ba89405dee430494246551b871a710" ], 0, - "5fbeaf6cc0c496fcf215c8e1ac1c48eb" + "10237a17cb41bb42f908753b7d0ee2fd" ], [ "RunST.__proj__Return__item__x", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_e4ba89405dee430494246551b871a710" ], 0, - "34903476ff75d52a5d23e060dc1e76c6" + "89c310152283767253fa1ed19cddb4b0" ], [ "RunST.__proj__Op__item__i", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "570e98205536bd19a3c63893f7fb4c5e" + "4f4467fb1076a309a9675cdd042565c3" ], [ "RunST.__proj__Op__item__o", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "b45ef65fe74864fcd892cf8230d66b33" + "26680f3102ac2e811b2732a860ccdd93" ], [ "RunST.__proj__Op__item__st0", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "f77424a523f2fd631c024f655fef15e6" + "8d2372bacf6557b1cc446d056ef66a9f" ], [ "RunST.__proj__Op__item__st1", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "4e4bcc3b52edf298018631314aba6bfd" + "ee185207c286ed31a07b18b013f56ce3" ], [ "RunST.__proj__Op__item__st2", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "c5a6b99b95c51a8689d3d3ee47fad1c6" + "72c2a395b63547788d1e9d3793e6e51d" ], [ "RunST.__proj__Op__item__act", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "e938fa0edc21c33d7279664c1741d112" + "4636171e46adb477ed5f0590ad73cac4" ], [ "RunST.__proj__Op__item___6", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "ed7aa01defb8ca18ba2d12fb39efd3f0" + "bfdae9adcb3b68cdfddad0eddc9393f0" ], [ "RunST.__proj__Op__item__k", @@ -198,22 +198,7 @@ "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" ], 0, - "50c2f01b5decadbebe0613cc8bf921e0" - ], - [ - "RunST.abides_act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.l_imp", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "993535d54e39d3a9f808c85a55ea4a73" + "5c0c9c646c7e64223668f774c3ca9ec4" ], [ "RunST.abides", @@ -236,7 +221,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "8ae7b275cd70697e40e76269f112ea19" + "e53c4b6058bc47b60f852315f5493fb5" ], [ "RunST.interp_at", @@ -271,7 +256,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "dda1bbe5bd39b035113a07d4d34d12ed" + "38b397950075833d07b0698d71683168" ], [ "RunST.sublist_refl", @@ -280,7 +265,7 @@ 1, [ "@query", "equation_RunST.sublist" ], 0, - "f7d805ae110fd4a1b7de4ffedabec232" + "562c0893e0912176d41c95317cf14b78" ], [ "RunST.interp_sublist", @@ -308,7 +293,7 @@ "token_correspondence_RunST.interp" ], 0, - "a5f7f0b4d114ba6651e999a84671f99b" + "f86c79ad2086befb574a2490847e394a" ], [ "RunST.sublist_at", @@ -340,7 +325,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "67eefed161c68b6eb77c4900dc6ebaed" + "b7acfc147cae5ad6d33aefced67952b3" ], [ "RunST.at_sublist", @@ -370,7 +355,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "982e5d4afeab67c42951a277ddd667ed" + "7737c46a98a7995651264dbac1cdb486" ], [ "RunST.abides_sublist", @@ -426,7 +411,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "568b29dba7f019e8302abc9531c99494" + "1cd4c98e0c6161a9d10e62ebfd8ed199" ], [ "RunST.abides_app", @@ -479,21 +464,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "e98c4b00f4e6054be7515e7fc9b157a3" - ], - [ - "RunST.ann_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "16e61d25ceb4330a33ed551f680f7e43" + "14f3593957a0608d6678bbe8a7a5fae1" ], [ "RunST.return", @@ -513,7 +484,7 @@ "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea" ], 0, - "0f5977ef49499d0fd07e681b8b20d227" + "15ee909edeed3e69072aa6ccac122e5a" ], [ "RunST.bind", @@ -576,7 +547,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "a42777664171bb7c370ea4cb332b7b3d" + "3196f0c159065eb3071dd28c7f95fac8" ], [ "RunST.subcomp", @@ -593,7 +564,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "df8719cb938889d975de43e49ab31f79" + "1f1a813780b204de297362525497a721" ], [ "RunST.EFF", @@ -606,7 +577,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.op_At" ], 0, - "35980fb4544262fbc4d0b3cfa2f300bc" + "d03b82e93ff2de8a26db476c81690c97" ], [ "RunST.EFF", @@ -619,7 +590,7 @@ "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.op_At" ], 0, - "cdcedc8cf8179da29fd87b17e8949994" + "76e7de0cc5639a6beba3ea49ea1373d4" ], [ "RunST.EFF", @@ -631,7 +602,7 @@ "lemma_RunST.sublist_at", "typing_FStar.Ghost.reveal" ], 0, - "1606a065760ce5e491733d2e2e78206e" + "1b22fd95333c17f65674b7107b5645d8" ], [ "RunST.lift_pure_eff", @@ -662,16 +633,16 @@ "typing_Tm_abs_bf3aa61cda316c14b7a21f5ed0103b3c" ], 0, - "76d6c431ddaf6e4627c2398427564e01" + "17b8e0420c1b255a0b78f5b9096afa73" ], [ - "RunST.32916", + "RunST.97804", 1, 2, 1, [ "@query" ], 0, - "704f3297f08b7176f9a84857512c9e15" + "f505a8945423013d127bc7dd26911cd4" ], [ "RunST.get", @@ -717,7 +688,7 @@ "unit_typing" ], 0, - "a03396d0dff8996cc47a3c0009b9c768" + "b1e5ab9f8cdfedc55327c0843bb8fde0" ], [ "RunST.put", @@ -762,7 +733,7 @@ "typing_tok_RunST.Return@tok", "typing_tok_RunST.WR@tok" ], 0, - "7c2182aa765af17042ffb1184975dce3" + "31ef1df7f445db0161e66dff27cb8958" ], [ "RunST.raise", @@ -802,7 +773,7 @@ "typing_tok_RunST.EXN@tok" ], 0, - "a01a21b1afe4268e47688210f9d4d077" + "a82618aed52d09edeae267902b79c2bb" ], [ "RunST.test0", @@ -828,7 +799,7 @@ "unit_typing" ], 0, - "d853b565edc1ea5dcd3fa7e1bbda3cf0" + "eb014e50ea2e844b9d5686113eccff1b" ], [ "RunST.test1", @@ -857,7 +828,7 @@ "typing_tok_RunST.WR@tok", "unit_typing" ], 0, - "f149290c32479c2208abbc1f8328440c" + "86c1ae75f26e400ed49a6a7889d2832d" ], [ "RunST.sublist_at_self", @@ -866,7 +837,7 @@ 1, [ "@query", "lemma_RunST.at_sublist", "lemma_RunST.sublist_refl" ], 0, - "58dc40d711d6b4880d441b93f1bac083" + "217bcf2e064351076dde49518e1b7a7e" ], [ "RunST.labpoly", @@ -883,7 +854,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "a0be380bc30ec50014180d42d2b6a220" + "6ec04dc97afd8150f479ff27c7e42185" ], [ "RunST.aux", @@ -915,7 +886,7 @@ "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok", "unit_typing" ], 0, - "c32035a9f330ea46b711f8c7c8a661a1" + "c4b8df633fa0bd2487233ed14639b87a" ], [ "RunST.sumn", @@ -944,7 +915,7 @@ "typing_tok_RunST.WR@tok" ], 0, - "6266312174da10f62bed3a1cb0484422" + "23185d39bac671e54bdbc5aa21370880" ], [ "RunST.sumst", @@ -977,7 +948,7 @@ "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok" ], 0, - "5fcf0f87afb57e89ab2ef1de877f2803" + "cce17c6dbcb9aeacd33c18e2c06832eb" ], [ "RunST._runST", @@ -1010,7 +981,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "24f369043bbccbbda7caee69625c4dc4" + "1a62bf455655542f094a441465754dd8" ], [ "RunST.test_run_st", @@ -1019,7 +990,7 @@ 1, [ "@query", "equation_RunST.sublist" ], 0, - "a8d3206474ca79e7437055fbc1e8ba6d" + "5677dc02473c120bfc4ddf3d33dc47c0" ], [ "RunST._catchST", @@ -1089,7 +1060,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "9cd5990da09d618abafac40b6a55adbf" + "c9b0ff20f468be3349445a57558c4ee4" ], [ "RunST._catchE", @@ -1154,7 +1125,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "30bdac971e2fa58f410f301cb86901da" + "16eadf830f76fa2cf56ef114fef90d44" ], [ "RunST.coerce_st_to", @@ -1163,7 +1134,7 @@ 1, [ "@query", "equation_RunST.sublist" ], 0, - "d8a691a15242b133d4e7ca9f179107f5" + "cbe85b226926878dcd562e80152dd784" ], [ "RunST.__c1", @@ -1194,7 +1165,7 @@ "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok" ], 0, - "e18433b04bd9563eaf16439aecc7c975" + "41bd930e5baed1c61c74b1f294c065ed" ], [ "RunST.__h1", @@ -1221,7 +1192,7 @@ "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok" ], 0, - "9cbaf0851665ccd1c9e7687c1848422c" + "d14c269aab1d9ba3846e76a8a09c2319" ], [ "RunST.test_catch0", @@ -1230,7 +1201,7 @@ 1, [ "@query", "equation_RunST.sublist" ], 0, - "12c8a838ee8e0a838c890b2f6a6506c5" + "9846daa567441e8596d5b0299222e91f" ], [ "RunST.test_catch", @@ -1261,7 +1232,7 @@ "typing_tok_RunST.WR@tok" ], 0, - "cb1749f39a8d118bd7bfad3559033f41" + "d595904dbc14a3fb9313ecf0a5e61f58" ], [ "RunST.puresum", @@ -1282,7 +1253,7 @@ "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "unit_typing" ], 0, - "4c16e970cbb2a2eea82837cca2c79272" + "a800c97e5997ab3cd6d38e7509546ffa" ], [ "RunST.pure_tree_invariant_state", @@ -1316,7 +1287,7 @@ "typing_tok_RunST.WR@tok" ], 0, - "1bd12d415769881ccc788b0c7eed6385" + "4c636fa16e23a7a8ab29695cf02d592e" ], [ "RunST.interp_pure_tree", @@ -1349,7 +1320,7 @@ "typing_tok_RunST.WR@tok" ], 0, - "6cde88f787cc20fe5d55cd60f5d35989" + "f5f3c1f15fa613d11943d75761cf1eff" ], [ "RunST.interp_rd_tree", @@ -1408,7 +1379,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "ca4dda6efa2b8659e81e73b1d0c18e63" + "8899ef14341ef15cbce80e475a661e37" ], [ "RunST.interp_rdwr_tree", @@ -1466,7 +1437,7 @@ "well_founded_ordering_on_codomain_RunST.Op" ], 0, - "8b01ad1e48e599a60e1c3788447bbb1a" + "98a1f522c216224d1f452508a4ba9cbb" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Sec1.GST.fst.hints b/examples/layeredeffects/Sec1.GST.fst.hints index cfd827ab731..b7a03492867 100644 --- a/examples/layeredeffects/Sec1.GST.fst.hints +++ b/examples/layeredeffects/Sec1.GST.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "df120aa209562d22b5be2fcf526350e2" + "b58316743b30dfa4381f44c208658f0a" ], [ "Sec1.GST.lift", @@ -38,7 +38,7 @@ "typing_Tm_abs_2d5879fa2d03ea229bbae67ba018b9e1" ], 0, - "9ed58f5962f23879359d5e5c17b42325" + "188c90e591e4491996dfe3d33363c732" ], [ "Sec1.GST.bind_homogeneous", @@ -54,7 +54,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3fac2d086ef0f1c9dd45dcea0be546b7" + "36515f8ea9688676c648f77de2e3901a" ], [ "Sec1.GST.bind", @@ -75,7 +75,7 @@ "typing_Sec1.GST.lift", "typing_Sec1.GST.op" ], 0, - "231e397922060e4c12b0f14fffd254fe" + "a3b3131f5219c9921b4db62781b0a6f9" ], [ "Sec1.GST.lift_pure", @@ -84,16 +84,16 @@ 1, [ "@query" ], 0, - "ba1b4405bd2e97c905122d40827a740a" + "e3a6b462514821c64bd9b67dbe193ffc" ], [ - "Sec1.GST.5592", + "Sec1.GST.5616", 1, 2, 1, [ "@query" ], 0, - "1951464d6045367fa75065174bf1232d" + "0b43263d7be3f799e493edfdcf48fb0b" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Sec2.HIFC.fst.hints b/examples/layeredeffects/Sec2.HIFC.fst.hints index 268824738ea..90919328763 100644 --- a/examples/layeredeffects/Sec2.HIFC.fst.hints +++ b/examples/layeredeffects/Sec2.HIFC.fst.hints @@ -16,7 +16,7 @@ "typing_Sec2.HIFC.loc" ], 0, - "cfba4f6d0cc76a3a02e48d122f1a4729" + "ba1b40abed1d6fab935cc0111002ab77" ], [ "Sec2.HIFC.return_hst", @@ -32,7 +32,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "039c4ef2ce589995361086ccdfa6c9ae" + "1997860bf04dbab73e892c6ac390a70b" ], [ "Sec2.HIFC.bind_hst", @@ -55,7 +55,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "21e594e8cdf82458d771362a7a692be1" + "d54fed67ffa31716b64590b3a51292c0" ], [ "Sec2.HIFC.subcomp_hst", @@ -70,7 +70,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "397ddf497673639668012432e46d2c34" + "a6f429d7348fcf5d97560f30787509e7" ], [ "Sec2.HIFC.HST", @@ -79,7 +79,7 @@ 1, [ "@query" ], 0, - "41aa5027adeeaf13dbc8c6d60e4e7aba" + "e8aee04f71978f3e60f91b9aa37adba8" ], [ "Sec2.HIFC.HST", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1605e58a5431dfea63b12caea2054d6a" + "9f14035203b769d5a5cb7eb0845da843" ], [ "Sec2.HIFC.HST", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "07369626f3e627bfafc74b492d1f69ef" + "ec2a388740037c93dbdcc87b06ebbbc7" ], [ "Sec2.HIFC.no_leakage_k", @@ -112,7 +112,7 @@ 1, [ "@query" ], 0, - "572d4b2be34adf2eaead5b4614dbda7f" + "b264950d15fa0ae9f8018c5459a22305" ], [ "Sec2.HIFC.return", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326" ], 0, - "fd99f9d1d1d355ad371578d35428c1f8" + "a837df28f975a00181d248f49f7510af" ], [ "Sec2.HIFC.iread", @@ -173,7 +173,7 @@ "typing_FStar.Map.contains" ], 0, - "38d1c96516a1b0f2acfba7e4f6b431f6" + "76527c8a9265e1e2bcfb40c06cdeb314" ], [ "Sec2.HIFC.iwrite", @@ -204,7 +204,7 @@ "typing_FStar.Map.upd" ], 0, - "e86c42286ecff4aa8af27e0f8fdf4136" + "4ba1b1a1ec6930d7dc0dd0054bca580d" ], [ "Sec2.HIFC.does_not_read_loc_v", @@ -213,7 +213,7 @@ 1, [ "@query" ], 0, - "e44a421698fd46244a48a3d530e609d9" + "8dcdceba56f3ae0dda9bf7ab15181fd1" ], [ "Sec2.HIFC.reads_ok_preserves_equal_locs", @@ -225,7 +225,7 @@ "equation_Sec2.HIFC.related_runs" ], 0, - "5e4db7d62251c25ae14267ee185a1550" + "70ff4154f82e6ecbc2a171f29d1899fb" ], [ "Sec2.HIFC.weaken_reads_ok", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c" ], 0, - "be2c4e9e228405f5b5f23e81b319d6b3" + "489a3284bbee692a3b25596c79a14201" ], [ "Sec2.HIFC.reads_ok_does_not_read_loc", @@ -263,7 +263,7 @@ "typing_Sec2.HIFC.upd" ], 0, - "0bdd9072a9ae834117a52a7f1769e0c1" + "9bc3ad25f9ffbcabcb8096cee579dfe3" ], [ "Sec2.HIFC.flows_equiv_refl", @@ -275,7 +275,7 @@ "equation_Sec2.HIFC.flows_included_in" ], 0, - "494e1a96a6a44b0670c4590c0c246151" + "4340f1b8fc9020cc2524917c01a515c4" ], [ "Sec2.HIFC.flows_equiv_trans", @@ -293,7 +293,7 @@ "function_token_typing_Sec2.HIFC.flow", "int_inversion" ], 0, - "2c760cf5ac644b9d02e428176a5ecffe" + "f48002a302b8a5b652950155c132d425" ], [ "Sec2.HIFC.flows_included_in_union_distr_dest", @@ -336,7 +336,7 @@ "typing_Sec2.HIFC.union" ], 0, - "854d3ba478b621ed3b3c67d8766f3309" + "69f03ac9422117357553da3379acc4a8" ], [ "Sec2.HIFC.flows_included_in_union_distr_src", @@ -420,7 +420,7 @@ "typing_Sec2.HIFC.union" ], 0, - "6f164e70ecb4a20477bbec938550ed7f" + "d517ee2122b59f98f9b89a9fe250bad7" ], [ "Sec2.HIFC.bind_ifc_reads_ok", @@ -463,7 +463,7 @@ "typing_Sec2.HIFC.union" ], 0, - "da8e85ac8252278dfeac2cb8dfd2838e" + "9a0995ebba88385a8cf4b9d37a331be6" ], [ "Sec2.HIFC.bind_ifc_writes_ok", @@ -499,7 +499,7 @@ "typing_Sec2.HIFC.bind_ifc_", "typing_Sec2.HIFC.union" ], 0, - "ab97a87c38c6011cb81f36370195a211" + "7e9e9c16d0fa514eecce3fc6e00f25f0" ], [ "Sec2.HIFC.memP_append_or", @@ -529,7 +529,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "648ae1ddab8046cdfb3a66971f201ae9" + "1494a2aec193fcdaaa1c69c97c27ca2d" ], [ "Sec2.HIFC.has_flow_append", @@ -545,7 +545,7 @@ "int_inversion" ], 0, - "a8da89ea2a160badee1d1bf97d30bb6e" + "6af88959df3f98a27e57fbe183859186" ], [ "Sec2.HIFC.elim_has_flow_seq", @@ -599,7 +599,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "e7aa250e20032b079b11952f91d14c6e" + "c190f61a87fbd08707b04ebf74eb3a7a" ], [ "Sec2.HIFC.add_source_monotonic", @@ -653,7 +653,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "ea02fc9067d7ad251a2042bfcd760112" + "0f28afb6660f66afc7bf37694088e085" ], [ "Sec2.HIFC.has_flow_soundness", @@ -674,7 +674,7 @@ "refinement_interpretation_Tm_refine_f07a6491e1047ffd5e981dd730b6e5bc" ], 0, - "42b273c968547a1aed3649b6d6fbc5e9" + "feaead4184236eae362cf1033ecd36dd" ], [ "Sec2.HIFC.bind_hst_no_leakage", @@ -720,7 +720,7 @@ "unit_inversion", "unit_typing" ], 0, - "a9264aa47025a5cf50ca1fe8557bd7e0" + "bd7342bab2f0fc901718e4c62b03ee9b" ], [ "Sec2.HIFC.bind_ifc_flows_ok", @@ -744,7 +744,7 @@ "refinement_interpretation_Tm_refine_534ad67b03834e6d7680c73a9b413139" ], 0, - "7ed9e57d724ea14768a58f247fdc4b8c" + "0f3bc1942ebe79d5a5473b51816525f2" ], [ "Sec2.HIFC.pre_bind", @@ -753,7 +753,7 @@ 1, [ "@query" ], 0, - "df5f95a91c8e076863f30f3f2247c447" + "8f4e34e29b6039807e998d6dffe1ac30" ], [ "Sec2.HIFC.triple_equiv_refl", @@ -774,7 +774,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "59cce047bb61cdfe7d9e2ff2fe97dbfc" + "803f0b2ba4acce311bd07bbf83f751e2" ], [ "Sec2.HIFC.add_source_bot", @@ -827,7 +827,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "57d674dbf1042aab3e51fadca33f1c55" + "9cdc71f6df9f625547c2dbdf444465f0" ], [ "Sec2.HIFC.flows_included_append", @@ -840,7 +840,7 @@ "int_inversion" ], 0, - "3d7961253eab57a4e54956bd46d5249f" + "6c01f46c2f77ba7ba358666eb494815e" ], [ "Sec2.HIFC.flows_equiv_append", @@ -852,7 +852,7 @@ "@query", "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows_equiv" ], 0, - "a5a805117399a9ce1bc2e69af16a71e7" + "ed557915204636885b140fa0cc927fa9" ], [ "Sec2.HIFC.append_nil_r", @@ -869,7 +869,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5bcd48a7aa4abbbc9c1d650be462205a" + "dd854e3f3366ad139f3cc4f77cc0d165" ], [ "Sec2.HIFC.left_unit", @@ -928,7 +928,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "e6e454ebcb0d90d778c9914fe85a04a4" + "b47498eae7f3105eb759e31e51c5533c" ], [ "Sec2.HIFC.right_unit", @@ -984,7 +984,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "4f3902e229d86e045868dcb93b79b204" + "18f6d649e186f3689cc2cbee8fe4394e" ], [ "Sec2.HIFC.assoc_hst", @@ -1030,7 +1030,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "eeea6276a3186468acecc182e7a14ed0" + "2cef5cccb52f0769320d228f22690c04" ], [ "Sec2.HIFC.frame", @@ -1058,7 +1058,7 @@ "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0" ], 0, - "058f9d1e57ab217c9d41978e50d80baa" + "5aa706fb060941acd0d0d0abf8a21f13" ], [ "Sec2.HIFC.refine_flow_hifc", @@ -1096,7 +1096,7 @@ "typing_FStar.Pervasives.Native.snd", "typing_Sec2.HIFC.upd" ], 0, - "44d59314f045f629c63da14f743977e3" + "ff3de4dc7c8d11c45755c4987e905418" ], [ "Sec2.HIFC.consequence", @@ -1112,7 +1112,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "7017794f75e90e3b629f011a2cfd5200" + "e5a4fa128933b13e122a33bcf002b303" ], [ "Sec2.HIFC.norm_spec", @@ -1121,7 +1121,7 @@ 1, [ "@query" ], 0, - "f4d8dbbd59f781361c8d63e8b34f8a27" + "1e98ac04a89bcf6a889b7821e056dc10" ], [ "Sec2.HIFC.norm_spec_inv", @@ -1130,7 +1130,7 @@ 1, [ "@query" ], 0, - "ce7b4f8b5664b0f9843f6ef93db0e829" + "4faa1a2e2d5449c14d205474f810cacf" ], [ "Sec2.HIFC.sub_hifc", @@ -1160,7 +1160,7 @@ "typing_FStar.Set.mem", "typing_Sec2.HIFC.upd" ], 0, - "c7ee33cd14d586270393c806b0f00b3a" + "e84d037a4734192382affdca8a1efa36" ], [ "Sec2.HIFC.append_memP", @@ -1191,7 +1191,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "9eb7c653e0ca54b14366e8b7b2591cb4" + "092e17334b633fb2346d4260b8568270" ], [ "Sec2.HIFC.weaken_flows_append", @@ -1204,7 +1204,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "2dcebb3afded28fb82638d6de9f45b9c" + "c7599972f7b7418619267ec6e4125a39" ], [ "Sec2.HIFC.HIFC", @@ -1218,7 +1218,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b4cde0a0464fe829d4d807453bec145a" + "c04aab73adba8fa200262faa43cc6533" ], [ "Sec2.HIFC.HIFC", @@ -1251,7 +1251,7 @@ "typing_FStar.List.Tot.Base.op_At", "typing_Sec2.HIFC.union" ], 0, - "55366f2e4d6ee3e469ff0e3c50402296" + "c422aa3662ba225ebf4ef01cadcf010d" ], [ "Sec2.HIFC.HIFC", @@ -1283,7 +1283,7 @@ "typing_Sec2.HIFC.union" ], 0, - "1766315f1a0b833a45ff314677b1af80" + "6df534a932406a31713c4f990eb15474" ], [ "Sec2.HIFC.read", @@ -1310,7 +1310,7 @@ "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326" ], 0, - "e52b200a593f78654c5fae4ec3a475ed" + "edf4c97641ee345cce2911cd0011ed11" ], [ "Sec2.HIFC.write", @@ -1339,7 +1339,7 @@ "typing_FStar.Map.upd" ], 0, - "3d29213bffe6c94d128adc1248f6fcfe" + "267ca3e524658d8cdb096867e82c1787" ], [ "Sec2.HIFC.lift_PURE_HIFC", @@ -1378,16 +1378,16 @@ "typing_Tm_abs_748d8505b2957efd59cc2dc91d9c8b54" ], 0, - "b9b546aefe8ce54b378f9bcd8216ab75" + "c77b20dbf8a234f5cedb5882ec53f874" ], [ - "Sec2.HIFC.124628", + "Sec2.HIFC.125432", 1, 2, 1, [ "@query" ], 0, - "70b8a68e70bb22aea645a44571a870c7" + "bb3b91c609d7500d8a48d51a73d8ab6c" ], [ "Sec2.HIFC.refine_flow", @@ -1399,7 +1399,7 @@ "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc" ], 0, - "6a10084b112dff0594e7ade530837085" + "1dee7e1d445c1038b23216ec1fd0480b" ], [ "Sec2.HIFC.test", @@ -1430,7 +1430,7 @@ "typing_Sec2.HIFC.single" ], 0, - "d142d263f8aac833f45d6e151c154e90" + "a317536a20cfdd25c6846b0220848d9e" ], [ "Sec2.HIFC.test2", @@ -1478,7 +1478,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "6c35139c5e2cb14ffbf1bdcc6b42d858" + "91a3e840d149153ab63aa8e5916a279e" ], [ "Sec2.HIFC.test3", @@ -1526,7 +1526,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "295c584d99e22b70fe1f473e12d63b50" + "ad001d7eb54e3749c7ccbd1aa70e91d2" ], [ "Sec2.HIFC.test3_lab", @@ -1575,7 +1575,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "bd05bd81d4b3a90f8354b5fc05204d7b" + "623ec78f9bbc2cbe323931fd1f1bfb66" ], [ "Sec2.HIFC.test3_1", @@ -1627,7 +1627,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "c7a66147d7a82b7fa4d24c04c2d44a06" + "bd81b0fc3cbdf521a085a1ba4164bfc5" ], [ "Sec2.HIFC.test4", @@ -1675,7 +1675,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "07d61b2bd588a983dac835e3942b3a21" + "c7a71bba0e2ce875242b21ddb9c556cb" ], [ "Sec2.HIFC.test5", @@ -1727,7 +1727,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "017150af66dd11842b39215664871ca7" + "3ea1030f1f9b7015df556dc1433f0482" ], [ "Sec2.HIFC.test6", @@ -1776,7 +1776,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "9545c030dc5de8059e755bb04c98a700" + "95932c23da91715e425f32b7d1ceb594" ], [ "Sec2.HIFC.test7", @@ -1824,7 +1824,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "ff83ddb0f66fb1dc957480c0f8a6e2e5" + "a86de92e4d16e278c88cbbc1cbe0eebc" ], [ "Sec2.HIFC.test8", @@ -1882,7 +1882,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "69ff463461df27f39853657f95ecb1b5" + "7a723fb274b7d08761f1281fd1729693" ], [ "Sec2.HIFC.test_cond", @@ -1940,7 +1940,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "72440f7390fe26e3fe85431d331f5ec7" + "648ff3622f727122b9319c5aa21a9b7c" ], [ "Sec2.HIFC.refine_test8", @@ -1970,7 +1970,7 @@ "typing_Sec2.HIFC.single" ], 0, - "be9510cea87ea08a89a6fe962f5e4e1d" + "6fc495ce78966501b33b13201347f0f4" ], [ "Sec2.HIFC.test9", @@ -2025,7 +2025,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "9e671bc8269e20f8e800ad9ae5181e0b" + "5dbd181a2c606f7e66284066ff2e374c" ], [ "Sec2.HIFC.refine_test9", @@ -2055,7 +2055,7 @@ "typing_Sec2.HIFC.single" ], 0, - "bb8ee546f8ad90e7b2086c975dc19994" + "d7aa2437eb12cee97b6e3b3b86955aef" ], [ "Sec2.HIFC.test10", @@ -2084,7 +2084,7 @@ "typing_Sec2.HIFC.union" ], 0, - "401def58054ad79f56e437ae38149b21" + "91113fab6610df29002e2af8c8159fc1" ], [ "Sec2.HIFC.test12", @@ -2137,7 +2137,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "f321914883ce0f106601717bf3d57bff" + "c4c00e02ea1cd44a51d8914605ba225b" ], [ "Sec2.HIFC.test12_1", @@ -2190,7 +2190,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "337ba80718697448e17a654b5b375e5a" + "ae2d54ca67d2efc712eb73d7366c06af" ], [ "Sec2.HIFC.test13", @@ -2217,7 +2217,7 @@ "typing_Sec2.HIFC.cw1" ], 0, - "fa234f8833813690f8793d93b5517375" + "4f76abc7582ccb9842ea2429ce48962d" ], [ "Sec2.HIFC.test14", @@ -2268,7 +2268,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "fb986a0b306550058b3b77f76a46b887" + "389a1f2e05f22de0dcbba1b695544cf6" ], [ "Sec2.HIFC.test15", @@ -2320,7 +2320,7 @@ "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" ], 0, - "a45f770a6be223a94339c96403c25687" + "11e846f59255dc5ff8f806cd871a4077" ], [ "Sec2.HIFC.ist_exn", @@ -2329,7 +2329,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "b7ddf3ea7ba2dd16e645d79479df5817" + "9aa61c8a0e7598fdf770e84c328558b8" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Sec2.IFC.fst.hints b/examples/layeredeffects/Sec2.IFC.fst.hints index 9d2b488e1d4..15a0b2e1866 100644 --- a/examples/layeredeffects/Sec2.IFC.fst.hints +++ b/examples/layeredeffects/Sec2.IFC.fst.hints @@ -16,7 +16,7 @@ "typing_Sec2.IFC.loc" ], 0, - "5fe40886e9d4766374a97730997a6899" + "6432175fa4c0ba0b461d6e4031a3c9ec" ], [ "Sec2.IFC.flows_equiv_refl", @@ -28,7 +28,7 @@ "equation_Sec2.IFC.flows_included_in" ], 0, - "8f3a089aae249471c9b4f49a51fe3947" + "6a261ae076a90d59928b5c4141ee7e9d" ], [ "Sec2.IFC.flows_equiv_trans", @@ -46,7 +46,7 @@ "function_token_typing_Sec2.IFC.flow", "int_inversion" ], 0, - "322a40e7ab9026a4f0d969ddb6017f82" + "1f57e112c41dabd6b5c33b9e5a2a1719" ], [ "Sec2.IFC.flows_included_in_union_distr_dest", @@ -89,7 +89,7 @@ "typing_Sec2.IFC.union" ], 0, - "89af16eb5dc4231bc80c994e0fd0f0cb" + "2f7d86199bb3d7280b348d2c16c95cd2" ], [ "Sec2.IFC.flows_included_in_union_distr_src", @@ -173,7 +173,7 @@ "typing_Sec2.IFC.union" ], 0, - "9ff64ce8acdd6569a54b0efe2f3f2be2" + "87c8d34ba41ce682349c874ebbaf173c" ], [ "Sec2.IFC.iread", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d43e4858edf8391550833818fc81491" + "5762b6c586266ed4e06ffd5fc2d622e2" ], [ "Sec2.IFC.return", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b916b709bad2c4e8cbd18ca8f1030bbe" + "7d0128518c908826941167621dcaeb38" ], [ "Sec2.IFC.iwrite", @@ -259,7 +259,7 @@ "typing_FStar.Map.upd", "typing_Sec2.IFC.havoc" ], 0, - "b1c33a95a12e944dc5fa02b9fc62e141" + "c5278b423a4480ff656d73702222f22e" ], [ "Sec2.IFC.bind_comp_reads_ok", @@ -298,7 +298,7 @@ "typing_Sec2.IFC.union" ], 0, - "7d6c2a2b870ffe2de7b1902f45ee379a" + "e7384b1de3acf8471eefa97d03fe3f9d" ], [ "Sec2.IFC.bind_comp_writes_ok", @@ -324,7 +324,7 @@ "typing_Sec2.IFC.union" ], 0, - "289d7e8cc2822bc20f106401c2247576" + "e92c83638a169a41253b99c04801780f" ], [ "Sec2.IFC.memP_append_or", @@ -354,7 +354,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "713f9d83e09b8b0f8666ec96ea9d766e" + "09b744449c7a52ff5df8eb923f5308cc" ], [ "Sec2.IFC.has_flow_append", @@ -370,7 +370,7 @@ "int_inversion" ], 0, - "42c6608042a2c2dc2a0de270da37a317" + "1e7f50d197fc290d7957ac7d10861745" ], [ "Sec2.IFC.elim_has_flow_seq", @@ -424,7 +424,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "e81677528dfbfbb0a558685a261f0d38" + "14e4a12b0eb275de013be41cccb4a742" ], [ "Sec2.IFC.add_source_monotonic", @@ -478,7 +478,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "30b74a1f30a450eda39251c1c58fbff8" + "ebc316fb814593db9918c5b5936794cc" ], [ "Sec2.IFC.has_flow_soundness", @@ -497,7 +497,7 @@ "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124" ], 0, - "d64f77e81ec200b0323556c555c359d1" + "0de70ca6cb6af1570008cc2195b6fdf9" ], [ "Sec2.IFC.bind_comp_no_leakage", @@ -540,7 +540,7 @@ "unit_typing" ], 0, - "ecfd47cabd28dbcabebcf9bda605ed7d" + "d67c24903d2e9544c469f8cf5667c8a7" ], [ "Sec2.IFC.bind_comp_flows_ok", @@ -558,7 +558,7 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "c4891d360f4066c06608862ed3773560" + "84b6bc12a026e11c4e474bfc524cbf10" ], [ "Sec2.IFC.triple_equiv_refl", @@ -579,7 +579,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "cbc87a7bbffc7443cfb18d7dfcc80aba" + "254b9dd63046db597d79e7dcbf0e6850" ], [ "Sec2.IFC.add_source_bot", @@ -632,7 +632,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "dd6e4485941b0a9ef48f86baacecda27" + "409d9ca1a7d2bee98e431c19db3911f4" ], [ "Sec2.IFC.left_unit", @@ -691,7 +691,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "b6720e5a8520e399ca40fb88cab03e71" + "42dd3ba66b8e21cb0f6d94c9debbc878" ], [ "Sec2.IFC.flows_included_append", @@ -704,7 +704,7 @@ "int_inversion" ], 0, - "b2f3191aab48193535d93ddc9c7bb781" + "fa669b43c826dc3ff237366dc911d333" ], [ "Sec2.IFC.flows_equiv_append", @@ -716,7 +716,7 @@ "@query", "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows_equiv" ], 0, - "53f32c6fba30a1de5d7503f2cc700917" + "83fddee4f641b1c7a5fd1a9bba6e4862" ], [ "Sec2.IFC.append_nil_r", @@ -733,7 +733,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "06c801258248cb2d9c8c1b7d8eec5d90" + "74a217eb90fcb90676cf9f6b27abce0b" ], [ "Sec2.IFC.right_unit", @@ -789,7 +789,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "dd6a5f57362f2aa38c5c49e9c9936bb9" + "8c0848ea6b8631c2b93e327969677c72" ], [ "Sec2.IFC.assoc_comp", @@ -835,7 +835,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "95c62bf1ac5838cfefdeb40ae50d849f" + "58679ada7470413fba90aec722d07937" ], [ "Sec2.IFC.bind", @@ -861,7 +861,7 @@ "typing_Sec2.IFC.union" ], 0, - "95a9585524cbd06bd26bd305ff4188cb" + "10c927e4aa5db668be4b9a293024abdc" ], [ "Sec2.IFC.subcomp", @@ -893,7 +893,7 @@ "typing_FStar.Set.mem", "typing_Sec2.IFC.havoc" ], 0, - "843c825eb496f3b84beac6268239edee" + "0894fccdd4f5f014b8aef6ec233ac69f" ], [ "Sec2.IFC.IST", @@ -906,7 +906,7 @@ "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc" ], 0, - "814f7f6bb9df54e8306e15bd9879ddd6" + "d8ec713a984bf4f892fe8cbaa877339d" ], [ "Sec2.IFC.IST", @@ -919,7 +919,7 @@ "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc" ], 0, - "fc577824247206599f853638c5e6cd35" + "3e493cb3d93f64b8590bc2ac2cce46f5" ], [ "Sec2.IFC.IST", @@ -932,7 +932,7 @@ "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc" ], 0, - "ae4cb5dabb9025c4d193a806b8eeecc7" + "95b70c1d467f5d244813cc8eccc1bd00" ], [ "Sec2.IFC.lift_pure", @@ -954,16 +954,16 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "99eea296f472fd5ace938a42cfed5c85" + "08619750ebb27769a14c9b38b621db7b" ], [ - "Sec2.IFC.57628", + "Sec2.IFC.58410", 1, 2, 1, [ "@query" ], 0, - "94fe64a13ca6e2dc76857b481a48f004" + "c76e5d5b31430e28c86a0c4ba338c1a8" ], [ "Sec2.IFC.test", @@ -994,7 +994,7 @@ "typing_Sec2.IFC.single" ], 0, - "3d1c431d314bfd3b16aa0b98d2470e49" + "67ce0ed721046bde0590870af1a11262" ], [ "Sec2.IFC.test2", @@ -1055,7 +1055,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "3bc8efa98f942237a0f9d49f100876c9" + "1890d87fc7da8636eb8f131cd3c57c12" ], [ "Sec2.IFC.test3", @@ -1116,7 +1116,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "bf8603fe6bc0c5c681f5101b8c01ea0a" + "68a6ebf0396ac39d510ee34e08015af7" ], [ "Sec2.IFC.test3_lab", @@ -1179,7 +1179,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "efd851462c86170db458d45a33840195" + "e34b6c48a77689be86d81f6637b729dc" ], [ "Sec2.IFC.test3_1", @@ -1236,7 +1236,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "b0fb06eda55b2dc43bedb5c458298474" + "018e8c114b8503db4c6f7b7f12fe184a" ], [ "Sec2.IFC.test4", @@ -1293,7 +1293,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "1c583f753a573df2e8ac959ce3234ce6" + "7d22779183890f9c4c2b4410399c1cb5" ], [ "Sec2.IFC.test5", @@ -1350,7 +1350,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "92426ab7161a6a26617753194242ba02" + "2d8c8c88cf5d57ebc113a0700e0ebf49" ], [ "Sec2.IFC.test6", @@ -1413,7 +1413,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "708a5f41a59e25e555a5e7dd918f2707" + "2dda57d78f9f69104920c319d05ce580" ], [ "Sec2.IFC.test7", @@ -1475,7 +1475,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "aa075c09703c4e8c64b0161a63f15dc3" + "db0882a26bee5ac2cd3ff73cd648c8fc" ], [ "Sec2.IFC.test8", @@ -1540,7 +1540,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "2b0e8d98abc571ba8378311009e913d9" + "a9bf0a1323e5309a2dadb5706df6cd15" ], [ "Sec2.IFC.test9", @@ -1604,7 +1604,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "85e4da800d4dd6dd7ec3af0051cb74ff" + "e97c9bb4fa7e27b817e6e5affe33eaf8" ], [ "Sec2.IFC.test10", @@ -1632,7 +1632,7 @@ "typing_Sec2.IFC.cw2", "typing_Sec2.IFC.union" ], 0, - "d9822d2391f2c580246276a3e092eeeb" + "31ed0c31ff2f6b6acb979249ea003732" ], [ "Sec2.IFC.test12", @@ -1691,7 +1691,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "c58698704ac6b3eeff57c06f1904e8dc" + "8ca19a61ae66101f9b76f1dad0a7f4e6" ], [ "Sec2.IFC.test12_1", @@ -1750,7 +1750,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "5eec8f84d408ddf1ffb3631a119d728b" + "a3a71dab33f0ec5b2859af99d9ea1d41" ], [ "Sec2.IFC.test13", @@ -1776,7 +1776,7 @@ "typing_Sec2.IFC.bot", "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cw1" ], 0, - "89923b7ea1a3d85f57b28feb80b4280d" + "851e8308958752b4ff77f12155fa105a" ], [ "Sec2.IFC.test14", @@ -1834,7 +1834,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "107a1625dad178051ee242ab79e05562" + "4f693bad90f4969bd03fae4315f458fd" ], [ "Sec2.IFC.test15", @@ -1895,7 +1895,7 @@ "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" ], 0, - "d5e5e850497976bfdfae398e18281e4d" + "9f71707c1b2b439b2d4ab0d1763d73be" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/TestHoareST.fst.hints b/examples/layeredeffects/TestHoareST.fst.hints index e046d210e43..b1b4fac3259 100644 --- a/examples/layeredeffects/TestHoareST.fst.hints +++ b/examples/layeredeffects/TestHoareST.fst.hints @@ -8,7 +8,7 @@ 4, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "830df72da9f31c228c8ebe2769015150" + "594dc74e18888a8ab7f17b41e9707c98" ], [ "TestHoareST.test2", @@ -20,7 +20,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f4848b5d737807c389912b167e45f5f3" + "9121f17cb6b26b7ed929b70dc96edd88" ], [ "TestHoareST.f_pure", @@ -29,7 +29,7 @@ 4, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "2df0c53d7f8ce2214fbf0f501c87b5ee" + "0bf4c32ed10966e1aa2636b746ec30ee" ], [ "TestHoareST.test3", @@ -41,7 +41,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a6488919a88f7983b46392fffeffdb96" + "641e5546787f365cd9b4f2977e0e4bd1" ], [ "TestHoareST.test4", @@ -50,7 +50,7 @@ 4, [ "@query", "equation_TestHoareST.f_pure" ], 0, - "4a6ffe9bb41b216da0b9a0ef6e1d4898" + "5a6b742895c1fe71624135cdc5287491" ], [ "TestHoareST.test6", @@ -59,7 +59,7 @@ 4, [ "@query", "equation_TestHoareST.f_pure" ], 0, - "ecc9aaf53e9745b297d9f6c0199ac9e5" + "fec5c21a2ee97ca0bba6a5bf9724b5df" ], [ "TestHoareST.test8", @@ -68,7 +68,7 @@ 4, [ "@query" ], 0, - "5ad1662f1a08bfcfb251bb01678982e1" + "6fc122d87b10483aeef6c4a2e8c62fff" ], [ "TestHoareST.test9", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "7ca39343c4d007b8a89fedfe1b951e01" + "60a1642583aebd1b5e3a4322094bd791" ], [ "TestHoareST.test11", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e97b12d0c71bb7c380741d314c6a023f" + "c3b5ed93216375935a664b758df9a1e2" ], [ "TestHoareST.test13", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "dbc6eeb60e7ea485dd1e3486410058d9" + "7b90fe9e9e00a182a38624df29118c58" ] ] ] \ No newline at end of file diff --git a/examples/layeredeffects/Z3EncodingIssue.fst.hints b/examples/layeredeffects/Z3EncodingIssue.fst.hints index 749e1279018..21755235ece 100644 --- a/examples/layeredeffects/Z3EncodingIssue.fst.hints +++ b/examples/layeredeffects/Z3EncodingIssue.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4ae25c336bae74dc6eefda21514ce660" + "c85df76b53b89bebecaf94bdbcafdedd" ], [ "Z3EncodingIssue.subcomp", @@ -26,7 +26,7 @@ "typing_Z3EncodingIssue.buf" ], 0, - "69e4dd1075bc90b0cf58bd15fe927220" + "404f46fb9a8861124551b22361c9ab43" ], [ "Z3EncodingIssue.CHACHA", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "967232e3b6c07ea3d403ff2022e1855f" + "c21811ef2b63c8cfb6725dcd5236c6fc" ], [ "Z3EncodingIssue.CHACHA", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "445b0a866321a8152859cb43c19a0838" + "152a8d02f7cf9e40f62ed8fd34345bd4" ], [ "Z3EncodingIssue.CHACHA", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "0610b3632c3d39345e6faa3e177d30d8" + "6d608802110a52ed92121e77a3dbbd31" ], [ "Z3EncodingIssue.lift_div_chacha", @@ -83,7 +83,7 @@ "typing_Tm_abs_e8e7dd3fad251651880a411e491cc508" ], 0, - "eeb3bb21d287bd53a4d1c36d791f20ee" + "d7f5728fd1fc8f721eaa81bea705e423" ], [ "Z3EncodingIssue.chacha_fn_ok", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "6fd863dc02c9ac91f05d5141859249eb" + "a2f5b7734028aef5e8c6bf60634aafc7" ], [ "Z3EncodingIssue.hreturn", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "5b9130236584d06164f3f7bb6fc22e2b" + "f0ea25970da71eb57103a354d4597a74" ], [ "Z3EncodingIssue.hsubcomp", @@ -122,7 +122,7 @@ "typing_Z3EncodingIssue.state" ], 0, - "ff650c9234dd330de6c4cd2c0012dbaf" + "c214fdcd32b27434f9a890e053229678" ], [ "Z3EncodingIssue.REF", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6222f8188c434d5c87664330c76df3be" + "b845e36a5c10f1f501d695ed798e79a3" ], [ "Z3EncodingIssue.REF", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "059095ff182d5330f2979ebccb869532" + "b30d4276db9598ceb3e002a032b3796d" ], [ "Z3EncodingIssue.REF", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "594e5abd20f3ddf938bb100c84fd1864" + "b9d94fa6954f531159aa623b5caec95b" ], [ "Z3EncodingIssue.lift_div_ref", @@ -179,7 +179,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "bc78fc3683e489a8e72749e3d34e59a3" + "ac8a5efed3974fd298103f947a8136fd" ], [ "Z3EncodingIssue.ref_hfn", diff --git a/examples/low-mitls-experiments/HSL.fst.hints b/examples/low-mitls-experiments/HSL.fst.hints index 2442afe0e6d..9f392e2265c 100755 --- a/examples/low-mitls-experiments/HSL.fst.hints +++ b/examples/low-mitls-experiments/HSL.fst.hints @@ -29,7 +29,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "d38a9ed1933666405ffce3ed9072d7c2" + "4c7351d55c1b382fc06a4ec97cb1bad4" ], [ "HSL.null_terminator_invariant", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" ], 0, - "c13bca2697bba83c19b187dfa73f361b" + "c2d0c27a2bc28ac1a3a0001d6872dbae" ], [ "HSL.msgs_list_invariant_helper", @@ -86,7 +86,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "9cde597a0fb65bd0c6d1c7bac0876c63" + "52daa45f27e13da05494b6e3c3decb73" ], [ "HSL.msgs_list_invariant", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" ], 0, - "c22959097aa472d29837d163f243b63f" + "d0bd9c263a17f10faf2a82961ea721ca" ], [ "HSL.hsl_invariant_predicate", @@ -111,7 +111,7 @@ 1, [ "@query" ], 0, - "867caad967353cb37d3700c9bf1fa94b" + "d2dbd92313ae205d335215d220c9917e" ], [ "HSL.lemma_hsl_invariant_elim", @@ -125,7 +125,7 @@ "l_quant_interp_c201aaa20bdc47f8fa03cb815d14c900" ], 0, - "107ae90d1b3fbf301d2ef3c5888736ab" + "902fcedf3fd36d6e9b1e5cad4cba7720" ], [ "HSL.hsl_footprint", @@ -148,7 +148,7 @@ "typing_FStar.UInt32.v", "typing_HSL.__proj__Mk_state__item__buf" ], 0, - "971951c88a44c4f1fcee75bcf00f43f8" + "8641b5f755a4d3c98548d76081e14ea7" ], [ "HSL.lemma_frame_hsl_invariant", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_844aedafe2486882415eb7c5e30e7630" ], 0, - "9011e8dada2f1e70183556aaee8a8f3a" + "fa2494095b1f6b24b523d50bd7a04882" ], [ "HSL.lemma_frame_hsl_invariant", @@ -250,7 +250,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "98ca8432a2fcf934be791443cc8e9d44" + "3b4ee6767576f06af1e4bc4eb439d16f" ], [ "HSL.hsl_create", @@ -386,7 +386,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "96b4bd8a857d062ff5f2167bf8d39c1e" + "33dee292afc32616a1a518e3c39013fe" ], [ "HSL.aux_process", @@ -453,7 +453,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "9a53f6090d997364762341a16839a6b9" + "7cc31a9524ac4c71c26b022f891a9590" ], [ "HSL.hsl_process", @@ -497,6 +497,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "l_and-interp", @@ -565,9 +566,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_HSL.hsl_get_buf", "typing_HSL.hsl_get_len", "typing_HSL.u32", + "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.v", "typing_HSL.hsl_get_buf", + "typing_HSL.hsl_get_len", "typing_HSL.u32", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.loc_addresses", @@ -576,7 +578,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "7ef76e6b17cf3bb69dd9a6fd9ae6fd21" + "b4c9e40a543e4a43ff8d6c4753756a6d" ] ] ] \ No newline at end of file diff --git a/examples/low-mitls-experiments/HSL.fsti.hints b/examples/low-mitls-experiments/HSL.fsti.hints index 74127fa5d49..bf7b331cbca 100644 --- a/examples/low-mitls-experiments/HSL.fsti.hints +++ b/examples/low-mitls-experiments/HSL.fsti.hints @@ -30,7 +30,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "52ee03df6b8c26caf82212d06cd285f8" + "59f7c8b80e176b9fd04928844f7ed641" ], [ "HSL.null_terminator_invariant", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" ], 0, - "affc622f8e300566cd9498f3c216c776" + "c2d0c27a2bc28ac1a3a0001d6872dbae" ], [ "HSL.msgs_list_invariant_helper", @@ -84,10 +84,11 @@ "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len" ], 0, - "241fce3a9a0e3495eed6a180125c2cf1" + "52daa45f27e13da05494b6e3c3decb73" ], [ "HSL.msgs_list_invariant", @@ -103,7 +104,7 @@ "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" ], 0, - "0a4d1863dc6560ac31c81b8007c595cc" + "d0bd9c263a17f10faf2a82961ea721ca" ], [ "HSL.hsl_invariant_predicate", @@ -112,7 +113,7 @@ 1, [ "@query" ], 0, - "b9d7942db6bcec403a841d76a04cfc1a" + "d2dbd92313ae205d335215d220c9917e" ], [ "HSL.hsl_footprint", @@ -132,7 +133,7 @@ "typing_FStar.UInt32.v" ], 0, - "96fd8803c691b2b30bd53559ae025e25" + "ed0b515b15810a12e9e9a55cbc0cc1d2" ], [ "HSL.lemma_frame_hsl_invariant", @@ -144,7 +145,7 @@ "refinement_interpretation_Tm_refine_844aedafe2486882415eb7c5e30e7630" ], 0, - "2083ddbbb1cfe7ab5def14df80ae9cd4" + "fb3f44becf028fd5850f25ed042c38cb" ] ] ] \ 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 ac42b423ef4..97039c93b3d 100644 --- a/examples/low-mitls-experiments/ImmutableBuffer.fst.hints +++ b/examples/low-mitls-experiments/ImmutableBuffer.fst.hints @@ -88,7 +88,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "b6acae6653aa01fff07c1c35133ffcb9" + "05386e356fc6d570a1fc3f0abcd286a8" ], [ "ImmutableBuffer.test", @@ -194,7 +194,7 @@ "unit_typing" ], 0, - "79931d0fa9f2a7bf886a69d8a59861ca" + "9bcad279f6cdcefc4b17b748c0fc5815" ], [ "ImmutableBuffer.test_ub", @@ -283,7 +283,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "8963d9ed1dbcc6a2fc3ce6a79be41405" + "9d75e3ecaddfb2579c7ca07cb1f6c6e8" ], [ "ImmutableBuffer.test_bigops", @@ -295,7 +295,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r" ], 0, - "9ce94146c1f95697dbfe64b5bf71cf78" + "b235387d30250c8a96cb2d0c17296e76" ], [ "ImmutableBuffer.havoc_pf", @@ -313,7 +313,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "78ef11a3ba2bd29c803cc7ee0e05dc4b" + "61d3116e4f47cb912299d1c960c2ae16" ], [ "ImmutableBuffer.test_pf", @@ -408,7 +408,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "06755c97f35e2a386e48f70ac3a6afd1" + "ce8b5cc1278e90c415eca7dda1028cd4" ], [ "ImmutableBuffer.test_witnessed_functoriality", @@ -459,7 +459,7 @@ "typing_FStar.Seq.Properties.replace_subseq" ], 0, - "4dc943e948aaf09acd998c74532e51bb" + "18b37f6e6616c1df061244a1caffd586" ] ] ] \ No newline at end of file diff --git a/examples/maths/Gcd.fst.hints b/examples/maths/Gcd.fst.hints index 5e1ed07083d..06bc5134d8c 100644 --- a/examples/maths/Gcd.fst.hints +++ b/examples/maths/Gcd.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "17b252fadecfb6dfe861381fd07898f1" + "dad93fb1c755fe5b8be4c36156fae583" ], [ "Gcd.a_divides_a'", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "4ded1c763d25103e61379256e5fd3084" + "e1bbdc6a0b4b60f2f872010a82a3a406" ], [ "Gcd.gcd_triv", @@ -31,7 +31,7 @@ 1, [ "@query", "equation_Gcd.is_gcd" ], 0, - "838a097f81c92d4f1deb0e5ef1a630ba" + "c8db1edb4948b04f55fe93a30799eb31" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/LambdaOmega.fst.hints b/examples/metatheory/LambdaOmega.fst.hints index 200db39721a..87a8f0bf7a3 100644 --- a/examples/metatheory/LambdaOmega.fst.hints +++ b/examples/metatheory/LambdaOmega.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "787f4ea5587af076464871198331fd7c" + "3a9783d42d241158ac3893dae5277f6c" ], [ "LambdaOmega.__proj__KArr__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "ffce0771cc234c935edbdd1aa9eb8eed" + "b07e27bd8a3b9a2f3f020e45a56bae89" ], [ "LambdaOmega.__proj__KArr__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "8ff1bd35dd63242698bcfdf717a7b76c" + "33655ec7daa56c00a1bd8ef74323fc3f" ], [ "LambdaOmega.typ", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "edc60ed155c99c1c8e2c422dab88b6b0" + "d2db170bbb056f31f52560fe01a0e2d7" ], [ "LambdaOmega.__proj__TVar__item___0", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_8454d7d4c32c3f232806dd6979b25988" ], 0, - "0bec1606e745a79b3a77b982dc86da2e" + "b16a86fb5ad6812c5d7859b0c3749c29" ], [ "LambdaOmega.__proj__TLam__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "ed0a45885a5ce328a9705ce999e2411e" + "73edda3ae36b1e3ae69a5b9e5c6d26ad" ], [ "LambdaOmega.__proj__TLam__item__t", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "8c91c6b2de111fadef68aaa33a7b536c" + "e06eaf5443713d185de97d386529e5a3" ], [ "LambdaOmega.__proj__TApp__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "81a4a3ee9b8a3cd0e64f8b21e4dc7d46" + "06e2ed6be7f86f513075fbd4bfad1dcb" ], [ "LambdaOmega.__proj__TApp__item___1", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "457f0253a7ab39eb2ad79da0e8afcf3f" + "998a33e821974d4efd014600f7f5fd46" ], [ "LambdaOmega.__proj__TArr__item___0", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "e3b786a0c8cee792850d59754f49992e" + "90b78ec25d41f6d0d94ed1f7d7f8ee2c" ], [ "LambdaOmega.__proj__TArr__item___1", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "bd33df84c4c5c8c7f2071525becc61e0" + "aa84ebb9cea01e860175158be4723d9f" ], [ "LambdaOmega.exp", @@ -148,7 +148,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9702bd1fe490a4b02ca65e59f415c277" + "954216b8671c02bd17e250324fea812e" ], [ "LambdaOmega.__proj__EVar__item___0", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_13c221c50ecb0c200f598116593dea3d" ], 0, - "3f45c1352a7b71b4def2cca780074335" + "071cba7544eabc5a950bc677bf21cec5" ], [ "LambdaOmega.__proj__EApp__item___0", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "63d6c83162482f8d43288bd89df3ac44" + "f632c8944e4ccafb61d28668b211d57b" ], [ "LambdaOmega.__proj__EApp__item___1", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "34938db56126fc2d9f44fc324a606aef" + "9190542fbe63cf80e21f04348d22324c" ], [ "LambdaOmega.__proj__ELam__item___0", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "6c7266995575ad2ad5396e3e22488764" + "4ba8eb2557f78d234bced258e9c680e6" ], [ "LambdaOmega.__proj__ELam__item___1", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "70ce8aaa44557986b7acd62884956a0e" + "d2ca771d7ccbdc897909b8ca79605658" ], [ "LambdaOmega.is_erenaming", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_fbfece31e99154e48993e2ff9813691a" ], 0, - "a6b7b9f7ebbe1686357b35f7230de9c9" + "d74d5a4d50691a369b7b66caffaf0ac5" ], [ "LambdaOmega.esub_inc", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7369319358f636153da0a1801363661f" + "8c9e16d87382d4945136ecbf6f2bda88" ], [ "LambdaOmega.esubst", @@ -277,7 +277,7 @@ "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "93e8b054c4a660023bd3d0b24b9cde96" + "7707efa16a7a1b29fc18a5a1b7365c01" ], [ "LambdaOmega.esubst", @@ -309,7 +309,7 @@ "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "8d348f483f2affe8f96d4bc8194acd30" + "47576a2377c3b0d53d92f962d0904dcd" ], [ "LambdaOmega.esub_lam_renaming", @@ -324,7 +324,7 @@ "typing_LambdaOmega.esub_lam" ], 0, - "5dc8eb4e408001cf4b85fbc40fcdcd18" + "f6a6460eaca67eae7009de59b899c9c2" ], [ "LambdaOmega.esubst_extensional", @@ -367,7 +367,7 @@ "token_correspondence_LambdaOmega.esub_lam", "true_interp" ], 0, - "a896bfb853261272bd5431d250f2496e" + "99047dadbbe3abc49f483db4328de51e" ], [ "LambdaOmega.esub_lam_hoist", @@ -376,7 +376,7 @@ 1, [ "@query", "assumption_LambdaOmega.exp__uu___haseq" ], 0, - "2bd29bad9cd3e2067bd0e28a98386d33" + "7cacf1cb16405279ce2fc147ba2f8f28" ], [ "LambdaOmega.esub_lam_hoist", @@ -385,7 +385,7 @@ 1, [ "@query", "assumption_LambdaOmega.exp__uu___haseq", "true_interp" ], 0, - "be55d86f95fb38b9e73faa506fbc04ec" + "348bfa2d8b1f20dd5191ec1ddd10f1da" ], [ "LambdaOmega.esub_beta", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ae2ab790d0282263c1c480e7db0fdd46" + "85e6b8404a19be8d9a7d84c161283f65" ], [ "LambdaOmega.is_trenaming", @@ -411,7 +411,7 @@ "refinement_interpretation_Tm_refine_a3541ea2aa7a52c156e8f5632774ffb6" ], 0, - "8c1a9404efe71e85c4fa2f53c3672570" + "7636e9a2f08de03a9918b83ba1d3b0c8" ], [ "LambdaOmega.tsub_inc_above", @@ -425,7 +425,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "de93e99896af510b47374b3f37818b96" + "49ffacbceda37711f0e7c140490b4071" ], [ "LambdaOmega.trenaming_sub_inc", @@ -446,7 +446,7 @@ "token_correspondence_LambdaOmega.tsub_inc" ], 0, - "4630b947a6844b9b7faec2301f14513a" + "abe20de286983016ac0b1216c06122a4" ], [ "LambdaOmega.tsubst", @@ -492,7 +492,7 @@ "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "7625b05913f3c0964cc670d828e43898" + "e63d4c03b2e9ca6bbd9dbd57ff13e48c" ], [ "LambdaOmega.tsubst", @@ -527,7 +527,7 @@ "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "d56df038d1245ef8b2c95a3065d52678" + "efa6ba7f5729c27c0736c3615a0eaf2d" ], [ "LambdaOmega.tsubst_extensional", @@ -536,7 +536,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "31c73f61d4e6a8b5ec9ba3989b7d63bb" + "3dc96c9809c485272109c681124f093c" ], [ "LambdaOmega.tsubst_extensional", @@ -545,7 +545,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "7af7f82bd82cebed1ba65c71a20f70e8" + "e679d3a7aa204e901d6fb69e34aaa739" ], [ "LambdaOmega.tsubst_extensional", @@ -590,7 +590,7 @@ "token_correspondence_LambdaOmega.tsub_lam", "true_interp" ], 0, - "f2761fbe203c13672478bf846db760b2" + "89caa667c71c06d16cb3a7c69ff472d6" ], [ "LambdaOmega.tsub_lam_hoist", @@ -599,7 +599,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "a44d94242a76717b76fded4c2a9f66c1" + "08f78bd35789f02607127afa8fadce8b" ], [ "LambdaOmega.tsub_lam_hoist", @@ -608,7 +608,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq", "true_interp" ], 0, - "f45f14fe768e209ca1e4661e5b31c578" + "b97929fcbfef5ec71e77ddcb40cd6952" ], [ "LambdaOmega.tsub_comp_inc", @@ -617,7 +617,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "072b759354efc361e9934b1ebade8884" + "790178f7cb1add3d60e335b8f01f717a" ], [ "LambdaOmega.tsub_comp_inc", @@ -657,7 +657,7 @@ "typing_LambdaOmega.tsub_inc" ], 0, - "20394b77e10e0150e1a111214075b054" + "5423a35d00cfc4db8de9756073679444" ], [ "LambdaOmega.tsub_lam_renaming", @@ -672,7 +672,7 @@ "typing_LambdaOmega.tsub_lam" ], 0, - "c9f352683a04802c4e0085b662257168" + "ef897d46a06b6825d78d6debc2743fb8" ], [ "LambdaOmega.tsubst_comp", @@ -681,7 +681,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "e8d60aaabc1ea97a57f9cc594a8e33f3" + "bb00aa1a64c03d44777e33d0bcd135f9" ], [ "LambdaOmega.tsubst_comp", @@ -690,7 +690,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "dd58ed2889541c9e1e3339a8fd389b3a" + "b39dc18619d5cb05da99765abdfca681" ], [ "LambdaOmega.tsubst_comp", @@ -759,7 +759,7 @@ "well-founded-ordering-on-nat" ], 0, - "5f9cefa9cbb829c598c1a79b44a3c71b" + "791381e0bf71f073650f36c25ebda0bb" ], [ "LambdaOmega.tsub_lam_comp", @@ -768,7 +768,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "132bdf6c9989233c74728ff50b8da798" + "a9113efa035efba1a3693698474fcb9a" ], [ "LambdaOmega.tsub_lam_comp", @@ -809,7 +809,7 @@ "typing_LambdaOmega.tsub_comp", "typing_LambdaOmega.uu___is_TVar" ], 0, - "fd2cea6df3c42687d9eaa8a79bf5faca" + "a4b552e89d249b996f1889351ca1f8b0" ], [ "LambdaOmega.tsubst_id", @@ -818,7 +818,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "f4a726395576e8c7c86303d956eb9d62" + "9f754e37fc8e792fdd31e39a6e7e3d4d" ], [ "LambdaOmega.tsubst_id", @@ -827,7 +827,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "b0844018f38e6b4ac30a62b74f12859f" + "bb68b53477eb9389617f8ea9113e0473" ], [ "LambdaOmega.tsubst_id", @@ -860,7 +860,7 @@ "typing_LambdaOmega.tsub_id" ], 0, - "4bdb6dd1787e930ac05843643b5a7fb0" + "1716709ebf279b58cd262fe40542fbb7" ], [ "LambdaOmega.tsubst_id", @@ -896,7 +896,7 @@ "typing_LambdaOmega.tsub_id" ], 0, - "f8ebe5a67b35be8e0bc95966e0d2fc24" + "458b209964a75140d9cdd93fb427d32a" ], [ "LambdaOmega.tsub_beta_gen", @@ -914,7 +914,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6847d7c5dd5bf3d6c72f4a0ee7d6ffc8" + "e8783d8474c9efe81873cabaf3f81486" ], [ "LambdaOmega.step", @@ -926,7 +926,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "e12b9b717bc9a82ae38ab51a591825f3" + "0955820703609b65f947c2360d7077f5" ], [ "LambdaOmega.__proj__SBeta__item__t", @@ -938,7 +938,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "ca0a941d658946a9fc1c2be302ad592c" + "10b8a84ebdb10d2db4ae827af63bd390" ], [ "LambdaOmega.__proj__SBeta__item__e1", @@ -950,7 +950,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "001d57fd293a3e968466724b5d87cc1b" + "1e61db2b5338ed7d2984f3a9e028598a" ], [ "LambdaOmega.__proj__SBeta__item__e2", @@ -962,7 +962,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "f4b56e29615f292e17a4af8904487538" + "650b6a4494e4ae8a77543e94f812e84d" ], [ "LambdaOmega.__proj__SApp1__item__e1", @@ -974,7 +974,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "145fe441c2e23fa0931978cef2bf8aba" + "b76c7a6b357976d04f46ea9d455d6b7e" ], [ "LambdaOmega.__proj__SApp1__item__e2", @@ -986,7 +986,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "0f7e9f5d661555384dd33702ce8e79a1" + "7b8d566a851915c889f6528a7e348b52" ], [ "LambdaOmega.__proj__SApp1__item__e1'", @@ -998,7 +998,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "d6d8caecbac4da2ace4038e1809df8ae" + "ded5e835301328598e81d8f4baca1933" ], [ "LambdaOmega.__proj__SApp1__item__hst", @@ -1010,7 +1010,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "7b0edfe9a12a82848d9ae7306066f142" + "b15f634923ec6d1f94da6984c425b935" ], [ "LambdaOmega.__proj__SApp2__item__e1", @@ -1022,7 +1022,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "2367d9fc20aa6d025178a998c65d1464" + "9127773b28ff22537e77ef631069b34b" ], [ "LambdaOmega.__proj__SApp2__item__e2", @@ -1034,7 +1034,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "04424e1174801a69dc969477b2862c7d" + "025cb9d368b455dfa05db3b8ba8b4f7f" ], [ "LambdaOmega.__proj__SApp2__item__e2'", @@ -1046,7 +1046,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "ac8b201d3c01853886fbb115eb821667" + "4ff0456e421f8a7f715422e938703bd9" ], [ "LambdaOmega.__proj__SApp2__item__hst", @@ -1058,7 +1058,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "c4ffa184cb3c5a0750a75afe30643258" + "f64d118463e2e864851d1c72cc371009" ], [ "LambdaOmega.extend_tvar", @@ -1083,7 +1083,7 @@ "typing_LambdaOmega.lookup_evar" ], 0, - "96c969d03e53c9906c834431dc0c0c33" + "eb5abc9c115bf0cb7b5a9fb2f4c76c5f" ], [ "LambdaOmega.extend_evar", @@ -1100,7 +1100,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3d5d5247e20a7b413b1ccb09d3489ec8" + "ae131d8c05020b3d56f96d2da44a3b38" ], [ "LambdaOmega.kinding", @@ -1112,7 +1112,7 @@ "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc" ], 0, - "6a31872b4bd2c06d6fd46bb9fd992792" + "85e2efa096a1ef17b5facc803faba930" ], [ "LambdaOmega.__proj__KiVar__item__g", @@ -1124,7 +1124,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "9d99769803e7b3bc22bf7a84003e6d4e" + "72ba4b9546ee7ab4f51cbbe33ab4e69e" ], [ "LambdaOmega.__proj__KiVar__item__a", @@ -1137,7 +1137,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "a7775ce16cdfa97cbe317895d0f71f90" + "c7e08cc0d586ba6286f6357d5fc162a7" ], [ "LambdaOmega.__proj__KiLam__item__g", @@ -1149,7 +1149,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "c029ee56e7de6e46aa6174b918c84e5b" + "5cace53e0b1026e1056a2c789b580f0d" ], [ "LambdaOmega.__proj__KiLam__item__k", @@ -1161,7 +1161,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "cfdb0279d6f84b57067753fa16041b14" + "21f820c6447342b399ed709550108014" ], [ "LambdaOmega.__proj__KiLam__item__t", @@ -1173,7 +1173,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "71b6e265c394315cc85676cd963d4b58" + "80be6a20733c7e736a04d53f1d201e42" ], [ "LambdaOmega.__proj__KiLam__item__k'", @@ -1185,7 +1185,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "96a7097de1413edfa1c3098e439e6592" + "039d3f1219a01d9c6b43a3424655660d" ], [ "LambdaOmega.__proj__KiLam__item__hk", @@ -1198,7 +1198,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "87d97356c762e7264fab803925a30474" + "490a8f9357056d196f89a3459a2dae28" ], [ "LambdaOmega.__proj__KiApp__item__g", @@ -1210,7 +1210,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "e19059e23b8c6c6ed1a19af2ea2674d5" + "a001af12d4ce17c60fdf05cdeeaadadd" ], [ "LambdaOmega.__proj__KiApp__item__t1", @@ -1222,7 +1222,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "e75ef8c45cfcaa8febb54f4f39b5a471" + "f708d65939380d523109e4d9e5bc391e" ], [ "LambdaOmega.__proj__KiApp__item__t2", @@ -1234,7 +1234,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "5ee48f3beadd66e2e72a90cc21b5a0b9" + "df3a3fb09193ea841c10b324264348d9" ], [ "LambdaOmega.__proj__KiApp__item__k11", @@ -1246,7 +1246,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "f0609afde4df4ad058f7be139d2246b9" + "708648ad19b563e3827f1e2ff76ffdbd" ], [ "LambdaOmega.__proj__KiApp__item__k12", @@ -1258,7 +1258,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "173c5795c5433eba5c123c7bf62f4722" + "4e81bc9239a45eb7926517f7b698a1f2" ], [ "LambdaOmega.__proj__KiApp__item__hk1", @@ -1271,7 +1271,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "348d25e49432c1a804668f9c36351a68" + "2a24d5738830b47ca2daf8ce306aa51e" ], [ "LambdaOmega.__proj__KiApp__item__hk2", @@ -1284,7 +1284,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "5862bdaa5d8deee1eb096d359da83057" + "7d0640e4ce6b08790517aae863320b95" ], [ "LambdaOmega.__proj__KiArr__item__g", @@ -1296,7 +1296,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "296ac140b6d6a83eebe619eb173b2f3c" + "c29699a7bf4910e134a745a84be78cb8" ], [ "LambdaOmega.__proj__KiArr__item__t1", @@ -1308,7 +1308,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "6be72aec169e5acb12a871d3dfc35a8c" + "98b2e228d5e483b22189cf3c6836f659" ], [ "LambdaOmega.__proj__KiArr__item__t2", @@ -1320,7 +1320,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "01e722d97948107d46ec2183688d6534" + "22324f89c5d5e624932e183800868538" ], [ "LambdaOmega.__proj__KiArr__item__hk1", @@ -1333,7 +1333,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "0d0b9eb25a97be2aaf18075f323db7b3" + "d72be05b6dafb4f1d85d3f4420488b23" ], [ "LambdaOmega.__proj__KiArr__item__hk2", @@ -1346,7 +1346,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "b9d8e6039093993d346ba49279b6c143" + "1a149e2f98b811d024c642449ad341bf" ], [ "LambdaOmega.tequiv", @@ -1358,7 +1358,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "ae5ccfa4d7785113c7311d1e0cdaacca" + "b94acb1d6dd9454c5a63232a7be79fb3" ], [ "LambdaOmega.__proj__EqRefl__item__t", @@ -1370,7 +1370,7 @@ "refinement_interpretation_Tm_refine_c9253dcb041a3b4f852211144c57ce7b" ], 0, - "055f8b86521df1cd7e6c9e485b150f58" + "f465ae99a06fa926d444f7ee22ebb7b3" ], [ "LambdaOmega.__proj__EqSymm__item__t1", @@ -1382,7 +1382,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "6b2d590c86902ea6b2352aa44d651f18" + "f9443d59f05ec367ba2007519f30ca22" ], [ "LambdaOmega.__proj__EqSymm__item__t2", @@ -1394,7 +1394,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "35de59fbead24e6f2841704225bea8d5" + "2140ec8b613a155d41327b9bfcc0baf3" ], [ "LambdaOmega.__proj__EqSymm__item__he", @@ -1406,7 +1406,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "ca008bed2d13590a82536de7fb208ec7" + "67e56229be6787a1450bbfbf6453409d" ], [ "LambdaOmega.__proj__EqTran__item__t1", @@ -1418,7 +1418,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "5fd1657469bcc7799db36b6dbe50c3de" + "2a8e7617702afc29e4b484910c731afd" ], [ "LambdaOmega.__proj__EqTran__item__t2", @@ -1430,7 +1430,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "f2460ec93247dc58d511eaa5bdd2171a" + "39ac073ecc2f89535c614aca367da121" ], [ "LambdaOmega.__proj__EqTran__item__t3", @@ -1442,7 +1442,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "d7a5c3286e3160f5719727cf3f73c93f" + "891a6790ce1d10f0a452a4326af5ffc9" ], [ "LambdaOmega.__proj__EqTran__item__he12", @@ -1454,7 +1454,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "6a6b11522cef2c1906296648c3fb5e98" + "00e88008758b62e30d2e0bc0868c1774" ], [ "LambdaOmega.__proj__EqTran__item__he23", @@ -1466,7 +1466,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "3dc4aa763e01786c79222748ce775194" + "8581b0e707bc8ea4c9bed043a407aa75" ], [ "LambdaOmega.__proj__EqLam__item__t", @@ -1478,7 +1478,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "045eb1fcd2ba6797d95196be3a671b3a" + "e8cd31edac4ce2eebf5551f0da46c06e" ], [ "LambdaOmega.__proj__EqLam__item__t'", @@ -1490,7 +1490,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "b30e217e5a65c4302e72e618ce432e34" + "0637cc7440f400868a475758a62daf85" ], [ "LambdaOmega.__proj__EqLam__item__k", @@ -1502,7 +1502,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "573ace8ee8022234d48bf8b6ed24b230" + "a61fad0da14e484170308390c036ced8" ], [ "LambdaOmega.__proj__EqLam__item__he", @@ -1514,7 +1514,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "605d299decbe01eb255362896f1fec90" + "183c82b5b927800c24ae62bdd5af3647" ], [ "LambdaOmega.__proj__EqApp__item__t1", @@ -1526,7 +1526,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "b93cd380dc7820d302d7bfbded1e3b6b" + "9dcfdc07a69fb4a532401b8d6c192466" ], [ "LambdaOmega.__proj__EqApp__item__t1'", @@ -1538,7 +1538,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "d712807b5e573e79b2cdb266e9f37189" + "92727f7c1a24d81eec14fd16e7f5866c" ], [ "LambdaOmega.__proj__EqApp__item__t2", @@ -1550,7 +1550,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "c492b014c73c52d24f6d581919cbff85" + "7ef904c25eb590f5cf87542174fcbef5" ], [ "LambdaOmega.__proj__EqApp__item__t2'", @@ -1562,7 +1562,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "06dcd4593fb3f848b6f47269d8db8c08" + "8068a5a5dbe6d2132cea9bcdd9025fb2" ], [ "LambdaOmega.__proj__EqApp__item__he1", @@ -1574,7 +1574,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "56da14dc3df4fa7d7d1afc320e5b7dc1" + "1498b530acc774b3d316cac97d3b8655" ], [ "LambdaOmega.__proj__EqApp__item__he2", @@ -1586,7 +1586,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "1b1c1048178f2f50c35040546cae7301" + "1a1db646f72882f2fa655b11d1e0489c" ], [ "LambdaOmega.__proj__EqBeta__item__k", @@ -1598,7 +1598,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "14e4e9c223ad1e8cdb7667463a6c494c" + "efc687f40665b573c50eaff00b52da17" ], [ "LambdaOmega.__proj__EqBeta__item__t1", @@ -1610,7 +1610,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "1833a377f49e8eb801871ca06337553b" + "e96388849602a97d8c23b5d259e38192" ], [ "LambdaOmega.__proj__EqBeta__item__t2", @@ -1622,7 +1622,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "9ee303741c061bd4b23e9662593ea363" + "d49b9e378dd07df359d8dafa423c5d67" ], [ "LambdaOmega.__proj__EqArr__item__t1", @@ -1634,7 +1634,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "90bdca1fe6c4a7655a0590802956d400" + "a240bb12ea470666e73bc835ff8caf1a" ], [ "LambdaOmega.__proj__EqArr__item__t1'", @@ -1646,7 +1646,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "92ce5cc8610f3035b50f25820cff6c25" + "d51fdb672d75433f794c09d7952ba822" ], [ "LambdaOmega.__proj__EqArr__item__t2", @@ -1658,7 +1658,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "44aebad88123571d94af6c60051ee848" + "5edaeee004a587a60e9e7732da25c661" ], [ "LambdaOmega.__proj__EqArr__item__t2'", @@ -1670,7 +1670,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "1897ca1f801a8df110f2109234692051" + "b255c29e348be8c568072b627fd40336" ], [ "LambdaOmega.__proj__EqArr__item__he1", @@ -1682,7 +1682,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "4b4061d13547a42a3e7cdf642a858662" + "217ac28f0e7090b40ba2a7707a770aaf" ], [ "LambdaOmega.__proj__EqArr__item__he2", @@ -1694,7 +1694,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "ebcef743ad35b4322fc43fbfd724c8ed" + "2d46256dab1959990bfa475fa55f50cd" ], [ "LambdaOmega.typing", @@ -1706,7 +1706,7 @@ "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "ee90c4c9be02de2c34334efcdc359301" + "da62d09e22cb354fb767c895aa2e4c89" ], [ "LambdaOmega.typing", @@ -1718,7 +1718,7 @@ "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "f1fadaf72d07f01ea282a529039be3d2" + "5a4083f83912c2692cb458acb52f37c0" ], [ "LambdaOmega.__proj__TyVar__item__g", @@ -1730,7 +1730,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "6263f0a89d1cb1b8f71841c3c957c7d3" + "6ca06066dfd79e74aac5cfe5389e7fd8" ], [ "LambdaOmega.__proj__TyVar__item__x", @@ -1743,7 +1743,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "94cd98fec2e879ed2152e3affc3c3d5c" + "5acc6d940afe54aa70a51de005e16417" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -1757,7 +1757,7 @@ "typing_LambdaOmega.__proj__TyVar__item__x" ], 0, - "4018c648549319dc3d24639bad1d4ee6" + "da323a428e76b9e2cc38ba7c0fd13e89" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -1783,7 +1783,7 @@ "typing_LambdaOmega.__proj__TyVar__item__x" ], 0, - "0dad3e8fddbccfe831912d5770838a7c" + "43fe4b64b04023c62a0345598c9502e2" ], [ "LambdaOmega.__proj__TyLam__item__g", @@ -1795,7 +1795,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "63a15a9f4422f47caf1f98289a259fe6" + "48735f0d99de7f681df44144a49eabd8" ], [ "LambdaOmega.__proj__TyLam__item__t", @@ -1807,7 +1807,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "1a2a00f4e0ad1ed838fe0ffc0e3f7393" + "ea2ebc5114d9803e4952c1cf1af1276f" ], [ "LambdaOmega.__proj__TyLam__item__e1", @@ -1819,7 +1819,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "5a17689220f001a9f6bb423d04afee10" + "3543863ed441ecbf8b01c7b1c80399e1" ], [ "LambdaOmega.__proj__TyLam__item__t'", @@ -1831,7 +1831,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "60b827dbba4b6304f2ce48a56e4c12eb" + "6277d7b0edae1825c487e119243589a1" ], [ "LambdaOmega.__proj__TyLam__item__hk", @@ -1844,7 +1844,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "71b29468a2285a1253556fa5c59c5b75" + "6ebcbc6b84ce564fd5340bc9fe6aa2f0" ], [ "LambdaOmega.__proj__TyLam__item__ht", @@ -1857,7 +1857,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "82b798cee399553f68da66838fd50f65" + "fa0d41bf1ad2acd583647cc04b9b9962" ], [ "LambdaOmega.__proj__TyApp__item__g", @@ -1869,7 +1869,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "d67a5fe761f9c47687ac5733c6c96085" + "ac43e6ba88657337faecc8a69d8066a1" ], [ "LambdaOmega.__proj__TyApp__item__e1", @@ -1881,7 +1881,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "cfaf759a267a3a8df4784d13eaff1739" + "e453846ebb835834de8999b93153af59" ], [ "LambdaOmega.__proj__TyApp__item__e2", @@ -1893,7 +1893,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "02ade3c9f45b4b84058da06d95d5c152" + "0db930e759feb9011f018443e8725d7a" ], [ "LambdaOmega.__proj__TyApp__item__t1", @@ -1905,7 +1905,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "0af0332bec475065cb98f0a9872e33bf" + "ab66e050c3a711fc0fbe312c566d026a" ], [ "LambdaOmega.__proj__TyApp__item__t2", @@ -1917,7 +1917,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "d27a3c1a5d71dc7b546391db445b2971" + "970fda67c33d96ff2b10619491ac0f49" ], [ "LambdaOmega.__proj__TyApp__item__ht1", @@ -1930,7 +1930,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "cb64a9ace4625b2edac5482e7c71d545" + "bd1144ee8f57018db212628b47f52a13" ], [ "LambdaOmega.__proj__TyApp__item__ht2", @@ -1943,7 +1943,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "d4d098a5fe9cb5f6cc8c8b195c458272" + "d24e5461897e284b3c8b59bb5f9411ec" ], [ "LambdaOmega.__proj__TyEqu__item__g", @@ -1955,7 +1955,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "21f3b8e6a7e28015bc6ba8487927d3d2" + "a210e6a429e528e8ea15e4ec1a3d9c4d" ], [ "LambdaOmega.__proj__TyEqu__item__e", @@ -1967,7 +1967,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "721ea8a43552b67cf100e82aeee65c80" + "e4c5684d8a2321a47fc81f41b403d416" ], [ "LambdaOmega.__proj__TyEqu__item__t1", @@ -1979,7 +1979,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "6d6361bc4a823cdc15c0b0245ede8031" + "ea6723962f488a7a9214fe93f0e70b1e" ], [ "LambdaOmega.__proj__TyEqu__item__t2", @@ -1991,7 +1991,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "1b5f3581c55bbe4c39432dbda03baf66" + "b3997e5685e275ef4fb2011182f3c4ba" ], [ "LambdaOmega.__proj__TyEqu__item__ht", @@ -2004,7 +2004,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "03e6aee68b284d1b05646a0e2e840b67" + "2f377677667f8999243b76f154dce3ba" ], [ "LambdaOmega.__proj__TyEqu__item__he", @@ -2017,7 +2017,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "dd191325b233d2fdc6baa1906d487235" + "a91a1b2bc37e57eba75f2570bf25e883" ], [ "LambdaOmega.__proj__TyEqu__item__hk", @@ -2030,7 +2030,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "4ed466c99163ee2cdc4c27ccf5a62775" + "4d906af3690d99bf09e3c113d07a4def" ], [ "LambdaOmega.progress", @@ -2079,7 +2079,7 @@ "typing_LambdaOmega.is_value", "typing_LambdaOmega.uu___is_ELam" ], 0, - "0d62008addf6411eb0d2b7ea524ffee4" + "8e21aa6c673adc5310112a80b8001e94" ], [ "LambdaOmega.tappears_free_in", @@ -2106,7 +2106,7 @@ "subterm_ordering_LambdaOmega.TLam" ], 0, - "4ca6eb8c832a666fe6635f1f24b50873" + "c45a2464785058edbf98d11cee340cbe" ], [ "LambdaOmega.envEqualT", @@ -2119,7 +2119,7 @@ "kinding_LambdaOmega.knd@tok" ], 0, - "51dd1ae8a0d3329dc86feb16c2b1f5d7" + "e1e976926c8252f32b207d752c3db5c7" ], [ "LambdaOmega.tcontext_invariance", @@ -2188,7 +2188,7 @@ "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "da6b6f3888dc515d5d1178e5cf594032" + "242b3486095113be0610b88b0e51da97" ], [ "LambdaOmega.kinding_extensional", @@ -2239,7 +2239,7 @@ "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "1e095df03d46cfb2d2623b2c3eff6763" + "804ddeb07426517e94c1082972a67029" ], [ "LambdaOmega.kinding_weakening_ebnd", @@ -2258,7 +2258,7 @@ "projection_inverse_LambdaOmega.MkEnv_a" ], 0, - "cb83b2997b6c2d8d5b76c2d5c16d2657" + "ec5f23119d23dfe86513b6d3b24a676a" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2272,7 +2272,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9f7ce64381d3b780097ebd14acd7e1d1" + "6df73131d8d9d5a28cb21e700b74ec4f" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2289,7 +2289,7 @@ "true_interp" ], 0, - "e1b260578323b4a0d648fc190b62787a" + "a7518a903ed5b16bbd65e77b00052be5" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2335,7 +2335,7 @@ "typing_Tm_abs_8bf2deaceafb7a389a3b7b1e496ee380" ], 0, - "a8ab91d010f12b6b0ca5bebce39a6405" + "ac0b786cf33031c0e7ffc6ffa79769ea" ], [ "LambdaOmega.kinding_weakening_tbnd", @@ -2380,7 +2380,6 @@ "fuel_guarded_inversion_LambdaOmega.env", "fuel_guarded_inversion_LambdaOmega.kinding", "fuel_guarded_inversion_LambdaOmega.knd", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", "int_typing", "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", @@ -2391,8 +2390,6 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.KiApp_g", - "projection_inverse_LambdaOmega.KiApp_hk1", - "projection_inverse_LambdaOmega.KiApp_hk2", "projection_inverse_LambdaOmega.KiApp_k11", "projection_inverse_LambdaOmega.KiApp_k12", "projection_inverse_LambdaOmega.KiApp_t1", @@ -2426,7 +2423,7 @@ "typing_LambdaOmega.lookup_tvar", "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "be5178c697ca0c6f484e1a52931a2479" + "47eb6a0f6783c7dd92fc2fff0ed19afa" ], [ "LambdaOmega.kinding_strengthening_ebnd", @@ -2445,7 +2442,7 @@ "projection_inverse_LambdaOmega.MkEnv_a" ], 0, - "0a97282741a7892f7aacaa840ff5334d" + "21e4a80745fdee2c5d373bbe242eef84" ], [ "LambdaOmega.kinding_inversion_arrow", @@ -2473,7 +2470,7 @@ "projection_inverse_LambdaOmega.TArr__1" ], 0, - "ec44a5c78065fc1a7c127ca5eb3b3bf4" + "54e31d700f362c871a859df74c8e0d46" ], [ "LambdaOmega.typing_to_kinding", @@ -2503,7 +2500,7 @@ "subterm_ordering_LambdaOmega.TyLam" ], 0, - "7fcfdbe839cde8de4121e92cbd5c9f9b" + "5aed56f41bb81db05be8cd671c0ddf8a" ], [ "LambdaOmega.tshift_up_above_tsubst_beta_aux", @@ -2518,7 +2515,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "411005e12e59b22b6a25c82b46f15dce" + "af84de51f0dbc6390a8d7d36c2dbb8f8" ], [ "LambdaOmega.tshift_up_above_tsubst_beta_aux", @@ -2558,7 +2555,7 @@ "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" ], 0, - "68f1254f39fed177190ce8b76fa9bcd6" + "3a0d5ef9a78a98d7f8b6cc8455dbc744" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2573,7 +2570,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a877b89696ac2896aaced105e70d2b20" + "6cbed45269bb3a70dc7879cfb7dbf1b4" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2588,7 +2585,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e8b519e160cad43ecce8069e080cbb23" + "dbd612b9748bfeb4a68618793c427f27" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2610,7 +2607,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "aabb1b20e20061ed5562ddd52ad3c72e" + "4dafe8d8a2608945b194a2ff6a3b039e" ], [ "LambdaOmega.tequiv_tshift", @@ -2658,7 +2655,7 @@ "subterm_ordering_LambdaOmega.EqTran" ], 0, - "ee01da96e3306ffb2038fcfdd316e034" + "231c33a25b9598e8ede97ed8211627f6" ], [ "LambdaOmega.is_renaming", @@ -2670,7 +2667,7 @@ "refinement_interpretation_Tm_refine_9195fc48fb1fed46e22584772c46e277" ], 0, - "3431e0a601ef9c2cfe5e992d3a70b258" + "c3cab6c16e23d53d51e60a0787e22db2" ], [ "LambdaOmega.subst_typing", @@ -2683,7 +2680,7 @@ "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "0d98063507862b1fa54ce4def7924db7" + "d1d2f6cf168e681ff04f4509e257ef9e" ], [ "LambdaOmega.substitution", @@ -2798,7 +2795,7 @@ "well-founded-ordering-on-nat" ], 0, - "6c034bafee78b3b205164d2d3e08cfce" + "0db96607b7241306735ef9e38a4a69ab" ], [ "LambdaOmega.typing_substitution", @@ -2839,7 +2836,7 @@ "token_correspondence_LambdaOmega.esub_beta" ], 0, - "5f2c3ff356e42027d1081c461b1fc924" + "1c599f2aeb3e14fc54579571328fdedc" ], [ "LambdaOmega.tsubst_gen_tlam_aux", @@ -2854,7 +2851,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c54346406eaf1f52d464f15b354ff13a" + "573d792e052a26e1d9d2056e5ca3e1f6" ], [ "LambdaOmega.tsubst_gen_tlam_aux", @@ -2898,7 +2895,7 @@ "typing_LambdaOmega.tsub_beta_gen", "unit_inversion", "unit_typing" ], 0, - "8c2913df09603abc131349bd0b0de8d4" + "2e019f7a7b9650b6e48cb0bb49434e7c" ], [ "LambdaOmega.tsubst_gen_tlam", @@ -2913,7 +2910,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "07a15a88b92717781396f57315e2e138" + "8e072c815d90eb2c671a3d5661b84291" ], [ "LambdaOmega.tsubst_gen_tlam", @@ -2933,7 +2930,7 @@ "token_correspondence_LambdaOmega.tsub_lam" ], 0, - "7927563d69a7b0abf7b29258b576b1d7" + "ecb88fe9abf268b74c7260a4b2b79d40" ], [ "LambdaOmega.tred", @@ -2945,7 +2942,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "0a0e6f35b884e22e8c8f566b3a8e95ea" + "2c9f215fb542a21190e87c6cdf4f88b5" ], [ "LambdaOmega.__proj__TrRefl__item__t", @@ -2957,7 +2954,7 @@ "refinement_interpretation_Tm_refine_ec02c1428e5505f04555fdddbba4f245" ], 0, - "7d821c8bcfff36ba09e0714e53717288" + "8afa0d3385fa39aa68c166c0e82dab9b" ], [ "LambdaOmega.__proj__TrArr__item__t1", @@ -2969,7 +2966,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "88ab5bb5780ee8fe317d4f4f83c0f7d6" + "d2668e81237ca85a2dfa587db1a885f0" ], [ "LambdaOmega.__proj__TrArr__item__t2", @@ -2981,7 +2978,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "627e0b97666c5c6e8d0aea73bbe2c297" + "84f559b5bf26fbddf8d829bbed2e6468" ], [ "LambdaOmega.__proj__TrArr__item__t1'", @@ -2993,7 +2990,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "5a5de624cbe04fc44b94b3aea5b74d5f" + "82f486a93283d2d6abb612cb1a3e41e8" ], [ "LambdaOmega.__proj__TrArr__item__t2'", @@ -3005,7 +3002,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "68ed99f5c6a2ab5ee3518d78178cbfb5" + "edb6347b56fc5aebd8b3d3bf1ee5f2bc" ], [ "LambdaOmega.__proj__TrArr__item__hr1", @@ -3017,7 +3014,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "93b7ddbe5791236363231fbf20328850" + "9dffa1cc803bdcbfdc90af47b6967583" ], [ "LambdaOmega.__proj__TrArr__item__hr2", @@ -3029,7 +3026,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "869875f69ced95748486600e8775e121" + "99ac56c5481ad50892b58dca2e9f93a4" ], [ "LambdaOmega.__proj__TrLam__item__t1", @@ -3041,7 +3038,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "70509be6d283328519015c7acd5dd3a6" + "ea90e9c6fe08bae344883cd965112519" ], [ "LambdaOmega.__proj__TrLam__item__t2", @@ -3053,7 +3050,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "5d79be24522ca76db57bcf85ffed2bb1" + "70431ae2b6f995a9633f98ac4717da10" ], [ "LambdaOmega.__proj__TrLam__item__k", @@ -3065,7 +3062,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "e7bc8d9ef6d69327ebe821ce7bce5098" + "8edb22760428f4b1ef945443b4a92fb6" ], [ "LambdaOmega.__proj__TrLam__item__hr", @@ -3077,7 +3074,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "c5be4524493ec17e4a3ca8c116bba4a4" + "348c5d6152131d00b517db2187fadaf6" ], [ "LambdaOmega.__proj__TrApp__item__t1", @@ -3089,7 +3086,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "020f83b5a88f505d384d6b62c77a832a" + "ac4d5d7712636f998c2a507035384082" ], [ "LambdaOmega.__proj__TrApp__item__t2", @@ -3101,7 +3098,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "a87f8b1152ba1141faf342ac685d55f4" + "068f8173da4cbac82fbf170a42bae068" ], [ "LambdaOmega.__proj__TrApp__item__t1'", @@ -3113,7 +3110,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "7687622ef03f35cd5b7a17c8e815ab17" + "6e09b45b34c45dcbae06c9f8f05e8fba" ], [ "LambdaOmega.__proj__TrApp__item__t2'", @@ -3125,7 +3122,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "3f8355a47b346bfc558891809e0ba097" + "8889a68143346c48697656c3c2834325" ], [ "LambdaOmega.__proj__TrApp__item__hr1", @@ -3137,7 +3134,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "6d113d306586b485fe7bbd1342f14a8a" + "1b81b8ccac9db3b0dd611bc356ca18ae" ], [ "LambdaOmega.__proj__TrApp__item__hr2", @@ -3149,7 +3146,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "e7e5b69ccafe9c7e76840ff22be2d830" + "b023521e6ac376f4196f91620a125adc" ], [ "LambdaOmega.__proj__TrBeta__item__t1", @@ -3161,7 +3158,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "7f677a5e6a203aa7b0dd6d974121ce17" + "bbd52a51893f43a81d29f9e896409cb0" ], [ "LambdaOmega.__proj__TrBeta__item__t2", @@ -3173,7 +3170,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "ea69f397d3f9a648a2f4a6cd3f1cf20c" + "038af8947af613d10cb4f688a4c975af" ], [ "LambdaOmega.__proj__TrBeta__item__t1'", @@ -3185,7 +3182,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "641cfb032a627cbb5259f724effdd0fe" + "263e7f5be158cbd34d13afccd7d9535b" ], [ "LambdaOmega.__proj__TrBeta__item__t2'", @@ -3197,7 +3194,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "8b918d499e4c9e156968ce742a5c16f1" + "4a32e9e305dd93bf52d47d6af78509ec" ], [ "LambdaOmega.__proj__TrBeta__item__k", @@ -3209,7 +3206,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "542fb5321a905d1b209db3c022618535" + "ad436b834deac9018152206a53748676" ], [ "LambdaOmega.__proj__TrBeta__item__hr1", @@ -3221,7 +3218,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "930975cebe84b9f4f0c5544ce029934a" + "6d218ca437ad58f96bcb61d047b2bcb7" ], [ "LambdaOmega.__proj__TrBeta__item__hr2", @@ -3233,7 +3230,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "fda31368a190be2d98eba5ba359a5bb6" + "0db56200b7391d38503d0567ed27e3d4" ], [ "LambdaOmega.tred_shiftup_above", @@ -3277,7 +3274,7 @@ "subterm_ordering_LambdaOmega.TrLam" ], 0, - "7b5463b72db4a56c2102751a680f8c26" + "5dbd9cf810babcf27ac44806ac7d20db" ], [ "LambdaOmega.subst_of_tred", @@ -3325,7 +3322,7 @@ "typing_LambdaOmega.tsub_beta_gen" ], 0, - "50da850bbf361c194c48012a75b8bc75" + "221ee3c772954b306283569ed86eb1e6" ], [ "LambdaOmega.shift_above_and_subst", @@ -3334,7 +3331,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "6085405cdfbe4547392ca057074470e5" + "6a8d21734636677a08021eed071b9d54" ], [ "LambdaOmega.shift_above_and_subst", @@ -3343,7 +3340,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "fb1377e924e1b2f57f46a440676ad742" + "a2cd3339e0cad9f3c88288f1300fb718" ], [ "LambdaOmega.shift_above_and_subst", @@ -3383,7 +3380,7 @@ "typing_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844" ], 0, - "ab614f7d39fe96ebcd5b198605c3f2ad" + "9c68cc3d6a6c73d2aaf71c2ea4e79af9" ], [ "LambdaOmega.tsubst_commute_aux", @@ -3398,7 +3395,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "db19d6367f6f11d1caed985d46e6798e" + "aabaf77e961f7cf40ed6ef277ac2b7aa" ], [ "LambdaOmega.tsubst_commute_aux", @@ -3444,7 +3441,7 @@ "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" ], 0, - "56fed5e8c115a71369a7affe03312a7f" + "9b5d1750b237174ea7fe9898f86c4e76" ], [ "LambdaOmega.tsubst_commute", @@ -3459,7 +3456,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "2759ecb5da51e92a45cdd32868d26aae" + "732c3c241ac5d24f4a92fc242213b073" ], [ "LambdaOmega.tsubst_commute", @@ -3474,7 +3471,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "4797006cc97c564d2ac4a66bae826d49" + "7eb2751fc3454f38fcf21bc30c9e5274" ], [ "LambdaOmega.tsubst_commute", @@ -3498,7 +3495,7 @@ "refinement_interpretation_Tm_refine_a7ee391026890c35c50aa78e24f7d2f1" ], 0, - "7e6b620b37a83b9737dcd3db7f99f06f" + "0fad3fc7172741abeef72f26b18a2d7e" ], [ "LambdaOmega.subst_of_tred_tred", @@ -3545,7 +3542,7 @@ "typing_LambdaOmega.tsub_beta_gen" ], 0, - "3541b855855c53409148d44b32a94b14" + "e4836ffbdf36b06c4f4a06b4b4a7b77a" ], [ "LambdaOmega.ltup", @@ -3557,7 +3554,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "731337bfd3de83e1c81c08f12e934fef" + "6647263ff556421a28cf2c5d0e51e88c" ], [ "LambdaOmega.tred_diamond", @@ -3631,7 +3628,7 @@ "subterm_ordering_LambdaOmega.TrLam" ], 0, - "8972888ca02a265fc0f83ba24c755eb4" + "a3c340d407a0bb75d422c99197bb5415" ], [ "LambdaOmega.tred_star", @@ -3643,7 +3640,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "78bb0db8aaf47e9b363230093a8cdbdc" + "209c4fdc9530d19553f0b0da47fae740" ], [ "LambdaOmega.__proj__TsRefl__item__t", @@ -3655,7 +3652,7 @@ "refinement_interpretation_Tm_refine_1a7575284e0bd4a4c04a45a4b9ef5e55" ], 0, - "b170d07d61e6e34c2601cb78f794006a" + "468905d98e4b58d8adef1fd046665c36" ], [ "LambdaOmega.__proj__TsStep__item__t1", @@ -3667,7 +3664,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "e50c78ca4bd7c84c0772c4d2807de1eb" + "9332c5e8159c7811a5b6b6bea5bb5847" ], [ "LambdaOmega.__proj__TsStep__item__t2", @@ -3679,7 +3676,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "d34ad38fef59d8cab5de05e410918c20" + "f848ca0bd5d9a219fc3e6e5cd51e1311" ], [ "LambdaOmega.__proj__TsStep__item__t3", @@ -3691,7 +3688,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "4b7c89f9f081d825cb1715a7a67b8a70" + "ae9a278425e8f7ccebb91c33042c37d0" ], [ "LambdaOmega.__proj__TsStep__item__hr12", @@ -3703,7 +3700,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "69ee543b8261d03e6490c3813f9f8b62" + "c6442ea461511cd0a88cf37015a6c46d" ], [ "LambdaOmega.__proj__TsStep__item__hr23", @@ -3715,7 +3712,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "9ce7994b5eb8d429e26837a36f37c46b" + "1052cacbe2bd6063b776fedfb261df0e" ], [ "LambdaOmega.tred_star_one_loop", @@ -3733,7 +3730,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "9bfb38191a55be4e956d3ffaf7ff95de" + "78bbd8437a6b8350b461522df3acda79" ], [ "LambdaOmega.confluence", @@ -3751,7 +3748,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "ebdbf51b811de5fa77ab9aae6cd5176d" + "18f31c294c4ab5cb58d9899119b25164" ], [ "LambdaOmega.ts_tran", @@ -3769,7 +3766,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "56880f9faac1e69d0d1384e4fbb19c10" + "8f360312d4f930ce7857cc2a08d5d99f" ], [ "LambdaOmega.tred_star_sym", @@ -3781,7 +3778,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "47bb28d33be2e67d1623b54127908ac8" + "b3d4c3866dda2ea5d0411e2b206f68f4" ], [ "LambdaOmega.__proj__TssBase__item__t1", @@ -3793,7 +3790,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "f40769049efb49b2a7cbd06790f7b1bf" + "7e592ab9782d5664ad47b4df1a88f936" ], [ "LambdaOmega.__proj__TssBase__item__t2", @@ -3805,7 +3802,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "be53ad6d450629641ab1bb9519c379bb" + "33fda4460f850df3f07b705629bb22d1" ], [ "LambdaOmega.__proj__TssBase__item__hr", @@ -3817,7 +3814,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "ee1ff02c15d5b5e1232ed798d603aa1c" + "cbfaefbcc52c31ad60cf29d255155891" ], [ "LambdaOmega.__proj__TssSym__item__t1", @@ -3829,7 +3826,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "10ba8e4e081db2da88dbc42700fdf407" + "a846393f3c20c8502c6eeb61100b44a9" ], [ "LambdaOmega.__proj__TssSym__item__t2", @@ -3841,7 +3838,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "b4b69a4b86736ebe943a90ec86e02ace" + "bb9a09f77b2eb32af8c83f20fc5361aa" ], [ "LambdaOmega.__proj__TssSym__item__hr", @@ -3853,7 +3850,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "62e8db5c65ca140ff77ea161a2ccce62" + "0c0a78d11fc338d6766f0b1fd1affb3d" ], [ "LambdaOmega.__proj__TssTran__item__t1", @@ -3865,7 +3862,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "c69041c5e520a369e99283dff51d2026" + "223a5fc2a21c488393750935c465c0d4" ], [ "LambdaOmega.__proj__TssTran__item__t2", @@ -3877,7 +3874,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "5b71f8e43400da690a4548fe63f6f644" + "e944a14f608d8f031b1d15db147aaf39" ], [ "LambdaOmega.__proj__TssTran__item__t3", @@ -3889,7 +3886,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "707eff209e2a00c336bb60cc7ebd5f62" + "e88b98daa5819ce985e77d3900b5d2d5" ], [ "LambdaOmega.__proj__TssTran__item__hr12", @@ -3901,7 +3898,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "85cf065a33bc29fd9f077619e065bd08" + "138fb19252e5dd74074507f4cd3f4f23" ], [ "LambdaOmega.__proj__TssTran__item__hr23", @@ -3913,7 +3910,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "6131e6705606d72ceb8a8fff6103d439" + "1841eb552426ba1f956406d29060bb26" ], [ "LambdaOmega.tred_star_sym_confluent", @@ -3933,7 +3930,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "2a5cf965796d6c742d003ef6e07d8dc7" + "d27fe964afe8a8ffdd9fbfa83ae64e75" ], [ "LambdaOmega.trlam_tss", @@ -3953,7 +3950,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "127c79101895e021b58c66591dcbda25" + "cd6d5208786422c7f0889e22f03ee5fa" ], [ "LambdaOmega.trapp_tss_1", @@ -3973,7 +3970,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "e6930e0b4eff63a0cd990adc44f415d5" + "dd7cadcc1543b0f2e6e272ed449e92ab" ], [ "LambdaOmega.trapp_tss_2", @@ -3993,7 +3990,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "0c0eafbd05b1a426263bdb5f84bd1c3e" + "9eb9f21198ca09759646b2901bab0369" ], [ "LambdaOmega.trarr_tss_1", @@ -4013,7 +4010,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "88a18c8c1bf14998312a00c1162544d4" + "51903e5ef2e26b7ba624eafef5d77b68" ], [ "LambdaOmega.trarr_tss_2", @@ -4033,7 +4030,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "c8f9ae4d289aa0225833249380c210b7" + "84566318b3d883eebd91fe4ad94f3b67" ], [ "LambdaOmega.tequiv_tss", @@ -4062,7 +4059,7 @@ "subterm_ordering_LambdaOmega.EqTran" ], 0, - "605a669d2c1b384d80af5fa0231698c5" + "4bce0360963f6075dc13b8344c52790d" ], [ "LambdaOmega.tred_tequiv", @@ -4087,7 +4084,7 @@ "subterm_ordering_LambdaOmega.TrLam" ], 0, - "b19f345103674a2cd0450bc3faed0600" + "3e2a8d5af77aa55648ae63da7087d173" ], [ "LambdaOmega.tred_star_tequiv", @@ -4105,7 +4102,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "fcc6ca80a772c025b3fb06d08e2ef518" + "245b926aa406d7c4c9a66e69b2ddbfbe" ], [ "LambdaOmega.tss_tequiv", @@ -4125,7 +4122,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "49c34d36f77e14b4e39789647d2da92b" + "b9788a052390d5a4e097aecdb024a70e" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4134,7 +4131,7 @@ 2, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "20a099e4c751b575fad40cbdcb760d05" + "f9977a49ef54d923a93e49c20883e195" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4143,7 +4140,7 @@ 2, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "0d57dfc5b65d23d49bc3771df5816612" + "7b0385e5466a96575fe6fca7eafbcec2" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4177,7 +4174,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "d569b797f430ab7bb22f2006f070f04f" + "9e604731a62ef5b9093b33a406e54b73" ], [ "LambdaOmega.inversion_elam", @@ -4229,7 +4226,7 @@ "subterm_ordering_LambdaOmega.TyEqu" ], 0, - "f555d14b373f3cc41a7a03e960255d75" + "603ff19fe4b4e2960bde1bce6d6bee8a" ], [ "LambdaOmega.preservation", @@ -4261,7 +4258,7 @@ "subterm_ordering_LambdaOmega.TyEqu" ], 0, - "79e9f747fd53275354e1de5f3daf2719" + "af1de7983a10d4c2e7210679fcac4dba" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/ParSubst.fst b/examples/metatheory/ParSubst.fst index e732e6a9967..c99790a501a 100644 --- a/examples/metatheory/ParSubst.fst +++ b/examples/metatheory/ParSubst.fst @@ -82,7 +82,7 @@ and subst_eabs s y = if y = 0 then EVar y else subst (s (y-1)) sub_inc -module T = FStar.Tactics +module T = FStar.Tactics.V2 val subst_extensional: e:exp -> s1:sub -> s2:sub{feq s1 s2} -> Lemma (requires True) (ensures (subst e s1 = subst e s2)) diff --git a/examples/metatheory/ParSubst.fst.hints b/examples/metatheory/ParSubst.fst.hints index fa2bd2b79f5..e5a89ece234 100644 --- a/examples/metatheory/ParSubst.fst.hints +++ b/examples/metatheory/ParSubst.fst.hints @@ -1,5 +1,5 @@ [ - "\f6Ñi&ÍŒ¼ÊÈ\u00169u¥\u001c\n", + "=\u001c1çwfe\\Äã—ô¦¨™Ž", [ [ "ParSubst.ty", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "63c986e7b517d58d09465d1fb73cc011" + "d79ee186277d6ff9405f4e747b0ce854" ], [ "ParSubst.exp", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ef802cfa09a85ca7bfe8eb5c4c866f0" + "c8ebdbd78d8698182cc1e3be6e24e3a2" ], [ "ParSubst.__proj__EVar__item___0", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_943feaa075f629a91cb492a3c84ce6a4" ], 0, - "172da13277d8b24f4610dfeb9ac0a040" + "76d759e61ea377f8b98ff9f59014d5f3" ], [ "ParSubst.__proj__EApp__item___0", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "dd0a27f069edbd4ddac9d0c05c2a6291" + "1733f726698ff3d513d53940a549d576" ], [ "ParSubst.__proj__EApp__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "d87ddeedbeb7e404ca214285e1f6b22d" + "cad7102d27b06bcb3b67293ad5bfb7fc" ], [ "ParSubst.__proj__EAbs__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "2516b2a8314526a0960e0b69671233ec" + "026189a765ce84f5970e9884022b8765" ], [ "ParSubst.__proj__EAbs__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "a5210698facd71dd628677691f2e5d64" + "a772c219b765096498d2a2b1652c8589" ], [ "ParSubst.sub_inc", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f0c1e258047bae78d9bd88ae10e51734" + "b62927895cc716b0c5a3523fc906d7ab" ], [ "ParSubst.renaming_sub_inc", @@ -113,7 +113,7 @@ "token_correspondence_ParSubst.sub_inc" ], 0, - "78edcce94dda58c9782a91db85ee78ee" + "dd4719443e6573f4c61ecc79ca4364b0" ], [ "ParSubst.subst", @@ -154,7 +154,7 @@ "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "8aac268554deecf571c08e81cd6820f6" + "f3d2ed01be923eedd6f62a879d80fcae" ], [ "ParSubst.subst", @@ -185,7 +185,7 @@ "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "1260896561abf5c60ae20fdf01c23e7e" + "70eb70e0afecaf08a07a6825546531ef" ], [ "ParSubst.subst_extensional", @@ -194,7 +194,7 @@ 1, [ "@query", "assumption_ParSubst.exp__uu___haseq" ], 0, - "d88d5dd2ac6087a9943d5ee249a5603e" + "f6b9f9aed95340031c9ca6dc7908ed6d" ], [ "ParSubst.subst_extensional", @@ -203,7 +203,7 @@ 1, [ "@query", "assumption_ParSubst.exp__uu___haseq" ], 0, - "d7e96707d6c5a292c2030da5afbf642d" + "b2f90a39f89a0189656fd24e61d64707" ], [ "ParSubst.subst_extensional", @@ -242,7 +242,7 @@ "token_correspondence_ParSubst.subst_eabs", "true_interp" ], 0, - "60cdea37e24b5201c0e2e8ec088e55df" + "fd9fb6ec4a4d8ec5918818ab350f509b" ], [ "ParSubst.test_hoist", @@ -275,7 +275,7 @@ "token_correspondence_ParSubst.subst_eabs.fuel_instrumented" ], 0, - "6def2c8f9dbcbc7fd3b0e684b13c23b9" + "12c3bdf48739d1f738cf5cd92e9645c2" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StackMachine.fst.hints b/examples/metatheory/StackMachine.fst.hints index 1a7c4ac0827..ad5cb8c53bc 100644 --- a/examples/metatheory/StackMachine.fst.hints +++ b/examples/metatheory/StackMachine.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f1baae04d634ca904701a9347afd045" + "22ab2954473a0f4d5ec2c28af72a91e4" ], [ "StackMachine.__proj__Const__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_733535f472f5bce64316080d16cf1692" ], 0, - "d023ed4f8c2bcd180b9d940baa78627e" + "3d88a0e59eab26de69824c1780bc700c" ], [ "StackMachine.__proj__Binop__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "150794ce915af46c0ff5c029c8b47dbb" + "d70358b09f6fe08ca4c7e3eec92b9e3c" ], [ "StackMachine.__proj__Binop__item___1", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "b8787d322ae0badbba2f0dc2d565259c" + "6f0831d1cd8c16ef97062d8b2090924f" ], [ "StackMachine.__proj__Binop__item___2", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "da0f7caa8295c05da43d009eaa4f9f43" + "ee7aee011ec3911e2a14e1bfb54a07da" ], [ "StackMachine.add_nat", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "eef2c42ea6082a52fff2a1f0b847d87d" + "1af6ef0011cd5a20857deca51eb67ba3" ], [ "StackMachine.mul_nat", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f1ccde29b06957cc64d996b4120ce982" + "134c9f0e4b0dea12617ab9434bb5f365" ], [ "StackMachine.eq_nat", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a6bcb0de0039d3ad85e2b4fa357945a" + "5909c68c38c01c618e26686d0dcb0a13" ], [ "StackMachine.binopDenote", @@ -116,7 +116,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7e3ac9a1208229b3307e3160b39770f1" + "da5d57d28dcfda9c02a6408ce0bfb9aa" ], [ "StackMachine.expDenote", @@ -134,7 +134,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "e865fa652aa32db1dff0edd9a03da2fe" + "d78d6cc57ce814d9590e5d38224d4977" ], [ "StackMachine.instr", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f99388631025eb1ff2dc4b553ad6f5c7" + "09c7b526af6c88f6484962560e4e76da" ], [ "StackMachine.__proj__IConst__item___0", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_a31651c68d304738b29495c5aeb6aa44" ], 0, - "f63099166777b3276f50dffdb469e673" + "49cdac95e16c32baece81454d0f797b2" ], [ "StackMachine.__proj__IBinop__item___0", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_94dbe5757f232f1d6a06d4d6dfaafd34" ], 0, - "fe76d8620e7c6d30532558a9d9793848" + "69289e2666cbc13d35e4610f6b2d9b66" ], [ "StackMachine.instrDenote", @@ -188,7 +188,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "af72a1ad48635c507848d9561c53c65d" + "8ca5370dbe0a6bbde86763863cecce05" ], [ "StackMachine.progDenote", @@ -210,7 +210,7 @@ "typing_StackMachine.instrDenote" ], 0, - "133274317472f887bb8ef556befd91f7" + "142764aca7980311b30289c1a8a44e2a" ], [ "StackMachine.compile", @@ -228,7 +228,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "1518fd30fc6ea46aa3f568d9c6136dd6" + "b0f5dbd951c8b10aa80fe37013a89e7a" ], [ "StackMachine.app_assoc_reverse", @@ -256,7 +256,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "12cb5a85ff2bf5306bd5d456471320ef" + "7a8c45b36a58fff998d8af683ad66d73" ], [ "StackMachine.compile_correct'", @@ -275,7 +275,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "132ed2b7678d9d05d4ca4d907367cd9e" + "76f0535c393ba9ed046864321917984c" ], [ "StackMachine.compile_correct'", @@ -348,7 +348,7 @@ "unit_typing" ], 0, - "71471101e9d3d64c4efb6348478ce5f8" + "a8582db7516f275abcf4b98d0e888eef" ], [ "StackMachine.app_nil_end", @@ -365,7 +365,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "abbddf8ba40a7f93d559e647e9a5312a" + "6538e3c01911002f65b0f2cb271c1f48" ], [ "StackMachine.compile_correct", @@ -393,7 +393,7 @@ "typing_StackMachine.compile", "typing_StackMachine.expDenote" ], 0, - "54be278ea335f179bdf73a264d02950b" + "ee2e11527c709cd5512d681d0736047e" ], [ "StackMachine.tbinop", @@ -402,7 +402,7 @@ 1, [ "@query", "assumption_StackMachine.typ__uu___haseq" ], 0, - "5d81fe3d07a782ab7df6434e30c6f66c" + "22574ae47dd42970e6092e62dd493b75" ], [ "StackMachine.__proj__TEq__item__t", @@ -414,7 +414,7 @@ "refinement_interpretation_Tm_refine_013f03405ee56e2bee5ec40dee6f6602" ], 0, - "db6d78a4d9c928f4e86f0c0451478b2a" + "7bbd9190da9b14436bf2c614081d7701" ], [ "StackMachine.texp", @@ -430,7 +430,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61dd679e7e2ffa3c467facf295086225" + "398b2d5ef2e4d56b86ff9e728a23ced1" ], [ "StackMachine.__proj__TNConst__item___0", @@ -442,7 +442,7 @@ "refinement_interpretation_Tm_refine_6dd4891ce41bb7d9b26ab7b05113bdd5" ], 0, - "0116544d6a8545a06fc80fe9c0fa9dc6" + "dfc8ceff511d79867a9512a9aa740a21" ], [ "StackMachine.__proj__TBConst__item___0", @@ -454,7 +454,7 @@ "refinement_interpretation_Tm_refine_9da0b8f720646900d62e529141346f6a" ], 0, - "d681bd3b6621c2b4263c409f16e13e93" + "10518f80dd179428f8ddf7a3de17877b" ], [ "StackMachine.__proj__TBinop__item__t1", @@ -466,7 +466,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "2c6062f4d18367b9b17f8a8a50aaa197" + "238720b69b5264399178e4f92deb10de" ], [ "StackMachine.__proj__TBinop__item__t2", @@ -478,7 +478,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "0938c23b837afd99b8bb056f3f5f234f" + "64a100809b8c30f2b493ed89b6a4fcc3" ], [ "StackMachine.__proj__TBinop__item__t", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "7a44c2f0cc337c0dd22ea81c90284aef" + "43770a50c45052afbbdd8f54d5871002" ], [ "StackMachine.__proj__TBinop__item___3", @@ -502,7 +502,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "82100afcf2fce265a7fc876023c69a81" + "f28649793e8efdeed6ced824cf8c82cf" ], [ "StackMachine.__proj__TBinop__item___4", @@ -514,7 +514,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "1c208bab9f2b6c479adfce2384126dba" + "2632595ec83f58fb444a3f2fd4be3c42" ], [ "StackMachine.__proj__TBinop__item___5", @@ -526,7 +526,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "4acc156d786934f127ef8041bf7ea6fd" + "4511fa5040b3d64ad46ea1eeff8e4c19" ], [ "StackMachine.typeDenote", @@ -540,7 +540,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "09783d7580816f9257f40ab3023400d1" + "bd65623be39f721cb2e26641a98b960d" ], [ "StackMachine.tbinopDenote", @@ -575,7 +575,7 @@ "typing_tok_StackMachine.TPlus@tok" ], 0, - "31e41afe4724b79a2b586338736303fc" + "69820558fe00b9a2a910f5712342b603" ], [ "StackMachine.texpDenote", @@ -602,7 +602,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "bb776d24a88660d5635031f7391ecb86" + "27a2142fc94dba4d18cb89049dabb670" ], [ "StackMachine.tinstr", @@ -623,7 +623,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de05293ca74511111341691337f8116d" + "4cce5ea2c884640d200e1833570e3700" ], [ "StackMachine.__proj__TiNConst__item__s", @@ -635,7 +635,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "511341aa9752943237ed5e1809c7c7a1" + "107d18eeca0c38f225a52df61e4343c4" ], [ "StackMachine.__proj__TiNConst__item___1", @@ -647,7 +647,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "e0af454350c86ebc992bd0977dc68a1c" + "6aeecac6747fd718fb4ac3c377fff446" ], [ "StackMachine.__proj__TiBConst__item__s", @@ -659,7 +659,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "a1e1ab90e737b5dc6ec40e730e3c2b6f" + "9694b11376abdf02608ef7a17123a1b7" ], [ "StackMachine.__proj__TiBConst__item___1", @@ -671,7 +671,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "010abbfb8241392d8fb6ebf54d5b845b" + "a83fff2d735c96c9bd299d5a58dd9ba9" ], [ "StackMachine.__proj__TiBinop__item__arg1", @@ -683,7 +683,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "5cd23a6b560e8994b2bb69dffa315962" + "1401776b9786227bce39aa6bb1dccf63" ], [ "StackMachine.__proj__TiBinop__item__arg2", @@ -695,7 +695,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "e873c16632b00dc15c579523dfb56ecb" + "09e520a64ad9a936826ca7d120f80958" ], [ "StackMachine.__proj__TiBinop__item__res", @@ -707,7 +707,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "23d2ae5e15ef51cc117a02322d1382b5" + "3ac15884aa8e8541dabd41c7baadceb7" ], [ "StackMachine.__proj__TiBinop__item__s", @@ -719,7 +719,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "c61f4831411045e3873d7575aba21a37" + "91f486bb7cac48f4517c61457ab66615" ], [ "StackMachine.__proj__TiBinop__item___4", @@ -731,7 +731,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "269b84ff41ae9a9dedd3b254db8943b7" + "7a9c6ece903ebb5e8960e8c82a56a4cf" ], [ "StackMachine.tprog", @@ -747,7 +747,7 @@ "equation_StackMachine.tstack", "kinding_StackMachine.typ@tok" ], 0, - "b1ba27bb666f532b1d9dce695e2d76cc" + "1acdd0c57002df310e1e1b6134cf6cfa" ], [ "StackMachine.__proj__TNil__item__s", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_f199955d1c0a09a2e1c2187aa1c27dfb" ], 0, - "672ca9cdcee974ae63d006d419d73ea6" + "25e5bc706a431ce9f79307e6cfd665f7" ], [ "StackMachine.__proj__TCons__item__s1", @@ -771,7 +771,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "9a5b455fc5d7bacdf44e5ea5786e8e8a" + "80afdcecb84f362e282400d9661c54b3" ], [ "StackMachine.__proj__TCons__item__s2", @@ -783,7 +783,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "403d9e540a483da9bbceccd5179fe19d" + "5aa1a0a4de7ccc2dd5aa3a200645e083" ], [ "StackMachine.__proj__TCons__item__s3", @@ -795,7 +795,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "55ce1a1c0df208ce3c64b0904f64b9be" + "d09f4ef6fdfae970625b21111884b2bc" ], [ "StackMachine.__proj__TCons__item___3", @@ -807,7 +807,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "06406f3fc913b38e77dd8a277dbc9d69" + "0481f92d249a8296346fd7fbdf1df65d" ], [ "StackMachine.__proj__TCons__item___4", @@ -819,7 +819,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "8cb8422d7391fd79ac283b54aca3e70d" + "464fd2271c3f91c2a5330c87e4e4637d" ], [ "StackMachine.vstack", @@ -836,7 +836,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "c05fdd19d6ab4710adb456b7087db232" + "6ef5bc8036fa86b4623aee69f832ac2a" ], [ "StackMachine.tinstrDenote", @@ -890,7 +890,7 @@ "typing_StackMachine.uu___is_TiNConst", "typing_StackMachine.vstack" ], 0, - "d72835b543c6d9797697de0132deb5c1" + "e35d1795e663b33db9c60100078978f7" ], [ "StackMachine.tprogDenote", @@ -908,7 +908,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "a0f6c94c66fad4988bd846698b78e77e" + "cab0405061db32b6b4cac3c343c7a2fb" ], [ "StackMachine.tconcat", @@ -926,7 +926,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "3ac1e1a5ccddbad0b8fea94c789e0290" + "dd0ef28f8af04152c2fa87b4e8d3bab7" ], [ "StackMachine.tcompile", @@ -946,7 +946,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "f1980ed7e108c04e64307b1acfbf0421" + "6a78e04f9790943c4152f6660ff0d929" ], [ "StackMachine.tconcat_correct", @@ -981,7 +981,7 @@ "subterm_ordering_StackMachine.TCons", "typing_StackMachine.tconcat" ], 0, - "aa3be9e86115c8d79b00e9d6b807baab" + "ad1ab67b27520c7da40f0e867137eecf" ], [ "StackMachine.tcompile_correct'", @@ -1073,7 +1073,7 @@ "typing_tok_StackMachine.Bool@tok", "typing_tok_StackMachine.Nat@tok" ], 0, - "b65b6fec53f75ebbd13d09416dba80e8" + "b697797b84664d1e630e1e022c9266ea" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbParSubst.fst.hints b/examples/metatheory/StlcCbvDbParSubst.fst.hints index dfce73f542c..50dff3d92c4 100644 --- a/examples/metatheory/StlcCbvDbParSubst.fst.hints +++ b/examples/metatheory/StlcCbvDbParSubst.fst.hints @@ -1,5 +1,5 @@ [ - "ý[šºÃ^ÛD¯¾÷°xˆ\u001dE", + "ÖÕìô4V‘\u001b2›\u0001X¹iùó", [ [ "StlcCbvDbParSubst.sub_inc_above", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d5a4c2c8c92191c5c2bd682afcef8429" + "174ef26b50456382bd2cdee0c4bc29f1" ], [ "StlcCbvDbParSubst.extend_gen", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bcd3950b4183408679a1eba1d0e1a189" + "f241c2751c3a03970c4b641c65dbf78e" ], [ "StlcCbvDbParSubst.weakening", @@ -75,7 +75,7 @@ "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "7d6f005889232841e4e5150918cee32b" + "e21dda55dac7955ae9e094d80b75a41f" ], [ "StlcCbvDbParSubst.step", @@ -94,7 +94,7 @@ "subterm_ordering_StlcStrongDbParSubst.EApp" ], 0, - "7eec62bb7c87cbbc7f340638570d0afb" + "f7b2e1d047b14fe32de3bd33401497bc" ], [ "StlcCbvDbParSubst.progress", @@ -153,7 +153,7 @@ "typing_StlcStrongDbParSubst.is_value" ], 0, - "9ef11a4c81e9a73ffebfe1e65bb2cc73" + "ce4b0cc2b1ba7a2f3d98f26294128d39" ], [ "StlcCbvDbParSubst.typing_extensional", @@ -196,7 +196,7 @@ "subterm_ordering_StlcStrongDbParSubst.TyLam" ], 0, - "2a0ed180c77992d603280d7f7a18119b" + "7877be506e082cd587907c4fa695a1a1" ], [ "StlcCbvDbParSubst.appears_free_in", @@ -225,7 +225,7 @@ "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "f1439a6185a3d1814c99179b8062e8b6" + "f1c936cd4a3551f3197275f9c57cf064" ], [ "StlcCbvDbParSubst.envEqualE", @@ -238,7 +238,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "2cfbf79804956bf0ebf65d6eef72d0a4" + "b960c445772dc7902d86fcf2459dc414" ], [ "StlcCbvDbParSubst.context_invariance", @@ -302,7 +302,7 @@ "typing_StlcCbvDbParSubst.appears_free_in" ], 0, - "bfed2b1adee99dbca2461a2997e2c59b" + "c168a3f3861786215a6aff501554307a" ], [ "StlcCbvDbParSubst.free_in_context", @@ -365,7 +365,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "c4361b8f2ba2688c637e89fcfe75aad4" + "a877a6da1fccf3c07493400637532c0b" ], [ "StlcCbvDbParSubst.typable_empty_not_free", @@ -382,7 +382,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ef1bcb289e2ed756162adf8946132512" + "3160cbb1b0a198ccf0b485d804c23940" ], [ "StlcCbvDbParSubst.below", @@ -408,7 +408,7 @@ "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "fc4462c3490b2cee9b97805369d106fe" + "7d26fcbb766489324e7ce4271123525d" ], [ "StlcCbvDbParSubst.below_env", @@ -421,7 +421,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "97950508eda2979a098ab508da0c1652" + "a7c8a88eb624a741e7525879c9475043" ], [ "StlcCbvDbParSubst.typable_below", @@ -494,7 +494,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "0d0c93f544987012d3ef5757495e29ae" + "ec5e57c66184d24d56cefce3785c2bce" ], [ "StlcCbvDbParSubst.typable_empty_closed", @@ -507,7 +507,7 @@ "equation_StlcStrongDbParSubst.empty" ], 0, - "639abf25710c0b8f068e02c4dfad303d" + "ddcab205b77247fcbbbcbe323e19fe76" ], [ "StlcCbvDbParSubst.sub_beta_gen", @@ -525,7 +525,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "880b354476651605402f2486071feb44" + "788fb7fdf67bc40daad2da2daa3b4042" ], [ "StlcCbvDbParSubst.subst_gen_var_lt", @@ -534,7 +534,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "4fd414d133214b54755b3c4381e732f1" + "f9c6fdb61100496ef636a9a58557b526" ], [ "StlcCbvDbParSubst.subst_gen_var_lt", @@ -558,7 +558,7 @@ "typing_StlcCbvDbParSubst.sub_beta_gen" ], 0, - "af8b075e602df289bfd068b16df06d7b" + "c40da4d79d54eafe367ae57744374f25" ], [ "StlcCbvDbParSubst.extend_lt", @@ -571,7 +571,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "b4cec486272f7782a44427dee086de18" + "efe75d0fb441ad0c733c93ae0a452877" ], [ "StlcCbvDbParSubst.extend_lt", @@ -594,7 +594,7 @@ "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "16b9a39fa7edad4be32ae0331da2c478" + "57c0dc42fefa270368dd8d6cdb2cdb79" ], [ "StlcCbvDbParSubst.extend_gt", @@ -614,7 +614,7 @@ "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe" ], 0, - "e397ffb0f90fccff0f5bbbe1a14c6796" + "cdbb1f1b3fe7e1d7b87ada78f30c8ac1" ], [ "StlcCbvDbParSubst.extend_gt", @@ -639,7 +639,7 @@ "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "c31a7f9d9aeefdb0321d5f4e309f0649" + "55b387e06eff629e923671cd5f629ab3" ], [ "StlcCbvDbParSubst.extend_twice", @@ -653,7 +653,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3b984406a7ef6f2761fb165e37941c82" + "59cc168750f639a1870594cc54a5e37f" ], [ "StlcCbvDbParSubst.extend_twice", @@ -679,7 +679,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "89332a406813c6474cf39402ce3aaecb" + "4e641f90c9b5e6d63c72969389de54db" ], [ "StlcCbvDbParSubst.sub_below", @@ -688,7 +688,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "539a1a284ba320b5841049df6822a502" + "580845e0b63266728fa4f137726d44f4" ], [ "StlcCbvDbParSubst.subst_below", @@ -697,7 +697,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "94d6e80f87c2f82bf8d0177eb09740f3" + "dc891869047c8e28ca1ee639370f9ac1" ], [ "StlcCbvDbParSubst.subst_below", @@ -706,7 +706,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "63a46df6775b442075681e09a466470f" + "2255057a23b45dc11e8d52d31e4eb1e3" ], [ "StlcCbvDbParSubst.subst_below", @@ -779,7 +779,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "53fb29d73dc60244a423e8e03406b568" + "a2854679430d13670190e8ac73bd35c8" ], [ "StlcCbvDbParSubst.subst_closed", @@ -788,7 +788,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "57c7fb0710d3790e52bb646367ab6e5b" + "c77d6bf7dd8be1d29362c4f2ded72ee7" ], [ "StlcCbvDbParSubst.subst_closed", @@ -797,7 +797,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "82eb762f016b41f2540f355189480cfa" + "8f0c4e270996e78e30f26b68409f04c9" ], [ "StlcCbvDbParSubst.subst_closed", @@ -814,7 +814,7 @@ "refinement_interpretation_Tm_refine_bf0131f13155cbc90a3c62011d12629b" ], 0, - "fc2a7763e43bfe02210a6fefdc9c171c" + "acfe6f9457cdb759ae2f85301751eda6" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux", @@ -829,7 +829,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "462714cf861ed9aa242eb4ec1b13320e" + "1688a9e04a36f96c9200acdb0e31eaf5" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux", @@ -869,7 +869,7 @@ "unit_typing" ], 0, - "9ffde7fc6ad195cafb39b6e62d7e42ad" + "990f8874896dd0565bce7cb965e6b433" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux_forall", @@ -883,7 +883,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "39ceb94d3c7ee44f1a957417ffa2e7f1" + "6a1588d302462ae04caf423cd8860ec7" ], [ "StlcCbvDbParSubst.subst_gen_elam", @@ -898,7 +898,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4b0b47b3ce64b95cf70961003a256e7f" + "4982aa48e3b53f81fc2396fc2b71e491" ], [ "StlcCbvDbParSubst.subst_gen_elam", @@ -934,7 +934,7 @@ "typing_Tm_abs_d70941dbcdfb3551376d504a2f54c457" ], 0, - "6a4c2b47a99ac0582ac8ca5f259e4284" + "de3baa68060f3f5a0715b597ed80ba68" ], [ "StlcCbvDbParSubst.substitution_preserves_typing", @@ -1016,7 +1016,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "69c2676b5aede4b3db93417824429690" + "158215798082cdafdd435db4b8e28886" ], [ "StlcCbvDbParSubst.extend_gen_0_aux", @@ -1029,7 +1029,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "188adcbe32cea838087d895a1d007ea7" + "d3e3659dfc200a78a5448d5e0c6f2ae6" ], [ "StlcCbvDbParSubst.extend_gen_0_aux", @@ -1046,7 +1046,7 @@ "token_correspondence_StlcStrongDbParSubst.extend" ], 0, - "ad2634394c9757874921e30c8327b88f" + "4727e66fd4cf1d12a126e0b6aac0a964" ], [ "StlcCbvDbParSubst.extend_gen_0", @@ -1067,7 +1067,7 @@ "kinding_StlcStrongDbParSubst.typ@tok", "primitive_Prims.op_Equality" ], 0, - "98d83db16dbb729d6668ed529d31d52c" + "c67093d771da7637dfe9a77274081660" ], [ "StlcCbvDbParSubst.preservation", @@ -1079,7 +1079,7 @@ "refinement_interpretation_Tm_refine_a1a9f2b954f3c5a7c2ac682c70117cd2" ], 0, - "1b6e1806bc7dfad2ae7789227b215664" + "3eaacac531bc7ad1f69e0f5f9ac2905e" ], [ "StlcCbvDbParSubst.preservation", @@ -1088,10 +1088,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_820e1b440550be464370f79bc3e7f097" + "refinement_interpretation_Tm_refine_68b0f6be51b13817b092ed55dab1ade8" ], 0, - "b343bfe4e608e86b92426b804d1a6585" + "271b8c1b1deb14016806c0852d637671" ], [ "StlcCbvDbParSubst.preservation", @@ -1160,7 +1160,7 @@ "typing_StlcStrongDbParSubst.sub_beta" ], 0, - "7f32aeb7f849a9b12f73ff5a0684c5f6" + "fa9206bd193711bacc2fef0c9c65560e" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints b/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints index 24c996e80ad..ac98be884e6 100644 --- a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints +++ b/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c2da855e90807afc034338a16d2cd412" + "0c788ab9cc1ad1d2121cfae5be5f4add" ], [ "StlcCbvDbPntSubstNoLists.exp", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6eaef395ae5f4bdf651901a92cad5b25" + "88ff9b2880774c53ddcc325121690709" ], [ "StlcCbvDbPntSubstNoLists.__proj__EVar__item___0", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_b0fc1a2f197b450737fc60602f5bbe98" ], 0, - "69c81eeeda490daf7e9808b52f73d61a" + "37d700ba4e6d04808212d65afb15a737" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___0", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "c20dbce891b6137d718173ed9115b6d4" + "ad84f956a7d1ca2207117d81e52762cf" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___1", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "f76e8fcbf14133310fd0b2c601b06080" + "f085e526c071ff6289e7176fe7c58a4e" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___0", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "e3a74df3b1e9219be7b37167ef37a9c9" + "923b0f07b6f7f14df3d6abc1580803ba" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "92cebc80e5bd2aaa62d3083ca51b08f0" + "2b39bf6736f0637594b6816243c5514a" ], [ "StlcCbvDbPntSubstNoLists.subst_beta", @@ -116,7 +116,7 @@ "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "03797181d4f0749387d96b1d5e2f1068" + "88c4a494da5ad5900841a259cbdbd97e" ], [ "StlcCbvDbPntSubstNoLists.step", @@ -134,7 +134,7 @@ "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "edc718a2a1a5cb625f3589e271902dca" + "48c86012a63908c91f6e70030633e9ed" ], [ "StlcCbvDbPntSubstNoLists.extend", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9405f0bb93a70d01a49466726c5dc05" + "c4702a36f3eaf3fd7c891ff7afb260d5" ], [ "StlcCbvDbPntSubstNoLists.rtyping", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b" ], 0, - "503fc98d67f9e4f24021effbcaa235d7" + "c05dcbe3e85a15afc09a1fdad733cf2c" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" ], 0, - "b3626011e28523ece8299f2f2c91a916" + "537247984c319fe7b8ca40ca1fa8d6b2" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__x", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" ], 0, - "7c58378128d9dd55af4b64731158ad91" + "3ab110f24c04e0be7a1a56111d494535" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__g", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "36f670ed606c2f69630c191c7de7108a" + "b7aba81cabff654987f586d7c08054ff" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "fcdd9eeddbb9fe5bd1dd2f73db3d1f87" + "ac1709120305896d499020212eb0d94f" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__e1", @@ -226,7 +226,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "29d5436eb337af56e253255c479e43d2" + "37808e4ba80688093f1aa66c8fba3acd" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t'", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "6413c37919f54272b2018548ef073ea1" + "a0b5069930a0c2fefdced2c45db32fbf" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item___4", @@ -256,7 +256,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "cb83557a08b66fa3296a8b2cc5d23dab" + "949d4b7661719a8d589772c35c9bb540" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__g", @@ -268,7 +268,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "c8ddcbf62ffd2a84b81f7b5e04964cfb" + "7bf3607bda9a679a3401bd19edc2505e" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e1", @@ -280,7 +280,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "aa4aeea5eab4f481bdba5e8743fdce86" + "ca0ff80defb8edaaafe1ec8b84285e3b" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e2", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "ffbae00540704d884bdc9f1be5e2c30d" + "54575521e353b5a18dc2434d28ed6f49" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t11", @@ -304,7 +304,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "d80bea82090842f9c9175d8c56e00617" + "825fd22cc97a5df71a216d487a9592bf" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t12", @@ -316,7 +316,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "68ef262e0a368ddac52c75c88d5bc2f1" + "a84ce70d8ba1cc94958f3fb0ffd7885e" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___5", @@ -330,7 +330,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "8be0ddcdf85e68d6e32a3d118583ba37" + "975a0234c356f187cd571089885c5093" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___6", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "b93db7b9aedfd016d75254828e281fe9" + "efa03251c760fb01f6046da6ce750b10" ], [ "StlcCbvDbPntSubstNoLists.progress", @@ -393,7 +393,7 @@ "typing_StlcCbvDbPntSubstNoLists.step" ], 0, - "ce62aa712e9a9f3e764bfc2a5fc55b4f" + "5c3c3d64e13056d37de6159d0efa7177" ], [ "StlcCbvDbPntSubstNoLists.appears_free_in", @@ -421,7 +421,7 @@ "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "41eb645c98c489e999bbf7be1e07b8ca" + "7af279c2d07d82abf4572d8026db5221" ], [ "StlcCbvDbPntSubstNoLists.free_in_context", @@ -477,7 +477,7 @@ "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "57cab2bdcb8fd9195d1f7af9773e5ee7" + "0b3f88af0ae0d4ae492628d5a4676489" ], [ "StlcCbvDbPntSubstNoLists.typable_empty_closed", @@ -493,7 +493,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "357ddfbb01434b288dea35d3de3fc492" + "f9f8f81e56c2106d1129bf8902435538" ], [ "StlcCbvDbPntSubstNoLists.equal", @@ -506,7 +506,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "4a53bb381c417800216012be82628db6" + "e4820fa598238bb37ea6ba59f235753c" ], [ "StlcCbvDbPntSubstNoLists.equalE", @@ -519,7 +519,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "a423ff3630efbefb7c7ca6052bc85a85" + "0e355ac27243944cc0a92927e9e0d489" ], [ "StlcCbvDbPntSubstNoLists.context_invariance", @@ -582,7 +582,7 @@ "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "796ca7cbcefb3dd346ab5466e9d548f0" + "d1128575bea0a79cc8d80999338b6949" ], [ "StlcCbvDbPntSubstNoLists.typing_extensional", @@ -594,7 +594,7 @@ "equation_StlcCbvDbPntSubstNoLists.equalE" ], 0, - "7e6170dafa8845bd55756aec9e14adc5" + "0941811487f964ae2fe05335aafc2dda" ], [ "StlcCbvDbPntSubstNoLists.substitution_preserves_typing", @@ -676,7 +676,7 @@ "typing_StlcCbvDbPntSubstNoLists.uu___is_TyAbs" ], 0, - "3ff753700e39431b83b9480781738d69" + "e41570061194d213a38873184a0c87dd" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -688,7 +688,7 @@ "refinement_interpretation_Tm_refine_7c28f4ae4def0de7a4957ce0bef8e0a3" ], 0, - "c427e9600afd3372e0d88f0a26ea3094" + "5fbb84511956f71ca532bf16476dc54b" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -697,10 +697,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_25ae9ee5053343532207d5971daf7cd1" + "refinement_interpretation_Tm_refine_d61f18d007d2c924adc20415a64daaef" ], 0, - "47a8a4d6b6dd0f96be46bdcfd817f9e8" + "e0212d91cd7e5d42eddae9506da3eb61" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -751,7 +751,7 @@ "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "4e223526f2054688bbe106d08ed4c2b7" + "dd87f557dc8777fa885364345c1c1050" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcStrongDbParSubst.fst b/examples/metatheory/StlcStrongDbParSubst.fst index 8dea42e8186..77e6f6aad9c 100644 --- a/examples/metatheory/StlcStrongDbParSubst.fst +++ b/examples/metatheory/StlcStrongDbParSubst.fst @@ -155,7 +155,7 @@ let rec progress #e #t h = | _ -> let ExIntro e1' h1' = progress h1 in ExIntro (EApp e1' e2) (SApp1 e2 h1') -module T = FStar.Tactics +module T = FStar.Tactics.V2 (* Substitution extensional - used by substitution lemma below *) val subst_extensional: s1:sub -> s2:sub{feq s1 s2} -> e:exp -> diff --git a/examples/metatheory/StlcStrongDbParSubst.fst.hints b/examples/metatheory/StlcStrongDbParSubst.fst.hints index 37a7e880ffd..a5cca38c5f8 100644 --- a/examples/metatheory/StlcStrongDbParSubst.fst.hints +++ b/examples/metatheory/StlcStrongDbParSubst.fst.hints @@ -1,5 +1,5 @@ [ - "å³Ó^Œ;\fRn£YA}5Ú", + "™(ÃZ\u001alw\u000eƒ¾œ\tŽC\u0014,", [ [ "StlcStrongDbParSubst.typ", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e98f35a51c494ee1ac80ae101b4a8d1b" + "1b9bb50f2821bab0737650b78379b3aa" ], [ "StlcStrongDbParSubst.__proj__TArr__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "022285312f831d68f1da42964b9929e8" + "18c39aabfc2b02f2dab37a97404490e1" ], [ "StlcStrongDbParSubst.__proj__TArr__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "eaf2695847630e436a23efa379ae0de4" + "279bd8dcd6dc53cd3b90e5d58cddc36a" ], [ "StlcStrongDbParSubst.exp", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "20cb9b3df7bfe498b8afc8ba3b41953f" + "97fff58247f8245991a47caa355de997" ], [ "StlcStrongDbParSubst.__proj__EVar__item___0", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_f4accbbd705c655c07c4d28fa0433bd8" ], 0, - "6eb805661e8988fb64fbab9c7d410ff8" + "8a2c8f9f254721844f85fd62882a1845" ], [ "StlcStrongDbParSubst.__proj__EApp__item___0", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "28851f64913fc27ed12728fe62630cc4" + "15cd7591c1f6456d1040ec926cfe46c4" ], [ "StlcStrongDbParSubst.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "fd9bac6f414dc5c89d8d9fe049ef7078" + "8ec930e832678946e0ef5ce45a18f732" ], [ "StlcStrongDbParSubst.__proj__ELam__item___0", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "279755c87fa56ae2ebe391623e645804" + "8e760f9a7ef59a5600d90e04da27ef58" ], [ "StlcStrongDbParSubst.__proj__ELam__item___1", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "103f5b68c7f3185f9ec2f8beac6b76fa" + "4f0f7399d1eab0bd3b0fbfa58a7e62f1" ], [ "StlcStrongDbParSubst.is_renaming", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_a2e3e4f07183c4d928088ca9c9dcb623" ], 0, - "5497c12b57f40f99ca480026442274f3" + "a30d61a3140633b4706f9b584c544928" ], [ "StlcStrongDbParSubst.sub_inc", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1e1d63cfe60e8e0dbb914bf887f4ade4" + "577e3a6e8cd6a82d282b87b47ff13ab7" ], [ "StlcStrongDbParSubst.renaming_sub_inc", @@ -152,7 +152,7 @@ "token_correspondence_StlcStrongDbParSubst.sub_inc" ], 0, - "d5dd4cb30136e5e3209f576c5c567e1a" + "743cfe8135cefd90c7658002f0197eda" ], [ "StlcStrongDbParSubst.subst", @@ -204,7 +204,7 @@ "well-founded-ordering-on-nat" ], 0, - "f11eb4ded17427054dbe87484a09143c" + "1bffb82b11bc02d79be2e5417a92e394" ], [ "StlcStrongDbParSubst.subst", @@ -241,7 +241,7 @@ "well-founded-ordering-on-nat" ], 0, - "24fc2c07d02ab7680f66fa2435b2a657" + "2c14dcb32ea76f0b7fb2cfbbb6b37250" ], [ "StlcStrongDbParSubst.sub_beta", @@ -256,7 +256,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fabed3a6619658e1a5242d7c748815ad" + "3e26ceb043a2761a39fe948b09de27a3" ], [ "StlcStrongDbParSubst.step", @@ -268,7 +268,7 @@ "assumption_StlcStrongDbParSubst.typ__uu___haseq" ], 0, - "6ee38d8ff8af01077f77c0a74188dfd2" + "0c92c3445868cd7e9fcdedddc607f7ba" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__t", @@ -280,7 +280,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "4f0c84e4213f2cba272c1ed06dbc2abc" + "65d4d96b444dcf8c237849a504070146" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e1", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "963826f73bedc5f2b44481196c0e81c9" + "3c94d774be72af6e635098cdc1231d56" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e2", @@ -304,7 +304,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "03dfb5fe0a14a17a457212690ef289df" + "f4f9b87520e051aba543096a1cc41209" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1", @@ -316,7 +316,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "e3cc1e5c6ee662c570c1f31bca79358a" + "31789144b33211fb0c0bb4ab25ef673a" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e2", @@ -328,7 +328,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "569f66f6e666fbca16363c94df572553" + "4949ea5796b9236d16fd3e9dc20cbbe1" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1'", @@ -340,7 +340,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "f3def9045f0a48a12aa767787f1e0499" + "25d2d321ae92047789bfff011d60549f" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__hst", @@ -353,7 +353,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "a876cab30b11dd661a4d9d1d5fb2d3f6" + "95665df994fb6428cbf5cc5dd3b102f3" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e1", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "e1479e57d0e53ab85586b8dc62fa03da" + "50dd7f79d828c3f6c9842cd8428ccc38" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2", @@ -377,7 +377,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "2ce24c6af01e310d6021bc6914e27253" + "cd38b00f28b03b0e1ee32eb99670a10f" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2'", @@ -389,7 +389,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "a4d6752f9bb77bfa1ca5eef9652cc1ff" + "75eb092041204577f771312f554b3975" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__hst", @@ -402,7 +402,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "87c19fa88f55126295bcd0a74b90a8d5" + "80808933301cb92b7838a5cf1f651051" ], [ "StlcStrongDbParSubst.extend", @@ -417,7 +417,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b1aaa19af9fde8ff70be939e3ccdbeed" + "6453957de1438b4ac7dc071c24e137af" ], [ "StlcStrongDbParSubst.typing", @@ -429,7 +429,7 @@ "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "4ae686bd55eb8aa44be17f4f17778de1" + "7a3606dece33604e4a75ad36bd76aa11" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__g", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" ], 0, - "169fc277648857c6e073366c53f2f7dc" + "e1b21391b1c48a538f2950d27aa90ac4" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__x", @@ -454,7 +454,7 @@ "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" ], 0, - "541462744a93c5500a6b1c40c38f36b3" + "ae499565ef756284cc682a45e0f622e7" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__g", @@ -466,7 +466,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "f1a6203ea41192e90f99305d9a3b789b" + "6c80e1ee4ee676f4648a8fa384f71c06" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t", @@ -478,7 +478,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "56c4f03b13da28a4928b116951e22393" + "22e376e5a7c037f46067fda9856595c6" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__e1", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "269389dbad050e040fd36f547cc14a73" + "c9fd2ebbb9b8fc755b24da0ffec945a0" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t'", @@ -502,7 +502,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "45493f8087fd248920ff1eac47041946" + "cef381dc9748b4cb124172cdf792388b" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__hbody", @@ -519,7 +519,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "eb30ce9e8e4487570c7ded3ca0608aa6" + "32a443e759299c822d0ede321f5b6baa" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__g", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "c8ab416e24fc3160b148e04ca70f4e30" + "388db91397bfb09cbb3a957ef08cfaa1" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e1", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "10c3187e08f923842964d96bb7aa667c" + "c2cd31279739b4cd12e010a754986398" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e2", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "fb0f5f947d03a6c65297e3fd9f571d40" + "fd756cd14720403036ac2e001ae41920" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t11", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "9d635be06a632478b9f8361c3a01c3b4" + "58f4093dbbf33c40256e7639a8640d88" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t12", @@ -579,7 +579,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "0a69eb453c986c81dbe4c2356624fba9" + "6a9bcdfd8bc284a0904e9f45c5697653" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h1", @@ -592,7 +592,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "f83a1b5cfcb439e25617570270638006" + "ef91c3eb77c49ddecbcd41edafa98bec" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h2", @@ -605,7 +605,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "fdc05d6b42e15870493d31f78c61dd62" + "813354deb4516100e2925ba370efe0e2" ], [ "StlcStrongDbParSubst.__proj__TyUnit__item__g", @@ -617,7 +617,7 @@ "refinement_interpretation_Tm_refine_62fcb6772a40efbdd7f1359f787e4a99" ], 0, - "a23acab7a7f9fbf8e43060695274c1bd" + "7463dd5971379a1af81954480f3c5cf9" ], [ "StlcStrongDbParSubst.progress", @@ -670,7 +670,7 @@ "typing_StlcStrongDbParSubst.uu___is_EUnit" ], 0, - "6e46b91bf49b7a6d7d31f9e639578b35" + "c9eea3a107b2f9f96b5fb59dd1e620db" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -679,7 +679,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "cae851da337737f8267cb1a2449100cc" + "7c68cf59bd1dcf8de97b5c31835de165" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -688,7 +688,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "ace91203c740d1e8b7aaeb3517c4facb" + "2d7522ff6405a01696298a3e722944b1" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -731,7 +731,7 @@ "token_correspondence_StlcStrongDbParSubst.sub_elam", "true_interp" ], 0, - "d474f7682522e3dd717ed2a09623d465" + "87d4c2f72905c153f8dde05323078fcd" ], [ "StlcStrongDbParSubst.subst_typing", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "b072a5ef20c9cb51bbdec07a42029910" + "45410a0828ead932472aa8591730a19e" ], [ "StlcStrongDbParSubst.substitution", @@ -852,7 +852,7 @@ "well-founded-ordering-on-nat" ], 0, - "ef7397f1ddd90006885fe7663097967e" + "a6fb18155aff56f34adacbf45885cf5f" ], [ "StlcStrongDbParSubst.substitution_beta", @@ -881,7 +881,7 @@ "token_correspondence_StlcStrongDbParSubst.sub_beta" ], 0, - "4ba552fe787a21df3e7947d69cb5d9f4" + "d94ad8d499a1de12aa47071896d4f4ea" ], [ "StlcStrongDbParSubst.preservation", @@ -934,7 +934,7 @@ "subterm_ordering_StlcStrongDbParSubst.TyApp" ], 0, - "b7032e2e9a07b18e25df22d239082ba6" + "eb5b709a829074a6d92b2ade40354591" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/indind.fst.hints b/examples/metatheory/indind.fst.hints index 30c0761f282..123ea45df81 100644 --- a/examples/metatheory/indind.fst.hints +++ b/examples/metatheory/indind.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "faca26392a587dc77ccf2657b491ea3b" + "c56a4b4d9508f5baf2dc4e61c889045c" ], [ "Indind.__proj__Cons__item__tail", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "ec424a7c83f788d275b2af3aaec86711" + "e5be6d90a05e983d51322ea38655da76" ], [ "Indind.__proj__Cons__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "3a327341e323a8d4572d7b983c65715c" + "78620271ce637b576fc261c9aa48b7cf" ], [ "Indind.__proj__S__item__l", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "10a23e24c91de029a6b8bcace707d467" + "223635950609c4d6a32c6ff0a84d63b2" ], [ "Indind.__proj__S__item__x", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "18061fa8464e476615a3120c1f324b9e" + "a0e4faa06089a3eccc73cf6d7d801e40" ], [ "Indind.vdl_valid", @@ -75,7 +75,7 @@ "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "ec1989782cbbb1ce29d4d239b62e752f" + "c9b34e0c46475569f093dee5d8cc1e13" ], [ "Indind.vdl_valid", @@ -94,7 +94,7 @@ "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "41c4f306be97e45918f50c9ec08a7ff3" + "423635dd282c120f1deecf450dd32514" ], [ "Indind.vdl_induction", @@ -125,7 +125,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "d545dbf4cda74160e0d4a5cedbf0ee84" + "ae8b2772f17539bf9df68fb2d615cd84" ], [ "Indind.vdl_induction", @@ -156,7 +156,7 @@ "typing_tok_Indind.Nil@tok" ], 0, - "67b320805f5f500c9fb76d4c09a9e278" + "512e065693012864e81d3241dee63bcf" ], [ "Indind.vdl_induction", @@ -187,7 +187,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "75b14392293e3a5582c4b70e8e65709d" + "d13b4de4066cabaf30fdc02c57f8df39" ], [ "Indind.vdl_induction", @@ -217,7 +217,7 @@ "subterm_ordering_Indind.Cons", "typing_tok_Indind.Nil@tok" ], 0, - "f6ddbcbf9a942484d0520a8dac0f290b" + "433a69cfbf3ff69c8e85252b00315f71" ], [ "Indind.ctx0", @@ -226,7 +226,7 @@ 1, [ "@query" ], 0, - "b483b9db41207531b773a9b2a64f3c23" + "4f6d506666c8c45c6c76136fcec06ff0" ], [ "Indind.__proj__ConsCtx__item__g", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "d18dc1bd0a58cfaad255ffb2fd48befc" + "c3fbac4c3b84befe07fbd5d6e9f4a512" ], [ "Indind.__proj__ConsCtx__item__a", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "215d44692a442a82008ee633a09dc9c3" + "6f63981f2ac8aa82a1420d91b8b37206" ], [ "Indind.__proj__Unit__item__g", @@ -262,7 +262,7 @@ "refinement_interpretation_Tm_refine_0dc85a3677e9bc75ef37439f19783424" ], 0, - "302295d70051f9395283a0cf1c5722c8" + "6510eb97bfc873151f8b92e7a9505242" ], [ "Indind.__proj__Bool__item__g", @@ -274,7 +274,7 @@ "refinement_interpretation_Tm_refine_ea431236476936535bf46955fedbfdc2" ], 0, - "4fd26bd8c74b983a93a7360b8e3a78be" + "9dc587606eaf55e6fc0167e79ef98a55" ], [ "Indind.__proj__Prod__item__g", @@ -286,7 +286,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "2545e4fb9469cdfba108ac9614b53e7b" + "57af735ada8b8de8aa93e23eb1a73bb1" ], [ "Indind.__proj__Prod__item__a", @@ -298,7 +298,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "9f0bd1efb9cfaada7655357e95e9ea39" + "8797aceaa4d0702e1cbc3bde0a6d49fd" ], [ "Indind.__proj__Prod__item__b", @@ -310,7 +310,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "18e7fe7b1e026954e942d12bc1fcef4c" + "a98c2c30aeb3312d19abc3a7cb7de1d1" ], [ "Indind.__proj__U__item__g", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_0443c2448a0ac6491f3d06f4a4d5008d" ], 0, - "6f7c5348c0f32ca3c1234da7be7ba984" + "e693625a2dbfa8ef736dacbe347c0700" ], [ "Indind.__proj__Var__item__g", @@ -334,7 +334,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "4af0fcafbd654f7487d5d9a07ac8d105" + "ba5075cbe36b2f4244f816109b62cf01" ], [ "Indind.__proj__Var__item___1", @@ -346,7 +346,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "25a8a8c51f4a00fe49c0f51968c6de3f" + "5033166ef1952bcaa7184c7ee694a5c2" ], [ "Indind.__proj__UHere__item__g", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_6d034f126c626bc9c0962d683e6b9995" ], 0, - "9712370b3a3dd45988ac5e6af37d9a65" + "d207212778a545c9c10c2e74750bec0c" ], [ "Indind.__proj__UNext__item__g", @@ -370,7 +370,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "23c066c4981b2f7f161a8d73f68b4bb3" + "77e9de08f7413771740561995b8a6766" ], [ "Indind.__proj__UNext__item__a", @@ -382,7 +382,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "4e3e0807ac24a823e4d98909b2084925" + "6b85fb1f390c221bbafd829fb990da83" ], [ "Indind.__proj__UNext__item___2", @@ -394,7 +394,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "a8dd94c5a739c7070920949e7900a57f" + "899aba2109689c6f8d0611535a4bf8b1" ], [ "Indind.ctx_valid", @@ -413,7 +413,7 @@ "subterm_ordering_Indind.ConsCtx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "6e1d2e48ff6479a6624bc22b264c3d45" + "7662f128cc69cac1c69a101dedb5e986" ], [ "Indind.ctx_valid", @@ -436,7 +436,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "7ea8d445ff7e0a48b92f578a8715c9b7" + "6afaac20580e500ff4b25d3432828954" ], [ "Indind.ctx_valid", @@ -456,7 +456,7 @@ "subterm_ordering_Indind.UNext", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "8e7b8b7c6fc2098f5d0df1b2e444446f" + "45e244cd93bf587221da193138a75141" ], [ "Indind.empty_ctx", @@ -472,7 +472,7 @@ "true_interp", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "0f37c59de3300cd6edc4251f7a4498ae" + "07a97c0bbb596598f82880796eb0ae11" ], [ "Indind.cons_ctx", @@ -495,7 +495,7 @@ "refinement_interpretation_Tm_refine_f441914d47c90ea32f27f2a05474ce96" ], 0, - "d9bb3f38785009f5c3ca6bca34ee58d4" + "11d7894e2774f0751e35423206ad86d2" ], [ "Indind.unit", @@ -517,7 +517,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "3b8a19e06b07d687427bc7465c94ada7" + "50ef05effc3bb7cfb6cfb110aa194af3" ], [ "Indind.bool", @@ -539,7 +539,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "b689758b49a1b686a38ba1123d1f68b5" + "1052456172d4d8946c624e2fadb802c3" ], [ "Indind.prod", @@ -567,7 +567,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "48b7f1c07048d64664dcb404a1537746" + "31d5d7ff9fad0b400681faf812204399" ], [ "Indind.u", @@ -589,7 +589,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "0f9e59e9c98df162ea07e20b221d3373" + "ee097b4542d678f8f4421ee508d37582" ], [ "Indind.var", @@ -616,7 +616,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "aedd59506d68d6a880324bb2cce0671d" + "fb4d35b5899c7693892361d8e8696a12" ], [ "Indind.u_here", @@ -640,7 +640,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "a5e694a4912ee043ff0577f99a3b3dd8" + "63d56bc0dc4a9e402ca8fddaccbf1fd2" ], [ "Indind.u_next", @@ -673,7 +673,7 @@ "typing_Indind.cons_ctx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "28c2df12f14b44d2f338ffa3dd90982a" + "8713f332b8cb066182f41371996078e8" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Base.fst.hints b/examples/miniparse/MiniParse.Impl.Base.fst.hints index 4f3346a8a9b..376d233bd30 100644 --- a/examples/miniparse/MiniParse.Impl.Base.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Base.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3653a61827d99ed5a2b1d1a35fdecfd0" + "2f14bc2b9f8d94758948a78a861ccff4" ], [ "MiniParse.Impl.Base.coerce_parser_impl", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "84cfd30f8dcddddaeefca76abbf9efd5" + "bc8e9667f69999db007ca72ffa1f47fd" ], [ "MiniParse.Impl.Base.serializer_impl", @@ -35,7 +35,7 @@ "typing_FStar.UInt32.t" ], 0, - "1b41738cbadccf2dbf0cd5c9241e69df" + "25a0719eb3f5271919efec57a2e3d593" ] ] ] \ 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 925ecc5fe2c..af8023b8272 100644 --- a/examples/miniparse/MiniParse.Impl.Combinators.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Combinators.fst.hints @@ -54,7 +54,7 @@ "typing_MiniParse.Spec.Combinators.parse_ret", "typing_Prims.pow2" ], 0, - "e6665ed5f065ac693ff0bdb60b594e2d" + "fbcee1198eaa2a8c0b48db490209b597" ], [ "MiniParse.Impl.Combinators.serialize_empty_impl", @@ -118,7 +118,7 @@ "typing_Prims.pow2", "unit_inversion", "unit_typing" ], 0, - "d69fbd74c1e9639334daa254e9f4f079" + "1b7834412ca3b81cb758f3c92e055203" ], [ "MiniParse.Impl.Combinators.parse_and_then_impl", @@ -131,13 +131,15 @@ "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", "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", "constructor_distinct_Tm_unit", + "constructor_distinct_Prims.unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "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", @@ -170,6 +172,7 @@ "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", @@ -196,18 +199,20 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", + "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", + "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.parse", "typing_MiniParse.Spec.Combinators.and_then", "unit_typing" ], 0, - "7ebfcaf02ac14a233e2b327a366d94c7" + "8af49bd207c15eb3a319581a193830e2" ], [ "MiniParse.Impl.Combinators.parse_nondep_then_impl", @@ -248,7 +253,7 @@ "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "ae3cd71488b49777da084a0f818cf7cd" + "860d3bf956ccf8a3dd5a4b1244adfdea" ], [ "MiniParse.Impl.Combinators.seq_append_slice", @@ -280,7 +285,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "189c30248eaac0a8fc83be89e30cfec7" + "64ea5aae277044e2afcfb8bd76bcaeea" ], [ "MiniParse.Impl.Combinators.serialize_nondep_then_impl", @@ -326,6 +331,7 @@ "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_append", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", @@ -360,6 +366,7 @@ "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", @@ -380,12 +387,13 @@ "typing_FStar.UInt8.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_MiniParse.Spec.Base.serialize" ], 0, - "91fce1a3fe68f945529916f0dc58da89" + "a7b799bf759d574ccf7fe0c45b7aa1b9" ], [ "MiniParse.Impl.Combinators.parse_synth_impl", @@ -442,7 +450,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "175c5e119e8f2ed69e314d1952c0537b" + "503d469d9b40ebac69307c5b8acef05a" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl", @@ -466,7 +474,7 @@ "unit_inversion" ], 0, - "8b4af539eea1186f5aaa7b248eb07a2f" + "071c0e8d6691be1a2fef831648928c6c" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl'", @@ -480,7 +488,7 @@ "unit_inversion" ], 0, - "2e098b695eb9b197bfc26d3826d0cebc" + "9cf5b779b2ae178e8d290470e6499fd3" ], [ "MiniParse.Impl.Combinators.parse_filter_impl", @@ -555,7 +563,7 @@ "typing_MiniParse.Spec.Combinators.parse_filter" ], 0, - "59dcdc85eb1d7d4221d84175e5291c54" + "4d4258cfe05979c0859f30a23f2d3e24" ], [ "MiniParse.Impl.Combinators.serialize_filter_impl", @@ -575,7 +583,7 @@ "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "5021a6433fab311f376092b5e40e7a52" + "8e2daa48d9af5c5de96dcf2fdef713ac" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -593,7 +601,7 @@ "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "d99781833589dbab2d4de689e64fd4cb" + "4e98005d962e3826ba22176d29112287" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -602,14 +610,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "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", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -675,11 +679,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, - "6fb933b8377495effb602655bf9958e3" + "ee8a02a7141e9cc7e3e41bfd08ff7dd5" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -697,7 +700,7 @@ "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "8595324304a83052d1686170a36537ae" + "9be9592f4330ea349af33d2499c180ac" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -726,6 +729,7 @@ "equation_MiniParse.Impl.Base.buffer8", "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.make_constant_size_parser", @@ -733,6 +737,7 @@ "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", "int_inversion", "int_typing", @@ -766,6 +771,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", @@ -774,11 +780,14 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_none" + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser" ], 0, - "113b909ce7bbdac7869d4f80c603d9c5" + "8b2676d0f4d26f230af1f5a0c6c52910" ] ] ] \ 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 5c48b08cd66..efc864c99eb 100644 --- a/examples/miniparse/MiniParse.Impl.Int.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Int.fst.hints @@ -26,7 +26,7 @@ "typing_FStar.UInt8.t", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "891b6c3e491cbc14b31ad01403d10f77" + "892f2adb30d540a8b82182a4b8f328ca" ], [ "MiniParse.Impl.Int.serialize_u8_impl", @@ -120,7 +120,7 @@ "typing_MiniParse.Spec.Int.serialize_u8" ], 0, - "129a06d3749793aea92e9ca32bc06430" + "16298c5f9a13a40daa7ecba71fb7b9b3" ], [ "MiniParse.Impl.Int.parse_u16_impl", @@ -143,7 +143,7 @@ "typing_MiniParse.Spec.Int.Aux.decode_u16" ], 0, - "13170bedf823e883fde139de4f197c02" + "45fcbb78dff6b1e97f90ef8d4d4cc230" ], [ "MiniParse.Impl.Int.serialize_u16_impl", @@ -259,7 +259,7 @@ "typing_MiniParse.Spec.Int.serialize_u16" ], 0, - "031f0a89eac1592dd47f014a99e90c49" + "601ce946eb914711ae6273af671a8d9e" ], [ "MiniParse.Impl.Int.parse_bounded_u16_impl", @@ -278,7 +278,6 @@ "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -367,7 +366,7 @@ "typing_Tm_abs_ca539376a5f570dfa840a07f6c3cae8b" ], 0, - "bc912d6581e25337d9524582b20d8aa0" + "641e928bb01acd499d5c27443cbec1d4" ], [ "MiniParse.Impl.Int.serialize_bounded_u16_impl", @@ -399,7 +398,7 @@ "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "af809173b1339a2b5f2d4d40402659ca" + "bcb7672d84819fac5183d1a98bf7c90c" ] ] ] \ 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 42e5dcecf6c..808b46b9508 100644 --- a/examples/miniparse/MiniParse.Impl.List.fst.hints +++ b/examples/miniparse/MiniParse.Impl.List.fst.hints @@ -25,7 +25,7 @@ "typing_FStar.UInt32.v" ], 0, - "85d60bd2e8dea725f05ca6d6c965b94a" + "fd8d4829442a10fd48702eda2641250a" ], [ "MiniParse.Impl.List.list_assoc_append", @@ -48,7 +48,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "f61b07169a5712adb2841e8393d4e2fd" + "e0e66c908fa1147fe64c1edc049f1406" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", @@ -63,19 +63,23 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "1801f30bb12cf294ef2085e9a7fdaff1" + "60c11b17bce446393b7ce4291a279dfb" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", 2, 2, - 1, + 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", "b2t_def", "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_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -91,10 +95,14 @@ "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.parse_nlist_impl_inv", "equation_MiniParse.Spec.Base.byte", + "equation_MiniParse.Spec.Base.bytes", + "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "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", @@ -114,17 +122,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", + "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", "refinement_interpretation_Tm_refine_bcad5039c38b342d079249be6e2546dd", "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -136,10 +147,13 @@ "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.len", + "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.List.nlist", + "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "771613a6381e76ad05f1d5b5dbdfde00" + "6e6ced8892188569a413d4533d4b67f0" ], [ "MiniParse.Impl.List.parse_nlist_impl_body", @@ -152,7 +166,7 @@ "refinement_interpretation_Tm_refine_e1b836384cccc70a57286271389ac21b" ], 0, - "45ca547157925cef60fec54d5f834069" + "949529690be45eb071c98fe3a3553c9f" ], [ "MiniParse.Impl.List.parse_nlist_impl_body", @@ -162,9 +176,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", + "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -251,7 +263,6 @@ "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", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", @@ -297,7 +308,7 @@ "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "17f57affd3fcdc51d20f5a276569fc9e" + "56fedac266d73ebf06ea19077987ffe4" ], [ "MiniParse.Impl.List.list_rev", @@ -332,7 +343,7 @@ "unit_typing" ], 0, - "aae90dde61320b19312f12a3b4009608" + "084274158701f23bf26eabe7f1906875" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -341,7 +352,7 @@ 1, [ "@query" ], 0, - "15c40ece5ec08d28be07fb3f009cb108" + "277c57dba179deca362ec8b6cb015c81" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -461,8 +472,9 @@ "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", "lemma_MiniParse.Spec.List.list_length_append", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -480,7 +492,6 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_51063a777a1e9a0f9bc59c6793064953", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_739d212a992267f1432ab3bdc73fd864", @@ -526,7 +537,6 @@ "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" @@ -548,7 +558,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "36b68576ff83a617ba31a3a0418a264f" + "13bf6f2667aea34a1e1017229161e39d" ], [ "MiniParse.Impl.List.serialize_nlist_impl_body", @@ -558,13 +568,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_BoxInt", + "MiniParse.Spec.List_interpretation_Tm_arrow_238a437bce06087459fa4f78eaed82a2", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "bool_typing", "constructor_distinct_BoxInt", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -583,14 +599,26 @@ "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.nat", + "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", + "equation_MiniParse.Spec.List.nlist_destruct", + "equation_MiniParse.Spec.List.synth_nlist_recip", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", + "function_token_typing_MiniParse.Spec.List.synth_nlist_recip", + "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", @@ -600,6 +628,7 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "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", "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", @@ -619,15 +648,19 @@ "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_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_MiniParse.Spec.Base.Serializer_f", "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_v", + "projection_inverse_MiniParse.Spec.Base.Serializer_f", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", @@ -652,6 +685,7 @@ "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", "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", "true_interp", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.rid_freeable", @@ -675,7 +709,7 @@ "typing_MiniParse.Spec.List.serialize_nlist" ], 0, - "d77057118e0ddb02186ad8118d392c40" + "fa2ccd11f392a92a3e7b7f57800a65d6" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -684,7 +718,7 @@ 1, [ "@query" ], 0, - "e683e3b1977dd562d8a8aa646a37b189" + "3764c256fcdbe54e2a56e62ba93268b6" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -798,8 +832,9 @@ "lemma_LowStar.Monotonic.Buffer.unused_in_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_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -866,7 +901,7 @@ "typing_MiniParse.Spec.List.serialize_nlist" ], 0, - "efd010208334fdba46d489b32e449c97" + "428fc1c6ce44294d0b334bd6658291d2" ] ] ] \ 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 6e625a91281..3ed2108bc05 100644 --- a/examples/miniparse/MiniParse.Impl.TSum.fst.hints +++ b/examples/miniparse/MiniParse.Impl.TSum.fst.hints @@ -7,7 +7,9 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", @@ -43,6 +45,7 @@ "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParse.Spec.TSum.synth_tagged_union_data", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", @@ -61,9 +64,13 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.gsub_is_null", "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.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", @@ -71,7 +78,7 @@ "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", @@ -101,6 +108,7 @@ "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.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", "typing_MiniParse.Spec.Base.bparse", @@ -124,6 +132,7 @@ "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", @@ -214,7 +223,7 @@ "typing_Tm_abs_af29ad29472c21419b347a48927a4840" ], 0, - "1762e4551336554d6a6c41da221e47c1" + "3a59234046ceba4ee503658c558866f7" ] ] ] \ 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 87c5d2c70d6..4e39cbd1847 100644 --- a/examples/miniparse/MiniParse.Spec.Base.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Base.fst.hints @@ -24,7 +24,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "bf3b9ca299852d630f25e2e55247e3a3" + "f000256da02818673fa7f269fa0b14f2" ], [ "MiniParse.Spec.Base.no_lookahead_weak_on_ext", @@ -33,7 +33,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak_on" ], 0, - "189d99bc97ebdbaf5f35504810771938" + "fef445c84b7ca6baffcfc9f2256fed03" ], [ "MiniParse.Spec.Base.no_lookahead_weak_ext", @@ -42,7 +42,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], 0, - "a865b1e156bdd8d8c5fedf5347d47e02" + "a529817e1291076e2c60abdd237eaf1b" ], [ "MiniParse.Spec.Base.injective_precond", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "ebd649605a1876cd67a386363d827517" + "0d1f793778e63d7cfc27fd1b0c3fb866" ], [ "MiniParse.Spec.Base.injective_precond_ext", @@ -60,7 +60,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective_precond" ], 0, - "267c4affdfb7f0206792cf5cbab3fda3" + "43d3d9e7b92cc825941ec69b7d767c96" ], [ "MiniParse.Spec.Base.injective_postcond", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5" ], 0, - "a0863cc00fb520bff565ecbffce5a94a" + "ad58ff03a8af024b093d99087793c138" ], [ "MiniParse.Spec.Base.injective_postcond_ext", @@ -89,7 +89,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective_postcond" ], 0, - "52d602f4a7502478bdf5028868b8b66a" + "9ba8fc0638ec80d1ec0572e26bd7a962" ], [ "MiniParse.Spec.Base.injective_ext", @@ -98,7 +98,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective" ], 0, - "c5e786d14f454f1f6dcd57670e3d7cce" + "654f7cc480d0cc2e58b05770e1bc4b30" ], [ "MiniParse.Spec.Base.no_lookahead_on_precond", @@ -123,7 +123,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "44a8e48865143abb33e4c689d73c88bd" + "9555e70ebc64f4a2a308398b5ef88b08" ], [ "MiniParse.Spec.Base.no_lookahead_on_postcond", @@ -132,7 +132,7 @@ 1, [ "@query" ], 0, - "14447fe324f1631e1a906e31b82db3bc" + "24cdcdf43c556538dc873bb84717b634" ], [ "MiniParse.Spec.Base.no_lookahead_on_ext", @@ -152,7 +152,7 @@ "typing_MiniParse.Spec.Base.bparse" ], 0, - "9755502963476c4c3978643e0661c84a" + "4d93dbd2dd78b920810f98a603b5f468" ], [ "MiniParse.Spec.Base.no_lookahead_ext", @@ -161,7 +161,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead" ], 0, - "0db3996938c9b14f0b4e6239d0341dd6" + "d82ad0f1eae84a9b233e569c7c05ef44" ], [ "MiniParse.Spec.Base.coerce", @@ -170,7 +170,7 @@ 1, [ "@query" ], 0, - "549340fb62a94ffd90433637b6f94738" + "bd03dd908004fec8b979448baf32a395" ], [ "MiniParse.Spec.Base.coerce_parser", @@ -179,7 +179,7 @@ 1, [ "@query" ], 0, - "a9f6c6f90e9564a9b248857ed15d6dd4" + "fb756fc62752f85d2bccd33c1434234a" ], [ "MiniParse.Spec.Base.serializer_correct", @@ -188,7 +188,7 @@ 1, [ "@query" ], 0, - "26fed363a3201a236ca2031e3c80f97a" + "fd3ce72248033f21e23b8d4acf7eb659" ], [ "MiniParse.Spec.Base.serializer_correct_ext", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_f0990daca12e681f3d756bd918556ac1" ], 0, - "ab14e9e76168b63cebb24ee060b5e118" + "1f5bdb6d1e08269efca97f5a844c759a" ], [ "MiniParse.Spec.Base.serializer_complete", @@ -229,7 +229,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "3d425b9d35f2f13b7f2ef5ec591c7095" + "fa86cdc65d948de2ecd169aa0eb168e7" ], [ "MiniParse.Spec.Base.serializer_correct_implies_complete", @@ -270,7 +270,7 @@ "typing_FStar.UInt8.t" ], 0, - "4d65b6f1f4de09ac910c2521fa8d15b2" + "f61389eb98c72513b4c0fd335280159c" ], [ "MiniParse.Spec.Base.coerce_serializer", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "a2d20ad8b41caa402da5217708f2b65a" + "44563a1728d069ff03142ae8c85b4050" ], [ "MiniParse.Spec.Base.serialize_ext", @@ -297,7 +297,7 @@ "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a" ], 0, - "f59681e4241a9de6aeab25b1e05ef729" + "214ccc21a10f15dc3abb157fbb4af52c" ], [ "MiniParse.Spec.Base.serialize_ext'", @@ -306,7 +306,7 @@ 1, [ "@query" ], 0, - "6a0cb35f79e67572c828389648887286" + "0917f18ec67826e55eace3464486f9f9" ], [ "MiniParse.Spec.Base.serializer_unique", @@ -344,7 +344,7 @@ "typing_MiniParse.Spec.Base.serialize" ], 0, - "601ed04e9b0c6fa6636e244d420bd560" + "e05f8fc01d3d27c506ad675cb3f908ca" ], [ "MiniParse.Spec.Base.serializer_injective", @@ -364,7 +364,7 @@ "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "abcfb415f23c94ad23709415c216e217" + "398a3b73f2d64099849d3a4c028cbff6" ], [ "MiniParse.Spec.Base.serializer_parser_unique'", @@ -415,7 +415,7 @@ "typing_MiniParse.Spec.Base.bparse" ], 0, - "1a0bcb3150839f445a974beeb1a87725" + "041e4532588a5ad3142e2fc72492b238" ], [ "MiniParse.Spec.Base.serializer_parser_unique", @@ -436,7 +436,7 @@ "typing_MiniParse.Spec.Base.parse", "unit_inversion", "unit_typing" ], 0, - "d43f5a236cf1fc794c2a08d9d94033b1" + "349ffe2ef3b5c2c657e0eeb3ab47e266" ] ] ] \ 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 b0b7e75ed86..9d40a82e45d 100644 --- a/examples/miniparse/MiniParse.Spec.Combinators.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Combinators.fst.hints @@ -23,7 +23,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "5ad3d3fb547e759df26d552334eea3df" + "92b900a880f312ead86688ffd0485f71" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_precond'", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "39e428680055b8399f4491e9a82de985" + "3dbc0ec1edc5153153c0e5dfe69339da" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_injective", @@ -75,7 +75,7 @@ "typing_FStar.Seq.Base.slice", "typing_FStar.UInt8.t" ], 0, - "25c76d83fadada38e58b80fb9c68ec72" + "847528052583c511b63102ddf55e4473" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser", @@ -118,7 +118,7 @@ "typing_Tm_abs_32e00b3026b589e7656aa22095079513" ], 0, - "3ab2b0632baf283bc954ab2db22ed709" + "60c4f367619abf25caa3bdd51695d40e" ], [ "MiniParse.Spec.Combinators.make_total_constant_size_parser", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "551e8038c1593bf7042cab4aba05b904" + "dfd7907d6a3c1b847bba519ea3f1ec55" ], [ "MiniParse.Spec.Combinators.parse_ret'", @@ -153,7 +153,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "8af0b19428ef923bd93e7586fb3e5ab8" + "218301aa6a1aa573913af46664ef2036" ], [ "MiniParse.Spec.Combinators.parse_ret", @@ -191,7 +191,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "f6a68842852877eb6612bb56dd35dba2" + "162532f4ec871342e5dce7f7f9e61e34" ], [ "MiniParse.Spec.Combinators.serialize_empty", @@ -217,7 +217,7 @@ "unit_inversion" ], 0, - "7130671a416451615d84a52a116824f3" + "0748dade3dd311b121d1c05901a292c4" ], [ "MiniParse.Spec.Combinators.fail_parser", @@ -240,7 +240,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d098bb1aa08c0dc2f1cf0ac9f811bb3a" + "351483e7e658c1f900641b34d992d3d4" ], [ "MiniParse.Spec.Combinators.and_then_bare", @@ -272,7 +272,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "690d23d86e22f81428e11f6c3ea573a6" + "17e154e5f60f25ecfe895e2921dfc107" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_weak_on", @@ -327,7 +327,7 @@ "unit_typing" ], 0, - "2273ea29bc8363fe146270e44bf89a51" + "fbfe2eee75c38326d649436469d2399a" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_weak", @@ -336,7 +336,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], 0, - "d86a547e39bfd043f79873c3cb7a5e64" + "560d008bda585879b4713061123274ff" ], [ "MiniParse.Spec.Combinators.and_then_cases_injective_precond", @@ -345,7 +345,7 @@ 1, [ "@query" ], 0, - "54d886d6f0fe543e431090986ad1135e" + "05a54c626d70a56b9a604748d47c33b3" ], [ "MiniParse.Spec.Combinators.and_then_injective", @@ -409,7 +409,7 @@ "typing_MiniParse.Spec.Combinators.and_then_bare" ], 0, - "a564f4c4797a5c232139d7cbb1dfdfc9" + "5826bc7b3f5f7b098b9a8ec9390075d2" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_on", @@ -471,7 +471,7 @@ "unit_typing" ], 0, - "0e29f1553ac38b6035d063db819513f0" + "f131053a20c19da7201599472715f68c" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead", @@ -489,7 +489,7 @@ "typing_MiniParse.Spec.Base.__proj__Parser__item__f" ], 0, - "56d24cd2ede37a9bdd3cd803863b65e7" + "a416e214d0c4b1a9e7ded4c561011ae3" ], [ "MiniParse.Spec.Combinators.and_then_correct", @@ -508,7 +508,7 @@ "typing_MiniParse.Spec.Base.__proj__Parser__item__f" ], 0, - "7a40881d80ff3b101400f7eb4de00bec" + "3c3531eafb62e81b343877802366c383" ], [ "MiniParse.Spec.Combinators.and_then", @@ -517,7 +517,7 @@ 1, [ "@query" ], 0, - "c1777bbac605be3a8aacefd254d73ab1" + "7b054bac58897fdb03c62cd7b31bf842" ], [ "MiniParse.Spec.Combinators.nondep_then", @@ -550,7 +550,7 @@ "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "a9fffb865a9c5ae26a0302269e856c6a" + "d8d5f38e984333c22976392815c44a81" ], [ "MiniParse.Spec.Combinators.nondep_then_eq", @@ -603,7 +603,7 @@ "typing_MiniParse.Spec.Combinators.nondep_then" ], 0, - "d30e2dcf4fa713df36417cb78094fa61" + "b39d09245fee7f38f6d4ff90b616b1a0" ], [ "MiniParse.Spec.Combinators.seq_slice_append_l", @@ -631,7 +631,7 @@ "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "eba0778c3c86184c2c972146f91b0b63" + "2852f44b01365273dba156b927a9f55b" ], [ "MiniParse.Spec.Combinators.seq_slice_append_r", @@ -660,7 +660,7 @@ "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "310b0196d2094df76c3d53fc56190032" + "c495f0ef646c9d0898a971b56dbb5675" ], [ "MiniParse.Spec.Combinators.bare_serialize_nondep_then_correct", @@ -745,7 +745,7 @@ "typing_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a" ], 0, - "7ec049ef7ccec223240a74e44d29f6e6" + "0f1b5f9a8a2e1c902a7fc07eb871aa54" ], [ "MiniParse.Spec.Combinators.serialize_nondep_then", @@ -754,7 +754,7 @@ 1, [ "@query" ], 0, - "881404003eca37602bfc475288168101" + "73e97e80f0e0a56de8f13a1518a128e9" ], [ "MiniParse.Spec.Combinators.parse_fret'", @@ -771,7 +771,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "756524231cc356491c0efa49aad7648f" + "c52d99614690742043aeb416c0cd9fc4" ], [ "MiniParse.Spec.Combinators.parse_fret", @@ -809,7 +809,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "bf25bd4ee674066ef102dd4c505f1989" + "ba83d0b9294374061f0c43ef106251a4" ], [ "MiniParse.Spec.Combinators.parse_synth'", @@ -833,7 +833,7 @@ "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "88546eb2ebdc2c4253535b65b53f9c1d" + "a54bba99808d8c57f1c427317e864b95" ], [ "MiniParse.Spec.Combinators.parse_synth", @@ -858,7 +858,7 @@ "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "7eb66decde3a5686f7ba6d292dca2af4" + "9bdc8095c2b750e6ac870fdfe6af8114" ], [ "MiniParse.Spec.Combinators.parse_synth_eq", @@ -906,7 +906,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "8d31e6546e912d4a7651a03b8636b9b8" + "fc44745cd8bacfc234e1d3dba2253c25" ], [ "MiniParse.Spec.Combinators.bare_serialize_synth_correct", @@ -918,7 +918,7 @@ "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95" ], 0, - "b9a056935727300c93a0bf81e0734e30" + "2b916835e82a93483316cfea0241f404" ], [ "MiniParse.Spec.Combinators.bare_serialize_synth_correct", @@ -967,7 +967,7 @@ "typing_MiniParse.Spec.Base.serialize" ], 0, - "2b2ee4d5c32447414db8b7f165e91da9" + "15952a29ee4e9f9ffa01ffd0ec96f7f5" ], [ "MiniParse.Spec.Combinators.synth_inverse_intro", @@ -976,7 +976,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Combinators.synth_inverse" ], 0, - "978654e3f23bbd059b077ae19fb1125b" + "219888051bcc8af936f2938db67a2f5f" ], [ "MiniParse.Spec.Combinators.serialize_synth", @@ -988,7 +988,7 @@ "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95" ], 0, - "7b6c8f15b0e98ba18d83adc578c04918" + "a135a5a539c31d79554897c4514e947a" ], [ "MiniParse.Spec.Combinators.lift_parser", @@ -1007,7 +1007,7 @@ "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "unit_typing" ], 0, - "214aa9aa38c74168c7c517a91c0edbd2" + "b88465a9fd3f83c9aab0fc184a125f53" ], [ "MiniParse.Spec.Combinators.parse_filter", @@ -1047,7 +1047,7 @@ "typing_Tm_abs_24c49183d745861a79c9e705ccd478d5" ], 0, - "334af37b42ceaf760eb3fbeede723e8a" + "9a084fe9e0dbe259bd2f9cdd719bcf42" ], [ "MiniParse.Spec.Combinators.serialize_filter", @@ -1110,7 +1110,7 @@ "typing_MiniParse.Spec.Base.serialize" ], 0, - "de837735d4f718b73d9cba5495825511" + "a056ea048a5a43657deee997ac31cb5c" ] ] ] \ 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 2150410e753..9f7747bc991 100644 --- a/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints @@ -25,7 +25,7 @@ "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt8.v" ], 0, - "0223f60dcc702aca9993f150c0fd0ccd" + "8a82c7951a7fd2c7546578c2f0a0dd8f" ], [ "MiniParse.Spec.Int.Aux.encode_u16", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "059f960b05518c265c22241161176539" + "e67928013d068bcd5c5898408911655c" ], [ "MiniParse.Spec.Int.Aux.encode_u16_decode_u16", @@ -79,7 +79,7 @@ "typing_Prims.pow2" ], 0, - "b49c4390c17b14827eb37ec7012c78db" + "fedb5fa3bdd5cf4ad2c87d7a1261621b" ], [ "MiniParse.Spec.Int.Aux.decode_u16_encode_u16", @@ -127,7 +127,7 @@ "typing_MiniParse.Spec.Int.Aux.encode_u16", "typing_Prims.pow2" ], 0, - "95a19a9763b689793363c5591a60cefe" + "f28fbca1f55e5c598b84a40af4911d01" ] ] ] \ 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 dbe4cedc952..7bb6825febe 100644 --- a/examples/miniparse/MiniParse.Spec.Int.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Int.fst.hints @@ -23,7 +23,7 @@ "typing_FStar.UInt8.t" ], 0, - "650d63160d35b8d5da5b76f3132d80e2" + "35b97081509eb8ef836e6424f541f4dd" ], [ "MiniParse.Spec.Int.serialize_u8", @@ -65,7 +65,7 @@ "typing_Tm_abs_36ba01fdea5aae7ab644f019f820248e" ], 0, - "13c315c562a7bc50d35f2417b35663ee" + "a094116e1340918651c937731dee8447" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_465e73a9e7b4ffe25ff829a7b12520e9" ], 0, - "cae0100eec5ce20440b46cf43745dd4a" + "87742904bb2bfbf4d811aea4109c07fd" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -124,7 +124,7 @@ "typing_FStar.UInt8.t", "typing_FStar.UInt8.v" ], 0, - "a0aaa38618e81f01a8b1a5245a9cef1e" + "fac60040607955c752652ffbcf45afbf" ], [ "MiniParse.Spec.Int.parse_u16", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_88e6b228c6827e1647d7d72b7b8f008b" ], 0, - "ac86afc61631fb01835ec643d535197e" + "c4ecfec04e0867baf1914173ebdb69a6" ], [ "MiniParse.Spec.Int.serialize_u16", @@ -227,7 +227,7 @@ "typing_MiniParse.Spec.Int.serialize_u16_", "typing_Prims.pow2" ], 0, - "d2c75c2983a3bb3c9f93b07efcad5a03" + "09799b0ecce781025dfdf6276d074588" ], [ "MiniParse.Spec.Int.mk_u16", @@ -248,7 +248,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e68f7f9d4ae2ad335c768bf82c4c0ee7" + "0ba9a000272a213d9339f678c9e3bba8" ], [ "MiniParse.Spec.Int.bounded_u16", @@ -261,7 +261,7 @@ "typing_FStar.UInt16.t" ], 0, - "be033df525ee1c9d5a4223ea80235c27" + "edaf2680e8842897c9eb20c6c9e20208" ], [ "MiniParse.Spec.Int.map_u16_to_bounded_u16", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f346ae8423c01a336a46a93b159615e5" + "cbe041645130f85b9ad7590ae797197e" ], [ "MiniParse.Spec.Int.pred_pre", @@ -288,7 +288,7 @@ "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c" ], 0, - "609b0885bfcb3f77c0e8682e56c10107" + "6646e868efdd46daab0f91bfa7bb5dcf" ], [ "MiniParse.Spec.Int.pred_pre", @@ -317,7 +317,7 @@ "typing_FStar.UInt16.v" ], 0, - "e8c6b74b4e27f9d75c167cd1e9fffaf3" + "35ff60ccfe19ee26088379da715aa7c5" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -330,7 +330,7 @@ "refinement_interpretation_Tm_refine_ed1ec337958d4240fdc3197cba495263" ], 0, - "4441caeb9b90e691f52c8bb730551166" + "25502ff6903362d5efb0e42ce16782fa" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_122393b221b19344c38b437c8217b781" ], 0, - "6d2ad8f1e4ece31a03eb214db7d63d7a" + "1bc8782774b44d273aec28756263199f" ], [ "MiniParse.Spec.Int.forall_bounded_u16", @@ -362,7 +362,7 @@ "well-founded-ordering-on-nat" ], 0, - "4f7d85e59f4db46e3aa2b3e02653043c" + "18cf89078aa19ebad2a8b33239c6e220" ], [ "MiniParse.Spec.Int.forall_bounded_u16_elim", @@ -409,7 +409,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "073ee6ada25afd3a706ec7e6b73c16c5" + "8c96eaf9e66918c75ea0f39700dbf6ab" ], [ "MiniParse.Spec.Int.parse_bounded_u16", @@ -428,7 +428,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4c61861469f87df6afe9f16de57c6e01" + "15ffddbf3bb35289897ceda06806e45e" ], [ "MiniParse.Spec.Int.serialize_bounded_u16", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6335b7826336d9992c48bc104cc59ecb" + "a8699abb0ce3d34c3bfec1d9478f1d83" ] ] ] \ 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 7bfafe037a7..35b6852cbb1 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, - "ac6545d08772b9f1a428550f7d4825d1" + "b8791640102560bfd050a5ce3c66c51a" ], [ "MiniParse.Spec.List.nlist_nil_unique", @@ -37,7 +37,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "47dff99906fb84868223026142cf2bf0" + "fce1195c2e94b6fb5f40810e5a15230a" ], [ "MiniParse.Spec.List.nlist_cons", @@ -62,7 +62,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "53d86f913197fa94cc71d967be64af18" + "1029888449d875ddf7280079abc9b5c5" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "04abdb42560aaacc81e2b1adfcb8b5b8" + "53f115a88b32d62e3f3617bd3106e1f1" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -98,7 +98,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "1a8f64f23744cd7b0244f721550665fa" + "46137bc0769a934441470c47230a43cc" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c5889a15d02e204929cbfdf0035a1efe" + "40d57f8800ee397213b0bcc07a7b46f5" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a542687f4486ffffbca25cbf3340d36b" + "5173ce51b331c39a75e2d850d5bc6bf4" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "ebd826ead2e07cb85bb87cc3cda7931d" + "6f69374fc414e4603dcfde450d269ae3" ], [ "MiniParse.Spec.List.synth_nlist", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "13cc8568b48472f4722f925222bc9a7c" + "7c25478c758a387da164f454b076f945" ], [ "MiniParse.Spec.List.synth_nlist_recip", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9304f4206690983b7c8e0919869cc11" + "d5a2fa0f1c099ac3f9ec51837f1b4de5" ], [ "MiniParse.Spec.List.synth_inverse_1", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "64e8aeb8a2db8e6b89e35e8db9f1ab91" + "5ae63c8f481576833d54601c7a40f5a3" ], [ "MiniParse.Spec.List.synth_inverse_1", @@ -214,7 +214,7 @@ "token_correspondence_MiniParse.Spec.List.synth_nlist_recip" ], 0, - "e11b3629893d9d722633787b94f67610" + "0e33f6b9dabc055cac81cf2ef8dd99bb" ], [ "MiniParse.Spec.List.synth_inverse_2", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "de70661304f9d60ee7fafb0e26d18e9a" + "ef39a5cc2683d67039dab61dfa843a5e" ], [ "MiniParse.Spec.List.synth_inverse_2", @@ -254,7 +254,7 @@ "token_correspondence_MiniParse.Spec.List.synth_nlist_recip" ], 0, - "c83e2f2279605a2b26ce33d0b7fbd660" + "4d3febe06d717a2404d6e1afddbbdfd0" ], [ "MiniParse.Spec.List.parse_nlist'", @@ -262,19 +262,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_dd56f5a1741310742e5ad4135b193cac_2", - "constructor_distinct_Prims.Cons", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_BoxInt", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_MiniParse.Spec.Combinators.synth_inverse", + "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_cons", "equation_MiniParse.Spec.List.nlist_destruct", "equation_MiniParse.Spec.List.synth_nlist", "equation_MiniParse.Spec.List.synth_nlist_recip", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", + "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", @@ -284,12 +291,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "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", "well-founded-ordering-on-nat" ], 0, - "ed1f8ce22501d2c9960b7a87eb6b162e" + "208ad73e863b649c6192f9221ea37305" ], [ "MiniParse.Spec.List.parse_nlist_eq", @@ -361,7 +369,7 @@ "typing_MiniParse.Spec.List.nlist_nil" ], 0, - "c28d650a32711467cde31d253192965c" + "8ed1a466017fc74e03be832563e77b3b" ], [ "MiniParse.Spec.List.serialize_nlist'", @@ -403,7 +411,7 @@ "well-founded-ordering-on-nat" ], 0, - "57e6327376ee5efe4e8073880657b5e0" + "a96dbbd21a13051fa4c3a499cd81e9e7" ], [ "MiniParse.Spec.List.serialize_nlist_nil", @@ -419,7 +427,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "2461d4a8e882894f1d21fd4ea2c675bc" + "003df35706da5b98cb217a6091a66f49" ], [ "MiniParse.Spec.List.serialize_nlist_nil", @@ -449,7 +457,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "f220465a5a4bc5ba94581d606e119b5d" + "0cda9b0db66570bde1481478b0755bdb" ], [ "MiniParse.Spec.List.serialize_list_cons", @@ -475,7 +483,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "4c2df20113b6cb09853c80c09cfa5654" + "265288f1be07665c10ce5670b12895b8" ], [ "MiniParse.Spec.List.serialize_list_cons", @@ -538,7 +546,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "6a332cbf0902d7d4a52b5e0155481e72" + "e548903b12e55f5660373bc817a4a51d" ], [ "MiniParse.Spec.List.serialize_list_singleton", @@ -561,7 +569,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "694544aabceea386f69ec67e48b15e54" + "9bb5490b6d721897288b43ca125bd008" ], [ "MiniParse.Spec.List.serialize_list_singleton", @@ -622,7 +630,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "875a61425e45b88b57ebc4ed74dd88c0" + "282a01dbb63a76ce0455fc9819d1c6cb" ], [ "MiniParse.Spec.List.list_length_append", @@ -631,7 +639,7 @@ 1, [ "@query", "equation_FStar.List.Tot.Base.op_At" ], 0, - "397f955e64c85f0fa5152fdad063c95d" + "e66700b90b360adb33dd3f9a9c4a7ad9" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -652,7 +660,7 @@ "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "69765ec3a901509e7b7350741933b3f4" + "acd92b983158e68ce3e3dad689f227eb" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -674,7 +682,7 @@ "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "5db0475db5589ef42a427aa73d68e65a" + "3ad8fdd172406d79be5f44071f3e9bf3" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -717,7 +725,7 @@ "typing_FStar.List.Tot.Base.append", "well-founded-ordering-on-nat" ], 0, - "db3f252a68135e4bcd17e63897510d90" + "5938a6f1e9cd7b303c7d0eab6e66941a" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.List.fsti.hints b/examples/miniparse/MiniParse.Spec.List.fsti.hints index 4443b3e794d..32f5500b376 100644 --- a/examples/miniparse/MiniParse.Spec.List.fsti.hints +++ b/examples/miniparse/MiniParse.Spec.List.fsti.hints @@ -15,7 +15,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "ac6545d08772b9f1a428550f7d4825d1" + "b8791640102560bfd050a5ce3c66c51a" ], [ "MiniParse.Spec.List.nlist_cons", @@ -40,7 +40,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "4b896404a05abc994d6fe242a6776359" + "3476665d3c6f130e80f8d114e2811182" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ea25d45d9e7d98ca3e5d2a9b14148c9e" + "53f115a88b32d62e3f3617bd3106e1f1" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -76,7 +76,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "e10fa62fc5505d6ed6476c29c7e2a062" + "46137bc0769a934441470c47230a43cc" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fbb13890bd0c02f327337a9a750f2256" + "40d57f8800ee397213b0bcc07a7b46f5" ], [ "MiniParse.Spec.List.synth_nlist", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "103ff918371b19b3e23e888aa7edfd6f" + "7c25478c758a387da164f454b076f945" ], [ "MiniParse.Spec.List.synth_nlist_recip", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ffd783a023e0bd370005a3ce21285519" + "d5a2fa0f1c099ac3f9ec51837f1b4de5" ], [ "MiniParse.Spec.List.synth_inverse_1", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2caa461bd65ec70a9f70f23536a80451" + "5ae63c8f481576833d54601c7a40f5a3" ], [ "MiniParse.Spec.List.synth_inverse_2", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7267802919d45105a35a1bf0c6c5179c" + "ef39a5cc2683d67039dab61dfa843a5e" ], [ "MiniParse.Spec.List.parse_nlist'", @@ -184,7 +184,7 @@ "well-founded-ordering-on-nat" ], 0, - "adffeab277f8c04015df17ad6adeb3e9" + "208ad73e863b649c6192f9221ea37305" ], [ "MiniParse.Spec.List.parse_nlist_eq", @@ -257,7 +257,7 @@ "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "76149c8b6019c784dcc9d0029ee0ad41" + "137f2caffbc3663a02166678c07f35d1" ], [ "MiniParse.Spec.List.serialize_nlist'", @@ -301,7 +301,7 @@ "well-founded-ordering-on-nat" ], 0, - "4a554fa7ca9baa8b21b4018bcd45340c" + "a96dbbd21a13051fa4c3a499cd81e9e7" ], [ "MiniParse.Spec.List.serialize_nlist_nil", @@ -317,7 +317,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "231b5da59eb05df5b628b681a00364f2" + "94d886bd3e0d375f48331e95fcd1c411" ], [ "MiniParse.Spec.List.serialize_list_cons", @@ -343,7 +343,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "520156ffd210ab40fcc75e7d9093f039" + "265288f1be07665c10ce5670b12895b8" ], [ "MiniParse.Spec.List.serialize_list_singleton", @@ -366,7 +366,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "ecd609d613d288b3270f94c8df7f6a72" + "9bb5490b6d721897288b43ca125bd008" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -387,7 +387,7 @@ "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "fd7977a19a51f8b651addb0488772027" + "ceb3c1ae085a49c1a4245789744740c0" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.TEnum.fst b/examples/miniparse/MiniParse.Spec.TEnum.fst index 29ec18572a0..051bec1ca64 100644 --- a/examples/miniparse/MiniParse.Spec.TEnum.fst +++ b/examples/miniparse/MiniParse.Spec.TEnum.fst @@ -18,7 +18,7 @@ include MiniParse.Spec.Combinators include MiniParse.Tac.Base include MiniParse.Spec.Int -module T = FStar.Tactics +module T = FStar.Tactics.V2 module U16 = FStar.UInt16 let rec mk_tenum_branches (ty: T.term) (vty: T.term) (v: nat) (accu: list T.branch) (l: list T.name) : T.Tac (list T.branch) = @@ -30,14 +30,14 @@ let rec mk_tenum_branches (ty: T.term) (vty: T.term) (v: nat) (accu: list T.bran let v = T.mk_app (`(mk_u16)) [pack_nat v, T.Q_Explicit] in let v = T.pack (T.Tv_AscribedT v vty None false) in let pat = - T.Pat_Cons (T.pack_fv n) None [] + T.Pat_Cons {head=T.pack_fv n; univs=None; subpats=[]} in let br : T.branch = (pat, v) in let accu' = br :: accu in begin match q with | [] -> - let b = T.fresh_binder ty in - let pat = T.Pat_Var (T.bv_of_binder b) (Sealed.seal (T.binder_sort b)) in + let nv : T.namedv = T.fresh_namedv () in + let pat = T.Pat_Var {v = nv; sort=Sealed.seal ty} in let br = (pat, v) in accu' `List.Tot.append` [br] | _ -> mk_tenum_branches ty vty v' accu' q @@ -45,7 +45,7 @@ let rec mk_tenum_branches (ty: T.term) (vty: T.term) (v: nat) (accu: list T.bran let mk_function (t: T.term) (l: list T.branch) : T.Tac T.term = let b = T.fresh_binder t in - let body = T.pack (T.Tv_Match (T.pack (T.Tv_Var (T.bv_of_binder b))) None l) in + let body = T.pack (T.Tv_Match (T.pack (T.Tv_Var (T.binder_to_namedv b))) None l) in T.pack (T.Tv_Abs b body) let get_inductive_constructors (t: T.term) : T.Tac (list T.name) = @@ -60,7 +60,7 @@ let get_inductive_constructors (t: T.term) : T.Tac (list T.name) = else begin let v : T.sigelt_view = T.inspect_sigelt (Some?.v s) in match v with - | T.Sg_Inductive _ _ _ _ cts -> T.map (fun ct -> fst ct) cts + | T.Sg_Inductive {ctors} -> T.map (fun ct -> fst ct) ctors | _ -> T.fail "Not an inductive type" end | _ -> T.fail "Not a free variable" @@ -79,16 +79,16 @@ let gen_synth (t: T.term) : T.Tac unit = let pat_of_term (t: T.term) : T.Tac T.pattern = let t = T.norm_term_env (T.cur_env ()) [delta; iota; primops] t in match T.inspect t with - | T.Tv_Const v -> T.Pat_Constant v - | T.Tv_FVar v -> T.Pat_Cons v (Some []) [] + | T.Tv_Const v -> T.Pat_Constant {c=v} + | T.Tv_FVar v -> T.Pat_Cons {head=v; univs=Some []; subpats=[]} | _ -> T.fail "Not a pattern" let term_of_pat (t: T.pattern) : T.Tac (option T.term) = match t with - | T.Pat_Constant v -> Some (T.pack (T.Tv_Const v)) - | T.Pat_Cons v None [] -> Some (T.pack (T.Tv_FVar v)) - | T.Pat_Cons v (Some []) [] -> Some (T.pack (T.Tv_FVar v)) - | T.Pat_Cons v (Some us) [] -> Some (T.pack (T.Tv_UInst v us)) + | T.Pat_Constant {c=v} -> Some (T.pack (T.Tv_Const v)) + | T.Pat_Cons {head=v; univs=None; subpats=[]} -> Some (T.pack (T.Tv_FVar v)) + | T.Pat_Cons {head=v; univs=Some []; subpats=[]} -> Some (T.pack (T.Tv_FVar v)) + | T.Pat_Cons {head=v; univs=Some us; subpats=[]} -> Some (T.pack (T.Tv_UInst v us)) | _ -> None let rec invert_branches_with_cascade (enum_ty: T.term) (val_eq: T.term) (x: T.term) (accu: option T.term) (l: list T.branch) : T.Tac T.term = @@ -120,10 +120,10 @@ let invert_function' (enum_ty val_ty: T.term) (teq: T.term) (f: T.term) : T.Tac | T.Tv_Abs b body -> begin match T.inspect body with | T.Tv_Match t _ br -> - if T.term_eq t (T.pack (T.Tv_Var (T.bv_of_binder b))) + if T.term_eq t (T.pack (T.Tv_Var (T.binder_to_namedv b))) then let bx = T.fresh_binder val_ty in - let x = T.pack (T.Tv_Var (T.bv_of_binder bx)) in + let x = T.pack (T.Tv_Var (T.binder_to_namedv bx)) in T.pack (T.Tv_Abs bx (invert_branches_with_cascade enum_ty teq x None br)) else T.fail "Not a function destructing on its argument" | _ -> T.fail "Not a match" @@ -176,7 +176,7 @@ let synth_inverse_forall_bounded_u16_intro b t f1 f2 u let synth_inverse_forall_tenum_solve' () : T.Tac unit = T.norm [delta; zeta; iota; primops]; let x = tforall_intro () in - T.destruct (T.pack (T.Tv_Var (T.bv_of_binder x))); + T.destruct (T.pack (T.Tv_Var (T.binding_to_namedv x))); to_all_goals (fun () -> let y = T.intro () in T.rewrite y; diff --git a/examples/miniparse/MiniParse.Spec.TEnum.fst.hints b/examples/miniparse/MiniParse.Spec.TEnum.fst.hints index 2ba19739f88..7d712851d41 100644 --- a/examples/miniparse/MiniParse.Spec.TEnum.fst.hints +++ b/examples/miniparse/MiniParse.Spec.TEnum.fst.hints @@ -1,5 +1,5 @@ [ - "êÞÓ\u001fï\u007fã%9®Ðé«ÔÞ¸", + "ÊÀ\u0019\u001a^äišö¾iý–ëzÄ", [ [ "MiniParse.Spec.TEnum.mk_tenum_branches", @@ -8,15 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Types.name", "equation_Prims.nat", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.argv", "int_inversion", + "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -28,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4a318e9803993870edff9f0ef03ea722" + "e7d8f7047c99aa0bdd80012e053c16be" ], [ "MiniParse.Spec.TEnum.get_inductive_constructors", @@ -37,24 +35,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "bool_inversion", "bool_typing", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Reflection.Data.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "equation_FStar.Tactics.NamedView.term_view", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ad0c440fdab6ffc192ca7b9c26ec7060", - "typing_FStar.Reflection.Builtins.inspect_fv", - "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Data.__proj__Tv_FVar__item__v" + "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3", + "typing_FStar.Reflection.V2.Builtins.inspect_fv", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Tactics.NamedView.__proj__Tv_FVar__item__v" ], 0, - "bcf356b04642680a5edf788d18bddb38" + "561d21d614267b81f25a8e0c97834278" ], [ "MiniParse.Spec.TEnum.invert_branches_with_cascade", @@ -63,7 +60,8 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Data.branch", + "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.branch", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.term", @@ -71,7 +69,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "245dd7b3eeafdc4c882ef31d116de9ac" + "3e82e62dd946f803cf1cac8553f79bcc" ], [ "MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_intro", @@ -89,7 +87,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7bab7c8ece4e09cb7507c9707d03d881" + "d96ba0d71e08c72cb40439377bd51b10" ] ] ] \ 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 c974df143cb..9b1aa847bb1 100644 --- a/examples/miniparse/MiniParse.Spec.TSum.fst.hints +++ b/examples/miniparse/MiniParse.Spec.TSum.fst.hints @@ -61,7 +61,7 @@ "typing_Tm_abs_957e8ad743772cbc360e7d8acd225cc1" ], 0, - "4bd50c65601fe1a37614cbde4531e2f8" + "69d38e20644a47624c8f4df6f13a52a8" ], [ "MiniParse.Spec.TSum.bare_serialize_tagged_union_correct", @@ -147,7 +147,7 @@ "typing_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92" ], 0, - "680045e74110c33a8382d0de215fa105" + "55f850dca6ab8dff786a64561e23ea06" ], [ "MiniParse.Spec.TSum.serialize_tagged_union", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "651e7be7b1640bc9ceb8b2d3a5b688f9" + "63b74b13f6e90e66d5391a2d855da594" ], [ "MiniParse.Spec.TSum.parse_sum", @@ -178,7 +178,7 @@ "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "0dee711d1cb5a6dd9d173494d5384b9d" + "1652253a1bef7e80b2bb9c6690950c46" ], [ "MiniParse.Spec.TSum.serialize_sum", @@ -200,7 +200,7 @@ "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "b50d82cf31b8ca9fcfd116cdd03c4eec" + "fb0f00fe4da72545d7c75b15e861fb6c" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -209,7 +209,7 @@ 1, [ "@query" ], 0, - "a7413206d6909c12dfbedbb7631102e2" + "e0b6662423f8ca5444fcb02e4784e608" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_122393b221b19344c38b437c8217b781" ], 0, - "016fd7840208d201b41370588ec8efb3" + "b333e105dca2e426d734c76c8dd0c035" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_nil", @@ -244,7 +244,7 @@ "typing_FStar.UInt16.v" ], 0, - "6f8e8a88da11a48470060b561d5383a6" + "6a0820da88f7ee74ce4617c780fef06a" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -256,7 +256,7 @@ "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "3040434ac6dce113a009a9ced84db5d3" + "de78401362fbaaa8c1dc974fb4cd94c9" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -280,7 +280,7 @@ "typing_FStar.UInt16.v" ], 0, - "9a79db8f78019729384454068e589fe6" + "26a71356ec373e578a4c334d1e0fee50" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_71f1f97265819fee6e93bac3aa32a5c3" ], 0, - "1d6e6c48d9edf0d5c43e4cbff1d3493e" + "940664f98f5a1266c4cc06d633b90a9c" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -320,7 +320,7 @@ "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v" ], 0, - "078983d77f896940b1268d23de59e165" + "3d49382bded660820eefcfe77ace94da" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Base.fst b/examples/miniparse/MiniParse.Tac.Base.fst index 31cc563b835..fc6dd52d1c2 100644 --- a/examples/miniparse/MiniParse.Tac.Base.fst +++ b/examples/miniparse/MiniParse.Tac.Base.fst @@ -15,7 +15,7 @@ *) module MiniParse.Tac.Base -module T = FStar.Tactics +module T = FStar.Tactics.V2 module L = FStar.List.Tot let pack_nat (n: nat) : T.Tac T.term = @@ -74,11 +74,10 @@ let unfold_fv (t: T.fv) : T.Tac T.term = match T.lookup_typ env n with | Some s -> begin match T.inspect_sigelt s with - | T.Sg_Let false [lb] -> - let lbv = T.inspect_lb lb in + | T.Sg_Let {isrec=false; lbs=[lb]} -> let nm = string_of_name n in T.debug ("Unfolded definition: " ^ nm); - T.(lbv.lb_def) + T.(lb.lb_def) | _ -> let nm = string_of_name n in tfail (nm ^ ": not a non-recursive let definition") diff --git a/examples/miniparse/MiniParse.Tac.Base.fst.hints b/examples/miniparse/MiniParse.Tac.Base.fst.hints index e91bb722996..3f124eb186b 100644 --- a/examples/miniparse/MiniParse.Tac.Base.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Base.fst.hints @@ -1,5 +1,5 @@ [ - "ëÀâÉ7úx/ —´Žøã`\u001e", + "ZÔߘ¯•LúÄÞ^s\u007fZÀ", [ [ "MiniParse.Tac.Base.app_head_rev_tail", @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "047ac58f7e1be7241d2ff837346e3f87" + "da6b23bfc162d17a8075acfe5b116209" ], [ "MiniParse.Tac.Base.mk_if_t", @@ -21,7 +21,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "b79ffe487661a8aafa309ec4e478ea9f" + "08d3a8aa85bb825c11ac6e8334b0570d" ], [ "MiniParse.Tac.Base.string_of_name", @@ -39,7 +39,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "bd57ad59ea65ac1db4c97eb086d0fe0d" + "12149e329889160e1fe7d474acc66edb" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Impl.fst b/examples/miniparse/MiniParse.Tac.Impl.fst index 61c08084cab..fb71113fa28 100644 --- a/examples/miniparse/MiniParse.Tac.Impl.fst +++ b/examples/miniparse/MiniParse.Tac.Impl.fst @@ -20,7 +20,7 @@ include MiniParse.Impl.Int include MiniParse.Impl.List include MiniParse.Spec.TEnum -module T = FStar.Tactics +module T = FStar.Tactics.V2 module L = FStar.List.Tot module TS = MiniParse.Tac.Spec module U32 = FStar.UInt32 @@ -55,7 +55,7 @@ let rec gen_parser_impl' (p: T.term) : T.Tac T.term = let (t1, _) = qt1 in let (f2, _) = qf2 in let bx = T.fresh_binder t1 in - let x = T.pack (T.Tv_Var (T.bv_of_binder bx)) in + let x = T.pack (T.Tv_Var (T.binder_to_namedv bx)) in let f2' = T.pack (T.Tv_Abs bx (T.mk_app f2 [x, T.Q_Explicit])) in let p1' = gen_parser_impl' p1 in T.mk_app (`(parse_synth_impl)) [ @@ -80,7 +80,7 @@ let rec gen_parser_impl' (p: T.term) : T.Tac T.term = then match tl with | [(t, _); (p, _); (f, _)] -> let bx = T.fresh_binder t in - let x = T.pack (T.Tv_Var (T.bv_of_binder bx)) in + let x = T.pack (T.Tv_Var (T.binder_to_namedv bx)) in let f' = T.pack (T.Tv_Abs bx (T.mk_app f [x, T.Q_Explicit])) in let p' = gen_parser_impl' p in T.mk_app (`parse_filter_impl) [ @@ -206,7 +206,7 @@ let rec gen_serializer_impl (pol: T.guard_policy) : T.Tac unit = let (t2, _) = qt2 in let (g1, _) = qg1 in let bx = T.fresh_binder t2 in - let x = T.pack (T.Tv_Var (T.bv_of_binder bx)) in + let x = T.pack (T.Tv_Var (T.binder_to_namedv bx)) in let g1' = T.pack (T.Tv_Abs bx (T.mk_app g1 [x, T.Q_Explicit])) in T.with_policy pol (fun () -> T.apply (T.mk_app (`(serialize_synth_impl')) [ qt1; diff --git a/examples/miniparse/MiniParse.Tac.Impl.fst.hints b/examples/miniparse/MiniParse.Tac.Impl.fst.hints index b643d510d20..4fcb7d2256b 100644 --- a/examples/miniparse/MiniParse.Tac.Impl.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Impl.fst.hints @@ -1,5 +1,5 @@ [ - "³I\tkÅky±dá`?teÝß", + "\u0012}s\u0014§Ö€×ß =óµ\u0000k·", [ [ "MiniParse.Tac.Impl.mk_u32", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "01fc1c0032524937fb6ce9b2ebccb851" + "47e55b9edfc61d5896c23588605860b4" ], [ "MiniParse.Tac.Impl.r", @@ -36,7 +36,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0085d9a37ac5e5662b34b84a9e4ebdc3" + "fd562b7859747b29c8390b7b1d830121" ], [ "MiniParse.Tac.Impl.r'", @@ -52,7 +52,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "64d46d03a9caaa7274e728f294ce66d7" + "1f4eee8b55244c77652bbc3365b79f97" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Spec.fst b/examples/miniparse/MiniParse.Tac.Spec.fst index 71b079a12a8..ddfb6dfd171 100644 --- a/examples/miniparse/MiniParse.Tac.Spec.fst +++ b/examples/miniparse/MiniParse.Tac.Spec.fst @@ -20,7 +20,7 @@ include MiniParse.Spec.Int include MiniParse.Spec.List include MiniParse.Spec.TEnum -module T = FStar.Tactics +module T = FStar.Tactics.V2 module L = FStar.List.Tot noeq diff --git a/examples/miniparse/MiniParse.Tac.Spec.fst.hints b/examples/miniparse/MiniParse.Tac.Spec.fst.hints index 278efb616d0..d937b9f9176 100644 --- a/examples/miniparse/MiniParse.Tac.Spec.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Spec.fst.hints @@ -1 +1 @@ -[ "nv>Û êHöPèÁëÚƶ£", [] ] \ No newline at end of file +[ "Õ _Ñ`ÕVÊ{[u\u001b´\"/\u0003", [] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample.fst b/examples/miniparse/MiniParseExample.fst index 5d2c6c646b4..ac690f5695a 100644 --- a/examples/miniparse/MiniParseExample.fst +++ b/examples/miniparse/MiniParseExample.fst @@ -17,7 +17,7 @@ module MiniParseExample open MiniParse.Spec.TEnum open MiniParse.Tac.Impl -module T = FStar.Tactics +module T = FStar.Tactics.V2 // #set-options "--no_smt" diff --git a/examples/miniparse/MiniParseExample.fst.hints b/examples/miniparse/MiniParseExample.fst.hints index 06152b53086..14b44a00189 100644 --- a/examples/miniparse/MiniParseExample.fst.hints +++ b/examples/miniparse/MiniParseExample.fst.hints @@ -1,5 +1,5 @@ [ - "“†ƒUÏ2TbvràºÃ\u0003¾", + "\u000fFòL#»¥Ôëy¶­\u000fu@\u001f", [ [ "MiniParseExample.p", @@ -62,7 +62,7 @@ "typing_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc" ], 0, - "ee0a828554b4e44a94cc6d7e3565c0be" + "615876abee8ffbf52bce7ef9a8b8acae" ], [ "MiniParseExample.q'", @@ -125,7 +125,7 @@ "typing_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc" ], 0, - "a506312dabd8e3b3c276d9abf72f47a5" + "7c56049980cab972e8cc6e80ee03ae91" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample2.fst b/examples/miniparse/MiniParseExample2.fst index 8e8d30d9166..5ede3ac6e25 100644 --- a/examples/miniparse/MiniParseExample2.fst +++ b/examples/miniparse/MiniParseExample2.fst @@ -16,7 +16,7 @@ module MiniParseExample2 open MiniParse.Spec.TSum -module T = FStar.Tactics +module T = FStar.Tactics.V2 module U8 = FStar.UInt8 noeq diff --git a/examples/miniparse/MiniParseExample2.fst.hints b/examples/miniparse/MiniParseExample2.fst.hints index 32c4c722f8f..56f80a34078 100644 --- a/examples/miniparse/MiniParseExample2.fst.hints +++ b/examples/miniparse/MiniParseExample2.fst.hints @@ -1,5 +1,5 @@ [ - "\t¢$oÀÞ÷~³»Ç\u0014¼†\u001d\u001a", + "\u001dQ¾Ãàº\\±·û\u0017Fþ9Z'", [ [ "MiniParseExample2.__proj__U__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_fb807a479aa69c50ca430264cffc40b0" ], 0, - "f3c88b6edde43d962a00064b07b69f4c" + "bd0bc6ef27f6033bb5e3a4a427cc18b0" ], [ "MiniParseExample2.c3", @@ -20,8 +20,7 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_MiniParseExample2.X", @@ -51,10 +50,10 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParseExample2.imp0", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt16.v", "unit_inversion" + "typing_FStar.UInt16.v", "typing_Prims.pow2", "unit_inversion" ], 0, - "eedd896758a11a7eb583349f392213bb" + "1116f9f17d8024e5da5e3c28e3d50ba2" ], [ "MiniParseExample2.c2", @@ -96,7 +95,7 @@ "typing_FStar.UInt16.v", "typing_Prims.pow2", "unit_inversion" ], 0, - "201d46e3f2812b4ff678a31342292fe6" + "dc9b705ed5d2a6e9959a81a9b705ef3d" ], [ "MiniParseExample2.c1", @@ -138,7 +137,7 @@ "typing_FStar.UInt16.v", "unit_inversion" ], 0, - "82f8de903560c636d8f93d69e5c64c41" + "7cb62d38321960285c2aacdb3f3e74de" ], [ "MiniParseExample2.c0", @@ -187,7 +186,7 @@ "typing_Tm_abs_35bcacdf8473daf7c8ccd0dc21ac615e", "unit_typing" ], 0, - "e3b3642dfdb05dcaa1d78e04a54ecc2a" + "3f96bf0dabd3377c4b0e0c2743ae1aaa" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample3.fst b/examples/miniparse/MiniParseExample3.fst index f6f2fedcc83..6626a640226 100644 --- a/examples/miniparse/MiniParseExample3.fst +++ b/examples/miniparse/MiniParseExample3.fst @@ -16,7 +16,7 @@ module MiniParseExample3 open MiniParse.Tac.Spec open MiniParse.Tac.Impl -open FStar.Tactics +open FStar.Tactics.V2 let ps = _ by (gen_package Goal (`palette)) diff --git a/examples/miniparse/MiniParseExample3.fst.hints b/examples/miniparse/MiniParseExample3.fst.hints index c96b1dbce74..ae0fa93c45f 100644 --- a/examples/miniparse/MiniParseExample3.fst.hints +++ b/examples/miniparse/MiniParseExample3.fst.hints @@ -1 +1 @@ -[ "Q]Å\u001fËcÁ\u000eÝÅŽÈÒÁá'", [] ] \ No newline at end of file +[ "\u0003˜\u001d󈬢ŠÖj`².`÷\u0012", [] ] \ No newline at end of file diff --git a/examples/miniparse/bench/MiniStub.fst b/examples/miniparse/bench/MiniStub.fst index ab098590af6..6cc9e07e292 100644 --- a/examples/miniparse/bench/MiniStub.fst +++ b/examples/miniparse/bench/MiniStub.fst @@ -17,7 +17,7 @@ module __MODULE__ open MiniParse.Spec.TEnum open MiniParse.Tac.Impl -module T = FStar.Tactics +module T = FStar.Tactics.V2 #reset-options "--z3rlimit 1 --z3rlimit_factor __FACTOR__ --z3seed __SEED__" #set-options "--hint_info" diff --git a/examples/misc/MonadicLetBindings.fst.hints b/examples/misc/MonadicLetBindings.fst.hints index ba67fd267bf..d9977008a30 100644 --- a/examples/misc/MonadicLetBindings.fst.hints +++ b/examples/misc/MonadicLetBindings.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "5f40c23b9b2c035e25cf82367083b3fc" + "2555e2ec58ad69013db0701c37544ec6" ], [ "MonadicLetBindings.option_example", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "6a86dc6324ce570fb80f57f9724d1fbf" + "45d2c9611510b44039cb8250e2d3cbbf" ], [ "MonadicLetBindings.sequence_example", @@ -26,7 +26,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "1bb24b907818867d5a13319a60bc5953" + "334d02f3104e55a469839bb42c6e0bf9" ], [ "MonadicLetBindings.uu___45", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "e32b4793c29a48e5e6a61ca9c2e707fd" + "8f83be5b513f9388025eea18692d326d" ], [ "MonadicLetBindings.uu___46", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "66020886310655220c42f5b9c58d7a7b" + "5f5de0ba57ee75932fdb132a0064eb0f" ], [ "MonadicLetBindings.sugared2", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "f5a460cb879036821f6b0f1c9a611c51" + "595a2fe7beb7ce437784f8d936ceaaf7" ], [ "MonadicLetBindings.desugared2", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "133d2229b6ab4736468d602aa1636552" + "eb7732d408ff217bd43c4c411ddd56e8" ], [ "MonadicLetBindings.zip", @@ -76,7 +76,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "461fc3d36742de99af6bdacf60d07135" + "5f821ed26a315ac09036567b9030b5f3" ], [ "MonadicLetBindings.uu___119", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "0430660ccebfb5284fcaf63d1fc6d8aa" + "0d69cb5fbee9245bbfa4452c8df08df0" ], [ "MonadicLetBindings.uu___123", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "8b5dfa49c479d4c19d0dc2c3d0c8b64f" + "5d6f2e6c5e463dd59ba3d47f7d66e0e3" ], [ "MonadicLetBindings.exp", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "f21ad18364cf4f26044a57f915d3ede8" + "82f05f3aac5910fbd7ef72e7eba463f8" ], [ "MonadicLetBindings.__proj__Const__item___0", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_d405158072015f458f791f5ac15aeb94" ], 0, - "276a55872215f5f5f763251b62276d50" + "0f17950ab95058ac704e73d01cb8d640" ], [ "MonadicLetBindings.__proj__Addition__item___0", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_63574e1869a11ca1d9c7d14d978c92a7" ], 0, - "9bec058e492effcea907a0b07d72b843" + "44eee7f78d16f5e3a6596d40d53199f3" ], [ "MonadicLetBindings.__proj__Addition__item___1", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_63574e1869a11ca1d9c7d14d978c92a7" ], 0, - "4c3f32a53e4a5224a80123a29001bb2a" + "ce70dcd440e39b19d12f6f63c8dc3b35" ], [ "MonadicLetBindings.__proj__Division__item___0", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_217c480e43cb68047d7a89fd94e54252" ], 0, - "9420819fbaf945e7e8ab4a91786b278f" + "e74980b08ed7aad8b263a45b51b3cb92" ], [ "MonadicLetBindings.__proj__Division__item___1", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_217c480e43cb68047d7a89fd94e54252" ], 0, - "b18fc512cd105c3fc9da79a9e143427d" + "6567455ca3ce5ace21d87f424ee40dd0" ], [ "MonadicLetBindings.eval", @@ -183,7 +183,7 @@ "subterm_ordering_MonadicLetBindings.Division" ], 0, - "6998ec80f76ab2efe2828fc6277bd451" + "52761d8c319a301f9410ea2a6b4d8b5e" ] ] ] \ No newline at end of file diff --git a/examples/misc/VariantsWithRecords.fst.hints b/examples/misc/VariantsWithRecords.fst.hints index 5cbb22866df..597c2799350 100644 --- a/examples/misc/VariantsWithRecords.fst.hints +++ b/examples/misc/VariantsWithRecords.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c34b86197ddab6cf078998bb9131dbc" + "d1edadcdda2045b701da7c8da9c2f153" ], [ "VariantsWithRecords.__proj__A__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_c27b27db2a80fb1f8dda007a3cb1af05" ], 0, - "57f85542f9ddde62da5372f8bb809978" + "3869fec2794ceedcc9cd173ed64eab96" ], [ "VariantsWithRecords.__proj__A__item___1", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_c27b27db2a80fb1f8dda007a3cb1af05" ], 0, - "5d591bb5e7057cd3c23f010abd4e2de4" + "c6754a571cf9e533cb1cb15868344a00" ], [ "VariantsWithRecords.__proj__B__item__named", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_e2c2f8ed43752057ac15c282b447448f" ], 0, - "92bedf2d1cbdf6edd1569db9575ba8a1" + "625f325f2b401b90e14b836d9ff35b76" ], [ "VariantsWithRecords.__proj__B__item__other", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_e2c2f8ed43752057ac15c282b447448f" ], 0, - "764c0f193c85aed5bb04815ce4aa1249" + "8716c2cb74ebe91de3a790279cee1ac6" ], [ "VariantsWithRecords.__proj__C__item___0", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_45b918618631b7012c14d9b85e2f0ae3" ], 0, - "3d4d4ccb19805134fbdc280ff7fd01ad" + "c10b9a4abffba26c1b509a377096491b" ], [ "VariantsWithRecords.__proj__E__item___0", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_2eb846cfa8f07a725ce0025bd2d365e9" ], 0, - "f53cd12d41ed37b878c3d69a38338d90" + "5184ba1595834f23486e0e0b80c7759e" ], [ "VariantsWithRecords.expr__Add__payload", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "464a774e0ac92024017bdb35ce48e5e4" + "887edc201f12339876e4ac9a01b2b449" ], [ "VariantsWithRecords.__proj__ConstInt__item___0", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_6933647acdc703956b5d276367ef6455" ], 0, - "30d908934711d6040ca0988e3b65a50a" + "6766c661f177a8230a02890b278e0e4f" ], [ "VariantsWithRecords.__proj__ConstStr__item___0", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_efd044fdd32774eddccadd03d5316d67" ], 0, - "8c78e81114c377f6c9013003290384f1" + "3c2e66502dce806da0ec86f606f11ee8" ], [ "VariantsWithRecords.__proj__Add__item___0", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_62b6baacf4f41f217b88adaeaec07655" ], 0, - "82123740ac1b4c30f851f2866a5629c8" + "b434d6ff8a1e2fff48801c86e4456722" ], [ "VariantsWithRecords.__proj__StringOfInt__item___0", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_131e2e8618a2f5129dbd195fee3760dd" ], 0, - "1cd6f1b4bb7e0ef31b80a0ea554a9d56" + "4e1495ef0848b75bfc5fa318368a0fd8" ], [ "VariantsWithRecords.eval", @@ -178,7 +178,7 @@ "subterm_ordering_VariantsWithRecords.StringOfInt" ], 0, - "d810e94ffb61a6ed56773000718c65e9" + "7577dfe8b42d0dfe7486a9c7294ce308" ], [ "VariantsWithRecords.uu___61", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "1b6d8732f99e4bc43945f39dc52718bd" + "cfe6da89cb4ed3a35171fe538e9d098b" ], [ "VariantsWithRecords.bar__Y__payload", @@ -196,7 +196,7 @@ 1, [ "@query" ], 0, - "9bca9b83f264edcfca3ee48bea585e3e" + "c38cb627a7678ee92a232da5d60cdc40" ], [ "VariantsWithRecords.__proj__Y__item___0", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_e6dcb57b7b6328d7e2d7c626de70a421" ], 0, - "04c9da2009f3fae80879ced24eeaaa97" + "a933f97eba7cfb597d11a21ff2999871" ], [ "VariantsWithRecords.__proj__Z__item___0", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_f2b0b9a9d230fe79ae7dc1274c7e08fe" ], 0, - "54b0c21814b3f5419ed011e00e744939" + "5f3e3b7c5cb714da8e355895001b1cd2" ], [ "VariantsWithRecords.bar'", @@ -229,7 +229,7 @@ 1, [ "@query" ], 0, - "59e52dbe3e0ce09ff41b1b1e3208ca8b" + "0d6897076f08e1e2e53a8cc8e0c9a288" ], [ "VariantsWithRecords.__proj__Y'__item___0", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_7c5b11c2e5ce6cb9f15b0eee650b344b" ], 0, - "abe0a29f2d9b863c93409156e829b279" + "55f808a9779d7fc3ed5d6c16dcfba977" ], [ "VariantsWithRecords.__proj__Z'__item___0", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_9aa1dc24b960ee154565857237b2a606" ], 0, - "bb699cec0906b1626f559abb058a2e7e" + "6b21bb0f662bb1682caaabff7bd019ca" ], [ "VariantsWithRecords.odd__Odd__payload", @@ -262,7 +262,7 @@ 1, [ "@query" ], 0, - "2cefa3e81ccc9fa7a9ab2eb0f7073b89" + "651cf00031392a95cb6a06691e246df0" ] ] ] \ No newline at end of file diff --git a/examples/misc/WithLocal.fst.hints b/examples/misc/WithLocal.fst.hints index 48311d3f167..3e42ef1c070 100644 --- a/examples/misc/WithLocal.fst.hints +++ b/examples/misc/WithLocal.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "7e404ca210535aaad2f8493bf89dd6cb" + "fed951f455885d51fbd57bb7d85a9ccb" ], [ "WithLocal.with_local", @@ -86,7 +86,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "dadf07519a2c236aa4a7697bf458b51e" + "d76cb1276204203bd5a9ed11e9db0e14" ], [ "WithLocal.test", @@ -121,7 +121,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "9d90680a5246f78b0a5d835fb69d2784" + "6c8a6372fa68bff3fe7659494b170d51" ], [ "WithLocal.test", @@ -170,7 +170,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "765e39b03e64f5e0a3d6a30fd86b39dd" + "6d4d95fdde8aed608364b5d2a07042d0" ], [ "WithLocal.use_test", @@ -223,7 +223,7 @@ "typing_LowStar.Monotonic.Buffer.loc_not_unused_in" ], 0, - "cc468d8812a6a7db3db5e8fc16a67824" + "8a4a41d4c6e241ed5cad5163388cec75" ] ] ] \ No newline at end of file diff --git a/examples/misc/WorkingWithSquashedProofs.fst.hints b/examples/misc/WorkingWithSquashedProofs.fst.hints index d7c7cc108ad..e9f5b141143 100644 --- a/examples/misc/WorkingWithSquashedProofs.fst.hints +++ b/examples/misc/WorkingWithSquashedProofs.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "137cacc70165826373ea56f5c67a49a1" + "12bc85005e820faf5458dbacab05191c" ], [ "WorkingWithSquashedProofs.foo_implies_bar", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_460b166284656e401cd2507f30d7a622" ], 0, - "0f8223c463b76c7a03c2d37c5eb45469" + "dded818e2200430041bb315cc1c32dd8" ], [ "WorkingWithSquashedProofs.valid_baz", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "57ce4cba3460758ff9e7a6a829e7c1c9" + "6e34df95c49d28dc5b7c1189527cfc1c" ], [ "WorkingWithSquashedProofs.valid_baz_alt", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "79a2e89039903168b89c67a512b4dafc" + "40ffd78aca300763c33c6a0d43fb86ce" ], [ "WorkingWithSquashedProofs.elim_squash_or", @@ -64,7 +64,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1501a53e2fd4967158196067720d93ff" + "7cc162e044a3657d2860a4c056f1b3fe" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Apply.fst b/examples/native_tactics/Apply.fst index 02a9ea2d8a7..61a33242aae 100644 --- a/examples/native_tactics/Apply.fst +++ b/examples/native_tactics/Apply.fst @@ -16,7 +16,7 @@ module Apply open FStar.Mul -open FStar.Tactics +open FStar.Tactics.V2 assume val x : int diff --git a/examples/native_tactics/Apply.fst.hints b/examples/native_tactics/Apply.fst.hints index a63df4d1375..28f9a1eebd2 100644 --- a/examples/native_tactics/Apply.fst.hints +++ b/examples/native_tactics/Apply.fst.hints @@ -1 +1 @@ -[ "6êÐY\u0017;‰\u000fÎ~’P)ÍÌ3", [] ] \ No newline at end of file +[ "HË\u0012\u0014\u0017Ô‹¥ùÅÍ7þ", + "\u0005L‰·:r©>O,¦8øs\u000bV", [ [ "BV.cong_bvand", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a0e6687eb18fc145fda16c06690a5335" + "219720c11e2868baa5435185179eee00" ], [ "BV.cong_bvand", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3041996ea7a00eeec9c4a51dc77e8fa3" + "c0a856c7b56902a48adfcf73e98001b0" ], [ "BV.cong_bvand", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "7c18b98f17d18961d508cebe5fd98750" + "db0672af6fdf9a4511aaadfd9f3b22db" ], [ "BV.cong_bvxor", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "115f8ca1a4b03f932fca4bdde47852d5" + "746d5743f2fad56c43fa0c3cca8867fb" ], [ "BV.cong_bvxor", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9c6599e4e2fdba6e07ea164c59454593" + "c0a856c7b56902a48adfcf73e98001b0" ], [ "BV.cong_bvxor", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "709538e0f20cb331e534b37a02d3918a" + "f34db016b7f6ce6160a421e50c6a3b36" ], [ "BV.cong_bvor", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8676ea1b8b28186bdeca146d3166383b" + "444935d47a11011a89fe76c0aedd19f5" ], [ "BV.cong_bvor", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "af42826b1440653c600a9a67a4e73651" + "c0a856c7b56902a48adfcf73e98001b0" ], [ "BV.cong_bvor", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "314be9856c55d30b91b81372096811e6" + "94e0e62b40c01305fda02489cf549d05" ], [ "BV.cong_bvshl", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b46735bc3f647fec613969e2646ae15c" + "f58f97aaa5a7cd40d444fa61624341a8" ], [ "BV.cong_bvshl", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f4051722b2cf806c78dae046a9efd4e3" + "89d4af9e1ae7cf4fc83a2c479082dffd" ], [ "BV.cong_bvshl", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "671b8b9d31c5d4fc01e74afd524b4a90" + "6bc7e460ebb5ecf551122bfeea03d585" ], [ "BV.cong_bvshr", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "ccce1d331525e6641ea9710344d431a2" + "2130cf54a6c01aefbb3343914c167f4a" ], [ "BV.cong_bvshr", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eb87f2aab025b654395ef92ded269ece" + "89d4af9e1ae7cf4fc83a2c479082dffd" ], [ "BV.cong_bvshr", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "c7ace6a97398081c7d1cbb37cd7651b8" + "4d28998e7186650d54567f7ee9e98b42" ], [ "BV.cong_bvdiv", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "08281b7e98d42dea4321b9750f483c72" + "8b344d0d194c587527812528ddf59798" ], [ "BV.cong_bvdiv", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "47cc6906ef159acf84711844eea65f4e" + "96697b0ad10768f443030ce76b6c9641" ], [ "BV.cong_bvdiv", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "224efdda0120803f445013b4bc0bf701" + "d6aa27502958693a601ca0fa9d14bc5c" ], [ "BV.cong_bvmod", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bf307edbda499919a1ce79ab098a6937" + "660850514b7503144c893d473317eaf9" ], [ "BV.cong_bvmod", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4ee8271376d4da7d7b4e3850d883d826" + "96697b0ad10768f443030ce76b6c9641" ], [ "BV.cong_bvmod", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "fb8bffe828abe0e40e0074ed4c8e8c4b" + "c7b1c004f0ba9b7be4f8d5a67de74d12" ], [ "BV.cong_bvmul", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c754ade5f975017b3a50ebd50c562a41" + "d1ccb3dd7d6db838078f2af4e484640c" ], [ "BV.cong_bvmul", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "838bc7d043adac63289092a2a4134d33" + "89d4af9e1ae7cf4fc83a2c479082dffd" ], [ "BV.cong_bvmul", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "09039e8cda05d0021d0efcc326ebeed0" + "b7bd079ee08b162cae50d3cddf98e6d2" ], [ "BV.cong_bvadd", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0b8bbe72611f236f017157b4427a534a" + "1d25890fdee792d5c3637d18359bfb0f" ], [ "BV.cong_bvadd", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b2d55807e8db3d1420d36b42b2ec204b" + "c0a856c7b56902a48adfcf73e98001b0" ], [ "BV.cong_bvadd", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "f80ffb5ebce2f119f415224f6e5972ce" + "d6961a849c34c8f9b7d6ab1aec7dc722" ], [ "BV.cong_bvsub", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "42b0ffd59c2840d3aa48be94aa4c3c77" + "cf44c8d1e39b14f1470a035e4fcd246a" ], [ "BV.cong_bvsub", @@ -359,7 +359,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8c56b8ce27cd8eba302625c54d241ba5" + "c0a856c7b56902a48adfcf73e98001b0" ], [ "BV.cong_bvsub", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d2ea65f365c070ed0d414329efcde097" + "5ccc77c9ce81a43dca5e5f45cc8c21b9" ], [ "BV.eq_to_bv", @@ -383,7 +383,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7ba2a51d3afe23c354397d8647063d52" + "dcc4f6de4f976e5b05b51efc4a6ee4ae" ], [ "BV.eq_to_bv", @@ -395,7 +395,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "05eb0383279bfcadc93d8cc1c783f771" + "c16b6e8a57130702dd27958edad597fe" ], [ "BV.eq_to_bv", @@ -407,7 +407,7 @@ "refinement_interpretation_Tm_refine_aa61d08cb2b82c11785e865870bb7288" ], 0, - "39a39c994a41f6954600d0c08e59315f" + "19f7a4f08c7d223b95d5022d286d661e" ], [ "BV.lt_to_bv", @@ -419,7 +419,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "669b6d36c67f984799dbeb7264c4618d" + "ece20c76726add05cec3291be784466f" ], [ "BV.lt_to_bv", @@ -431,7 +431,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2fc1ac40c00e884219ca69bcd730513a" + "7ae64b1e21101449e0782221828bd7f4" ], [ "BV.lt_to_bv", @@ -440,7 +440,7 @@ 1, [ "@query", "b2t_def" ], 0, - "931f23f58ee2a081bc62ea7e4587e47e" + "748ef0f34f1b73f1b4656362853ffe0d" ], [ "BV.trans", @@ -452,7 +452,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "73ef8798ede1f578a23b936212b0dc1c" + "185022fe3998cf933e87bb4e094913ef" ], [ "BV.trans", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0fae5a66c47c0280307c940ee733bdda" + "34149b59a1b8d2b359b1903ffaeeac61" ], [ "BV.trans", @@ -476,7 +476,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d89254e7212f8225f343d9b5f957eb6f" + "32d2f7ad4d2846c2a298ac47320931c4" ], [ "BV.trans_lt", @@ -488,7 +488,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7a0298c3a8e244d6dbe8c9496f099d06" + "7da384f312a2b7c084f166259a4a4f33" ], [ "BV.trans_lt", @@ -500,7 +500,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d43d2d7b4d9c69bec638c0d887f50953" + "b3d4c3b10da8b9644131245a15040a70" ], [ "BV.trans_lt", @@ -513,7 +513,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "52dbc47bac8eeacbc4242234a46664ef" + "9e563f02482b1a277876f8cda6eef797" ], [ "BV.trans_lt2", @@ -525,7 +525,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8dcc977cca0cd2c9c8e4314146fc21e2" + "af04bfeb07b0010fd41d3c8e92f0898c" ], [ "BV.trans_lt2", @@ -537,7 +537,7 @@ "refinement_interpretation_Tm_refine_4bbbd6f11b25aac1398a0fe769fa12ff" ], 0, - "702abd1c2914d98c9c330af4a5a9ff7c" + "4232e39910b6a254207aa81bd32bb5f2" ], [ "BV.v64_eq", @@ -546,7 +546,7 @@ 1, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "682051fc5b58ff10c4ed784005f06abf" + "2676b70d60d3d8213c544fe1f9e6aebb" ], [ "BV.unfold_logand64", @@ -559,7 +559,7 @@ "typing_FStar.UInt64.logand" ], 0, - "5007433926febddc73c1292e7e3f9e9a" + "7487bc6ef66e9897aa5086b46b6b8e3a" ], [ "BV.unfold_logor64", @@ -572,7 +572,7 @@ "typing_FStar.UInt64.logor" ], 0, - "bd0184d463c99c3bdfd39e3a71f3af44" + "b2ee61dd93a2d63b185e74e27fac3a1d" ], [ "BV.unfold_logxor64", @@ -585,7 +585,7 @@ "typing_FStar.UInt64.logxor" ], 0, - "ca6231d0515758e21f5e42a20db1aecb" + "ad6f29fcc15c30d881e313798ba84d6b" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Bane.Test.fst b/examples/native_tactics/Bane.Test.fst index 8828b8cf20b..a4d1e7788db 100644 --- a/examples/native_tactics/Bane.Test.fst +++ b/examples/native_tactics/Bane.Test.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Bane.Test -open FStar.Tactics +open FStar.Tactics.V2 open Bane let test = diff --git a/examples/native_tactics/Bane.Test.fst.hints b/examples/native_tactics/Bane.Test.fst.hints index 0b6be6fa975..bd726fb9fc3 100644 --- a/examples/native_tactics/Bane.Test.fst.hints +++ b/examples/native_tactics/Bane.Test.fst.hints @@ -1 +1 @@ -[ "ä¥oËÿÍ vz\u0002*ÞuÝ™S", [] ] \ No newline at end of file +[ ":O[zw÷…³…ü&\n +Í", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Bane.fst b/examples/native_tactics/Bane.fst index 03adbaf668f..dadd9e457be 100644 --- a/examples/native_tactics/Bane.fst +++ b/examples/native_tactics/Bane.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Bane -open FStar.Tactics +open FStar.Tactics.V2 (* To understand the naming convention on this file, please refer to * https://www.youtube.com/watch?v=w9wi0cPrU4U *) [@@plugin] diff --git a/examples/native_tactics/Bane.fst.hints b/examples/native_tactics/Bane.fst.hints index 201daf78ea4..7c5b0ea41f4 100644 --- a/examples/native_tactics/Bane.fst.hints +++ b/examples/native_tactics/Bane.fst.hints @@ -1,5 +1,5 @@ [ - "Ã\u0014\b›—NºkjÐŒZ\u0017^ô", + "7hÃ\u0004œ”̪\u0000rÆÊ\u001e\u0019/~", [ [ "Bane.repeat_or_fail", @@ -15,7 +15,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "a3ad5fbac1f10794668b7b144c28fbb1" + "7d23320e4b7d34740772d98524686f4e" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Bug1270.fst b/examples/native_tactics/Bug1270.fst index a7313f56ddb..0347858120a 100644 --- a/examples/native_tactics/Bug1270.fst +++ b/examples/native_tactics/Bug1270.fst @@ -15,7 +15,7 @@ *) module Bug1270 -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let mytac = @@ -23,7 +23,7 @@ let mytac = (fun () -> let _ = forall_intros () in let env = cur_env () in - let hyps = binders_of_env env in + let hyps = vars_of_env env in match hyps with | [] -> () | h :: _ -> ()) `or_else` trivial) diff --git a/examples/native_tactics/Canon.Test.fst b/examples/native_tactics/Canon.Test.fst index b21725235b0..32ba8be709c 100644 --- a/examples/native_tactics/Canon.Test.fst +++ b/examples/native_tactics/Canon.Test.fst @@ -15,7 +15,7 @@ *) module Canon.Test module XX = FStar.Tactics.Canon // load it, to get the symbols for the lemmas -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul open Canon diff --git a/examples/native_tactics/Canon.Test.fst.hints b/examples/native_tactics/Canon.Test.fst.hints index a09cf938132..098e7d476cc 100644 --- a/examples/native_tactics/Canon.Test.fst.hints +++ b/examples/native_tactics/Canon.Test.fst.hints @@ -1,5 +1,5 @@ [ - "$—ûì›ëÀ\n_¤t@’¾\u0012", + "ŽÿùE\u0004¢Zä¨ï­©\u0005­úe", [ [ "Canon.Test.lem1", @@ -7,11 +7,12 @@ 2, 1, [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" + "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0" ], 0, - "c790cc5a68ac0d936a59841e40a5b844" + "5426e1aff650012da2cefce51cfc8a58" ], [ "Canon.Test.lem8", @@ -20,7 +21,7 @@ 1, [ "@query", "true_interp" ], 0, - "1b7a2587c6abbec88510e2630a1f363b" + "3ffc1641a6c972749151fc542048aaa6" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Canon.fst b/examples/native_tactics/Canon.fst index 90ef115f256..c4dbc5661f0 100644 --- a/examples/native_tactics/Canon.fst +++ b/examples/native_tactics/Canon.fst @@ -15,7 +15,7 @@ *) module Canon module XX = FStar.Tactics.Canon // load it, to get the symbols for the lemmas -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul open FStar.Tactics.Canon diff --git a/examples/native_tactics/Canon.fst.hints b/examples/native_tactics/Canon.fst.hints index 1391cfefa29..4d81e549a04 100644 --- a/examples/native_tactics/Canon.fst.hints +++ b/examples/native_tactics/Canon.fst.hints @@ -1 +1 @@ -[ "™ã÷ŒãËï¢Y\u0005\u0004…4ð8", [] ] \ No newline at end of file +[ "­ó=+¹êÝ@š´ãW\u0005µè0", [] ] \ No newline at end of file diff --git a/examples/native_tactics/CanonDeep.fst b/examples/native_tactics/CanonDeep.fst index 5e1830725d3..1be5f7a2e5c 100644 --- a/examples/native_tactics/CanonDeep.fst +++ b/examples/native_tactics/CanonDeep.fst @@ -15,9 +15,9 @@ *) module CanonDeep -open FStar.Tactics -open FStar.Reflection -open FStar.Reflection.Arith +open FStar.Tactics.V2 +open FStar.Reflection.V2 +open FStar.Reflection.V2.Arith open FStar.Mul module O = FStar.Order diff --git a/examples/native_tactics/CanonDeep.fst.hints b/examples/native_tactics/CanonDeep.fst.hints index 552d1441e3b..57240b6c03d 100644 --- a/examples/native_tactics/CanonDeep.fst.hints +++ b/examples/native_tactics/CanonDeep.fst.hints @@ -1,5 +1,5 @@ [ - "ŒÕá¿Ø¶u67\u0012sH&äï", + "\u0000y\b*µ[¡‹\u0012—¤‚ÊÑ\u001d@", [ [ "CanonDeep.canon_expr", @@ -8,28 +8,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Arith.Atom", - "disc_equation_FStar.Reflection.Arith.Ladd", - "disc_equation_FStar.Reflection.Arith.Land", - "disc_equation_FStar.Reflection.Arith.Lit", - "disc_equation_FStar.Reflection.Arith.Lor", - "disc_equation_FStar.Reflection.Arith.Lsub", - "disc_equation_FStar.Reflection.Arith.Lxor", - "disc_equation_FStar.Reflection.Arith.Minus", - "disc_equation_FStar.Reflection.Arith.MulMod", - "disc_equation_FStar.Reflection.Arith.Mult", - "disc_equation_FStar.Reflection.Arith.NatToBv", - "disc_equation_FStar.Reflection.Arith.Neg", - "disc_equation_FStar.Reflection.Arith.Plus", - "disc_equation_FStar.Reflection.Arith.Shl", - "disc_equation_FStar.Reflection.Arith.Shr", - "disc_equation_FStar.Reflection.Arith.Udiv", - "disc_equation_FStar.Reflection.Arith.Umod", - "fuel_guarded_inversion_FStar.Reflection.Arith.expr", + "disc_equation_FStar.Reflection.V2.Arith.Atom", + "disc_equation_FStar.Reflection.V2.Arith.Ladd", + "disc_equation_FStar.Reflection.V2.Arith.Land", + "disc_equation_FStar.Reflection.V2.Arith.Lit", + "disc_equation_FStar.Reflection.V2.Arith.Lor", + "disc_equation_FStar.Reflection.V2.Arith.Lsub", + "disc_equation_FStar.Reflection.V2.Arith.Lxor", + "disc_equation_FStar.Reflection.V2.Arith.Minus", + "disc_equation_FStar.Reflection.V2.Arith.MulMod", + "disc_equation_FStar.Reflection.V2.Arith.Mult", + "disc_equation_FStar.Reflection.V2.Arith.NatToBv", + "disc_equation_FStar.Reflection.V2.Arith.Neg", + "disc_equation_FStar.Reflection.V2.Arith.Plus", + "disc_equation_FStar.Reflection.V2.Arith.Shl", + "disc_equation_FStar.Reflection.V2.Arith.Shr", + "disc_equation_FStar.Reflection.V2.Arith.Udiv", + "disc_equation_FStar.Reflection.V2.Arith.Umod", + "fuel_guarded_inversion_FStar.Reflection.V2.Arith.expr", "projection_inverse_BoxBool_proj_0" ], 0, - "a3680df6722502b1fc6999af6bd3d0cd" + "cbc6e57896175c423c87c18231859d38" ], [ "CanonDeep.expr_to_term", @@ -38,45 +38,45 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Arith_pretyping_a07959c370bece0a8a0f8382b2d82719", - "binder_x_a07959c370bece0a8a0f8382b2d82719_0", - "disc_equation_FStar.Reflection.Arith.Atom", - "disc_equation_FStar.Reflection.Arith.Ladd", - "disc_equation_FStar.Reflection.Arith.Land", - "disc_equation_FStar.Reflection.Arith.Lit", - "disc_equation_FStar.Reflection.Arith.Lor", - "disc_equation_FStar.Reflection.Arith.Lsub", - "disc_equation_FStar.Reflection.Arith.Lxor", - "disc_equation_FStar.Reflection.Arith.Minus", - "disc_equation_FStar.Reflection.Arith.MulMod", - "disc_equation_FStar.Reflection.Arith.Mult", - "disc_equation_FStar.Reflection.Arith.NatToBv", - "disc_equation_FStar.Reflection.Arith.Neg", - "disc_equation_FStar.Reflection.Arith.Plus", - "disc_equation_FStar.Reflection.Arith.Shl", - "disc_equation_FStar.Reflection.Arith.Shr", - "disc_equation_FStar.Reflection.Arith.Udiv", - "disc_equation_FStar.Reflection.Arith.Umod", - "fuel_guarded_inversion_FStar.Reflection.Arith.expr", + "FStar.Reflection.V2.Arith_pretyping_1c084c389819290d965124d50e2bdf98", + "binder_x_1c084c389819290d965124d50e2bdf98_0", + "disc_equation_FStar.Reflection.V2.Arith.Atom", + "disc_equation_FStar.Reflection.V2.Arith.Ladd", + "disc_equation_FStar.Reflection.V2.Arith.Land", + "disc_equation_FStar.Reflection.V2.Arith.Lit", + "disc_equation_FStar.Reflection.V2.Arith.Lor", + "disc_equation_FStar.Reflection.V2.Arith.Lsub", + "disc_equation_FStar.Reflection.V2.Arith.Lxor", + "disc_equation_FStar.Reflection.V2.Arith.Minus", + "disc_equation_FStar.Reflection.V2.Arith.MulMod", + "disc_equation_FStar.Reflection.V2.Arith.Mult", + "disc_equation_FStar.Reflection.V2.Arith.NatToBv", + "disc_equation_FStar.Reflection.V2.Arith.Neg", + "disc_equation_FStar.Reflection.V2.Arith.Plus", + "disc_equation_FStar.Reflection.V2.Arith.Shl", + "disc_equation_FStar.Reflection.V2.Arith.Shr", + "disc_equation_FStar.Reflection.V2.Arith.Udiv", + "disc_equation_FStar.Reflection.V2.Arith.Umod", + "fuel_guarded_inversion_FStar.Reflection.V2.Arith.expr", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Arith.Ladd", - "subterm_ordering_FStar.Reflection.Arith.Land", - "subterm_ordering_FStar.Reflection.Arith.Lor", - "subterm_ordering_FStar.Reflection.Arith.Lsub", - "subterm_ordering_FStar.Reflection.Arith.Lxor", - "subterm_ordering_FStar.Reflection.Arith.Minus", - "subterm_ordering_FStar.Reflection.Arith.MulMod", - "subterm_ordering_FStar.Reflection.Arith.Mult", - "subterm_ordering_FStar.Reflection.Arith.NatToBv", - "subterm_ordering_FStar.Reflection.Arith.Neg", - "subterm_ordering_FStar.Reflection.Arith.Plus", - "subterm_ordering_FStar.Reflection.Arith.Shl", - "subterm_ordering_FStar.Reflection.Arith.Shr", - "subterm_ordering_FStar.Reflection.Arith.Udiv", - "subterm_ordering_FStar.Reflection.Arith.Umod" + "subterm_ordering_FStar.Reflection.V2.Arith.Ladd", + "subterm_ordering_FStar.Reflection.V2.Arith.Land", + "subterm_ordering_FStar.Reflection.V2.Arith.Lor", + "subterm_ordering_FStar.Reflection.V2.Arith.Lsub", + "subterm_ordering_FStar.Reflection.V2.Arith.Lxor", + "subterm_ordering_FStar.Reflection.V2.Arith.Minus", + "subterm_ordering_FStar.Reflection.V2.Arith.MulMod", + "subterm_ordering_FStar.Reflection.V2.Arith.Mult", + "subterm_ordering_FStar.Reflection.V2.Arith.NatToBv", + "subterm_ordering_FStar.Reflection.V2.Arith.Neg", + "subterm_ordering_FStar.Reflection.V2.Arith.Plus", + "subterm_ordering_FStar.Reflection.V2.Arith.Shl", + "subterm_ordering_FStar.Reflection.V2.Arith.Shr", + "subterm_ordering_FStar.Reflection.V2.Arith.Udiv", + "subterm_ordering_FStar.Reflection.V2.Arith.Umod" ], 0, - "744bff1f9ba6b9b263d8ed3db5c21572" + "0c52d40e0c6992fcfba9f07b59606680" ], [ "CanonDeep.canon_correct", @@ -85,7 +85,7 @@ 1, [ "@query", "equation_CanonDeep.canon_expr_" ], 0, - "55e02bb6a0a8cab214189dd8cbef786b" + "15823216a539e170394740b733d119ed" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/CanonMonoid.fst b/examples/native_tactics/CanonMonoid.fst index ab2ff2557ed..de1d329d683 100644 --- a/examples/native_tactics/CanonMonoid.fst +++ b/examples/native_tactics/CanonMonoid.fst @@ -17,8 +17,8 @@ module CanonMonoid open FStar.Algebra.Monoid open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 +open FStar.Reflection.V2 (* "A Monoid Expression Simplifier" ported from http://adam.chlipala.net/cpdt/html/Cpdt.Reflection.html *) diff --git a/examples/native_tactics/Cases.fst b/examples/native_tactics/Cases.fst index 94a24b499f6..3a5bc066d06 100644 --- a/examples/native_tactics/Cases.fst +++ b/examples/native_tactics/Cases.fst @@ -17,7 +17,7 @@ module Cases (* *) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul assume val p : Type0 diff --git a/examples/native_tactics/Change.fst b/examples/native_tactics/Change.fst index 14f2fb83ac1..f1b7b07651d 100644 --- a/examples/native_tactics/Change.fst +++ b/examples/native_tactics/Change.fst @@ -15,7 +15,7 @@ *) module Change -open FStar.Tactics +open FStar.Tactics.V2 let id #a (x:a) : a = x diff --git a/examples/native_tactics/Clear.fst b/examples/native_tactics/Clear.fst index fb0d58a6323..7d5773bf2c6 100644 --- a/examples/native_tactics/Clear.fst +++ b/examples/native_tactics/Clear.fst @@ -15,7 +15,7 @@ *) module Clear -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type @@ -37,8 +37,8 @@ let l1 (x : bool) (y : int) (z : unit) = let clear_all_of_type (t : typ) : Tac unit = let e = cur_env () in - let bs = binders_of_env e in - let _ = map (fun b -> if term_eq (type_of_binder b) t + let bs = vars_of_env e in + let _ = map (fun b -> if term_eq (type_of_binding b) t then clear b else ()) // We need to traverse the list backwards, to clear rightmost @@ -49,12 +49,12 @@ let clear_all_of_type (t : typ) : Tac unit = [@@plugin] let tau2 = fun () -> let e = cur_env () in - let n = List.length (binders_of_env e) in + let n = List.length (vars_of_env e) in let u = `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) + guard (List.length (vars_of_env e) = n - 2) let l2 (x : int) (y : bool) (z : int) = assert (phi ==> (psi ==> xi)) by tau2 () diff --git a/examples/native_tactics/Clear.fst.hints b/examples/native_tactics/Clear.fst.hints index 5fd4f62dfbf..410fc5d9db8 100644 --- a/examples/native_tactics/Clear.fst.hints +++ b/examples/native_tactics/Clear.fst.hints @@ -1,5 +1,5 @@ [ - "C‹\u001eÝž›‘ùeÞdð«Ô·Ã", + "\bDÏ`4·Ï*\u0004yMS¤M9", [ [ "Clear.l2", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "89b6b5303462b9031bf84c54624bae98" + "8b47630e56c1cca0309f456be801b9ea" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Cut.fst b/examples/native_tactics/Cut.fst index f3251aa600d..48d820a8f3a 100644 --- a/examples/native_tactics/Cut.fst +++ b/examples/native_tactics/Cut.fst @@ -15,7 +15,7 @@ *) module Cut -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type diff --git a/examples/native_tactics/Cut.fst.hints b/examples/native_tactics/Cut.fst.hints index fb7f4c6d402..a7094e0892c 100644 --- a/examples/native_tactics/Cut.fst.hints +++ b/examples/native_tactics/Cut.fst.hints @@ -1 +1 @@ -[ "«¸x8¯ô½\u001b _\u0001ô¾[Þ", [] ] \ No newline at end of file +[ "\raÑé·*†=µ‚È\u0016<ÅèÉ", [] ] \ No newline at end of file diff --git a/examples/native_tactics/DependentSynth.fst b/examples/native_tactics/DependentSynth.fst index 125c4b25c12..6877ac8e230 100644 --- a/examples/native_tactics/DependentSynth.fst +++ b/examples/native_tactics/DependentSynth.fst @@ -14,25 +14,24 @@ limitations under the License. *) module DependentSynth -open FStar.Tactics +open FStar.Tactics.V2 let myty b = if b then int else unit let mk_if (test e_true e_false: term) : Tac term = - let br_true = (Pat_Constant C_True, e_true) in - let br_false = (Pat_Constant C_False, e_false) in + let br_true = (Pat_Constant {c=C_True}, e_true) in + let br_false = (Pat_Constant {c=C_False}, e_false) in let m = pack (Tv_Match test None [ br_true; br_false ] ) in m [@@plugin] let t () : Tac unit = - let b = `bool in - let test' = fresh_bv () in + let test' = fresh_namedv () in let test = pack (Tv_Var test') in let e_true = `3 in let e_false = `() in let body = mk_if test e_true e_false in - let res = pack (Tv_Abs (mk_binder test' b) body) in + let res = pack (Tv_Abs (namedv_to_binder test' (`bool)) body) in // should print: function true -> 3 | false -> () //print (term_to_string res); t_exact true true res diff --git a/examples/native_tactics/DependentSynth.fst.hints b/examples/native_tactics/DependentSynth.fst.hints index fd6bec22192..caea72aee7c 100644 --- a/examples/native_tactics/DependentSynth.fst.hints +++ b/examples/native_tactics/DependentSynth.fst.hints @@ -1,5 +1,5 @@ [ - "\fMIP\u0006¤ÕJך‹ Type = let rec nat2unary (n: nat) : unary_nat = if n = 0 then U0 else US (nat2unary (n - 1)) -open FStar.Tactics +open FStar.Tactics.V2 let even0 () : Lemma (even U0) = () let evenSSn (n: unary_nat) : diff --git a/examples/native_tactics/Evens.fst.hints b/examples/native_tactics/Evens.fst.hints index 877e73ce694..a13f8eb3110 100644 --- a/examples/native_tactics/Evens.fst.hints +++ b/examples/native_tactics/Evens.fst.hints @@ -1,5 +1,5 @@ [ - "S¦NƒëHòÿÃk°Xè\\Ì", + "©PÃ-þK9H*~¢^»/\u001dæ", [ [ "Evens.unary_nat", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "22e9d4e7ccb5175757391b71f6728119" + "694f5ecc13dbc5f52cb4c808cf863302" ], [ "Evens.__proj__US__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_7094be438dbc16658c0caec70fa7452e" ], 0, - "376fa3f2f455d19b3ed4e35d66adff4c" + "7318994ca4f78f62eb7e32ef04a87583" ], [ "Evens.even", @@ -29,7 +29,7 @@ 1, [ "@query", "assumption_Evens.unary_nat__uu___haseq" ], 0, - "8a10001411a4e53087a3123715d2c04f" + "ca1fbc7998793f6614049320d00bcd2d" ], [ "Evens.__proj__Even_SSn__item__n", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_6b35b246e3f3e217f09d76d285c6fcd3" ], 0, - "341d0811040b424f91e5324a51cc8cc1" + "c23d6267159f4b6c2c021bb459ca503b" ], [ "Evens.__proj__Even_SSn__item___1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_6b35b246e3f3e217f09d76d285c6fcd3" ], 0, - "63f210555de9ec0a4daa8bb1d13921d4" + "e2a3025ed791deec1e978bfaa7275d07" ], [ "Evens.nat2unary", @@ -71,7 +71,7 @@ "well-founded-ordering-on-nat" ], 0, - "b509811fbdcc4b48838096742b74b2b3" + "f96764632f3cccaa1bd9e762a72283b1" ], [ "Evens.even0", @@ -83,7 +83,7 @@ "equality_tok_Evens.U0@tok", "typing_tok_Evens.Even0@tok" ], 0, - "fc94ae347d3f8f8e416d481d2ca84f0f" + "998bf13326c41609cc4de735b256f3f6" ], [ "Evens.evenSSn", @@ -92,7 +92,7 @@ 1, [ "@query", "true_interp" ], 0, - "cd3e00a3af2a341497fd0a3212c7f9c3" + "467b27c42de62a6e6361fc2c21fb9710" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Fail.fst b/examples/native_tactics/Fail.fst index 07b0b55f559..3588cae21b9 100644 --- a/examples/native_tactics/Fail.fst +++ b/examples/native_tactics/Fail.fst @@ -17,7 +17,7 @@ module Fail // Making sure the unification engine respects failures -open FStar.Tactics +open FStar.Tactics.V2 assume val p : Type assume val q : Type diff --git a/examples/native_tactics/Fail.fst.hints b/examples/native_tactics/Fail.fst.hints index abb6cdde2b1..74b5102a5ef 100644 --- a/examples/native_tactics/Fail.fst.hints +++ b/examples/native_tactics/Fail.fst.hints @@ -1 +1 @@ -[ "\u0016zÄî¿\u0013Q-áïƒ-£zM\u0016", [] ] \ No newline at end of file +[ "¡!û䶊‚©à_õ\b\u001f»rú", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Imp.Fun.fst b/examples/native_tactics/Imp.Fun.fst index 5b17e6b8bd0..8ac62622947 100644 --- a/examples/native_tactics/Imp.Fun.fst +++ b/examples/native_tactics/Imp.Fun.fst @@ -254,7 +254,7 @@ let _ = norm_assert (forall x y. equiv_norm (long_zero x) (long_zero y)) // //-------------------------------------------------------------------------------- -// // open FStar.Tactics +// // open FStar.Tactics.V2 // // open FStar.Tactics.CanonCommSemiring // // open FStar.Algebra.CommMonoid diff --git a/examples/native_tactics/Imp.List.fst b/examples/native_tactics/Imp.List.fst index 97e2f485009..894ea266e3e 100644 --- a/examples/native_tactics/Imp.List.fst +++ b/examples/native_tactics/Imp.List.fst @@ -221,7 +221,7 @@ let x_times_42 x : prog = [ // //-------------------------------------------------------------------------------- -// // open FStar.Tactics +// // open FStar.Tactics.V2 // // open FStar.Tactics.CanonCommSemiring // // open FStar.Algebra.CommMonoid diff --git a/examples/native_tactics/Imp.fst b/examples/native_tactics/Imp.fst index 40b1e8a9f40..1cbd990db75 100644 --- a/examples/native_tactics/Imp.fst +++ b/examples/native_tactics/Imp.fst @@ -15,14 +15,14 @@ *) module Imp -open FStar.Tactics +open FStar.Tactics.V2 (* Testing that intro works on implicits seamlessly *) [@@plugin] let tau () : Tac unit = let b = intro () in - exact (pack (Tv_Var (bv_of_binder b))) + exact (pack (Tv_Var (binding_to_namedv b))) let f : int -> int = synth_by_tactic tau let g : #x:int -> int = synth_by_tactic tau diff --git a/examples/native_tactics/Imp.fst.hints b/examples/native_tactics/Imp.fst.hints index 67b0c1cfef2..d850e8f883a 100644 --- a/examples/native_tactics/Imp.fst.hints +++ b/examples/native_tactics/Imp.fst.hints @@ -1,5 +1,5 @@ [ - "T&ðìh\u0001³@+»dèÖ¯þù", + "Èý;ÅÛPZ×ÐÞ¿\u001dþ9¾ñ", [ [ "Imp.uu___4", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Imp.f" ], 0, - "7b2b995e550b0abfe30a48018458b34d" + "37ccb6d8f5896e3914385447e1b2d7e2" ], [ "Imp.uu___5", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Imp.g" ], 0, - "d866e7cbbfd6c197fd588b10211c308b" + "feaa2ef65b0d33b5bef1bb9335aadd86" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Logic.fst b/examples/native_tactics/Logic.fst index 3e86ae061c4..9d44806043b 100644 --- a/examples/native_tactics/Logic.fst +++ b/examples/native_tactics/Logic.fst @@ -15,7 +15,7 @@ *) module Logic -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type @@ -25,9 +25,9 @@ assume val xi: Type let tau () : Tac unit = let h = implies_intro () in right (); - let (h1, _) = destruct_and (pack (Tv_Var (bv_of_binder h))) in + let (h1, _) = destruct_and (pack (Tv_Var (binding_to_namedv h))) in apply (`FStar.Squash.return_squash); - exact (pack (Tv_Var (bv_of_binder h1))); + exact (pack (Tv_Var (binding_to_namedv h1))); qed () let _ = diff --git a/examples/native_tactics/Logic.fst.hints b/examples/native_tactics/Logic.fst.hints index 6a6436c2425..661ece29869 100644 --- a/examples/native_tactics/Logic.fst.hints +++ b/examples/native_tactics/Logic.fst.hints @@ -1 +1 @@ -[ "¼\u0019z¢>b¢\u001b\u0007\u001c}Ƹ§²", [] ] \ No newline at end of file +[ "ß ¦÷7<µ\u001d/'¬¾Õó2´", [] ] \ No newline at end of file diff --git a/examples/native_tactics/MApply.fst b/examples/native_tactics/MApply.fst index 98af9862db5..0e814e78625 100644 --- a/examples/native_tactics/MApply.fst +++ b/examples/native_tactics/MApply.fst @@ -15,7 +15,7 @@ *) module MApply -open FStar.Tactics +open FStar.Tactics.V2 assume val p : Type0 assume val q : Type0 diff --git a/examples/native_tactics/Nest.fst b/examples/native_tactics/Nest.fst index 10b5b66fec9..4c583558369 100644 --- a/examples/native_tactics/Nest.fst +++ b/examples/native_tactics/Nest.fst @@ -17,7 +17,7 @@ module Nest (* This is simply testing that #1065.2 doesn't pop back up again *) -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let tau = fun () -> pointwise (fun () -> pointwise trefl; trefl ()) diff --git a/examples/native_tactics/Nest.fst.hints b/examples/native_tactics/Nest.fst.hints index c1fb6c14deb..b8ce931c0f0 100644 --- a/examples/native_tactics/Nest.fst.hints +++ b/examples/native_tactics/Nest.fst.hints @@ -1 +1 @@ -[ "º°k\u0018XH\u0001¦&àDYÞ¿eÐ", [] ] \ No newline at end of file +[ "˜²‹ÚðaÃùl\u0001YÒ\u0018\u0007Ù", [] ] \ No newline at end of file diff --git a/examples/native_tactics/NormBinderType.fst b/examples/native_tactics/NormBinderType.fst index eb5dbb4a9c4..1a0ecce86e0 100644 --- a/examples/native_tactics/NormBinderType.fst +++ b/examples/native_tactics/NormBinderType.fst @@ -15,7 +15,7 @@ *) module NormBinderType -open FStar.Tactics +open FStar.Tactics.V2 assume val p : int assume val q : int @@ -28,11 +28,11 @@ let g = let b = intro () in admit (); - norm_binder_type [delta; primops] b; + norm_binding_type [delta; primops] b; - match binders_of_env (cur_env ()) with + match vars_of_env (cur_env ()) with | [b] -> - let t = type_of_binder b in + let t = type_of_binding b in let q = quote (eq2 #int 5 7) in if FStar.Order.ne (compare_term t q) then fail "type was not normalized" diff --git a/examples/native_tactics/Normalization.fst b/examples/native_tactics/Normalization.fst index 69a94a91073..7d5f13afd96 100644 --- a/examples/native_tactics/Normalization.fst +++ b/examples/native_tactics/Normalization.fst @@ -15,7 +15,7 @@ *) module Normalization -open FStar.Tactics +open FStar.Tactics.V2 (* A tactic that returns its argument after some steps of normalization *) (* NOTE: This is relying on our unusual quote, which can inspect the shape of `x` @@ -40,7 +40,7 @@ let def_of (#t:Type) (x:t) : Tac term = in match inspect_sigelt se with | Sg_Let r lbs -> begin - let lbv = lookup_lb_view lbs (inspect_fv fv) in + let lbv = lookup_lb lbs (inspect_fv fv) in lbv.lb_def end | _ -> fail "not a sig_let" diff --git a/examples/native_tactics/Plugins.Test.fst b/examples/native_tactics/Plugins.Test.fst index 386141e143a..82f1e8c74ef 100644 --- a/examples/native_tactics/Plugins.Test.fst +++ b/examples/native_tactics/Plugins.Test.fst @@ -15,7 +15,7 @@ *) module Plugins.Test -open FStar.Tactics +open FStar.Tactics.V2 open Plugins let _ = assert_norm (int_plugin 2 = 2) diff --git a/examples/native_tactics/Plugins.Test.fst.hints b/examples/native_tactics/Plugins.Test.fst.hints index e3a8818344c..9da14a4fbc3 100644 --- a/examples/native_tactics/Plugins.Test.fst.hints +++ b/examples/native_tactics/Plugins.Test.fst.hints @@ -1,5 +1,5 @@ [ - "‚@ú†5^ã8í ™\n¯\u0018iá", + "cƒÉÊ\f<ôÜéÁ\u0011\u001f°ÌìB", [ [ "Plugins.Test.uu___0", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "45919008d8a9bad38a8d5af9ff1d9c36" + "476dde8e0c431b4d950372276eecc339" ], [ "Plugins.Test.uu___1", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f72852bc58e4117a837b1e35cb839827" + "83ffb33e549800c5e8d97baa5a2dbe64" ], [ "Plugins.Test.uu___2", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c6f49b2b0adef633c345f611a7f4b04" + "5342be37b092a326a524278aab82a5aa" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Plugins.fst b/examples/native_tactics/Plugins.fst index fca700878c3..c21ca791c0c 100644 --- a/examples/native_tactics/Plugins.fst +++ b/examples/native_tactics/Plugins.fst @@ -20,8 +20,8 @@ module Plugins Tactics should be generated without warnings and compile without errors. *) -open FStar.Reflection -open FStar.Tactics +open FStar.Reflection.V2 +open FStar.Tactics.V2 [@@plugin] let int_plugin: int -> int = id diff --git a/examples/native_tactics/Plugins.fst.hints b/examples/native_tactics/Plugins.fst.hints index b918b174b30..f5a554ed1bf 100644 --- a/examples/native_tactics/Plugins.fst.hints +++ b/examples/native_tactics/Plugins.fst.hints @@ -1 +1 @@ -[ ";úd´S­\u000e’Ž¥âÙͬE³", [] ] \ No newline at end of file +[ "bS.\u0014\u0012k+Â+ŠZ\u0019À+¼", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Print.Test.fst b/examples/native_tactics/Print.Test.fst index 9c5f28899d5..357b2a8dd4b 100644 --- a/examples/native_tactics/Print.Test.fst +++ b/examples/native_tactics/Print.Test.fst @@ -15,7 +15,7 @@ *) module Print.Test -open FStar.Tactics +open FStar.Tactics.V2 open Print let test_print_goal1 = diff --git a/examples/native_tactics/Print.Test.fst.hints b/examples/native_tactics/Print.Test.fst.hints index bcb62a6d8e3..cd1c051aa88 100644 --- a/examples/native_tactics/Print.Test.fst.hints +++ b/examples/native_tactics/Print.Test.fst.hints @@ -1,5 +1,5 @@ [ - "Þ\u0013È\u0007\u0011\u0015ø\b·Ïzá¢Üïo", + "\u0003nP\u0018\bº£\u0016ƒ\u0007B³:{9$", [ [ "Print.Test.test_print_goal1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "763a4b66f5a2efeae541c8ddf64a920d" + "f62cb6fd389f2f11ad9d1724af9806ff" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Print.fst b/examples/native_tactics/Print.fst index 9b911e7fefe..a967af57d74 100644 --- a/examples/native_tactics/Print.fst +++ b/examples/native_tactics/Print.fst @@ -15,7 +15,7 @@ *) module Print -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let just_print (s: string): Tac unit = diff --git a/examples/native_tactics/Print.fst.hints b/examples/native_tactics/Print.fst.hints index 19849315ab8..b9700c1976f 100644 --- a/examples/native_tactics/Print.fst.hints +++ b/examples/native_tactics/Print.fst.hints @@ -1 +1 @@ -[ "\b\u0019w\bÒÔ5¾USv“è…D±", [] ] \ No newline at end of file +[ "Z¿6\u0013'tm8Ê‹üöà×", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Pruning.fst b/examples/native_tactics/Pruning.fst index f232aa01114..34d191534c5 100644 --- a/examples/native_tactics/Pruning.fst +++ b/examples/native_tactics/Pruning.fst @@ -60,9 +60,9 @@ open FStar.OrdSet open FStar.OrdSetProps open FStar.PredicateExtensionality open FStar.PropositionalExtensionality -open FStar.Reflection +open FStar.Reflection.V2 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List // This query will go the SMT, in the default proof namespace diff --git a/examples/native_tactics/Pruning.fst.hints b/examples/native_tactics/Pruning.fst.hints index ba50febf1d3..ff4259535e0 100644 --- a/examples/native_tactics/Pruning.fst.hints +++ b/examples/native_tactics/Pruning.fst.hints @@ -1,5 +1,5 @@ [ - "üqXã–\rÈï`rxÊ\u0014~¬\u007f", + "\u0007ÒC[ûv7h[A¯\b$§™è", [ [ "Pruning.f", @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a6a26512c7e432ff77a5f0cf1b0f95d7" + "d0dda265ff85aefb0dad6d8d718302a9" ], [ "Pruning.uu___4", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "18cb87bd1070319f6dfdab7252b9df93" + "807e3d699fe78cc723de1bfff1ad4b02" ], [ "Pruning.uu___13", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "91f02d83bef0e0475eaa149732f52d9b" + "807e3d699fe78cc723de1bfff1ad4b02" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Registers.Imp.fst b/examples/native_tactics/Registers.Imp.fst index 89577c803f5..64ff3bfe2d8 100644 --- a/examples/native_tactics/Registers.Imp.fst +++ b/examples/native_tactics/Registers.Imp.fst @@ -254,7 +254,7 @@ let _ = norm_assert (forall x y. equiv_norm (long_zero x) (long_zero y)) // //-------------------------------------------------------------------------------- -// // open FStar.Tactics +// // open FStar.Tactics.V2 // // open FStar.Tactics.CanonCommSemiring // // open FStar.Algebra.CommMonoid diff --git a/examples/native_tactics/Registers.List.fst.hints b/examples/native_tactics/Registers.List.fst.hints index 7d89c926dca..11337afecc0 100644 --- a/examples/native_tactics/Registers.List.fst.hints +++ b/examples/native_tactics/Registers.List.fst.hints @@ -27,7 +27,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "18330e4e04a8ce92e362df2672e858a4" + "b4710b9c5806eb886201245017fef903" ], [ "Registers.List.const_map_n", @@ -43,7 +43,7 @@ "well-founded-ordering-on-nat" ], 0, - "4c00c06da5346dc069c126051561c5ec" + "59b8147549cc8fb75250235d495ebbf5" ], [ "Registers.List.identity_map", @@ -59,7 +59,7 @@ "well-founded-ordering-on-nat" ], 0, - "fe0b1c2324c08203c9432fbab3697505" + "624d32e711fae4a8c2f5de45b895debf" ], [ "Registers.List.eta_map", @@ -74,7 +74,7 @@ "well-founded-ordering-on-nat" ], 0, - "9607223435dbb5811af3ca53006c2103" + "77daed96aad73f20452d6418f816394a" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Rename.fst b/examples/native_tactics/Rename.fst index ebe6a0f45fc..94f770fe5ff 100644 --- a/examples/native_tactics/Rename.fst +++ b/examples/native_tactics/Rename.fst @@ -17,7 +17,7 @@ module Rename (* Testing the new printing based on the static environment *) -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type diff --git a/examples/native_tactics/Rename.fst.hints b/examples/native_tactics/Rename.fst.hints index 8a02cd55e06..31519016f1a 100644 --- a/examples/native_tactics/Rename.fst.hints +++ b/examples/native_tactics/Rename.fst.hints @@ -1 +1 @@ -[ "®¡ËÄ5…Ü~Ù\u0010Qe\u0016Z#%", [] ] \ No newline at end of file +[ "¢å”ág\u0010\u001bçõe\u0003îv\u0017Öœ", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Retype.fst b/examples/native_tactics/Retype.fst index ac70c42dca7..f8a47535553 100644 --- a/examples/native_tactics/Retype.fst +++ b/examples/native_tactics/Retype.fst @@ -17,7 +17,7 @@ module Retype // Changing the type of a binder -open FStar.Tactics +open FStar.Tactics.V2 assume val p : prop assume val q : prop @@ -37,7 +37,7 @@ let tau () : Tac unit = let _ = implies_intro () in let b = implies_intro () in - binder_retype b; // call retype, get a goal `p == ?u` + var_retype b; // call retype, get a goal `p == ?u` let pp = `p in let rr = `r in grewrite pp rr; // rewrite p to q, get `q == ?u` @@ -46,9 +46,9 @@ let tau () : Tac unit = apply_lemma (`l); //prove (p == q), asked by grewrite let e = cur_env () in - match binders_of_env e with + match vars_of_env e with | [_;_;_;b] -> - let t = type_of_binder b in + let t = type_of_binding b in let t = norm_term [] t in // contains uvar redexes. if FStar.Order.ne (compare_term t rr) then fail "binder was not retyped?" diff --git a/examples/native_tactics/Retype.fst.hints b/examples/native_tactics/Retype.fst.hints index 78a0cbd0dc5..672fb75d65a 100644 --- a/examples/native_tactics/Retype.fst.hints +++ b/examples/native_tactics/Retype.fst.hints @@ -1 +1 @@ -[ "ßM¶'u7Õ €¼¶c²~ð/", [] ] \ No newline at end of file +[ "¡$™\u001965Ÿ\fé*a{¾\u0000y”", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Sealed.Plugins.Test.fst b/examples/native_tactics/Sealed.Plugins.Test.fst index 5808865a531..f04ca8bfca1 100644 --- a/examples/native_tactics/Sealed.Plugins.Test.fst +++ b/examples/native_tactics/Sealed.Plugins.Test.fst @@ -1,6 +1,6 @@ module Sealed.Plugins.Test open FStar.Sealed -open FStar.Tactics +open FStar.Tactics.V2 open Sealed.Plugins let test0 = assert True by (let res = use_seal (seal 17) in diff --git a/examples/native_tactics/Sealed.Plugins.Test.fst.hints b/examples/native_tactics/Sealed.Plugins.Test.fst.hints index c49bd100953..136c7d05a82 100644 --- a/examples/native_tactics/Sealed.Plugins.Test.fst.hints +++ b/examples/native_tactics/Sealed.Plugins.Test.fst.hints @@ -1 +1 @@ -[ "žxé\u000fZHñï¶\u0005+­Íá‡", [] ] \ No newline at end of file +[ "‘MŠ \u0007\u001chhÏgm4: ¿ÿ", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Sealed.Plugins.fst b/examples/native_tactics/Sealed.Plugins.fst index 0eeccfb5160..65a2b179bf1 100644 --- a/examples/native_tactics/Sealed.Plugins.fst +++ b/examples/native_tactics/Sealed.Plugins.fst @@ -1,6 +1,6 @@ module Sealed.Plugins open FStar.Sealed -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let use_seal (s:sealed int) : Tac int = unseal s + 1 diff --git a/examples/native_tactics/Sealed.Plugins.fst.hints b/examples/native_tactics/Sealed.Plugins.fst.hints index ef770a051a0..293104bce8a 100644 --- a/examples/native_tactics/Sealed.Plugins.fst.hints +++ b/examples/native_tactics/Sealed.Plugins.fst.hints @@ -1 +1 @@ -[ "j», Ji\u000eÞV¨Tøÿ\u0002f", [] ] \ No newline at end of file +[ "\b´yá\u0011­ä8¾´ÓüsgÞ", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Sequences.fst b/examples/native_tactics/Sequences.fst index 97a99072710..479f703150a 100644 --- a/examples/native_tactics/Sequences.fst +++ b/examples/native_tactics/Sequences.fst @@ -15,15 +15,14 @@ *) module Sequences -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 open FStar.Seq let is_seq_t (t:term) : Tac bool = let hd, args = collect_app t in is_fvar hd (`%seq) -let clear_hypothesis (b:binder) : Tac unit = () +let clear_hypothesis (b:binding) : Tac unit = () let retain_only (nss:list string) : Tac unit = prune ""; //removes every top-level assertion which "" as a prefix; so prune everything @@ -36,10 +35,10 @@ let unrefine_eq_lem (#a:Type) (#p : (a -> Type)) (x y : (z:a{p z})) (s : squash let prune_for_seq () : Tac unit = let e = cur_env () in - let bs = binders_of_env e in + let bs = vars_of_env e in //prune the local environment let _ = map (fun b -> - match term_as_formula (type_of_binder b) with + match term_as_formula (type_of_binding b) with | Comp (Eq (Some t)) _ _ -> if is_seq_t t then //this is a sequence equality; keep it () @@ -54,7 +53,7 @@ let try_unref_eq () : Tac unit = match f with | Comp (Eq (Some t)) l r -> begin match inspect t with - | Tv_Refine _ _ _ -> + | Tv_Refine _ _ -> apply_lemma (`unrefine_eq_lem); norm [] | _ -> diff --git a/examples/native_tactics/Sequences.fst.hints b/examples/native_tactics/Sequences.fst.hints index 4affcd88fe9..5341fc3558f 100644 --- a/examples/native_tactics/Sequences.fst.hints +++ b/examples/native_tactics/Sequences.fst.hints @@ -1,5 +1,5 @@ [ - "žçcò\u0011Øm´µ\u0017ü\f)D~", + "¢RAßrŽ-\u00155\u0007×ï\u00172ë", [ [ "Sequences.unrefine_eq_lem", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "526a2b775472280ceaefdfe194579ebb" + "05fa9ea793d3db45f338ebc860f8f62d" ], [ "Sequences.test", @@ -33,7 +33,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4ea1b8a7c96cf99d6c522401c83303c5" + "c1e340919becfcb0f022dcb60f028453" ], [ "Sequences.test", @@ -65,7 +65,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "83e096d1970c14477e720cf64de3264b" + "808df55ff9b6aec33d52c59139845d9b" ] ] ] \ 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 f3fbe6d430e..a11cd7aef7c 100644 --- a/examples/native_tactics/Simple.Test.fst.hints +++ b/examples/native_tactics/Simple.Test.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7ade5116543e67c175e76dfb771e6532" + "9e6ecb3173aba64ad75dee742020e658" ], [ "Simple.Test.test1", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Simple.Test.t__uu___haseq" ], 0, - "a208ac01be4ca6ba39072fc3243bc24e" + "3c54de0b7e2b631eb35039c8e791c3a4" ], [ "Simple.Test.test2", @@ -29,7 +29,7 @@ "assumption_Simple.Test.t__uu___haseq", "kinding_Simple.Test.t@tok" ], 0, - "c28f8b198b0b6f29c6782404539874e7" + "af17f7bc8587fb45f8f36e9206116a79" ], [ "Simple.Test.test3", @@ -41,7 +41,7 @@ "assumption_Simple.Test.t__uu___haseq", "kinding_Simple.Test.t@tok" ], 0, - "82520826a1cdecc3a825653376a5b4e8" + "711c1a344b5e7b3772628163fc541d2e" ], [ "Simple.Test.test4", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "a28f94295dd95a57d90afd41119d0ebf" + "94decc6855cfc2a7ef2bf9ce4cd2bce4" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Simple.fst.hints b/examples/native_tactics/Simple.fst.hints index 317fcca21f7..5f703a9c68f 100644 --- a/examples/native_tactics/Simple.fst.hints +++ b/examples/native_tactics/Simple.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "3c836a3ceb7e8cf2e1fe8fe7689057fc" + "66bd69c9f941ac2091c209657dc8814e" ], [ "Simple.poly_id", @@ -35,7 +35,7 @@ "well-founded-ordering-on-nat" ], 0, - "8aae4d14da3e3c4aa0a435adcdbbd565" + "8034687441e9a8aeb5e9d18169dcc421" ], [ "Simple.mk_n_list", @@ -50,7 +50,7 @@ "well-founded-ordering-on-nat" ], 0, - "d505f1adba66d8fa55789612886a5cb5" + "174471e87d30160fc6c7df7d7c959454" ], [ "Simple.poly_list_id", @@ -63,7 +63,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "d63eabf24bf12d2b155a31edb4a28aac" + "6b5989c3f5a12dc4d72eb22086be6809" ], [ "Simple.eq_int_list", @@ -77,7 +77,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "272e1edac56eec6507f8655d8b516f2e" + "ec1f22aba3d5378310eaf9eda2ed63b7" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/SimpleTactic.Test.fst b/examples/native_tactics/SimpleTactic.Test.fst index 9ff72bfe385..270fc9b9118 100644 --- a/examples/native_tactics/SimpleTactic.Test.fst +++ b/examples/native_tactics/SimpleTactic.Test.fst @@ -14,7 +14,7 @@ limitations under the License. *) module SimpleTactic.Test -open FStar.Tactics +open FStar.Tactics.V2 open SimpleTactic let go () = 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 33e47010275..c5504a6c9ce 100644 --- a/examples/native_tactics/SimpleTactic.Test.fst.hints +++ b/examples/native_tactics/SimpleTactic.Test.fst.hints @@ -1 +1 @@ -[ "Ø\fOŸÆ)÷Ó\"ó0M\u0018G\u001eé", [] ] \ No newline at end of file +[ "bºxš-M=Àb22«?\b˪", [] ] \ No newline at end of file diff --git a/examples/native_tactics/SimpleTactic.fst b/examples/native_tactics/SimpleTactic.fst index cd6ea671718..8ca2ee36dc6 100644 --- a/examples/native_tactics/SimpleTactic.fst +++ b/examples/native_tactics/SimpleTactic.fst @@ -14,7 +14,7 @@ limitations under the License. *) module SimpleTactic -open FStar.Tactics +open FStar.Tactics.V2 [@@ plugin] let test () = diff --git a/examples/native_tactics/SimpleTactic.fst.hints b/examples/native_tactics/SimpleTactic.fst.hints index 76f7d048e1c..43fe9705765 100644 --- a/examples/native_tactics/SimpleTactic.fst.hints +++ b/examples/native_tactics/SimpleTactic.fst.hints @@ -1 +1 @@ -[ "ˆ\u001a¿+\u0015p½É\u000bú\u007fÞOn„", [] ] \ No newline at end of file +[ "­R\u0006*Ù=<â\u0019½½jš)¶Ï", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Simplifier.fst b/examples/native_tactics/Simplifier.fst index 5b7919fd5ad..e5fc02ebe75 100644 --- a/examples/native_tactics/Simplifier.fst +++ b/examples/native_tactics/Simplifier.fst @@ -19,7 +19,7 @@ open FStar.TSet open FStar.Heap open FStar.Preorder open FStar.ST -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Simplifier let goal_is_true () : Tac unit = diff --git a/examples/native_tactics/Simplifier.fst.hints b/examples/native_tactics/Simplifier.fst.hints index e5abd425dcd..9c77c894d4c 100644 --- a/examples/native_tactics/Simplifier.fst.hints +++ b/examples/native_tactics/Simplifier.fst.hints @@ -1,5 +1,5 @@ [ - "Uþ\u0001<\u000bI\u0012²O+ô\u0004•\u001eÕ¦", + "+áøâi¾çæjP\u0002QD¾qá", [ [ "Simplifier.test", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d8a1c98f0817652e5a5159bf84b6625e" + "12ad961121446413071208e416da88d2" ], [ "Simplifier.nat_addr_of", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "29e5f98bdba95ae3d1ae2d3bde27c56e" + "2bbf7de138838ba1c5b881a514325909" ], [ "Simplifier.modifies_singleton", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "422ba273f1b1550dbd5d9232e721ed73" + "d47ca7409b867d390ebc201492791dc2" ], [ "Simplifier.op_Colon_Equals", @@ -44,7 +44,7 @@ 1, [ "@query", "equation_Simplifier.modifies_singleton" ], 0, - "557c64266ec390ebb4bc71cdcdd35f0e" + "e7a857c552330c4eec7bb1ebf675e6fb" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Splice.fst b/examples/native_tactics/Splice.fst index 90242d985e9..0663d1a8b94 100644 --- a/examples/native_tactics/Splice.fst +++ b/examples/native_tactics/Splice.fst @@ -15,7 +15,7 @@ *) module Splice -open FStar.Tactics +open FStar.Tactics.V2 let make_x_42 () : Tac decls = (* The let binds are needed due to the Tac effect *) diff --git a/examples/native_tactics/Split.Test.fst b/examples/native_tactics/Split.Test.fst index cd15dda3b68..d1f063096e9 100644 --- a/examples/native_tactics/Split.Test.fst +++ b/examples/native_tactics/Split.Test.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Split.Test -open FStar.Tactics +open FStar.Tactics.V2 open Split let test = diff --git a/examples/native_tactics/Split.Test.fst.hints b/examples/native_tactics/Split.Test.fst.hints index 30c1d58422a..7040ab16d8a 100644 --- a/examples/native_tactics/Split.Test.fst.hints +++ b/examples/native_tactics/Split.Test.fst.hints @@ -1 +1 @@ -[ "¶Šý+–pz§¤\fSP‹", [] ] \ No newline at end of file +[ "Ï\u001cèÂœÛÉw\u0007/TR‚áÓa", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Split.fst b/examples/native_tactics/Split.fst index 66efdb0d0e0..b8e12012e46 100644 --- a/examples/native_tactics/Split.fst +++ b/examples/native_tactics/Split.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Split -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Reflection.Types private val split_lem : (#a:Type) -> (#b:Type) -> diff --git a/examples/native_tactics/Split.fst.hints b/examples/native_tactics/Split.fst.hints index 465fa55c422..0c6ae811bb1 100644 --- a/examples/native_tactics/Split.fst.hints +++ b/examples/native_tactics/Split.fst.hints @@ -1,5 +1,5 @@ [ - "$Áƒ¨¦å¥À\u0018%ð\u001dþó\u0002¤", + "Q5oþ‰\bW¬ X=ó:™\u0007€", [ [ "Split.split_lem", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "686b2734728e56c6aa1c5ec29fef8542" + "d74ad423041658296272bae3f5a5f538" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Syntax.fst b/examples/native_tactics/Syntax.fst index f8929163e2e..8458562df29 100644 --- a/examples/native_tactics/Syntax.fst +++ b/examples/native_tactics/Syntax.fst @@ -15,7 +15,7 @@ *) module Syntax -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Reflection.Arith let quote_sanity_check = @@ -107,7 +107,7 @@ let _ = assert True print "But that's a known issue..."; ()) -open FStar.Tactics +open FStar.Tactics.V2 let arith_test1 = assert True diff --git a/examples/native_tactics/Synthesis.fst b/examples/native_tactics/Synthesis.fst index b1efddec8af..a86fa72fbf5 100644 --- a/examples/native_tactics/Synthesis.fst +++ b/examples/native_tactics/Synthesis.fst @@ -15,7 +15,7 @@ *) module Synthesis -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let rec fib (n : int) : Tac unit = diff --git a/examples/native_tactics/Trace.fst b/examples/native_tactics/Trace.fst index 0f68217887e..129ea004d9b 100644 --- a/examples/native_tactics/Trace.fst +++ b/examples/native_tactics/Trace.fst @@ -49,7 +49,7 @@ they do not have to be recursive, but they do. *) * is also tail-recursive (and the trace is "backwards"). *) -open FStar.Tactics +open FStar.Tactics.V2 type mynat = | Z @@ -132,7 +132,7 @@ let instrument (f : 'a) : Tac unit = if length all_args = 0 then fail "Function has no arguments?"; let real, trace_arg = cutlast all_args in - let real = map (fun b -> pack (Tv_Var (bv_of_binder b))) real in + let real = map (fun b -> pack (Tv_Var (binding_to_namedv b))) real in if length real > 8 then fail "Too many arguments to instrument function"; assert (length real <= 8); @@ -140,7 +140,7 @@ let instrument (f : 'a) : Tac unit = orig_name = n; ins_name = n'; args = real; - trace_arg = pack (Tv_Var (bv_of_binder trace_arg)) + trace_arg = pack (Tv_Var (binding_to_namedv trace_arg)) } in (* Apply the function to the arguments and unfold it. This will only * unfold it once, so recursive calls are present *) diff --git a/examples/native_tactics/Tutorial.fst b/examples/native_tactics/Tutorial.fst index 07f905d8edd..0d7594ca39b 100644 --- a/examples/native_tactics/Tutorial.fst +++ b/examples/native_tactics/Tutorial.fst @@ -15,7 +15,7 @@ *) module Tutorial -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List (* TODO: explanations needs to be updated for direct-style *) diff --git a/examples/native_tactics/Tutorial.fst.hints b/examples/native_tactics/Tutorial.fst.hints index a5c8cf6a750..9844eafcddb 100644 --- a/examples/native_tactics/Tutorial.fst.hints +++ b/examples/native_tactics/Tutorial.fst.hints @@ -1,5 +1,5 @@ [ - "êm\u001cŠôu\u0017\r»\u0010&4(M©X", + "–G€M†\u000f€Y\u001døkþõ\u0015ÿà", [ [ "Tutorial.ex3", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b450975297e5fe9e6e99412f59dfda6" + "35048ac5bfcbe627107a40ca4a8fc99b" ], [ "Tutorial.ex3'", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c00bfc30e43c20af2c1cc05646201b9e" + "e4d5739149a2fab14f2f825b9fbb1f8a" ], [ "Tutorial.ex4", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8f40537d36ded4a9e3af393c2fb348b3" + "7466445d1f6ad34207ec3599a4ff0501" ], [ "Tutorial.ex4", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d3076a19f88d5c831d316bfe37efac04" + "0f7ec19dd4d345de48f1f2ef565c3d41" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Unify.fst b/examples/native_tactics/Unify.fst index 077387dd363..9260246a4be 100644 --- a/examples/native_tactics/Unify.fst +++ b/examples/native_tactics/Unify.fst @@ -15,7 +15,7 @@ *) module Unify -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let tau = diff --git a/examples/native_tactics/Unify.fst.hints b/examples/native_tactics/Unify.fst.hints index c70eca46b83..67bcfb86947 100644 --- a/examples/native_tactics/Unify.fst.hints +++ b/examples/native_tactics/Unify.fst.hints @@ -1,5 +1,5 @@ [ - ",“iD–cÃìº/ã½Ä\u0013—", + "Q–\u000fÃ\u0017g¶úp\u0003n\fÓ‘\u001ch", [ [ "Unify.uu___10", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Unify.h" ], 0, - "a90ae68422453990bf7e5a69c41fab0e" + "e15077592acd101f76815801e1e4c450" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/UnitTests.Test.fst b/examples/native_tactics/UnitTests.Test.fst index 4c0bd4ea82c..b102b3f323a 100644 --- a/examples/native_tactics/UnitTests.Test.fst +++ b/examples/native_tactics/UnitTests.Test.fst @@ -15,7 +15,7 @@ *) module UnitTests.Test -open FStar.Tactics +open FStar.Tactics.V2 open UnitTests 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 451883461e9..8aa7d22bba7 100644 --- a/examples/native_tactics/UnitTests.Test.fst.hints +++ b/examples/native_tactics/UnitTests.Test.fst.hints @@ -1 +1 @@ -[ "M³d×µZx\u007faQÏÅcÈýM", [] ] \ No newline at end of file +[ "…ðx;С\u001aÒsôh\u0012›‚ó¿", [] ] \ No newline at end of file diff --git a/examples/native_tactics/UnitTests.fst b/examples/native_tactics/UnitTests.fst index 128415a7004..d0059cab153 100644 --- a/examples/native_tactics/UnitTests.fst +++ b/examples/native_tactics/UnitTests.fst @@ -15,7 +15,7 @@ *) module UnitTests -open FStar.Tactics +open FStar.Tactics.V2 [@@plugin] let testnat (n:nat) : Tac nat = 42 diff --git a/examples/native_tactics/UnitTests.fst.hints b/examples/native_tactics/UnitTests.fst.hints index 590b5fc68da..7b2c3e63ef2 100644 --- a/examples/native_tactics/UnitTests.fst.hints +++ b/examples/native_tactics/UnitTests.fst.hints @@ -1 +1 @@ -[ "·P|Ѧxu¤ú(>¹2À‡$", [] ] \ No newline at end of file +[ "Ht™ºQ¯pŸ\u0010¨2ì\u001a»i", [] ] \ 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 bb6b2c9e027..019667b300c 100644 --- a/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst +++ b/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst @@ -15,7 +15,7 @@ *) module X64.Poly1305.Bitvectors_i open FStar.BV -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Derived open BV open FStar.Mul diff --git a/examples/old/csl/Examples.fst b/examples/old/csl/Examples.fst index 3f2f4a9d38f..170a0f7512e 100644 --- a/examples/old/csl/Examples.fst +++ b/examples/old/csl/Examples.fst @@ -15,7 +15,7 @@ *) module Examples -open FStar.Tactics +open FStar.Tactics.V2 open FStar.SL.Heap open Lang open SL.Tactics diff --git a/examples/old/csl/SL.AutoTactic.fst b/examples/old/csl/SL.AutoTactic.fst index 93d406b1579..dee33bd8ff7 100644 --- a/examples/old/csl/SL.AutoTactic.fst +++ b/examples/old/csl/SL.AutoTactic.fst @@ -16,12 +16,12 @@ module SL.AutoTactic open FStar.Algebra.CommMonoid -open FStar.Tactics -module T = FStar.Tactics +open FStar.Tactics.V2 +module T = FStar.Tactics.V2 open FStar.Tactics.PatternMatching open FStar.Tactics.CanonCommMonoid -open FStar.Reflection +open FStar.Reflection.V2 open FStar.List open SL.Base @@ -255,7 +255,7 @@ let destruct_and (b:binder) : Tac (binder * binder) = let canon_binder_mem_eq (b:binder) : Tac unit = ddump "canon_binder_mem_eq before"; - norm_binder_type [delta_only [`%mem_eq]] b; + norm_binding_type [delta_only [`%mem_eq]] b; binder_retype b; focus (fun () -> apply_lemma (`__lem_eq_sides); @@ -609,7 +609,7 @@ let prelude' () : Tac unit = //now we are at the small footprint style wp //we should full norm it, so that we can get our hands on the m0 == ..., i.e. the footprint of the command let user_annot = implies_intro() in - norm_binder_type [primops; iota; delta; zeta] user_annot; + norm_binding_type [primops; iota; delta; zeta] user_annot; and_elim (binder_to_term user_annot); clear user_annot; diff --git a/examples/old/csl/SL.ExamplesLocks.fst b/examples/old/csl/SL.ExamplesLocks.fst index e1727279d3b..d5f0b208be8 100644 --- a/examples/old/csl/SL.ExamplesLocks.fst +++ b/examples/old/csl/SL.ExamplesLocks.fst @@ -70,7 +70,7 @@ let test11 () : ST unit (fun p m -> m == emp /\ p () emp) [] by (sl_auto ()) = let non_neg_inv (r:ref int) : memory -> Type0 = fun m -> exists v. v >= 0 /\ mem_eq (m == r |> v) -open FStar.Tactics +open FStar.Tactics.V2 let take_and_incr (r:ref int) (l : lock [ii r] (fun m -> non_neg_inv r m)) : ST unit (fun p m -> m == emp /\ p () emp) [] by (sl_auto ()) = acquire l; diff --git a/examples/old/csl/SL.Tactics.fst b/examples/old/csl/SL.Tactics.fst index d8cc00f6615..7b20a805777 100644 --- a/examples/old/csl/SL.Tactics.fst +++ b/examples/old/csl/SL.Tactics.fst @@ -17,7 +17,7 @@ module SL.Tactics open FStar.SL.Heap open Lang -open FStar.Tactics +open FStar.Tactics.V2 (* * Separation logic tactics for manipulating wps of the deeply embedded languages of Lang diff --git a/examples/old/seplogic/Examples.fst b/examples/old/seplogic/Examples.fst index d8ecf892cb8..8b4e0911793 100644 --- a/examples/old/seplogic/Examples.fst +++ b/examples/old/seplogic/Examples.fst @@ -15,7 +15,7 @@ *) module Examples -open FStar.Tactics +open FStar.Tactics.V2 open FStar.SL.Heap open Lang open SL.Tactics diff --git a/examples/old/seplogic/SL.Examples.fst b/examples/old/seplogic/SL.Examples.fst index 1663d96e7c6..2d5eb892dbc 100644 --- a/examples/old/seplogic/SL.Examples.fst +++ b/examples/old/seplogic/SL.Examples.fst @@ -87,7 +87,7 @@ val alloc (#a:Type) (v:a) (*** End effect definition ***) -open FStar.Tactics +open FStar.Tactics.V2 (*** command specific lemmas ***) diff --git a/examples/old/seplogic/SL.ExamplesAuto.fst b/examples/old/seplogic/SL.ExamplesAuto.fst index a705a310e4a..e9bda28e942 100644 --- a/examples/old/seplogic/SL.ExamplesAuto.fst +++ b/examples/old/seplogic/SL.ExamplesAuto.fst @@ -21,10 +21,10 @@ module SLHeap = SL.Heap open SL.Heap open SL.Effect open FStar.Algebra.CommMonoid -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.PatternMatching open FStar.Tactics.CanonCommMonoid -open FStar.Reflection +open FStar.Reflection.V2 open FStar.List // --using_facts_from '* -FStar.Tactics -FStar.Reflection' @@ -395,7 +395,7 @@ let prelude' () : Tac unit = //now we are at the small footprint style wp //we should full norm it, so that we can get our hands on the m0 == ..., i.e. the footprint of the command let user_annot = implies_intro() in - norm_binder_type [primops; iota; delta; zeta] user_annot; + norm_binding_type [primops; iota; delta; zeta] user_annot; and_elim (binder_to_term user_annot); clear user_annot; diff --git a/examples/old/seplogic/SL.Tactics.fst b/examples/old/seplogic/SL.Tactics.fst index a25285d55d6..b1e9492dc30 100644 --- a/examples/old/seplogic/SL.Tactics.fst +++ b/examples/old/seplogic/SL.Tactics.fst @@ -17,7 +17,7 @@ module SL.Tactics open FStar.SL.Heap open Lang -open FStar.Tactics +open FStar.Tactics.V2 (* * Separation logic tactics for manipulating wps of the deeply embedded languages of Lang diff --git a/examples/oplss2021/OPLSS2021.Basic.fst.hints b/examples/oplss2021/OPLSS2021.Basic.fst.hints index 6d7e710552e..ae3a066adf6 100644 --- a/examples/oplss2021/OPLSS2021.Basic.fst.hints +++ b/examples/oplss2021/OPLSS2021.Basic.fst.hints @@ -20,7 +20,7 @@ "well-founded-ordering-on-nat" ], 0, - "c5ae08856baa6f76289616769c4708cf" + "d873bd321faeeeedcd1a39d903838586" ], [ "OPLSS2021.Basic.factorial_increasing", @@ -46,7 +46,7 @@ "typing_OPLSS2021.Basic.factorial", "well-founded-ordering-on-nat" ], 0, - "c623a2984cb5dd9d67cf89f32b2cdd72" + "92be3db86a22cf7f6c39ed406cd4b17e" ], [ "OPLSS2021.Basic.factorial_increasing_lemma", @@ -72,7 +72,7 @@ "typing_OPLSS2021.Basic.factorial", "well-founded-ordering-on-nat" ], 0, - "abdf10fecaf889f4ca2efb66be44ed9d" + "0c0171e22aac8a2c71afcbb6114c2890" ], [ "OPLSS2021.Basic.factorial_increasing_lemma'", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1ce756487a7346a6a097f17d76ccd2bb" + "926f45e65b8ff06d1767751bdd55affb" ], [ "OPLSS2021.Basic.factorial_increasing_lemma'", @@ -116,7 +116,7 @@ "typing_OPLSS2021.Basic.factorial", "well-founded-ordering-on-nat" ], 0, - "5361974fde3b9cbd52553abef487dae3" + "aa4b16bae5f0758a12aefc4e601a611a" ], [ "OPLSS2021.Basic.map", @@ -131,7 +131,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "98e1c8385b79ed364307512972fedddc" + "53950873376fdf43a8db76e6f69cea32" ], [ "OPLSS2021.Basic.test0", @@ -160,7 +160,7 @@ "typing_Tm_abs_707b033e031887e24c80bb7901425a5f" ], 0, - "a5989b91319e74ae1264f77ed3bbb6b2" + "f1a3c005820bf2cb245abc116f71fc91" ], [ "OPLSS2021.Basic.test1", @@ -169,7 +169,7 @@ 1, [ "@query" ], 0, - "9b516428e49516e6844104160e32b077" + "c65d80dbd0e8ce2c3607ca67c34f6832" ], [ "OPLSS2021.Basic.string_or_int", @@ -178,7 +178,7 @@ 1, [ "@query", "int_typing", "string_typing" ], 0, - "3c4c08feebd058f8bc06a9d52951a0a3" + "8f9861e9dcdff89df2b1f47a0a49b83e" ], [ "OPLSS2021.Basic.msg", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "0adef0711471a35e84676667814b047c" + "ab36041cc1ed679fa21b5ca8554a2bb9" ], [ "OPLSS2021.Basic.msg'", @@ -196,7 +196,7 @@ 1, [ "@query" ], 0, - "caa44e42e901c507c12afbd878ea6fcc" + "b76031a3cd82fd324f0b591296668e13" ], [ "OPLSS2021.Basic.vector", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_4904e188b491b2acdc826e9472665bc0" ], 0, - "7c6bbe9df726233a6ef8729bfb78c55d" + "ab4675e6dc1721be77877dbff1d36de8" ], [ "OPLSS2021.Basic.vector", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_4904e188b491b2acdc826e9472665bc0" ], 0, - "8745189ffa5bd9b93d46b6d3fcf4f7f6" + "b034f970418a66f1f86f0da3d5b0ec5d" ], [ "OPLSS2021.Basic.__proj__VCons__item__hd", @@ -235,7 +235,7 @@ "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" ], 0, - "ec99e7b6d865cacac8711f797b1f282e" + "3ba93c33be2dfe71c16c15218b2b2564" ], [ "OPLSS2021.Basic.__proj__VCons__item__n", @@ -247,7 +247,7 @@ "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" ], 0, - "2e929201a050d91d6b38777f223a4f34" + "f92b1635c66e14c7242b0aad3a449cb6" ], [ "OPLSS2021.Basic.__proj__VCons__item__tl", @@ -259,7 +259,7 @@ "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" ], 0, - "d95beb04dce130f7d96bbcdc778288cc" + "46a53544616c4cf8b443a029d7db4620" ], [ "OPLSS2021.Basic.head'", @@ -273,7 +273,7 @@ "refinement_interpretation_Tm_refine_890c02a0912261dc6c18398823d22009" ], 0, - "f279624d7bfd12aab52fe95ebeb5065c" + "13c8a1be366d86698e2ba1bc9cf92e19" ], [ "OPLSS2021.Basic.head''", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" ], 0, - "ff78026213458a082f02666a25daca32" + "17473b394ed3f54189548a276c299ba4" ], [ "OPLSS2021.Basic.head", @@ -301,7 +301,7 @@ "refinement_interpretation_Tm_refine_8672035a7446d20501a415fa894fde88" ], 0, - "7c17435602a473737c6e1df6734eac36" + "2f2f799cb87815c1f317501afe959b80" ], [ "OPLSS2021.Basic.nth", @@ -327,7 +327,7 @@ "well-founded-ordering-on-nat" ], 0, - "091b28b0b50a733cdbbb43eae01e442b" + "e124013d0d218fa2ce1f82841d8d0f8f" ], [ "OPLSS2021.Basic.append", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_4904e188b491b2acdc826e9472665bc0" ], 0, - "bd9533e43ce6a7feb06701b19383f33e" + "9fef471dbde03a3d1c1ad9af0c1ce158" ], [ "OPLSS2021.Basic.append", @@ -361,7 +361,7 @@ "well-founded-ordering-on-nat" ], 0, - "42dcac3232c82ae081d2f33bc1da8da8" + "4badade04129c753508454e9a5bdabdd" ], [ "OPLSS2021.Basic.reverse", @@ -383,7 +383,7 @@ "well-founded-ordering-on-nat" ], 0, - "60bddbd8cea3ea165b7cb2d480cee3b3" + "eecff9a9935b5d378600ded1f003e515" ], [ "OPLSS2021.Basic.map_vec", @@ -405,7 +405,7 @@ "well-founded-ordering-on-nat" ], 0, - "d7c1e1d6e94f910c0263ffdf3277d38e" + "8deea14888dbbe4c82401390b00703d5" ], [ "OPLSS2021.Basic.fold_right", @@ -426,7 +426,7 @@ "well-founded-ordering-on-nat" ], 0, - "7147ef11eea455f02586546b0ccb4d0a" + "86d55d15329b7a5bfa5bd4ab7b8f8ed8" ], [ "OPLSS2021.Basic.length", @@ -443,7 +443,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2591db3f3e41dd6f5ac91067ef968d8d" + "c6696470a3b33b3b2b19c4c05da6a626" ], [ "OPLSS2021.Basic.llist", @@ -457,7 +457,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ff8eb82b73e36fc5530a04aed1f32e5" + "da7e5c14819198638d90bd62b2e150c8" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.BasicState.fst.hints b/examples/oplss2021/OPLSS2021.BasicState.fst.hints index 0d879919792..e6976a15b0c 100644 --- a/examples/oplss2021/OPLSS2021.BasicState.fst.hints +++ b/examples/oplss2021/OPLSS2021.BasicState.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "0f8797a29fb34f610254173a7cba441d" + "f1fce882e49d4a19ba408b8656632a1a" ], [ "OPLSS2021.BasicState.right_unit", @@ -36,7 +36,7 @@ "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221" ], 0, - "96e7a3ddea848950a159a03921d88bfc" + "44fdc4f19b8481a5f9f939f60adea188" ], [ "OPLSS2021.BasicState.assoc", @@ -50,7 +50,7 @@ "interpretation_Tm_abs_e92ddfe3fe3bd3ce88f858edd91a0f1a" ], 0, - "2b947584e76a89b9554f198160c0a3ed" + "420a0e671fee865d8f1e71853f209a5f" ], [ "OPLSS2021.BasicState.lift_pure_st", @@ -59,16 +59,16 @@ 1, [ "@query" ], 0, - "fb5f94b32e67fbab2908843334c84d7f" + "e6b4f097bb3a25548a691ab2a15b50cf" ], [ - "OPLSS2021.BasicState.4027", + "OPLSS2021.BasicState.4035", 1, 2, 1, [ "@query" ], 0, - "3de91939064401328d810309dd5e37f5" + "49d7b191717cca7ac341b76c40700d8d" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Demo1.fst.hints b/examples/oplss2021/OPLSS2021.Demo1.fst.hints index c7eeeaba647..dd76978a329 100644 --- a/examples/oplss2021/OPLSS2021.Demo1.fst.hints +++ b/examples/oplss2021/OPLSS2021.Demo1.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5fb5c639c01dd90bec1509c97dfb30ac" + "b837931c36daa86610818bd5043e38cd" ], [ "OPLSS2021.Demo1.vector", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a854a519817bb092592a51bd695ac574" + "c932fa6127df8045552aef9d4de06da1" ], [ "OPLSS2021.Demo1.__proj__VCons__item__hd", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" ], 0, - "6c1b41c31cd466a762850e7e44378a62" + "75925a11add560b7e6882e7d0c52accb" ], [ "OPLSS2021.Demo1.__proj__VCons__item__n", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" ], 0, - "58ab39f22683a5ea155c76c619365cdf" + "ff42e9f2bb63d7e7749b37fd794d900e" ], [ "OPLSS2021.Demo1.__proj__VCons__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" ], 0, - "53365208f300adf392da7265015deabd" + "a3cd4b6fc969ce6f07fa2c049d003a4c" ], [ "OPLSS2021.Demo1.head'", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_48a5e5a94fc23eb2b0f97db27e5248ee" ], 0, - "ac8e0b7fb1e5bf6bf36524ae9b06e63d" + "f8b40aaf036c6f8224009dd36d0d221b" ], [ "OPLSS2021.Demo1.head", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" ], 0, - "19b8ab498fa1e47e209db3f9a02e50a4" + "71bddf74e32c91201f88fe7abfc802d9" ], [ "OPLSS2021.Demo1.nth", @@ -114,7 +114,7 @@ "well-founded-ordering-on-nat" ], 0, - "39bf38b8c8066a5904db958b9f5089d5" + "f9aa8332ce68261703bb3a1d7fab27a6" ], [ "OPLSS2021.Demo1.append", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "daf997342d763bbe13d41fe24102758e" + "0f7f55aabdd0451109e360bd5374f3f2" ], [ "OPLSS2021.Demo1.append", @@ -149,7 +149,7 @@ "well-founded-ordering-on-nat" ], 0, - "f9ce2450a1e87e5610d5f525d0f89db3" + "87e9e14337870104f12779de5946b71b" ], [ "OPLSS2021.Demo1.reverse", @@ -171,7 +171,7 @@ "well-founded-ordering-on-nat" ], 0, - "75b925b688c2a4e0ea4fe294a6a4ec1a" + "33b5f089c3b11c32fddc19fb31c9c62a" ], [ "OPLSS2021.Demo1.map", @@ -193,7 +193,7 @@ "well-founded-ordering-on-nat" ], 0, - "cd81321544ff4f18a13f0bea32d903fb" + "53b2c22f81d44eb6290d9b80ce415601" ], [ "OPLSS2021.Demo1.fold_right", @@ -214,7 +214,7 @@ "well-founded-ordering-on-nat" ], 0, - "28ad5312e82bf652780787f263862108" + "e927d63fb4b6d50017d0dce84bad2c8d" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints b/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints index 7785c5d3f89..d9685ff5cfa 100644 --- a/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints +++ b/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints @@ -1,19 +1,6 @@ [ "ñ\u0012ghíXi\u0011”¬SÑolû—", [ - [ - "OPLSS2021.DijkstraMonads.st_monotonic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "faa9b3c2c20de7ca109ba882b2348f81" - ], [ "OPLSS2021.DijkstraMonads.return_wp", 1, @@ -24,7 +11,7 @@ "interpretation_Tm_abs_a53e7fdfe19e2acb9ae53a9cdca91170" ], 0, - "7da29b28cc518816a6c40623ede40e3b" + "013d9f42c2d1f3de98e9b271296c3c27" ], [ "OPLSS2021.DijkstraMonads.bind_wp", @@ -44,7 +31,7 @@ "typing_Tm_abs_811e8b5e3738987d804ef8609b0e9eff" ], 0, - "93063ac80fa60b51281a41192d18900a" + "4a60151e3660bd392f1168615371dfd4" ], [ "OPLSS2021.DijkstraMonads.repr", @@ -64,7 +51,7 @@ "true_interp" ], 0, - "116fa66c72d99c9ca3d666411f851d93" + "2fd7fe37055ed8a944d87c2ec56259f1" ], [ "OPLSS2021.DijkstraMonads.return", @@ -73,7 +60,7 @@ 1, [ "@query" ], 0, - "27da87d2c1711d8af245663781bd6dfe" + "0217e22d8ae4abacacf987ac322c4d24" ], [ "OPLSS2021.DijkstraMonads.bind", @@ -102,7 +89,7 @@ "typing_Tm_abs_ade907d0cf068369deec49e03ec454f6" ], 0, - "346da60cc85c414a6a8e9e862f9a235c" + "4244e72d2ce6d9638905734e590fa434" ], [ "OPLSS2021.DijkstraMonads.subcomp", @@ -120,7 +107,7 @@ "true_interp" ], 0, - "bf6b03e58b2e34b8b464f7b0f2ab30dc" + "653500bcf96ee42640c5a3040f9dd25b" ], [ "OPLSS2021.DijkstraMonads.ST", @@ -129,7 +116,7 @@ 1, [ "@query" ], 0, - "5a41b62b91858c7cd17b8ae67ad5d771" + "3c9498b04dd01bbdfa7a3f13db8119ef" ], [ "OPLSS2021.DijkstraMonads.ST", @@ -138,7 +125,7 @@ 1, [ "@query", "equation_OPLSS2021.DijkstraMonads.stronger" ], 0, - "5ddade90bc9a5b1415edc0f88486930a" + "201c9a8d3d34fe7b0b0428a51c456e42" ], [ "OPLSS2021.DijkstraMonads.ST", @@ -147,7 +134,7 @@ 1, [ "@query", "equation_OPLSS2021.DijkstraMonads.stronger" ], 0, - "ad222537e3d4fcdc89179e154a8bbdf6" + "5c46c345dd247f390bd700ea979d3799" ], [ "OPLSS2021.DijkstraMonads.lift_wp", @@ -167,7 +154,7 @@ "typing_Tm_abs_963d181e5476598451a0d753ab150aec" ], 0, - "35d3865e26f3c003febe9f1b40dcb273" + "d87466cb200bc384d61e4ee430649434" ], [ "OPLSS2021.DijkstraMonads.lift_pure_st", @@ -188,7 +175,7 @@ "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" ], 0, - "e459bbc5f061a4bd5ec6e5daa8469215" + "d8cbfc9a2dbe8866d2a31cd1c84d2a12" ], [ "OPLSS2021.DijkstraMonads.get", @@ -200,7 +187,7 @@ "interpretation_Tm_abs_20a7238fd07f9d31c2887ac37e91b7a4" ], 0, - "4698a391dbbf4c8c2c108fcfd997a1ac" + "911149dca26b9b560c9e166d27f3d765" ], [ "OPLSS2021.DijkstraMonads.put", @@ -213,7 +200,7 @@ "unit_typing" ], 0, - "1fa1d678440e3b53c646ee3476afc92f" + "ea37abfe1bae4362752fad5c9f3b2b0b" ], [ "OPLSS2021.DijkstraMonads.as_wp", @@ -226,7 +213,7 @@ "l_and-interp", "l_quant_interp_617aeba1a2c47db2d75435e2f7ebe528" ], 0, - "acee5a673e7add1cc475d4f744dee599" + "a59d462a2b43a6db7dffde44f8c93858" ], [ "OPLSS2021.DijkstraMonads.double", @@ -238,7 +225,7 @@ "interpretation_Tm_abs_5a9b2eb4aa1a06829eeb53225933a1e3" ], 0, - "d0ffb49de04641b644b00ff75ec99dd9" + "e22284d5e972d257ab91ed4cc731b9d0" ], [ "OPLSS2021.DijkstraMonads.double", @@ -252,7 +239,7 @@ "unit_typing" ], 0, - "84ccd648fd8f3b46d9511d8d50e7d7f2" + "8cbcf145112583ff9c606bb57d8c1579" ], [ "OPLSS2021.DijkstraMonads.double", @@ -266,7 +253,7 @@ "unit_typing" ], 0, - "001a8d5c60d9bf88c807fcd0c21ff3c0" + "cd20c5e4ddc046d257fb54b391077e70" ], [ "OPLSS2021.DijkstraMonads.double", @@ -275,43 +262,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "equality_tok_Prims.T@tok", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.squash", - "equation_Prims.subtype_of", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_tok_Prims.T@tok" - ], - 0, - "249679b4a7e65b0a51c41d02a804c151" - ], - [ - "OPLSS2021.DijkstraMonads.double", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", "eq2-interp", - "equality_tok_Prims.T@tok", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", "equation_OPLSS2021.DijkstraMonads.as_wp", - "equation_OPLSS2021.DijkstraMonads.stronger", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.squash", - "equation_Prims.subtype_of", + "equation_OPLSS2021.DijkstraMonads.stronger", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "interpretation_Tm_abs_1096d60977699e9e958fbb215c93823f", "interpretation_Tm_abs_6592360d441032b091f63245dfa901b2", "interpretation_Tm_abs_85c156ab626dae4553c445dfaab6e79a", "l_and-interp", "l_quant_interp_617aeba1a2c47db2d75435e2f7ebe528", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_tok_Prims.T@tok", "unit_typing" + "unit_typing" ], 0, - "fd7d4422932ad3512e5224ef8cdc7d3c" + "34ba9375cb8fa33411d070d72358f69d" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Factorial.fst.hints b/examples/oplss2021/OPLSS2021.Factorial.fst.hints index e52bdbf7802..971bd91a869 100644 --- a/examples/oplss2021/OPLSS2021.Factorial.fst.hints +++ b/examples/oplss2021/OPLSS2021.Factorial.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "f7352a8454fcc4f4739c1ba16499d1e2" + "88e9054121251b2487df4ff786cffbbd" ], [ "OPLSS2021.Factorial.factorial_increasing", @@ -37,12 +37,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69807b14883b3cd174e4beebdbaf3f35", + "token_correspondence_OPLSS2021.Factorial.factorial.fuel_instrumented", "typing_OPLSS2021.Factorial.factorial", "well-founded-ordering-on-nat" ], 0, - "cc71a142b8442b914b98d2089232afe6" + "53e583fd18f1b11553e378f1bca74b89" ], [ "OPLSS2021.Factorial.factorial_increasing_lemma", @@ -66,7 +66,7 @@ "well-founded-ordering-on-nat" ], 0, - "5bb553949d2e4b5f5ba099cd45c7a2eb" + "b597388e9a89e9cfefe5e1aefb08ddfc" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.IFC.fst.hints b/examples/oplss2021/OPLSS2021.IFC.fst.hints index 4d36de55a9e..d2ef8c2cdca 100644 --- a/examples/oplss2021/OPLSS2021.IFC.fst.hints +++ b/examples/oplss2021/OPLSS2021.IFC.fst.hints @@ -16,7 +16,7 @@ "typing_OPLSS2021.IFC.loc" ], 0, - "feeff8b2982bd5d6ce3f603bcaaa7623" + "676a9dcd6f57059e10e23be33669cfcd" ], [ "OPLSS2021.IFC.iread", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d" ], 0, - "7837425b325479264583490a4e9da106" + "7e4126c25c551ade6d5e3d8209b560b3" ], [ "OPLSS2021.IFC.iwrite", @@ -81,7 +81,7 @@ "typing_FStar.Map.upd", "typing_OPLSS2021.IFC.havoc" ], 0, - "10aeec171947a3af2484346c0cc2a344" + "1cb5cdaf1a47dd303dbcb07c0018d957" ], [ "OPLSS2021.IFC.return", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d" ], 0, - "da59bdc8d38ca2c80346aca811bbba6b" + "77e44c12fcb3c5728ad8640d7d60ad52" ], [ "OPLSS2021.IFC.flows_equiv_refl", @@ -123,7 +123,7 @@ "equation_OPLSS2021.IFC.flows_included_in" ], 0, - "3c037edd42e592e2fc06be852b91b56a" + "97d4f16b28c3b4764aee3374fe53e9a4" ], [ "OPLSS2021.IFC.flows_equiv_trans", @@ -142,7 +142,7 @@ "function_token_typing_OPLSS2021.IFC.flow", "int_inversion" ], 0, - "25034224fe286c3a3b93fcea34b62f2e" + "ebd863f01643ed78c8d73c9eddf6634b" ], [ "OPLSS2021.IFC.flows_included_in_union_distr_dest", @@ -185,7 +185,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "7fc55076bb1ac75370bf7a4787db0f50" + "70615724fda89bf116fdefd7dbe605b6" ], [ "OPLSS2021.IFC.flows_included_in_union_distr_src", @@ -269,7 +269,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "b01e3917e752f66052de007a45d264df" + "d8fe2b7d33157a0ded398b3461534a6c" ], [ "OPLSS2021.IFC.bind_comp_reads_ok", @@ -309,7 +309,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "07a6c8afe29fb5b57b12adb8b32da738" + "5215eff4f69cfe00f66acbe5cc5b3272" ], [ "OPLSS2021.IFC.bind_comp_writes_ok", @@ -335,7 +335,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "9e9b447a6823d02382c9c3b626a0b4e5" + "7a9b9a15c865b7d96f9577794498c262" ], [ "OPLSS2021.IFC.memP_append_or", @@ -365,7 +365,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "8c5f3f673213b223f52fa4673d073e20" + "246ec3f093aa1de9412cf9ee33fb6bc8" ], [ "OPLSS2021.IFC.has_flow_append", @@ -381,7 +381,7 @@ "int_inversion" ], 0, - "a0636b333847451fbb259efe3a0422c8" + "9cb6b6c71ea77d875122f333d76a0be9" ], [ "OPLSS2021.IFC.elim_has_flow_seq", @@ -435,7 +435,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "539a481c6fc20ab4bce1e5095268baba" + "f5c37798f9c0d0a6a33849b4358116af" ], [ "OPLSS2021.IFC.add_source_monotonic", @@ -489,7 +489,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "79f43a7cc2d034b8aba49ba5f11ee862" + "3ead038b9aabe85c677c3f69511864ef" ], [ "OPLSS2021.IFC.has_flow_soundness", @@ -510,7 +510,7 @@ "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada" ], 0, - "29afee57353f9e12c96200986e9ef404" + "dd1d0d64bb24296e310a7c912aa4c046" ], [ "OPLSS2021.IFC.bind_comp_no_leakage", @@ -556,7 +556,7 @@ "unit_inversion", "unit_typing" ], 0, - "7d07a47421f9757bf60d53382fdb19d6" + "e13c8187dc9a0ca329eb581a67d87381" ], [ "OPLSS2021.IFC.bind_comp_flows_ok", @@ -576,7 +576,7 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "96090e9d39b77e23150b7f3dbb8f86a5" + "3ef5e2c38d8b435472b382eb03238a9f" ], [ "OPLSS2021.IFC.triple_equiv_refl", @@ -597,7 +597,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "5837aeb3f9939a537e13f41a7bb63ecc" + "824dc9a42e8029c2619c3524fe9c8666" ], [ "OPLSS2021.IFC.add_source_bot", @@ -649,7 +649,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "fcc4114b4ec1ee7d7e4affc746362201" + "9bc9c05b5c304f096faa631ec2942c07" ], [ "OPLSS2021.IFC.left_unit", @@ -708,7 +708,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "a042c7e3bb879ca32083ca2e555ac6fc" + "3900b8c4309bfe38078171c7e8e5f081" ], [ "OPLSS2021.IFC.flows_included_append", @@ -721,7 +721,7 @@ "equation_OPLSS2021.IFC.loc", "int_inversion" ], 0, - "0719823a87836d9c47df29f61cfc7bca" + "8a772ccbccf3191ed6883ff2f0c5ba28" ], [ "OPLSS2021.IFC.flows_equiv_append", @@ -733,7 +733,7 @@ "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows_equiv" ], 0, - "3813da424ada48947089862c49559d4b" + "6bfa922a037254270c43bfd679f9eb58" ], [ "OPLSS2021.IFC.append_nil_r", @@ -750,7 +750,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "8c8671bc10787bfe29ed8d4e8f3438fd" + "c872d75dbdf4ccb35880041427b95485" ], [ "OPLSS2021.IFC.right_unit", @@ -806,7 +806,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "9e07ff5dfb4e06510f9be6bc845dff5d" + "d4a759cacf1ee0e467993f2c618cf496" ], [ "OPLSS2021.IFC.assoc_comp", @@ -850,7 +850,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "eea65412cf69c011a435c866032b4e2d" + "00d9a834783e910a47f27a24c31c81dc" ], [ "OPLSS2021.IFC.bind", @@ -876,7 +876,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "9ddf7282b7920e8eed35b1c65d006f87" + "9879f5d0b8eafd2cda1f4791977f121f" ], [ "OPLSS2021.IFC.subcomp", @@ -910,7 +910,7 @@ "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.havoc" ], 0, - "41931c8f4f0ce2ca697ceae141502894" + "d538b6ed3555f7aef92cb756fe188430" ], [ "OPLSS2021.IFC.IST", @@ -919,7 +919,7 @@ 1, [ "@query" ], 0, - "bc97a2b79323f67aeca58d6d4c61b95c" + "1f2d99fb617a70719db25508c1456504" ], [ "OPLSS2021.IFC.IST", @@ -933,7 +933,7 @@ "equation_OPLSS2021.IFC.loc" ], 0, - "389376fe60df7ad88d4dfbf19e219fb3" + "6311e498c999ad196774491224deead7" ], [ "OPLSS2021.IFC.IST", @@ -947,7 +947,7 @@ "equation_OPLSS2021.IFC.loc" ], 0, - "328f0e1f2480d41882ac2cba4221e065" + "0d33a417c88ab96b543ebfa8e78be0cd" ], [ "OPLSS2021.IFC.test", @@ -979,7 +979,7 @@ "typing_OPLSS2021.IFC.single" ], 0, - "d46fb039dabb330f1e3e12d9a9c1c79d" + "b0ff89444a85166c256f47bab9c5ee20" ], [ "OPLSS2021.IFC.test2", @@ -1041,7 +1041,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "7940d894586e0356afccea6c56aa13d1" + "07915ab165ebfb697f15bbcaed04547e" ], [ "OPLSS2021.IFC.test3", @@ -1103,7 +1103,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "0e8dde2e9e4f20936e94f451db6df298" + "b6386ca203ef481de70fc652ee9fbe22" ], [ "OPLSS2021.IFC.test3_lab", @@ -1167,7 +1167,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "a90811d06b4b6bfbf71f81694db31a2c" + "40d68439ff3b5fd2d5156b23a3007351" ], [ "OPLSS2021.IFC.test3_1", @@ -1225,7 +1225,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "2e93260f562f02864bfe7d1bd4d7da46" + "905620f4a953929be8d56eaedf267fc0" ], [ "OPLSS2021.IFC.test4", @@ -1283,7 +1283,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "4a2e60d16278c946930b4f3f971d86f6" + "e5b7e9661592cd8f4f5bbd7299497db1" ], [ "OPLSS2021.IFC.test5", @@ -1341,7 +1341,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "fe9e578d12c6cd4ff480f1044d17123d" + "d992a541af15a7085469bcff4278599e" ], [ "OPLSS2021.IFC.test6", @@ -1405,7 +1405,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "2a257ef590f88b3d6ecd3d0911a873f7" + "fe66dfbeae9db23ee71414f8f498ddc9" ], [ "OPLSS2021.IFC.test7", @@ -1468,7 +1468,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "dfaaeb3ef1ca55bc673eac3598d1002d" + "9247b86ea60254a19252cec65be23e1a" ], [ "OPLSS2021.IFC.test8", @@ -1534,7 +1534,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "354a4183c376452ee6c962aa5c3340ea" + "809f548e3b07a8d5b0871bf0458878f9" ], [ "OPLSS2021.IFC.test9", @@ -1600,7 +1600,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "5bdcba98b95c2378fbec51b4ad8f60b7" + "9f1c09d5a38741e2b68483bf155ec3e8" ], [ "OPLSS2021.IFC.test10", @@ -1631,7 +1631,7 @@ "typing_OPLSS2021.IFC.union" ], 0, - "af3624ad55a0ae90b0d7a33e5b338e3c" + "d6392fcc8ea14bb92875935b18a88c35" ], [ "OPLSS2021.IFC.test12", @@ -1691,7 +1691,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "4a99910c67f1a0880ca6685560d1fb59" + "c5978f7d11e750f5b8178e18d5dd9812" ], [ "OPLSS2021.IFC.test12_1", @@ -1751,7 +1751,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "e23088933e474068ee253eba4aa0a54d" + "394cbd9f160529ac76e28a87a885d705" ], [ "OPLSS2021.IFC.test13", @@ -1780,7 +1780,7 @@ "typing_OPLSS2021.IFC.cw1" ], 0, - "9916c215001149cd7d485937e875c31c" + "dae56c0b101c08a50dc169a4a04f95aa" ], [ "OPLSS2021.IFC.test14", @@ -1839,7 +1839,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "844e559d3c93934031e286a44b551daa" + "1a8ecfd8cdd0997a2545b51d2e858a6c" ], [ "OPLSS2021.IFC.test15", @@ -1900,7 +1900,7 @@ "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" ], 0, - "a2d7fb401b850d44261f99eacb19c1d7" + "a37ff1ae7ffa3d11ab2c87b987717d66" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints b/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints index 8c775068413..6bdaaf74f21 100644 --- a/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints +++ b/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints @@ -17,7 +17,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "85c1d534cc4bbf155544b50804649b71" + "56f0bd2acf2836a1e4ecddea59f8e3ba" ], [ "OPLSS2021.MemCpy.Deps.op_Array_Access", @@ -46,7 +46,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "a36d92561cddd3f2904920a71e894306" + "1e161f7804ce2d0050b2ceb041abb772" ], [ "OPLSS2021.MemCpy.Deps.op_Array_Assignment", @@ -79,7 +79,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "84f28d77088ff715086389645b331ed9" + "eec4772fc78e3c6ca90444b22f40250b" ], [ "OPLSS2021.MemCpy.Deps.suffix", @@ -113,7 +113,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "dd25c6269a0f041ce6671d1789b31397" + "bd29b6c2037b9f3656840aeae50dc3f5" ], [ "OPLSS2021.MemCpy.Deps.prefix_equal", @@ -130,22 +130,19 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_OPLSS2021.MemCpy.Deps.lbuffer", - "equation_OPLSS2021.MemCpy.Deps.uint32", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "equation_OPLSS2021.MemCpy.Deps.uint32", "int_inversion", + "lemma_FStar.UInt32.uv_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_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_ac2e0dfb31e34734db7b742f68fb04e2", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "12b22651632aa1b6f9e2a17f27889c00" + "eb811c08c6ae63a6f0534157e6088b21" ], [ "OPLSS2021.MemCpy.Deps.op_Plus", @@ -157,7 +154,7 @@ "refinement_interpretation_Tm_refine_eb14d9fb291c6076752fcb111d000ce7" ], 0, - "d8b6ebc987509f03da1ddb1ea7181aa0" + "621fa82904a8b0abe2f570dea612ce28" ], [ "OPLSS2021.MemCpy.Deps.op_Subtraction", @@ -169,7 +166,7 @@ "refinement_interpretation_Tm_refine_83a5537593b21e3680cd3ec2673ac4a5" ], 0, - "a037388427753a46c4cae9710e176aea" + "4ab240c6ab7f80c0d170a2a388249430" ], [ "OPLSS2021.MemCpy.Deps.malloc", @@ -189,7 +186,7 @@ "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "7b8440002d5d0966e691967ed036aff2" + "7282ff33c6031f7bd6c638702d1c22c7" ], [ "OPLSS2021.MemCpy.Deps.free", @@ -198,7 +195,7 @@ 1, [ "@query" ], 0, - "748960bb0c2f021db81261c840abc68a" + "29cdf2c9061b0582bb85ac7af9d65d31" ], [ "OPLSS2021.MemCpy.Deps.get", @@ -225,7 +222,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "6c44c64eca92e68d10c9f3e37535c2b3" + "0cbe7771b842ab96404b8d91fb29e2df" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.MemCpy.fst.hints b/examples/oplss2021/OPLSS2021.MemCpy.fst.hints index f6e8a6a4c98..f73771a2ba0 100644 --- a/examples/oplss2021/OPLSS2021.MemCpy.fst.hints +++ b/examples/oplss2021/OPLSS2021.MemCpy.fst.hints @@ -67,7 +67,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "2d8d2d51c9ddb151de72012d4b5baaed" + "dfb5f033b4c485ee2e30c949f57c8b76" ], [ "OPLSS2021.MemCpy.malloc_copy_free", @@ -158,7 +158,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "44dee821fc636af89f730fa4da75096b" + "48a9f37fb79cd469822ea7733eaecf75" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.NDS.fst.hints b/examples/oplss2021/OPLSS2021.NDS.fst.hints index 769440a21e4..203ea028417 100644 --- a/examples/oplss2021/OPLSS2021.NDS.fst.hints +++ b/examples/oplss2021/OPLSS2021.NDS.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "68ae092bf980328f48c29c92126e991b" + "1b7b712eba23ebff2cfd450d4b7f7a50" ], [ "OPLSS2021.NDS.lift_pure_nds", @@ -21,16 +21,16 @@ 1, [ "@query" ], 0, - "6a11df1360fd56acb3abaeeb446075a0" + "cfe4a7a478c548698716bb0ac57795ec" ], [ - "OPLSS2021.NDS.3053", + "OPLSS2021.NDS.3065", 1, 2, 1, [ "@query" ], 0, - "9911c442057e6324b5aa170623cbc191" + "93c8bff4d06c26127ae437ccfa101b4f" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ParDiv.fst.hints b/examples/oplss2021/OPLSS2021.ParDiv.fst.hints index 23b8bd0e22f..e859e0451a0 100644 --- a/examples/oplss2021/OPLSS2021.ParDiv.fst.hints +++ b/examples/oplss2021/OPLSS2021.ParDiv.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_23f8a8b23cadf6c8c4a381159cc716d0" ], 0, - "b7498cd49b4a40e3a60016538ffd48cb" + "a8b91b38910db19ab3a960069bf4e9db" ], [ "OPLSS2021.ParDiv.__proj__Ret__item__post", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_23f8a8b23cadf6c8c4a381159cc716d0" ], 0, - "a585f0b4e26334456cc5af94e3bb5267" + "71f7394166949587a32ca76247a0a7cf" ], [ "OPLSS2021.ParDiv.__proj__Ret__item__x", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_23f8a8b23cadf6c8c4a381159cc716d0" ], 0, - "864653e26ed352181c52a7b284594e29" + "ccc7cfb58f722ef5ee36f1b81caf8144" ], [ "OPLSS2021.ParDiv.__proj__Act__item__a", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_b50ef96af20b20df24993b95c4f17b62" ], 0, - "618e53679a8f46ccb75ee20cc13d8954" + "f8975db9b5fac4ce06d2f16f2db45aa0" ], [ "OPLSS2021.ParDiv.__proj__Act__item__post", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_b50ef96af20b20df24993b95c4f17b62" ], 0, - "e0a26c29ab49705b0a01d71adbfad120" + "e2934168ab0c30ee7c7eb78554442a50" ], [ "OPLSS2021.ParDiv.__proj__Act__item__b", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_b50ef96af20b20df24993b95c4f17b62" ], 0, - "33eb2208ba97929fb0bcf112358e39e4" + "8d770c7bf71d4e9a65e1529b2c7dc771" ], [ "OPLSS2021.ParDiv.__proj__Act__item__f", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_b50ef96af20b20df24993b95c4f17b62" ], 0, - "bc86263666abbb02c63d997341c448d8" + "1617b4c52bbd4ff2717257e7946b2884" ], [ "OPLSS2021.ParDiv.__proj__Act__item__k", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_b50ef96af20b20df24993b95c4f17b62" ], 0, - "4fedf167d805e3ed6ed8dfcdfcec12c4" + "4dc21cc96a1990b29ff5d5ba147ed115" ], [ "OPLSS2021.ParDiv.__proj__Par__item__pre0", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "bd9e56a4dfe236c58e714855b8e01ec5" + "4761ca5abd42ddada015ad49dfd234d4" ], [ "OPLSS2021.ParDiv.__proj__Par__item__post0", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "fe3637cd7c21f494080d70a38f64ccbf" + "693b99c66391c10b0ae67d50ab5e40c1" ], [ "OPLSS2021.ParDiv.__proj__Par__item__m0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "8415e3349de0b489efc91a4ce35b6994" + "96dee54e46a8775e663566123b2ec37a" ], [ "OPLSS2021.ParDiv.__proj__Par__item__pre1", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "af8c690dedbde1b74754c9260531f1de" + "feb03e9043051a0109ddba166f3648c6" ], [ "OPLSS2021.ParDiv.__proj__Par__item__post1", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "ed350ab3e3257ec4ad9d3136d3b032a2" + "5b708675c8be9038b12f94aa2941655b" ], [ "OPLSS2021.ParDiv.__proj__Par__item__m1", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "0aae04100bd2886ba32edb8a37c75345" + "cbc385ebbb5bb320b2dfa8f9499b1812" ], [ "OPLSS2021.ParDiv.__proj__Par__item__a", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "8283cbb1fe97ebb99468fc14a7cee0cf" + "040cbb0794aa75978d60506942d6189e" ], [ "OPLSS2021.ParDiv.__proj__Par__item__post", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "1c1052d3c24fcf1c9c09f94f7dfc8e6a" + "8a66b39f852fd4ae30f65485056c3e24" ], [ "OPLSS2021.ParDiv.__proj__Par__item__k", @@ -212,7 +212,7 @@ "refinement_interpretation_Tm_refine_9bc6af830800ff153ec0b80b9497c32f" ], 0, - "5722233ff96fa521d20580f35b877aa1" + "63a1ca0dd8bcdab5acd9d815297969c8" ], [ "OPLSS2021.ParDiv.step", @@ -269,7 +269,7 @@ "typing_OPLSS2021.ParDiv.__proj__Par__item__m1" ], 0, - "d22376195c1a359df93af97dde3ff415" + "c541d6ab511a61d66b4719413b4eb9eb" ], [ "OPLSS2021.ParDiv.run", @@ -294,7 +294,7 @@ "token_correspondence_OPLSS2021.ParDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "4de3aaf480ef2e07532dbb2d9191013a" + "f43b3473cecdbd5b79b1c80f95cb6cb4" ], [ "OPLSS2021.ParDiv.bind", @@ -312,7 +312,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b77265810cc286b54038cb15d3acd777" + "564ca70315009fb9dc05558f5641b1e8" ], [ "OPLSS2021.ParDiv.frame_action", @@ -341,7 +341,7 @@ "typing_OPLSS2021.ParDiv.__proj__Mkaction__item__pre" ], 0, - "11fd1e71da5ecdbf365d83969dcea430" + "add101efbe040c886e3896550d3694c8" ], [ "OPLSS2021.ParDiv.frame", @@ -371,38 +371,34 @@ "token_correspondence_OPLSS2021.ParDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "dbdc9b188e6afa8900d74dcbbb2acdd6" + "cefff0b794a5a14b57e8df9e80606ad7" ], [ - "OPLSS2021.ParDiv.83617", + "OPLSS2021.ParDiv.84207", 1, 2, 1, [ "@query" ], 0, - "85d7c2896d54b414df127d0d04ad6a8b" + "3ef750bf385d6371332fc437445c3643" ], [ - "OPLSS2021.ParDiv.84922", + "OPLSS2021.ParDiv.85512", 1, 2, 1, [ "@query" ], 0, - "bbe90d23e9dc8a155d49dbd94cb81b1e" + "8c53bc0556e537281325bd8fb9677504" ], [ "OPLSS2021.ParDiv.sel_ok", 1, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], + [ "@query" ], 0, - "3ea337701e077f0f81fdae26e1fb7ca7" + "d7bc75ae542b96d346e827da72e53e84" ], [ "OPLSS2021.ParDiv.upd_ok", @@ -411,20 +407,7 @@ 1, [ "@query" ], 0, - "4b5c6090070685e46ae6788851fc9bef" - ], - [ - "OPLSS2021.ParDiv.rewrite", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c22ea0daebd04f0161a180beeb88fcf0" + "3cece8b91ebea6efad07cbde5f05ba14" ], [ "OPLSS2021.ParDiv.op_Bang", @@ -433,8 +416,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.ParDiv.hm", - "equation_Prims.eq2", "equation_Prims.squash", - "equation_Prims.subtype_of", "function_token_typing_OPLSS2021.ParDiv.star", "proj_equation_OPLSS2021.ParDiv.Mkaction_post", "proj_equation_OPLSS2021.ParDiv.Mkaction_pre", @@ -442,12 +423,11 @@ "projection_inverse_OPLSS2021.ParDiv.Mkaction_post", "projection_inverse_OPLSS2021.ParDiv.Mkaction_pre", "projection_inverse_OPLSS2021.ParDiv.Mkcomm_monoid_star", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_b3a0a5e9dd5091d39370a84d5406672a", "token_correspondence_OPLSS2021.ParDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "6323c01a6092b452f62bfe156515c7aa" + "44c045a40118aaa4fd91d370728feff4" ], [ "OPLSS2021.ParDiv.op_Colon_Equals", @@ -463,111 +443,7 @@ "refinement_interpretation_Tm_refine_b3a0a5e9dd5091d39370a84d5406672a" ], 0, - "80b1b0bde513b0eb0b1795e7a6f3b486" - ], - [ - "OPLSS2021.ParDiv.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "84efa01720789b6c8ef3bed8d68d265e" - ], - [ - "OPLSS2021.ParDiv.incr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "ed85f15156dc25302ad5b8946491f763" - ], - [ - "OPLSS2021.ParDiv.incr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "12f93128ada6de28d1991c20a21a7a7d" - ], - [ - "OPLSS2021.ParDiv.incr", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "1af661e6b2cb7089994375d98546e273" - ], - [ - "OPLSS2021.ParDiv.incr", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "12f93128ada6de28d1991c20a21a7a7d" - ], - [ - "OPLSS2021.ParDiv.incr", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "1af661e6b2cb7089994375d98546e273" - ], - [ - "OPLSS2021.ParDiv.incr", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "12f93128ada6de28d1991c20a21a7a7d" - ], - [ - "OPLSS2021.ParDiv.incr", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "12f93128ada6de28d1991c20a21a7a7d" + "de87c5935b4dc6eabc9c2453dca41416" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ParNDS.fst.hints b/examples/oplss2021/OPLSS2021.ParNDS.fst.hints index d72fb62f5a6..f0169211169 100644 --- a/examples/oplss2021/OPLSS2021.ParNDS.fst.hints +++ b/examples/oplss2021/OPLSS2021.ParNDS.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b62981eb76106ae9fc5cbea5266a95c1" + "7ba1927c7bab8da0d8ea8063a7d83b1a" ], [ "OPLSS2021.ParNDS.m", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "668a0eec8ce5e6b31eed1a088a947c76" + "6cdfdf44e60e30a0649897255b7c00ad" ], [ "OPLSS2021.ParNDS.__proj__Ret__item__a", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_25481ebd21b915c089d7d60f5674cb12" ], 0, - "2f6d8e533789a8da687dc3dd011ac419" + "7f9f7c12ea975a0137c682cf90bb2b30" ], [ "OPLSS2021.ParNDS.__proj__Ret__item__x", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_25481ebd21b915c089d7d60f5674cb12" ], 0, - "2d780a273879d40fdda9edc76c317501" + "bc72d426c04f28bfe0301629ce286b07" ], [ "OPLSS2021.ParNDS.__proj__Act__item__a", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_1f60eb89b6620edebb0c230df7c700fd" ], 0, - "bb686bb4e941a76a4f728ebc0f208a69" + "b52ee7562f2454ea2ab390125e9fc0cc" ], [ "OPLSS2021.ParNDS.__proj__Act__item__b", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_1f60eb89b6620edebb0c230df7c700fd" ], 0, - "8fd8a2a9919bf96bf6d10af58e2cd5f6" + "4267bd299a755d731124984b7e86cf31" ], [ "OPLSS2021.ParNDS.__proj__Act__item__f", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_1f60eb89b6620edebb0c230df7c700fd" ], 0, - "356e9bc5842cbb1a59c3805a223c8f33" + "e3c1ef49d0d5e6d0a09cd43b45a55cd6" ], [ "OPLSS2021.ParNDS.__proj__Act__item__n", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_1f60eb89b6620edebb0c230df7c700fd" ], 0, - "0c4d27e5ee905ea5c49e7312b371ae4a" + "3d044a488a1f4ea421dd18ccb5bd8613" ], [ "OPLSS2021.ParNDS.__proj__Act__item__k", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_1f60eb89b6620edebb0c230df7c700fd" ], 0, - "5c273afe8a0a6cfbb9eb92d13ddcfe35" + "158406eb4d29353b315054a5c9218ef7" ], [ "OPLSS2021.ParNDS.__proj__Par__item__a", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "13efdfa8e052776bac35ceb523849d4a" + "61286caffe405110293c04072a2a2ec2" ], [ "OPLSS2021.ParNDS.__proj__Par__item__a0", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "22c3dd2dc92ac35f3af67a87294dac1f" + "2f74a07c9df1308076284109b5b5df98" ], [ "OPLSS2021.ParNDS.__proj__Par__item__n0", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "811532c71a6b9dee27cfa577f7a914ca" + "60007bb4f62fbee96ef8167eb9d48f67" ], [ "OPLSS2021.ParNDS.__proj__Par__item__m0", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "e2216ff1c627b44637e8eb52311ee67b" + "6b4706396637215eefbb7203e2dca99a" ], [ "OPLSS2021.ParNDS.__proj__Par__item__a1", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "53bb4abc11cfd2c03a2a055fb631592f" + "96b0205ddf441bf2f5e6adc38f24643e" ], [ "OPLSS2021.ParNDS.__proj__Par__item__n1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "362f82152e0ce776f12c4c62b5f4bac5" + "083377094bea03f44f67c5dd77802fad" ], [ "OPLSS2021.ParNDS.__proj__Par__item__m1", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "189bd195c2a06996436a7e2e727d1590" + "afbe66fa007d4b777af58d9ab08e0f1d" ], [ "OPLSS2021.ParNDS.__proj__Par__item__n", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "e08d0a99f72b85b6657ac7cd3f27523b" + "6df90428334f7f68bdce0e182a3ec1d8" ], [ "OPLSS2021.ParNDS.__proj__Par__item__k", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_e46dc81b4cb9bba07d4182c5cbddac53" ], 0, - "32fc071b6369c2b2215d95765437a1d1" + "4960e765a15445d4191724378b3f2377" ], [ "OPLSS2021.ParNDS.step", @@ -268,7 +268,7 @@ "typing_OPLSS2021.ParNDS.uu___is_Ret", "well-founded-ordering-on-nat" ], 0, - "bfac00b46170022891de9739115e2c01" + "fe01ca868f7bbcb2ded5a53b10c679e8" ], [ "OPLSS2021.ParNDS.run", @@ -294,7 +294,7 @@ "well-founded-ordering-on-nat" ], 0, - "530d0b48f00064c7f0453732c1194feb" + "a9d47e53a6470136f203130072b803a8" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ParNDSDiv.fst.hints b/examples/oplss2021/OPLSS2021.ParNDSDiv.fst.hints index c7057dfc60e..7b558e974f3 100644 --- a/examples/oplss2021/OPLSS2021.ParNDSDiv.fst.hints +++ b/examples/oplss2021/OPLSS2021.ParNDSDiv.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_7a12f95d7504f0b959ef9d16756ecc88" ], 0, - "093d42d19ffc1b6b02c9925d12457746" + "f51e650e9c474cacc6ca5803d0d64aed" ], [ "OPLSS2021.ParNDSDiv.__proj__Ret__item__post", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_7a12f95d7504f0b959ef9d16756ecc88" ], 0, - "d0b0a87a5bec213c25a776f367b2f4f5" + "4ff5d9a8a80b2690af52492d27d40840" ], [ "OPLSS2021.ParNDSDiv.__proj__Ret__item__x", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_7a12f95d7504f0b959ef9d16756ecc88" ], 0, - "1356371dad89f810d8ddc74e118cc3ce" + "83aa313d9c92b080c77ac68e69b93bd5" ], [ "OPLSS2021.ParNDSDiv.__proj__Act__item__a", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_5617fa90a69813d1735286b6bf410a4e" ], 0, - "27b76e8f12f015f12082da285cf416df" + "698e5551d55581794bd6cd9a968f943b" ], [ "OPLSS2021.ParNDSDiv.__proj__Act__item__post", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_5617fa90a69813d1735286b6bf410a4e" ], 0, - "92ff176f54f15c19c620fdb8bc26ef8b" + "34044a52b059a3531b014178b3ab2f4b" ], [ "OPLSS2021.ParNDSDiv.__proj__Act__item__b", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_5617fa90a69813d1735286b6bf410a4e" ], 0, - "42da166f531ded93a446c2d401b210f3" + "ee0757820f62c842dd293144da193001" ], [ "OPLSS2021.ParNDSDiv.__proj__Act__item__f", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_5617fa90a69813d1735286b6bf410a4e" ], 0, - "79ef17fcec204e5af4e61f741541edef" + "649c4ad64ade5b637cad7e67924c5c2b" ], [ "OPLSS2021.ParNDSDiv.__proj__Act__item__k", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_5617fa90a69813d1735286b6bf410a4e" ], 0, - "52911f12fcd6d035a396bceabef4a4d4" + "f5730ad3f4b875ef626f8679a0c26c44" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__pre0", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "7860510bea2a8d4dd8f52a4df81e47e2" + "396679777aa48e17d4e684d005067b9b" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__post0", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "3e24ca29d173a5ed169e662b3523d3a6" + "a70bf0ab0ca958530a0a1d67b6d6fa3d" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__m0", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "a5f45781ac0dc292a564ae1c1a45bef9" + "7079f85d0d5ad5d8f40c9a4fe8aad87d" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__pre1", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "d747658857b97a0dc81e56c8bbdad0ff" + "7dbd5d43bccb9d71cfa0f5ce505f93bb" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__post1", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "d81efd531c68a371dd5195b336069f6a" + "10b54e9b1f79d8444424328d30e838f9" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__m1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "7eea5f8dc7445ffc0cce79b93b9b8eed" + "fd507c59fc7288b7f3feae9de2da094f" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__a", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "49d4d43a309948a2a2ab75087dbdd118" + "4792c399b75c8a21be8f05d5028eb451" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__post", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "8da2754a46bbdd1398faf72285de2f92" + "70d4be2c82d1ed016017f9d668337271" ], [ "OPLSS2021.ParNDSDiv.__proj__Par__item__k", @@ -221,7 +221,7 @@ "refinement_interpretation_Tm_refine_b11615648c647a6389a10ff7e2ca1afe" ], 0, - "3425e0a45e167fe12d3bb0891a3d1980" + "ffdc606b5c9588bb7fd179f97a2bfe07" ], [ "OPLSS2021.ParNDSDiv.step", @@ -278,7 +278,7 @@ "typing_OPLSS2021.ParNDSDiv.__proj__Par__item__m1" ], 0, - "3d18d91a8dd4b1e8eacfd2d71292fdf1" + "6269c39354d36e57ca29c781f6f219d2" ], [ "OPLSS2021.ParNDSDiv.run", @@ -303,7 +303,7 @@ "token_correspondence_OPLSS2021.ParNDSDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "3a6e0807ca1fdf518b8fab899b84859c" + "5f56643a5d024b0429d194d8836b64c2" ], [ "OPLSS2021.ParNDSDiv.bind", @@ -323,7 +323,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ac25e8cbbd179b8ebf3d7796de4ccc7c" + "6077e10b48a917d62127c97b0cd0d065" ], [ "OPLSS2021.ParNDSDiv.frame_action", @@ -352,7 +352,7 @@ "typing_OPLSS2021.ParNDSDiv.__proj__Mkaction__item__pre" ], 0, - "08d5b8178d98633e28c921638d4b8fee" + "10b18adac2a308a7dc9755ee6ddd0408" ], [ "OPLSS2021.ParNDSDiv.frame", @@ -384,38 +384,34 @@ "token_correspondence_OPLSS2021.ParNDSDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "b0d6153e8fad07c6ed01ccf0ad8e7bfe" + "5ef07aeb9144981ce9dec9e4796954a0" ], [ - "OPLSS2021.ParNDSDiv.83617", + "OPLSS2021.ParNDSDiv.84207", 1, 2, 1, [ "@query" ], 0, - "9eb8e3ab7a9281b101e93275da461303" + "417a0071069995b5aeea9a054b2c8d72" ], [ - "OPLSS2021.ParNDSDiv.84922", + "OPLSS2021.ParNDSDiv.85512", 1, 2, 1, [ "@query" ], 0, - "654f8128cd92270d18785afa10a7363e" + "cd83a8318beb7e9847c86c8fa5a703f0" ], [ "OPLSS2021.ParNDSDiv.sel_ok", 1, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], + [ "@query" ], 0, - "3e5e6171d2f4461cdc4c8e851f80e9ba" + "b190d4d500a51a7ddddbc0dc8defd5e4" ], [ "OPLSS2021.ParNDSDiv.upd_ok", @@ -424,20 +420,7 @@ 1, [ "@query" ], 0, - "032717b55b6fc5030f534b88d125dc0b" - ], - [ - "OPLSS2021.ParNDSDiv.rewrite", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b4402232399ea49a1d14e5e165928a96" + "f9ffe6b09d8af1f48f8dcf98a1d28464" ], [ "OPLSS2021.ParNDSDiv.op_Bang", @@ -446,8 +429,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.ParNDSDiv.hm", - "equation_Prims.eq2", "equation_Prims.squash", - "equation_Prims.subtype_of", "function_token_typing_OPLSS2021.ParNDSDiv.star", "proj_equation_OPLSS2021.ParNDSDiv.Mkaction_post", "proj_equation_OPLSS2021.ParNDSDiv.Mkaction_pre", @@ -455,12 +436,11 @@ "projection_inverse_OPLSS2021.ParNDSDiv.Mkaction_post", "projection_inverse_OPLSS2021.ParNDSDiv.Mkaction_pre", "projection_inverse_OPLSS2021.ParNDSDiv.Mkcomm_monoid_star", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_c97cb32426b9d692eac4a9b3357c73f5", "token_correspondence_OPLSS2021.ParNDSDiv.__proj__Mkcomm_monoid__item__star" ], 0, - "e2f81c0b25b8ff2bfbe605c9571a4f99" + "5ef7caa1f9207e0cf336d9d48b02b2e7" ], [ "OPLSS2021.ParNDSDiv.op_Colon_Equals", @@ -476,111 +456,7 @@ "refinement_interpretation_Tm_refine_c97cb32426b9d692eac4a9b3357c73f5" ], 0, - "b4cd3b637135cbf69d1a689b2b362c84" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e0112bf1a7bb5ff2d30ad2b2b641621f" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8f84ec240be432c2bf827bad96f03a09" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bfbf53cfecca6f7533b1234b04cebb9f" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a1074eda18b71c27ee2cc3dae21f7d32" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bfbf53cfecca6f7533b1234b04cebb9f" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a1074eda18b71c27ee2cc3dae21f7d32" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bfbf53cfecca6f7533b1234b04cebb9f" - ], - [ - "OPLSS2021.ParNDSDiv.incr", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bfbf53cfecca6f7533b1234b04cebb9f" + "22fb7ccd669551abced493b1f86072a7" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ParTot.fst.hints b/examples/oplss2021/OPLSS2021.ParTot.fst.hints index 2d3cd4a2679..749db51295f 100644 --- a/examples/oplss2021/OPLSS2021.ParTot.fst.hints +++ b/examples/oplss2021/OPLSS2021.ParTot.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "96eeca2247d2e0e6cf386b57a3b88156" + "63ae69d34b135ad66901a3442b74cfc8" ], [ "OPLSS2021.ParTot.m", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "350f73b43d25f731b2049e3d8aa8f290" + "0e955c1f6d13ccf164927c7e483af278" ], [ "OPLSS2021.ParTot.__proj__Ret__item__a", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_eb17688af61d159e955b8432b7bdefb4" ], 0, - "c07dd59a6a2139178477fe9e0fcaa22a" + "8c4c95252a5fc2f9c0f26647c7bb9409" ], [ "OPLSS2021.ParTot.__proj__Ret__item__x", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_eb17688af61d159e955b8432b7bdefb4" ], 0, - "7442cc6e3c9979a0220b4d41b7508226" + "7e21474af90f8934b8f86e9ffd77f62b" ], [ "OPLSS2021.ParTot.__proj__Act__item__a", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_02fb48f3c468c6efbe07ed0af787b274" ], 0, - "8863cfe2ce33219a6854912d5af30dc5" + "4c50aa964af82e5ffd44285aeeb903a3" ], [ "OPLSS2021.ParTot.__proj__Act__item__b", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_02fb48f3c468c6efbe07ed0af787b274" ], 0, - "669a92fc9c8c59aefbfc3f1dab3a8426" + "5a23bde1c3c9ea4b66526fd2db5a02d4" ], [ "OPLSS2021.ParTot.__proj__Act__item__f", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_02fb48f3c468c6efbe07ed0af787b274" ], 0, - "2bcab5f74b78a92bfc4cb3c5b126e101" + "d74c7268c7e5f404bed2c3ebf6c81045" ], [ "OPLSS2021.ParTot.__proj__Act__item__n", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_02fb48f3c468c6efbe07ed0af787b274" ], 0, - "7adcf3a0c85c1852400b24ff9f9ebdc7" + "b82f7f75a6a6a276bb26571acfd2bc83" ], [ "OPLSS2021.ParTot.__proj__Act__item__k", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_02fb48f3c468c6efbe07ed0af787b274" ], 0, - "4929f3743a61064ac6cd7ee2c8e2eb81" + "b186dcf600df71bcff9b73b4e583afe2" ], [ "OPLSS2021.ParTot.__proj__Par__item__a", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "9fcd7e882e2e9d37be5aec7d348ee5d2" + "9c391f5329cc4bcf7a2d8cb9ea4b5ece" ], [ "OPLSS2021.ParTot.__proj__Par__item__a0", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "9fae098d1a0130981a04a7cbae79f0a5" + "8c8a567b4a1c41473499d465181bc9ed" ], [ "OPLSS2021.ParTot.__proj__Par__item__n0", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "6db09c01754ada518df701987f225a72" + "bf7bb48924d1ae9f00f7a83011f5173a" ], [ "OPLSS2021.ParTot.__proj__Par__item__m0", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "38e6d3fd72c133fc8597f26048172cd1" + "d51212869ffe689a0d1990f0d7441c38" ], [ "OPLSS2021.ParTot.__proj__Par__item__a1", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "5412acb7cff4d759930fa48b4f5e4ade" + "e64f9539ac88cff7d7b4a675791a9a0e" ], [ "OPLSS2021.ParTot.__proj__Par__item__n1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "ad277a90a40a4c6834103fa868559f5d" + "bac90f5c337fbd9a97ac15c5e2edc4b7" ], [ "OPLSS2021.ParTot.__proj__Par__item__m1", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "fa0927d1fd76e81b1ebddced9cd7781d" + "d6f9a228c773399c36a982bfef6aced7" ], [ "OPLSS2021.ParTot.__proj__Par__item__n", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "f142d34ab08852cb387ce30e97b0a749" + "57b938c015a7f62968b7176ca838e393" ], [ "OPLSS2021.ParTot.__proj__Par__item__k", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_fab5bc4be6d3977f9f5ed5dcf4408777" ], 0, - "c5c320e23a4c28453fc0f8b59b9f905d" + "7175e491d6e0ff4c2149c4518a7eea81" ], [ "OPLSS2021.ParTot.step", @@ -274,7 +274,7 @@ "well-founded-ordering-on-nat" ], 0, - "9267ff11e1003be035b4cbed2781ad12" + "b6bcffdc10de630f016c250e787166e4" ], [ "OPLSS2021.ParTot.run", @@ -305,7 +305,7 @@ "well-founded-ordering-on-nat" ], 0, - "52f88a7760ab151ffc015b767dbb8522" + "f01a0220f2967de10ce5ea8ae98438ca" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.STLC.fst.hints b/examples/oplss2021/OPLSS2021.STLC.fst.hints index af60b0ff834..ffc86cdbabf 100644 --- a/examples/oplss2021/OPLSS2021.STLC.fst.hints +++ b/examples/oplss2021/OPLSS2021.STLC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "21e9b8134b20e2a54345fb9ac68b3af5" + "b30ca01a8f668f52e2b31d2c4af8984f" ], [ "OPLSS2021.STLC.__proj__TArrow__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_f4085d8a3d98fdb22c4e8a21999652fc" ], 0, - "247f3b22b3e9967b0d3a1a696935a5ad" + "3473edb297f62aa6c8fe761dd27fa5a9" ], [ "OPLSS2021.STLC.__proj__TArrow__item___1", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_f4085d8a3d98fdb22c4e8a21999652fc" ], 0, - "e02de4a4e55989dc6e424e4a9683ab13" + "8b14a49a3496e5c9212342443846d3f6" ], [ "OPLSS2021.STLC.exp", @@ -41,7 +41,7 @@ 1, [ "@query", "assumption_OPLSS2021.STLC.ty__uu___haseq" ], 0, - "ee70bde538cbaa9cbc96710ba655ae2c" + "b763972903afeab0f0295b16869c2ef9" ], [ "OPLSS2021.STLC.__proj__EVar__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_239c99de87d194c21affb9298afabd40" ], 0, - "a25d2a3d61f464b430b01bf2190688b2" + "84ce90096650473369a84fe2cbfae7d2" ], [ "OPLSS2021.STLC.__proj__EApp__item___0", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_f3a295fc195fd0c3f9f456f1443b4523" ], 0, - "81d0be6ea3830c3629e336f33831f2c8" + "01c6901faac3ec57601eaf3bd6762950" ], [ "OPLSS2021.STLC.__proj__EApp__item___1", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_f3a295fc195fd0c3f9f456f1443b4523" ], 0, - "f60a68f7a5e353521364bd7d4e68846c" + "290ff4e62619a6a395803681c9342c98" ], [ "OPLSS2021.STLC.__proj__EAbs__item___0", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_a2e454356208862869188c22efc7aec4" ], 0, - "3a6cdca731a2718d9307397daa83d0bd" + "930e75208c9d9b4c6e276f4d8e969c03" ], [ "OPLSS2021.STLC.__proj__EAbs__item___1", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_a2e454356208862869188c22efc7aec4" ], 0, - "ebb5d0d61a630083e94164ceeb1eac38" + "13177958df7bab30a6e7b01b1b135e45" ], [ "OPLSS2021.STLC.__proj__EAbs__item___2", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_a2e454356208862869188c22efc7aec4" ], 0, - "3203810e4807e631a7d5393a9c881430" + "1f5f7fe8a3958ed104513c49b8f9c246" ], [ "OPLSS2021.STLC.subst", @@ -139,7 +139,7 @@ "subterm_ordering_OPLSS2021.STLC.EApp" ], 0, - "2832795a59a9ccf37c737ccd6224065a" + "913649a59e3894230560fb5b866c3e2b" ], [ "OPLSS2021.STLC.step", @@ -158,7 +158,7 @@ "subterm_ordering_OPLSS2021.STLC.EApp" ], 0, - "e1862436f488e0303c8e19a20bc46f7a" + "5ba7ccc2f7182b531eadba32d82a5af4" ], [ "OPLSS2021.STLC.typing", @@ -188,7 +188,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "f27295848cb05de72aa8b81392547229" + "70a536ab08a67654eb8882ca7f8941fb" ], [ "OPLSS2021.STLC.progress", @@ -242,7 +242,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "58119776b15d06441f8fcdc80a84a767" + "f70801491045644022465ff2a182cffd" ], [ "OPLSS2021.STLC.appears_free_in", @@ -268,7 +268,7 @@ "subterm_ordering_OPLSS2021.STLC.EApp" ], 0, - "678bd8eb983303354b48891cda955882" + "567b3ed3934ec675af0fc84d89884496" ], [ "OPLSS2021.STLC.free_in_context", @@ -334,7 +334,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "07967e3a32b12dd7bb0e5c01e2535c31" + "3d6fe581526b0c4fe86bce343db3bc2e" ], [ "OPLSS2021.STLC.typable_empty_closed", @@ -351,7 +351,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "c2bf0c04f5452315e3480a8817f55f24" + "a62a08e261502cd90832eef775606730" ], [ "OPLSS2021.STLC.equal", @@ -364,7 +364,7 @@ "kinding_OPLSS2021.STLC.ty@tok" ], 0, - "0c8aa67c378fe6f3a675e527e12881be" + "6ed4ec23b7d291bc26be3cd28802cee3" ], [ "OPLSS2021.STLC.equalE", @@ -377,7 +377,7 @@ "kinding_OPLSS2021.STLC.ty@tok" ], 0, - "5e1b67142745798df6ffb4f3d1eed4a1" + "399dc8a3e4fd2c3b04e9f9d14b94f3a6" ], [ "OPLSS2021.STLC.context_invariance", @@ -437,7 +437,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "f52df6320d3d6054475ee56666c5a5c7" + "4c0cad2736ef50e4cba0c9640dc7c996" ], [ "OPLSS2021.STLC.typing_extensional", @@ -449,7 +449,7 @@ "equation_OPLSS2021.STLC.equalE" ], 0, - "3f14f0e32c53351027ce1c5cb56cd091" + "272188ceccb6be791be311f630069cc4" ], [ "OPLSS2021.STLC.substitution_preserves_typing", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_29dc980d2c7c02579007b80ed1ffe322" ], 0, - "bde5acc8b123e66ec8f3c686b98ce302" + "c1deb18af712574e5a7cfd55aa5fd507" ], [ "OPLSS2021.STLC.substitution_preserves_typing", @@ -535,7 +535,7 @@ "unit_typing" ], 0, - "e93aaf3f5f4dbe5c1e928448b64c8f6c" + "eac172b235671d74d6f2bca3108ca9b2" ], [ "OPLSS2021.STLC.preservation", @@ -547,7 +547,7 @@ "refinement_interpretation_Tm_refine_235e45fb19349c8bac01663f37db2140" ], 0, - "115566d9257161363dcc6e2a349bd9e8" + "fe51a3411c99fdffa3275c67a2860379" ], [ "OPLSS2021.STLC.preservation", @@ -605,7 +605,7 @@ "unit_typing" ], 0, - "efcb09fdeb4adba7bf722bda29db9c59" + "0a454627eea23c93d60891146185740c" ], [ "OPLSS2021.STLC.typed_step", @@ -623,7 +623,7 @@ "typing_tok_OPLSS2021.STLC.TUnit@tok" ], 0, - "734c3b01edaa1cd89013a82b8dda7c3b" + "83c13481d7189f5ddb31e8dac48cc529" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Vale.fst.hints b/examples/oplss2021/OPLSS2021.Vale.fst.hints index 18399ffa0b7..39f9fb29508 100644 --- a/examples/oplss2021/OPLSS2021.Vale.fst.hints +++ b/examples/oplss2021/OPLSS2021.Vale.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d026535823690ff197394c3fa1d1c7c9" + "38f5664ad804248b56183f7a1f0ee991" ], [ "OPLSS2021.Vale.__proj__OReg__item__r", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_767b1c02b1152eda22dfc5f487f5bd48" ], 0, - "f8f4bc83654a271d431e74a3d82fa544" + "5888385b06c0b616e04731c90dafd394" ], [ "OPLSS2021.Vale.__proj__OConst__item__n", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_31435c1220821636b1b8215c6864737e" ], 0, - "0f19b1a6bfcc5fcbfd6377523246e71b" + "bfd9d70565cfdd94a9414814308c2e2a" ], [ "OPLSS2021.Vale.ins", @@ -48,7 +48,7 @@ 1, [ "@query", "assumption_OPLSS2021.Vale.operand__uu___haseq" ], 0, - "539770126bcdb9da4fc8aa2c145f17ac" + "b717cd43c387ee5ecec512a9975f40dd" ], [ "OPLSS2021.Vale.__proj__Mov64__item__dst", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_1e014b3f2009124f1e9820298621d9cd" ], 0, - "311ef2c6d8275fd4ba87c8f66bb883e8" + "751228d1693db2322aa9ea6bcd7dd47f" ], [ "OPLSS2021.Vale.__proj__Mov64__item__src", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_1e014b3f2009124f1e9820298621d9cd" ], 0, - "716442eccbfefd879239a91f988e7b03" + "b3456276c346ae039dfd5d49d5698516" ], [ "OPLSS2021.Vale.__proj__Add64__item__dst", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_55376096b1a989ae6a21c8f8034f5071" ], 0, - "4db13d1b72a79a638cd54b981d42f6c3" + "758c027b62173392e305332265db031e" ], [ "OPLSS2021.Vale.__proj__Add64__item__src", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_55376096b1a989ae6a21c8f8034f5071" ], 0, - "17fe24a805978a2eabe0620a535cdb50" + "e79b33477ebf149d6bb1231d61bff798" ], [ "OPLSS2021.Vale.code", @@ -110,7 +110,7 @@ "kinding_OPLSS2021.Vale.code@tok" ], 0, - "8c4931bc2e5bb4fd79b8b3e0544a8beb" + "fb48df6ea944b0f45698e2dbed1210d5" ], [ "OPLSS2021.Vale.__proj__Ins__item__ins", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_7e365516ac35fda7226aed28c5e84ab2" ], 0, - "4f49d3b02e0f2cd9393398b2678cba5e" + "035a2c71aa388edeb49b543d40570e5f" ], [ "OPLSS2021.Vale.__proj__Block__item__block", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_2f37b752c25f2c8afc9b4f05a0d6d39d" ], 0, - "e8e21826d6297190c42ba45d59e678c9" + "910c7fde1d0e88ab6abb64b3593a9fad" ], [ "OPLSS2021.Vale.__proj__WhileLessThan__item__src1", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_1ba7e4fd9b9638abb41d1df94e35f534" ], 0, - "2a8121fdf8c6913fbeeeea7f0a67afd6" + "158a48ec1d37acc13d5dedf5b78f7157" ], [ "OPLSS2021.Vale.__proj__WhileLessThan__item__src2", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_1ba7e4fd9b9638abb41d1df94e35f534" ], 0, - "7cd9616cc0762945e83351eee6d1cac0" + "9d5ae3f09223fa09eff34b4bc00af8a7" ], [ "OPLSS2021.Vale.__proj__WhileLessThan__item__whileBody", @@ -170,7 +170,7 @@ "refinement_interpretation_Tm_refine_1ba7e4fd9b9638abb41d1df94e35f534" ], 0, - "42b9ff80c39e7e3b3fe5dfe9c1e9cb33" + "50ea8ce9793f2b7aac40557e48b061f0" ], [ "OPLSS2021.Vale.eval_operand", @@ -185,7 +185,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "967b714e53e146503fcb389f13524229" + "6f201870f256ed5522868860d3cc4a04" ], [ "OPLSS2021.Vale.update_reg", @@ -194,7 +194,7 @@ 1, [ "@query", "assumption_OPLSS2021.Vale.reg__uu___haseq" ], 0, - "3aaab742fc79a5ef6487c37312cd2399" + "45f8d6c8ebc9a1e581e0d339b1fa3fc5" ], [ "OPLSS2021.Vale.eval_ins", @@ -220,7 +220,7 @@ "typing_OPLSS2021.Vale.__proj__Mov64__item__dst" ], 0, - "4917c484b6dc171b8abea5269e85bae8" + "d8fd8b0e2199611b9923de5197a8942c" ], [ "OPLSS2021.Vale.eval_code", @@ -250,7 +250,7 @@ "well-founded-ordering-on-nat" ], 0, - "9af0ed130dcdbfb9bb41239d56a6cc3a" + "524a07d6b218786f2a27a19fab7501cb" ], [ "OPLSS2021.Vale.eval_code", @@ -267,7 +267,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "9b8c5af4f891a5433e510191c7fad575" + "e37f18f969a25bdc9ab1ad91feb13da0" ], [ "OPLSS2021.Vale.increase_fuel", @@ -321,7 +321,7 @@ "well-founded-ordering-on-nat" ], 0, - "38bfc3dcad3df87e9040f819b7cd472b" + "85175d83ac2e0d7f42847b5960f341eb" ], [ "OPLSS2021.Vale.increase_fuel", @@ -364,7 +364,7 @@ "subterm_ordering_Prims.Cons", "typing_OPLSS2021.Vale.eval_code" ], 0, - "bef75c291c8a9ffca58c5c22ad54fc3f" + "a8bb06783be64502121f83298d2b9f91" ], [ "OPLSS2021.Vale.lemma_merge", @@ -400,7 +400,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c81beefa492eaa9526a9a7bb241e81e4" + "9676df2996a0b0c5321b0c71496deba9" ], [ "OPLSS2021.Vale.lemma_Move", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_d2a65690bfafb23b197313a1aed6dc24" ], 0, - "49b69152e321dc9d5dc1466d3da5b599" + "48f7e422a3314feb613f9ea65d8578c7" ], [ "OPLSS2021.Vale.lemma_Add", @@ -486,7 +486,7 @@ "typing_OPLSS2021.Vale.eval_operand" ], 0, - "c6314609e4431b86c9cf27261429cedc" + "6652e0b1d6a74e2c885cbb77a2a9dbef" ], [ "OPLSS2021.Vale.lemma_Triple", @@ -534,7 +534,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "d09c1dfd34e33461dd83be5b97d3eb31" + "7f055158b7f5faa5a2ce510145275bed" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ValeVC.fst.hints b/examples/oplss2021/OPLSS2021.ValeVC.fst.hints index 85f85b4ffdb..b6ea0fac29f 100644 --- a/examples/oplss2021/OPLSS2021.ValeVC.fst.hints +++ b/examples/oplss2021/OPLSS2021.ValeVC.fst.hints @@ -10,7 +10,7 @@ "@MaxIFuel_assumption", "@query", "data_elim_OPLSS2021.ValeVC.QProc" ], 0, - "96ebc4fa1e6ccc143eeb36ea9da7491d" + "ecd092cae68b96c9e96486bf6559c78c" ], [ "OPLSS2021.ValeVC.__proj__QSeq__item__c", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_7188de91919c2e2cc9199174205a400e" ], 0, - "f9060607f928c487268283b7dc7439d1" + "b66ba3582091f94931403ddd95a95769" ], [ "OPLSS2021.ValeVC.__proj__QSeq__item__cs", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_7188de91919c2e2cc9199174205a400e" ], 0, - "d1b3c37c18e82add61a1363c642a8f60" + "4e423bcb9ad2a74791ffae7f8ff43766" ], [ "OPLSS2021.ValeVC.__proj__QSeq__item__hd", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_7188de91919c2e2cc9199174205a400e" ], 0, - "86d1cb27f93538ea80fc1a857bcb9176" + "9b0288fbd8eda5ce4a42d741e841809e" ], [ "OPLSS2021.ValeVC.__proj__QSeq__item__tl", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_7188de91919c2e2cc9199174205a400e" ], 0, - "0e51996129f7673b4163f5d7651d4862" + "fb925a754167fce251382d33223a2342" ], [ "OPLSS2021.ValeVC.__proj__QLemma__item__cs", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_6723a33414f0aa8250465c1a7196a79d" ], 0, - "50aa69ef1cf91c7f044660919ddd146e" + "7a7078a92e2864125690d01e274abd5c" ], [ "OPLSS2021.ValeVC.__proj__QLemma__item__pre", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_6723a33414f0aa8250465c1a7196a79d" ], 0, - "927b0d0456517a88644f635695f6de43" + "de052b4e32074976baa0d98aff19c75a" ], [ "OPLSS2021.ValeVC.__proj__QLemma__item__post", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_6723a33414f0aa8250465c1a7196a79d" ], 0, - "25bd123c1c61303e8f92cc534668318f" + "21c7e1a937f45068af71a628dbc6b9a4" ], [ "OPLSS2021.ValeVC.__proj__QLemma__item___3", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_6723a33414f0aa8250465c1a7196a79d" ], 0, - "3e33c54f5e8c2235a17c29f2172d6578" + "68ba9d07fe625fa03b3e15bf57b43700" ], [ "OPLSS2021.ValeVC.__proj__QLemma__item___4", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_6723a33414f0aa8250465c1a7196a79d" ], 0, - "982d00d4386b342f0e901a4e9b3b11c8" + "a0cb5402220cbcb5b0d058b74e941b81" ], [ "OPLSS2021.ValeVC.vc_gen", @@ -136,19 +136,16 @@ "disc_equation_OPLSS2021.ValeVC.QEmpty", "disc_equation_OPLSS2021.ValeVC.QLemma", "disc_equation_OPLSS2021.ValeVC.QSeq", "disc_equation_Prims.Cons", - "equation_Prims.l_and", "equation_Prims.l_imp", - "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_OPLSS2021.ValeVC.with_wps", "proj_equation_Prims.Cons_tl", "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", "subterm_ordering_OPLSS2021.ValeVC.QLemma", "subterm_ordering_OPLSS2021.ValeVC.QSeq" ], 0, - "17271265d2323c8020112c76782416f0" + "02adaa6cc443e9be10233e22fc5b5a8a" ], [ "OPLSS2021.ValeVC.vc_sound", @@ -215,21 +212,16 @@ "typing_tok_OPLSS2021.ValeVC.QEmpty@tok" ], 0, - "2011a04c6e645fc583509860a594d586" + "9b151e25f1fba0b8e0689f8b6b182439" ], [ "OPLSS2021.ValeVC.wp_Move", 1, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Vale.nat64", - "equation_Prims.l_Forall", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], + [ "@query" ], 0, - "1b38661f534a56c20342178ca1a4017d" + "c9d317d23aeb3680dbd7bba1ef72ae1d" ], [ "OPLSS2021.ValeVC.hasWp_Move", @@ -246,21 +238,16 @@ "typing_OPLSS2021.Vale.eval_operand" ], 0, - "fec6caa7a4d95fe26cae089b17228978" + "ab32640170529c1f2e33dbe2f58cca92" ], [ "OPLSS2021.ValeVC.wp_Add", 1, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Vale.nat64", - "equation_Prims.l_Forall", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], + [ "@query" ], 0, - "19347a6b27d3873ec6db1ff74d59c639" + "63dc035f5a9eb7267505d5135dad230f" ], [ "OPLSS2021.ValeVC.hasWp_Add", @@ -280,7 +267,7 @@ "typing_Tm_abs_8faaca484d7f2c70ef2d5458c2bc4e63" ], 0, - "73a16ef9d173b0deb4cdd3a2c04f4539" + "cffdb87aae3e2cb4455de768b9de3d38" ], [ "OPLSS2021.ValeVC.vc_sound_norm", @@ -289,7 +276,7 @@ 1, [ "@query" ], 0, - "dd34ad4afd1794c77d6e70e2516f7f09" + "78c304e7149a85d9529592e681f18413" ], [ "OPLSS2021.ValeVC.state_eq", @@ -309,7 +296,7 @@ "fuel_guarded_inversion_OPLSS2021.Vale.reg", "l_and-interp" ], 0, - "33714e4abb74b32646f09f95009f4939" + "9feab172698ca5d67fd10475adc2da88" ], [ "OPLSS2021.ValeVC.lemma_Triple_opt", @@ -319,7 +306,6 @@ [ "@MaxIFuel_assumption", "@query", "OPLSS2021.Vale_pretyping_38bfc0c987351cdd198f2fc697e674bf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_OPLSS2021.Vale.Rax", "constructor_distinct_OPLSS2021.Vale.Rbx", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -331,21 +317,18 @@ "equation_OPLSS2021.Vale.state", "equation_OPLSS2021.Vale.update_reg", "equation_OPLSS2021.Vale.update_state", - "equation_OPLSS2021.ValeVC.state_eq", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_Prims.subtype_of", + "equation_OPLSS2021.ValeVC.state_eq", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "interpretation_Tm_abs_8faaca484d7f2c70ef2d5458c2bc4e63", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_b3c5a7af1b5524553dc82cef72baac45", "typing_OPLSS2021.ValeVC.state_eq", "typing_Tm_abs_8faaca484d7f2c70ef2d5458c2bc4e63" ], 0, - "4dc75631a167ffbfcedc70ab654b9788" + "60291b8f675d710328857031904114fc" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst b/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst index 73a851a94c9..0c9f5d8f925 100644 --- a/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst +++ b/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst @@ -258,7 +258,7 @@ let state_eq (s0 s1:state) : Pure Type0 s0 Rcx == s1 Rcx /\ s0 Rdx == s1 Rdx -module T = FStar.Tactics +module T = FStar.Tactics.V2 let lemma_Triple_opt (s0:state) : Pure (state & fuel) diff --git a/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst.hints b/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst.hints index 20ae27d45b1..56737ea1521 100644 --- a/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst.hints +++ b/examples/oplss2021/OPLSS2021.ValeVCNoProp.fst.hints @@ -1,5 +1,5 @@ [ - "kFÇ‘|ñð&ºG2«RÃ\u0007?", + "ú'\u0004,d›¶¶Ú\u001aûŽî\u000f·ü", [ [ "OPLSS2021.ValeVCNoProp.__proj__QProc__item__hasWp", @@ -11,7 +11,7 @@ "data_elim_OPLSS2021.ValeVCNoProp.QProc" ], 0, - "7dbab5cadad52822e9a9e0b5d049c1aa" + "711570a36e1ff43bdec57c5e15674076" ], [ "OPLSS2021.ValeVCNoProp.__proj__QSeq__item__c", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_bde8d69bfca323e07f1d84828c8f34e5" ], 0, - "64e86276191a8ec5db6f7e7cb301fd86" + "f38eceb73d5fbc6517f47eecddb71d01" ], [ "OPLSS2021.ValeVCNoProp.__proj__QSeq__item__cs", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_bde8d69bfca323e07f1d84828c8f34e5" ], 0, - "665581581778b2c505bd954d1f4b2855" + "39be0e71109704dcd37fb438759778ed" ], [ "OPLSS2021.ValeVCNoProp.__proj__QSeq__item__hd", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_bde8d69bfca323e07f1d84828c8f34e5" ], 0, - "d43b9f4e941a1c1419fc2d49baee4f84" + "a2f463a127e19e5e007aa57d7aca3c52" ], [ "OPLSS2021.ValeVCNoProp.__proj__QSeq__item__tl", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_bde8d69bfca323e07f1d84828c8f34e5" ], 0, - "47058ad4b28d68ca47cb5768db0e66fa" + "bd11b41132a0edefc6de7124a8fe56fe" ], [ "OPLSS2021.ValeVCNoProp.__proj__QLemma__item__cs", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_32c131de72c0dc160585ed06ab3126ff" ], 0, - "751f23a8f87230f316364e574ba8dc2f" + "ee97675266d42a42d53d293c9231068c" ], [ "OPLSS2021.ValeVCNoProp.__proj__QLemma__item__pre", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_32c131de72c0dc160585ed06ab3126ff" ], 0, - "a9666e432dd9d806199f83db07611d0b" + "95446fb5a73e944c4f3f8ee35c346017" ], [ "OPLSS2021.ValeVCNoProp.__proj__QLemma__item__post", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_32c131de72c0dc160585ed06ab3126ff" ], 0, - "239e3ca55ef6618cc7375d26ad376fde" + "689a94e02743ea55a05be3503b2c8a48" ], [ "OPLSS2021.ValeVCNoProp.__proj__QLemma__item___3", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_32c131de72c0dc160585ed06ab3126ff" ], 0, - "c38272f3b7021efe5221b3c441c6480b" + "f858b8394d5ca3297fbc1fc24b6e58b6" ], [ "OPLSS2021.ValeVCNoProp.__proj__QLemma__item___4", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_32c131de72c0dc160585ed06ab3126ff" ], 0, - "1b0d551da813011fee9a94cd060b95ca" + "88d8c5eadf8a76b540819aa1dd5762c6" ], [ "OPLSS2021.ValeVCNoProp.vc_gen", @@ -149,7 +149,7 @@ "subterm_ordering_OPLSS2021.ValeVCNoProp.QSeq" ], 0, - "cb05de7cf998ba9856960c4c129df683" + "1c36dcaceaef3a623dcd894d7b6adeb0" ], [ "OPLSS2021.ValeVCNoProp.vc_sound", @@ -166,10 +166,9 @@ "binder_x_1ef0b435af407be38ebd773e60bcc6cb_3", "binder_x_385a8f11ae151c92dd8b0c0ad29fbf62_1", "binder_x_a87a45df515da4fa9d3b482260f0fa4f_2", - "binder_x_b2b7cde4456e5d6ed2fa059f2eafc491_0", + "binder_x_b2b7cde4456e5d6ed2fa059f2eafc491_0", "bool_inversion", "constructor_distinct_OPLSS2021.Vale.Block", "constructor_distinct_OPLSS2021.ValeVCNoProp.QEmpty", - "constructor_distinct_OPLSS2021.ValeVCNoProp.QLemma", "constructor_distinct_OPLSS2021.ValeVCNoProp.QSeq", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_OPLSS2021.ValeVCNoProp.QEmpty", @@ -198,9 +197,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_OPLSS2021.Vale.Block_block", - "projection_inverse_OPLSS2021.ValeVCNoProp.QLemma__3", "projection_inverse_OPLSS2021.ValeVCNoProp.QLemma__4", - "projection_inverse_OPLSS2021.ValeVCNoProp.QLemma_cs", "projection_inverse_OPLSS2021.ValeVCNoProp.QLemma_post", "projection_inverse_OPLSS2021.ValeVCNoProp.QLemma_pre", "projection_inverse_OPLSS2021.ValeVCNoProp.QSeq_c", @@ -214,10 +211,11 @@ "subterm_ordering_OPLSS2021.ValeVCNoProp.QLemma", "subterm_ordering_Prims.Cons", "token_correspondence_OPLSS2021.ValeVCNoProp.vc_gen", + "typing_OPLSS2021.ValeVCNoProp.uu___is_QSeq", "typing_tok_OPLSS2021.ValeVCNoProp.QEmpty@tok" ], 0, - "a7d0015a67666a8d97092d06beb901fd" + "7920a67df149defc588b41c64dcc2e67" ], [ "OPLSS2021.ValeVCNoProp.wp_Move", @@ -226,7 +224,7 @@ 1, [ "@query" ], 0, - "2463ddbfcbd74d0916cd3099af4470d5" + "96e63625fe28c5d5a027b695fc770f45" ], [ "OPLSS2021.ValeVCNoProp.hasWp_Move", @@ -243,7 +241,7 @@ "typing_OPLSS2021.Vale.eval_operand" ], 0, - "07629a54567b5cdd667b3e97c8888c47" + "fed0e9f7b6ca0c7a8e0d48c11796a11f" ], [ "OPLSS2021.ValeVCNoProp.wp_Add", @@ -252,7 +250,7 @@ 1, [ "@query" ], 0, - "5298e1a402c02f8a788de0adcae344ee" + "588f908a42379beab59e72cc9fc61ba3" ], [ "OPLSS2021.ValeVCNoProp.hasWp_Add", @@ -272,7 +270,7 @@ "typing_Tm_abs_8faaca484d7f2c70ef2d5458c2bc4e63" ], 0, - "b17fa0e488aff21d2fdad383599cb083" + "7f9a56d0054e4bc18a0ab5afd5ac1ea9" ], [ "OPLSS2021.ValeVCNoProp.vc_sound_norm", @@ -281,7 +279,7 @@ 1, [ "@query" ], 0, - "2617bb624cd4c0466d078a37fd1f6b56" + "5dc88a84406a7a7ec36e9ef62e5377ae" ], [ "OPLSS2021.ValeVCNoProp.state_eq", @@ -301,7 +299,7 @@ "fuel_guarded_inversion_OPLSS2021.Vale.reg", "l_and-interp" ], 0, - "de189016d19571fdf405089f9b5d425a" + "00a06136b5588d1e570d6f845ebf14fa" ], [ "OPLSS2021.ValeVCNoProp.lemma_Triple_opt", @@ -319,13 +317,13 @@ "equation_OPLSS2021.Vale.update_state", "equation_OPLSS2021.ValeVCNoProp.state_eq", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", "projection_inverse_BoxInt_proj_0", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_b3c5a7af1b5524553dc82cef72baac45", "typing_OPLSS2021.ValeVCNoProp.state_eq", "typing_Tm_abs_8faaca484d7f2c70ef2d5458c2bc4e63" ], 0, - "23643cb11e548e9c667cb65f6db8a9d5" + "498290fcac042e584ef83d9f5c67bbe3" ] ] ] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Vector.fst.hints b/examples/oplss2021/OPLSS2021.Vector.fst.hints index aaf93c5d361..4024465dc2a 100644 --- a/examples/oplss2021/OPLSS2021.Vector.fst.hints +++ b/examples/oplss2021/OPLSS2021.Vector.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0742499e00ed353b070e26b002b964e8" + "9b84b02016060d23f1f0493f6b5ecdce" ], [ "OPLSS2021.Vector.vector", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "47262796a05cfb1e8ac829bca191f262" + "09225696cd002fff09332078a51f3aaf" ], [ "OPLSS2021.Vector.__proj__VCons__item__hd", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_2cb127f228a689d92b063741e0d7b001" ], 0, - "1d45d362596dda951b66955ca11ac9f9" + "6fbefe82482b97788717408dba557fef" ], [ "OPLSS2021.Vector.__proj__VCons__item__n", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2cb127f228a689d92b063741e0d7b001" ], 0, - "aae96ac7449a990c627fb764aa96f3aa" + "6506d8e24f3d8cbfb8ad7041b5f1a43a" ], [ "OPLSS2021.Vector.__proj__VCons__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_2cb127f228a689d92b063741e0d7b001" ], 0, - "f12b84a4553638417b2d4fed7f25e146" + "a224b981fbb8a920b9f34613df60a744" ], [ "OPLSS2021.Vector.head'", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_039b68a29747696797a6e7240d4505a6" ], 0, - "a513004b4d9ba31bd74ed012ff66245d" + "360cd6924b1c462fa998a314641ddb5b" ], [ "OPLSS2021.Vector.head", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_2cb127f228a689d92b063741e0d7b001" ], 0, - "cfd0b7cbf023378f74f24d66d0a51212" + "75ea3bd319d311c7fef4c3ff98b3005f" ], [ "OPLSS2021.Vector.nth", @@ -114,7 +114,7 @@ "well-founded-ordering-on-nat" ], 0, - "d868dd131d2a992154d9f98762793581" + "6909d84b7ac1210c974e2c8ec86455b9" ], [ "OPLSS2021.Vector.append", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f11defc439579945cc943c6d182118a7" + "912871d7d4978b6c981651533c085cd8" ], [ "OPLSS2021.Vector.append", @@ -150,7 +150,7 @@ "well-founded-ordering-on-nat" ], 0, - "86414628140d13124c3aea3fc027bf2d" + "c3b175f812f837390536b2a65efeffa9" ], [ "OPLSS2021.Vector.reverse", @@ -172,7 +172,7 @@ "well-founded-ordering-on-nat" ], 0, - "2be67d36742820785ab576cf18601dcf" + "89eb082d43a6f2247d709d856b487073" ], [ "OPLSS2021.Vector.map", @@ -194,7 +194,7 @@ "well-founded-ordering-on-nat" ], 0, - "4d969733c3de0e42329f7cd1a0af3402" + "a4131e1250d513e64519bed90d6ed4ff" ], [ "OPLSS2021.Vector.fold_right", @@ -215,7 +215,7 @@ "well-founded-ordering-on-nat" ], 0, - "aad5234f25000678ba8d0e14938443eb" + "90d9a0f5ce2d51ad9f98c2e7351a6a88" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/IOWPInconsistent.fst.hints b/examples/paradoxes/IOWPInconsistent.fst.hints index 0215f3f3185..eea0398d2b8 100644 --- a/examples/paradoxes/IOWPInconsistent.fst.hints +++ b/examples/paradoxes/IOWPInconsistent.fst.hints @@ -13,7 +13,7 @@ "unit_inversion" ], 0, - "ce14ca969598bd50f32fcda78c551da8" + "ec351d75206ea49de52aa772f26cac29" ], [ "IOWPInconsistent.inj_injective", @@ -26,7 +26,7 @@ "token_correspondence_IOWPInconsistent.inj" ], 0, - "116eceb32c6afaadb134ec7922fcf531" + "0c5286be38e9f778a240a1597412df3f" ], [ "IOWPInconsistent.f_injective", @@ -39,7 +39,7 @@ "projection_inverse_IOWPInconsistent.Intro__0" ], 0, - "7cd9e7c7bbd5047cd8bcaa6c42f033ea" + "d8e9e64f8e54bfb55484ad4707ec702d" ], [ "IOWPInconsistent.p0", @@ -53,7 +53,7 @@ "unit_inversion" ], 0, - "a675180e2b083a36dc7c83c6d32746f5" + "3545cd3a7d8b9e28d9bebd4c27ddca84" ], [ "IOWPInconsistent.bad1", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_6725bf085bac499ccfe650045e02384d" ], 0, - "e948d7553eff0d978d28ae15e741dcf5" + "25ae5b75303d7b82e7f3768d4d066495" ], [ "IOWPInconsistent.bad2", @@ -79,7 +79,7 @@ "l_quant_interp_3d5f610aa0975e34cfaa0a7c62d6f069" ], 0, - "60c74bb35f0f4d145cf8ad07ce1848e1" + "47bdc642954ec59baa46d1be21ca482c" ], [ "IOWPInconsistent.out_wp_inconsistent", @@ -88,7 +88,7 @@ 1, [ "@query" ], 0, - "b414fc253cdb1ac513753d6fa1d06c0d" + "1250d3f0830b4295b1086753fe1bdb94" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints index 174da250bfe..56df7add632 100644 --- a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints +++ b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "e27ac274aaecdd2f95b58fe7f578c77b" + "c18da52fd1bf4d6c26b3ddd69bd7792b" ], [ "InjectiveTypeFormers.Explicit.lemma_of_squash", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d43fb00d3b651ddb3d34335c30058d58" + "d30c94dd5d9bbc2462b9da171aabaa32" ], [ "InjectiveTypeFormers.Explicit.false_of_pq", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_f8d77454f67999dfa4ab72b69f8c092c" ], 0, - "bfc3c9d8836d174ddf597d33740521aa" + "0053ff612b57129ecdaaa9f86864217d" ], [ "InjectiveTypeFormers.Explicit.not_pq", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "935616b57d8a710fdd6674f7c67470fd" + "f80b2393c34f3bd77fd4de54f2477749" ], [ "InjectiveTypeFormers.Explicit.pq", @@ -65,7 +65,7 @@ "l_not-interp", "typing_InjectiveTypeFormers.Explicit.not_pq" ], 0, - "cb89558aa34cd0385fd1ad31237d367c" + "e78e0598890231a0a0296422ee5687bf" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints b/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints index 41b19c7fe64..112eeb2687d 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, - "82529f6bb25a58e72ab48b6d4b745881" + "1e35ae3e9879c4dfee04ad8ea1289522" ], [ "InjectiveTypeFormers.SMT.pq", @@ -28,7 +28,7 @@ "token_correspondence_InjectiveTypeFormers.SMT.p" ], 0, - "a9d8571598d01b55ca3f2ffdd737e2c3" + "4f21a892daf43adda47f09a115635f65" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints index 03abe5e0cba..f54370c95e9 100644 --- a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints +++ b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints @@ -32,7 +32,7 @@ "unit_inversion" ], 0, - "1c8df5edeffbb97ed5fac4b4c44604c7" + "2b3a9df2df906050d49a800f0d3b4e80" ], [ "PropositionalExtensionalityInconsistent.propExt_sub_singleton_inconsistent", @@ -54,7 +54,7 @@ "true_interp", "typing_tok_Prims.T@tok", "unit_inversion" ], 0, - "a013f741021f81ffdc7255556b0e0cf8" + "49c3cd60aa61ce1c072dc30c9df21dc9" ], [ "PropositionalExtensionalityInconsistent.predExt_Type_inconsistent", @@ -74,7 +74,7 @@ "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "2d70bbe66b4206f06565f5896a0b89b9" + "f50051574fed052ada8e8488b4568015" ], [ "PropositionalExtensionalityInconsistent.predExt_ss_inconsistent", @@ -95,7 +95,7 @@ "typing_tok_Prims.T@tok", "unit_inversion", "unit_typing" ], 0, - "7cf80ae97caef4cf21e071c6f805d13b" + "638371b38dc6e6b45abf20b53c8357ca" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints b/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints index a588b553529..77ff7e1bb2a 100644 --- a/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints +++ b/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints @@ -13,7 +13,7 @@ "unit_inversion" ], 0, - "d9ce36ef7aa1f844cdd9b7a997401c2c" + "6a20e4f89e8bb20e0f3d547ae613ce2f" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.inj_injective", @@ -27,7 +27,7 @@ "token_correspondence_PropImpredicativeAndNonStrictlyPositiveInductives.inj" ], 0, - "18fd6ba2ca6238edbfc2d582dca2e46a" + "1d88ce107a1c2e5fd7d14d1fcae2d82b" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.f_injective", @@ -40,7 +40,7 @@ "projection_inverse_PropImpredicativeAndNonStrictlyPositiveInductives.IntroA__0" ], 0, - "f1ea874a5b73a99c392dff377cf313e2" + "0c012cac8b223264ae06b1cfef0b32b1" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.p0", @@ -54,7 +54,7 @@ "unit_inversion" ], 0, - "6e2c1af032a094d44a0daa6003a96b81" + "494e58280df993f043de2a15dff8b135" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad1", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_104aa28b549e0db1b9235eb785e4cc79" ], 0, - "d3087ccac18ff6150022242f1f11e580" + "9bb410f46b92e9cc641783534c2504ef" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad2", @@ -83,7 +83,7 @@ "l_quant_interp_47acc1ba6e48f85f7ef66adc112f8bce" ], 0, - "15951bd8d59cb35f4417c7f99c0cf643" + "152e07cbc289a6e905996520e0ce462a" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "553a8b3bd5315f86c2cf165d870ccdcc" + "17ebdbdd8ee70541192582ccf054fb6d" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.worse", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "66dc5fa25517e044374f3a0c3a596386" + "816d0c3cd1c258eab9d8d319b82d1364" ] ] ] \ No newline at end of file diff --git a/examples/param/Param.fst b/examples/param/Param.fst index 688ba539b29..24e0beacf00 100644 --- a/examples/param/Param.fst +++ b/examples/param/Param.fst @@ -1,9 +1,9 @@ module Param open FStar.List -open FStar.Tactics +open FStar.Tactics.V2 -type bvmap = list (bv & (binder & binder & binder)) +type bvmap = list (namedv & (binder & binder & binder)) let fvmap = list (fv * fv) noeq @@ -38,17 +38,17 @@ let fresh_binder_named (nm:string) (t:typ) : Tac binder = // useful? //let n = fresh () in //let nm = nm ^ "_" ^ string_of_int n in - Tactics.fresh_binder_named nm t + Tactics.V2.fresh_binder_named nm t let app_binders (t:term) (bs:list binder) : Tac term = - mk_e_app t (Tactics.map binder_to_term bs) + mk_e_app t (List.Tot.map binder_to_term bs) -let push_bv_to_state (bv:bv) (b0 b1 b2 : binder) (s:param_state) : param_state = - { s with bvmap = (bv, (b0, b1, b2)) :: s.bvmap } +let push_var_to_state (v:namedv) (b0 b1 b2 : binder) (s:param_state) : param_state = + { s with bvmap = (v, (b0, b1, b2)) :: s.bvmap } exception NotARecFV exception Unsupported of string -exception NotFoundBV of bv +exception NotFoundBV of namedv exception NotFoundFV of fv let lookup_rec_fv (s:param_state) (f:fv) : Tac fv = @@ -64,24 +64,24 @@ let lookup_rec_fv (s:param_state) (f:fv) : Tac fv = let push_fv (f1 f2 : fv) (s:param_state) : param_state = { s with recs = (f1,f2)::s.recs } -let lookup (s:param_state) (bv:bv) : Tac (binder & binder & binder) = +let lookup (s:param_state) (v:namedv) : Tac (binder & binder & binder) = let rec aux (bvm : bvmap) : Tac (binder & binder & binder) = match bvm with | [] -> - raise (NotFoundBV bv) - | (bv', r)::tl -> - if compare_bv bv bv' = Order.Eq + raise (NotFoundBV v) + | (v', r)::tl -> + if (inspect_namedv v).uniq = (inspect_namedv v').uniq then r else aux tl in aux s.bvmap let replace_var (s:param_state) (b:bool) (t:term) : Tac term = - match inspect_ln t with - | Tv_Var bv -> + match inspect t with + | Tv_Var v -> begin try - let (x, y, _) = lookup s bv in - let bv = if b then (inspect_binder y).binder_bv else (inspect_binder x).binder_bv in + let (x, y, _) = lookup s v in + let bv = binder_to_namedv (if b then y else x) in pack (Tv_Var bv) with (* Maybe we traversed a binder and there are variables not in the state. @@ -106,8 +106,7 @@ let string_param = param_of_eqtype string let binder_set_qual (b:binder) (q:aqualv) : Tac binder = - let bview = inspect_binder b in - pack_binder {bview with binder_qual=q} + {b with qual=q} let admit_param : #a0:Type -> #a1:Type -> (#aR: (a0 -> a1 -> Type0)) -> u1:unit -> u2:unit -> unit_param u1 u2 -> @@ -131,11 +130,12 @@ let rec param' (s:param_state) (t:term) : Tac term = begin match inspect_comp c with | C_Total t2 -> let (s', (bx0, bx1, bxR)) = push_binder b s in - let q = (inspect_binder b).binder_qual in + let q = b.qual in let bf0 = fresh_binder_named "f0" (replace_by s false t) in let bf1 = fresh_binder_named "f1" (replace_by s true t) in - let res = `((`#(param' s' t2)) (`#(tapp q bf0 bx0)) (`#(tapp q bf1 bx1))) in + let b2t = binder_to_term in + let res = `((`#(param' s' t2)) (`#(tapp q (b2t bf0) (b2t bx0))) (`#(tapp q (b2t bf1) (b2t bx1)))) in tabs bf0 (tabs bf1 (mk_tot_arr [bx0; bx1; bxR] res)) | _ -> raise (Unsupported "effects") end @@ -212,7 +212,7 @@ and param_pat (s:param_state) (p : pattern) : Tac (param_state & (pattern & patt in //dump ("param_pat of " ^ term_to_string (quote p)); match p with - | Pat_Cons fv us pats -> + | Pat_Cons {head=fv; univs=us; subpats=pats} -> let fv' = param_fv s fv in let (s', (pats0, pats1, patsr)) = fold_left (fun (s, (pats0, pats1, patsr)) (p, i) -> @@ -229,15 +229,16 @@ and param_pat (s:param_state) (p : pattern) : Tac (param_state & (pattern & patt let pats0 = List.Tot.rev pats0 in let pats1 = List.Tot.rev pats1 in let patsr = List.Tot.rev patsr in - (s', (Pat_Cons fv us pats0, - Pat_Cons fv us pats1, - Pat_Cons fv' us patsr)) + (s', (Pat_Cons {head=fv; univs=us; subpats=pats0}, + Pat_Cons {head=fv; univs=us; subpats=pats1}, + Pat_Cons {head=fv'; univs=us; subpats=patsr})) - | Pat_Var bv sort -> - let (s', (b0, b1, bR)) = push_binder (mk_binder bv (unseal sort)) s in - (s', (Pat_Var (bv_of_binder b0) (Sealed.seal (binder_sort b0)), - Pat_Var (bv_of_binder b1) (Sealed.seal (binder_sort b1)), - Pat_Var (bv_of_binder bR) (Sealed.seal (binder_sort bR)))) + | Pat_Var {v; sort} -> + let b = namedv_to_binder v (unseal sort) in + let (s', (b0, b1, bR)) = push_binder b s in + (s', (Pat_Var {v=binder_to_namedv b0; sort = Sealed.seal (binder_sort b0)}, + Pat_Var {v=binder_to_namedv b1; sort = Sealed.seal (binder_sort b1)}, + Pat_Var {v=binder_to_namedv bR; sort = Sealed.seal (binder_sort bR)})) | Pat_Dot_Term t -> fail "no dot pats" @@ -247,10 +248,10 @@ and param_pat (s:param_state) (p : pattern) : Tac (param_state & (pattern & patt // Pat_Dot_Term (bv_of_binder bR) (param' s' t))) | Pat_Constant c -> - let b = fresh_bv_named "cR" in + let b = fresh_binder_named "cR" (`_) in (s, (Pat_Constant c, Pat_Constant c, - Pat_Var b (seal (`_)))) + Pat_Var {v=binder_to_namedv b; sort=seal (`_)})) and param_br (s:param_state) (br : branch) : Tac branch = let (pat, t) = br in @@ -258,21 +259,20 @@ and param_br (s:param_state) (br : branch) : Tac branch = (pat', param' s' t) and push_binder (b:binder) (s:param_state) : Tac (param_state & (binder & binder & binder)) = - let bv = (inspect_binder b).binder_bv in - let q = (inspect_binder b).binder_qual in - let typ = (inspect_binder b).binder_sort in - let name = (inspect_bv bv).bv_ppname in - let decor (s : sealed string) (t : string) : Tac string = (unseal s ^ t) in + let q = b.qual in + let typ = b.sort in + let name = unseal b.ppname in + let decor (s : string) (t : string) : Tac string = (s ^ t) in let bx0 = fresh_binder_named (decor name "0") (replace_by s false typ) in let bx1 = fresh_binder_named (decor name "1") (replace_by s true typ) in - let bxr = fresh_binder_named (decor name "R") (`(`#(param' s typ)) (`#bx0) (`#bx1)) in + let bxr = fresh_binder_named (decor name "R") (`(`#(param' s typ)) (`#(binder_to_term bx0)) (`#(binder_to_term bx1))) in (* respect implicits *) let bx0 = binder_set_qual bx0 q in let bx1 = binder_set_qual bx1 q in let bxr = binder_set_qual bxr q in - let s = push_bv_to_state bv bx0 bx1 bxr s in + let s = push_var_to_state (binder_to_namedv b) bx0 bx1 bxr s in (s, (bx0, bx1, bxr)) let init_param_state : param_state = { @@ -286,9 +286,10 @@ let param (t:term) : Tac term = //dump ("res = " ^ term_to_string t); t -let fv_to_tm (f:fv) : Tac term = Tv_FVar f +let fv_to_tm (f:fv) : Tac term = pack (Tv_FVar f) let param_ctor (nm_ty:name) (s:param_state) (c:ctor) : Tac ctor = + (* dump ("ctor0: " ^ term_to_string (quote c)); *) let nm, ty = c in let nm' = cur_module () @ [last nm ^ "_param"] in let bs, c = collect_arr_bs ty in @@ -312,18 +313,19 @@ let param_ctor (nm_ty:name) (s:param_state) (c:ctor) : Tac ctor = let ty' = mk_tot_arr bs cod in let r = (nm', ty') in - //dump ("param_ctor : " ^ term_to_string (quote r)); + (* dump ("ctor1: " ^ term_to_string (quote r)); *) r //let absN (bs : list binder) (t : term) : Tac term = // Tactics.Util.fold_right (fun b t -> tabs b t) bs t -let param_inductive (se:sigelt{Sg_Inductive? (inspect_sigelt se)}) (fv0 fv1 : fv) : Tac decls = +let param_inductive (se:sigelt) (fv0 fv1 : fv) : Tac decls = match inspect_sigelt se with - | Sg_Inductive nm us params typ ctors -> + | Sg_Inductive {nm; univs; params; typ; ctors} -> + (* dump ("typ = " ^ term_to_string typ); *) let s = push_fv fv0 fv1 init_param_state in let orig = app_binders (fv_to_tm (pack_fv nm)) params in - //dump ("orig = " ^ term_to_string orig); + (* dump ("orig = " ^ term_to_string orig); *) let (s, param_bs) = fold_left (fun (s, bvs) b -> let (s, (bx0, bx1, bxr)) = push_binder b s in //dump ("bx0 = " ^ term_to_string (quote bx0)); @@ -334,19 +336,19 @@ let param_inductive (se:sigelt{Sg_Inductive? (inspect_sigelt se)}) (fv0 fv1 : fv let param_bs = List.Tot.rev param_bs in //Tactics.Util.iter (fun bv -> dump ("param bv = " ^ binder_to_string bv)) param_bs; let typ = mk_e_app (param' s typ) [replace_by s false orig; replace_by s true orig] in - let ctors = Tactics.map (param_ctor nm s) ctors in - let se = Sg_Inductive (inspect_fv fv1) us param_bs typ ctors in - //dump ("param_ind : " ^ term_to_string (quote se)); + (* dump ("new typ = " ^ term_to_string typ); *) + let ctors = Tactics.V2.map (param_ctor nm s) ctors in + let se = Sg_Inductive {nm=inspect_fv fv1; univs; params=param_bs; typ; ctors} in + (* dump ("param_ind : " ^ term_to_string (quote se)); *) [pack_sigelt se] + | _ -> fail "" -let param_letbinding (se:sigelt{Sg_Let? (inspect_sigelt se)}) (fv0 fv1 : fv) : Tac decls = +let param_letbinding (se:sigelt) (fv0 fv1 : fv) : Tac decls = match inspect_sigelt se with - | Sg_Let r [lb] -> - let lbv = inspect_lb lb in - let rrr = param lbv.lb_typ in + | Sg_Let {isrec=r; lbs=[lb]} -> + let rrr = param lb.lb_typ in let expected_typ = norm_term [] (mk_e_app rrr [fv_to_tm fv0; fv_to_tm fv0]) in - let se' = Sg_Let r [pack_lb {lb_fv=fv1; lb_us=lbv.lb_us ; lb_typ=expected_typ; lb_def= (param lbv.lb_def)}] - in + let se' = Sg_Let {isrec=r; lbs=[{lb_fv=fv1; lb_us=lb.lb_us ; lb_typ=expected_typ; lb_def= (param lb.lb_def)}]} in [pack_sigelt se'] | _ -> fail "no mutual recursion" @@ -358,8 +360,8 @@ let paramd (nm:string) : Tac decls = match se with | None -> fail "param_letbinding: not found" | Some se -> let decls = match inspect_sigelt se with - | Sg_Let _ _ -> param_letbinding se fv0 fv1 - | Sg_Inductive _ _ _ _ _ -> param_inductive se fv0 fv1 + | Sg_Let _ -> param_letbinding se fv0 fv1 + | Sg_Inductive _ -> param_inductive se fv0 fv1 | _ -> fail "paramd: unsupported sigelt" in //dump ("returning : " ^ term_to_string (quote decls)); @@ -392,8 +394,12 @@ let snd (#a #b : Type0) (p : a & b) : b = match p with | Mktuple2 x y -> y <: b +#set-options "--print_bound_var_types --print_universes" + %splice[tuple2_param] (paramd (`%tuple2)) + %splice[fst_param] (paramd (`%fst)) + %splice[snd_param] (paramd (`%snd)) diff --git a/examples/param/Param.fst.hints b/examples/param/Param.fst.hints index e0514b71f6c..204e33b3eec 100644 --- a/examples/param/Param.fst.hints +++ b/examples/param/Param.fst.hints @@ -1,5 +1,5 @@ [ - "\u001däg€§Ý=V\u001a˜qÏ\u0010!a", + "\u001b\u001f ƒ©>ÞMmμE”€cx", [ [ "Param.zip3", @@ -13,7 +13,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "75404dd37260d7f5f0cbd99775e91003" + "ba7532a61973ebdd7b933c3b49c98f84" ], [ "Param.last", @@ -27,7 +27,7 @@ "projection_inverse_BoxBool_proj_0", "typing_FStar.List.Tot.Base.rev" ], 0, - "3b2aafbf4644a1ffc9becdcc9b090ea2" + "f232b783436f321aad6a0a2bfeef5d01" ], [ "Param.__proj__Unsupported__item__uu___", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_d653547ec2248ca788117a9e37aaea8c" ], 0, - "ae223e6a70f18a0c9bb066639e8d0672" + "86e58f1dc83c084a8d5b3772039d0ef2" ], [ "Param.__proj__NotFoundBV__item__uu___", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_807f58d0ef35f41bad94e4e67da99eb0" ], 0, - "719dfe34e758af24af123eef228d830e" + "02df67dceab91628bc6e307a39dc1c51" ], [ "Param.__proj__NotFoundFV__item__uu___", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_9fb97dbd15df6c3243efc7410c19c103" ], 0, - "0cf9a144d903a0c1f7f59b0f4e2209a4" + "bf1b813af8f7ae111865d6b8839492c8" ], [ "Param.lookup_rec_fv", @@ -78,7 +78,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "80ad250cfd3b0f2fc19178de257827f1" + "822d20cfd8c57a4a580a7ee2c19975db" ], [ "Param.lookup", @@ -86,14 +86,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Param.bvmap", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.namedv", + "equation_Param.bvmap", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1db5e2ee5f62fd8c72f71cbe19c354b8" + "9bd91517a3c9a682b903e0a5753b1490" ], [ "Param.param'", @@ -123,13 +126,14 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "string_inversion", "string_typing", "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Reflection.Builtins.explode_qn", - "typing_FStar.Reflection.Builtins.implode_qn", - "typing_FStar.Reflection.Builtins.inspect_fv", - "typing_FStar.Reflection.Builtins.lookup_typ", "typing_Prims.strcat" + "typing_FStar.Reflection.V2.Builtins.explode_qn", + "typing_FStar.Reflection.V2.Builtins.implode_qn", + "typing_FStar.Reflection.V2.Builtins.inspect_fv", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_Prims.strcat" ], 0, - "a3206d13c3fdf9a4516a2619fd13e4ec" + "7f252fbb56db4b61124936c1ce8424fc" ], [ "Param.param'", @@ -138,16 +142,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "disc_equation_FStar.Tactics.NamedView.Pat_Cons", + "disc_equation_FStar.Tactics.NamedView.Pat_Constant", + "disc_equation_FStar.Tactics.NamedView.Pat_Dot_Term", + "disc_equation_FStar.Tactics.NamedView.Pat_Var", + "fuel_guarded_inversion_FStar.Tactics.NamedView.pattern", "projection_inverse_BoxBool_proj_0" ], 0, - "cca2a99f22d3b8d75b60ea619f232d90" + "5ea870920c9b37557c0b0a7683705d67" ], [ "Param.param_inductive", @@ -156,10 +159,58 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e52bd2ce408bcd557014878918b07b62" + "constructor_distinct_FStar.Tactics.NamedView.Sg_Inductive", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.V2.Data.ctor", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "2ed3d32ad24a7bcd611e8d29a35ebb31" + ], + [ + "Param.param_letbinding", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Tactics.NamedView_pretyping_6431c17bd4ef31ed4e5c8a8ef7dd87dc", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Sg_Let", + "disc_equation_FStar.Tactics.NamedView.Unk", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Let__payload_lbs", + "proj_equation_FStar.Tactics.NamedView.Sg_Let__0", + "projection_inverse_BoxBool_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_0c417824af864c5dfeb7045b84af008c", + "typing_FStar.Tactics.NamedView.__proj__Mknamed_sigelt_view__Sg_Let__payload__item__lbs", + "typing_FStar.Tactics.NamedView.__proj__Sg_Let__item___0" ], 0, - "84f922daa2c4b7b820158db71ccce8fc" + "cb8a6e5e8425b88d654cb1ffa41131be" ], [ "Param.paramd", @@ -183,11 +234,11 @@ "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "string_inversion", "typing_FStar.Reflection.Builtins.explode_qn", - "typing_FStar.Reflection.Builtins.lookup_typ" + "string_inversion", "typing_FStar.Reflection.V2.Builtins.explode_qn", + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "693f5982e5c8440ded285f5f04984583" + "80c63cf6bc9b1caa3f0b6febaf86096c" ], [ "Param.nat", @@ -196,7 +247,7 @@ 1, [ "@query" ], 0, - "a412d77e60c1f96316e47655184db17e" + "656dc9356ea6c9b6cd374add631406d2" ], [ "Param.__proj__S__item___0", @@ -208,7 +259,7 @@ "refinement_interpretation_Tm_refine_81c7104d9f66ba8cefa7d89150b98abb" ], 0, - "1f65ce830a6ec15196a8277a3eaa706f" + "765e1e801f85d7221d4536a1f8698715" ], [ "Param.__proj__S_param__item___00", @@ -220,7 +271,7 @@ "refinement_interpretation_Tm_refine_6773e77e235181d61a7f8a9533077255" ], 0, - "2070cce40ad67024f674228a5df9d720" + "37d50ae2e6f4cbac8e654e92522e908e" ], [ "Param.__proj__S_param__item___01", @@ -232,7 +283,7 @@ "refinement_interpretation_Tm_refine_6773e77e235181d61a7f8a9533077255" ], 0, - "407470251a3b25d69552a931aa8da3cd" + "40495afcc0040c7ec64e6f61c4651499" ], [ "Param.__proj__S_param__item___0R", @@ -244,7 +295,7 @@ "refinement_interpretation_Tm_refine_6773e77e235181d61a7f8a9533077255" ], 0, - "c5699e35cd1c53f08fef3e2c13a03b60" + "06d8a683a62c6003ae53328c7933e277" ], [ "Param.safepred", @@ -257,7 +308,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "64f8c0276270ce9410235bf14087dc37" + "c3b227ac0529e2cb428c0ce9710a1d70" ], [ "Param.safepred_param", @@ -276,7 +327,7 @@ "typing_tok_Param.Z_param@tok" ], 0, - "8525521a70755c9f226abe519415834c" + "ee1c2027ded41dfa9bcb8128b44ddb6b" ], [ "Param.__proj__Mktuple2_param__item___1R", @@ -285,7 +336,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Param.Mktuple2_param" ], 0, - "14048fcaca7c3b19da87a3028f5ace78" + "d853aff331eced31374a89469c1c5951" ], [ "Param.__proj__Mktuple2_param__item___2R", @@ -294,7 +345,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Param.Mktuple2_param" ], 0, - "4c187d4421ef97ce504922435dc49f8c" + "fd5caf4119c72825e1f7e3b1c047a653" ], [ "Param.fst_param", @@ -315,7 +366,7 @@ "projection_inverse_Param.Mktuple2_param__b1" ], 0, - "7ebeae86ab4f8922b26b99ae206c1dff" + "1323388357e47c6985c1a02a6ab840e0" ], [ "Param.snd_param", @@ -336,7 +387,7 @@ "projection_inverse_Param.Mktuple2_param__b1" ], 0, - "34f0098310bb5903c65c22fea055a036" + "9a2b79231d7bb121114e4b340ebbc542" ], [ "Param.__proj__Cons_param__item__hd0", @@ -348,7 +399,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "7c6a4f84bcc0e7a19f8b302506800100" + "0f48e898f82d23316eb56299942c6588" ], [ "Param.__proj__Cons_param__item__hd1", @@ -360,7 +411,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "7ddd94ce81add6b202261f6039703129" + "4cbb80937d297cf90538adc6d5aec93c" ], [ "Param.__proj__Cons_param__item__hdR", @@ -372,7 +423,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "db2fe5c495d0406ff7bf8c7d3ea851a5" + "fd463012ea330111e6d3cfdd16bd3b08" ], [ "Param.__proj__Cons_param__item__tl0", @@ -384,7 +435,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "c4e2b2b31f76f7fdf1a17a24cd8227a3" + "2c206251432b5a4f54e1a6331a44b2b8" ], [ "Param.__proj__Cons_param__item__tl1", @@ -396,7 +447,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "253fe7c55fc1269d180630e879401448" + "438c559ac2268817509c4cde8e33c05b" ], [ "Param.__proj__Cons_param__item__tlR", @@ -408,7 +459,7 @@ "refinement_interpretation_Tm_refine_5f0965cf0eff942418f76768011fdea9" ], 0, - "e35c2a56941b14602cc3fe9ffefce2d3" + "adcee7de838fc09542c5b8820171afdf" ], [ "Param.safetail", @@ -421,7 +472,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9274ee544d5a48130f70682a6958d6a3" + "8f181e46a95adcf3629e05eb45a4f338" ], [ "Param.safetail_param_manual", @@ -440,7 +491,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "4f00ede8415b4f1f6aa3f4f059be5aae" + "f2392d4b5edcec29b4f626a64af0f9bc" ], [ "Param.safetail_param", @@ -459,7 +510,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "fd152e0d60704fccb99ab911edc0a124" + "1ee23ee8d62213be6dd265d5636983b0" ], [ "Param.list_rec_of_function_is_map_1", @@ -493,7 +544,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ef8586a26ca70babb0716322593d728e" + "1cdb85bbbe5aee0227184c192a27af8e" ], [ "Param.list_rec_of_function_is_map_2", @@ -526,7 +577,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "0efa5404bbe482e7e0beacd63e5f3b36" + "f46f07642f6558cf98b17a94c4c13ed8" ], [ "Param.reverse_commutes_with_map", @@ -535,7 +586,7 @@ 1, [ "@query" ], 0, - "b1db9930c88039517fb7812000aca365" + "6a9f8b16b70e0b4dcaf733648034d19d" ], [ "Param.app", @@ -550,7 +601,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "2a566a91a35ec98a30b886280a68b7fc" + "7d1c05192c3c4d478e671feadb041495" ], [ "Param.app_rel", @@ -589,7 +640,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "88f33cc570840fff0b8d08821df81137" + "1981e4f03730a942275ff35d1f60d7a1" ], [ "Param.reverse", @@ -604,7 +655,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "1957f1231916907ed7933414c62e3495" + "fe5d44cd30c4ce2d01e3de20ec6ae89a" ], [ "Param.reverse_rel", @@ -641,7 +692,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5df32818e5c8525f1d52bd41067c7a90" + "f85ab4e8c21ba16701c45a858b1d46d4" ], [ "Param.__proj__Mklabeled_interface_param__item__labeledR", @@ -653,7 +704,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "597999b38fa865f41a5f26c684c05ec3" + "eb0e0cce7be43c6f4b44e745aeb49264" ], [ "Param.__proj__Mklabeled_interface_param__item__mk_labeled0", @@ -665,7 +716,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "f958f9db823d90f8855d7114a093d422" + "aa5218649241084ecba43919c9c9d0c0" ], [ "Param.__proj__Mklabeled_interface_param__item__mk_labeled1", @@ -677,7 +728,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "14f89964af87779508594aa3d0dc3ec2" + "085ab12d722214f115da50b2be825166" ], [ "Param.__proj__Mklabeled_interface_param__item__mk_labeledR", @@ -689,7 +740,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "0bb413e1e380240dff9dcb31ad1ef017" + "0741b3ba2e52f371287873f1580e790e" ], [ "Param.__proj__Mklabeled_interface_param__item__label_of0", @@ -701,7 +752,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "b39ae90aebf5487d13bab8533ce2010b" + "8014d99081483733c99dee45c9ad6c41" ], [ "Param.__proj__Mklabeled_interface_param__item__label_of1", @@ -713,7 +764,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "caea4afa844da3c3b86d3e0880da7a7c" + "e371b23fe885441d6bc98d4ee677c304" ], [ "Param.__proj__Mklabeled_interface_param__item__label_ofR", @@ -725,7 +776,7 @@ "data_elim_Param.Mklabeled_interface_param" ], 0, - "b23d55fa9acb20c2fd615719b81beb00" + "0c5587d4f97d4e519300a490398b1b26" ], [ "Param.proj_mk_labeled", @@ -738,7 +789,7 @@ "token_correspondence_Param.proj_labeled" ], 0, - "e2ef0b299ed71cf8672fe110ab3d93fd" + "df264d8d5c681e71f9bd185c08b8c61c" ], [ "Param.proj_label_of", @@ -751,7 +802,7 @@ "token_correspondence_Param.proj_labeled" ], 0, - "e2736506557184600b6ae80304bc7504" + "751334540b023475b13a37806b70f038" ], [ "Param.proj_labeled_param", @@ -771,7 +822,7 @@ "token_correspondence_Param.proj_labeled" ], 0, - "36db0e764b443b37a53716363f066a4c" + "a561b42dbc002a96f60c7845d9d51354" ], [ "Param.proj_mk_labeled_param", @@ -783,6 +834,7 @@ "equation_Param.proj_labeled_param", "equation_Param.proj_mk_labeled", "fuel_guarded_inversion_Param.labeled_interface_param", + "interpretation_Tm_abs_7bd631bf6101475217ce0823018e06a9", "projection_inverse_Param.Mklabeled_interface_mk_labeled", "projection_inverse_Param.Mklabeled_interface_param_label_of0", "projection_inverse_Param.Mklabeled_interface_param_label_of1", @@ -795,7 +847,7 @@ "token_correspondence_Param.proj_mk_labeled" ], 0, - "9279d17b55942cab11694db012526acd" + "1dc2666fbbc8b692888c83752fb0266d" ], [ "Param.proj_label_of_param", @@ -806,6 +858,7 @@ "@MaxIFuel_assumption", "@query", "equation_Param.proj_label_of", "equation_Param.proj_labeled", "equation_Param.proj_labeled_param", "fuel_guarded_inversion_Param.labeled_interface_param", + "interpretation_Tm_abs_7bd631bf6101475217ce0823018e06a9", "projection_inverse_Param.Mklabeled_interface_label_of", "projection_inverse_Param.Mklabeled_interface_labeled", "projection_inverse_Param.Mklabeled_interface_param_label_of0", @@ -820,7 +873,7 @@ "token_correspondence_Param.proj_labeled_param" ], 0, - "2e1a4d54ac874b50df50481f0a8097b5" + "7c1c6aab3a1fa1a9987b649419a75028" ] ] ] \ No newline at end of file diff --git a/examples/preorders/AllocST.fst.hints b/examples/preorders/AllocST.fst.hints index c824559aa30..0ca91a97972 100644 --- a/examples/preorders/AllocST.fst.hints +++ b/examples/preorders/AllocST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "53fe4ed429e74a692388b72adcd3bd43" + "660df640275decae59073cf830cdc8fe" ], [ "AllocST.1679", @@ -23,7 +23,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "41f048ab95be1fc604c895ef3151ecf4" + "3a1d37fbabc00eb6c21cbb66c626a650" ], [ "AllocST.ist_witnessed", @@ -38,7 +38,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "4530cca72195647772d6280d89e71c91" + "0f0aabb015fbd7ae10d159aaf93ca587" ], [ "AllocST.ist_witnessed", @@ -53,7 +53,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "99b6eb704e342c0ac02c6ab9550317a9" + "6f7a26cb1853b1642cf04dd3aa35ea28" ], [ "AllocST.ist_witness", @@ -68,7 +68,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "65ec4e75b00aea8c8f572fb2019ffb0f" + "cfb2dbc0c1eb7b21075bcfe6a51e2bfa" ], [ "AllocST.ist_recall", @@ -83,7 +83,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "a752cbd1a0e97a4737043ff440e3a209" + "15cc08263e2efcac2583c2f6f32be0c5" ], [ "AllocST.ref", @@ -97,7 +97,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "72424292c8105fca74d315385715a093" + "8ed85d60e59f4cd3b4590194ae48e2bf" ], [ "AllocST.alloc", @@ -117,7 +117,7 @@ "typing_FStar.Pervasives.Native.snd", "typing_NatHeap.ref" ], 0, - "161bed0c80c03a5b9f56f4c8533baa89" + "6383408e8e1b77c90a5af23321472128" ], [ "AllocST.read", @@ -126,7 +126,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "f455afe03d5988d9954bc2064a306e2f" + "0d51eb496e3032722f954e6a13e3db72" ], [ "AllocST.read", @@ -142,7 +142,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "4a6e3f7ae3d0cbde21754e474d8e0b42" + "699a3f88baddbe4e086042e678e13c90" ], [ "AllocST.write", @@ -151,7 +151,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "fcd92f37ee0b7b1258e195be634f6d03" + "f8343720cc133e8573a6e283f9e76184" ], [ "AllocST.write", @@ -169,7 +169,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "a6268dd3f3dda748a3714846dac07877" + "699733af095c17f3f61411bb434b3154" ], [ "AllocST.recall", @@ -184,7 +184,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "1e7b058239a4097d019d5c04259eaf81" + "72bfb2629dceebce39969e34e452c89c" ] ] ] \ No newline at end of file diff --git a/examples/preorders/AllocSTwHeaps.fst.hints b/examples/preorders/AllocSTwHeaps.fst.hints index 7611a00922a..bbd7b196b91 100644 --- a/examples/preorders/AllocSTwHeaps.fst.hints +++ b/examples/preorders/AllocSTwHeaps.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "6219ed795a9c0dcb6714807bfb095e40" + "62f74cacc82f1a07c88186f0d78f623d" ], [ "AllocSTwHeaps.ist_witnessed", @@ -29,7 +29,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "97e369bac490fd84c7742e304b4fca20" + "177bb56f59b0774bf72f7a183f1fc7b9" ], [ "AllocSTwHeaps.ist_witnessed", @@ -44,7 +44,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "0f3b3c2e1f9e7941380a088e475b6967" + "8eca0bcfc0898a4ed8e1c5bf9c478336" ], [ "AllocSTwHeaps.ist_witness", @@ -59,7 +59,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "154be007388fad190d7b0b7ee552d152" + "9e367dc202c450b0460aa3da330b374c" ], [ "AllocSTwHeaps.ist_recall", @@ -74,7 +74,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "b1fcb7be6ded91c55a010bf619effb4e" + "2aae0415e1ccb15e93dda8c7b5520559" ], [ "AllocSTwHeaps.contains_lemma", @@ -93,7 +93,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8b99c005315bd109504621a9bbd5174d" + "b405335fdcf47f5afd24f338625d0ec5" ], [ "AllocSTwHeaps.ref", @@ -115,7 +115,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a956cbaca193e3e0366e4124cb97641d" + "3d900b5c1cc5a70aa948748925210de2" ], [ "AllocSTwHeaps.alloc", @@ -146,7 +146,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a1518260d167944a1fb75f86afa7f194" + "9ef72ef3182e8c27728effd0a2abf832" ], [ "AllocSTwHeaps.read", @@ -160,7 +160,7 @@ "typing_AllocSTwHeaps.sel" ], 0, - "e33f899f1ba1bd10e561cb2134169a80" + "f11105bf3c0833f01224de21bd4d0c06" ], [ "AllocSTwHeaps.write", @@ -178,7 +178,7 @@ "typing_AllocSTwHeaps.upd", "typing_FStar.Heap.trivial_preorder" ], 0, - "e75afaab48dfc38171f3495fec264f04" + "52858e4794376f5318d41d108bd81cd3" ], [ "AllocSTwHeaps.precise_write", @@ -196,7 +196,7 @@ "typing_AllocSTwHeaps.upd", "typing_FStar.Heap.trivial_preorder" ], 0, - "d3cb4735102670ff22682a84b48a6cc8" + "036f8e3001966c2643b9e49edc9308b0" ], [ "AllocSTwHeaps.recall", @@ -219,7 +219,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1d4d41ea1c31cf6f9bccc233b3fb1e97" + "0056d4db07955f68666748ed1b81e630" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Ariadne.fst.hints b/examples/preorders/Ariadne.fst.hints index 7c2ea2b9df8..38665f436a5 100644 --- a/examples/preorders/Ariadne.fst.hints +++ b/examples/preorders/Ariadne.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "304181ff4a1e00c95dbd91279ba971a4" + "5b5394bb9ba34a0b36b35bae3a1acb97" ], [ "Ariadne.__proj__Ok__item__saved", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_433d08d8d7a72b888729343254dd5f4a" ], 0, - "85a687f9cf6689fea4545ae747efe97c" + "0c2732477fe0b5d0959ef8faf901f89e" ], [ "Ariadne.__proj__Recover__item__read", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "083e2f08a857dba6b80e144a311fbe39" + "b531ae9c5b4657d00bd38dc5e9be1f50" ], [ "Ariadne.__proj__Recover__item__other", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "ae36af86827c45035c8735caea3dd0a5" + "205d1d3a6a1e3355c759ea916a39bbf4" ], [ "Ariadne.__proj__Writing__item__written", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "de9d415daf63dc66b063bd7a1df83266" + "20ccea72bfa26309c4a08e3a5e43c763" ], [ "Ariadne.__proj__Writing__item__old", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "ea4cc2d722fafc4dbabab8ba07243955" + "cb09e19cb6a06d9ee0cdb9cf9d10bd3e" ], [ "Ariadne.__proj__Crash__item__read", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "6f6836c4d65fe941d4025709688aabdd" + "220e303e482a8a9ddfd8fb3def4668e3" ], [ "Ariadne.__proj__Crash__item__other", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "2a8d05fa119db25dd322d8bc0333fc29" + "f68536281e2978dd3b655d96a987afa4" ], [ "Ariadne.counter", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8aa5ebaef94361452026a6160aa3ed79" + "a122cd41cef1650a285c05e9663da5da" ], [ "Ariadne.saved", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e3dc027e5ed45ed6f351d3e785c646f6" + "c440ac21660f6a454c4e4ab41e203f7b" ], [ "Ariadne.preorder'", @@ -152,7 +152,7 @@ "l_quant_interp_2d93d1e2e978575420277bf29c7a470b" ], 0, - "c28afe1c7ba1f11ce440841e563d19be" + "ddb30b035ecc21bab7acea1ae6184ce7" ], [ "Ariadne.saved_backup", @@ -174,7 +174,7 @@ "typing_Ariadne.preorder_" ], 0, - "cb34b9d3f3b43c469b7ef6631fc298e5" + "4d01b65be7f757c6c5e947930e5cb647" ], [ "Ariadne.backup", @@ -187,7 +187,7 @@ "typing_Ariadne.saved_backup" ], 0, - "d14c9588f6bfba5ef6e48503bcccc6bf" + "4af9bcfb876f3affbf8b1ab76b727940" ], [ "Ariadne.log_pre", @@ -209,7 +209,7 @@ "typing_Ariadne.backup" ], 0, - "850515e048735b3d77ad7573815a2998" + "da575bf21c19118a8b80b435aeaf3a16" ], [ "Ariadne.create", @@ -258,7 +258,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty" ], 0, - "53ab83910a03c51f176421ba5fef232a" + "1e0117d5d44fa9cfcd1f8f96103a46bb" ], [ "Ariadne.pre0", @@ -272,7 +272,7 @@ "fuel_guarded_inversion_Ariadne.case" ], 0, - "f1756dec11facada35805677e4d819a6" + "0e1e00381644e85a20c4ee408236a304" ], [ "Ariadne.step0", @@ -286,7 +286,7 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "04c85adeb9850865056be163823be328" + "36a8ed39e521425ba0e8a03c77e05df0" ], [ "Ariadne.save", @@ -371,7 +371,7 @@ "typing_FStar.Set.singleton", "unit_inversion", "unit_typing" ], 0, - "f4f886898f970fc0d84d79bbb78dfec5" + "d62295e54f98b18abc23b14406a8cfce" ], [ "Ariadne.step1", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_4187e98250438914a336576d12992752" ], 0, - "2a2ff8408af63e85146ac963b0830843" + "8dd657beaeb4924d3bd966d8f5cf0ba5" ], [ "Ariadne.incr", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7e3fd1dc316f90425423b7b6442ecd6f" + "39534f053f0fa04b61c43ad1b63edbd4" ], [ "Ariadne.incr", @@ -443,7 +443,7 @@ "unit_inversion", "unit_typing" ], 0, - "ad9dfd0ac714bac502ea6303c1dc1b17" + "df04a0b6b12afe7242dc53546ded879f" ], [ "Ariadne.store", @@ -452,7 +452,7 @@ 1, [ "@query", "assumption_Ariadne.case__uu___haseq" ], 0, - "7b6216f8a95b822a91c0dbdd1e5f8cd5" + "5abdd3f3f8953b4f0a94b9846b32d434" ], [ "Ariadne.store", @@ -485,7 +485,7 @@ "string_inversion", "unit_typing" ], 0, - "a84a00b18cc926edaccb55d4690f0333" + "75de7db227b3d3068ab98594c33844f3" ], [ "Ariadne.recover", @@ -499,7 +499,7 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "adf3f7e046f1bfeb4baa2d07c1fc383b" + "59fcc263a79357f18e8dd93f4200327d" ], [ "Ariadne.recover", @@ -566,7 +566,7 @@ "typing_Ariadne.step0", "typing_Ariadne.step1" ], 0, - "26a5bc843b05956ad31b5f17b05ee860" + "554c40698d25a0ff3df315675b52ec2d" ], [ "Ariadne.example", @@ -598,7 +598,7 @@ "string_inversion", "string_typing", "unit_inversion", "unit_typing" ], 0, - "c7431ba7fa6fef68081950b7d093798e" + "1544f91ed00cd4249e689646d6b09e86" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ArrayUtils.fst.hints b/examples/preorders/ArrayUtils.fst.hints index 4a405f64a8f..94bf6afecb7 100644 --- a/examples/preorders/ArrayUtils.fst.hints +++ b/examples/preorders/ArrayUtils.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "549973b9f163d6bffa04de6d553a3681" + "78534d7f74ac39bbca52508314709b67" ], [ "ArrayUtils.lemma_get_some_equivalent_length", @@ -22,7 +22,7 @@ "typing_ArrayUtils.get_some_equivalent" ], 0, - "fd156c9752f95edc6aa81f9bb08cc3e5" + "0157d4021b242852d94d19a3ee921fe4" ], [ "ArrayUtils.lemma_get_some_equivalent_index", @@ -38,7 +38,7 @@ "typing_ArrayUtils.get_some_equivalent" ], 0, - "502a6662edde6fb4aa0a33909bcb4f22" + "f378c9a194a2381c6dac01c787815d48" ], [ "ArrayUtils.lemma_get_some_equivalent_snoc", @@ -71,7 +71,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "65ee49548b4f07331359e63d64d1a791" + "3a8eb5a129ece9796eeacd7fdb47ac93" ], [ "ArrayUtils.lemma_get_some_equivalent_append", @@ -99,7 +99,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f2d10b0f604f9c638c9b271cb9de127f" + "2e62fc0125ca4fd7ff5cbcf03e216d88" ], [ "ArrayUtils.lemma_get_some_equivalent_slice", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "f0612a931ae7a273efeeca9dc378a18a" + "cf3a2aa1b461b2c1410166dc8971ed50" ], [ "ArrayUtils.lemma_get_equivalent_sequence_slice", @@ -162,7 +162,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "d1ff9c1178c16c9d43cfb44bac2f6c4c" + "3b2f4e03d04ca49e200d28385ef99e87" ], [ "ArrayUtils.copy_seq", @@ -181,7 +181,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f30bd1a5bc7f1c82138aafc896da45de" + "88d3eb77600094cf12dcc57765f49e7a" ], [ "ArrayUtils.is_prefix_of", @@ -190,7 +190,7 @@ 1, [ "@query" ], 0, - "21b5dd9efdbb38de3d640898fbd4a82d" + "af61920250396176211af2dec83965f7" ], [ "ArrayUtils.lemma_is_prefix_of_slice", @@ -210,7 +210,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "7009a43e6774e345dd0df56b86d19135" + "17e70aad8de55c4e32efe4a0a44ff868" ], [ "ArrayUtils.seq_map", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8c46d425dacb4db9308cdfdd2760e5ca" + "73da0431893ad5a7e284b91d204b117c" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Closure.fst.hints b/examples/preorders/Closure.fst.hints index 65e26bd5583..17fbbdc91b6 100644 --- a/examples/preorders/Closure.fst.hints +++ b/examples/preorders/Closure.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Closure.state" ], 0, - "bcbb80b35d4eb09b5dbd4fd1a3ffe045" + "176a63d2bcbb7b883b715975ae5d5903" ], [ "Closure.reachable_from_B", @@ -34,7 +34,7 @@ "typing_tok_Closure.B@tok" ], 0, - "10769979f127a90ca340ab2e08881cf9" + "cd9fa8604cfa3405fbb198bdc9281b30" ], [ "Closure.__proj__Start__item__retried", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_9b8feac8e67696762ba27b558e40f256" ], 0, - "5a1d70a8e78448f16f46104482bcf217" + "3507a8a58e1340da75936325cebc5e45" ], [ "Closure.__proj__Hello__item__retried", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" ], 0, - "58c99521a37ed2979bf415789acca43a" + "376b6f4baf34edcfec5b841a47ccd4f8" ], [ "Closure.__proj__Hello__item__ch", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" ], 0, - "8e891ceda17dcce645e07ff8974e02e8" + "8831cf2181bf6a2fcb2ee8a6a718de4e" ], [ "Closure.__proj__Transcript12__item__ch", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" ], 0, - "3a50c03349e558c54bc0a0fc66a46f8f" + "433a7ef035aac5bf655402c6bd06399f" ], [ "Closure.__proj__Transcript12__item__sh", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" ], 0, - "a865f342f50859c59da9f58c3120a0ec" + "8377e2a4a731caf846b92ce5268547c4" ], [ "Closure.__proj__Transcript12__item__rest", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" ], 0, - "6b6cfbc54b4a9510419c5ef15a2edf69" + "ec3ff168ae7a8dafa163ea6940b03f41" ], [ "Closure.__proj__Transcript13__item__retried", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" ], 0, - "8ebd1e1aa6e1a7cd5a05e293503a7001" + "ff24121c34ea6b384163d3e98565a9ba" ], [ "Closure.__proj__Transcript13__item__ch", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" ], 0, - "038828ba90e463e334bf96cdd38b2e34" + "879a87fa3cb08fa9ea216df68c2df744" ], [ "Closure.__proj__Transcript13__item__sh", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" ], 0, - "af64dc6dea8513c4a23d378528cb963a" + "8bf86a47d41bb735444be7a036c264f9" ], [ "Closure.__proj__Transcript13__item__rest", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" ], 0, - "4fc3b12e0e7e10b9f4b66108b6653a8c" + "9f1a2f9a821559f00833169db7d1d9d7" ], [ "Closure.transcript_size", @@ -185,7 +185,7 @@ "fuel_guarded_inversion_Closure.transcript_t" ], 0, - "3d4f319384cfdd53a4466a8b18d599d1" + "280ce19d01895fa8fce0d63c518d5186" ], [ "Closure.client_state", @@ -204,7 +204,7 @@ "typing_Closure.max_transcript_size" ], 0, - "c84687b43f7e31923731ef9b115f4b6a" + "5c1a9a6a07b4812cf806978fe85060a3" ], [ "Closure.__proj__C_truncated_ClientHello__item__transcript", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" ], 0, - "17a4e963c65c740a700702e7d87b75d8" + "b2c1342547dee2498799e186ce202786" ], [ "Closure.__proj__C_truncated_ClientHello__item__offer", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" ], 0, - "88e8a861b99754bbab62031052ea635e" + "8a33d387b25d62be10476c254a152d19" ], [ "Closure.__proj__C_wait_ServerHello__item__transcript", @@ -248,7 +248,7 @@ "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" ], 0, - "716d02eb6abdf7b8cc193760a7b5a6ac" + "32e54e0030f96ae020fed81746e6d575" ], [ "Closure.__proj__C_wait_ServerHello__item__offer", @@ -264,7 +264,7 @@ "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" ], 0, - "b1e68bbefa231650d66e73ab6982bb4e" + "a07d05eb2700f530bd5f3fb70067f6a0" ], [ "Closure.__proj__C13_wait_Finished1__item__transcript", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796" ], 0, - "a69c8dcebf5eeb11e9d03ae5f89336e6" + "ae4d433b62054c60597d790145a52c9d" ], [ "Closure.__proj__C13_wait_Finished1__item__mode", @@ -301,7 +301,7 @@ "typing_Closure.max_transcript_size" ], 0, - "efbec140df75de65da4ef53d2541e48b" + "f280a0dd0ad5f2b1cbed922dd8aa0ed6" ], [ "Closure.__proj__C13_wait_Finished1__item__mode", @@ -326,7 +326,7 @@ "typing_Closure.max_transcript_size" ], 0, - "66747fb03019378002ce82f08fce3b13" + "f4046f9d8fd29d9308b5b100d3239aa2" ], [ "Closure.t", @@ -346,7 +346,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "20fec4ad689c99c5c6cdcab7f634922a" + "bed5ddcfa448dfa9fb1d2f18491006ce" ], [ "Closure.__proj__C_State__item___0", @@ -366,7 +366,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "d00ace114e6704d9b723c76d0b5d95fc" + "6edaccdd288dc85b88b782ed0eaad5ee" ], [ "Closure.__proj__C_State__item___0", @@ -388,7 +388,7 @@ "typing_Closure.mrel", "typing_tok_Closure.C_init@tok" ], 0, - "07738ba7f38c9fab70ee05ddc1ad1271" + "31f6335d6b5a0cf7219151fc7e80d401" ], [ "Closure.p", @@ -408,7 +408,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "116a0f3f74e040f292a6f1e92ca493dc" + "3e09baf9bb3366543b605a4fd1b52a75" ], [ "Closure.p", @@ -431,7 +431,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "2d6419753c6cec9f6f9455e39f9a984e" + "a1d1501640a7af9e40cd920b05279417" ], [ "Closure.witness_offer", @@ -456,7 +456,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "00428e44cc04835c6ed183e5153737e2" + "60094a02bab2954e46e24223f76ddb4a" ], [ "Closure.witness_offer", @@ -510,7 +510,7 @@ "typing_tok_Closure.C_init@tok" ], 0, - "35d36c9b2b69de18d4cfde0233f1b9c8" + "1290f045563c8c875067fcc64fd0f6fe" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ImmutableST.fst.hints b/examples/preorders/ImmutableST.fst.hints index 85c165337af..fb2e9d4fee8 100644 --- a/examples/preorders/ImmutableST.fst.hints +++ b/examples/preorders/ImmutableST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "7cdd5229478f5f4c1dcd15c9fd45d0d9" + "2a6f675c6533e15db2bcc435afdf5f9e" ], [ "ImmutableST.heap_rel", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_6f8aef5da32367b0818e015b75ddf1d7" ], 0, - "36f8ed57d55f173ba0f7a33e87fb3a62" + "a2167e1d471e4d87ee03b4e1a765a0c2" ], [ "ImmutableST.2306", @@ -38,7 +38,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "3d5e3a130fdaa34365c05f2ebb571329" + "a7dd36ae07b9d6ad3b1c589dd4aab331" ], [ "ImmutableST.ist_witnessed", @@ -55,7 +55,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "5db68aff712007a26d4215a38f3bb6ed" + "3c98ed98d08e62677e11961db000d9ce" ], [ "ImmutableST.ist_witnessed", @@ -72,7 +72,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "227671c05f57f622c3892c3c4ed9133d" + "844c64ec0968d6a265bc0534627c8cce" ], [ "ImmutableST.ist_witness", @@ -89,7 +89,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "d8e4274d76aeebbabd4c348f9a99e7d4" + "e21da505de8bf23a1a8a9593e257160c" ], [ "ImmutableST.ist_recall", @@ -106,7 +106,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "7cf95139e482d984acebe53e654578d7" + "db34b07df4ac77ec9819fe136c48298e" ], [ "ImmutableST.ref", @@ -120,7 +120,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "0ea41420d633f43a7bc8060f7cc444d0" + "3f8ba27550e443d37388ef0b4b1addf0" ], [ "ImmutableST.alloc", @@ -142,7 +142,7 @@ "typing_FStar.Pervasives.Native.snd", "typing_NatHeap.ref" ], 0, - "05d2544e5c3ee517ac2654a5e4d6f464" + "602f1f1547910a35526ea07def8c0ff6" ], [ "ImmutableST.read", @@ -151,7 +151,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "7461c03b637b0afcd8fa84b90d8a7b49" + "79fadbed7c31b02060984d56662485c3" ], [ "ImmutableST.read", @@ -167,7 +167,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "617fd1d3b403dd35b1c942c67b9af14c" + "88c781a8a4a2d2038b6815ff2b1536d5" ], [ "ImmutableST.write", @@ -176,7 +176,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "14bb3ff71b9a3b6d624bf5495394f496" + "c73642edfde95d7ab86139633e4ba623" ], [ "ImmutableST.write", @@ -185,7 +185,7 @@ 1, [ "@query", "equation_ImmutableST.heap_rel" ], 0, - "af9fa2deed5f11d251364ac7d12b263d" + "e7c97847b329f3960977fd250194226f" ], [ "ImmutableST.write_nop", @@ -194,7 +194,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "b73c075add2ad61b44c0b85f7b47c750" + "8a6d0e7e34db53528e155d6680d0dd41" ], [ "ImmutableST.write_nop", @@ -203,7 +203,7 @@ 1, [ "@query" ], 0, - "576f8d19efb1f60a41b8f21f7e824290" + "8b7ef6e744dae0f4c1228da373ac19f7" ], [ "ImmutableST.recall", @@ -218,7 +218,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "908cdaba140a7542c40d875858abdcba" + "305789720f341236f114bcb699a2a50b" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ImmutableSTwHeaps.fst.hints b/examples/preorders/ImmutableSTwHeaps.fst.hints index 336c322473f..d3eadbf96a0 100644 --- a/examples/preorders/ImmutableSTwHeaps.fst.hints +++ b/examples/preorders/ImmutableSTwHeaps.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3dcf68cdb243d0c45be2b963904d283c" + "1e0a15a805044969ff7ae2ca5f6b42df" ], [ "ImmutableSTwHeaps.2038", @@ -23,7 +23,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "540fec14042fce0ac27bdee9b82697aa" + "a15debe3921a0cf4fb2df28da915ae4f" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -38,7 +38,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "99d6432f428131aaf2e618370cd6ce98" + "446b8c81d5fc02d4ea839dcc39b5fdbd" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -53,7 +53,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "dd1c0a1a4b69bc2eb5beaf4359de11fc" + "37ef75332c9457d6962572d29057dfee" ], [ "ImmutableSTwHeaps.ist_witness", @@ -68,7 +68,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "e09ff8ec4e3266e47d421ec6e4c33602" + "f083970d6d1bdedd2bb7d8b2b973d843" ], [ "ImmutableSTwHeaps.ist_recall", @@ -83,7 +83,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "a26c680afcd01b9cea94e5229e46d7d0" + "d329bee34453c7a1e9ec1fa89045d003" ], [ "ImmutableSTwHeaps.alloc", @@ -109,7 +109,7 @@ "typing_ImmutableSTwHeaps.upd" ], 0, - "993204c4d608d557894e6465281655f3" + "8be5bb277fba43564465c4a39e962540" ], [ "ImmutableSTwHeaps.read", @@ -122,7 +122,7 @@ "typing_ImmutableSTwHeaps.sel" ], 0, - "2c5aa8a6df207479aeb7a048d2e960ee" + "c5ca5c29294e4508d582bb59ff31d3d6" ], [ "ImmutableSTwHeaps.write", @@ -146,7 +146,7 @@ "typing_ImmutableSTwHeaps.upd" ], 0, - "fd1d4cc41bf00a0c27465a36e0fc7c3f" + "dd90b5565e07a5a860c113292bfe35fb" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MRefHeap.fst.hints b/examples/preorders/MRefHeap.fst.hints index ca44a1df926..194987a484c 100644 --- a/examples/preorders/MRefHeap.fst.hints +++ b/examples/preorders/MRefHeap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.Pervasives.dfst" ], 0, - "4e9159b22b3e6e2f6b767aca1f22d9ea" + "f3302b115b1eb609e2e215dff80699eb" ], [ "MRefHeap.contains_same_addr_lemma", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_8f2fff72b18dc472afbc83d481143bc1" ], 0, - "de2251a8dcf545621ac5f85235191503" + "b7a6f97675c6778708e203766aaac2d6" ], [ "MRefHeap.contains_same_addr_lemma", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_8f2fff72b18dc472afbc83d481143bc1" ], 0, - "a95ce6151761560ec74f6cfb8d1fb1d4" + "3c7618f19782e749b4c4e7747e5a3a3e" ], [ "MRefHeap.contains_diff_addr_lemma", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "70e69c67c4585c96b9de72109a9651b9" + "136558f94c4a16b566e9812d3f43e792" ], [ "MRefHeap.contains_diff_addr_lemma", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0918e5d5043381facec91c3cd80ff109" + "cfba9f38f3550c145fa8ede22e2614fe" ], [ "MRefHeap.sel", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466" ], 0, - "81a8837432b7d381b8ac099dfa405663" + "ac8b2ff1e148c67f444e63fb772f89d2" ], [ "MRefHeap.alloc_ref", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466" ], 0, - "435c05cc9800af7b9a49c4e3713b3629" + "37b01f4de9ad55d9f08bbf90b9fa5416" ], [ "MRefHeap.alloc_ref", @@ -169,7 +169,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "7801d94665da208c52cccad908d8f00a" + "7ba22bba5533e72f3cdc3078e36bbcf2" ], [ "MRefHeap.upd", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e12474828e8e1bf1180fc8fbc3addcd" + "467fce95bbabda744cc193921eef9f9e" ], [ "MRefHeap.upd", @@ -233,7 +233,7 @@ "token_correspondence_FStar.Pervasives.Native.snd" ], 0, - "2e77b76e7a1ccafefdc56eef405e9ee8" + "4ca6539f329a6ecc54eb0c106a946bfd" ], [ "MRefHeap.emp", @@ -254,7 +254,7 @@ "token_correspondence_FStar.Pervasives.Native.snd" ], 0, - "0c89824885ee08ae1345d8b4f83fe637" + "357336a51770df60f956070574409fc5" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MRefST.fst.hints b/examples/preorders/MRefST.fst.hints index b0d8e4c7385..02e5a947d8f 100644 --- a/examples/preorders/MRefST.fst.hints +++ b/examples/preorders/MRefST.fst.hints @@ -44,7 +44,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "a3ab4b785943a0fb7bedd661187899c0" + "1c22c034b9c9b6b8e2c430b1674d7143" ], [ "MRefST.heap_rel", @@ -57,10 +57,10 @@ "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6" ], 0, - "022d2a070d26d4e05949f18f80eea580" + "c2dc43d32a9e8c0b693c2cc15fdb39eb" ], [ - "MRefST.19932", + "MRefST.19976", 1, 2, 1, @@ -77,7 +77,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "27eeac50317ff8935a9ba913524d7669" + "97c5049a7374cdb1a89ab00a6a9a10c3" ], [ "MRefST.ist_get", @@ -86,7 +86,7 @@ 1, [ "@query" ], 0, - "00294be22e256e1551e84b8fa017927c" + "0eb277486f9d86cf85f25123f203e6cf" ], [ "MRefST.ist_put", @@ -95,7 +95,7 @@ 1, [ "@query", "unit_typing" ], 0, - "c733888bc0acf86acbc8cbfc1d09374e" + "265fb034c0dc7af551007e20d07523da" ], [ "MRefST.ist_witnessed", @@ -115,7 +115,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "bbfad9cff9ade7e7a1a761e8a14bde8a" + "19567122f3641f26e8fa4beddc2b455f" ], [ "MRefST.ist_witnessed", @@ -135,7 +135,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "7b6617c5199111167ffe819b14d58546" + "84ea30551836c83189b39efa3533b861" ], [ "MRefST.ist_witness", @@ -155,7 +155,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "99c330a941d19d0559d7734d7091183b" + "b45caa5735cd6df66da634f76b6c347a" ], [ "MRefST.ist_recall", @@ -175,7 +175,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "38a456f0a20eaa31cc08057f349d8825" + "d0dfaf56e9a6c5dca78e87506b0b98c3" ], [ "MRefST.mref", @@ -189,7 +189,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "a2d36b503b3c3bc89a3ee07011f949d4" + "acefd79c53ca88730e5d84ac5f72fe87" ], [ "MRefST.alloc", @@ -215,7 +215,7 @@ "typing_MRefHeap.sel" ], 0, - "1890690b159563510dbe441d9e4e99e1" + "b018099c7e960afc2c858e3be1aabe60" ], [ "MRefST.read", @@ -224,7 +224,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "36ce5e8e0b06a0557fd15d19f0265c0c" + "668e68a9858bf35017936b8aa85cad3e" ], [ "MRefST.read", @@ -240,7 +240,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "4505f4b2a50ffae62debcde942556c46" + "fc71e054c0fcccb38e1e6c8c2c01ad7c" ], [ "MRefST.write", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6" ], 0, - "46260a790916321bcbd07e591f33b701" + "f3d1a32ea3d351974989c8c2b28f79bb" ], [ "MRefST.write", @@ -281,7 +281,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "c0bb212f56419956c2f680d76eb37f1e" + "e9deb1208e9f6c7d4e3d6148934db637" ], [ "MRefST.stable_on_heap_aux", @@ -290,7 +290,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "850564ce6e97a75c8cd23555026f932c" + "86d6d6d8faee31d3444334ad6edd37ea" ], [ "MRefST.stable_on_heap_stable", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6" ], 0, - "4b1a0a4ae45bf4e2a047a38a8b3baab5" + "033f26d6db16c323a90161f7a77269a2" ], [ "MRefST.witness", @@ -320,7 +320,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "49a77669772cf74d40d428fc6f056b64" + "19f843f74f067358bc9c0abf0be54079" ], [ "MRefST.witness", @@ -335,7 +335,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "16059b5bb5cdde75c09a5a1199b258a0" + "46489881acb6ae348c91e88d72d44201" ], [ "MRefST.recall", @@ -350,7 +350,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "3cab98490b53e0cf2c73a908c20b13e8" + "49e4a86e9eeb9e804f4c5c26eb0c3f13" ], [ "MRefST.recall", @@ -365,7 +365,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "4698662ef61e2d022c4f69973022d8ce" + "6b8b39c1e33a1238a39393a9f6c10821" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MonotonicArray.fst.hints b/examples/preorders/MonotonicArray.fst.hints index 144f6036af5..80b26918b15 100644 --- a/examples/preorders/MonotonicArray.fst.hints +++ b/examples/preorders/MonotonicArray.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a385d025626748df3cc167a26567d6de" + "91953eac5d0e0f41554d80a967a505a4" ], [ "MonotonicArray.seq_rel", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b" ], 0, - "dae56d79ce90e0addf935f31287483c3" + "df93a73b184081454201609057c5b9ca" ], [ "MonotonicArray.seq_pre", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "da6b919adaa2622cc741fc970130b5c8" + "23f027d27f0170ddf80e04c21872959b" ], [ "MonotonicArray.mutable_pred", @@ -90,7 +90,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "7e12ed38fd097be2f84fca676ae6fa99" + "8725ef283b61f414af46693c7c77faa9" ], [ "MonotonicArray.freezable_pred", @@ -127,7 +127,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "49293ceab39618e4799af259ddbc5c02" + "414a79ef7100644ce163286bb12ffe9a" ], [ "MonotonicArray.is_full_array", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b90462146e902f7d277ac17134dbe605" + "c3ca85e478ce9a6c542005c76c915458" ], [ "MonotonicArray.array_footprint", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "684b1055fcc03decb9e8a3d276bd8bf8" + "cfc7e66c0f3226eebe46da19c2254274" ], [ "MonotonicArray.array_footprint", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5cd2cd8281baf16db1bfb87c2c68bc0" + "c880ce0c06ed2dfac3e16a19935d5c82" ], [ "MonotonicArray.fresh_arr", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7b7ecb07c34fdda9a5f9f93a8361cb4d" + "962b64bfa010e816f6f27903236e3787" ], [ "MonotonicArray.fcreate", @@ -249,7 +249,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "c77fe48e43161a606ee9b4ada291d013" + "e767bc428c209d6be657c6b75196cd5a" ], [ "MonotonicArray.fcreate", @@ -316,7 +316,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "200cb62b33b05547b13205adbb01924e" + "cc113782b964a6087fe7e6730c92bf99" ], [ "MonotonicArray.create", @@ -381,7 +381,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "cbed9f1f72384ba3a41b1bcab2eb0afe" + "b0bfbf540f8a8d97ad3adfe3d3ccd152" ], [ "MonotonicArray.create", @@ -446,7 +446,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "679af8e89de6a73d1d18b746908c4a69" + "773983b53c88b3daaf180f32d66d437c" ], [ "MonotonicArray.as_seq", @@ -468,7 +468,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "4f9f76ef5768ef8e6f66f813caddfdda" + "b8aad6d35311b2b924d9f65075df70eb" ], [ "MonotonicArray.lemma_as_seq_length", @@ -506,7 +506,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "047e3049866aa598883682ee254cffa1" + "5969a3f768acab69f4adf1ac415606c3" ], [ "MonotonicArray.lemma_as_seq_length", @@ -544,7 +544,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "f75b30ca72fea28d09febb9f938a16f6" + "d5b56eefde8811c35b18f899feb48edf" ], [ "MonotonicArray.init_at_arr", @@ -559,7 +559,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "57a3546017f24b00faf5988ba127fce1" + "05a3849498197f7510642b4615d0a8d4" ], [ "MonotonicArray.initialized", @@ -609,7 +609,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "0ddebb3d46c856b027425bc6c068e755" + "fe6cc34facfc143a6641728d2b63b63e" ], [ "MonotonicArray.frozen_pred", @@ -642,7 +642,7 @@ "typing_MonotonicArray.as_seq", "typing_MonotonicArray.seq_pre" ], 0, - "0322260d7906029c9c14d673035a74e9" + "50d3e273cdc0a269fe19380d6f778859" ], [ "MonotonicArray.freeze", @@ -717,7 +717,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "5125c210c362cfdfb5cce4f3a23c87a7" + "5a5afb411ed4b22868c8d6803b6bf851" ], [ "MonotonicArray.read", @@ -771,7 +771,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "1ecddc540b7dd79bc32b993b53c94ebb" + "44c83bacd0ab2d33e4d5727b4064ea85" ], [ "MonotonicArray.read", @@ -825,7 +825,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "055205a22eff2937bc16b46fb0b9ae8d" + "ec192afdee09c4d643d46b9eabff3bbb" ], [ "MonotonicArray.write_common", @@ -912,7 +912,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "677956591dad9a2782505c72ee70464e" + "bb4a2fb8e27f707cdc3d5ad1e5aa825a" ], [ "MonotonicArray.write", @@ -940,7 +940,7 @@ "typing_MonotonicArray.mutable_pred" ], 0, - "a3122640bac14484d5c6c399bbd319a7" + "2ce51b643500d370a3a0332445af0c72" ], [ "MonotonicArray.write", @@ -969,7 +969,7 @@ "typing_MonotonicArray.mutable_pred" ], 0, - "8ca416d056e5452ed8768bc6f3f2244d" + "c1d60e3dd0251f7f36b4058b9257241d" ], [ "MonotonicArray.fwrite", @@ -983,7 +983,7 @@ "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5" ], 0, - "7e068bb1a10c4ba19ae7e5c71355dcae" + "5f583e5a8908f040448204dc85f56433" ], [ "MonotonicArray.fwrite", @@ -997,7 +997,7 @@ "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5" ], 0, - "72c868a3452dbffe2eaadf382e904a60" + "1fe45ce29709cf716b186008a686046d" ], [ "MonotonicArray.sub", @@ -1013,7 +1013,7 @@ "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "8acafdf2c24475127411b063020af867" + "212a21931065663591c1e7205fdcd581" ], [ "MonotonicArray.suffix", @@ -1029,7 +1029,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "4b4bbc84c62334063a13b048c81d7d4e" + "89ca8152ec513b15939ff5e744751d36" ], [ "MonotonicArray.prefix", @@ -1041,7 +1041,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d61186913cbafa92f0bdfd176be97426" + "f4c8b6185aaa148955d5897eebfd0a4f" ], [ "MonotonicArray.lemma_sub_preserves_array_mutable_flag", @@ -1064,7 +1064,7 @@ "typing_MonotonicArray.mutable_pred" ], 0, - "c39aaae7c7c388165b117b5024d71b1b" + "b9f3b8a81931d3585a268fd89e1e4aee" ], [ "MonotonicArray.lemma_sub_preserves_array_freezable_flag", @@ -1088,7 +1088,7 @@ "typing_MonotonicArray.freezable_pred" ], 0, - "aa78a04dfe0e64e89102c6a8ffc635b3" + "ecd3c8f30b19a2a0d47db935a4bf5276" ], [ "MonotonicArray.lemma_sub_is_slice", @@ -1129,7 +1129,7 @@ "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.seq_pre" ], 0, - "b36dae2b3077ec30b206ef0ee543d23e" + "ebd5a4d569afb55631a1d81cfd3f2429" ], [ "MonotonicArray.lemma_sub_is_slice", @@ -1170,7 +1170,7 @@ "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.seq_pre" ], 0, - "91e8998d63c80ceb40fd4b16b36d413d" + "8c0444c6115e8b76aa76f380f61a63a6" ], [ "MonotonicArray.lemma_sub_footprint", @@ -1191,7 +1191,7 @@ "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "2934e5f146a508165abc82fe7cd81584" + "d4a13463adde51a0295a16b7f8c5fc1e" ], [ "MonotonicArray.lemma_sub_footprint", @@ -1212,7 +1212,7 @@ "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "baa4a1f1d5640e91606a7ff9e01e61f5" + "b77b39ab8c787f093fb63d20c0ac6a83" ], [ "MonotonicArray.lemma_sub_contains", @@ -1227,7 +1227,7 @@ "projection_inverse_MonotonicArray.A_s_ref" ], 0, - "3e3b8ad7fe0a6ce2d0f0626fa4672cb2" + "4501ab2789727cab2d58ee02059bd448" ], [ "MonotonicArray.lemma_sub_is_mutable", @@ -1242,7 +1242,7 @@ "projection_inverse_MonotonicArray.A_s_ref" ], 0, - "0c27b459772908420515adc0511d2260" + "1c62cef5f435a843ab3538920228a971" ], [ "MonotonicArray.lemma_sub_frozen", @@ -1287,7 +1287,7 @@ "typing_MonotonicArray.sub" ], 0, - "34e350bb1fac8d7415d123e02c938253" + "c2533e937efd32905837e67efe832e0a" ], [ "MonotonicArray.lemma_sub_frozen", @@ -1332,7 +1332,7 @@ "typing_MonotonicArray.sub" ], 0, - "72354f4deea463cf00e82c0cbdf5d6d8" + "e43eb1634efc072cc522c0996eb0136d" ], [ "MonotonicArray.lemma_sub_init_at", @@ -1378,7 +1378,7 @@ "typing_MonotonicArray.initialized" ], 0, - "cdad97c61fb37e047be93cd72a449de2" + "614dc954ba3e10da9b858787a5eebe7e" ], [ "MonotonicArray.lemma_sub_init_at", @@ -1424,7 +1424,7 @@ "typing_MonotonicArray.initialized" ], 0, - "092aeb6fe43d7f2c86e7135979f18b42" + "78501966f884a448b9b4c43e437cd3cc" ], [ "MonotonicArray.recall_init", @@ -1450,7 +1450,7 @@ "typing_MonotonicArray.initialized", "unit_typing" ], 0, - "cfdf67c959a064b1db2f81849b8cd4b7" + "ccfba3b66755559d5890fa5c86d20afe" ], [ "MonotonicArray.recall_init", @@ -1476,7 +1476,7 @@ "typing_MonotonicArray.initialized", "unit_typing" ], 0, - "77edfdf9c42134887228036c8a7175b4" + "fb3b9ba325f25d7bc3cb39f5f7fa5d49" ], [ "MonotonicArray.recall_frozen", @@ -1497,7 +1497,7 @@ "typing_MonotonicArray.frozen_pred", "unit_typing" ], 0, - "7bf84dd183d3426956e10d4c61abba98" + "f903a98c6974e5d3a5cf69566c34b8d3" ], [ "MonotonicArray.recall_contains", @@ -1511,7 +1511,7 @@ "projection_inverse_MonotonicArray.A_s_ref", "unit_typing" ], 0, - "3bc4629393a1cefe7dee843bdc6dc181" + "cbf10b8816be936c1699cb2a9b6ceb27" ], [ "MonotonicArray.lemma_frozen_implies_init_at", @@ -1548,7 +1548,7 @@ "typing_MonotonicArray.frozen_pred" ], 0, - "59d9ce468d83c460cddb1a1d78df84ae" + "c1f24544c734e25a339243592ec066e7" ], [ "MonotonicArray.all_init_i_j", @@ -1560,7 +1560,7 @@ "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "3b192b19739c24ae04b481066f2a1e7e" + "20adb1a9a8e2a1b16d57e948f374e33f" ], [ "MonotonicArray.all_init", @@ -1572,7 +1572,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b58d38ef6360ac960d4967e795c9b65" + "09fd3e1d7ea8e7e61fc0c5bb5687e3e1" ], [ "MonotonicArray.init_arr_in_heap_i_j", @@ -1585,7 +1585,7 @@ "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "00e61afe8e5f0e5a69fcdbd9ccda09c2" + "d99cd9e650bb336dfe847d8d53173bf2" ], [ "MonotonicArray.init_arr_in_heap", @@ -1597,7 +1597,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6c55a750022ac485ed542ebc0bc4a8b9" + "235b7297eb867434329e6b6f6ee8e20e" ], [ "MonotonicArray.recall_all_init_i_j", @@ -1633,7 +1633,7 @@ "refinement_interpretation_Tm_refine_f166ffa285da58385ce2ad2356e56767" ], 0, - "7e4484f3b5d6f8c6b3f0066f8df0a269" + "a0ca2ee46a036be5c864922a1fe42f2e" ], [ "MonotonicArray.recall_all_init_i_j", @@ -1669,7 +1669,7 @@ "refinement_interpretation_Tm_refine_f166ffa285da58385ce2ad2356e56767" ], 0, - "d24e3449bebe55e6839c655e511827c6" + "3428a711628c1074a047cc3c5fb994b9" ], [ "MonotonicArray.recall_all_init", @@ -1684,7 +1684,7 @@ "refinement_interpretation_Tm_refine_841a7dab4e44e4e07aab6383c1e10f2e" ], 0, - "7006a02ff424607580059d2222c7af1e" + "a0fe882fe54b360f211044fa956b0c8c" ], [ "MonotonicArray.witness_all_init_i_j", @@ -1723,7 +1723,7 @@ "unit_inversion", "unit_typing" ], 0, - "f10654885c57dd723c47db01b42a0827" + "d7d575e4dafd39c972a6866ba87e56bc" ], [ "MonotonicArray.witness_all_init", @@ -1738,7 +1738,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3ff72cf1ca074cd8a5ba98b8ddf2337f" + "d515b3392ff877d21aa41e071ff18aed" ], [ "MonotonicArray.as_initialized_seq", @@ -1757,7 +1757,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "485416b4e49bd79ee8d31a2edf147c81" + "66aa67de15bc0f237b3e273c44267081" ], [ "MonotonicArray.as_initialized_subseq", @@ -1786,7 +1786,7 @@ "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "53fa9cbf19cdd4d4aa6d7d657aa4fb93" + "a8f2773326b3bfdfcc80434d2dfd9f8a" ], [ "MonotonicArray.read_subseq_i_j", @@ -1836,7 +1836,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "88fe74b93c75295cc19ef28475b04671" + "ca7d87df5513b106500fd49596bee724" ], [ "MonotonicArray.read_subseq_i_j", @@ -1885,7 +1885,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "8157587e4cb1f0dd101f1a27afc71500" + "7d70ac59c2f07a85bfbb6ec40d8f90bf" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -1899,7 +1899,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6053039099c09419ad2db776f36d769" + "632ff1c7ec8af3fde54700766dc22b8c" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -1934,7 +1934,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "d311ea8dc7a7ddb311fca48f9072b9b7" + "ef83abc4675f98cf248df1b9f09e8fca" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -1969,7 +1969,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "63b434e36b57e251b2be3f7b46c35b8d" + "1cf50ab7da7e389da6990864bf5348a3" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -1983,7 +1983,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "58768d9aaad40be7e5ccf80f60fb6d4c" + "19d0d758a97d3ebe3ebff04e9090dd8f" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -2018,7 +2018,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "b7809d542cf32d615be63567eb0efcfe" + "174733325fc125c1309a0b724a28cf9c" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -2053,7 +2053,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "3742b95a01ce9cc11c5b00cb14e5f6af" + "a1281df430447e9a3c4871acc16c13db" ], [ "MonotonicArray.lemma_all_init_i_j_sub", @@ -2072,7 +2072,7 @@ "refinement_interpretation_Tm_refine_fa6e2032b6226618d2946ec88b516a44" ], 0, - "a7b4578c76b6b525836f58bb7607abc6" + "86f8bbb345004f3659d78490e17440ac" ], [ "MonotonicArray.lemma_disjoint_sibling_suffix_prefix", @@ -2099,7 +2099,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "2c8cfce53eedeca0f4f0a3a5591e5502" + "10a1818f8f2e1d260e59d0f4b93fe617" ], [ "MonotonicArray.lemma_disjoint_sibling_suffix_prefix", @@ -2127,7 +2127,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "1462f4bb48f7806d4dbaf540793f84c3" + "a7a9cbbb55726f82eaa7219ca38ee1b5" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -2141,7 +2141,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "26d8ad0586c1902bc49e13221cad171b" + "304075018a0fa2090e53343988778cde" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -2155,7 +2155,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd0e7024ff44f680485c76b6a7b0237a" + "2670928697a12929a596d0476c7f6998" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -2175,7 +2175,7 @@ "refinement_interpretation_Tm_refine_ce5b565e4e8ce1a2eb5c9cbff4c59287" ], 0, - "b6ec7c98af3ce5ca85677bd7fbee29fc" + "86bf075a8818df24127305da0d448924" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_transitive", @@ -2184,7 +2184,7 @@ 1, [ "@query", "equation_MonotonicArray.disjoint_siblings_remain_same" ], 0, - "4f16cd0e3c7c25c03d0333da9f89d2d4" + "4c47bf5d852cebbd2ea6c94bcf0d9feb" ], [ "MonotonicArray.fill_common", @@ -2259,7 +2259,7 @@ "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "ef57a29f00e89aa24be649b94d91fd79" + "da1982d5afc4d7592a8ffa3888fad848" ], [ "MonotonicArray.fill_common", @@ -2288,7 +2288,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "cd4db18fbaf60b76f2b11150bff441ca" + "9763bb8ddbeb6523df1f4aec1699ca74" ], [ "MonotonicArray.fill_common", @@ -2321,7 +2321,7 @@ "refinement_interpretation_Tm_refine_ecc83f368fd82d2680e2f7b7bd749455" ], 0, - "a93057c7a7cf811a2e7cabc341b529ce" + "83ac24597b87b9fbf843d92a3b037135" ], [ "MonotonicArray.fill", @@ -2349,7 +2349,7 @@ "typing_FStar.Seq.Base.length", "typing_MonotonicArray.mutable_pred" ], 0, - "25a84e40f5a2b59e45e48ab195f2393f" + "b3d1ca271c3bf7e48663a3575b5bd668" ], [ "MonotonicArray.fill", @@ -2377,7 +2377,7 @@ "typing_FStar.Seq.Base.length", "typing_MonotonicArray.mutable_pred" ], 0, - "92d2ad50bfc41054f68cc228a11439e3" + "821f3073c77d1bead327b4ca2ef42bf1" ], [ "MonotonicArray.ffill", @@ -2391,7 +2391,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "172c6652a6efdc4bfa802f12f21e486f" + "4f8360b2ac9fdb94b163f8b653dd3290" ], [ "MonotonicArray.ffill", @@ -2405,7 +2405,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "9a17574686db86166526a8d1aa921f70" + "2f1c3a8adf9566773bb607d8ae1487f9" ] ] ] \ No newline at end of file diff --git a/examples/preorders/NatHeap.fst.hints b/examples/preorders/NatHeap.fst.hints index 2ba5da45dee..3cb6400d341 100644 --- a/examples/preorders/NatHeap.fst.hints +++ b/examples/preorders/NatHeap.fst.hints @@ -17,7 +17,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "01d3885d104b97a7f0581783930b7925" + "56f8729a9dc1f139fd0f59114c11fbe2" ], [ "NatHeap.alloc_ref", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "aa155e3810e3fd3b302352a7f75547c2" + "811819b2962191da9a876a1a05e5c9bc" ], [ "NatHeap.alloc_ref", @@ -84,7 +84,7 @@ "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "22516dd60d4c1dc0100b5472efc34290" + "b3915978efbbefe2d5498a73171beb29" ], [ "NatHeap.upd", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "9e13b9aa7f2fecbed5c426c1af46eee4" + "3aea089d6f6cb2ffef32d7b1bd72d1c1" ], [ "NatHeap.upd", @@ -145,7 +145,7 @@ "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "f731e35721e9826fdd8895ab2d58a1fe" + "db038a27db03e7299d8e42c2c56d3fe9" ], [ "NatHeap.emp", @@ -177,7 +177,7 @@ "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "52d5b66dbd1503718e12e926c278cc94" + "1c6cd1a61912843e576b72b146bc72c2" ], [ "NatHeap.concat", @@ -224,7 +224,7 @@ "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "94bec4a44233c241b056dc0b26c081cf" + "b603ecddc90efe0f7c2fa28cef9b0e06" ], [ "NatHeap.consistent_refl", @@ -236,7 +236,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "4a64d20aee9bccb4acd5c2ec7fa613db" + "6b54946cbd6a7b6bc5a1b7a19507bd3c" ], [ "NatHeap.emp_consistent", @@ -276,7 +276,7 @@ "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "e68bb7bc26b6bda9629d07cca10384ab" + "21fa59be87c599cdbd400d824eaf4ce3" ], [ "NatHeap.upd_consistent", @@ -322,7 +322,7 @@ "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "5911db7fad47d1fc0dfcb971679f75a3" + "55368526d8d11ced6229fd74daadf01e" ], [ "NatHeap.alloc_ref_consistent", @@ -366,7 +366,7 @@ "typing_Tm_abs_fa1972c58aa5d1db48df78048fae6a64" ], 0, - "fb76b23dbcec94aa696d53a6721410e5" + "ed57ae5a5fe7ab3c58b07ce8455de957" ], [ "NatHeap.contains_sel", @@ -386,7 +386,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "66925cd08e04394e8adaa2a04c388ac4" + "6663e5b5b53ad548f4d47c3400193b3f" ], [ "NatHeap.contains_upd", @@ -401,7 +401,7 @@ "typing_NatHeap.upd" ], 0, - "f0b1470093b8d21ab13d928552552648" + "41b3a210cf6b22cdda1caea80274f3c6" ], [ "NatHeap.contains_emp", @@ -433,7 +433,7 @@ "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "cdd614bb185ce914a11ed5c1f4fc378c" + "8a8033d0e11b0078e96f5da5f5bb783f" ], [ "NatHeap.sel_upd1", @@ -445,7 +445,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "01a90247cab601c8c63b0f9b2b0b4c1c" + "7eab73a694e22ceaeb01612930a9073f" ], [ "NatHeap.sel_upd1", @@ -458,7 +458,7 @@ "typing_NatHeap.upd" ], 0, - "5ed0021cf9c83cf119c9d1b3d4468442" + "81189c8d86982ccaec512c645a2b00dd" ], [ "NatHeap.sel_upd2", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "98d30898d6d668873571fe4c8bc176d2" + "55ab1512a5e3e884971e6d0698ae93d1" ], [ "NatHeap.sel_upd2", @@ -483,7 +483,7 @@ "typing_NatHeap.upd" ], 0, - "5161d8d0dbbe579cc13dc326b0494d3d" + "05382d25c883b25c6697d5ecbd417c3d" ], [ "NatHeap.upd_sel", @@ -532,7 +532,7 @@ "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "f03a7afcd97b1843ba91b99d10fb40ca" + "b63c4787f5922e98d6f00c921091ebda" ], [ "NatHeap.contains_concat1", @@ -586,7 +586,7 @@ "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "25888f0e028ce2d8d33ad4c3471eaa18" + "a4aa4fe04786424118fb102cba648826" ], [ "NatHeap.contains_concat2", @@ -630,7 +630,7 @@ "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "unit_typing" ], 0, - "12ef765e128c57ed7f48569245472503" + "ece0763f2d70be1a10704002d94ca2e5" ], [ "NatHeap.sel_concat1", @@ -642,7 +642,7 @@ "refinement_interpretation_Tm_refine_241ad8bfe898ca08359d47be04127cb2" ], 0, - "b66c829cc40062004db7296c68620158" + "a379d2d2068d49b3191f61d2bcc0b282" ], [ "NatHeap.sel_concat1", @@ -700,7 +700,7 @@ "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "431460df48d2b0ea2be94e7999073bd1" + "2b3ecc3d5c521e6a6f484b1831cdc703" ], [ "NatHeap.sel_concat2", @@ -712,7 +712,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "22ad446f08a791aa7d0317d30b09799e" + "454406b8c1a370467fc971417f18edcc" ], [ "NatHeap.sel_concat2", @@ -753,7 +753,7 @@ "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "527093c5fb0ffe166ca1d4e7bea2cdc3" + "5c9e27d055ec5ebf7d9f8dfc0b547fa5" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Protocol.fst.hints b/examples/preorders/Protocol.fst.hints index bd7b25ae062..5db573e0986 100644 --- a/examples/preorders/Protocol.fst.hints +++ b/examples/preorders/Protocol.fst.hints @@ -29,7 +29,7 @@ "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "735cb3b80a7c668fc0d9f40a7c304978" + "1c7aa7f595cf4eac37db833afa60d185" ], [ "Protocol.network_message", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "086219dbced88de5ccbab6f9f2f30892" + "13398154c2f8b4e764593e000a3b937e" ], [ "Protocol.zeroes", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5197ec01253b19352270bcd13753eb77" + "f98ddd18afecb6a32545cf42cee628d2" ], [ "Protocol.zeroes", @@ -69,7 +69,7 @@ "lemma_FStar.Seq.Base.lemma_create_len", "typing_Protocol.zero_b" ], 0, - "82d040deb7e3e5cc508434b748c18538" + "48f69370ae04a6ae1082731ddb4fcd0c" ], [ "Protocol.pad", @@ -88,7 +88,7 @@ "typing_FStar.Seq.Base.length", "typing_Protocol.fragment_size" ], 0, - "c37e5141111fafb4e0cebdcf1e97d02f" + "a49260aaed4875dca5765c775929b759" ], [ "Protocol.unpad", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10bf37fac559bdb6f4983f3b93fb707e" + "4e43fb77f3f9a06d56251a182f6193bf" ], [ "Protocol.entries", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e73d493fc2568584860082436f8b30d1" + "9369c0ce347d272fcac6fd31b13bd4dd" ], [ "Protocol.is_prefix_of", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "d127a53a523f69089151cfeb55424029" + "fed86419768f9448254d299298744720" ], [ "Protocol.entries_pre", @@ -140,7 +140,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "5e4990783f75800c167e8f340a6f86af" + "79d1b8db943c1e655b8772719b4dccf0" ], [ "Protocol.counter_pred", @@ -155,7 +155,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "c1ac3661ce7dba4ee0da6aee735744c0" + "a655ce9af066e320155c844f6ea7338d" ], [ "Protocol.counter_pred", @@ -182,7 +182,7 @@ "typing_Protocol.entries", "typing_Protocol.entries_rel" ], 0, - "529f0cd96db0ae8445fae631514a44fd" + "81393f5f156877182d304f5b522e2a1c" ], [ "Protocol.counter_t", @@ -197,7 +197,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "58f6b152dae9632294e16edd745fa4bc" + "5c6911325b43a586e530f53db66ff989" ], [ "Protocol.counter_rel", @@ -212,7 +212,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "fa942bf61ca018a8afe443386f268659" + "5045fb33ac15d25087753bebbffe2283" ], [ "Protocol.counter_pre", @@ -227,7 +227,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "d518e4f563e27c7ba348cd1c430427f5" + "f8e2395fa7fd0ccfa3dd9c08ed765021" ], [ "Protocol.counter_pre", @@ -244,7 +244,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8722bd4ea7dab8a58cd43f13570a3565" + "ac47cc18523c3c1248e71d7cb6b181ab" ], [ "Protocol.connection", @@ -259,7 +259,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "806b550e8fd35570d42d52409925305f" + "dc7866d46ef50a81311e675e19edc41e" ], [ "Protocol.connection", @@ -274,7 +274,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "806b550e8fd35570d42d52409925305f" + "dc7866d46ef50a81311e675e19edc41e" ], [ "Protocol.__proj__S__item__rand", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "cb5a975d6af270d0c13f9f94ce2ddc15" + "925ddeff82c4ca0c42d39ea57cf06616" ], [ "Protocol.__proj__S__item__entries", @@ -303,7 +303,7 @@ "proj_equation_Protocol.S_rand" ], 0, - "a92731bc1f0df431f22b5ad446274def" + "160c1483730fd7f5ff16ec16437b4b5f" ], [ "Protocol.__proj__S__item__entries", @@ -325,7 +325,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "461b89abb6e8b5d8fcd35dfbc78dbe10" + "425a9f8bb6702045d84eab8555701278" ], [ "Protocol.__proj__R__item__rand", @@ -338,7 +338,7 @@ "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb" ], 0, - "60b7274caccfb7812b710673c1af04ac" + "c86e79c928d85f323f93276e57e203f0" ], [ "Protocol.__proj__R__item__entries", @@ -354,7 +354,7 @@ "proj_equation_Protocol.R_rand" ], 0, - "f34d47be05a03cb52094988037a8a03c" + "c2ab883f756d58573ba8f71b1c17cc3e" ], [ "Protocol.__proj__R__item__entries", @@ -376,7 +376,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "06fb2dbe7ad0f3a274ae40060468ebe3" + "5853d64e2b969c811ea44689bdec4492" ], [ "Protocol.__proj__R__item__ctr", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "18a7856329f461dfbaa80e25b9cdb6e0" + "71bc8150203895757e391ac44cf5eb31" ], [ "Protocol.rand_of", @@ -409,7 +409,7 @@ "fuel_guarded_inversion_Protocol.connection" ], 0, - "4104c31806670adac3026c5efa8d40d1" + "7fab3554edd260021cb10bcee52964ae" ], [ "Protocol.entries_of", @@ -434,7 +434,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "625f029c7fe1076d601828cf019ffea9" + "ea5f3fb95955e821c165246521da4391" ], [ "Protocol.live_connection", @@ -451,7 +451,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "69c905fbc5b24f89ae67e148da0dcc0a" + "2db765a5f6df47510e4cbc1027de70e7" ], [ "Protocol.recall_connection_liveness", @@ -475,7 +475,7 @@ "projection_inverse_Protocol.S_rand", "unit_typing" ], 0, - "a233f5ad1bf6172925d661d8b36dd85d" + "5e8efd7db86db867c5993dd5fdc8920d" ], [ "Protocol.lemma_sel_entries_equals_sel_tot_entries", @@ -496,7 +496,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f2f063387db52820e1718de38af0a239" + "287c03665c7d9da181e62c1ba0e12997" ], [ "Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "971f820bb01da1e26f5b65adc670065e" + "aeb42bb2718c615979213f0b243947b2" ], [ "Protocol.log", @@ -537,7 +537,7 @@ "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "8be2a31815273eff8e3201b0d050479f" + "68513d713b895b97c535e0c9ee6bfe36" ], [ "Protocol.lemma_prefix_entries_implies_prefix_log", @@ -557,7 +557,7 @@ "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "e51eaca47d5a260258437eb2ef598f5e" + "4fc4a4dbd460a411d1f7548c48185f23" ], [ "Protocol.ctr", @@ -580,7 +580,7 @@ "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "69660d36f91aff5e89e56438682c4313" + "453152dd105ed7a77eea9d2de6c17c62" ], [ "Protocol.recall_counter", @@ -633,7 +633,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e", "unit_typing" ], 0, - "3272b9a1bc95741181ea971e2f39ef4e" + "e7d345f664bf6604f519bef5173ab98a" ], [ "Protocol.snapshot", @@ -682,7 +682,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "db7187d1dc3af2fbb64d9e6d8b6f5f2a" + "4f31c646e23b61226914407902196a2b" ], [ "Protocol.snap", @@ -701,7 +701,7 @@ "unit_typing" ], 0, - "347e8840495bb4289cd98f7b212a4022" + "337c848c0925c804061ef7753afb0557" ], [ "Protocol.connection_footprint", @@ -722,7 +722,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7585d11cdedbe21bb20cfe68bde8652" + "45d368a727bea4b1d438c3927f01b9a0" ], [ "Protocol.lemma_snoc_log", @@ -744,7 +744,7 @@ "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "a26f93ad86abd8ff2daedc5284c794fb" + "85f9a617a99d32d25ab0f3ffecf016a8" ], [ "Protocol.network_send", @@ -765,7 +765,7 @@ "typing_Protocol.sender" ], 0, - "2ec3f859f1474afccb7c6d743d275ceb" + "6415a49ee51dd82a4c6ee82cc5d98af6" ], [ "Protocol.send", @@ -845,7 +845,7 @@ "typing_Protocol.zero_b" ], 0, - "336b7816cc06b6c86da851217b84e4bb" + "46abe11a3827d3674fafd6af8840ac19" ], [ "Protocol.ciphers", @@ -861,7 +861,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "fe1dbbe3c2bd70eda99a26ec0a2f49a8" + "f91f515d91510b14ef9f9d5f323d3626" ], [ "Protocol.modifies_r", @@ -875,7 +875,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2692a120adf66d3361184c10c23e0b07" + "dcba11873fc0321f57e0ba0fe18b654b" ], [ "Protocol.verify", @@ -894,7 +894,7 @@ "typing_Protocol.receiver" ], 0, - "71a8f44ec13e6a1211c858b5a0a23c7e" + "3bb45121d9d630db2baed406594a3c18" ], [ "Protocol.receive", @@ -1012,7 +1012,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "6eb7c30c3ba62510a72cea23e9c5af40" + "d9a6ca87505c4c67328db1b73a27013b" ], [ "Protocol.lemma_is_prefix_of_slice", @@ -1033,7 +1033,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f4641094379bca7a8137f2bc2eb4da07" + "3f44830d44f94aedecd35e0df5c97ffe" ], [ "Protocol.sent_bytes'", @@ -1051,7 +1051,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e49ab9a864fd1e49c5ec8b842f72bb71" + "59b4fb0cfb998f20c74eb71aed2f5fc3" ], [ "Protocol.sent_bytes", @@ -1103,7 +1103,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "5532328c19fc5e3870ca660e6a412661" + "a6c2d615ac0b624f72fa651b132cd373" ], [ "Protocol.iarray_as_seq", @@ -1129,7 +1129,7 @@ "typing_MonotonicArray.as_seq" ], 0, - "2e1b5f1e694a5c571421a67d621bd837" + "6c2a53b4f5edd5887a897d7f3cc0a32a" ], [ "Protocol.fully_initialized_in", @@ -1142,7 +1142,7 @@ "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "19a564cbb52cb39af298ad0f69b76382" + "6359b964a794827bca65e8bea24cd3a2" ], [ "Protocol.subseq_suffix", @@ -1196,7 +1196,7 @@ "typing_MonotonicArray.as_seq" ], 0, - "8839e2d2a39b65cdcdb424a934b47512" + "de50c667a0c7f7cc35220457c499714c" ], [ "Protocol.slice_snoc", @@ -1227,7 +1227,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "a2da572eea37bb869ab7ceea0947c6b6" + "bd8f46f572fffbf7f0b0862be5c04185" ], [ "Protocol.slice_snoc2", @@ -1263,7 +1263,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "df05ecf8909fb7ad8b2fed69a1922ce8" + "ef898fb5351706327b67a704734fc2c5" ], [ "Protocol.append_subseq", @@ -1312,7 +1312,7 @@ "typing_MonotonicArray.as_seq" ], 0, - "f21408c391a71d36f4557785901a1c89" + "3a8a70475a94b816c419b028e181e1aa" ], [ "Protocol.lemma_sender_connection_ctr_equals_length_log", @@ -1350,7 +1350,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "d4c12eefb83a0312b31136fd31db30d6" + "77300d67a3ad625f90573e1c0be65e59" ], [ "Protocol.send_aux", @@ -1379,7 +1379,7 @@ "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "51674ecece1b64e7586c2fdcb1cff91c" + "c532089d74623b444fb6e3b1a20479dc" ], [ "Protocol.send_aux", @@ -1393,7 +1393,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0dd9abdb73ea735daf58ab967ab366b3" + "1f1ddc7904fda5ef81628630c061c586" ], [ "Protocol.send_aux", @@ -1476,7 +1476,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "e8920d0e5aab93f3777ba767138ace5b" + "cf61c34d7d3269b795e1816145585dcc" ], [ "Protocol.send_file", @@ -1490,7 +1490,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04e3235bf6c740c93c5da5f394963bed" + "a2626bc08eed4b274fe7c1d0bce48882" ], [ "Protocol.send_file", @@ -1559,7 +1559,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "d22e5f43e739b21d9ba3a982f92b15b5" + "06f791df80fa3e88b663a442fae566d8" ], [ "Protocol.received", @@ -1576,7 +1576,7 @@ "function_token_typing_Protocol.zero_b" ], 0, - "494c8fd5c881f3c6a0a0b41b3afc37a9" + "eb5e5ab91e599246c8624376a726933f" ], [ "Protocol.append_filled", @@ -1641,7 +1641,7 @@ "typing_MonotonicArray.suffix" ], 0, - "4c6df76582b5f6b741900ecb62c9a3e1" + "18ee692a260bca6d744fe4811eecedc8" ], [ "Protocol.extend_initialization", @@ -1681,7 +1681,7 @@ "typing_MonotonicArray.as_seq" ], 0, - "3bad62b1df3c7fed6b9660378a158514" + "5576c374aa8d6134fd512a690646e1c0" ], [ "Protocol.receive_aux_post", @@ -1695,7 +1695,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ff88ce3493042aa946e9e63a666301d" + "e447668791d4eb7d76f9ce48b95e2352" ], [ "Protocol.receive_aux_post", @@ -1723,7 +1723,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6325d48fb377da0a10167a360b0e40a3" + "1915aa87a42171566b4fd8a5161d691b" ], [ "Protocol.receive_aux", @@ -1752,7 +1752,7 @@ "typing_Protocol.fragment_size" ], 0, - "11db402afd97c9b3aebc8edade25f33c" + "c7d6b4cb173c26b87214319d9eebf7b8" ], [ "Protocol.receive_aux", @@ -1766,7 +1766,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "41ea897509ce0e46dbe413df33d826cf" + "c6bed28bdb2513c679e33656f2cb4b40" ], [ "Protocol.receive_aux", @@ -1843,7 +1843,7 @@ "typing_Protocol.receiver" ], 0, - "c1ea33f01963ecaca59da307152a7bb2" + "13ee720886fed8b93b69d44e7e6eb5f9" ], [ "Protocol.receive_file", @@ -1872,7 +1872,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6316a2774f1187d3974739a6e9ad504b" + "f9d687085db564a8f64789b2769e4fbe" ], [ "Protocol.receive_file", @@ -1886,7 +1886,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "661026b14d169778a052dd4bae2734a0" + "4533ab886772f2c502c98ffadadb740a" ], [ "Protocol.receive_file", @@ -1985,7 +1985,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "c36abfaecf798f492389f2fdfa2e35aa" + "e3e598206933e67bc267592a3decbdba" ], [ "Protocol.tags", @@ -2001,7 +2001,7 @@ "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "b82bf6e45b7d9be0d99f5667e40bee76" + "3e464f69ac1ac74ed9e6e2655aa0cda6" ], [ "Protocol.lemma_partial_length_hiding", @@ -2010,7 +2010,7 @@ 1, [ "@query" ], 0, - "b16525bed8f305b09948bd5fc6be8845" + "66b64ddc0f1c3c172b4d8b09b6605a10" ], [ "Protocol.lemma_partial_length_hiding", @@ -2076,7 +2076,7 @@ "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "f2ec4f73c0ae96edf23f49945f91f67e" + "81cc26e93b94660630fbf88261e6d2f7" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ReifyTest.fst.hints b/examples/preorders/ReifyTest.fst.hints index 0bd00333ed7..fb445914dae 100644 --- a/examples/preorders/ReifyTest.fst.hints +++ b/examples/preorders/ReifyTest.fst.hints @@ -35,7 +35,7 @@ "typing_MRefHeap.upd" ], 0, - "61392a57daca41f46d2998cdf1ee7259" + "23d374f0366d5db52956ac21e589aa18" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ReifyTestTSST.fst.hints b/examples/preorders/ReifyTestTSST.fst.hints index 6c4f9b8c389..29285d0f1d2 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, - "4b0ec1e942913842ab70998918b75fbe" + "215bcef233fc2ab82d884065e87c1a74" ], [ "ReifyTestTSST.older_than_antisymmetric", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "145e8872dcc5d583ff9c6f4e3bca7189" + "c3e75a4c435a4b28049813f6fdd57ebb" ], [ "ReifyTestTSST.state_rel", @@ -43,7 +43,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3b3ff83d3c17b2a4ee3ed33d97bc0aaf" + "16ecb483685bfcecb4c781800226d054" ], [ "ReifyTestTSST.reify_recall_test", @@ -70,7 +70,7 @@ "typing_ReifyTestTSST.get_timestamp" ], 0, - "b104aa0ac37eada13d5f492338e85159" + "2d4c3fcefa048abfe70f477fe0069b9d" ] ] ] \ No newline at end of file diff --git a/examples/preorders/SnapshotST.fst.hints b/examples/preorders/SnapshotST.fst.hints index e8beb8c9c20..b576e5366df 100644 --- a/examples/preorders/SnapshotST.fst.hints +++ b/examples/preorders/SnapshotST.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_abc8984d7fb6dc87dbd65572f74bda11" ], 0, - "9b27313c24c8d00508543d79be651fe9" + "0fb9b9649951494f7b90507eb6bd9774" ], [ "SnapshotST.__proj__Tmp__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "c6ae0bebeefc137ef43641b3a1479932" + "80ae9dc726c0c23b31f1791d368ba78f" ], [ "SnapshotST.__proj__Tmp__item___1", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "fd536d3f9aec4aa4b8f5fb0ce2213215" + "577554c99367887cbcb063f0a09cfee0" ], [ "SnapshotST.rel_t", @@ -56,7 +56,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "3a3d7aeadf3668807c12982132431f9e" + "237af4cdaf0273a040824f6e7d7d9ddf" ], [ "SnapshotST.lift_predicate", @@ -68,7 +68,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "2564a7f8e84c14f2e20dcbe39d92164d" + "d4a56f51ecc9aab4862fa12864cd33ee" ], [ "SnapshotST.lift_stability", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_4919007296017533ad3fcdbcd84b282e" ], 0, - "d1d5043ca9876190a8734024ea0d9811" + "7f01d94a65a7e6b532a2300ce8b72bfd" ], [ "SnapshotST.witnessed", @@ -109,7 +109,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "256a2a33d6e9c7562ddb8d2fcad21b7d" + "548a8dec786a08f2cac31c211f0f63f9" ], [ "SnapshotST.witness", @@ -131,7 +131,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "8f86270918db2ff00ec48da760000c58" + "8701e0f0fc19f6806181406e15f8a1e6" ], [ "SnapshotST.recall", @@ -153,7 +153,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "44c85577dd322e196896950dc1d05b3a" + "f1f3c1efc6fc151438a9dab78f4a59e6" ], [ "SnapshotST.get_s", @@ -165,7 +165,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "b58e428520d4ae85cef0d8aa9e743efc" + "cc6810d7fe0ab4240c8f32f78fb5104b" ], [ "SnapshotST.get_s", @@ -183,7 +183,7 @@ "projection_inverse_SnapshotST.Tmp__1" ], 0, - "ebf4f5891c9d1b2ce7b3657e4330564b" + "06fe7d8570811c41fd61ed238d594558" ], [ "SnapshotST.put_s", @@ -195,7 +195,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "9a30b6e7e81b296832635921e20d162d" + "7f5a3ad60db396cc6cb2c9b1f493280d" ], [ "SnapshotST.put_s", @@ -223,7 +223,7 @@ "typing_SnapshotST.rel_s", "unit_inversion", "unit_typing" ], 0, - "55e1bcc4ab9f591deefbb1216fc37160" + "b89932176b9134b1b7851204a103cb67" ], [ "SnapshotST.witness_s", @@ -235,7 +235,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "ea96fa5a3f35ca7863246d3e899a950f" + "de506743877fd03bf4ee491d2aafa232" ], [ "SnapshotST.witness_s", @@ -257,7 +257,7 @@ "token_correspondence_SnapshotST.rel_t" ], 0, - "1d2d16d174fea45cf79a5b0b2cb8f8b9" + "9135099bf362062c087fcd2d000021f2" ], [ "SnapshotST.recall_s", @@ -269,7 +269,7 @@ "typing_SnapshotST.uu___is_Ok" ], 0, - "af60822dfabde0484d067a0ef0a7596b" + "f6381e489d2fd01c7aa99db7ed86b0e9" ], [ "SnapshotST.recall_s", @@ -292,7 +292,7 @@ "token_correspondence_SnapshotST.rel_t" ], 0, - "9250c796e66048e81087a8b1596e069a" + "fe7108a6a5b74054b314573b7717a571" ], [ "SnapshotST.break", @@ -304,7 +304,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "dcaf4432f8acd786013132ff3aaeb0ad" + "0c14cc283b91c3c2a0650ad752a3ae9c" ], [ "SnapshotST.break", @@ -329,7 +329,7 @@ "typing_SnapshotST.rel_s", "typing_SnapshotST.uu___is_Ok" ], 0, - "83b175171d675f67c2e8fa66fa9c1039" + "6d8fd08545fcdd87c2e637be22329d0b" ], [ "SnapshotST.restore", @@ -341,7 +341,7 @@ "disc_equation_SnapshotST.Tmp", "typing_SnapshotST.uu___is_Tmp" ], 0, - "5961ec6a0044a57c2b8b2c8c49ebf8ec" + "850f15adc87e28877d4d37f55998da1c" ], [ "SnapshotST.restore", @@ -359,7 +359,7 @@ "projection_inverse_SnapshotST.Tmp__1" ], 0, - "a9a1c9f18da8064bea7ac390c1cc8fd2" + "f7731d1d3b537e9d381f4af99588c50c" ] ] ] \ No newline at end of file diff --git a/examples/printf/SimplePrintf.fst.hints b/examples/printf/SimplePrintf.fst.hints index c305c67820f..699976c7362 100644 --- a/examples/printf/SimplePrintf.fst.hints +++ b/examples/printf/SimplePrintf.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.String.char" ], 0, - "1f23b6b159dba2bb63c16d7fd849ee5a" + "99aa77157f7252cf6fa050eeb9532c45" ], [ "SimplePrintf.__proj__Lit__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_4c947cba4356c53de258d6a2aaf1bdcf" ], 0, - "b9cdd88573f576c67568a4ec6c9bf47c" + "68cdd29461eab47d56bff754ac0c1988" ], [ "SimplePrintf.__proj__Arg__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_18496ceb9c66ce4705128a993a338a20" ], 0, - "3db24bec889fbc0d599630c4e4b34c82" + "b0c03a508905e3cbaacea4bbe1242c8e" ], [ "SimplePrintf.arg_type", @@ -54,7 +54,7 @@ "fuel_guarded_inversion_SimplePrintf.arg" ], 0, - "e31c66bb50d36183ccca160c1e42de47" + "670a497175582de8ca5ca6430f062cec" ], [ "SimplePrintf.dir_type", @@ -74,7 +74,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "a6ab6cb8bf355918128f30dc48736a5e" + "17e5761d287b20b29f8c1bf8d738d438" ], [ "SimplePrintf.string_of_dirs", @@ -125,7 +125,7 @@ "typing_Tm_abs_55d28017a0da5d545c9b30c6c0d37957" ], 0, - "8b7ce1ab0e5f8e526c5722c96b2a769e" + "f982e377a89935e7dac574d1bc3d4076" ], [ "SimplePrintf.add_dir", @@ -142,7 +142,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5766b17dbc6ebad1f79355d754acb422" + "b89533bad07a64834aad490be59460b6" ], [ "SimplePrintf.parse_format_pure", @@ -166,7 +166,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "cf31cf9e226e8f57be34529edc02859d" + "891874d82cd680a0245e79c8e8c3b5a1" ], [ "SimplePrintf.sprintf", @@ -201,7 +201,7 @@ "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "844bd64ad64bf79bb73f7d93c8f1820f" + "8579ce7b3a631675c0fa5e7e96fd9b33" ], [ "SimplePrintf.test", @@ -210,7 +210,7 @@ 1, [ "@query" ], 0, - "b9d3ab992b586a65ce1bc3ba2493566b" + "0619fc5145822d8fc6d4a2cb74f6838d" ] ] ] \ No newline at end of file diff --git a/examples/regional/RVector.fst.hints b/examples/regional/RVector.fst.hints index 308e8d6f939..db89e6379ac 100644 --- a/examples/regional/RVector.fst.hints +++ b/examples/regional/RVector.fst.hints @@ -42,7 +42,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "be762e3180794f64c2035e59695c5bab" + "90f4e441c4fefcfd401d96da24ac1ded" ], [ "RVector.two_regional_vectors_disjoint", @@ -88,7 +88,7 @@ "typing_LowStar.RVector.loc_rvector", "typing_RVector.breg" ], 0, - "b22723a4ee09a9557cc4d609014ccb2c" + "b1ced7139563b424b6ba587cbee6078d" ], [ "RVector.bcpy", @@ -184,7 +184,7 @@ "typing_RVector.breg" ], 0, - "60795a95980c119ba386d9d4c857db1c" + "1148849500a21ccb8402d019e01a6ada" ], [ "RVector.insert_does_not_affect_the_other", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_e9c594b4242f76198d582dc26bb410e2" ], 0, - "39ae51197ddd7f9b4400ab2e40b65266" + "3e22927375392a376820f4d7ec522fed" ], [ "RVector.insert_does_not_affect_the_other", @@ -273,7 +273,7 @@ "typing_LowStar.Vector.is_full", "typing_RVector.breg" ], 0, - "3ba1185ba4e0d140eb9e1c56a0437894" + "cfd47849df7058b35859f61495d95dea" ], [ "RVector.free_does_not_affect_the_other", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_7ed8d5706de7260812cef97376df095f" ], 0, - "3e80ab96bae2c7ee2c86f7c49351c38e" + "955c28f8eaa8f18212a358d02afed31c" ], [ "RVector.free_does_not_affect_the_other", @@ -357,7 +357,7 @@ "typing_LowStar.Vector.is_full", "typing_RVector.breg" ], 0, - "57f95a0bae157c88319b31a7c55c0bd7" + "d2d0d84fe70944ada42a677785134df0" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.Aux.fst.hints b/examples/rel/Benton2004.Aux.fst.hints index a69a18ffc08..a9baca16de8 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, - "1ad49f0fe8673b424ec148e18f5c43c2" + "2a2bd6618a0337d89d4436bbe422a755" ] ] ] \ 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 e45fb3f1aa1..85cadb29db9 100644 --- a/examples/rel/Benton2004.DDCC.Examples.fst.hints +++ b/examples/rel/Benton2004.DDCC.Examples.fst.hints @@ -12,7 +12,7 @@ "equation_Benton2004.op_abs", "lemma_Benton2004.DDCC.holds_ns_singl" ], 0, - "9315b54050e4d8b553100d6be885fa12" + "4fda27a227d4d901b36d7d512d9b5b5b" ], [ "Benton2004.DDCC.Examples.d_op_singl", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "1b47215b7016e275cfc684092d285881" + "e78f4fbad4e601534135ae2a2da5f62c" ], [ "Benton2004.DDCC.Examples.fig3_d1", @@ -55,7 +55,7 @@ "typing_Benton2004.evar", "typing_Benton2004.skip" ], 0, - "61a71d2efebe93268a31ef89bf2d0532" + "5362a49394b0fc5c2b6c0faf69bc95f9" ], [ "Benton2004.DDCC.Examples.fig3_d2", @@ -112,7 +112,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "222c5a8f61488906656ce9817e6ead50" + "1f3b730c9884b5dbd116d492b20c5260" ], [ "Benton2004.DDCC.Examples.fig3_d3", @@ -152,7 +152,7 @@ "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" ], 0, - "3ef0993e0b07c511d9d10011bf502c90" + "cd736114b166adf51770c7ca8000c6ea" ], [ "Benton2004.DDCC.Examples.fig3", @@ -202,7 +202,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "de6f507ab5d971891cfe385c7ef5bb5b" + "fc195432010a3a38fc988f9fae2bd0e8" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.DDCC.fst.hints b/examples/rel/Benton2004.DDCC.fst.hints index ee694907182..7b8a634baed 100644 --- a/examples/rel/Benton2004.DDCC.fst.hints +++ b/examples/rel/Benton2004.DDCC.fst.hints @@ -11,7 +11,7 @@ "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5" ], 0, - "7914e16aead121385334643137161bc0" + "f33a408853afee2b3274fe5e2dc767e3" ], [ "Benton2004.DDCC.holds_ns_f", @@ -24,7 +24,7 @@ "token_correspondence_Benton2004.DDCC.ns_f" ], 0, - "2bd35ffe64145cb0f853dc39dbdaf45b" + "e617080313d01d563466d2703d6fc7f3" ], [ "Benton2004.DDCC.ns_t", @@ -37,7 +37,7 @@ "true_interp" ], 0, - "d9a6cc4d57ebcb69a508f395cb5bab84" + "d4e1df09c7d598124ec014a36fa12a1a" ], [ "Benton2004.DDCC.holds_ns_t", @@ -50,7 +50,7 @@ "token_correspondence_Benton2004.DDCC.ns_t", "true_interp" ], 0, - "88295905a915cf156400e94ef6f0a16b" + "877932ab9cc0b79871c25609baba7877" ], [ "Benton2004.DDCC.ns_singl", @@ -63,7 +63,7 @@ "l_and-interp" ], 0, - "7636f2a0c52886b75460b166d639510b" + "1386469c287c95b3496e0d951a26ccee" ], [ "Benton2004.DDCC.holds_ns_singl", @@ -76,7 +76,7 @@ "l_and-interp", "token_correspondence_Benton2004.DDCC.ns_singl" ], 0, - "67c77c64a42042f25f3090565138afba" + "1a6c16d64d0a64143b336714eb8f93aa" ], [ "Benton2004.DDCC.ns_delta", @@ -88,7 +88,7 @@ "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99" ], 0, - "e04131c40fd71141923491e9c39e704f" + "bf6e84cab819a7f61a1ddc818bdc024c" ], [ "Benton2004.DDCC.holds_ns_delta", @@ -101,7 +101,7 @@ "token_correspondence_Benton2004.DDCC.ns_delta" ], 0, - "b92c2ab04b7665cee30851a627054428" + "766bd13682d3d78bbbddbd6ab35e00bf" ], [ "Benton2004.DDCC.interpolable_ns_f", @@ -114,7 +114,7 @@ "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5" ], 0, - "c71240f98c4bbf14d908c73f6d259805" + "06cb0201f0dea24ef58db326b463d906" ], [ "Benton2004.DDCC.interpolable_ns_t", @@ -128,7 +128,7 @@ "true_interp" ], 0, - "83d3a22078ad4b347fafa14274c94d83" + "99fa631eaf822e4c7689920125aec8fa" ], [ "Benton2004.DDCC.interpolable_ns_singl", @@ -142,7 +142,7 @@ "l_and-interp" ], 0, - "86a111a94547ef68adaebca58f31c417" + "33d8c8d5d6c2dc0b0472560d914efbb6" ], [ "Benton2004.DDCC.interpolable_ns_delta", @@ -155,7 +155,7 @@ "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99" ], 0, - "b18b68f6c4092d6dbad625f8f8f96289" + "6d0a19299ed6f8b12dd6a533819d5e1c" ], [ "Benton2004.DDCC.st_nil", @@ -169,7 +169,7 @@ "true_interp" ], 0, - "f0ca15befaa9a8e660c861532709158f" + "a26540eabb905a2558677a08a1e96462" ], [ "Benton2004.DDCC.holds_st_nil", @@ -182,7 +182,7 @@ "true_interp" ], 0, - "936c9a80928cb7ca0ee49f7b3cf84975" + "3fb859418e3ce34e3c769e3f5bd2ad9d" ], [ "Benton2004.DDCC.st_var", @@ -210,7 +210,7 @@ "typing_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99" ], 0, - "b92a9d3377c961a3a12f07acb14c0019" + "58b8b00903825a925189a5eb6942f546" ], [ "Benton2004.DDCC.holds_st_var", @@ -223,7 +223,7 @@ "token_correspondence_Benton2004.DDCC.st_var" ], 0, - "0bf27f9dcb7ccb66d712f726065f373c" + "170fd2c493caaea3db3304596ee6f7bd" ], [ "Benton2004.DDCC.st_intersect", @@ -244,7 +244,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "e27a114474f4b59887e7b5782e9dd171" + "f314d84800b1176e7bf1bc2641540c21" ], [ "Benton2004.DDCC.holds_st_intersect", @@ -262,7 +262,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "6470f1948414b23c071c3f7237fe9951" + "d79560e8b8bf26f41915c8898f7f81db" ], [ "Benton2004.DDCC.st_fresh_in_nil", @@ -275,7 +275,7 @@ "lemma_Benton2004.DDCC.holds_st_nil" ], 0, - "65571849cbbec88082fd56405afb975c" + "1491ea8bd1cca31b4713ea2e7400e7d3" ], [ "Benton2004.DDCC.st_cons", @@ -284,7 +284,7 @@ 1, [ "@query" ], 0, - "e5813bc430038a39f527797d47db8025" + "703dd111a9784eba2ae75bbe71a5d4fc" ], [ "Benton2004.DDCC.st_fresh_in_var", @@ -303,7 +303,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1319ccf5b1da1134e8c446296efe86d3" + "ae05ddf8e7bda0e523807ec0e7583a77" ], [ "Benton2004.DDCC.st_fresh_in_intersect", @@ -315,7 +315,7 @@ "lemma_Benton2004.DDCC.holds_st_intersect" ], 0, - "6706688c94ee2e32f7887af266b4228b" + "4582705b32d999f8819be43a01265ba3" ], [ "Benton2004.DDCC.st_fresh_in_cons", @@ -337,7 +337,7 @@ "typing_Benton2004.DDCC.st_var" ], 0, - "6b0acc8c04de7539d0920ca742eba67d" + "f2e0251cc2a3c8cfebf00fbd29f35470" ], [ "Benton2004.DDCC.subtype_ns_f", @@ -349,7 +349,7 @@ "lemma_Benton2004.DDCC.holds_ns_f" ], 0, - "48dd26f673e6f0fa8efe942df4b15d39" + "b62169b32f57fc8526b20ceba5ea8f20" ], [ "Benton2004.DDCC.subtype_ns_singl_delta", @@ -362,7 +362,7 @@ "lemma_Benton2004.DDCC.holds_ns_singl" ], 0, - "5b9e78932fe82d6dd6741ed7555eab4d" + "5059f6baf8a33897b682a6e6e3360eae" ], [ "Benton2004.DDCC.subtype_ns_t", @@ -374,7 +374,7 @@ "lemma_Benton2004.DDCC.holds_ns_t" ], 0, - "5bbda21aed48e6632ed0e1d0e39bcf28" + "3bd508703ea3f2d86a08459197da1c93" ], [ "Benton2004.DDCC.subtype_st_nil", @@ -386,7 +386,7 @@ "equation_Benton2004.included", "lemma_Benton2004.DDCC.holds_st_nil" ], 0, - "5c4604b72f5e6e639ba99c76969d011d" + "519b80e6ec7dd2e5c810d0e6d3f24c76" ], [ "Benton2004.DDCC.subtype_st_f", @@ -409,7 +409,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "cf231d0502959964e65e11b09df793c7" + "3a656f5d9c4c22fa7695ee52d2d6be95" ], [ "Benton2004.DDCC.subtype_st_t", @@ -432,7 +432,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "6148c8ecb536e342e734fa726748e903" + "17c5c9bcfff45e1249574995364bfaea" ], [ "Benton2004.DDCC.subtype_st_cons", @@ -452,7 +452,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "a8b787d311e71d25c830967239ceb28f" + "ec96aa365f8c2e8d41216054ab8db087" ], [ "Benton2004.DDCC.subtype_st_cons", @@ -471,7 +471,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "07b315edf6cd22b9ef9b7e992fc1499c" + "0b37bef64063e66c1049c97f57be7fd2" ], [ "Benton2004.DDCC.eval_equiv_reified_elim", @@ -483,7 +483,7 @@ "equation_Benton2004.eval_equiv_reified" ], 0, - "c9dd8bdd946c7648c13963ed524a3c5a" + "f0b14c44e12e07d0e1242ce9b5aa7aae" ], [ "Benton2004.DDCC.terminates_equiv_reified_elim", @@ -495,7 +495,7 @@ "equation_Benton2004.terminates_equiv_reified" ], 0, - "12e23404db8896f77a0f874955879c42" + "3b987127e9ecdfecd1da3c8bd7cd858f" ], [ "Benton2004.DDCC.exec_equiv_reified_terminates", @@ -508,7 +508,7 @@ "equation_Benton2004.exec_equiv_reified" ], 0, - "e83d6298ed17297ba83c60541053c96f" + "12bf5de803b8456856200783afefb49c" ], [ "Benton2004.DDCC.exec_equiv_reified_elim", @@ -523,7 +523,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "bc4595d12f2bfdf6936dd159ef5864c2" + "22a51ccb2327101c10cb6ae8027babfd" ], [ "Benton2004.DDCC.eval_equiv_sym", @@ -537,7 +537,7 @@ "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "4e1e6dcbafe2ca2f025acc8ede43f08b" + "b383af04e6601aa3024663ec5adcc9ee" ], [ "Benton2004.DDCC.exec_equiv_sym", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "5ef37534c46e6c1c390d092c22de18ee" + "77e32a5ee00b3332ee7a00a8b3641818" ], [ "Benton2004.DDCC.eval_equiv_trans", @@ -569,7 +569,7 @@ "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "43bb65be2c6271177751cb15ebbd0d22" + "b1b15a8a5eca2b6fd197944fed1ad5d1" ], [ "Benton2004.DDCC.exec_equiv_reified_trans", @@ -584,7 +584,7 @@ "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "348a5bc75bf49c8976f3f5b655d72ecf" + "c8b99370559fd42fd250d0515c02578c" ], [ "Benton2004.DDCC.exec_equiv_trans", @@ -596,7 +596,7 @@ "equation_Benton2004.reify_computation" ], 0, - "89286402a53a25ba081f6c615bdcfb16" + "b38ea8de6b4f275911cd021850f5d2e3" ], [ "Benton2004.DDCC.d_ct", @@ -629,7 +629,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "d4d2e9d0d2cbce52a2072e1cf26908e7" + "64706cf06a2803720e8b56dab8095526" ], [ "Benton2004.DDCC.d_et1", @@ -650,7 +650,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "b1e3aa5947e62c64823fa27ace31179f" + "37207e4e8fa3f09aadb35f73a2ed962e" ], [ "Benton2004.DDCC.d_et2", @@ -674,7 +674,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "ccf6b701e9293fd48413318e7c65a3be" + "d29ae19b4a9fb59ef6c664df6a8126cb" ], [ "Benton2004.DDCC.d_csub", @@ -688,7 +688,7 @@ "equation_Benton2004.reify_computation" ], 0, - "119cb0a10f0cc21d9b985bf976c931f8" + "6fcc5c4075c6a2deed2a8c165a3a43f5" ], [ "Benton2004.DDCC.d_v", @@ -717,7 +717,7 @@ "typing_Benton2004.DDCC.st_var" ], 0, - "7908f56cb4dd8d3bd58465177f587158" + "58d14f210fe1badbc855aaf26c47db4f" ], [ "Benton2004.DDCC.eval_equiv_const", @@ -737,7 +737,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "3414c916aafb3dc553ac6d149d1a030e" + "cb107c64d380b19692d0cacb524506f0" ], [ "Benton2004.DDCC.d_skip", @@ -751,7 +751,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.skip" ], 0, - "3255db31e0c42867353c5675ac32bbe5" + "2fc558b8e06f214b54ddfafcba6c03ae" ], [ "Benton2004.DDCC.d_assign", @@ -822,7 +822,7 @@ "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "076e5d54c8ba3b9d2ccbf35605221f91" + "56d3b88fc525191830c5935ed39751dc" ], [ "Benton2004.DDCC.d_assign", @@ -892,7 +892,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "f8e8915b444c119b8aae5768f0be491a" + "de02e624a881eca5960985f1026ea4ce" ], [ "Benton2004.DDCC.d_seq", @@ -906,7 +906,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "d71ba7b59da8847827b3d093fa9f9f61" + "3eb44f6bf33655fbff7e68b6a24e70c0" ], [ "Benton2004.DDCC.d_ifthenelse", @@ -954,7 +954,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "573728b8cd618a08bde5a5dc42dd2ad3" + "e3922ce572248676946b3799030a8176" ], [ "Benton2004.DDCC.elim_fuel_monotonic", @@ -977,7 +977,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "98b17838f08232bf6bc113e1af4d830b" + "5dcf2cf111a8e9cd4339a6ecbac57d2f" ], [ "Benton2004.DDCC.d_whl_terminates", @@ -1040,7 +1040,7 @@ "typing_Benton2004.while", "well-founded-ordering-on-nat" ], 0, - "94e91b1143a911c38025ad6671b86f0b" + "36b26fc836b38f6871aad80152a4164c" ], [ "Benton2004.DDCC.d_whl", @@ -1105,7 +1105,7 @@ "well-founded-ordering-on-nat" ], 0, - "80e5a9573b56a295cd44cb8fda634785" + "ba64618eb139ff9c97482168422497ca" ], [ "Benton2004.DDCC.d_su1", @@ -1120,7 +1120,7 @@ "equation_Benton2004.skip" ], 0, - "ecf73f7ec1bf031f8fde006f22b3bf15" + "923f114c6d28a5a6b90f3e20fe8f5e75" ], [ "Benton2004.DDCC.d_su1'", @@ -1135,7 +1135,7 @@ "equation_Benton2004.skip" ], 0, - "96db83ff95e2590ec4d6b07093a01aed" + "02b043f13277449ff53f9f6d4a6084ab" ], [ "Benton2004.DDCC.d_su1''", @@ -1147,7 +1147,7 @@ "lemma_Benton2004.DDCC.d_csub", "typing_Benton2004.skip" ], 0, - "c887a9f1aea2fb641be2cd6f5c4c6d16" + "9f3f80f0151c1560efae22088a3d484e" ], [ "Benton2004.DDCC.d_su2", @@ -1162,7 +1162,7 @@ "equation_Benton2004.skip" ], 0, - "6f9c8dc9a2832d8c9d4ea695256faaa7" + "752fcd9256cab37152c717ae2053e287" ], [ "Benton2004.DDCC.d_assoc", @@ -1176,7 +1176,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "9799ee2ac4734c3e258a211a3e2f894c" + "176c8f1184d45464e24a4f95d59494ed" ], [ "Benton2004.DDCC.d_cc", @@ -1190,7 +1190,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "b1944fe6d38d88ddea11fc2b9f9cc950" + "1bd3694be1f97ec8c75e5c8f56432caf" ], [ "Benton2004.DDCC.d_lu1", @@ -1205,7 +1205,7 @@ "equation_Benton2004.while" ], 0, - "ee2f757c7d736369adca236ade52bc21" + "c6bab9cd8e220bda319d10abdba2e6fb" ], [ "Benton2004.DDCC.d_lu2", @@ -1219,7 +1219,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.while" ], 0, - "aa8afdbef38baeb5426b8c6d3943229f" + "00bd86580eb6408799484a4144ea9d73" ], [ "Benton2004.DDCC.d_sas", @@ -1281,7 +1281,7 @@ "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "c705d56466f79a08bc2dfea990b116ce" + "552cc9b4ebc231b0ebf441be21b5dfbf" ], [ "Benton2004.DDCC.d_sas", @@ -1350,7 +1350,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "2a8fb1f6ce7eb192d946da994d6dd1aa" + "14e481ce226278e8164f54fa02effe7a" ], [ "Benton2004.DDCC.d_das", @@ -1418,7 +1418,7 @@ "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "47729b76aa9d02d28f6e346be8230283" + "d07c37bdb8fa008b2136281a91d51459" ], [ "Benton2004.DDCC.d_das", @@ -1493,7 +1493,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "ccccd0170e990c3f5f9cbbc14dcfec8a" + "af0bf34153a546e6dfd29c97ce242525" ], [ "Benton2004.DDCC.d_bre", @@ -1507,7 +1507,7 @@ "equation_Benton2004.reify_computation" ], 0, - "74db4a00d6f05210c9b5c6d34b78c0a5" + "8754930ed1763f398f8ef6826a45c392" ], [ "Benton2004.DDCC.d_cf", @@ -1541,7 +1541,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "c7da4a44f36ff35efd5e54c61634fdfe" + "4e46914790c315b8cedc60f6b276f6a5" ], [ "Benton2004.DDCC.d_kb", @@ -1596,7 +1596,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "6c977e0d1871c84f40ea60aca3dbcb85" + "ad687763c4a642397e09be2c1f185ac8" ], [ "Benton2004.DDCC.d_dwh", @@ -1649,7 +1649,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "8f2d237308261843f6112cb4a467e969" + "a39b5d4eeb8104bec30ca47200b206a4" ], [ "Benton2004.DDCC.d_div", @@ -1713,7 +1713,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "3cc5b3b1e51d00c9bb41485376ddcb8c" + "86fda4a2805f9433c2d725e1884cdb24" ] ] ] \ 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 8d7a443cda8..173a8940245 100644 --- a/examples/rel/Benton2004.RHL.Derived.fst.hints +++ b/examples/rel/Benton2004.RHL.Derived.fst.hints @@ -16,7 +16,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "54380379f4cd17bc80ab235e56d8ee69" + "3022fdcf5564a4b6b53f4e8ec6341534" ], [ "Benton2004.RHL.Derived.r_dassl_derived", @@ -33,7 +33,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "4df6f5cff89d0a9fc5809f12683cd68d" + "daa73840cb80918602d0cefceb1bc1cb" ], [ "Benton2004.RHL.Derived.flip_flip", @@ -46,7 +46,7 @@ "token_correspondence_Benton2004.RHL.flip" ], 0, - "38c4160d89fb8aa55970eb05919014d9" + "0a0f911a88569e970b52663896791f05" ], [ "Benton2004.RHL.Derived.r_dassr", @@ -73,7 +73,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "7bce8f18e326c5f73a5b71dae4543322" + "5a5897202a88beb9ea070d508eb0beb4" ], [ "Benton2004.RHL.Derived.d_su1'_flip", @@ -86,7 +86,7 @@ "typing_Benton2004.skip" ], 0, - "92c996659a5a5bd5b99561b8911f0a3e" + "e0d3057e0d296bd84be06af76891414e" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.Examples.fst.hints b/examples/rel/Benton2004.RHL.Examples.fst.hints index dbc6e898920..f2eec449ffe 100644 --- a/examples/rel/Benton2004.RHL.Examples.fst.hints +++ b/examples/rel/Benton2004.RHL.Examples.fst.hints @@ -61,7 +61,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "b5460f2b77df97feab3719c2c9a81074" + "6b7c5a907e161b7b394152fb92908516" ], [ "Benton2004.RHL.Examples.sec42_ex2", @@ -73,8 +73,8 @@ "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", @@ -105,8 +105,9 @@ "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_tot_fun_Prims.op_Addition", + "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", @@ -123,7 +124,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "918fa7bac107e484c9167e9360bb4524" + "6db5d9bbe3530e6ff98704031076fd96" ], [ "Benton2004.RHL.Examples.sec42_ex3", @@ -155,7 +156,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "6b775d0281199edca423c00eceb27cdd" + "f09e4b3256677cb540c22bed41c58cf3" ], [ "Benton2004.RHL.Examples.sec42_ex4", @@ -188,7 +189,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "162d9dbc2a68784cdf05ed7e5bca40ad" + "c86dfc25528c15127ae8b5ca1620aefe" ], [ "Benton2004.RHL.Examples.sec42_ex5", @@ -221,7 +222,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "777c8e688e3d5a63d859702d49afb9e1" + "ec42bb9fc9aaf1ab47966dc95d63fe28" ], [ "Benton2004.RHL.Examples.r_ass", @@ -238,7 +239,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "d6f83e3d7b902fb404608554b2c9cd94" + "6689a9b4942fe08f6a80e18cec5d071b" ], [ "Benton2004.RHL.Examples.r_dassl", @@ -255,7 +256,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "1130b60e226d36598a991f59eb424257" + "315106b181314e6f9a16390f1298db44" ], [ "Benton2004.RHL.Examples.flip_flip", @@ -268,7 +269,7 @@ "token_correspondence_Benton2004.RHL.flip" ], 0, - "15ccfb78e2f203234d6d47ad0daed7fa" + "2466824c51d0f79799c13503744bd8af" ], [ "Benton2004.RHL.Examples.r_dassr", @@ -295,7 +296,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "ff177b1b2b723660e6801b65f55c931f" + "c013d213367e3d015e3ceef01123322d" ], [ "Benton2004.RHL.Examples.d_su1'_flip", @@ -308,7 +309,7 @@ "typing_Benton2004.skip" ], 0, - "116fa0252e93119e6b87b457b95ab750" + "6a7e446cd70110adf196586a8633e768" ], [ "Benton2004.RHL.Examples.sec43", @@ -419,7 +420,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "7fe7c37b156d29ad3280bebd59d9bec9" + "b69533f6319bef139bde037b0bda5cc5" ], [ "Benton2004.RHL.Examples.sec43'", @@ -466,7 +467,6 @@ "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_evar", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", @@ -483,6 +483,7 @@ "token_correspondence_Prims.op_GreaterThan", "typing_Benton2004.RHL.Examples.sec43__precond", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.gnot", + "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", diff --git a/examples/rel/Benton2004.RHL.Examples2.fst.hints b/examples/rel/Benton2004.RHL.Examples2.fst.hints index f3c74e6f663..65a4409d18b 100644 --- a/examples/rel/Benton2004.RHL.Examples2.fst.hints +++ b/examples/rel/Benton2004.RHL.Examples2.fst.hints @@ -81,7 +81,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "53842e1c05fac5fceb45577e7ab477ec" + "42f87824fc239177cb458abd23c748d3" ], [ "Benton2004.RHL.Examples2.proof", @@ -205,7 +205,7 @@ "typing_tok_Benton2004.RHL.Right@tok", "unit_typing" ], 0, - "b0227de514be1fa7179ca439c4607063" + "6493f1326d7525ffc35b57942c74bf93" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.fst.hints b/examples/rel/Benton2004.RHL.fst.hints index 21588df3085..29420efc0bf 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, - "924020455cc1decbdbdbb6f529dc61e4" + "2d95870b92e0e913bde2458eebe38431" ], [ "Benton2004.RHL.gsubst", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "1c3f575f1712055a14ed0b4d9ffe3ccf" + "7a4212e52bcde816ab081d9ff156de9a" ], [ "Benton2004.RHL.gsubst_gconst", @@ -44,7 +44,7 @@ "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "ce2916287b2113106d9784add55d3a88" + "df040e907b243a0d297374482e26955f" ], [ "Benton2004.RHL.gsubst_gvar_same", @@ -69,7 +69,7 @@ "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "ebadea5a73f1afc72b1d6fafd459e206" + "9f8a2ea7640b87916d260f7cd589d9b4" ], [ "Benton2004.RHL.gsubst_gvar_other", @@ -95,7 +95,7 @@ "token_correspondence_Benton2004.RHL.gvar" ], 0, - "f1cbd3eefd4e54f5a7c65b5cb2fb7191" + "900861eb36f7683ddc7a1d126cd10aad" ], [ "Benton2004.RHL.gsubst_gvar_other", @@ -121,7 +121,7 @@ "token_correspondence_Benton2004.RHL.gvar" ], 0, - "1a477e02a1a6d42cb9d6e2479cc14033" + "adcb56aaa7b741f98f17166c4d748069" ], [ "Benton2004.RHL.gsubst_gop", @@ -138,7 +138,7 @@ "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "b00c8fb6a926213422b6b1887e073bf7" + "159442840bfab1d183ddfaaa25305d92" ], [ "Benton2004.RHL.holds_interp", @@ -151,7 +151,7 @@ "token_correspondence_Benton2004.RHL.interp" ], 0, - "b103a2c07e82f5649b443ad41425b9cb" + "c13f58db13f0405d011f70eef51b4851" ], [ "Benton2004.RHL.exec_equiv_elim", @@ -160,7 +160,7 @@ 1, [ "@query", "equation_Benton2004.RHL.exec_equiv" ], 0, - "36c54e459961adb228cf38b12a5adc86" + "daa6d3fc9dde65130ed1dd3beee09f89" ], [ "Benton2004.RHL.r_skip", @@ -172,7 +172,7 @@ "equation_Benton2004.skip" ], 0, - "674574169429fa86da90b42037a7ba3b" + "c1f1e8e5f52242a219cc38a63a269be5" ], [ "Benton2004.RHL.exp_to_gexp", @@ -186,7 +186,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "c1565b0e45f2aaf3559b02e02d3c9244" + "cfa28d3218aa4cc65f7e78dd1acd42e7" ], [ "Benton2004.RHL.exp_to_gexp_const", @@ -209,7 +209,7 @@ "token_correspondence_Benton2004.reify_exp" ], 0, - "0040e2576ffed0e19666731520287b90" + "b922283c9d8fed19aba6f2bb0899d7e3" ], [ "Benton2004.RHL.exp_to_gexp_evar", @@ -239,7 +239,7 @@ "token_correspondence_Benton2004.reify_exp" ], 0, - "f8a5750d2491e19f46fa76681f51898b" + "b48c9eb7265a9ad812d0f76d84bae824" ], [ "Benton2004.RHL.exp_to_gexp_eop", @@ -273,7 +273,7 @@ "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.eop" ], 0, - "15583ae67f4b07ade8c505c5f27cdc9d" + "7e6cff77942d599480a807390dc91c79" ], [ "Benton2004.RHL.holds_gand", @@ -291,7 +291,7 @@ "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.gand" ], 0, - "5d0a789dd32956352f8f127d4237edf1" + "459ded2dc613b0d29a38f8bf5fbdc3f8" ], [ "Benton2004.RHL.gsubst_gand", @@ -314,7 +314,7 @@ "typing_Benton2004.RHL.gsubst" ], 0, - "0195f779ee9fd1740ff1e579d38c6ef5" + "18064d8e41777914e98b0a38e9042df4" ], [ "Benton2004.RHL.holds_gor", @@ -332,7 +332,7 @@ "token_correspondence_Prims.op_BarBar", "typing_Benton2004.RHL.gor" ], 0, - "8e6840d52a4af006089c6c2e5a5ba21e" + "03f7f3cef6445d4b9398b966b849e440" ], [ "Benton2004.RHL.gsubst_gor", @@ -355,7 +355,7 @@ "typing_Benton2004.RHL.gsubst" ], 0, - "93e70f48e9eea023b1e26695394a99f1" + "7a02ad5a3a5c8f83d3f897caf878860a" ], [ "Benton2004.RHL.holds_gnot", @@ -372,7 +372,7 @@ "projection_inverse_BoxBool_proj_0", "typing_Benton2004.RHL.gnot" ], 0, - "78f9fbcc7127c8662b2c8797f88e19fd" + "f838aae0e30f1759989faba227fd3114" ], [ "Benton2004.RHL.holds_geq", @@ -388,7 +388,7 @@ "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.geq" ], 0, - "88ce88df6280ce7367a9afd667b0dff2" + "a444487d3ba4fe5e662d9d8a18754396" ], [ "Benton2004.RHL.gsubst_geq", @@ -410,7 +410,7 @@ "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gsubst" ], 0, - "bbc7e2745a49f0c7be2c133cbdfba920" + "7e081e06072edfef3fbe147e3c48390f" ], [ "Benton2004.RHL.holds_exp_to_gexp_left", @@ -431,7 +431,7 @@ "typing_tok_Benton2004.RHL.Left@tok" ], 0, - "01ab86f8428c6d17235f3414bebf0b05" + "c642da94bf6cdc3d48cadc8371a7d1fc" ], [ "Benton2004.RHL.holds_exp_to_gexp_right", @@ -452,7 +452,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "0a88cdf8df4d6535a86ec409c3c47418" + "90ad9b0de72d8ca63e93619b00758778" ], [ "Benton2004.RHL.holds_r_if_precond_true", @@ -487,7 +487,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "b95d7eabd784c5a8215cdca254af8c75" + "3302f67e2dff01c8cdad05b06b2f5056" ], [ "Benton2004.RHL.holds_r_if_precond_false", @@ -526,7 +526,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "f3f2ebf4c9072adfc4cc90461a542e03" + "c0d499bf1bf602d2210daf7a86bff682" ], [ "Benton2004.RHL.holds_r_if_precond", @@ -567,7 +567,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "6eeabded8a37b2a060e29beab707371c" + "a5b12363cccd048b867cdf0ad2e16b99" ], [ "Benton2004.RHL.r_if", @@ -636,7 +636,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "ed7d379a3fd4e45eb5611ba426a3e4d8" + "344ba47030bdf9d33cd62649e48132ff" ], [ "Benton2004.RHL.r_seq", @@ -649,7 +649,7 @@ "lemma_Benton2004.d_seq", "typing_Benton2004.RHL.interp" ], 0, - "f61ee377f4f0be09c09650dc71f0ae2c" + "c61bf594f829d6c2c5805faf4230f92d" ], [ "Benton2004.RHL.r_ass", @@ -715,7 +715,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "8b0c9571b105bbf41eeccc2551f929af" + "ad90de5cfb6b5dbc8ee66a467acff579" ], [ "Benton2004.RHL.included_alt", @@ -727,7 +727,7 @@ "equation_Benton2004.included", "lemma_Benton2004.RHL.holds_interp" ], 0, - "cd7e21d677b6c44c20fe0ba1504cdc35" + "2c1d24c2f2b48ae891923359388a88bf" ], [ "Benton2004.RHL.r_sub", @@ -739,7 +739,7 @@ "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp" ], 0, - "42829cdf670fc68272da9f077eb05425" + "8afae1a8f850cd7fe1f15307c9ca9809" ], [ "Benton2004.RHL.elim_fuel_monotonic", @@ -762,7 +762,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "7a22c313a8ca592cfe1ed031b282402d" + "d188fd1690be3afb510f9d09dff177d9" ], [ "Benton2004.RHL.r_while_terminates'", @@ -844,7 +844,7 @@ "well-founded-ordering-on-nat" ], 0, - "d23cc6e10e133799e11750256e43a76b" + "9c918513ec4459034cdfbf67c23e8802" ], [ "Benton2004.RHL.holds_interp_flip", @@ -857,7 +857,7 @@ "lemma_Benton2004.RHL.holds_interp", "typing_Benton2004.RHL.flip" ], 0, - "2066cc925f2a996901f9344af87d2255" + "7bbc5b2e5556d447171e32b136180f6a" ], [ "Benton2004.RHL.exec_equiv_flip", @@ -886,7 +886,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "0cf5ca8bd48a36eb9d118045e47c85c1" + "839f3b2d8b89a06c91ade2c4ab9c8c16" ], [ "Benton2004.RHL.r_while_terminates", @@ -936,7 +936,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "94ab60120cc2b628e481c0bfd2d70bbe" + "78c3d7198e60ed8e8d312a5a8a32693b" ], [ "Benton2004.RHL.r_while_correct", @@ -1012,7 +1012,7 @@ "well-founded-ordering-on-nat" ], 0, - "a8bd9a21da2e19554815768809b481f8" + "e875b6a252ab32ddcfd89078e098352d" ], [ "Benton2004.RHL.r_while", @@ -1030,7 +1030,7 @@ "function_token_typing_Benton2004.reify_computation" ], 0, - "732005630a5f80148b3eadf07b824024" + "a6bd725a85d43161f6ec26d0a6309e6c" ], [ "Benton2004.RHL.is_per_geq_exp_to_gexp", @@ -1052,7 +1052,7 @@ "token_correspondence_Prims.op_Equality" ], 0, - "13be0204e58a673df8b7f583a51846c5" + "31fc73a3bebc945b2c61fbe3339c2049" ], [ "Benton2004.RHL.is_per_gand_exp_to_gexp", @@ -1075,7 +1075,7 @@ "token_correspondence_Prims.op_AmpAmp" ], 0, - "7128c9625e205b2c45635351e8d7bace" + "80fd2292c208f194e7173023c6c03aa2" ], [ "Benton2004.RHL.is_per_gand", @@ -1109,7 +1109,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per" ], 0, - "ce7b2ea46dd675eda420672806ed2181" + "e4b197d9332731b9d316cd1e16af694a" ], [ "Benton2004.RHL.interpolable_geq_exp_to_gexp", @@ -1132,7 +1132,7 @@ "token_correspondence_Prims.op_Equality" ], 0, - "1c6f28f722c967837de28d1bf3e11965" + "18099fff97b2092125a975b0e3f2cc35" ], [ "Benton2004.RHL.interpolable_gand_exp_to_gexp", @@ -1159,7 +1159,7 @@ "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" ], 0, - "63e6acd96dfd2b0ae4fd6f01326bc909" + "2e0c25a5dd37ef8f922f10cf9f9237a9" ], [ "Benton2004.RHL.r_trans", @@ -1174,7 +1174,7 @@ "lemma_Benton2004.exec_equiv_trans", "typing_Benton2004.RHL.interp" ], 0, - "c3d8d56f6369a0a40fb70dc0a3db8730" + "917113178dc74e58e18081bd92b1c130" ], [ "Benton2004.RHL.d_su1", @@ -1187,7 +1187,7 @@ "equation_Benton2004.skip" ], 0, - "e95d779cb1de69f4ec09ecbb2b0bb198" + "974e4caa18ba4137c88560b00fb01621" ], [ "Benton2004.RHL.d_su1'", @@ -1200,7 +1200,7 @@ "equation_Benton2004.skip" ], 0, - "740dd78839cea2805ca5ae1c366cb78d" + "9f2c67774626e70667e4cea95c20b01c" ], [ "Benton2004.RHL.d_su2", @@ -1213,7 +1213,7 @@ "equation_Benton2004.skip" ], 0, - "7ab2df8ac82315a816c7a89d72f6edc7" + "bc480c82c7232cb0fd09b50bc9f74e46" ], [ "Benton2004.RHL.d_assoc", @@ -1225,7 +1225,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" ], 0, - "b63f357f782fdfae5c46ba397c50dbde" + "c4b7ca7c99f549fc715e3c9cf8a3cdb5" ], [ "Benton2004.RHL.d_cc", @@ -1238,7 +1238,7 @@ "lemma_Benton2004.d_cc", "typing_Benton2004.RHL.interp" ], 0, - "5e187dd78e494d9495066b1afc4a051b" + "dc13163af8f2c307a76f6e6f3ea03e99" ], [ "Benton2004.RHL.d_lu1", @@ -1251,7 +1251,7 @@ "equation_Benton2004.skip", "equation_Benton2004.while" ], 0, - "11f5ea72de08f3bd9a3ec50848b9feb6" + "b0e4c8fb436d23684ab23295a9726c45" ], [ "Benton2004.RHL.d_lu2", @@ -1263,7 +1263,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.while" ], 0, - "7d950d012764c2081871fec8621d0e47" + "712c42ffbe10f5e23bce92ca1f72a98f" ], [ "Benton2004.RHL.r_f", @@ -1287,7 +1287,7 @@ "typing_Benton2004.RHL.gconst" ], 0, - "3c37cc70d6b93ca4ce519270bef7243a" + "ad4fb3294cec6baf088aca771f1b5ce0" ], [ "Benton2004.RHL.r_dassl", @@ -1353,7 +1353,7 @@ "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "3eb9d32b97e82b718259243ee7754e9b" + "41e0b35a10ff77701a6adb23763647cc" ], [ "Benton2004.RHL.r_cbl", @@ -1419,7 +1419,7 @@ "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" ], 0, - "989333d2817963431d5649273216055c" + "0088955515bbd5c2aa8adfb925d445e2" ], [ "Benton2004.RHL.r_dwhll", diff --git a/examples/rel/Benton2004.SmithVolpano.fst.hints b/examples/rel/Benton2004.SmithVolpano.fst.hints index 7b490150716..d6ab2e65220 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, - "220d2fb4e6ede9f6d70abd8b037c8a25" + "1a2a5b01ca708123b771b2651ded278e" ], [ "Benton2004.SmithVolpano.interp_context", @@ -85,7 +85,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "74383ac93b85933f0c09b55cff548ca4" + "e69e796e4b151f5fe7ac175f0a25cfdf" ], [ "Benton2004.SmithVolpano.eval_equiv_def", @@ -94,7 +94,7 @@ 1, [ "@query", "equation_Benton2004.SmithVolpano.eval_equiv" ], 0, - "b192e48308ab0b733df8a01a477decb9" + "fef2a5ce1486d1d2bf59445af2c39ca3" ], [ "Benton2004.SmithVolpano.exec_equiv", @@ -108,7 +108,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "0871669a838d8219b21afa72288294ce" + "4b3d6522dfd4037d6ca93236e6ebfb45" ], [ "Benton2004.SmithVolpano.exec_equiv_def", @@ -123,7 +123,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "2fc121ec0c9eed2d0d1c3e630b63b94f" + "541714943204208d0cfcaa336fbfac96" ], [ "Benton2004.SmithVolpano.exec_equiv_def", @@ -138,7 +138,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "d8382414c330e9ac66da8949ede3c300" + "9b6b83e36720ef0294f2b28e4289479b" ], [ "Benton2004.SmithVolpano.eval_equiv_var_same", @@ -184,7 +184,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "4651e2b7898c14557629a0d944fe6662" + "fba411109ed95f6e49b4ac143ec96a8f" ], [ "Benton2004.SmithVolpano.eval_equiv_var_same", @@ -241,7 +241,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "5650a89475f59d574cbcc32183c98efb" + "d48aa99dfd1d6527256990790abdd0a8" ], [ "Benton2004.SmithVolpano.eval_equiv_var_other", @@ -287,7 +287,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "1d2cad1c5e1ab71f089dc8873a277b9a" + "4560c7a0951a9631c40d50c3c9233663" ], [ "Benton2004.SmithVolpano.eval_equiv_var_other", @@ -354,7 +354,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "c9743d42828f12cdea14f437615212f2" + "cac5b3cf126b256b5409fae5b38c11e6" ], [ "Benton2004.SmithVolpano.eval_equiv_const", @@ -379,7 +379,7 @@ "typing_Benton2004.const" ], 0, - "b4c47d2bfa30122101e74b0900606ef0" + "7fddf8f24b9d2a65b1d7920ffd8a9df5" ], [ "Benton2004.SmithVolpano.op_abs_interp_seclevel", @@ -396,7 +396,7 @@ "lemma_Benton2004.DDCC.holds_ns_t" ], 0, - "54644867590b60028672392008fc0520" + "c8fce7380411dfbb8af9d3ab3dc4b23e" ], [ "Benton2004.SmithVolpano.eval_equiv_op", @@ -408,7 +408,7 @@ "equation_Benton2004.eop" ], 0, - "fcb35928e622815b3bb8d5e730fe3357" + "377fd223b734d7166df0b90df556e04b" ], [ "Benton2004.SmithVolpano.exec_equiv_assign", @@ -458,7 +458,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "a2c75ceb05efd8e300ada2b8bc2da0d1" + "a0ddb6a5e24e8dc581aa01fd21e5d8c4" ], [ "Benton2004.SmithVolpano.exec_equiv_assign", @@ -521,7 +521,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "5350dbde4dca61b3b7b2e1d4af7746a4" + "ea49a77b31ee03fbae87b7b955ffffdd" ], [ "Benton2004.SmithVolpano.exec_equiv_seq", @@ -546,7 +546,7 @@ "typing_Benton2004.SmithVolpano.interp_context" ], 0, - "9fe6f5ea254438cf8c8506bc07cdda39" + "9c09844a3b83e5036e14b8e254b5ab2c" ], [ "Benton2004.SmithVolpano.exec_equiv_ifthenelse", @@ -567,7 +567,7 @@ "typing_Benton2004.skip" ], 0, - "f4774d4dbd94ea2bd815f2e907e29583" + "c4d5c77272159297f696399dac0c8716" ], [ "Benton2004.SmithVolpano.exec_equiv_while", @@ -587,7 +587,7 @@ "typing_Benton2004.SmithVolpano.interp_context" ], 0, - "475c5d2f1e7be4367061631a3d2152dc" + "b53e8beb4893933ab3549f4b2c51d79e" ], [ "Benton2004.SmithVolpano.eval_equiv_low_to_high", @@ -623,7 +623,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "853a753701d4e26b4842b52a648f8fb1" + "7b6512ebdf8d0557e76a3453e4431956" ], [ "Benton2004.SmithVolpano.exec_equiv_high_to_low", @@ -646,7 +646,7 @@ "typing_Benton2004.skip" ], 0, - "8515be8229c465f679bc3790f4ce5c87" + "d24dcd28edaa1459c68bb9f3d21c7884" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.fst.hints b/examples/rel/Benton2004.fst.hints index b5171dfe08c..5015aaa084b 100644 --- a/examples/rel/Benton2004.fst.hints +++ b/examples/rel/Benton2004.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9b0858c8dba7dd64b4eb93f6f5c02863" + "1e3cf60ddea17cd906c8c61d82d45d92" ], [ "Benton2004.reify_computation", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3" ], 0, - "00662fafb01d9fbbbbbeff010927cacc" + "2de8fb8b068b92c634faafe149b4841b" ], [ "Benton2004.skip", @@ -41,7 +41,7 @@ "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627" ], 0, - "528499864222b7f0af5320bd2145b3f1" + "0fa60e63643aa3546188d0125d1e9cc6" ], [ "Benton2004.reify_exp", @@ -58,7 +58,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "10a0a7f5ca9c771ef6bd285784e15a3c" + "1fcd449f10e3af23a70d1dc23edac6da" ], [ "Benton2004.const", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "17af10bf06b9b7169d43c0571c561cd5" + "30a9fceccd41d55ef5d7786a31b8688f" ], [ "Benton2004.evar", @@ -79,7 +79,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "4790d4b982d95c415fb279ad660cc040" + "364dd25a9b7598bfdc0a6e2ed4cf1d0f" ], [ "Benton2004.assign", @@ -93,7 +93,7 @@ "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da" ], 0, - "5d54d7421c36ea281c04a68bc34c1410" + "3a5fd2ed4a008d24c6e192f5d3a31fa2" ], [ "Benton2004.while_raw", @@ -110,7 +110,7 @@ "well-founded-ordering-on-nat" ], 0, - "0663f538cdb61bd8493f5c1915f26b4e" + "6e141c955a4eddd49f855224cf1280ff" ], [ "Benton2004.while", @@ -124,7 +124,7 @@ "token_correspondence_Benton2004.reify_raw_computation" ], 0, - "934200608be13301e481dbb347a6c432" + "12910a2e661582443ecd71f336c7e4f2" ], [ "Benton2004.is_per_holds_sym", @@ -133,7 +133,7 @@ 1, [ "@query", "equation_Benton2004.is_per" ], 0, - "1b30da2f5329a60221256861d69010ec" + "549c7039732367f574b654475f3fa716" ], [ "Benton2004.per_holds_trans", @@ -142,7 +142,7 @@ 1, [ "@query", "equation_Benton2004.is_per" ], 0, - "ab0c77a24b284dc973178d2f90f322fb" + "7f534787de5b90cd14f878d73ff4cdb1" ], [ "Benton2004.holds_intersect", @@ -155,7 +155,7 @@ "l_and-interp", "token_correspondence_Benton2004.intersect" ], 0, - "3008980bf670fc63f88e7ed945a7f43c" + "e03c17340ef4b87444a7745d419394d7" ], [ "Benton2004.interpolable_elim", @@ -164,7 +164,7 @@ 1, [ "@query", "equation_Benton2004.interpolable" ], 0, - "ee0c9bcde2e13fca80ea5d9450386a94" + "55c4042a1cc7374b17b35c39a69b93b9" ], [ "Benton2004.terminates_equiv_reified_sym", @@ -179,7 +179,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "aaa11be81dd208e822ea7be483925fbf" + "98ecda1769e51a50fbe46cfab2d49449" ], [ "Benton2004.holds_flip", @@ -192,7 +192,7 @@ "interpretation_Tm_abs_13e1a32540ac087750a1053d59e4a269" ], 0, - "78f6e603ba0cb89fee3092d44cd662d5" + "322e550315688ead1b80f69751952c88" ], [ "Benton2004.holds_flip'", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "c92f82f845647843bb46c24d7e2139f7" + "87054db4b71d46870a88a99a1189202e" ], [ "Benton2004.eval_equiv_flip", @@ -222,7 +222,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "09634962c6161495c1ca598babf2c3ab" + "70670689bf599fa30e315f6c287484fc" ], [ "Benton2004.exec_equiv_flip", @@ -246,7 +246,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "004c8871541a284dd388c11cee4dc4ce" + "77e9bface970ff55b35f8bf743c352b4" ], [ "Benton2004.eval_equiv_sym", @@ -268,7 +268,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "1c603a12de93721c40432b52d15d8bf4" + "edd00f5b5625e4ce9790f5b5cbfdada2" ], [ "Benton2004.exec_equiv_sym", @@ -294,7 +294,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "b19c387699c34e4950127a5094b80e65" + "fa97e67720c23adc573c9427aee31e36" ], [ "Benton2004.eval_equiv_trans", @@ -319,7 +319,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "9cc101210c59ea097f362ac8d8899319" + "d0e8112e689bf9822ac8742e0cdeea20" ], [ "Benton2004.exec_equiv_reified_trans", @@ -350,7 +350,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "f5247f69d006489ce737863bb4b5bb9f" + "35cc9ddf10b4193d479148301f75d010" ], [ "Benton2004.exec_equiv_trans", @@ -362,7 +362,7 @@ "equation_Benton2004.reify_computation" ], 0, - "637a71a02a38261f5241fe7fcc528f2b" + "a060fe1d22d619c637b3dd99adaae6cc" ], [ "Benton2004.d_esub", @@ -383,7 +383,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "246a5e70415f993cd0032cee00245bf5" + "fe9bbc5e8be14a0a45638982f58b29aa" ], [ "Benton2004.d_csub", @@ -408,7 +408,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "fa32aadbaf5753e6a8e0b361c0930de8" + "9a0c20968688260867cae0d629eb5c1b" ], [ "Benton2004.eop", @@ -420,7 +420,7 @@ "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58" ], 0, - "d1873669d2e3c683d034ed5b6714e2ea" + "022c2ad87fdd27bd4a976a14ce6a3b84" ], [ "Benton2004.d_op", @@ -449,7 +449,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "6512fc4af94fc9052f226cf1a5958094" + "5688bf6ca59a63080c6ec662a42e8538" ], [ "Benton2004.d_skip", @@ -473,7 +473,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "8e94f6d9ecafec2e40495c52c4b28771" + "78ae3770eea85af04638d7070e6a927a" ], [ "Benton2004.d_seq_terminates", @@ -520,7 +520,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "303a209d1a0f10a35d8e9b6f3b7fddb7" + "d24abd04029d95975f2604d2b8dce990" ], [ "Benton2004.d_seq_terminates_recip", @@ -529,7 +529,7 @@ 1, [ "@query", "lemma_Benton2004.exec_equiv_flip" ], 0, - "c7be434297ed0b42cf5188560b5a3f9e" + "a8e00735b98fa9cc64d1ee5e4da515c9" ], [ "Benton2004.d_seq", @@ -569,7 +569,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "4de0aeb415c138c173d2880219942f98" + "0e674886524fd3f50d2f70d9d1f3db2e" ], [ "Benton2004.d_su1", @@ -604,7 +604,7 @@ "typing_Benton2004.skip" ], 0, - "743a4c09379386c3cda0606690421e75" + "09c4508faa90113e2aa3a75f118afce0" ], [ "Benton2004.d_su1'", @@ -637,7 +637,7 @@ "typing_Benton2004.reify_computation", "typing_Benton2004.skip" ], 0, - "39126d7a590f1768b4e0cc7796ae5dbb" + "73f13092b8932841425e0b177c2b0f68" ], [ "Benton2004.d_su2", @@ -679,7 +679,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "7732d49a0afb757d327fc86fb1fb7f96" + "12a15906bd7265ddfa63b57f082e7515" ], [ "Benton2004.d_assoc", @@ -716,7 +716,7 @@ "typing_Benton2004.reify_computation", "typing_Benton2004.seq" ], 0, - "e4d3958a635d244f15adc7d7cdb153b6" + "9cfebfdb2a8a1bfd8ec50f679febfab5" ], [ "Benton2004.d_cc", @@ -745,7 +745,7 @@ "typing_Benton2004.ifthenelse" ], 0, - "b4e825ea6134db2ba4968bb586bf3cd7" + "570a14efc387a145f23f1aa74c968a70" ], [ "Benton2004.d_lu1", @@ -798,7 +798,7 @@ "typing_Benton2004.while" ], 0, - "8aee1b0023fd0e5c5b2eff7db157410e" + "c3ff376e23544215bd8ee21beb32590d" ], [ "Benton2004.d_lu2", @@ -874,7 +874,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "5037c2b434fa7486570ae323a0e57bcf" + "824e4c539cab71c8663d67546cc1230d" ], [ "Benton2004.d_bre", @@ -920,7 +920,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "7f04ea23a418e6ebb36f89c2d7fa25ff" + "a56bfc544f1bee1588b1176082d72ead" ] ] ] \ No newline at end of file diff --git a/examples/rel/Bijection.fst.hints b/examples/rel/Bijection.fst.hints index 15e09355aff..15f284c0726 100644 --- a/examples/rel/Bijection.fst.hints +++ b/examples/rel/Bijection.fst.hints @@ -13,7 +13,7 @@ "equation_Bijection.inverses", "equation_Bijection.surjection" ], 0, - "f03f50522f4fc3e064fceb9be5d9424a" + "a53bf968524bf195a8fe16957282761c" ] ] ] \ No newline at end of file diff --git a/examples/rel/ElGamal.fst.hints b/examples/rel/ElGamal.fst.hints index 5fbb959ee60..2568de9352c 100644 --- a/examples/rel/ElGamal.fst.hints +++ b/examples/rel/ElGamal.fst.hints @@ -29,7 +29,7 @@ "typing_FStar.DM4F.Heap.Random.upd" ], 0, - "215d27a139c5abba74a59ee62b59f4eb" + "b0e19c944fc367afdd6491f14d9f5e23" ], [ "ElGamal.elgamal_prop", @@ -47,7 +47,7 @@ "typing_FStar.DM4F.Heap.Random.q" ], 0, - "3d6857c02d6b5763715ffc71fa348e7d" + "511f4f09cb7651785acca073ff413bf1" ], [ "ElGamal.elgamal_equiv", @@ -106,7 +106,7 @@ "typing_Tm_abs_4ce18f071b8caf7306002bfd3e2115b2", "unit_typing" ], 0, - "3bfc9cc76127ed16325c77e84a748136" + "f98f4fa85cfcb994261e0eddb5238d15" ] ] ] \ No newline at end of file diff --git a/examples/rel/Equivalence.fst.hints b/examples/rel/Equivalence.fst.hints index 74d374ab7d5..5598b5700a3 100644 --- a/examples/rel/Equivalence.fst.hints +++ b/examples/rel/Equivalence.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "5bb339d3ebf868c9f0fd1a9c80031efa" + "8f62c8f390436e1ff28e20572ad18e92" ], [ "Equivalence.if_left_wp", @@ -29,7 +29,7 @@ "unit_typing" ], 0, - "1b00dade5c2a98ca4b853c55cb6096cd" + "e41708b196cbad9c480bcffe96570281" ], [ "Equivalence.if_left_wp", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_094528a14195bb43a4115d3ab2b2fa93" ], 0, - "7c4aea4478378f7aadb8091b9dad8d28" + "5153ca05361a75c983d9b3d365052406" ], [ "Equivalence.if_left_wp'", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_1b1eb13a580a20bc2322fb527824ddae" ], 0, - "a20453d86bbda4e7c9d116a1a73f22d6" + "5352c09aca2d996c394199f04946b7a6" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcComposeReify.fst.hints b/examples/rel/IfcComposeReify.fst.hints index d78e789d93a..78a57215a0d 100644 --- a/examples/rel/IfcComposeReify.fst.hints +++ b/examples/rel/IfcComposeReify.fst.hints @@ -47,7 +47,7 @@ "unit_typing" ], 0, - "08cf30c9ada9f520fe51942d88b6ce4b" + "2ab3cc7595486e5b374fd158af98f7c3" ], [ "IfcComposeReify.ni_p2", @@ -95,7 +95,7 @@ "unit_typing" ], 0, - "70a3e207b267948796af519895576127" + "45e2d52369057c1dc83ceed314b0cbff" ], [ "IfcComposeReify.ni_p3", @@ -146,7 +146,7 @@ "unit_typing" ], 0, - "582f101ebb1fe767f819cc6aaab606d7" + "ec33ecd1242ff5d7b786bdc8e2d0d840" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDeclassify.fst.hints b/examples/rel/IfcDeclassify.fst.hints index 245de2fa8b0..229810da331 100644 --- a/examples/rel/IfcDeclassify.fst.hints +++ b/examples/rel/IfcDeclassify.fst.hints @@ -61,7 +61,7 @@ "unit_typing" ], 0, - "7a17f1b5ca8251a39677be28bca12951" + "762b4b071a167c6cd907f937b054359d" ], [ "IfcDeclassify.ni_p2", @@ -89,7 +89,7 @@ "unit_typing" ], 0, - "830c89985b5067ce0ab5ae5c6ce2d692" + "4f1aa7f91ad617b11ff9e961d567796b" ], [ "IfcDeclassify.ni_p4", @@ -110,7 +110,7 @@ "projection_inverse_IfcDeclassify.Mkstate_release", "unit_typing" ], 0, - "d9156af9a7be45fa6044d97c6c1c62ae" + "945f6027435e0b5090f41bd2d0e1bd87" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedRelease.fst.hints b/examples/rel/IfcDelimitedRelease.fst.hints index 25dd392d170..6acd2072c51 100644 --- a/examples/rel/IfcDelimitedRelease.fst.hints +++ b/examples/rel/IfcDelimitedRelease.fst.hints @@ -18,7 +18,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "89494f33e087cb2b70bb24445564c67c" + "2b8cf58233768b06f0ffa005ab09f1ff" ], [ "IfcDelimitedRelease.prog", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "744e799ad57c6288f3f63a229303e7fa" + "9d5e7f49155b03c896290af76e735792" ], [ "IfcDelimitedRelease.low_equiv", @@ -41,7 +41,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3d0fe05487d96d0ddbdfab31c16a1b43" + "431b8a6fea2e4fbd4c5ccdf5b6185076" ], [ "IfcDelimitedRelease.g_for_all", @@ -55,7 +55,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "aaba0326f5c4807804d707390684f0fe" + "77e827abe2d19cfc214e8c0e95d4e7f4" ], [ "IfcDelimitedRelease.del_rel", @@ -74,7 +74,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "12af750f8ffa6ce2f513d780b3c166af" + "897965f5c34be32a4dcc56a9727e49a6" ], [ "IfcDelimitedRelease.del_rel", @@ -91,7 +91,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "ea758fcbd2f03b71d1c0c75ef5f5519f" + "60e2983d39aaec5b0fcb8a1b0eb75182" ], [ "IfcDelimitedRelease.test", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6b329b57ccdc5894e4cbcb0eef0dc730" + "f7e9717c8c2f8dc801616b411e10290c" ], [ "IfcDelimitedRelease.test", @@ -135,7 +135,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "29370578d8c879e8f5e71612a5c5900e" + "d1a68e8285527a71444beaee90a51768" ], [ "IfcDelimitedRelease.verify_test", @@ -162,7 +162,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "c94ce45670fc0c4c09b3e52396618e53" + "9d3b3196a0279c77a3951b22830065bf" ], [ "IfcDelimitedRelease.verify_test", @@ -221,7 +221,7 @@ "typing_Tm_abs_159865349521372ad9811da827e4930e" ], 0, - "2483f59b2eeff73d40a724a9c3aa981d" + "0afd1efae095d6bc164d6dfac183641a" ], [ "IfcDelimitedRelease.sum", @@ -235,7 +235,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8cbd0f3cce39e80b5fd33bbbda10aa7c" + "3ac962bbf3fb73edd02edb3ee9fb927e" ], [ "IfcDelimitedRelease.sum", @@ -267,7 +267,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "ace244ba329b21618d8007e372261ac3" + "3da34eafaec7b90884e92a4e34fb013f" ], [ "IfcDelimitedRelease.verify_sum", @@ -294,7 +294,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "2ebf344c4801f1cf2337fab454f3061a" + "c91d75b2d53e4a7440c09964fdbcbb38" ], [ "IfcDelimitedRelease.verify_sum", @@ -351,7 +351,7 @@ "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" ], 0, - "322d469d3c7cbf2f3c6c666272a34b53" + "70e81614b9d62878a9d43439a1ff6b40" ], [ "IfcDelimitedRelease.sum_swap", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a34f13ea2e777e2b4ee0b258fd3c6b0a" + "82e07192d0fdbde7e60b334cff436199" ], [ "IfcDelimitedRelease.sum_swap", @@ -398,7 +398,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "0b7eaf655de97947373eb88bdcc1cbe9" + "0b0b34474b4f89c3cc47486fd082a393" ], [ "IfcDelimitedRelease.verify_sum_swap", @@ -425,7 +425,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "9b5b87dcd13feb15f9f32bc108fb3ca2" + "9fa387c3d11ce9830e51238bd7fa2caa" ], [ "IfcDelimitedRelease.verify_sum_swap", @@ -510,7 +510,7 @@ "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" ], 0, - "67edd8177916082adcb5daabae9c8fdb" + "b02fdc695fa681a15fb68a43e59c57f5" ], [ "IfcDelimitedRelease.sum_att", @@ -524,7 +524,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a7eae5e5702c4268e19c915e2872d332" + "fd6d8834b0b281060db92effbeb10e39" ], [ "IfcDelimitedRelease.sum_att", @@ -556,7 +556,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "4635f992116f12465b79d2e61f679bba" + "4424861bcc66541d16a96765eafd1b6b" ], [ "IfcDelimitedRelease.wallet", @@ -570,7 +570,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c635724d264e886f2e8e85b87873a0e" + "72b81fd320efd9d3f5f3204c5817e9b8" ], [ "IfcDelimitedRelease.wallet", @@ -600,7 +600,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "317a24dbadc5c0ed70f4d685131111a5" + "c5dd94d3caf1404de0da6df86c43e013" ], [ "IfcDelimitedRelease.verify_wallet", @@ -627,7 +627,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "b75a36199cf750ad3509f7041b883b9b" + "d75bb943025a67b6073728b729282025" ], [ "IfcDelimitedRelease.verify_wallet", @@ -696,7 +696,7 @@ "typing_Tm_abs_7af0828ee869ba8b9278405ff5a09f7a" ], 0, - "e6f0811e91516ac0684866d39b9d407e" + "52db6f1c8cf3ec7a739f8f7fada52757" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -719,7 +719,7 @@ "typing_FStar.Monotonic.Heap.mref" ], 0, - "0fce536aca6ff78b5bfdd19d5be47599" + "df36f7ebd75701fb453c66f95e43c18c" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -742,7 +742,7 @@ "typing_FStar.Monotonic.Heap.mref" ], 0, - "d3b927c809388a76b405dc96a93456ff" + "9749d153f203b22a3a98721ab97bdb0d" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -803,7 +803,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "9478d678e9beabc93411b2dbd915892f" + "3a499674b07b093ff3919718d2b4feaa" ], [ "IfcDelimitedRelease.wallet_attack", @@ -817,7 +817,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd84176c1c0b2326042de886cc639c5e" + "2b44a398eb0ca2a60ed2480d06be6c69" ], [ "IfcDelimitedRelease.wallet_attack", @@ -859,7 +859,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "36734b145375b7f1236988d34451049b" + "5932b1d1b1cc17bda3786a1732b2f322" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedReleaseReify.fst.hints b/examples/rel/IfcDelimitedReleaseReify.fst.hints index 9f4f5f14493..678898d92f0 100644 --- a/examples/rel/IfcDelimitedReleaseReify.fst.hints +++ b/examples/rel/IfcDelimitedReleaseReify.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_IfcDelimitedReleaseReify_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "72f801cf18c254711acb5581b63a2c1c" + "bf739e50d20bbd0375a747b687072f07" ], [ "IfcDelimitedReleaseReify.test", @@ -44,7 +44,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "118c118e19adebab9489aef24221c744" + "16325b4703dddfde2866c0d2f95cd639" ], [ "IfcDelimitedReleaseReify.verify_test", @@ -72,7 +72,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "e19acc236592afbbf4f016734f560da3" + "8509d1337e21a0304b71cdd09c1876cd" ], [ "IfcDelimitedReleaseReify.verify_test", @@ -156,7 +156,7 @@ "typing_Tm_abs_5d5db1b2e8b966b65f72595259c61892", "unit_typing" ], 0, - "4a2c33c194abeace46ac03ce08694c1c" + "ee6b8b1966ec75d8311b5dc278cbb811" ], [ "IfcDelimitedReleaseReify.sum4", @@ -190,7 +190,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "fb1db823b0189dc3c0b12ef21e9271eb" + "383146a3db11fe7a8d0f3d7014029bf6" ], [ "IfcDelimitedReleaseReify.verify_sum4", @@ -219,7 +219,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "b2509c1dca9cb944b957c38e2f752e34" + "fd3815c1f0e0fbb5c3573a68002ec426" ], [ "IfcDelimitedReleaseReify.verify_sum4", @@ -306,7 +306,7 @@ "typing_Tm_abs_eff865b177b0c08399dc81dfd995ad5d", "unit_typing" ], 0, - "c72bfb5f4a03f895a98b21d217a6ee9f" + "f8b561a9f32c9e9d21f82cbe9074b5fb" ], [ "IfcDelimitedReleaseReify.sum", @@ -340,7 +340,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "c03ef95b010d25c3fccd6d8bcf7e4c64" + "46c12f49eed40a5a797772b0aec3dea9" ], [ "IfcDelimitedReleaseReify.verify_sum", @@ -368,7 +368,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "186678f1fce0aff485c4dbede0937b3e" + "58ca457305cd72c612340fb624fa0c48" ], [ "IfcDelimitedReleaseReify.verify_sum", @@ -455,7 +455,7 @@ "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a", "unit_typing" ], 0, - "4e97f8a450e387c4d6b29e7b6165b3fc" + "f2d6db8a6ec94f895a099aaa1fc9d84b" ], [ "IfcDelimitedReleaseReify.sum_swap", @@ -489,7 +489,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "51c10ea69a93be8cc2479060573903cc" + "ecfcec9b60c4a4dc8ea71e58b44f285c" ], [ "IfcDelimitedReleaseReify.length6", @@ -517,7 +517,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "18ab71dd712a7c14dc46861df1bf6e3d" + "8c970307230fd9a8bf95ae0fdd85c97f" ], [ "IfcDelimitedReleaseReify.sum_swap_help", @@ -544,7 +544,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "4a18af17f9504745fd3776bb7c4e6a91" + "476f6527f351e96d59b16e8f3e2e232e" ], [ "IfcDelimitedReleaseReify.sum_swap_help", @@ -598,7 +598,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "unit_typing" ], 0, - "83605884a5f46b8e7c826b70ff0432d8" + "730651cb36f2398715972b4b17b4303f" ], [ "IfcDelimitedReleaseReify.verify_sum_swap", @@ -625,7 +625,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "3133abee47188f85b27efd78c222f37f" + "882debe3c9bf222ca5b59ed97178b61b" ], [ "IfcDelimitedReleaseReify.verify_sum_swap", @@ -690,7 +690,7 @@ "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a" ], 0, - "c0ad99c09354d8ff57929493232e3343" + "82b3e35f9a6627630b54e99c57534187" ], [ "IfcDelimitedReleaseReify.sum_att", @@ -724,7 +724,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "80c45c366947004b2ba152b1e223eee4" + "facc8152376355b5094ef5664f9906bf" ], [ "IfcDelimitedReleaseReify.wallet", @@ -757,7 +757,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "5cbce6ac9aa1e33cd08b43604adfb728" + "09b9401b5c87764d26741ea54b117676" ], [ "IfcDelimitedReleaseReify.verify_wallet", @@ -785,7 +785,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "fff9cdf3a5f34e961520eda35aaa27a3" + "84f36c7c5ffeab4492a76943ed2c79cf" ], [ "IfcDelimitedReleaseReify.verify_wallet", @@ -876,7 +876,7 @@ "typing_Tm_abs_3feaaedb2e69906b2230b23ec5ebfb48", "unit_typing" ], 0, - "4ae2aafee47cde7a338b896ebcbf4162" + "20f46f2ae743c087016ae0dc33693217" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -899,7 +899,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "80627d047567ce3ddc9dea90370ec5aa" + "f41c6b39b72e6d39fa05815a00b23096" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -924,7 +924,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "9b61cf1084fc050f200810160e43a015" + "33e47fbe017f4e2e59eb2ad474de9091" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -974,7 +974,7 @@ "well-founded-ordering-on-nat" ], 0, - "3fe3ea55336c0672a93c33905f5eb7c5" + "06e303ac65a19ce2f0410dee20ad5194" ], [ "IfcDelimitedReleaseReify.wallet_attack", @@ -1009,7 +1009,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "a6fa7e2b77604e5ecf05ea61e481b686" + "1a512405c32253e3665ee55156015b8a" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExample.fst.hints b/examples/rel/IfcExample.fst.hints index 9e3ad7c7ac0..c8eb41133b5 100644 --- a/examples/rel/IfcExample.fst.hints +++ b/examples/rel/IfcExample.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e75fdc7e84433107ae8311f101c00b76" + "1c8663a89d9b286bc73e63c5aed9266b" ], [ "IfcExample.c1_1_ni", @@ -73,7 +73,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "c3ca16332176c8019b393045d153629a" + "c2f91f0c25a3cb1a26fba7ce1c19c421" ], [ "IfcExample.c1_2_ni", @@ -135,7 +135,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "aaf569ba9df069d28ccb69e2270c1267" + "8724ed2dc42c45940b5f46441b212807" ], [ "IfcExample.c1_3_ni", @@ -199,7 +199,7 @@ "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" ], 0, - "4dbd9628488cdc02249d940085819864" + "224ed9aac780ba7e131a64616b35d1ae" ], [ "IfcExample.c1_3_4_ni", @@ -272,7 +272,7 @@ "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" ], 0, - "b7afc6d10bd149050f2da07184d9c258" + "a39d2154aecc2f9e3bcac3461904580a" ], [ "IfcExample.c1_ni", @@ -360,7 +360,7 @@ "typing_tok_While.Skip@tok" ], 0, - "643a3d23531fb7613cb1fc89369d1170" + "5f9d4c0aa496deeabc181a32ab80f6b1" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify0.fst.hints b/examples/rel/IfcExampleReify0.fst.hints index e736836fe56..a7ac4a953cb 100644 --- a/examples/rel/IfcExampleReify0.fst.hints +++ b/examples/rel/IfcExampleReify0.fst.hints @@ -11,7 +11,7 @@ "unit_typing" ], 0, - "e38cfba567d6e97df7664734583ade16" + "411c8b24a6cde02adb71aaec36c317fc" ], [ "IfcExampleReify0.ifc_b", @@ -24,7 +24,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" ], 0, - "b6a52a899e32750c319563cbe894ffd1" + "ffdc92c9cccb6b50c00611ea06fa01c6" ], [ "IfcExampleReify0.ni_ifc_c1", @@ -33,7 +33,7 @@ 1, [ "@query" ], 0, - "589fde221f88e20896e4f3fb608bcbd3" + "d65e0940712a549ee8230f74949c110d" ], [ "IfcExampleReify0.ni_ifc_c2", @@ -42,7 +42,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "9d168540a699debf0d7211cc2c2bfd65" + "888cf2240fdc011902bc1795f1d24a44" ], [ "IfcExampleReify0.ni_ifc_c3", @@ -75,7 +75,7 @@ "unit_typing" ], 0, - "d2c458079476d4411712662d17f78f02" + "2d57052ff5e3e33bec2c6948579e9758" ], [ "IfcExampleReify0.ni_ifc_c4", @@ -103,7 +103,7 @@ "unit_typing" ], 0, - "c5c0818557e47d9d901f664dcd676e43" + "8f43dc9f2d1062eca4fb3a4cbed808c5" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify1.fst.hints b/examples/rel/IfcExampleReify1.fst.hints index 9ad4e386736..202a53a617f 100644 --- a/examples/rel/IfcExampleReify1.fst.hints +++ b/examples/rel/IfcExampleReify1.fst.hints @@ -19,7 +19,7 @@ "typing_IfcExampleReify1.env" ], 0, - "d5fdb97d8140f364c3827e8f31427845" + "71c700a14fdefd90fea0bc262fc9c77e" ], [ "IfcExampleReify1.c1_2_ni", @@ -35,7 +35,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "28212841ce8588ced9ae184bb1c9fc4e" + "3a91b9ccb5d585dfc4254752047003ff" ], [ "IfcExampleReify1.c1_5_ni", @@ -47,7 +47,7 @@ "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" ], 0, - "71abe88bb3d638f9a2750122a93d9f89" + "268f77031761b02bc2772e87ba72557f" ], [ "IfcExampleReify1.c1_3_4_ni", @@ -144,7 +144,7 @@ "typing_tok_IfcRulesReify.Low@tok", "unit_typing" ], 0, - "1738f33625842393d3128be2bf12c52f" + "60c0ab52cc71059c33bee546e7e9f390" ], [ "IfcExampleReify1.c1_6_ni", @@ -153,7 +153,7 @@ 1, [ "@query", "equation_IfcExampleReify1.c1_6" ], 0, - "2dc773ba6b1efaba8df953dff7a95a75" + "5dbb914dae0d8ead9478ebe1bdbe59bf" ], [ "IfcExampleReify1.c1_ni", @@ -166,7 +166,7 @@ "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" ], 0, - "69c9bfa1fb6de3d340d96760ad67a9f4" + "0ee7c1d243b5d8e4168770a6521c3ba1" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify2.fst.hints b/examples/rel/IfcExampleReify2.fst.hints index 110a5b0cde4..b058b25358e 100644 --- a/examples/rel/IfcExampleReify2.fst.hints +++ b/examples/rel/IfcExampleReify2.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "dcb42c8bdba293c4157fdcd9df0f7591" + "3a5394283c1f43c44671f486f8a8410b" ], [ "IfcExampleReify2.lo", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b17422d9d0029494129cfd3919a535e1" + "d01ec32c988ffa563747e0949c097073" ], [ "IfcExampleReify2.c", @@ -35,7 +35,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c69e6f36f46650e064cadbc91c5e9f7a" + "7c6fa98708832cc70f2cf4ed6d127491" ], [ "IfcExampleReify2.c_2_3_ni", @@ -136,7 +136,7 @@ "unit_typing" ], 0, - "63a12f7d9872330280c40a57cb60ab78" + "31e3b9073ecaf5f0eb1af206392553d5" ], [ "IfcExampleReify2.cmd_ni", @@ -244,7 +244,7 @@ "unit_typing" ], 0, - "1919fe15a79d0063ec3e379779a3c6c8" + "2a7fcecbf5dea4c3b9bd3e3c60e2c663" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify3.fst.hints b/examples/rel/IfcExampleReify3.fst.hints index 7426ae187d0..355836e7a93 100644 --- a/examples/rel/IfcExampleReify3.fst.hints +++ b/examples/rel/IfcExampleReify3.fst.hints @@ -39,7 +39,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" ], 0, - "bdf9c60ca804fe0be71d53a4048bface" + "191aa29731206144c0cde2c48ab7cafa" ], [ "IfcExampleReify3.ni_p1", @@ -81,7 +81,7 @@ "unit_typing" ], 0, - "563761869244ab23a6b76585358adcc4" + "b5711734440c0e66197cda6762aca162" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRecursiveReify.fst.hints b/examples/rel/IfcRecursiveReify.fst.hints index a4b43884ea5..12b3b724a1a 100644 --- a/examples/rel/IfcRecursiveReify.fst.hints +++ b/examples/rel/IfcRecursiveReify.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "5a414f149e814148d3dec3ea608ddf39" + "77535daf36c3bba9565aa8137ea0c5b8" ], [ "IfcRecursiveReify.ni_p1", @@ -70,7 +70,7 @@ "well-founded-ordering-on-nat" ], 0, - "e5196b48f2b5267bc8339a1029c1f135" + "46bca7dc2363c3152fa682b3eed49dcb" ], [ "IfcRecursiveReify.p2", @@ -86,7 +86,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "7bc21b429425245724c48fa27aca87d7" + "1045683880a7561d3b14d1d86f51d2b6" ], [ "IfcRecursiveReify.ni_p2", @@ -142,7 +142,7 @@ "well-founded-ordering-on-nat" ], 0, - "a29872d959aa47f28056d23abd5dd201" + "6bde05bae0355420d14402b473789a0d" ], [ "IfcRecursiveReify.ni_p3", @@ -164,7 +164,7 @@ "unit_typing" ], 0, - "e84b5903c920949b5a3024e93e65f262" + "fd66eb40f89af9f758a2879f2afbf554" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcReificationRegressionTest.fst.hints b/examples/rel/IfcReificationRegressionTest.fst.hints index d7beb0f3fb2..478e0552738 100644 --- a/examples/rel/IfcReificationRegressionTest.fst.hints +++ b/examples/rel/IfcReificationRegressionTest.fst.hints @@ -33,7 +33,7 @@ "unit_typing" ], 0, - "7e33a392d97a3d1b5f65ee9b6593e1af" + "92c78cd051789cbc2818927a42509116" ], [ "IfcReificationRegressionTest.bidule1", @@ -67,7 +67,7 @@ "token_correspondence_IfcReificationRegressionTest.x1", "unit_typing" ], 0, - "f654388d7997f7017ce1132207095eef" + "2c5a99417c9889cc4d4b9a0e0b72e45e" ], [ "IfcReificationRegressionTest.bidule2", @@ -102,7 +102,7 @@ "token_correspondence_IfcReificationRegressionTest.x2", "unit_typing" ], 0, - "24ca5dcb632ee070ab2ccf992a6c254b" + "c4b7fb3f053d6b7158b9af24f6680863" ], [ "IfcReificationRegressionTest.bidule3", @@ -133,7 +133,7 @@ "unit_typing" ], 0, - "5464a100609d5924ecd06ac3aca98b73" + "6552b9505ec9b4028e29fabadeef810d" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRules.fst.hints b/examples/rel/IfcRules.fst.hints index 5e924127508..b574cda8736 100644 --- a/examples/rel/IfcRules.fst.hints +++ b/examples/rel/IfcRules.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0f49b96fa6d9c97c2d4937d91ed83812" + "b52c991b3c575b0ab824f39fb260b431" ], [ "IfcRules.low_equiv", @@ -20,7 +20,7 @@ "assumption_Prims.HasEq_int" ], 0, - "70642af5f2f26996b436140a1dc13135" + "25f67e13b9bc3529dc2162c032f64892" ], [ "IfcRules.ni_com'", @@ -40,7 +40,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "50a85d1ca3fc1fe63b968a8e3eb7ed79" + "608239c48378f1ec7c1509a4208adac5" ], [ "IfcRules.sub_exp", @@ -62,7 +62,7 @@ "typing_IfcRules.uu___is_Low" ], 0, - "733dd054bd5d445a5aa30d0e1409fbb1" + "b1e32619686d584e891cc9bff80a4346" ], [ "IfcRules.avar_exp", @@ -85,7 +85,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "35fe8f6f3dd6b126e68e3b58163df01c" + "2d820773882155c9858510136c5cf171" ], [ "IfcRules.aint_exp", @@ -105,7 +105,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "aa82afae57d7e37362f304afb99e5819" + "5a48dae2239de83d106da7bd06ca0f40" ], [ "IfcRules.binop_exp", @@ -126,7 +126,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "bb30af6e95093a908955df350a318fe6" + "3961c3201395d97a246db90ba065dd5a" ], [ "IfcRules.sub_com", @@ -157,7 +157,7 @@ "typing_IfcRules.op_Less_Equals", "typing_tok_IfcRules.Low@tok" ], 0, - "4ffe63aff5e4d60cdc7ac1338a176301" + "fa7ff765e4667cfa75d7c808eb87f24a" ], [ "IfcRules.assign_com", @@ -215,7 +215,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "a08b8b9d6482bdbf4c677753f3c2b135" + "14a2432e3e291d07628d0925094a19df" ], [ "IfcRules.seq_com'", @@ -261,7 +261,7 @@ "typing_While.interpret_com" ], 0, - "8bcb1563ad5d20127bd36d641fe015c9" + "285180c061e4e683993d69ee49b945f5" ], [ "IfcRules.seq_com", @@ -270,7 +270,7 @@ 1, [ "@query", "equation_IfcRules.ni_com" ], 0, - "eafc5686d17926c16f2813887489d3d4" + "256d6350127561c17b1c13bdb14fa685" ], [ "IfcRules.cond_com", @@ -320,7 +320,7 @@ "typing_tok_IfcRules.Low@tok", "typing_tok_While.Skip@tok" ], 0, - "98e179f89ae543ae1e2bc182fdcc1977" + "af728e3d1231b3ac3ce45d1fc3c90c6d" ], [ "IfcRules.skip_com", @@ -350,7 +350,7 @@ "typing_tok_While.Skip@tok" ], 0, - "530315eb5e9f83395c93d1a7a68d4d71" + "7d267be4aad4eed58f1032da43469642" ], [ "IfcRules.decr_while", @@ -368,7 +368,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "acc35232eff2444cfe4f9554026468b5" + "36a4dea0a2cc497da6b0064282082fa3" ], [ "IfcRules.while_com'", @@ -452,7 +452,7 @@ "well-founded-ordering-on-nat" ], 0, - "b9de300c70df3323cb6b2a179389b58d" + "c972ec1d7081d3fc39b4bc4c53809f9b" ], [ "IfcRules.while_com", @@ -461,7 +461,7 @@ 1, [ "@query", "equation_IfcRules.ni_com" ], 0, - "064c8147fa7480e69d2a477228190458" + "0818639598d2febfe3c804db97d80a1d" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRulesReify.fst.hints b/examples/rel/IfcRulesReify.fst.hints index efed05449a8..684c3649a43 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, - "f0e37c98132cae5c3c0527fd32c07153" + "4b623cf740830e4b5e7011f71a9318f1" ], [ "IfcRulesReify.low_equiv", @@ -31,7 +31,7 @@ "assumption_Prims.HasEq_int" ], 0, - "8bee79fd245a3bd566c698570e28a4d8" + "5a9e8c36dc6207a67f43181b6503f482" ], [ "IfcRulesReify.inv_com'", @@ -49,7 +49,7 @@ "typing_WhileReify.interpret_com" ], 0, - "2e5b23327b6da9ddb7ad5e86caace84a" + "d0624b6faccd77898c97705ec9da12b6" ], [ "IfcRulesReify.sub_exp", @@ -71,7 +71,7 @@ "typing_IfcRulesReify.uu___is_Low" ], 0, - "c3ebdb2871485197f2a1be30d60416ca" + "0c7b58747826f5833910d21eabcd2e34" ], [ "IfcRulesReify.avar_exp", @@ -97,7 +97,7 @@ "projection_inverse_WhileReify.AVar__0" ], 0, - "72538899fe356db989f1e0a348d12c8b" + "a9a562dd780d165ec2c42f0919e9ba40" ], [ "IfcRulesReify.aint_exp", @@ -117,7 +117,7 @@ "projection_inverse_WhileReify.AInt__0" ], 0, - "68e0ad434558f9b1bb40df61f06859d1" + "1e654dd926837c4b129aed16f37ee85e" ], [ "IfcRulesReify.binop_exp", @@ -139,7 +139,7 @@ "projection_inverse_WhileReify.AOp__2" ], 0, - "c395a4d9125e326aba75061cd28857a7" + "f11df23e69c2c453d68cdaca3eec62bb" ], [ "IfcRulesReify.sub_com", @@ -176,7 +176,7 @@ "unit_typing" ], 0, - "30471ef6d003f8158c6c13476c48d63b" + "b5d6c546539d93b470ce8aba0ba0eb4d" ], [ "IfcRulesReify.assign_inv_com0", @@ -228,7 +228,7 @@ "unit_inversion", "unit_typing" ], 0, - "a36305a783beff7a638533c1d43a8ce9" + "ba16879171f49ed97826462e087c4031" ], [ "IfcRulesReify.assign_inv_com'", @@ -277,7 +277,7 @@ "unit_typing" ], 0, - "6aa82a2750480dd13ea5765c5dbe9a35" + "678d7ca4aeae9fff9309f457fc0514ca" ], [ "IfcRulesReify.assign_com", @@ -286,7 +286,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "277e43e9616714bb454849f6e28aebf8" + "d881f1168184e5764eb4117331d2132d" ], [ "IfcRulesReify.seq_nil1", @@ -323,7 +323,7 @@ "unit_typing" ], 0, - "63e62337c5a592cb47353de0e4a0af11" + "7a5f6b6f346cbde9b386e13bef568f02" ], [ "IfcRulesReify.seq_nil2", @@ -365,7 +365,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "4f0dec43300a0afc778e11909bdfeb02" + "8cc295334adf446231507a6a70bc934b" ], [ "IfcRulesReify.seq_inv_com'", @@ -419,7 +419,7 @@ "typing_WhileReify.interpret_com_st", "unit_inversion", "unit_typing" ], 0, - "0ece59c93e36af02de77ace572035707" + "6b9c8d03feb2ee30ce9b9cea91053818" ], [ "IfcRulesReify.use_ni_com", @@ -428,7 +428,7 @@ 1, [ "@query" ], 0, - "86889729e87d45ab546fc3223f9b91fb" + "c799fd1ec4d7021fb4443f12bf3c7bc2" ], [ "IfcRulesReify.seq_com'", @@ -497,7 +497,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "61a92d061a236f0191bac9363c422ba9" + "0ef4b3d6e0084dc5eab6e0c35a6c8886" ], [ "IfcRulesReify.seq_com", @@ -506,7 +506,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "df528a43eda0b82dd4c11cb35d346c30" + "37088651836b108c593db062a8e50be1" ], [ "IfcRulesReify.cond_inv_com'", @@ -548,7 +548,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "9992b46d2e65d018715f0d12763855b2" + "122836ba46ce27f629f4cb6035aa9bd4" ], [ "IfcRulesReify.interpret_cond", @@ -577,7 +577,7 @@ "projection_inverse_WhileReify.If_then_branch" ], 0, - "62b972f499e2ec53f245ad1414d273b6" + "6091a8c8a5f3be04a9ebcb6ffda9e564" ], [ "IfcRulesReify.cond_ni_com'", @@ -630,7 +630,7 @@ "typing_WhileReify.interpret_com_st", "unit_inversion", "unit_typing" ], 0, - "9d4fcb04b7985ab6eac919532e5ec4b6" + "f2d59b1f10b9501c1507519f3d96f72d" ], [ "IfcRulesReify.cond_com", @@ -639,7 +639,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "c1edf565a7d844606f298a1e3203ea5e" + "fef779fde45631077b13f183ffdd95e1" ], [ "IfcRulesReify.skip_com", @@ -676,7 +676,7 @@ "unit_typing" ], 0, - "ec923ac02d8d50252445496daf9cce50" + "8af362b09e0c4ca52e4e681f4712b4c1" ], [ "IfcRulesReify.interpret_while_nil", @@ -719,7 +719,7 @@ "typing_WhileReify.interpret_com", "unit_typing" ], 0, - "f6264be7e9b62adf2990cec4de9c8325" + "fe55e6baf4ad2be5f5e885129c5a12a5" ], [ "IfcRulesReify.interpret_while_loops", @@ -778,7 +778,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "468d95a175f5526be3c6bc96e82bf8b2" + "dd9a2f3f6af106a506a2ef491953218e" ], [ "IfcRulesReify.while_inv_com'", @@ -853,7 +853,7 @@ "well-founded-ordering-on-nat" ], 0, - "2ba29c692353c4ebeda1f4a6bfcae199" + "dfbd59752952710fd6b6862d36bcfc6e" ], [ "IfcRulesReify.while_ni_com'_low_equiv_high", @@ -894,7 +894,7 @@ "typing_IfcRulesReify.uu___is_High", "unit_inversion", "unit_typing" ], 0, - "008a8a9cbf1102a5a006a972000d2a95" + "ed5ad6a8011bfa9130ae1f082819fe0f" ], [ "IfcRulesReify.while_ni_com'_low_equiv_low", @@ -971,7 +971,7 @@ "well-founded-ordering-on-nat" ], 0, - "ea86f15b8a7cfe2ed1a0643c912b8965" + "faa893ac75011a7c1edcf718d199d27f" ], [ "IfcRulesReify.while_ni_com'", @@ -992,7 +992,7 @@ "typing_IfcRulesReify.low_equiv", "unit_inversion", "unit_typing" ], 0, - "69e3df4110a30a1685967da490129172" + "7acead5fdf99664933cc9bee77a7f3bb" ], [ "IfcRulesReify.while_com", @@ -1001,7 +1001,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "2de970645fce37c62fbf0ee94ad38d39" + "73d296f8ed9c5817595a5c8006343c86" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcTypechecker.fst.hints b/examples/rel/IfcTypechecker.fst.hints index 6f21a4c3883..1f148456547 100644 --- a/examples/rel/IfcTypechecker.fst.hints +++ b/examples/rel/IfcTypechecker.fst.hints @@ -38,7 +38,7 @@ "typing_IfcRulesReify.uu___is_Low" ], 0, - "13946c261717659e629d7d299e6a0604" + "03e4b07e2c7698e825bf7aa16e0ad0bc" ], [ "IfcTypechecker.tc_com", @@ -95,7 +95,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "19adc0a4fa32fad5f90d3d34de1e770d" + "ef02637adb09451f98004c1c735e8817" ], [ "IfcTypechecker.tc_com_hybrid", @@ -164,7 +164,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "5ea168635370619a67eb969b16937a5d" + "fe1ce21c8b30d16cf247d3787da934b4" ] ] ] \ No newline at end of file diff --git a/examples/rel/Loops.fst.hints b/examples/rel/Loops.fst.hints index 201c0bcbb89..16810bc8275 100644 --- a/examples/rel/Loops.fst.hints +++ b/examples/rel/Loops.fst.hints @@ -21,7 +21,7 @@ "well-founded-ordering-on-nat" ], 0, - "1014af79864cca1a4a48ab8940d81e24" + "e3c34e8d15d3981aff40ce648c548611" ], [ "Loops.sum_up_eq", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_d7c00a096ead70fffbcc99cfe4e88dee" ], 0, - "8bc2f9e60ce3754aca8491cc35d5a9b9" + "f48105407fd3474a6ea6dca88d891319" ], [ "Loops.sum_up_eq", @@ -89,7 +89,7 @@ "well-founded-ordering-on-nat" ], 0, - "baffeecbc76633bfbb4e0e8c993d5237" + "eb420d4449550d58e5e510aab746cdf9" ], [ "Loops.sum_up_commute", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_b6d56a0557b93e4a8f34f23e219669f9" ], 0, - "228bbfb5c7fc7c11156b9dbc85128d9f" + "69dc33cbcebc501f98063277b00fd3c1" ], [ "Loops.sum_up_commute", @@ -169,7 +169,7 @@ "typing_Loops.sum_up", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "27bec0a2ae7dad0259e2a4365df19aa8" + "d3b4a402b89f4a98c452cbd9ecbbbe1a" ], [ "Loops.sum_dn", @@ -191,7 +191,7 @@ "well-founded-ordering-on-nat" ], 0, - "440d0520ce7dc74fbbedb3838f70ee8a" + "1ae1ef4b83541e7387135f58828170b9" ], [ "Loops.sum_dn_eq", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "2b644b88886097fe6713e74b295394d0" + "079b5928fa9098a6074904b8198d3f55" ], [ "Loops.sum_dn_eq", @@ -259,7 +259,7 @@ "well-founded-ordering-on-nat" ], 0, - "308d88ff1b087dc427f9f3df3beb469a" + "c208c713b1559dc5517d3670ab2b990b" ], [ "Loops.sum_dn_commute", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2426e5ec21a130c2fba91bdd2d269ef8" + "17146f20cfd2b9519c4eca9e17eb3b48" ], [ "Loops.sum_dn_commute", @@ -339,7 +339,7 @@ "typing_Loops.sum_dn", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ae890108ad3df8f6ea38abf5f01c0324" + "fafcf2460d1bab943b5de31aff154a83" ], [ "Loops.sum_up_dn_aux", @@ -352,7 +352,7 @@ "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "be73cfae7e0f54d9b1f2cd38d6b0ccb0" + "4113e6c33a206ec501eabee99011eb36" ], [ "Loops.sum_up_dn_aux", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_f361182024729713a24b325e7e85eb5c" ], 0, - "c73dee33431ebceba83aa5a389320e06" + "6df370c76eb66657f5209037c1ff7562" ], [ "Loops.sum_up_dn_aux", @@ -425,7 +425,7 @@ "typing_Loops.v", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "390292bc9cc9ae612e6afe88c7544c09" + "f6ace9636adf50889afcecbee193cb2b" ], [ "Loops.equiv_sum_up_dn", @@ -462,7 +462,7 @@ "typing_Loops.sum_dn", "typing_Loops.v", "unit_typing" ], 0, - "b8c83ceef0a50cb30372f0d354ee57a7" + "35c56a6c954b2ef41614b5f8ec0e1585" ] ] ] \ No newline at end of file diff --git a/examples/rel/Memo.fst.hints b/examples/rel/Memo.fst.hints index cdb0f160a4c..d2f1e71588c 100644 --- a/examples/rel/Memo.fst.hints +++ b/examples/rel/Memo.fst.hints @@ -71,7 +71,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d251456c0f88cc32985f4966d739f91e" + "e08fa71a7cefbc4ccfc3535ffd9987a7" ], [ "Memo.for_all_prop_assoc_lemma", @@ -110,7 +110,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "e5a498044bf24e3956d079e3d223f68b" + "ee240970806f82a3416348565e1f1377" ], [ "Memo.forall_prop_assoc_lemma2", @@ -123,7 +123,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "0d5e8510b818dc69be5b5cda23b309ee" + "3de5fb47827affa5b16137f6a7f36f39" ], [ "Memo.valid_memo_preserve", @@ -153,7 +153,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "b6fdd61bb5a34f8ecbf6c63622076830" + "40aebedadedf6bed0f112c3baca00749" ], [ "Memo.memo_heap_to_valid_memo", @@ -191,7 +191,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "5de2a2127b8b2e0ab8a3d51655d5a30a" + "1e4488c58c2b95b704cb63792f5839b7" ], [ "Memo.valid_memo_to_memo_heap", @@ -221,7 +221,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "5551c40dfbcb237a6a2f13598d94fd85" + "16b10ad5df8a70c1572f87bea7b4bf23" ], [ "Memo.valid_memo_id_lemma", @@ -266,7 +266,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "7b753320f7c8e9ae78e6ffcf7142ebd6" + "0be544200a77943cc4b10dcc27b1b057" ], [ "Memo.memo_heap_id", @@ -301,7 +301,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "8095c719cee24b8762571f68fb5bff33" + "1f782425c5d228cfc250411b775ef087" ], [ "Memo.memo_heap_id", @@ -341,7 +341,7 @@ "typing_Memo.memo_heap_to_valid_memo" ], 0, - "9a4e76aa28172b99331447acacb9e01e" + "ad066365414a917d5d726fc6b09c7249" ], [ "Memo.apply_memo", @@ -360,7 +360,7 @@ "true_interp" ], 0, - "f54fa3a404f79ca16575ab8a95340630" + "e50f8f457fdc66a5a98c1e55100061c0" ], [ "Memo.memo_", @@ -407,7 +407,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "532f970746967dd0c0f7757ffc95d9d1" + "c94a3a0923c0c30f1c5fd425e5939d9f" ], [ "Memo.memo_extr", @@ -431,7 +431,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "334ace24f8521d1d8487950d5f8711a3" + "cfa7f6f0a85999a26aa144db051aad09" ], [ "Memo.memo_extr_lemma", @@ -490,7 +490,7 @@ "unit_typing" ], 0, - "4a8283392a56cf425bbcdb70cc80fd2f" + "eed127101306e5f0de6280e9a21e1edd" ], [ "Memo.memo_extr_computes", @@ -504,7 +504,7 @@ "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "76c713d72fb8067e0108105e436d14b7" + "1427018678f0027eb11abcc44523b372" ], [ "Memo.to_memo_pack", @@ -526,7 +526,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "cd431b9975fbe5962a513c5834bd87a4" + "9e2cde4ef8aa05cc7eed9f3479a50008" ], [ "Memo.memo_extr_p", @@ -551,7 +551,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "8ee4ef9734a218945025f93536918a98" + "b6bdcd38704b863cf29a411d6ba03dce" ], [ "Memo.memo_extr_p_lemma", @@ -609,7 +609,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "f874072434168d3001e081ed81e8aa21" + "559a8fb2700695c357e576672d426f1c" ], [ "Memo.memo_extr_p_computes", @@ -623,7 +623,7 @@ "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "cbf865ddccca9154f1c28369a52e1010" + "f21824e036a7c5a25a49723daa0a9821" ], [ "Memo.__proj__Done__item___0", @@ -636,7 +636,7 @@ "refinement_interpretation_Tm_refine_15f52b39c3d87063c54b0f5cdbf60666" ], 0, - "c553c94c9f5164c5155277eb0459cddd" + "f8267e2781083f077a02eaf5fd135a61" ], [ "Memo.__proj__Need__item__x", @@ -649,7 +649,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "9b6bdcff39b11cf304e8f11711c91e83" + "0e9afa4d223905de1c9b047438b808c0" ], [ "Memo.__proj__Need__item__cont", @@ -662,7 +662,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "594f0e7aeb35c00a2bd22a2fa7002f1b" + "83e30a7f08d06f8f3b1f1c9565e22b5a" ], [ "Memo.complete_fixp", @@ -680,7 +680,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "8a672e40072ef40bc3a486a4cba28663" + "713a3a8aba9347f53deb11ee7abf9c26" ], [ "Memo.complete_fixp", @@ -695,7 +695,7 @@ "well-founded-ordering-on-nat" ], 0, - "e8ee0fe5bec61268fb5b99dc7c28b04c" + "011875743fed20ef06a5ca9844eb9f37" ], [ "Memo.__proj__Later__item__x", @@ -708,7 +708,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "dfdf0f867acdf056f50dc3f354b60cb4" + "711919c921fcd834bdbf8ad19e7ef718" ], [ "Memo.__proj__Later__item__cont", @@ -721,7 +721,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "f5f3319afd2f2f88c931a80167c933e6" + "59bcefa11cfd34eab393ee9edda69c64" ], [ "Memo.__proj__Later__item___2", @@ -733,7 +733,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "762b86a7a026f2c913103c70b8211012" + "2a7ceb9e367d205dc10ffa7d6f185283" ], [ "Memo.reachable_lemma", @@ -770,7 +770,7 @@ "subterm_ordering_Memo.Later", "typing_Memo.fixp" ], 0, - "dbe8c1722afdb9b9676e5ed219354339" + "23e7bf3c4946f06f173bcd7d1b6b2dd4" ], [ "Memo.fpartial_result", @@ -790,7 +790,7 @@ "typing_Memo.fixp", "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "dd9ce2d603ccca5596768a51e90b96a1" + "2db110dffeae336b68a05d91010c4978" ], [ "Memo.fpartial_result_lemma", @@ -820,7 +820,7 @@ "typing_Memo.fixp", "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "3bb9f1ddd11e0c590ad8cd1b44bec13e" + "fb4fc8741b330466e80bd5284a0af1ab" ], [ "Memo.valid_memo_rec_lemma", @@ -834,7 +834,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "ee41c14520c782d5013abd0a48f0f216" + "6ee4badd84f8720cd4d5b63d661cf530" ], [ "Memo.complete_memo_rec", @@ -897,7 +897,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "8c00388bdea140a8fc66d422c66d4ebc" + "044908e7a68fab02dde2d68a535ee666" ], [ "Memo.memo_rec", @@ -947,7 +947,7 @@ "typing_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca" ], 0, - "b7e5fecea3d620a4a125d951ef12f50c" + "fb6f2096003738763c67f8b7d1cd0bcf" ], [ "Memo.complete_memo_rec_extr", @@ -971,7 +971,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "aa89489a42e319c4c05e0e85b9885a47" + "6edde452858ffb641316962c65562ef2" ], [ "Memo.complete_memo_rec_extr", @@ -984,7 +984,7 @@ "projection_inverse_LexCons_1", "projection_inverse_LexCons_2" ], 0, - "5858a1cc5fc3071ace7689ba7150ad1f" + "7e4b2df6778c37c5ee592cf5c4833f1e" ], [ "Memo.complete_memo_rec_extr", @@ -999,7 +999,7 @@ "well-founded-ordering-on-nat" ], 0, - "f4a59bce9cbd05faa494b520a0dcb470" + "c801e232ff9448bdbf56f32ee97c2941" ], [ "Memo.complete_memo_rec_extr_computes", @@ -1067,7 +1067,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "5029cb613509f779e8c9544764ecbe22" + "def1340d1bf45f84fa9bfef1f5637a5c" ], [ "Memo.complete_memo_rec_extr_computes", @@ -1090,7 +1090,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "1c03cc2f979af6a0cb7ffc330f9710d7" + "b8ba083de4d3ea15790ace230792b125" ], [ "Memo.memo_rec_lemma", @@ -1105,7 +1105,7 @@ "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "516229292edd7729e3f6c553498a9e6e" + "50eefad6a97b4f16b486728052ebfc7c" ], [ "Memo.to_memo_pack_rec", @@ -1127,7 +1127,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "55a493581f869e38bb1cb4d994ba03ce" + "9c6d4b937aa56586e3b8565051df41f8" ], [ "Memo.complete_fixp_eq_proof", @@ -1148,7 +1148,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "332831a897aa5664928bc41b808edff4" + "8f16af3399c7556df0323306ee2beee8" ], [ "Memo.complete_fixp_eq", @@ -1181,7 +1181,7 @@ "well_founded_ordering_on_codomain_Memo.Need" ], 0, - "bff5625dcdceebd03bff363d769dd5f7" + "37bb1dfaa848f7912ada260db18493dd" ], [ "Memo.complete_fixp_eq", @@ -1199,7 +1199,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "d1bbe151acdcbdea7f54a82121bf884c" + "ee6c4f12d12c9fc9b4dea9ba00d4cd5f" ], [ "Memo.fixp_eq", @@ -1212,7 +1212,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e50d0ebdbb8a5aa256d6f93d26e1ba47" + "d505acd2413b0cf97e161138ddf9b21e" ], [ "Memo.fibonnacci_partial", @@ -1226,7 +1226,7 @@ "well-founded-ordering-on-nat" ], 0, - "2693b0f840dc3fe707e87770e5321315" + "1caa11dd729629375e276a3009caa4cf" ], [ "Memo.fibonnacci", @@ -1241,7 +1241,7 @@ "well-founded-ordering-on-nat" ], 0, - "da975579aa90d4bd59674136ab1cef83" + "61c45db4f4029952aa5dc88df59642da" ], [ "Memo.fibo_complete_fixp_eq_proof", @@ -1276,7 +1276,7 @@ "typing_Memo.fibonnacci_partial" ], 0, - "10c8b591f3473574874ceb1f6238c9ef" + "8914400154f2dd58eb10739e0ffbb455" ], [ "Memo.fibonnacci_partial_induces_fibonnacci", @@ -1285,7 +1285,7 @@ 1, [ "@query" ], 0, - "7751648ff8500c01858ec15df28b8d20" + "54dcb5cdf874baf1ac12592bf50c7aa9" ], [ "Memo.valid_memo_extensionality", @@ -1318,7 +1318,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "c360dcd68307408167e3181d4793d931" + "db664540ffb1a9911a39c6cf6d8882cc" ], [ "Memo.computes_extensionality", @@ -1335,7 +1335,7 @@ "true_interp" ], 0, - "2d290d90fe3604551cae3e50a17c5926" + "6951eabffc8d28e951c7fca98707da68" ], [ "Memo.fibonnacci_memo_computes_fibonnacci", @@ -1344,7 +1344,7 @@ 1, [ "@query" ], 0, - "523001420783246fb51c1888dec4849c" + "e6a853759dfa2f408fdc613d2003a851" ], [ "Memo.fibo", @@ -1366,7 +1366,7 @@ "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "7c058f102c7bbf38d70c773193193c41" + "70127b242eeb3b475fde70ba5efdfeca" ] ] ] \ No newline at end of file diff --git a/examples/rel/NetKat.fst.hints b/examples/rel/NetKat.fst.hints index 339086f928c..e4f9f8ef6d9 100644 --- a/examples/rel/NetKat.fst.hints +++ b/examples/rel/NetKat.fst.hints @@ -11,7 +11,7 @@ "assumption_Prims.HasEq_string" ], 0, - "f3d52dbc37d38d763a320cc0f5f78a46" + "cdf13352a9cab3bdcb9a0c622c12c671" ], [ "NetKat.__proj__PrFieldEq__item__f", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "507b3798e6a4f0ca3815922d1f6182be" + "2dfdedbbdec4acd9edf33949189bbc8d" ], [ "NetKat.__proj__PrFieldEq__item__v", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "ee925f30036cdd958916d0b99fe77ac0" + "5ac66e698ebb1ea3af6bce33da649ca1" ], [ "NetKat.__proj__PrOr__item__p1", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "0d919c19fedc04dd50c25f032427eb50" + "bef7237faae0ef863a5ce5c6300e7146" ], [ "NetKat.__proj__PrOr__item__p2", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "a23af76593c99ce1be54d3683a062a12" + "b04ee897f7f72760dc9ac185fc35ed3a" ], [ "NetKat.__proj__PrAnd__item__p1", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "39224291a5b016f329f11bf8b40c6361" + "b2f50d937bf7eab60681f68477bc1506" ], [ "NetKat.__proj__PrAnd__item__p2", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "6dea5b3ed88f156607b72f7d936935f4" + "52869254c0b8e3af5f3246dc866c58c9" ], [ "NetKat.__proj__PrNot__item__p", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_7760677cd8a5f6510bfc8a68ad245267" ], 0, - "2f9c9ed6bebd6e494a6e9c7095f80f74" + "4ecf777a180ee6c687e6f4923990642a" ], [ "NetKat.__proj__PoFilter__item__p", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_e0380cdb056d7ca9abeae44e9ba6fa85" ], 0, - "7316dadbace054d338b421bf928a20b7" + "cd3b8ed4ec9c87225576b7f9e26f23f4" ], [ "NetKat.__proj__PoMod__item__f", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "29b1f37958aa485d3196152777d0586b" + "bf2c7dd058b73c01594e199e44c4f0aa" ], [ "NetKat.__proj__PoMod__item__v", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "3cddffceb8c90275e8ce918fc28e981d" + "1cf9736cc17110a392cf59efb3fdeaa7" ], [ "NetKat.__proj__PoUnion__item__p1", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "cb4d1e256e2070f290d12de7906b1432" + "e44d7c925caa35262e82e3564fee19bd" ], [ "NetKat.__proj__PoUnion__item__p2", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "e05e447119857bff1feee9b514c0bfd9" + "2936457d0a64e35c77053d867dd560e6" ], [ "NetKat.__proj__PoSeq__item__p1", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "66648b46bc184ded7cdd9783115955d2" + "33a3142752d31392a4cd80d6d223576b" ], [ "NetKat.__proj__PoSeq__item__p2", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "f43f371afe5e9b468196d0e9b1c9d525" + "4c3c4a82c5c117f69e8546088c12c3ef" ], [ "NetKat.__proj__PoStar__item__p", @@ -206,7 +206,7 @@ "refinement_interpretation_Tm_refine_85f8b73a81bd8fc5fad5d793e629d0e4" ], 0, - "6cb3fae35d39be51c915b3f384219885" + "7d5d42c4aac2517a4ce75be8b747ed96" ] ] ] \ No newline at end of file diff --git a/examples/rel/OTP.fst.hints b/examples/rel/OTP.fst.hints index e84c89aa43a..268c92ec51f 100644 --- a/examples/rel/OTP.fst.hints +++ b/examples/rel/OTP.fst.hints @@ -32,7 +32,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "06df3c9c612b9d72fea193747fd03f47" + "12ca6b20a8b880c2d6001b33d5f9453d" ], [ "OTP.bij", @@ -60,7 +60,7 @@ "typing_FStar.DM4F.OTP.Heap.to_id", "typing_FStar.DM4F.OTP.Heap.upd" ], 0, - "10b056f38c6fe414d81a1b02f038d881" + "614dc5a3f91b73fab747db3549f170a7" ], [ "OTP.xor_prop", @@ -96,7 +96,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "587d5a4c89d0365212f9635d6732bfdd" + "bf8766df15cb62471bd37cb7e0c6a0f7" ], [ "OTP.otp_secure", @@ -162,7 +162,7 @@ "unit_typing" ], 0, - "18e990d4d212cefc0035b4740cadb24c" + "78b12f6b9add512e96c871007471c046" ] ] ] \ No newline at end of file diff --git a/examples/rel/OneTimePad.fst.hints b/examples/rel/OneTimePad.fst.hints index 119ac65fcb6..f26e13d4506 100644 --- a/examples/rel/OneTimePad.fst.hints +++ b/examples/rel/OneTimePad.fst.hints @@ -27,7 +27,7 @@ "typing_OneTimePad.xor_b" ], 0, - "c3cd05dd80796f5c6f92240c49727a6f" + "de47a8553e8647e7e10a475d2625788b" ], [ "OneTimePad._dm4f_RANDOM___proj__RANDOM__item__rand_elab", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c87c6b5b8314e10e072d3d386be6e00b" + "011b11e4faa973ddcd3817e8c32113e1" ], [ "OneTimePad.xor_at", @@ -89,7 +89,7 @@ "token_correspondence_OneTimePad.xor" ], 0, - "7ef1b6e137947d95a6067e75ff445e2a" + "ce932d98b424c16684f14edf56372bb8" ], [ "OneTimePad.one_time_pad_ok", @@ -127,7 +127,7 @@ "token_correspondence_OneTimePad.xor_at", "typing_OneTimePad.xor_b" ], 0, - "8986371d99ced9984d288d1dc78fd0b0" + "a47c8f84ce972a71626d8b7cbd71c7ca" ] ] ] \ No newline at end of file diff --git a/examples/rel/Point.fst.hints b/examples/rel/Point.fst.hints index 88c2e8f1e7d..843264be846 100644 --- a/examples/rel/Point.fst.hints +++ b/examples/rel/Point.fst.hints @@ -13,7 +13,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "59dada7f8bf94d6ce09f47c71e72217d" + "6db0a879cff632332fbdf3af28ab45c9" ], [ "Point.get", @@ -27,7 +27,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "20405bc416a583988ea5fe9ca8cbed9d" + "cb2c6af5bb7f32b4620578651e410c29" ], [ "Point.inv_point", @@ -53,7 +53,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "9ca7553829b6b3a2fa6bb35b71b14a26" + "344c43107ee78b3266c543a312f0da2b" ], [ "Point.get_point", @@ -86,7 +86,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "f653ec38414e8162ae03c8247b2564b8" + "32cd3fa54b3733eccd8e10ffd099b86e" ], [ "Point.move_point", @@ -116,7 +116,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "76684b960b2a892de7d1ba90cebea604" + "817abbc175e474af1dae9597c8720dd3" ], [ "Point.init_point", @@ -168,7 +168,7 @@ "typing_Point.get_point", "typing_Point.move_point" ], 0, - "456c3dce942b8de254b949e80274ac85" + "ec96ec79fdc8ef7e10cfe8eb9e8c107c" ], [ "Point.inv_colored_point", @@ -194,7 +194,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "d06ecdbe077782a62e07f7c0a0b9ba47" + "20151a53d76390b8fa9cf078d16b4c82" ], [ "Point.move_colored_point", @@ -225,7 +225,7 @@ "typing_FStar.DM4F.Heap.ref", "typing_FStar.List.Tot.Base.tl" ], 0, - "3736b59f3c9f0c91fe26f5b06d392c2b" + "04e741dd9f701e7bff0a803ce7c8701f" ], [ "Point.get_colored_point", @@ -256,7 +256,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "1d19f6576c5ccc041fe1556bda9ec420" + "9c728f516cb779039c58d6efb211e5e6" ], [ "Point.init_colored_point", @@ -308,7 +308,7 @@ "typing_Point.get_colored_point", "typing_Point.move_colored_point" ], 0, - "6a11ffa702bcb55b6ba9b0ee3f049de8" + "365616054bb75a57a9c6b7ba571c87c1" ], [ "Point.ref_not_in_fp", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "16d56c073bb393122e29fd6efb83aeef" + "ef760701067ae05971c79e7df9846332" ], [ "Point.lemma", @@ -407,7 +407,7 @@ "typing_Point.__proj__C__item__fp", "unit_inversion" ], 0, - "e1e04f757fa780c652e0dcf1cf98bb1e" + "deb82d5490c0e0e6944794369f8c8f8b" ] ] ] \ No newline at end of file diff --git a/examples/rel/ProgramEquivalence.fst.hints b/examples/rel/ProgramEquivalence.fst.hints index cd883a2fcb5..95b7e35ced6 100644 --- a/examples/rel/ProgramEquivalence.fst.hints +++ b/examples/rel/ProgramEquivalence.fst.hints @@ -15,7 +15,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "47c9e31afced5a6147580129c42fd310" + "818fc65027181dd2387f05fee1078272" ], [ "ProgramEquivalence.get", @@ -31,7 +31,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "97f32bf270eaab0686fabd23d9b08889" + "9d853cfcbdb2fc95cbccd00c380921c4" ], [ "ProgramEquivalence.incr_0", @@ -59,7 +59,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "2a38f091282288c6e2cc7b155515670b" + "1563cc244a3e3fb266f49e6c73c63b96" ], [ "ProgramEquivalence.get_0", @@ -84,7 +84,7 @@ "projection_inverse_BoxInt_proj_0", "typing_FStar.DM4F.Heap.ref" ], 0, - "248831309b1af1be634f4b642f60a3bf" + "470901902d0b3c406eeefb1b97237175" ], [ "ProgramEquivalence.init_counter_0", @@ -133,7 +133,7 @@ "typing_ProgramEquivalence.incr_0" ], 0, - "15bbb7fe1ed8427fe62cf06a86070280" + "ac0a90304d342368452b86590459c0af" ], [ "ProgramEquivalence.inv_1", @@ -159,7 +159,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "8450fe5e6de30b0ae88c3f42d4a43f58" + "bc48fe57d4c440d8a0054e2162b22525" ], [ "ProgramEquivalence.incr_1", @@ -190,7 +190,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "b6978f365c92f718193c56f7e20edc9a" + "0e8162811046ab4554af202a59bef180" ], [ "ProgramEquivalence.get_1", @@ -221,7 +221,7 @@ "typing_FStar.DM4F.Heap.ref" ], 0, - "70ebf94b67b00dd0e4ba9e971eaa90d0" + "091f0c9650e1da577d8477a26aae1107" ], [ "ProgramEquivalence.counter_0", @@ -234,7 +234,7 @@ "token_correspondence_ProgramEquivalence.inv_0" ], 0, - "dd6989b6cbd0d5ec0abf79999a4768a6" + "15967c2e04c4ad8094322a50e53c3d5e" ], [ "ProgramEquivalence.counter_1", @@ -247,7 +247,7 @@ "token_correspondence_ProgramEquivalence.inv_1" ], 0, - "799215295ac9e5f6a7419c549efe0ddc" + "6a747ec9578cb30c18bb2abcb5c6583c" ], [ "ProgramEquivalence.init_counter_1", @@ -292,7 +292,7 @@ "typing_ProgramEquivalence.__proj__C__item__fp" ], 0, - "09566ea0618bb845a08d6feb3279a0de" + "8d4dd7bff1903f4bc4c56226146ff3c0" ], [ "ProgramEquivalence.increment_m", @@ -310,7 +310,7 @@ "well-founded-ordering-on-nat" ], 0, - "5ce4867dd26ca2f498ccd251fe51b319" + "a3b30a772f3f8e14c18dd6725ba16dc4" ], [ "ProgramEquivalence.ref_not_in_fp", @@ -324,7 +324,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e90d6d926369ff11ad45cd78321c1b7" + "02246759b57af616da1f580f140454d0" ], [ "ProgramEquivalence.observational_equivalence'", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "2df6a5bda50233feb31f643986df3133" + "78d594770f24aab0e4367740001bb934" ], [ "ProgramEquivalence.observational_equivalence'", @@ -450,7 +450,7 @@ "well-founded-ordering-on-nat" ], 0, - "2769534cb3589af946e7ab85aa260082" + "d5f43b39333d1e7b4b3a4514dbdaf0f8" ], [ "ProgramEquivalence.counts_even_numbers", @@ -462,7 +462,7 @@ "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "e0d8a2a18e3ce3f6e8ae5656f7b45eea" + "3f2f261f74ebcb32fc1be15548ae4341" ], [ "ProgramEquivalence.counts_even_numbers", @@ -538,7 +538,7 @@ "well-founded-ordering-on-nat" ], 0, - "e8f24e3e4a2f96fc167ab0e9fb727bc1" + "987b7e5ee135aff3cd1798ef1e6f4259" ] ] ] \ No newline at end of file diff --git a/examples/rel/ProgramOptimizations.fst.hints b/examples/rel/ProgramOptimizations.fst.hints index 74b47b20430..10a3f4767c7 100644 --- a/examples/rel/ProgramOptimizations.fst.hints +++ b/examples/rel/ProgramOptimizations.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "4a02e3f6f8375e3a55758f99cd74956d" + "f2ef165f9e648feaa49c2355eb19d9a9" ], [ "ProgramOptimizations.__proj__Const__item___0", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_2fcef4c7d94b8a858b8533b4392720e2" ], 0, - "b9bfd4656865beb4503fa56c2a7a7e5e" + "99a5ccf36da7dd73d22b7194d7f47491" ], [ "ProgramOptimizations.__proj__Var__item___0", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_070fdf407f5c8dff9a7cfa1b6bdb70b2" ], 0, - "b5dc71c817daabdedcc60bd5fb894278" + "8b0cda8d338812dab61173ef17143a38" ], [ "ProgramOptimizations.__proj__IOp__item___0", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "288512bf2a8c150859fb412998417052" + "d087bba9ede1227a7c0d1bc8b2f53ca1" ], [ "ProgramOptimizations.__proj__IOp__item___1", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "1e80c9e3eb5db71224d417e58f67a836" + "ae449458ad496ac6d32085f5db3cb9d8" ], [ "ProgramOptimizations.__proj__IOp__item___2", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "83d87e97111885346c16af256283d463" + "e603ffdf5a8da1adcb31df4a42e78af4" ], [ "ProgramOptimizations.__proj__UMinus__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_442de479845adbb7045f5e74cb6e91c7" ], 0, - "48da9d6c504d4ec1d6457aaf1822ea13" + "5895639f6a58e64ba5e656837b037d80" ], [ "ProgramOptimizations.b_exp", @@ -111,7 +111,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "2d88c9b082437cd39c94d4bbf5bb4508" + "60d51c78287e913020a8ef3cbd020573" ], [ "ProgramOptimizations.__proj__ROp__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "6fc58f7ab1396fca987beb883c41e6f5" + "62c0d22d60f61409f63553c75e61f1a4" ], [ "ProgramOptimizations.__proj__ROp__item___1", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "3238758205c5b246a6773f6032fd2ebb" + "a5ca4b48ddfbfd77c5ddf60a220afc1b" ], [ "ProgramOptimizations.__proj__ROp__item___2", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "db5939280d145a7163b1a75987b9f25c" + "ae3811be27db2bd7d130044ab2e61bc6" ], [ "ProgramOptimizations.__proj__BOp__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "b56ac734ef4973657616c24ddad34a44" + "ca822e99b21860fe355f8a085cc98c83" ], [ "ProgramOptimizations.__proj__BOp__item___1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "7a92d4958ce9b6c5bdabbfe2f9c2dbec" + "ea8eb23b08690900605fb85236c3e6d9" ], [ "ProgramOptimizations.__proj__BOp__item___2", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "80c15aa2a3b0a3d4ad45ebc88dec0a31" + "23dd662faff05fa7f3b14fddcf589812" ], [ "ProgramOptimizations.__proj__Not__item___0", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_12b6cb78b0bb34a6f9e6cec940ff4c4b" ], 0, - "3d2e380521485401bfb3cdae4ae644c1" + "047f4414c64684f2bcb9aa068f6fa6a7" ], [ "ProgramOptimizations.com", @@ -225,7 +225,7 @@ "typing_ProgramOptimizations.var" ], 0, - "75601fd1f5163a67c85646635d15de81" + "0f36bdcb6bcc9ee9ad2842008c47be4e" ], [ "ProgramOptimizations.__proj__Assign__item___0", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "c53eed889e73d15cc5558da7af05fdbe" + "7d1cbcc8f5533f9e5519cd2e39ad99f4" ], [ "ProgramOptimizations.__proj__Assign__item___1", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "cb1ff3bbd821232b5e32feb71e59f80d" + "339ff0a87f966e0dd7d5f39be3c2f571" ], [ "ProgramOptimizations.__proj__Seq__item___0", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "2e4320bc9720d21be8ad2f7ad5bd9c5f" + "fde680f42fa03cec492e7b43f06c31ee" ], [ "ProgramOptimizations.__proj__Seq__item___1", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "b02365987ec5c713ba7144341dc898bc" + "21cbb65712778bed92d0079561219197" ], [ "ProgramOptimizations.__proj__If__item___0", @@ -295,7 +295,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "40aca3af34118a7bcaa94b8c61bf1d8c" + "4b6d684d34c14b5d8c0249dc918a8512" ], [ "ProgramOptimizations.__proj__If__item___1", @@ -309,7 +309,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "3af582921b1deb114081f95a651ee8f8" + "266e3ffbdf684c9db1ae46d811d8df75" ], [ "ProgramOptimizations.__proj__If__item___2", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "35aae82601c3216e7c4a4cdc42906a1d" + "0725bf78ab8e883b9dd22b0009513d2e" ], [ "ProgramOptimizations.i_exp_denotation", @@ -356,7 +356,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "a75499f6f7abd915b6c67f0c313e2f60" + "86ce6dfada650bb3cbb990c9d56f48c6" ], [ "ProgramOptimizations.b_exp_denotation", @@ -395,7 +395,7 @@ "subterm_ordering_ProgramOptimizations.Not" ], 0, - "93a7f5bec19c9a792e59f49db7f2ea09" + "0564b8742cf1f541019a3dd119cb1a20" ], [ "ProgramOptimizations.com_denotation", @@ -427,7 +427,7 @@ "unit_typing" ], 0, - "5e23d4cdec96c02ee846935572d005c8" + "962e5e9c3172661a080402200c326402" ], [ "ProgramOptimizations.g_exp", @@ -442,7 +442,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "4bff38cb8196f43fd6185bccd7e93d28" + "a16cd592b65e9ec75fee9c1024d35449" ], [ "ProgramOptimizations.__proj__GConst__item___0", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_763b2f3802e5c78ed32f1a103955a718" ], 0, - "b649e4f34633b7062e1adcdb8d13c5bd" + "a0a17c31869db82e84959d1331c34433" ], [ "ProgramOptimizations.__proj__Left__item___0", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_f8c0148749c4b3167a4d9b51186c1c41" ], 0, - "b3097a66799ddbd21a5bb0fe889d012a" + "d47c52dc79e20821ab0198ac798889f0" ], [ "ProgramOptimizations.__proj__Right__item___0", @@ -484,7 +484,7 @@ "refinement_interpretation_Tm_refine_620381ea672ccfd3b418034bc8698907" ], 0, - "343d8275c9aed103f2ac61c706dbe1d3" + "f20cefa108433d5c31f87d2d513d3935" ], [ "ProgramOptimizations.__proj__GIOp__item___0", @@ -498,7 +498,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "58461683168e6c16bf87b0a2a74e8d37" + "c8121a7cafd16cdb6365ec7d1e0fe099" ], [ "ProgramOptimizations.__proj__GIOp__item___1", @@ -512,7 +512,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "69b8266637b2083b97c5e7d766e2f451" + "8f3dbb41d1b7081f6b86eb28402db8bd" ], [ "ProgramOptimizations.__proj__GIOp__item___2", @@ -526,7 +526,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "eca04bb6d4e1d0aec22c0519674c8e8a" + "407d50fcfc0bce0b62ba8991c1c23fdf" ], [ "ProgramOptimizations.rel_exp", @@ -539,7 +539,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "1356622ac34975938a1591ef69a356a6" + "a069abbcba7d56199e484ad7d53f8bfb" ], [ "ProgramOptimizations.__proj__RROp__item___0", @@ -553,7 +553,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "69a8a0828470eb62a4f0809721179018" + "58c63cbd65ff19a787fd562a07bcd1d9" ], [ "ProgramOptimizations.__proj__RROp__item___1", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "471e3721d0ece8d248d32ce7dd12430b" + "c72db6ea3e2091758634ddec65dfa72a" ], [ "ProgramOptimizations.__proj__RROp__item___2", @@ -581,7 +581,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "04c30532d10f80f56f47accfbdd191ec" + "753eea46ae7007e8a2f94f1c1420930c" ], [ "ProgramOptimizations.__proj__RBOp__item___0", @@ -595,7 +595,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "d4640bed272a1a9c9afe2f51fe717bb4" + "c3ac69d52559752e77d15fade46f4b3a" ], [ "ProgramOptimizations.__proj__RBOp__item___1", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "c3b189853442558d3633d5f4c37608e5" + "006e616187711bc60dabd9d32af1b6aa" ], [ "ProgramOptimizations.__proj__RBOp__item___2", @@ -623,7 +623,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "29f10bb3cfc23d4d6f5f06dc95bdced9" + "53ab5f38c145b6a38ca54a3d76092603" ], [ "ProgramOptimizations.__proj__RNot__item___0", @@ -637,7 +637,7 @@ "refinement_interpretation_Tm_refine_18c04c0e3da4d915a0f616009fbb557d" ], 0, - "c1ecdbd65bcf08040d4f3dbbec6830d2" + "a7c7424ef7a3bfc320f30e347b30f6fe" ], [ "ProgramOptimizations.g_exp_denotation", @@ -658,7 +658,7 @@ "subterm_ordering_ProgramOptimizations.GIOp" ], 0, - "23fa6684d2b2c615262f87609e68f63b" + "bf99c24030abecafc52d32bf83e266d5" ], [ "ProgramOptimizations.rel_exp_denotation", @@ -685,7 +685,7 @@ "subterm_ordering_ProgramOptimizations.RNot" ], 0, - "b5e1e480a0f416d7b34b2183e3e71c5c" + "17cbb3c96950abdfe7ac8bf1ece2ab32" ], [ "ProgramOptimizations.lemma_sound_optimization1", @@ -795,7 +795,7 @@ "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "2d953cb1d3aa5d1447883be522ffe4a9" + "6105e77c34a4aec9fd182573c9406662" ], [ "ProgramOptimizations.lemma_sound_optimization2", @@ -911,7 +911,7 @@ "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "30547e5c96a753677b1e14cbbf1fa4dd" + "7161e97a846cedbdb282e0505214b9f0" ], [ "ProgramOptimizations.lemma_sound_optimization3", @@ -1024,7 +1024,7 @@ "unit_typing" ], 0, - "18d49cbe6b0da9d92f0d6b50000f4d9a" + "4fdb65a5d734a280758a9d1d83a98bcf" ], [ "ProgramOptimizations.lemma_sound_optimization4", @@ -1139,7 +1139,7 @@ "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "6208c124369c00401b3951391a8e0f14" + "907607835d9779faa44eeb03118ecc66" ], [ "ProgramOptimizations.lemma_r_cbl", @@ -1178,7 +1178,7 @@ "typing_tok_ProgramOptimizations.CTrue@tok", "unit_typing" ], 0, - "528770fa3415e759f7698ec871c0dd42" + "99e2f249f4edbef7b795322cc1bed459" ] ] ] \ No newline at end of file diff --git a/examples/rel/RandomTapes.fst.hints b/examples/rel/RandomTapes.fst.hints index b0ea4bea596..6a524c46ec7 100644 --- a/examples/rel/RandomTapes.fst.hints +++ b/examples/rel/RandomTapes.fst.hints @@ -15,7 +15,7 @@ "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "53cf4209b60391e42f5bcd344c72fa67" + "f30e97924cdd48932833ac897b68a811" ], [ "RandomTapes.add", @@ -37,7 +37,7 @@ "token_correspondence_RandomTapes.minus" ], 0, - "9808637e57f87895d06d46e132affdfc" + "792859562a3680ef0424dc998f0b1e64" ], [ "RandomTapes.otp_eq", @@ -65,7 +65,7 @@ "token_correspondence_Rel.__proj__R__item__r" ], 0, - "6abd7474b9c855b0d3d10d5a6312fb26" + "92d03e8f434ee8a37e16f6f8e6b4bb94" ], [ "RandomTapes.otp2_eq", @@ -95,7 +95,7 @@ "token_correspondence_Rel.__proj__R__item__r" ], 0, - "3974f2ee395d998df602cf1131fc0817" + "d7930ec660dcd2568096562a515f1ad7" ] ] ] \ No newline at end of file diff --git a/examples/rel/Recursive.fst.hints b/examples/rel/Recursive.fst.hints index 1a459d4d8a1..a55fde6d06c 100644 --- a/examples/rel/Recursive.fst.hints +++ b/examples/rel/Recursive.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "ff9b7c23b446f1f4f2af780bdf783fd6" + "5752a2e85cb6ac690f5cd293df9386e9" ], [ "Recursive.fac_mon", @@ -46,7 +46,7 @@ "well-founded-ordering-on-nat" ], 0, - "e687a8f2dd015e2aaefb32f2da9fb2e4" + "436f391843ba978497ece7da41cae421" ], [ "Recursive.fac_sum", @@ -62,7 +62,7 @@ "typing_Recursive.fac" ], 0, - "8d30ade9984260da3a8176a3edb17d03" + "ae8f34d51a95b4dcf13d9d9695230d68" ], [ "Recursive.fac_sum_mon", @@ -75,7 +75,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2a8f2ad6a78214b14cb1f8b509679adf" + "2cb189e96e9d61aa3d5014c0c8e4a20b" ] ] ] \ No newline at end of file diff --git a/examples/rel/ReifyLong.fst.hints b/examples/rel/ReifyLong.fst.hints index d459157c482..93ea23b2375 100644 --- a/examples/rel/ReifyLong.fst.hints +++ b/examples/rel/ReifyLong.fst.hints @@ -19,7 +19,7 @@ "unit_typing" ], 0, - "d007482c4d4ddfa12dcf208d347c0f42" + "531131c153faa3490382c2704ba9d0b4" ] ] ] \ No newline at end of file diff --git a/examples/rel/Rel.fst.hints b/examples/rel/Rel.fst.hints index db7e9bdbe82..178729f34dc 100644 --- a/examples/rel/Rel.fst.hints +++ b/examples/rel/Rel.fst.hints @@ -2,7 +2,7 @@ "\u00135ˆZëÁ\u001d\u0014\u0018êí`‘TwQ", [ [ - "Rel.rel", 1, 2, 1, [ "@query" ], 0, "a6a67f789112ba1663b1c1dad0d17fe6" + "Rel.rel", 1, 2, 1, [ "@query" ], 0, "1bc0ace87d175af9fcfadf3a3444b7a3" ] ] ] \ No newline at end of file diff --git a/examples/rel/StRel.fst.hints b/examples/rel/StRel.fst.hints index ac002d4de8c..89a5f4d1f68 100644 --- a/examples/rel/StRel.fst.hints +++ b/examples/rel/StRel.fst.hints @@ -26,7 +26,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "4b5452c0f6dca04eeba5860aca959174" + "c9e3c6dcdee46f60720df21c9c991ee6" ], [ "StRel.f2", @@ -44,7 +44,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "f32b59ed3fb7b2192f8e41f9c95a7a49" + "c51922a5cd9a70c6302294303950d68a" ], [ "StRel.f1_ni", @@ -65,7 +65,7 @@ "token_correspondence_StRel.f1_hp" ], 0, - "2a0993900b5d11e56fb178ca5c847dce" + "ba30f68f5a5b60d0f22ca96885e07e02" ], [ "StRel.f2_ni", @@ -85,7 +85,7 @@ "token_correspondence_StRel.f2_hp" ], 0, - "bc3b3ae4f6d627df751d1cd1e07af73d" + "69be08cf39b9c50588d1c6bdd315d497" ] ] ] \ No newline at end of file diff --git a/examples/rel/Swap.fst.hints b/examples/rel/Swap.fst.hints index 263b356e23e..b1190bf0d97 100644 --- a/examples/rel/Swap.fst.hints +++ b/examples/rel/Swap.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "829a9bd6cff2cfefa9b3db7d48fca7ab" + "b459c010014b49cdc3773932517c73b8" ], [ "Swap.heap_equiv_on", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6235cadbc6d30c1c7ca6aabb8cb7eb97" + "38b56ed80d3d57858e0dbb5e7bb55e5b" ], [ "Swap.seq'", @@ -36,7 +36,7 @@ 0, [ "@query" ], 0, - "63f81de5404786499bfb5e9aba5b0988" + "8d73dba1529e479f7f44ef53d1ee27db" ], [ "Swap.seq'_lem", @@ -64,7 +64,7 @@ "unit_typing" ], 0, - "da655cd6abe47178c72f41f387d61629" + "85762d5d10e7ca4e0993c85eae9d68dc" ], [ "Swap.op_Greater_Greater", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "70faadc24ab3ff8fb253df385c78bef0" + "3f58d10d2fade3598ce55da60c0cb0f8" ], [ "Swap.swap", @@ -105,7 +105,7 @@ "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "c56d8ed5cbf567bbba933428de0bc0aa" + "df02098865b5fb4c4ff6d5119a164f58" ], [ "Swap.idem", @@ -132,7 +132,7 @@ "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "fd7fdbe777d4b365ef6a3a26b8e6a719" + "6583b28f92641d3ff055f1634e80f7e0" ], [ "Swap.cond", @@ -141,7 +141,7 @@ 0, [ "@query" ], 0, - "a0854ece77cc93bd0cc5fedb2ae965e2" + "eb4b3910622d00a21c8966ceef6081df" ], [ "Swap.lemma_replace_cond", @@ -162,7 +162,7 @@ "token_correspondence_Swap.cond", "unit_typing" ], 0, - "949d923305cfd7963d681a9ea1a37c08" + "c04fb9770f5e9367d610fca92a3894d3" ], [ "Swap.lemma_skip_c1", @@ -190,7 +190,7 @@ "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "68366f48737ecdaa1356413c87c9da5f" + "b4db6b30359a91fb3dbe522be7b55d08" ], [ "Swap.swap_old", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "743debbded7eaa214cadc0967bbc96f2" + "ff868be92ecfc5d4c32abfba2a6a5792" ], [ "Swap.swap_old", @@ -227,7 +227,7 @@ "typing_FStar.DM4F.Heap.addr_of" ], 0, - "5ad7d8f2a8b1260c7008d8c0be0c975d" + "f87b227d1f5ff092761dc19e6a18832e" ], [ "Swap.idem_old", @@ -250,7 +250,7 @@ "typing_FStar.DM4F.Heap.addr_of", "unit_typing" ], 0, - "81a81329af44a30a0541e0aa1497138e" + "94eed3ab0589e122f370987ca6082797" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.Forest.fst.hints b/examples/rel/UnionFind.Forest.fst.hints index 279162551ea..11ce30b1481 100644 --- a/examples/rel/UnionFind.Forest.fst.hints +++ b/examples/rel/UnionFind.Forest.fst.hints @@ -18,7 +18,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b2ea4e573b57c5413f87964b995b51c0" + "674bcd15fbd4867f9bd792c5ffc7c35b" ], [ "UnionFind.Forest.set_n", @@ -45,7 +45,7 @@ "well-founded-ordering-on-nat" ], 0, - "aecacda7a1ef0bb2e959b72a049ba5fd" + "9897308820085754e6547129c0a15c3d" ], [ "UnionFind.Forest.uf_forest", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8735764fcb3c23f596179cdb696e6ffb" + "5c8f95cbe6bb0d1f7c6cd51513717168" ], [ "UnionFind.Forest.live", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "98c36dfede9a77077793f303ecba29aa" + "beb4e6e46709cba951c057eee58ada69" ], [ "UnionFind.Forest.get", @@ -99,7 +99,7 @@ "typing_UnionFind.Forest.elt" ], 0, - "63316843dd206aa7c2f8db4e7c8b4b74" + "78666bbc6517a0e9bdbcc661b14c3cba" ], [ "UnionFind.Forest.set", @@ -121,7 +121,7 @@ "typing_UnionFind.Forest.elt", "unit_typing" ], 0, - "41833c0fbb2ea224bea0641910e20614" + "07837a3296489694c160e285e12879dc" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.Functions.fst.hints b/examples/rel/UnionFind.Functions.fst.hints index deece95cb75..690298c6c68 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, - "8466c3feb88f6687baaa90cee2b94e6e" + "95f5978d634f7d04acf199228ebd5cce" ], [ "UnionFind.Functions.height", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "3c645a4d0c711b60ff396e25f27e62a4" + "7cf3e1a70b59f8b6bbbba0e8e7b2dc87" ], [ "UnionFind.Functions.subtree", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "bf326b50b000d8f4463f69425801d9f4" + "5f21ee8b561540c851c92466c86e63ff" ], [ "UnionFind.Functions.well_formed", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ecee364773071e37b27beebede80acd6" + "83d8094e7a770402ce5e6e15e7396517" ], [ "UnionFind.Functions.diff", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a07e7756b33943d6d6917be38cfcab4a" + "cc68a226ad1bd78225c7b64fd1aaa5b8" ], [ "UnionFind.Functions.find", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "af9c11b466936d17545bd4e40c135528" + "a74ebdd543ec31e7d76143b8eb64e23e" ], [ "UnionFind.Functions.find", @@ -153,7 +153,7 @@ "typing_UnionFind.Forest.set_n", "well-founded-ordering-on-nat" ], 0, - "18904a28a7f4567fbc6cc7be58ca2903" + "9932b3a373e4bd4f4e06433881a93a4c" ], [ "UnionFind.Functions.find_opt", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "040ad76ab62200acb474ba22d6be6e36" + "ffb60607999573b2414e4d871cd9e4cb" ], [ "UnionFind.Functions.find_opt", @@ -245,7 +245,7 @@ "typing_UnionFind.Forest.set_n", "well-founded-ordering-on-nat" ], 0, - "47639b8fa33f488a1946b1c0b5703e44" + "254071f9e8ce57c83b9981f4b2ac5243" ], [ "UnionFind.Functions.well_formed_decreases_lemma", @@ -291,7 +291,7 @@ "typing_UnionFind.Forest.set_n" ], 0, - "29e985b8a9b6916b4f6f9f5d5196f362" + "504dfcb48ee864b041dce757000c9716" ], [ "UnionFind.Functions.merge", @@ -353,7 +353,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "fc195f903fe4ad535e1969b0053b01fb" + "94430fb444ece8299a58d228cfb57a37" ], [ "UnionFind.Functions.merge_opt", @@ -425,7 +425,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "a119e6eff5e57c388d7f29f3495e0d8a" + "f3f7c40fed731c5a3b2d19d9663c8185" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.fst.hints b/examples/rel/UnionFind.fst.hints index 7552c4fcded..62953e06689 100644 --- a/examples/rel/UnionFind.fst.hints +++ b/examples/rel/UnionFind.fst.hints @@ -34,7 +34,7 @@ "typing_UnionFind.Forest.get" ], 0, - "e2e0efc891790b85e2924e6ad29dea3d" + "2f66800fed9b458b96ac855d34fef8fe" ], [ "UnionFind.lemma_find_height_independence", @@ -48,12 +48,12 @@ "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_2ea9a169a5766944332a2ed80af9199d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75a72541ede8a0c94d3114eba289e01a" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "efe9c3ef4f6f4ed235b2bdc4d559e533" + "6807e5a116e5f9bd3a712589eb77a8ba" ], [ "UnionFind.lemma_find_height_independence", @@ -109,7 +109,7 @@ "typing_UnionFind.Functions.diff", "well-founded-ordering-on-nat" ], 0, - "38c256b065acf2dd6b20f3e838a09ddc" + "63f4cf8b293bcf46d41f3550f8857211" ], [ "UnionFind.lemma_find_opt_helper", @@ -163,7 +163,7 @@ "unit_typing" ], 0, - "1378b70ed22c531a2b278c6809d3e2de" + "f074dc210c4f12c3d5b758f1940b34e1" ], [ "UnionFind.lemma_find_find_opt_same_result", @@ -177,10 +177,10 @@ "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_684917ef28264fcfb004b5391a0d24f1" + "refinement_interpretation_Tm_refine_feba4dd6bb1bbd3964dd81633d5ee4d4" ], 0, - "f78eb13102b6197d31a00e796b92c172" + "6c5694f7066d60ef50a396e3aecd09d0" ], [ "UnionFind.lemma_find_find_opt_same_result", @@ -243,7 +243,7 @@ "typing_UnionFind.Functions.diff", "well-founded-ordering-on-nat" ], 0, - "ffea54354fbf79a6ea3c8e7ac50fb9d6" + "697eff1282eb73b790e7cddcb1b32725" ], [ "UnionFind.lemma_find_opt_parent_same_as_find_root", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "fb0099a26acf1816710f9e620ae1218f" + "5711f92a03383c466fb3bc04cef65c55" ], [ "UnionFind.lemma_find_opt_parent_same_as_find_root", @@ -336,7 +336,7 @@ "well-founded-ordering-on-nat" ], 0, - "f4792a84182d521b769e4902206c1e55" + "0376d292ef59c73def0ac1c582fd3fd4" ], [ "UnionFind.lemma_find_find_opt_equivalence", @@ -359,7 +359,7 @@ "refinement_interpretation_Tm_refine_def6697cfd5f9cd77c3c83a313d0eeaf" ], 0, - "2bbf9c42566365d6ff9db5b3ad9d5dc4" + "c16338533846d2cb4c562a73ec016c60" ], [ "UnionFind.lemma_find_find_opt_equivalence", @@ -414,7 +414,7 @@ "well-founded-ordering-on-nat" ], 0, - "95acd5de17fcbf75f89df2df0b9bca7b" + "e0c4a2dd8eb2e215b3204276b03a1803" ], [ "UnionFind.lemma_merge_helper", @@ -492,7 +492,7 @@ "unit_inversion" ], 0, - "c9f65aca3e9e603d77d8ac7ed9727fed" + "85ed1aba2649ca6c3e7cdb1e3a4912fa" ], [ "UnionFind.lemma_merge_opt_helper", @@ -574,7 +574,7 @@ "typing_UnionFind.Functions.merge_opt" ], 0, - "995c40490fa36594c18d850d77df58ff" + "fc926c626d4db764517ee7d47c4354a9" ], [ "UnionFind.lemma_merge_height_independence", @@ -627,7 +627,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Functions.merge" ], 0, - "b9c4e5b999159636b1739fcbd199b026" + "bd37ff17f2aa49c6c4ebf0e96ca5c3ce" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_diff", @@ -653,7 +653,7 @@ "unit_typing" ], 0, - "d741b1e4a3c63a723241ac11086b7ca4" + "08a67253c3ebc27a514b046a5bef5c66" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_diff", @@ -708,7 +708,7 @@ "well-founded-ordering-on-nat" ], 0, - "1827e1fa583997c59e7b381827745588" + "bb410edf4eb57fe18aeaff1080891601" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_same", @@ -734,7 +734,7 @@ "unit_typing" ], 0, - "6c6753cf40310c64738ab32882a90e87" + "563ba1cbffeee6a95043e4fb8f216964" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_same", @@ -802,7 +802,7 @@ "well-founded-ordering-on-nat" ], 0, - "bba967f56e0ef7451bfc39fbaa2734c0" + "f07d6ae8c857a8f84f2e76c9bb09717d" ], [ "UnionFind.lemma_merge_merge_opt_equivalence", @@ -850,7 +850,7 @@ "unit_inversion", "unit_typing" ], 0, - "b7608d5942bf2c599d8d9756921f08cc" + "10867af89bd680b202ea73301435a703" ] ] ] \ No newline at end of file diff --git a/examples/rel/While.fst.hints b/examples/rel/While.fst.hints index cfa25f59e45..8345082f17c 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, - "d7d0cb2a2562fbd60f929eacaa8c4b45" + "827eefb9aaf10d5cd3f64c9a9c09b846" ], [ "While.__proj__AInt__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_94ebaa80e9cf95cffc242c7914de3c00" ], 0, - "f0cec7ed69074355ddd1e4e98d93014d" + "19532473692f5b35d00e0e83c813b242" ], [ "While.__proj__AVar__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_be67e6dd42460413742cd5885f052b86" ], 0, - "5f644645c6b7b8207fcc1b66e934f272" + "175da9cef6784966944aea2c11e166a2" ], [ "While.__proj__AOp__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "33394afcd6388c93dd65cf9e5e50e635" + "78506121a3a38571219ace6bb74bedab" ], [ "While.__proj__AOp__item___1", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "9e9447ca0e00654a713187c28f9d0739" + "8b7cd0b8b90e107a228b33e1f20f408b" ], [ "While.__proj__AOp__item___2", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "f05ff256a9bee5fd9232b225045f7ef3" + "042a238cc12c5182d216a83b76d1e3c4" ], [ "While.interpret_exp", @@ -94,7 +94,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_While.AOp" ], 0, - "344257d71932fdfd81d10f94c01db409" + "e9b22fd55e1fbcab05e5be5895d1036d" ], [ "While.__proj__Assign__item__var", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "b48049a98bbb6a3bc64fc5c33f2d80b1" + "2b8deca0242f33cbd115455738997977" ], [ "While.__proj__Assign__item__term", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "afbe2baef64127915c7f64d9ed6a1c7b" + "c4b855eba6c6e9751519f75d64e0c652" ], [ "While.__proj__Seq__item__first", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "08641c9f89d952166c08e072605cde70" + "3fd7b13e732edacea0b9909a6bda6691" ], [ "While.__proj__Seq__item__second", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "357567f15c80b50dc99dca09a935920a" + "1f0016f6d3aa7dd4c867c04f11e57ac8" ], [ "While.__proj__If__item__cond", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "e6b11428db7cb8ca6a34bb03a7674f1e" + "a7cc0f89deb55924f92e0027a034b751" ], [ "While.__proj__If__item__then_branch", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "3a2dd5238f83795b46494fdca5bd278a" + "12131aaff60f97d78f8d1b958d1a33a1" ], [ "While.__proj__If__item__else_branch", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "2a27ce6b3ebadf2a85532963e9e73cca" + "19021de608c12936f067154113f99b0a" ], [ "While.__proj__While__item__cond", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "861bf62cf5d03d21f1f6c045c7b3e42e" + "8a240feb04ef5fe3ba4b97eaadc7bd7e" ], [ "While.__proj__While__item__body", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "84e5a1fe412b77bccc83c9a8c9098035" + "8c32ebb2c75896c26673bd6108279907" ], [ "While.__proj__While__item__variant", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "58b70ff77a02245d2042ec2939b071ae" + "dbb6c757d078b0ec1345e5201e47cade" ], [ "While.interpret_while", @@ -258,7 +258,7 @@ "typing_tok_While.Skip@tok", "well-founded-ordering-on-nat" ], 0, - "8cfaa2bd149a905cc97a44e18cce1f9b" + "eed95602c78fe1c112041540a62bc28b" ], [ "While.interpret_while", @@ -288,7 +288,7 @@ "typing_tok_While.Skip@tok", "well-founded-ordering-on-nat" ], 0, - "f9ee7868388e01b6bb344cede1c811ce" + "f1bda1740f54c6e2804b233e31a1efce" ], [ "While.interpret_exp_st", @@ -321,7 +321,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_While.interpret_binop" ], 0, - "157549208ad50aa2ecfcf45ea76de8a3" + "aea27485fa8d0c6a99e4531e8c485361" ], [ "While.interpret_com_st", @@ -340,7 +340,7 @@ "true_interp" ], 0, - "b2c0ad49cb17e123833b5608ce6236e1" + "75fa88347bcca42490ea431d6b15f3e8" ] ] ] \ No newline at end of file diff --git a/examples/rel/WhileReify.fst.hints b/examples/rel/WhileReify.fst.hints index 832aafdb542..654ddc40848 100644 --- a/examples/rel/WhileReify.fst.hints +++ b/examples/rel/WhileReify.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_WhileReify.binop" ], 0, - "bb799162c38e1b542624ad154a09bb99" + "6c23ca8805583348a31162d613e806ab" ], [ "WhileReify.exp", @@ -27,7 +27,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "545f110f748fc0c2fb37c5ee7c2207c7" + "25a65230cc20b0697fd794e1c10f9e8e" ], [ "WhileReify.__proj__AInt__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_0add5ff0a561d40ba564f66ead022700" ], 0, - "8f3103e1442c6a8fe01379c2189e9eb6" + "51380be69b4d1aba23e257c9dd49856e" ], [ "WhileReify.__proj__AVar__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_c7bb9ae7b944e08fb527e97372845503" ], 0, - "081207d4b879393ce0fe4daa5eec1417" + "66e0a47b4e1e050e7ee0e611f21e8d4b" ], [ "WhileReify.__proj__AOp__item___0", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "29a3cdfdd0373a0dad0f5568c7b810ab" + "c76230448dcd38813c66f387fecbd316" ], [ "WhileReify.__proj__AOp__item___1", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "f36c46bf67b4ec576a2bf44400cabb7d" + "a70e571cc0d0e4a360f11ffe11efc5ca" ], [ "WhileReify.__proj__AOp__item___2", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "6b61b880cb63ed8a9f8eee02f544f3a7" + "c03f76de1a0706b438b02260cd06b2e3" ], [ "WhileReify.com", @@ -107,7 +107,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "9caeea92509396197a1826473a3f330b" + "caf6fde8f204ac8afb96f4019e532f50" ], [ "WhileReify.__proj__Assign__item__var", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "35efc1f03ecd9ed2f5179bb489a28959" + "588fc15249918b31cf052f936569d6d2" ], [ "WhileReify.__proj__Assign__item__term", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "a96146fb7fa5525a962a974cf9b39455" + "157dd20c7ee9547b7cf5a54939c859ae" ], [ "WhileReify.__proj__Seq__item__first", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "cbad5d028dd539f31f7a5f8a9d09e3fb" + "f122f40c2a03e78dcbac300dcfcf6a59" ], [ "WhileReify.__proj__Seq__item__second", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "1bd134bdc54684fe0388b9e29438aec0" + "4e3d4cf392f162ee0448b5f376c73b38" ], [ "WhileReify.__proj__If__item__cond", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "cdd71a51bf7637939d325e0ed45a2915" + "e6e9183352e37529356b2f8cf469b18e" ], [ "WhileReify.__proj__If__item__then_branch", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "2c4c73b0a5655daa59ca16e72a69145c" + "25f79199473fc7f9a57b5b4b14b5b750" ], [ "WhileReify.__proj__If__item__else_branch", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "d335b53ca011a33aa4857687d20525e5" + "810e70c87a9f164ec09636c629b73720" ], [ "WhileReify.__proj__While__item__cond", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "44781279711c1a57a6fa13ef43188d84" + "1062139784a419b2827690bb4260aa81" ], [ "WhileReify.__proj__While__item__body", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "c6459b41d629d90c64ee8919e8c1f140" + "9d4b1332ca73674071e7223696e33c6c" ], [ "WhileReify.__proj__While__item__metric", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "b7c0af3c3679dd2f46b099da76ef01c4" + "0c6f83c7b2510688e9b414127b38e006" ], [ "WhileReify.interpret_exp_st", @@ -255,7 +255,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "86d5bce2433d3f816f28aef65c239796" + "e347eac0aadab83e81de5a856de43b00" ], [ "WhileReify.interpret_exp'", @@ -264,7 +264,7 @@ 1, [ "@query", "primitive_Prims.op_GreaterThan" ], 0, - "e9e0ce9cdab73ba42c4e69cc349ead9e" + "7126041741597502b89b6fdef972eea4" ], [ "WhileReify.interpret_com_st", @@ -309,7 +309,7 @@ "well-founded-ordering-on-nat" ], 0, - "92665064ff4fb2a671bc3f55130d3342" + "59a537c26baeefe2bd708cb1d256c367" ], [ "WhileReify.interpret_com", @@ -336,7 +336,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "672c012c042e237a545727a9b328d22d" + "0f99e717fcd6b4e7b61cb52344f3a959" ], [ "WhileReify.bidule", @@ -372,7 +372,7 @@ "projection_inverse_WhileReify.AVar__0" ], 0, - "83f2259dbb3a9fc1216fbb5569241113" + "4dbaf0172e37d46a49183c134fc99277" ], [ "WhileReify.bidule2", @@ -409,7 +409,7 @@ "projection_inverse_WhileReify.AVar__0" ], 0, - "370412fb3dd51c56ff763e4cbed9329c" + "0361afb778383e84ecf388c7ef35eb0c" ] ] ] \ No newline at end of file diff --git a/examples/semiring/CanonCommSemiring.Test.fst b/examples/semiring/CanonCommSemiring.Test.fst index afebbae61c7..d59961fdd9b 100644 --- a/examples/semiring/CanonCommSemiring.Test.fst +++ b/examples/semiring/CanonCommSemiring.Test.fst @@ -2,7 +2,7 @@ module CanonCommSemiring.Test open FStar.Algebra.CommMonoid open CanonCommSemiring -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul #set-options "--max_fuel 0 --max_ifuel 0 --z3rlimit 10 --tactics_info" diff --git a/examples/semiring/CanonCommSemiring.Test.fst.hints b/examples/semiring/CanonCommSemiring.Test.fst.hints index 9d12f32ec7f..b4f94041263 100644 --- a/examples/semiring/CanonCommSemiring.Test.fst.hints +++ b/examples/semiring/CanonCommSemiring.Test.fst.hints @@ -1,5 +1,5 @@ [ - "(\u0005Y1\u0017ãÓÅ\u001a˜Î\u0000VA,Ô", + "½\u0000—5nÍdŠç£sŠ\u0015sƸ", [ [ "CanonCommSemiring.Test.test1_calc", @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "1620cd21c27e09cb3d69d841ba8a4287" + "bd7c46da09789173ca952c3467159310" ], [ "CanonCommSemiring.Test.ring", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9adbc94460f58b71b02b3a384cafac25" + "fa5ee9c409a278eafd5aa2349d87b8a7" ], [ "CanonCommSemiring.Test.zero", @@ -34,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "14ee233576fdd570ac4570e429166f5e" + "bf2e253bcbb66fa297c8c119af453f07" ], [ "CanonCommSemiring.Test.one", @@ -46,7 +46,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "be6c89d5cdb2c0e95b7a0126c15fbcb2" + "ec702032be43b1cd529e02d1f162eeb7" ], [ "CanonCommSemiring.Test.op_Plus_Percent", @@ -58,7 +58,7 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" ], 0, - "b5849f5a371d77a0f1ad28c1194fd0a6" + "bb86bbd01046599a3ad4294b6727d4dc" ], [ "CanonCommSemiring.Test.op_Star_Percent", @@ -70,7 +70,7 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" ], 0, - "2f624eb83ccee8829e0ba4da510d0c79" + "7a7612c07e2fa854a9faf631521ac1bb" ], [ "CanonCommSemiring.Test.op_Tilde_Percent", @@ -82,7 +82,7 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" ], 0, - "afc61d11071127ddb5d4e14d428f169f" + "f8806b975e7dc1fb57ae33048a4a1f0d" ], [ "CanonCommSemiring.Test.add_identity", @@ -99,10 +99,11 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", + "typing_CanonCommSemiring.Test.op_Plus_Percent", "typing_CanonCommSemiring.Test.zero" ], 0, - "1c4e55963de7829fc8850e2a1bea4759" + "b854527b7f0caec5aeb2cfdd7a2987d1" ], [ "CanonCommSemiring.Test.mul_identity", @@ -123,7 +124,7 @@ "typing_CanonCommSemiring.Test.op_Star_Percent" ], 0, - "e99ac84c326d0da05b04c2d41bd395fb" + "cbc99998685a68e035f97d970ec23b86" ], [ "CanonCommSemiring.Test.add_associativity", @@ -135,14 +136,14 @@ "equation_CanonCommSemiring.Test.op_Plus_Percent", "equation_CanonCommSemiring.Test.prime", "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", "typing_CanonCommSemiring.Test.op_Plus_Percent" ], 0, - "d86c80812373d82808dd7ef72829e345" + "62b68615a036d7f50ca9de640c4bc9d8" ], [ "CanonCommSemiring.Test.add_commutativity", @@ -154,7 +155,7 @@ "primitive_Prims.op_Addition" ], 0, - "d7e312dd18361b882fc19d15122bc4fb" + "9c46043c5b334637364ec962f42c9039" ], [ "CanonCommSemiring.Test.mul_associativity", @@ -173,7 +174,7 @@ "typing_CanonCommSemiring.Test.op_Star_Percent" ], 0, - "f3d72b83f67d0a016a292a1192ecef47" + "d42a3ecb5a8db4d914460afa6c30dd5e" ], [ "CanonCommSemiring.Test.mul_commutativity", @@ -185,7 +186,7 @@ "primitive_Prims.op_Multiply" ], 0, - "2745dba208e770f9ae8a2b7355390487" + "b6c663056448e8a248b6ed7d40553dd8" ], [ "CanonCommSemiring.Test.mul_add_distr", @@ -212,7 +213,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "5e069ce2b5112270b5e448600e754eb0" + "d47955e18934fa7e9565218124eb6155" ], [ "CanonCommSemiring.Test.mul_zero_l", @@ -239,7 +240,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "cc888256d881168e8365c6b75b0e98d0" + "4718b145376d1b1fce4dabe2c6523eaa" ], [ "CanonCommSemiring.Test.add_opp", @@ -262,7 +263,7 @@ "typing_CanonCommSemiring.Test.zero" ], 0, - "7aaae96bf665ecd674d5c0603f84a690" + "d313dc739146a755ffdb96037d028f6c" ], [ "CanonCommSemiring.Test.ring_cr", @@ -281,7 +282,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "753c3315837da02787535336f1372163" + "828cc60904a959c7fbbe1f978fbf19dd" ], [ "CanonCommSemiring.Test.test", @@ -293,7 +294,7 @@ "projection_inverse_BoxInt_proj_0", "true_interp" ], 0, - "b1e5646c7e9e24df5a7bf903cb2e4733" + "15c573d3b0c150e1dc8c7d9c807ab74a" ], [ "CanonCommSemiring.Test.test", @@ -305,7 +306,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6bd88571f20015cab59b16d27a2c2f40" + "f391d9397e2ef9af1eb51a9bbbb93d78" ], [ "CanonCommSemiring.Test.test", @@ -317,7 +318,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "49014e48e80d7e2e9bfa54df4ffadb90" + "4256c79dce49c02e27cd6a0547bb799b" ], [ "CanonCommSemiring.Test.test", @@ -329,7 +330,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ccd0eaa648edef5a2e7a4f62855e258d" + "60b1f3764afc3a3dc2f25119da30e605" ], [ "CanonCommSemiring.Test.test", @@ -341,7 +342,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ccd0eaa648edef5a2e7a4f62855e258d" + "60b1f3764afc3a3dc2f25119da30e605" ], [ "CanonCommSemiring.Test.test", @@ -357,7 +358,7 @@ "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" ], 0, - "7640a38fcb7e0c0189b65a03d07498d7" + "53999191c144043d1158b58b878285ba" ], [ "CanonCommSemiring.Test.test_poly1", @@ -369,7 +370,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "55f1b55885d1df6b785f915762bc112a" + "033b8c2eeba4f7fff48fddb9f7938aa7" ], [ "CanonCommSemiring.Test.test_poly2", @@ -381,7 +382,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "825842c886f90a3f44e25799952ac4ac" + "ffdfab42e63ecdf3eb36a3becbea3c5d" ], [ "CanonCommSemiring.Test.test_poly2b", @@ -393,7 +394,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a68443fc8e09e4cf8af56928fc78a749" + "47ec14509cf7fb556da17c1a10f99047" ], [ "CanonCommSemiring.Test.test_poly3", @@ -405,7 +406,7 @@ "projection_inverse_BoxInt_proj_0", "true_interp" ], 0, - "98d6f28f62f0d8254f296fb44be3dc86" + "a6f200e38981278c05479e35852a5bac" ], [ "CanonCommSemiring.Test.test_poly3", @@ -417,7 +418,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "852fffaeb2aa112ac3abb6e8bf579e1f" + "f4dcf5ef491ef81bac96795b9889b00c" ], [ "CanonCommSemiring.Test.test_poly3", @@ -429,7 +430,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "852fffaeb2aa112ac3abb6e8bf579e1f" + "f4dcf5ef491ef81bac96795b9889b00c" ], [ "CanonCommSemiring.Test.test_poly3", @@ -441,7 +442,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "852fffaeb2aa112ac3abb6e8bf579e1f" + "f4dcf5ef491ef81bac96795b9889b00c" ], [ "CanonCommSemiring.Test.test_poly3", @@ -457,7 +458,7 @@ "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" ], 0, - "2836734927c4379a5e3fa6daa4b3d688" + "477b470a30b064655a256b26ad07850b" ], [ "CanonCommSemiring.Test.test_poly4", @@ -469,7 +470,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "813e38f09655662df0e4fc2fdec79ccf" + "f1c0fd4df61c7bd291312d035e164808" ], [ "CanonCommSemiring.Test.test_poly5", @@ -481,7 +482,7 @@ "projection_inverse_BoxInt_proj_0", "true_interp" ], 0, - "6530b388fd4266b3f8e1a9a502fa2612" + "6babeb00b36b116efddacc14416b3bc6" ], [ "CanonCommSemiring.Test.test_poly5", @@ -493,7 +494,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9d9f42ab68215bad473e28a9a68e4491" + "bb93255100842c0b652281b60996ca8e" ], [ "CanonCommSemiring.Test.test_poly5", @@ -505,7 +506,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9d9f42ab68215bad473e28a9a68e4491" + "bb93255100842c0b652281b60996ca8e" ], [ "CanonCommSemiring.Test.test_poly5", @@ -517,7 +518,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9d9f42ab68215bad473e28a9a68e4491" + "bb93255100842c0b652281b60996ca8e" ], [ "CanonCommSemiring.Test.test_poly5", @@ -533,7 +534,7 @@ "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" ], 0, - "8b767ba53a8a7f17657ef4418cafedec" + "57e4ae6d13e3ad47b64eaf1ab6b1d3b1" ], [ "CanonCommSemiring.Test.poly_update_repeat_blocks_multi_lemma2_simplify", @@ -542,7 +543,7 @@ 0, [ "@query", "true_interp" ], 0, - "d776bf9694bdb9718418034df14e5687" + "4dd389b13abc434388e680c3ab435a6c" ], [ "CanonCommSemiring.Test.poly_update_repeat_blocks_multi_lemma2_simplify", @@ -554,7 +555,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5420e6154081c8573384cff9015ecc9b" + "106ca71383d77c0cc04e843ba65d95ff" ] ] ] \ No newline at end of file diff --git a/examples/semiring/CanonCommSemiring.fst b/examples/semiring/CanonCommSemiring.fst index 63510453183..bc4a1556252 100644 --- a/examples/semiring/CanonCommSemiring.fst +++ b/examples/semiring/CanonCommSemiring.fst @@ -44,8 +44,7 @@ module CanonCommSemiring /// - http://www.cs.ru.nl/~freek/courses/tt-2014/read/10.1.1.61.3041.pdf open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 open FStar.Algebra.CommMonoid (** An attribute for marking definitions to unfold by the tactic *) @@ -1518,7 +1517,7 @@ let make_fvar (#a:Type) (t:term) (unquotea:term -> Tac a) (ts:list term) (** This expects that add, opp, mone mult, and t have already been normalized *) let rec reification_aux (#a:Type) (unquotea:term -> Tac a) (ts:list term) (vm:vmap a) (add opp mone mult t: term) : Tac (polynomial a * list term * vmap a) = // ddump ("term = " ^ term_to_string t ^ "\n"); - let hd, tl = collect_app_ref t in + let hd, tl = collect_app t in match inspect hd, list_unref tl with | Tv_FVar fv, [(t1, _) ; (t2, _)] -> //ddump ("add = " ^ term_to_string add ^ " diff --git a/examples/semiring/CanonCommSemiring.fst.hints b/examples/semiring/CanonCommSemiring.fst.hints index 52a329a32f3..cc131d09b23 100644 --- a/examples/semiring/CanonCommSemiring.fst.hints +++ b/examples/semiring/CanonCommSemiring.fst.hints @@ -1,5 +1,5 @@ [ - "žçh\u0004ØMÛ\u001b¨{)Í)c§Š", + "Ñ<4Â\u0018ð(•PÛÕ$ß\u0006F", [ [ "CanonCommSemiring.distribute_right", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "aafe8ff448473927fc5d5bedd6755eac" + "b054ef3f3af39df0c4238b5827b71f57" ], [ "CanonCommSemiring.index", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8f958770174e71e5534b761c8eed98bc" + "e7d683e4a5213248d3d2e2b35da88f95" ], [ "CanonCommSemiring.varlist", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2d4e5456f0af6a59faa11a806b036602" + "fae60d3b6aeb300c8b6ceaaf9d6698f6" ], [ "CanonCommSemiring.__proj__Cons_var__item___0", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_cae35991089ba1eec45173e409bde348" ], 0, - "bccc9a81d51aaf44df49409e8995c40b" + "fe562d628bae06057b35531da48bbc64" ], [ "CanonCommSemiring.__proj__Cons_var__item___1", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_cae35991089ba1eec45173e409bde348" ], 0, - "4ce6212003680d3a1bb15127d8719081" + "deb1c80e5918985afe28e683df0a5335" ], [ "CanonCommSemiring.canonical_sum", @@ -70,7 +70,7 @@ 1, [ "@query", "assumption_CanonCommSemiring.varlist__uu___haseq" ], 0, - "bffb5077d19cb102c6804c8bf68ddc40" + "3c245da138cae0e63265ad0524b5cf63" ], [ "CanonCommSemiring.__proj__Cons_monom__item___0", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_b5b75b093454528596a397dc9ac1696b" ], 0, - "8616f18c3109878c44729e784badc3c2" + "ce41d7c2fb3514213ea868fee6753d2e" ], [ "CanonCommSemiring.__proj__Cons_monom__item___1", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_b5b75b093454528596a397dc9ac1696b" ], 0, - "c45f93afb4e6a2df6ff762c113b4db43" + "d658e014b5816622b2cd07269c995146" ], [ "CanonCommSemiring.__proj__Cons_monom__item___2", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_b5b75b093454528596a397dc9ac1696b" ], 0, - "e9e5c4d5714b04a240d42e7703925807" + "6afefebea2c9f315117750cc5097f44a" ], [ "CanonCommSemiring.__proj__Cons_varlist__item___0", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_06ad5ce52c2135b0be1a9c9b5b66e00d" ], 0, - "543575e304d7bff703b19e98b9a50341" + "a72f8daee704cba5c6be05bb29680698" ], [ "CanonCommSemiring.__proj__Cons_varlist__item___1", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_06ad5ce52c2135b0be1a9c9b5b66e00d" ], 0, - "30ea0c87ab5db75a6245d9185c77dbab" + "1a9ad5ccbe6ddd6ca87cc162e6b0b8dd" ], [ "CanonCommSemiring.varlist_lt", @@ -144,7 +144,7 @@ "subterm_ordering_CanonCommSemiring.Cons_var" ], 0, - "59d32feabd04da5f7aa3f3a6588c7402" + "350b2ecf0caa657d48e0e97d5028e600" ], [ "CanonCommSemiring.varlist_merge", @@ -169,7 +169,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "b0f5ed51c4a96cf642361c5a661c30ba" + "cb6989a6cd78b1b6547f45a73b1d613e" ], [ "CanonCommSemiring.varlist_merge", @@ -190,7 +190,7 @@ "well-founded-ordering-on-nat" ], 0, - "61a6d42741d0a3b48f37c062a0073251" + "c19c3e244f1e27fe93c7158c749551ec" ], [ "CanonCommSemiring.canonical_sum_merge", @@ -211,7 +211,7 @@ "subterm_ordering_CanonCommSemiring.Cons_varlist" ], 0, - "866297ad4ff8e84358f67cb74dd6fc83" + "cb16ee1048ef431a9b9f9409175682f6" ], [ "CanonCommSemiring.canonical_sum_merge", @@ -239,7 +239,7 @@ "well-founded-ordering-on-nat" ], 0, - "0e980984767a06f4b2648d2a49da4a78" + "67fe20d72ecd4c83fa88a32b9ca40dbd" ], [ "CanonCommSemiring.monom_insert", @@ -265,7 +265,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "d381130c87f0805b4e1eb23195f4bf54" + "e16439ad3d479cc371976f430e28b318" ], [ "CanonCommSemiring.canonical_sum_scalar", @@ -287,7 +287,7 @@ "subterm_ordering_CanonCommSemiring.Cons_varlist" ], 0, - "f6a63523dea9ced97696e48099a7dd28" + "f5b34a3c4eb8cc8a5516af5caf99fd34" ], [ "CanonCommSemiring.canonical_sum_scalar2", @@ -312,7 +312,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "6c1b1ecf399cc9808c495c27ef8c1717" + "cdc1a562f37c750e4ac9e07f253b752b" ], [ "CanonCommSemiring.canonical_sum_scalar3", @@ -337,7 +337,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "e604d2cf73c855bfd2e2ad4c1f06cf95" + "25b46b8c926e9e03496e784727b6690a" ], [ "CanonCommSemiring.canonical_sum_prod", @@ -359,7 +359,7 @@ "subterm_ordering_CanonCommSemiring.Cons_varlist" ], 0, - "787b068f344e7b3b2f2450f1fe1c0cb8" + "c048900154fbb874dfeee02117e313f1" ], [ "CanonCommSemiring.spolynomial", @@ -374,7 +374,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b0d1558d6ffc9db79554be64d9a5bb0" + "08ddd62455d5e2da98be05e43bb09da1" ], [ "CanonCommSemiring.__proj__SPvar__item___0", @@ -386,7 +386,7 @@ "refinement_interpretation_Tm_refine_598e95779e4f4e27f9efa9fcb3a0ea90" ], 0, - "f406f6774f0c08f73d252c485ad621ca" + "f3ae820a61ca83d29f5f2dd474677931" ], [ "CanonCommSemiring.__proj__SPconst__item___0", @@ -398,7 +398,7 @@ "refinement_interpretation_Tm_refine_cbf3bf64218cc6e2ded9ee20c87f53ce" ], 0, - "bc3366148ad8b753708f45ed9e88e877" + "69f3eabf287d42c6f489724868aeafed" ], [ "CanonCommSemiring.__proj__SPplus__item___0", @@ -410,7 +410,7 @@ "refinement_interpretation_Tm_refine_e56f89ec5cb4225ed209403e4390f2c1" ], 0, - "67034d7f2f09b69ec35e5233e747259f" + "184ffb692331f5dadc0974ed3bc60e56" ], [ "CanonCommSemiring.__proj__SPplus__item___1", @@ -422,7 +422,7 @@ "refinement_interpretation_Tm_refine_e56f89ec5cb4225ed209403e4390f2c1" ], 0, - "89ae5f3bfa6c68e8528f64d73958cd9f" + "e3255d5c1a652209fe1d68a902bd2890" ], [ "CanonCommSemiring.__proj__SPmult__item___0", @@ -434,7 +434,7 @@ "refinement_interpretation_Tm_refine_2c7b5d9b2086b9edecc019bbee2e2fcb" ], 0, - "4f635a26cb05cefb7ec70157092da785" + "a4f5761ce793fe5aee5ed7636a63df7f" ], [ "CanonCommSemiring.__proj__SPmult__item___1", @@ -446,7 +446,7 @@ "refinement_interpretation_Tm_refine_2c7b5d9b2086b9edecc019bbee2e2fcb" ], 0, - "034d2222b305f135542271c5d93727a0" + "cf7d381daca7509f47854873f7609be3" ], [ "CanonCommSemiring.spolynomial_normalize", @@ -471,7 +471,7 @@ "subterm_ordering_CanonCommSemiring.SPplus" ], 0, - "030636eea314d2c2ccbe44992a7a6562" + "b95b237b45e6aa5d8c18396b0235cd11" ], [ "CanonCommSemiring.canonical_sum_simplify", @@ -494,7 +494,7 @@ "subterm_ordering_CanonCommSemiring.Cons_varlist" ], 0, - "ab5c3f8e490a4d1b4368133f7fb98793" + "b08fce665b8d8e0e9f1156426d412cdb" ], [ "CanonCommSemiring.quote_list", @@ -507,7 +507,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f14785e78aad7a2e827df788b0657c5c" + "9bee32e469fe7deec80d94c2d469acdb" ], [ "CanonCommSemiring.ivl_aux", @@ -527,7 +527,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "9d43878e3e0a9bf48c2390cb7eb6bc32" + "7655c0f8382b898322da63b634884190" ], [ "CanonCommSemiring.interp_vl", @@ -542,7 +542,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "000f6f4c6b48e052ed4987f3fca301ef" + "55609658bc9f528054c763c051bcef0f" ], [ "CanonCommSemiring.interp_m", @@ -557,7 +557,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "17115c676be05d93c2ba846c4cd3671b" + "6682cccd53b3740c10ba125c1a509739" ], [ "CanonCommSemiring.ics_aux", @@ -578,7 +578,7 @@ "subterm_ordering_CanonCommSemiring.Cons_varlist" ], 0, - "79031890dd49578e3d282b2c219f5644" + "45846077196d97e5b8df9234e3f0734e" ], [ "CanonCommSemiring.interp_cs", @@ -594,7 +594,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "db35287b542441aec9ef08b3fc3d593f" + "47b4c857264f362524b3f3721632dd69" ], [ "CanonCommSemiring.interp_sp", @@ -622,7 +622,7 @@ "subterm_ordering_CanonCommSemiring.SPplus" ], 0, - "945f6e1e398c94478c26820e71a7176d" + "63f75dce88184633f86e72ca743b6db5" ], [ "CanonCommSemiring.mult_one_r", @@ -631,7 +631,7 @@ 1, [ "@query", "lemma_CanonCommSemiring.mult_one_l" ], 0, - "f3316903b6dab992728e6d736f3993c3" + "4409f8ba35bd2acb1c1e32fc5f4e00a0" ], [ "CanonCommSemiring.mult_zero_r", @@ -640,7 +640,7 @@ 1, [ "@query", "lemma_CanonCommSemiring.mult_zero_l" ], 0, - "ceba10b0341887504f9795b4522976a2" + "c129b6fad83ec813d407bf4c497877a7" ], [ "CanonCommSemiring.add_zero_r", @@ -649,7 +649,7 @@ 1, [ "@query", "lemma_CanonCommSemiring.add_zero_l" ], 0, - "aa35f18a6c91fd0cbd4b5dbf8c185051" + "c02e4ba0a4d4fca2712cd576fbd03ad5" ], [ "CanonCommSemiring.opp_unique", @@ -667,7 +667,7 @@ "token_correspondence_CanonCommSemiring.__proj__CR__item__opp" ], 0, - "7f45c235364f8b5b9cc1080142715bbb" + "9c468bb237e17831575e43f190e36f83" ], [ "CanonCommSemiring.add_mult_opp", @@ -681,7 +681,7 @@ "lemma_CanonCommSemiring.mult_zero_l" ], 0, - "5019c24144b358b8747b7ffefa6f8b0f" + "942cae0ec927637c47ae6ef4da072be8" ], [ "CanonCommSemiring.ivl_aux_ok", @@ -702,7 +702,7 @@ "typing_CanonCommSemiring.ivl_aux" ], 0, - "6344be156f75bd921d47d0cce21e2806" + "3255b9b6373f8478d48d2a6ba3d312b7" ], [ "CanonCommSemiring.varlist_merge_ok", @@ -756,7 +756,7 @@ "unit_typing" ], 0, - "52dd5db9dca78f57cf99c796b150fc82" + "65e933b649e98e28c66a822cd95f04fa" ], [ "CanonCommSemiring.varlist_merge_ok", @@ -812,7 +812,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "3a875fc197a5f481814cc6e183a36cb8" + "ba246296d1cee02169c70b031a24ff80" ], [ "CanonCommSemiring.ics_aux_ok", @@ -858,7 +858,7 @@ "token_correspondence_CanonCommSemiring.ics_aux.fuel_instrumented" ], 0, - "7cf1e87c01cf53c93e1aa88079ea99a5" + "29f4011dc4daa8b6fb8c12542df48060" ], [ "CanonCommSemiring.interp_m_ok", @@ -876,7 +876,7 @@ "typing_CanonCommSemiring.interp_m" ], 0, - "f7db11138f73fd21b0164863362b3a4c" + "87a63dbe0ef6779cb5098414c5871640" ], [ "CanonCommSemiring.aplus_assoc_4", @@ -885,7 +885,7 @@ 1, [ "@query" ], 0, - "0cc82cf3d0e85ec31c21d80061c6f305" + "6d173d04c5ddf8a9411803f15f626597" ], [ "CanonCommSemiring.canonical_sum_merge_ok", @@ -935,7 +935,7 @@ "typing_CanonCommSemiring.interp_vl" ], 0, - "fddb05177bc2c8067307c1e9994d1f28" + "72284459a27d9849c218a8272d86bb12" ], [ "CanonCommSemiring.canonical_sum_merge_ok", @@ -1016,7 +1016,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0374a33f607f087f2e130a231a895edf" + "4b8de4d8a417c645f0cb0eace379045d" ], [ "CanonCommSemiring.monom_insert_ok", @@ -1093,7 +1093,7 @@ "unit_typing" ], 0, - "e8671c2a963c40f6df496e13668d71e8" + "839f4386b093c511b89f142a4da816e6" ], [ "CanonCommSemiring.varlist_insert_ok", @@ -1108,7 +1108,7 @@ "typing_CanonCommSemiring.interp_vl" ], 0, - "e4138973dcff2a572f980cebdda2c8db" + "0fff2162efb874a50b8e192483881391" ], [ "CanonCommSemiring.canonical_sum_scalar_ok", @@ -1178,7 +1178,7 @@ "typing_CanonCommSemiring.interp_vl" ], 0, - "fb930aa3d12ca30d89166750e313b71d" + "f6ccc7a5a1796f598c46553c16f3efd8" ], [ "CanonCommSemiring.canonical_sum_scalar2_ok", @@ -1248,7 +1248,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "ef815f395e9207a6b207378e3ef765ec" + "36643007a02c6d0f1404ad1d31f783b4" ], [ "CanonCommSemiring.canonical_sum_scalar3_ok", @@ -1317,7 +1317,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "cc6cd68fd366019d5cc38453a08d83ee" + "a93c7693362498fe8e117b4427f21d18" ], [ "CanonCommSemiring.canonical_sum_prod_ok", @@ -1381,7 +1381,7 @@ "typing_CanonCommSemiring.interp_vl" ], 0, - "d078eafa1347b2898520c327fe6ae5ef" + "93b21b1c4f1bd7018665bb3d46c662ac" ], [ "CanonCommSemiring.spolynomial_normalize_ok", @@ -1458,7 +1458,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "c95b025d330c927887d22a7b93467753" + "14e83f4e9f8275b5d4eee727eeca5dc8" ], [ "CanonCommSemiring.canonical_sum_simplify_ok", @@ -1522,7 +1522,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "fa0ff1d15317c6ef292a9352dd9173d8" + "90016b97d94a5262cb4eda33da9b48f1" ], [ "CanonCommSemiring.spolynomial_simplify_ok", @@ -1531,7 +1531,7 @@ 1, [ "@query", "equation_CanonCommSemiring.spolynomial_simplify" ], 0, - "685f59de4d8bcc118a998cb04211145a" + "a9ca4c9114e65f55534a863a33853686" ], [ "CanonCommSemiring.polynomial", @@ -1546,7 +1546,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07fc92147ee1f0c012a1260a888b4b6d" + "59e4be2eeccd0f65c13824655838efab" ], [ "CanonCommSemiring.__proj__Pvar__item___0", @@ -1558,7 +1558,7 @@ "refinement_interpretation_Tm_refine_91bf5cb41a40aeff1146d967da3bfb01" ], 0, - "a4289053e9fbded754255822c2468386" + "b514d136dab801cb013d47083882d0eb" ], [ "CanonCommSemiring.__proj__Pconst__item___0", @@ -1570,7 +1570,7 @@ "refinement_interpretation_Tm_refine_630fb4ed6760c2852ccf3a8c3a7aee7c" ], 0, - "3ae037d4d7bd81b1bf1788291ea21cc5" + "2c0163d02cb9e6cc133f509ebaede815" ], [ "CanonCommSemiring.__proj__Pplus__item___0", @@ -1582,7 +1582,7 @@ "refinement_interpretation_Tm_refine_28fb28868403c6b3611a6146b0bcefb3" ], 0, - "d510ab1a8a0249b6a5b638486cc20474" + "4f69477a93e56fad95b8d01733728e83" ], [ "CanonCommSemiring.__proj__Pplus__item___1", @@ -1594,7 +1594,7 @@ "refinement_interpretation_Tm_refine_28fb28868403c6b3611a6146b0bcefb3" ], 0, - "ae652f0b65dedb3650af1d63fc7c7a6c" + "ddeddc9b9b8f989cb1140561b80a0d11" ], [ "CanonCommSemiring.__proj__Pmult__item___0", @@ -1606,7 +1606,7 @@ "refinement_interpretation_Tm_refine_8bc1e1ddc51cf7664c9a4ba9a32e9770" ], 0, - "9ab19ddcfc4a567497c8199cd7d13694" + "5a5623b6aa11275ef574ac43a7223ab9" ], [ "CanonCommSemiring.__proj__Pmult__item___1", @@ -1618,7 +1618,7 @@ "refinement_interpretation_Tm_refine_8bc1e1ddc51cf7664c9a4ba9a32e9770" ], 0, - "4fdafc9d9fbb418e7c13ff2b32c7ce57" + "fc8ee9b56b7a4b6286ab9b4954f33062" ], [ "CanonCommSemiring.__proj__Popp__item___0", @@ -1630,7 +1630,7 @@ "refinement_interpretation_Tm_refine_882c6ddbeae159a4d42501e5b47842cc" ], 0, - "4c2f2a7551daaccf755771e67ffd4972" + "83996d34815109ed380ed16a67a634b8" ], [ "CanonCommSemiring.polynomial_normalize", @@ -1659,7 +1659,7 @@ "subterm_ordering_CanonCommSemiring.Pplus" ], 0, - "93c78639171c66b717d83ff179d89d86" + "d3b4016c6357564c539efa968984fef9" ], [ "CanonCommSemiring.spolynomial_of", @@ -1688,7 +1688,7 @@ "subterm_ordering_CanonCommSemiring.Pplus" ], 0, - "fbb08a415aad0d50422c020b8fe0f1d9" + "b55574b38eaf28b9cbae764a6faf1a82" ], [ "CanonCommSemiring.interp_p", @@ -1720,7 +1720,7 @@ "subterm_ordering_CanonCommSemiring.Pplus" ], 0, - "6f21b4ff03948966c4478a8400dbe50a" + "a40d0d2692967d59f42c7e16d2b1c2d3" ], [ "CanonCommSemiring.spolynomial_of_ok", @@ -1792,7 +1792,7 @@ "typing_CanonCommSemiring.spolynomial_of" ], 0, - "bc6f16b9e1b3d39dec5a6fe77ad651ca" + "2464a5354cdc52a05e865f08951113d7" ], [ "CanonCommSemiring.polynomial_normalize_ok", @@ -1898,7 +1898,7 @@ "typing_tok_CanonCommSemiring.Nil_var@tok" ], 0, - "3dae3b0fd548007fc3753828d7e7b5ab" + "bb48d772e587470e3a8182fe188bd051" ], [ "CanonCommSemiring.polynomial_simplify_ok", @@ -1911,7 +1911,7 @@ "fuel_guarded_inversion_CanonCommSemiring.cr" ], 0, - "0f70bd017e2973b026d31661dc8fcda5" + "159fd601c6b9e2630cd808652604e464" ], [ "CanonCommSemiring.find_aux", @@ -1920,18 +1920,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_8f4ecaebfe94b74de5c259be54b852b3_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e3e7fb4c79e7d75eaa85d1b969e5b21a_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "2908461cd948a406144a9eb0c3b77753" + "8c2993cc2bc5e83b7ad600abf8b9843a" ], [ "CanonCommSemiring.make_fvar", @@ -1947,7 +1947,7 @@ "typing_CanonCommSemiring.find" ], 0, - "809656640b2dc463798b7409551445b1" + "c01c1686e6db783a156bf5c5cf41feea" ], [ "CanonCommSemiring.quote_polynomial", @@ -1965,7 +1965,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2cfb93e551e892a27bb49a837cd745de" + "698139161a26c7ef918173055fa285d9" ], [ "CanonCommSemiring.semiring_reflect", @@ -1978,7 +1978,7 @@ "refinement_interpretation_Tm_refine_fa0b8aea858c488f2d079a0ea76683af" ], 0, - "aa891f8312901b04cf26761fd527e916" + "82c2fa1a3813998c3c91e3e9f64d1cf0" ], [ "CanonCommSemiring.int_cr", @@ -2003,7 +2003,7 @@ "token_correspondence_Prims.op_Multiply" ], 0, - "5cf8a80c747fa8378892483931668b47" + "7c52920d7f3d0251e7adfb1c06fcd918" ] ] ] \ No newline at end of file diff --git a/examples/semiring/CanonCommSemiring.ml.fixup b/examples/semiring/CanonCommSemiring.ml.fixup index 54de3cb9084..3824d909076 100644 --- a/examples/semiring/CanonCommSemiring.ml.fixup +++ b/examples/semiring/CanonCommSemiring.ml.fixup @@ -1,5 +1,7 @@ (* ^ Empty line above since extracted files may not have a newline at the end. *) +(* This is needed since we have no automatic embeddings for Tac functions, but we +should add them *) let _ = FStar_Tactics_Native.register_tactic "CanonCommSemiring.canon_semiring_aux" (Prims.parse_int "11") @@ -8,20 +10,20 @@ let _ = fun args -> match args with | (tv_0,_)::args_tail -> - (FStar_Tactics_InterpFuns.mk_tactic_interpretation_9 + (FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_9 (FStar_Tactics_Native.from_tactic_9 canon_semiring_aux) - FStar_Reflection_Embeddings.e_term - (FStar_Tactics_Interpreter.e_tactic_1_alt - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + (FStar_Tactics_V2_Interpreter.e_tactic_1_alt + FStar_Reflection_V2_Embeddings.e_term (FStar_Syntax_Embeddings.mk_any_emb tv_0)) - (FStar_Tactics_Interpreter.e_tactic_1_alt + (FStar_Tactics_V2_Interpreter.e_tactic_1_alt (FStar_Syntax_Embeddings.mk_any_emb tv_0) - FStar_Reflection_Embeddings.e_term) - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term) + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_unit psc ncb) args_tail diff --git a/examples/sequence/Tests.fst.hints b/examples/sequence/Tests.fst.hints index 931b8ffc637..d3a40d0475a 100644 --- a/examples/sequence/Tests.fst.hints +++ b/examples/sequence/Tests.fst.hints @@ -36,7 +36,7 @@ "typing_FStar.Sequence.Base.length" ], 0, - "4ab4ed9b371e09b8f60fd65dfa6ce7c5" + "98ddbd3be477ee75a1e71d64112f7f25" ], [ "Tests.test2", @@ -99,7 +99,7 @@ "typing_FStar.Sequence.Base.take" ], 0, - "123401682d4346913946d5300d47e2b3" + "cd4806559f1ceb98f35532bb9adf5a73" ], [ "Tests.test3", @@ -147,7 +147,7 @@ "typing_FStar.Sequence.Base.take" ], 0, - "7d2118c2edbba004d982f7a68c7fc9d6" + "c3a1a478c5127660a7d34db3e78f2e58" ], [ "Tests.test4", @@ -176,7 +176,7 @@ "typing_FStar.Sequence.Base.length" ], 0, - "ce6796e9675b05dd4e533e05a2f84374" + "fc740438736552d36f8ec751531aa821" ], [ "Tests.test5", @@ -204,7 +204,7 @@ "typing_FStar.Sequence.Base.length" ], 0, - "83202264bc44ade00603919b53366bf6" + "18c1a8ece22eb73bac8c0089f3ebf35c" ], [ "Tests.test6", @@ -261,7 +261,7 @@ "typing_FStar.Sequence.Base.length" ], 0, - "d95f15565a0927389b200ff1a6cbeb40" + "89d795938adec9e0c511b1af7f5c1788" ] ] ] \ No newline at end of file diff --git a/examples/software_foundations/SfBasic.fst.hints b/examples/software_foundations/SfBasic.fst.hints index c40366897b1..fded13473e8 100644 --- a/examples/software_foundations/SfBasic.fst.hints +++ b/examples/software_foundations/SfBasic.fst.hints @@ -14,7 +14,7 @@ "fuel_guarded_inversion_SfBasic.day" ], 0, - "4a49abad978c336d0d20ec97fa30f82c" + "b2972e1634f56fccc3156d6aeb85461e" ], [ "SfBasic.test_next_weekday", @@ -23,7 +23,7 @@ 1, [ "@query", "assumption_SfBasic.day__uu___haseq" ], 0, - "6115c9c3f16b52f3be983ab5a40e62da" + "26a5f2a373b8c2f7a466909b247a742d" ], [ "SfBasic.test_next_weekday", @@ -37,7 +37,7 @@ "equality_tok_SfBasic.Saturday@tok", "equation_SfBasic.next_weekday" ], 0, - "56e3686d01877c26f22e50d58b744f1b" + "c2cb049208a191a2756c8321bfd5ef51" ], [ "SfBasic.negb", @@ -49,7 +49,7 @@ "disc_equation_SfBasic.MTrue", "fuel_guarded_inversion_SfBasic.mbool" ], 0, - "a6c3880b9865d4ebfe4a13d2f4583e12" + "566b84e58dbcae718296d95bf8c502bf" ], [ "SfBasic.andb", @@ -61,7 +61,7 @@ "disc_equation_SfBasic.MTrue", "fuel_guarded_inversion_SfBasic.mbool" ], 0, - "d9dbbc7ba5fcb68be8f4a2ce3552c92b" + "fb1b6b11ecd8d27ee9f1c21bfc1501ae" ], [ "SfBasic.orb", @@ -73,7 +73,7 @@ "disc_equation_SfBasic.MTrue", "fuel_guarded_inversion_SfBasic.mbool" ], 0, - "8b9dc6e5301913b9bd4473c33bcea84b" + "53f9676a92a8f45fcaaf020b335f145a" ], [ "SfBasic.test_orb1", @@ -82,7 +82,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "df4166be47377af653ec0974a7b35a05" + "063aa3293c2dab0ee74fa41fa8bfd891" ], [ "SfBasic.test_orb1", @@ -95,7 +95,7 @@ "equation_SfBasic.orb" ], 0, - "9141e4f1fe3151c8358616eed19bb365" + "e49cb921a6051b5094edabdcffb78e36" ], [ "SfBasic.test_orb2", @@ -104,7 +104,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "e8a196085d6c091285db4709638bad3e" + "bb640553f25d5025abd68539aab76384" ], [ "SfBasic.test_orb2", @@ -119,7 +119,7 @@ "typing_tok_SfBasic.MFalse@tok" ], 0, - "c039b8d7355781549dbcd175654832e1" + "197680946768e6e583450f1f78598cb3" ], [ "SfBasic.test_orb3", @@ -128,7 +128,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "c832b17f348f64d2a21d4c2a7075eaac" + "af63dbf0f349bad8a2e345e912b91ff5" ], [ "SfBasic.test_orb3", @@ -141,7 +141,7 @@ "equation_SfBasic.orb" ], 0, - "ef4d37f5e1b338f132cb79451de1ac49" + "0db34330ebc91ba5c3f8d9a07499a753" ], [ "SfBasic.test_orb4", @@ -150,7 +150,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "0a31c9bd9e12286c8d1af372e128331b" + "344b17089bb5883d9e2b1b2cbc07a6dd" ], [ "SfBasic.test_orb4", @@ -162,7 +162,7 @@ "equality_tok_SfBasic.MTrue@tok", "equation_SfBasic.orb" ], 0, - "a98e75241a5b07e8315366c75782e56b" + "90244bbe4b7cbb2832e48096b806ff4c" ], [ "SfBasic.nat", @@ -171,7 +171,7 @@ 1, [ "@query" ], 0, - "b37911165a4e31d7225153612d4fbf11" + "b7585bec180dae0c30ce7614e3a7eba5" ], [ "SfBasic.__proj__S__item___0", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_b7b70964a15ac3a2f4808938f2801faf" ], 0, - "1b44baef90b4f76e341777b7044a3693" + "4e5e9f63a90be3779bc5ec5a806e25ab" ], [ "SfBasic.pred", @@ -196,7 +196,7 @@ "disc_equation_SfBasic.S", "fuel_guarded_inversion_SfBasic.nat" ], 0, - "60838f134a5ad508e0fadbdc95b2cd66" + "3a23b302efc88e0d3bbc4af50a0a2a09" ], [ "SfBasic.minustwo", @@ -211,7 +211,7 @@ "typing_SfBasic.__proj__S__item___0" ], 0, - "e87947cb8011f6519eff9ca5f3af4ff7" + "a871294f925d4b75c429600c411c0ade" ], [ "SfBasic.evenb", @@ -231,7 +231,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "d6f1b4f60e5e27ce05a6724a306e7e0c" + "2b47350cfb6f807bee45aa5f5ec5087a" ], [ "SfBasic.test_oddb1", @@ -240,7 +240,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "9b081856fd4696ed268314f757e5e1c5" + "612f4e4e292a19ca36237d467608e384" ], [ "SfBasic.test_oddb1", @@ -260,7 +260,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "3f22fb6ef178c9decd85b53163f579aa" + "e0f2ce612c49c85f009f8d6dd98da925" ], [ "SfBasic.test_oddb2", @@ -269,7 +269,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "4dc94021deb9414d24bcfe4f593921e7" + "15b218aaac15c2a50b0f8676a02eeb49" ], [ "SfBasic.test_oddb2", @@ -289,7 +289,7 @@ "typing_SfBasic.oddb", "typing_tok_SfBasic.O@tok" ], 0, - "b12242ecff87811f8d2541b4a595f5ac" + "70d24903a5edbc2eb7b0eeeab401371b" ], [ "SfBasic.plus", @@ -303,7 +303,7 @@ "fuel_guarded_inversion_SfBasic.nat", "subterm_ordering_SfBasic.S" ], 0, - "93dfe66cda3f5ca067d59a7f9eadeb7f" + "4dcd66a42f8f75833c71c15174f3efc8" ], [ "SfBasic.mult", @@ -317,7 +317,7 @@ "fuel_guarded_inversion_SfBasic.nat", "subterm_ordering_SfBasic.S" ], 0, - "315e1eb2df7fbb10c6702232ed784aaf" + "df58b23e00e62c5c64d8d640d3c7427b" ], [ "SfBasic.test_mult1", @@ -326,7 +326,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "34467f32636cadb7fca7056e8f21df9e" + "a83b98bb8730253ed57a3b9b762927ec" ], [ "SfBasic.test_mult1", @@ -347,7 +347,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "c084fa33b95712e11ee7e39c5ca2820b" + "60f0f8d54b0820d1bbf5618457bc0e2d" ], [ "SfBasic.minus", @@ -368,7 +368,7 @@ "subterm_ordering_SfBasic.S", "typing_tok_SfBasic.O@tok" ], 0, - "3050984603c858db66a73cb54cd292c2" + "1e1513dcf4e7e47a11ee416e6d35b26d" ], [ "SfBasic.beq_nat", @@ -385,7 +385,7 @@ "subterm_ordering_SfBasic.S", "typing_tok_SfBasic.O@tok" ], 0, - "fbc3669cde949a2e2a56bde52a5f63bb" + "87565e5b4f78689d00114cd1541a3157" ], [ "SfBasic.ble_nat", @@ -406,7 +406,7 @@ "subterm_ordering_SfBasic.S", "typing_tok_SfBasic.O@tok" ], 0, - "5e8501c511fc0c27d3387685a80609fe" + "3ab865ee8ed68b93b2a85cc1b9cf9f33" ], [ "SfBasic.test_ble_nat1", @@ -415,7 +415,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "af85e88f886a03388bd3d9c5b3a86b93" + "1fea7ef343cc45038f1a3d67fab3fcf6" ], [ "SfBasic.test_ble_nat1", @@ -434,7 +434,7 @@ "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" ], 0, - "d86f66b4d0767d7c79a50db158faedeb" + "c34159cdeba17be0b7445c16c64280c2" ], [ "SfBasic.test_ble_nat2", @@ -443,7 +443,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "85002fd09ee7f769f08eb4d4cdbb22b3" + "6ac0056b1f4a972862d8514de98f611f" ], [ "SfBasic.test_ble_nat2", @@ -462,7 +462,7 @@ "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" ], 0, - "b0be82d0ce531adfb4615c5e6fe0a1ee" + "695e1c829c24eaced53fe979f3ba46c7" ], [ "SfBasic.test_ble_nat3", @@ -471,7 +471,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "b7350642611f5cb25ab29062bb6d0b4b" + "179694fc17587113d4cacf48dc9a8f45" ], [ "SfBasic.test_ble_nat3", @@ -490,7 +490,7 @@ "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" ], 0, - "1c83f4af0e2a75a8fe19d747bf71f955" + "4a4ee24ee4c9b008a29f4e5af9073dd6" ], [ "SfBasic.plus_O_n", @@ -499,7 +499,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "9b1fa185be337d2e24a4f0c48d85f457" + "d08f8e09a75f043c5a18a9a1c726c1c5" ], [ "SfBasic.plus_O_n", @@ -514,7 +514,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "2bb4d3ca9d0fd6d8182dbe308b244528" + "05ffe4ee065bd098c818c50d220036d2" ], [ "SfBasic.plus_id_example", @@ -523,7 +523,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "e05fcd893834df7570ee8ed35cc2402d" + "3c5b572898514ed047eaf96d17e9d85e" ], [ "SfBasic.plus_id_example", @@ -532,7 +532,7 @@ 1, [ "@query" ], 0, - "fdca88c9dcce3376cd3b2d7af3d19878" + "9c4ce9a950bd52152aca4a4e60fb3aad" ], [ "SfBasic.mult_0_plus", @@ -541,7 +541,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "81b81499c14630d1176fcc0311e0cfca" + "51b2de71ae8a886824aec00619e9b6b5" ], [ "SfBasic.mult_0_plus", @@ -556,7 +556,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "278fa19f802afb703c72fb4110f91297" + "c38df45713dceb3936fbe294cf144eff" ], [ "SfBasic.plus_1_neq_0", @@ -565,7 +565,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "63e6e1645dc5cccb8768df21ea7ec655" + "cf415079503f1ef6e3f3a36e0009c692" ], [ "SfBasic.plus_1_neq_0", @@ -587,7 +587,7 @@ "typing_SfBasic.plus", "typing_tok_SfBasic.O@tok" ], 0, - "af1bc68d4b73de2ac51c840dd8add5ea" + "43a52a6870dd0195c880bebcd7bbedc4" ], [ "SfBasic.negb_involutive", @@ -596,7 +596,7 @@ 1, [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], 0, - "2d58d6dfe4666e92c266a0c6e48d8fce" + "f00aa8e29c6c1306250b84c8e23601c3" ], [ "SfBasic.negb_involutive", @@ -612,7 +612,7 @@ "typing_SfBasic.negb" ], 0, - "37e103ab56bf84406309734bd12f2598" + "6812175de151e0c7da61345356de3dee" ], [ "SfBasic.plus_0_r", @@ -621,7 +621,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "80ff3750ce02df01340cdd6ae43d4e43" + "d8b3ebcbc0ec2c99578760b0c49766c2" ], [ "SfBasic.plus_0_r", @@ -630,7 +630,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "5e73d251b74759f868fc3dc6485cdf66" + "598691bc3219d5862536b2adbcfd61e1" ], [ "SfBasic.plus_0_r", @@ -653,7 +653,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "82edc67d63f3f61d9c194cf2527f6114" + "5eefa9d6de9b53c9c61bd1e97720515f" ], [ "SfBasic.plus_n_Sm", @@ -662,7 +662,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "d5753b9892bed1d2576e9f2c38c4d6a6" + "9b32a6a5f7de53e9323f52c15899caaa" ], [ "SfBasic.plus_n_Sm", @@ -671,7 +671,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "2afa0bcc6603daafdc080f3b3268c2ee" + "087d3acc8f87a789ddb04e9287395400" ], [ "SfBasic.plus_n_Sm", @@ -695,7 +695,7 @@ "typing_SfBasic.plus", "typing_tok_SfBasic.O@tok" ], 0, - "06f4b07b75dffa8a8aa80237fbe5892d" + "aab3d491bfe2f70e1078233761a93104" ], [ "SfBasic.plus_comm", @@ -704,7 +704,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "1c98fa3644fe40f4491b4a885c8080a0" + "3a2495eb948aa309fb13dfd93f9af68a" ], [ "SfBasic.plus_comm", @@ -713,7 +713,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "5388968f53756371b2924edc5a65af0a" + "c639b4e656bdc2c6218b8c768e2a6285" ], [ "SfBasic.plus_comm", @@ -737,7 +737,7 @@ "typing_tok_SfBasic.O@tok" ], 0, - "3499bc71fdb8bf8e20d0868c94daa02d" + "64eb0a35f1cacc6d6066edfb1215e335" ], [ "SfBasic.plus_rearrange", @@ -746,7 +746,7 @@ 1, [ "@query", "assumption_SfBasic.nat__uu___haseq" ], 0, - "e6dc6fa6512a529f6c9c5caf135b3ba9" + "c7e8077f155369ce5882a3fbaccd2024" ], [ "SfBasic.plus_rearrange", @@ -755,7 +755,7 @@ 1, [ "@query" ], 0, - "f4f04927fb5eb5cdea1b2848aa19e831" + "a1ab7fa217ff3ae69447ae16eb127995" ] ] ] \ No newline at end of file diff --git a/examples/software_foundations/SfLists.fst.hints b/examples/software_foundations/SfLists.fst.hints index 9938c2b2c6c..14a134c3975 100644 --- a/examples/software_foundations/SfLists.fst.hints +++ b/examples/software_foundations/SfLists.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "536a20e56e0594ac2b3ac6139bdf6885" + "01b90730f81883486de53d5c462ff167" ], [ "SfLists.__proj__Cons__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_4af35fe3776a37c0cce0f466b1cbfc00" ], 0, - "70208649647d52807db39b7a58805b70" + "f767788ee60c4bdc9651957cbc0d9a06" ], [ "SfLists.__proj__Cons__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_4af35fe3776a37c0cce0f466b1cbfc00" ], 0, - "aa4ff29c6d0fe976ffed27e14e44312e" + "2aa53362a839dbe1d2306b3e03445d3f" ], [ "SfLists.length", @@ -53,7 +53,7 @@ "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" ], 0, - "8b62979c4102cdf67adb5490017cd12f" + "9941078438861bc6782b4efcdefe7764" ], [ "SfLists.repeat", @@ -73,7 +73,7 @@ "well-founded-ordering-on-nat" ], 0, - "b366fa1bdb751d67ab60da155ef5ad40" + "63fc323149dce94b7f52b31e3da5afda" ], [ "SfLists.app", @@ -88,7 +88,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "9293fc72d18646f92c395263d304d43c" + "ddbdb8c473d77b347876a39f9f1597f2" ], [ "SfLists.test_app1", @@ -97,7 +97,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "3a83d1bb908580dff8dc4e8ddab3abac" + "a766cb4714889e233de229b8cce61ba8" ], [ "SfLists.test_app1", @@ -115,7 +115,7 @@ "projection_inverse_SfLists.Cons__1", "typing_tok_SfLists.Nil@tok" ], 0, - "f31627ee538f2996e09844eb6f69022b" + "a483b06910df53dd0434dcad6063ec47" ], [ "SfLists.test_app2", @@ -124,7 +124,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "67699eb59c5efcae2e6e4c822b75eb42" + "e119d07ad259f5d02249ebdc5bf02115" ], [ "SfLists.test_app2", @@ -140,7 +140,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "35e8294e8026b1e1faeb5d40e2bcd672" + "409c6913bc91c5ca6b97f2e837abbf4d" ], [ "SfLists.test_app3", @@ -149,7 +149,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "e76660ec121efe80a91c793966f8886f" + "128ceb5a5a68814af5a07ac1f5c57722" ], [ "SfLists.test_app3", @@ -167,7 +167,7 @@ "projection_inverse_SfLists.Cons__1", "typing_tok_SfLists.Nil@tok" ], 0, - "04b12e9adeb9f8ffc8beaeb09185b038" + "313c4fc5009431f80f018dc41f4b893e" ], [ "SfLists.nil_app", @@ -176,7 +176,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "2a2fbcd4bfd9fc79873cd9edf2d23682" + "4297c749d06a44cd90af498a60502826" ], [ "SfLists.nil_app", @@ -191,7 +191,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "319811f163556869d83de68cafb2010f" + "2ca89d02ab7ccff1ce9415897de18da0" ], [ "SfLists.app_nil", @@ -200,7 +200,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "a01095257896502aeed987a07556c7ed" + "80a86bbf4109481a10c369c1b7a0a6f1" ], [ "SfLists.app_nil", @@ -209,7 +209,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "fc150054a5fa601afdb6c3e32d04160e" + "ddf8b56971de235958d73bb37201658a" ], [ "SfLists.app_nil", @@ -233,7 +233,7 @@ "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" ], 0, - "59d428a1129a63ad796cf8dbabf3e348" + "0a7bf5e68bcc132e0199ad5d9d01d7e2" ], [ "SfLists.hd", @@ -247,7 +247,7 @@ "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b" ], 0, - "9754603be9b23c60216dbdf737bb3dbb" + "26b0786a485fbd62267753bcedf14403" ], [ "SfLists.tl_strange", @@ -259,7 +259,7 @@ "disc_equation_SfLists.Nil", "fuel_guarded_inversion_SfLists.ilist" ], 0, - "bd8e8554f9e497e63ea467e39be4e4fc" + "8cbc805ab0dd9ee3e7cfb50d40bf70b1" ], [ "SfLists.tl_strange_length_pred", @@ -283,7 +283,7 @@ "typing_SfLists.length", "typing_SfLists.tl_strange" ], 0, - "77e0ded6a5bd6e63cbea5abdd362b2ca" + "2bfe4164a1a55c8ce07ffee13e77d30b" ], [ "SfLists.tl_strange_length_pred_equiv", @@ -306,7 +306,7 @@ "typing_SfLists.length", "typing_SfLists.tl_strange" ], 0, - "17045848da5d5815a1815994480b0a79" + "b5dd708f6787f46696c8b1aa75709744" ], [ "SfLists.tl", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b" ], 0, - "e065f757406c64897faf0e1ddd0e3070" + "ec89339ad29d61de316a56b1f621c168" ], [ "SfLists.tl_length_pred", @@ -344,7 +344,7 @@ "typing_SfLists.length", "typing_SfLists.tl" ], 0, - "880461ce6b9e1395a98f3eb55c6ba0d4" + "f20cdfd58335996540137bece0c53fa6" ], [ "SfLists.app_assoc", @@ -353,7 +353,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "0f42485f60c41d8ab1fb94df135b046e" + "7e5f04d056d421088fdd2f09596eea4d" ], [ "SfLists.app_assoc", @@ -362,7 +362,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "d1a7949f9fd30bfda55ba4a01cfa829d" + "ee638f6bc192513fba229277df23f2e6" ], [ "SfLists.app_assoc", @@ -389,7 +389,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "841f3f5ef232a7a12f226aa3a5b77e28" + "3b7edea199e0eff58fefc55fc4a192a0" ], [ "SfLists.app_length", @@ -424,7 +424,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "9c0927a6b2ad2fdfc4468f765a856123" + "2b2c2e018b80b06f901ddf358aa03ea4" ], [ "SfLists.snoc", @@ -439,7 +439,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "f9d32c36ecc969981aa1c467c8dcd445" + "3f0f2e3d0b080518907151eedaac0a75" ], [ "SfLists.rev", @@ -454,7 +454,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "64c29f6218b9e1a02cfaf3d8c2726b08" + "d351be0235da2dbf143855018c60599b" ], [ "SfLists.length_snoc", @@ -486,7 +486,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "ecf57a8786df0b5fb60d6955f4112f3f" + "7acc22717d22489c7e67a7743405d629" ], [ "SfLists.rev_length", @@ -500,7 +500,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "98becd5d45c7d346705a8d5ca5b9d401" + "73dd6484486eae6e974ee38e05684a9f" ], [ "SfLists.rev_length", @@ -514,7 +514,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5878dccc8ba3eba27d7981cbd5afdf7b" + "6875e9ae10c36ce35c30111dfd3d6bd0" ], [ "SfLists.rev_length", @@ -541,7 +541,7 @@ "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" ], 0, - "1079b605120f72dc9637c44a6900cb50" + "448e7c335f6b6db199ea4d07c85917ad" ], [ "SfLists.foo1", @@ -553,7 +553,7 @@ "assumption_SfLists.ilist__uu___haseq" ], 0, - "2df1ee89a36914a177b7404c0ae4a00f" + "5de2e5c9afc632a53bd9fde5f7fe867a" ], [ "SfLists.foo1", @@ -572,7 +572,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9bf4098133b4e78ce6483d6857ccb0b3" + "67ae40cc3e0a240003271cbf5fb9164d" ], [ "SfLists.foo2", @@ -587,7 +587,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ee9c949dd24b0dddacd497fb91d49a3" + "b09fc6c67939ec9c46d1a546ad6fe7ab" ], [ "SfLists.foo2", @@ -602,7 +602,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "888b62f2c478e088be0fb3a04b4541d2" + "8913baeb4d172a0a4cd506f4fd3c1dd1" ], [ "SfLists.foo2", @@ -631,7 +631,7 @@ "typing_SfLists.length", "well-founded-ordering-on-nat" ], 0, - "a4b4ab3db0f3873a2e2c0fd74a97b4b7" + "cdaa383f88ff3b3e4da5dca0065f4cca" ], [ "SfLists.foo3", @@ -645,7 +645,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3915121f7cad500f757fca6dac8c9c4f" + "0b38b0a0ab4b5246c8ba155e66fc0634" ], [ "SfLists.foo3", @@ -659,7 +659,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "82e640203330b62c54f21b4c901f92fb" + "691fba8c2f5d6df1de1c56271f64adff" ], [ "SfLists.foo3", @@ -688,7 +688,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "8133ccba32ed4c3c3fa4535e704ff3d9" + "1306a2b557d0b7dc3c0401983f817054" ], [ "SfLists.foo4", @@ -697,7 +697,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "8ed781ffdc3fe41d0d2de21d5e093c92" + "2de7cdb54c6fdb1249dea22ad58257ba" ], [ "SfLists.foo4", @@ -723,7 +723,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "38b217ba7d93ced210524f79116d89d5" + "b1460e14ce91d8be720a63a6aee727ab" ], [ "SfLists.snoc_cons", @@ -732,7 +732,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "47bc1a529274ab22ca0fa6db72973d6c" + "823a7bbddb9b08338c696070e59714e5" ], [ "SfLists.snoc_cons", @@ -741,7 +741,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "08166a3cc3938978f3bc8cc5d558b246" + "89df3bd6ea5b64eac3a8652286f84ac2" ], [ "SfLists.snoc_cons", @@ -770,7 +770,7 @@ "typing_SfLists.snoc", "typing_tok_SfLists.Nil@tok" ], 0, - "1db56c9acce6bae699999ddefdb247fb" + "e01ef5a675439fd66145757486862ff2" ], [ "SfLists.rev_involutive", @@ -779,7 +779,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "852a3501eb1afbe57a82060a245ed0f7" + "4c167414655a3c1d0aaccdc762f0b7c4" ], [ "SfLists.rev_involutive", @@ -788,7 +788,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "37352a9b3e747b759365ef7a8c063152" + "4d4f0a64686fc32587cdb2a8e86a19ea" ], [ "SfLists.rev_involutive", @@ -812,7 +812,7 @@ "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" ], 0, - "dfc534642bb97c9496eb7e9ba7cb8589" + "8fcce386f131156c4fdc1d784741f448" ], [ "SfLists.snoc_injective", @@ -824,7 +824,7 @@ "assumption_SfLists.ilist__uu___haseq" ], 0, - "e6e63b00fcdfea46245226186b10292a" + "da12c1f0ff437cc433055d3c6663d346" ], [ "SfLists.snoc_injective", @@ -833,7 +833,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "64fea164c8afac909820ef3cd2a0fb48" + "8901995c936fc2a00bb68146a9ce3705" ], [ "SfLists.snoc_injective", @@ -865,7 +865,7 @@ "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" ], 0, - "9fb84b3e06e5582df9012e6ebbbb26f2" + "46a2a409ddc0e3b75a4a04de5af7cc56" ], [ "SfLists.rev_injective", @@ -874,7 +874,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "44fc91b7fba201190cac8ea0a8dceb9d" + "64434808f25c9d5ab0f708a98a2bbaae" ], [ "SfLists.rev_injective", @@ -883,7 +883,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "3bcea2a487283c8c6104930adca420b9" + "501423d19828b3215b8bade14ee6901a" ], [ "SfLists.rev_injective", @@ -919,7 +919,7 @@ "typing_SfLists.rev", "typing_tok_SfLists.Nil@tok", "unit_typing" ], 0, - "f8e89cae6a4202c4fd93fb009fe7a0c0" + "5ab8db833cabe43649fc09c39c770151" ], [ "SfLists.fold_left", @@ -934,7 +934,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "d73e626975d26fa34ef97cb6cc1a7ef1" + "3d12cec387d655af6dcd98c713cafb5b" ], [ "SfLists.app_cons", @@ -943,7 +943,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "a0ee3ca0dcd62e4d75e2a7f45474c81f" + "9f8689ae03bb1a1eccb628f7069c4ca1" ], [ "SfLists.app_cons", @@ -952,7 +952,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "82c18d8fa32a5a1de4fd6d2101e80c24" + "0873e863e56e990344696efbc1e43247" ], [ "SfLists.app_cons", @@ -980,7 +980,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "f3a1f57492b0fdfcc6b2d5b8cdbe8931" + "af2697b5fae32f2eca87beac8d5181d3" ], [ "SfLists.snoc_app", @@ -989,7 +989,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "1cd7b777be6a9f03fcbbe9b840f39591" + "8b7323a0df3b40c6040f8e606b4b1c66" ], [ "SfLists.snoc_app", @@ -998,7 +998,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "515bbe6719f8d4f9802c1a626e1eae95" + "f9fec01820ba7e5f2d7bb588893b019d" ], [ "SfLists.snoc_app", @@ -1028,7 +1028,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "7bd0a088010c3c1744cbf8bb02783dca" + "67e6bb8c75673effe7adcba71d792ba6" ], [ "SfLists.rev_app", @@ -1037,7 +1037,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "ce26774c91b024cbc8c4258525ac72bb" + "3128c189e1da3a61cd415628b7a954c2" ], [ "SfLists.rev_app", @@ -1055,7 +1055,7 @@ "projection_inverse_SfLists.Cons__1" ], 0, - "fd70e1c7177d9ab2a7e5c598320a96b0" + "982f72ade2d60d4e459ff9164640b1ac" ], [ "SfLists.fold_left_cons_is_rev", @@ -1064,7 +1064,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "6e878e8088fb7c9342845a9b0a99b353" + "a155ca7da0ac15bb71641ff3ef43280c" ], [ "SfLists.fold_left_cons_is_rev", @@ -1073,7 +1073,7 @@ 1, [ "@query", "assumption_SfLists.ilist__uu___haseq" ], 0, - "9cab0ae88155056e573e42963ef08234" + "306d4049f4fa2b37ca107ea939a557c5" ], [ "SfLists.fold_left_cons_is_rev", @@ -1106,7 +1106,7 @@ "typing_tok_SfLists.Cons@tok", "typing_tok_SfLists.Nil@tok" ], 0, - "222659bb26d382634cb4b1c23a8c3bd4" + "355debe7bae18c06382d9b88a396b66f" ], [ "SfLists.forallb", @@ -1121,7 +1121,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "97b0e6fc33a6040c3cb39f77f9cca05c" + "5cac4dc408b842696cac828ddf23d8e3" ], [ "SfLists.existsb", @@ -1136,7 +1136,7 @@ "subterm_ordering_SfLists.Cons" ], 0, - "94a64341ab9bb6baa919721896da2092" + "4c6f46df490afabc1bbe69698ea23d61" ], [ "SfLists.existsb_existsb'", @@ -1169,7 +1169,7 @@ "typing_tok_SfLists.Nil@tok" ], 0, - "f4c8488b91e48cb4432f1f5cd9c63f2f" + "568c8465a733e8f4596318ea65dbd87d" ] ] ] \ No newline at end of file diff --git a/examples/software_foundations/SfPoly.fst.hints b/examples/software_foundations/SfPoly.fst.hints index 8d2ab81a8ee..05c9f7bf667 100644 --- a/examples/software_foundations/SfPoly.fst.hints +++ b/examples/software_foundations/SfPoly.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "a540236eb12e7ac6ecabb73c0b018259" + "43b4a9dc1f5c24453c649bb5b6c141ad" ], [ "SfPoly.test_length1", @@ -41,7 +41,7 @@ "typing_SfPoly.length" ], 0, - "dd6e77f2032f719e340d94f422d5ce4b" + "04cb8e21b47ef1c779207d801d09953b" ], [ "SfPoly.test_length2", @@ -68,7 +68,7 @@ "typing_SfPoly.length" ], 0, - "d9153f7a8a6058a6668e204ff2774fdb" + "8d2ed421038d4b833d182c1ea191678c" ], [ "SfPoly.length_nil", @@ -83,7 +83,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "c5cce7dda56812887782b1e755d72719" + "3e9c8c1e9801f8761bea5f70fff55936" ], [ "SfPoly.length_cons", @@ -102,7 +102,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "8fd5c6fe199d54b4df28734b61b98af1" + "f2cea426cb3a22ff901bc59029d97bf3" ], [ "SfPoly.app", @@ -116,7 +116,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5bb80e3006a649aa2671f2686e17b598" + "94b29556a60438c48702899d3186912c" ], [ "SfPoly.nil_app", @@ -131,7 +131,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "95eba92053a7987198a21fd5cb57681b" + "f110e5ef5f3c108cf552338121bfdd66" ], [ "SfPoly.app_nil", @@ -155,7 +155,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "340143909c7cb1b06c6f45e350539769" + "20af1345215ca995aef0c7d5a69744e9" ], [ "SfPoly.length_app", @@ -188,7 +188,7 @@ "typing_SfPoly.app", "typing_SfPoly.length" ], 0, - "d7133072bf329a086abd2fdf2551bcad" + "7a1ccaef36d05fa1e003fe8d30885ecf" ], [ "SfPoly.snoc", @@ -202,7 +202,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "43d01512b84010cc332ce390731cd653" + "e6414bfd4398c57dc4d97b139e6acfeb" ], [ "SfPoly.snoc_with_append", @@ -231,7 +231,7 @@ "typing_SfPoly.snoc" ], 0, - "872d0b85a5370141df224efb164b8e1e" + "c265f000ec41e384bf5c71b19b3b5662" ], [ "SfPoly.rev", @@ -245,7 +245,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "92d97c8515a93d0178f7ff9f2b17e2c4" + "a107ccbb4f82eda43984ea43a90402bb" ], [ "SfPoly.rev_snoc", @@ -275,7 +275,7 @@ "typing_SfPoly.snoc" ], 0, - "2d7570a86baf3b3969d8825fee24abba" + "6bac15665e0efcdaa51a027f25f7d335" ], [ "SfPoly.rev_involutive", @@ -299,7 +299,7 @@ "typing_SfPoly.snoc" ], 0, - "2269f26187295ec039bc1b6827cbc79d" + "06a101dc0f05bdb0d4295c8e08623103" ], [ "SfPoly.repeat", @@ -316,7 +316,7 @@ "well-founded-ordering-on-nat" ], 0, - "14f63980b5cdf0fce6e70a748c7d3a29" + "314b4e9d2dcf0def87d74ebfcbf5dbd9" ], [ "SfPoly.combine", @@ -338,7 +338,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "837b4beffac01fe5d30335d05434951d" + "0ffaa8c5bc07d4ab4509af21fa9d5008" ], [ "SfPoly.index_option", @@ -359,7 +359,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "f7c42fa5fa338d603c3a70d09f7f38f0" + "6bf6abf4b7069c36ff81e45e399f7a4d" ], [ "SfPoly.test_index_option1", @@ -373,7 +373,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fbe9ab39ce0e8fb0c8655ff1dd35b356" + "b2fce6a3ef10034753b1d316698bace6" ], [ "SfPoly.test_index_option1", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "219a32c09455b8f143da558c66347a8c" + "0f266fc61bb19d97b48e6b2c6054daee" ], [ "SfPoly.test_index_option2", @@ -413,7 +413,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b7b17927e10cfa75e417c052ee6f991" + "92a456e15f966d56045242f279cc82fa" ], [ "SfPoly.test_index_option2", @@ -440,7 +440,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "64ef84b549cbfa146a6c030c703ebce3" + "ce35105d6bb063ff5d5da16f6f7d9600" ], [ "SfPoly.test_index_option3", @@ -454,7 +454,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bea57bedf7e0ea9edda363145cbd4ee8" + "3d9b58db33b9456b2585c10038ad8674" ], [ "SfPoly.test_index_option3", @@ -482,7 +482,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "57adb53620c444b604c809658a246b54" + "a01260e01c8dbf2f9a8ca5464b3be29f" ], [ "SfPoly.index", @@ -509,7 +509,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9bbe5b33b0aeb3dd9d78c4684b449d92" + "504ce5ba935f2338dd805a4780ff5ef6" ], [ "SfPoly.test_prod_uncurry", @@ -526,7 +526,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "b0a02b5a5af2e74b6ba93d35d83d9780" + "9033d8d20b4a7e8e4bf3f396ecf532b0" ], [ "SfPoly.test_prod_curry", @@ -535,7 +535,7 @@ 1, [ "@query", "equation_SfPoly.prod_curry" ], 0, - "cc6f634a28a90f42b297f1bccf4c3950" + "6847c8653f39cb2ddc499f1451d62a36" ], [ "SfPoly.uncurry_curry", @@ -553,7 +553,7 @@ "token_correspondence_SfPoly.prod_uncurry" ], 0, - "04bb8ded17837d7da8048e9e9092c6ea" + "398d6d4102e518935b7e9c65af6db776" ], [ "SfPoly.curry_uncurry", @@ -571,7 +571,7 @@ "token_correspondence_SfPoly.prod_curry" ], 0, - "3b4cb7afe8799b782d59812990619fde" + "752fce533298417c987d7ccfd44c5a5f" ], [ "SfPoly.filter", @@ -585,7 +585,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "32e0e99831a878d141a816f7c947c2be" + "363c5bbc600290bffa79240b4bfa18b3" ], [ "SfPoly.evenb'", @@ -601,7 +601,7 @@ "well-founded-ordering-on-nat" ], 0, - "842ba77d5c9641049cc91b7cd019c858" + "5ef9038d93923617b9a8c424f87ab257" ], [ "SfPoly.test_filter1", @@ -617,7 +617,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "eeb08a3eb5ff1b45e444d94f1eab3333" + "c543c80e74c822bc76971c65bc26cc88" ], [ "SfPoly.test_filter1", @@ -648,7 +648,7 @@ "token_correspondence_SfPoly.evenb" ], 0, - "97f3b64b59df7b869df809975b8a2d28" + "7d4a72a095c22927c0f44f15849297b2" ], [ "SfPoly.test_filter2", @@ -664,7 +664,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7ed105999f23ad6325f791cd0d4f96dd" + "7d2f1dd77a88f430e107f7f9e7e610f7" ], [ "SfPoly.test_filter2", @@ -695,7 +695,7 @@ "token_correspondence_SfPoly.evenb_" ], 0, - "5234fef1f4444c96e78c19a0a84db45b" + "39fad214f85d1b3d9d13d5d30ce0c29e" ], [ "SfPoly.map", @@ -709,7 +709,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8d667fc5ab165a01b56aee13452e104e" + "ab2d6b4b8430a2d79ad434b66dbf0ce2" ], [ "SfPoly.test_map1", @@ -723,7 +723,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e03f8a7707a59c3a7fcab967f9c0c91" + "3bda08fc5482ba005dd4911d62af3d89" ], [ "SfPoly.test_map1", @@ -749,7 +749,7 @@ "typing_SfPoly.map", "typing_Tm_abs_7e6a1915f0012ab70245647242028eda" ], 0, - "26be19b0182451e02510b671704a0a00" + "9e901d51c25c9b427eedc366b3b13b19" ], [ "SfPoly.test_map2", @@ -763,7 +763,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3238cf140d3da02aaa5d9b1ac2be0a82" + "fd042be2d045b32db3696b5a769a7338" ], [ "SfPoly.test_map2", @@ -797,7 +797,7 @@ "token_correspondence_SfPoly.oddb" ], 0, - "0b4ce8de6219269faec41db09b4795b4" + "7e5b8e02a6751a318276fbf83c41003b" ], [ "SfPoly.test_map3", @@ -811,7 +811,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7e14ed905ffadcad56515dcb9fc72711" + "282aec3410de04d389ec759d5ddcea43" ], [ "SfPoly.test_map3", @@ -846,7 +846,7 @@ "typing_Tm_abs_1b6f31cc446c319186dc76e87908558d" ], 0, - "8ef4d93eac41ff64fce7137874189e27" + "e196b6fa28dcd17a46a07ab3e2e3c0c5" ], [ "SfPoly.map_snoc", @@ -880,7 +880,7 @@ "typing_SfPoly.snoc" ], 0, - "83c18a6a5286c9d7dfb03c5e6fff55ea" + "6ede4314ff472e8d25d15d71099e8764" ], [ "SfPoly.map_rev", @@ -911,7 +911,7 @@ "subterm_ordering_Prims.Cons", "typing_SfPoly.map" ], 0, - "2bb07ff6c9b08a033c2abd3994ca69b7" + "deb1ee738c0ace20e3a18a4b72531c72" ], [ "SfPoly.option_map", @@ -927,7 +927,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "dd63a94449f05cfc00e80e20dff7d545" + "b88a24394bdb114c0bf55a0b98b4c2b8" ], [ "SfPoly.fold", @@ -941,7 +941,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1ad8c1e3b773e09120b447355e2c17ac" + "64492b78f0186c497be87840c806400a" ], [ "SfPoly.fold_example1", @@ -969,7 +969,7 @@ "typing_Tm_abs_987066c12413e743eab1e175cb27b468" ], 0, - "bed8d87f5d2eb8ab2d234760bfede085" + "f099ea2c4cd9678c6a095a2a5be8c846" ], [ "SfPoly.fold_example2", @@ -996,7 +996,7 @@ "typing_Tm_abs_8939a34eb92f993c93075a413a93c17c" ], 0, - "144bee712374cdf8a0835587d0039d4e" + "3e4d891396fb545deceb20a30c4e7d3f" ], [ "SfPoly.fold_example3", @@ -1010,7 +1010,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6675e8117683e5ea0ff598583ee141ee" + "94bb2fa8bc9c1962d57090be0804826a" ], [ "SfPoly.fold_example3", @@ -1039,7 +1039,7 @@ "token_correspondence_SfPoly.fold.fuel_instrumented" ], 0, - "9f2b2eceff40f5d8c7528d82013c03ca" + "aff166546bd272c4bed471a6d3e26fa0" ], [ "SfPoly.override_example1", @@ -1058,7 +1058,7 @@ "token_correspondence_SfPoly.my_override" ], 0, - "549abb90042c1086dc4a5b13faf1f6de" + "016b62cbf63d6628560c19da0013fcd9" ], [ "SfPoly.override_example2", @@ -1074,7 +1074,7 @@ "token_correspondence_SfPoly.my_override" ], 0, - "58f3b7f16e389fec1051c58cd2396eb5" + "31f2a8bc66d8e528607dd57942f9dfa9" ], [ "SfPoly.override_example3", @@ -1093,7 +1093,7 @@ "token_correspondence_SfPoly.my_override" ], 0, - "aaa5ad4ad61a5f4893309ae606c321ed" + "0fe603000cc4255304c997460ac149ba" ], [ "SfPoly.override_example4", @@ -1105,7 +1105,7 @@ "equation_SfPoly.my_override", "primitive_Prims.op_Equality" ], 0, - "6fa60ae57a2916b632d5704574952cfe" + "3ee755a7d56f6f9eef4eebfe16f13be0" ], [ "SfPoly.override_eq", @@ -1117,7 +1117,7 @@ "primitive_Prims.op_Equality" ], 0, - "b7906f65fe235183be5115709971a078" + "b0b75550a5f45f966f989ce3dd0881a9" ], [ "SfPoly.override_neq", @@ -1129,7 +1129,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "11a691e4167dfe6bd7476d264be5d8d3" + "5d52edde1a07162f019de8d0810ddd5c" ], [ "SfPoly.plus_one", @@ -1142,7 +1142,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "db296b7b74053601c84839dd93f5ed1c" + "c821c0e97521c3b6820c7a366e8c1f2a" ], [ "SfPoly.fold_length_named_correct", @@ -1156,7 +1156,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c224e498170d3d41377fdb54273422d0" + "1be69aeb8adbad1b2e289237fde09d57" ], [ "SfPoly.fold_length_named_correct", @@ -1170,7 +1170,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3ba47376cf288417a1dee291917e8b25" + "766c696faaa326662bcf78bf6c9de9a8" ], [ "SfPoly.fold_length_named_correct", @@ -1208,7 +1208,7 @@ "typing_SfPoly.fold_length_named", "typing_SfPoly.length" ], 0, - "bc86b6067536cdbe3a4f468f8feec4c5" + "1910f98e205258f6a12ed170889dee5e" ], [ "SfPoly.fold_map_named_correct", @@ -1245,7 +1245,7 @@ "typing_SfPoly.map" ], 0, - "298401267a7b2f0c76cb44b5da1619ac" + "8b5d14833dec0c19352e61f7a942ca48" ], [ "SfPoly.fold_length", @@ -1258,7 +1258,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5fd824603a901b48b0eb8ff451e3f63a" + "c2904d812cf8cebc44f520fd8afe7b07" ], [ "SfPoly.fold_length_correct", @@ -1272,7 +1272,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a010f7a1da3e1e28da4bcd5ba2fca4fb" + "b1c79ddb376f6f4966eefe994f704854" ], [ "SfPoly.fold_length_correct", @@ -1286,7 +1286,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9d01025ebf969c4f52b280ba41589bcd" + "f69ea611fc3438f3b95b5a564708b043" ], [ "SfPoly.fold_length_correct", @@ -1322,7 +1322,7 @@ "typing_Tm_abs_a2f6fc2179e30b4e48b925f6986e4abb" ], 0, - "7de8ba1d335d7adc4e9df6e082af2306" + "dfe955ecba2f815632b73c387da22099" ], [ "SfPoly.fold_map_correct", @@ -1358,7 +1358,7 @@ "typing_Tm_abs_0bdc6e5fcbda48141c75465d93b13e81" ], 0, - "d2f955d22658996298079865cb1f5a3b" + "3a26b2ad3dc20eec28f0139afbf19e6e" ], [ "SfPoly.fold_right_cons_is_id", @@ -1389,7 +1389,7 @@ "subterm_ordering_Prims.Cons", "typing_tok_Prims.Cons@tok" ], 0, - "c4add3ce018b78c7e1b6ddb2ec847d35" + "7a707cc680f72b9c41b02f58ea66288b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Admit.fst b/examples/tactics/Admit.fst index fc671c28153..27ee2604fe7 100644 --- a/examples/tactics/Admit.fst +++ b/examples/tactics/Admit.fst @@ -15,7 +15,7 @@ *) module Admit -open FStar.Tactics +open FStar.Tactics.V2 val l : x:int -> y:int -> squash (x + y == x + x) let l x y = admit_dump () diff --git a/examples/tactics/Admit.fst.hints b/examples/tactics/Admit.fst.hints index fef28f1bd72..6e502d25e10 100644 --- a/examples/tactics/Admit.fst.hints +++ b/examples/tactics/Admit.fst.hints @@ -1 +1 @@ -[ "Qhü‚AÝ\u0019GÈ‘+o©M\u0012ú", [] ] \ No newline at end of file +[ "oo¨˜‹~\u001bñ»)lo\u0000\tä9", [] ] \ No newline at end of file diff --git a/examples/tactics/Antiquote.fst b/examples/tactics/Antiquote.fst index fdb3a0ce802..ae28103822f 100644 --- a/examples/tactics/Antiquote.fst +++ b/examples/tactics/Antiquote.fst @@ -15,7 +15,7 @@ *) module Antiquote -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True by (let tm = (`(1 + `@(1))) in diff --git a/examples/tactics/Antiquote.fst.hints b/examples/tactics/Antiquote.fst.hints index 934d2b6f12d..8b234781708 100644 --- a/examples/tactics/Antiquote.fst.hints +++ b/examples/tactics/Antiquote.fst.hints @@ -1 +1 @@ -[ "\"¢ŽØ´’ï\u0016×K1Fq>9", [] ] \ No newline at end of file +[ "“¿ð\"ñ\u0018DV‰Þö¤‡£Éº", [] ] \ No newline at end of file diff --git a/examples/tactics/Arith.fst b/examples/tactics/Arith.fst index 56cc7f2eb6a..12a27457ad2 100644 --- a/examples/tactics/Arith.fst +++ b/examples/tactics/Arith.fst @@ -17,7 +17,7 @@ module Arith // -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Arith open FStar.List open FStar.Mul diff --git a/examples/tactics/Arith.fst.hints b/examples/tactics/Arith.fst.hints index fa9a78651b7..fd366a79f98 100644 --- a/examples/tactics/Arith.fst.hints +++ b/examples/tactics/Arith.fst.hints @@ -1,5 +1,5 @@ [ - "`T\u0018…11ì™hÜj¤\tÆ\u000e¿", + "À\u001alÇÔ5v”hŽ\b›éÍ¿", [ [ "Arith.lem0", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9d4a9ad917af13e81b56dfcca7f070d4" + "e296b53a19eefd3b1e19a6375b91718e" ], [ "Arith.lem1", @@ -25,7 +25,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ec0a800cbb9055863347593c8eb02666" + "c412c61b8d74040ed697e8a6bf571a97" ], [ "Arith.lem1", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "661e4bbdb71ccd409ce1b8fc9da32752" + "aad807e84e7078fee3d8ecd0e0fbdc3b" ], [ "Arith.lem2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7542a7d5af7bece6ccc29451191e6510" + "aad807e84e7078fee3d8ecd0e0fbdc3b" ], [ "Arith.lem2", @@ -84,7 +84,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3d687c97563003caad9f514a269d0a87" + "007b99b4449fa4dc1cbd445614e2cfe6" ], [ "Arith.lem3", @@ -99,7 +99,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "c0dedba6454992ab28041a45b73f376d" + "34eb4b95e88f62168f38137061e983da" ], [ "Arith.lem3", @@ -112,7 +112,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "205b59d2eddffff9015cf22ad9ba98cd" + "04efe3b799e9be743bb91f37298b3988" ], [ "Arith.lem3", @@ -138,7 +138,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "69184ad983da7ce11ad17bef7ef0cd72" + "1d48d2d9db4674953a5de9bca616e0d1" ], [ "Arith.lem3", @@ -153,7 +153,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "2d5f1302d4dcb8b78bd5a00166ceb134" + "6889822692385e0b9122e404b9fc14eb" ], [ "Arith.lem4", @@ -168,7 +168,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "d9e4cdc1a012e29664d91fe7b541eec3" + "2d0c118947d3a85b8d288c191ca3b35a" ], [ "Arith.lem4", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "a81bdcf3acbf3b515cc0b3441ee859ee" + "760e39dc974357eb5c2e98a54e415047" ], [ "Arith.lem4", @@ -207,7 +207,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "527c9f8a3d65b9534d0db982e70f2b77" + "b6d446cfc3c21eee4f895b9cb5da9bc2" ], [ "Arith.lem4", @@ -221,13 +221,13 @@ "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "83555973751118cd5d101f2ae20e5788" + "3321bc09bd8574e3dccd4a1d6772ead4" ], [ "Arith.lem4", 5, 2, - 1, + 2, [ "@query", "b2t_def", "equation_Prims.l_and", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", @@ -235,7 +235,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7b18496669c7f209656da411f3c40ecf" + "6d59c19cb1a9f25a51c7f54b9398a4d3" ], [ "Arith.lem4", @@ -250,7 +250,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "ea583639990d1d8b986d4a7ba39a6486" + "ae303d6a264462335adc3a4e739ec2d8" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bane.Lib.fst b/examples/tactics/Bane.Lib.fst index 32828d478af..0f158660556 100644 --- a/examples/tactics/Bane.Lib.fst +++ b/examples/tactics/Bane.Lib.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Bane.Lib -open FStar.Tactics +open FStar.Tactics.V2 (* To understand the naming convention on this file, please refer to * https://www.youtube.com/watch?v=w9wi0cPrU4U *) val big_phi : int -> Tac unit diff --git a/examples/tactics/Bane.Lib.fst.hints b/examples/tactics/Bane.Lib.fst.hints index 2400b37d5e1..cab246eeaea 100644 --- a/examples/tactics/Bane.Lib.fst.hints +++ b/examples/tactics/Bane.Lib.fst.hints @@ -1,5 +1,5 @@ [ - "Q¡®\tiƒÚ‡T%NW¤R8Ž", + "ÜX\u0003Âà»rþÌ‹ÌX!—§a", [ [ "Bane.Lib.repeat_or_fail", @@ -15,7 +15,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "b2427f12e02c0115a84e25d1323f4103" + "fb058d73f73bd4e1f687cafb48ee9346" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bane.Test.fst b/examples/tactics/Bane.Test.fst index f830638c4ff..21b86c4adab 100644 --- a/examples/tactics/Bane.Test.fst +++ b/examples/tactics/Bane.Test.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Bane.Test -open FStar.Tactics +open FStar.Tactics.V2 open Bane.Lib let test = diff --git a/examples/tactics/Bane.Test.fst.hints b/examples/tactics/Bane.Test.fst.hints index d3644356692..f0bb9f5e613 100644 --- a/examples/tactics/Bane.Test.fst.hints +++ b/examples/tactics/Bane.Test.fst.hints @@ -1 +1 @@ -[ "Ó–\u001c·nd\u0013÷ûq+|$©­\u0002", [] ] \ No newline at end of file +[ "Ê€ñÚß­ÆqÞ£¼\u0005;\\NJ", [] ] \ No newline at end of file diff --git a/examples/tactics/Canon.fst b/examples/tactics/Canon.fst index 79e38076413..1645097f47c 100644 --- a/examples/tactics/Canon.fst +++ b/examples/tactics/Canon.fst @@ -15,7 +15,7 @@ *) module Canon -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Canon open FStar.Mul @@ -60,25 +60,25 @@ let lem4 (a b c : int) = (* 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 - ((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) - by check_canon () - -let lem6 (a b c d e : int) = - 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) - by check_canon () +// let lem5 (a b c d e : int) = +// 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) +// by check_canon () +// +// let lem6 (a b c d e : int) = +// 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) +// by check_canon () let lem7 (a b c d : int) = assert diff --git a/examples/tactics/Canon.fst.hints b/examples/tactics/Canon.fst.hints index 1f7ea98a003..cc26c9f601a 100644 --- a/examples/tactics/Canon.fst.hints +++ b/examples/tactics/Canon.fst.hints @@ -1,5 +1,5 @@ [ - "á«À̓ç«]\u0012¶¯\u0019â\u000f*", + " î\n¤;y a•\u007f+™/Í‹V", [ [ "Canon.lem1", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3876c27f2af23fd028b2d96895c21ce8" + "f853b95188b1e05c1ad4065e3daf97e0" ], [ "Canon.lem8", @@ -21,7 +21,7 @@ 1, [ "@query", "true_interp" ], 0, - "6034c6a1c61e8bc0297dacfed9c312dc" + "ccdccf4680fc87d387d55eccf13715c0" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Easy.fst b/examples/tactics/Easy.fst index 623decc98f6..7b17c41b88f 100644 --- a/examples/tactics/Easy.fst +++ b/examples/tactics/Easy.fst @@ -15,7 +15,7 @@ *) module Easy -open FStar.Tactics +open FStar.Tactics.V2 val plus_assoc : x:int -> y:int -> z:int -> Lemma ((x + y) + z == x + (y + z)) let plus_assoc = easy diff --git a/examples/tactics/Easy.fst.hints b/examples/tactics/Easy.fst.hints index ff68686ab73..040bca3e017 100644 --- a/examples/tactics/Easy.fst.hints +++ b/examples/tactics/Easy.fst.hints @@ -1,5 +1,5 @@ [ - "Ú©§\\ÄÞß÷fLÏ{R×û\"", + "¬?1Xš¿°\u0011™+€W©\u0001ƒ\u0000", [ [ "Easy.plus_assoc", @@ -7,11 +7,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" + "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0" ], 0, - "4d7784177162f14cacff80274fdd7790" + "ba6aad21d4f5438d24b43223fb24cd94" ], [ "Easy.plus_comm", @@ -20,7 +20,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "336bbbb4e5bd01ad1d64bc900bb04d1c" + "5c59ae625f69500ca610e4e3611a518d" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Even.fst b/examples/tactics/Even.fst index fde59c455fd..bae8aafd85d 100644 --- a/examples/tactics/Even.fst +++ b/examples/tactics/Even.fst @@ -15,7 +15,7 @@ *) module Even -open FStar.Tactics +open FStar.Tactics.V2 type unat = | Z : unat | S : unat → unat let rec nat2unary (n: nat) : Tot unat = if n = 0 then Z else S (nat2unary (n - 1)) diff --git a/examples/tactics/Even.fst.hints b/examples/tactics/Even.fst.hints index 350a56214b1..8ca9d8bbe56 100644 --- a/examples/tactics/Even.fst.hints +++ b/examples/tactics/Even.fst.hints @@ -1,5 +1,5 @@ [ - "”×ÎEŸÈxÌ9a&Z\u001fþú;", + "›¢ºœAyö××ÇqÆüí%", [ [ "Even.unat", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d97e98467837c8839f1ba838a123c610" + "3d15bb95f4cea5c139d6c37037c2e6a6" ], [ "Even.__proj__S__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_bb628da1f7d40b6a048cba9503380f5d" ], 0, - "1259e4d151c768324a5205919bfaf302" + "17e7670794395aa4227eb6b3328f117a" ], [ "Even.nat2unary", @@ -38,7 +38,7 @@ "well-founded-ordering-on-nat" ], 0, - "84726f1dc3aaeef7e6760c37b1460eb3" + "0fc9d7240c85f45639e1709e013d9e3b" ], [ "Even.even", @@ -47,7 +47,7 @@ 1, [ "@query", "assumption_Even.unat__uu___haseq" ], 0, - "4c7ff91ec340e0ae074828e26d17caeb" + "443cf700e6a7411b3f88bf940bb6a3da" ], [ "Even.__proj__Even_SS__item__n", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "e1758c468211e15bad61b2f8b7d2dece" + "ec4b57079125344d620aafc408737153" ], [ "Even.__proj__Even_SS__item___1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "2ae2208180c31c950391e75ce9e40699" + "35be11f54d847d3ceb31bca030d9a397" ] ] ] \ No newline at end of file diff --git a/examples/tactics/HandleSmtGoal.fst b/examples/tactics/HandleSmtGoal.fst index 1affa0730c7..bc690ae9415 100644 --- a/examples/tactics/HandleSmtGoal.fst +++ b/examples/tactics/HandleSmtGoal.fst @@ -1,6 +1,6 @@ module HandleSmtGoal -open FStar.Tactics +open FStar.Tactics.V2 [@@ handle_smt_goals] let tac () : Tac unit = diff --git a/examples/tactics/HandleSmtGoal.fst.hints b/examples/tactics/HandleSmtGoal.fst.hints index c6ca9f680a3..a68a86f7907 100644 --- a/examples/tactics/HandleSmtGoal.fst.hints +++ b/examples/tactics/HandleSmtGoal.fst.hints @@ -1,5 +1,5 @@ [ - "Ôy\u0001>B¦ëžø­è[Z$lT", + "iëÊ\u0015\r\u0015ßßë§v2Ô[üò", [ [ "HandleSmtGoal.f", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "1541338a7de7c8a686e6072abea250b7" + "5cfa440bfaf1cba63065fbc976e5414b" ], [ "HandleSmtGoal.g", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4cd001f4e9f719aa93b0cba52f04cc39" + "724ec6b732dc9ff274a95a97ad51eac2" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Imp.fst b/examples/tactics/Imp.fst index e7936d41535..b9f8075987e 100644 --- a/examples/tactics/Imp.fst +++ b/examples/tactics/Imp.fst @@ -18,7 +18,7 @@ module Imp //#set-options "--debug Imp --debug_level SMTQuery" open FStar.Mul -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.CanonCommSemiring open FStar.Algebra.CommMonoid diff --git a/examples/tactics/Imp.fst.hints b/examples/tactics/Imp.fst.hints index fc6a5571ebf..5d00fa4edfd 100644 --- a/examples/tactics/Imp.fst.hints +++ b/examples/tactics/Imp.fst.hints @@ -1,5 +1,5 @@ [ - "¯Œúò\b\u007f½\u0004gk\"BXHÏ", + "ŸLã¡rwŠº³kzá·±‘î", [ [ "Imp.reg", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f8be5c7fbed38e92eaac824036b66333" + "a65ab4296bfc2824c934e6e578746d70" ], [ "Imp.__proj__Add__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "474e0ea244c5ad9f899c9071b9b21a50" + "4e5c8f207f0551c558606669c2bbd7cc" ], [ "Imp.__proj__Add__item___1", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "602032ca48aa18408ad1fc82d3e03ea7" + "5ce7870f886a2b9760c36d10fca3fff6" ], [ "Imp.__proj__Add__item___2", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "4252da09e4ca8ac3fa06c38b99cd278e" + "94bf4a2d5d918a64f1cee4163ba7aa3c" ], [ "Imp.__proj__Sub__item___0", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "7dea9b6439ea9ff4f7454361d8407ee7" + "24f90e3bc7785fbf65573c6af99bc6e0" ], [ "Imp.__proj__Sub__item___1", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "f857c8e0ec84a73f9c6da5e3d004577a" + "b88c9316de35508cae60f950b80f2627" ], [ "Imp.__proj__Sub__item___2", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "df34768ea56bb4637e191ed4a4198e92" + "a25e7707e25636098948719f56c36e86" ], [ "Imp.__proj__Mul__item___0", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "3ac2d940e62a428ea6ac2a409ae6c805" + "8d885c1814ad2931ded37c0ca780f990" ], [ "Imp.__proj__Mul__item___1", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "ce938e7ad3bb97cb91bbbb0f107488ca" + "75c1b0f61f410706e9e4ba2f5731e786" ], [ "Imp.__proj__Mul__item___2", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "0fb4dd11385007ad9f8a7235022ad675" + "9f199ded749706797de2891299fc9df3" ], [ "Imp.__proj__Const__item___0", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "c8f7bf926f6b03a24f4c2f1836dc1cc7" + "22719801fe54d2abcf21f45a2c392cf1" ], [ "Imp.__proj__Const__item___1", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "f00dde9334f527696684ef9e34d8c5e0" + "b28ee6d2797211ca13eedb31e27b414d" ], [ "Imp.size", @@ -161,7 +161,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b1bd8c724664bb13ee9523780e57150a" + "525183f2cf10f22ad92208ea25a5f308" ], [ "Imp.size", @@ -180,7 +180,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "61797d38d71e74fc0f5ab85fb8fbfbd7" + "a6403d715bbe57502c8e2a5516b87480" ], [ "Imp.override", @@ -189,7 +189,7 @@ 1, [ "@query", "assumption_Imp.reg__uu___haseq" ], 0, - "97c8e69c62fabe0e845a733e7e5e91b4" + "9fe3f922205b2cede674b25a2f465ef9" ], [ "Imp.eval'", @@ -205,7 +205,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "82a0a2881b5d6b2c1ff7b27993b1f178" + "5d2d0a9621b21062279e774aa4b801d5" ], [ "Imp.uu___89", @@ -214,7 +214,7 @@ 1, [ "@query" ], 0, - "476ea0d928aef99619e007b0b4783446" + "96a4d6f440e91a8d4b4ac5633bc96aa0" ], [ "Imp.uu___98", @@ -223,7 +223,7 @@ 1, [ "@query" ], 0, - "8e59f44dbd7182cc0c1d5696005c1027" + "0664e6e2cc61fa616a2e3cc41fde02e3" ], [ "Imp.uu___101", @@ -232,7 +232,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "e97763f5eaa21c1ec2f73668b7d40b96" + "3ffdd91a3f34b09dde25ed28a321c915" ], [ "Imp.uu___104", @@ -241,7 +241,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "dbd1f24d72ae80792f22b59132a96f96" + "cb2ab0aac4519e0b9348f33e86cc520e" ], [ "Imp.uu___107", @@ -250,7 +250,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "8a5eb2107482be68b89fa1f815535cb3" + "5b82cd972435799e8672ee6ec9c2921c" ], [ "Imp.uu___110", @@ -259,7 +259,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "734f4d18d9351afd1519fa4dc2579ec5" + "893cb2f9ad60e72865924ed8ad4bf929" ], [ "Imp.uu___113", @@ -268,7 +268,7 @@ 1, [ "@query" ], 0, - "d016dd26566e760c7f8324131e288865" + "767a688e3fd96475755fbf648bfde65d" ], [ "Imp.uu___135", @@ -277,7 +277,7 @@ 1, [ "@query" ], 0, - "e312fb240280f37bac4eafd9b023b8c4" + "4f12adcc340f92ba6b490c30c524f6fd" ], [ "Imp.uu___136", @@ -286,7 +286,7 @@ 1, [ "@query" ], 0, - "178eb535d3903e5aa90ddf732ab32184" + "53e691b03fa57efd967437d26d958028" ], [ "Imp.uu___137", @@ -295,7 +295,7 @@ 1, [ "@query" ], 0, - "e644d3747dd262290f39cecd73b22104" + "197d3fa34c9b988bb0677ed529b2ff80" ], [ "Imp.uu___139", @@ -304,7 +304,7 @@ 1, [ "@query" ], 0, - "326289d161a8424997a13c1ad9b37976" + "1ca644bfa090d7c54f9b1da8e778aa0b" ], [ "Imp.uu___140", @@ -313,7 +313,7 @@ 1, [ "@query" ], 0, - "b7c58c7d24844d0cccca123cf092dcf0" + "f22af04ca219df6b9c0a0759a3522160" ], [ "Imp.uu___141", @@ -322,7 +322,7 @@ 1, [ "@query" ], 0, - "52384b3e5c9af6711be2c32d25e72ade" + "493bc6ffd98da6b71fc6075c8e42e416" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Launch.fst b/examples/tactics/Launch.fst index 89aa8fc4760..4b5437c7362 100644 --- a/examples/tactics/Launch.fst +++ b/examples/tactics/Launch.fst @@ -15,7 +15,7 @@ *) module Launch -open FStar.Tactics +open FStar.Tactics.V2 (* This file will only work if run with --unsafe_tactic_exec. * It CANNOT be set with #(re)set-options either diff --git a/examples/tactics/Logic.fst b/examples/tactics/Logic.fst index cac055cc956..c0ddba896ef 100644 --- a/examples/tactics/Logic.fst +++ b/examples/tactics/Logic.fst @@ -15,14 +15,14 @@ *) module Logic -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac unit = let h = implies_intro () in right (); - let (h1, _) = destruct_and h in + let (h1, _) = destruct_and (binding_to_term h) in apply (`FStar.Squash.return_squash); - exact h1; + exact (binding_to_term h1); qed () let test phi psi xi = diff --git a/examples/tactics/Logic.fst.hints b/examples/tactics/Logic.fst.hints index 1027ad8c166..d0b63318d7a 100644 --- a/examples/tactics/Logic.fst.hints +++ b/examples/tactics/Logic.fst.hints @@ -1 +1 @@ -[ "æõEbÊ\u001dÖ¥2A£Ì>Ÿ´x", [] ] \ No newline at end of file +[ "\"óãI×ßS2§GÅ&éuø±", [] ] \ No newline at end of file diff --git a/examples/tactics/MkList.fst b/examples/tactics/MkList.fst index 26d23a8578e..f5f9819a40d 100644 --- a/examples/tactics/MkList.fst +++ b/examples/tactics/MkList.fst @@ -17,15 +17,14 @@ module MkList open FStar.List.Tot (* Makes top-level list definitions annotated by their length *) -open FStar.Tactics -open FStar.Tactics.Derived +open FStar.Tactics.V2 let constant_list (name: string) (l: list UInt8.t): Tac decls = let len = FStar.List.length l in let t = `(FStar.List.llist UInt8.t (`@len)) in let fv = pack_fv (cur_module () @ [ name ]) in - let lb = pack_lb ({lb_fv=fv; lb_us=[]; lb_typ=t; lb_def = quote l}) in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = ({lb_fv=fv; lb_us=[]; lb_typ=t; lb_def = quote l}) in + let se = pack_sigelt (Sg_Let {isrec=false;lbs=[lb]}) in [se] %splice[] (constant_list "l1" [ 1uy ]) diff --git a/examples/tactics/MkList.fst.hints b/examples/tactics/MkList.fst.hints index 41a1e913432..14a4222d040 100644 --- a/examples/tactics/MkList.fst.hints +++ b/examples/tactics/MkList.fst.hints @@ -1,6 +1,31 @@ [ - "Bõ7J_~\rGþ\u001b·ä—™a", + "¶ru˜ò\u0012b‡¤Ò”h7›û", [ + [ + "MkList.constant_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "5c5795a117264fc957c99703f47ea637" + ], [ "MkList.l1", 1, @@ -35,7 +60,7 @@ "typing_FStar.UInt8.uint_to_t" ], 0, - "ce40781fc9b2ca2d237a7f4ec44244a3" + "adc9a72d905ece9ec22f84e613e26386" ], [ "MkList.l2", @@ -72,7 +97,7 @@ "typing_FStar.UInt8.uint_to_t" ], 0, - "b197058e00aeb5f1a13ed7bcd902e740" + "ab57e6e3dd9485bcf64f2b67c5a18b8a" ] ] ] \ No newline at end of file diff --git a/examples/tactics/MultiStage.fst b/examples/tactics/MultiStage.fst index 9ff313850b9..c47dff91400 100644 --- a/examples/tactics/MultiStage.fst +++ b/examples/tactics/MultiStage.fst @@ -1,15 +1,16 @@ module MultiStage open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 let tau1 () : Tac decls = - let lb = pack_lb ({lb_fv = (pack_fv (cur_module () @ ["test1"])); - lb_us = []; - lb_typ = (`int); - lb_def = (`(synth (fun () -> dump "Running inner tactic 1"; - exact (`42)))) - }) in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = (pack_fv (cur_module () @ ["test1"])); + lb_us = []; + lb_typ = (`int); + lb_def = (`(synth (fun () -> dump "Running inner tactic 1"; + exact (`42)))) + } in + let se = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in [se] %splice[test1] (tau1 ()) @@ -17,13 +18,14 @@ let _ = assert (test1 == 42) let tau2 () : Tac decls = let res : term = quote 42 in - let lb = pack_lb ({lb_fv = (pack_fv (cur_module () @ ["test2"])); - lb_us = []; - lb_typ = (`int); - lb_def = (`(synth (fun () -> dump "Running inner tactic 2"; - exact (`@res)))) - }) in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = (pack_fv (cur_module () @ ["test2"])); + lb_us = []; + lb_typ = (`int); + lb_def = (`(synth (fun () -> dump "Running inner tactic 2"; + exact (`@res)))) + } in + let se = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in [se] %splice[test2] (tau2 ()) @@ -31,13 +33,14 @@ let _ = assert (test2 == 42) let tau3 () : Tac decls = let res : term = quote 42 in - let lb = pack_lb ({lb_fv = (pack_fv (cur_module () @ ["test3"])); - lb_us = []; - lb_typ = (`int); - lb_def = (`(_ by (dump "Running inner tactic 3"; - exact (`@res)))) - }) in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = (pack_fv (cur_module () @ ["test3"])); + lb_us = []; + lb_typ = (`int); + lb_def = (`(_ by (dump "Running inner tactic 3"; + exact (`@res)))) + } in + let se = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in [se] %splice[test3] (tau3 ()) @@ -60,15 +63,16 @@ let string_of_name = String.concat "." let tau5 () : Tac decls = let res : term = quote 42 in let f_name : name = ["a";"b";"c"] in - let lb = pack_lb ({lb_fv = (pack_fv (cur_module () @ ["test5"])); - lb_us = []; - lb_typ = (`int); - lb_def = (`(_ by (dump ("Running inner tactic 5: " ^ - (string_of_name (`@f_name))); - let x = 42 in - exact (quote 42)))) - }) in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = (pack_fv (cur_module () @ ["test5"])); + lb_us = []; + lb_typ = (`int); + lb_def = (`(_ by (dump ("Running inner tactic 5: " ^ + (string_of_name (`@f_name))); + let x = 42 in + exact (quote 42)))) + } in + let se = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in [se] %splice[test5] (tau5 ()) let _ = assert (test5 == 42) diff --git a/examples/tactics/MultiStage.fst.hints b/examples/tactics/MultiStage.fst.hints index a0237067152..28dd30222f7 100644 --- a/examples/tactics/MultiStage.fst.hints +++ b/examples/tactics/MultiStage.fst.hints @@ -1,6 +1,30 @@ [ - "ç**²ƒ%AŸ>‚ß’“ú\n", + "I‹°”\u0016øˤ•Š\u001a\u0011\rû\u00194", [ + [ + "MultiStage.tau1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "9be538640d1bfdae8f14628a5e26d10a" + ], [ "MultiStage.uu___6", 1, @@ -8,7 +32,32 @@ 1, [ "@query", "equation_MultiStage.test1" ], 0, - "27cf14863878c3c9461bbe685bfbbd3a" + "5275fb93ee76ce329d1728d5d19de1bb" + ], + [ + "MultiStage.tau2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "eac228cce52990d7fcc15da2f8281c7c" ], [ "MultiStage.uu___15", @@ -17,7 +66,32 @@ 1, [ "@query", "equation_MultiStage.test2" ], 0, - "8a4ce9f3c028a94981db62314df41f03" + "6dddf9bd4953d266a223af12670bda29" + ], + [ + "MultiStage.tau3", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "385d4733ea8427ded74a097e05c558ec" ], [ "MultiStage.uu___24", @@ -26,7 +100,32 @@ 1, [ "@query", "equation_MultiStage.test3" ], 0, - "17052baec1bb0711c38ad1f338a34d29" + "31bea36c174aa750bd2a87495e96cea5" + ], + [ + "MultiStage.tau5", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "67b41044f270fc7ab645cc7b472dde7a" ], [ "MultiStage.uu___35", @@ -35,7 +134,7 @@ 1, [ "@query", "equation_MultiStage.test5" ], 0, - "9f5beba8fcb004f56215850137821aa4" + "a8d9c04b0417663ad3cfdd36df80688b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/NArrows.fst.hints b/examples/tactics/NArrows.fst.hints index de6954a8af0..4fd53da4cf7 100644 --- a/examples/tactics/NArrows.fst.hints +++ b/examples/tactics/NArrows.fst.hints @@ -19,7 +19,7 @@ "projection_inverse_NArrows.Mkn_arrows_t_ff", "typing_NArrows.xxx" ], 0, - "7122a9b3a8f68627109d3681fe58d856" + "64089664d1e0cae5333a4d46690e0c20" ] ] ] \ No newline at end of file diff --git a/examples/tactics/NormLHS.fst b/examples/tactics/NormLHS.fst index 66b9beb7ce1..49210f8278f 100644 --- a/examples/tactics/NormLHS.fst +++ b/examples/tactics/NormLHS.fst @@ -1,6 +1,6 @@ module NormLHS -open FStar.Tactics +open FStar.Tactics.V2 private let trans (#t:Type) (b a c : t) diff --git a/examples/tactics/NormLHS.fst.hints b/examples/tactics/NormLHS.fst.hints index 21766d672f3..4e589c55827 100644 --- a/examples/tactics/NormLHS.fst.hints +++ b/examples/tactics/NormLHS.fst.hints @@ -1,5 +1,5 @@ [ - "ÕÄ]\bdä\u001c\u001a€Òr\u0002!ysÅ", + "7{÷kˆ‚l+ßu¦¸$˜c¹", [ [ "NormLHS.trans", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "ea2255beb4e68a8920273dfa612d9ba9" + "795341caaba3230a53db8c60cd3b0530" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Normalization.fst b/examples/tactics/Normalization.fst index c959f1d3cc8..6034358bca6 100644 --- a/examples/tactics/Normalization.fst +++ b/examples/tactics/Normalization.fst @@ -15,7 +15,7 @@ *) module Normalization -open FStar.Tactics +open FStar.Tactics.V2 (* A tactic that returns its argument after some steps of normalization *) (* NOTE: This is relying on our unusual quote, which can inspect the shape of `x` @@ -39,8 +39,8 @@ let def_of (#t:Type) (x:t) : Tac term = | Some se -> se in match inspect_sigelt se with - | Sg_Let _ lbs -> begin - let lbv = lookup_lb_view lbs (inspect_fv fv) in + | Sg_Let {lbs} -> begin + let lbv = lookup_lb lbs (inspect_fv fv) in lbv.lb_def end | _ -> fail "not a sig_let" diff --git a/examples/tactics/Normalization.fst.hints b/examples/tactics/Normalization.fst.hints index c02bc1404c0..997c4fee809 100644 --- a/examples/tactics/Normalization.fst.hints +++ b/examples/tactics/Normalization.fst.hints @@ -1,5 +1,5 @@ [ - "GI+ŽQšŸ[0ÒÈ\u0001é\u0001ÌL", + "lÛ²é\b\u0019¬`–˜m¤Ð3N\n", [ [ "Normalization.def_of", @@ -8,25 +8,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ad0c440fdab6ffc192ca7b9c26ec7060", - "refinement_interpretation_Tm_refine_c8c25cce950f7502659e3b46e5cb5351", - "typing_FStar.Reflection.Builtins.inspect_fv", - "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Data.__proj__Tv_FVar__item__v", - "typing_FStar.Reflection.Data.__proj__Tv_UInst__item__v" + "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0", + "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3", + "typing_FStar.Reflection.V2.Builtins.inspect_fv", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Tactics.NamedView.__proj__Tv_FVar__item__v", + "typing_FStar.Tactics.NamedView.__proj__Tv_UInst__item__v" ], 0, - "11f5068c57c762353661356e5d189b59" + "2b61fc00bda5f19d8144177fa758786e" ], [ "Normalization.uu___28", @@ -36,10 +34,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "57264c1c3b903bed9584bbb5d1462560" + "6d64c8b68acb8db2bcd3ec76700147ce" ], [ "Normalization.uu___28", @@ -49,10 +48,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "57c8150de26de2152763308d044040d6" + "52bd3937dd877f4833b9f0b13460a6e9" ], [ "Normalization.uu___34", @@ -62,10 +62,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "c7694be5df4bc8e44c2d4738b551b45e" + "621eca503e0cf4bbf5362fdc466f7537" ], [ "Normalization.uu___34", @@ -75,10 +76,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "37fe6fabd7b584e6d5aca5c77cf59df8" + "9bce70fc2189e9a3d5a5e8f5c45cc0ac" ], [ "Normalization.uu___40", @@ -88,10 +90,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "e03bef7694efa4c2c56c61f87168a1cc" + "434ad79b58d27a2fe4f3202d96599c64" ], [ "Normalization.uu___40", @@ -101,10 +104,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "ac91cab32ae14aa2a8a3457f7ec8a28c" + "0e527437c360d0c548cc12445fd08abb" ], [ "Normalization.uu___48", @@ -116,7 +120,7 @@ "equation_Normalization.four__" ], 0, - "73e049cf59df8f833f4631511b82fe81" + "74ae2c05a7c2959fafc756c3e0b26fbe" ], [ "Normalization.uu___49", @@ -126,10 +130,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "8f3bb2c58a84ec1f0e18e3e837e72835" + "1a01684ad8ac503b81926269f71355e6" ], [ "Normalization.uu___49", @@ -139,10 +144,11 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Order.order__uu___haseq", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "5a7dcda4c97705db38e78d621f5103ca" + "0d8f6dbad93498a32640a7dbb49934fb" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Postprocess.fst b/examples/tactics/Postprocess.fst index c2888a87d66..ff0f320a4c4 100644 --- a/examples/tactics/Postprocess.fst +++ b/examples/tactics/Postprocess.fst @@ -15,7 +15,7 @@ *) module Postprocess -open FStar.Tactics +open FStar.Tactics.V2 assume val foo : int -> int assume val lem : unit -> Lemma (foo 1 == foo 2) diff --git a/examples/tactics/Postprocess.fst.hints b/examples/tactics/Postprocess.fst.hints index 08176140133..7139e559479 100644 --- a/examples/tactics/Postprocess.fst.hints +++ b/examples/tactics/Postprocess.fst.hints @@ -1,5 +1,5 @@ [ - "„ƒ»2õÁÔ½GA\u000bÿ–", + "\u0014õïBÁDî’€\u0007Úð÷`óz", [ [ "Postprocess.uu___6", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Postprocess.x" ], 0, - "fdbe89ea8baf3825509ea237bc9f51ae" + "0a55bf17803b153a6045e03c8f831001" ], [ "Postprocess.uu___7", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Postprocess.y" ], 0, - "88188588b340b5987af3734ac809b6e5" + "1d95b8e9271621e501d03c0a32641257" ], [ "Postprocess.__proj__B1__item___0", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_17e22ae7e75398217bad910401b33530" ], 0, - "37a87c56ced03ccc629c1b4bbe2f473a" + "d159a64c79346ac1ce777cf6c9fa4190" ], [ "Postprocess.__proj__C1__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_60aa030648fef8e7bd28516f822e9a0c" ], 0, - "7c7a5455609b17e8b862d0ef3d154071" + "83f5a3006b89b72c5cb2e6e31e0b77bc" ], [ "Postprocess.__proj__B2__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_a571d0930fe419c0a3557e389115132f" ], 0, - "9cb9a09b39e590267378383ade5bc0f0" + "4d07c5d582abf152c3d4e50bebc8aeb0" ], [ "Postprocess.__proj__C2__item___0", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_d350a2c0136fefb41ae2d218a2b66a7b" ], 0, - "19ac2f44f9000c3c30388e17c1913206" + "8904f19b0dc51a7cee14d863f2b83dcd" ], [ "Postprocess.lift", @@ -83,7 +83,7 @@ "well_founded_ordering_on_codomain_Postprocess.C1" ], 0, - "4a89847a49660c1b9cef7e112d1da1b6" + "adc5386ae674988e625ca80d169357f5" ], [ "Postprocess.lemA", @@ -99,7 +99,7 @@ "typing_tok_Postprocess.A1@tok" ], 0, - "1cad9210d808b4582b0e3d3d3cecbe54" + "558aec316758f1b4d32c3438e16dc1a3" ], [ "Postprocess.lemB", @@ -115,7 +115,7 @@ "projection_inverse_Postprocess.B1__0" ], 0, - "996d72b36abc74368a092d59306a6992" + "39232ebcb368c43491c47c4dc19eb265" ], [ "Postprocess.congB", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "a55351bfd5a1a6db0e30c59222426f54" + "96d59beac3c384eee89b778efc7f5df0" ], [ "Postprocess.congC", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d3a507412090fc3491a4152bf35dc9eb" + "18590e7c4063aee8e495ae0714c77e8d" ], [ "Postprocess.q_as_lem", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "de935da6f73f018b0d3df5e765ba8676" + "df6ac954bdceb8a957fd0446176d484e" ], [ "Postprocess.congruence_fun", @@ -160,7 +160,7 @@ 1, [ "@query", "true_interp" ], 0, - "148ab0040a45c61838d886b741d4369d" + "5da895b873073882b5c9fa68edbe1b07" ], [ "Postprocess.apply_feq_lem", @@ -169,7 +169,7 @@ 1, [ "@query" ], 0, - "634edb0f8a5e72e71f9c065e2d8f66da" + "d635692429471a9ca2cd6437861acbc8" ], [ "Postprocess._onL", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "41cd43242d4d9914044e537985f3bf6a" + "3ceaad04b4a83d3af7881df420e1bbb6" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Preprocess.fst b/examples/tactics/Preprocess.fst index ae62c5c9c15..820af65e08c 100644 --- a/examples/tactics/Preprocess.fst +++ b/examples/tactics/Preprocess.fst @@ -1,10 +1,10 @@ module Preprocess -open FStar.Tactics +open FStar.Tactics.V2 let incr_lits_by_1 (t:term) : Tac term = - match t with - | Tv_Const (C_Int x) -> Tv_Const (C_Int (x+1)) + match inspect t with + | Tv_Const (C_Int x) -> pack (Tv_Const (C_Int (x+1))) | _ -> t let test_add_1 (x:int) : int = @@ -18,19 +18,19 @@ let test () = assert (test_add_1' 5 == 7) let is_fv (fv:string) (t:term) : Tac bool = - match t with + match inspect t with | Tv_FVar fv' -> String.concat "." (inspect_fv fv') = fv | _ -> false let inst_fv_with (fv:string) (def:term) (t:term) : Tac term = (* print ("t = " ^ term_to_string t); *) - match t with + match inspect t with | Tv_App l (r, Q_Explicit) -> if is_fv fv l then - let l : term = Tv_App l (def, Q_Implicit) in - Tv_App l (r, Q_Explicit) + let l : term = pack (Tv_App l (def, Q_Implicit)) in + pack (Tv_App l (r, Q_Explicit)) else t | Tv_App l (r, Q_Implicit) -> t diff --git a/examples/tactics/Preprocess.fst.hints b/examples/tactics/Preprocess.fst.hints index 59ccb4df016..f38b99517e5 100644 --- a/examples/tactics/Preprocess.fst.hints +++ b/examples/tactics/Preprocess.fst.hints @@ -1,5 +1,5 @@ [ - "3{cÚ\u0013›Ð´&1“sQ~oŸ", + "åäë¦ ’yê\u0006_\u0018A\"‰gS", [ [ "Preprocess.test", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0", "typing_Preprocess.test_add_1_" ], 0, - "e43f232de847c390da44ab52314d8e73" + "fe321c7589b88bfe49d948a8143776cf" ], [ "Preprocess.uu___38", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "5d90bb6035187ba655d250397009216f" + "55844f7b91e9c163e1264f3846141b8c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Printers.fst b/examples/tactics/Printers.fst index dcd6251859e..a5f1d99a09b 100644 --- a/examples/tactics/Printers.fst +++ b/examples/tactics/Printers.fst @@ -18,8 +18,8 @@ open FStar.List.Tot (* TODO: This is pretty much a blast-to-the-past of Meta-F*, we can do * much better now. *) -open FStar.Tactics -module TD = FStar.Tactics.Derived +open FStar.Tactics.V2 +module TD = FStar.Tactics.V2.Derived module TU = FStar.Tactics.Util let print_Prims_string : string -> Tot string = fun s -> "\"" ^ s ^ "\"" @@ -33,7 +33,7 @@ let mk_flatten ts = mk_concat (`"") ts let paren (e : term) : Tac term = mk_flatten [mk_stringlit "("; e; mk_stringlit ")"] -let mk_print_bv (self : name) (f : term) (bvty : bv & typ) : Tac term = +let mk_print_bv (self : name) (f : term) (bvty : namedv & typ) : Tac term = let bv, ty = bvty in (* debug ("self = " ^ String.concat "." self ^ "\n>>>>>> f = : " ^ term_to_string f); *) let mk n = pack (Tv_FVar (pack_fv n)) in @@ -52,14 +52,13 @@ let mk_printer_type (t : term) : Tac term = let c = pack_comp (C_Total str) in pack (Tv_Arrow b c) - (* This tactics generates the entire let rec at once and * then uses exact. We could do something better. *) let mk_printer_fun (dom : term) : Tac term = set_guard_policy SMT; let e = top_env () in (* Recursive binding *) - let ff = fresh_bv_named "ff_rec" in + let ff = fresh_namedv_named "ff_rec" in let ffty = mk_printer_type dom in let fftm = pack (Tv_Var ff) in @@ -74,24 +73,24 @@ let mk_printer_fun (dom : term) : Tac term = in match inspect_sigelt se with - | Sg_Let _ _ -> fail "cannot create printer for let" - | Sg_Inductive _ _ bs t ctors -> + | Sg_Let _ -> fail "cannot create printer for let" + | Sg_Inductive {params=bs; typ=y; ctors} -> let br1 ctor : Tac branch = let (name, t) = ctor in let pn = String.concat "." name in let t_args, _ = collect_arr t in - let bv_ty_pats = TU.map (fun ti -> let bv = fresh_bv_named "a" in ((bv, ti), (Pat_Var bv (seal ti), false))) t_args in + let bv_ty_pats = TU.map (fun ti -> let bv = fresh_namedv_named "a" in ((bv, ti), (Pat_Var {v=bv; sort=seal ti}, false))) t_args in let bvs, pats = List.Tot.split bv_ty_pats in let head = pack (Tv_Const (C_String pn)) in let bod = mk_concat (mk_stringlit " ") (head :: TU.map (mk_print_bv xt_ns fftm) bvs) in let bod = match t_args with | [] -> bod | _ -> paren bod in - (Pat_Cons (pack_fv name) None pats, bod) + (Pat_Cons {head=pack_fv name; univs=None; subpats=pats}, bod) in let branches = TU.map br1 ctors in let xi = fresh_binder_named "v_inner" dom in // Generate the match on the internal argument - let m = pack (Tv_Match (pack (Tv_Var (bv_of_binder xi))) None branches) in + let m = pack (Tv_Match (pack (Tv_Var (binder_to_namedv xi))) None branches) in (* debug ("m = " ^ term_to_string m); *) // Wrap it into an internal function @@ -100,9 +99,10 @@ let mk_printer_fun (dom : term) : Tac term = // Wrap it in a let rec; basically: // let rec ff = fun t -> match t with { .... } in ff x - let xtm = pack (Tv_Var (bv_of_binder x)) in - let b = pack (Tv_Let true [] ff ffty f (mk_e_app fftm [xtm])) in - (* debug ("b = " ^ term_to_string b); *) + let ff_bnd : binder = { namedv_to_simple_binder ff with sort = ffty } in + let xtm = pack (Tv_Var (binder_to_namedv x)) in + let b = pack (Tv_Let true [] ff_bnd f (mk_e_app fftm [xtm])) in + (* print ("b = " ^ term_to_string b); *) // Wrap it in a lambda taking the initial argument let tm = pack (Tv_Abs x b) in @@ -123,11 +123,13 @@ let mk_printer dom : Tac decls = | _ -> fail "not an fv?" in let nm = maplast (fun s -> s ^ "_print") nm in - let lb = pack_lb ({lb_fv = pack_fv nm; - lb_us = []; - lb_typ = mk_printer_type dom; - lb_def = mk_printer_fun dom}) in - let sv : sigelt_view = Sg_Let false [lb] in + let lb = { + lb_fv = pack_fv nm; + lb_us = []; + lb_typ = mk_printer_type dom; + lb_def = mk_printer_fun dom + } in + let sv : sigelt_view = Sg_Let {isrec=false; lbs=[lb]} in let ses : list sigelt = [pack_sigelt sv] in ses diff --git a/examples/tactics/Printers.fst.hints b/examples/tactics/Printers.fst.hints index d67a62448f0..cc9404d2671 100644 --- a/examples/tactics/Printers.fst.hints +++ b/examples/tactics/Printers.fst.hints @@ -1,5 +1,5 @@ [ - "¶“‰®®Wá:÷\u000bÛb¬Â\u007fË", + "©\u001a˜©ú\tÍáEƒŽ©™ý[â", [ [ "Printers.mk_printer_fun", @@ -8,27 +8,36 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.NamedView_pretyping_aa11da717b0f96191732249a5f8a1b65", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.namedv", + "equation_FStar.Tactics.NamedView.simple_binder", + "equation_FStar.Tactics.NamedView.term", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", "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", - "typing_FStar.Reflection.Builtins.lookup_typ" + "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "dbf8d843cf2f6d76d164326daa6b28f7" + "9a0f40b7110738281458e4f57be7d64c" ], [ "Printers.maplast", @@ -43,7 +52,32 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "04de36b74c5053897ebb78999bce137e" + "f2896ad6a99c43ae487d99d4a8ad3fcd" + ], + [ + "Printers.mk_printer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "93c9604a55920b9e20b7ca143e9a3b14" ], [ "Printers.__proj__A__item___0", @@ -55,7 +89,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "5dc8d41a3a4c9943de5456ede9d89612" + "97647d66aed94246f8c76e4e74d233d2" ], [ "Printers.__proj__A__item___1", @@ -67,7 +101,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "8866e07d608f6a3554c58cd41deedf7c" + "e847bae0283074f197953d230dcce779" ], [ "Printers.__proj__B__item___0", @@ -79,7 +113,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "7149683915942b966562371b1b0a5082" + "10123943d480408c5a360fa7a331d1a3" ], [ "Printers.__proj__B__item___1", @@ -91,7 +125,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "fa1752a86f9e2f9e81fd03bd63762fca" + "116e0481c1105fb0ba2171945eb8ebe2" ], [ "Printers.__proj__D__item___0", @@ -103,7 +137,7 @@ "refinement_interpretation_Tm_refine_3c3099d8265cd24e0a96805751c994d1" ], 0, - "953ad6f37fec1fe6cb30b81bf0fe3444" + "828073eb2749703f5e248fea645f244a" ], [ "Printers.__proj__E__item___0", @@ -115,7 +149,7 @@ "refinement_interpretation_Tm_refine_410bdfe840bb48a5ed0357e092bfc39f" ], 0, - "7a23dd46f73d21dcec63b3eb7bffc0ef" + "95c126691d8f9795db40843406b772d8" ], [ "Printers.__proj__F__item___0", @@ -127,7 +161,7 @@ "refinement_interpretation_Tm_refine_9c3e9566abf10c7d01bd5254baeab0f0" ], 0, - "b8bd001f3cc20d45957bebfbf0741d63" + "6bff1043a64179adf7c7e57af2bf1d34" ], [ "Printers.t1_print", @@ -145,61 +179,61 @@ "subterm_ordering_Printers.E" ], 0, - "2eaee20bfb403a745f56aa64cdf72aa6" + "40c9c3ed4a08a1175fec21883667e97b" ], [ - "Printers.uu___110", + "Printers.uu___115", 1, 2, 1, [ "@query" ], 0, - "28a72142346c5433fcf967ba14a7f4ee" + "9c2db2fb085ab4125402e5fdba2dc1e7" ], [ - "Printers.uu___111", + "Printers.uu___116", 1, 2, 1, [ "@query" ], 0, - "8ddebb015a39f0cf37afaf39fa9bc384" + "0661b2c9630f9c0a0a10d361a51a1e8d" ], [ - "Printers.uu___112", + "Printers.uu___117", 1, 2, 1, [ "@query" ], 0, - "d1f7c1fe19ed9433e11d23d0a8a26a33" + "9010bd6627f8e5645409451a722fa22f" ], [ - "Printers.uu___113", + "Printers.uu___118", 1, 2, 1, [ "@query" ], 0, - "3d3d42d5a082c522432e2547c4188faa" + "21e00f5835138469df0a35242c76897b" ], [ - "Printers.uu___114", + "Printers.uu___119", 1, 2, 1, [ "@query" ], 0, - "403aa810f2dda0fd7c52bf493fe8328c" + "f011f14f372c7681e1175d974d9068a7" ], [ - "Printers.uu___115", + "Printers.uu___120", 1, 2, 1, [ "@query" ], 0, - "cf280c516160b9b52eed7fb58404c04f" + "4ec52ddfd0014cf4b0df3d2c6f7c8a6b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Rewrite.Monoid.fst b/examples/tactics/Rewrite.Monoid.fst index 0a659698dd6..0e762cbd02f 100644 --- a/examples/tactics/Rewrite.Monoid.fst +++ b/examples/tactics/Rewrite.Monoid.fst @@ -16,8 +16,8 @@ module Rewrite.Monoid open FStar.Algebra.Monoid open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Tactics.V2 open FStar.Tactics.CanonMonoid @@ -82,8 +82,8 @@ let rewrite_int (everywhere:bool) = (rewrite_monoid int_plus_monoid) let elim_implies #p #q (_:(p ==> q)) (_:p) : squash q = () -let apply_imp (h:binder) = - mapply (mk_app (`elim_implies) [(pack (Tv_Var (bv_of_binder h)), Q_Explicit)]) +let apply_imp (h:binding) = + mapply (mk_app (`elim_implies) [(pack (Tv_Var (binding_to_namedv h)), Q_Explicit)]) let refl (#a:Type) (x:a) : (x==x) = FStar.Squash.return_squash Refl let test (a b : int) (p:Type) = assert ((((a + b + 0) == (a + b)) ==> p) ==> p) diff --git a/examples/tactics/Rewrite.Monoid.fst.hints b/examples/tactics/Rewrite.Monoid.fst.hints index 09e7d742238..0d596f3d3a7 100644 --- a/examples/tactics/Rewrite.Monoid.fst.hints +++ b/examples/tactics/Rewrite.Monoid.fst.hints @@ -1,5 +1,5 @@ [ - "Ó†\tt\u000ffHŠ\u0004°±-߸¥¥", + "¼×>¤ ’CcÎyP\u0017™¯M±", [ [ "Rewrite.Monoid.aux", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "050814ebd85b8d0362f198ed1708b2bc" + "331809b6898490c026d1cac5eb9f3ed0" ], [ "Rewrite.Monoid.monoid_reflect_rhs", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_8e8d2aada6dcd07ed31e359fa552d647" ], 0, - "60eafa589e5b2c7c9b03f8bd3a65beaa" + "3e1b3a5d282e5b885f4b18377ac67974" ], [ "Rewrite.Monoid.elim_implies", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "9ed9a77d00001942b828c276e4c56bbb" + "7d5da81458bd542719f1909cde5d559c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/RewriteTactic.fst b/examples/tactics/RewriteTactic.fst index 1afc240286f..df148a9bfb5 100644 --- a/examples/tactics/RewriteTactic.fst +++ b/examples/tactics/RewriteTactic.fst @@ -15,7 +15,7 @@ *) module RewriteTactic -open FStar.Tactics +open FStar.Tactics.V2 assume val foo : int -> int assume val lem1 : unit -> Lemma (foo 1 == foo 2) diff --git a/examples/tactics/RewriteTactic.fst.hints b/examples/tactics/RewriteTactic.fst.hints index b12c29ee475..e40cae954be 100644 --- a/examples/tactics/RewriteTactic.fst.hints +++ b/examples/tactics/RewriteTactic.fst.hints @@ -1 +1 @@ -[ "½…Ë2”B\"\u007f„‰sUðË…s", [] ] \ No newline at end of file +[ "3\u0001>1Qý\u000eÇ\u0001o¤\u0000]ua", [] ] \ No newline at end of file diff --git a/examples/tactics/Sequences.fst b/examples/tactics/Sequences.fst index b63e1ac0f37..f16c3ea927f 100644 --- a/examples/tactics/Sequences.fst +++ b/examples/tactics/Sequences.fst @@ -15,15 +15,14 @@ *) module Sequences -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 open FStar.Seq let is_seq_t (t:term) : Tac bool = let hd, args = collect_app t in is_fvar hd (`%seq) -let clear_hypothesis (b:binder) : Tac unit = () +let clear_hypothesis (b:binding) : Tac unit = () let retain_only (nss:list string) : Tac unit = prune ""; //removes every top-level assertion which "" as a prefix; so prune everything @@ -36,10 +35,10 @@ let unrefine_eq_lem (#a:Type) (#p : (a -> Type)) (x y : (z:a{p z})) (s : squash let prune_for_seq () : Tac unit = let e = cur_env () in - let bs = binders_of_env e in + let bs = vars_of_env e in //prune the local environment let _ = map (fun b -> - match term_as_formula (type_of_binder b) with + match term_as_formula (type_of_binding b) with | Comp (Eq (Some t)) _ _ -> if is_seq_t t then //this is a sequence equality; keep it () @@ -54,7 +53,7 @@ let try_unref_eq () : Tac unit = match f with | Comp (Eq (Some t)) l r -> begin match inspect t with - | Tv_Refine _ _ _ -> + | Tv_Refine _ _ -> apply_lemma (`unrefine_eq_lem); norm [] | _ -> diff --git a/examples/tactics/Sequences.fst.hints b/examples/tactics/Sequences.fst.hints index ecb6013a525..b492e3c0920 100644 --- a/examples/tactics/Sequences.fst.hints +++ b/examples/tactics/Sequences.fst.hints @@ -1,5 +1,5 @@ [ - "„®Ø§½\fð6\u000b×4´íЗ", + "û/•k¶%–¶\fº¡èvÇ\u0017", [ [ "Sequences.unrefine_eq_lem", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "526a2b775472280ceaefdfe194579ebb" + "05fa9ea793d3db45f338ebc860f8f62d" ], [ "Sequences.test", @@ -33,7 +33,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "9d07c1c4282af781751f1acb0386a622" + "2f234f39a1c5604101036ade20387053" ], [ "Sequences.test", @@ -65,7 +65,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "7c5b25a70e43c44e43a20a16c8e4507d" + "806be527e84df83ddc57817f2b77ceb2" ] ] ] \ No newline at end of file diff --git a/examples/tactics/SigeltOpts.fst b/examples/tactics/SigeltOpts.fst index f598d543ae9..dcf2e3c3c3e 100644 --- a/examples/tactics/SigeltOpts.fst +++ b/examples/tactics/SigeltOpts.fst @@ -1,6 +1,6 @@ module SigeltOpts -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--max_fuel 0" @@ -19,13 +19,16 @@ let tau () : Tac decls = match sigelt_opts se with | None -> fail "2" | Some opts -> - let lb = pack_lb ({lb_fv = pack_fv ["SigeltOpts"; "blah"]; - lb_us = []; - lb_typ = (`_); - lb_def = (`(assert (List.length [2] == 1)))}) in - let se : sigelt = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = pack_fv ["SigeltOpts"; "blah"]; + lb_us = []; + lb_typ = (`_); + lb_def = (`(assert (List.length [2] == 1))) + } in + let se : sigelt = pack_sigelt (Sg_Let {isrec=false;lbs=[lb]}) in let se = add_check_with opts se in [se] + (* Splice `blah`, using the options for sp1, i.e. --max_fuel 2 *) %splice[blah] (tau ()) diff --git a/examples/tactics/SigeltOpts.fst.hints b/examples/tactics/SigeltOpts.fst.hints index 08e6468eb6a..f8aea493232 100644 --- a/examples/tactics/SigeltOpts.fst.hints +++ b/examples/tactics/SigeltOpts.fst.hints @@ -1,5 +1,5 @@ [ - ":Å\u0005ºv@…ýW¼\u0001¥1*@ï", + "E+Æ\u000fµb¬\u0002K†.ø\\d ¤", [ [ "SigeltOpts.sp1", @@ -24,7 +24,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "ef50062f2efb234034b64f04d9a23473" + "25c5f09931d66796936293907376ec31" ], [ "SigeltOpts.tau", @@ -36,14 +36,18 @@ "FStar.Reflection.Types_pretyping_84d6367db30bfa82d85949e1eb0c6daa", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Tactics.NamedView.Unk", "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "function_token_typing_Prims.string", @@ -58,11 +62,11 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Builtins.sigelt_opts" + "string_typing", "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Reflection.V2.Builtins.sigelt_opts" ], 0, - "130fc992f6e29deb75ae1f201e96f355" + "75d7d205d5473d6ef4b7a95c43ca6e55" ], [ "SigeltOpts.blah", @@ -87,7 +91,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "eac1995755d4fa306b3f95d3e3a6fae4" + "79767e659efc67456d014d6b360c89b2" ] ] ] \ No newline at end of file diff --git a/examples/tactics/SigeltOpts2.fst b/examples/tactics/SigeltOpts2.fst index 25ecc30ad5f..f037ef9b30f 100644 --- a/examples/tactics/SigeltOpts2.fst +++ b/examples/tactics/SigeltOpts2.fst @@ -5,7 +5,7 @@ was being taken from the optionstate in the check_with, causing the definitions to be lax-checked if the check_with moved across modules. *) open SigeltOpts -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac decls = match lookup_typ (top_env ()) ["SigeltOpts"; "sp1"] with @@ -14,11 +14,13 @@ let tau () : Tac decls = match sigelt_opts se with | None -> fail "2" | Some opts -> - let lb = pack_lb ({lb_fv = pack_fv ["SigeltOpts2"; "blah"]; - lb_us = []; - lb_typ = (`_); - lb_def = (`(assert False))}) in - let se : sigelt = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = pack_fv ["SigeltOpts2"; "blah"]; + lb_us = []; + lb_typ = (`_); + lb_def = (`(assert False)) + } in + let se : sigelt = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in let se = add_check_with opts se in [se] diff --git a/examples/tactics/SigeltOpts2.fst.hints b/examples/tactics/SigeltOpts2.fst.hints index 1b71c4c4c0b..9416a7241ab 100644 --- a/examples/tactics/SigeltOpts2.fst.hints +++ b/examples/tactics/SigeltOpts2.fst.hints @@ -1,5 +1,5 @@ [ - "³ú›E\u001eåˆ7”¾\u001cgI\b‡\u0017", + "\u001fÆw*0Ó…¯eŠ\u001a&¯‰ ", [ [ "SigeltOpts2.tau", @@ -11,14 +11,18 @@ "FStar.Reflection.Types_pretyping_84d6367db30bfa82d85949e1eb0c6daa", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Tactics.NamedView.Unk", "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "function_token_typing_Prims.string", @@ -33,11 +37,11 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Builtins.sigelt_opts" + "string_typing", "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Reflection.V2.Builtins.sigelt_opts" ], 0, - "96fb6833b0d9033f308e403c4875077f" + "d00033901a99f135c7e467e46df18a2c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Simplifier.fst b/examples/tactics/Simplifier.fst index 1460374bfa1..5034f2b405b 100644 --- a/examples/tactics/Simplifier.fst +++ b/examples/tactics/Simplifier.fst @@ -15,14 +15,16 @@ *) module Simplifier -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Simplifier let goal_is_true () : Tac unit = let g = cur_goal () in match term_as_formula g with | True_ -> trivial () - | _ -> fail "not syntactically true" + | r -> + dump ("not syntactically true " ^ term_to_string (quote r)); + fail ("not syntactically true " ^ term_to_string (quote r)) let test_simplify () : Tac unit = simplify (); diff --git a/examples/tactics/Simplifier.fst.hints b/examples/tactics/Simplifier.fst.hints index d324163e9a9..dde85c45701 100644 --- a/examples/tactics/Simplifier.fst.hints +++ b/examples/tactics/Simplifier.fst.hints @@ -1 +1 @@ -[ "·q³IO¢ß\u0002…›z$ž\u0002\n©", [] ] \ No newline at end of file +[ "Þ\u0010‚kŒâ84\u0000u¼ÍÙÚf", [] ] \ No newline at end of file diff --git a/examples/tactics/SolveThen.fst b/examples/tactics/SolveThen.fst index 615454ae663..10cff2d6b38 100644 --- a/examples/tactics/SolveThen.fst +++ b/examples/tactics/SolveThen.fst @@ -15,7 +15,7 @@ *) module SolveThen -open FStar.Tactics +open FStar.Tactics.V2 let rec fib n : Tac unit = if n < 2 then exact (`1) else (apply (`(+)); fib (n - 1); fib (n - 2)) @@ -29,6 +29,6 @@ let constr (a b : prop) : squash (a ==> b ==> b /\ a) (let ha = implies_intro () in let hb = implies_intro () in split (); - hyp hb; - hyp ha; + hyp (binding_to_namedv hb); + hyp (binding_to_namedv ha); qed ()) diff --git a/examples/tactics/SolveThen.fst.hints b/examples/tactics/SolveThen.fst.hints index ab668f57bf4..0fece6c7772 100644 --- a/examples/tactics/SolveThen.fst.hints +++ b/examples/tactics/SolveThen.fst.hints @@ -1 +1 @@ -[ "ñïÒ•£Ù‚\u001e\u0005#»ç ;\u0002", [] ] \ No newline at end of file +[ "5¨@Uü¡;ä\u0011åÇ5ÁN}“", [] ] \ No newline at end of file diff --git a/examples/tactics/Tautology.fst b/examples/tactics/Tautology.fst index 7649c80232c..bb06a212de9 100644 --- a/examples/tactics/Tautology.fst +++ b/examples/tactics/Tautology.fst @@ -16,7 +16,7 @@ module Tautology module P = FStar.Tactics.PatternMatching -open FStar.Tactics +open FStar.Tactics.V2 // Note: putting ``qed ()`` inside each call to ``gpm`` would give early // errors, at the price of verbosity. @@ -37,15 +37,14 @@ let rec tauto (): Tac unit = P.implies_intro' () ); P.gpm (fun (a: Type0) (h: P.hyp a) (g: P.pm_goal (squash a)) -> - P.exact_hyp a h + P.exact_hyp a (binding_to_namedv h) ); P.gpm (fun (a: Type0) (h: P.hyp a) (g: P.pm_goal a) -> - P.exact_hyp' h + P.exact_hyp' (binding_to_namedv h) ); ]); qed () - assume val p: prop // This one exercises matching on squash p diff --git a/examples/tactics/Tautology.fst.hints b/examples/tactics/Tautology.fst.hints index d19488b5975..d030b751951 100644 --- a/examples/tactics/Tautology.fst.hints +++ b/examples/tactics/Tautology.fst.hints @@ -1,5 +1,5 @@ [ - "û^c\n³.þ­âð&/\u000fÖç", + "^$& (\u0016\u0019\u007ffŒTžíŸað", [ [ "Tautology.uu___23", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "4c01a4cfa5ce07be4c7029beed586efa" + "7b660e337871694fb4eb82925f9679da" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Trace.fst b/examples/tactics/Trace.fst index 0f68217887e..5ca21761ceb 100644 --- a/examples/tactics/Trace.fst +++ b/examples/tactics/Trace.fst @@ -49,7 +49,7 @@ they do not have to be recursive, but they do. *) * is also tail-recursive (and the trace is "backwards"). *) -open FStar.Tactics +open FStar.Tactics.V2 type mynat = | Z @@ -91,9 +91,9 @@ let rec instrument_body (ii : ins_info) (t : term) : Tac term = pack (Tv_Match t ret_opt brs') end // descend into lets - | Tv_Let r attrs b ty t1 t2 -> begin + | Tv_Let r attrs b t1 t2 -> begin let t2' = instrument_body ii t2 in - pack (Tv_Let r attrs b ty t1 t2') + pack (Tv_Let r attrs b t1 t2') end | _ -> begin let hd, args = collect_app t in @@ -132,7 +132,7 @@ let instrument (f : 'a) : Tac unit = if length all_args = 0 then fail "Function has no arguments?"; let real, trace_arg = cutlast all_args in - let real = map (fun b -> pack (Tv_Var (bv_of_binder b))) real in + let real = map (fun b -> pack (Tv_Var (binding_to_namedv b))) real in if length real > 8 then fail "Too many arguments to instrument function"; assert (length real <= 8); @@ -140,7 +140,7 @@ let instrument (f : 'a) : Tac unit = orig_name = n; ins_name = n'; args = real; - trace_arg = pack (Tv_Var (bv_of_binder trace_arg)) + trace_arg = pack (Tv_Var (binding_to_namedv trace_arg)) } in (* Apply the function to the arguments and unfold it. This will only * unfold it once, so recursive calls are present *) diff --git a/examples/tactics/Trace.fst.hints b/examples/tactics/Trace.fst.hints index f3055d7a5ed..a6251747f7f 100644 --- a/examples/tactics/Trace.fst.hints +++ b/examples/tactics/Trace.fst.hints @@ -1,5 +1,5 @@ [ - "sÀ)\n÷\u0007\u000f¯>\u0014`%Û\u00073", + "äÿ6V\u001e¥ºöà\u0004FB‹à¼", [ [ "Trace.mynat", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "34dce50b0f4a09c02392845a6f60070f" + "7c8ef26e103218d170a0e51848945f6f" ], [ "Trace.__proj__S__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_404885b3cc4eeb5f45b884df07c7ad02" ], 0, - "13ac3fa8b6c85f5b61ca8afd977e9513" + "00f44453426d0b666823ea6ebf4db627" ], [ "Trace.tick_last", @@ -37,7 +37,20 @@ "subterm_ordering_Prims.Cons" ], 0, - "2e18298c448c80c1a6d6b81af3f2e58d" + "97de124f2fb4822c8caf45fc5f6b1b84" + ], + [ + "Trace.instrument_body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result" + ], + 0, + "01a28eb0954a71d8f1cf1adee0afbccb" ], [ "Trace.cutlast", @@ -66,7 +79,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "e5e4d90dee209e76786455e81dbcce95" + "e4ec7a19263f4946aed8ab5fc6e15391" ], [ "Trace.instrument", @@ -76,21 +89,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "constructor_distinct_FStar.Tactics.NamedView.Tv_FVar", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "equation_Prims.nat", + "equation_FStar.Tactics.NamedView.binding", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.binder", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "int_inversion", "kinding_FStar.Reflection.V2.Data.binding@tok", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Tv_FVar_v", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -101,7 +112,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "fcaeb87399789c0c183f504c982c010e" + "067580f3426e0c4bc07c367f55c7f803" ], [ "Trace.fall", @@ -118,7 +129,7 @@ "typing_tok_Trace.Z@tok" ], 0, - "1873be896128ac6b967bce42bfafe79d" + "64e4dcdb370117cba4e09bd5761e5bcd" ], [ "Trace.uu___114", @@ -137,7 +148,7 @@ "typing_tok_Trace.Z@tok" ], 0, - "836d678f4607824569f8f6384cbbdbe0" + "d48c881157f9194d510e2159eaf549aa" ], [ "Trace.fact_aux", @@ -155,7 +166,7 @@ "well-founded-ordering-on-nat" ], 0, - "d59a2777b9aa7b50aa2643323d847dfb" + "44d2bcf21c4937ce87f2ebf6351ff421" ], [ "Trace.uu___127", @@ -180,7 +191,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0dbd6fecb1fbcc87254c1925a623fc2e" + "52fbf7cc51a2438864f69578c94442e0" ], [ "Trace.uu___133", @@ -206,7 +217,7 @@ "typing_Trace.fact_" ], 0, - "0cdf5299ec84f6c755e1a1f22b99bb06" + "cc78227bc605d2cd7a18de9dbadd1823" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Tutorial.fst b/examples/tactics/Tutorial.fst index d2bc7567a22..b68d1700637 100644 --- a/examples/tactics/Tutorial.fst +++ b/examples/tactics/Tutorial.fst @@ -19,7 +19,7 @@ module Tutorial /// (July 23rd, 2017) state. It is mostly aimed at users and power users, leaving /// some details about the implementation out of this. -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List /// **First, what are tactics supposed to be?** diff --git a/examples/tactics/Tutorial.fst.hints b/examples/tactics/Tutorial.fst.hints index 5a7974b6c1f..b1553b6d122 100644 --- a/examples/tactics/Tutorial.fst.hints +++ b/examples/tactics/Tutorial.fst.hints @@ -1,5 +1,5 @@ [ - "\u001c£\b\u0010&ÅH®æw\u0015°4ñª", + "kdg°c\\åÛ R<%͵€è", [ [ "Tutorial.ex3", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b450975297e5fe9e6e99412f59dfda6" + "35048ac5bfcbe627107a40ca4a8fc99b" ], [ "Tutorial.ex3'", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c00bfc30e43c20af2c1cc05646201b9e" + "e4d5739149a2fab14f2f825b9fbb1f8a" ], [ "Tutorial.ex4", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8f40537d36ded4a9e3af393c2fb348b3" + "7466445d1f6ad34207ec3599a4ff0501" ], [ "Tutorial.ex4", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d3076a19f88d5c831d316bfe37efac04" + "0f7ec19dd4d345de48f1f2ef565c3d41" ] ] ] \ No newline at end of file diff --git a/examples/tactics/UserTactics.fst b/examples/tactics/UserTactics.fst index d4d4806f31d..80d6b9927fc 100644 --- a/examples/tactics/UserTactics.fst +++ b/examples/tactics/UserTactics.fst @@ -14,7 +14,7 @@ limitations under the License. *) module UserTactics -open FStar.Tactics +open FStar.Tactics.V2 let test_print_goal = assert (forall (y:int). y==0 ==> 0==y) @@ -126,7 +126,7 @@ let test_inspect = | Tv_Type _ -> debug "type" | Tv_Var _ -> debug "var" | Tv_FVar _ -> debug "fvar" - | Tv_Refine _ _ _ -> debug "refinement" + | Tv_Refine _ _ -> debug "refinement" | Tv_Const C_Unit -> debug "unit" | Tv_Const (C_Int i) -> debug ("int: " ^ string_of_int i) | _ -> fail "unknown") diff --git a/examples/tactics/UserTactics.fst.hints b/examples/tactics/UserTactics.fst.hints index 98419ed153e..79384798a29 100644 --- a/examples/tactics/UserTactics.fst.hints +++ b/examples/tactics/UserTactics.fst.hints @@ -1,5 +1,5 @@ [ - "Ä‚\t\u0015\u0003Ò”­=‚Ÿ”\u0011^Æõ", + "¢¤ÔCIí]“ÃR8\u0012ÈQD¥", [ [ "UserTactics.test_print_goal", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "575a9addc1fd3955fa190e94b9c23987" + "0d0834080a703e7a737b6ec71b015acc" ], [ "UserTactics.f", @@ -23,7 +23,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "208bfacf4d11d2b677e1c30128190a4b" + "cd6778a91a2399c2df7e990d1eb6e25d" ], [ "UserTactics.simple_equality_assertions", @@ -32,7 +32,7 @@ 1, [ "@query", "true_interp" ], 0, - "a83bc4407a92eb04caefa9e94d9eb87f" + "86d4abce001491915836d59a95e007ff" ], [ "UserTactics.simple_equality_assertions", @@ -41,7 +41,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "41a4ee8956530c1654a607cd810d6f58" + "ab7769551158ddcf87d3635441107f98" ], [ "UserTactics.simple_equality_assertions", @@ -50,7 +50,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "b4aedde944dda28f8e60b7bb43ecf927" + "7c49fe4dcf76b5f82208e3ad2aed06fa" ], [ "UserTactics.simple_equality_assertions", @@ -59,7 +59,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "63c836982e6102bb3239086ebae303db" + "48c763b7290de98cb7d65945287c2407" ], [ "UserTactics.simple_equality_assertions", @@ -68,7 +68,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "63c836982e6102bb3239086ebae303db" + "48c763b7290de98cb7d65945287c2407" ], [ "UserTactics.implicitly_unfolfed_before_preprocessing", @@ -80,7 +80,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "6924fed6a068d79d896f4e76f6d9e603" + "61c8f6c4cddf216dce5cc37cf503fbfd" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -89,7 +89,7 @@ 1, [ "@query", "true_interp" ], 0, - "54e7d87da5140cdaeed8b6518933e25c" + "c2fac45b03234e67abc131f7e73165bd" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -98,7 +98,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "b8d02122ffd21828dc5e3399cb1773f9" + "33697b676179f9ad5c273f7882b4cc4a" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -107,7 +107,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "b8d02122ffd21828dc5e3399cb1773f9" + "33697b676179f9ad5c273f7882b4cc4a" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -116,7 +116,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "50dae246c847f68362c82d26da8fbcde" + "f77cf215df12709b6900dd48e13747b6" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -125,7 +125,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "50dae246c847f68362c82d26da8fbcde" + "f77cf215df12709b6900dd48e13747b6" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -137,7 +137,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a41c6e1c717d2c259b61b9bf1a7b4c35" + "df4c7e1afc9c2760fff7bb20f674757c" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -146,7 +146,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "c5ccf58fe5c4aaafc0b46d24764073a7" + "8e10bb097edacdb9c1ceb124e183cfa2" ], [ "UserTactics.simple_equality_assertions_within_a_function", @@ -155,7 +155,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "c5ccf58fe5c4aaafc0b46d24764073a7" + "8e10bb097edacdb9c1ceb124e183cfa2" ], [ "UserTactics.partially_solved_using_smt", @@ -164,7 +164,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "3b0606d60b8bce1a9158a5dc88b1af34" + "f3077bc49dcda4f8d4e9e8acfa39b244" ], [ "UserTactics.partially_solved_using_smt", @@ -173,7 +173,7 @@ 1, [ "@query", "assumption_UserTactics.Pred1_saturated", "int_typing" ], 0, - "a1630b86a0c61348383224c4cd3e3c2a" + "43c62e34cb77eb8f1a67fccd7958c4a6" ], [ "UserTactics.partially_solved_using_smt", @@ -182,7 +182,7 @@ 1, [ "@query", "assumption_UserTactics.Pred1_saturated", "int_typing" ], 0, - "6395b9d1f0fdc89ef8fc90dfbe51257e" + "6858b1149a3846a7271e270c0357a4ad" ], [ "UserTactics.lemma_mul_comm", @@ -191,7 +191,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "c187e9e35333be1c2435321f7f152e4e" + "4a66afba4ba56715706e67664c6cebe2" ], [ "UserTactics.sqintro", @@ -200,7 +200,7 @@ 1, [ "@query" ], 0, - "6e5eb6529bc32effb53338151756d64a" + "e65d3a3ef4637ecafb9372f226347c15" ], [ "UserTactics.test_apply_ascription'", @@ -209,7 +209,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "4af7078394e8b01011ad5f9acc11039f" + "d0875e51b4a81cd0a18f250148042963" ], [ "UserTactics.test_apply_ascription", @@ -218,7 +218,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "f7eac92e1961e93f11a05303fbb23049" + "1f4b5d2a7512c50cdeb7061d4e9e29e7" ] ] ] \ No newline at end of file diff --git a/examples/tactics/bench/PolyStub.fst b/examples/tactics/bench/PolyStub.fst index 7c492a2f370..eb8443ffdb0 100644 --- a/examples/tactics/bench/PolyStub.fst +++ b/examples/tactics/bench/PolyStub.fst @@ -16,7 +16,7 @@ module __MODULE__ open FStar.Tactics.CanonCommSemiring -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul // These assumptions are proven in https://github.com/project-everest/vale/blob/fstar/src/lib/math/Math.Lemmas.Int_i.fsti diff --git a/examples/tactics/eci19/Automation.fst b/examples/tactics/eci19/Automation.fst index 306cfd70103..24d61c0b4e2 100644 --- a/examples/tactics/eci19/Automation.fst +++ b/examples/tactics/eci19/Automation.fst @@ -1,6 +1,6 @@ module Automation -open FStar.Tactics +open FStar.Tactics.V2 (* As you have seen, doing constructive proofs by hand can get tedious. We diff --git a/examples/tactics/eci19/Automation.fst.hints b/examples/tactics/eci19/Automation.fst.hints index 50c968a1675..36fdd35a58c 100644 --- a/examples/tactics/eci19/Automation.fst.hints +++ b/examples/tactics/eci19/Automation.fst.hints @@ -1,5 +1,5 @@ [ - "¾ç,T£\u001a”\u0010°ŠÖ8ü\u001f\u0015³", + "\u001c\f?åØ ŠS\u0015r{@꽆\u007f", [ [ "Automation.ea1''", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e908666043cf2334bd42ea9d8956e8eb" + "c9a440b30232624dc7a341e2b2a9a906" ], [ "Automation.ea2''", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c3a1341b8df24560f24115b513898964" + "7f3cc371c57f1e09ad06177d4d777774" ], [ "Automation.ea4''", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "0756b4f722a9583be35220944cc036d2" + "948f7d4f312aa8055fc67cd39b0fc050" ], [ "Automation.ea5''", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "7d20837eb1a3dff70044fd082a1de70c" + "1f43f6163890e5eff47eff63d5730fbc" ], [ "Automation.ea6''", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "b4a309b0f3257cf28955e33ed2be7671" + "342bf44afa9b79cfb22c4c787f537574" ], [ "Automation.ea7''", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "ab7b9ddfd54c6d1e6c25c3857b98a2db" + "2f77631a1b186132396cd581ff81ec35" ], [ "Automation.ea8''", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "a03949fdfe8b615b76392015943b1a76" + "ae3708457a3557b1a42f982d75e8bc15" ], [ "Automation.ea9''", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "2ab759069da6d45491bd028eaaf419e0" + "3f7322ed20ab48bcbc0325470fbf220e" ], [ "Automation.ea10''", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "8148fb605d46902734f82c6b46467587" + "f540577d9a04c37b4f259361f5d4a4b9" ] ] ] \ No newline at end of file diff --git a/examples/tactics/eci19/ConstructiveLogic.fst b/examples/tactics/eci19/ConstructiveLogic.fst index f8f9d9b2721..a4ba68d8f45 100644 --- a/examples/tactics/eci19/ConstructiveLogic.fst +++ b/examples/tactics/eci19/ConstructiveLogic.fst @@ -1,6 +1,6 @@ module ConstructiveLogic -open FStar.Tactics +open FStar.Tactics.V2 (* As you probably know by now, verification in F* works by first computing @@ -57,7 +57,7 @@ the goal via `hyp`. let ex1 (p : prop) = assert (p ==> p) by (let b = implies_intro () in - hyp b) + hyp (binding_to_namedv b)) (* The `qed` tactic checks that there are no more open goals when called, @@ -73,7 +73,7 @@ assertion via tactics. let ex1_qed (p : prop) = assert (p ==> p) by (let b = implies_intro () in - hyp b; + hyp (binding_to_namedv b); qed ()) (* Exercise: add intermediate `dump` calls to see how the proofstate evolves *) @@ -85,7 +85,7 @@ let ex2 (p q : prop) = assert (p ==> q ==> p) by (let bp = implies_intro () in let _ = implies_intro () in - hyp bp; + hyp (binding_to_namedv bp); qed ()) (* @@ -103,9 +103,9 @@ let ex3 (p q : prop) = let bq = implies_intro () in split (); (* Now we have two goals: q and p *) - hyp bq; + hyp (binding_to_namedv bq); (* Only one goal left, p *) - hyp bp; + hyp (binding_to_namedv bp); (* Done! *) qed ()) @@ -114,8 +114,8 @@ for each conjunct. *) let ex4 (p q : prop) = assert (p /\ q ==> p) by (let h = implies_intro () in - let (bp, bq) = destruct_and (binder_to_term h) in - hyp bp; + let (bp, bq) = destruct_and (binding_to_term h) in + hyp (binding_to_namedv bp); qed ()) (* The `left` and `right` tactics solve a disjunction by reducing @@ -124,14 +124,14 @@ let ex5 (p q : prop) = assert (p ==> p \/ q) by (let bp = implies_intro () in left (); - hyp bp; + hyp (binding_to_namedv bp); qed ()) let ex6 (p q : prop) = assert (p ==> q \/ p) by (let bp = implies_intro () in right (); - hyp bp; + hyp (binding_to_namedv bp); qed ()) (* `cases_or` instead destroys a disjunction `p \/ q`, and splits the @@ -139,15 +139,15 @@ let ex6 (p q : prop) = let ex7 (p q : prop) = assert (p \/ q ==> q \/ p) by (let bp_or_q = implies_intro () in - cases_or (binder_to_term bp_or_q); + cases_or (binding_to_term bp_or_q); (* first case *) let bp = implies_intro () in right (); - hyp bp; + hyp (binding_to_namedv bp); (* second case *) let bq = implies_intro () in left (); - hyp bq; + hyp (binding_to_namedv bq); qed ()) (* To use an implication, we can use the `mapply` tactic. This tactic @@ -157,8 +157,8 @@ let ex8 (p q : prop) = assert ((p ==> q) ==> p ==> q) by (let i = implies_intro () in let h = implies_intro () in - mapply (binder_to_term i); - mapply (binder_to_term h); + mapply i; + mapply h; qed ()) (* `forall_intro` will turn a goal of the shape `forall (x:t). phi` into @@ -168,7 +168,7 @@ let ex9 (p : prop) = assert (p ==> (forall (_x:int). p)) by (let bp = implies_intro () in let _bx = forall_intro () in - hyp bp; + hyp (binding_to_namedv bp); qed ()) (* `instantiate` will instantiate a forall with some particular term @@ -180,8 +180,8 @@ let ex10 (p : int -> prop) = assert ((forall x. p x) ==> (exists x. p x)) by (let bf = implies_intro () in witness (`0); - let bp0 = instantiate (binder_to_term bf) (`0) in - hyp bp0) + let bp0 = instantiate (binding_to_term bf) (`0) in + hyp (binding_to_namedv bp0)) (* Exercises: do these proofs constructively, and make sure to end with a `qed ()` to check that the SMT solver is not used. *) diff --git a/examples/tactics/eci19/ConstructiveLogic.fst.hints b/examples/tactics/eci19/ConstructiveLogic.fst.hints index e69e700677b..ade1fd401f5 100644 --- a/examples/tactics/eci19/ConstructiveLogic.fst.hints +++ b/examples/tactics/eci19/ConstructiveLogic.fst.hints @@ -1,5 +1,5 @@ [ - "\u0006é¸p¬¢¯¶¿!+\u0015zÜÆ~", + "âƒø±®Â4Iõ@Ï(™ÝY¬", [ [ "ConstructiveLogic.modulo_add_fail", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2e2efa6a7806794fce80d64163aab21e" + "960be8e93d0090c6211a869ea65fed00" ], [ "ConstructiveLogic.ex11", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "bad91a6513d35c3473286127cf37d238" + "8dfe51337a938c66110f83e03f9998c8" ], [ "ConstructiveLogic.ex12", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "7e9771c4aa71454f1e656986ec302759" + "8c0bc1cf6ad31490e614e0cea3cad272" ], [ "ConstructiveLogic.ex14", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "c0df57c7bc7b2e43b9c0c33d7b45fd58" + "db1bf8622813fa9aa64c658a1da3115f" ] ] ] \ No newline at end of file diff --git a/examples/tactics/eci19/Hybrid.fst b/examples/tactics/eci19/Hybrid.fst index 874c3171e4f..7347526e093 100644 --- a/examples/tactics/eci19/Hybrid.fst +++ b/examples/tactics/eci19/Hybrid.fst @@ -1,6 +1,6 @@ module Hybrid -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul (* diff --git a/examples/tactics/eci19/Hybrid.fst.hints b/examples/tactics/eci19/Hybrid.fst.hints index fcbe454fc85..a217c30afac 100644 --- a/examples/tactics/eci19/Hybrid.fst.hints +++ b/examples/tactics/eci19/Hybrid.fst.hints @@ -1,5 +1,5 @@ [ - "p²áѱ¥9>;*JÖ^Í\u0002t", + "ÑØ+'ÕªDÙ,\u0010ÉB*½:", [ [ "Hybrid.modulo_add", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eb6f7fac2d7857c20098174ac77ba3bc" + "13821d9442be4e6799df418db121fb21" ], [ "Hybrid.modulo_add_tactic", @@ -24,7 +24,7 @@ "true_interp" ], 0, - "d4b1c39f44868ec36cb717e1a8c942df" + "358238164757c6cf328ecffc1d580899" ], [ "Hybrid.modulo_add_tactic", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_e3a4e5476d18c8c2f957436958fd7dc3" ], 0, - "fc998b9f6128143a77137655c1fe618b" + "a9bdc6a63c4fb8a5788fc22eee63c0a1" ], [ "Hybrid.modulo_add_tactic", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5d63f9eda7be14cf7a6c0f9db7df5990" + "6c83972b053dc0efea03792b37df05d2" ], [ "Hybrid.modulo_add_tactic", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "138052511412ad99eaefc5c63affde0f" + "a91caa0ff3fa4f03f82e468890e8c794" ], [ "Hybrid.modulo_add_tactic", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0ece0ddffee8ca209dc8267327a780ca" + "cb0bc4644775f64da4da00b8a8821116" ], [ "Hybrid.modulo_add_tactic", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "837da27cc1a5fd69b3d30d762c43b3d9" + "4b824e68c36e9ec44b103aa91476b641" ], [ "Hybrid.triang", @@ -110,7 +110,7 @@ "well-founded-ordering-on-nat" ], 0, - "db55fa60e44d6bd6cb0d058083a01b61" + "ad6d76ac03ad49a10b0545460d056e29" ], [ "Hybrid.gauss", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4738a65711545a081e40180cebcd33fd" + "cf1c7167c4939a0fcd0fa46e3ef0065a" ], [ "Hybrid.gauss", @@ -153,7 +153,7 @@ "typing_Hybrid.triang", "well-founded-ordering-on-nat" ], 0, - "3232e76f61b54d733795a77e367cffe5" + "38dbe2966a2d9ab35b93d7f060b56ac1" ], [ "Hybrid.prod_even", @@ -166,7 +166,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cbd82dda19adeccce12121a1440cf327" + "d8e9b0b121562e5bb350d1a6a72740c7" ], [ "Hybrid.triang2", @@ -180,7 +180,7 @@ "true_interp" ], 0, - "57f3d082a5fdadbd1f452ac515a2a802" + "496737efbe2164ec79e75cb7c3450ebe" ], [ "Hybrid.triang2", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3fa8f21420e10ab965eb6838d80011da" + "169b5f570e054277065263c9c96de2e4" ], [ "Hybrid.silly_lemma", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "235c474ce7b6815c053c7d14d5b585fd" + "2df6fbe1b71c560fb8177c4c971c45b7" ], [ "Hybrid.test_need_arg", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_417e6b562faf2c5944c7cd18ae8df052" ], 0, - "e0256d0045b0479e15e483ffb6f2b73d" + "98703974299e3e84c2c845afd0b7d2df" ] ] ] \ No newline at end of file diff --git a/examples/tactics/eci19/Intro.fst b/examples/tactics/eci19/Intro.fst index 2045c2f5912..5b5ba41d646 100644 --- a/examples/tactics/eci19/Intro.fst +++ b/examples/tactics/eci19/Intro.fst @@ -4,7 +4,7 @@ module Intro really to teach you how to use it. That's what the next files are for! *) (* We always need this module to use Meta-F* *) -open FStar.Tactics +open FStar.Tactics.V2 (* @@ -110,8 +110,8 @@ let constr (a b : prop) : Lemma (a ==> b ==> b /\ a) = by (let ha = implies_intro () in let hb = implies_intro () in split (); - hyp hb; - hyp ha; + hyp (binding_to_namedv hb); + hyp (binding_to_namedv ha); qed ()) (* Exercise: inspect the intermediate proof states to understand the @@ -288,17 +288,17 @@ metaprogram that constructs an addition function for any amount of arguments. *) -let rec __run (bs:binders) : Tac unit = - match inspect (cur_goal ()) with - | Tv_Arrow _ _ -> - let b = intro () in - __run (b::bs) - | _ -> - iter (fun b -> apply (`(+)); - exact (binder_to_term b)) bs; - exact (`0) - let make_add () : Tac unit = + let rec __run (bs:list binding) : Tac unit = + match inspect (cur_goal ()) with + | Tv_Arrow _ _ -> + let b = intro () in + __run (b::bs) + | _ -> + iter (fun b -> apply (`(+)); + exact (binding_to_term b)) bs; + exact (`0) + in __run [] let add_2 : a:int -> b:int -> Tot int = _ by (make_add ()) diff --git a/examples/tactics/eci19/Intro.fst.hints b/examples/tactics/eci19/Intro.fst.hints index 00e40ef417c..c5fabaea04f 100644 --- a/examples/tactics/eci19/Intro.fst.hints +++ b/examples/tactics/eci19/Intro.fst.hints @@ -1,5 +1,5 @@ [ - "\fø¡Çð}À&+\u001d\u001c‘cdí@", + "²ç[‚³\u00157ýÁ“AŒ €B*", [ [ "Intro.recursive_tac", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "005f9c642866716353aee1acf3686323" + "b595348562f955b34291b737bcc3aad9" ], [ "Intro.constr", @@ -22,7 +22,7 @@ 1, [ "@query", "true_interp" ], 0, - "c2defadb294a416e7512eedb13a202cf" + "5aaefb33fdd1f3463401568284dbad1b" ], [ "Intro.triang", @@ -39,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "f4b042c1e2d0feb75c39127001831727" + "0e31289dfddfce5b2b4e5b5fa727b573" ], [ "Intro.triang_aux", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a3c1db7c954b6b8669b3ea1d7e796260" + "6da7200c71e1f0e27789e42e4d90f78d" ], [ "Intro.gauss", @@ -79,7 +79,7 @@ "well-founded-ordering-on-nat" ], 0, - "d919910188c75f0325ed1bee330d4f94" + "edc63f598bc2423e36e23a0f3e4eb71f" ], [ "Intro.prod_even", @@ -92,7 +92,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4aa69cb75d837d3637f99d079c01a94e" + "deb384c037f3f3af20b2eb4a410d2d03" ], [ "Intro.test_good", @@ -106,7 +106,7 @@ "true_interp" ], 0, - "2c634b00c9eb45eed790ad3e3ac395d6" + "09caf9a5861f2a0b74559b88ee39cd80" ], [ "Intro.test_blowup", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "3e83e6b766151bba8a1ba7a95b8ea964" + "7e47156e71632ff6e4fe64370c27222e" ], [ "Intro.repeatN", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2a406b1eed67ad03310910a5c6b6e59b" + "3a59fcce57d76c343461b55b4f846308" ], [ "Intro.sums", @@ -148,10 +148,10 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5698b7f6e77bea52d847cd048c6bddaf" + "34794807bf8d2ee3ca1c58e3e0d6ce86" ], [ - "Intro.uu___127", + "Intro.uu___128", 1, 2, 1, @@ -161,10 +161,10 @@ "projection_inverse_BoxInt_proj_0", "typing_Intro.add_2" ], 0, - "246656bd1bf1d105a071905d387b16e9" + "e970123ef3124cdba7db789109f1fb62" ], [ - "Intro.uu___128", + "Intro.uu___129", 1, 2, 1, @@ -174,10 +174,10 @@ "projection_inverse_BoxInt_proj_0", "typing_Intro.add_3" ], 0, - "14bb37a0f150435470aca93626ab9530" + "4cf8fa894db03e519ccc46a9ea1f6644" ], [ - "Intro.uu___129", + "Intro.uu___130", 1, 2, 1, @@ -187,25 +187,25 @@ "projection_inverse_BoxInt_proj_0", "typing_Intro.add_4" ], 0, - "d8a5c8291d0d5f0c1df9b8173d2cf3d8" + "eaa2f4a16f38800dc6672021f91206d8" ], [ - "Intro.uu___136", + "Intro.uu___137", 1, 2, 1, [ "@query", "equation_Intro.diag" ], 0, - "22ba55594500ee4662894f9e96f20f90" + "5e99c5a0bad2cce70d595762f68fd9cd" ], [ - "Intro.uu___137", + "Intro.uu___138", 1, 2, 1, [ "@query", "equation_Intro.diag" ], 0, - "c707d98b0d8eab26026359a68402d5ac" + "0c2965c2560617dfd87c96e8e714033b" ], [ "Intro.test_add", @@ -217,9 +217,8 @@ "equation_Intro.add_int", "equation_Intro.sum", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_d7adb22b06ff9c59478be5520cee7396", - "primitive_Prims.op_Addition", "proj_equation_Intro.Mkadd_sum", - "projection_inverse_BoxInt_proj_0", + "interpretation_Tm_abs_a478e62d90b46c4566b41c0b5ee6c29c", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Intro.Mkadd_sum", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Intro.sum", @@ -227,7 +226,7 @@ "typing_Intro.add_int" ], 0, - "0409ab7cbe664a851e83ddf55fb7b5ea" + "02406bf99ef06b98d02a6a853ea46e24" ] ] ] \ No newline at end of file diff --git a/examples/tactics/eci19/Metaprogramming.fst b/examples/tactics/eci19/Metaprogramming.fst index 22e6672626e..5ee96dfd5c7 100644 --- a/examples/tactics/eci19/Metaprogramming.fst +++ b/examples/tactics/eci19/Metaprogramming.fst @@ -1,6 +1,6 @@ module Metaprogramming -open FStar.Tactics +open FStar.Tactics.V2 (* Now, we shall turn to the automated generation of programs. Meta-F* @@ -67,7 +67,7 @@ A `binder` for `x` is returned by intro, so it can be used to construct the new solution. *) let fancy_id : x:int -> int = _ by (let x = intro () in - exact (binder_to_term x)) + exact (binding_to_term x)) (* Exercise: look at the proof states and final solution of `fancy_id` *) @@ -98,7 +98,7 @@ type enum = | A | B | C let matchenum : enum -> int = _ by (let x = intro () in - destruct (binder_to_term x); + destruct (binding_to_term x); ignore (intro ()); exact (`1); ignore (intro ()); exact (`2); ignore (intro ()); exact (`3)) @@ -110,9 +110,9 @@ type either (a b : Type) = | Left of a | Right of b let matcheither : either int int -> int = _ by (let x = intro () in - destruct (binder_to_term x); - let x = intro() in ignore (intro ()); exact (binder_to_term x); - let y = intro() in ignore (intro ()); exact (binder_to_term y)) + destruct (binding_to_term x); + let x = intro() in ignore (intro ()); exact (binding_to_term x); + let y = intro() in ignore (intro ()); exact (binding_to_term y)) let _ = assert (matcheither (Left 10) == 10) let _ = assert (matcheither (Right 20) == 20) diff --git a/examples/tactics/eci19/Metaprogramming.fst.hints b/examples/tactics/eci19/Metaprogramming.fst.hints index cb85e1adbaa..00aa60278d0 100644 --- a/examples/tactics/eci19/Metaprogramming.fst.hints +++ b/examples/tactics/eci19/Metaprogramming.fst.hints @@ -1,5 +1,5 @@ [ - "\f4x9Mµ\"Ž-äª\u0010X\tÓy", + "'»sŸö]\u0017¬(Ý·úPQ\u0016§", [ [ "Metaprogramming.either", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "447260332eeea775a685de2b72f334b9" + "6634d7f1fa2bd884ed83d7d55b065aa0" ], [ "Metaprogramming.__proj__Left__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_0f3a37e607a8bceb88eb8b90d75fcd39" ], 0, - "6e947cf8a20dc2eab5bf479a93323b95" + "9e72ed9723911c2880fdf0041d4798c8" ], [ "Metaprogramming.__proj__Right__item___0", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_dda24ff22658933ed5e78a00d5bb0a0d" ], 0, - "06a93c45b184d35da5c5d048893951e0" + "bfa7ef1356da65c19d30b7410bafa429" ], [ "Metaprogramming.uu___40", @@ -47,7 +47,7 @@ "projection_inverse_Metaprogramming.Left_b" ], 0, - "98c16c29d4ac8bf7428f1c29ec35b4c1" + "803977e8ba650a5451f5838a870a3c54" ], [ "Metaprogramming.uu___41", @@ -62,7 +62,7 @@ "projection_inverse_Metaprogramming.Right_b" ], 0, - "21931b186bd3e792f624c2f19a695c62" + "1baae7dcfeaaf3c9220948ec74c89bb3" ] ] ] \ No newline at end of file diff --git a/examples/tactics/eci19/Term.fst b/examples/tactics/eci19/Term.fst index 2233d9ea5e0..43d8ab7e9fe 100644 --- a/examples/tactics/eci19/Term.fst +++ b/examples/tactics/eci19/Term.fst @@ -1,6 +1,6 @@ module Term -open FStar.Tactics +open FStar.Tactics.V2 (* When using tactics and metaprogramming, it is crucial to both be able diff --git a/examples/tactics/eci19/Term.fst.hints b/examples/tactics/eci19/Term.fst.hints index 6f7a9c84964..66a4609bba9 100644 --- a/examples/tactics/eci19/Term.fst.hints +++ b/examples/tactics/eci19/Term.fst.hints @@ -1 +1 @@ -[ "]ÂR€‘Ùá5~¡\u001aÉ@9\u0005", [] ] \ No newline at end of file +[ "á§\u0003Á…¿\u0017ã’¡*‘¿\u001d¬%", [] ] \ No newline at end of file diff --git a/examples/tactics/old/CanonDeep.fst b/examples/tactics/old/CanonDeep.fst index c9c36be7619..ece7d628b68 100644 --- a/examples/tactics/old/CanonDeep.fst +++ b/examples/tactics/old/CanonDeep.fst @@ -15,8 +15,8 @@ *) module CanonDeep -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 +open FStar.Reflection.V2 open FStar.Reflection.Arith open FStar.Mul module O = FStar.Order diff --git a/examples/tactics/old/ReifiedTc.fst b/examples/tactics/old/ReifiedTc.fst index adc53d5fc47..ee0676afad7 100644 --- a/examples/tactics/old/ReifiedTc.fst +++ b/examples/tactics/old/ReifiedTc.fst @@ -15,7 +15,7 @@ *) module ReifiedTc -open FStar.Tactics +open FStar.Tactics.V2 type mint = int type state = mint * mint diff --git a/examples/tactics/old/StringPrinter.Base.fst b/examples/tactics/old/StringPrinter.Base.fst index ddead8776c7..84bef1d4fce 100644 --- a/examples/tactics/old/StringPrinter.Base.fst +++ b/examples/tactics/old/StringPrinter.Base.fst @@ -253,7 +253,7 @@ let log_size )))) = f_sz _ (fun _ r _ -> Some r) (fun _ -> None) -module T = FStar.Tactics +module T = FStar.Tactics.V2 let tfail (#a: Type) (s: Prims.string) : T.Tac a = T.debug ("Tactic failure: " ^ s); diff --git a/examples/tactics/old/StringPrinter.Rec.fst b/examples/tactics/old/StringPrinter.Rec.fst index 9dca2483387..e1e0f3b73c2 100644 --- a/examples/tactics/old/StringPrinter.Rec.fst +++ b/examples/tactics/old/StringPrinter.Rec.fst @@ -16,7 +16,7 @@ module StringPrinter.Rec include StringPrinter.Base -module T = FStar.Tactics +module T = FStar.Tactics.V2 module Ca = FStar.Int.Cast module U32 = FStar.UInt32 @@ -197,7 +197,7 @@ let mk_do_while (#t: Type) (x: t) : T.Tac unit = | Some s -> begin match T.inspect_sigelt s with | T.Sg_Let true lbs -> - let lb = T.lookup_lb_view lbs n in + let lb = T.lookup_lb lbs n in let ty, tm = T.(lb.lb_typ, lb.lb_def) in begin match T.inspect ty with | T.Tv_Arrow tin' tout' -> diff --git a/examples/tactics/old/StringPrinter.RecC.fst b/examples/tactics/old/StringPrinter.RecC.fst index d2df1245f61..570f0d51689 100644 --- a/examples/tactics/old/StringPrinter.RecC.fst +++ b/examples/tactics/old/StringPrinter.RecC.fst @@ -294,7 +294,7 @@ let do_while_st #reset-options -module T = FStar.Tactics +module T = FStar.Tactics.V2 let do_while_tm () : T.Tac T.term = quote (fun #a -> do_while #a) diff --git a/examples/tactics/old/StringPrinterTest.Aux.fst b/examples/tactics/old/StringPrinterTest.Aux.fst index 8bde34162b9..f83989639c9 100644 --- a/examples/tactics/old/StringPrinterTest.Aux.fst +++ b/examples/tactics/old/StringPrinterTest.Aux.fst @@ -18,7 +18,7 @@ include StringPrinter.RecC module Ca = FStar.Int.Cast module U32 = FStar.UInt32 -module T = FStar.Tactics +module T = FStar.Tactics.V2 module HST = FStar.HyperStack.ST module B = FStar.Buffer diff --git a/examples/termination/CPS.Double.fst.hints b/examples/termination/CPS.Double.fst.hints index 21610ceb176..d808e1021ec 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, - "b3dc3b9cb8a241965834f2b869663e92" + "809ed2b38d67cddaeb1d49162115b0ce" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.DoubleDefun.fst.hints b/examples/termination/CPS.DoubleDefun.fst.hints index 7c8efa3e9c4..88f890e7300 100644 --- a/examples/termination/CPS.DoubleDefun.fst.hints +++ b/examples/termination/CPS.DoubleDefun.fst.hints @@ -11,7 +11,7 @@ "assumption_Prims.HasEq_int" ], 0, - "dddaec5319258fa9f92e92fdb433f110" + "2642ead263eb824136517c9ff1a9c4b1" ], [ "CPS.DoubleDefun.__proj__C1__item___0", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "d2f76842dc85b6d5e0d3c07b938762c5" + "f40f98ae7bb408dd9caf9f9121666eac" ], [ "CPS.DoubleDefun.__proj__C1__item___1", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "3a44c3f025152ce7f0a0739693457a2e" + "69db7f16317b9a42ee7915be648cfb68" ], [ "CPS.DoubleDefun.__proj__C2__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "0eae50f5c2ec418cd1dde96106e8b071" + "144af98eb393030ca48457625ab7bd5e" ], [ "CPS.DoubleDefun.__proj__C2__item___1", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "70af34a62f15f063a7291c3d9fbbc4a0" + "d720933a56a542041b5db324a6147859" ], [ "CPS.DoubleDefun.stack", @@ -81,7 +81,7 @@ "subterm_ordering_CPS.DoubleDefun.C2" ], 0, - "6b4ce7fe08b58b2eb60bc9883a93a3d4" + "94f9c5999eacbf0042099cd1969a1529" ], [ "CPS.DoubleDefun.apply", @@ -118,7 +118,7 @@ "typing_CPS.DoubleDefun.stack", "typing_tok_CPS.DoubleDefun.C0@tok" ], 0, - "e6ca74810b6bd2a466813badd712b7e4" + "9c8294e844c2e62868b915a25eb2e687" ], [ "CPS.DoubleDefun.apply", @@ -152,7 +152,7 @@ "typing_tok_CPS.DoubleDefun.C0@tok", "well-founded-ordering-on-nat" ], 0, - "2d8016a960e6bc1b08833c88ce4c2463" + "05d80d92a3002b0b6884b7c60056b674" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.DoubleLambdaLifting2.fst.hints b/examples/termination/CPS.DoubleLambdaLifting2.fst.hints index 9e19402750c..d48979eb097 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, - "cd7e5e69ef808cf49de7185f1fed2127" + "0a704b6cd42da9384dc9e3d03e36e8df" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.Expr.fst.hints b/examples/termination/CPS.Expr.fst.hints index 0b589cfc43c..7f64458363a 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, - "fbb81a5ac6d31846db501759a6777a44" + "f7a5e964a74d95f987c65915f98a0106" ], [ "CPS.Expr.__proj__Const__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_61068dfb8b28ba423ea3dca285d5c282" ], 0, - "4b2bdd90f0605504e2ddb6c945e31ec2" + "bfbdf3d419f6438adc109fa11cc0c42d" ], [ "CPS.Expr.__proj__Plus__item___0", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "3aa5fb27a1a6136b4390b4c5a2fe2fe3" + "213812a48f331e95ad19795621e2ac4f" ], [ "CPS.Expr.__proj__Plus__item___1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "9ee5b7de8006cbaafdd5379fafe70ead" + "9a2ea55a0da6c6a24524d955d6bb4bfb" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.Simple.fst.hints b/examples/termination/CPS.Simple.fst.hints index 5b62cc71253..8fc4f4f1844 100644 --- a/examples/termination/CPS.Simple.fst.hints +++ b/examples/termination/CPS.Simple.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "526cf4a073e2629b2371695bb57c4fa1" + "ad9718b7648447e60ec26082db872df5" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.SimpleDefun.fst.hints b/examples/termination/CPS.SimpleDefun.fst.hints index a8198979974..0d0e1230299 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, - "36952a8ec9e7f804065e11fd652eea4a" + "b72a8ca1b2e489b2ee0621b1133eac18" ], [ "CPS.SimpleDefun.__proj__C1__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "20b164a1c1b639beffc872be5f4426ab" + "dfd8085a3e2f36bdd3b3608b1f8ce903" ], [ "CPS.SimpleDefun.__proj__C1__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "42ad45fd5ca6d98e217b3733f722568e" + "6636e1047a52e2f739ce8170207be4af" ], [ "CPS.SimpleDefun.apply", @@ -50,7 +50,7 @@ "subterm_ordering_CPS.SimpleDefun.C1" ], 0, - "b9be08239572415831bcf747971b120f" + "51d87f1062b634be3c378a838768ab3c" ], [ "CPS.SimpleDefun.add_cps", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b69271a288980c70a1355c930da0c0ef" + "de8976465eb271d6c995e0174d4b23e5" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.SimpleLambdaLifting.fst.hints b/examples/termination/CPS.SimpleLambdaLifting.fst.hints index 3f08799f431..933642d76be 100644 --- a/examples/termination/CPS.SimpleLambdaLifting.fst.hints +++ b/examples/termination/CPS.SimpleLambdaLifting.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "094c3fa41244ae5323b93148b5d1d5fc" + "d7430941d7522615b29418015f0f49c2" ] ] ] \ No newline at end of file diff --git a/examples/termination/Eval.DB.fst.hints b/examples/termination/Eval.DB.fst.hints index 18c31ef07c7..a26a2f3e5c4 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, - "6882d3b2decff6c845704fa81faa7ac8" + "29a8878ce15ed977f10e2ab70da24f09" ], [ "Eval.DB.__proj__O__item__a", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_484127013bba2593946d02c4a721e275" ], 0, - "2c1c110ef481ea7b2ecd73987a519b31" + "3ef95eda5cafe407e7b374581954d4c5" ], [ "Eval.DB.__proj__S__item__g", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "de30d678548fa3bc0e0e67869c539e84" + "cc5f843665e4edd307ce60f66b76bfc4" ], [ "Eval.DB.__proj__S__item__a", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "61c462a5140513aef906938dc385fbbb" + "15d2aab5666986717ae86538b9304ccc" ], [ "Eval.DB.__proj__S__item__b", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "34c0bd205c9c3086c692e0735cc2e467" + "75531f706368456f712feecea254f18a" ], [ "Eval.DB.__proj__S__item___3", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "65ddd61a33a412b06fa3376b41b2aca2" + "6afd07e34274885e50258d9f595361d9" ], [ "Eval.DB.__proj__Var__item__g", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "bbf9dfcf8931f95fe477cf50fe5116cf" + "9ee5e0d6c41e75bd3f40c2697b5a8c7a" ], [ "Eval.DB.__proj__Var__item__a", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "101a6208d5b73a54f0a6335370cd1738" + "79fbde43cf83df048e0dd7266fe09d0d" ], [ "Eval.DB.__proj__Var__item___2", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "f08ea969fde0804a92bbb153869a258a" + "b61febae7372e111bab0fa13a5652faf" ], [ "Eval.DB.__proj__Lam__item__g", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "14abce24acf9b7f82c67d7707cf1f232" + "106e295ae0a3126b83df6e557ee7de5a" ], [ "Eval.DB.__proj__Lam__item__a", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "5705e172d2eff15310797acc9563ea9f" + "e3d6b43a5286edf2b97bbb658a806cbf" ], [ "Eval.DB.__proj__Lam__item__b", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "5986dcf5aad18136c092dd221d65fcf1" + "c2b36d300ea5d65d696f1ef78a9c1338" ], [ "Eval.DB.__proj__Lam__item__body", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "ef54fe8b4cded10423642e0ba1890155" + "0fbb72ad9eee7298e9d966208d534259" ], [ "Eval.DB.__proj__App__item__g", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "f288aa9eda9160f6e4c2e72f333fe0d5" + "7b5b9669bcc5e1f6ffadaebdc4d29955" ], [ "Eval.DB.__proj__App__item__a", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "2774b2a5ed0ef180f601dd4e2e1f4fa0" + "e9cfef6cd4bb8f0442e346ccb36b7d12" ], [ "Eval.DB.__proj__App__item__b", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "7465f36526e178e91bf075757d22f1a7" + "41a654eae7d54736621e76672fa2dda7" ], [ "Eval.DB.__proj__App__item__e1", @@ -216,7 +216,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "bce647d36d8d531ef31de48580476d4c" + "7e2269d73137fb2164167a917832b80b" ], [ "Eval.DB.__proj__App__item__e2", @@ -228,7 +228,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "6328718bcb6011844af1fe8a8f8b923c" + "58ad9ac1fab7363425f0dcc275c52c85" ], [ "Eval.DB.eval_var", @@ -244,7 +244,7 @@ "subterm_ordering_Eval.DB.S" ], 0, - "cc1547f3775391485059b8cfd47d94e0" + "588ae6c10677c5bafd514c7dd26eaae9" ], [ "Eval.DB.eval", @@ -262,7 +262,7 @@ "typing_Tm_abs_c20f56d85af2ce8374268dea0663a5c9" ], 0, - "172794d2101dbadfa4b59722bb8ed18d" + "81ec3a78c9a3e1f39d1cb87c8ec895a6" ] ] ] \ No newline at end of file diff --git a/examples/termination/mcCarthy91.fst.hints b/examples/termination/mcCarthy91.fst.hints index 96bff4fb1df..3a28c59cfeb 100644 --- a/examples/termination/mcCarthy91.fst.hints +++ b/examples/termination/mcCarthy91.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "87fa7354adcaac1a95022a67800b10f8" + "b0b760deb7feeff4be42891c14e25fbf" ], [ "McCarthy91.f91", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d2f9d64162d0ffd3357db961867a770" + "514671f15370a6e7ce75a656afe3fa29" ], [ "McCarthy91.f91", @@ -53,7 +53,7 @@ "well-founded-ordering-on-nat" ], 0, - "d457baa44539447b25b95ca0856c628e" + "383a078db10257661e062348884dd459" ] ] ] \ No newline at end of file diff --git a/examples/termination/termination.fst.hints b/examples/termination/termination.fst.hints index 6e998ab4b53..758b3a6407e 100644 --- a/examples/termination/termination.fst.hints +++ b/examples/termination/termination.fst.hints @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "b4555da51fd9a8da63a48431939dbb3d" + "92df9c681079d6f69ec59ffca00bf08b" ], [ "Termination.fibonacci", @@ -32,7 +32,7 @@ "well-founded-ordering-on-nat" ], 0, - "4a440135ff82ebe4e85512e2d94f78df" + "d5acd641b509e59ee8334694c1613f39" ], [ "Termination.ackermann", @@ -54,7 +54,7 @@ "well-founded-ordering-on-nat" ], 0, - "edc153b3e4585c4128343320e10bd670" + "0b75d5a177dc72df4965c8e59119d8fc" ], [ "Termination.ack_swap", @@ -75,7 +75,7 @@ "well-founded-ordering-on-nat" ], 0, - "8daabbd457e3f885ac09a6b611374e33" + "15b0c21cac71e77f8e20ee91ba9005ad" ], [ "Termination.length", @@ -92,7 +92,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5f9c403ee7b5e2b47c6df70039ff6d41" + "e02e2694c71fe7fc7901804883508bc8" ], [ "Termination.half_length", @@ -114,7 +114,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "76d6179e2e4f08d7f92b9f0392b87a55" + "1ae108bc515cae0ba7a59a0cba88061f" ], [ "Termination.sumto", @@ -133,7 +133,7 @@ "well-founded-ordering-on-nat" ], 0, - "68b405f4740b9709983c030b7c328fdb" + "ede89fbb2f3a4b917e1fd7ea19e79ead" ], [ "Termination.strangeZero", @@ -149,7 +149,7 @@ "well-founded-ordering-on-nat" ], 0, - "09f07cd4118814d68f52ac1175fb2f76" + "d54f81596473429d917d93ec6bee4139" ], [ "Termination.map", @@ -163,7 +163,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f33e977967cd4e223eb836754ec47d8d" + "b1aa71dd08d69998ef5a356f04fa0b0d" ], [ "Termination.mem", @@ -179,7 +179,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "9c5330d282d9a9c5992cfe776b12252d" + "2d7fdb690dd44023e907efa6f56ea2c5" ], [ "Termination.list_subterm_ordering_coercion", @@ -211,7 +211,7 @@ "typing_Termination.list_subterm_ordering_coercion" ], 0, - "affdd7fc918ad07c525d75b51afd6aa4" + "88274a2d2a88aa497f808ad0c790b44f" ], [ "Termination.list_subterm_ordering_coercion", @@ -245,7 +245,7 @@ "typing_Termination.mem" ], 0, - "5c7b952b0949d43054b6de6a13302d73" + "74b2d5adcd65928f1a83652764921023" ], [ "Termination.list_subterm_ordering_lemma", @@ -271,7 +271,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "8dce3fd55bbf18aa3305ab764d3a3006" + "af4f57717bd5d79e083b176a56e7ac9d" ], [ "Termination.move_refinement", @@ -297,7 +297,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "69708f4c12b45aaa8d3b0fb06b7a27d3" + "301744e677098a3c70ce421e3096caa7" ], [ "Termination.tree", @@ -309,7 +309,7 @@ "kinding_Termination.tree@tok" ], 0, - "5eeb84ccf5449859995ed47d80764707" + "2830a8866d05e4aeec1c44e875a52dfe" ], [ "Termination.__proj__Leaf__item___0", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_eecc20c444854ed8824621455f36b0bc" ], 0, - "e2d48d3fe97b4da852cd8f9576a1d896" + "87222eed2948e41cd0a852eb07e43103" ], [ "Termination.__proj__Node__item___0", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_ef7437472d1ef108a142a5a0fa28c50f" ], 0, - "e2fd096a30ba9cb542b383b4d2ab7800" + "aa4a600457d5cfabb3853f372e0e4b37" ], [ "Termination.treeMap", @@ -359,7 +359,7 @@ "subterm_ordering_Termination.Node" ], 0, - "47611fe6fb0e87d7dfc1d9df68df9d71" + "afd3168098e8a442ae6f657f085b4d93" ], [ "Termination.list_map", @@ -373,7 +373,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a01cc01f75841217bdba281962c36d69" + "c99a577e0d3cd51550f314a32ccf9836" ], [ "Termination.tree_map", @@ -388,7 +388,7 @@ "subterm_ordering_Termination.Node" ], 0, - "331ff0e33bae734958b93d2d2986d23f" + "8609637a0695db7df42774ecbf5db243" ], [ "Termination.flatten_list", @@ -402,7 +402,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6a04f389585b85c2d7052f847ffa7c6c" + "d46f872923d2cf2f153dae3e09bea31d" ], [ "Termination.flatten_tree", @@ -426,7 +426,7 @@ "subterm_ordering_Termination.Node" ], 0, - "f16041e03a5258ec20c4ca91e272a730" + "06e4661870022257717625e4c32c3a7b" ], [ "Termination.flatten_list'", @@ -440,7 +440,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7c2728c941e3655922d5c091358c195c" + "d625f958dff2035780d25fd52ed23899" ], [ "Termination.flatten_tree'", @@ -455,7 +455,7 @@ "subterm_ordering_Termination.Node" ], 0, - "9da6bba566e4dfe82536d46fe9eef47f" + "ad2bf3ee5ce35496a3f1ff6ad70f6bcb" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Add.fst.hints b/examples/typeclasses/Add.fst.hints index 46bbf697890..e9ceb8e127e 100644 --- a/examples/typeclasses/Add.fst.hints +++ b/examples/typeclasses/Add.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_Add.Mkadditive_zero" ], 0, - "0dd30412c6c99d1dbc79748b1ac6130f" + "50722ad7bd8912a840852a4a319de75b" ], [ "Add.add_int", @@ -25,7 +25,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "2b314caf43a22227b8776ccf7fb72d04" + "e3ca5972e16087a1ab6db205bb625b8c" ], [ "Add.add_bool", @@ -37,7 +37,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "a4097645409d8c71aa8fbb1e9033c10a" + "3c9b8b3e1e25469e5120fd6d907e73b9" ], [ "Add.add_list", @@ -46,7 +46,7 @@ 1, [ "@query" ], 0, - "c0d93a364b4e30b868aa354e1482daa2" + "612e3ef3108c3093911ad6ed1f21680f" ], [ "Add.uu___56", @@ -58,14 +58,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Add.add_int", "equation_Add.mkadd", "equation_Add.plus", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "primitive_Prims.op_Addition", "proj_equation_Add.Mkadditive_plus", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", + "primitive_Prims.op_Addition", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_BoxInt_proj_0", "token_correspondence_Add.plus", "token_correspondence_Prims.op_Addition" ], 0, - "fecf69b885bae17700bfa1b8e9494ed0" + "bc39b8efe2ef77ad1396ca827c487991" ], [ "Add.uu___57", @@ -75,14 +75,14 @@ [ "@query", "equation_Add.add_bool", "equation_Add.mkadd", "equation_Add.plus", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "primitive_Prims.op_BarBar", "proj_equation_Add.Mkadditive_plus", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", + "primitive_Prims.op_BarBar", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_BoxBool_proj_0", "token_correspondence_Add.plus", "token_correspondence_Prims.op_BarBar" ], 0, - "962d916301b982aaa8cfa9183e119522" + "9bfe1d55e5c561545f452545eaaaad07" ], [ "Add.uu___58", @@ -92,14 +92,14 @@ [ "@query", "equation_Add.add_bool", "equation_Add.mkadd", "equation_Add.plus", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "primitive_Prims.op_BarBar", "proj_equation_Add.Mkadditive_plus", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", + "primitive_Prims.op_BarBar", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_BoxBool_proj_0", "token_correspondence_Add.plus", "token_correspondence_Prims.op_BarBar" ], 0, - "5269dd9681c17cafefdd89a0b4c2185d" + "6b9a0ab9ae668d3e8bc3ca912eb394a4" ], [ "Add.uu___59", @@ -118,8 +118,7 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "proj_equation_Add.Mkadditive_plus", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", @@ -130,7 +129,7 @@ "typing_Add.add_list" ], 0, - "e808e2f4c1a146d3b0e3d715a2da3298" + "c0b117c8d3233b9cc529b429c4e5ed7e" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Enum.fst b/examples/typeclasses/Enum.fst index 894e42ae882..34d1a8efae5 100644 --- a/examples/typeclasses/Enum.fst +++ b/examples/typeclasses/Enum.fst @@ -16,7 +16,7 @@ module Enum open FStar.Tactics.Typeclasses -open FStar.Tactics +open FStar.Tactics.V2 type bound = option nat diff --git a/examples/typeclasses/Enum.fst.hints b/examples/typeclasses/Enum.fst.hints index d1542b150b5..6f3e0c3e3ab 100644 --- a/examples/typeclasses/Enum.fst.hints +++ b/examples/typeclasses/Enum.fst.hints @@ -1,5 +1,5 @@ [ - "ÇÇíí<\u000fÅûïYÏ”ú$ì\u000b", + "^TüΞ’éÚõWš\u00186Õ", [ [ "Enum.bounded_by", @@ -12,7 +12,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "643e7daae3028234f58046b57560ae5a" + "20de88da51cf13e70009fe8d30b4bfbc" ], [ "Enum.succ", @@ -27,7 +27,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "41a6103d7e7a25bd51c372f4f2423525" + "f96d226ca37bbd9ac884ae3d8e196197" ], [ "Enum.enum_nat", @@ -40,7 +40,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "4eb5ce447f05a8aaafa8613ad52f7dfb" + "44cb36cd99e696b6d5f1e26892732eff" ], [ "Enum.enum_opt", @@ -70,7 +70,7 @@ "typing_Enum.__proj__Mkenum__item__max", "typing_Enum.succ" ], 0, - "1d80beb224519ae5c5bc84a320306b59" + "76b011778fdb436ca15e75359e9bccd1" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/EnumEq.fst.hints b/examples/typeclasses/EnumEq.fst.hints index c67332dc9ab..2aa67259522 100644 --- a/examples/typeclasses/EnumEq.fst.hints +++ b/examples/typeclasses/EnumEq.fst.hints @@ -13,14 +13,14 @@ "function_token_typing_Prims.int", "haseqTm_refine_4a6eaf440e75ef17916cf0f682fb32c5", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6b2938ac25639a4964a3ecd56e660324", - "proj_equation_Enum.Mkenum_max", + "interpretation_Tm_abs_774c82330bd7dfb0c035026a9805ad1e", + "proj_equation_Enum.Mkenum_max", "proj_equation_Enum.Mkenum_toInt", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Enum.__proj__Mkenum__item__toInt", "token_correspondence_Enum.toInt" ], 0, - "77ea5408ee9ed46957d18fe68097390d" + "35a4c9d4c9f0749e2fc9c47a07811fc8" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Eq.fst.hints b/examples/typeclasses/Eq.fst.hints index 21cea467dac..24b3652b8cf 100644 --- a/examples/typeclasses/Eq.fst.hints +++ b/examples/typeclasses/Eq.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5e53f26e1e895abf93182ef502f161f3" + "b7e349a72b81cbc42bd5c741b78a9e5e" ], [ "Eq.eqList", @@ -23,7 +23,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Eq.eq", "equation_Prims.op_Equals_Equals_Equals", "fuel_guarded_inversion_Eq.deq", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", + "proj_equation_Eq.Mkdeq_eq", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -38,7 +39,7 @@ "token_correspondence_Eq.eq", "typing_Eq.eqList" ], 0, - "1cf0ab3467a3d22b221482f13a8db7e1" + "38a74a8fbd35923e7138bcc7f212c0f1" ], [ "Eq.eq_list", @@ -52,7 +53,7 @@ "typing_Eq.eqList" ], 0, - "42b194e3153c605deb3bc1a49ecb62e6" + "2f900b2745090ddef4350577df01f55e" ], [ "Eq.eq_pair", @@ -62,15 +63,16 @@ [ "@MaxIFuel_assumption", "@query", "equation_Eq.eq", "fuel_guarded_inversion_Eq.deq", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", + "primitive_Prims.op_AmpAmp", "proj_equation_Eq.Mkdeq_eq", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "token_correspondence_Eq.__proj__Mkdeq__item__eq", "token_correspondence_Eq.eq" ], 0, - "2a57d65ed70be7397db301f63c07253f" + "ce24c3a4a66428a3c501d02f28b1ce71" ], [ "Eq.uu___68", @@ -82,14 +84,13 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___25", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "935485b0516d5c34f275b6c8a1dc1975" + "187d824e7d06a5297897a14064a2ccc9" ], [ "Eq.uu___69", @@ -101,15 +102,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___25", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "bbb33b29369c06b1cdef97c6c422cd3e" + "4e466d9e968a08fd4dfe405fe97bc7a7" ], [ "Eq.uu___70", @@ -119,14 +119,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___26", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "2a28ad71c8eb30846b4ab6ca8591545b" + "bab670c518acbaa3ad033c2d972f6de3" ], [ "Eq.uu___71", @@ -136,14 +135,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___26", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "624ccf4182e65d8cbe7928794604ed81" + "9e269b7fc9c91ebf87c132bb16a53073" ], [ "Eq.uu___72", @@ -158,15 +156,15 @@ "equation_Eq.eq_list", "equation_Eq.uu___25", "equation_Prims.eqtype", "function_token_typing_Eq.eqList", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", - "proj_equation_Eq.Mkdeq_eq", "projection_inverse_Eq.Mkdeq_eq", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", + "projection_inverse_Eq.Mkdeq_eq", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___25" ], 0, - "b4fd01bd26637448a7ab0aa958db8a6a" + "3d27f4fb3499f561892891ade7c6cdda" ], [ "Eq.uu___73", @@ -181,16 +179,16 @@ "equation_Eq.eq_list", "equation_Eq.uu___25", "equation_Prims.eqtype", "function_token_typing_Eq.eqList", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", - "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_Prims.Cons_hd", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", + "projection_inverse_Prims.Cons_hd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___25" ], 0, - "38a6c2fd85c527383e7c68f72a94c818" + "d33011ab37c92b33794ebf14a16ac2d0" ], [ "Eq.uu___74", @@ -200,18 +198,18 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___25", "equation_Eq.uu___27", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "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_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "token_correspondence_Eq.eq" ], 0, - "aa022ab4fd23346ac9dbd5e44a3230a0" + "5757fd28ea66eaa4226e438b51a436dd" ], [ "Eq.uu___75", @@ -221,11 +219,11 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___25", "equation_Eq.uu___27", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "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_BoxBool_proj_0", "projection_inverse_BoxString_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -234,7 +232,7 @@ "token_correspondence_Eq.eq" ], 0, - "639dbd06267a20550f9998be6b5cd9bb" + "f1fa255ea63eb7648c46fe3e485018fb" ], [ "Eq.uu___76", @@ -244,18 +242,18 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___25", "equation_Eq.uu___27", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "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_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "token_correspondence_Eq.eq" ], 0, - "e4cb80bd457718f0a78e4a66a2a08c0a" + "cc3f1b6652e40dd2c33390bc7d8e6340" ], [ "Eq.uu___77", @@ -265,18 +263,18 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___25", "equation_Eq.uu___27", - "interpretation_Tm_abs_48da2e7b58d2ece32a26415efc74ccef", + "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", "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_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "token_correspondence_Eq.eq" ], 0, - "20a1753668fcb5cef055e14e6ba43339" + "22a41a527f98046c138329281823c462" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/GradedMonad.fst b/examples/typeclasses/GradedMonad.fst index 853c9f22fd0..38e350da304 100644 --- a/examples/typeclasses/GradedMonad.fst +++ b/examples/typeclasses/GradedMonad.fst @@ -1,5 +1,7 @@ module GradedMonad +#set-options "--warn_error -350" + //SNIPPET_START:monoid$ class monoid (a:Type) = { diff --git a/examples/typeclasses/GradedMonad.fst.hints b/examples/typeclasses/GradedMonad.fst.hints index 1fd6a10fad6..0c18fef2e8e 100644 --- a/examples/typeclasses/GradedMonad.fst.hints +++ b/examples/typeclasses/GradedMonad.fst.hints @@ -1,5 +1,5 @@ [ - "\u0019 ÌÆÅ\u000e?wk:Ë{ù(5", + "q‰ Iგå(,æ–‡=", [ [ "GradedMonad.monoid_nat_plus", @@ -8,12 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dc1e3b727d61a7d74db06ea1f65635d5" + "6db8e3ff415dfdd006ab5bf851e2ad39" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Monad.fst.hints b/examples/typeclasses/Monad.fst.hints index bbc4a9eeea8..1459104a46f 100644 --- a/examples/typeclasses/Monad.fst.hints +++ b/examples/typeclasses/Monad.fst.hints @@ -9,15 +9,17 @@ [ "@MaxIFuel_assumption", "@query", "equation_Monad.bind", "equation_Monad.return", "fuel_guarded_inversion_Monad.monad", - "interpretation_Tm_abs_7e0972babf629178f399d8ce42293ce3", - "interpretation_Tm_abs_a0faf8ac82f106d2f81e4f58d8caae04", + "interpretation_Tm_abs_0adce631eac67f824f4c0bb34d3ca4d8", + "interpretation_Tm_abs_18e4cb8b775f6da62be8dae2bc35e95e", + "proj_equation_Monad.Mkmonad_bind", + "proj_equation_Monad.Mkmonad_return", "token_correspondence_Monad.__proj__Mkmonad__item__bind", "token_correspondence_Monad.__proj__Mkmonad__item__return", "token_correspondence_Monad.bind", "token_correspondence_Monad.return" ], 0, - "de74a639c573f55ab79ee0d4239e1bde" + "3cd0c13e740ad25f20be128013dcf89d" ], [ "Monad.g'", @@ -27,15 +29,17 @@ [ "@MaxIFuel_assumption", "@query", "equation_Monad.bind", "equation_Monad.return", "fuel_guarded_inversion_Monad.monad", - "interpretation_Tm_abs_7e0972babf629178f399d8ce42293ce3", - "interpretation_Tm_abs_a0faf8ac82f106d2f81e4f58d8caae04", + "interpretation_Tm_abs_0adce631eac67f824f4c0bb34d3ca4d8", + "interpretation_Tm_abs_18e4cb8b775f6da62be8dae2bc35e95e", + "proj_equation_Monad.Mkmonad_bind", + "proj_equation_Monad.Mkmonad_return", "token_correspondence_Monad.__proj__Mkmonad__item__bind", "token_correspondence_Monad.__proj__Mkmonad__item__return", "token_correspondence_Monad.bind", "token_correspondence_Monad.return" ], 0, - "a9ec321d396b89e4d3da4c454ec9c36d" + "df900b6adb4422e300bb05aefd06db95" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/MonadFunctorInference.fst.hints b/examples/typeclasses/MonadFunctorInference.fst.hints index 25b99e4a616..46c7312c81b 100644 --- a/examples/typeclasses/MonadFunctorInference.fst.hints +++ b/examples/typeclasses/MonadFunctorInference.fst.hints @@ -7,8 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", + "@query", "equation_FStar.FunctionalExtensionality.feq", "equation_MonadFunctorInference.bind", "equation_MonadFunctorInference.get", "equation_MonadFunctorInference.get_put", @@ -16,27 +15,22 @@ "equation_MonadFunctorInference.put", "equation_MonadFunctorInference.return", "equation_MonadFunctorInference.st_monad", - "fuel_guarded_inversion_MonadFunctorInference.monad", + "interpretation_Tm_abs_149cffba6cd41c85a270a196659747b3", + "interpretation_Tm_abs_1cd3aec29fb640351fe3d81d618ff192", "interpretation_Tm_abs_4896c8b1c1f351c5ce7ba2d35d5b179b", "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", "interpretation_Tm_abs_87ae829f00c3e3960973b21feab95e8b", "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_c2a014bdea4b951e72c8353e7d112ef3", - "interpretation_Tm_abs_d06fb0f2970167b36b4e53bcf7949978", "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "proj_equation_MonadFunctorInference.Mkmonad_bind", - "proj_equation_MonadFunctorInference.Mkmonad_return", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_MonadFunctorInference.Mkmonad_bind", - "projection_inverse_MonadFunctorInference.Mkmonad_m", "projection_inverse_MonadFunctorInference.Mkmonad_return", "token_correspondence_MonadFunctorInference.bind", - "token_correspondence_MonadFunctorInference.return", - "typing_MonadFunctorInference.st_monad" + "token_correspondence_MonadFunctorInference.return" ], 0, - "0f18d0d9adf0eccc89f586acabeeec19" + "2b38a89658e9ae3107633e95de3b55e1" ], [ "MonadFunctorInference.opt_monad", @@ -45,7 +39,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "e28f8bf269acf2223580ea6f2613edcd" + "07d082461bbc5828d701eaa2daaba340" ], [ "MonadFunctorInference.div", @@ -54,7 +48,7 @@ 1, [ "@query", "primitive_Prims.op_Equality" ], 0, - "78b83870ce72e4d3a7add8c9a10d029a" + "2105b3b5aaa34681c4824f55ecc7b9a9" ], [ "MonadFunctorInference.option_functor", @@ -63,7 +57,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "319cf870170f281cb89e1d4a33dba81a" + "8712a42d4502a6b3b4786319b6491263" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Tests.fst.hints b/examples/typeclasses/Tests.fst.hints index 63051db61d8..44b120171b0 100644 --- a/examples/typeclasses/Tests.fst.hints +++ b/examples/typeclasses/Tests.fst.hints @@ -17,7 +17,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "449c2e2b8cb33f3dc372956f17d5009c" + "60a0988724e6ac7d73f0287bde119721" ], [ "Tests.uu___13", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "c3080774b9011abd81bcf29c15e11d2f" + "f5e3ab5bf3c97d0c9ce6dfbef471146b" ], [ "Tests.uu___14", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "6a8f1575a26ed4919eb54d0f47f7f728" + "dd092f79ee6f3fe5c86cae86019aca7c" ], [ "Tests.test1", @@ -54,11 +54,9 @@ "equation_Num.num_int", "equation_Prims.eqtype", "equation_with_fuel_Tests.sum.fuel_instrumented", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "interpretation_Tm_abs_83d3c34387f9be4650dcd2c8d934e9cf", - "primitive_Prims.op_Addition", "proj_equation_Add.Mkadditive_plus", - "proj_equation_Add.Mkadditive_zero", - "proj_equation_Num.Mknum_add_super", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", + "interpretation_Tm_abs_2a17ec8012a10516658a371204669585", + "primitive_Prims.op_Addition", "proj_equation_Num.Mknum_add_super", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_Add.Mkadditive_zero", "projection_inverse_BoxInt_proj_0", @@ -72,7 +70,7 @@ "typing_Num.num_int", "typing_Tests.sum" ], 0, - "52077d64bcdda42fc17e928c704070d7" + "9c7c0fe22da8a0abbd3a48bc02e4e7a6" ], [ "Tests.test2", @@ -86,12 +84,11 @@ "equation_Eq.uu___25", "equation_Num.add_num", "equation_Num.minus", "equation_Num.mknum", "equation_Num.num_int", "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_02fabfb7065cb4bfb39d0ca2f7a9802e", "interpretation_Tm_abs_12ddde8171c888fa95f826be9c2a1fe9", - "interpretation_Tm_abs_40026aa5a5e3b3e50d1af1c281a9904a", - "interpretation_Tm_abs_f1927ad0930192edc55cbc50c157da6d", + "interpretation_Tm_abs_73a7b9c27305555126e8994d285f754f", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_Add.Mkadditive_plus", - "proj_equation_Num.Mknum_add_super", "proj_equation_Num.Mknum_minus", + "proj_equation_Num.Mknum_add_super", "projection_inverse_Add.Mkadditive_plus", "projection_inverse_BoxInt_proj_0", "projection_inverse_Num.Mknum_add_super", @@ -100,7 +97,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "00b7221898d6a8c8094f8c3e7a116b1c" + "cf7272fc2a173c0aa52fd24bbcdb6dff" ] ] ] \ No newline at end of file diff --git a/examples/vale/Calc.fst b/examples/vale/Calc.fst index 62e329464e0..ad01e6bf0eb 100644 --- a/examples/vale/Calc.fst +++ b/examples/vale/Calc.fst @@ -15,7 +15,7 @@ *) module Calc -open FStar.Tactics +open FStar.Tactics.V2 (* This file contains advanced Kung Fu. Edit at your own peril *) diff --git a/examples/vale/DeltaAttr.fst b/examples/vale/DeltaAttr.fst index 120db180ab0..e544e2bbb33 100644 --- a/examples/vale/DeltaAttr.fst +++ b/examples/vale/DeltaAttr.fst @@ -15,7 +15,7 @@ *) module DeltaAttr -open FStar.Tactics +open FStar.Tactics.V2 irreducible let myattr = () irreducible let otherattr = () diff --git a/examples/vale/X64.Poly1305.Bitvectors_i.fst b/examples/vale/X64.Poly1305.Bitvectors_i.fst index 0c0c5318943..76053440a77 100644 --- a/examples/vale/X64.Poly1305.Bitvectors_i.fst +++ b/examples/vale/X64.Poly1305.Bitvectors_i.fst @@ -15,7 +15,7 @@ *) module X64.Poly1305.Bitvectors_i open FStar.BV -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Derived open FStar.Tactics.BV open FStar.Mul diff --git a/examples/vale/X64.Poly1305.Math_i.fst b/examples/vale/X64.Poly1305.Math_i.fst index 6c046880060..04ae2e3138a 100644 --- a/examples/vale/X64.Poly1305.Math_i.fst +++ b/examples/vale/X64.Poly1305.Math_i.fst @@ -15,7 +15,7 @@ *) module X64.Poly1305.Math_i -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Canon open FStar.Math.Lemmas open FStar.Math.Lib diff --git a/examples/vale/X64.Poly1305.fst b/examples/vale/X64.Poly1305.fst index 6f50acefc89..75484ec893c 100644 --- a/examples/vale/X64.Poly1305.fst +++ b/examples/vale/X64.Poly1305.fst @@ -22,7 +22,7 @@ open X64.Vale.StrongPost_i open X64.Poly1305.Spec_s open X64.Poly1305.Math_i open Opaque_i -open FStar.Tactics +open FStar.Tactics.V2 val va_transparent_code_poly1305_multiply : va_dummy:unit -> Tot va_code let va_transparent_code_poly1305_multiply () = diff --git a/examples/vale/X64.Poly1305.fsti b/examples/vale/X64.Poly1305.fsti index cda1e825d1c..89fa3d127c6 100644 --- a/examples/vale/X64.Poly1305.fsti +++ b/examples/vale/X64.Poly1305.fsti @@ -22,7 +22,7 @@ open X64.Vale.StrongPost_i open X64.Poly1305.Spec_s open X64.Poly1305.Math_i open Opaque_i -open FStar.Tactics +open FStar.Tactics.V2 unfold let n = nat64_max diff --git a/examples/verifythis/2015/Problem01.fst.hints b/examples/verifythis/2015/Problem01.fst.hints index 266f0a7b3fc..f8233197eba 100644 --- a/examples/verifythis/2015/Problem01.fst.hints +++ b/examples/verifythis/2015/Problem01.fst.hints @@ -15,7 +15,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bc6a389adbbc3a81317cfb6a2e1c06d0" + "a9af6b5701e3fd0399bb1b2e60ac14df" ], [ "Problem01.prefix", @@ -31,7 +31,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "82cfd9fe9524e054abbcb9ef97b4b25e" + "68437ad68ba9c60c565b16379dd2fd42" ], [ "Problem01.prefix", @@ -66,7 +66,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "525932b8a36966eb75f8eb8eab1d695d" + "7f071a1cb97e9c6e9482571a843e93e6" ], [ "Problem01.remove_elem_from_list", @@ -95,7 +95,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b551d161898b1e98768ff7131d541791" + "34cd0babcbcca0f9591ef64e852a8e36" ], [ "Problem01.test_prefix", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "0c3e08cdbacae99675a36a10e8162259" + "88ce95631a1a6cc18de52b42c45fdf87" ], [ "Problem01.test_prefix", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "522c8ee549405adb4a9fccfe96ca1899" + "49471e0df39093311658b51eb5302f07" ], [ "Problem01.test_prefix", @@ -145,7 +145,7 @@ "typing_Problem01.test_prefix", "well-founded-ordering-on-nat" ], 0, - "160e59d508e7e1e15b954e6f4f6d3e07" + "e236067a6cbe991600d5cdbb45240554" ], [ "Problem01.test_prefix_exists_to_b", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "f64089b58800dc7ec8e454f61c37225c" + "9a79ea475d17639b049ecfe56b5328d8" ], [ "Problem01.test_prefix_exists_to_b", @@ -196,7 +196,7 @@ "well-founded-ordering-on-nat" ], 0, - "90d806a8f94bb0bb14dbf64e6bd1eea0" + "89e00137bb772e463a29fff762bef778" ], [ "Problem01.test_prefix_iff", @@ -218,7 +218,7 @@ "typing_Problem01.test_prefix" ], 0, - "99c362739311e1a02c1cc800ce5d8ea6" + "9b141b6a7dc7c57bb3696224dcfe4ca7" ], [ "Problem01.test_relaxed_prefix", @@ -254,7 +254,7 @@ "typing_Problem01.prefix", "typing_Problem01.test_prefix" ], 0, - "15f92b91839156bd438cfe1e7f96c63b" + "493d310d67132ede990fddc3886b6084" ] ] ] \ No newline at end of file diff --git a/ocaml/fstar-lib/FStar_Compiler_Util.ml b/ocaml/fstar-lib/FStar_Compiler_Util.ml index 530cdfd9c66..0b4ec5b777e 100644 --- a/ocaml/fstar-lib/FStar_Compiler_Util.ml +++ b/ocaml/fstar-lib/FStar_Compiler_Util.ml @@ -78,6 +78,7 @@ let stderr = Stdlib.stderr let stdout = Stdlib.stdout let open_file_for_writing (fn : string) = Stdlib.open_out_bin fn +let open_file_for_appending (fn : string) = Stdlib.open_out_gen [Open_append; Open_wronly; Open_creat; Open_binary] 0o644 fn let close_out_channel (c : out_channel) = Stdlib.close_out c let flush (c:out_channel) : unit = Stdlib.flush c @@ -265,9 +266,13 @@ let run_process (id: string) (prog: string) (args: string list) (stdin: string o let p = start_process' id prog args None in (match stdin with | None -> () - | Some str -> output_string p.outc str); - flush p.outc; - close_out p.outc; + | Some str -> + try output_string p.outc str with + | Sys_error _ -> () (* FIXME: check for "Broken pipe". In that case this is fine, process must have finished without reading input *) + | e -> raise e + ); + (try flush p.outc with | _ -> ()); (* only _attempt_ to flush, so we don't get an exception if the process is finished *) + (try close_out p.outc with | _ -> ()); (* idem *) let s = process_read_all_output p in kill_process p; s @@ -541,6 +546,11 @@ let colorize_cyan s = | Some true -> format3 "%s%s%s" "\x1b[36;1m" s "\x1b[0m" | _ -> s +let colorize_green s = + match stdout_isatty () with + | Some true -> format3 "%s%s%s" "\x1b[32;1m" s "\x1b[0m" + | _ -> s + let pr = Printf.printf let spr = Printf.sprintf let fpr = Printf.fprintf diff --git a/ocaml/fstar-lib/FStar_List.ml b/ocaml/fstar-lib/FStar_List.ml index d1b052be031..8e11f0965a7 100644 --- a/ocaml/fstar-lib/FStar_List.ml +++ b/ocaml/fstar-lib/FStar_List.ml @@ -77,3 +77,5 @@ let unique = BatList.unique let map_flatten f l = flatten (map f l) let span = BatList.span + +let deduplicate (f:'a -> 'a -> bool) (l:'a list) : 'a list = BatList.unique ~eq:f l diff --git a/ocaml/fstar-lib/FStar_Parser_LexFStar.ml b/ocaml/fstar-lib/FStar_Parser_LexFStar.ml index 71cb45bd96a..4ea558cc159 100644 --- a/ocaml/fstar-lib/FStar_Parser_LexFStar.ml +++ b/ocaml/fstar-lib/FStar_Parser_LexFStar.ml @@ -446,8 +446,9 @@ match%sedlex lexbuf with let s = L.lexeme lexbuf in let name = BatString.lchop ~n:3 s in Buffer.clear blob_buffer; + let snap = Sedlexing.snapshot lexbuf in let pos = L.current_pos lexbuf in - uninterpreted_blob name pos blob_buffer lexbuf + uninterpreted_blob snap name pos blob_buffer lexbuf | "`%" -> BACKTICK_PERC | "`#" -> BACKTICK_HASH | "`@" -> BACKTICK_AT @@ -637,19 +638,19 @@ match%sedlex lexbuf with comment inner buffer startpos lexbuf | _ -> assert false -and uninterpreted_blob name pos buffer lexbuf = +and uninterpreted_blob snap name pos buffer lexbuf = match %sedlex lexbuf with | "```" -> - BLOB(name, Buffer.contents buffer, pos) + BLOB(name, Buffer.contents buffer, pos, snap) | eof -> EOF | newline -> L.new_line lexbuf; Buffer.add_string buffer (L.lexeme lexbuf); - uninterpreted_blob name pos buffer lexbuf + uninterpreted_blob snap name pos buffer lexbuf | any -> Buffer.add_string buffer (L.lexeme lexbuf); - uninterpreted_blob name pos buffer lexbuf + uninterpreted_blob snap name pos buffer lexbuf | _ -> assert false and ignore_endline lexbuf = diff --git a/ocaml/fstar-lib/FStar_Parser_Parse.mly b/ocaml/fstar-lib/FStar_Parser_Parse.mly index 2bb1bf01c1a..88866668ba8 100644 --- a/ocaml/fstar-lib/FStar_Parser_Parse.mly +++ b/ocaml/fstar-lib/FStar_Parser_Parse.mly @@ -24,17 +24,12 @@ open FStar_Errors open FStar_Compiler_List open FStar_Compiler_Util open FStar_Compiler_Range -open FStar_Options + (* TODO : these files should be deprecated and removed *) -open FStar_Syntax_Syntax open FStar_Parser_Const -open FStar_Syntax_Util open FStar_Parser_AST -open FStar_Parser_Util open FStar_Const open FStar_Ident -open FStar_String -module AU = FStar_Parser_AST_Util (* Shorthands *) let rr = FStar_Parser_Util.translate_range @@ -57,8 +52,11 @@ let none_to_empty_list x = | None -> [] | Some l -> l -let parse_extension_blob (extension_name:string) (s:string) r : FStar_Parser_AST.decl' = - DeclSyntaxExtension (extension_name, s, r) +let parse_extension_blob (extension_name:string) + (s:string) + (blob_range:range) + (extension_syntax_start:range) : FStar_Parser_AST.decl' = + DeclSyntaxExtension (extension_name, s, blob_range, extension_syntax_start) %} %token STRING @@ -122,7 +120,7 @@ let parse_extension_blob (extension_name:string) (s:string) r : FStar_Parser_AST %token OPPREFIX OPINFIX0a OPINFIX0b OPINFIX0c OPINFIX0d OPINFIX1 OPINFIX2 OPINFIX3 OPINFIX4 %token OP_MIXFIX_ASSIGNMENT OP_MIXFIX_ACCESS -%token BLOB +%token BLOB /* These are artificial */ %token EOF @@ -150,7 +148,7 @@ let parse_extension_blob (extension_name:string) (s:string) r : FStar_Parser_AST %start warn_error_list %start oneDeclOrEOF %type inputFragment -%type oneDeclOrEOF +%type <(FStar_Parser_AST.decl * FStar_Sedlexing.snap option) option> oneDeclOrEOF %type term %type lident %type <(FStar_Errors_Codes.error_flag * string) list> warn_error_list @@ -165,37 +163,38 @@ inputFragment: oneDeclOrEOF: | EOF { None } - | d=idecl { Some d } + | ds=idecl { Some ds } idecl: - | d=decl startOfNextDeclToken - { d } + | d=decl snap=startOfNextDeclToken + { d, snap } startOfNextDeclToken: - | EOF { () } - | pragmaStartToken { () } - | LBRACK_AT { () } (* Attribute start *) - | LBRACK_AT_AT { () } (* Attribute start *) - | qualifier { () } - | CLASS { () } - | INSTANCE { () } - | OPEN { () } - | FRIEND { () } - | INCLUDE { () } - | MODULE { () } - | TYPE { () } - | EFFECT { () } - | LET { () } - | VAL { () } - | SPLICE { () } - | SPLICET { () } - | EXCEPTION { () } - | NEW_EFFECT { () } - | LAYERED_EFFECT { () } - | SUB_EFFECT { () } - | POLYMONADIC_BIND { () } - | POLYMONADIC_SUBCOMP { () } + | EOF { None } + | pragmaStartToken { None } + | LBRACK_AT { None } (* Attribute start *) + | LBRACK_AT_AT { None } (* Attribute start *) + | qualifier { None } + | CLASS { None } + | INSTANCE { None } + | OPEN { None } + | FRIEND { None } + | INCLUDE { None } + | MODULE { None } + | TYPE { None } + | EFFECT { None } + | LET { None } + | VAL { None } + | SPLICE { None } + | SPLICET { None } + | EXCEPTION { None } + | NEW_EFFECT { None } + | LAYERED_EFFECT { None } + | SUB_EFFECT { None } + | POLYMONADIC_BIND { None } + | POLYMONADIC_SUBCOMP { None } + | b=BLOB { let _, _, _, snap = b in Some snap } pragmaStartToken: @@ -348,8 +347,13 @@ rawDecl: { Polymonadic_subcomp c } | blob=BLOB { - let ext_name, contents, pos = blob in - parse_extension_blob ext_name contents (rr (pos, pos)) + let ext_name, contents, pos, snap = blob in + (* blob_range is the full range of the blob, including the enclosing ``` *) + let blob_range = rr (snd snap, snd $loc) in + (* extension_syntax_start_range is where the extension syntax starts not incluing + the "```ident" prefix *) + let extension_syntax_start_range = (rr (pos, pos)) in + parse_extension_blob ext_name contents blob_range extension_syntax_start_range } @@ -626,6 +630,18 @@ atomicPattern: { mk_pattern (PatWild (Some Implicit, [])) (rr $loc) } | c=constant { mk_pattern (PatConst c) (rr $loc(c)) } + | tok=MINUS c=constant + { let r = rr2 $loc(tok) $loc(c) in + let c = + match c with + | Const_int (s, swopt) -> + (match swopt with + | None + | Some (Signed, _) -> Const_int ("-" ^ s, swopt) + | _ -> raise_error (Fatal_SyntaxError, "Syntax_error: negative integer constant with unsigned width") r) + | _ -> raise_error (Fatal_SyntaxError, "Syntax_error: negative constant that is not an integer") r + in + mk_pattern (PatConst c) r } | BACKTICK_PERC q=atomicTerm { mk_pattern (PatVQuote q) (rr $loc) } | qual_id=aqualifiedWithAttrs(lident) @@ -709,6 +725,7 @@ aqualifiedWithAttrs(X): /* Identifiers, module paths */ /******************************************************************************/ +%public qlident: | ids=path(lident) { lid_of_ids ids } @@ -1240,6 +1257,7 @@ refineOpt: %inline formula: | e=noSeqTerm { {e with level=Formula} } +%public recordExp: | record_fields=right_flexible_nonempty_list(SEMICOLON, simpleDef) { mk_term (Record (None, record_fields)) (rr $loc(record_fields)) Expr } @@ -1262,6 +1280,7 @@ appTerm: appTermNoRecordExp: | t=appTermCommon(argTerm) {t} +%public argTerm: | x=pair(maybeHash, indexingTerm) { x } | u=universe { u } @@ -1281,6 +1300,7 @@ indexingTerm: | e=atomicTerm { e } +%public atomicTerm: | x=atomicTermNotQUident { x } diff --git a/ocaml/fstar-lib/FStar_Parser_ParseIt.ml b/ocaml/fstar-lib/FStar_Parser_ParseIt.ml index f169e049e9a..f99e9ee768d 100644 --- a/ocaml/fstar-lib/FStar_Parser_ParseIt.ml +++ b/ocaml/fstar-lib/FStar_Parser_ParseIt.ml @@ -248,7 +248,7 @@ let parse fn = in match d with | Inl None -> List.rev decls, None - | Inl (Some d) -> + | Inl (Some (d, snap_opt)) -> (* The parser may advance the lexer beyond the decls last token. E.g., in `let f x = 0 let g = 1`, we will have parsed the decl for `f` but the lexer will have advanced to `let ^ g ...` since the @@ -257,20 +257,21 @@ let parse fn = requires such lookahead to complete a production. *) let end_pos = - rollback lexbuf; - current_pos lexbuf + let _ = + match snap_opt with + | None -> + rollback lexbuf + | Some p -> + restore_snapshot lexbuf p + in + current_pos lexbuf in let raw_contents = contents_at d.drange in - (* if FStar_Options.debug_any() - then ( - FStar_Compiler_Util.print4 "Parsed decl@%s=%s\nRaw contents@%s=%s\n" - (FStar_Compiler_Range.string_of_def_range d.drange) - (FStar_Parser_AST.decl_to_string d) - (FStar_Compiler_Range.string_of_def_range raw_contents.range) - raw_contents.code - ); - *) + then + FStar_Compiler_Util.print2 "At range %s, got code\n%s\n" + (FStar_Compiler_Range.string_of_range raw_contents.range) + (raw_contents.code); parse ((d, raw_contents)::decls) | Inr err -> List.rev decls, Some err in diff --git a/ocaml/fstar-lib/FStar_Pervasives_Native.ml b/ocaml/fstar-lib/FStar_Pervasives_Native.ml index f32c2637705..0027fcb263a 100644 --- a/ocaml/fstar-lib/FStar_Pervasives_Native.ml +++ b/ocaml/fstar-lib/FStar_Pervasives_Native.ml @@ -17,8 +17,8 @@ type ('a,'b) tuple2 = 'a * 'b[@@deriving yojson,show] let fst = Stdlib.fst let snd = Stdlib.snd -let __proj__Mktuple2__1 = fst -let __proj__Mktuple2__2 = snd +let __proj__Mktuple2__item___1 = fst +let __proj__Mktuple2__item___2 = snd type ('a,'b,'c) tuple3 = 'a* 'b* 'c diff --git a/ocaml/fstar-lib/FStar_Reflection_Builtins.ml b/ocaml/fstar-lib/FStar_Reflection_Builtins.ml deleted file mode 100644 index f49ef0f924b..00000000000 --- a/ocaml/fstar-lib/FStar_Reflection_Builtins.ml +++ /dev/null @@ -1,51 +0,0 @@ -module RB = FStar_Reflection_Basic - -let compare_bv = RB.compare_bv -let lookup_typ = RB.lookup_typ -let lookup_attr = RB.lookup_attr -let all_defs_in_env = RB.all_defs_in_env -let defs_in_module = RB.defs_in_module -let binders_of_env = RB.binders_of_env -let moduleof = RB.moduleof -let term_eq = RB.term_eq -let env_open_modules = RB.env_open_modules -let sigelt_opts = RB.sigelt_opts -let embed_vconfig = RB.embed_vconfig -let sigelt_attrs = RB.sigelt_attrs -let set_sigelt_attrs = RB.set_sigelt_attrs -let sigelt_quals = RB.sigelt_quals -let set_sigelt_quals = RB.set_sigelt_quals -let inspect_fv = RB.inspect_fv -let pack_fv = RB.pack_fv -let inspect_const = RB.inspect_const -let pack_const = RB.pack_const -let inspect_ln = RB.inspect_ln -let pack_ln = RB.pack_ln -let inspect_comp = RB.inspect_comp -let pack_comp = RB.pack_comp -let inspect_sigelt = RB.inspect_sigelt -let pack_sigelt = RB.pack_sigelt -let inspect_bv = RB.inspect_bv -let pack_bv = RB.pack_bv -let inspect_binder = RB.inspect_binder -let pack_binder = RB.pack_binder -let inspect_lb = RB.inspect_lb -let pack_lb = RB.pack_lb -let implode_qn = RB.implode_qn -let explode_qn = RB.explode_qn -let compare_string = RB.compare_string -let push_binder = RB.push_binder -let subst = RB.subst -let close_term = RB.close_term - -let inspect_universe = RB.inspect_universe -let pack_universe = RB.pack_universe - - -(* GM: Not sure if theese are needed, we don't expose them - * in the library. *) -let inspect_aqual = RB.inspect_aqual -let pack_aqual = RB.pack_aqual - -let range_of_term = RB.range_of_term -let range_of_sigelt = RB.range_of_sigelt \ No newline at end of file diff --git a/ocaml/fstar-lib/FStar_Reflection_Types.ml b/ocaml/fstar-lib/FStar_Reflection_Types.ml index cb566ddf159..bdebb1d7869 100644 --- a/ocaml/fstar-lib/FStar_Reflection_Types.ml +++ b/ocaml/fstar-lib/FStar_Reflection_Types.ml @@ -2,6 +2,7 @@ open FStar_All type binder = FStar_Syntax_Syntax.binder type bv = FStar_Syntax_Syntax.bv +type namedv = bv type term = FStar_Syntax_Syntax.term type env = FStar_TypeChecker_Env.env type fv = FStar_Syntax_Syntax.fv @@ -15,8 +16,9 @@ type universe_uvar = FStar_Syntax_Syntax.universe_uvar type universe = FStar_Syntax_Syntax.universe type name = string list -type ident = string * FStar_Compiler_Range.range +type ident = FStar_Ident.ident type univ_name = ident type typ = term type binders = binder list type match_returns_ascription = FStar_Syntax_Syntax.match_returns_ascription +type decls = sigelt list diff --git a/ocaml/fstar-lib/FStar_Sedlexing.ml b/ocaml/fstar-lib/FStar_Sedlexing.ml index b0434303dc7..0c1e6baa1f2 100644 --- a/ocaml/fstar-lib/FStar_Sedlexing.ml +++ b/ocaml/fstar-lib/FStar_Sedlexing.ml @@ -72,6 +72,13 @@ let backtrack b = b.cur_p <- b.mark_p; b.mark_val +type snap = int * pos + +let snapshot b = b.start, b.start_p +let restore_snapshot b (cur, cur_p) = + b.cur <- cur; + b.cur_p <- cur_p + let next b = if b.cur = b.len then None else diff --git a/ocaml/fstar-lib/FStar_Tactics_Native.ml b/ocaml/fstar-lib/FStar_Tactics_Native.ml index 8a679f094da..8f2de4c1a15 100644 --- a/ocaml/fstar-lib/FStar_Tactics_Native.ml +++ b/ocaml/fstar-lib/FStar_Tactics_Native.ml @@ -1,7 +1,6 @@ open FStar_Compiler_Range open FStar_Tactics_Types open FStar_Tactics_Result -open FStar_Tactics_Basic open FStar_Tactics_Monad open FStar_Syntax_Syntax @@ -18,7 +17,7 @@ type 'a __tac = FStar_Tactics_Types.proofstate -> 'a __result let r = dummyRange -type itac = FStar_TypeChecker_Cfg.psc -> FStar_Syntax_Embeddings.norm_cb -> args -> term option +type itac = FStar_TypeChecker_Cfg.psc -> FStar_Syntax_Embeddings_Base.norm_cb -> args -> term option type nbe_itac = NBETerm.nbe_cbs -> NBETerm.args -> NBETerm.t option type native_primitive_step = @@ -50,7 +49,8 @@ let register_plugin (s: string) (arity: Prims.int) (t: itac) (n:nbe_itac) = } in FStar_TypeChecker_Cfg.register_plugin step; - perr1 "Registered plugin %s\n" s + (* perr1 "Registered plugin %s\n" s; *) + () let register_tactic (s: string) (arity: Prims.int) (t: itac)= let step = @@ -59,14 +59,15 @@ let register_tactic (s: string) (arity: Prims.int) (t: itac)= strong_reduction_ok=true; tactic=t } in compiled_tactics := step :: !compiled_tactics; - perr1 "Registered tactic %s\n" s + (* perr1 "Registered tactic %s\n" s; *) + () let bump (f : 'b -> 'c) (g : 'a -> 'b) : 'a -> 'c = fun x -> f (g x) let from_tactic_0 (tau: 'b __tac) : 'b tac = (fun (ps: proofstate) -> - perr "Entering native tactic\n"; + (* perr "Entering native tactic\n"; *) tau ps) |> mk_tac let from_tactic_1 t = bump from_tactic_0 t diff --git a/ocaml/fstar-lib/FStar_Tactics_Unseal.ml b/ocaml/fstar-lib/FStar_Tactics_Unseal.ml new file mode 100644 index 00000000000..1a30e19e18d --- /dev/null +++ b/ocaml/fstar-lib/FStar_Tactics_Unseal.ml @@ -0,0 +1,2 @@ +module E = FStar_Tactics_Effect +let unseal x = E.tac_return x diff --git a/ocaml/fstar-lib/FStar_Tactics_Builtins.ml b/ocaml/fstar-lib/FStar_Tactics_V1_Builtins.ml similarity index 75% rename from ocaml/fstar-lib/FStar_Tactics_Builtins.ml rename to ocaml/fstar-lib/FStar_Tactics_V1_Builtins.ml index 3a7ac8652e8..29ce6cbba7f 100644 --- a/ocaml/fstar-lib/FStar_Tactics_Builtins.ml +++ b/ocaml/fstar-lib/FStar_Tactics_V1_Builtins.ml @@ -7,12 +7,13 @@ open FStar_Tactics_Effect module N = FStar_TypeChecker_Normalize module E = FStar_Tactics_Effect -module B = FStar_Tactics_Basic +module B = FStar_Tactics_V1_Basic module TM = FStar_Tactics_Monad module CTRW = FStar_Tactics_CtrlRewrite module RT = FStar_Reflection_Types -module RD = FStar_Reflection_Data +module RD = FStar_Reflection_V1_Data module EMB = FStar_Syntax_Embeddings +module EMBBase = FStar_Syntax_Embeddings_Base module NBET = FStar_TypeChecker_NBETerm type 'a __tac = ('a, unit) E.tac_repr @@ -23,53 +24,6 @@ let interpret_tac (t: 'a TM.tac) (ps: proofstate): 'a __result = let uninterpret_tac (t: 'a __tac) (ps: proofstate): 'a __result = t ps -let tr1 = function - | Simpl -> EMB.Simpl - | Weak -> EMB.Weak - | HNF -> EMB.HNF - | Primops -> EMB.Primops - | Delta -> EMB.Delta - | Zeta -> EMB.Zeta - | ZetaFull -> EMB.ZetaFull - | Iota -> EMB.Iota - | Unascribe -> EMB.Unascribe - | NBE -> EMB.NBE - | Unmeta -> EMB.Unmeta - | Reify -> EMB.Reify - | UnfoldOnly ss -> EMB.UnfoldOnly ss - | UnfoldFully ss -> EMB.UnfoldFully ss - | UnfoldAttr ss -> EMB.UnfoldAttr ss - | UnfoldQual ss -> EMB.UnfoldQual ss - | UnfoldNamespace ss -> EMB.UnfoldNamespace ss -let rt1 = function - | EMB.Simpl -> Simpl - | EMB.Weak -> Weak - | EMB.HNF -> HNF - | EMB.Primops -> Primops - | EMB.Delta -> Delta - | EMB.Zeta -> Zeta - | EMB.ZetaFull -> ZetaFull - | EMB.Iota -> Iota - | EMB.Unascribe -> Unascribe - | EMB.NBE -> NBE - | EMB.Unmeta -> Unmeta - | EMB.Reify -> Reify - | EMB.UnfoldOnly ss -> UnfoldOnly ss - | EMB.UnfoldFully ss -> UnfoldFully ss - | EMB.UnfoldAttr ss -> UnfoldAttr ss - | EMB.UnfoldQual ss -> UnfoldQual ss - | EMB.UnfoldNamespace ss -> UnfoldNamespace ss - -(* the one plugins actually use *) -let e_norm_step' : norm_step EMB.embedding = - EMB.embed_as EMB.e_norm_step rt1 tr1 None - -let e_norm_step_nbe' : norm_step NBET.embedding = - NBET.embed_as NBET.e_norm_step rt1 tr1 None - -let tr_repr_steps = - List.map tr1 - let to_tac_0 (t: 'a __tac): 'a TM.tac = (fun (ps: proofstate) -> uninterpret_tac t ps) |> TM.mk_tac @@ -108,8 +62,6 @@ let from_tac_4 (t: 'a -> 'b -> 'c -> 'd -> 'e TM.tac): 'a -> 'b -> 'c -> 'd -> let m = t x y z w in interpret_tac m ps -let unseal x = E.tac_return x - (* Pointing to the internal primitives *) let set_goals = from_tac_1 TM.set_goals let set_smt_goals = from_tac_1 TM.set_smt_goals @@ -120,9 +72,9 @@ let tc = from_tac_2 B.tc let tcc = from_tac_2 B.tcc let unshelve = from_tac_1 B.unshelve let unquote = fun t -> failwith "Sorry, unquote does not work in compiled tactics" -let norm = fun s -> from_tac_1 B.norm (tr_repr_steps s) (* TODO: somehow avoid translating steps? *) -let norm_term_env = fun e s -> from_tac_3 B.norm_term_env e (tr_repr_steps s) -let norm_binder_type = fun s -> from_tac_2 B.norm_binder_type (tr_repr_steps s) +let norm = fun s -> from_tac_1 B.norm s +let norm_term_env = fun e s -> from_tac_3 B.norm_term_env e s +let norm_binder_type = fun s -> from_tac_2 B.norm_binder_type s let intro = from_tac_1 B.intro let intro_rec = from_tac_1 B.intro_rec let rename_to = from_tac_2 B.rename_to @@ -181,11 +133,7 @@ let t_smt_sync = from_tac_1 B.t_smt_sync let free_uvars = from_tac_1 B.free_uvars -type ('env, 't0, 't1) subtyping_token = unit -type ('env, 't0, 't1) equiv_token = unit -type ('env, 'e, 't) typing_token = unit type ('env, 't) prop_validity_token = unit -type issues = FStar_Issue.issue list let check_subtyping = from_tac_3 B.refl_check_subtyping let check_equiv = from_tac_3 B.refl_check_equiv let core_compute_term_type = from_tac_3 B.refl_core_compute_term_type @@ -213,7 +161,7 @@ let ctrl_rewrite let log_issues (i:FStar_Issue.issue list) : unit __tac - = fun ps -> + = fun ps -> FStar_Errors.add_many i; FStar_Tactics_Result.Success ((), ps) diff --git a/ocaml/fstar-lib/FStar_Tactics_V2_Builtins.ml b/ocaml/fstar-lib/FStar_Tactics_V2_Builtins.ml new file mode 100644 index 00000000000..e232d18bd00 --- /dev/null +++ b/ocaml/fstar-lib/FStar_Tactics_V2_Builtins.ml @@ -0,0 +1,168 @@ +open Prims +open FStar_Pervasives_Native +open FStar_Pervasives +open FStar_Tactics_Result +open FStar_Tactics_Types +open FStar_Tactics_Effect + +module N = FStar_TypeChecker_Normalize +module E = FStar_Tactics_Effect +module B = FStar_Tactics_V2_Basic +module TM = FStar_Tactics_Monad +module CTRW = FStar_Tactics_CtrlRewrite +module RT = FStar_Reflection_Types +module RD = FStar_Reflection_Data +module EMB = FStar_Syntax_Embeddings +module EMB_Base = FStar_Syntax_Embeddings_Base +module NBET = FStar_TypeChecker_NBETerm + +type 'a __tac = ('a, unit) E.tac_repr + +let interpret_tac (t: 'a TM.tac) (ps: proofstate): 'a __result = + TM.run t ps + +let uninterpret_tac (t: 'a __tac) (ps: proofstate): 'a __result = + t ps + +let to_tac_0 (t: 'a __tac): 'a TM.tac = + (fun (ps: proofstate) -> + uninterpret_tac t ps) |> TM.mk_tac + +let to_tac_1 (t: 'b -> 'a __tac): 'b -> 'a TM.tac = fun x -> + (fun (ps: proofstate) -> + uninterpret_tac (t x) ps) |> TM.mk_tac + +let from_tac_1 (t: 'a -> 'b TM.tac): 'a -> 'b __tac = + fun (x: 'a) -> + fun (ps: proofstate) -> + let m = t x in + interpret_tac m ps + +let from_tac_2 (t: 'a -> 'b -> 'c TM.tac): 'a -> 'b -> 'c __tac = + fun (x: 'a) -> + fun (y: 'b) -> + fun (ps: proofstate) -> + let m = t x y in + interpret_tac m ps + +let from_tac_3 (t: 'a -> 'b -> 'c -> 'd TM.tac): 'a -> 'b -> 'c -> 'd __tac = + fun (x: 'a) -> + fun (y: 'b) -> + fun (z: 'c) -> + fun (ps: proofstate) -> + let m = t x y z in + interpret_tac m ps + +let from_tac_4 (t: 'a -> 'b -> 'c -> 'd -> 'e TM.tac): 'a -> 'b -> 'c -> 'd -> 'e __tac = + fun (x: 'a) -> + fun (y: 'b) -> + fun (z: 'c) -> + fun (w: 'd) -> + fun (ps: proofstate) -> + let m = t x y z w in + interpret_tac m ps + +(* Pointing to the internal primitives *) +let compress = from_tac_1 B.compress +let set_goals = from_tac_1 TM.set_goals +let set_smt_goals = from_tac_1 TM.set_smt_goals +let top_env = from_tac_1 B.top_env +let fresh = from_tac_1 B.fresh +let refine_intro = from_tac_1 B.refine_intro +let tc = from_tac_2 B.tc +let tcc = from_tac_2 B.tcc +let unshelve = from_tac_1 B.unshelve +let unquote = fun t -> failwith "Sorry, unquote does not work in compiled tactics" +let norm = fun s -> from_tac_1 B.norm s +let norm_term_env = fun e s -> from_tac_3 B.norm_term_env e s +let norm_binding_type = fun s -> from_tac_2 B.norm_binding_type s +let intro = from_tac_1 B.intro +let intro_rec = from_tac_1 B.intro_rec +let rename_to = from_tac_2 B.rename_to +let revert = from_tac_1 B.revert +let var_retype = from_tac_1 B.var_retype +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_4 B.t_apply +let t_apply_lemma = from_tac_3 B.t_apply_lemma +let print = from_tac_1 B.print +let debugging = from_tac_1 B.debugging +let dump = from_tac_1 B.dump +let dump_all = from_tac_2 B.dump_all +let dump_uvars_of = from_tac_2 B.dump_uvars_of +let t_trefl = from_tac_1 B.t_trefl +let dup = from_tac_1 B.dup +let prune = from_tac_1 B.prune +let addns = from_tac_1 B.addns +let t_destruct = from_tac_1 B.t_destruct +let set_options = from_tac_1 B.set_options +let uvar_env = from_tac_2 B.uvar_env +let ghost_uvar_env = from_tac_2 B.ghost_uvar_env +let unify_env = from_tac_3 B.unify_env +let unify_guard_env = from_tac_3 B.unify_guard_env +let match_env = from_tac_3 B.match_env +let launch_process = from_tac_3 B.launch_process +let fresh_bv_named = from_tac_1 B.fresh_bv_named +let change = from_tac_1 B.change +let get_guard_policy = from_tac_1 B.get_guard_policy +let set_guard_policy = from_tac_1 B.set_guard_policy +let lax_on = from_tac_1 B.lax_on +let tadmit_t = from_tac_1 B.tadmit_t +let join = from_tac_1 B.join +let curms = from_tac_1 B.curms +let set_urgency = from_tac_1 B.set_urgency +let t_commute_applied_match = from_tac_1 B.t_commute_applied_match +let gather_or_solve_explicit_guards_for_resolved_goals = from_tac_1 B.gather_explicit_guards_for_resolved_goals +let string_to_term = from_tac_2 B.string_to_term +let push_bv_dsenv = from_tac_2 B.push_bv_dsenv +let term_to_string = from_tac_1 B.term_to_string +let comp_to_string = from_tac_1 B.comp_to_string +let range_to_string = from_tac_1 B.range_to_string +let term_eq_old = from_tac_2 B.term_eq_old + +let with_compat_pre_core (n:Prims.int) (f: unit -> 'a __tac) : 'a __tac = + from_tac_2 B.with_compat_pre_core n (to_tac_0 (f ())) + +let get_vconfig = from_tac_1 B.get_vconfig +let set_vconfig = from_tac_1 B.set_vconfig +let t_smt_sync = from_tac_1 B.t_smt_sync +let free_uvars = from_tac_1 B.free_uvars + + +type ('env, 't) prop_validity_token = unit +type ('env, 'sc, 't, 'pats, 'bnds) match_complete_token = unit + +let check_subtyping = from_tac_3 B.refl_check_subtyping +let check_equiv = from_tac_3 B.refl_check_equiv +let core_compute_term_type = from_tac_3 B.refl_core_compute_term_type +let core_check_term = from_tac_4 B.refl_core_check_term +let check_match_complete = from_tac_4 B.refl_check_match_complete +let tc_term = from_tac_3 B.refl_tc_term +let universe_of = from_tac_2 B.refl_universe_of +let check_prop_validity = from_tac_2 B.refl_check_prop_validity +let instantiate_implicits = from_tac_2 B.refl_instantiate_implicits +let maybe_relate_after_unfolding = from_tac_3 B.refl_maybe_relate_after_unfolding +let maybe_unfold_head = from_tac_2 B.refl_maybe_unfold_head +let push_open_namespace = from_tac_2 B.push_open_namespace +let push_module_abbrev = from_tac_3 B.push_module_abbrev +let resolve_name = from_tac_2 B.resolve_name + +(* The handlers need to "embed" their argument. *) +let catch (t: unit -> 'a __tac): ((exn, 'a) either) __tac = from_tac_1 TM.catch (to_tac_0 (t ())) +let recover (t: unit -> 'a __tac): ((exn, 'a) either) __tac = from_tac_1 TM.recover (to_tac_0 (t ())) + +let ctrl_rewrite + (d : direction) + (t1 : RT.term -> (bool * ctrl_flag) __tac) + (t2 : unit -> unit __tac) + : unit __tac + = from_tac_3 CTRW.ctrl_rewrite d (to_tac_1 t1) (to_tac_0 (t2 ())) + +let log_issues (i:FStar_Issue.issue list) + : unit __tac + = fun ps -> + FStar_Errors.add_many i; + FStar_Tactics_Result.Success ((), ps) + diff --git a/ocaml/fstar-lib/generated/FStar_CheckedFiles.ml b/ocaml/fstar-lib/generated/FStar_CheckedFiles.ml index aaba7e12fdb..625b00d480c 100644 --- a/ocaml/fstar-lib/generated/FStar_CheckedFiles.ml +++ b/ocaml/fstar-lib/generated/FStar_CheckedFiles.ml @@ -1,5 +1,5 @@ open Prims -let (cache_version_number : Prims.int) = (Prims.of_int (56)) +let (cache_version_number : Prims.int) = (Prims.of_int (57)) type tc_result = { checked_module: FStar_Syntax_Syntax.modul ; diff --git a/ocaml/fstar-lib/generated/FStar_Class_Add.ml b/ocaml/fstar-lib/generated/FStar_Class_Add.ml new file mode 100644 index 00000000000..1c94f0adfb1 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Class_Add.ml @@ -0,0 +1,18 @@ +open Prims +type 'a additive = { + zero: 'a ; + plus: 'a -> 'a -> 'a } +let __proj__Mkadditive__item__zero : 'a . 'a additive -> 'a = + fun projectee -> match projectee with | { zero; plus;_} -> zero +let __proj__Mkadditive__item__plus : 'a . 'a additive -> 'a -> 'a -> 'a = + fun projectee -> match projectee with | { zero; plus;_} -> plus +let zero : 'a . 'a additive -> 'a = + fun projectee -> match projectee with | { zero = zero1; plus;_} -> zero1 +let plus : 'a . 'a additive -> 'a -> 'a -> 'a = + fun projectee -> + match projectee with | { zero = zero1; plus = plus1;_} -> plus1 +let op_Plus_Plus : 'a . 'a additive -> 'a -> 'a -> 'a = plus +let (add_int : Prims.int additive) = { zero = Prims.int_zero; plus = (+) } +let (add_bool : Prims.bool additive) = { zero = false; plus = (||) } +let add_list : 'a . unit -> 'a Prims.list additive = + fun uu___ -> { zero = []; plus = FStar_List_Tot_Base.append } \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Class_Eq.ml b/ocaml/fstar-lib/generated/FStar_Class_Eq.ml new file mode 100644 index 00000000000..57ebdad99c6 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Class_Eq.ml @@ -0,0 +1,38 @@ +open Prims +type ('a, 'f) decides_eq = unit +type 'a deq = { + raw: 'a FStar_Class_Eq_Raw.deq ; + eq_dec: unit } +let __proj__Mkdeq__item__raw : 'a . 'a deq -> 'a FStar_Class_Eq_Raw.deq = + fun projectee -> match projectee with | { raw; eq_dec;_} -> raw +let raw : 'a . 'a deq -> 'a FStar_Class_Eq_Raw.deq = + fun projectee -> match projectee with | { raw = raw1; eq_dec;_} -> raw1 +let deq_raw_deq : 'a . 'a deq -> 'a FStar_Class_Eq_Raw.deq = fun d -> d.raw +let eq : 'a . 'a deq -> 'a -> 'a -> Prims.bool = + fun d -> fun x -> fun y -> (d.raw).FStar_Class_Eq_Raw.eq x y +let eq_instance_of_eqtype : 'a . 'a FStar_Class_Eq_Raw.deq -> 'a deq = + fun uu___ -> + { raw = (FStar_Class_Eq_Raw.eq_instance_of_eqtype ()); eq_dec = () } +let (int_has_eq : Prims.int deq) = + eq_instance_of_eqtype FStar_Class_Eq_Raw.int_has_eq +let (unit_has_eq : unit deq) = + eq_instance_of_eqtype FStar_Class_Eq_Raw.unit_has_eq +let (bool_has_eq : Prims.bool deq) = + eq_instance_of_eqtype FStar_Class_Eq_Raw.bool_has_eq +let (string_has_eq : Prims.string deq) = + eq_instance_of_eqtype FStar_Class_Eq_Raw.string_has_eq +let eq_list : 'a . 'a deq -> 'a Prims.list deq = + fun d -> { raw = (FStar_Class_Eq_Raw.eq_list d.raw); eq_dec = () } +let eq_pair : 'a 'b . 'a deq -> 'b deq -> ('a * 'b) deq = + fun uu___ -> + fun uu___1 -> + { + raw = + (FStar_Class_Eq_Raw.eq_pair (deq_raw_deq uu___) + (deq_raw_deq uu___1)); + eq_dec = () + } +let eq_option : 'a . 'a deq -> 'a FStar_Pervasives_Native.option deq = + fun uu___ -> + { raw = (FStar_Class_Eq_Raw.eq_option (deq_raw_deq uu___)); eq_dec = () } +let op_Equals : 'a . 'a deq -> 'a -> 'a -> Prims.bool = eq \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Class_Eq_Raw.ml b/ocaml/fstar-lib/generated/FStar_Class_Eq_Raw.ml new file mode 100644 index 00000000000..bd77b03b44d --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Class_Eq_Raw.ml @@ -0,0 +1,50 @@ +open Prims +type 'a deq = { + eq: 'a -> 'a -> Prims.bool } +let __proj__Mkdeq__item__eq : 'a . 'a deq -> 'a -> 'a -> Prims.bool = + fun projectee -> match projectee with | { eq;_} -> eq +let eq : 'a . 'a deq -> 'a -> 'a -> Prims.bool = + fun projectee -> match projectee with | { eq = eq1;_} -> eq1 +let eq_instance_of_eqtype : 'a . unit -> 'a deq = + fun uu___ -> { eq = (fun x -> fun y -> x = y) } +let (int_has_eq : Prims.int deq) = eq_instance_of_eqtype () +let (unit_has_eq : unit deq) = eq_instance_of_eqtype () +let (bool_has_eq : Prims.bool deq) = eq_instance_of_eqtype () +let (string_has_eq : Prims.string deq) = eq_instance_of_eqtype () +let rec eqList : + 'a . + ('a -> 'a -> Prims.bool) -> 'a Prims.list -> 'a Prims.list -> Prims.bool + = + fun eq1 -> + fun xs -> + fun ys -> + match (xs, ys) with + | ([], []) -> true + | (x::xs1, y::ys1) -> (eq1 x y) && (eqList eq1 xs1 ys1) + | (uu___, uu___1) -> false +let eq_list : 'a . 'a deq -> 'a Prims.list deq = + fun uu___ -> { eq = (eqList (eq uu___)) } +let eq_pair : 'a 'b . 'a deq -> 'b deq -> ('a * 'b) deq = + fun uu___ -> + fun uu___1 -> + { + eq = + (fun uu___2 -> + fun uu___3 -> + match (uu___2, uu___3) with + | ((a1, b1), (c, d)) -> (eq uu___ a1 c) && (eq uu___1 b1 d)) + } +let eq_option : 'a . 'a deq -> 'a FStar_Pervasives_Native.option deq = + fun uu___ -> + { + eq = + (fun o1 -> + fun o2 -> + match (o1, o2) with + | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) + -> true + | (FStar_Pervasives_Native.Some x, FStar_Pervasives_Native.Some + y) -> eq uu___ x y + | (uu___1, uu___2) -> false) + } +let op_Equals : 'a . 'a deq -> 'a -> 'a -> Prims.bool = eq \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Printable.ml b/ocaml/fstar-lib/generated/FStar_Class_Printable.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStar_Printable.ml rename to ocaml/fstar-lib/generated/FStar_Class_Printable.ml index ff7248ea623..989927ee316 100644 --- a/ocaml/fstar-lib/generated/FStar_Printable.ml +++ b/ocaml/fstar-lib/generated/FStar_Class_Printable.ml @@ -5,7 +5,8 @@ let __proj__Mkprintable__item__to_string : 'a . 'a printable -> 'a -> Prims.string = fun projectee -> match projectee with | { to_string;_} -> to_string let to_string : 'a . 'a printable -> 'a -> Prims.string = - fun d -> __proj__Mkprintable__item__to_string d + fun projectee -> + match projectee with | { to_string = to_string1;_} -> to_string1 let (printable_unit : unit printable) = { to_string = (fun uu___ -> "()") } let (printable_bool : Prims.bool printable) = { to_string = Prims.string_of_bool } diff --git a/ocaml/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml b/ocaml/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml new file mode 100644 index 00000000000..f7f7f7b778c --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml @@ -0,0 +1,87 @@ +open Prims +let (flip : FStar_Order.order -> FStar_Order.order) = + fun uu___ -> + match uu___ with + | FStar_Order.Lt -> FStar_Order.Gt + | FStar_Order.Eq -> FStar_Order.Eq + | FStar_Order.Gt -> FStar_Order.Lt +type 'a raw_comparator = 'a -> 'a -> FStar_Order.order +type 'a totalorder = { + compare: 'a raw_comparator } +let __proj__Mktotalorder__item__compare : + 'a . 'a totalorder -> 'a raw_comparator = + fun projectee -> match projectee with | { compare;_} -> compare +let compare : 'a . 'a totalorder -> 'a raw_comparator = + fun projectee -> match projectee with | { compare = compare1;_} -> compare1 +let op_Less : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) = FStar_Order.Lt +let op_Greater : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) = FStar_Order.Gt +let op_Equals : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) = FStar_Order.Eq +let op_Less_Equals : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) <> FStar_Order.Gt +let op_Greater_Equals : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) <> FStar_Order.Lt +let op_Less_Greater : 't . 't totalorder -> 't -> 't -> Prims.bool = + fun uu___ -> fun x -> fun y -> (compare uu___ x y) <> FStar_Order.Eq +let (uu___54 : Prims.int totalorder) = { compare = FStar_Order.compare_int } +let (uu___55 : Prims.bool totalorder) = + { + compare = + (fun b1 -> + fun b2 -> + match (b1, b2) with + | (false, false) -> FStar_Order.Eq + | (true, true) -> FStar_Order.Eq + | (false, uu___) -> FStar_Order.Lt + | uu___ -> FStar_Order.Gt) + } +let totalorder_pair : + 'a 'b . 'a totalorder -> 'b totalorder -> ('a * 'b) totalorder = + fun d1 -> + fun d2 -> + { + compare = + (fun uu___ -> + fun uu___1 -> + match (uu___, uu___1) with + | ((xa, xb), (ya, yb)) -> + (match compare d1 xa ya with + | FStar_Order.Lt -> FStar_Order.Lt + | FStar_Order.Gt -> FStar_Order.Gt + | FStar_Order.Eq -> compare d2 xb yb)) + } +let totalorder_option : + 'a . 'a totalorder -> 'a FStar_Pervasives_Native.option totalorder = + fun d -> + { + compare = + (fun o1 -> + fun o2 -> + match (o1, o2) with + | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) + -> FStar_Order.Eq + | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some + uu___) -> FStar_Order.Lt + | (FStar_Pervasives_Native.Some uu___, + FStar_Pervasives_Native.None) -> FStar_Order.Gt + | (FStar_Pervasives_Native.Some a1, FStar_Pervasives_Native.Some + a2) -> compare d a1 a2) + } +let rec raw_compare_lists : + 'a . 'a totalorder -> 'a Prims.list raw_comparator = + fun d -> + fun l1 -> + fun l2 -> + match (l1, l2) with + | ([], []) -> FStar_Order.Eq + | ([], uu___::uu___1) -> FStar_Order.Lt + | (uu___::uu___1, []) -> FStar_Order.Gt + | (x::xs, y::ys) -> + (match compare d x y with + | FStar_Order.Lt -> FStar_Order.Lt + | FStar_Order.Gt -> FStar_Order.Gt + | FStar_Order.Eq -> raw_compare_lists d xs ys) +let totalorder_list : 'a . 'a totalorder -> 'a Prims.list totalorder = + fun d -> { compare = (raw_compare_lists d) } \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Compiler_Range_Type.ml b/ocaml/fstar-lib/generated/FStar_Compiler_Range_Type.ml index 9165a253caa..9600514ef38 100644 --- a/ocaml/fstar-lib/generated/FStar_Compiler_Range_Type.ml +++ b/ocaml/fstar-lib/generated/FStar_Compiler_Range_Type.ml @@ -2,7 +2,7 @@ open Prims type file_name = Prims.string[@@deriving yojson,show] type pos = { line: Prims.int ; - col: Prims.int }[@@deriving yojson,show,yojson,show] + col: Prims.int }[@@deriving yojson,show] let (__proj__Mkpos__item__line : pos -> Prims.int) = fun projectee -> match projectee with | { line; col;_} -> line let (__proj__Mkpos__item__col : pos -> Prims.int) = @@ -16,7 +16,7 @@ let (pos_geq : pos -> pos -> Prims.bool) = type rng = { file_name: file_name ; start_pos: pos ; - end_pos: pos }[@@deriving yojson,show,yojson,show] + end_pos: pos }[@@deriving yojson,show] let (__proj__Mkrng__item__file_name : rng -> file_name) = fun projectee -> match projectee with @@ -31,7 +31,7 @@ let (__proj__Mkrng__item__end_pos : rng -> pos) = | { file_name = file_name1; start_pos; end_pos;_} -> end_pos type range = { def_range: rng ; - use_range: rng }[@@deriving yojson,show,yojson,show] + use_range: rng }[@@deriving yojson,show] let (__proj__Mkrange__item__def_range : range -> rng) = fun projectee -> match projectee with | { def_range; use_range;_} -> def_range diff --git a/ocaml/fstar-lib/generated/FStar_Errors.ml b/ocaml/fstar-lib/generated/FStar_Errors.ml index a6ad16c4f63..3e09a6991a6 100644 --- a/ocaml/fstar-lib/generated/FStar_Errors.ml +++ b/ocaml/fstar-lib/generated/FStar_Errors.ml @@ -137,7 +137,8 @@ let (update_flags : Invalid_warn_error_setting uu___4 in FStar_Compiler_Effect.raise uu___3 in (match uu___1 with | (l1, h) -> (flag, (l1, h))) in - let error_range_settings = FStar_Compiler_List.map compute_range l in + let error_range_settings = + FStar_Compiler_List.map compute_range (FStar_Compiler_List.rev l) in let uu___ = FStar_Compiler_List.collect set_flag_for_range error_range_settings in FStar_Compiler_List.op_At uu___ FStar_Errors_Codes.default_settings @@ -784,19 +785,28 @@ let catch_errors_aux : let newh = mk_default_handler false in let old = FStar_Compiler_Effect.op_Bang current_handler in FStar_Compiler_Effect.op_Colon_Equals current_handler newh; - (let r = + (let finally_restore uu___1 = + let all_issues = newh.eh_report () in + FStar_Compiler_Effect.op_Colon_Equals current_handler old; + (let uu___3 = + FStar_Compiler_List.partition (fun i -> i.issue_level = EError) + all_issues in + match uu___3 with | (errs, rest) -> (errs, rest)) in + let r = try (fun uu___1 -> match () with | () -> let uu___2 = f () in FStar_Pervasives_Native.Some uu___2) () - with | uu___1 -> (err_exn uu___1; FStar_Pervasives_Native.None) in - let all_issues = newh.eh_report () in - FStar_Compiler_Effect.op_Colon_Equals current_handler old; - (let uu___2 = - FStar_Compiler_List.partition (fun i -> i.issue_level = EError) - all_issues in - match uu___2 with | (errs, rest) -> (errs, rest, r))) + with + | uu___1 -> + if handleable uu___1 + then (err_exn uu___1; FStar_Pervasives_Native.None) + else + (let uu___2 = finally_restore () in + FStar_Compiler_Effect.raise uu___1) in + let uu___1 = finally_restore () in + match uu___1 with | (errs, rest) -> (errs, rest, r)) let no_ctx : 'a . (unit -> 'a) -> 'a = fun f -> let save = error_context.get () in diff --git a/ocaml/fstar-lib/generated/FStar_Errors_Codes.ml b/ocaml/fstar-lib/generated/FStar_Errors_Codes.ml index 58df18ba2aa..c900344b94e 100644 --- a/ocaml/fstar-lib/generated/FStar_Errors_Codes.ml +++ b/ocaml/fstar-lib/generated/FStar_Errors_Codes.ml @@ -255,7 +255,7 @@ type raw_error = | Fatal_WhenClauseNotSupported | Unused01 | Warning_AddImplicitAssumeNewQualifier - | Warning_AdmitWithoutDefinition + | Error_AdmitWithoutDefinition | Warning_CachedFile | Warning_DefinitionNotTranslated | Warning_DependencyFound @@ -1430,10 +1430,10 @@ let (uu___is_Warning_AddImplicitAssumeNewQualifier : raw_error -> Prims.bool) match projectee with | Warning_AddImplicitAssumeNewQualifier -> true | uu___ -> false -let (uu___is_Warning_AdmitWithoutDefinition : raw_error -> Prims.bool) = +let (uu___is_Error_AdmitWithoutDefinition : raw_error -> Prims.bool) = fun projectee -> match projectee with - | Warning_AdmitWithoutDefinition -> true + | Error_AdmitWithoutDefinition -> true | uu___ -> false let (uu___is_Warning_CachedFile : raw_error -> Prims.bool) = fun projectee -> @@ -2155,7 +2155,7 @@ let (default_settings : error_setting Prims.list) = (Unused01, CFatal, (Prims.of_int (237))); (Warning_PluginNotImplemented, CError, (Prims.of_int (238))); (Warning_AddImplicitAssumeNewQualifier, CWarning, (Prims.of_int (239))); - (Warning_AdmitWithoutDefinition, CWarning, (Prims.of_int (240))); + (Error_AdmitWithoutDefinition, CError, (Prims.of_int (240))); (Warning_CachedFile, CWarning, (Prims.of_int (241))); (Warning_DefinitionNotTranslated, CWarning, (Prims.of_int (242))); (Warning_DependencyFound, CWarning, (Prims.of_int (243))); diff --git a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Modul.ml b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Modul.ml index 11dd8a1d2cf..e391bd874ad 100644 --- a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Modul.ml +++ b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Modul.ml @@ -1517,10 +1517,9 @@ let (get_noextract_to : FStar_Parser_Const.noextract_to_attr -> let uu___4 = - let uu___5 = - FStar_Syntax_Embeddings.unembed - FStar_Syntax_Embeddings.e_string a in - uu___5 false FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.try_unembed + FStar_Syntax_Embeddings.e_string a + FStar_Syntax_Embeddings_Base.id_norm_cb in (match uu___4 with | FStar_Pervasives_Native.Some s -> (FStar_Compiler_Option.isSome backend) && @@ -2006,115 +2005,6 @@ let (extract_bundle : | (env2, td) -> (env2, [FStar_Extraction_ML_Syntax.MLM_Ty td]))) | uu___ -> 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 -> - let w = - FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top in - let plugin_with_arity attrs = - FStar_Compiler_Util.find_map attrs - (fun t -> - let uu___ = FStar_Syntax_Util.head_and_args t in - match uu___ with - | (head, args) -> - let uu___1 = - let uu___2 = - FStar_Syntax_Util.is_fvar FStar_Parser_Const.plugin_attr - head in - Prims.op_Negation uu___2 in - if uu___1 - then FStar_Pervasives_Native.None - else - (match args with - | ({ - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_int (s, uu___3)); - FStar_Syntax_Syntax.pos = uu___4; - FStar_Syntax_Syntax.vars = uu___5; - FStar_Syntax_Syntax.hash_code = uu___6;_}, - uu___7)::[] -> - let uu___8 = - let uu___9 = FStar_Compiler_Util.int_of_string s in - FStar_Pervasives_Native.Some uu___9 in - FStar_Pervasives_Native.Some uu___8 - | uu___3 -> - FStar_Pervasives_Native.Some - FStar_Pervasives_Native.None)) in - let uu___ = - let uu___1 = FStar_Options.codegen () in - uu___1 <> (FStar_Pervasives_Native.Some FStar_Options.Plugin) in - if uu___ - then [] - else - (let uu___2 = plugin_with_arity se.FStar_Syntax_Syntax.sigattrs in - match uu___2 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some arity_opt -> - (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let - { FStar_Syntax_Syntax.lbs1 = lbs; - FStar_Syntax_Syntax.lids1 = uu___3;_} - -> - let mk_registration lb = - let fv = - FStar_Compiler_Util.right lb.FStar_Syntax_Syntax.lbname in - let fv_lid = - (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___4 = - let uu___5 = FStar_Ident.string_of_lid fv_lid in - FStar_Extraction_ML_Syntax.MLC_String uu___5 in - FStar_Extraction_ML_Syntax.MLE_Const uu___4 in - let uu___4 = - FStar_Extraction_ML_Util.interpret_plugin_as_term_fun g - fv fv_t arity_opt ml_name_str in - match uu___4 with - | FStar_Pervasives_Native.Some - (interp, nbe_interp, arity, plugin) -> - let uu___5 = - if plugin - then - ((["FStar_Tactics_Native"], "register_plugin"), - [interp; nbe_interp]) - else - ((["FStar_Tactics_Native"], "register_tactic"), - [interp]) in - (match uu___5 with - | (register, args) -> - let h = - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) - (FStar_Extraction_ML_Syntax.MLE_Name - register) in - let arity1 = - let uu___6 = - let uu___7 = - let uu___8 = - FStar_Compiler_Util.string_of_int arity in - (uu___8, FStar_Pervasives_Native.None) in - FStar_Extraction_ML_Syntax.MLC_Int uu___7 in - FStar_Extraction_ML_Syntax.MLE_Const uu___6 in - let app = - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) - (FStar_Extraction_ML_Syntax.MLE_App - (h, - (FStar_Compiler_List.op_At - [w ml_name_str; w arity1] args))) in - [FStar_Extraction_ML_Syntax.MLM_Top app]) - | FStar_Pervasives_Native.None -> [] in - FStar_Compiler_List.collect mk_registration - (FStar_Pervasives_Native.snd lbs) - | uu___3 -> [])) let (lb_irrelevant : env_t -> FStar_Syntax_Syntax.letbinding -> Prims.bool) = fun g -> fun lb -> @@ -2152,11 +2042,35 @@ let rec (extract_sig : (let se1 = karamel_fixup_qual se in match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_bundle uu___5 -> - extract_bundle g se1 + let uu___6 = extract_bundle g se1 in + (match uu___6 with + | (g1, ses) -> + let uu___7 = + let uu___8 = + FStar_Extraction_ML_RegEmb.maybe_register_plugin + g1 se1 in + FStar_Compiler_List.op_At ses uu___8 in + (g1, uu___7)) | FStar_Syntax_Syntax.Sig_inductive_typ uu___5 -> - extract_bundle g se1 + let uu___6 = extract_bundle g se1 in + (match uu___6 with + | (g1, ses) -> + let uu___7 = + let uu___8 = + FStar_Extraction_ML_RegEmb.maybe_register_plugin + g1 se1 in + FStar_Compiler_List.op_At ses uu___8 in + (g1, uu___7)) | FStar_Syntax_Syntax.Sig_datacon uu___5 -> - extract_bundle g se1 + let uu___6 = extract_bundle g se1 in + (match uu___6 with + | (g1, ses) -> + let uu___7 = + let uu___8 = + FStar_Extraction_ML_RegEmb.maybe_register_plugin + g1 se1 in + FStar_Compiler_List.op_At ses uu___8 in + (g1, uu___7)) | FStar_Syntax_Syntax.Sig_new_effect ed when let uu___5 = FStar_Extraction_ML_UEnv.tcenv_of_uenv g in FStar_TypeChecker_Env.is_reifiable_effect uu___5 @@ -2401,6 +2315,8 @@ let rec (extract_sig : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -2689,7 +2605,8 @@ let rec (extract_sig : (flavor, (FStar_Compiler_List.rev ml_lbs'))] in let uu___13 = - maybe_register_plugin g1 se1 in + FStar_Extraction_ML_RegEmb.maybe_register_plugin + g1 se1 in FStar_Compiler_List.op_At uu___12 uu___13 in (g1, uu___11)) | uu___9 -> diff --git a/ocaml/fstar-lib/generated/FStar_Extraction_ML_RegEmb.ml b/ocaml/fstar-lib/generated/FStar_Extraction_ML_RegEmb.ml new file mode 100644 index 00000000000..3fbea5403cb --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Extraction_ML_RegEmb.ml @@ -0,0 +1,2310 @@ +open Prims +exception NoEmbedding of Prims.string +let (uu___is_NoEmbedding : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | NoEmbedding uu___ -> true | uu___ -> false +let (__proj__NoEmbedding__item__uu___ : Prims.exn -> Prims.string) = + fun projectee -> match projectee with | NoEmbedding uu___ -> uu___ +exception Unsupported of Prims.string +let (uu___is_Unsupported : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | Unsupported uu___ -> true | uu___ -> false +let (__proj__Unsupported__item__uu___ : Prims.exn -> Prims.string) = + fun projectee -> match projectee with | Unsupported uu___ -> uu___ +let splitlast : 'uuuuu . 'uuuuu Prims.list -> ('uuuuu Prims.list * 'uuuuu) = + fun s -> + let uu___ = FStar_Compiler_List.rev s in + match uu___ with | x::xs -> ((FStar_Compiler_List.rev xs), x) +let (mk : + FStar_Extraction_ML_Syntax.mlexpr' -> FStar_Extraction_ML_Syntax.mlexpr) = + fun e -> + FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top e +let (ml_name : FStar_Ident.lid -> FStar_Extraction_ML_Syntax.mlexpr) = + fun l -> + let s = FStar_Ident.path_of_lid l in + let uu___ = splitlast s in + match uu___ with + | (ns, id) -> mk (FStar_Extraction_ML_Syntax.MLE_Name (ns, id)) +let (ml_name' : Prims.string -> FStar_Extraction_ML_Syntax.mlexpr) = + fun s -> let uu___ = FStar_Ident.lid_of_str s in ml_name uu___ +let (ml_ctor : + FStar_Ident.lid -> + FStar_Extraction_ML_Syntax.mlexpr Prims.list -> + FStar_Extraction_ML_Syntax.mlexpr) + = + fun l -> + fun args -> + let s = FStar_Ident.path_of_lid l in + let uu___ = splitlast s in + match uu___ with + | (ns, id) -> mk (FStar_Extraction_ML_Syntax.MLE_CTor ((ns, id), args)) +let (ml_record : + FStar_Ident.lid -> + (Prims.string * FStar_Extraction_ML_Syntax.mlexpr) Prims.list -> + FStar_Extraction_ML_Syntax.mlexpr) + = + fun l -> + fun args -> + let s = FStar_Ident.path_of_lid l in + mk (FStar_Extraction_ML_Syntax.MLE_Record ([], args)) +let (ml_lam : + FStar_Extraction_ML_Syntax.mlident -> + FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) + = + fun nm -> + fun e -> + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_Fun + ([(nm, FStar_Extraction_ML_Syntax.MLTY_Top)], e)) +let (ml_none : FStar_Extraction_ML_Syntax.mlexpr) = + mk + (FStar_Extraction_ML_Syntax.MLE_Name + (["FStar"; "Pervasives"; "Native"], "None")) +let (ml_some : FStar_Extraction_ML_Syntax.mlexpr) = + mk + (FStar_Extraction_ML_Syntax.MLE_Name + (["FStar"; "Pervasives"; "Native"], "Some")) +let (tm_fvar_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Syntax.Tm_fvar" +let (fv_eq_lid_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Syntax.fv_eq_lid" +let (s_tdataconstr_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Syntax.tdataconstr" +let (lid_of_str_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Ident.lid_of_str" +let (mk_app_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Util.mk_app" +let (nil_lid : FStar_Ident.lident) = FStar_Ident.lid_of_str "Prims.Nil" +let (cons_lid : FStar_Ident.lident) = FStar_Ident.lid_of_str "Prims.Cons" +let (embed_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Embeddings.Base.extracted_embed" +let (unembed_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Syntax.Embeddings.Base.extracted_unembed" +let (bind_opt_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_str "FStar.Compiler.Util.bind_opt" +let (ml_nbe_unsupported : FStar_Extraction_ML_Syntax.mlexpr) = + let hd = + mk + (FStar_Extraction_ML_Syntax.MLE_Name + (["FStar"; "TypeChecker"; "NBETerm"], "e_unsupported")) in + mk + (FStar_Extraction_ML_Syntax.MLE_App + (hd, [FStar_Extraction_ML_Syntax.ml_unit])) +let (ml_magic : FStar_Extraction_ML_Syntax.mlexpr) = + mk + (FStar_Extraction_ML_Syntax.MLE_Coerce + (FStar_Extraction_ML_Syntax.ml_unit, + FStar_Extraction_ML_Syntax.MLTY_Top, + FStar_Extraction_ML_Syntax.MLTY_Top)) +let (as_name : + FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlexpr) = + fun mlp -> + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) + (FStar_Extraction_ML_Syntax.MLE_Name mlp) +let (ml_failwith : Prims.string -> FStar_Extraction_ML_Syntax.mlexpr) = + fun s -> + let uu___ = + let uu___1 = + let uu___2 = as_name ([], "failwith") in + let uu___3 = + let uu___4 = + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_String s)) in + [uu___4] in + (uu___2, uu___3) in + FStar_Extraction_ML_Syntax.MLE_App uu___1 in + FStar_Compiler_Effect.op_Less_Bar mk uu___ +let rec (as_ml_list : + FStar_Extraction_ML_Syntax.mlexpr Prims.list -> + FStar_Extraction_ML_Syntax.mlexpr) + = + fun ts -> + match ts with + | [] -> ml_ctor nil_lid [] + | t::ts1 -> + let uu___ = + let uu___1 = let uu___2 = as_ml_list ts1 in [uu___2] in t :: uu___1 in + ml_ctor cons_lid uu___ +let rec (pats_to_list_pat : + FStar_Extraction_ML_Syntax.mlpattern Prims.list -> + FStar_Extraction_ML_Syntax.mlpattern) + = + fun vs -> + match vs with + | [] -> FStar_Extraction_ML_Syntax.MLP_CTor ((["Prims"], "Nil"), []) + | p::ps -> + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = pats_to_list_pat ps in [uu___3] in p :: + uu___2 in + ((["Prims"], "Cons"), uu___1) in + FStar_Extraction_ML_Syntax.MLP_CTor uu___ +let (fresh : Prims.string -> Prims.string) = + let r = FStar_Compiler_Util.mk_ref Prims.int_zero in + fun s -> + let v = FStar_Compiler_Effect.op_Bang r in + FStar_Compiler_Effect.op_Colon_Equals r (v + Prims.int_one); + Prims.op_Hat s (Prims.op_Hat "_" (Prims.string_of_int v)) +let (not_implemented_warning : + FStar_Compiler_Range_Type.range -> Prims.string -> Prims.string -> unit) = + fun r -> + fun t -> + fun msg -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Errors.lookup + FStar_Errors_Codes.Warning_PluginNotImplemented in + FStar_Errors.error_number uu___4 in + FStar_Compiler_Effect.op_Less_Bar Prims.string_of_int uu___3 in + FStar_Compiler_Util.format3 + "Plugin `%s' can not run natively because %s (use --warn_error -%s to carry on)." + t msg uu___2 in + (FStar_Errors_Codes.Warning_PluginNotImplemented, uu___1) in + FStar_Errors.log_issue r uu___ +type embedding_data = + { + arity: Prims.int ; + syn_emb: FStar_Ident.lid ; + nbe_emb: FStar_Ident.lid FStar_Pervasives_Native.option } +let (__proj__Mkembedding_data__item__arity : embedding_data -> Prims.int) = + fun projectee -> + match projectee with | { arity; syn_emb; nbe_emb;_} -> arity +let (__proj__Mkembedding_data__item__syn_emb : + embedding_data -> FStar_Ident.lid) = + fun projectee -> + match projectee with | { arity; syn_emb; nbe_emb;_} -> syn_emb +let (__proj__Mkembedding_data__item__nbe_emb : + embedding_data -> FStar_Ident.lid FStar_Pervasives_Native.option) = + fun projectee -> + match projectee with | { arity; syn_emb; nbe_emb;_} -> nbe_emb +let (builtin_embeddings : (FStar_Ident.lident * embedding_data) Prims.list) = + let syn_emb_lid s = + FStar_Ident.lid_of_path ["FStar"; "Syntax"; "Embeddings"; s] + FStar_Compiler_Range_Type.dummyRange in + let nbe_emb_lid s = + FStar_Ident.lid_of_path ["FStar"; "TypeChecker"; "NBETerm"; s] + FStar_Compiler_Range_Type.dummyRange in + let refl_emb_lid s = + FStar_Ident.lid_of_path ["FStar"; "Reflection"; "V2"; "Embeddings"; s] + FStar_Compiler_Range_Type.dummyRange in + let nbe_refl_emb_lid s = + FStar_Ident.lid_of_path ["FStar"; "Reflection"; "V2"; "NBEEmbeddings"; s] + FStar_Compiler_Range_Type.dummyRange in + let uu___ = + let uu___1 = + let uu___2 = syn_emb_lid "e_int" in + let uu___3 = + let uu___4 = nbe_emb_lid "e_int" in + FStar_Pervasives_Native.Some uu___4 in + { arity = Prims.int_zero; syn_emb = uu___2; nbe_emb = uu___3 } in + (FStar_Parser_Const.int_lid, uu___1) in + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = syn_emb_lid "e_bool" in + let uu___5 = + let uu___6 = nbe_emb_lid "e_bool" in + FStar_Pervasives_Native.Some uu___6 in + { arity = Prims.int_zero; syn_emb = uu___4; nbe_emb = uu___5 } in + (FStar_Parser_Const.bool_lid, uu___3) in + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = syn_emb_lid "e_unit" in + let uu___7 = + let uu___8 = nbe_emb_lid "e_unit" in + FStar_Pervasives_Native.Some uu___8 in + { arity = Prims.int_zero; syn_emb = uu___6; nbe_emb = uu___7 } in + (FStar_Parser_Const.unit_lid, uu___5) in + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = syn_emb_lid "e_string" in + let uu___9 = + let uu___10 = nbe_emb_lid "e_string" in + FStar_Pervasives_Native.Some uu___10 in + { arity = Prims.int_zero; syn_emb = uu___8; nbe_emb = uu___9 } in + (FStar_Parser_Const.string_lid, uu___7) in + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = syn_emb_lid "e_norm_step" in + let uu___11 = + let uu___12 = nbe_emb_lid "e_norm_step" in + FStar_Pervasives_Native.Some uu___12 in + { arity = Prims.int_zero; syn_emb = uu___10; nbe_emb = uu___11 + } in + (FStar_Parser_Const.norm_step_lid, uu___9) in + let uu___9 = + let uu___10 = + let uu___11 = + let uu___12 = syn_emb_lid "e___range" in + let uu___13 = + let uu___14 = nbe_emb_lid "e___range" in + FStar_Pervasives_Native.Some uu___14 in + { + arity = Prims.int_zero; + syn_emb = uu___12; + nbe_emb = uu___13 + } in + (FStar_Parser_Const.__range_lid, uu___11) in + let uu___11 = + let uu___12 = + let uu___13 = + let uu___14 = syn_emb_lid "e_vconfig" in + let uu___15 = + let uu___16 = nbe_emb_lid "e_vconfig" in + FStar_Pervasives_Native.Some uu___16 in + { + arity = Prims.int_zero; + syn_emb = uu___14; + nbe_emb = uu___15 + } in + (FStar_Parser_Const.vconfig_lid, uu___13) in + let uu___13 = + let uu___14 = + let uu___15 = + let uu___16 = syn_emb_lid "e_list" in + let uu___17 = + let uu___18 = nbe_emb_lid "e_list" in + FStar_Pervasives_Native.Some uu___18 in + { + arity = Prims.int_one; + syn_emb = uu___16; + nbe_emb = uu___17 + } in + (FStar_Parser_Const.list_lid, uu___15) in + let uu___15 = + let uu___16 = + let uu___17 = + let uu___18 = syn_emb_lid "e_option" in + let uu___19 = + let uu___20 = nbe_emb_lid "e_option" in + FStar_Pervasives_Native.Some uu___20 in + { + arity = Prims.int_one; + syn_emb = uu___18; + nbe_emb = uu___19 + } in + (FStar_Parser_Const.option_lid, uu___17) in + let uu___17 = + let uu___18 = + let uu___19 = + let uu___20 = syn_emb_lid "e_sealed" in + let uu___21 = + let uu___22 = nbe_emb_lid "e_sealed" in + FStar_Pervasives_Native.Some uu___22 in + { + arity = Prims.int_one; + syn_emb = uu___20; + nbe_emb = uu___21 + } in + (FStar_Parser_Const.sealed_lid, uu___19) in + let uu___19 = + let uu___20 = + let uu___21 = + FStar_Parser_Const.mk_tuple_lid (Prims.of_int (2)) + FStar_Compiler_Range_Type.dummyRange in + let uu___22 = + let uu___23 = syn_emb_lid "e_tuple2" in + let uu___24 = + let uu___25 = nbe_emb_lid "e_tuple2" in + FStar_Pervasives_Native.Some uu___25 in + { + arity = (Prims.of_int (2)); + syn_emb = uu___23; + nbe_emb = uu___24 + } in + (uu___21, uu___22) in + let uu___21 = + let uu___22 = + let uu___23 = + FStar_Parser_Const.mk_tuple_lid + (Prims.of_int (3)) + FStar_Compiler_Range_Type.dummyRange in + let uu___24 = + let uu___25 = syn_emb_lid "e_tuple3" in + let uu___26 = + let uu___27 = nbe_emb_lid "e_tuple3" in + FStar_Pervasives_Native.Some uu___27 in + { + arity = (Prims.of_int (3)); + syn_emb = uu___25; + nbe_emb = uu___26 + } in + (uu___23, uu___24) in + let uu___23 = + let uu___24 = + let uu___25 = + let uu___26 = syn_emb_lid "e_either" in + let uu___27 = + let uu___28 = nbe_emb_lid "e_either" in + FStar_Pervasives_Native.Some uu___28 in + { + arity = (Prims.of_int (2)); + syn_emb = uu___26; + nbe_emb = uu___27 + } in + (FStar_Parser_Const.either_lid, uu___25) in + let uu___25 = + let uu___26 = + let uu___27 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "namedv" in + let uu___28 = + let uu___29 = refl_emb_lid "e_namedv" in + let uu___30 = + let uu___31 = nbe_refl_emb_lid "e_namedv" in + FStar_Pervasives_Native.Some uu___31 in + { + arity = Prims.int_zero; + syn_emb = uu___29; + nbe_emb = uu___30 + } in + (uu___27, uu___28) in + let uu___27 = + let uu___28 = + let uu___29 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "bv" in + let uu___30 = + let uu___31 = refl_emb_lid "e_bv" in + let uu___32 = + let uu___33 = nbe_refl_emb_lid "e_bv" in + FStar_Pervasives_Native.Some uu___33 in + { + arity = Prims.int_zero; + syn_emb = uu___31; + nbe_emb = uu___32 + } in + (uu___29, uu___30) in + let uu___29 = + let uu___30 = + let uu___31 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "binder" in + let uu___32 = + let uu___33 = refl_emb_lid "e_binder" in + let uu___34 = + let uu___35 = + nbe_refl_emb_lid "e_binder" in + FStar_Pervasives_Native.Some uu___35 in + { + arity = Prims.int_zero; + syn_emb = uu___33; + nbe_emb = uu___34 + } in + (uu___31, uu___32) in + let uu___31 = + let uu___32 = + let uu___33 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "term" in + let uu___34 = + let uu___35 = refl_emb_lid "e_term" in + let uu___36 = + let uu___37 = + nbe_refl_emb_lid "e_term" in + FStar_Pervasives_Native.Some uu___37 in + { + arity = Prims.int_zero; + syn_emb = uu___35; + nbe_emb = uu___36 + } in + (uu___33, uu___34) in + let uu___33 = + let uu___34 = + let uu___35 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "env" in + let uu___36 = + let uu___37 = refl_emb_lid "e_env" in + let uu___38 = + let uu___39 = + nbe_refl_emb_lid "e_env" in + FStar_Pervasives_Native.Some + uu___39 in + { + arity = Prims.int_zero; + syn_emb = uu___37; + nbe_emb = uu___38 + } in + (uu___35, uu___36) in + let uu___35 = + let uu___36 = + let uu___37 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "fv" in + let uu___38 = + let uu___39 = refl_emb_lid "e_fv" in + let uu___40 = + let uu___41 = + nbe_refl_emb_lid "e_fv" in + FStar_Pervasives_Native.Some + uu___41 in + { + arity = Prims.int_zero; + syn_emb = uu___39; + nbe_emb = uu___40 + } in + (uu___37, uu___38) in + let uu___37 = + let uu___38 = + let uu___39 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "comp" in + let uu___40 = + let uu___41 = + refl_emb_lid "e_comp" in + let uu___42 = + let uu___43 = + nbe_refl_emb_lid "e_comp" in + FStar_Pervasives_Native.Some + uu___43 in + { + arity = Prims.int_zero; + syn_emb = uu___41; + nbe_emb = uu___42 + } in + (uu___39, uu___40) in + let uu___39 = + let uu___40 = + let uu___41 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "sigelt" in + let uu___42 = + let uu___43 = + refl_emb_lid "e_sigelt" in + let uu___44 = + let uu___45 = + nbe_refl_emb_lid "e_sigelt" in + FStar_Pervasives_Native.Some + uu___45 in + { + arity = Prims.int_zero; + syn_emb = uu___43; + nbe_emb = uu___44 + } in + (uu___41, uu___42) in + let uu___41 = + let uu___42 = + let uu___43 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "ctx_uvar_and_subst" in + let uu___44 = + let uu___45 = + refl_emb_lid + "e_ctx_uvar_and_subst" in + let uu___46 = + let uu___47 = + nbe_refl_emb_lid + "e_ctx_uvar_and_subst" in + FStar_Pervasives_Native.Some + uu___47 in + { + arity = Prims.int_zero; + syn_emb = uu___45; + nbe_emb = uu___46 + } in + (uu___43, uu___44) in + let uu___43 = + let uu___44 = + let uu___45 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "letbinding" in + let uu___46 = + let uu___47 = + refl_emb_lid + "e_letbinding" in + let uu___48 = + let uu___49 = + nbe_refl_emb_lid + "e_letbinding" in + FStar_Pervasives_Native.Some + uu___49 in + { + arity = Prims.int_zero; + syn_emb = uu___47; + nbe_emb = uu___48 + } in + (uu___45, uu___46) in + let uu___45 = + let uu___46 = + let uu___47 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "ident" in + let uu___48 = + let uu___49 = + refl_emb_lid "e_ident" in + let uu___50 = + let uu___51 = + nbe_refl_emb_lid + "e_ident" in + FStar_Pervasives_Native.Some + uu___51 in + { + arity = Prims.int_zero; + syn_emb = uu___49; + nbe_emb = uu___50 + } in + (uu___47, uu___48) in + let uu___47 = + let uu___48 = + let uu___49 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "universe_uvar" in + let uu___50 = + let uu___51 = + refl_emb_lid + "e_universe_uvar" in + let uu___52 = + let uu___53 = + nbe_refl_emb_lid + "e_universe_uvar" in + FStar_Pervasives_Native.Some + uu___53 in + { + arity = + Prims.int_zero; + syn_emb = uu___51; + nbe_emb = uu___52 + } in + (uu___49, uu___50) in + let uu___49 = + let uu___50 = + let uu___51 = + FStar_Reflection_V2_Constants.fstar_refl_types_lid + "universe" in + let uu___52 = + let uu___53 = + refl_emb_lid + "e_universe" in + let uu___54 = + let uu___55 = + nbe_refl_emb_lid + "e_universe" in + FStar_Pervasives_Native.Some + uu___55 in + { + arity = + Prims.int_zero; + syn_emb = uu___53; + nbe_emb = uu___54 + } in + (uu___51, uu___52) in + let uu___51 = + let uu___52 = + let uu___53 = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "vconst" in + let uu___54 = + let uu___55 = + refl_emb_lid + "e_vconst" in + let uu___56 = + let uu___57 = + nbe_refl_emb_lid + "e_vconst" in + FStar_Pervasives_Native.Some + uu___57 in + { + arity = + Prims.int_zero; + syn_emb = uu___55; + nbe_emb = uu___56 + } in + (uu___53, uu___54) in + let uu___53 = + let uu___54 = + let uu___55 = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "aqualv" in + let uu___56 = + let uu___57 = + refl_emb_lid + "e_aqualv" in + let uu___58 = + let uu___59 = + nbe_refl_emb_lid + "e_aqualv" in + FStar_Pervasives_Native.Some + uu___59 in + { + arity = + Prims.int_zero; + syn_emb = + uu___57; + nbe_emb = + uu___58 + } in + (uu___55, uu___56) in + let uu___55 = + let uu___56 = + let uu___57 = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "pattern" in + let uu___58 = + let uu___59 = + refl_emb_lid + "e_pattern" in + let uu___60 = + let uu___61 = + nbe_refl_emb_lid + "e_pattern" in + FStar_Pervasives_Native.Some + uu___61 in + { + arity = + Prims.int_zero; + syn_emb = + uu___59; + nbe_emb = + uu___60 + } in + (uu___57, + uu___58) in + let uu___57 = + let uu___58 = + let uu___59 = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "namedv_view" in + let uu___60 = + let uu___61 = + refl_emb_lid + "e_namedv_view" in + let uu___62 = + let uu___63 + = + nbe_refl_emb_lid + "e_namedv_view" in + FStar_Pervasives_Native.Some + uu___63 in + { + arity = + Prims.int_zero; + syn_emb = + uu___61; + nbe_emb = + uu___62 + } in + (uu___59, + uu___60) in + let uu___59 = + let uu___60 = + let uu___61 = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "bv_view" in + let uu___62 = + let uu___63 + = + refl_emb_lid + "e_bv_view" in + let uu___64 + = + let uu___65 + = + nbe_refl_emb_lid + "e_bv_view" in + FStar_Pervasives_Native.Some + uu___65 in + { + arity = + Prims.int_zero; + syn_emb = + uu___63; + nbe_emb = + uu___64 + } in + (uu___61, + uu___62) in + let uu___61 = + let uu___62 = + let uu___63 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "binder_view" in + let uu___64 + = + let uu___65 + = + refl_emb_lid + "e_binder_view" in + let uu___66 + = + let uu___67 + = + nbe_refl_emb_lid + "e_binder_view" in + FStar_Pervasives_Native.Some + uu___67 in + { + arity = + Prims.int_zero; + syn_emb = + uu___65; + nbe_emb = + uu___66 + } in + (uu___63, + uu___64) in + let uu___63 = + let uu___64 + = + let uu___65 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "binding" in + let uu___66 + = + let uu___67 + = + refl_emb_lid + "e_binding" in + let uu___68 + = + let uu___69 + = + nbe_refl_emb_lid + "e_binding" in + FStar_Pervasives_Native.Some + uu___69 in + { + arity = + Prims.int_zero; + syn_emb = + uu___67; + nbe_emb = + uu___68 + } in + (uu___65, + uu___66) in + let uu___65 + = + let uu___66 + = + let uu___67 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "universe_view" in + let uu___68 + = + let uu___69 + = + refl_emb_lid + "e_universe_view" in + let uu___70 + = + let uu___71 + = + nbe_refl_emb_lid + "e_universe_view" in + FStar_Pervasives_Native.Some + uu___71 in + { + arity = + Prims.int_zero; + syn_emb = + uu___69; + nbe_emb = + uu___70 + } in + (uu___67, + uu___68) in + let uu___67 + = + let uu___68 + = + let uu___69 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "term_view" in + let uu___70 + = + let uu___71 + = + refl_emb_lid + "e_term_view" in + let uu___72 + = + let uu___73 + = + nbe_refl_emb_lid + "e_term_view" in + FStar_Pervasives_Native.Some + uu___73 in + { + arity = + Prims.int_zero; + syn_emb = + uu___71; + nbe_emb = + uu___72 + } in + (uu___69, + uu___70) in + let uu___69 + = + let uu___70 + = + let uu___71 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "comp_view" in + let uu___72 + = + let uu___73 + = + refl_emb_lid + "e_comp_view" in + let uu___74 + = + let uu___75 + = + nbe_refl_emb_lid + "e_comp_view" in + FStar_Pervasives_Native.Some + uu___75 in + { + arity = + Prims.int_zero; + syn_emb = + uu___73; + nbe_emb = + uu___74 + } in + (uu___71, + uu___72) in + let uu___71 + = + let uu___72 + = + let uu___73 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "lb_view" in + let uu___74 + = + let uu___75 + = + refl_emb_lid + "e_lb_view" in + let uu___76 + = + let uu___77 + = + nbe_refl_emb_lid + "e_lb_view" in + FStar_Pervasives_Native.Some + uu___77 in + { + arity = + Prims.int_zero; + syn_emb = + uu___75; + nbe_emb = + uu___76 + } in + (uu___73, + uu___74) in + let uu___73 + = + let uu___74 + = + let uu___75 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "sigelt_view" in + let uu___76 + = + let uu___77 + = + refl_emb_lid + "e_sigelt_view" in + let uu___78 + = + let uu___79 + = + nbe_refl_emb_lid + "e_sigelt_view" in + FStar_Pervasives_Native.Some + uu___79 in + { + arity = + Prims.int_zero; + syn_emb = + uu___77; + nbe_emb = + uu___78 + } in + (uu___75, + uu___76) in + let uu___75 + = + let uu___76 + = + let uu___77 + = + FStar_Reflection_V2_Constants.fstar_refl_data_lid + "qualifier" in + let uu___78 + = + let uu___79 + = + refl_emb_lid + "e_qualifier" in + let uu___80 + = + let uu___81 + = + nbe_refl_emb_lid + "e_qualifier" in + FStar_Pervasives_Native.Some + uu___81 in + { + arity = + Prims.int_zero; + syn_emb = + uu___79; + nbe_emb = + uu___80 + } in + (uu___77, + uu___78) in + [uu___76] in + uu___74 + :: + uu___75 in + uu___72 + :: + uu___73 in + uu___70 + :: + uu___71 in + uu___68 + :: + uu___69 in + uu___66 + :: + uu___67 in + uu___64 :: + uu___65 in + uu___62 :: + uu___63 in + uu___60 :: + uu___61 in + uu___58 :: + uu___59 in + uu___56 :: uu___57 in + uu___54 :: uu___55 in + uu___52 :: uu___53 in + uu___50 :: uu___51 in + uu___48 :: uu___49 in + uu___46 :: uu___47 in + uu___44 :: uu___45 in + uu___42 :: uu___43 in + uu___40 :: uu___41 in + uu___38 :: uu___39 in + uu___36 :: uu___37 in + uu___34 :: uu___35 in + uu___32 :: uu___33 in + uu___30 :: uu___31 in + uu___28 :: uu___29 in + uu___26 :: uu___27 in + uu___24 :: uu___25 in + uu___22 :: uu___23 in + uu___20 :: uu___21 in + uu___18 :: uu___19 in + uu___16 :: uu___17 in + uu___14 :: uu___15 in + uu___12 :: uu___13 in + uu___10 :: uu___11 in + uu___8 :: uu___9 in + uu___6 :: uu___7 in + uu___4 :: uu___5 in + uu___2 :: uu___3 in + uu___ :: uu___1 +let (local_fv_embeddings : + (FStar_Ident.lident * embedding_data) Prims.list FStar_Compiler_Effect.ref) + = FStar_Compiler_Util.mk_ref [] +let (register_embedding : FStar_Ident.lident -> embedding_data -> unit) = + fun l -> + fun d -> + (let uu___1 = + FStar_Options.debug_at_level_no_module + (FStar_Options.Other "Plugins") in + if uu___1 + then + let uu___2 = FStar_Ident.string_of_lid l in + FStar_Compiler_Util.print1 "Registering local embedding for %s\n" + uu___2 + else ()); + (let uu___1 = + let uu___2 = FStar_Compiler_Effect.op_Bang local_fv_embeddings in + (l, d) :: uu___2 in + FStar_Compiler_Effect.op_Colon_Equals local_fv_embeddings uu___1) +let (list_local : unit -> (FStar_Ident.lident * embedding_data) Prims.list) = + fun uu___ -> FStar_Compiler_Effect.op_Bang local_fv_embeddings +let (find_fv_embedding' : + FStar_Ident.lident -> embedding_data FStar_Pervasives_Native.option) = + fun l -> + let uu___ = + let uu___1 = + let uu___2 = FStar_Compiler_Effect.op_Bang local_fv_embeddings in + FStar_Compiler_List.op_At uu___2 builtin_embeddings in + FStar_Compiler_List.find + (fun uu___2 -> + match uu___2 with | (l', uu___3) -> FStar_Ident.lid_equals l l') + uu___1 in + match uu___ with + | FStar_Pervasives_Native.Some (uu___1, data) -> + FStar_Pervasives_Native.Some data + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None +let (find_fv_embedding : FStar_Ident.lident -> embedding_data) = + fun l -> + let uu___ = find_fv_embedding' l in + match uu___ with + | FStar_Pervasives_Native.Some data -> data + | FStar_Pervasives_Native.None -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_Ident.string_of_lid l in + Prims.op_Hat "Embedding not defined for type " uu___3 in + NoEmbedding uu___2 in + FStar_Compiler_Effect.raise uu___1 +type embedding_kind = + | SyntaxTerm + | NBETerm +let (uu___is_SyntaxTerm : embedding_kind -> Prims.bool) = + fun projectee -> match projectee with | SyntaxTerm -> true | uu___ -> false +let (uu___is_NBETerm : embedding_kind -> Prims.bool) = + fun projectee -> match projectee with | NBETerm -> true | uu___ -> false +let rec (embedding_for : + FStar_TypeChecker_Env.env -> + FStar_Ident.lid Prims.list -> + embedding_kind -> + (FStar_Syntax_Syntax.bv * Prims.string) Prims.list -> + FStar_Syntax_Syntax.term -> FStar_Extraction_ML_Syntax.mlexpr) + = + fun tcenv -> + fun mutuals -> + fun k -> + fun env -> + fun t -> + let str_to_name s = as_name ([], s) in + let emb_arrow e1 e2 = + let comb = + match k with + | SyntaxTerm -> ml_name' "FStar.Syntax.Embeddings.e_arrow" + | NBETerm -> ml_name' "FStar.TypeChecker.NBETerm.e_arrow" in + mk (FStar_Extraction_ML_Syntax.MLE_App (comb, [e1; e2])) in + let find_env_entry bv uu___ = + match uu___ with + | (bv', uu___1) -> FStar_Syntax_Syntax.bv_eq bv bv' in + let t1 = FStar_TypeChecker_Normalize.unfold_whnf tcenv t in + let t2 = FStar_Syntax_Util.un_uinst t1 in + let t3 = FStar_Syntax_Subst.compress t2 in + match t3.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_name bv when + FStar_Compiler_Util.for_some (find_env_entry bv) env -> + let comb = + match k with + | SyntaxTerm -> + ml_name' "FStar.Syntax.Embeddings.mk_any_emb" + | NBETerm -> + ml_name' "FStar.TypeChecker.NBETerm.mk_any_emb" in + let s = + let uu___ = + let uu___1 = + FStar_Compiler_Util.find_opt (find_env_entry bv) env in + FStar_Compiler_Util.must uu___1 in + FStar_Pervasives_Native.snd uu___ in + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = str_to_name s in [uu___3] in + (comb, uu___2) in + FStar_Extraction_ML_Syntax.MLE_App uu___1 in + FStar_Compiler_Effect.op_Less_Bar mk uu___ + | FStar_Syntax_Syntax.Tm_refine + { FStar_Syntax_Syntax.b = x; + FStar_Syntax_Syntax.phi = uu___;_} + -> + embedding_for tcenv mutuals k env x.FStar_Syntax_Syntax.sort + | FStar_Syntax_Syntax.Tm_ascribed + { FStar_Syntax_Syntax.tm = t4; + FStar_Syntax_Syntax.asc = uu___; + FStar_Syntax_Syntax.eff_opt = uu___1;_} + -> embedding_for tcenv mutuals k env t4 + | FStar_Syntax_Syntax.Tm_arrow + { FStar_Syntax_Syntax.bs1 = b::[]; + FStar_Syntax_Syntax.comp = c;_} + when FStar_Syntax_Util.is_pure_comp c -> + let uu___ = FStar_Syntax_Subst.open_comp [b] c in + (match uu___ with + | (b1::[], c1) -> + let t0 = + (b1.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort in + let t11 = FStar_Syntax_Util.comp_result c1 in + let uu___1 = embedding_for tcenv mutuals k env t0 in + let uu___2 = embedding_for tcenv mutuals k env t11 in + emb_arrow uu___1 uu___2) + | FStar_Syntax_Syntax.Tm_arrow + { FStar_Syntax_Syntax.bs1 = b::more::bs; + FStar_Syntax_Syntax.comp = c;_} + -> + let tail = + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_arrow + { + FStar_Syntax_Syntax.bs1 = (more :: bs); + FStar_Syntax_Syntax.comp = c + }) t3.FStar_Syntax_Syntax.pos in + let t4 = + let uu___ = + let uu___1 = + let uu___2 = FStar_Syntax_Syntax.mk_Total tail in + { + FStar_Syntax_Syntax.bs1 = [b]; + FStar_Syntax_Syntax.comp = uu___2 + } in + FStar_Syntax_Syntax.Tm_arrow uu___1 in + FStar_Syntax_Syntax.mk uu___ t3.FStar_Syntax_Syntax.pos in + embedding_for tcenv mutuals k env t4 + | FStar_Syntax_Syntax.Tm_app uu___ -> + let uu___1 = FStar_Syntax_Util.head_and_args t3 in + (match uu___1 with + | (head, args) -> + let e_head = embedding_for tcenv mutuals k env head in + let e_args = + FStar_Compiler_List.map + (fun uu___2 -> + match uu___2 with + | (t4, uu___3) -> + embedding_for tcenv mutuals k env t4) args in + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_App (e_head, e_args))) + | FStar_Syntax_Syntax.Tm_fvar fv when + FStar_Compiler_List.existsb + (FStar_Ident.lid_equals + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) + mutuals + -> + let head = + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + FStar_Ident.ident_of_lid + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + FStar_Ident.string_of_id uu___3 in + Prims.op_Hat "__knot_e_" uu___2 in + FStar_Extraction_ML_Syntax.MLE_Var uu___1 in + FStar_Compiler_Effect.op_Less_Bar mk uu___ in + mk + (FStar_Extraction_ML_Syntax.MLE_App + (head, [FStar_Extraction_ML_Syntax.ml_unit])) + | FStar_Syntax_Syntax.Tm_fvar fv when + let uu___ = + find_fv_embedding' + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + FStar_Pervasives_Native.uu___is_Some uu___ -> + let emb_data = + find_fv_embedding + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (match k with + | SyntaxTerm -> ml_name emb_data.syn_emb + | NBETerm -> + (match emb_data.nbe_emb with + | FStar_Pervasives_Native.Some lid -> ml_name lid + | FStar_Pervasives_Native.None -> ml_nbe_unsupported)) + | FStar_Syntax_Syntax.Tm_fvar fv when + FStar_TypeChecker_Env.fv_has_attr tcenv fv + FStar_Parser_Const.plugin_attr + -> + (match k with + | SyntaxTerm -> + let lid = + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu___ = + let uu___1 = + let uu___2 = FStar_Ident.ns_of_lid lid in + FStar_Compiler_List.map FStar_Ident.string_of_id + uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_Ident.ident_of_lid lid in + FStar_Ident.string_of_id uu___4 in + Prims.op_Hat "e_" uu___3 in + (uu___1, uu___2) in + as_name uu___ + | NBETerm -> ml_nbe_unsupported) + | FStar_Syntax_Syntax.Tm_fvar fv -> + let uu___ = + let uu___1 = + let uu___2 = FStar_Syntax_Print.term_to_string t3 in + FStar_Compiler_Util.format1 + "Embedding not defined for name `%s'" uu___2 in + NoEmbedding uu___1 in + FStar_Compiler_Effect.raise uu___ + | uu___ -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Print.term_to_string t3 in + let uu___4 = FStar_Syntax_Print.tag_of_term t3 in + FStar_Compiler_Util.format2 "Cannot embed type `%s' (%s)" + uu___3 uu___4 in + NoEmbedding uu___2 in + FStar_Compiler_Effect.raise uu___1 +type wrapped_term = + (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.mlexpr * + Prims.int * Prims.bool) +let (interpret_plugin_as_term_fun : + FStar_Extraction_ML_UEnv.uenv -> + FStar_Syntax_Syntax.fv -> + FStar_Syntax_Syntax.typ -> + Prims.int FStar_Pervasives_Native.option -> + FStar_Extraction_ML_Syntax.mlexpr' -> + (FStar_Extraction_ML_Syntax.mlexpr * + FStar_Extraction_ML_Syntax.mlexpr * Prims.int * Prims.bool) + FStar_Pervasives_Native.option) + = + fun env -> + fun fv -> + fun t -> + fun arity_opt -> + fun ml_fv -> + let fv_lid = + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let tcenv = FStar_Extraction_ML_UEnv.tcenv_of_uenv env in + let t1 = + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.EraseUniverses; + FStar_TypeChecker_Env.AllowUnboundUniverses; + FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.ForExtraction] tcenv t in + let as_name1 mlp = + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) + (FStar_Extraction_ML_Syntax.MLE_Name mlp) in + let lid_to_name l = + let uu___ = + let uu___1 = FStar_Extraction_ML_UEnv.mlpath_of_lident env l in + FStar_Extraction_ML_Syntax.MLE_Name uu___1 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) uu___ in + let str_to_name s = as_name1 ([], s) in + let fv_lid_embedded = + let uu___ = + let uu___1 = + let uu___2 = as_name1 (["FStar_Ident"], "lid_of_str") in + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = FStar_Ident.string_of_lid fv_lid in + FStar_Extraction_ML_Syntax.MLC_String uu___7 in + FStar_Extraction_ML_Syntax.MLE_Const uu___6 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) uu___5 in + [uu___4] in + (uu___2, uu___3) in + FStar_Extraction_ML_Syntax.MLE_App uu___1 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) uu___ in + let mk_tactic_interpretation l arity = + if arity > FStar_Tactics_V2_InterpFuns.max_tac_arity + then + FStar_Compiler_Effect.raise + (NoEmbedding + "tactic plugins can only take up to 20 arguments") + else + (let idroot = + match l with + | SyntaxTerm -> "mk_tactic_interpretation_" + | NBETerm -> "mk_nbe_tactic_interpretation_" in + as_name1 + (["FStar_Tactics_V2_InterpFuns"], + (Prims.op_Hat idroot (Prims.string_of_int arity)))) in + let mk_from_tactic l arity = + let idroot = + match l with + | SyntaxTerm -> "from_tactic_" + | NBETerm -> "from_nbe_tactic_" in + as_name1 + (["FStar_Tactics_Native"], + (Prims.op_Hat idroot (Prims.string_of_int arity))) in + let mk_arrow_as_prim_step k arity = + let modul = + match k with + | SyntaxTerm -> ["FStar"; "Syntax"; "Embeddings"] + | NBETerm -> ["FStar"; "TypeChecker"; "NBETerm"] in + as_name1 + (modul, + (Prims.op_Hat "arrow_as_prim_step_" + (Prims.string_of_int arity))) in + let abstract_tvars tvar_names body = + match tvar_names with + | [] -> + let body1 = + let uu___ = + let uu___1 = + let uu___2 = + as_name1 + (["FStar_Syntax_Embeddings"], "debug_wrap") in + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = FStar_Ident.string_of_lid fv_lid in + FStar_Extraction_ML_Syntax.MLC_String uu___7 in + FStar_Extraction_ML_Syntax.MLE_Const uu___6 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) uu___5 in + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = str_to_name "args" in + [uu___11] in + (body, uu___10) in + FStar_Extraction_ML_Syntax.MLE_App uu___9 in + FStar_Compiler_Effect.op_Less_Bar mk uu___8 in + ml_lam "_" uu___7 in + [uu___6] in + uu___4 :: uu___5 in + (uu___2, uu___3) in + FStar_Extraction_ML_Syntax.MLE_App uu___1 in + FStar_Compiler_Effect.op_Less_Bar mk uu___ in + ml_lam "args" body1 + | uu___ -> + let args_tail = + 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 + let fst_pat v = + FStar_Extraction_ML_Syntax.MLP_Tuple + [FStar_Extraction_ML_Syntax.MLP_Var v; + FStar_Extraction_ML_Syntax.MLP_Wild] in + let pattern = + FStar_Compiler_List.fold_right + (fun hd_var -> mk_cons (fst_pat hd_var)) tvar_names + args_tail in + let branch = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = as_name1 ([], "args") in [uu___5] in + (body, uu___4) in + FStar_Extraction_ML_Syntax.MLE_App uu___3 in + FStar_Compiler_Effect.op_Less_Bar mk uu___2 in + (pattern, FStar_Pervasives_Native.None, uu___1) in + let default_branch = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = str_to_name "failwith" in + let uu___5 = + let uu___6 = + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_String + "arity mismatch")) in + [uu___6] in + (uu___4, uu___5) in + FStar_Extraction_ML_Syntax.MLE_App uu___3 in + FStar_Compiler_Effect.op_Less_Bar mk uu___2 in + (FStar_Extraction_ML_Syntax.MLP_Wild, + FStar_Pervasives_Native.None, uu___1) in + let body1 = + let uu___1 = + let uu___2 = + let uu___3 = as_name1 ([], "args") in + (uu___3, [branch; default_branch]) in + FStar_Extraction_ML_Syntax.MLE_Match uu___2 in + FStar_Compiler_Effect.op_Less_Bar mk uu___1 in + let body2 = + let uu___1 = + let uu___2 = + let uu___3 = + as_name1 + (["FStar_Syntax_Embeddings"], "debug_wrap") in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = FStar_Ident.string_of_lid fv_lid in + FStar_Extraction_ML_Syntax.MLC_String uu___8 in + FStar_Extraction_ML_Syntax.MLE_Const uu___7 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) uu___6 in + let uu___6 = + let uu___7 = ml_lam "_" body1 in [uu___7] in + uu___5 :: uu___6 in + (uu___3, uu___4) in + FStar_Extraction_ML_Syntax.MLE_App uu___2 in + FStar_Compiler_Effect.op_Less_Bar mk uu___1 in + ml_lam "args" body2 in + let uu___ = FStar_Syntax_Util.arrow_formals_comp t1 in + match uu___ with + | (bs, c) -> + let uu___1 = + match arity_opt with + | FStar_Pervasives_Native.None -> (bs, c) + | FStar_Pervasives_Native.Some n -> + let n_bs = FStar_Compiler_List.length bs in + if n = n_bs + then (bs, c) + else + if n < n_bs + then + (let uu___3 = FStar_Compiler_Util.first_N n bs in + match uu___3 with + | (bs1, rest) -> + let c1 = + let uu___4 = FStar_Syntax_Util.arrow rest c in + FStar_Compiler_Effect.op_Less_Bar + FStar_Syntax_Syntax.mk_Total uu___4 in + (bs1, c1)) + else + (let msg = + let uu___4 = FStar_Ident.string_of_lid fv_lid in + let uu___5 = FStar_Compiler_Util.string_of_int n in + let uu___6 = + FStar_Compiler_Util.string_of_int n_bs in + FStar_Compiler_Util.format3 + "Embedding not defined for %s; expected arity at least %s; got %s" + uu___4 uu___5 uu___6 in + FStar_Compiler_Effect.raise (NoEmbedding msg)) in + (match uu___1 with + | (bs1, c1) -> + let result_typ = FStar_Syntax_Util.comp_result c1 in + let arity = FStar_Compiler_List.length bs1 in + let uu___2 = + let uu___3 = + FStar_Compiler_Util.prefix_until + (fun uu___4 -> + match uu___4 with + | { FStar_Syntax_Syntax.binder_bv = b; + FStar_Syntax_Syntax.binder_qual = uu___5; + FStar_Syntax_Syntax.binder_positivity = + uu___6; + FStar_Syntax_Syntax.binder_attrs = uu___7;_} + -> + let uu___8 = + let uu___9 = + FStar_Syntax_Subst.compress + b.FStar_Syntax_Syntax.sort in + uu___9.FStar_Syntax_Syntax.n in + (match uu___8 with + | FStar_Syntax_Syntax.Tm_type uu___9 -> + false + | uu___9 -> true)) bs1 in + match uu___3 with + | FStar_Pervasives_Native.None -> (bs1, []) + | FStar_Pervasives_Native.Some (tvars, x, rest) -> + (tvars, (x :: rest)) in + (match uu___2 with + | (type_vars, bs2) -> + let tvar_arity = + FStar_Compiler_List.length type_vars in + let non_tvar_arity = FStar_Compiler_List.length bs2 in + let tvar_names = + FStar_Compiler_List.mapi + (fun i -> + fun tv -> + Prims.op_Hat "tv_" (Prims.string_of_int i)) + type_vars in + let tvar_context = + FStar_Compiler_List.map2 + (fun b -> + fun nm -> + ((b.FStar_Syntax_Syntax.binder_bv), nm)) + type_vars tvar_names in + let rec aux loc accum_embeddings bs3 = + match bs3 with + | [] -> + let arg_unembeddings = + FStar_Compiler_List.rev accum_embeddings in + let res_embedding = + embedding_for tcenv [] loc tvar_context + result_typ in + let fv_lid1 = + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu___3 = + FStar_Syntax_Util.is_pure_comp c1 in + if uu___3 + then + let cb = str_to_name "cb" in + let embed_fun_N = + mk_arrow_as_prim_step loc non_tvar_arity in + let args = + let uu___4 = + let uu___5 = + let uu___6 = lid_to_name fv_lid1 in + let uu___7 = + let uu___8 = + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) + (FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Int + ((Prims.string_of_int + tvar_arity), + FStar_Pervasives_Native.None))) in + [uu___8; fv_lid_embedded; cb] in + uu___6 :: uu___7 in + res_embedding :: uu___5 in + FStar_Compiler_List.op_At + arg_unembeddings uu___4 in + let fun_embedding = + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_App + (embed_fun_N, args)) in + let tabs = + abstract_tvars tvar_names fun_embedding in + let cb_tabs = ml_lam "cb" tabs in + let uu___4 = + if loc = NBETerm + then cb_tabs + else ml_lam "_psc" cb_tabs in + (uu___4, arity, true) + else + (let uu___5 = + let uu___6 = + FStar_TypeChecker_Env.norm_eff_name + tcenv + (FStar_Syntax_Util.comp_effect_name + c1) in + FStar_Ident.lid_equals uu___6 + FStar_Parser_Const.effect_TAC_lid in + if uu___5 + then + let h = + mk_tactic_interpretation loc + non_tvar_arity in + let tac_fun = + let uu___6 = + let uu___7 = + let uu___8 = + mk_from_tactic loc + non_tvar_arity in + let uu___9 = + let uu___10 = + lid_to_name fv_lid1 in + [uu___10] in + (uu___8, uu___9) in + FStar_Extraction_ML_Syntax.MLE_App + uu___7 in + FStar_Compiler_Effect.op_Less_Bar mk + uu___6 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_Compiler_List.op_At [tac_fun] + (FStar_Compiler_List.op_At + arg_unembeddings + [res_embedding; psc; ncb]) in + let tabs = + match tvar_names with + | [] -> + let uu___6 = + FStar_Compiler_Effect.op_Less_Bar + mk + (FStar_Extraction_ML_Syntax.MLE_App + (h, + (FStar_Compiler_List.op_At + args [all_args]))) in + ml_lam "args" uu___6 + | uu___6 -> + let uu___7 = + FStar_Compiler_Effect.op_Less_Bar + mk + (FStar_Extraction_ML_Syntax.MLE_App + (h, args)) in + abstract_tvars tvar_names uu___7 in + let uu___6 = + let uu___7 = ml_lam "ncb" tabs in + ml_lam "psc" uu___7 in + (uu___6, (arity + Prims.int_one), false) + else + (let uu___7 = + let uu___8 = + let uu___9 = + FStar_Syntax_Print.term_to_string + t1 in + Prims.op_Hat + "Plugins not defined for type " + uu___9 in + NoEmbedding uu___8 in + FStar_Compiler_Effect.raise uu___7)) + | { FStar_Syntax_Syntax.binder_bv = b; + FStar_Syntax_Syntax.binder_qual = uu___3; + FStar_Syntax_Syntax.binder_positivity = + uu___4; + FStar_Syntax_Syntax.binder_attrs = uu___5;_}::bs4 + -> + let uu___6 = + let uu___7 = + embedding_for tcenv [] loc tvar_context + b.FStar_Syntax_Syntax.sort in + uu___7 :: accum_embeddings in + aux loc uu___6 bs4 in + (try + (fun uu___3 -> + match () with + | () -> + let uu___4 = aux SyntaxTerm [] bs2 in + (match uu___4 with + | (w, a, b) -> + let uu___5 = aux NBETerm [] bs2 in + (match uu___5 with + | (w', uu___6, uu___7) -> + FStar_Pervasives_Native.Some + (w, w', a, b)))) () + with + | NoEmbedding msg -> + ((let uu___5 = + FStar_Ident.range_of_lid + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu___6 = + FStar_Syntax_Print.fv_to_string fv in + not_implemented_warning uu___5 uu___6 msg); + FStar_Pervasives_Native.None)))) +let (mk_unembed : + FStar_TypeChecker_Env.env -> + FStar_Ident.lid Prims.list -> + FStar_Extraction_ML_Syntax.mlpath Prims.list + FStar_Pervasives_Native.option -> + FStar_Syntax_Syntax.sigelt Prims.list -> + FStar_Extraction_ML_Syntax.mlexpr) + = + fun tcenv -> + fun mutuals -> + fun record_fields -> + fun ctors -> + let e_branches = FStar_Compiler_Util.mk_ref [] in + let arg_v = fresh "tm" in + FStar_Compiler_Effect.op_Bar_Greater ctors + (FStar_Compiler_List.iter + (fun ctor -> + match ctor.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = lid; + FStar_Syntax_Syntax.us1 = us; + FStar_Syntax_Syntax.t1 = t; + FStar_Syntax_Syntax.ty_lid = ty_lid; + FStar_Syntax_Syntax.num_ty_params = num_ty_params; + FStar_Syntax_Syntax.mutuals1 = uu___1;_} + -> + let fv = fresh "fv" in + let uu___2 = FStar_Syntax_Util.arrow_formals t in + (match uu___2 with + | (bs, c) -> + let vs = + FStar_Compiler_List.map + (fun b -> + let uu___3 = + let uu___4 = + FStar_Ident.string_of_id + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in + fresh uu___4 in + (uu___3, + ((b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort))) + bs in + let pat_s = + let uu___3 = + let uu___4 = FStar_Ident.string_of_lid lid in + FStar_Extraction_ML_Syntax.MLC_String uu___4 in + FStar_Extraction_ML_Syntax.MLP_Const uu___3 in + let pat_args = + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater vs + (FStar_Compiler_List.map + (fun uu___4 -> + match uu___4 with + | (v, uu___5) -> + FStar_Extraction_ML_Syntax.MLP_Var + v)) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + pats_to_list_pat in + let pat_both = + FStar_Extraction_ML_Syntax.MLP_Tuple + [pat_s; pat_args] in + let ret = + match record_fields with + | FStar_Pervasives_Native.Some fields -> + let uu___3 = + FStar_Compiler_List.map2 + (fun uu___4 -> + fun fld -> + match uu___4 with + | (v, uu___5) -> + ((FStar_Pervasives_Native.snd + fld), + (mk + (FStar_Extraction_ML_Syntax.MLE_Var + v)))) vs fields in + ml_record lid uu___3 + | FStar_Pervasives_Native.None -> + let uu___3 = + FStar_Compiler_List.map + (fun uu___4 -> + match uu___4 with + | (v, uu___5) -> + mk + (FStar_Extraction_ML_Syntax.MLE_Var + v)) vs in + ml_ctor lid uu___3 in + let ret1 = + mk + (FStar_Extraction_ML_Syntax.MLE_App + (ml_some, [ret])) in + let body = + FStar_Compiler_List.fold_right + (fun uu___3 -> + fun body1 -> + match uu___3 with + | (v, ty) -> + let body2 = + mk + (FStar_Extraction_ML_Syntax.MLE_Fun + ([(v, + FStar_Extraction_ML_Syntax.MLTY_Top)], + body1)) in + let uu___4 = + let uu___5 = + let uu___6 = ml_name bind_opt_lid in + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = + ml_name unembed_lid in + let uu___12 = + let uu___13 = + embedding_for tcenv + mutuals SyntaxTerm + [] ty in + [uu___13; + mk + (FStar_Extraction_ML_Syntax.MLE_Var + v)] in + (uu___11, uu___12) in + FStar_Extraction_ML_Syntax.MLE_App + uu___10 in + mk uu___9 in + [uu___8; body2] in + (uu___6, uu___7) in + FStar_Extraction_ML_Syntax.MLE_App + uu___5 in + mk uu___4) vs ret1 in + let br = + (pat_both, FStar_Pervasives_Native.None, body) in + let uu___3 = + let uu___4 = + FStar_Compiler_Effect.op_Bang e_branches in + br :: uu___4 in + FStar_Compiler_Effect.op_Colon_Equals e_branches + uu___3) + | uu___1 -> failwith "impossible, filter above")); + (let nomatch = + (FStar_Extraction_ML_Syntax.MLP_Wild, + FStar_Pervasives_Native.None, ml_none) in + let branches = + let uu___1 = + let uu___2 = FStar_Compiler_Effect.op_Bang e_branches in + nomatch :: uu___2 in + FStar_Compiler_List.rev uu___1 in + let sc = mk (FStar_Extraction_ML_Syntax.MLE_Var arg_v) in + let def = mk (FStar_Extraction_ML_Syntax.MLE_Match (sc, branches)) in + let lam = + mk + (FStar_Extraction_ML_Syntax.MLE_Fun + ([(arg_v, FStar_Extraction_ML_Syntax.MLTY_Top)], def)) in + lam) +let (mk_embed : + FStar_TypeChecker_Env.env -> + FStar_Ident.lid Prims.list -> + FStar_Extraction_ML_Syntax.mlpath Prims.list + FStar_Pervasives_Native.option -> + FStar_Syntax_Syntax.sigelt Prims.list -> + FStar_Extraction_ML_Syntax.mlexpr) + = + fun tcenv -> + fun mutuals -> + fun record_fields -> + fun ctors -> + let e_branches = FStar_Compiler_Util.mk_ref [] in + let arg_v = fresh "tm" in + FStar_Compiler_Effect.op_Bar_Greater ctors + (FStar_Compiler_List.iter + (fun ctor -> + match ctor.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = lid; + FStar_Syntax_Syntax.us1 = us; + FStar_Syntax_Syntax.t1 = t; + FStar_Syntax_Syntax.ty_lid = ty_lid; + FStar_Syntax_Syntax.num_ty_params = num_ty_params; + FStar_Syntax_Syntax.mutuals1 = uu___1;_} + -> + let fv = fresh "fv" in + let uu___2 = FStar_Syntax_Util.arrow_formals t in + (match uu___2 with + | (bs, c) -> + let vs = + FStar_Compiler_List.map + (fun b -> + let uu___3 = + let uu___4 = + FStar_Ident.string_of_id + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in + fresh uu___4 in + (uu___3, + ((b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort))) + bs in + let pat = + match record_fields with + | FStar_Pervasives_Native.Some fields -> + let uu___3 = + let uu___4 = + FStar_Compiler_List.map2 + (fun v -> + fun fld -> + ((FStar_Pervasives_Native.snd fld), + (FStar_Extraction_ML_Syntax.MLP_Var + (FStar_Pervasives_Native.fst + v)))) vs fields in + ([], uu___4) in + FStar_Extraction_ML_Syntax.MLP_Record uu___3 + | FStar_Pervasives_Native.None -> + let uu___3 = + let uu___4 = + let uu___5 = FStar_Ident.path_of_lid lid in + splitlast uu___5 in + let uu___5 = + FStar_Compiler_List.map + (fun v -> + FStar_Extraction_ML_Syntax.MLP_Var + (FStar_Pervasives_Native.fst v)) + vs in + (uu___4, uu___5) in + FStar_Extraction_ML_Syntax.MLP_CTor uu___3 in + let fvar = ml_name s_tdataconstr_lid in + let lid_of_str = ml_name lid_of_str_lid in + let head = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = + let uu___12 = + let uu___13 = + FStar_Ident.string_of_lid + lid in + FStar_Extraction_ML_Syntax.MLC_String + uu___13 in + FStar_Extraction_ML_Syntax.MLE_Const + uu___12 in + mk uu___11 in + [uu___10] in + (lid_of_str, uu___9) in + FStar_Extraction_ML_Syntax.MLE_App + uu___8 in + mk uu___7 in + [uu___6] in + (fvar, uu___5) in + FStar_Extraction_ML_Syntax.MLE_App uu___4 in + mk uu___3 in + let mk_mk_app t1 ts = + let ts1 = + FStar_Compiler_List.map + (fun t2 -> + mk + (FStar_Extraction_ML_Syntax.MLE_Tuple + [t2; ml_none])) ts in + let uu___3 = + let uu___4 = + let uu___5 = ml_name mk_app_lid in + let uu___6 = + let uu___7 = + let uu___8 = as_ml_list ts1 in [uu___8] in + t1 :: uu___7 in + (uu___5, uu___6) in + FStar_Extraction_ML_Syntax.MLE_App uu___4 in + mk uu___3 in + let args = + FStar_Compiler_Effect.op_Bar_Greater vs + (FStar_Compiler_List.map + (fun uu___3 -> + match uu___3 with + | (v, ty) -> + let vt = + mk + (FStar_Extraction_ML_Syntax.MLE_Var + v) in + let uu___4 = + let uu___5 = + let uu___6 = ml_name embed_lid in + let uu___7 = + let uu___8 = + embedding_for tcenv mutuals + SyntaxTerm [] ty in + [uu___8; vt] in + (uu___6, uu___7) in + FStar_Extraction_ML_Syntax.MLE_App + uu___5 in + mk uu___4)) in + let ret = mk_mk_app head args in + let br = (pat, FStar_Pervasives_Native.None, ret) in + let uu___3 = + let uu___4 = + FStar_Compiler_Effect.op_Bang e_branches in + br :: uu___4 in + FStar_Compiler_Effect.op_Colon_Equals e_branches + uu___3) + | uu___1 -> failwith "impossible, filter above")); + (let branches = + let uu___1 = FStar_Compiler_Effect.op_Bang e_branches in + FStar_Compiler_List.rev uu___1 in + let sc = mk (FStar_Extraction_ML_Syntax.MLE_Var arg_v) in + let def = mk (FStar_Extraction_ML_Syntax.MLE_Match (sc, branches)) in + let lam = + mk + (FStar_Extraction_ML_Syntax.MLE_Fun + ([(arg_v, FStar_Extraction_ML_Syntax.MLTY_Top)], def)) in + lam) +let (__do_handle_plugin : + FStar_Extraction_ML_UEnv.uenv -> + Prims.int FStar_Pervasives_Native.option -> + FStar_Syntax_Syntax.sigelt -> + FStar_Extraction_ML_Syntax.mlmodule1 Prims.list) + = + fun g -> + fun arity_opt -> + fun se -> + let r = se.FStar_Syntax_Syntax.sigrng in + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_let + { FStar_Syntax_Syntax.lbs1 = lbs; + FStar_Syntax_Syntax.lids1 = uu___;_} + -> + let mk_registration lb = + let fv = + FStar_Compiler_Util.right lb.FStar_Syntax_Syntax.lbname in + let fv_lid = + (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___1 = + let uu___2 = FStar_Ident.string_of_lid fv_lid in + FStar_Extraction_ML_Syntax.MLC_String uu___2 in + FStar_Extraction_ML_Syntax.MLE_Const uu___1 in + let uu___1 = + interpret_plugin_as_term_fun g fv fv_t arity_opt ml_name_str in + match uu___1 with + | FStar_Pervasives_Native.Some + (interp, nbe_interp, arity, plugin) -> + let uu___2 = + if plugin + then + ((["FStar_Tactics_Native"], "register_plugin"), + [interp; nbe_interp]) + else + ((["FStar_Tactics_Native"], "register_tactic"), + [interp]) in + (match uu___2 with + | (register, args) -> + let h = + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) + (FStar_Extraction_ML_Syntax.MLE_Name register) in + let arity1 = + FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Int + ((Prims.string_of_int arity), + FStar_Pervasives_Native.None)) in + let app = + FStar_Compiler_Effect.op_Less_Bar + (FStar_Extraction_ML_Syntax.with_ty + FStar_Extraction_ML_Syntax.MLTY_Top) + (FStar_Extraction_ML_Syntax.MLE_App + (h, + (FStar_Compiler_List.op_At + [mk ml_name_str; mk arity1] args))) in + [FStar_Extraction_ML_Syntax.MLM_Top app]) + | FStar_Pervasives_Native.None -> [] in + FStar_Compiler_List.collect mk_registration + (FStar_Pervasives_Native.snd lbs) + | FStar_Syntax_Syntax.Sig_bundle + { FStar_Syntax_Syntax.ses = ses; + FStar_Syntax_Syntax.lids = uu___;_} + -> + let mutual_sigelts = + FStar_Compiler_List.filter + (fun se1 -> + match se1.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ uu___1 -> true + | uu___1 -> false) ses in + let mutual_lids = + FStar_Compiler_List.map + (fun se1 -> + match se1.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = lid; + FStar_Syntax_Syntax.us = uu___1; + FStar_Syntax_Syntax.params = uu___2; + FStar_Syntax_Syntax.num_uniform_params = uu___3; + FStar_Syntax_Syntax.t = uu___4; + FStar_Syntax_Syntax.mutuals = uu___5; + FStar_Syntax_Syntax.ds = uu___6;_} + -> lid) mutual_sigelts in + let proc_one typ_sigelt = + let uu___1 = typ_sigelt.FStar_Syntax_Syntax.sigel in + match uu___1 with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = tlid; + FStar_Syntax_Syntax.us = uu___2; + FStar_Syntax_Syntax.params = ps; + FStar_Syntax_Syntax.num_uniform_params = uu___3; + FStar_Syntax_Syntax.t = uu___4; + FStar_Syntax_Syntax.mutuals = uu___5; + FStar_Syntax_Syntax.ds = uu___6;_} + -> + (if (FStar_Compiler_List.length ps) > Prims.int_zero + then + FStar_Compiler_Effect.raise + (Unsupported "parameters on inductive") + else (); + (let ns = FStar_Ident.ns_of_lid tlid in + let name = + let uu___8 = + let uu___9 = FStar_Ident.ids_of_lid tlid in + FStar_Compiler_List.last uu___9 in + FStar_Ident.string_of_id uu___8 in + let ctors = + FStar_Compiler_List.filter + (fun se1 -> + match se1.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = uu___8; + FStar_Syntax_Syntax.us1 = uu___9; + FStar_Syntax_Syntax.t1 = uu___10; + FStar_Syntax_Syntax.ty_lid = ty_lid; + FStar_Syntax_Syntax.num_ty_params = uu___11; + FStar_Syntax_Syntax.mutuals1 = uu___12;_} + -> FStar_Ident.lid_equals ty_lid tlid + | uu___8 -> false) ses in + let ml_name1 = + let uu___8 = + let uu___9 = + let uu___10 = FStar_Ident.string_of_lid tlid in + FStar_Extraction_ML_Syntax.MLC_String uu___10 in + FStar_Extraction_ML_Syntax.MLE_Const uu___9 in + mk uu___8 in + let record_fields = + let uu___8 = + FStar_Compiler_List.find + (fun uu___9 -> + match uu___9 with + | FStar_Syntax_Syntax.RecordType uu___10 -> true + | uu___10 -> false) + typ_sigelt.FStar_Syntax_Syntax.sigquals in + match uu___8 with + | FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.RecordType (uu___9, b)) -> + let uu___10 = + FStar_Compiler_List.map + (fun f -> + FStar_Extraction_ML_UEnv.lookup_record_field_name + g (tlid, f)) b in + FStar_Pervasives_Native.Some uu___10 + | uu___9 -> FStar_Pervasives_Native.None in + let tcenv = FStar_Extraction_ML_UEnv.tcenv_of_uenv g in + let ml_unembed = + mk_unembed tcenv mutual_lids record_fields ctors in + let ml_embed = + mk_embed tcenv mutual_lids record_fields ctors in + let def = + mk + (FStar_Extraction_ML_Syntax.MLE_App + ((mk + (FStar_Extraction_ML_Syntax.MLE_Name + (["FStar"; "Syntax"; "Embeddings"; "Base"], + "mk_extracted_embedding"))), + [ml_name1; ml_unembed; ml_embed])) in + let def1 = + mk + (FStar_Extraction_ML_Syntax.MLE_Fun + ([("_", FStar_Extraction_ML_Syntax.MLTY_Erased)], + def)) in + let lb = + { + FStar_Extraction_ML_Syntax.mllb_name = + (Prims.op_Hat "__knot_e_" name); + FStar_Extraction_ML_Syntax.mllb_tysc = + FStar_Pervasives_Native.None; + FStar_Extraction_ML_Syntax.mllb_add_unit = false; + FStar_Extraction_ML_Syntax.mllb_def = def1; + FStar_Extraction_ML_Syntax.mllb_meta = []; + FStar_Extraction_ML_Syntax.print_typ = false + } in + (let uu___9 = + let uu___10 = + let uu___11 = + FStar_Ident.mk_ident + ((Prims.op_Hat "e_" name), + FStar_Compiler_Range_Type.dummyRange) in + FStar_Ident.lid_of_ns_and_id ns uu___11 in + { + arity = Prims.int_zero; + syn_emb = uu___10; + nbe_emb = FStar_Pervasives_Native.None + } in + register_embedding tlid uu___9); + [lb])) in + let lbs = FStar_Compiler_List.concatMap proc_one mutual_sigelts in + let unthunking = + FStar_Compiler_Effect.op_Bar_Greater mutual_sigelts + (FStar_Compiler_List.concatMap + (fun se1 -> + let tlid = + match se1.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = tlid1; + FStar_Syntax_Syntax.us = uu___1; + FStar_Syntax_Syntax.params = uu___2; + FStar_Syntax_Syntax.num_uniform_params = uu___3; + FStar_Syntax_Syntax.t = uu___4; + FStar_Syntax_Syntax.mutuals = uu___5; + FStar_Syntax_Syntax.ds = uu___6;_} + -> tlid1 in + let name = + let uu___1 = + let uu___2 = FStar_Ident.ids_of_lid tlid in + FStar_Compiler_List.last uu___2 in + FStar_Ident.string_of_id uu___1 in + let app = + let head = + FStar_Compiler_Effect.op_Less_Bar mk + (FStar_Extraction_ML_Syntax.MLE_Var + (Prims.op_Hat "__knot_e_" name)) in + mk + (FStar_Extraction_ML_Syntax.MLE_App + (head, [FStar_Extraction_ML_Syntax.ml_unit])) in + let lb = + { + FStar_Extraction_ML_Syntax.mllb_name = + (Prims.op_Hat "e_" name); + FStar_Extraction_ML_Syntax.mllb_tysc = + FStar_Pervasives_Native.None; + FStar_Extraction_ML_Syntax.mllb_add_unit = false; + FStar_Extraction_ML_Syntax.mllb_def = app; + FStar_Extraction_ML_Syntax.mllb_meta = []; + FStar_Extraction_ML_Syntax.print_typ = false + } in + [FStar_Extraction_ML_Syntax.MLM_Let + (FStar_Extraction_ML_Syntax.NonRec, [lb])])) in + FStar_Compiler_List.op_At + [FStar_Extraction_ML_Syntax.MLM_Let + (FStar_Extraction_ML_Syntax.Rec, lbs)] unthunking + | uu___ -> [] +let (do_handle_plugin : + FStar_Extraction_ML_UEnv.uenv -> + Prims.int FStar_Pervasives_Native.option -> + FStar_Syntax_Syntax.sigelt -> + FStar_Extraction_ML_Syntax.mlmodule1 Prims.list) + = + fun g -> + fun arity_opt -> + fun se -> + try + (fun uu___ -> + match () with | () -> __do_handle_plugin g arity_opt se) () + with + | Unsupported msg -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Print.sigelt_to_string_short se in + FStar_Compiler_Util.format2 + "Could not generate a plugin for %s, reason = %s" uu___4 + msg in + (FStar_Errors_Codes.Warning_PluginNotImplemented, uu___3) in + FStar_Errors.log_issue se.FStar_Syntax_Syntax.sigrng uu___2); + []) + | NoEmbedding msg -> + ((let uu___2 = FStar_Syntax_Print.sigelt_to_string_short se in + not_implemented_warning se.FStar_Syntax_Syntax.sigrng uu___2 + msg); + []) +let (maybe_register_plugin : + FStar_Extraction_ML_UEnv.uenv -> + FStar_Syntax_Syntax.sigelt -> + FStar_Extraction_ML_Syntax.mlmodule1 Prims.list) + = + fun g -> + fun se -> + let plugin_with_arity attrs = + FStar_Compiler_Util.find_map attrs + (fun t -> + let uu___ = FStar_Syntax_Util.head_and_args t in + match uu___ with + | (head, args) -> + let uu___1 = + let uu___2 = + FStar_Syntax_Util.is_fvar FStar_Parser_Const.plugin_attr + head in + Prims.op_Negation uu___2 in + if uu___1 + then FStar_Pervasives_Native.None + else + (match args with + | (a, uu___3)::[] -> + let nopt = + FStar_Syntax_Embeddings_Base.unembed + FStar_Syntax_Embeddings.e_fsint a + FStar_Syntax_Embeddings_Base.id_norm_cb in + FStar_Pervasives_Native.Some nopt + | uu___3 -> + FStar_Pervasives_Native.Some + FStar_Pervasives_Native.None)) in + let uu___ = + let uu___1 = FStar_Options.codegen () in + uu___1 <> (FStar_Pervasives_Native.Some FStar_Options.Plugin) in + if uu___ + then [] + else + (let uu___2 = plugin_with_arity se.FStar_Syntax_Syntax.sigattrs in + match uu___2 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some uu___3 when + FStar_Compiler_List.existsb + (fun uu___4 -> + match uu___4 with + | FStar_Syntax_Syntax.Projector uu___5 -> true + | FStar_Syntax_Syntax.Discriminator uu___5 -> true + | uu___5 -> false) se.FStar_Syntax_Syntax.sigquals + -> [] + | FStar_Pervasives_Native.Some arity_opt -> + do_handle_plugin g arity_opt se) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Term.ml b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Term.ml index bb6a9051a94..649122cf220 100644 --- a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Term.ml +++ b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Term.ml @@ -1402,7 +1402,9 @@ let (resugar_pat : FStar_Compiler_List.map FStar_Ident.string_of_id uu___2 in let fs = record_fields g ty fns pats in - FStar_Extraction_ML_Syntax.MLP_Record (path, fs) + let path1 = + FStar_Extraction_ML_UEnv.no_fstar_stubs_ns path in + FStar_Extraction_ML_Syntax.MLP_Record (path1, fs) | uu___2 -> p)) | uu___ -> p let rec (extract_one_pat : @@ -1802,10 +1804,11 @@ let (maybe_eta_data_and_project_record : let uu___1 = FStar_Ident.ns_of_lid tyname in FStar_Compiler_List.map FStar_Ident.string_of_id uu___1 in let fields1 = record_fields g tyname fields args in + let path1 = FStar_Extraction_ML_UEnv.no_fstar_stubs_ns path in FStar_Compiler_Effect.op_Less_Bar (FStar_Extraction_ML_Syntax.with_ty e.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_Record (path, fields1)) + (FStar_Extraction_ML_Syntax.MLE_Record (path1, fields1)) | uu___ -> e in let resugar_and_maybe_eta qual1 e = let uu___ = eta_args g [] residualType in @@ -2755,25 +2758,25 @@ and (term_as_mlexpr' : { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; FStar_Syntax_Syntax.antiquotations = (shift, aqs);_}) -> - let uu___1 = FStar_Reflection_Basic.inspect_ln qt in + let uu___1 = FStar_Reflection_V2_Builtins.inspect_ln qt in (match uu___1 with - | FStar_Reflection_Data.Tv_BVar bv -> + | FStar_Reflection_V2_Data.Tv_BVar bv -> if bv.FStar_Syntax_Syntax.index < shift then - let tv' = FStar_Reflection_Data.Tv_BVar bv in + let tv' = FStar_Reflection_V2_Data.Tv_BVar bv in let tv = let uu___2 = - FStar_Syntax_Embeddings.embed - FStar_Reflection_Embeddings.e_term_view tv' in + FStar_Syntax_Embeddings_Base.embed + FStar_Reflection_V2_Embeddings.e_term_view tv' in uu___2 t.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.id_norm_cb in let t1 = let uu___2 = let uu___3 = FStar_Syntax_Syntax.as_arg tv in [uu___3] in FStar_Syntax_Util.mk_app - (FStar_Reflection_Constants.refl_constant_term - FStar_Reflection_Constants.fstar_refl_pack_ln) + (FStar_Reflection_V2_Constants.refl_constant_term + FStar_Reflection_V2_Constants.fstar_refl_pack_ln) uu___2 in term_as_mlexpr g t1 else @@ -2783,17 +2786,19 @@ and (term_as_mlexpr' : let tv1 = let uu___2 = let uu___3 = - FStar_Reflection_Embeddings.e_term_view_aq (shift, aqs) in - FStar_Syntax_Embeddings.embed uu___3 tv in + FStar_Reflection_V2_Embeddings.e_term_view_aq + (shift, aqs) in + FStar_Syntax_Embeddings_Base.embed uu___3 tv in uu___2 t.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.id_norm_cb in let t1 = let uu___2 = let uu___3 = FStar_Syntax_Syntax.as_arg tv1 in [uu___3] in FStar_Syntax_Util.mk_app - (FStar_Reflection_Constants.refl_constant_term - FStar_Reflection_Constants.fstar_refl_pack_ln) uu___2 in + (FStar_Reflection_V2_Constants.refl_constant_term + FStar_Reflection_V2_Constants.fstar_refl_pack_ln) + uu___2 in term_as_mlexpr g t1) | FStar_Syntax_Syntax.Tm_meta { FStar_Syntax_Syntax.tm2 = t1; diff --git a/ocaml/fstar-lib/generated/FStar_Extraction_ML_UEnv.ml b/ocaml/fstar-lib/generated/FStar_Extraction_ML_UEnv.ml index 5b1a8c0637b..352aa768926 100644 --- a/ocaml/fstar-lib/generated/FStar_Extraction_ML_UEnv.ml +++ b/ocaml/fstar-lib/generated/FStar_Extraction_ML_UEnv.ml @@ -447,6 +447,18 @@ let (is_fv_type : uenv -> FStar_Syntax_Syntax.fv -> Prims.bool) = (FStar_Compiler_Effect.op_Bar_Greater g.tydefs (FStar_Compiler_Util.for_some (fun tydef1 -> FStar_Syntax_Syntax.fv_eq fv tydef1.tydef_fv))) +let (no_fstar_stubs_ns : + FStar_Extraction_ML_Syntax.mlsymbol Prims.list -> + FStar_Extraction_ML_Syntax.mlsymbol Prims.list) + = + fun ns -> + match ns with | "FStar"::"Stubs"::rest -> "FStar" :: rest | uu___ -> ns +let (no_fstar_stubs : + FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlpath) = + fun p -> + let uu___ = p in + match uu___ with + | (ns, id) -> let ns1 = no_fstar_stubs_ns ns in (ns1, id) let (lookup_record_field_name : uenv -> (FStar_Ident.lident * FStar_Ident.ident) -> @@ -576,10 +588,13 @@ let (find_uniq : aux Prims.int_zero uu___1 in match uu___ with | (nm, map) -> ((Prims.op_Hat "'" nm), map) else aux Prims.int_zero mlident -let (mlns_of_lid : FStar_Ident.lident -> Prims.string Prims.list) = +let (mlns_of_lid : + FStar_Ident.lident -> FStar_Extraction_ML_Syntax.mlsymbol Prims.list) = fun x -> - let uu___ = FStar_Ident.ns_of_lid x in - FStar_Compiler_List.map FStar_Ident.string_of_id uu___ + let uu___ = + let uu___1 = FStar_Ident.ns_of_lid x in + FStar_Compiler_List.map FStar_Ident.string_of_id uu___1 in + FStar_Compiler_Effect.op_Bar_Greater uu___ no_fstar_stubs_ns let (new_mlpath_of_lident : uenv -> FStar_Ident.lident -> (FStar_Extraction_ML_Syntax.mlpath * uenv)) = fun g -> @@ -1041,11 +1056,12 @@ let (extend_record_field_name : | (name, fieldname_map) -> let ns = mlns_of_lid type_name in let mlp = (ns, name) in + let mlp1 = no_fstar_stubs mlp in let g1 = let uu___2 = let uu___3 = FStar_Ident.string_of_lid key in FStar_Compiler_Util.psmap_add g.mlpath_of_fieldname uu___3 - mlp in + mlp1 in { env_tcenv = (g.env_tcenv); env_bindings = (g.env_bindings); diff --git a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Util.ml b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Util.ml index 577c985f01a..c82a5c3a2f0 100644 --- a/ocaml/fstar-lib/generated/FStar_Extraction_ML_Util.ml +++ b/ocaml/fstar-lib/generated/FStar_Extraction_ML_Util.ml @@ -741,875 +741,4 @@ let rec (uncurry_mlty_fun : | FStar_Extraction_ML_Syntax.MLTY_Fun (a, uu___, b) -> let uu___1 = uncurry_mlty_fun b in (match uu___1 with | (args, res) -> ((a :: args), res)) - | uu___ -> ([], t) -exception NoTacticEmbedding of Prims.string -let (uu___is_NoTacticEmbedding : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | NoTacticEmbedding uu___ -> true | uu___ -> false -let (__proj__NoTacticEmbedding__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> match projectee with | NoTacticEmbedding uu___ -> uu___ -let (not_implemented_warning : - FStar_Compiler_Range_Type.range -> Prims.string -> Prims.string -> unit) = - fun r -> - fun t -> - fun msg -> - let uu___ = - let uu___1 = - let uu___2 = - let uu___3 = - let uu___4 = - FStar_Errors.lookup - FStar_Errors_Codes.Warning_PluginNotImplemented in - FStar_Errors.error_number uu___4 in - FStar_Compiler_Effect.op_Less_Bar - FStar_Compiler_Util.string_of_int uu___3 in - FStar_Compiler_Util.format3 - "Plugin %s can not run natively because %s (use --warn_error -%s to carry on)." - t msg uu___2 in - (FStar_Errors_Codes.Warning_PluginNotImplemented, uu___1) in - FStar_Errors.log_issue r uu___ -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___ -> false -let (uu___is_Refl_emb : emb_loc -> Prims.bool) = - fun projectee -> match projectee with | Refl_emb -> true | uu___ -> false -let (uu___is_NBE_t : emb_loc -> Prims.bool) = - fun projectee -> match projectee with | NBE_t -> true | uu___ -> false -let (uu___is_NBERefl_emb : emb_loc -> Prims.bool) = - fun projectee -> - match projectee with | NBERefl_emb -> true | uu___ -> false -type wrapped_term = - (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.mlexpr * - Prims.int * Prims.bool) -let (interpret_plugin_as_term_fun : - FStar_Extraction_ML_UEnv.uenv -> - FStar_Syntax_Syntax.fv -> - FStar_Syntax_Syntax.typ -> - Prims.int FStar_Pervasives_Native.option -> - FStar_Extraction_ML_Syntax.mlexpr' -> - (FStar_Extraction_ML_Syntax.mlexpr * - FStar_Extraction_ML_Syntax.mlexpr * Prims.int * Prims.bool) - FStar_Pervasives_Native.option) - = - fun env -> - fun fv -> - fun t -> - fun arity_opt -> - fun ml_fv -> - let fv_lid = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let tcenv = FStar_Extraction_ML_UEnv.tcenv_of_uenv env in - let t1 = - FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.EraseUniverses; - FStar_TypeChecker_Env.AllowUnboundUniverses; - FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.ForExtraction] tcenv t in - let w = - FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top in - let as_name mlp = - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) - (FStar_Extraction_ML_Syntax.MLE_Name mlp) in - let lid_to_name l = - let uu___ = - let uu___1 = FStar_Extraction_ML_UEnv.mlpath_of_lident env l in - FStar_Extraction_ML_Syntax.MLE_Name uu___1 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu___ in - let str_to_name s = as_name ([], s) in - let fstar_tc_nbe_prefix s = - as_name (["FStar_TypeChecker_NBETerm"], s) in - let fstar_syn_emb_prefix s = - as_name (["FStar_Syntax_Embeddings"], s) in - let fstar_refl_emb_prefix s = - as_name (["FStar_Reflection_Embeddings"], s) in - let fstar_refl_nbeemb_prefix s = - as_name (["FStar_Reflection_NBEEmbeddings"], s) in - let fv_lid_embedded = - let uu___ = - let uu___1 = - let uu___2 = as_name (["FStar_Ident"], "lid_of_str") in - let uu___3 = - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = FStar_Ident.string_of_lid fv_lid in - FStar_Extraction_ML_Syntax.MLC_String uu___7 in - FStar_Extraction_ML_Syntax.MLE_Const uu___6 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu___5 in - [uu___4] in - (uu___2, uu___3) in - FStar_Extraction_ML_Syntax.MLE_App uu___1 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu___ in - let emb_prefix uu___ = - match uu___ 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 - let mk_tactic_interpretation l arity = - if arity > FStar_Tactics_InterpFuns.max_tac_arity - then - FStar_Compiler_Effect.raise - (NoTacticEmbedding - "tactic plugins can only take up to 20 arguments") - else - (let idroot = - match l with - | Syntax_term -> "mk_tactic_interpretation_" - | uu___1 -> "mk_nbe_tactic_interpretation_" in - let uu___1 = - let uu___2 = - let uu___3 = FStar_Compiler_Util.string_of_int arity in - Prims.op_Hat idroot uu___3 in - (["FStar_Tactics_InterpFuns"], uu___2) in - as_name uu___1) in - let mk_from_tactic l arity = - let idroot = - match l with - | Syntax_term -> "from_tactic_" - | uu___ -> "from_nbe_tactic_" in - let uu___ = - let uu___1 = - let uu___2 = FStar_Compiler_Util.string_of_int arity in - Prims.op_Hat idroot uu___2 in - (["FStar_Tactics_Native"], uu___1) in - as_name uu___ in - let mk_basic_embedding l s = - if s = "norm_step" - then - match l with - | Syntax_term -> - as_name (["FStar_Tactics_Builtins"], "e_norm_step'") - | NBE_t -> - as_name (["FStar_Tactics_Builtins"], "e_norm_step_nbe'") - | uu___ -> - failwith "impossible: mk_basic_embedding norm_step" - else emb_prefix l (Prims.op_Hat "e_" s) in - let mk_arrow_as_prim_step l arity = - let uu___ = - let uu___1 = FStar_Compiler_Util.string_of_int arity in - Prims.op_Hat "arrow_as_prim_step_" uu___1 in - emb_prefix l uu___ in - let mk_any_embedding l s = - let uu___ = - let uu___1 = - let uu___2 = emb_prefix l "mk_any_emb" in - let uu___3 = let uu___4 = str_to_name s in [uu___4] in - (uu___2, uu___3) in - FStar_Extraction_ML_Syntax.MLE_App uu___1 in - FStar_Compiler_Effect.op_Less_Bar w uu___ in - let mk_lam nm e = - FStar_Compiler_Effect.op_Less_Bar w - (FStar_Extraction_ML_Syntax.MLE_Fun - ([(nm, FStar_Extraction_ML_Syntax.MLTY_Top)], e)) in - let emb_arrow l e1 e2 = - let uu___ = - let uu___1 = - let uu___2 = emb_prefix l "e_arrow" in (uu___2, [e1; e2]) in - FStar_Extraction_ML_Syntax.MLE_App uu___1 in - FStar_Compiler_Effect.op_Less_Bar w uu___ in - let known_type_constructors = - let term_cs = - let uu___ = - let uu___1 = - let uu___2 = - let uu___3 = - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - let uu___10 = - FStar_Parser_Const.mk_tuple_lid - (Prims.of_int (2)) - FStar_Compiler_Range_Type.dummyRange in - (uu___10, (Prims.of_int (2)), "tuple2") in - (uu___9, Syntax_term) in - let uu___9 = - let uu___10 = - let uu___11 = - let uu___12 = - FStar_Reflection_Constants.fstar_refl_types_lid - "term" in - (uu___12, Prims.int_zero, "term") in - (uu___11, Refl_emb) in - let uu___11 = - let uu___12 = - let uu___13 = - let uu___14 = - FStar_Reflection_Constants.fstar_refl_types_lid - "sigelt" in - (uu___14, Prims.int_zero, "sigelt") in - (uu___13, Refl_emb) in - let uu___13 = - let uu___14 = - let uu___15 = - let uu___16 = - FStar_Reflection_Constants.fstar_refl_types_lid - "fv" in - (uu___16, Prims.int_zero, "fv") in - (uu___15, Refl_emb) in - let uu___15 = - let uu___16 = - let uu___17 = - let uu___18 = - FStar_Reflection_Constants.fstar_refl_types_lid - "binder" in - (uu___18, Prims.int_zero, - "binder") in - (uu___17, Refl_emb) in - let uu___17 = - let uu___18 = - let uu___19 = - let uu___20 = - FStar_Reflection_Constants.fstar_refl_types_lid - "env" in - (uu___20, Prims.int_zero, - "env") in - (uu___19, Refl_emb) in - let uu___19 = - let uu___20 = - let uu___21 = - let uu___22 = - FStar_Reflection_Constants.fstar_refl_syntax_lid - "binders" in - (uu___22, Prims.int_zero, - "binders") in - (uu___21, Refl_emb) in - let uu___21 = - let uu___22 = - let uu___23 = - let uu___24 = - FStar_Reflection_Constants.fstar_refl_data_lid - "exp" in - (uu___24, Prims.int_zero, - "exp") in - (uu___23, Refl_emb) in - [uu___22] in - uu___20 :: uu___21 in - uu___18 :: uu___19 in - uu___16 :: uu___17 in - uu___14 :: uu___15 in - uu___12 :: uu___13 in - uu___10 :: uu___11 in - uu___8 :: uu___9 in - ((FStar_Parser_Const.sealed_lid, Prims.int_one, - "sealed"), Syntax_term) - :: uu___7 in - ((FStar_Parser_Const.option_lid, Prims.int_one, - "option"), Syntax_term) - :: uu___6 in - ((FStar_Parser_Const.list_lid, Prims.int_one, - "list"), Syntax_term) - :: uu___5 in - ((FStar_Parser_Const.norm_step_lid, Prims.int_zero, - "norm_step"), Syntax_term) - :: uu___4 in - ((FStar_Parser_Const.string_lid, Prims.int_zero, - "string"), Syntax_term) - :: uu___3 in - ((FStar_Parser_Const.unit_lid, Prims.int_zero, "unit"), - Syntax_term) :: uu___2 in - ((FStar_Parser_Const.bool_lid, Prims.int_zero, "bool"), - Syntax_term) :: uu___1 in - ((FStar_Parser_Const.int_lid, Prims.int_zero, "int"), - Syntax_term) :: uu___ in - let nbe_cs = - FStar_Compiler_List.map - (fun uu___ -> - match uu___ with - | (x, Syntax_term) -> (x, NBE_t) - | (x, Refl_emb) -> (x, NBERefl_emb) - | uu___1 -> failwith "Impossible") term_cs in - fun uu___ -> - match uu___ with - | Syntax_term -> term_cs - | Refl_emb -> term_cs - | uu___1 -> nbe_cs in - let is_known_type_constructor l fv1 n = - FStar_Compiler_Util.for_some - (fun uu___ -> - match uu___ with - | ((x, args, uu___1), uu___2) -> - (FStar_Syntax_Syntax.fv_eq_lid fv1 x) && (n = args)) - (known_type_constructors l) in - let find_env_entry bv uu___ = - match uu___ with - | (bv', uu___1) -> FStar_Syntax_Syntax.bv_eq bv bv' in - let rec mk_embedding l env1 t2 = - let t3 = - FStar_TypeChecker_Normalize.unfold_whnf' - [FStar_TypeChecker_Env.ForExtraction] tcenv t2 in - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t3 in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_name bv when - FStar_Compiler_Util.for_some (find_env_entry bv) env1 -> - let uu___1 = - let uu___2 = - let uu___3 = - FStar_Compiler_Util.find_opt (find_env_entry bv) env1 in - FStar_Compiler_Util.must uu___3 in - FStar_Pervasives_Native.snd uu___2 in - FStar_Compiler_Effect.op_Less_Bar (mk_any_embedding l) - uu___1 - | FStar_Syntax_Syntax.Tm_refine - { FStar_Syntax_Syntax.b = x; - FStar_Syntax_Syntax.phi = uu___1;_} - -> mk_embedding l env1 x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_ascribed - { FStar_Syntax_Syntax.tm = t4; - FStar_Syntax_Syntax.asc = uu___1; - FStar_Syntax_Syntax.eff_opt = uu___2;_} - -> mk_embedding l env1 t4 - | FStar_Syntax_Syntax.Tm_arrow - { FStar_Syntax_Syntax.bs1 = b::[]; - FStar_Syntax_Syntax.comp = c;_} - when FStar_Syntax_Util.is_pure_comp c -> - let uu___1 = FStar_Syntax_Subst.open_comp [b] c in - (match uu___1 with - | (bs, c1) -> - let t0 = - let uu___2 = - let uu___3 = FStar_Compiler_List.hd bs in - uu___3.FStar_Syntax_Syntax.binder_bv in - uu___2.FStar_Syntax_Syntax.sort in - let t11 = FStar_Syntax_Util.comp_result c1 in - let uu___2 = mk_embedding l env1 t0 in - let uu___3 = mk_embedding l env1 t11 in - emb_arrow l uu___2 uu___3) - | FStar_Syntax_Syntax.Tm_arrow - { FStar_Syntax_Syntax.bs1 = b::more::bs; - FStar_Syntax_Syntax.comp = c;_} - -> - let tail = - FStar_Syntax_Syntax.mk - (FStar_Syntax_Syntax.Tm_arrow - { - FStar_Syntax_Syntax.bs1 = (more :: bs); - FStar_Syntax_Syntax.comp = c - }) t3.FStar_Syntax_Syntax.pos in - let t4 = - let uu___1 = - let uu___2 = - let uu___3 = FStar_Syntax_Syntax.mk_Total tail in - { - FStar_Syntax_Syntax.bs1 = [b]; - FStar_Syntax_Syntax.comp = uu___3 - } in - FStar_Syntax_Syntax.Tm_arrow uu___2 in - FStar_Syntax_Syntax.mk uu___1 t3.FStar_Syntax_Syntax.pos in - mk_embedding l env1 t4 - | FStar_Syntax_Syntax.Tm_fvar uu___1 -> - let uu___2 = FStar_Syntax_Util.head_and_args t3 in - (match uu___2 with - | (head, args) -> - let n_args = FStar_Compiler_List.length args in - let uu___3 = - let uu___4 = FStar_Syntax_Util.un_uinst head in - uu___4.FStar_Syntax_Syntax.n in - (match uu___3 with - | FStar_Syntax_Syntax.Tm_fvar fv1 when - is_known_type_constructor l fv1 n_args -> - let arg_embeddings = - FStar_Compiler_Effect.op_Bar_Greater args - (FStar_Compiler_List.map - (fun uu___4 -> - match uu___4 with - | (t4, uu___5) -> - mk_embedding l env1 t4)) in - let uu___4 = - let uu___5 = - FStar_Compiler_Util.find_opt - (fun uu___6 -> - match uu___6 with - | ((x, uu___7, uu___8), uu___9) -> - FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_Compiler_Effect.op_Bar_Greater uu___5 - FStar_Compiler_Util.must in - (match uu___4 with - | ((uu___5, t_arity, nm), loc_embedding) -> - let head1 = - mk_basic_embedding loc_embedding nm in - (match t_arity with - | uu___6 when uu___6 = Prims.int_zero -> - head1 - | n -> - FStar_Compiler_Effect.op_Less_Bar w - (FStar_Extraction_ML_Syntax.MLE_App - (head1, arg_embeddings)))) - | uu___4 -> - let uu___5 = - let uu___6 = - let uu___7 = - FStar_Syntax_Print.term_to_string t3 in - Prims.op_Hat - "Embedding not defined for type " uu___7 in - NoTacticEmbedding uu___6 in - FStar_Compiler_Effect.raise uu___5)) - | FStar_Syntax_Syntax.Tm_uinst uu___1 -> - let uu___2 = FStar_Syntax_Util.head_and_args t3 in - (match uu___2 with - | (head, args) -> - let n_args = FStar_Compiler_List.length args in - let uu___3 = - let uu___4 = FStar_Syntax_Util.un_uinst head in - uu___4.FStar_Syntax_Syntax.n in - (match uu___3 with - | FStar_Syntax_Syntax.Tm_fvar fv1 when - is_known_type_constructor l fv1 n_args -> - let arg_embeddings = - FStar_Compiler_Effect.op_Bar_Greater args - (FStar_Compiler_List.map - (fun uu___4 -> - match uu___4 with - | (t4, uu___5) -> - mk_embedding l env1 t4)) in - let uu___4 = - let uu___5 = - FStar_Compiler_Util.find_opt - (fun uu___6 -> - match uu___6 with - | ((x, uu___7, uu___8), uu___9) -> - FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_Compiler_Effect.op_Bar_Greater uu___5 - FStar_Compiler_Util.must in - (match uu___4 with - | ((uu___5, t_arity, nm), loc_embedding) -> - let head1 = - mk_basic_embedding loc_embedding nm in - (match t_arity with - | uu___6 when uu___6 = Prims.int_zero -> - head1 - | n -> - FStar_Compiler_Effect.op_Less_Bar w - (FStar_Extraction_ML_Syntax.MLE_App - (head1, arg_embeddings)))) - | uu___4 -> - let uu___5 = - let uu___6 = - let uu___7 = - FStar_Syntax_Print.term_to_string t3 in - Prims.op_Hat - "Embedding not defined for type " uu___7 in - NoTacticEmbedding uu___6 in - FStar_Compiler_Effect.raise uu___5)) - | FStar_Syntax_Syntax.Tm_app uu___1 -> - let uu___2 = FStar_Syntax_Util.head_and_args t3 in - (match uu___2 with - | (head, args) -> - let n_args = FStar_Compiler_List.length args in - let uu___3 = - let uu___4 = FStar_Syntax_Util.un_uinst head in - uu___4.FStar_Syntax_Syntax.n in - (match uu___3 with - | FStar_Syntax_Syntax.Tm_fvar fv1 when - is_known_type_constructor l fv1 n_args -> - let arg_embeddings = - FStar_Compiler_Effect.op_Bar_Greater args - (FStar_Compiler_List.map - (fun uu___4 -> - match uu___4 with - | (t4, uu___5) -> - mk_embedding l env1 t4)) in - let uu___4 = - let uu___5 = - FStar_Compiler_Util.find_opt - (fun uu___6 -> - match uu___6 with - | ((x, uu___7, uu___8), uu___9) -> - FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_Compiler_Effect.op_Bar_Greater uu___5 - FStar_Compiler_Util.must in - (match uu___4 with - | ((uu___5, t_arity, nm), loc_embedding) -> - let head1 = - mk_basic_embedding loc_embedding nm in - (match t_arity with - | uu___6 when uu___6 = Prims.int_zero -> - head1 - | n -> - FStar_Compiler_Effect.op_Less_Bar w - (FStar_Extraction_ML_Syntax.MLE_App - (head1, arg_embeddings)))) - | uu___4 -> - let uu___5 = - let uu___6 = - let uu___7 = - FStar_Syntax_Print.term_to_string t3 in - Prims.op_Hat - "Embedding not defined for type " uu___7 in - NoTacticEmbedding uu___6 in - FStar_Compiler_Effect.raise uu___5)) - | uu___1 -> - let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t3 in - Prims.op_Hat "Embedding not defined for type " uu___4 in - NoTacticEmbedding uu___3 in - FStar_Compiler_Effect.raise uu___2 in - let abstract_tvars tvar_names body = - match tvar_names with - | [] -> - let body1 = - let uu___ = - let uu___1 = - let uu___2 = - as_name (["FStar_Syntax_Embeddings"], "debug_wrap") in - let uu___3 = - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = FStar_Ident.string_of_lid fv_lid in - FStar_Extraction_ML_Syntax.MLC_String uu___7 in - FStar_Extraction_ML_Syntax.MLE_Const uu___6 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu___5 in - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - let uu___10 = - let uu___11 = str_to_name "args" in - [uu___11] in - (body, uu___10) in - FStar_Extraction_ML_Syntax.MLE_App uu___9 in - FStar_Compiler_Effect.op_Less_Bar w uu___8 in - mk_lam "_" uu___7 in - [uu___6] in - uu___4 :: uu___5 in - (uu___2, uu___3) in - FStar_Extraction_ML_Syntax.MLE_App uu___1 in - FStar_Compiler_Effect.op_Less_Bar w uu___ in - mk_lam "args" body1 - | uu___ -> - let args_tail = - 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 - let fst_pat v = - FStar_Extraction_ML_Syntax.MLP_Tuple - [FStar_Extraction_ML_Syntax.MLP_Var v; - FStar_Extraction_ML_Syntax.MLP_Wild] in - let pattern = - FStar_Compiler_List.fold_right - (fun hd_var -> mk_cons (fst_pat hd_var)) tvar_names - args_tail in - let branch = - let uu___1 = - let uu___2 = - let uu___3 = - let uu___4 = - let uu___5 = as_name ([], "args") in [uu___5] in - (body, uu___4) in - FStar_Extraction_ML_Syntax.MLE_App uu___3 in - FStar_Compiler_Effect.op_Less_Bar w uu___2 in - (pattern, FStar_Pervasives_Native.None, uu___1) in - let default_branch = - let uu___1 = - let uu___2 = - let uu___3 = - let uu___4 = str_to_name "failwith" in - let uu___5 = - let uu___6 = - let uu___7 = - mlexpr_of_const - FStar_Compiler_Range_Type.dummyRange - (FStar_Const.Const_string - ("arity mismatch", - FStar_Compiler_Range_Type.dummyRange)) in - FStar_Compiler_Effect.op_Less_Bar w uu___7 in - [uu___6] in - (uu___4, uu___5) in - FStar_Extraction_ML_Syntax.MLE_App uu___3 in - FStar_Compiler_Effect.op_Less_Bar w uu___2 in - (FStar_Extraction_ML_Syntax.MLP_Wild, - FStar_Pervasives_Native.None, uu___1) in - let body1 = - let uu___1 = - let uu___2 = - let uu___3 = as_name ([], "args") in - (uu___3, [branch; default_branch]) in - FStar_Extraction_ML_Syntax.MLE_Match uu___2 in - FStar_Compiler_Effect.op_Less_Bar w uu___1 in - let body2 = - let uu___1 = - let uu___2 = - let uu___3 = - as_name (["FStar_Syntax_Embeddings"], "debug_wrap") in - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = FStar_Ident.string_of_lid fv_lid in - FStar_Extraction_ML_Syntax.MLC_String uu___8 in - FStar_Extraction_ML_Syntax.MLE_Const uu___7 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu___6 in - let uu___6 = - let uu___7 = mk_lam "_" body1 in [uu___7] in - uu___5 :: uu___6 in - (uu___3, uu___4) in - FStar_Extraction_ML_Syntax.MLE_App uu___2 in - FStar_Compiler_Effect.op_Less_Bar w uu___1 in - mk_lam "args" body2 in - let uu___ = FStar_Syntax_Util.arrow_formals_comp t1 in - match uu___ with - | (bs, c) -> - let uu___1 = - match arity_opt with - | FStar_Pervasives_Native.None -> (bs, c) - | FStar_Pervasives_Native.Some n -> - let n_bs = FStar_Compiler_List.length bs in - if n = n_bs - then (bs, c) - else - if n < n_bs - then - (let uu___3 = FStar_Compiler_Util.first_N n bs in - match uu___3 with - | (bs1, rest) -> - let c1 = - let uu___4 = FStar_Syntax_Util.arrow rest c in - FStar_Compiler_Effect.op_Less_Bar - FStar_Syntax_Syntax.mk_Total uu___4 in - (bs1, c1)) - else - (let msg = - let uu___4 = FStar_Ident.string_of_lid fv_lid in - let uu___5 = FStar_Compiler_Util.string_of_int n in - let uu___6 = - FStar_Compiler_Util.string_of_int n_bs in - FStar_Compiler_Util.format3 - "Embedding not defined for %s; expected arity at least %s; got %s" - uu___4 uu___5 uu___6 in - FStar_Compiler_Effect.raise - (NoTacticEmbedding msg)) in - (match uu___1 with - | (bs1, c1) -> - let result_typ = FStar_Syntax_Util.comp_result c1 in - let arity = FStar_Compiler_List.length bs1 in - let uu___2 = - let uu___3 = - FStar_Compiler_Util.prefix_until - (fun uu___4 -> - match uu___4 with - | { FStar_Syntax_Syntax.binder_bv = b; - FStar_Syntax_Syntax.binder_qual = uu___5; - FStar_Syntax_Syntax.binder_positivity = - uu___6; - FStar_Syntax_Syntax.binder_attrs = uu___7;_} - -> - let uu___8 = - let uu___9 = - FStar_Syntax_Subst.compress - b.FStar_Syntax_Syntax.sort in - uu___9.FStar_Syntax_Syntax.n in - (match uu___8 with - | FStar_Syntax_Syntax.Tm_type uu___9 -> - false - | uu___9 -> true)) bs1 in - match uu___3 with - | FStar_Pervasives_Native.None -> (bs1, []) - | FStar_Pervasives_Native.Some (tvars, x, rest) -> - (tvars, (x :: rest)) in - (match uu___2 with - | (type_vars, bs2) -> - let tvar_arity = - FStar_Compiler_List.length type_vars in - let non_tvar_arity = FStar_Compiler_List.length bs2 in - let tvar_names = - FStar_Compiler_List.mapi - (fun i -> - fun tv -> - let uu___3 = - FStar_Compiler_Util.string_of_int i in - Prims.op_Hat "tv_" uu___3) type_vars in - let tvar_context = - FStar_Compiler_List.map2 - (fun b -> - fun nm -> - ((b.FStar_Syntax_Syntax.binder_bv), nm)) - type_vars tvar_names in - let rec aux loc accum_embeddings bs3 = - match bs3 with - | [] -> - let arg_unembeddings = - FStar_Compiler_List.rev accum_embeddings in - let res_embedding = - mk_embedding loc tvar_context result_typ in - let fv_lid1 = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu___3 = - FStar_Syntax_Util.is_pure_comp c1 in - if uu___3 - then - let cb = str_to_name "cb" in - let embed_fun_N = - mk_arrow_as_prim_step loc non_tvar_arity in - let args = - let uu___4 = - let uu___5 = - let uu___6 = lid_to_name fv_lid1 in - let uu___7 = - let uu___8 = - let uu___9 = - let uu___10 = - let uu___11 = - let uu___12 = - FStar_Compiler_Util.string_of_int - tvar_arity in - (uu___12, - FStar_Pervasives_Native.None) in - FStar_Extraction_ML_Syntax.MLC_Int - uu___11 in - FStar_Extraction_ML_Syntax.MLE_Const - uu___10 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) - uu___9 in - [uu___8; fv_lid_embedded; cb] in - uu___6 :: uu___7 in - res_embedding :: uu___5 in - FStar_Compiler_List.op_At - arg_unembeddings uu___4 in - let fun_embedding = - FStar_Compiler_Effect.op_Less_Bar w - (FStar_Extraction_ML_Syntax.MLE_App - (embed_fun_N, args)) in - let tabs = - abstract_tvars tvar_names fun_embedding in - let cb_tabs = mk_lam "cb" tabs in - let uu___4 = - if loc = NBE_t - then cb_tabs - else mk_lam "_psc" cb_tabs in - (uu___4, arity, true) - else - (let uu___5 = - let uu___6 = - FStar_TypeChecker_Env.norm_eff_name - tcenv - (FStar_Syntax_Util.comp_effect_name - c1) in - FStar_Ident.lid_equals uu___6 - FStar_Parser_Const.effect_TAC_lid in - if uu___5 - then - let h = - mk_tactic_interpretation loc - non_tvar_arity in - let tac_fun = - let uu___6 = - let uu___7 = - let uu___8 = - mk_from_tactic loc - non_tvar_arity in - let uu___9 = - let uu___10 = - lid_to_name fv_lid1 in - [uu___10] in - (uu___8, uu___9) in - FStar_Extraction_ML_Syntax.MLE_App - uu___7 in - FStar_Compiler_Effect.op_Less_Bar w - uu___6 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_Compiler_List.op_At [tac_fun] - (FStar_Compiler_List.op_At - arg_unembeddings - [res_embedding; psc; ncb]) in - let tabs = - match tvar_names with - | [] -> - let uu___6 = - FStar_Compiler_Effect.op_Less_Bar - w - (FStar_Extraction_ML_Syntax.MLE_App - (h, - (FStar_Compiler_List.op_At - args [all_args]))) in - mk_lam "args" uu___6 - | uu___6 -> - let uu___7 = - FStar_Compiler_Effect.op_Less_Bar - w - (FStar_Extraction_ML_Syntax.MLE_App - (h, args)) in - abstract_tvars tvar_names uu___7 in - let uu___6 = - let uu___7 = mk_lam "ncb" tabs in - mk_lam "psc" uu___7 in - (uu___6, (arity + Prims.int_one), false) - else - (let uu___7 = - let uu___8 = - let uu___9 = - FStar_Syntax_Print.term_to_string - t1 in - Prims.op_Hat - "Plugins not defined for type " - uu___9 in - NoTacticEmbedding uu___8 in - FStar_Compiler_Effect.raise uu___7)) - | { FStar_Syntax_Syntax.binder_bv = b; - FStar_Syntax_Syntax.binder_qual = uu___3; - FStar_Syntax_Syntax.binder_positivity = - uu___4; - FStar_Syntax_Syntax.binder_attrs = uu___5;_}::bs4 - -> - let uu___6 = - let uu___7 = - mk_embedding loc tvar_context - b.FStar_Syntax_Syntax.sort in - uu___7 :: accum_embeddings in - aux loc uu___6 bs4 in - (try - (fun uu___3 -> - match () with - | () -> - let uu___4 = aux Syntax_term [] bs2 in - (match uu___4 with - | (w1, a, b) -> - let uu___5 = aux NBE_t [] bs2 in - (match uu___5 with - | (w', uu___6, uu___7) -> - FStar_Pervasives_Native.Some - (w1, w', a, b)))) () - with - | NoTacticEmbedding msg -> - ((let uu___5 = - FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu___6 = - FStar_Syntax_Print.fv_to_string fv in - not_implemented_warning uu___5 uu___6 msg); - FStar_Pervasives_Native.None)))) \ No newline at end of file + | uu___ -> ([], t) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Ident.ml b/ocaml/fstar-lib/generated/FStar_Ident.ml index 658afbdc3cb..86f4119be37 100644 --- a/ocaml/fstar-lib/generated/FStar_Ident.ml +++ b/ocaml/fstar-lib/generated/FStar_Ident.ml @@ -2,8 +2,7 @@ open Prims type ident = { idText: Prims.string ; - idRange: FStar_Compiler_Range_Type.range }[@@deriving - yojson,show,yojson,show] + idRange: FStar_Compiler_Range_Type.range }[@@deriving yojson,show] let (__proj__Mkident__item__idText : ident -> Prims.string) = fun projectee -> match projectee with | { idText; idRange;_} -> idText let (__proj__Mkident__item__idRange : @@ -16,7 +15,7 @@ type lident = ns: ipath ; ident: ident ; nsstr: Prims.string ; - str: Prims.string }[@@deriving yojson,show,yojson,show] + str: Prims.string }[@@deriving yojson,show] let (__proj__Mklident__item__ns : lident -> ipath) = fun projectee -> match projectee with | { ns; ident = ident1; nsstr; str;_} -> ns diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml index e07e1a1aadd..c62e5667a89 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml @@ -3,20 +3,20 @@ let (bv_eq : FStar_Reflection_Types.bv -> FStar_Reflection_Types.bv -> Prims.bool) = fun bv1 -> fun bv2 -> - let bvv1 = FStar_Reflection_Builtins.inspect_bv bv1 in - let bvv2 = FStar_Reflection_Builtins.inspect_bv bv2 in - bvv1.FStar_Reflection_Data.bv_index = - bvv2.FStar_Reflection_Data.bv_index + let bvv1 = FStar_Reflection_V1_Builtins.inspect_bv bv1 in + let bvv2 = FStar_Reflection_V1_Builtins.inspect_bv bv2 in + bvv1.FStar_Reflection_V1_Data.bv_index = + bvv2.FStar_Reflection_V1_Data.bv_index let (fv_eq : FStar_Reflection_Types.fv -> FStar_Reflection_Types.fv -> Prims.bool) = fun fv1 -> fun fv2 -> - let n1 = FStar_Reflection_Builtins.inspect_fv fv1 in - let n2 = FStar_Reflection_Builtins.inspect_fv fv2 in n1 = n2 + let n1 = FStar_Reflection_V1_Builtins.inspect_fv fv1 in + let n2 = FStar_Reflection_V1_Builtins.inspect_fv fv2 in n1 = n2 let (fv_eq_name : FStar_Reflection_Types.fv -> FStar_Reflection_Types.name -> Prims.bool) = fun fv -> - fun n -> let fvn = FStar_Reflection_Builtins.inspect_fv fv in fvn = n + fun n -> let fvn = FStar_Reflection_V1_Builtins.inspect_fv fv in fvn = n let opt_apply : 'a 'b . ('a -> 'b) -> @@ -49,14 +49,18 @@ let opt_tapply : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (42)) (Prims.of_int (20)) - (Prims.of_int (42)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (42)) (Prims.of_int (15)) - (Prims.of_int (42)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (42)) (Prims.of_int (20)) + (Prims.of_int (42)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (42)) (Prims.of_int (15)) + (Prims.of_int (42)) (Prims.of_int (26))))) (Obj.magic (f x')) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -81,22 +85,32 @@ let option_to_string : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (48)) (Prims.of_int (26)) - (Prims.of_int (48)) (Prims.of_int (36))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (48)) (Prims.of_int (26)) - (Prims.of_int (48)) (Prims.of_int (30))) + (Prims.of_int (48)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (48)) (Prims.of_int (26)) + (Prims.of_int (48)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (f x')) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -120,41 +134,61 @@ let list_to_string : fun f -> fun ls -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (58)) (Prims.of_int (2)) (Prims.of_int (58)) - (Prims.of_int (68))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (58)) (Prims.of_int (2)) (Prims.of_int (58)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.fold_left (fun s -> fun x -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (58)) (Prims.of_int (42)) - (Prims.of_int (58)) (Prims.of_int (59))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (58)) (Prims.of_int (49)) - (Prims.of_int (58)) (Prims.of_int (59))) + (Prims.of_int (58)) (Prims.of_int (42)) + (Prims.of_int (58)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (58)) (Prims.of_int (49)) - (Prims.of_int (58)) (Prims.of_int (52))) + (Prims.of_int (58)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (58)) + (Prims.of_int (49)) + (Prims.of_int (58)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (f x)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -178,28 +212,36 @@ let (mk_app_norm : fun t -> fun params -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (65)) (Prims.of_int (11)) (Prims.of_int (65)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (65)) (Prims.of_int (31)) (Prims.of_int (67)) - (Prims.of_int (4))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (65)) (Prims.of_int (11)) + (Prims.of_int (65)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (65)) (Prims.of_int (31)) + (Prims.of_int (67)) (Prims.of_int (4))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Derived.mk_e_app t params)) + (fun uu___ -> FStar_Reflection_V1_Derived.mk_e_app t params)) (fun uu___ -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (66)) (Prims.of_int (11)) - (Prims.of_int (66)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (66)) (Prims.of_int (6)) - (Prims.of_int (66)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (66)) (Prims.of_int (11)) + (Prims.of_int (66)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (66)) (Prims.of_int (6)) + (Prims.of_int (66)) (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env e [] t1)) + (FStar_Tactics_V1_Builtins.norm_term_env e [] t1)) (fun t2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t2)))) uu___) @@ -227,25 +269,34 @@ let (abv_to_string : = fun bv -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (84)) (Prims.of_int (12)) (Prims.of_int (84)) - (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (85)) (Prims.of_int (2)) (Prims.of_int (85)) - (Prims.of_int (60))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (84)) (Prims.of_int (12)) (Prims.of_int (84)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (85)) (Prims.of_int (2)) (Prims.of_int (85)) + (Prims.of_int (60))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_bv bv)) + (fun uu___ -> FStar_Reflection_V1_Builtins.inspect_bv bv)) (fun uu___ -> (fun bvv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (85)) (Prims.of_int (2)) - (Prims.of_int (85)) (Prims.of_int (15))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Derived.name_of_bv bv)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (85)) (Prims.of_int (2)) + (Prims.of_int (85)) (Prims.of_int (15))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V1_Derived.name_of_bv bv)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -253,8 +304,8 @@ let (abv_to_string : (Prims.strcat " (%" (Prims.strcat (Prims.string_of_int - bvv.FStar_Reflection_Data.bv_index) ")")))))) - uu___) + bvv.FStar_Reflection_V1_Data.bv_index) + ")")))))) uu___) let (print_binder_info : Prims.bool -> FStar_Reflection_Types.binder -> @@ -262,41 +313,50 @@ let (print_binder_info : = fun full -> fun b -> - match FStar_Reflection_Builtins.inspect_binder b with - | { FStar_Reflection_Data.binder_bv = binder_bv; - FStar_Reflection_Data.binder_qual = binder_qual; - FStar_Reflection_Data.binder_attrs = binder_attrs; - FStar_Reflection_Data.binder_sort = binder_sort;_} -> + match FStar_Reflection_V1_Builtins.inspect_binder b with + | { FStar_Reflection_V1_Data.binder_bv = binder_bv; + FStar_Reflection_V1_Data.binder_qual = binder_qual; + FStar_Reflection_V1_Data.binder_attrs = binder_attrs; + FStar_Reflection_V1_Data.binder_sort = binder_sort;_} -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (89)) (Prims.of_int (17)) (Prims.of_int (92)) - (Prims.of_int (45))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (93)) (Prims.of_int (4)) (Prims.of_int (105)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (89)) (Prims.of_int (17)) + (Prims.of_int (92)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (93)) (Prims.of_int (4)) + (Prims.of_int (105)) (Prims.of_int (33))))) (match binder_qual with - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Implicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "Implicit"))) - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_V1_Data.Q_Explicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "Explicit"))) - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Meta t -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (92)) (Prims.of_int (29)) - (Prims.of_int (92)) (Prims.of_int (45))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (92)) (Prims.of_int (29)) + (Prims.of_int (92)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "Meta: " uu___))))) @@ -304,125 +364,162 @@ let (print_binder_info : (fun qual_str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (94)) (Prims.of_int (14)) - (Prims.of_int (94)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (95)) (Prims.of_int (2)) - (Prims.of_int (105)) (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (94)) (Prims.of_int (14)) + (Prims.of_int (94)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (95)) (Prims.of_int (2)) + (Prims.of_int (105)) (Prims.of_int (33))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.inspect_bv binder_bv)) + FStar_Reflection_V1_Builtins.inspect_bv + binder_bv)) (fun uu___ -> (fun bview -> if full then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (96)) - (Prims.of_int (10)) - (Prims.of_int (104)) - (Prims.of_int (5))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (96)) (Prims.of_int (4)) - (Prims.of_int (104)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (98)) - (Prims.of_int (6)) - (Prims.of_int (103)) - (Prims.of_int (47))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (96)) + (Prims.of_int (10)) + (Prims.of_int (104)) + (Prims.of_int (5))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (96)) + (Prims.of_int (4)) + (Prims.of_int (104)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (98)) - (Prims.of_int (21)) + (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (98)) - (Prims.of_int (21)) - (Prims.of_int (98)) - (Prims.of_int (39))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (98)) (Prims.of_int (21)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (98)) + (Prims.of_int (21)) + (Prims.of_int (98)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (98)) + (Prims.of_int (21)) + (Prims.of_int (103)) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder + (FStar_Tactics_V1_Derived.name_of_binder b)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (99)) (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) - (FStar_Range.mk_range + (Prims.of_int (47))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (99)) (Prims.of_int (26)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (99)) (Prims.of_int (26)) (Prims.of_int (99)) - (Prims.of_int (46))) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (99)) (Prims.of_int (26)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V1_Derived.binder_to_string b)) (fun uu___1 -> @@ -430,76 +527,96 @@ let (print_binder_info : uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (100)) (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (100)) (Prims.of_int (22)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (101)) (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (101)) (Prims.of_int (23)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (101)) (Prims.of_int (23)) (Prims.of_int (101)) - (Prims.of_int (43))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (101)) (Prims.of_int (23)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv + (FStar_Tactics_V1_Derived.name_of_bv binder_bv)) (fun uu___2 -> @@ -507,62 +624,78 @@ let (print_binder_info : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (102)) (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (102)) (Prims.of_int (22)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (103)) (Prims.of_int (6)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (103)) (Prims.of_int (21)) (Prims.of_int (103)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string binder_sort)) (fun uu___3 -> @@ -579,7 +712,7 @@ let (print_binder_info : uu___4 -> Prims.strcat (Prims.string_of_int - bview.FStar_Reflection_Data.bv_index) + bview.FStar_Reflection_V1_Data.bv_index) uu___3)))) (fun uu___3 -> @@ -662,30 +795,34 @@ let (print_binder_info : (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___)) uu___)) else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (105)) - (Prims.of_int (13)) - (Prims.of_int (105)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (105)) - (Prims.of_int (7)) - (Prims.of_int (105)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (105)) + (Prims.of_int (13)) + (Prims.of_int (105)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (105)) + (Prims.of_int (7)) + (Prims.of_int (105)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V1_Derived.binder_to_string b)) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___1)) uu___1))) uu___))) uu___) let (print_binders_info : @@ -695,108 +832,156 @@ let (print_binders_info : fun full -> fun e -> FStar_Tactics_Util.iter (print_binder_info full) - (FStar_Reflection_Builtins.binders_of_env e) + (FStar_Reflection_V1_Builtins.binders_of_env e) let (acomp_to_string : FStar_Reflection_Types.comp -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total ret -> + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total ret -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (113)) (Prims.of_int (18)) (Prims.of_int (113)) - (Prims.of_int (42))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (113)) (Prims.of_int (18)) - (Prims.of_int (113)) (Prims.of_int (36))) + (Prims.of_int (113)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string ret)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (113)) (Prims.of_int (18)) + (Prims.of_int (113)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string ret)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat uu___ ")")))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "C_Total (" uu___)) - | FStar_Reflection_Data.C_GTotal ret -> + | FStar_Reflection_V1_Data.C_GTotal ret -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (115)) (Prims.of_int (19)) (Prims.of_int (115)) - (Prims.of_int (43))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (115)) (Prims.of_int (19)) - (Prims.of_int (115)) (Prims.of_int (37))) + (Prims.of_int (115)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string ret)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (115)) (Prims.of_int (19)) + (Prims.of_int (115)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string ret)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat uu___ ")")))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "C_GTotal (" uu___)) - | FStar_Reflection_Data.C_Lemma (pre, post, patterns) -> + | FStar_Reflection_V1_Data.C_Lemma (pre, post, patterns) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (117)) (Prims.of_int (18)) (Prims.of_int (117)) - (Prims.of_int (72))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (117)) (Prims.of_int (18)) - (Prims.of_int (117)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (117)) (Prims.of_int (18)) - (Prims.of_int (117)) (Prims.of_int (72))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string pre)) + (Prims.of_int (117)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (117)) (Prims.of_int (18)) + (Prims.of_int (117)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (117)) (Prims.of_int (18)) + (Prims.of_int (117)) (Prims.of_int (72))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string pre)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (117)) (Prims.of_int (39)) - (Prims.of_int (117)) (Prims.of_int (72))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (117)) (Prims.of_int (47)) - (Prims.of_int (117)) (Prims.of_int (72))) + (Prims.of_int (117)) (Prims.of_int (39)) + (Prims.of_int (117)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (117)) (Prims.of_int (47)) (Prims.of_int (117)) - (Prims.of_int (66))) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (117)) + (Prims.of_int (47)) + (Prims.of_int (117)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string post)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -813,35 +998,49 @@ let (acomp_to_string : (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "C_Lemma (" uu___)) - | FStar_Reflection_Data.C_Eff (us, eff_name, result, eff_args, uu___) -> + | FStar_Reflection_V1_Data.C_Eff (us, eff_name, result, eff_args, uu___) + -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (120)) (Prims.of_int (6)) (Prims.of_int (120)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (121)) (Prims.of_int (6)) (Prims.of_int (124)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (120)) (Prims.of_int (6)) + (Prims.of_int (120)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (121)) (Prims.of_int (6)) + (Prims.of_int (124)) (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun a -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (120)) (Prims.of_int (13)) - (Prims.of_int (120)) (Prims.of_int (35))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (120)) (Prims.of_int (13)) - (Prims.of_int (120)) (Prims.of_int (29))) + (Prims.of_int (120)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (120)) (Prims.of_int (13)) + (Prims.of_int (120)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string a)) + (FStar_Tactics_V1_Builtins.term_to_string a)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> Prims.strcat uu___2 ")")))) @@ -852,14 +1051,18 @@ let (acomp_to_string : (fun eff_arg_to_string -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (122)) (Prims.of_int (19)) - (Prims.of_int (122)) (Prims.of_int (67))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (122)) (Prims.of_int (70)) - (Prims.of_int (124)) (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (122)) (Prims.of_int (19)) + (Prims.of_int (122)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (122)) (Prims.of_int (70)) + (Prims.of_int (124)) (Prims.of_int (86))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___1 -> @@ -869,14 +1072,22 @@ let (acomp_to_string : (fun args_str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (123)) (Prims.of_int (19)) - (Prims.of_int (123)) (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (124)) (Prims.of_int (4)) - (Prims.of_int (124)) (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (123)) + (Prims.of_int (19)) + (Prims.of_int (123)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (124)) + (Prims.of_int (4)) + (Prims.of_int (124)) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.fold_left @@ -886,61 +1097,78 @@ let (acomp_to_string : (fun args_str1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (124)) - (Prims.of_int (16)) - (Prims.of_int (124)) - (Prims.of_int (86))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (124)) - (Prims.of_int (40)) + (Prims.of_int (16)) (Prims.of_int (124)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (124)) - (Prims.of_int (48)) + (Prims.of_int (40)) (Prims.of_int (124)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (124)) (Prims.of_int (48)) (Prims.of_int (124)) - (Prims.of_int (69))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (124)) + (Prims.of_int (48)) + (Prims.of_int (124)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string result)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -960,7 +1188,7 @@ let (acomp_to_string : FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V1_Derived.flatten_name eff_name) uu___1)))) (fun uu___1 -> @@ -987,14 +1215,14 @@ let (print_dbg : (fun debug -> fun s -> if debug - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.print s)) + then Obj.magic (Obj.repr (FStar_Tactics_V1_Builtins.print s)) else Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())))) uu___1 uu___ let (term_view_construct : - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> @@ -1003,26 +1231,27 @@ let (term_view_construct : (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> match t with - | FStar_Reflection_Data.Tv_Var uu___1 -> "Tv_Var" - | FStar_Reflection_Data.Tv_BVar uu___1 -> "Tv_BVar" - | FStar_Reflection_Data.Tv_FVar uu___1 -> "Tv_FVar" - | FStar_Reflection_Data.Tv_App (uu___1, uu___2) -> "Tv_App" - | FStar_Reflection_Data.Tv_Abs (uu___1, uu___2) -> "Tv_Abs" - | FStar_Reflection_Data.Tv_Arrow (uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_Var uu___1 -> "Tv_Var" + | FStar_Reflection_V1_Data.Tv_BVar uu___1 -> "Tv_BVar" + | FStar_Reflection_V1_Data.Tv_FVar uu___1 -> "Tv_FVar" + | FStar_Reflection_V1_Data.Tv_App (uu___1, uu___2) -> "Tv_App" + | FStar_Reflection_V1_Data.Tv_Abs (uu___1, uu___2) -> "Tv_Abs" + | FStar_Reflection_V1_Data.Tv_Arrow (uu___1, uu___2) -> "Tv_Arrow" - | FStar_Reflection_Data.Tv_Type uu___1 -> "Tv_Type" - | FStar_Reflection_Data.Tv_Refine (uu___1, uu___2, uu___3) -> - "Tv_Refine" - | FStar_Reflection_Data.Tv_Const uu___1 -> "Tv_Const" - | FStar_Reflection_Data.Tv_Uvar (uu___1, uu___2) -> "Tv_Uvar" - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Type uu___1 -> "Tv_Type" + | FStar_Reflection_V1_Data.Tv_Refine (uu___1, uu___2, uu___3) + -> "Tv_Refine" + | FStar_Reflection_V1_Data.Tv_Const uu___1 -> "Tv_Const" + | FStar_Reflection_V1_Data.Tv_Uvar (uu___1, uu___2) -> + "Tv_Uvar" + | FStar_Reflection_V1_Data.Tv_Let (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6) -> "Tv_Let" - | FStar_Reflection_Data.Tv_Match (uu___1, uu___2, uu___3) -> - "Tv_Match" - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Reflection_V1_Data.Tv_Match (uu___1, uu___2, uu___3) + -> "Tv_Match" + | FStar_Reflection_V1_Data.Tv_AscribedT (uu___1, uu___2, uu___3, uu___4) -> "Tv_AscribedT" - | FStar_Reflection_Data.Tv_AscribedC + | FStar_Reflection_V1_Data.Tv_AscribedC (uu___1, uu___2, uu___3, uu___4) -> "Tv_AScribedC" | uu___1 -> "Tv_Unknown"))) uu___ let (term_construct : @@ -1031,12 +1260,17 @@ let (term_construct : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (160)) (Prims.of_int (22)) (Prims.of_int (160)) - (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (160)) (Prims.of_int (2)) (Prims.of_int (160)) - (Prims.of_int (33))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (160)) (Prims.of_int (22)) (Prims.of_int (160)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (160)) (Prims.of_int (2)) (Prims.of_int (160)) + (Prims.of_int (33))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> Obj.magic (term_view_construct uu___)) uu___) let (filter_ascriptions : @@ -1047,49 +1281,75 @@ let (filter_ascriptions : fun dbg -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (173)) (Prims.of_int (2)) (Prims.of_int (173)) - (Prims.of_int (94))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (174)) (Prims.of_int (2)) (Prims.of_int (178)) - (Prims.of_int (15))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (173)) (Prims.of_int (16)) - (Prims.of_int (173)) (Prims.of_int (94))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (173)) (Prims.of_int (2)) (Prims.of_int (173)) - (Prims.of_int (94))) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (174)) (Prims.of_int (2)) (Prims.of_int (178)) + (Prims.of_int (15))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) (Prims.of_int (16)) + (Prims.of_int (173)) (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) (Prims.of_int (2)) + (Prims.of_int (173)) (Prims.of_int (94))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (173)) (Prims.of_int (45)) - (Prims.of_int (173)) (Prims.of_int (92))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (173)) (Prims.of_int (45)) - (Prims.of_int (173)) (Prims.of_int (66))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (173)) (Prims.of_int (45)) - (Prims.of_int (173)) (Prims.of_int (92))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (172)) (Prims.of_int (27)) - (Prims.of_int (172)) (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) (Prims.of_int (45)) + (Prims.of_int (173)) (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (173)) (Prims.of_int (45)) - (Prims.of_int (173)) (Prims.of_int (66))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (Prims.of_int (173)) (Prims.of_int (92))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (172)) + (Prims.of_int (27)) + (Prims.of_int (172)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) + (Prims.of_int (45)) + (Prims.of_int (173)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> Obj.magic (term_view_construct uu___)) @@ -1098,32 +1358,41 @@ let (filter_ascriptions : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (173)) - (Prims.of_int (69)) - (Prims.of_int (173)) - (Prims.of_int (92))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (173)) - (Prims.of_int (76)) + (Prims.of_int (69)) (Prims.of_int (173)) - (Prims.of_int (92))) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (173)) + (Prims.of_int (76)) + (Prims.of_int (173)) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1146,22 +1415,26 @@ let (filter_ascriptions : (FStar_Tactics_Visit.visit_tm (fun t1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (175)) (Prims.of_int (10)) - (Prims.of_int (175)) (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (175)) (Prims.of_int (4)) - (Prims.of_int (178)) (Prims.of_int (12))) - (Obj.magic (FStar_Tactics_Builtins.inspect t1)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (175)) (Prims.of_int (10)) + (Prims.of_int (175)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (175)) (Prims.of_int (4)) + (Prims.of_int (178)) (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Reflection_V1_Data.Tv_AscribedT (e, uu___3, uu___4, uu___5) -> e - | FStar_Reflection_Data.Tv_AscribedC + | FStar_Reflection_V1_Data.Tv_AscribedC (e, uu___3, uu___4, uu___5) -> e | uu___3 -> t1))) t)) uu___) let (prettify_term : @@ -1186,7 +1459,7 @@ let rec bind_map_get : match m with | [] -> FStar_Pervasives_Native.None | (b', x)::m' -> - if (FStar_Reflection_Builtins.compare_bv b b') = FStar_Order.Eq + if (FStar_Reflection_V1_Builtins.compare_bv b b') = FStar_Order.Eq then FStar_Pervasives_Native.Some x else bind_map_get m' b let rec bind_map_get_from_name : @@ -1210,46 +1483,62 @@ let rec bind_map_get_from_name : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (209)) (Prims.of_int (14)) - (Prims.of_int (209)) (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (210)) (Prims.of_int (4)) - (Prims.of_int (210)) (Prims.of_int (88))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (209)) (Prims.of_int (14)) + (Prims.of_int (209)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (210)) (Prims.of_int (4)) + (Prims.of_int (210)) (Prims.of_int (88))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.inspect_bv b')) + FStar_Reflection_V1_Builtins.inspect_bv b')) (fun uu___ -> (fun b'v -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (210)) (Prims.of_int (7)) - (Prims.of_int (210)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (210)) (Prims.of_int (4)) - (Prims.of_int (210)) (Prims.of_int (88))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (210)) (Prims.of_int (7)) (Prims.of_int (210)) - (Prims.of_int (27))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (210)) - (Prims.of_int (7)) + (Prims.of_int (4)) (Prims.of_int (210)) - (Prims.of_int (34))) + (Prims.of_int (88))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (210)) + (Prims.of_int (7)) + (Prims.of_int (210)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (210)) + (Prims.of_int (7)) + (Prims.of_int (210)) + (Prims.of_int (34))))) (Obj.magic - (FStar_Tactics_Builtins.unseal - b'v.FStar_Reflection_Data.bv_ppname)) + (FStar_Tactics_Unseal.unseal + b'v.FStar_Reflection_V1_Data.bv_ppname)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> uu___ = name)))) @@ -1306,24 +1595,34 @@ let (genv_to_string : genv -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun ge -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (246)) (Prims.of_int (4)) (Prims.of_int (246)) - (Prims.of_int (41))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (247)) (Prims.of_int (4)) (Prims.of_int (259)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (246)) (Prims.of_int (4)) (Prims.of_int (246)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (247)) (Prims.of_int (4)) (Prims.of_int (259)) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun b -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (246)) (Prims.of_int (4)) - (Prims.of_int (246)) (Prims.of_int (34))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (246)) (Prims.of_int (4)) + (Prims.of_int (246)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (abv_to_string (FStar_Reflection_Derived.bv_of_binder b))) + (abv_to_string + (FStar_Reflection_V1_Derived.bv_of_binder b))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat uu___1 "\n")))) @@ -1331,43 +1630,57 @@ let (genv_to_string : (fun binder_to_string -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (248)) (Prims.of_int (20)) - (Prims.of_int (248)) (Prims.of_int (64))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (248)) (Prims.of_int (67)) - (Prims.of_int (259)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (248)) (Prims.of_int (20)) + (Prims.of_int (248)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (248)) (Prims.of_int (67)) + (Prims.of_int (259)) (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.map binder_to_string - (FStar_Reflection_Builtins.binders_of_env ge.env))) + (FStar_Reflection_V1_Builtins.binders_of_env ge.env))) (fun uu___ -> (fun binders_str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (249)) (Prims.of_int (71)) - (Prims.of_int (252)) (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (253)) (Prims.of_int (4)) - (Prims.of_int (259)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (249)) (Prims.of_int (71)) + (Prims.of_int (252)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (253)) (Prims.of_int (4)) + (Prims.of_int (259)) (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun e -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (250)) - (Prims.of_int (30)) - (Prims.of_int (250)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (249)) - (Prims.of_int (71)) - (Prims.of_int (252)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (250)) + (Prims.of_int (30)) + (Prims.of_int (250)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (249)) + (Prims.of_int (71)) + (Prims.of_int (252)) + (Prims.of_int (57))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> e)) (fun uu___1 -> @@ -1376,32 +1689,40 @@ let (genv_to_string : | (bv, (_sort, abs, t)) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (251)) - (Prims.of_int (10)) - (Prims.of_int (252)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (251)) - (Prims.of_int (10)) - (Prims.of_int (251)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (251)) (Prims.of_int (10)) (Prims.of_int (252)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (251)) + (Prims.of_int (10)) + (Prims.of_int (251)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (251)) + (Prims.of_int (10)) + (Prims.of_int (252)) + (Prims.of_int (57))))) (Obj.magic (abv_to_string bv)) @@ -1409,76 +1730,96 @@ let (genv_to_string : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (251)) (Prims.of_int (28)) (Prims.of_int (252)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (252)) (Prims.of_int (4)) (Prims.of_int (252)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (252)) (Prims.of_int (25)) (Prims.of_int (252)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (252)) (Prims.of_int (32)) (Prims.of_int (252)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (252)) (Prims.of_int (32)) (Prims.of_int (252)) - (Prims.of_int (48))) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___3 -> @@ -1532,18 +1873,22 @@ let (genv_to_string : (fun bmap_elem_to_string -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (254)) - (Prims.of_int (17)) - (Prims.of_int (254)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (254)) - (Prims.of_int (51)) - (Prims.of_int (259)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (254)) + (Prims.of_int (17)) + (Prims.of_int (254)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (254)) + (Prims.of_int (51)) + (Prims.of_int (259)) + (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.map bmap_elem_to_string ge.bmap)) @@ -1551,36 +1896,46 @@ let (genv_to_string : (fun bmap_str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (255)) - (Prims.of_int (18)) - (Prims.of_int (255)) - (Prims.of_int (71))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (255)) + (Prims.of_int (18)) + (Prims.of_int (255)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (bv, uu___1) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (255)) (Prims.of_int (38)) (Prims.of_int (255)) - (Prims.of_int (54))) - (FStar_Range.mk_range + (Prims.of_int (54))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic ( abv_to_string @@ -1641,12 +1996,16 @@ let (genv_get_from_name : fun ge -> fun name -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (266)) (Prims.of_int (8)) (Prims.of_int (266)) - (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (266)) (Prims.of_int (2)) (Prims.of_int (268)) - (Prims.of_int (56))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (266)) (Prims.of_int (8)) (Prims.of_int (266)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (266)) (Prims.of_int (2)) (Prims.of_int (268)) + (Prims.of_int (56))))) (Obj.magic (bind_map_get_from_name ge.bmap name)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -1670,38 +2029,54 @@ let (genv_push_bv : fun abs -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (273)) (Prims.of_int (11)) - (Prims.of_int (273)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (273)) (Prims.of_int (30)) - (Prims.of_int (279)) (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (273)) (Prims.of_int (11)) + (Prims.of_int (273)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (273)) (Prims.of_int (30)) + (Prims.of_int (279)) (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Derived.mk_binder b sort)) + (fun uu___ -> FStar_Reflection_V1_Derived.mk_binder b sort)) (fun uu___ -> (fun br -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (274)) (Prims.of_int (11)) - (Prims.of_int (274)) (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (274)) (Prims.of_int (50)) - (Prims.of_int (279)) (Prims.of_int (25))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (274)) (Prims.of_int (33)) - (Prims.of_int (274)) (Prims.of_int (47))) + (Prims.of_int (274)) (Prims.of_int (11)) + (Prims.of_int (274)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (274)) (Prims.of_int (11)) - (Prims.of_int (274)) (Prims.of_int (47))) + (Prims.of_int (274)) (Prims.of_int (50)) + (Prims.of_int (279)) (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (274)) + (Prims.of_int (33)) + (Prims.of_int (274)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (274)) + (Prims.of_int (11)) + (Prims.of_int (274)) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv b)) + (FStar_Tactics_V1_Derived.name_of_bv b)) (fun uu___ -> (fun uu___ -> Obj.magic (genv_get_from_name ge uu___)) @@ -1710,18 +2085,22 @@ let (genv_push_bv : (fun sv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (275)) - (Prims.of_int (15)) - (Prims.of_int (275)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (275)) - (Prims.of_int (77)) - (Prims.of_int (279)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (275)) + (Prims.of_int (15)) + (Prims.of_int (275)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (275)) + (Prims.of_int (77)) + (Prims.of_int (279)) + (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> if @@ -1737,38 +2116,46 @@ let (genv_push_bv : (fun svars' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (276)) - (Prims.of_int (11)) - (Prims.of_int (276)) - (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (276)) - (Prims.of_int (35)) - (Prims.of_int (279)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (276)) + (Prims.of_int (11)) + (Prims.of_int (276)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (276)) + (Prims.of_int (35)) + (Prims.of_int (279)) + (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.push_binder + FStar_Reflection_V1_Builtins.push_binder ge.env br)) (fun uu___ -> (fun e' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (277)) - (Prims.of_int (11)) - (Prims.of_int (277)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (279)) - (Prims.of_int (2)) - (Prims.of_int (279)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (277)) + (Prims.of_int (11)) + (Prims.of_int (277)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (279)) + (Prims.of_int (2)) + (Prims.of_int (279)) + (Prims.of_int (25))))) (if FStar_Pervasives_Native.uu___is_Some t @@ -1783,8 +2170,8 @@ let (genv_push_bv : else Obj.magic (Obj.repr - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var b)))) (fun tm -> FStar_Tactics_Effect.lift_div_tac @@ -1810,19 +2197,23 @@ let (genv_push_binder : fun abs -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (282)) (Prims.of_int (35)) (Prims.of_int (282)) - (Prims.of_int (50))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (282)) (Prims.of_int (2)) (Prims.of_int (282)) - (Prims.of_int (56))) - (Obj.magic (FStar_Tactics_Derived.binder_sort b)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (282)) (Prims.of_int (35)) + (Prims.of_int (282)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (282)) (Prims.of_int (2)) + (Prims.of_int (282)) (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V1_Derived.binder_sort b)) (fun uu___ -> (fun uu___ -> Obj.magic (genv_push_bv ge - (FStar_Reflection_Derived.bv_of_binder b) uu___ abs t)) - uu___) + (FStar_Reflection_V1_Derived.bv_of_binder b) uu___ abs + t)) uu___) let (bv_is_shadowed : genv -> FStar_Reflection_Types.bv -> Prims.bool) = fun ge -> fun bv -> @@ -1831,7 +2222,7 @@ let (bv_is_shadowed : genv -> FStar_Reflection_Types.bv -> Prims.bool) = let (binder_is_shadowed : genv -> FStar_Reflection_Types.binder -> Prims.bool) = fun ge -> - fun b -> bv_is_shadowed ge (FStar_Reflection_Derived.bv_of_binder b) + fun b -> bv_is_shadowed ge (FStar_Reflection_V1_Derived.bv_of_binder b) let (find_shadowed_bvs : genv -> FStar_Reflection_Types.bv Prims.list -> @@ -1857,7 +2248,7 @@ let (bv_is_abstract : genv -> FStar_Reflection_Types.bv -> Prims.bool) = let (binder_is_abstract : genv -> FStar_Reflection_Types.binder -> Prims.bool) = fun ge -> - fun b -> bv_is_abstract ge (FStar_Reflection_Derived.bv_of_binder b) + fun b -> bv_is_abstract ge (FStar_Reflection_V1_Derived.bv_of_binder b) let (genv_abstract_bvs : genv -> (FStar_Reflection_Types.bv * FStar_Reflection_Types.typ) Prims.list) = @@ -1877,12 +2268,16 @@ let rec (_fresh_bv : fun basename -> fun i -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (316)) (Prims.of_int (13)) (Prims.of_int (316)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (319)) (Prims.of_int (2)) (Prims.of_int (320)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (316)) (Prims.of_int (13)) + (Prims.of_int (316)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (319)) (Prims.of_int (2)) + (Prims.of_int (320)) (Prims.of_int (26))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Prims.strcat basename (Prims.string_of_int i))) (fun uu___ -> @@ -1891,7 +2286,8 @@ let rec (_fresh_bv : then Obj.magic (_fresh_bv binder_names basename (i + Prims.int_one)) - else Obj.magic (FStar_Tactics_Builtins.fresh_bv_named name)) + else + Obj.magic (FStar_Tactics_V1_Builtins.fresh_bv_named name)) uu___) let (fresh_bv : FStar_Reflection_Types.env -> @@ -1901,27 +2297,37 @@ let (fresh_bv : fun e -> fun basename -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (323)) (Prims.of_int (16)) (Prims.of_int (323)) - (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (323)) (Prims.of_int (35)) (Prims.of_int (325)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (323)) (Prims.of_int (16)) + (Prims.of_int (323)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (323)) (Prims.of_int (35)) + (Prims.of_int (325)) (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.binders_of_env e)) + (fun uu___ -> FStar_Reflection_V1_Builtins.binders_of_env e)) (fun uu___ -> (fun binders -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (324)) (Prims.of_int (21)) - (Prims.of_int (324)) (Prims.of_int (55))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (325)) (Prims.of_int (2)) - (Prims.of_int (325)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (324)) (Prims.of_int (21)) + (Prims.of_int (324)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (325)) (Prims.of_int (2)) + (Prims.of_int (325)) (Prims.of_int (35))))) (Obj.magic (FStar_Tactics_Util.map - FStar_Tactics_Derived.name_of_binder binders)) + FStar_Tactics_V1_Derived.name_of_binder binders)) (fun uu___ -> (fun binder_names -> Obj.magic @@ -1937,15 +2343,20 @@ let (fresh_binder : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (328)) (Prims.of_int (11)) (Prims.of_int (328)) - (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (329)) (Prims.of_int (2)) (Prims.of_int (329)) - (Prims.of_int (17))) (Obj.magic (fresh_bv e basename)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (328)) (Prims.of_int (11)) + (Prims.of_int (328)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (329)) (Prims.of_int (2)) + (Prims.of_int (329)) (Prims.of_int (17))))) + (Obj.magic (fresh_bv e basename)) (fun bv -> FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Derived.mk_binder bv ty)) + (fun uu___ -> FStar_Reflection_V1_Derived.mk_binder bv ty)) let (genv_push_fresh_binder : genv -> Prims.string -> @@ -1957,25 +2368,33 @@ let (genv_push_fresh_binder : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (332)) (Prims.of_int (10)) (Prims.of_int (332)) - (Prims.of_int (41))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (332)) (Prims.of_int (44)) (Prims.of_int (335)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (332)) (Prims.of_int (10)) + (Prims.of_int (332)) (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (332)) (Prims.of_int (44)) + (Prims.of_int (335)) (Prims.of_int (8))))) (Obj.magic (fresh_binder ge.env basename ty)) (fun uu___ -> (fun b -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (334)) (Prims.of_int (12)) - (Prims.of_int (334)) (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (335)) (Prims.of_int (2)) - (Prims.of_int (335)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (334)) (Prims.of_int (12)) + (Prims.of_int (334)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (335)) (Prims.of_int (2)) + (Prims.of_int (335)) (Prims.of_int (8))))) (Obj.magic (genv_push_binder ge b true FStar_Pervasives_Native.None)) @@ -1993,15 +2412,21 @@ let (push_fresh_binder : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (339)) (Prims.of_int (10)) (Prims.of_int (339)) - (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (339)) (Prims.of_int (39)) (Prims.of_int (341)) - (Prims.of_int (7))) (Obj.magic (fresh_binder e basename ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (339)) (Prims.of_int (10)) + (Prims.of_int (339)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (339)) (Prims.of_int (39)) + (Prims.of_int (341)) (Prims.of_int (7))))) + (Obj.magic (fresh_binder e basename ty)) (fun b -> FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> ((FStar_Reflection_Builtins.push_binder e b), b))) + (fun uu___ -> + ((FStar_Reflection_V1_Builtins.push_binder e b), b))) let (genv_push_fresh_bv : genv -> Prims.string -> @@ -2013,19 +2438,23 @@ let (genv_push_fresh_bv : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (344)) (Prims.of_int (15)) (Prims.of_int (344)) - (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (343)) (Prims.of_int (85)) (Prims.of_int (345)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (344)) (Prims.of_int (15)) + (Prims.of_int (344)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (343)) (Prims.of_int (85)) + (Prims.of_int (345)) (Prims.of_int (21))))) (Obj.magic (genv_push_fresh_binder ge basename ty)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with | (ge', b) -> - (ge', (FStar_Reflection_Derived.bv_of_binder b)))) + (ge', (FStar_Reflection_V1_Derived.bv_of_binder b)))) let (push_fresh_var : FStar_Reflection_Types.env -> Prims.string -> @@ -2038,12 +2467,16 @@ let (push_fresh_var : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (349)) (Prims.of_int (15)) (Prims.of_int (349)) - (Prims.of_int (47))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (348)) (Prims.of_int (35)) (Prims.of_int (351)) - (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (349)) (Prims.of_int (15)) + (Prims.of_int (349)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (348)) (Prims.of_int (35)) + (Prims.of_int (351)) (Prims.of_int (12))))) (Obj.magic (push_fresh_binder e0 basename ty)) (fun uu___ -> (fun uu___ -> @@ -2051,18 +2484,23 @@ let (push_fresh_var : | (e1, b1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (350)) (Prims.of_int (11)) - (Prims.of_int (350)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (351)) (Prims.of_int (2)) - (Prims.of_int (351)) (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (350)) (Prims.of_int (11)) + (Prims.of_int (350)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (351)) (Prims.of_int (2)) + (Prims.of_int (351)) (Prims.of_int (12))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder b1)))) + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder + b1)))) (fun v1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (v1, b1, e1))))) uu___) @@ -2077,12 +2515,16 @@ let (genv_push_fresh_var : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (355)) (Prims.of_int (16)) (Prims.of_int (355)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (354)) (Prims.of_int (41)) (Prims.of_int (357)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (355)) (Prims.of_int (16)) + (Prims.of_int (355)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (354)) (Prims.of_int (41)) + (Prims.of_int (357)) (Prims.of_int (13))))) (Obj.magic (genv_push_fresh_binder ge0 basename ty)) (fun uu___ -> (fun uu___ -> @@ -2090,18 +2532,23 @@ let (genv_push_fresh_var : | (ge1, b1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (356)) (Prims.of_int (11)) - (Prims.of_int (356)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (357)) (Prims.of_int (2)) - (Prims.of_int (357)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (356)) (Prims.of_int (11)) + (Prims.of_int (356)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (357)) (Prims.of_int (2)) + (Prims.of_int (357)) (Prims.of_int (13))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder b1)))) + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder + b1)))) (fun v1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (v1, b1, ge1))))) uu___) @@ -2118,12 +2565,16 @@ let (push_two_fresh_vars : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (361)) (Prims.of_int (15)) (Prims.of_int (361)) - (Prims.of_int (47))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (360)) (Prims.of_int (40)) (Prims.of_int (365)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (361)) (Prims.of_int (15)) + (Prims.of_int (361)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (360)) (Prims.of_int (40)) + (Prims.of_int (365)) (Prims.of_int (20))))) (Obj.magic (push_fresh_binder e0 basename ty)) (fun uu___ -> (fun uu___ -> @@ -2131,14 +2582,18 @@ let (push_two_fresh_vars : | (e1, b1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (362)) (Prims.of_int (15)) - (Prims.of_int (362)) (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (361)) (Prims.of_int (50)) - (Prims.of_int (365)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (362)) (Prims.of_int (15)) + (Prims.of_int (362)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (361)) (Prims.of_int (50)) + (Prims.of_int (365)) (Prims.of_int (20))))) (Obj.magic (push_fresh_binder e1 basename ty)) (fun uu___1 -> (fun uu___1 -> @@ -2146,43 +2601,51 @@ let (push_two_fresh_vars : | (e2, b2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (363)) - (Prims.of_int (11)) - (Prims.of_int (363)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (363)) - (Prims.of_int (45)) - (Prims.of_int (365)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (363)) + (Prims.of_int (11)) + (Prims.of_int (363)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (363)) + (Prims.of_int (45)) + (Prims.of_int (365)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b1)))) (fun uu___2 -> (fun v1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (364)) - (Prims.of_int (11)) - (Prims.of_int (364)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (365)) - (Prims.of_int (2)) - (Prims.of_int (365)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (364)) + (Prims.of_int (11)) + (Prims.of_int (364)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (365)) + (Prims.of_int (2)) + (Prims.of_int (365)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b2)))) (fun v2 -> FStar_Tactics_Effect.lift_div_tac @@ -2203,12 +2666,16 @@ let (genv_push_two_fresh_vars : fun basename -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (369)) (Prims.of_int (16)) (Prims.of_int (369)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (368)) (Prims.of_int (46)) (Prims.of_int (373)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (369)) (Prims.of_int (16)) + (Prims.of_int (369)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (368)) (Prims.of_int (46)) + (Prims.of_int (373)) (Prims.of_int (21))))) (Obj.magic (genv_push_fresh_binder ge0 basename ty)) (fun uu___ -> (fun uu___ -> @@ -2216,14 +2683,18 @@ let (genv_push_two_fresh_vars : | (ge1, b1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (370)) (Prims.of_int (16)) - (Prims.of_int (370)) (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (369)) (Prims.of_int (57)) - (Prims.of_int (373)) (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (370)) (Prims.of_int (16)) + (Prims.of_int (370)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (369)) (Prims.of_int (57)) + (Prims.of_int (373)) (Prims.of_int (21))))) (Obj.magic (genv_push_fresh_binder ge1 basename ty)) (fun uu___1 -> (fun uu___1 -> @@ -2231,43 +2702,51 @@ let (genv_push_two_fresh_vars : | (ge2, b2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (371)) - (Prims.of_int (11)) - (Prims.of_int (371)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (371)) - (Prims.of_int (45)) - (Prims.of_int (373)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (371)) + (Prims.of_int (11)) + (Prims.of_int (371)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (371)) + (Prims.of_int (45)) + (Prims.of_int (373)) + (Prims.of_int (21))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b1)))) (fun uu___2 -> (fun v1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (372)) - (Prims.of_int (11)) - (Prims.of_int (372)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (373)) - (Prims.of_int (2)) - (Prims.of_int (373)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (372)) + (Prims.of_int (11)) + (Prims.of_int (372)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (373)) + (Prims.of_int (2)) + (Prims.of_int (373)) + (Prims.of_int (21))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b2)))) (fun v2 -> FStar_Tactics_Effect.lift_div_tac @@ -2286,12 +2765,16 @@ let (norm_apply_subst : fun t -> fun subst -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (387)) (Prims.of_int (15)) (Prims.of_int (387)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (386)) (Prims.of_int (32)) (Prims.of_int (391)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (387)) (Prims.of_int (15)) + (Prims.of_int (387)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (386)) (Prims.of_int (32)) + (Prims.of_int (391)) (Prims.of_int (23))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> unzip subst)) (fun uu___ -> (fun uu___ -> @@ -2299,64 +2782,76 @@ let (norm_apply_subst : | (bl, vl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (388)) (Prims.of_int (11)) - (Prims.of_int (388)) (Prims.of_int (59))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (388)) (Prims.of_int (62)) - (Prims.of_int (391)) (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (388)) (Prims.of_int (11)) + (Prims.of_int (388)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (388)) (Prims.of_int (62)) + (Prims.of_int (391)) (Prims.of_int (23))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.map (fun uu___2 -> match uu___2 with | (bv, ty) -> - FStar_Reflection_Derived.mk_binder bv - ty) bl)) + FStar_Reflection_V1_Derived.mk_binder + bv ty) bl)) (fun uu___1 -> (fun bl1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (389)) - (Prims.of_int (11)) - (Prims.of_int (389)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (389)) - (Prims.of_int (25)) - (Prims.of_int (391)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (389)) + (Prims.of_int (11)) + (Prims.of_int (389)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (389)) + (Prims.of_int (25)) + (Prims.of_int (391)) + (Prims.of_int (23))))) (Obj.magic - (FStar_Tactics_Derived.mk_abs bl1 t)) + (FStar_Tactics_V1_Derived.mk_abs bl1 t)) (fun uu___1 -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (390)) - (Prims.of_int (11)) - (Prims.of_int (390)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (391)) - (Prims.of_int (2)) - (Prims.of_int (391)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (390)) + (Prims.of_int (11)) + (Prims.of_int (390)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (391)) + (Prims.of_int (2)) + (Prims.of_int (391)) + (Prims.of_int (23))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app + FStar_Reflection_V1_Derived.mk_e_app t1 vl)) (fun uu___1 -> (fun t2 -> Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env e [] t2)) uu___1))) uu___1))) uu___1))) uu___) let (norm_apply_subst_in_comp : @@ -2370,226 +2865,272 @@ let (norm_apply_subst_in_comp : fun c -> fun subst -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (394)) (Prims.of_int (14)) (Prims.of_int (394)) - (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (394)) (Prims.of_int (54)) (Prims.of_int (417)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (394)) (Prims.of_int (14)) + (Prims.of_int (394)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (394)) (Prims.of_int (54)) + (Prims.of_int (417)) (Prims.of_int (55))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun x -> norm_apply_subst e x subst)) (fun uu___ -> (fun subst1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (396)) (Prims.of_int (4)) - (Prims.of_int (399)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (401)) (Prims.of_int (2)) - (Prims.of_int (417)) (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (396)) (Prims.of_int (4)) + (Prims.of_int (399)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (401)) (Prims.of_int (2)) + (Prims.of_int (417)) (Prims.of_int (55))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun uu___ -> (fun uu___ -> fun a -> match a with - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Implicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> a))) - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_V1_Data.Q_Explicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> a))) - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Meta t -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (399)) - (Prims.of_int (25)) - (Prims.of_int (399)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (399)) - (Prims.of_int (18)) - (Prims.of_int (399)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (399)) + (Prims.of_int (25)) + (Prims.of_int (399)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (399)) + (Prims.of_int (18)) + (Prims.of_int (399)) + (Prims.of_int (34))))) (Obj.magic (subst1 t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Data.Q_Meta + FStar_Reflection_V1_Data.Q_Meta uu___1))))) uu___1 uu___)) (fun uu___ -> (fun subst_in_aqualv -> - match FStar_Reflection_Builtins.inspect_comp c + match FStar_Reflection_V1_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total ret -> + | FStar_Reflection_V1_Data.C_Total ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (403)) - (Prims.of_int (14)) - (Prims.of_int (403)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (404)) - (Prims.of_int (4)) - (Prims.of_int (404)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (403)) + (Prims.of_int (14)) + (Prims.of_int (403)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (404)) + (Prims.of_int (4)) + (Prims.of_int (404)) + (Prims.of_int (27))))) (Obj.magic (subst1 ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total + FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total ret1)))) - | FStar_Reflection_Data.C_GTotal ret -> + | FStar_Reflection_V1_Data.C_GTotal ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (406)) - (Prims.of_int (14)) - (Prims.of_int (406)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (407)) - (Prims.of_int (4)) - (Prims.of_int (407)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (406)) + (Prims.of_int (14)) + (Prims.of_int (406)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (407)) + (Prims.of_int (4)) + (Prims.of_int (407)) + (Prims.of_int (28))))) (Obj.magic (subst1 ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_GTotal + FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_GTotal ret1)))) - | FStar_Reflection_Data.C_Lemma + | FStar_Reflection_V1_Data.C_Lemma (pre, post, patterns) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (409)) - (Prims.of_int (14)) - (Prims.of_int (409)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (409)) - (Prims.of_int (26)) - (Prims.of_int (412)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (409)) + (Prims.of_int (14)) + (Prims.of_int (409)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (409)) + (Prims.of_int (26)) + (Prims.of_int (412)) + (Prims.of_int (41))))) (Obj.magic (subst1 pre)) (fun uu___ -> (fun pre1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (410)) - (Prims.of_int (15)) - (Prims.of_int (410)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (410)) - (Prims.of_int (28)) - (Prims.of_int (412)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (410)) + (Prims.of_int (15)) + (Prims.of_int (410)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (410)) + (Prims.of_int (28)) + (Prims.of_int (412)) + (Prims.of_int (41))))) (Obj.magic (subst1 post)) (fun uu___ -> (fun post1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (411)) - (Prims.of_int (19)) - (Prims.of_int (411)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (412)) - (Prims.of_int (4)) - (Prims.of_int (412)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (411)) + (Prims.of_int (19)) + (Prims.of_int (411)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (412)) + (Prims.of_int (4)) + (Prims.of_int (412)) + (Prims.of_int (41))))) (Obj.magic (subst1 patterns)) (fun patterns1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp + FStar_Reflection_V1_Builtins.pack_comp ( - FStar_Reflection_Data.C_Lemma + FStar_Reflection_V1_Data.C_Lemma (pre1, post1, patterns1)))))) uu___))) uu___)) - | FStar_Reflection_Data.C_Eff + | FStar_Reflection_V1_Data.C_Eff (us, eff_name, result, eff_args, decrs) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (414)) - (Prims.of_int (17)) - (Prims.of_int (414)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (414)) - (Prims.of_int (32)) - (Prims.of_int (417)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (414)) + (Prims.of_int (17)) + (Prims.of_int (414)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (414)) + (Prims.of_int (32)) + (Prims.of_int (417)) + (Prims.of_int (55))))) (Obj.magic (subst1 result)) (fun uu___ -> (fun result1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (415)) - (Prims.of_int (19)) - (Prims.of_int (415)) - (Prims.of_int (76))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (415)) - (Prims.of_int (79)) - (Prims.of_int (417)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (415)) + (Prims.of_int (19)) + (Prims.of_int (415)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (415)) + (Prims.of_int (79)) + (Prims.of_int (417)) + (Prims.of_int (55))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (x, a) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (415)) - (Prims.of_int (39)) - (Prims.of_int (415)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (415)) - (Prims.of_int (38)) - (Prims.of_int (415)) - (Prims.of_int (66))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (415)) + (Prims.of_int (39)) + (Prims.of_int (415)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (415)) + (Prims.of_int (38)) + (Prims.of_int (415)) + (Prims.of_int (66))))) (Obj.magic (subst1 x)) (fun uu___1 -> @@ -2597,18 +3138,22 @@ let (norm_apply_subst_in_comp : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (415)) (Prims.of_int (48)) (Prims.of_int (415)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (415)) (Prims.of_int (38)) (Prims.of_int (415)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (subst_in_aqualv a)) @@ -2625,27 +3170,31 @@ let (norm_apply_subst_in_comp : (fun eff_args1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (416)) - (Prims.of_int (16)) - (Prims.of_int (416)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (417)) - (Prims.of_int (4)) - (Prims.of_int (417)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (416)) + (Prims.of_int (16)) + (Prims.of_int (416)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (417)) + (Prims.of_int (4)) + (Prims.of_int (417)) + (Prims.of_int (55))))) (Obj.magic (FStar_Tactics_Util.map subst1 decrs)) (fun decrs1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp + FStar_Reflection_V1_Builtins.pack_comp ( - FStar_Reflection_Data.C_Eff + FStar_Reflection_V1_Data.C_Eff (us, eff_name, result1, @@ -2663,17 +3212,21 @@ let rec (deep_apply_subst : fun t -> fun subst -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (436)) (Prims.of_int (8)) (Prims.of_int (436)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (436)) (Prims.of_int (2)) (Prims.of_int (511)) - (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (436)) (Prims.of_int (8)) + (Prims.of_int (436)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (436)) (Prims.of_int (2)) + (Prims.of_int (511)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Var b -> + | FStar_Reflection_V1_Data.Tv_Var b -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -2681,7 +3234,7 @@ let rec (deep_apply_subst : match bind_map_get subst b with | FStar_Pervasives_Native.None -> t | FStar_Pervasives_Native.Some t' -> t'))) - | FStar_Reflection_Data.Tv_BVar b -> + | FStar_Reflection_V1_Data.Tv_BVar b -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -2689,79 +3242,95 @@ let rec (deep_apply_subst : match bind_map_get subst b with | FStar_Pervasives_Native.None -> t | FStar_Pervasives_Native.Some t' -> t'))) - | FStar_Reflection_Data.Tv_FVar uu___1 -> + | FStar_Reflection_V1_Data.Tv_FVar uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> t))) - | FStar_Reflection_Data.Tv_App (hd, (a, qual)) -> + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qual)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (450)) (Prims.of_int (13)) - (Prims.of_int (450)) (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (450)) (Prims.of_int (43)) - (Prims.of_int (452)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (450)) (Prims.of_int (13)) + (Prims.of_int (450)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (450)) (Prims.of_int (43)) + (Prims.of_int (452)) (Prims.of_int (30))))) (Obj.magic (deep_apply_subst e hd subst)) (fun uu___1 -> (fun hd1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (451)) - (Prims.of_int (12)) - (Prims.of_int (451)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (452)) - (Prims.of_int (4)) - (Prims.of_int (452)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (451)) + (Prims.of_int (12)) + (Prims.of_int (451)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (452)) + (Prims.of_int (4)) + (Prims.of_int (452)) + (Prims.of_int (30))))) (Obj.magic (deep_apply_subst e a subst)) (fun uu___1 -> (fun a1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_App + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_App (hd1, (a1, qual))))) uu___1))) uu___1))) - | FStar_Reflection_Data.Tv_Abs (br, body) -> + | FStar_Reflection_V1_Data.Tv_Abs (br, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (454)) (Prims.of_int (15)) - (Prims.of_int (454)) (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (455)) (Prims.of_int (4)) - (Prims.of_int (455)) (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (454)) (Prims.of_int (15)) + (Prims.of_int (454)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (455)) (Prims.of_int (4)) + (Prims.of_int (455)) (Prims.of_int (25))))) (Obj.magic (deep_apply_subst e body subst)) (fun uu___1 -> (fun body1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Abs + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Abs (br, body1)))) uu___1))) - | FStar_Reflection_Data.Tv_Arrow (br, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (br, c) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (457)) (Prims.of_int (20)) - (Prims.of_int (457)) (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (456)) (Prims.of_int (20)) - (Prims.of_int (459)) (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (457)) (Prims.of_int (20)) + (Prims.of_int (457)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (456)) (Prims.of_int (20)) + (Prims.of_int (459)) (Prims.of_int (24))))) (Obj.magic (deep_apply_subst_in_binder e br subst)) (fun uu___1 -> @@ -2770,61 +3339,73 @@ let rec (deep_apply_subst : | (br1, subst1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (458)) - (Prims.of_int (12)) - (Prims.of_int (458)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (459)) - (Prims.of_int (4)) - (Prims.of_int (459)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (458)) + (Prims.of_int (12)) + (Prims.of_int (458)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (459)) + (Prims.of_int (4)) + (Prims.of_int (459)) + (Prims.of_int (24))))) (Obj.magic (deep_apply_subst_in_comp e c subst1)) (fun uu___2 -> (fun c1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Arrow + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Arrow (br1, c1)))) uu___2))) uu___1))) - | FStar_Reflection_Data.Tv_Type uu___1 -> + | FStar_Reflection_V1_Data.Tv_Type uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> t))) - | FStar_Reflection_Data.Tv_Refine (bv, sort, ref) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, ref) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (462)) (Prims.of_int (15)) - (Prims.of_int (462)) (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (462)) (Prims.of_int (47)) - (Prims.of_int (465)) (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (462)) (Prims.of_int (15)) + (Prims.of_int (462)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (462)) (Prims.of_int (47)) + (Prims.of_int (465)) (Prims.of_int (32))))) (Obj.magic (deep_apply_subst e sort subst)) (fun uu___1 -> (fun sort1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (463)) - (Prims.of_int (20)) - (Prims.of_int (463)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (462)) - (Prims.of_int (47)) - (Prims.of_int (465)) - (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (463)) + (Prims.of_int (20)) + (Prims.of_int (463)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (462)) + (Prims.of_int (47)) + (Prims.of_int (465)) + (Prims.of_int (32))))) (Obj.magic (deep_apply_subst_in_bv e bv subst)) (fun uu___1 -> @@ -2833,87 +3414,103 @@ let rec (deep_apply_subst : | (bv1, subst1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (464)) - (Prims.of_int (14)) - (Prims.of_int (464)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (465)) - (Prims.of_int (4)) - (Prims.of_int (465)) - (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (464)) + (Prims.of_int (14)) + (Prims.of_int (464)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (465)) + (Prims.of_int (4)) + (Prims.of_int (465)) + (Prims.of_int (32))))) (Obj.magic (deep_apply_subst e ref subst1)) (fun uu___2 -> (fun ref1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Refine + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Refine (bv1, sort1, ref1)))) uu___2))) uu___1))) uu___1))) - | FStar_Reflection_Data.Tv_Const uu___1 -> + | FStar_Reflection_V1_Data.Tv_Const uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> t))) - | FStar_Reflection_Data.Tv_Uvar (uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_Uvar (uu___1, uu___2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> t))) - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (470)) (Prims.of_int (13)) - (Prims.of_int (470)) (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (470)) (Prims.of_int (43)) - (Prims.of_int (474)) (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (470)) (Prims.of_int (13)) + (Prims.of_int (470)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (470)) (Prims.of_int (43)) + (Prims.of_int (474)) (Prims.of_int (40))))) (Obj.magic (deep_apply_subst e ty subst)) (fun uu___1 -> (fun ty1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (471)) - (Prims.of_int (14)) - (Prims.of_int (471)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (471)) - (Prims.of_int (45)) - (Prims.of_int (474)) - (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (471)) + (Prims.of_int (14)) + (Prims.of_int (471)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (471)) + (Prims.of_int (45)) + (Prims.of_int (474)) + (Prims.of_int (40))))) (Obj.magic (deep_apply_subst e def subst)) (fun uu___1 -> (fun def1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (472)) - (Prims.of_int (20)) - (Prims.of_int (472)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (471)) - (Prims.of_int (45)) - (Prims.of_int (474)) - (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (472)) + (Prims.of_int (20)) + (Prims.of_int (472)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (471)) + (Prims.of_int (45)) + (Prims.of_int (474)) + (Prims.of_int (40))))) (Obj.magic (deep_apply_subst_in_bv e bv subst)) @@ -2923,18 +3520,24 @@ let rec (deep_apply_subst : | (bv1, subst1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (473)) (Prims.of_int (15)) (Prims.of_int (473)) - (Prims.of_int (44))) - (FStar_Range.mk_range + (Prims.of_int (44))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (474)) (Prims.of_int (4)) (Prims.of_int (474)) - (Prims.of_int (40))) + (Prims.of_int (40))))) (Obj.magic ( deep_apply_subst @@ -2945,8 +3548,8 @@ let rec (deep_apply_subst : (fun body1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Let + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Let (recf, [], bv1, ty1, @@ -2955,54 +3558,66 @@ let rec (deep_apply_subst : uu___2))) uu___1))) uu___1))) uu___1))) - | FStar_Reflection_Data.Tv_Match + | FStar_Reflection_V1_Data.Tv_Match (scrutinee, ret_opt, branches) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (476)) (Prims.of_int (20)) - (Prims.of_int (476)) (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (476)) (Prims.of_int (57)) - (Prims.of_int (498)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (476)) (Prims.of_int (20)) + (Prims.of_int (476)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (476)) (Prims.of_int (57)) + (Prims.of_int (498)) (Prims.of_int (46))))) (Obj.magic (deep_apply_subst e scrutinee subst)) (fun uu___1 -> (fun scrutinee1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (477)) - (Prims.of_int (18)) - (Prims.of_int (489)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (489)) - (Prims.of_int (24)) - (Prims.of_int (498)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (477)) + (Prims.of_int (18)) + (Prims.of_int (489)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (489)) + (Prims.of_int (24)) + (Prims.of_int (498)) + (Prims.of_int (46))))) (Obj.magic (FStar_Tactics_Util.map_opt (fun uu___1 -> match uu___1 with | (b, asc) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (478)) - (Prims.of_int (21)) - (Prims.of_int (478)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (477)) - (Prims.of_int (42)) - (Prims.of_int (489)) - (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (478)) + (Prims.of_int (21)) + (Prims.of_int (478)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (477)) + (Prims.of_int (42)) + (Prims.of_int (489)) + (Prims.of_int (12))))) (Obj.magic (deep_apply_subst_in_binder e b subst)) @@ -3012,18 +3627,22 @@ let rec (deep_apply_subst : | (b1, subst1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (480)) (Prims.of_int (8)) (Prims.of_int (488)) - (Prims.of_int (16))) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (489)) (Prims.of_int (6)) (Prims.of_int (489)) - (Prims.of_int (12))) + (Prims.of_int (12))))) (match asc with | @@ -3034,32 +3653,40 @@ let rec (deep_apply_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (482)) (Prims.of_int (10)) (Prims.of_int (482)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (482)) (Prims.of_int (10)) (Prims.of_int (484)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (482)) (Prims.of_int (14)) (Prims.of_int (482)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (482)) (Prims.of_int (10)) (Prims.of_int (482)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (deep_apply_subst e t1 @@ -3077,18 +3704,22 @@ let rec (deep_apply_subst : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (483)) (Prims.of_int (10)) (Prims.of_int (483)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (482)) (Prims.of_int (10)) (Prims.of_int (484)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_Tactics_Util.map_opt (fun tac @@ -3114,32 +3745,40 @@ let rec (deep_apply_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (486)) (Prims.of_int (10)) (Prims.of_int (486)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (486)) (Prims.of_int (10)) (Prims.of_int (488)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (486)) (Prims.of_int (14)) (Prims.of_int (486)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (486)) (Prims.of_int (10)) (Prims.of_int (486)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (deep_apply_subst_in_comp e c @@ -3157,18 +3796,22 @@ let rec (deep_apply_subst : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (487)) (Prims.of_int (10)) (Prims.of_int (487)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (486)) (Prims.of_int (10)) (Prims.of_int (488)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_Tactics_Util.map_opt (fun tac @@ -3198,34 +3841,42 @@ let rec (deep_apply_subst : (fun ret_opt1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (491)) - (Prims.of_int (43)) - (Prims.of_int (495)) - (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (496)) - (Prims.of_int (6)) - (Prims.of_int (498)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (491)) + (Prims.of_int (43)) + (Prims.of_int (495)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (496)) + (Prims.of_int (6)) + (Prims.of_int (498)) + (Prims.of_int (46))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun branch -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (492)) - (Prims.of_int (20)) - (Prims.of_int (492)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (491)) - (Prims.of_int (43)) - (Prims.of_int (495)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (492)) + (Prims.of_int (20)) + (Prims.of_int (492)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (491)) + (Prims.of_int (43)) + (Prims.of_int (495)) + (Prims.of_int (13))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> branch)) @@ -3237,18 +3888,22 @@ let rec (deep_apply_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (493)) (Prims.of_int (23)) (Prims.of_int (493)) - (Prims.of_int (62))) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (492)) (Prims.of_int (29)) (Prims.of_int (495)) - (Prims.of_int (13))) + (Prims.of_int (13))))) (Obj.magic (deep_apply_subst_in_pattern e pat @@ -3265,18 +3920,22 @@ let rec (deep_apply_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (494)) (Prims.of_int (15)) (Prims.of_int (494)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (495)) (Prims.of_int (6)) (Prims.of_int (495)) - (Prims.of_int (13))) + (Prims.of_int (13))))) (Obj.magic (deep_apply_subst e tm @@ -3296,18 +3955,22 @@ let rec (deep_apply_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (497)) - (Prims.of_int (19)) - (Prims.of_int (497)) - (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (498)) - (Prims.of_int (4)) - (Prims.of_int (498)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (497)) + (Prims.of_int (19)) + (Prims.of_int (497)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (498)) + (Prims.of_int (4)) + (Prims.of_int (498)) + (Prims.of_int (46))))) (Obj.magic (FStar_Tactics_Util.map deep_apply_subst_in_branch @@ -3317,91 +3980,108 @@ let rec (deep_apply_subst : branches1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Match + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Match (scrutinee1, ret_opt1, branches1)))) uu___1))) uu___1))) uu___1))) uu___1))) - | FStar_Reflection_Data.Tv_AscribedT (exp, ty, tac, use_eq) - -> + | FStar_Reflection_V1_Data.Tv_AscribedT + (exp, ty, tac, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (500)) (Prims.of_int (14)) - (Prims.of_int (500)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (500)) (Prims.of_int (45)) - (Prims.of_int (503)) (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (500)) (Prims.of_int (14)) + (Prims.of_int (500)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (500)) (Prims.of_int (45)) + (Prims.of_int (503)) (Prims.of_int (42))))) (Obj.magic (deep_apply_subst e exp subst)) (fun uu___1 -> (fun exp1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (501)) - (Prims.of_int (13)) - (Prims.of_int (501)) - (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (503)) - (Prims.of_int (4)) - (Prims.of_int (503)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (501)) + (Prims.of_int (13)) + (Prims.of_int (501)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (503)) + (Prims.of_int (4)) + (Prims.of_int (503)) + (Prims.of_int (42))))) (Obj.magic (deep_apply_subst e ty subst)) (fun uu___1 -> (fun ty1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_AscribedT + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_AscribedT (exp1, ty1, FStar_Pervasives_Native.None, use_eq)))) uu___1))) uu___1))) - | FStar_Reflection_Data.Tv_AscribedC (exp, c, tac, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (exp, c, tac, use_eq) + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (505)) (Prims.of_int (14)) - (Prims.of_int (505)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (505)) (Prims.of_int (45)) - (Prims.of_int (508)) (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (505)) (Prims.of_int (14)) + (Prims.of_int (505)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (505)) (Prims.of_int (45)) + (Prims.of_int (508)) (Prims.of_int (41))))) (Obj.magic (deep_apply_subst e exp subst)) (fun uu___1 -> (fun exp1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (506)) - (Prims.of_int (12)) - (Prims.of_int (506)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (508)) - (Prims.of_int (4)) - (Prims.of_int (508)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (506)) + (Prims.of_int (12)) + (Prims.of_int (506)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (508)) + (Prims.of_int (4)) + (Prims.of_int (508)) + (Prims.of_int (41))))) (Obj.magic (deep_apply_subst_in_comp e c subst)) (fun uu___1 -> (fun c1 -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_AscribedC + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_AscribedC (exp1, c1, FStar_Pervasives_Native.None, use_eq)))) uu___1))) @@ -3423,33 +4103,47 @@ and (deep_apply_subst_in_bv : fun bv -> fun subst -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (516)) (Prims.of_int (6)) (Prims.of_int (516)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (516)) (Prims.of_int (2)) (Prims.of_int (516)) - (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (516)) (Prims.of_int (6)) - (Prims.of_int (516)) (Prims.of_int (28))) + (Prims.of_int (516)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (516)) (Prims.of_int (6)) - (Prims.of_int (516)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (516)) (Prims.of_int (2)) + (Prims.of_int (516)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (516)) (Prims.of_int (11)) - (Prims.of_int (516)) (Prims.of_int (27))) + (Prims.of_int (516)) (Prims.of_int (6)) + (Prims.of_int (516)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (516)) (Prims.of_int (6)) - (Prims.of_int (516)) (Prims.of_int (28))) + (Prims.of_int (516)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (516)) (Prims.of_int (11)) + (Prims.of_int (516)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (516)) (Prims.of_int (6)) + (Prims.of_int (516)) (Prims.of_int (28))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var bv))) + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (bv, uu___))))) @@ -3469,31 +4163,39 @@ and (deep_apply_subst_in_binder : fun e -> fun br -> fun subst -> - match FStar_Reflection_Builtins.inspect_binder br with - | { FStar_Reflection_Data.binder_bv = binder_bv; - FStar_Reflection_Data.binder_qual = binder_qual; - FStar_Reflection_Data.binder_attrs = binder_attrs; - FStar_Reflection_Data.binder_sort = binder_sort;_} -> + match FStar_Reflection_V1_Builtins.inspect_binder br with + | { FStar_Reflection_V1_Data.binder_bv = binder_bv; + FStar_Reflection_V1_Data.binder_qual = binder_qual; + FStar_Reflection_V1_Data.binder_attrs = binder_attrs; + FStar_Reflection_V1_Data.binder_sort = binder_sort;_} -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (523)) (Prims.of_int (20)) - (Prims.of_int (523)) (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (523)) (Prims.of_int (59)) - (Prims.of_int (530)) (Prims.of_int (10))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (523)) (Prims.of_int (20)) + (Prims.of_int (523)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (523)) (Prims.of_int (59)) + (Prims.of_int (530)) (Prims.of_int (10))))) (Obj.magic (deep_apply_subst e binder_sort subst)) (fun uu___ -> (fun binder_sort1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (524)) (Prims.of_int (25)) - (Prims.of_int (524)) (Prims.of_int (65))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (523)) (Prims.of_int (59)) - (Prims.of_int (530)) (Prims.of_int (10))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (524)) (Prims.of_int (25)) + (Prims.of_int (524)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (523)) (Prims.of_int (59)) + (Prims.of_int (530)) (Prims.of_int (10))))) (Obj.magic (deep_apply_subst_in_bv e binder_bv subst)) (fun uu___ -> @@ -3501,15 +4203,15 @@ and (deep_apply_subst_in_binder : (fun uu___1 -> match uu___ with | (binder_bv1, subst1) -> - ((FStar_Reflection_Builtins.pack_binder + ((FStar_Reflection_V1_Builtins.pack_binder { - FStar_Reflection_Data.binder_bv = - binder_bv1; - FStar_Reflection_Data.binder_qual + FStar_Reflection_V1_Data.binder_bv + = binder_bv1; + FStar_Reflection_V1_Data.binder_qual = binder_qual; - FStar_Reflection_Data.binder_attrs + FStar_Reflection_V1_Data.binder_attrs = binder_attrs; - FStar_Reflection_Data.binder_sort + FStar_Reflection_V1_Data.binder_sort = binder_sort1 }), subst1))))) uu___) and (deep_apply_subst_in_comp : @@ -3522,226 +4224,272 @@ and (deep_apply_subst_in_comp : fun c -> fun subst -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (533)) (Prims.of_int (14)) (Prims.of_int (533)) - (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (533)) (Prims.of_int (54)) (Prims.of_int (556)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (533)) (Prims.of_int (14)) + (Prims.of_int (533)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (533)) (Prims.of_int (54)) + (Prims.of_int (556)) (Prims.of_int (55))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun x -> deep_apply_subst e x subst)) (fun uu___ -> (fun subst1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (535)) (Prims.of_int (4)) - (Prims.of_int (538)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (540)) (Prims.of_int (2)) - (Prims.of_int (556)) (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (535)) (Prims.of_int (4)) + (Prims.of_int (538)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (540)) (Prims.of_int (2)) + (Prims.of_int (556)) (Prims.of_int (55))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun uu___ -> (fun uu___ -> fun a -> match a with - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Implicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> a))) - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_V1_Data.Q_Explicit -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> a))) - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Meta t -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (538)) - (Prims.of_int (25)) - (Prims.of_int (538)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (538)) - (Prims.of_int (18)) - (Prims.of_int (538)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (538)) + (Prims.of_int (25)) + (Prims.of_int (538)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (538)) + (Prims.of_int (18)) + (Prims.of_int (538)) + (Prims.of_int (34))))) (Obj.magic (subst1 t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Data.Q_Meta + FStar_Reflection_V1_Data.Q_Meta uu___1))))) uu___1 uu___)) (fun uu___ -> (fun subst_in_aqualv -> - match FStar_Reflection_Builtins.inspect_comp c + match FStar_Reflection_V1_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total ret -> + | FStar_Reflection_V1_Data.C_Total ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (542)) - (Prims.of_int (14)) - (Prims.of_int (542)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (543)) - (Prims.of_int (4)) - (Prims.of_int (543)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (542)) + (Prims.of_int (14)) + (Prims.of_int (542)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (543)) + (Prims.of_int (4)) + (Prims.of_int (543)) + (Prims.of_int (27))))) (Obj.magic (subst1 ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total + FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total ret1)))) - | FStar_Reflection_Data.C_GTotal ret -> + | FStar_Reflection_V1_Data.C_GTotal ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (545)) - (Prims.of_int (14)) - (Prims.of_int (545)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (546)) - (Prims.of_int (4)) - (Prims.of_int (546)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (545)) + (Prims.of_int (14)) + (Prims.of_int (545)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (546)) + (Prims.of_int (4)) + (Prims.of_int (546)) + (Prims.of_int (28))))) (Obj.magic (subst1 ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_GTotal + FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_GTotal ret1)))) - | FStar_Reflection_Data.C_Lemma + | FStar_Reflection_V1_Data.C_Lemma (pre, post, patterns) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (548)) - (Prims.of_int (14)) - (Prims.of_int (548)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (548)) - (Prims.of_int (26)) - (Prims.of_int (551)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (548)) + (Prims.of_int (14)) + (Prims.of_int (548)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (548)) + (Prims.of_int (26)) + (Prims.of_int (551)) + (Prims.of_int (41))))) (Obj.magic (subst1 pre)) (fun uu___ -> (fun pre1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (549)) - (Prims.of_int (15)) - (Prims.of_int (549)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (549)) - (Prims.of_int (28)) - (Prims.of_int (551)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (549)) + (Prims.of_int (15)) + (Prims.of_int (549)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (549)) + (Prims.of_int (28)) + (Prims.of_int (551)) + (Prims.of_int (41))))) (Obj.magic (subst1 post)) (fun uu___ -> (fun post1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (550)) - (Prims.of_int (19)) - (Prims.of_int (550)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (551)) - (Prims.of_int (4)) - (Prims.of_int (551)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (550)) + (Prims.of_int (19)) + (Prims.of_int (550)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (551)) + (Prims.of_int (4)) + (Prims.of_int (551)) + (Prims.of_int (41))))) (Obj.magic (subst1 patterns)) (fun patterns1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp + FStar_Reflection_V1_Builtins.pack_comp ( - FStar_Reflection_Data.C_Lemma + FStar_Reflection_V1_Data.C_Lemma (pre1, post1, patterns1)))))) uu___))) uu___)) - | FStar_Reflection_Data.C_Eff + | FStar_Reflection_V1_Data.C_Eff (us, eff_name, result, eff_args, decrs) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (553)) - (Prims.of_int (17)) - (Prims.of_int (553)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (553)) - (Prims.of_int (32)) - (Prims.of_int (556)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (553)) + (Prims.of_int (17)) + (Prims.of_int (553)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (553)) + (Prims.of_int (32)) + (Prims.of_int (556)) + (Prims.of_int (55))))) (Obj.magic (subst1 result)) (fun uu___ -> (fun result1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (554)) - (Prims.of_int (19)) - (Prims.of_int (554)) - (Prims.of_int (76))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (554)) - (Prims.of_int (79)) - (Prims.of_int (556)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (554)) + (Prims.of_int (19)) + (Prims.of_int (554)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (554)) + (Prims.of_int (79)) + (Prims.of_int (556)) + (Prims.of_int (55))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (x, a) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (554)) - (Prims.of_int (39)) - (Prims.of_int (554)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (554)) - (Prims.of_int (38)) - (Prims.of_int (554)) - (Prims.of_int (66))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (554)) + (Prims.of_int (39)) + (Prims.of_int (554)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (554)) + (Prims.of_int (38)) + (Prims.of_int (554)) + (Prims.of_int (66))))) (Obj.magic (subst1 x)) (fun uu___1 -> @@ -3749,18 +4497,22 @@ and (deep_apply_subst_in_comp : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (554)) (Prims.of_int (48)) (Prims.of_int (554)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (554)) (Prims.of_int (38)) (Prims.of_int (554)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (subst_in_aqualv a)) @@ -3777,27 +4529,31 @@ and (deep_apply_subst_in_comp : (fun eff_args1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (555)) - (Prims.of_int (16)) - (Prims.of_int (555)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (556)) - (Prims.of_int (4)) - (Prims.of_int (556)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (555)) + (Prims.of_int (16)) + (Prims.of_int (555)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (556)) + (Prims.of_int (4)) + (Prims.of_int (556)) + (Prims.of_int (55))))) (Obj.magic (FStar_Tactics_Util.map subst1 decrs)) (fun decrs1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_comp + FStar_Reflection_V1_Builtins.pack_comp ( - FStar_Reflection_Data.C_Eff + FStar_Reflection_V1_Data.C_Eff (us, eff_name, result1, @@ -3807,9 +4563,9 @@ and (deep_apply_subst_in_comp : uu___) and (deep_apply_subst_in_pattern : FStar_Reflection_Types.env -> - FStar_Reflection_Data.pattern -> + FStar_Reflection_V1_Data.pattern -> (FStar_Reflection_Types.bv * FStar_Reflection_Types.term) Prims.list -> - ((FStar_Reflection_Data.pattern * (FStar_Reflection_Types.bv * + ((FStar_Reflection_V1_Data.pattern * (FStar_Reflection_Types.bv * FStar_Reflection_Types.term) Prims.list), unit) FStar_Tactics_Effect.tac_repr) = @@ -3820,23 +4576,27 @@ and (deep_apply_subst_in_pattern : fun pat -> fun subst -> match pat with - | FStar_Reflection_Data.Pat_Constant uu___ -> + | FStar_Reflection_V1_Data.Pat_Constant uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (pat, subst)))) - | FStar_Reflection_Data.Pat_Cons (fv, us, patterns) -> + | FStar_Reflection_V1_Data.Pat_Cons (fv, us, patterns) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (565)) (Prims.of_int (6)) - (Prims.of_int (567)) (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (561)) (Prims.of_int (30)) - (Prims.of_int (569)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (565)) (Prims.of_int (6)) + (Prims.of_int (567)) (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (561)) (Prims.of_int (30)) + (Prims.of_int (569)) (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.fold_right (fun uu___ -> @@ -3844,18 +4604,22 @@ and (deep_apply_subst_in_pattern : match (uu___, uu___1) with | ((pat1, b), (pats, subst1)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (566)) - (Prims.of_int (39)) - (Prims.of_int (566)) - (Prims.of_int (78))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (565)) - (Prims.of_int (47)) - (Prims.of_int (567)) - (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (566)) + (Prims.of_int (39)) + (Prims.of_int (566)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (565)) + (Prims.of_int (47)) + (Prims.of_int (567)) + (Prims.of_int (47))))) (Obj.magic (deep_apply_subst_in_pattern e pat1 subst1)) @@ -3872,46 +4636,62 @@ and (deep_apply_subst_in_pattern : (fun uu___1 -> match uu___ with | (patterns1, subst1) -> - ((FStar_Reflection_Data.Pat_Cons + ((FStar_Reflection_V1_Data.Pat_Cons (fv, us, patterns1)), subst1))))) - | FStar_Reflection_Data.Pat_Var (bv, st) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, st) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (571)) (Prims.of_int (13)) - (Prims.of_int (571)) (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (571)) (Prims.of_int (66)) - (Prims.of_int (573)) (Prims.of_int (24))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (571)) (Prims.of_int (25)) - (Prims.of_int (571)) (Prims.of_int (63))) + (Prims.of_int (571)) (Prims.of_int (13)) + (Prims.of_int (571)) (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (571)) (Prims.of_int (13)) - (Prims.of_int (571)) (Prims.of_int (63))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (571)) (Prims.of_int (66)) + (Prims.of_int (573)) (Prims.of_int (24))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (571)) - (Prims.of_int (45)) + (Prims.of_int (25)) (Prims.of_int (571)) - (Prims.of_int (56))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (571)) - (Prims.of_int (25)) + (Prims.of_int (13)) (Prims.of_int (571)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (571)) + (Prims.of_int (45)) + (Prims.of_int (571)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (571)) + (Prims.of_int (25)) + (Prims.of_int (571)) + (Prims.of_int (63))))) (Obj.magic - (FStar_Tactics_Builtins.unseal st)) + (FStar_Tactics_Unseal.unseal st)) (fun uu___ -> (fun uu___ -> Obj.magic @@ -3924,18 +4704,22 @@ and (deep_apply_subst_in_pattern : (fun st1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (572)) - (Prims.of_int (20)) - (Prims.of_int (572)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (571)) - (Prims.of_int (66)) - (Prims.of_int (573)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (572)) + (Prims.of_int (20)) + (Prims.of_int (572)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (571)) + (Prims.of_int (66)) + (Prims.of_int (573)) + (Prims.of_int (24))))) (Obj.magic (deep_apply_subst_in_bv e bv subst)) (fun uu___ -> @@ -3943,31 +4727,43 @@ and (deep_apply_subst_in_pattern : (fun uu___1 -> match uu___ with | (bv1, subst1) -> - ((FStar_Reflection_Data.Pat_Var + ((FStar_Reflection_V1_Data.Pat_Var (bv1, st1)), subst1))))) uu___))) - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + | FStar_Reflection_V1_Data.Pat_Dot_Term eopt -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (575)) (Prims.of_int (4)) - (Prims.of_int (575)) (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (575)) (Prims.of_int (4)) - (Prims.of_int (575)) (Prims.of_int (76))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (575)) (Prims.of_int (17)) - (Prims.of_int (575)) (Prims.of_int (69))) + (Prims.of_int (575)) (Prims.of_int (4)) + (Prims.of_int (575)) (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (575)) (Prims.of_int (4)) - (Prims.of_int (575)) (Prims.of_int (69))) + (Prims.of_int (575)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (575)) + (Prims.of_int (17)) + (Prims.of_int (575)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (575)) + (Prims.of_int (4)) + (Prims.of_int (575)) + (Prims.of_int (69))))) (Obj.magic (FStar_Tactics_Util.map_opt (fun t -> deep_apply_subst e t subst) @@ -3975,7 +4771,7 @@ and (deep_apply_subst_in_pattern : (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.Pat_Dot_Term + FStar_Reflection_V1_Data.Pat_Dot_Term uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -4019,14 +4815,18 @@ let (opt_apply_subst : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (591)) (Prims.of_int (19)) - (Prims.of_int (591)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (591)) (Prims.of_int (14)) - (Prims.of_int (591)) (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (591)) (Prims.of_int (19)) + (Prims.of_int (591)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (591)) (Prims.of_int (14)) + (Prims.of_int (591)) (Prims.of_int (42))))) (Obj.magic (apply_subst e t subst)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -4057,115 +4857,139 @@ let rec (_generate_shadowed_subst : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (610)) (Prims.of_int (10)) - (Prims.of_int (610)) (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (610)) (Prims.of_int (4)) - (Prims.of_int (624)) (Prims.of_int (55))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (610)) (Prims.of_int (10)) + (Prims.of_int (610)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (610)) (Prims.of_int (4)) + (Prims.of_int (624)) (Prims.of_int (55))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Abs (b, uu___1) - -> + | FStar_Reflection_V1_Data.Tv_Abs + (b, uu___1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (613)) - (Prims.of_int (15)) - (Prims.of_int (613)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (613)) - (Prims.of_int (46)) - (Prims.of_int (623)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (613)) + (Prims.of_int (15)) + (Prims.of_int (613)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (613)) + (Prims.of_int (46)) + (Prims.of_int (623)) + (Prims.of_int (42))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - (FStar_Reflection_Builtins.inspect_binder - b).FStar_Reflection_Data.binder_bv)) + (FStar_Reflection_V1_Builtins.inspect_binder + b).FStar_Reflection_V1_Data.binder_bv)) (fun uu___2 -> (fun bv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (614)) - (Prims.of_int (16)) - (Prims.of_int (614)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (614)) - (Prims.of_int (32)) - (Prims.of_int (623)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (614)) + (Prims.of_int (16)) + (Prims.of_int (614)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (614)) + (Prims.of_int (32)) + (Prims.of_int (623)) + (Prims.of_int (42))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Builtins.inspect_bv + FStar_Reflection_V1_Builtins.inspect_bv bv)) (fun uu___2 -> (fun bvv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (615)) - (Prims.of_int (15)) - (Prims.of_int (615)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (615)) - (Prims.of_int (31)) - (Prims.of_int (623)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (615)) + (Prims.of_int (15)) + (Prims.of_int (615)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (615)) + (Prims.of_int (31)) + (Prims.of_int (623)) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Derived.binder_sort + (FStar_Tactics_V1_Derived.binder_sort b)) (fun uu___2 -> (fun ty -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (616)) (Prims.of_int (17)) (Prims.of_int (616)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (616)) (Prims.of_int (40)) (Prims.of_int (623)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.unseal - bvv.FStar_Reflection_Data.bv_ppname)) + (FStar_Tactics_Unseal.unseal + bvv.FStar_Reflection_V1_Data.bv_ppname)) (fun uu___2 -> (fun name -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (617)) (Prims.of_int (23)) (Prims.of_int (617)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (616)) (Prims.of_int (40)) (Prims.of_int (623)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (genv_push_fresh_bv ge @@ -4183,49 +5007,61 @@ let rec (_generate_shadowed_subst : fresh) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (15)) (Prims.of_int (618)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (50)) (Prims.of_int (623)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (26)) (Prims.of_int (618)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (15)) (Prims.of_int (618)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (27)) (Prims.of_int (618)) - (Prims.of_int (46))) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (618)) (Prims.of_int (26)) (Prims.of_int (618)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var fresh))) (fun uu___3 -> @@ -4238,7 +5074,7 @@ let rec (_generate_shadowed_subst : FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> - FStar_Reflection_Derived.mk_e_app + FStar_Reflection_V1_Derived.mk_e_app t uu___3)))) (fun uu___3 -> @@ -4246,20 +5082,24 @@ let rec (_generate_shadowed_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (619)) (Prims.of_int (15)) (Prims.of_int (619)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (619)) (Prims.of_int (45)) (Prims.of_int (623)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env ge1.env [] t1)) (fun @@ -4268,18 +5108,22 @@ let rec (_generate_shadowed_subst : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (621)) (Prims.of_int (22)) (Prims.of_int (621)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" (Prims.of_int (619)) (Prims.of_int (45)) (Prims.of_int (623)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (_generate_shadowed_subst ge1 t2 @@ -4319,49 +5163,63 @@ let (generate_shadowed_subst : = fun ge -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (628)) (Prims.of_int (12)) (Prims.of_int (628)) - (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (628)) (Prims.of_int (36)) (Prims.of_int (631)) - (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (628)) (Prims.of_int (12)) (Prims.of_int (628)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (628)) (Prims.of_int (36)) (Prims.of_int (631)) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_List_Tot_Base.rev ge.svars)) (fun uu___ -> (fun bvl -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (629)) (Prims.of_int (11)) - (Prims.of_int (629)) (Prims.of_int (65))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (629)) (Prims.of_int (68)) - (Prims.of_int (631)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (629)) (Prims.of_int (11)) + (Prims.of_int (629)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (629)) (Prims.of_int (68)) + (Prims.of_int (631)) (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_List_Tot_Base.map (fun uu___1 -> match uu___1 with | (bv, sort) -> - FStar_Reflection_Derived.mk_binder bv sort) + FStar_Reflection_V1_Derived.mk_binder bv sort) bvl)) (fun uu___ -> (fun bl -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (630)) (Prims.of_int (14)) - (Prims.of_int (630)) (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Base.fst" - (Prims.of_int (631)) (Prims.of_int (2)) - (Prims.of_int (631)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (630)) (Prims.of_int (14)) + (Prims.of_int (630)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Base.fst" + (Prims.of_int (631)) (Prims.of_int (2)) + (Prims.of_int (631)) (Prims.of_int (39))))) (Obj.magic - (FStar_Tactics_Derived.mk_abs bl - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)))) + (FStar_Tactics_V1_Derived.mk_abs bl + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)))) (fun uu___ -> (fun dummy -> Obj.magic diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml index 19e97f590f6..a7e9adea523 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml @@ -3,7 +3,7 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old type cast_info = { term: FStar_Reflection_Types.term ; @@ -39,50 +39,78 @@ let (cast_info_to_string : cast_info -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun info -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (33)) (Prims.of_int (20)) (Prims.of_int (35)) - (Prims.of_int (56))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (33)) (Prims.of_int (20)) (Prims.of_int (33)) - (Prims.of_int (44))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (33)) (Prims.of_int (20)) (Prims.of_int (35)) - (Prims.of_int (56))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string info.term)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (33)) (Prims.of_int (20)) + (Prims.of_int (33)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (33)) (Prims.of_int (20)) + (Prims.of_int (35)) (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string info.term)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (33)) (Prims.of_int (47)) - (Prims.of_int (35)) (Prims.of_int (56))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (34)) (Prims.of_int (2)) - (Prims.of_int (35)) (Prims.of_int (56))) + (Prims.of_int (33)) (Prims.of_int (47)) + (Prims.of_int (35)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (34)) (Prims.of_int (2)) - (Prims.of_int (34)) (Prims.of_int (48))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (34)) (Prims.of_int (2)) - (Prims.of_int (35)) (Prims.of_int (56))) + (Prims.of_int (35)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (34)) + (Prims.of_int (2)) + (Prims.of_int (34)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (34)) + (Prims.of_int (2)) + (Prims.of_int (35)) + (Prims.of_int (56))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string FStar_InteractiveHelpers_ExploreTerm.type_info_to_string @@ -91,46 +119,58 @@ let (cast_info_to_string : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (34)) - (Prims.of_int (51)) - (Prims.of_int (35)) - (Prims.of_int (56))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (34)) + (Prims.of_int (51)) (Prims.of_int (35)) - (Prims.of_int (2)) - (Prims.of_int (35)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (35)) (Prims.of_int (2)) (Prims.of_int (35)) - (Prims.of_int (50))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (35)) + (Prims.of_int (2)) + (Prims.of_int (35)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string FStar_InteractiveHelpers_ExploreTerm.type_info_to_string @@ -210,80 +250,114 @@ let (effect_info_to_string : effect_info -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (51)) (Prims.of_int (2)) (Prims.of_int (54)) - (Prims.of_int (49))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (51)) (Prims.of_int (36)) (Prims.of_int (54)) - (Prims.of_int (49))) + (Prims.of_int (51)) (Prims.of_int (2)) (Prims.of_int (54)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (52)) (Prims.of_int (2)) - (Prims.of_int (54)) (Prims.of_int (49))) + (Prims.of_int (51)) (Prims.of_int (36)) + (Prims.of_int (54)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (52)) (Prims.of_int (2)) - (Prims.of_int (52)) (Prims.of_int (42))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (52)) (Prims.of_int (2)) - (Prims.of_int (54)) (Prims.of_int (49))) + (Prims.of_int (54)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (52)) (Prims.of_int (2)) + (Prims.of_int (52)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (52)) (Prims.of_int (2)) + (Prims.of_int (54)) (Prims.of_int (49))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string c.ei_pre)) + FStar_Tactics_V1_Builtins.term_to_string + c.ei_pre)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (52)) (Prims.of_int (45)) - (Prims.of_int (54)) (Prims.of_int (49))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (53)) - (Prims.of_int (2)) + (Prims.of_int (52)) + (Prims.of_int (45)) (Prims.of_int (54)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (53)) - (Prims.of_int (2)) - (Prims.of_int (53)) - (Prims.of_int (35))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (53)) (Prims.of_int (2)) (Prims.of_int (54)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (53)) + (Prims.of_int (2)) + (Prims.of_int (53)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (53)) + (Prims.of_int (2)) + (Prims.of_int (54)) + (Prims.of_int (49))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.type_info_to_string c.ei_ret_type)) @@ -291,49 +365,61 @@ let (effect_info_to_string : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (53)) - (Prims.of_int (38)) - (Prims.of_int (54)) - (Prims.of_int (49))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (53)) + (Prims.of_int (38)) (Prims.of_int (54)) - (Prims.of_int (2)) - (Prims.of_int (54)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (54)) + (Prims.of_int (2)) + (Prims.of_int (54)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (54)) (Prims.of_int (2)) (Prims.of_int (54)) - (Prims.of_int (43))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string c.ei_post)) (fun uu___2 -> @@ -399,32 +485,44 @@ let (eterm_info_to_string : eterm_info -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun info -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (66)) (Prims.of_int (15)) (Prims.of_int (66)) - (Prims.of_int (84))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (66)) (Prims.of_int (87)) (Prims.of_int (71)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (66)) (Prims.of_int (15)) (Prims.of_int (66)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (66)) (Prims.of_int (87)) (Prims.of_int (71)) + (Prims.of_int (18))))) (Obj.magic (FStar_Tactics_Util.map (fun x -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (66)) (Prims.of_int (35)) - (Prims.of_int (66)) (Prims.of_int (67))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (66)) (Prims.of_int (35)) - (Prims.of_int (66)) (Prims.of_int (56))) + (Prims.of_int (66)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (66)) (Prims.of_int (35)) + (Prims.of_int (66)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (cast_info_to_string x)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -437,14 +535,18 @@ let (eterm_info_to_string : (fun params -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (67)) (Prims.of_int (19)) - (Prims.of_int (67)) (Prims.of_int (66))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (68)) (Prims.of_int (2)) - (Prims.of_int (71)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (67)) (Prims.of_int (19)) + (Prims.of_int (67)) (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (68)) (Prims.of_int (2)) + (Prims.of_int (71)) (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_List_Tot_Base.fold_left @@ -453,71 +555,95 @@ let (eterm_info_to_string : (fun params_str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (69)) (Prims.of_int (2)) - (Prims.of_int (71)) (Prims.of_int (18))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (69)) (Prims.of_int (2)) - (Prims.of_int (69)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (69)) (Prims.of_int (2)) - (Prims.of_int (71)) (Prims.of_int (18))) + (Prims.of_int (71)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (69)) + (Prims.of_int (2)) + (Prims.of_int (69)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (69)) + (Prims.of_int (2)) + (Prims.of_int (71)) + (Prims.of_int (18))))) (Obj.magic (effect_info_to_string info.einfo)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (69)) - (Prims.of_int (37)) - (Prims.of_int (71)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (70)) - (Prims.of_int (2)) + (Prims.of_int (69)) + (Prims.of_int (37)) (Prims.of_int (71)) - (Prims.of_int (18))) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (70)) (Prims.of_int (2)) - (Prims.of_int (70)) - (Prims.of_int (26))) + (Prims.of_int (71)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (70)) + (Prims.of_int (2)) + (Prims.of_int (70)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string info.head)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -560,28 +686,36 @@ let rec (decompose_application_aux : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (83)) (Prims.of_int (8)) (Prims.of_int (83)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (83)) (Prims.of_int (2)) (Prims.of_int (101)) - (Prims.of_int (14))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (83)) (Prims.of_int (8)) (Prims.of_int (83)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (83)) (Prims.of_int (2)) (Prims.of_int (101)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_App (hd, (a, qualif)) -> + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qualif)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (85)) (Prims.of_int (22)) - (Prims.of_int (85)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (84)) (Prims.of_int (28)) - (Prims.of_int (100)) (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (85)) (Prims.of_int (22)) + (Prims.of_int (85)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (84)) (Prims.of_int (28)) + (Prims.of_int (100)) (Prims.of_int (28))))) (Obj.magic (decompose_application_aux e hd)) (fun uu___1 -> (fun uu___1 -> @@ -589,18 +723,22 @@ let rec (decompose_application_aux : | (hd0, params) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (87)) - (Prims.of_int (17)) - (Prims.of_int (87)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (87)) - (Prims.of_int (37)) - (Prims.of_int (100)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (87)) + (Prims.of_int (17)) + (Prims.of_int (87)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (87)) + (Prims.of_int (37)) + (Prims.of_int (100)) + (Prims.of_int (28))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info e a)) @@ -608,18 +746,22 @@ let rec (decompose_application_aux : (fun a_type -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (89)) - (Prims.of_int (16)) - (Prims.of_int (89)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (89)) - (Prims.of_int (31)) - (Prims.of_int (100)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (89)) + (Prims.of_int (16)) + (Prims.of_int (89)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (89)) + (Prims.of_int (31)) + (Prims.of_int (100)) + (Prims.of_int (28))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_tc e hd)) @@ -627,18 +769,22 @@ let rec (decompose_application_aux : (fun hd_ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (91)) - (Prims.of_int (6)) - (Prims.of_int (97)) - (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (100)) - (Prims.of_int (4)) - (Prims.of_int (100)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (91)) + (Prims.of_int (6)) + (Prims.of_int (97)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (100)) + (Prims.of_int (4)) + (Prims.of_int (100)) + (Prims.of_int (28))))) (match hd_ty with | FStar_Pervasives_Native.None @@ -654,20 +800,24 @@ let rec (decompose_application_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (94)) (Prims.of_int (14)) (Prims.of_int (94)) - (Prims.of_int (28))) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (94)) (Prims.of_int (8)) (Prims.of_int (97)) - (Prims.of_int (19))) + (Prims.of_int (19))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect hd_ty')) (fun uu___2 -> @@ -676,39 +826,47 @@ let rec (decompose_application_aux : match uu___2 with | - FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (96)) (Prims.of_int (15)) (Prims.of_int (96)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (96)) (Prims.of_int (10)) (Prims.of_int (96)) - (Prims.of_int (56))) + (Prims.of_int (56))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (96)) (Prims.of_int (40)) (Prims.of_int (96)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (96)) (Prims.of_int (15)) (Prims.of_int (96)) - (Prims.of_int (56))) + (Prims.of_int (56))))) (Obj.magic - (FStar_Tactics_Derived.binder_sort + (FStar_Tactics_V1_Derived.binder_sort b)) (fun uu___3 -> @@ -763,12 +921,17 @@ let (decompose_application : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (105)) (Prims.of_int (19)) (Prims.of_int (105)) - (Prims.of_int (48))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (104)) (Prims.of_int (31)) (Prims.of_int (106)) - (Prims.of_int (25))) (Obj.magic (decompose_application_aux e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (105)) (Prims.of_int (19)) + (Prims.of_int (105)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (104)) (Prims.of_int (31)) + (Prims.of_int (106)) (Prims.of_int (25))))) + (Obj.magic (decompose_application_aux e t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -776,22 +939,28 @@ let (decompose_application : | (hd, params) -> (hd, (FStar_List_Tot_Base.rev params)))) let (comp_view_to_effect_info : Prims.bool -> - FStar_Reflection_Data.comp_view -> + FStar_Reflection_V1_Data.comp_view -> (effect_info FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = fun dbg -> fun cv -> match cv with - | FStar_Reflection_Data.C_Total ret_ty -> + | FStar_Reflection_V1_Data.C_Total ret_ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (114)) (Prims.of_int (24)) (Prims.of_int (114)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (115)) (Prims.of_int (4)) (Prims.of_int (115)) - (Prims.of_int (57))) - (Obj.magic + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (114)) (Prims.of_int (24)) + (Prims.of_int (114)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (115)) (Prims.of_int (4)) + (Prims.of_int (115)) (Prims.of_int (57))))) + (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type ret_ty)) (fun ret_type_info -> @@ -802,14 +971,20 @@ let (comp_view_to_effect_info : FStar_InteractiveHelpers_ExploreTerm.E_Total ret_type_info FStar_Pervasives_Native.None FStar_Pervasives_Native.None))) - | FStar_Reflection_Data.C_GTotal ret_ty -> + | FStar_Reflection_V1_Data.C_GTotal ret_ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (117)) (Prims.of_int (24)) (Prims.of_int (117)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (118)) (Prims.of_int (4)) (Prims.of_int (118)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (117)) (Prims.of_int (24)) + (Prims.of_int (117)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (118)) (Prims.of_int (4)) + (Prims.of_int (118)) (Prims.of_int (57))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type ret_ty)) @@ -821,27 +996,37 @@ let (comp_view_to_effect_info : FStar_InteractiveHelpers_ExploreTerm.E_Total ret_type_info FStar_Pervasives_Native.None FStar_Pervasives_Native.None))) - | FStar_Reflection_Data.C_Lemma (pre, post, patterns) -> + | FStar_Reflection_V1_Data.C_Lemma (pre, post, patterns) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (121)) (Prims.of_int (14)) (Prims.of_int (121)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (121)) (Prims.of_int (38)) (Prims.of_int (123)) - (Prims.of_int (71))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (121)) (Prims.of_int (14)) + (Prims.of_int (121)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (121)) (Prims.of_int (38)) + (Prims.of_int (123)) (Prims.of_int (71))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term dbg pre)) (fun uu___ -> (fun pre1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (122)) (Prims.of_int (15)) - (Prims.of_int (122)) (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (123)) (Prims.of_int (4)) - (Prims.of_int (123)) (Prims.of_int (71))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (122)) (Prims.of_int (15)) + (Prims.of_int (122)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (123)) (Prims.of_int (4)) + (Prims.of_int (123)) (Prims.of_int (71))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term dbg post)) @@ -855,31 +1040,41 @@ let (comp_view_to_effect_info : (FStar_Pervasives_Native.Some pre1) (FStar_Pervasives_Native.Some post1)))))) uu___) - | FStar_Reflection_Data.C_Eff + | FStar_Reflection_V1_Data.C_Eff (univs, eff_name, ret_ty, eff_args, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (125)) (Prims.of_int (4)) (Prims.of_int (125)) - (Prims.of_int (78))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (125)) (Prims.of_int (79)) (Prims.of_int (142)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (125)) (Prims.of_int (4)) + (Prims.of_int (125)) (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (125)) (Prims.of_int (79)) + (Prims.of_int (142)) (Prims.of_int (7))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg (Prims.strcat "comp_view_to_effect_info: C_Eff " - (FStar_Reflection_Derived.flatten_name eff_name)))) + (FStar_Reflection_V1_Derived.flatten_name eff_name)))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (126)) (Prims.of_int (24)) - (Prims.of_int (126)) (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (126)) (Prims.of_int (57)) - (Prims.of_int (142)) (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (126)) (Prims.of_int (24)) + (Prims.of_int (126)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (126)) (Prims.of_int (57)) + (Prims.of_int (142)) (Prims.of_int (7))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type ret_ty)) @@ -887,14 +1082,22 @@ let (comp_view_to_effect_info : (fun ret_type_info -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (127)) (Prims.of_int (16)) - (Prims.of_int (127)) (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (127)) (Prims.of_int (47)) - (Prims.of_int (142)) (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (127)) + (Prims.of_int (16)) + (Prims.of_int (127)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (127)) + (Prims.of_int (47)) + (Prims.of_int (142)) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> FStar_InteractiveHelpers_ExploreTerm.effect_name_to_type @@ -903,18 +1106,22 @@ let (comp_view_to_effect_info : (fun etype -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (128)) - (Prims.of_int (17)) - (Prims.of_int (128)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (128)) - (Prims.of_int (54)) - (Prims.of_int (142)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (128)) + (Prims.of_int (17)) + (Prims.of_int (128)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (128)) + (Prims.of_int (54)) + (Prims.of_int (142)) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> mk_effect_info etype @@ -923,18 +1130,22 @@ let (comp_view_to_effect_info : (fun mk_res -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (129)) - (Prims.of_int (19)) - (Prims.of_int (129)) - (Prims.of_int (71))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (130)) - (Prims.of_int (10)) - (Prims.of_int (141)) - (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (129)) + (Prims.of_int (19)) + (Prims.of_int (129)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (130)) + (Prims.of_int (10)) + (Prims.of_int (141)) + (Prims.of_int (15))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___2 -> @@ -942,18 +1153,22 @@ let (comp_view_to_effect_info : with | (x, a) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (129)) (Prims.of_int (38)) (Prims.of_int (129)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (129)) (Prims.of_int (37)) (Prims.of_int (129)) - (Prims.of_int (61))) + (Prims.of_int (61))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term dbg x)) @@ -1057,14 +1272,18 @@ let (comp_to_effect_info : fun dbg -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (147)) (Prims.of_int (23)) (Prims.of_int (147)) - (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (148)) (Prims.of_int (2)) (Prims.of_int (148)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (147)) (Prims.of_int (23)) + (Prims.of_int (147)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (148)) (Prims.of_int (2)) (Prims.of_int (148)) + (Prims.of_int (33))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_comp c)) + (fun uu___ -> FStar_Reflection_V1_Builtins.inspect_comp c)) (fun uu___ -> (fun cv -> Obj.magic (comp_view_to_effect_info dbg cv)) uu___) let (compute_effect_info : @@ -1078,12 +1297,18 @@ let (compute_effect_info : fun e -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (153)) (Prims.of_int (8)) (Prims.of_int (153)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (153)) (Prims.of_int (2)) (Prims.of_int (155)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (153)) (Prims.of_int (8)) + (Prims.of_int (153)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (153)) (Prims.of_int (2)) + (Prims.of_int (155)) (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_tcc e tm)) (fun uu___ -> (fun uu___ -> @@ -1106,12 +1331,18 @@ let (typ_or_comp_to_effect_info : fun ge -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (170)) (Prims.of_int (10)) (Prims.of_int (170)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (171)) (Prims.of_int (2)) (Prims.of_int (179)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (170)) (Prims.of_int (10)) + (Prims.of_int (170)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (171)) (Prims.of_int (2)) + (Prims.of_int (179)) (Prims.of_int (25))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.flush_typ_or_comp dbg ge.FStar_InteractiveHelpers_Base.env c)) @@ -1122,14 +1353,18 @@ let (typ_or_comp_to_effect_info : (ty, uu___, uu___1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (173)) (Prims.of_int (16)) - (Prims.of_int (173)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (174)) (Prims.of_int (4)) - (Prims.of_int (174)) (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (173)) (Prims.of_int (16)) + (Prims.of_int (173)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (174)) (Prims.of_int (4)) + (Prims.of_int (174)) (Prims.of_int (42))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type ty)) @@ -1144,14 +1379,18 @@ let (typ_or_comp_to_effect_info : (cv, uu___, uu___1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (176)) (Prims.of_int (20)) - (Prims.of_int (176)) (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (177)) (Prims.of_int (4)) - (Prims.of_int (179)) (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (176)) (Prims.of_int (20)) + (Prims.of_int (176)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (177)) (Prims.of_int (4)) + (Prims.of_int (179)) (Prims.of_int (25))))) (Obj.magic (comp_to_effect_info dbg cv)) (fun uu___2 -> (fun opt_einfo -> @@ -1160,32 +1399,40 @@ let (typ_or_comp_to_effect_info : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (178)) - (Prims.of_int (20)) - (Prims.of_int (178)) - (Prims.of_int (83))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (178)) - (Prims.of_int (14)) - (Prims.of_int (178)) - (Prims.of_int (83))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (178)) - (Prims.of_int (64)) + (Prims.of_int (20)) (Prims.of_int (178)) - (Prims.of_int (82))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (178)) + (Prims.of_int (14)) + (Prims.of_int (178)) + (Prims.of_int (83))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (178)) + (Prims.of_int (64)) + (Prims.of_int (178)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.acomp_to_string cv)) @@ -1214,48 +1461,61 @@ let (tcc_no_lift : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (192)) (Prims.of_int (8)) (Prims.of_int (192)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (192)) (Prims.of_int (2)) (Prims.of_int (199)) - (Prims.of_int (11))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (192)) (Prims.of_int (8)) (Prims.of_int (192)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (192)) (Prims.of_int (2)) (Prims.of_int (199)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_App (uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_App (uu___1, uu___2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (194)) (Prims.of_int (19)) - (Prims.of_int (194)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (193)) (Prims.of_int (17)) - (Prims.of_int (196)) (Prims.of_int (41))) - (Obj.magic (FStar_Tactics_SyntaxHelpers.collect_app t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (194)) (Prims.of_int (19)) + (Prims.of_int (194)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (193)) (Prims.of_int (17)) + (Prims.of_int (196)) (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_V1_SyntaxHelpers.collect_app t)) (fun uu___3 -> (fun uu___3 -> match uu___3 with | (hd, args) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (195)) - (Prims.of_int (12)) - (Prims.of_int (195)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (196)) - (Prims.of_int (4)) - (Prims.of_int (196)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (195)) + (Prims.of_int (12)) + (Prims.of_int (195)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (196)) + (Prims.of_int (4)) + (Prims.of_int (196)) + (Prims.of_int (41))))) (Obj.magic - (FStar_Tactics_Builtins.tcc e hd)) + (FStar_Tactics_V1_Builtins.tcc e hd)) (fun uu___4 -> (fun c -> Obj.magic @@ -1264,7 +1524,8 @@ let (tcc_no_lift : (FStar_List_Tot_Base.map FStar_Pervasives_Native.fst args))) uu___4))) uu___3)) - | uu___1 -> Obj.magic (FStar_Tactics_Builtins.tcc e t)) uu___) + | uu___1 -> Obj.magic (FStar_Tactics_V1_Builtins.tcc e t)) + uu___) let (compute_eterm_info : Prims.bool -> FStar_Reflection_Types.env -> @@ -1275,47 +1536,66 @@ let (compute_eterm_info : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (207)) (Prims.of_int (23)) (Prims.of_int (207)) - (Prims.of_int (48))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (205)) (Prims.of_int (58)) (Prims.of_int (220)) - (Prims.of_int (16))) (Obj.magic (decompose_application e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (207)) (Prims.of_int (23)) + (Prims.of_int (207)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (205)) (Prims.of_int (58)) + (Prims.of_int (220)) (Prims.of_int (16))))) + (Obj.magic (decompose_application e t)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, parameters) -> Obj.magic - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V1_Derived.try_with (fun uu___1 -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (210)) (Prims.of_int (19)) - (Prims.of_int (210)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (210)) (Prims.of_int (37)) - (Prims.of_int (215)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (210)) + (Prims.of_int (19)) + (Prims.of_int (210)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (210)) + (Prims.of_int (37)) + (Prims.of_int (215)) + (Prims.of_int (39))))) (Obj.magic (tcc_no_lift e t)) (fun uu___2 -> (fun c -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (211)) - (Prims.of_int (20)) - (Prims.of_int (211)) - (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (212)) - (Prims.of_int (4)) - (Prims.of_int (215)) - (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (211)) + (Prims.of_int (20)) + (Prims.of_int (211)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (212)) + (Prims.of_int (4)) + (Prims.of_int (215)) + (Prims.of_int (39))))) (Obj.magic (comp_to_effect_info dbg c)) (fun uu___2 -> @@ -1326,34 +1606,42 @@ let (compute_eterm_info : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (213)) - (Prims.of_int (20)) - (Prims.of_int (213)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (213)) - (Prims.of_int (14)) - (Prims.of_int (213)) - (Prims.of_int (74))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (213)) + (Prims.of_int (20)) + (Prims.of_int (213)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (213)) + (Prims.of_int (14)) + (Prims.of_int (213)) + (Prims.of_int (74))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (213)) (Prims.of_int (57)) (Prims.of_int (213)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___2 -> @@ -1442,26 +1730,36 @@ let (compare_types : fun info1 -> fun info2 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (252)) (Prims.of_int (2)) (Prims.of_int (252)) - (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (253)) (Prims.of_int (2)) (Prims.of_int (276)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (252)) (Prims.of_int (2)) + (Prims.of_int (252)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (253)) (Prims.of_int (2)) + (Prims.of_int (276)) (Prims.of_int (13))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> compare_types")) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (253)) (Prims.of_int (5)) - (Prims.of_int (253)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (253)) (Prims.of_int (2)) - (Prims.of_int (276)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (253)) (Prims.of_int (5)) + (Prims.of_int (253)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (253)) (Prims.of_int (2)) + (Prims.of_int (276)) (Prims.of_int (13))))) (Obj.magic (term_eq info1.FStar_InteractiveHelpers_ExploreTerm.ty @@ -1472,14 +1770,22 @@ let (compare_types : then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (254)) (Prims.of_int (14)) - (Prims.of_int (254)) (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (255)) (Prims.of_int (6)) - (Prims.of_int (273)) (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (254)) + (Prims.of_int (14)) + (Prims.of_int (254)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (255)) + (Prims.of_int (6)) + (Prims.of_int (273)) + (Prims.of_int (15))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "-> types are equal")) @@ -1489,18 +1795,22 @@ let (compare_types : then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (256)) - (Prims.of_int (16)) - (Prims.of_int (256)) - (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (259)) - (Prims.of_int (8)) - (Prims.of_int (270)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (256)) + (Prims.of_int (16)) + (Prims.of_int (256)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (259)) + (Prims.of_int (8)) + (Prims.of_int (270)) + (Prims.of_int (23))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1511,18 +1821,22 @@ let (compare_types : then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (260)) - (Prims.of_int (18)) - (Prims.of_int (260)) - (Prims.of_int (60))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (261)) - (Prims.of_int (10)) - (Prims.of_int (266)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (260)) + (Prims.of_int (18)) + (Prims.of_int (260)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (261)) + (Prims.of_int (10)) + (Prims.of_int (266)) + (Prims.of_int (23))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1532,18 +1846,22 @@ let (compare_types : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (261)) (Prims.of_int (13)) (Prims.of_int (261)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (261)) (Prims.of_int (10)) (Prims.of_int (266)) - (Prims.of_int (23))) + (Prims.of_int (23))))) (Obj.magic (term_eq (get_refinement @@ -1558,18 +1876,22 @@ let (compare_types : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (262)) (Prims.of_int (20)) (Prims.of_int (262)) - (Prims.of_int (46))) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (263)) (Prims.of_int (12)) (Prims.of_int (263)) - (Prims.of_int (19))) + (Prims.of_int (19))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1583,18 +1905,22 @@ let (compare_types : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (265)) (Prims.of_int (18)) (Prims.of_int (265)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (266)) (Prims.of_int (10)) (Prims.of_int (266)) - (Prims.of_int (23))) + (Prims.of_int (23))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1610,18 +1936,22 @@ let (compare_types : else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (268)) - (Prims.of_int (18)) - (Prims.of_int (268)) - (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (268)) - (Prims.of_int (66)) - (Prims.of_int (270)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (268)) + (Prims.of_int (18)) + (Prims.of_int (268)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (268)) + (Prims.of_int (66)) + (Prims.of_int (270)) + (Prims.of_int (23))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1631,18 +1961,22 @@ let (compare_types : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (269)) (Prims.of_int (18)) (Prims.of_int (269)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (270)) (Prims.of_int (10)) (Prims.of_int (270)) - (Prims.of_int (23))) + (Prims.of_int (23))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1658,18 +1992,22 @@ let (compare_types : else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (272)) - (Prims.of_int (16)) - (Prims.of_int (272)) - (Prims.of_int (70))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (273)) - (Prims.of_int (8)) - (Prims.of_int (273)) - (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (272)) + (Prims.of_int (16)) + (Prims.of_int (272)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (273)) + (Prims.of_int (8)) + (Prims.of_int (273)) + (Prims.of_int (15))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1681,17 +2019,25 @@ let (compare_types : else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (275)) (Prims.of_int (14)) - (Prims.of_int (275)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (276)) (Prims.of_int (6)) - (Prims.of_int (276)) (Prims.of_int (13))) - (Obj.magic - (FStar_InteractiveHelpers_Base.print_dbg - dbg "types are not equal")) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (275)) + (Prims.of_int (14)) + (Prims.of_int (275)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (276)) + (Prims.of_int (6)) + (Prims.of_int (276)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_InteractiveHelpers_Base.print_dbg + dbg "types are not equal")) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> Unknown)))) uu___1))) @@ -1703,12 +2049,16 @@ let (compare_cast_types : fun dbg -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (282)) (Prims.of_int (2)) (Prims.of_int (282)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (283)) (Prims.of_int (2)) (Prims.of_int (286)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (282)) (Prims.of_int (2)) (Prims.of_int (282)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (283)) (Prims.of_int (2)) (Prims.of_int (286)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> compare_cast_types")) @@ -1735,14 +2085,15 @@ let (mk_has_type : Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V1_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "has_type"]))) - [(ty, FStar_Reflection_Data.Q_Implicit); - (t, FStar_Reflection_Data.Q_Explicit); - (ty, FStar_Reflection_Data.Q_Explicit)]))) uu___1 uu___ + [(ty, FStar_Reflection_V1_Data.Q_Implicit); + (t, FStar_Reflection_V1_Data.Q_Explicit); + (ty, FStar_Reflection_V1_Data.Q_Explicit)]))) uu___1 + uu___ let (cast_info_to_propositions : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> @@ -1754,31 +2105,45 @@ let (cast_info_to_propositions : fun ge -> fun ci -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (313)) (Prims.of_int (2)) (Prims.of_int (313)) - (Prims.of_int (76))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (314)) (Prims.of_int (2)) (Prims.of_int (341)) - (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (313)) (Prims.of_int (16)) - (Prims.of_int (313)) (Prims.of_int (76))) + (Prims.of_int (313)) (Prims.of_int (2)) + (Prims.of_int (313)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (313)) (Prims.of_int (2)) - (Prims.of_int (313)) (Prims.of_int (76))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (314)) (Prims.of_int (2)) + (Prims.of_int (341)) (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (313)) (Prims.of_int (16)) + (Prims.of_int (313)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (313)) (Prims.of_int (53)) - (Prims.of_int (313)) (Prims.of_int (75))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (313)) (Prims.of_int (2)) + (Prims.of_int (313)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (313)) (Prims.of_int (53)) + (Prims.of_int (313)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (cast_info_to_string ci)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -1794,14 +2159,18 @@ let (cast_info_to_propositions : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (314)) (Prims.of_int (8)) - (Prims.of_int (314)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (314)) (Prims.of_int (2)) - (Prims.of_int (341)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (314)) (Prims.of_int (8)) + (Prims.of_int (314)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (314)) (Prims.of_int (2)) + (Prims.of_int (341)) (Prims.of_int (13))))) (Obj.magic (compare_cast_types dbg ci)) (fun uu___1 -> (fun uu___1 -> @@ -1809,18 +2178,22 @@ let (cast_info_to_propositions : | Refines -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (316)) - (Prims.of_int (4)) - (Prims.of_int (316)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (317)) - (Prims.of_int (4)) - (Prims.of_int (317)) - (Prims.of_int (6))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (316)) + (Prims.of_int (4)) + (Prims.of_int (316)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (317)) + (Prims.of_int (4)) + (Prims.of_int (317)) + (Prims.of_int (6))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "-> Comparison result: Refines")) @@ -1830,18 +2203,22 @@ let (cast_info_to_propositions : | Same_raw_type -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (319)) - (Prims.of_int (4)) - (Prims.of_int (319)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (319)) - (Prims.of_int (58)) - (Prims.of_int (322)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (319)) + (Prims.of_int (4)) + (Prims.of_int (319)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (319)) + (Prims.of_int (58)) + (Prims.of_int (322)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -1850,18 +2227,22 @@ let (cast_info_to_propositions : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (320)) - (Prims.of_int (16)) - (Prims.of_int (320)) - (Prims.of_int (50))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (320)) - (Prims.of_int (53)) - (Prims.of_int (322)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (320)) + (Prims.of_int (16)) + (Prims.of_int (320)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (320)) + (Prims.of_int (53)) + (Prims.of_int (322)) + (Prims.of_int (16))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> get_refinement @@ -1871,18 +2252,22 @@ let (cast_info_to_propositions : (fun refin -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (321)) - (Prims.of_int (21)) - (Prims.of_int (321)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (322)) - (Prims.of_int (4)) - (Prims.of_int (322)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (321)) + (Prims.of_int (21)) + (Prims.of_int (321)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (322)) + (Prims.of_int (4)) + (Prims.of_int (322)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.mk_app_norm ge.FStar_InteractiveHelpers_Base.env @@ -1896,18 +2281,22 @@ let (cast_info_to_propositions : | Unknown -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (324)) - (Prims.of_int (4)) - (Prims.of_int (324)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (325)) - (Prims.of_int (4)) - (Prims.of_int (341)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (324)) + (Prims.of_int (4)) + (Prims.of_int (324)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (325)) + (Prims.of_int (4)) + (Prims.of_int (341)) + (Prims.of_int (13))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "-> Comparison result: Unknown")) @@ -1921,18 +2310,22 @@ let (cast_info_to_propositions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (327)) - (Prims.of_int (18)) - (Prims.of_int (327)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (327)) - (Prims.of_int (41)) - (Prims.of_int (340)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (327)) + (Prims.of_int (18)) + (Prims.of_int (327)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (327)) + (Prims.of_int (41)) + (Prims.of_int (340)) + (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> get_rawest_type @@ -1941,18 +2334,24 @@ let (cast_info_to_propositions : (fun p_rty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (328)) (Prims.of_int (18)) (Prims.of_int (328)) - (Prims.of_int (38))) - (FStar_Range.mk_range + (Prims.of_int (38))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (328)) (Prims.of_int (41)) (Prims.of_int (340)) - (Prims.of_int (41))) + (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac ( fun @@ -1965,21 +2364,25 @@ let (cast_info_to_propositions : e_rty -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (335)) (Prims.of_int (22)) (Prims.of_int (335)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (335)) (Prims.of_int (69)) (Prims.of_int (340)) - (Prims.of_int (41))) + (Prims.of_int (41))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_AscribedT + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_AscribedT ((ci.term), p_rty, FStar_Pervasives_Native.None, @@ -1991,28 +2394,32 @@ let (cast_info_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (336)) (Prims.of_int (28)) (Prims.of_int (336)) - (Prims.of_int (95))) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (336)) (Prims.of_int (98)) (Prims.of_int (340)) - (Prims.of_int (41))) + (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> [ (p_rty, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V1_Data.Q_Implicit); (ascr_term, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V1_Data.Q_Explicit); (e_rty, - FStar_Reflection_Data.Q_Explicit)])) + FStar_Reflection_V1_Data.Q_Explicit)])) (fun uu___3 -> (fun @@ -2020,25 +2427,29 @@ let (cast_info_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (337)) (Prims.of_int (22)) (Prims.of_int (337)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (337)) (Prims.of_int (59)) (Prims.of_int (340)) - (Prims.of_int (41))) + (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V1_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "has_type"]))) has_type_params)) @@ -2049,18 +2460,22 @@ let (cast_info_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (339)) (Prims.of_int (27)) (Prims.of_int (339)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (340)) (Prims.of_int (6)) (Prims.of_int (340)) - (Prims.of_int (41))) + (Prims.of_int (41))))) (Obj.magic (FStar_InteractiveHelpers_Base.opt_mk_app_norm ge.FStar_InteractiveHelpers_Base.env @@ -2097,12 +2512,18 @@ let (cast_info_list_to_propositions : fun ge -> fun ls -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (348)) (Prims.of_int (12)) (Prims.of_int (348)) - (Prims.of_int (53))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (349)) (Prims.of_int (2)) (Prims.of_int (349)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (348)) (Prims.of_int (12)) + (Prims.of_int (348)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (349)) (Prims.of_int (2)) + (Prims.of_int (349)) (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Util.map (cast_info_to_propositions dbg ge) ls)) (fun lsl1 -> @@ -2132,12 +2553,18 @@ let (compute_pre_type : fun e -> fun pre -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (367)) (Prims.of_int (2)) (Prims.of_int (367)) - (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (368)) (Prims.of_int (2)) (Prims.of_int (385)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (367)) (Prims.of_int (2)) + (Prims.of_int (367)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (368)) (Prims.of_int (2)) + (Prims.of_int (385)) (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> compute_pre_type")) @@ -2145,14 +2572,18 @@ let (compute_pre_type : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (368)) (Prims.of_int (8)) - (Prims.of_int (368)) (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (368)) (Prims.of_int (2)) - (Prims.of_int (385)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (368)) (Prims.of_int (8)) + (Prims.of_int (368)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (368)) (Prims.of_int (2)) + (Prims.of_int (385)) (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_tc e pre)) (fun uu___1 -> @@ -2161,18 +2592,22 @@ let (compute_pre_type : | FStar_Pervasives_Native.None -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (370)) - (Prims.of_int (4)) - (Prims.of_int (370)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (371)) - (Prims.of_int (4)) - (Prims.of_int (371)) - (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (370)) + (Prims.of_int (4)) + (Prims.of_int (370)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (371)) + (Prims.of_int (4)) + (Prims.of_int (371)) + (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "safe_tc failed")) @@ -2182,18 +2617,22 @@ let (compute_pre_type : | FStar_Pervasives_Native.Some ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (373)) - (Prims.of_int (4)) - (Prims.of_int (373)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (373)) - (Prims.of_int (38)) - (Prims.of_int (385)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (373)) + (Prims.of_int (4)) + (Prims.of_int (373)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (373)) + (Prims.of_int (38)) + (Prims.of_int (385)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "safe_tc succeeded")) @@ -2201,20 +2640,24 @@ let (compute_pre_type : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (374)) - (Prims.of_int (17)) - (Prims.of_int (374)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (373)) - (Prims.of_int (38)) - (Prims.of_int (385)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (374)) + (Prims.of_int (17)) + (Prims.of_int (374)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (373)) + (Prims.of_int (38)) + (Prims.of_int (385)) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_arr_bs + (FStar_Tactics_V1_SyntaxHelpers.collect_arr_bs ty)) (fun uu___3 -> (fun uu___3 -> @@ -2222,18 +2665,24 @@ let (compute_pre_type : | (brs, c) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (375)) - (Prims.of_int (4)) - (Prims.of_int (375)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (376)) - (Prims.of_int (4)) - (Prims.of_int (385)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (375)) + (Prims.of_int (4)) + (Prims.of_int (375)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (376)) + (Prims.of_int (4)) + (Prims.of_int (385)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2256,18 +2705,22 @@ let (compute_pre_type : true) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (378)) (Prims.of_int (6)) (Prims.of_int (378)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (379)) (Prims.of_int (6)) (Prims.of_int (379)) - (Prims.of_int (13))) + (Prims.of_int (13))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2283,49 +2736,61 @@ let (compute_pre_type : true) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (381)) (Prims.of_int (6)) (Prims.of_int (381)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (382)) (Prims.of_int (6)) (Prims.of_int (382)) - (Prims.of_int (33))) + (Prims.of_int (33))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (381)) (Prims.of_int (20)) (Prims.of_int (381)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (381)) (Prims.of_int (6)) (Prims.of_int (381)) - (Prims.of_int (71))) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (381)) (Prims.of_int (35)) (Prims.of_int (381)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string - (FStar_Reflection_Derived.type_of_binder + (FStar_Tactics_V1_Builtins.term_to_string + (FStar_Reflection_V1_Derived.type_of_binder b))) (fun uu___5 -> @@ -2350,24 +2815,28 @@ let (compute_pre_type : (fun uu___6 -> PP_State - (FStar_Reflection_Derived.type_of_binder + (FStar_Reflection_V1_Derived.type_of_binder b)))) | uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (384)) (Prims.of_int (6)) (Prims.of_int (384)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (385)) (Prims.of_int (6)) (Prims.of_int (385)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2387,17 +2856,22 @@ let (opt_remove_refin : = fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (389)) (Prims.of_int (8)) (Prims.of_int (389)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (389)) (Prims.of_int (2)) (Prims.of_int (391)) - (Prims.of_int (11))) (Obj.magic (FStar_Tactics_Builtins.inspect ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (389)) (Prims.of_int (8)) (Prims.of_int (389)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (389)) (Prims.of_int (2)) (Prims.of_int (391)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Data.Tv_Refine (uu___2, sort, uu___3) -> + | FStar_Reflection_V1_Data.Tv_Refine (uu___2, sort, uu___3) -> sort | uu___2 -> ty)) let (compute_post_type : @@ -2412,12 +2886,18 @@ let (compute_post_type : fun ret_type -> fun post -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (395)) (Prims.of_int (2)) (Prims.of_int (395)) - (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (395)) (Prims.of_int (39)) (Prims.of_int (443)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (395)) (Prims.of_int (2)) + (Prims.of_int (395)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (395)) (Prims.of_int (39)) + (Prims.of_int (443)) (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> compute_post_type")) @@ -2425,14 +2905,18 @@ let (compute_post_type : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (397)) (Prims.of_int (4)) - (Prims.of_int (399)) (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (401)) (Prims.of_int (2)) - (Prims.of_int (443)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (397)) (Prims.of_int (4)) + (Prims.of_int (399)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (401)) (Prims.of_int (2)) + (Prims.of_int (443)) (Prims.of_int (16))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> fun uu___1 -> @@ -2445,20 +2929,24 @@ let (compute_post_type : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (398)) - (Prims.of_int (26)) - (Prims.of_int (398)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (398)) - (Prims.of_int (21)) - (Prims.of_int (398)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (398)) + (Prims.of_int (26)) + (Prims.of_int (398)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (398)) + (Prims.of_int (21)) + (Prims.of_int (398)) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ret_ty)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -2476,14 +2964,22 @@ let (compute_post_type : (fun get_tot_ret_type -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (401)) (Prims.of_int (8)) - (Prims.of_int (401)) (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (401)) (Prims.of_int (2)) - (Prims.of_int (443)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (401)) + (Prims.of_int (8)) + (Prims.of_int (401)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (401)) + (Prims.of_int (2)) + (Prims.of_int (443)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_tc e post)) @@ -2493,18 +2989,22 @@ let (compute_post_type : | FStar_Pervasives_Native.None -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (403)) - (Prims.of_int (4)) - (Prims.of_int (403)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (404)) - (Prims.of_int (4)) - (Prims.of_int (404)) - (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (403)) + (Prims.of_int (4)) + (Prims.of_int (403)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (404)) + (Prims.of_int (4)) + (Prims.of_int (404)) + (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "safe_tc failed")) @@ -2515,18 +3015,22 @@ let (compute_post_type : | FStar_Pervasives_Native.Some ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (406)) - (Prims.of_int (4)) - (Prims.of_int (406)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (406)) - (Prims.of_int (38)) - (Prims.of_int (443)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (406)) + (Prims.of_int (4)) + (Prims.of_int (406)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (406)) + (Prims.of_int (38)) + (Prims.of_int (443)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2535,20 +3039,24 @@ let (compute_post_type : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (407)) - (Prims.of_int (17)) - (Prims.of_int (407)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (406)) - (Prims.of_int (38)) - (Prims.of_int (443)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (407)) + (Prims.of_int (17)) + (Prims.of_int (407)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (406)) + (Prims.of_int (38)) + (Prims.of_int (443)) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_arr_bs + (FStar_Tactics_V1_SyntaxHelpers.collect_arr_bs ty)) (fun uu___3 -> (fun uu___3 -> @@ -2558,18 +3066,22 @@ let (compute_post_type : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (408)) (Prims.of_int (4)) (Prims.of_int (408)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (409)) (Prims.of_int (4)) (Prims.of_int (443)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2592,18 +3104,22 @@ let (compute_post_type : true) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (412)) (Prims.of_int (6)) (Prims.of_int (412)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (413)) (Prims.of_int (6)) (Prims.of_int (413)) - (Prims.of_int (13))) + (Prims.of_int (13))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2619,22 +3135,26 @@ let (compute_post_type : true) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (416)) (Prims.of_int (17)) (Prims.of_int (416)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (416)) (Prims.of_int (36)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> - FStar_Reflection_Derived.type_of_binder + FStar_Reflection_V1_Derived.type_of_binder r)) (fun uu___5 -> @@ -2642,22 +3162,26 @@ let (compute_post_type : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (417)) (Prims.of_int (18)) (Prims.of_int (417)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (417)) (Prims.of_int (38)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> - FStar_Reflection_Derived.type_of_binder + FStar_Reflection_V1_Derived.type_of_binder s1)) (fun uu___5 -> @@ -2665,21 +3189,25 @@ let (compute_post_type : s1_ty -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (421)) (Prims.of_int (18)) (Prims.of_int (421)) - (Prims.of_int (54))) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (421)) (Prims.of_int (57)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (opt_remove_refin - (FStar_Reflection_Derived.type_of_binder + (FStar_Reflection_V1_Derived.type_of_binder s2))) (fun uu___5 -> @@ -2687,18 +3215,22 @@ let (compute_post_type : s2_ty -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (422)) (Prims.of_int (24)) (Prims.of_int (422)) - (Prims.of_int (45))) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (422)) (Prims.of_int (48)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (term_eq ret_type @@ -2710,18 +3242,22 @@ let (compute_post_type : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (423)) (Prims.of_int (26)) (Prims.of_int (423)) - (Prims.of_int (45))) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (6)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (term_eq s1_ty @@ -2733,62 +3269,78 @@ let (compute_post_type : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (6)) (Prims.of_int (425)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (6)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (20)) (Prims.of_int (425)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (6)) (Prims.of_int (425)) - (Prims.of_int (59))) + (Prims.of_int (59))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (50)) (Prims.of_int (425)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (50)) (Prims.of_int (424)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (424)) (Prims.of_int (50)) (Prims.of_int (425)) - (Prims.of_int (58))) + (Prims.of_int (58))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ret_type)) (fun uu___5 -> @@ -2796,34 +3348,42 @@ let (compute_post_type : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (425)) (Prims.of_int (21)) (Prims.of_int (425)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (425)) (Prims.of_int (39)) (Prims.of_int (425)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string r_ty)) (fun uu___6 -> @@ -2865,62 +3425,78 @@ let (compute_post_type : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (6)) (Prims.of_int (427)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (428)) (Prims.of_int (6)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (20)) (Prims.of_int (427)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (6)) (Prims.of_int (427)) - (Prims.of_int (61))) + (Prims.of_int (61))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (54)) (Prims.of_int (427)) - (Prims.of_int (60))) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (54)) (Prims.of_int (426)) - (Prims.of_int (74))) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (426)) (Prims.of_int (54)) (Prims.of_int (427)) - (Prims.of_int (60))) + (Prims.of_int (60))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string s1_ty)) (fun uu___6 -> @@ -2928,34 +3504,42 @@ let (compute_post_type : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (427)) (Prims.of_int (21)) (Prims.of_int (427)) - (Prims.of_int (60))) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (427)) (Prims.of_int (40)) (Prims.of_int (427)) - (Prims.of_int (60))) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string s2_ty)) (fun uu___7 -> @@ -2997,18 +3581,22 @@ let (compute_post_type : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (428)) (Prims.of_int (6)) (Prims.of_int (428)) - (Prims.of_int (74))) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (429)) (Prims.of_int (6)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3022,18 +3610,22 @@ let (compute_post_type : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (429)) (Prims.of_int (6)) (Prims.of_int (429)) - (Prims.of_int (79))) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (430)) (Prims.of_int (6)) (Prims.of_int (440)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3052,49 +3644,61 @@ let (compute_post_type : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (433)) (Prims.of_int (8)) (Prims.of_int (433)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (434)) (Prims.of_int (8)) (Prims.of_int (434)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (433)) (Prims.of_int (22)) (Prims.of_int (433)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (433)) (Prims.of_int (8)) (Prims.of_int (433)) - (Prims.of_int (71))) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (433)) (Prims.of_int (36)) (Prims.of_int (433)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string - (FStar_Reflection_Derived.type_of_binder + (FStar_Tactics_V1_Builtins.term_to_string + (FStar_Reflection_V1_Derived.type_of_binder s1))) (fun uu___9 -> @@ -3121,23 +3725,27 @@ let (compute_post_type : uu___10 -> PP_State - (FStar_Reflection_Derived.type_of_binder + (FStar_Reflection_V1_Derived.type_of_binder s1)))) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (438)) (Prims.of_int (8)) (Prims.of_int (438)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (439)) (Prims.of_int (8)) (Prims.of_int (439)) - (Prims.of_int (18))) + (Prims.of_int (18))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3163,18 +3771,22 @@ let (compute_post_type : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (442)) (Prims.of_int (6)) (Prims.of_int (442)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (443)) (Prims.of_int (6)) (Prims.of_int (443)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3203,12 +3815,18 @@ let (check_pre_post_type : fun ret_type -> fun post -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (447)) (Prims.of_int (2)) (Prims.of_int (447)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) (Prims.of_int (2)) (Prims.of_int (457)) - (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (447)) (Prims.of_int (2)) + (Prims.of_int (447)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (448)) (Prims.of_int (2)) + (Prims.of_int (457)) (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> check_pre_post_type")) @@ -3216,41 +3834,57 @@ let (check_pre_post_type : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) (Prims.of_int (8)) - (Prims.of_int (448)) (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) (Prims.of_int (2)) - (Prims.of_int (457)) (Prims.of_int (14))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (448)) (Prims.of_int (8)) - (Prims.of_int (448)) (Prims.of_int (34))) + (Prims.of_int (448)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) (Prims.of_int (8)) - (Prims.of_int (448)) (Prims.of_int (73))) + (Prims.of_int (448)) (Prims.of_int (2)) + (Prims.of_int (457)) (Prims.of_int (14))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (448)) + (Prims.of_int (8)) + (Prims.of_int (448)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (448)) + (Prims.of_int (8)) + (Prims.of_int (448)) + (Prims.of_int (73))))) (Obj.magic (compute_pre_type dbg e pre)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) - (Prims.of_int (36)) - (Prims.of_int (448)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (448)) - (Prims.of_int (8)) - (Prims.of_int (448)) - (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (448)) + (Prims.of_int (36)) + (Prims.of_int (448)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (448)) + (Prims.of_int (8)) + (Prims.of_int (448)) + (Prims.of_int (73))))) (Obj.magic (compute_post_type dbg e ret_type post)) @@ -3264,18 +3898,22 @@ let (check_pre_post_type : | (PP_Pure, PP_Pure) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (450)) - (Prims.of_int (4)) - (Prims.of_int (450)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (451)) - (Prims.of_int (4)) - (Prims.of_int (451)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (450)) + (Prims.of_int (4)) + (Prims.of_int (450)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (451)) + (Prims.of_int (4)) + (Prims.of_int (451)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "PP_Pure, PP_Pure")) @@ -3285,18 +3923,22 @@ let (check_pre_post_type : | (PP_State ty1, PP_State ty2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (453)) - (Prims.of_int (4)) - (Prims.of_int (453)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (454)) - (Prims.of_int (4)) - (Prims.of_int (454)) - (Prims.of_int (56))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (453)) + (Prims.of_int (4)) + (Prims.of_int (453)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (454)) + (Prims.of_int (4)) + (Prims.of_int (454)) + (Prims.of_int (56))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "PP_State, PP_State")) @@ -3304,18 +3946,22 @@ let (check_pre_post_type : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (454)) - (Prims.of_int (7)) - (Prims.of_int (454)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (454)) - (Prims.of_int (4)) - (Prims.of_int (454)) - (Prims.of_int (56))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (454)) + (Prims.of_int (7)) + (Prims.of_int (454)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (454)) + (Prims.of_int (4)) + (Prims.of_int (454)) + (Prims.of_int (56))))) (Obj.magic (term_eq ty1 ty2)) (fun uu___3 -> @@ -3328,18 +3974,22 @@ let (check_pre_post_type : | uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (456)) - (Prims.of_int (4)) - (Prims.of_int (456)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (457)) - (Prims.of_int (4)) - (Prims.of_int (457)) - (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (456)) + (Prims.of_int (4)) + (Prims.of_int (456)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (457)) + (Prims.of_int (4)) + (Prims.of_int (457)) + (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "_, _")) @@ -3362,12 +4012,18 @@ let (check_opt_pre_post_type : fun ret_type -> fun opt_post -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (461)) (Prims.of_int (2)) (Prims.of_int (461)) - (Prims.of_int (44))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (462)) (Prims.of_int (2)) (Prims.of_int (474)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (461)) (Prims.of_int (2)) + (Prims.of_int (461)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (462)) (Prims.of_int (2)) + (Prims.of_int (474)) (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> check_opt_pre_post_type")) @@ -3378,14 +4034,20 @@ let (check_opt_pre_post_type : FStar_Pervasives_Native.Some post) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (464)) (Prims.of_int (4)) - (Prims.of_int (464)) (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (465)) (Prims.of_int (4)) - (Prims.of_int (465)) (Prims.of_int (54))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (464)) (Prims.of_int (4)) + (Prims.of_int (464)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (465)) (Prims.of_int (4)) + (Prims.of_int (465)) + (Prims.of_int (54))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "Some pre, Some post")) @@ -3393,18 +4055,22 @@ let (check_opt_pre_post_type : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (465)) - (Prims.of_int (9)) - (Prims.of_int (465)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (465)) - (Prims.of_int (4)) - (Prims.of_int (465)) - (Prims.of_int (54))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (465)) + (Prims.of_int (9)) + (Prims.of_int (465)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (465)) + (Prims.of_int (4)) + (Prims.of_int (465)) + (Prims.of_int (54))))) (Obj.magic (check_pre_post_type dbg e pre ret_type post)) @@ -3417,14 +4083,20 @@ let (check_opt_pre_post_type : FStar_Pervasives_Native.None) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (467)) (Prims.of_int (4)) - (Prims.of_int (467)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (468)) (Prims.of_int (4)) - (Prims.of_int (468)) (Prims.of_int (37))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (467)) (Prims.of_int (4)) + (Prims.of_int (467)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (468)) (Prims.of_int (4)) + (Prims.of_int (468)) + (Prims.of_int (37))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "Some pre, None")) @@ -3432,18 +4104,22 @@ let (check_opt_pre_post_type : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (468)) - (Prims.of_int (9)) - (Prims.of_int (468)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (468)) - (Prims.of_int (4)) - (Prims.of_int (468)) - (Prims.of_int (37))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (468)) + (Prims.of_int (9)) + (Prims.of_int (468)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (468)) + (Prims.of_int (4)) + (Prims.of_int (468)) + (Prims.of_int (37))))) (Obj.magic (compute_pre_type dbg e pre)) (fun uu___2 -> @@ -3455,14 +4131,20 @@ let (check_opt_pre_post_type : FStar_Pervasives_Native.Some post) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (470)) (Prims.of_int (4)) - (Prims.of_int (470)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (471)) (Prims.of_int (4)) - (Prims.of_int (471)) (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (470)) (Prims.of_int (4)) + (Prims.of_int (470)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (471)) (Prims.of_int (4)) + (Prims.of_int (471)) + (Prims.of_int (48))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "None, Some post")) @@ -3470,18 +4152,22 @@ let (check_opt_pre_post_type : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (471)) - (Prims.of_int (9)) - (Prims.of_int (471)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (471)) - (Prims.of_int (4)) - (Prims.of_int (471)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (471)) + (Prims.of_int (9)) + (Prims.of_int (471)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (471)) + (Prims.of_int (4)) + (Prims.of_int (471)) + (Prims.of_int (48))))) (Obj.magic (compute_post_type dbg e ret_type post)) @@ -3494,14 +4180,19 @@ let (check_opt_pre_post_type : FStar_Pervasives_Native.None) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (473)) (Prims.of_int (4)) - (Prims.of_int (473)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (474)) (Prims.of_int (4)) - (Prims.of_int (474)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (473)) (Prims.of_int (4)) + (Prims.of_int (473)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (474)) (Prims.of_int (4)) + (Prims.of_int (474)) (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "None, None")) @@ -3520,53 +4211,73 @@ let rec (_introduce_variables_for_abs : fun ge -> fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (478)) (Prims.of_int (8)) (Prims.of_int (478)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (478)) (Prims.of_int (2)) (Prims.of_int (489)) - (Prims.of_int (18))) - (Obj.magic (FStar_Tactics_Builtins.inspect ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (478)) (Prims.of_int (8)) (Prims.of_int (478)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (478)) (Prims.of_int (2)) (Prims.of_int (489)) + (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (480)) (Prims.of_int (18)) - (Prims.of_int (480)) (Prims.of_int (88))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (479)) (Prims.of_int (19)) - (Prims.of_int (488)) (Prims.of_int (7))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (480)) (Prims.of_int (44)) - (Prims.of_int (480)) (Prims.of_int (69))) + (Prims.of_int (480)) (Prims.of_int (18)) + (Prims.of_int (480)) (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (480)) (Prims.of_int (18)) - (Prims.of_int (480)) (Prims.of_int (88))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (479)) (Prims.of_int (19)) + (Prims.of_int (488)) (Prims.of_int (7))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (480)) + (Prims.of_int (44)) + (Prims.of_int (480)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (480)) - (Prims.of_int (52)) + (Prims.of_int (18)) (Prims.of_int (480)) - (Prims.of_int (68))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (88))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (480)) + (Prims.of_int (52)) + (Prims.of_int (480)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder + (FStar_Tactics_V1_Derived.name_of_binder b)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -3577,7 +4288,7 @@ let rec (_introduce_variables_for_abs : Obj.magic (FStar_InteractiveHelpers_Base.genv_push_fresh_binder ge uu___1 - (FStar_Reflection_Derived.type_of_binder + (FStar_Reflection_V1_Derived.type_of_binder b))) uu___1))) (fun uu___1 -> (fun uu___1 -> @@ -3585,41 +4296,49 @@ let rec (_introduce_variables_for_abs : | (ge1, b1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (481)) - (Prims.of_int (14)) - (Prims.of_int (481)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (481)) - (Prims.of_int (32)) - (Prims.of_int (488)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (481)) + (Prims.of_int (14)) + (Prims.of_int (481)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (481)) + (Prims.of_int (32)) + (Prims.of_int (488)) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Derived.bv_of_binder + FStar_Reflection_V1_Derived.bv_of_binder b1)) (fun uu___2 -> (fun bv1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (482)) - (Prims.of_int (13)) - (Prims.of_int (482)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (483)) - (Prims.of_int (10)) - (Prims.of_int (487)) - (Prims.of_int (29))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (482)) + (Prims.of_int (13)) + (Prims.of_int (482)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (483)) + (Prims.of_int (10)) + (Prims.of_int (487)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv1))) (fun uu___2 -> (fun v1 -> @@ -3631,18 +4350,22 @@ let rec (_introduce_variables_for_abs : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (485)) (Prims.of_int (24)) (Prims.of_int (485)) - (Prims.of_int (60))) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (484)) (Prims.of_int (17)) (Prims.of_int (486)) - (Prims.of_int (29))) + (Prims.of_int (29))))) (Obj.magic (_introduce_variables_for_abs ge1 ty1)) @@ -3688,12 +4411,16 @@ let (introduce_variables_for_abs : fun ge -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (493)) (Prims.of_int (8)) (Prims.of_int (493)) - (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (493)) (Prims.of_int (2)) (Prims.of_int (495)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (493)) (Prims.of_int (8)) (Prims.of_int (493)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (493)) (Prims.of_int (2)) (Prims.of_int (495)) + (Prims.of_int (22))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_tc ge.FStar_InteractiveHelpers_Base.env tm)) @@ -3747,30 +4474,44 @@ let (is_st_get : fun dbg -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (511)) (Prims.of_int (2)) (Prims.of_int (511)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (512)) (Prims.of_int (2)) (Prims.of_int (525)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (511)) (Prims.of_int (16)) - (Prims.of_int (511)) (Prims.of_int (54))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (511)) (Prims.of_int (2)) (Prims.of_int (511)) - (Prims.of_int (54))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (512)) (Prims.of_int (2)) (Prims.of_int (525)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (511)) (Prims.of_int (16)) + (Prims.of_int (511)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (511)) (Prims.of_int (37)) - (Prims.of_int (511)) (Prims.of_int (53))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string t)) + (Prims.of_int (511)) (Prims.of_int (2)) + (Prims.of_int (511)) (Prims.of_int (54))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (511)) (Prims.of_int (37)) + (Prims.of_int (511)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "[> is_st_get:\n" uu___)))) @@ -3783,29 +4524,41 @@ let (is_st_get : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (512)) (Prims.of_int (8)) - (Prims.of_int (512)) (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (512)) (Prims.of_int (2)) - (Prims.of_int (525)) (Prims.of_int (9))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (512)) (Prims.of_int (8)) + (Prims.of_int (512)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (512)) (Prims.of_int (2)) + (Prims.of_int (525)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_App (hd, (a, qual)) -> + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qual)) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (514)) (Prims.of_int (4)) - (Prims.of_int (514)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (515)) (Prims.of_int (10)) - (Prims.of_int (521)) (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (514)) + (Prims.of_int (4)) + (Prims.of_int (514)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (515)) + (Prims.of_int (10)) + (Prims.of_int (521)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "-> Is Tv_App")) @@ -3813,46 +4566,54 @@ let (is_st_get : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (515)) - (Prims.of_int (16)) - (Prims.of_int (515)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (515)) - (Prims.of_int (10)) - (Prims.of_int (521)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (515)) + (Prims.of_int (16)) + (Prims.of_int (515)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (515)) + (Prims.of_int (10)) + (Prims.of_int (521)) + (Prims.of_int (11))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect hd)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Tv_FVar + | FStar_Reflection_V1_Data.Tv_FVar fv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (517)) - (Prims.of_int (6)) - (Prims.of_int (517)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (518)) - (Prims.of_int (6)) - (Prims.of_int (518)) - (Prims.of_int (56))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (517)) + (Prims.of_int (6)) + (Prims.of_int (517)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (518)) + (Prims.of_int (6)) + (Prims.of_int (518)) + (Prims.of_int (56))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg (Prims.strcat "-> Head is Tv_FVar: " - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V1_Derived.fv_to_string fv)))) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -3867,18 +4628,22 @@ let (is_st_get : | uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (520)) - (Prims.of_int (6)) - (Prims.of_int (520)) - (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (521)) - (Prims.of_int (6)) - (Prims.of_int (521)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (520)) + (Prims.of_int (6)) + (Prims.of_int (520)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (521)) + (Prims.of_int (6)) + (Prims.of_int (521)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3891,14 +4656,22 @@ let (is_st_get : | uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (524)) (Prims.of_int (4)) - (Prims.of_int (524)) (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (525)) (Prims.of_int (4)) - (Prims.of_int (525)) (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (524)) + (Prims.of_int (4)) + (Prims.of_int (524)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (525)) + (Prims.of_int (4)) + (Prims.of_int (525)) + (Prims.of_int (9))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "-> Is not Tv_App")) @@ -3908,7 +4681,7 @@ let (is_st_get : uu___) let (is_let_st_get : Prims.bool -> - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> ((FStar_Reflection_Types.bv * FStar_Reflection_Types.typ) FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) @@ -3916,44 +4689,62 @@ let (is_let_st_get : fun dbg -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (528)) (Prims.of_int (2)) (Prims.of_int (528)) - (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (529)) (Prims.of_int (2)) (Prims.of_int (535)) - (Prims.of_int (8))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (528)) (Prims.of_int (16)) - (Prims.of_int (528)) (Prims.of_int (58))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (528)) (Prims.of_int (2)) (Prims.of_int (528)) - (Prims.of_int (58))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (529)) (Prims.of_int (2)) (Prims.of_int (535)) + (Prims.of_int (8))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (528)) (Prims.of_int (41)) - (Prims.of_int (528)) (Prims.of_int (57))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (527)) (Prims.of_int (23)) - (Prims.of_int (527)) (Prims.of_int (24))) + (Prims.of_int (528)) (Prims.of_int (16)) + (Prims.of_int (528)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (528)) (Prims.of_int (2)) + (Prims.of_int (528)) (Prims.of_int (58))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (528)) (Prims.of_int (41)) - (Prims.of_int (528)) (Prims.of_int (57))) - (Obj.magic (FStar_Tactics_Builtins.pack t)) + (Prims.of_int (528)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (527)) (Prims.of_int (23)) + (Prims.of_int (527)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (528)) (Prims.of_int (41)) + (Prims.of_int (528)) (Prims.of_int (57))))) + (Obj.magic (FStar_Tactics_V1_Builtins.pack t)) (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string uu___)) uu___))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -3967,18 +4758,22 @@ let (is_let_st_get : (fun uu___ -> (fun uu___ -> match t with - | FStar_Reflection_Data.Tv_Let (recf, attrs, bv, ty, def, body) - -> + | FStar_Reflection_V1_Data.Tv_Let + (recf, attrs, bv, ty, def, body) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (531)) (Prims.of_int (4)) - (Prims.of_int (531)) (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (532)) (Prims.of_int (4)) - (Prims.of_int (532)) (Prims.of_int (53))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (531)) (Prims.of_int (4)) + (Prims.of_int (531)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (532)) (Prims.of_int (4)) + (Prims.of_int (532)) (Prims.of_int (53))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "The term is a let expression")) @@ -3986,14 +4781,22 @@ let (is_let_st_get : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (532)) (Prims.of_int (7)) - (Prims.of_int (532)) (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (532)) (Prims.of_int (4)) - (Prims.of_int (532)) (Prims.of_int (53))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (532)) + (Prims.of_int (7)) + (Prims.of_int (532)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (532)) + (Prims.of_int (4)) + (Prims.of_int (532)) + (Prims.of_int (53))))) (Obj.magic (is_st_get dbg def)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -4007,14 +4810,18 @@ let (is_let_st_get : | uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (534)) (Prims.of_int (4)) - (Prims.of_int (534)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (535)) (Prims.of_int (4)) - (Prims.of_int (535)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (534)) (Prims.of_int (4)) + (Prims.of_int (534)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (535)) (Prims.of_int (4)) + (Prims.of_int (535)) (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "The term is not a let expression")) @@ -4033,12 +4840,18 @@ let (term_has_effectful_comp : fun e -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (547)) (Prims.of_int (2)) (Prims.of_int (547)) - (Prims.of_int (44))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (547)) (Prims.of_int (45)) (Prims.of_int (555)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (547)) (Prims.of_int (2)) + (Prims.of_int (547)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (547)) (Prims.of_int (45)) + (Prims.of_int (555)) (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> term_has_effectful_comp")) @@ -4046,14 +4859,18 @@ let (term_has_effectful_comp : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (548)) (Prims.of_int (18)) - (Prims.of_int (548)) (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (549)) (Prims.of_int (2)) - (Prims.of_int (555)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (548)) (Prims.of_int (18)) + (Prims.of_int (548)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (549)) (Prims.of_int (2)) + (Prims.of_int (555)) (Prims.of_int (8))))) (Obj.magic (compute_effect_info dbg e tm)) (fun uu___1 -> (fun einfo_opt -> @@ -4061,18 +4878,22 @@ let (term_has_effectful_comp : | FStar_Pervasives_Native.Some einfo -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (551)) - (Prims.of_int (4)) - (Prims.of_int (551)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (552)) - (Prims.of_int (4)) - (Prims.of_int (552)) - (Prims.of_int (50))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (551)) + (Prims.of_int (4)) + (Prims.of_int (551)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (552)) + (Prims.of_int (4)) + (Prims.of_int (552)) + (Prims.of_int (50))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4089,18 +4910,22 @@ let (term_has_effectful_comp : | FStar_Pervasives_Native.None -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (554)) - (Prims.of_int (4)) - (Prims.of_int (554)) - (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (555)) - (Prims.of_int (4)) - (Prims.of_int (555)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (554)) + (Prims.of_int (4)) + (Prims.of_int (554)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (555)) + (Prims.of_int (4)) + (Prims.of_int (555)) + (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "Could not compute effect info")) @@ -4112,31 +4937,41 @@ let (term_has_effectful_comp : let (related_term_is_effectul : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun dbg -> fun ge -> fun tv -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (567)) (Prims.of_int (4)) (Prims.of_int (567)) - (Prims.of_int (55))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (569)) (Prims.of_int (2)) (Prims.of_int (591)) - (Prims.of_int (45))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (567)) (Prims.of_int (4)) + (Prims.of_int (567)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (569)) (Prims.of_int (2)) + (Prims.of_int (591)) (Prims.of_int (45))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (567)) (Prims.of_int (4)) - (Prims.of_int (567)) (Prims.of_int (41))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (567)) (Prims.of_int (4)) - (Prims.of_int (567)) (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (567)) (Prims.of_int (4)) + (Prims.of_int (567)) (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (567)) (Prims.of_int (4)) + (Prims.of_int (567)) (Prims.of_int (55))))) (Obj.magic (term_has_effectful_comp dbg ge.FStar_InteractiveHelpers_Base.env tm)) @@ -4147,68 +4982,69 @@ let (related_term_is_effectul : (fun uu___ -> (fun is_effectful -> match tv with - | FStar_Reflection_Data.Tv_Var uu___ -> + | FStar_Reflection_V1_Data.Tv_Var uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_BVar uu___ -> + | FStar_Reflection_V1_Data.Tv_BVar uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_FVar uu___ -> + | FStar_Reflection_V1_Data.Tv_FVar uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_App (hd, (a, qual)) -> + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qual)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> false))) - | FStar_Reflection_Data.Tv_Abs (br, body) -> + | FStar_Reflection_V1_Data.Tv_Abs (br, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> false))) - | FStar_Reflection_Data.Tv_Arrow (br, c0) -> + | FStar_Reflection_V1_Data.Tv_Arrow (br, c0) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> false))) - | FStar_Reflection_Data.Tv_Type uu___ -> + | FStar_Reflection_V1_Data.Tv_Type uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_Refine (bv, sort, ref) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, ref) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> false))) - | FStar_Reflection_Data.Tv_Const uu___ -> + | FStar_Reflection_V1_Data.Tv_Const uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_Uvar (uu___, uu___1) -> + | FStar_Reflection_V1_Data.Tv_Uvar (uu___, uu___1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> false))) - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> Obj.magic (Obj.repr (is_effectful def)) - | FStar_Reflection_Data.Tv_Match + | FStar_Reflection_V1_Data.Tv_Match (scrutinee, _ret_opt, branches) -> Obj.magic (Obj.repr (is_effectful scrutinee)) - | FStar_Reflection_Data.Tv_AscribedT (e, ty, tac, uu___) -> + | FStar_Reflection_V1_Data.Tv_AscribedT (e, ty, tac, uu___) + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> false))) - | FStar_Reflection_Data.Tv_AscribedC (e, c, tac, uu___) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tac, uu___) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -4221,7 +5057,7 @@ let (related_term_is_effectul : let rec (find_mem_in_related : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_Reflection_Types.bv * FStar_Reflection_Types.typ) FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) @@ -4242,58 +5078,79 @@ let rec (find_mem_in_related : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (609)) (Prims.of_int (4)) - (Prims.of_int (609)) (Prims.of_int (67))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (610)) (Prims.of_int (4)) - (Prims.of_int (626)) (Prims.of_int (11))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (609)) (Prims.of_int (18)) - (Prims.of_int (609)) (Prims.of_int (67))) + (Prims.of_int (609)) (Prims.of_int (4)) + (Prims.of_int (609)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (609)) (Prims.of_int (4)) - (Prims.of_int (609)) (Prims.of_int (67))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (610)) (Prims.of_int (4)) + (Prims.of_int (626)) (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (609)) - (Prims.of_int (49)) + (Prims.of_int (18)) (Prims.of_int (609)) - (Prims.of_int (66))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (608)) - (Prims.of_int (4)) - (Prims.of_int (608)) - (Prims.of_int (6))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (609)) + (Prims.of_int (4)) + (Prims.of_int (609)) + (Prims.of_int (67))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (609)) (Prims.of_int (49)) (Prims.of_int (609)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (608)) + (Prims.of_int (4)) + (Prims.of_int (608)) + (Prims.of_int (6))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (609)) + (Prims.of_int (49)) + (Prims.of_int (609)) + (Prims.of_int (66))))) (Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack tv)) (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string uu___)) uu___))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -4310,18 +5167,22 @@ let rec (find_mem_in_related : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (610)) - (Prims.of_int (10)) - (Prims.of_int (610)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (610)) - (Prims.of_int (4)) - (Prims.of_int (626)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (610)) + (Prims.of_int (10)) + (Prims.of_int (610)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (610)) + (Prims.of_int (4)) + (Prims.of_int (626)) + (Prims.of_int (11))))) (Obj.magic (is_let_st_get dbg tv)) (fun uu___1 -> (fun uu___1 -> @@ -4330,18 +5191,22 @@ let rec (find_mem_in_related : bvt -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (612)) - (Prims.of_int (6)) - (Prims.of_int (612)) - (Prims.of_int (87))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (613)) - (Prims.of_int (6)) - (Prims.of_int (613)) - (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (612)) + (Prims.of_int (6)) + (Prims.of_int (612)) + (Prims.of_int (87))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (613)) + (Prims.of_int (6)) + (Prims.of_int (613)) + (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4354,18 +5219,22 @@ let rec (find_mem_in_related : | FStar_Pervasives_Native.None -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (615)) - (Prims.of_int (6)) - (Prims.of_int (615)) - (Prims.of_int (94))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (616)) - (Prims.of_int (6)) - (Prims.of_int (626)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (615)) + (Prims.of_int (6)) + (Prims.of_int (615)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (616)) + (Prims.of_int (6)) + (Prims.of_int (626)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4374,18 +5243,22 @@ let rec (find_mem_in_related : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (616)) - (Prims.of_int (9)) - (Prims.of_int (616)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (616)) - (Prims.of_int (6)) - (Prims.of_int (626)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (616)) + (Prims.of_int (9)) + (Prims.of_int (616)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (616)) + (Prims.of_int (6)) + (Prims.of_int (626)) + (Prims.of_int (11))))) (Obj.magic (related_term_is_effectul dbg ge tv)) @@ -4397,18 +5270,22 @@ let rec (find_mem_in_related : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (619)) (Prims.of_int (8)) (Prims.of_int (619)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (620)) (Prims.of_int (8)) (Prims.of_int (620)) - (Prims.of_int (12))) + (Prims.of_int (12))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4422,18 +5299,22 @@ let rec (find_mem_in_related : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (624)) (Prims.of_int (8)) (Prims.of_int (624)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (625)) (Prims.of_int (8)) (Prims.of_int (625)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4462,29 +5343,39 @@ let rec (find_mem_in_children : fun ge -> fun child -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (639)) (Prims.of_int (8)) (Prims.of_int (639)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (639)) (Prims.of_int (2)) (Prims.of_int (646)) - (Prims.of_int (17))) - (Obj.magic (FStar_Tactics_Builtins.inspect child)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (639)) (Prims.of_int (8)) + (Prims.of_int (639)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (639)) (Prims.of_int (2)) + (Prims.of_int (646)) (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect child)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (641)) (Prims.of_int (7)) - (Prims.of_int (641)) (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (641)) (Prims.of_int (4)) - (Prims.of_int (645)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (641)) (Prims.of_int (7)) + (Prims.of_int (641)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (641)) (Prims.of_int (4)) + (Prims.of_int (645)) (Prims.of_int (39))))) (Obj.magic (is_st_get dbg def)) (fun uu___1 -> (fun uu___1 -> @@ -4501,32 +5392,40 @@ let rec (find_mem_in_children : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (642)) - (Prims.of_int (12)) - (Prims.of_int (642)) - (Prims.of_int (64))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (642)) - (Prims.of_int (9)) - (Prims.of_int (645)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (642)) (Prims.of_int (12)) (Prims.of_int (642)) - (Prims.of_int (50))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (642)) - (Prims.of_int (12)) - (Prims.of_int (642)) - (Prims.of_int (64))) + (Prims.of_int (9)) + (Prims.of_int (645)) + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (642)) + (Prims.of_int (12)) + (Prims.of_int (642)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (642)) + (Prims.of_int (12)) + (Prims.of_int (642)) + (Prims.of_int (64))))) (Obj.magic (term_has_effectful_comp dbg @@ -4552,18 +5451,22 @@ let rec (find_mem_in_children : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (644)) - (Prims.of_int (16)) - (Prims.of_int (644)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (645)) - (Prims.of_int (6)) - (Prims.of_int (645)) - (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (644)) + (Prims.of_int (16)) + (Prims.of_int (644)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (645)) + (Prims.of_int (6)) + (Prims.of_int (645)) + (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_bv ge bv ty @@ -4593,8 +5496,8 @@ let (pre_post_to_propositions : FStar_InteractiveHelpers_ExploreTerm.type_info -> FStar_Reflection_Types.term FStar_Pervasives_Native.option -> FStar_Reflection_Types.term FStar_Pervasives_Native.option -> - FStar_Reflection_Data.term_view Prims.list -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_InteractiveHelpers_Base.genv * FStar_InteractiveHelpers_Propositions.proposition FStar_Pervasives_Native.option * @@ -4613,14 +5516,18 @@ let (pre_post_to_propositions : fun parents -> fun children -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (664)) (Prims.of_int (2)) - (Prims.of_int (664)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (665)) (Prims.of_int (2)) - (Prims.of_int (742)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (664)) (Prims.of_int (2)) + (Prims.of_int (664)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (665)) (Prims.of_int (2)) + (Prims.of_int (742)) (Prims.of_int (26))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> pre_post_to_propositions: begin")) @@ -4628,47 +5535,61 @@ let (pre_post_to_propositions : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (665)) (Prims.of_int (2)) - (Prims.of_int (665)) - (Prims.of_int (84))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (666)) (Prims.of_int (2)) - (Prims.of_int (742)) - (Prims.of_int (26))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (665)) - (Prims.of_int (16)) + (Prims.of_int (2)) (Prims.of_int (665)) - (Prims.of_int (84))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (665)) + (Prims.of_int (666)) (Prims.of_int (2)) - (Prims.of_int (665)) - (Prims.of_int (84))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (742)) + (Prims.of_int (26))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (665)) - (Prims.of_int (44)) + (Prims.of_int (16)) (Prims.of_int (665)) - (Prims.of_int (83))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (665)) + (Prims.of_int (2)) + (Prims.of_int (665)) + (Prims.of_int (84))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (665)) + (Prims.of_int (44)) + (Prims.of_int (665)) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string opt_pre)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -4685,49 +5606,61 @@ let (pre_post_to_propositions : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (666)) - (Prims.of_int (2)) - (Prims.of_int (666)) - (Prims.of_int (86))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (666)) - (Prims.of_int (87)) - (Prims.of_int (742)) - (Prims.of_int (26))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (666)) - (Prims.of_int (16)) + (Prims.of_int (2)) (Prims.of_int (666)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (666)) - (Prims.of_int (2)) - (Prims.of_int (666)) - (Prims.of_int (86))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (87)) + (Prims.of_int (742)) + (Prims.of_int (26))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (666)) - (Prims.of_int (45)) + (Prims.of_int (16)) (Prims.of_int (666)) - (Prims.of_int (85))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (666)) + (Prims.of_int (2)) + (Prims.of_int (666)) + (Prims.of_int (86))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (666)) + (Prims.of_int (45)) + (Prims.of_int (666)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string opt_post)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -4745,18 +5678,22 @@ let (pre_post_to_propositions : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (667)) - (Prims.of_int (12)) - (Prims.of_int (667)) - (Prims.of_int (66))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (667)) - (Prims.of_int (69)) - (Prims.of_int (742)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (667)) + (Prims.of_int (12)) + (Prims.of_int (667)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (667)) + (Prims.of_int (69)) + (Prims.of_int (742)) + (Prims.of_int (26))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> match ret_abs_binder @@ -4771,19 +5708,23 @@ let (pre_post_to_propositions : Obj.magic (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (670)) (Prims.of_int (4)) (Prims.of_int (724)) - (Prims.of_int (9))) + (Prims.of_int (9))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (667)) (Prims.of_int (69)) (Prims.of_int (742)) - (Prims.of_int (26))) + (Prims.of_int (26))))) ( match etype with @@ -4792,18 +5733,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (672)) (Prims.of_int (6)) (Prims.of_int (672)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (673)) (Prims.of_int (6)) (Prims.of_int (673)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4816,27 +5761,31 @@ let (pre_post_to_propositions : (ge0, ([], []), ([ - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)], + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)], []))))) | FStar_InteractiveHelpers_ExploreTerm.E_Total -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (675)) (Prims.of_int (6)) (Prims.of_int (675)) - (Prims.of_int (38))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (676)) (Prims.of_int (6)) (Prims.of_int (676)) - (Prims.of_int (29))) + (Prims.of_int (29))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4854,18 +5803,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (675)) (Prims.of_int (6)) (Prims.of_int (675)) - (Prims.of_int (38))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (676)) (Prims.of_int (6)) (Prims.of_int (676)) - (Prims.of_int (29))) + (Prims.of_int (29))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4883,18 +5836,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (678)) (Prims.of_int (6)) (Prims.of_int (678)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (679)) (Prims.of_int (6)) (Prims.of_int (679)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4913,18 +5870,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (678)) (Prims.of_int (6)) (Prims.of_int (678)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (679)) (Prims.of_int (6)) (Prims.of_int (679)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4943,18 +5904,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (681)) (Prims.of_int (6)) (Prims.of_int (681)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (6)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4965,18 +5930,22 @@ let (pre_post_to_propositions : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (6)) (Prims.of_int (683)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (67)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -4987,18 +5956,22 @@ let (pre_post_to_propositions : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (684)) (Prims.of_int (19)) (Prims.of_int (684)) - (Prims.of_int (54))) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (6)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (find_mem_in_related dbg ge0 @@ -5009,18 +5982,22 @@ let (pre_post_to_propositions : b1_opt -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (6)) (Prims.of_int (685)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (65)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5031,18 +6008,22 @@ let (pre_post_to_propositions : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (686)) (Prims.of_int (19)) (Prims.of_int (686)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (686)) (Prims.of_int (58)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (find_mem_in_related dbg ge0 @@ -5053,18 +6034,22 @@ let (pre_post_to_propositions : b2_opt -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (689)) (Prims.of_int (8)) (Prims.of_int (691)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (692)) (Prims.of_int (8)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -5082,21 +6067,25 @@ let (pre_post_to_propositions : (bv, ty) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (690)) (Prims.of_int (27)) (Prims.of_int (690)) - (Prims.of_int (43))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (690)) (Prims.of_int (27)) (Prims.of_int (690)) - (Prims.of_int (64))) + (Prims.of_int (64))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv))) (fun uu___7 -> @@ -5104,7 +6093,7 @@ let (pre_post_to_propositions : (fun uu___8 -> (uu___7, - (FStar_Reflection_Derived.mk_binder + (FStar_Reflection_V1_Derived.mk_binder bv ty), ge))) | @@ -5113,9 +6102,9 @@ let (pre_post_to_propositions : FStar_InteractiveHelpers_Base.genv_push_fresh_var ge basename - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Monotonic"; "HyperStack"; @@ -5127,18 +6116,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (693)) (Prims.of_int (24)) (Prims.of_int (693)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (692)) (Prims.of_int (8)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (opt_push_fresh_state b1_opt @@ -5155,18 +6148,22 @@ let (pre_post_to_propositions : ge1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (694)) (Prims.of_int (24)) (Prims.of_int (694)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (693)) (Prims.of_int (66)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (opt_push_fresh_state b2_opt @@ -5205,18 +6202,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (681)) (Prims.of_int (6)) (Prims.of_int (681)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (6)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5227,18 +6228,22 @@ let (pre_post_to_propositions : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (6)) (Prims.of_int (683)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (683)) (Prims.of_int (67)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5249,18 +6254,22 @@ let (pre_post_to_propositions : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (684)) (Prims.of_int (19)) (Prims.of_int (684)) - (Prims.of_int (54))) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (6)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (find_mem_in_related dbg ge0 @@ -5271,18 +6280,22 @@ let (pre_post_to_propositions : b1_opt -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (6)) (Prims.of_int (685)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (685)) (Prims.of_int (65)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5293,18 +6306,22 @@ let (pre_post_to_propositions : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (686)) (Prims.of_int (19)) (Prims.of_int (686)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (686)) (Prims.of_int (58)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (find_mem_in_related dbg ge0 @@ -5315,18 +6332,22 @@ let (pre_post_to_propositions : b2_opt -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (689)) (Prims.of_int (8)) (Prims.of_int (691)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (692)) (Prims.of_int (8)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -5344,21 +6365,25 @@ let (pre_post_to_propositions : (bv, ty) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (690)) (Prims.of_int (27)) (Prims.of_int (690)) - (Prims.of_int (43))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (690)) (Prims.of_int (27)) (Prims.of_int (690)) - (Prims.of_int (64))) + (Prims.of_int (64))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv))) (fun uu___7 -> @@ -5366,7 +6391,7 @@ let (pre_post_to_propositions : (fun uu___8 -> (uu___7, - (FStar_Reflection_Derived.mk_binder + (FStar_Reflection_V1_Derived.mk_binder bv ty), ge))) | @@ -5375,9 +6400,9 @@ let (pre_post_to_propositions : FStar_InteractiveHelpers_Base.genv_push_fresh_var ge basename - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Monotonic"; "HyperStack"; @@ -5389,18 +6414,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (693)) (Prims.of_int (24)) (Prims.of_int (693)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (692)) (Prims.of_int (8)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (opt_push_fresh_state b1_opt @@ -5417,18 +6446,22 @@ let (pre_post_to_propositions : ge1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (694)) (Prims.of_int (24)) (Prims.of_int (694)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (693)) (Prims.of_int (66)) (Prims.of_int (695)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (opt_push_fresh_state b2_opt @@ -5467,18 +6500,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (703)) (Prims.of_int (20)) (Prims.of_int (703)) - (Prims.of_int (84))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (704)) (Prims.of_int (12)) (Prims.of_int (723)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (check_opt_pre_post_type dbg @@ -5499,18 +6536,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (706)) (Prims.of_int (8)) (Prims.of_int (706)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (708)) (Prims.of_int (8)) (Prims.of_int (708)) - (Prims.of_int (33))) + (Prims.of_int (33))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5531,18 +6572,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (710)) (Prims.of_int (8)) (Prims.of_int (710)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (710)) (Prims.of_int (33)) (Prims.of_int (713)) - (Prims.of_int (78))) + (Prims.of_int (78))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5553,18 +6598,22 @@ let (pre_post_to_propositions : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (712)) (Prims.of_int (34)) (Prims.of_int (712)) - (Prims.of_int (79))) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (710)) (Prims.of_int (33)) (Prims.of_int (713)) - (Prims.of_int (78))) + (Prims.of_int (78))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_two_fresh_vars ge0 "__s" @@ -5598,18 +6647,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (715)) (Prims.of_int (8)) (Prims.of_int (715)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (715)) (Prims.of_int (35)) (Prims.of_int (719)) - (Prims.of_int (67))) + (Prims.of_int (67))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5620,18 +6673,22 @@ let (pre_post_to_propositions : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (717)) (Prims.of_int (43)) (Prims.of_int (717)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (715)) (Prims.of_int (35)) (Prims.of_int (719)) - (Prims.of_int (67))) + (Prims.of_int (67))))) (Obj.magic (introduce_variables_for_opt_abs ge0 @@ -5648,18 +6705,22 @@ let (pre_post_to_propositions : ge1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (718)) (Prims.of_int (45)) (Prims.of_int (718)) - (Prims.of_int (89))) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (717)) (Prims.of_int (89)) (Prims.of_int (719)) - (Prims.of_int (67))) + (Prims.of_int (67))))) (Obj.magic (introduce_variables_for_opt_abs ge1 @@ -5686,18 +6747,22 @@ let (pre_post_to_propositions : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (721)) (Prims.of_int (8)) (Prims.of_int (721)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (723)) (Prims.of_int (8)) (Prims.of_int (723)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5727,18 +6792,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (728)) (Prims.of_int (17)) (Prims.of_int (728)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (728)) (Prims.of_int (62)) (Prims.of_int (742)) - (Prims.of_int (26))) + (Prims.of_int (26))))) (Obj.magic (FStar_InteractiveHelpers_Base.opt_mk_app_norm ge3.FStar_InteractiveHelpers_Base.env @@ -5751,20 +6820,24 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (734)) (Prims.of_int (4)) (Prims.of_int (738)) - (Prims.of_int (10))) + (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (741)) (Prims.of_int (2)) (Prims.of_int (742)) - (Prims.of_int (26))) + (Prims.of_int (26))))) (Obj.magic - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V1_Derived.try_with (fun uu___4 -> match () @@ -5778,18 +6851,22 @@ let (pre_post_to_propositions : (fun uu___4 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (737)) (Prims.of_int (6)) (Prims.of_int (737)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (738)) (Prims.of_int (6)) (Prims.of_int (738)) - (Prims.of_int (10))) + (Prims.of_int (10))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5807,18 +6884,22 @@ let (pre_post_to_propositions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (741)) (Prims.of_int (2)) (Prims.of_int (741)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (742)) (Prims.of_int (2)) (Prims.of_int (742)) - (Prims.of_int (26))) + (Prims.of_int (26))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5849,8 +6930,8 @@ let (eterm_info_to_assertions : -> FStar_InteractiveHelpers_ExploreTerm.typ_or_comp FStar_Pervasives_Native.option -> - FStar_Reflection_Data.term_view Prims.list -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_InteractiveHelpers_Base.genv * FStar_InteractiveHelpers_Propositions.assertions), unit) FStar_Tactics_Effect.tac_repr) @@ -5868,14 +6949,18 @@ let (eterm_info_to_assertions : fun parents -> fun children -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (766)) (Prims.of_int (2)) - (Prims.of_int (766)) (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (766)) (Prims.of_int (46)) - (Prims.of_int (962)) (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (766)) (Prims.of_int (2)) + (Prims.of_int (766)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (766)) (Prims.of_int (46)) + (Prims.of_int (962)) (Prims.of_int (7))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> eterm_info_to_assertions")) @@ -5883,36 +6968,44 @@ let (eterm_info_to_assertions : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (771)) - (Prims.of_int (14)) - (Prims.of_int (771)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (771)) - (Prims.of_int (27)) - (Prims.of_int (962)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (771)) + (Prims.of_int (14)) + (Prims.of_int (771)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (771)) + (Prims.of_int (27)) + (Prims.of_int (962)) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> info.einfo)) (fun uu___1 -> (fun einfo -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (773)) - (Prims.of_int (4)) - (Prims.of_int (789)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Effectful.fst" - (Prims.of_int (771)) - (Prims.of_int (27)) - (Prims.of_int (962)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (773)) + (Prims.of_int (4)) + (Prims.of_int (789)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Effectful.fst" + (Prims.of_int (771)) + (Prims.of_int (27)) + (Prims.of_int (962)) + (Prims.of_int (7))))) (match bind_var with | FStar_Pervasives_Native.Some v -> @@ -5933,19 +7026,23 @@ let (eterm_info_to_assertions : Obj.repr (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (782)) (Prims.of_int (11)) (Prims.of_int (782)) - (Prims.of_int (44))) + (Prims.of_int (44))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (782)) (Prims.of_int (8)) (Prims.of_int (788)) - (Prims.of_int (53))) + (Prims.of_int (53))))) ( Obj.magic (FStar_InteractiveHelpers_ExploreTerm.is_unit_type @@ -5963,26 +7060,30 @@ let (eterm_info_to_assertions : (fun uu___2 -> (ge, - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)), + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), FStar_Pervasives_Native.None)))) else Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (785)) (Prims.of_int (18)) (Prims.of_int (785)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (785)) (Prims.of_int (69)) (Prims.of_int (788)) - (Prims.of_int (53))) + (Prims.of_int (53))))) (Obj.magic (FStar_InteractiveHelpers_Base.fresh_binder ge.FStar_InteractiveHelpers_Base.env @@ -5993,22 +7094,26 @@ let (eterm_info_to_assertions : (fun b -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (786)) (Prims.of_int (19)) (Prims.of_int (786)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (786)) (Prims.of_int (36)) (Prims.of_int (788)) - (Prims.of_int (53))) + (Prims.of_int (53))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Derived.bv_of_binder + FStar_Reflection_V1_Derived.bv_of_binder b)) (fun uu___3 -> @@ -6016,21 +7121,25 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (787)) (Prims.of_int (19)) (Prims.of_int (787)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (788)) (Prims.of_int (10)) (Prims.of_int (788)) - (Prims.of_int (53))) + (Prims.of_int (53))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv))) (fun uu___3 -> @@ -6038,18 +7147,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (788)) (Prims.of_int (10)) (Prims.of_int (788)) - (Prims.of_int (41))) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (788)) (Prims.of_int (10)) (Prims.of_int (788)) - (Prims.of_int (53))) + (Prims.of_int (53))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_binder ge b true @@ -6081,18 +7194,24 @@ let (eterm_info_to_assertions : | (ge0, v, opt_b) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (792)) (Prims.of_int (7)) (Prims.of_int (962)) - (Prims.of_int (7))) - (FStar_Range.mk_range + (Prims.of_int (7))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (792)) (Prims.of_int (7)) (Prims.of_int (962)) - (Prims.of_int (7))) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac ( fun @@ -6104,18 +7223,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (792)) (Prims.of_int (7)) (Prims.of_int (792)) - (Prims.of_int (53))) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (792)) (Prims.of_int (54)) (Prims.of_int (962)) - (Prims.of_int (7))) + (Prims.of_int (7))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -6126,18 +7249,22 @@ let (eterm_info_to_assertions : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (794)) (Prims.of_int (4)) (Prims.of_int (795)) - (Prims.of_int (72))) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (792)) (Prims.of_int (54)) (Prims.of_int (962)) - (Prims.of_int (7))) + (Prims.of_int (7))))) (Obj.magic (pre_post_to_propositions dbg ge0 @@ -6161,49 +7288,61 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (796)) (Prims.of_int (2)) (Prims.of_int (796)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (797)) (Prims.of_int (2)) (Prims.of_int (962)) - (Prims.of_int (7))) + (Prims.of_int (7))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (796)) (Prims.of_int (16)) (Prims.of_int (796)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (796)) (Prims.of_int (2)) (Prims.of_int (796)) - (Prims.of_int (75))) + (Prims.of_int (75))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (796)) (Prims.of_int (34)) (Prims.of_int (796)) - (Prims.of_int (74))) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string pre_prop)) (fun uu___4 -> @@ -6228,49 +7367,61 @@ let (eterm_info_to_assertions : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (797)) (Prims.of_int (2)) (Prims.of_int (797)) - (Prims.of_int (77))) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (801)) (Prims.of_int (2)) (Prims.of_int (962)) - (Prims.of_int (7))) + (Prims.of_int (7))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (797)) (Prims.of_int (16)) (Prims.of_int (797)) - (Prims.of_int (77))) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (797)) (Prims.of_int (2)) (Prims.of_int (797)) - (Prims.of_int (77))) + (Prims.of_int (77))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (797)) (Prims.of_int (35)) (Prims.of_int (797)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string post_prop)) (fun uu___5 -> @@ -6298,18 +7449,22 @@ let (eterm_info_to_assertions : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (803)) (Prims.of_int (4)) (Prims.of_int (803)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (804)) (Prims.of_int (4)) (Prims.of_int (804)) - (Prims.of_int (53))) + (Prims.of_int (53))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -6332,32 +7487,40 @@ let (eterm_info_to_assertions : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (808)) (Prims.of_int (64)) (Prims.of_int (935)) - (Prims.of_int (18))) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (806)) (Prims.of_int (12)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (812)) (Prims.of_int (29)) (Prims.of_int (812)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (813)) (Prims.of_int (12)) (Prims.of_int (934)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___7 -> @@ -6383,18 +7546,22 @@ let (eterm_info_to_assertions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (815)) (Prims.of_int (17)) (Prims.of_int (815)) - (Prims.of_int (53))) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (816)) (Prims.of_int (8)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (typ_or_comp_to_effect_info dbg ge1 c)) @@ -6404,46 +7571,58 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (816)) (Prims.of_int (8)) (Prims.of_int (816)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (817)) (Prims.of_int (8)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (816)) (Prims.of_int (22)) (Prims.of_int (816)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (816)) (Prims.of_int (8)) (Prims.of_int (816)) - (Prims.of_int (70))) + (Prims.of_int (70))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (816)) (Prims.of_int (45)) (Prims.of_int (816)) - (Prims.of_int (69))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (effect_info_to_string ei)) @@ -6470,49 +7649,61 @@ let (eterm_info_to_assertions : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (817)) (Prims.of_int (8)) (Prims.of_int (817)) - (Prims.of_int (92))) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (8)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (817)) (Prims.of_int (22)) (Prims.of_int (817)) - (Prims.of_int (92))) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (817)) (Prims.of_int (8)) (Prims.of_int (817)) - (Prims.of_int (92))) + (Prims.of_int (92))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (817)) (Prims.of_int (50)) (Prims.of_int (817)) - (Prims.of_int (91))) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string ei.ei_pre)) (fun uu___8 -> @@ -6537,49 +7728,61 @@ let (eterm_info_to_assertions : uu___8 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (8)) (Prims.of_int (818)) - (Prims.of_int (94))) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (95)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (22)) (Prims.of_int (818)) - (Prims.of_int (94))) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (8)) (Prims.of_int (818)) - (Prims.of_int (94))) + (Prims.of_int (94))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (818)) (Prims.of_int (51)) (Prims.of_int (818)) - (Prims.of_int (93))) + (Prims.of_int (93))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string ei.ei_post)) (fun uu___9 -> @@ -6605,35 +7808,43 @@ let (eterm_info_to_assertions : uu___9 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (822)) (Prims.of_int (10)) (Prims.of_int (864)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (865)) (Prims.of_int (10)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (if with_gpre then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (825)) (Prims.of_int (12)) (Prims.of_int (825)) - (Prims.of_int (83))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (12)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -6646,46 +7857,58 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (12)) (Prims.of_int (826)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (67)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (26)) (Prims.of_int (826)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (12)) (Prims.of_int (826)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (826)) (Prims.of_int (47)) (Prims.of_int (826)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_to_string ge1)) @@ -6718,18 +7941,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (831)) (Prims.of_int (14)) (Prims.of_int (831)) - (Prims.of_int (91))) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (832)) (Prims.of_int (12)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___12 @@ -6738,7 +7965,7 @@ let (eterm_info_to_assertions : (FStar_List_Tot_Base.map (fun x -> (x, - (FStar_Reflection_Derived.type_of_binder + (FStar_Reflection_V1_Derived.type_of_binder x))) (FStar_InteractiveHelpers_ExploreTerm.params_of_typ_or_comp c)))) @@ -6749,18 +7976,22 @@ let (eterm_info_to_assertions : params -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (832)) (Prims.of_int (12)) (Prims.of_int (833)) - (Prims.of_int (74))) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (833)) (Prims.of_int (75)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.iteri (fun i -> @@ -6774,62 +8005,78 @@ let (eterm_info_to_assertions : uu___13) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (832)) (Prims.of_int (49)) (Prims.of_int (833)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (832)) (Prims.of_int (35)) (Prims.of_int (833)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (832)) (Prims.of_int (72)) (Prims.of_int (833)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (833)) (Prims.of_int (40)) (Prims.of_int (833)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (833)) (Prims.of_int (47)) (Prims.of_int (833)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V1_Derived.binder_to_string b)) (fun uu___14 @@ -6882,18 +8129,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (835)) (Prims.of_int (25)) (Prims.of_int (835)) - (Prims.of_int (84))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (835)) (Prims.of_int (87)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.filter (fun @@ -6926,36 +8177,44 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (837)) (Prims.of_int (71)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (855)) (Prims.of_int (14)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___13 -> fun x -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (838)) (Prims.of_int (26)) (Prims.of_int (838)) - (Prims.of_int (27))) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (837)) (Prims.of_int (71)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___14 @@ -6973,23 +8232,27 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (839)) (Prims.of_int (23)) (Prims.of_int (839)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (14)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___15 -> - FStar_Reflection_Derived.bv_of_binder + FStar_Reflection_V1_Derived.bv_of_binder b)) (fun uu___15 @@ -6998,48 +8261,60 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (14)) (Prims.of_int (840)) - (Prims.of_int (98))) + (Prims.of_int (98))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (99)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (28)) (Prims.of_int (840)) - (Prims.of_int (98))) + (Prims.of_int (98))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (14)) (Prims.of_int (840)) - (Prims.of_int (98))) + (Prims.of_int (98))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (840)) (Prims.of_int (79)) (Prims.of_int (840)) - (Prims.of_int (97))) + (Prims.of_int (97))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V1_Derived.binder_to_string b)) (fun uu___15 @@ -7070,18 +8345,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (841)) (Prims.of_int (26)) (Prims.of_int (841)) - (Prims.of_int (52))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (841)) (Prims.of_int (55)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type ty)) @@ -7092,21 +8371,25 @@ let (eterm_info_to_assertions : tinfo -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (842)) (Prims.of_int (22)) (Prims.of_int (842)) - (Prims.of_int (38))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (842)) (Prims.of_int (41)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv))) (fun uu___16 @@ -7115,18 +8398,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (843)) (Prims.of_int (23)) (Prims.of_int (843)) - (Prims.of_int (45))) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (843)) (Prims.of_int (48)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (mk_has_type v2 @@ -7138,18 +8425,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (844)) (Prims.of_int (23)) (Prims.of_int (852)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (854)) (Prims.of_int (14)) (Prims.of_int (854)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (match tinfo.FStar_InteractiveHelpers_ExploreTerm.refin with @@ -7168,18 +8459,22 @@ let (eterm_info_to_assertions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (847)) (Prims.of_int (25)) (Prims.of_int (847)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (850)) (Prims.of_int (16)) (Prims.of_int (852)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_Base.mk_app_norm ge1.FStar_InteractiveHelpers_Base.env @@ -7191,18 +8486,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (850)) (Prims.of_int (19)) (Prims.of_int (850)) - (Prims.of_int (53))) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (850)) (Prims.of_int (16)) (Prims.of_int (852)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.term_has_shadowed_variables ge1 p2)) @@ -7217,18 +8516,22 @@ let (eterm_info_to_assertions : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (851)) (Prims.of_int (27)) (Prims.of_int (851)) - (Prims.of_int (99))) + (Prims.of_int (99))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (851)) (Prims.of_int (101)) (Prims.of_int (851)) - (Prims.of_int (103))) + (Prims.of_int (103))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7243,18 +8546,22 @@ let (eterm_info_to_assertions : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (852)) (Prims.of_int (27)) (Prims.of_int (852)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (852)) (Prims.of_int (68)) (Prims.of_int (852)) - (Prims.of_int (72))) + (Prims.of_int (72))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7289,18 +8596,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (856)) (Prims.of_int (24)) (Prims.of_int (856)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (857)) (Prims.of_int (12)) (Prims.of_int (857)) - (Prims.of_int (34))) + (Prims.of_int (34))))) (Obj.magic (FStar_Tactics_Util.map param_to_props @@ -7322,18 +8633,22 @@ let (eterm_info_to_assertions : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (861)) (Prims.of_int (12)) (Prims.of_int (861)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (862)) (Prims.of_int (12)) (Prims.of_int (862)) - (Prims.of_int (14))) + (Prims.of_int (14))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7353,18 +8668,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (870)) (Prims.of_int (10)) (Prims.of_int (878)) - (Prims.of_int (21))) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (879)) (Prims.of_int (10)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (match ((ei.ei_pre), with_gpre) @@ -7376,18 +8695,22 @@ let (eterm_info_to_assertions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (872)) (Prims.of_int (15)) (Prims.of_int (872)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (872)) (Prims.of_int (12)) (Prims.of_int (877)) - (Prims.of_int (26))) + (Prims.of_int (26))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.term_has_shadowed_variables ge1 pre)) @@ -7403,18 +8726,22 @@ let (eterm_info_to_assertions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (874)) (Prims.of_int (14)) (Prims.of_int (874)) - (Prims.of_int (92))) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (875)) (Prims.of_int (14)) (Prims.of_int (875)) - (Prims.of_int (18))) + (Prims.of_int (18))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7453,18 +8780,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (883)) (Prims.of_int (10)) (Prims.of_int (910)) - (Prims.of_int (22))) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (879)) (Prims.of_int (10)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (if Prims.op_Negation with_gpost @@ -7484,18 +8815,22 @@ let (eterm_info_to_assertions : is_let then FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (886)) (Prims.of_int (12)) (Prims.of_int (886)) - (Prims.of_int (118))) + (Prims.of_int (118))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (887)) (Prims.of_int (12)) (Prims.of_int (887)) - (Prims.of_int (20))) + (Prims.of_int (20))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7510,7 +8845,7 @@ let (eterm_info_to_assertions : (FStar_Pervasives_Native.None, []))) else - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___12 -> @@ -7519,18 +8854,22 @@ let (eterm_info_to_assertions : | () -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (898)) (Prims.of_int (14)) (Prims.of_int (898)) - (Prims.of_int (81))) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (899)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7543,46 +8882,58 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (899)) (Prims.of_int (14)) (Prims.of_int (899)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (899)) (Prims.of_int (28)) (Prims.of_int (899)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (899)) (Prims.of_int (14)) (Prims.of_int (899)) - (Prims.of_int (86))) + (Prims.of_int (86))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (899)) (Prims.of_int (48)) (Prims.of_int (899)) - (Prims.of_int (85))) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.type_info_to_string einfo.ei_ret_type)) @@ -7615,46 +8966,58 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (14)) (Prims.of_int (900)) - (Prims.of_int (83))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (84)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (28)) (Prims.of_int (900)) - (Prims.of_int (83))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (14)) (Prims.of_int (900)) - (Prims.of_int (83))) + (Prims.of_int (83))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (900)) (Prims.of_int (48)) (Prims.of_int (900)) - (Prims.of_int (82))) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.type_info_to_string ei.ei_ret_type)) @@ -7687,18 +9050,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (901)) (Prims.of_int (26)) (Prims.of_int (901)) - (Prims.of_int (87))) + (Prims.of_int (87))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (902)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___16 @@ -7716,32 +9083,40 @@ let (eterm_info_to_assertions : gcast -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (902)) (Prims.of_int (14)) (Prims.of_int (902)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (902)) (Prims.of_int (56)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (902)) (Prims.of_int (28)) (Prims.of_int (902)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (902)) (Prims.of_int (14)) (Prims.of_int (902)) - (Prims.of_int (55))) + (Prims.of_int (55))))) (Obj.magic (cast_info_to_string gcast)) @@ -7764,18 +9139,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (903)) (Prims.of_int (32)) (Prims.of_int (903)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (904)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (cast_info_to_propositions dbg ge1 @@ -7788,18 +9167,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (904)) (Prims.of_int (14)) (Prims.of_int (904)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (905)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7812,35 +9195,43 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (905)) (Prims.of_int (14)) (Prims.of_int (905)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (906)) (Prims.of_int (14)) (Prims.of_int (906)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (905)) (Prims.of_int (28)) (Prims.of_int (905)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (905)) (Prims.of_int (14)) (Prims.of_int (905)) - (Prims.of_int (71))) + (Prims.of_int (71))))) (Obj.magic (FStar_InteractiveHelpers_Base.list_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string gcast_props)) (fun uu___18 @@ -7874,18 +9265,22 @@ let (eterm_info_to_assertions : uu___12 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (909)) (Prims.of_int (14)) (Prims.of_int (909)) - (Prims.of_int (108))) + (Prims.of_int (108))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (910)) (Prims.of_int (14)) (Prims.of_int (910)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7913,18 +9308,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (914)) (Prims.of_int (8)) (Prims.of_int (914)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (914)) (Prims.of_int (56)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -7937,18 +9336,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (921)) (Prims.of_int (10)) (Prims.of_int (923)) - (Prims.of_int (22))) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (924)) (Prims.of_int (10)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___12 @@ -7974,18 +9377,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (926)) (Prims.of_int (10)) (Prims.of_int (927)) - (Prims.of_int (69))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (924)) (Prims.of_int (10)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (pre_post_to_propositions dbg ge1 @@ -8012,49 +9419,61 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (929)) (Prims.of_int (8)) (Prims.of_int (929)) - (Prims.of_int (89))) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (930)) (Prims.of_int (8)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (929)) (Prims.of_int (22)) (Prims.of_int (929)) - (Prims.of_int (89))) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (929)) (Prims.of_int (8)) (Prims.of_int (929)) - (Prims.of_int (89))) + (Prims.of_int (89))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (929)) (Prims.of_int (47)) (Prims.of_int (929)) - (Prims.of_int (88))) + (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string gpre_prop)) (fun uu___13 @@ -8085,49 +9504,61 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (930)) (Prims.of_int (8)) (Prims.of_int (930)) - (Prims.of_int (91))) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (932)) (Prims.of_int (8)) (Prims.of_int (932)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (930)) (Prims.of_int (22)) (Prims.of_int (930)) - (Prims.of_int (91))) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (930)) (Prims.of_int (8)) (Prims.of_int (930)) - (Prims.of_int (91))) + (Prims.of_int (91))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (930)) (Prims.of_int (48)) (Prims.of_int (930)) - (Prims.of_int (90))) + (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string gpost_prop)) (fun uu___14 @@ -8202,18 +9633,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (939)) (Prims.of_int (23)) (Prims.of_int (939)) - (Prims.of_int (77))) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (939)) (Prims.of_int (80)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (cast_info_list_to_propositions dbg ge2 @@ -8225,18 +9660,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (942)) (Prims.of_int (6)) (Prims.of_int (943)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (939)) (Prims.of_int (80)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___8 -> @@ -8266,18 +9705,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (943)) (Prims.of_int (66)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (943)) (Prims.of_int (66)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> @@ -8289,18 +9732,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (945)) (Prims.of_int (6)) (Prims.of_int (947)) - (Prims.of_int (17))) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (948)) (Prims.of_int (6)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (match ret_values1 with | @@ -8308,18 +9755,22 @@ let (eterm_info_to_assertions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (946)) (Prims.of_int (20)) (Prims.of_int (946)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (946)) (Prims.of_int (15)) (Prims.of_int (946)) - (Prims.of_int (56))) + (Prims.of_int (56))))) (Obj.magic (mk_has_type v2 @@ -8348,18 +9799,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (949)) (Prims.of_int (25)) (Prims.of_int (949)) - (Prims.of_int (97))) + (Prims.of_int (97))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (949)) (Prims.of_int (100)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_Base.opt_mk_app_norm ge2.FStar_InteractiveHelpers_Base.env @@ -8373,18 +9828,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (951)) (Prims.of_int (15)) (Prims.of_int (951)) - (Prims.of_int (83))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (951)) (Prims.of_int (86)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> @@ -8401,18 +9860,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (952)) (Prims.of_int (15)) (Prims.of_int (952)) - (Prims.of_int (40))) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (952)) (Prims.of_int (43)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> @@ -8425,18 +9888,22 @@ let (eterm_info_to_assertions : pres1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (953)) (Prims.of_int (16)) (Prims.of_int (955)) - (Prims.of_int (69))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (957)) (Prims.of_int (4)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> @@ -8457,18 +9924,22 @@ let (eterm_info_to_assertions : posts -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (957)) (Prims.of_int (4)) (Prims.of_int (957)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (958)) (Prims.of_int (4)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -8479,18 +9950,22 @@ let (eterm_info_to_assertions : uu___9 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (958)) (Prims.of_int (4)) (Prims.of_int (958)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (959)) (Prims.of_int (4)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (if dbg then Obj.magic @@ -8498,20 +9973,24 @@ let (eterm_info_to_assertions : (FStar_Tactics_Util.iter (fun x -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (958)) (Prims.of_int (37)) (Prims.of_int (958)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (958)) (Prims.of_int (31)) (Prims.of_int (958)) - (Prims.of_int (55))) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string x)) (fun uu___10 @@ -8520,7 +9999,7 @@ let (eterm_info_to_assertions : uu___10 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___10)) uu___10)) pres1)) @@ -8539,18 +10018,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (959)) (Prims.of_int (4)) (Prims.of_int (959)) - (Prims.of_int (38))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (960)) (Prims.of_int (4)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -8563,18 +10046,22 @@ let (eterm_info_to_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (960)) (Prims.of_int (4)) (Prims.of_int (960)) - (Prims.of_int (62))) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (961)) (Prims.of_int (4)) (Prims.of_int (961)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (if dbg then Obj.magic @@ -8582,20 +10069,24 @@ let (eterm_info_to_assertions : (FStar_Tactics_Util.iter (fun x -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (960)) (Prims.of_int (37)) (Prims.of_int (960)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Effectful.fst" (Prims.of_int (960)) (Prims.of_int (31)) (Prims.of_int (960)) - (Prims.of_int (55))) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string x)) (fun uu___12 @@ -8604,7 +10095,7 @@ let (eterm_info_to_assertions : uu___12 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___12)) uu___12)) posts)) diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml index 474f4c0515f..12cd4de7bf0 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml @@ -12,12 +12,12 @@ let (comp_qualifier : Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total uu___1 -> "C_Total" - | FStar_Reflection_Data.C_GTotal uu___1 -> "C_GTotal" - | FStar_Reflection_Data.C_Lemma (uu___1, uu___2, uu___3) -> + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total uu___1 -> "C_Total" + | FStar_Reflection_V1_Data.C_GTotal uu___1 -> "C_GTotal" + | FStar_Reflection_V1_Data.C_Lemma (uu___1, uu___2, uu___3) -> "C_Lemma" - | FStar_Reflection_Data.C_Eff + | FStar_Reflection_V1_Data.C_Eff (uu___1, uu___2, uu___3, uu___4, uu___5) -> "C_Eff"))) uu___ type effect_type = @@ -58,7 +58,7 @@ let (effect_type_to_string : effect_type -> Prims.string) = | E_Unknown -> "E_Unknown" let (effect_name_to_type : FStar_Reflection_Types.name -> effect_type) = fun ename -> - let ename1 = FStar_Reflection_Derived.flatten_name ename in + let ename1 = FStar_Reflection_V1_Derived.flatten_name ename in if ename1 = pure_effect_qn then E_PURE else @@ -96,54 +96,80 @@ let (type_info_to_string : type_info -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun info -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (84)) (Prims.of_int (2)) (Prims.of_int (85)) - (Prims.of_int (50))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (84)) (Prims.of_int (2)) (Prims.of_int (84)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (84)) (Prims.of_int (2)) (Prims.of_int (85)) - (Prims.of_int (50))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string info.ty)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (84)) (Prims.of_int (2)) + (Prims.of_int (84)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (84)) (Prims.of_int (2)) + (Prims.of_int (85)) (Prims.of_int (50))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string info.ty)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (84)) (Prims.of_int (27)) - (Prims.of_int (85)) (Prims.of_int (50))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (85)) (Prims.of_int (2)) - (Prims.of_int (85)) (Prims.of_int (50))) + (Prims.of_int (84)) (Prims.of_int (27)) + (Prims.of_int (85)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (85)) (Prims.of_int (2)) - (Prims.of_int (85)) (Prims.of_int (44))) + (Prims.of_int (85)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (85)) + (Prims.of_int (2)) + (Prims.of_int (85)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string info.refin)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -161,9 +187,9 @@ let (type_info_to_string : (fun uu___1 -> Prims.strcat "Mktype_info (" uu___)) let (unit_type_info : type_info) = mk_type_info - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "unit"]))) + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "unit"]))) FStar_Pervasives_Native.None let (safe_tc : FStar_Reflection_Types.env -> @@ -173,20 +199,24 @@ let (safe_tc : = fun e -> fun t -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (91)) (Prims.of_int (11)) - (Prims.of_int (91)) (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (91)) (Prims.of_int (6)) - (Prims.of_int (91)) (Prims.of_int (19))) - (Obj.magic (FStar_Tactics_Builtins.tc e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (91)) (Prims.of_int (11)) + (Prims.of_int (91)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (91)) (Prims.of_int (6)) + (Prims.of_int (91)) (Prims.of_int (19))))) + (Obj.magic (FStar_Tactics_V1_Builtins.tc e t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> FStar_Pervasives_Native.Some uu___1))) @@ -203,20 +233,24 @@ let (safe_tcc : = fun e -> fun t -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (95)) (Prims.of_int (11)) - (Prims.of_int (95)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (95)) (Prims.of_int (6)) - (Prims.of_int (95)) (Prims.of_int (20))) - (Obj.magic (FStar_Tactics_Builtins.tcc e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (95)) (Prims.of_int (11)) + (Prims.of_int (95)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (95)) (Prims.of_int (6)) + (Prims.of_int (95)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V1_Builtins.tcc e t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> FStar_Pervasives_Native.Some uu___1))) @@ -231,26 +265,35 @@ let (get_type_info_from_type : = fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (98)) (Prims.of_int (8)) (Prims.of_int (98)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (98)) (Prims.of_int (2)) (Prims.of_int (107)) - (Prims.of_int (24))) (Obj.magic (FStar_Tactics_Builtins.inspect ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (98)) (Prims.of_int (8)) (Prims.of_int (98)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (98)) (Prims.of_int (2)) (Prims.of_int (107)) + (Prims.of_int (24))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Refine (bv, sort, refin) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, refin) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (100)) (Prims.of_int (19)) - (Prims.of_int (100)) (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (100)) (Prims.of_int (47)) - (Prims.of_int (104)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (100)) (Prims.of_int (19)) + (Prims.of_int (100)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (100)) (Prims.of_int (47)) + (Prims.of_int (104)) (Prims.of_int (38))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term false sort)) @@ -258,34 +301,46 @@ let (get_type_info_from_type : (fun raw_type -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (101)) (Prims.of_int (21)) - (Prims.of_int (101)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (101)) (Prims.of_int (41)) - (Prims.of_int (104)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (101)) + (Prims.of_int (21)) + (Prims.of_int (101)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (101)) + (Prims.of_int (41)) + (Prims.of_int (104)) + (Prims.of_int (38))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_binder bv - sort)) + FStar_Reflection_V1_Derived.mk_binder + bv sort)) (fun uu___1 -> (fun b -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (102)) - (Prims.of_int (16)) - (Prims.of_int (102)) - (Prims.of_int (41))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (102)) - (Prims.of_int (44)) - (Prims.of_int (104)) - (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (102)) + (Prims.of_int (16)) + (Prims.of_int (102)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (102)) + (Prims.of_int (44)) + (Prims.of_int (104)) + (Prims.of_int (38))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term false refin)) @@ -293,21 +348,25 @@ let (get_type_info_from_type : (fun refin1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (103)) - (Prims.of_int (16)) - (Prims.of_int (103)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (104)) - (Prims.of_int (4)) - (Prims.of_int (104)) - (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (103)) + (Prims.of_int (16)) + (Prims.of_int (103)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (104)) + (Prims.of_int (4)) + (Prims.of_int (104)) + (Prims.of_int (38))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Abs + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Abs (b, refin1)))) (fun refin2 -> FStar_Tactics_Effect.lift_div_tac @@ -320,14 +379,18 @@ let (get_type_info_from_type : | uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (106)) (Prims.of_int (13)) - (Prims.of_int (106)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (107)) (Prims.of_int (4)) - (Prims.of_int (107)) (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (106)) (Prims.of_int (13)) + (Prims.of_int (106)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (107)) (Prims.of_int (4)) + (Prims.of_int (107)) (Prims.of_int (24))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term false ty)) (fun ty1 -> @@ -344,12 +407,18 @@ let (get_type_info : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (111)) (Prims.of_int (8)) (Prims.of_int (111)) - (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (111)) (Prims.of_int (2)) (Prims.of_int (113)) - (Prims.of_int (48))) (Obj.magic (safe_tc e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (111)) (Prims.of_int (8)) (Prims.of_int (111)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (111)) (Prims.of_int (2)) (Prims.of_int (113)) + (Prims.of_int (48))))) (Obj.magic (safe_tc e t)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -362,14 +431,18 @@ let (get_type_info : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (113)) (Prims.of_int (20)) - (Prims.of_int (113)) (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (113)) (Prims.of_int (15)) - (Prims.of_int (113)) (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (113)) (Prims.of_int (20)) + (Prims.of_int (113)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (113)) (Prims.of_int (15)) + (Prims.of_int (113)) (Prims.of_int (48))))) (Obj.magic (get_type_info_from_type ty)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -381,24 +454,24 @@ let (get_total_or_gtotal_ret_type : FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total ret_ty -> + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total ret_ty -> FStar_Pervasives_Native.Some ret_ty - | FStar_Reflection_Data.C_GTotal ret_ty -> + | FStar_Reflection_V1_Data.C_GTotal ret_ty -> FStar_Pervasives_Native.Some ret_ty | uu___ -> FStar_Pervasives_Native.None let (get_comp_ret_type : FStar_Reflection_Types.comp -> FStar_Reflection_Types.typ) = fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total ret_ty -> ret_ty - | FStar_Reflection_Data.C_GTotal ret_ty -> ret_ty - | FStar_Reflection_Data.C_Eff (uu___, uu___1, ret_ty, uu___2, uu___3) -> - ret_ty - | FStar_Reflection_Data.C_Lemma (uu___, uu___1, uu___2) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "unit"])) + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total ret_ty -> ret_ty + | FStar_Reflection_V1_Data.C_GTotal ret_ty -> ret_ty + | FStar_Reflection_V1_Data.C_Eff (uu___, uu___1, ret_ty, uu___2, uu___3) + -> ret_ty + | FStar_Reflection_V1_Data.C_Lemma (uu___, uu___1, uu___2) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "unit"])) let (is_total_or_gtotal : FStar_Reflection_Types.comp -> Prims.bool) = fun c -> FStar_Pervasives_Native.uu___is_Some (get_total_or_gtotal_ret_type c) @@ -408,17 +481,22 @@ let (is_unit_type : = fun ty -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (135)) (Prims.of_int (8)) (Prims.of_int (135)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (135)) (Prims.of_int (2)) (Prims.of_int (137)) - (Prims.of_int (14))) (Obj.magic (FStar_Tactics_Builtins.inspect ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (135)) (Prims.of_int (8)) (Prims.of_int (135)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (135)) (Prims.of_int (2)) (Prims.of_int (137)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Reflection_V1_Data.Tv_FVar fv -> FStar_InteractiveHelpers_Base.fv_eq_name fv FStar_Reflection_Const.unit_lid | uu___2 -> false)) @@ -460,59 +538,86 @@ let (typ_or_comp_to_string : match tyc with | TC_Typ (v, pl, num_unflushed) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (163)) (Prims.of_int (17)) (Prims.of_int (164)) - (Prims.of_int (37))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (163)) (Prims.of_int (17)) - (Prims.of_int (163)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (163)) (Prims.of_int (17)) - (Prims.of_int (164)) (Prims.of_int (37))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string v)) + (Prims.of_int (164)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (163)) (Prims.of_int (17)) + (Prims.of_int (163)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (163)) (Prims.of_int (17)) + (Prims.of_int (164)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V1_Builtins.term_to_string v)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (163)) (Prims.of_int (36)) - (Prims.of_int (164)) (Prims.of_int (37))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (163)) (Prims.of_int (43)) - (Prims.of_int (164)) (Prims.of_int (37))) + (Prims.of_int (163)) (Prims.of_int (36)) + (Prims.of_int (164)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (163)) (Prims.of_int (43)) - (Prims.of_int (163)) - (Prims.of_int (88))) + (Prims.of_int (164)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (163)) + (Prims.of_int (43)) + (Prims.of_int (163)) + (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.list_to_string (fun b -> - FStar_Tactics_Derived.name_of_binder + FStar_Tactics_V1_Derived.name_of_binder b) pl)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -533,59 +638,86 @@ let (typ_or_comp_to_string : (fun uu___1 -> Prims.strcat "TC_Typ (" uu___)) | TC_Comp (c, pl, num_unflushed) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (166)) (Prims.of_int (18)) (Prims.of_int (167)) - (Prims.of_int (37))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (166)) (Prims.of_int (18)) - (Prims.of_int (166)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (166)) (Prims.of_int (18)) - (Prims.of_int (167)) (Prims.of_int (37))) + (Prims.of_int (167)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (166)) (Prims.of_int (18)) + (Prims.of_int (166)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (166)) (Prims.of_int (18)) + (Prims.of_int (167)) (Prims.of_int (37))))) (Obj.magic (FStar_InteractiveHelpers_Base.acomp_to_string c)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (166)) (Prims.of_int (38)) - (Prims.of_int (167)) (Prims.of_int (37))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (166)) (Prims.of_int (45)) - (Prims.of_int (167)) (Prims.of_int (37))) + (Prims.of_int (166)) (Prims.of_int (38)) + (Prims.of_int (167)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (166)) (Prims.of_int (45)) - (Prims.of_int (166)) - (Prims.of_int (90))) + (Prims.of_int (167)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (166)) + (Prims.of_int (45)) + (Prims.of_int (166)) + (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.list_to_string (fun b -> - FStar_Tactics_Derived.name_of_binder + FStar_Tactics_V1_Derived.name_of_binder b) pl)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -626,78 +758,110 @@ let (safe_typ_or_comp : fun e -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (183)) (Prims.of_int (8)) (Prims.of_int (183)) - (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (183)) (Prims.of_int (2)) (Prims.of_int (193)) - (Prims.of_int (25))) (Obj.magic (safe_tcc e t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (183)) (Prims.of_int (8)) + (Prims.of_int (183)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (183)) (Prims.of_int (2)) + (Prims.of_int (193)) (Prims.of_int (25))))) + (Obj.magic (safe_tcc e t)) (fun uu___ -> (fun uu___ -> match uu___ with | FStar_Pervasives_Native.None -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (185)) (Prims.of_int (4)) - (Prims.of_int (187)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (188)) (Prims.of_int (4)) - (Prims.of_int (188)) (Prims.of_int (8))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (185)) (Prims.of_int (18)) - (Prims.of_int (187)) (Prims.of_int (35))) + (Prims.of_int (185)) (Prims.of_int (4)) + (Prims.of_int (187)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (185)) (Prims.of_int (4)) - (Prims.of_int (187)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (188)) (Prims.of_int (4)) + (Prims.of_int (188)) (Prims.of_int (8))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (186)) - (Prims.of_int (19)) + (Prims.of_int (185)) + (Prims.of_int (18)) (Prims.of_int (187)) - (Prims.of_int (34))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (185)) + (Prims.of_int (4)) + (Prims.of_int (187)) + (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (186)) - (Prims.of_int (33)) + (Prims.of_int (19)) (Prims.of_int (187)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (186)) (Prims.of_int (33)) - (Prims.of_int (186)) - (Prims.of_int (49))) + (Prims.of_int (187)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (186)) + (Prims.of_int (33)) + (Prims.of_int (186)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -725,97 +889,130 @@ let (safe_typ_or_comp : | FStar_Pervasives_Native.Some c -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (190)) (Prims.of_int (4)) - (Prims.of_int (192)) (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (193)) (Prims.of_int (4)) - (Prims.of_int (193)) (Prims.of_int (25))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (190)) (Prims.of_int (18)) - (Prims.of_int (192)) (Prims.of_int (51))) + (Prims.of_int (190)) (Prims.of_int (4)) + (Prims.of_int (192)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (190)) (Prims.of_int (4)) - (Prims.of_int (192)) (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (193)) (Prims.of_int (4)) + (Prims.of_int (193)) (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (191)) - (Prims.of_int (19)) + (Prims.of_int (190)) + (Prims.of_int (18)) (Prims.of_int (192)) - (Prims.of_int (50))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (190)) + (Prims.of_int (4)) + (Prims.of_int (192)) + (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (191)) - (Prims.of_int (33)) + (Prims.of_int (19)) (Prims.of_int (192)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (191)) - (Prims.of_int (33)) - (Prims.of_int (191)) - (Prims.of_int (49))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (191)) (Prims.of_int (33)) (Prims.of_int (192)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (191)) + (Prims.of_int (33)) + (Prims.of_int (191)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (191)) + (Prims.of_int (33)) + (Prims.of_int (192)) + (Prims.of_int (50))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (192)) - (Prims.of_int (19)) - (Prims.of_int (192)) - (Prims.of_int (50))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (192)) + (Prims.of_int (19)) + (Prims.of_int (192)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (192)) (Prims.of_int (33)) (Prims.of_int (192)) - (Prims.of_int (50))) - (FStar_Range.mk_range + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.acomp_to_string c)) @@ -883,18 +1080,24 @@ let (subst_binder_in_comp : fun t -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (201)) (Prims.of_int (38)) (Prims.of_int (201)) - (Prims.of_int (53))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (201)) (Prims.of_int (2)) (Prims.of_int (201)) - (Prims.of_int (57))) - (Obj.magic (FStar_Tactics_Derived.binder_sort b)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (201)) (Prims.of_int (38)) + (Prims.of_int (201)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (201)) (Prims.of_int (2)) + (Prims.of_int (201)) (Prims.of_int (57))))) + (Obj.magic (FStar_Tactics_V1_Derived.binder_sort b)) (fun uu___ -> (fun uu___ -> Obj.magic (subst_bv_in_comp e - (FStar_Reflection_Derived.bv_of_binder b) uu___ t c)) + (FStar_Reflection_V1_Derived.bv_of_binder b) uu___ t c)) uu___) let rec (unfold_until_arrow : FStar_Reflection_Types.env -> @@ -904,27 +1107,37 @@ let rec (unfold_until_arrow : fun e -> fun ty0 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (207)) (Prims.of_int (5)) (Prims.of_int (207)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (207)) (Prims.of_int (2)) (Prims.of_int (251)) - (Prims.of_int (7))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (207)) (Prims.of_int (15)) - (Prims.of_int (207)) (Prims.of_int (28))) + (Prims.of_int (207)) (Prims.of_int (5)) (Prims.of_int (207)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (207)) (Prims.of_int (5)) (Prims.of_int (207)) - (Prims.of_int (28))) - (Obj.magic (FStar_Tactics_Builtins.inspect ty0)) + (Prims.of_int (207)) (Prims.of_int (2)) (Prims.of_int (251)) + (Prims.of_int (7))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (207)) (Prims.of_int (15)) + (Prims.of_int (207)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (207)) (Prims.of_int (5)) + (Prims.of_int (207)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect ty0)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.uu___is_Tv_Arrow uu___)))) + FStar_Reflection_V1_Data.uu___is_Tv_Arrow uu___)))) (fun uu___ -> (fun uu___ -> if uu___ @@ -936,89 +1149,111 @@ let rec (unfold_until_arrow : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (211)) (Prims.of_int (13)) - (Prims.of_int (211)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (211)) (Prims.of_int (38)) - (Prims.of_int (250)) (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (211)) (Prims.of_int (13)) + (Prims.of_int (211)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (211)) (Prims.of_int (38)) + (Prims.of_int (250)) (Prims.of_int (75))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env e [] ty0)) + (FStar_Tactics_V1_Builtins.norm_term_env e [] ty0)) (fun uu___2 -> (fun ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (213)) - (Prims.of_int (40)) - (Prims.of_int (224)) (Prims.of_int (9))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (227)) (Prims.of_int (4)) - (Prims.of_int (250)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (213)) + (Prims.of_int (40)) + (Prims.of_int (224)) + (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (227)) + (Prims.of_int (4)) + (Prims.of_int (250)) + (Prims.of_int (75))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> fun fv -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (214)) - (Prims.of_int (15)) - (Prims.of_int (214)) - (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (214)) - (Prims.of_int (35)) - (Prims.of_int (224)) - (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (214)) + (Prims.of_int (15)) + (Prims.of_int (214)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (214)) + (Prims.of_int (35)) + (Prims.of_int (224)) + (Prims.of_int (9))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_FVar fv))) (fun uu___3 -> (fun ty1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (215)) - (Prims.of_int (16)) - (Prims.of_int (215)) - (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (215)) - (Prims.of_int (47)) - (Prims.of_int (224)) - (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (215)) + (Prims.of_int (16)) + (Prims.of_int (215)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (215)) + (Prims.of_int (47)) + (Prims.of_int (224)) + (Prims.of_int (9))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv + FStar_Reflection_V1_Derived.flatten_name + (FStar_Reflection_V1_Builtins.inspect_fv fv))) (fun uu___3 -> (fun fvn -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (217)) (Prims.of_int (16)) (Prims.of_int (217)) - (Prims.of_int (53))) - (FStar_Range.mk_range + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (219)) (Prims.of_int (12)) (Prims.of_int (223)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env e [ FStar_Pervasives.delta_only @@ -1030,20 +1265,24 @@ let rec (unfold_until_arrow : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (219)) (Prims.of_int (18)) (Prims.of_int (219)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (219)) (Prims.of_int (12)) (Prims.of_int (223)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty')) (fun uu___3 -> @@ -1052,46 +1291,54 @@ let rec (unfold_until_arrow : match uu___3 with | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar fv' -> Obj.magic (Obj.repr (if - (FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv + (FStar_Reflection_V1_Derived.flatten_name + (FStar_Reflection_V1_Builtins.inspect_fv fv')) = fvn then Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (222)) (Prims.of_int (19)) (Prims.of_int (222)) - (Prims.of_int (82))) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (222)) (Prims.of_int (13)) (Prims.of_int (222)) - (Prims.of_int (82))) + (Prims.of_int (82))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (222)) (Prims.of_int (63)) (Prims.of_int (222)) - (Prims.of_int (81))) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty0)) (fun uu___4 -> @@ -1130,48 +1377,56 @@ let rec (unfold_until_arrow : (fun unfold_fv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (227)) - (Prims.of_int (10)) - (Prims.of_int (227)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (227)) - (Prims.of_int (4)) - (Prims.of_int (250)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (227)) + (Prims.of_int (10)) + (Prims.of_int (227)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (227)) + (Prims.of_int (4)) + (Prims.of_int (250)) + (Prims.of_int (75))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Data.Tv_Arrow + | FStar_Reflection_V1_Data.Tv_Arrow (uu___3, uu___4) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> ty))) - | FStar_Reflection_Data.Tv_FVar + | FStar_Reflection_V1_Data.Tv_FVar fv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (231)) - (Prims.of_int (16)) - (Prims.of_int (231)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (232)) - (Prims.of_int (6)) - (Prims.of_int (232)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (231)) + (Prims.of_int (16)) + (Prims.of_int (231)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (232)) + (Prims.of_int (6)) + (Prims.of_int (232)) + (Prims.of_int (30))))) (Obj.magic (unfold_fv fv)) @@ -1183,25 +1438,29 @@ let rec (unfold_until_arrow : (unfold_until_arrow e ty')) uu___3))) - | FStar_Reflection_Data.Tv_App + | FStar_Reflection_V1_Data.Tv_App (uu___3, uu___4) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (235)) - (Prims.of_int (21)) - (Prims.of_int (235)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (233)) - (Prims.of_int (19)) - (Prims.of_int (242)) - (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (235)) + (Prims.of_int (21)) + (Prims.of_int (235)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (233)) + (Prims.of_int (19)) + (Prims.of_int (242)) + (Prims.of_int (9))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_app + (FStar_Tactics_V1_SyntaxHelpers.collect_app ty)) (fun uu___5 -> @@ -1214,20 +1473,24 @@ let rec (unfold_until_arrow : args) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (236)) (Prims.of_int (18)) (Prims.of_int (236)) - (Prims.of_int (28))) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (236)) (Prims.of_int (12)) (Prims.of_int (241)) - (Prims.of_int (82))) + (Prims.of_int (82))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect hd)) (fun uu___6 -> @@ -1236,22 +1499,26 @@ let rec (unfold_until_arrow : match uu___6 with | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar fv -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (238)) (Prims.of_int (18)) (Prims.of_int (238)) - (Prims.of_int (30))) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (238)) (Prims.of_int (33)) (Prims.of_int (240)) - (Prims.of_int (32))) + (Prims.of_int (32))))) (Obj.magic (unfold_fv fv)) @@ -1261,22 +1528,26 @@ let rec (unfold_until_arrow : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (239)) (Prims.of_int (18)) (Prims.of_int (239)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (240)) (Prims.of_int (8)) (Prims.of_int (240)) - (Prims.of_int (32))) + (Prims.of_int (32))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___7 -> - FStar_Reflection_Derived.mk_app + FStar_Reflection_V1_Derived.mk_app hd' args)) (fun uu___7 -> @@ -1291,34 +1562,42 @@ let rec (unfold_until_arrow : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (241)) (Prims.of_int (19)) (Prims.of_int (241)) - (Prims.of_int (82))) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (241)) (Prims.of_int (13)) (Prims.of_int (241)) - (Prims.of_int (82))) + (Prims.of_int (82))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (241)) (Prims.of_int (63)) (Prims.of_int (241)) - (Prims.of_int (81))) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty0)) (fun uu___8 -> @@ -1338,13 +1617,13 @@ let rec (unfold_until_arrow : uu___8))) uu___6))) uu___5))) - | FStar_Reflection_Data.Tv_Refine + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, ref) -> Obj.magic (Obj.repr (unfold_until_arrow e sort)) - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Reflection_V1_Data.Tv_AscribedT (body, uu___3, uu___4, uu___5) -> @@ -1352,7 +1631,7 @@ let rec (unfold_until_arrow : (Obj.repr (unfold_until_arrow e body)) - | FStar_Reflection_Data.Tv_AscribedC + | FStar_Reflection_V1_Data.Tv_AscribedC (body, uu___3, uu___4, uu___5) -> @@ -1364,34 +1643,42 @@ let rec (unfold_until_arrow : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (250)) - (Prims.of_int (12)) - (Prims.of_int (250)) - (Prims.of_int (75))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (250)) - (Prims.of_int (6)) - (Prims.of_int (250)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (250)) + (Prims.of_int (12)) + (Prims.of_int (250)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (250)) + (Prims.of_int (6)) + (Prims.of_int (250)) + (Prims.of_int (75))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (250)) (Prims.of_int (56)) (Prims.of_int (250)) - (Prims.of_int (74))) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty0)) (fun uu___4 -> @@ -1421,45 +1708,63 @@ let (inst_comp_once : fun c -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (256)) (Prims.of_int (11)) (Prims.of_int (256)) - (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (256)) (Prims.of_int (33)) (Prims.of_int (263)) - (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (256)) (Prims.of_int (11)) + (Prims.of_int (256)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (256)) (Prims.of_int (33)) + (Prims.of_int (263)) (Prims.of_int (5))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> get_comp_ret_type c)) (fun uu___ -> (fun ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (257)) (Prims.of_int (12)) - (Prims.of_int (257)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (258)) (Prims.of_int (8)) - (Prims.of_int (262)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (257)) (Prims.of_int (12)) + (Prims.of_int (257)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (258)) (Prims.of_int (8)) + (Prims.of_int (262)) (Prims.of_int (46))))) (Obj.magic (unfold_until_arrow e ty)) (fun uu___ -> (fun ty' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (258)) (Prims.of_int (14)) - (Prims.of_int (258)) (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (258)) (Prims.of_int (8)) - (Prims.of_int (262)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (258)) + (Prims.of_int (14)) + (Prims.of_int (258)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (258)) + (Prims.of_int (8)) + (Prims.of_int (262)) + (Prims.of_int (46))))) (Obj.magic - (FStar_Tactics_Builtins.inspect ty')) + (FStar_Tactics_V1_Builtins.inspect ty')) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Arrow + | FStar_Reflection_V1_Data.Tv_Arrow (b1, c1) -> Obj.magic (subst_binder_in_comp e b1 t c1) @@ -1489,16 +1794,20 @@ let rec (inst_comp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (270)) (Prims.of_int (13)) - (Prims.of_int (272)) (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (274)) (Prims.of_int (4)) - (Prims.of_int (274)) (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (270)) (Prims.of_int (13)) + (Prims.of_int (272)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (274)) (Prims.of_int (4)) + (Prims.of_int (274)) (Prims.of_int (22))))) (Obj.magic - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> inst_comp_once e c t) @@ -1532,71 +1841,91 @@ let (_abs_update_typ : fun ty -> fun pl -> fun e -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (289)) (Prims.of_int (14)) - (Prims.of_int (289)) (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (290)) (Prims.of_int (10)) - (Prims.of_int (295)) (Prims.of_int (49))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (289)) (Prims.of_int (14)) + (Prims.of_int (289)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (290)) (Prims.of_int (10)) + (Prims.of_int (295)) (Prims.of_int (49))))) (Obj.magic (unfold_until_arrow e ty)) (fun uu___1 -> (fun ty' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (290)) (Prims.of_int (16)) - (Prims.of_int (290)) (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (290)) (Prims.of_int (10)) - (Prims.of_int (295)) (Prims.of_int (49))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (290)) + (Prims.of_int (16)) + (Prims.of_int (290)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (290)) + (Prims.of_int (10)) + (Prims.of_int (295)) + (Prims.of_int (49))))) (Obj.magic - (FStar_Tactics_Builtins.inspect ty')) + (FStar_Tactics_V1_Builtins.inspect ty')) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_Arrow + | FStar_Reflection_V1_Data.Tv_Arrow (b1, c1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (292)) - (Prims.of_int (16)) - (Prims.of_int (292)) - (Prims.of_int (77))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (293)) - (Prims.of_int (6)) - (Prims.of_int (293)) - (Prims.of_int (29))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (292)) - (Prims.of_int (42)) + (Prims.of_int (16)) (Prims.of_int (292)) - (Prims.of_int (74))) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (292)) - (Prims.of_int (16)) - (Prims.of_int (292)) - (Prims.of_int (77))) + (Prims.of_int (293)) + (Prims.of_int (6)) + (Prims.of_int (293)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (292)) + (Prims.of_int (42)) + (Prims.of_int (292)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (292)) + (Prims.of_int (16)) + (Prims.of_int (292)) + (Prims.of_int (77))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b)))) (fun uu___2 -> (fun uu___2 -> @@ -1622,42 +1951,59 @@ let (_abs_update_typ : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (299)) (Prims.of_int (10)) - (Prims.of_int (299)) (Prims.of_int (93))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (299)) (Prims.of_int (4)) - (Prims.of_int (299)) (Prims.of_int (93))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (299)) - (Prims.of_int (61)) + (Prims.of_int (10)) (Prims.of_int (299)) - (Prims.of_int (92))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (93))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (299)) + (Prims.of_int (4)) + (Prims.of_int (299)) + (Prims.of_int (93))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (299)) (Prims.of_int (61)) (Prims.of_int (299)) - (Prims.of_int (78))) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (299)) + (Prims.of_int (61)) + (Prims.of_int (299)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1721,23 +2067,27 @@ let (abs_update_opt_typ_or_comp : | FStar_Pervasives_Native.Some c -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (321)) - (Prims.of_int (14)) - (Prims.of_int (321)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (322)) - (Prims.of_int (6)) - (Prims.of_int (322)) - (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (321)) + (Prims.of_int (14)) + (Prims.of_int (321)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (322)) + (Prims.of_int (6)) + (Prims.of_int (322)) + (Prims.of_int (12))))) (Obj.magic (abs_update_typ_or_comp b c e)) (fun c1 -> FStar_Tactics_Effect.lift_div_tac @@ -1771,27 +2121,35 @@ let rec (_flush_typ_or_comp_comp : fun inst -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (338)) (Prims.of_int (20)) - (Prims.of_int (340)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (342)) (Prims.of_int (2)) (Prims.of_int (359)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (338)) (Prims.of_int (20)) + (Prims.of_int (340)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (342)) (Prims.of_int (2)) + (Prims.of_int (359)) (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun c1 -> fun inst1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (339)) (Prims.of_int (15)) - (Prims.of_int (339)) (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (340)) (Prims.of_int (4)) - (Prims.of_int (340)) (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (339)) (Prims.of_int (15)) + (Prims.of_int (339)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (340)) (Prims.of_int (4)) + (Prims.of_int (340)) (Prims.of_int (32))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.rev inst1)) (fun uu___1 -> @@ -1806,67 +2164,87 @@ let rec (_flush_typ_or_comp_comp : | b::rem' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (348)) (Prims.of_int (13)) - (Prims.of_int (348)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (348)) (Prims.of_int (35)) - (Prims.of_int (359)) (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (348)) + (Prims.of_int (13)) + (Prims.of_int (348)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (348)) + (Prims.of_int (35)) + (Prims.of_int (359)) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> get_comp_ret_type c)) (fun uu___ -> (fun ty -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (350)) - (Prims.of_int (6)) - (Prims.of_int (351)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (348)) - (Prims.of_int (35)) - (Prims.of_int (359)) - (Prims.of_int (86))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (350)) - (Prims.of_int (9)) - (Prims.of_int (350)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (350)) (Prims.of_int (6)) (Prims.of_int (351)) - (Prims.of_int (47))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (348)) + (Prims.of_int (35)) + (Prims.of_int (359)) + (Prims.of_int (86))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (350)) - (Prims.of_int (19)) + (Prims.of_int (9)) (Prims.of_int (350)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (350)) - (Prims.of_int (9)) - (Prims.of_int (350)) - (Prims.of_int (31))) + (Prims.of_int (6)) + (Prims.of_int (351)) + (Prims.of_int (47))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (350)) + (Prims.of_int (19)) + (Prims.of_int (350)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (350)) + (Prims.of_int (9)) + (Prims.of_int (350)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.uu___is_Tv_Arrow + FStar_Reflection_V1_Data.uu___is_Tv_Arrow uu___)))) (fun uu___ -> (fun uu___ -> @@ -1881,34 +2259,44 @@ let rec (_flush_typ_or_comp_comp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (351)) - (Prims.of_int (11)) - (Prims.of_int (351)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (351)) - (Prims.of_int (11)) - (Prims.of_int (351)) - (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (351)) + (Prims.of_int (11)) + (Prims.of_int (351)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (351)) + (Prims.of_int (11)) + (Prims.of_int (351)) + (Prims.of_int (47))))) (Obj.magic (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (351)) (Prims.of_int (29)) (Prims.of_int (351)) - (Prims.of_int (43))) + (Prims.of_int (43))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (351)) (Prims.of_int (11)) (Prims.of_int (351)) - (Prims.of_int (43))) + (Prims.of_int (43))))) ( Obj.magic (flush c @@ -1934,92 +2322,112 @@ let rec (_flush_typ_or_comp_comp : | (ty1, inst') -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (353)) - (Prims.of_int (10)) - (Prims.of_int (353)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (353)) - (Prims.of_int (4)) - (Prims.of_int (359)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (353)) + (Prims.of_int (10)) + (Prims.of_int (353)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (353)) + (Prims.of_int (4)) + (Prims.of_int (359)) + (Prims.of_int (86))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty1)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_Arrow + | FStar_Reflection_V1_Data.Tv_Arrow (b', c') -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (41)) (Prims.of_int (355)) - (Prims.of_int (116))) + (Prims.of_int (116))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (6)) (Prims.of_int (355)) - (Prims.of_int (119))) + (Prims.of_int (119))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (42)) (Prims.of_int (355)) - (Prims.of_int (109))) + (Prims.of_int (109))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (41)) (Prims.of_int (355)) - (Prims.of_int (116))) + (Prims.of_int (116))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (43)) (Prims.of_int (355)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (42)) (Prims.of_int (355)) - (Prims.of_int (109))) + (Prims.of_int (109))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (61)) (Prims.of_int (355)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (43)) (Prims.of_int (355)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic - (FStar_Tactics_Derived.binder_sort + (FStar_Tactics_V1_Derived.binder_sort b')) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - ((FStar_Reflection_Derived.bv_of_binder + ((FStar_Reflection_V1_Derived.bv_of_binder b'), uu___2))))) (fun @@ -2028,22 +2436,26 @@ let rec (_flush_typ_or_comp_comp : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (78)) (Prims.of_int (355)) - (Prims.of_int (108))) + (Prims.of_int (108))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (355)) (Prims.of_int (42)) (Prims.of_int (355)) - (Prims.of_int (109))) + (Prims.of_int (109))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder b)))) (fun uu___3 -> @@ -2073,60 +2485,76 @@ let rec (_flush_typ_or_comp_comp : | uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (357)) (Prims.of_int (12)) (Prims.of_int (359)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (357)) (Prims.of_int (6)) (Prims.of_int (359)) - (Prims.of_int (86))) + (Prims.of_int (86))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (358)) (Prims.of_int (13)) (Prims.of_int (359)) - (Prims.of_int (85))) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (358)) (Prims.of_int (27)) (Prims.of_int (359)) - (Prims.of_int (85))) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (358)) (Prims.of_int (27)) (Prims.of_int (358)) - (Prims.of_int (44))) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (358)) (Prims.of_int (27)) (Prims.of_int (359)) - (Prims.of_int (85))) + (Prims.of_int (85))))) (Obj.magic (FStar_InteractiveHelpers_Base.acomp_to_string c)) @@ -2136,37 +2564,45 @@ let rec (_flush_typ_or_comp_comp : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (359)) (Prims.of_int (13)) (Prims.of_int (359)) - (Prims.of_int (85))) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (359)) (Prims.of_int (39)) (Prims.of_int (359)) - (Prims.of_int (85))) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.list_to_string (fun b1 -> - FStar_Tactics_Derived.name_of_binder + FStar_Tactics_V1_Derived.name_of_binder b1) rem)) (fun uu___4 -> @@ -2220,26 +2656,36 @@ let (flush_typ_or_comp : fun e -> fun tyc -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (362)) (Prims.of_int (88)) (Prims.of_int (366)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (368)) (Prims.of_int (2)) (Prims.of_int (376)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (362)) (Prims.of_int (88)) + (Prims.of_int (366)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (368)) (Prims.of_int (2)) + (Prims.of_int (376)) (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun pl -> fun n -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (363)) (Prims.of_int (17)) - (Prims.of_int (363)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (362)) (Prims.of_int (88)) - (Prims.of_int (366)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (363)) (Prims.of_int (17)) + (Prims.of_int (363)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (362)) (Prims.of_int (88)) + (Prims.of_int (366)) (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.splitAt n pl)) (fun uu___1 -> @@ -2248,18 +2694,22 @@ let (flush_typ_or_comp : | (pl', uu___2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (364)) - (Prims.of_int (14)) - (Prims.of_int (364)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (364)) - (Prims.of_int (29)) - (Prims.of_int (366)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (364)) + (Prims.of_int (14)) + (Prims.of_int (364)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (364)) + (Prims.of_int (29)) + (Prims.of_int (366)) + (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> FStar_List_Tot_Base.rev pl')) @@ -2267,18 +2717,22 @@ let (flush_typ_or_comp : (fun pl'1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (365)) - (Prims.of_int (12)) - (Prims.of_int (365)) - (Prims.of_int (50))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (366)) - (Prims.of_int (4)) - (Prims.of_int (366)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (365)) + (Prims.of_int (12)) + (Prims.of_int (365)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (366)) + (Prims.of_int (4)) + (Prims.of_int (366)) + (Prims.of_int (18))))) (Obj.magic (_flush_typ_or_comp_comp dbg e pl'1 [] c)) @@ -2292,28 +2746,34 @@ let (flush_typ_or_comp : (fun uu___ -> (fun flush_comp -> Obj.magic - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V1_Derived.try_with (fun uu___ -> match () with | () -> (match tyc with | TC_Typ (ty, pl, n) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (370)) - (Prims.of_int (12)) - (Prims.of_int (370)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (371)) (Prims.of_int (4)) - (Prims.of_int (371)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (370)) + (Prims.of_int (12)) + (Prims.of_int (370)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (371)) + (Prims.of_int (4)) + (Prims.of_int (371)) + (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total ty))) + FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total + ty))) (fun uu___1 -> (fun c -> Obj.magic (flush_comp pl n c)) uu___1) @@ -2326,46 +2786,58 @@ let (flush_typ_or_comp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (375)) - (Prims.of_int (15)) - (Prims.of_int (375)) - (Prims.of_int (90))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (375)) - (Prims.of_int (9)) - (Prims.of_int (375)) - (Prims.of_int (90))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (375)) - (Prims.of_int (50)) + (Prims.of_int (15)) (Prims.of_int (375)) - (Prims.of_int (89))) + (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (375)) + (Prims.of_int (9)) + (Prims.of_int (375)) + (Prims.of_int (90))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (375)) (Prims.of_int (50)) (Prims.of_int (375)) - (Prims.of_int (75))) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (375)) + (Prims.of_int (50)) + (Prims.of_int (375)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (typ_or_comp_to_string tyc)) @@ -2402,32 +2874,47 @@ let (safe_arg_typ_or_comp : fun e -> fun hd -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (383)) (Prims.of_int (2)) (Prims.of_int (383)) - (Prims.of_int (62))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (384)) (Prims.of_int (2)) (Prims.of_int (404)) - (Prims.of_int (15))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (383)) (Prims.of_int (16)) - (Prims.of_int (383)) (Prims.of_int (62))) + (Prims.of_int (383)) (Prims.of_int (2)) + (Prims.of_int (383)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (383)) (Prims.of_int (2)) - (Prims.of_int (383)) (Prims.of_int (62))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (384)) (Prims.of_int (2)) + (Prims.of_int (404)) (Prims.of_int (15))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (383)) (Prims.of_int (44)) - (Prims.of_int (383)) (Prims.of_int (61))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string hd)) + (Prims.of_int (383)) (Prims.of_int (16)) + (Prims.of_int (383)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (383)) (Prims.of_int (2)) + (Prims.of_int (383)) (Prims.of_int (62))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (383)) (Prims.of_int (44)) + (Prims.of_int (383)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string hd)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -2441,14 +2928,18 @@ let (safe_arg_typ_or_comp : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (384)) (Prims.of_int (8)) - (Prims.of_int (384)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (384)) (Prims.of_int (2)) - (Prims.of_int (404)) (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (384)) (Prims.of_int (8)) + (Prims.of_int (384)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (384)) (Prims.of_int (2)) + (Prims.of_int (404)) (Prims.of_int (15))))) (Obj.magic (safe_tc e hd)) (fun uu___1 -> (fun uu___1 -> @@ -2463,48 +2954,60 @@ let (safe_arg_typ_or_comp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (387)) - (Prims.of_int (4)) - (Prims.of_int (387)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (387)) - (Prims.of_int (52)) - (Prims.of_int (404)) - (Prims.of_int (15))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (387)) - (Prims.of_int (18)) + (Prims.of_int (4)) (Prims.of_int (387)) - (Prims.of_int (51))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (387)) - (Prims.of_int (4)) - (Prims.of_int (387)) - (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (52)) + (Prims.of_int (404)) + (Prims.of_int (15))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (387)) - (Prims.of_int (33)) + (Prims.of_int (18)) (Prims.of_int (387)) - (Prims.of_int (50))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (387)) + (Prims.of_int (4)) + (Prims.of_int (387)) + (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (387)) + (Prims.of_int (33)) + (Prims.of_int (387)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -2521,54 +3024,68 @@ let (safe_arg_typ_or_comp : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (389)) - (Prims.of_int (6)) - (Prims.of_int (400)) - (Prims.of_int (11))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (402)) - (Prims.of_int (4)) - (Prims.of_int (404)) - (Prims.of_int (15))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (389)) - (Prims.of_int (9)) - (Prims.of_int (389)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (389)) (Prims.of_int (6)) (Prims.of_int (400)) - (Prims.of_int (11))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (402)) + (Prims.of_int (4)) + (Prims.of_int (404)) + (Prims.of_int (15))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (389)) - (Prims.of_int (19)) + (Prims.of_int (9)) (Prims.of_int (389)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (389)) - (Prims.of_int (9)) - (Prims.of_int (389)) - (Prims.of_int (31))) + (Prims.of_int (6)) + (Prims.of_int (400)) + (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (389)) + (Prims.of_int (19)) + (Prims.of_int (389)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (389)) + (Prims.of_int (9)) + (Prims.of_int (389)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty)) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> - FStar_Reflection_Data.uu___is_Tv_Arrow + FStar_Reflection_V1_Data.uu___is_Tv_Arrow uu___3)))) (fun uu___3 -> (fun uu___3 -> @@ -2576,18 +3093,22 @@ let (safe_arg_typ_or_comp : then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (391)) (Prims.of_int (8)) (Prims.of_int (391)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (386)) (Prims.of_int (9)) (Prims.of_int (386)) - (Prims.of_int (11))) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2601,18 +3122,22 @@ let (safe_arg_typ_or_comp : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (396)) (Prims.of_int (8)) (Prims.of_int (396)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (396)) (Prims.of_int (48)) (Prims.of_int (399)) - (Prims.of_int (10))) + (Prims.of_int (10))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -2623,18 +3148,22 @@ let (safe_arg_typ_or_comp : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (397)) (Prims.of_int (17)) (Prims.of_int (397)) - (Prims.of_int (40))) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (398)) (Prims.of_int (8)) (Prims.of_int (399)) - (Prims.of_int (10))) + (Prims.of_int (10))))) (Obj.magic (unfold_until_arrow e ty)) @@ -2644,48 +3173,60 @@ let (safe_arg_typ_or_comp : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (398)) (Prims.of_int (8)) (Prims.of_int (398)) - (Prims.of_int (67))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (397)) (Prims.of_int (12)) (Prims.of_int (397)) - (Prims.of_int (14))) + (Prims.of_int (14))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (398)) (Prims.of_int (22)) (Prims.of_int (398)) - (Prims.of_int (67))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (398)) (Prims.of_int (8)) (Prims.of_int (398)) - (Prims.of_int (67))) + (Prims.of_int (67))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (398)) (Prims.of_int (49)) (Prims.of_int (398)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty1)) (fun uu___6 -> @@ -2717,20 +3258,24 @@ let (safe_arg_typ_or_comp : (fun ty1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (402)) - (Prims.of_int (10)) - (Prims.of_int (402)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (402)) - (Prims.of_int (4)) - (Prims.of_int (404)) - (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (402)) + (Prims.of_int (10)) + (Prims.of_int (402)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (402)) + (Prims.of_int (4)) + (Prims.of_int (404)) + (Prims.of_int (15))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect ty1)) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac @@ -2739,11 +3284,11 @@ let (safe_arg_typ_or_comp : match uu___3 with | - FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> FStar_Pervasives_Native.Some (TC_Typ - ((FStar_Reflection_Derived.type_of_binder + ((FStar_Reflection_V1_Derived.type_of_binder b), [], Prims.int_zero)) | @@ -2761,10 +3306,10 @@ let (convert_ctrl_flag : type 'a explorer = 'a -> FStar_InteractiveHelpers_Base.genv -> - (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Data.term_view) - Prims.list -> + (FStar_InteractiveHelpers_Base.genv * + FStar_Reflection_V1_Data.term_view) Prims.list -> typ_or_comp FStar_Pervasives_Native.option -> - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> (('a * FStar_Tactics_Types.ctrl_flag), unit) FStar_Tactics_Effect.tac_repr let bind_expl : @@ -2785,12 +3330,19 @@ let bind_expl : fun f1 -> fun f2 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (435)) (Prims.of_int (18)) (Prims.of_int (435)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (434)) (Prims.of_int (92)) (Prims.of_int (438)) - (Prims.of_int (34))) (Obj.magic (f1 x)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (435)) (Prims.of_int (18)) + (Prims.of_int (435)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (434)) (Prims.of_int (92)) + (Prims.of_int (438)) (Prims.of_int (34))))) + (Obj.magic (f1 x)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -2811,7 +3363,7 @@ let rec (explore_term : Obj.t -> FStar_InteractiveHelpers_Base.genv -> (FStar_InteractiveHelpers_Base.genv * - FStar_Reflection_Data.term_view) Prims.list -> + FStar_Reflection_V1_Data.term_view) Prims.list -> typ_or_comp FStar_Pervasives_Native.option -> FStar_Reflection_Types.term -> ((Obj.t * FStar_Tactics_Types.ctrl_flag), unit) @@ -2827,47 +3379,67 @@ let rec (explore_term : fun c0 -> fun t0 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) (Prims.of_int (2)) - (Prims.of_int (467)) (Prims.of_int (85))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) (Prims.of_int (86)) - (Prims.of_int (547)) (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) (Prims.of_int (16)) - (Prims.of_int (467)) (Prims.of_int (85))) + (Prims.of_int (467)) (Prims.of_int (2)) + (Prims.of_int (467)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) (Prims.of_int (2)) - (Prims.of_int (467)) (Prims.of_int (85))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (467)) (Prims.of_int (86)) + (Prims.of_int (547)) (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) (Prims.of_int (39)) - (Prims.of_int (467)) (Prims.of_int (84))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) - (Prims.of_int (39)) - (Prims.of_int (467)) - (Prims.of_int (56))) + (Prims.of_int (467)) (Prims.of_int (16)) + (Prims.of_int (467)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (467)) (Prims.of_int (2)) + (Prims.of_int (467)) (Prims.of_int (85))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (467)) (Prims.of_int (39)) (Prims.of_int (467)) - (Prims.of_int (84))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (467)) + (Prims.of_int (39)) + (Prims.of_int (467)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (467)) + (Prims.of_int (39)) + (Prims.of_int (467)) + (Prims.of_int (84))))) (Obj.magic (FStar_InteractiveHelpers_Base.term_construct t0)) @@ -2875,34 +3447,42 @@ let rec (explore_term : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (467)) - (Prims.of_int (59)) - (Prims.of_int (467)) - (Prims.of_int (84))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (467)) - (Prims.of_int (67)) + (Prims.of_int (59)) (Prims.of_int (467)) - (Prims.of_int (84))) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (467)) + (Prims.of_int (67)) + (Prims.of_int (467)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string t0)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -2927,34 +3507,46 @@ let rec (explore_term : dbg uu___)) uu___))) (fun uu___ -> (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (468)) (Prims.of_int (12)) - (Prims.of_int (468)) (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (468)) (Prims.of_int (25)) - (Prims.of_int (547)) (Prims.of_int (33))) + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (468)) + (Prims.of_int (12)) + (Prims.of_int (468)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (468)) + (Prims.of_int (25)) + (Prims.of_int (547)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Builtins.inspect t0)) + (FStar_Tactics_V1_Builtins.inspect t0)) (fun uu___1 -> (fun tv0 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (469)) - (Prims.of_int (17)) - (Prims.of_int (469)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (468)) - (Prims.of_int (25)) - (Prims.of_int (547)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (469)) + (Prims.of_int (17)) + (Prims.of_int (469)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (468)) + (Prims.of_int (25)) + (Prims.of_int (547)) + (Prims.of_int (33))))) (Obj.magic (f x ge0 pl0 c0 tv0)) (fun uu___1 -> (fun uu___1 -> @@ -2962,18 +3554,22 @@ let rec (explore_term : | (x0, flag) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (470)) - (Prims.of_int (12)) - (Prims.of_int (470)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (471)) - (Prims.of_int (2)) - (Prims.of_int (547)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (470)) + (Prims.of_int (12)) + (Prims.of_int (470)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (471)) + (Prims.of_int (2)) + (Prims.of_int (547)) + (Prims.of_int (33))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (ge0, tv0) @@ -2989,7 +3585,7 @@ let rec (explore_term : (match tv0 with | - FStar_Reflection_Data.Tv_Var + FStar_Reflection_V1_Data.Tv_Var uu___2 -> Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -2998,7 +3594,7 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_BVar + FStar_Reflection_V1_Data.Tv_BVar uu___2 -> Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -3007,7 +3603,7 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar uu___2 -> Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -3016,24 +3612,28 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_App + FStar_Reflection_V1_Data.Tv_App (hd, (a1, qual)) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (478)) (Prims.of_int (16)) (Prims.of_int (478)) - (Prims.of_int (51))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (479)) (Prims.of_int (6)) (Prims.of_int (486)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (Obj.magic (safe_arg_typ_or_comp dbg @@ -3045,46 +3645,58 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (479)) (Prims.of_int (6)) (Prims.of_int (480)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (480)) (Prims.of_int (65)) (Prims.of_int (486)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (479)) (Prims.of_int (20)) (Prims.of_int (480)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (479)) (Prims.of_int (6)) (Prims.of_int (480)) - (Prims.of_int (64))) + (Prims.of_int (64))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (480)) (Prims.of_int (21)) (Prims.of_int (480)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string typ_or_comp_to_string @@ -3112,18 +3724,22 @@ let rec (explore_term : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (481)) (Prims.of_int (22)) (Prims.of_int (481)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (480)) (Prims.of_int (65)) (Prims.of_int (486)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (Obj.magic (explore_term dbg dfs @@ -3164,23 +3780,27 @@ let rec (explore_term : uu___2))) uu___2)) | - FStar_Reflection_Data.Tv_Abs + FStar_Reflection_V1_Data.Tv_Abs (br, body) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (488)) (Prims.of_int (16)) (Prims.of_int (488)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (488)) (Prims.of_int (53)) (Prims.of_int (490)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_binder ge0 br @@ -3192,18 +3812,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (489)) (Prims.of_int (15)) (Prims.of_int (489)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (490)) (Prims.of_int (6)) (Prims.of_int (490)) - (Prims.of_int (47))) + (Prims.of_int (47))))) (Obj.magic (abs_update_opt_typ_or_comp br c0 @@ -3221,7 +3845,7 @@ let rec (explore_term : uu___2))) uu___2)) | - FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V1_Data.Tv_Arrow (br, c01) -> Obj.repr @@ -3231,7 +3855,7 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_Type + FStar_Reflection_V1_Data.Tv_Type uu___2 -> Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -3240,28 +3864,32 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_Refine + FStar_Reflection_V1_Data.Tv_Refine (bv, sort, ref) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (494)) (Prims.of_int (16)) (Prims.of_int (494)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (494)) (Prims.of_int (32)) (Prims.of_int (499)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Builtins.inspect_bv + FStar_Reflection_V1_Builtins.inspect_bv bv)) (fun uu___2 -> @@ -3269,18 +3897,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (495)) (Prims.of_int (22)) (Prims.of_int (495)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (494)) (Prims.of_int (32)) (Prims.of_int (499)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (Obj.magic (explore_term dbg dfs @@ -3304,18 +3936,22 @@ let rec (explore_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (497)) (Prims.of_int (18)) (Prims.of_int (497)) - (Prims.of_int (53))) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (498)) (Prims.of_int (8)) (Prims.of_int (498)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_bv ge0 bv @@ -3346,7 +3982,7 @@ let rec (explore_term : uu___2))) uu___2)) | - FStar_Reflection_Data.Tv_Const + FStar_Reflection_V1_Data.Tv_Const uu___2 -> Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -3355,7 +3991,7 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_Uvar + FStar_Reflection_V1_Data.Tv_Uvar (uu___2, uu___3) -> @@ -3366,7 +4002,7 @@ let rec (explore_term : (x0, FStar_Tactics_Types.Continue))) | - FStar_Reflection_Data.Tv_Let + FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, @@ -3374,18 +4010,22 @@ let rec (explore_term : body) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (506)) (Prims.of_int (18)) (Prims.of_int (506)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (506)) (Prims.of_int (42)) (Prims.of_int (513)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -3399,18 +4039,22 @@ let rec (explore_term : def_c -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (507)) (Prims.of_int (26)) (Prims.of_int (507)) - (Prims.of_int (68))) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (507)) (Prims.of_int (71)) (Prims.of_int (513)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -3427,18 +4071,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (509)) (Prims.of_int (16)) (Prims.of_int (509)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (509)) (Prims.of_int (58)) (Prims.of_int (513)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_bv ge0 bv ty @@ -3451,18 +4099,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (510)) (Prims.of_int (27)) (Prims.of_int (510)) - (Prims.of_int (67))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (510)) (Prims.of_int (70)) (Prims.of_int (513)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -3479,18 +4131,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (512)) (Prims.of_int (25)) (Prims.of_int (512)) - (Prims.of_int (93))) + (Prims.of_int (93))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (510)) (Prims.of_int (70)) (Prims.of_int (513)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -3520,25 +4176,29 @@ let rec (explore_term : uu___2))) uu___2)) | - FStar_Reflection_Data.Tv_Match + FStar_Reflection_V1_Data.Tv_Match (scrutinee, _ret_opt, branches) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (516)) (Prims.of_int (86)) (Prims.of_int (527)) - (Prims.of_int (21))) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (528)) (Prims.of_int (8)) (Prims.of_int (533)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -3546,18 +4206,22 @@ let rec (explore_term : x_flag -> fun br -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (517)) (Prims.of_int (23)) (Prims.of_int (517)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (516)) (Prims.of_int (86)) (Prims.of_int (527)) - (Prims.of_int (21))) + (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -3578,18 +4242,22 @@ let rec (explore_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (519)) (Prims.of_int (33)) (Prims.of_int (519)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (518)) (Prims.of_int (31)) (Prims.of_int (525)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> @@ -3606,18 +4274,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (521)) (Prims.of_int (31)) (Prims.of_int (521)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (519)) (Prims.of_int (38)) (Prims.of_int (525)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (explore_pattern dbg dfs @@ -3672,18 +4344,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (530)) (Prims.of_int (20)) (Prims.of_int (530)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (530)) (Prims.of_int (61)) (Prims.of_int (533)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (safe_typ_or_comp dbg @@ -3696,18 +4372,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (531)) (Prims.of_int (15)) (Prims.of_int (531)) - (Prims.of_int (69))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (533)) (Prims.of_int (6)) (Prims.of_int (533)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic (explore_term dbg dfs @@ -3728,25 +4408,29 @@ let rec (explore_term : uu___2))) uu___2)) | - FStar_Reflection_Data.Tv_AscribedT + FStar_Reflection_V1_Data.Tv_AscribedT (e, ty, tac, uu___2) -> Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (535)) (Prims.of_int (15)) (Prims.of_int (535)) - (Prims.of_int (36))) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (535)) (Prims.of_int (39)) (Prims.of_int (539)) - (Prims.of_int (37))) + (Prims.of_int (37))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -3760,18 +4444,22 @@ let rec (explore_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (536)) (Prims.of_int (21)) (Prims.of_int (536)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (535)) (Prims.of_int (39)) (Prims.of_int (539)) - (Prims.of_int (37))) + (Prims.of_int (37))))) (Obj.magic (explore_term dbg dfs @@ -3811,7 +4499,7 @@ let rec (explore_term : uu___3))) uu___3)) | - FStar_Reflection_Data.Tv_AscribedC + FStar_Reflection_V1_Data.Tv_AscribedC (e, c1, tac, uu___2) @@ -3852,7 +4540,7 @@ and (explore_pattern : Obj.t explorer -> Obj.t -> FStar_InteractiveHelpers_Base.genv -> - FStar_Reflection_Data.pattern -> + FStar_Reflection_V1_Data.pattern -> ((FStar_InteractiveHelpers_Base.genv * Obj.t * FStar_Tactics_Types.ctrl_flag), unit) FStar_Tactics_Effect.tac_repr) @@ -3865,60 +4553,72 @@ and (explore_pattern : fun ge0 -> fun pat -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (550)) (Prims.of_int (2)) - (Prims.of_int (550)) (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (551)) (Prims.of_int (2)) - (Prims.of_int (567)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (550)) (Prims.of_int (2)) + (Prims.of_int (550)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (551)) (Prims.of_int (2)) + (Prims.of_int (567)) (Prims.of_int (38))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> explore_pattern:")) (fun uu___ -> (fun uu___ -> match pat with - | FStar_Reflection_Data.Pat_Constant uu___1 -> + | FStar_Reflection_V1_Data.Pat_Constant uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (ge0, x, FStar_Tactics_Types.Continue)))) - | FStar_Reflection_Data.Pat_Cons (fv, us, patterns) - -> + | FStar_Reflection_V1_Data.Pat_Cons + (fv, us, patterns) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (554)) - (Prims.of_int (35)) - (Prims.of_int (561)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (563)) - (Prims.of_int (4)) - (Prims.of_int (563)) - (Prims.of_int (53))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (554)) + (Prims.of_int (35)) + (Prims.of_int (561)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (563)) + (Prims.of_int (4)) + (Prims.of_int (563)) + (Prims.of_int (53))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun ge_x_flag -> fun pat1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (555)) - (Prims.of_int (25)) - (Prims.of_int (555)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (554)) - (Prims.of_int (35)) - (Prims.of_int (561)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (555)) + (Prims.of_int (25)) + (Prims.of_int (555)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (554)) + (Prims.of_int (35)) + (Prims.of_int (561)) + (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ge_x_flag)) (fun uu___2 -> @@ -3927,18 +4627,22 @@ and (explore_pattern : | (ge01, x1, flag) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (556)) - (Prims.of_int (20)) - (Prims.of_int (556)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (555)) - (Prims.of_int (37)) - (Prims.of_int (561)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (556)) + (Prims.of_int (20)) + (Prims.of_int (556)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (555)) + (Prims.of_int (37)) + (Prims.of_int (561)) + (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> pat1)) @@ -3980,39 +4684,46 @@ and (explore_pattern : (ge0, x, FStar_Tactics_Types.Continue) patterns)) uu___1))) - | FStar_Reflection_Data.Pat_Var (bv, st) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, st) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (565)) - (Prims.of_int (14)) - (Prims.of_int (565)) - (Prims.of_int (56))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (566)) - (Prims.of_int (4)) - (Prims.of_int (566)) - (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (565)) - (Prims.of_int (34)) + (Prims.of_int (14)) (Prims.of_int (565)) - (Prims.of_int (45))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (565)) - (Prims.of_int (14)) - (Prims.of_int (565)) - (Prims.of_int (56))) + (Prims.of_int (566)) + (Prims.of_int (4)) + (Prims.of_int (566)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (565)) + (Prims.of_int (34)) + (Prims.of_int (565)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (565)) + (Prims.of_int (14)) + (Prims.of_int (565)) + (Prims.of_int (56))))) (Obj.magic - (FStar_Tactics_Builtins.unseal - st)) + (FStar_Tactics_Unseal.unseal st)) (fun uu___1 -> (fun uu___1 -> Obj.magic @@ -4025,7 +4736,7 @@ and (explore_pattern : (fun uu___1 -> (ge1, x, FStar_Tactics_Types.Continue))))) - | FStar_Reflection_Data.Pat_Dot_Term uu___1 -> + | FStar_Reflection_V1_Data.Pat_Dot_Term uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac @@ -4039,40 +4750,55 @@ let (free_in : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (574)) (Prims.of_int (4)) (Prims.of_int (574)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (575)) (Prims.of_int (4)) (Prims.of_int (593)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (574)) (Prims.of_int (4)) (Prims.of_int (574)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (575)) (Prims.of_int (4)) (Prims.of_int (593)) + (Prims.of_int (75))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun bv1 -> fun bv2 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (574)) (Prims.of_int (4)) - (Prims.of_int (574)) (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (574)) (Prims.of_int (4)) - (Prims.of_int (574)) (Prims.of_int (35))) - (Obj.magic (FStar_Tactics_Derived.name_of_bv bv1)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (574)) (Prims.of_int (4)) + (Prims.of_int (574)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (574)) (Prims.of_int (4)) + (Prims.of_int (574)) (Prims.of_int (35))))) + (Obj.magic (FStar_Tactics_V1_Derived.name_of_bv bv1)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (574)) (Prims.of_int (21)) - (Prims.of_int (574)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (574)) (Prims.of_int (4)) - (Prims.of_int (574)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (574)) + (Prims.of_int (21)) + (Prims.of_int (574)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (574)) (Prims.of_int (4)) + (Prims.of_int (574)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv bv2)) + (FStar_Tactics_V1_Derived.name_of_bv bv2)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> uu___1 = uu___2)))) uu___1))) @@ -4080,14 +4806,18 @@ let (free_in : (fun same_name -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (579)) (Prims.of_int (4)) - (Prims.of_int (589)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (590)) (Prims.of_int (4)) - (Prims.of_int (593)) (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (579)) (Prims.of_int (4)) + (Prims.of_int (589)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (590)) (Prims.of_int (4)) + (Prims.of_int (593)) (Prims.of_int (75))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> fun uu___4 -> @@ -4102,39 +4832,47 @@ let (free_in : fun c -> fun tv -> match tv with - | FStar_Reflection_Data.Tv_Var + | FStar_Reflection_V1_Data.Tv_Var bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (582)) - (Prims.of_int (18)) - (Prims.of_int (582)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (582)) - (Prims.of_int (12)) - (Prims.of_int (587)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (582)) - (Prims.of_int (40)) + (Prims.of_int (18)) (Prims.of_int (582)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (582)) - (Prims.of_int (18)) - (Prims.of_int (582)) - (Prims.of_int (55))) + (Prims.of_int (12)) + (Prims.of_int (587)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (582)) + (Prims.of_int (40)) + (Prims.of_int (582)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (582)) + (Prims.of_int (18)) + (Prims.of_int (582)) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv + (FStar_Tactics_V1_Derived.name_of_bv bv)) (fun uu___1 -> @@ -4153,32 +4891,40 @@ let (free_in : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (18)) (Prims.of_int (585)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (586)) (Prims.of_int (8)) (Prims.of_int (586)) - (Prims.of_int (21))) + (Prims.of_int (21))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (21)) (Prims.of_int (585)) - (Prims.of_int (54))) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (18)) (Prims.of_int (585)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_Tactics_Util.tryFind (same_name @@ -4209,39 +4955,47 @@ let (free_in : (fl, FStar_Tactics_Types.Continue))))) uu___1))) - | FStar_Reflection_Data.Tv_BVar + | FStar_Reflection_V1_Data.Tv_BVar bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (582)) - (Prims.of_int (18)) - (Prims.of_int (582)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (582)) - (Prims.of_int (12)) - (Prims.of_int (587)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (582)) - (Prims.of_int (40)) + (Prims.of_int (18)) (Prims.of_int (582)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (582)) - (Prims.of_int (18)) - (Prims.of_int (582)) - (Prims.of_int (55))) + (Prims.of_int (12)) + (Prims.of_int (587)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (582)) + (Prims.of_int (40)) + (Prims.of_int (582)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (582)) + (Prims.of_int (18)) + (Prims.of_int (582)) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv + (FStar_Tactics_V1_Derived.name_of_bv bv)) (fun uu___1 -> @@ -4260,32 +5014,40 @@ let (free_in : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (18)) (Prims.of_int (585)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (586)) (Prims.of_int (8)) (Prims.of_int (586)) - (Prims.of_int (21))) + (Prims.of_int (21))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (21)) (Prims.of_int (585)) - (Prims.of_int (54))) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (585)) (Prims.of_int (18)) (Prims.of_int (585)) - (Prims.of_int (76))) + (Prims.of_int (76))))) (Obj.magic (FStar_Tactics_Util.tryFind (same_name @@ -4328,31 +5090,39 @@ let (free_in : (fun update_free -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (591)) (Prims.of_int (10)) - (Prims.of_int (591)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (591)) (Prims.of_int (23)) - (Prims.of_int (593)) (Prims.of_int (75))) - (Obj.magic (FStar_Tactics_Builtins.top_env ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (591)) (Prims.of_int (10)) + (Prims.of_int (591)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (591)) (Prims.of_int (23)) + (Prims.of_int (593)) (Prims.of_int (75))))) + (Obj.magic (FStar_Tactics_V1_Builtins.top_env ())) (fun uu___ -> (fun e -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (592)) - (Prims.of_int (11)) - (Prims.of_int (592)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (593)) - (Prims.of_int (2)) - (Prims.of_int (593)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (592)) + (Prims.of_int (11)) + (Prims.of_int (592)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (593)) + (Prims.of_int (2)) + (Prims.of_int (593)) + (Prims.of_int (75))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_InteractiveHelpers_Base.mk_genv @@ -4361,32 +5131,40 @@ let (free_in : (fun ge -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (593)) - (Prims.of_int (15)) - (Prims.of_int (593)) - (Prims.of_int (75))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (593)) - (Prims.of_int (2)) - (Prims.of_int (593)) - (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (593)) - (Prims.of_int (20)) + (Prims.of_int (15)) (Prims.of_int (593)) - (Prims.of_int (74))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" (Prims.of_int (593)) - (Prims.of_int (15)) + (Prims.of_int (2)) (Prims.of_int (593)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (593)) + (Prims.of_int (20)) + (Prims.of_int (593)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (593)) + (Prims.of_int (15)) + (Prims.of_int (593)) + (Prims.of_int (75))))) (Obj.magic (explore_term false false () @@ -4416,12 +5194,19 @@ let (abs_free_in : fun ge -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (599)) (Prims.of_int (12)) (Prims.of_int (599)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (599)) (Prims.of_int (24)) (Prims.of_int (607)) - (Prims.of_int (9))) (Obj.magic (free_in t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (599)) (Prims.of_int (12)) + (Prims.of_int (599)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (599)) (Prims.of_int (24)) + (Prims.of_int (607)) (Prims.of_int (9))))) + (Obj.magic (free_in t)) (fun fvl -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> @@ -4446,12 +5231,18 @@ let (shadowed_free_in : fun ge -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (612)) (Prims.of_int (12)) (Prims.of_int (612)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (613)) (Prims.of_int (2)) (Prims.of_int (613)) - (Prims.of_int (54))) (Obj.magic (free_in t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (612)) (Prims.of_int (12)) + (Prims.of_int (612)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (613)) (Prims.of_int (2)) (Prims.of_int (613)) + (Prims.of_int (54))))) (Obj.magic (free_in t)) (fun fvl -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> @@ -4466,12 +5257,18 @@ let (term_has_shadowed_variables : fun ge -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (618)) (Prims.of_int (12)) (Prims.of_int (618)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.ExploreTerm.fst" - (Prims.of_int (619)) (Prims.of_int (2)) (Prims.of_int (619)) - (Prims.of_int (50))) (Obj.magic (free_in t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (618)) (Prims.of_int (12)) + (Prims.of_int (618)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.ExploreTerm.fst" + (Prims.of_int (619)) (Prims.of_int (2)) (Prims.of_int (619)) + (Prims.of_int (50))))) (Obj.magic (free_in t)) (fun fvl -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml index 7d9ef64bc9a..dc21c54bbd5 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml @@ -30,29 +30,43 @@ let (subst_shadowed_with_abs_in_assertions : fun shadowed_bv -> fun es -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (44)) (Prims.of_int (2)) (Prims.of_int (44)) - (Prims.of_int (80))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (44)) (Prims.of_int (81)) (Prims.of_int (73)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (44)) (Prims.of_int (16)) - (Prims.of_int (44)) (Prims.of_int (80))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (44)) (Prims.of_int (2)) - (Prims.of_int (44)) (Prims.of_int (80))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (44)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (44)) (Prims.of_int (81)) + (Prims.of_int (73)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (44)) (Prims.of_int (62)) - (Prims.of_int (44)) (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (44)) (Prims.of_int (16)) + (Prims.of_int (44)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (44)) (Prims.of_int (2)) + (Prims.of_int (44)) (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (44)) (Prims.of_int (62)) + (Prims.of_int (44)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_to_string ge)) (fun uu___ -> @@ -70,14 +84,18 @@ let (subst_shadowed_with_abs_in_assertions : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (46)) (Prims.of_int (19)) - (Prims.of_int (46)) (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (44)) (Prims.of_int (81)) - (Prims.of_int (73)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (46)) (Prims.of_int (19)) + (Prims.of_int (46)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (44)) (Prims.of_int (81)) + (Prims.of_int (73)) (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.generate_shadowed_subst ge)) @@ -87,39 +105,47 @@ let (subst_shadowed_with_abs_in_assertions : | (ge1, subst) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (47)) - (Prims.of_int (19)) - (Prims.of_int (47)) - (Prims.of_int (81))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (47)) - (Prims.of_int (84)) - (Prims.of_int (73)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (47)) + (Prims.of_int (19)) + (Prims.of_int (47)) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (47)) + (Prims.of_int (84)) + (Prims.of_int (73)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___2 -> match uu___2 with | (src, ty, tgt) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (47)) - (Prims.of_int (57)) - (Prims.of_int (47)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (47)) - (Prims.of_int (46)) - (Prims.of_int (47)) - (Prims.of_int (74))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (47)) + (Prims.of_int (57)) + (Prims.of_int (47)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (47)) + (Prims.of_int (46)) + (Prims.of_int (47)) + (Prims.of_int (74))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var tgt))) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac @@ -131,18 +157,22 @@ let (subst_shadowed_with_abs_in_assertions : (fun post_subst -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (54)) - (Prims.of_int (4)) - (Prims.of_int (55)) - (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (56)) - (Prims.of_int (4)) - (Prims.of_int (73)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (54)) + (Prims.of_int (4)) + (Prims.of_int (55)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (56)) + (Prims.of_int (4)) + (Prims.of_int (73)) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> if @@ -159,35 +189,43 @@ let (subst_shadowed_with_abs_in_assertions : (fun pre_subst -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (57)) - (Prims.of_int (42)) - (Prims.of_int (62)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (64)) - (Prims.of_int (2)) - (Prims.of_int (73)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (57)) + (Prims.of_int (42)) + (Prims.of_int (62)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (64)) + (Prims.of_int (2)) + (Prims.of_int (73)) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> fun subst1 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (6)) (Prims.of_int (59)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (60)) (Prims.of_int (6)) (Prims.of_int (62)) - (Prims.of_int (48))) + (Prims.of_int (48))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -199,32 +237,40 @@ let (subst_shadowed_with_abs_in_assertions : ((x, ty), y) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (12)) (Prims.of_int (59)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (12)) (Prims.of_int (59)) - (Prims.of_int (27))) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (12)) (Prims.of_int (59)) - (Prims.of_int (63))) + (Prims.of_int (63))))) (Obj.magic (FStar_InteractiveHelpers_Base.abv_to_string x)) @@ -234,48 +280,60 @@ let (subst_shadowed_with_abs_in_assertions : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (30)) (Prims.of_int (59)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (39)) (Prims.of_int (59)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (59)) (Prims.of_int (39)) (Prims.of_int (59)) - (Prims.of_int (55))) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string y)) (fun uu___6 -> @@ -317,18 +375,22 @@ let (subst_shadowed_with_abs_in_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (61)) (Prims.of_int (14)) (Prims.of_int (61)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (62)) (Prims.of_int (4)) (Prims.of_int (62)) - (Prims.of_int (48))) + (Prims.of_int (48))))) (Obj.magic (FStar_Tactics_Util.map to_string @@ -352,63 +414,79 @@ let (subst_shadowed_with_abs_in_assertions : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (64)) (Prims.of_int (2)) (Prims.of_int (68)) - (Prims.of_int (7))) + (Prims.of_int (7))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (68)) (Prims.of_int (8)) (Prims.of_int (73)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (if dbg then Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (66)) (Prims.of_int (4)) (Prims.of_int (66)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (67)) (Prims.of_int (4)) (Prims.of_int (67)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (66)) (Prims.of_int (18)) (Prims.of_int (66)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (66)) (Prims.of_int (4)) (Prims.of_int (66)) - (Prims.of_int (64))) + (Prims.of_int (64))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (66)) (Prims.of_int (38)) (Prims.of_int (66)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (subst_to_string pre_subst)) @@ -435,32 +513,40 @@ let (subst_shadowed_with_abs_in_assertions : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (67)) (Prims.of_int (18)) (Prims.of_int (67)) - (Prims.of_int (66))) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (67)) (Prims.of_int (4)) (Prims.of_int (67)) - (Prims.of_int (66))) + (Prims.of_int (66))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (67)) (Prims.of_int (39)) (Prims.of_int (67)) - (Prims.of_int (65))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (subst_to_string post_subst)) @@ -495,18 +581,22 @@ let (subst_shadowed_with_abs_in_assertions : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (70)) (Prims.of_int (14)) (Prims.of_int (70)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (70)) (Prims.of_int (66)) (Prims.of_int (73)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -522,18 +612,22 @@ let (subst_shadowed_with_abs_in_assertions : apply -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (71)) (Prims.of_int (13)) (Prims.of_int (71)) - (Prims.of_int (36))) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (71)) (Prims.of_int (39)) (Prims.of_int (73)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (apply pre_subst @@ -544,18 +638,22 @@ let (subst_shadowed_with_abs_in_assertions : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (72)) (Prims.of_int (14)) (Prims.of_int (72)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (73)) (Prims.of_int (2)) (Prims.of_int (73)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (apply post_subst @@ -589,111 +687,141 @@ let (term_to_printout : fun prefix -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (87)) (Prims.of_int (12)) (Prims.of_int (87)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (87)) (Prims.of_int (31)) (Prims.of_int (92)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (87)) (Prims.of_int (12)) + (Prims.of_int (87)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (87)) (Prims.of_int (31)) + (Prims.of_int (92)) (Prims.of_int (46))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.abs_free_in ge t)) (fun uu___ -> (fun abs -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (88)) (Prims.of_int (20)) - (Prims.of_int (88)) (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (88)) (Prims.of_int (71)) - (Prims.of_int (92)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (88)) (Prims.of_int (20)) + (Prims.of_int (88)) (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (88)) (Prims.of_int (71)) + (Prims.of_int (92)) (Prims.of_int (46))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_List_Tot_Base.map (fun uu___1 -> match uu___1 with | (bv, t1) -> - FStar_Reflection_Derived.mk_binder bv t1) - abs)) + FStar_Reflection_V1_Derived.mk_binder bv + t1) abs)) (fun uu___ -> (fun abs_binders -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (89)) (Prims.of_int (18)) - (Prims.of_int (89)) (Prims.of_int (59))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (89)) (Prims.of_int (62)) - (Prims.of_int (92)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (89)) + (Prims.of_int (18)) + (Prims.of_int (89)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (89)) + (Prims.of_int (62)) + (Prims.of_int (92)) + (Prims.of_int (46))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (bv, uu___1) -> - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv)) abs)) (fun uu___ -> (fun abs_terms -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (90)) - (Prims.of_int (10)) - (Prims.of_int (90)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (90)) - (Prims.of_int (33)) - (Prims.of_int (92)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (90)) + (Prims.of_int (10)) + (Prims.of_int (90)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (90)) + (Prims.of_int (33)) + (Prims.of_int (92)) + (Prims.of_int (46))))) (Obj.magic - (FStar_Tactics_Derived.mk_abs + (FStar_Tactics_V1_Derived.mk_abs abs_binders t)) (fun uu___ -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (91)) - (Prims.of_int (10)) - (Prims.of_int (91)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (92)) - (Prims.of_int (2)) - (Prims.of_int (92)) - (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (91)) + (Prims.of_int (10)) + (Prims.of_int (91)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (92)) + (Prims.of_int (2)) + (Prims.of_int (92)) + (Prims.of_int (46))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_e_app + FStar_Reflection_V1_Derived.mk_e_app t1 abs_terms)) (fun uu___ -> (fun t2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (92)) (Prims.of_int (28)) (Prims.of_int (92)) - (Prims.of_int (46))) - (FStar_Range.mk_range + (Prims.of_int (46))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (92)) (Prims.of_int (2)) (Prims.of_int (92)) - (Prims.of_int (46))) + (Prims.of_int (46))))) (Obj.magic ( - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string t2)) (fun uu___ -> @@ -742,25 +870,33 @@ let (propositions_to_printout : fun prefix -> fun pl -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (103)) (Prims.of_int (28)) (Prims.of_int (105)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (106)) (Prims.of_int (4)) (Prims.of_int (113)) - (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (103)) (Prims.of_int (28)) + (Prims.of_int (105)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (106)) (Prims.of_int (4)) + (Prims.of_int (113)) (Prims.of_int (5))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun i -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (104)) (Prims.of_int (18)) - (Prims.of_int (104)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (105)) (Prims.of_int (4)) - (Prims.of_int (105)) (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (104)) (Prims.of_int (18)) + (Prims.of_int (104)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (105)) (Prims.of_int (4)) + (Prims.of_int (105)) (Prims.of_int (40))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat prefix @@ -773,14 +909,18 @@ let (propositions_to_printout : (fun prop_to_printout -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (107)) (Prims.of_int (12)) - (Prims.of_int (107)) (Prims.of_int (85))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (107)) (Prims.of_int (88)) - (Prims.of_int (113)) (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (107)) (Prims.of_int (12)) + (Prims.of_int (107)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (107)) (Prims.of_int (88)) + (Prims.of_int (113)) (Prims.of_int (5))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> string_to_printout (Prims.strcat prefix ":num") @@ -790,31 +930,43 @@ let (propositions_to_printout : (fun str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (108)) (Prims.of_int (46)) - (Prims.of_int (110)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (111)) (Prims.of_int (4)) - (Prims.of_int (113)) (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (108)) + (Prims.of_int (46)) + (Prims.of_int (110)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (111)) + (Prims.of_int (4)) + (Prims.of_int (113)) + (Prims.of_int (5))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun s_i -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (109)) - (Prims.of_int (15)) - (Prims.of_int (109)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (108)) - (Prims.of_int (46)) - (Prims.of_int (110)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (109)) + (Prims.of_int (15)) + (Prims.of_int (109)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (108)) + (Prims.of_int (46)) + (Prims.of_int (110)) + (Prims.of_int (33))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> s_i)) (fun uu___1 -> @@ -823,32 +975,42 @@ let (propositions_to_printout : | (s, i) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (110)) - (Prims.of_int (4)) - (Prims.of_int (110)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (110)) - (Prims.of_int (4)) - (Prims.of_int (110)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (110)) + (Prims.of_int (4)) + (Prims.of_int (110)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (110)) + (Prims.of_int (4)) + (Prims.of_int (110)) + (Prims.of_int (33))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (110)) (Prims.of_int (8)) (Prims.of_int (110)) - (Prims.of_int (28))) - (FStar_Range.mk_range + (Prims.of_int (28))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic ( prop_to_printout @@ -872,18 +1034,22 @@ let (propositions_to_printout : (fun concat_prop -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (112)) - (Prims.of_int (15)) - (Prims.of_int (112)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (111)) - (Prims.of_int (4)) - (Prims.of_int (113)) - (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (112)) + (Prims.of_int (15)) + (Prims.of_int (112)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (111)) + (Prims.of_int (4)) + (Prims.of_int (113)) + (Prims.of_int (5))))) (Obj.magic (FStar_Tactics_Util.fold_left concat_prop @@ -929,26 +1095,34 @@ let (result_to_printout : fun prefix -> fun res -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (126)) (Prims.of_int (12)) (Prims.of_int (126)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (126)) (Prims.of_int (34)) (Prims.of_int (142)) - (Prims.of_int (50))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (126)) (Prims.of_int (12)) + (Prims.of_int (126)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (126)) (Prims.of_int (34)) + (Prims.of_int (142)) (Prims.of_int (50))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Prims.strcat prefix ":BEGIN\n")) (fun uu___ -> (fun str -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (131)) (Prims.of_int (4)) - (Prims.of_int (135)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (126)) (Prims.of_int (34)) - (Prims.of_int (142)) (Prims.of_int (50))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (131)) (Prims.of_int (4)) + (Prims.of_int (135)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (126)) (Prims.of_int (34)) + (Prims.of_int (142)) (Prims.of_int (50))))) (match res with | ESuccess (ge, a) -> Obj.magic @@ -962,30 +1136,43 @@ let (result_to_printout : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (134)) (Prims.of_int (15)) - (Prims.of_int (134)) (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (135)) (Prims.of_int (6)) - (Prims.of_int (135)) (Prims.of_int (26))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (134)) - (Prims.of_int (28)) + (Prims.of_int (15)) (Prims.of_int (134)) - (Prims.of_int (40))) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (134)) - (Prims.of_int (15)) - (Prims.of_int (134)) - (Prims.of_int (40))) + (Prims.of_int (135)) + (Prims.of_int (6)) + (Prims.of_int (135)) + (Prims.of_int (26))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (134)) + (Prims.of_int (28)) + (Prims.of_int (134)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (134)) + (Prims.of_int (15)) + (Prims.of_int (134)) + (Prims.of_int (40))))) (Obj.magic - (FStar_Tactics_Builtins.top_env ())) + (FStar_Tactics_V1_Builtins.top_env + ())) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -1002,14 +1189,22 @@ let (result_to_printout : | (err, ge, pres, posts) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (138)) (Prims.of_int (12)) - (Prims.of_int (138)) (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (138)) (Prims.of_int (57)) - (Prims.of_int (142)) (Prims.of_int (50))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (138)) + (Prims.of_int (12)) + (Prims.of_int (138)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (138)) + (Prims.of_int (57)) + (Prims.of_int (142)) + (Prims.of_int (50))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat str @@ -1019,32 +1214,40 @@ let (result_to_printout : (fun str1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (140)) - (Prims.of_int (12)) - (Prims.of_int (140)) - (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (140)) - (Prims.of_int (72)) - (Prims.of_int (142)) - (Prims.of_int (50))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (140)) - (Prims.of_int (18)) + (Prims.of_int (12)) (Prims.of_int (140)) - (Prims.of_int (69))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (140)) + (Prims.of_int (72)) + (Prims.of_int (142)) + (Prims.of_int (50))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (140)) + (Prims.of_int (18)) + (Prims.of_int (140)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (propositions_to_printout ge @@ -1059,32 +1262,42 @@ let (result_to_printout : (fun str2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (141)) - (Prims.of_int (12)) - (Prims.of_int (141)) - (Prims.of_int (71))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (141)) - (Prims.of_int (18)) + (Prims.of_int (12)) (Prims.of_int (141)) - (Prims.of_int (71))) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (141)) + (Prims.of_int (18)) + (Prims.of_int (141)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (propositions_to_printout ge @@ -1116,14 +1329,19 @@ let (printout_result : fun prefix -> fun res -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (146)) (Prims.of_int (8)) (Prims.of_int (146)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (146)) (Prims.of_int (2)) (Prims.of_int (146)) - (Prims.of_int (39))) (Obj.magic (result_to_printout prefix res)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (146)) (Prims.of_int (8)) (Prims.of_int (146)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (146)) (Prims.of_int (2)) (Prims.of_int (146)) + (Prims.of_int (39))))) + (Obj.magic (result_to_printout prefix res)) (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.print uu___)) + (fun uu___ -> Obj.magic (FStar_Tactics_V1_Builtins.print uu___)) uu___) let (printout_success : FStar_InteractiveHelpers_Base.genv -> @@ -1140,49 +1358,76 @@ let (_debug_print_var : fun name -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (157)) (Prims.of_int (2)) (Prims.of_int (157)) - (Prims.of_int (63))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (2)) (Prims.of_int (170)) - (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (157)) (Prims.of_int (8)) (Prims.of_int (157)) - (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (157)) (Prims.of_int (2)) (Prims.of_int (157)) - (Prims.of_int (63))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (158)) (Prims.of_int (2)) (Prims.of_int (170)) + (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (157)) (Prims.of_int (32)) - (Prims.of_int (157)) (Prims.of_int (62))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (157)) (Prims.of_int (8)) + (Prims.of_int (157)) (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (157)) (Prims.of_int (2)) + (Prims.of_int (157)) (Prims.of_int (63))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (157)) (Prims.of_int (39)) - (Prims.of_int (157)) (Prims.of_int (62))) + (Prims.of_int (157)) (Prims.of_int (32)) + (Prims.of_int (157)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (157)) (Prims.of_int (46)) - (Prims.of_int (157)) (Prims.of_int (62))) + (Prims.of_int (157)) (Prims.of_int (39)) + (Prims.of_int (157)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (157)) + (Prims.of_int (46)) + (Prims.of_int (157)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string t)) + (FStar_Tactics_V1_Builtins.term_to_string + t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat ": " uu___)))) @@ -1194,41 +1439,58 @@ let (_debug_print_var : (fun uu___1 -> Prims.strcat "_debug_print_var: " uu___)))) (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.print uu___)) - uu___))) + (fun uu___ -> + Obj.magic (FStar_Tactics_V1_Builtins.print uu___)) uu___))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (8)) - (Prims.of_int (160)) (Prims.of_int (11))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (162)) (Prims.of_int (2)) - (Prims.of_int (170)) (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (14)) - (Prims.of_int (158)) (Prims.of_int (36))) + (Prims.of_int (158)) (Prims.of_int (8)) + (Prims.of_int (160)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (8)) - (Prims.of_int (160)) (Prims.of_int (11))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (162)) (Prims.of_int (2)) + (Prims.of_int (170)) (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (22)) - (Prims.of_int (158)) (Prims.of_int (34))) + (Prims.of_int (158)) (Prims.of_int (14)) + (Prims.of_int (158)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (158)) (Prims.of_int (14)) - (Prims.of_int (158)) (Prims.of_int (36))) - (Obj.magic (FStar_Tactics_Builtins.top_env ())) + (Prims.of_int (158)) (Prims.of_int (8)) + (Prims.of_int (160)) (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (158)) + (Prims.of_int (22)) + (Prims.of_int (158)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (158)) + (Prims.of_int (14)) + (Prims.of_int (158)) + (Prims.of_int (36))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.top_env ())) (fun uu___1 -> (fun uu___1 -> Obj.magic @@ -1241,34 +1503,42 @@ let (_debug_print_var : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (159)) - (Prims.of_int (21)) - (Prims.of_int (159)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (159)) - (Prims.of_int (15)) - (Prims.of_int (159)) - (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (159)) - (Prims.of_int (33)) + (Prims.of_int (21)) (Prims.of_int (159)) - (Prims.of_int (50))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (159)) + (Prims.of_int (15)) + (Prims.of_int (159)) + (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (159)) + (Prims.of_int (33)) + (Prims.of_int (159)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ty)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -1278,7 +1548,7 @@ let (_debug_print_var : (fun uu___2 -> (fun uu___2 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___2)) uu___2))) | uu___2 -> Obj.magic @@ -1289,41 +1559,58 @@ let (_debug_print_var : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (162)) (Prims.of_int (2)) - (Prims.of_int (162)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (163)) (Prims.of_int (2)) - (Prims.of_int (170)) (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (162)) - (Prims.of_int (8)) + (Prims.of_int (2)) (Prims.of_int (162)) - (Prims.of_int (42))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (162)) + (Prims.of_int (163)) (Prims.of_int (2)) - (Prims.of_int (162)) - (Prims.of_int (42))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (170)) + (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (162)) - (Prims.of_int (25)) + (Prims.of_int (8)) (Prims.of_int (162)) - (Prims.of_int (41))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (162)) + (Prims.of_int (2)) + (Prims.of_int (162)) + (Prims.of_int (42))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (162)) + (Prims.of_int (25)) + (Prims.of_int (162)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.term_construct t)) @@ -1335,114 +1622,140 @@ let (_debug_print_var : (fun uu___2 -> (fun uu___2 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___2)) uu___2))) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (163)) - (Prims.of_int (8)) - (Prims.of_int (168)) - (Prims.of_int (11))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (170)) - (Prims.of_int (2)) - (Prims.of_int (170)) - (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (163)) - (Prims.of_int (14)) - (Prims.of_int (163)) - (Prims.of_int (23))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (163)) (Prims.of_int (8)) (Prims.of_int (168)) - (Prims.of_int (11))) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (170)) + (Prims.of_int (2)) + (Prims.of_int (170)) + (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (163)) + (Prims.of_int (14)) + (Prims.of_int (163)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (163)) + (Prims.of_int (8)) + (Prims.of_int (168)) + (Prims.of_int (11))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Tv_Var + | FStar_Reflection_V1_Data.Tv_Var bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (165)) (Prims.of_int (22)) (Prims.of_int (165)) - (Prims.of_int (35))) - (FStar_Range.mk_range + (Prims.of_int (35))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (166)) (Prims.of_int (4)) (Prims.of_int (167)) - (Prims.of_int (52))) + (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac ( fun uu___4 -> - FStar_Reflection_Builtins.inspect_bv + FStar_Reflection_V1_Builtins.inspect_bv bv)) (fun uu___4 -> (fun b -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (166)) (Prims.of_int (10)) (Prims.of_int (167)) - (Prims.of_int (52))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (166)) (Prims.of_int (4)) (Prims.of_int (167)) - (Prims.of_int (52))) + (Prims.of_int (52))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (166)) (Prims.of_int (32)) (Prims.of_int (167)) - (Prims.of_int (51))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (166)) (Prims.of_int (32)) (Prims.of_int (166)) - (Prims.of_int (45))) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv + (FStar_Tactics_V1_Derived.name_of_bv bv)) (fun uu___4 -> @@ -1454,7 +1767,7 @@ let (_debug_print_var : (Prims.strcat "; index: " (Prims.string_of_int - b.FStar_Reflection_Data.bv_index)))))) + b.FStar_Reflection_V1_Data.bv_index)))))) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -1468,7 +1781,7 @@ let (_debug_print_var : (fun uu___4 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___4)) uu___4))) uu___4))) @@ -1482,7 +1795,7 @@ let (_debug_print_var : (fun uu___3 -> (fun uu___3 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print "end of _debug_print_var")) uu___3))) uu___2))) uu___1))) uu___) @@ -1491,69 +1804,93 @@ let magic_witness : 'a . unit -> 'a = let (tadmit_no_warning : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V1_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "InteractiveHelpers"; "Output"; "magic_witness"]))) let (pp_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (184)) (Prims.of_int (2)) (Prims.of_int (184)) - (Prims.of_int (62))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (185)) (Prims.of_int (2)) (Prims.of_int (186)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (184)) (Prims.of_int (8)) (Prims.of_int (184)) - (Prims.of_int (62))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (184)) (Prims.of_int (2)) (Prims.of_int (184)) - (Prims.of_int (62))) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (185)) (Prims.of_int (2)) (Prims.of_int (186)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (184)) (Prims.of_int (8)) + (Prims.of_int (184)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (184)) (Prims.of_int (2)) + (Prims.of_int (184)) (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (184)) (Prims.of_int (31)) - (Prims.of_int (184)) (Prims.of_int (61))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (184)) (Prims.of_int (47)) - (Prims.of_int (184)) (Prims.of_int (60))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" (Prims.of_int (184)) (Prims.of_int (31)) - (Prims.of_int (184)) (Prims.of_int (61))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (Prims.of_int (184)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (184)) (Prims.of_int (47)) + (Prims.of_int (184)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (184)) (Prims.of_int (31)) + (Prims.of_int (184)) (Prims.of_int (61))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_Builtins.term_to_string uu___1)) - uu___1))) + (FStar_Tactics_V1_Builtins.term_to_string + uu___1)) uu___1))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "post-processing: " uu___1)))) (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Builtins.print uu___1)) - uu___1))) + (fun uu___1 -> + Obj.magic (FStar_Tactics_V1_Builtins.print uu___1)) uu___1))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (185)) (Prims.of_int (2)) - (Prims.of_int (185)) (Prims.of_int (9))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Output.fst" - (Prims.of_int (186)) (Prims.of_int (2)) - (Prims.of_int (186)) (Prims.of_int (9))) - (Obj.magic (FStar_Tactics_Builtins.dump "")) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (185)) (Prims.of_int (2)) + (Prims.of_int (185)) (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Output.fst" + (Prims.of_int (186)) (Prims.of_int (2)) + (Prims.of_int (186)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V1_Builtins.dump "")) (fun uu___2 -> - (fun uu___2 -> Obj.magic (FStar_Tactics_Derived.trefl ())) - uu___2))) uu___1) \ No newline at end of file + (fun uu___2 -> + Obj.magic (FStar_Tactics_V1_Derived.trefl ())) uu___2))) + uu___1) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml index 9ba50e15032..fe5946bc454 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml @@ -3,15 +3,15 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old type meta_info = unit let (focus_on_term : meta_info) = Obj.magic (fun uu___ -> failwith "Not yet implemented:focus_on_term") let (end_proof : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Builtins.tadmit_t - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const FStar_Reflection_Data.C_Unit)) + FStar_Tactics_V1_Builtins.tadmit_t + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_Unit)) let (unsquash_equality : FStar_Reflection_Types.term -> ((FStar_Reflection_Types.term * FStar_Reflection_Types.term) @@ -20,19 +20,23 @@ let (unsquash_equality : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (33)) (Prims.of_int (14)) (Prims.of_int (33)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (33)) (Prims.of_int (8)) (Prims.of_int (35)) - (Prims.of_int (13))) - (Obj.magic (FStar_Reflection_Formula.term_as_formula t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (29)) (Prims.of_int (14)) (Prims.of_int (29)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (29)) (Prims.of_int (8)) (Prims.of_int (31)) + (Prims.of_int (13))))) + (Obj.magic (FStar_Reflection_V1_Formula.term_as_formula t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___2, l, r) -> + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq uu___2, l, r) -> FStar_Pervasives_Native.Some (l, r) | uu___2 -> FStar_Pervasives_Native.None)) let (pp_explore : @@ -48,72 +52,94 @@ let (pp_explore : fun f -> fun x -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (44)) (Prims.of_int (10)) (Prims.of_int (44)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (44)) (Prims.of_int (24)) (Prims.of_int (55)) - (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (40)) (Prims.of_int (10)) + (Prims.of_int (40)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (40)) (Prims.of_int (24)) + (Prims.of_int (51)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) (fun uu___ -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (45)) (Prims.of_int (10)) - (Prims.of_int (45)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (46)) (Prims.of_int (2)) - (Prims.of_int (55)) (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (41)) (Prims.of_int (10)) + (Prims.of_int (41)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (42)) (Prims.of_int (2)) + (Prims.of_int (51)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_env ())) (fun uu___ -> (fun e -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (46)) (Prims.of_int (2)) - (Prims.of_int (46)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (47)) (Prims.of_int (8)) - (Prims.of_int (54)) - (Prims.of_int (52))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (46)) - (Prims.of_int (16)) - (Prims.of_int (46)) - (Prims.of_int (55))) + (Prims.of_int (42)) + (Prims.of_int (2)) + (Prims.of_int (42)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (46)) - (Prims.of_int (2)) - (Prims.of_int (46)) - (Prims.of_int (55))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (43)) + (Prims.of_int (8)) + (Prims.of_int (50)) + (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (46)) - (Prims.of_int (38)) - (Prims.of_int (46)) - (Prims.of_int (54))) + (Prims.of_int (42)) + (Prims.of_int (16)) + (Prims.of_int (42)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (42)) + (Prims.of_int (2)) + (Prims.of_int (42)) + (Prims.of_int (55))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (42)) + (Prims.of_int (38)) + (Prims.of_int (42)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string g)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -130,18 +156,22 @@ let (pp_explore : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (47)) - (Prims.of_int (14)) - (Prims.of_int (47)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (47)) - (Prims.of_int (8)) - (Prims.of_int (54)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (43)) + (Prims.of_int (14)) + (Prims.of_int (43)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (43)) + (Prims.of_int (8)) + (Prims.of_int (50)) + (Prims.of_int (52))))) (Obj.magic (unsquash_equality g)) (fun uu___1 -> @@ -151,18 +181,24 @@ let (pp_explore : (l, uu___2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (49)) - (Prims.of_int (12)) - (Prims.of_int (49)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (49)) - (Prims.of_int (39)) - (Prims.of_int (53)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (45)) + (Prims.of_int (12)) + (Prims.of_int (45)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (45)) + (Prims.of_int (39)) + (Prims.of_int (49)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_typ_or_comp dbg e l)) @@ -170,18 +206,22 @@ let (pp_explore : (fun c -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (50)) + (Prims.of_int (46)) (Prims.of_int (13)) - (Prims.of_int (50)) - (Prims.of_int (28))) + (Prims.of_int (46)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (51)) + (Prims.of_int (47)) (Prims.of_int (4)) - (Prims.of_int (53)) - (Prims.of_int (16))) + (Prims.of_int (49)) + (Prims.of_int (16))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -193,48 +233,60 @@ let (pp_explore : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (51)) + (Prims.of_int (47)) (Prims.of_int (4)) - (Prims.of_int (51)) - (Prims.of_int (68))) + (Prims.of_int (47)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (51)) + (Prims.of_int (47)) (Prims.of_int (69)) - (Prims.of_int (53)) - (Prims.of_int (16))) + (Prims.of_int (49)) + (Prims.of_int (16))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (51)) + (Prims.of_int (47)) (Prims.of_int (18)) - (Prims.of_int (51)) - (Prims.of_int (68))) + (Prims.of_int (47)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (51)) + (Prims.of_int (47)) (Prims.of_int (4)) - (Prims.of_int (51)) - (Prims.of_int (68))) + (Prims.of_int (47)) + (Prims.of_int (68))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (47)) (Prims.of_int (51)) - (Prims.of_int (51)) - (Prims.of_int (51)) - (Prims.of_int (67))) + (Prims.of_int (47)) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string l)) (fun uu___3 -> @@ -259,18 +311,22 @@ let (pp_explore : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (52)) + (Prims.of_int (48)) (Prims.of_int (12)) - (Prims.of_int (52)) - (Prims.of_int (49))) + (Prims.of_int (48)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (53)) + (Prims.of_int (49)) (Prims.of_int (4)) - (Prims.of_int (53)) - (Prims.of_int (16))) + (Prims.of_int (49)) + (Prims.of_int (16))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.explore_term dbg dfs @@ -297,12 +353,16 @@ let (pp_explore_print_goal : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (63)) (Prims.of_int (4)) (Prims.of_int (63)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (65)) (Prims.of_int (2)) (Prims.of_int (65)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (59)) (Prims.of_int (4)) (Prims.of_int (59)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (61)) (Prims.of_int (2)) (Prims.of_int (61)) + (Prims.of_int (28))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (fun uu___1 -> @@ -328,7 +388,7 @@ let (is_focus_on_term : Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.is_fvar t + FStar_Reflection_V1_Derived.is_fvar t "FStar.InteractiveHelpers.PostProcess.focus_on_term"))) uu___ let (term_is_assert_or_assume : @@ -338,20 +398,25 @@ let (term_is_assert_or_assume : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (76)) (Prims.of_int (8)) (Prims.of_int (76)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (76)) (Prims.of_int (2)) (Prims.of_int (81)) - (Prims.of_int (13))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (72)) (Prims.of_int (8)) (Prims.of_int (72)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (72)) (Prims.of_int (2)) (Prims.of_int (77)) + (Prims.of_int (13))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Data.Tv_App - (hd, (a, FStar_Reflection_Data.Q_Explicit)) -> + | FStar_Reflection_V1_Data.Tv_App + (hd, (a, FStar_Reflection_V1_Data.Q_Explicit)) -> if - FStar_Reflection_Derived.is_any_fvar a + FStar_Reflection_V1_Derived.is_any_fvar a ["Prims._assert"; "FStar.Pervasives.assert_norm"; "Prims._assume"] @@ -359,26 +424,30 @@ let (term_is_assert_or_assume : else FStar_Pervasives_Native.None | uu___2 -> FStar_Pervasives_Native.None)) let (is_focused_term : - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> (FStar_Reflection_Types.term FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> (fun tv -> match tv with - | FStar_Reflection_Data.Tv_Let (recf, attrs, uu___, uu___1, def, body) - -> + | FStar_Reflection_V1_Data.Tv_Let + (recf, attrs, uu___, uu___1, def, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (89)) (Prims.of_int (7)) - (Prims.of_int (89)) (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (89)) (Prims.of_int (4)) - (Prims.of_int (89)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (85)) (Prims.of_int (7)) + (Prims.of_int (85)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (85)) (Prims.of_int (4)) + (Prims.of_int (85)) (Prims.of_int (52))))) (Obj.magic (is_focus_on_term def)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -395,7 +464,7 @@ type 'a exploration_result = { ge: FStar_InteractiveHelpers_Base.genv ; parents: - (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Data.term_view) + (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_V1_Data.term_view) Prims.list ; tgt_comp: @@ -410,8 +479,8 @@ let __proj__Mkexploration_result__item__ge : let __proj__Mkexploration_result__item__parents : 'a . 'a exploration_result -> - (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Data.term_view) - Prims.list + (FStar_InteractiveHelpers_Base.genv * + FStar_Reflection_V1_Data.term_view) Prims.list = fun projectee -> match projectee with | { ge; parents; tgt_comp; res;_} -> parents @@ -432,7 +501,7 @@ let mk_exploration_result : unit -> FStar_InteractiveHelpers_Base.genv -> (FStar_InteractiveHelpers_Base.genv * - FStar_Reflection_Data.term_view) Prims.list -> + FStar_Reflection_V1_Data.term_view) Prims.list -> FStar_InteractiveHelpers_ExploreTerm.typ_or_comp FStar_Pervasives_Native.option -> 'uuuuu -> 'uuuuu exploration_result @@ -446,11 +515,11 @@ let mk_exploration_result : } type 'a pred_explorer = FStar_InteractiveHelpers_Base.genv -> - (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Data.term_view) + (FStar_InteractiveHelpers_Base.genv * FStar_Reflection_V1_Data.term_view) Prims.list -> FStar_InteractiveHelpers_ExploreTerm.typ_or_comp FStar_Pervasives_Native.option -> - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> ('a FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr let find_predicated_term_explorer : @@ -468,14 +537,18 @@ let find_predicated_term_explorer : fun opt_c -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (108)) (Prims.of_int (2)) - (Prims.of_int (108)) (Prims.of_int (77))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (109)) (Prims.of_int (2)) - (Prims.of_int (115)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (104)) (Prims.of_int (2)) + (Prims.of_int (104)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (105)) (Prims.of_int (2)) + (Prims.of_int (111)) (Prims.of_int (26))))) (if FStar_Pervasives_Native.uu___is_Some acc then Obj.magic @@ -491,59 +564,76 @@ let find_predicated_term_explorer : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (109)) (Prims.of_int (2)) - (Prims.of_int (112)) (Prims.of_int (7))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (113)) (Prims.of_int (2)) - (Prims.of_int (115)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (105)) (Prims.of_int (2)) + (Prims.of_int (108)) (Prims.of_int (7))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (109)) (Prims.of_int (2)) + (Prims.of_int (111)) + (Prims.of_int (26))))) (if dbg then Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) - (Prims.of_int (10)) - (Prims.of_int (111)) - (Prims.of_int (96))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) - (Prims.of_int (4)) - (Prims.of_int (111)) - (Prims.of_int (96))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) - (Prims.of_int (47)) - (Prims.of_int (111)) - (Prims.of_int (95))) + (Prims.of_int (107)) + (Prims.of_int (10)) + (Prims.of_int (107)) + (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (107)) + (Prims.of_int (4)) + (Prims.of_int (107)) + (Prims.of_int (96))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) + (Prims.of_int (107)) (Prims.of_int (47)) - (Prims.of_int (111)) - (Prims.of_int (68))) + (Prims.of_int (107)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) - (Prims.of_int (47)) - (Prims.of_int (111)) - (Prims.of_int (95))) + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (107)) + (Prims.of_int (47)) + (Prims.of_int (107)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (107)) + (Prims.of_int (47)) + (Prims.of_int (107)) + (Prims.of_int (95))))) (Obj.magic (FStar_InteractiveHelpers_Base.term_view_construct t)) @@ -551,55 +641,67 @@ let find_predicated_term_explorer : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) - (Prims.of_int (71)) - (Prims.of_int (111)) - (Prims.of_int (95))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (107)) + (Prims.of_int (71)) + (Prims.of_int (107)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) + (Prims.of_int (107)) (Prims.of_int (79)) - (Prims.of_int (111)) - (Prims.of_int (95))) + (Prims.of_int (107)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (107)) + (Prims.of_int (103)) (Prims.of_int (62)) - (Prims.of_int (107)) - (Prims.of_int (63))) + (Prims.of_int (103)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (111)) + (Prims.of_int (107)) (Prims.of_int (79)) - (Prims.of_int (111)) - (Prims.of_int (95))) + (Prims.of_int (107)) + (Prims.of_int (95))))) (Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack t)) (fun uu___2 -> (fun uu___2 -> Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string uu___2)) uu___2))) (fun @@ -628,7 +730,7 @@ let find_predicated_term_explorer : (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_Builtins.print + (FStar_Tactics_V1_Builtins.print uu___1)) uu___1))) else Obj.magic @@ -639,18 +741,22 @@ let find_predicated_term_explorer : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (113)) - (Prims.of_int (8)) - (Prims.of_int (113)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (113)) - (Prims.of_int (2)) - (Prims.of_int (115)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (109)) + (Prims.of_int (8)) + (Prims.of_int (109)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (109)) + (Prims.of_int (2)) + (Prims.of_int (111)) + (Prims.of_int (26))))) (Obj.magic (pred ge pl opt_c t)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -675,7 +781,7 @@ let find_predicated_term : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> (FStar_InteractiveHelpers_Base.genv * - FStar_Reflection_Data.term_view) Prims.list -> + FStar_Reflection_V1_Data.term_view) Prims.list -> FStar_InteractiveHelpers_ExploreTerm.typ_or_comp FStar_Pervasives_Native.option -> FStar_Reflection_Types.term -> @@ -690,14 +796,18 @@ let find_predicated_term : fun opt_c -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (122)) (Prims.of_int (6)) - (Prims.of_int (124)) (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (122)) (Prims.of_int (2)) - (Prims.of_int (124)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (118)) (Prims.of_int (6)) + (Prims.of_int (120)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (118)) (Prims.of_int (2)) + (Prims.of_int (120)) (Prims.of_int (39))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.explore_term dbg dfs () @@ -714,7 +824,7 @@ let (find_focused_term : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> (FStar_InteractiveHelpers_Base.genv * - FStar_Reflection_Data.term_view) Prims.list -> + FStar_Reflection_V1_Data.term_view) Prims.list -> FStar_InteractiveHelpers_ExploreTerm.typ_or_comp FStar_Pervasives_Native.option -> FStar_Reflection_Types.term -> @@ -737,62 +847,88 @@ let (find_focused_term_in_current_goal : = fun dbg -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (138)) (Prims.of_int (10)) (Prims.of_int (138)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (138)) (Prims.of_int (24)) (Prims.of_int (155)) - (Prims.of_int (5))) (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (134)) (Prims.of_int (10)) (Prims.of_int (134)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (134)) (Prims.of_int (24)) (Prims.of_int (151)) + (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) (fun uu___ -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (139)) (Prims.of_int (10)) - (Prims.of_int (139)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (140)) (Prims.of_int (2)) - (Prims.of_int (155)) (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (135)) (Prims.of_int (10)) + (Prims.of_int (135)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (136)) (Prims.of_int (2)) + (Prims.of_int (151)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_env ())) (fun uu___ -> (fun e -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (140)) (Prims.of_int (2)) - (Prims.of_int (140)) (Prims.of_int (80))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (141)) (Prims.of_int (8)) - (Prims.of_int (154)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (140)) (Prims.of_int (16)) - (Prims.of_int (140)) (Prims.of_int (80))) + (Prims.of_int (136)) (Prims.of_int (2)) + (Prims.of_int (136)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (140)) (Prims.of_int (2)) - (Prims.of_int (140)) (Prims.of_int (80))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (137)) (Prims.of_int (8)) + (Prims.of_int (150)) (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (136)) + (Prims.of_int (16)) + (Prims.of_int (136)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (140)) - (Prims.of_int (63)) - (Prims.of_int (140)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (136)) + (Prims.of_int (2)) + (Prims.of_int (136)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (136)) + (Prims.of_int (63)) + (Prims.of_int (136)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string g)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -809,19 +945,23 @@ let (find_focused_term_in_current_goal : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (141)) - (Prims.of_int (14)) - (Prims.of_int (141)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (141)) - (Prims.of_int (8)) - (Prims.of_int (154)) - (Prims.of_int (75))) - (Obj.magic (unsquash_equality g)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (137)) + (Prims.of_int (14)) + (Prims.of_int (137)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (137)) + (Prims.of_int (8)) + (Prims.of_int (150)) + (Prims.of_int (75))))) + (Obj.magic (unsquash_equality g)) (fun uu___1 -> (fun uu___1 -> match uu___1 with @@ -829,18 +969,22 @@ let (find_focused_term_in_current_goal : (l, uu___2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (143)) - (Prims.of_int (12)) - (Prims.of_int (143)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (143)) - (Prims.of_int (39)) - (Prims.of_int (153)) - (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (139)) + (Prims.of_int (12)) + (Prims.of_int (139)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (139)) + (Prims.of_int (39)) + (Prims.of_int (149)) + (Prims.of_int (7))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.safe_typ_or_comp dbg e l)) @@ -848,18 +992,24 @@ let (find_focused_term_in_current_goal : (fun c -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (144)) + (Prims.of_int (140)) (Prims.of_int (13)) - (Prims.of_int (144)) - (Prims.of_int (28))) - (FStar_Range.mk_range + (Prims.of_int (140)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (145)) + (Prims.of_int (141)) (Prims.of_int (4)) - (Prims.of_int (153)) - (Prims.of_int (7))) + (Prims.of_int (149)) + (Prims.of_int (7))))) (FStar_Tactics_Effect.lift_div_tac ( fun @@ -872,48 +1022,60 @@ let (find_focused_term_in_current_goal : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (145)) + (Prims.of_int (141)) (Prims.of_int (4)) - (Prims.of_int (145)) - (Prims.of_int (68))) + (Prims.of_int (141)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (146)) + (Prims.of_int (142)) (Prims.of_int (10)) - (Prims.of_int (152)) - (Prims.of_int (32))) + (Prims.of_int (148)) + (Prims.of_int (32))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (145)) + (Prims.of_int (141)) (Prims.of_int (18)) - (Prims.of_int (145)) - (Prims.of_int (68))) + (Prims.of_int (141)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (145)) + (Prims.of_int (141)) (Prims.of_int (4)) - (Prims.of_int (145)) - (Prims.of_int (68))) + (Prims.of_int (141)) + (Prims.of_int (68))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (145)) + (Prims.of_int (141)) (Prims.of_int (51)) - (Prims.of_int (145)) - (Prims.of_int (67))) + (Prims.of_int (141)) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string l)) (fun uu___3 -> @@ -938,18 +1100,22 @@ let (find_focused_term_in_current_goal : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (146)) + (Prims.of_int (142)) (Prims.of_int (16)) - (Prims.of_int (146)) - (Prims.of_int (52))) + (Prims.of_int (142)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (146)) + (Prims.of_int (142)) (Prims.of_int (10)) - (Prims.of_int (152)) - (Prims.of_int (32))) + (Prims.of_int (148)) + (Prims.of_int (32))))) (Obj.magic (find_focused_term dbg true @@ -965,48 +1131,60 @@ let (find_focused_term_in_current_goal : res -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (148)) + (Prims.of_int (144)) (Prims.of_int (6)) - (Prims.of_int (148)) - (Prims.of_int (73))) + (Prims.of_int (144)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (147)) + (Prims.of_int (143)) (Prims.of_int (11)) - (Prims.of_int (147)) - (Prims.of_int (14))) + (Prims.of_int (143)) + (Prims.of_int (14))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (148)) + (Prims.of_int (144)) (Prims.of_int (20)) - (Prims.of_int (148)) - (Prims.of_int (73))) + (Prims.of_int (144)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (148)) + (Prims.of_int (144)) (Prims.of_int (6)) - (Prims.of_int (148)) - (Prims.of_int (73))) + (Prims.of_int (144)) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (148)) + (Prims.of_int (144)) (Prims.of_int (50)) - (Prims.of_int (148)) - (Prims.of_int (72))) + (Prims.of_int (144)) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string res.res)) (fun uu___5 -> @@ -1036,34 +1214,42 @@ let (find_focused_term_in_current_goal : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (151)) + (Prims.of_int (147)) (Prims.of_int (12)) - (Prims.of_int (152)) - (Prims.of_int (32))) + (Prims.of_int (148)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (151)) + (Prims.of_int (147)) (Prims.of_int (6)) - (Prims.of_int (152)) - (Prims.of_int (32))) + (Prims.of_int (148)) + (Prims.of_int (32))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (152)) + (Prims.of_int (148)) (Prims.of_int (15)) - (Prims.of_int (152)) - (Prims.of_int (31))) + (Prims.of_int (148)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string g)) (fun uu___5 -> @@ -1097,12 +1283,16 @@ let (find_focused_assert_in_current_goal : = fun dbg -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (160)) (Prims.of_int (2)) (Prims.of_int (160)) - (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (160)) (Prims.of_int (59)) (Prims.of_int (174)) - (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (156)) (Prims.of_int (2)) (Prims.of_int (156)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (156)) (Prims.of_int (59)) (Prims.of_int (170)) + (Prims.of_int (5))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> find_focused_assert_in_current_goal")) @@ -1110,52 +1300,73 @@ let (find_focused_assert_in_current_goal : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (161)) (Prims.of_int (12)) - (Prims.of_int (161)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) (Prims.of_int (2)) - (Prims.of_int (174)) (Prims.of_int (5))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (157)) (Prims.of_int (12)) + (Prims.of_int (157)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (158)) (Prims.of_int (2)) + (Prims.of_int (170)) (Prims.of_int (5))))) (Obj.magic (find_focused_term_in_current_goal dbg)) (fun uu___1 -> (fun res -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) (Prims.of_int (2)) - (Prims.of_int (162)) (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) (Prims.of_int (70)) - (Prims.of_int (174)) (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) (Prims.of_int (16)) - (Prims.of_int (162)) (Prims.of_int (69))) + (Prims.of_int (158)) (Prims.of_int (2)) + (Prims.of_int (158)) (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) (Prims.of_int (2)) - (Prims.of_int (162)) (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (158)) (Prims.of_int (70)) + (Prims.of_int (170)) (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (162)) - (Prims.of_int (46)) - (Prims.of_int (162)) - (Prims.of_int (68))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (158)) + (Prims.of_int (16)) + (Prims.of_int (158)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (158)) + (Prims.of_int (2)) + (Prims.of_int (158)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (158)) + (Prims.of_int (46)) + (Prims.of_int (158)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string res.res)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1172,57 +1383,69 @@ let (find_focused_assert_in_current_goal : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (165)) - (Prims.of_int (4)) - (Prims.of_int (169)) - (Prims.of_int (14))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (171)) - (Prims.of_int (8)) - (Prims.of_int (173)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (161)) + (Prims.of_int (4)) (Prims.of_int (165)) - (Prims.of_int (10)) - (Prims.of_int (165)) - (Prims.of_int (25))) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (165)) - (Prims.of_int (4)) + (Prims.of_int (167)) + (Prims.of_int (8)) (Prims.of_int (169)) - (Prims.of_int (14))) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (161)) + (Prims.of_int (10)) + (Prims.of_int (161)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (161)) + (Prims.of_int (4)) + (Prims.of_int (165)) + (Prims.of_int (14))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect res.res)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (uu___3, uu___4, bv0, ty, fterm, uu___5) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (167)) - (Prims.of_int (16)) - (Prims.of_int (167)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (168)) - (Prims.of_int (6)) - (Prims.of_int (168)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (163)) + (Prims.of_int (16)) + (Prims.of_int (163)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (164)) + (Prims.of_int (6)) + (Prims.of_int (164)) + (Prims.of_int (42))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_bv res.ge @@ -1255,18 +1478,22 @@ let (find_focused_assert_in_current_goal : (fun res' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (171)) - (Prims.of_int (14)) - (Prims.of_int (171)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (171)) - (Prims.of_int (8)) - (Prims.of_int (173)) - (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (167)) + (Prims.of_int (14)) + (Prims.of_int (167)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (167)) + (Prims.of_int (8)) + (Prims.of_int (169)) + (Prims.of_int (38))))) (Obj.magic (term_is_assert_or_assume res'.res)) @@ -1279,36 +1506,44 @@ let (find_focused_assert_in_current_goal : (Obj.repr (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (172)) + (Prims.of_int (168)) (Prims.of_int (18)) - (Prims.of_int (172)) - (Prims.of_int (144))) + (Prims.of_int (168)) + (Prims.of_int (144))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (172)) + (Prims.of_int (168)) (Prims.of_int (12)) - (Prims.of_int (172)) - (Prims.of_int (144))) + (Prims.of_int (168)) + (Prims.of_int (144))))) ( Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (172)) + (Prims.of_int (168)) (Prims.of_int (121)) - (Prims.of_int (172)) - (Prims.of_int (143))) + (Prims.of_int (168)) + (Prims.of_int (143))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string res.res)) (fun uu___3 -> @@ -1359,107 +1594,141 @@ let (analyze_effectful_term : fun with_gpost -> fun res -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (190)) (Prims.of_int (11)) (Prims.of_int (190)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (190)) (Prims.of_int (20)) (Prims.of_int (247)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (186)) (Prims.of_int (11)) + (Prims.of_int (186)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (186)) (Prims.of_int (20)) + (Prims.of_int (243)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> res.ge)) (fun uu___ -> (fun ge -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (191)) (Prims.of_int (14)) - (Prims.of_int (191)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (191)) (Prims.of_int (29)) - (Prims.of_int (247)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (187)) (Prims.of_int (14)) + (Prims.of_int (187)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (187)) (Prims.of_int (29)) + (Prims.of_int (243)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> res.tgt_comp)) (fun uu___ -> (fun opt_c -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (194)) (Prims.of_int (10)) - (Prims.of_int (221)) (Prims.of_int (82))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (191)) (Prims.of_int (29)) - (Prims.of_int (247)) (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (194)) - (Prims.of_int (16)) - (Prims.of_int (194)) - (Prims.of_int (31))) + (Prims.of_int (190)) + (Prims.of_int (10)) + (Prims.of_int (217)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (194)) - (Prims.of_int (10)) - (Prims.of_int (221)) - (Prims.of_int (82))) + (Prims.of_int (187)) + (Prims.of_int (29)) + (Prims.of_int (243)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (190)) + (Prims.of_int (16)) + (Prims.of_int (190)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (190)) + (Prims.of_int (10)) + (Prims.of_int (217)) + (Prims.of_int (82))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect res.res)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (uu___1, uu___2, bv0, ty, fterm, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (201)) - (Prims.of_int (6)) - (Prims.of_int (201)) - (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (201)) - (Prims.of_int (64)) - (Prims.of_int (220)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (201)) - (Prims.of_int (20)) - (Prims.of_int (201)) - (Prims.of_int (63))) + (Prims.of_int (197)) + (Prims.of_int (6)) + (Prims.of_int (197)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (201)) - (Prims.of_int (6)) - (Prims.of_int (201)) - (Prims.of_int (63))) + (Prims.of_int (197)) + (Prims.of_int (64)) + (Prims.of_int (216)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (197)) + (Prims.of_int (20)) + (Prims.of_int (197)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (197)) + (Prims.of_int (6)) + (Prims.of_int (197)) + (Prims.of_int (63))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (201)) + (Prims.of_int (197)) (Prims.of_int (42)) - (Prims.of_int (201)) - (Prims.of_int (62))) - (FStar_Range.mk_range + (Prims.of_int (197)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string fterm)) (fun uu___4 -> @@ -1481,48 +1750,60 @@ let (analyze_effectful_term : (fun uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (203)) + (Prims.of_int (199)) (Prims.of_int (8)) - (Prims.of_int (205)) - (Prims.of_int (41))) - (FStar_Range.mk_range + (Prims.of_int (201)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (206)) + (Prims.of_int (202)) (Prims.of_int (8)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (203)) + (Prims.of_int (199)) (Prims.of_int (14)) - (Prims.of_int (203)) - (Prims.of_int (52))) + (Prims.of_int (199)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (203)) + (Prims.of_int (199)) (Prims.of_int (8)) - (Prims.of_int (205)) - (Prims.of_int (41))) + (Prims.of_int (201)) + (Prims.of_int (41))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (203)) + (Prims.of_int (199)) (Prims.of_int (36)) - (Prims.of_int (203)) - (Prims.of_int (52))) + (Prims.of_int (199)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (203)) + (Prims.of_int (199)) (Prims.of_int (14)) - (Prims.of_int (203)) - (Prims.of_int (52))) + (Prims.of_int (199)) + (Prims.of_int (52))))) (Obj.magic - (FStar_Tactics_Derived.name_of_bv + (FStar_Tactics_V1_Derived.name_of_bv bv0)) (fun uu___5 -> @@ -1558,18 +1839,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (207)) + (Prims.of_int (203)) (Prims.of_int (16)) - (Prims.of_int (207)) - (Prims.of_int (49))) + (Prims.of_int (203)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (207)) + (Prims.of_int (203)) (Prims.of_int (52)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_push_bv ge bv0 ty @@ -1581,36 +1866,44 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (212)) + (Prims.of_int (208)) (Prims.of_int (27)) - (Prims.of_int (217)) - (Prims.of_int (21))) + (Prims.of_int (213)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (207)) + (Prims.of_int (203)) (Prims.of_int (52)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (213)) + (Prims.of_int (209)) (Prims.of_int (19)) - (Prims.of_int (213)) - (Prims.of_int (33))) + (Prims.of_int (209)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (213)) + (Prims.of_int (209)) (Prims.of_int (36)) - (Prims.of_int (217)) - (Prims.of_int (21))) + (Prims.of_int (213)) + (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> - FStar_Reflection_Builtins.inspect_bv + FStar_Reflection_V1_Builtins.inspect_bv bv0)) (fun uu___5 -> @@ -1618,46 +1911,58 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (214)) + (Prims.of_int (210)) (Prims.of_int (16)) - (Prims.of_int (214)) - (Prims.of_int (77))) + (Prims.of_int (210)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (215)) + (Prims.of_int (211)) (Prims.of_int (8)) - (Prims.of_int (217)) - (Prims.of_int (21))) + (Prims.of_int (213)) + (Prims.of_int (21))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (214)) + (Prims.of_int (210)) (Prims.of_int (30)) - (Prims.of_int (214)) - (Prims.of_int (77))) + (Prims.of_int (210)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (214)) + (Prims.of_int (210)) (Prims.of_int (16)) - (Prims.of_int (214)) - (Prims.of_int (77))) + (Prims.of_int (210)) + (Prims.of_int (77))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (214)) + (Prims.of_int (210)) (Prims.of_int (59)) - (Prims.of_int (214)) - (Prims.of_int (76))) + (Prims.of_int (210)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.abv_to_string bv0)) @@ -1684,35 +1989,43 @@ let (analyze_effectful_term : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (215)) + (Prims.of_int (211)) (Prims.of_int (11)) - (Prims.of_int (215)) - (Prims.of_int (42))) + (Prims.of_int (211)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (215)) + (Prims.of_int (211)) (Prims.of_int (8)) - (Prims.of_int (217)) - (Prims.of_int (21))) + (Prims.of_int (213)) + (Prims.of_int (21))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (215)) + (Prims.of_int (211)) (Prims.of_int (11)) - (Prims.of_int (215)) - (Prims.of_int (32))) + (Prims.of_int (211)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (215)) + (Prims.of_int (211)) (Prims.of_int (11)) - (Prims.of_int (215)) - (Prims.of_int (42))) + (Prims.of_int (211)) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.unseal - bvv0.FStar_Reflection_Data.bv_ppname)) + (FStar_Tactics_Unseal.unseal + bvv0.FStar_Reflection_V1_Data.bv_ppname)) (fun uu___6 -> FStar_Tactics_Effect.lift_div_tac @@ -1753,18 +2066,22 @@ let (analyze_effectful_term : bv1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (218)) + (Prims.of_int (214)) (Prims.of_int (8)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (218)) + (Prims.of_int (214)) (Prims.of_int (8)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -1775,18 +2092,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (219)) + (Prims.of_int (215)) (Prims.of_int (17)) - (Prims.of_int (219)) - (Prims.of_int (53))) + (Prims.of_int (215)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (220)) + (Prims.of_int (216)) (Prims.of_int (6)) - (Prims.of_int (220)) - (Prims.of_int (69))) + (Prims.of_int (216)) + (Prims.of_int (69))))) (Obj.magic (FStar_InteractiveHelpers_Effectful.compute_eterm_info dbg @@ -1812,18 +2133,22 @@ let (analyze_effectful_term : | uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (221)) - (Prims.of_int (25)) - (Prims.of_int (221)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (221)) - (Prims.of_int (11)) - (Prims.of_int (221)) - (Prims.of_int (82))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (217)) + (Prims.of_int (25)) + (Prims.of_int (217)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (217)) + (Prims.of_int (11)) + (Prims.of_int (217)) + (Prims.of_int (82))))) (Obj.magic (FStar_InteractiveHelpers_Effectful.compute_eterm_info dbg @@ -1846,46 +2171,58 @@ let (analyze_effectful_term : shadowed_bv, is_let) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (224)) - (Prims.of_int (2)) - (Prims.of_int (224)) - (Prims.of_int (79))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) - (Prims.of_int (2)) - (Prims.of_int (247)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (224)) - (Prims.of_int (16)) - (Prims.of_int (224)) - (Prims.of_int (79))) + (Prims.of_int (220)) + (Prims.of_int (2)) + (Prims.of_int (220)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (224)) + (Prims.of_int (221)) (Prims.of_int (2)) - (Prims.of_int (224)) - (Prims.of_int (79))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (243)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (224)) - (Prims.of_int (51)) - (Prims.of_int (224)) - (Prims.of_int (78))) + (Prims.of_int (220)) + (Prims.of_int (16)) + (Prims.of_int (220)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (220)) + (Prims.of_int (2)) + (Prims.of_int (220)) + (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (220)) + (Prims.of_int (51)) + (Prims.of_int (220)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.term_construct studied_term)) @@ -1906,46 +2243,58 @@ let (analyze_effectful_term : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) - (Prims.of_int (2)) - (Prims.of_int (225)) - (Prims.of_int (94))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) - (Prims.of_int (95)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (221)) + (Prims.of_int (2)) + (Prims.of_int (221)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (221)) + (Prims.of_int (95)) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) + (Prims.of_int (221)) (Prims.of_int (16)) - (Prims.of_int (225)) - (Prims.of_int (94))) - (FStar_Range.mk_range + (Prims.of_int (221)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) + (Prims.of_int (221)) (Prims.of_int (2)) - (Prims.of_int (225)) - (Prims.of_int (94))) + (Prims.of_int (221)) + (Prims.of_int (94))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (225)) + (Prims.of_int (221)) (Prims.of_int (75)) - (Prims.of_int (225)) - (Prims.of_int (93))) + (Prims.of_int (221)) + (Prims.of_int (93))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.genv_to_string ge1)) @@ -1971,32 +2320,40 @@ let (analyze_effectful_term : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (229)) + (Prims.of_int (225)) (Prims.of_int (18)) - (Prims.of_int (229)) - (Prims.of_int (63))) + (Prims.of_int (225)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (229)) + (Prims.of_int (225)) (Prims.of_int (66)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (229)) + (Prims.of_int (225)) (Prims.of_int (24)) - (Prims.of_int (229)) - (Prims.of_int (63))) + (Prims.of_int (225)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (229)) + (Prims.of_int (225)) (Prims.of_int (18)) - (Prims.of_int (229)) - (Prims.of_int (63))) + (Prims.of_int (225)) + (Prims.of_int (63))))) (Obj.magic (term_is_assert_or_assume studied_term)) @@ -2014,23 +2371,27 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (232)) + (Prims.of_int (228)) (Prims.of_int (16)) - (Prims.of_int (232)) - (Prims.of_int (60))) + (Prims.of_int (228)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (232)) + (Prims.of_int (228)) (Prims.of_int (63)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Base.opt_tapply (fun x -> - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var x)) ret_bv)) (fun @@ -2040,18 +2401,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (233)) + (Prims.of_int (229)) (Prims.of_int (16)) - (Prims.of_int (233)) - (Prims.of_int (44))) + (Prims.of_int (229)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (233)) + (Prims.of_int (229)) (Prims.of_int (47)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -2065,18 +2430,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (235)) + (Prims.of_int (231)) (Prims.of_int (4)) - (Prims.of_int (236)) - (Prims.of_int (68))) + (Prims.of_int (232)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (233)) + (Prims.of_int (229)) (Prims.of_int (47)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Effectful.eterm_info_to_assertions dbg @@ -2103,18 +2472,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (238)) + (Prims.of_int (234)) (Prims.of_int (16)) - (Prims.of_int (238)) - (Prims.of_int (71))) + (Prims.of_int (234)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (238)) + (Prims.of_int (234)) (Prims.of_int (74)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Propositions.simp_filter_assertions ge2.FStar_InteractiveHelpers_Base.env @@ -2127,18 +2500,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (240)) + (Prims.of_int (236)) (Prims.of_int (21)) - (Prims.of_int (240)) - (Prims.of_int (86))) + (Prims.of_int (236)) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (238)) + (Prims.of_int (234)) (Prims.of_int (74)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Output.subst_shadowed_with_abs_in_assertions dbg ge2 @@ -2156,18 +2533,22 @@ let (analyze_effectful_term : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (243)) + (Prims.of_int (239)) (Prims.of_int (4)) - (Prims.of_int (244)) - (Prims.of_int (70))) + (Prims.of_int (240)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (247)) + (Prims.of_int (243)) (Prims.of_int (2)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -2208,32 +2589,44 @@ let (pp_analyze_effectful_term : fun with_gpre -> fun with_gpost -> fun uu___ -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___1 -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (253)) (Prims.of_int (14)) - (Prims.of_int (253)) (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (254)) (Prims.of_int (4)) - (Prims.of_int (255)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (249)) (Prims.of_int (14)) + (Prims.of_int (249)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (250)) (Prims.of_int (4)) + (Prims.of_int (251)) (Prims.of_int (16))))) (Obj.magic (find_focused_term_in_current_goal dbg)) (fun uu___2 -> (fun res -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (254)) (Prims.of_int (4)) - (Prims.of_int (254)) (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (255)) (Prims.of_int (4)) - (Prims.of_int (255)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (250)) + (Prims.of_int (4)) + (Prims.of_int (250)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (251)) + (Prims.of_int (4)) + (Prims.of_int (251)) + (Prims.of_int (16))))) (Obj.magic (analyze_effectful_term dbg with_gpre with_gpost res)) @@ -2247,14 +2640,22 @@ let (pp_analyze_effectful_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (256)) (Prims.of_int (29)) - (Prims.of_int (256)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (256)) (Prims.of_int (51)) - (Prims.of_int (256)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (252)) + (Prims.of_int (29)) + (Prims.of_int (252)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (252)) + (Prims.of_int (51)) + (Prims.of_int (252)) + (Prims.of_int (63))))) (Obj.magic (FStar_InteractiveHelpers_Output.printout_failure msg)) @@ -2271,7 +2672,7 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_4 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_4 (FStar_Tactics_Native.from_tactic_4 pp_analyze_effectful_term) FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_unit @@ -2282,34 +2683,43 @@ let (remove_b2t : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (272)) (Prims.of_int (8)) (Prims.of_int (272)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (272)) (Prims.of_int (2)) (Prims.of_int (279)) - (Prims.of_int (10))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (268)) (Prims.of_int (8)) (Prims.of_int (268)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (268)) (Prims.of_int (2)) (Prims.of_int (275)) + (Prims.of_int (10))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_App - (hd, (a, FStar_Reflection_Data.Q_Explicit)) -> + | FStar_Reflection_V1_Data.Tv_App + (hd, (a, FStar_Reflection_V1_Data.Q_Explicit)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (274)) (Prims.of_int (16)) - (Prims.of_int (274)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (274)) (Prims.of_int (10)) - (Prims.of_int (277)) (Prims.of_int (12))) - (Obj.magic (FStar_Tactics_Builtins.inspect hd)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (270)) (Prims.of_int (16)) + (Prims.of_int (270)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (270)) (Prims.of_int (10)) + (Prims.of_int (273)) (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Reflection_V1_Data.Tv_FVar fv -> if FStar_InteractiveHelpers_Base.fv_eq_name fv FStar_Reflection_Const.b2t_qn @@ -2329,62 +2739,76 @@ let (is_conjunction : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (285)) (Prims.of_int (10)) (Prims.of_int (285)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (285)) (Prims.of_int (25)) (Prims.of_int (296)) - (Prims.of_int (13))) (Obj.magic (remove_b2t t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (281)) (Prims.of_int (10)) (Prims.of_int (281)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (281)) (Prims.of_int (25)) (Prims.of_int (292)) + (Prims.of_int (13))))) (Obj.magic (remove_b2t t)) (fun uu___ -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (286)) (Prims.of_int (19)) - (Prims.of_int (286)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (285)) (Prims.of_int (25)) - (Prims.of_int (296)) (Prims.of_int (13))) - (Obj.magic (FStar_Tactics_SyntaxHelpers.collect_app t1)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (282)) (Prims.of_int (19)) + (Prims.of_int (282)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (281)) (Prims.of_int (25)) + (Prims.of_int (292)) (Prims.of_int (13))))) + (Obj.magic (FStar_Tactics_V1_SyntaxHelpers.collect_app t1)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, params) -> (match params with - | (x, FStar_Reflection_Data.Q_Explicit):: - (y, FStar_Reflection_Data.Q_Explicit)::[] -> + | (x, FStar_Reflection_V1_Data.Q_Explicit):: + (y, FStar_Reflection_V1_Data.Q_Explicit)::[] + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (289)) - (Prims.of_int (16)) - (Prims.of_int (289)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (289)) - (Prims.of_int (10)) - (Prims.of_int (294)) - (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (285)) + (Prims.of_int (16)) + (Prims.of_int (285)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (285)) + (Prims.of_int (10)) + (Prims.of_int (290)) + (Prims.of_int (15))))) (Obj.magic - (FStar_Tactics_Builtins.inspect hd)) + (FStar_Tactics_V1_Builtins.inspect + hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_FVar + | FStar_Reflection_V1_Data.Tv_FVar fv -> if - ((FStar_Reflection_Builtins.inspect_fv + ((FStar_Reflection_V1_Builtins.inspect_fv fv) = FStar_Reflection_Const.and_qn) || - ((FStar_Reflection_Builtins.inspect_fv + ((FStar_Reflection_V1_Builtins.inspect_fv fv) = ["Prims"; @@ -2412,12 +2836,18 @@ let rec (_split_conjunctions : fun ls -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (301)) (Prims.of_int (8)) (Prims.of_int (301)) - (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (301)) (Prims.of_int (2)) (Prims.of_int (306)) - (Prims.of_int (7))) (Obj.magic (is_conjunction t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (297)) (Prims.of_int (8)) (Prims.of_int (297)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (297)) (Prims.of_int (2)) (Prims.of_int (302)) + (Prims.of_int (7))))) (Obj.magic (is_conjunction t)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -2430,31 +2860,39 @@ let rec (_split_conjunctions : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (304)) (Prims.of_int (14)) - (Prims.of_int (304)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (304)) (Prims.of_int (41)) - (Prims.of_int (306)) (Prims.of_int (7))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (300)) (Prims.of_int (14)) + (Prims.of_int (300)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (300)) (Prims.of_int (41)) + (Prims.of_int (302)) (Prims.of_int (7))))) (Obj.magic (_split_conjunctions ls r)) (fun uu___1 -> (fun ls1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (305)) - (Prims.of_int (14)) - (Prims.of_int (305)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (305)) - (Prims.of_int (8)) - (Prims.of_int (305)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (301)) + (Prims.of_int (14)) + (Prims.of_int (301)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (301)) + (Prims.of_int (8)) + (Prims.of_int (301)) + (Prims.of_int (11))))) (Obj.magic (_split_conjunctions ls1 l)) (fun ls2 -> FStar_Tactics_Effect.lift_div_tac @@ -2474,43 +2912,65 @@ let (split_conjunctions_under_match : fun dbg -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (320)) (Prims.of_int (11)) (Prims.of_int (320)) - (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (321)) (Prims.of_int (2)) (Prims.of_int (328)) - (Prims.of_int (7))) (Obj.magic (remove_b2t t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (316)) (Prims.of_int (11)) + (Prims.of_int (316)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (317)) (Prims.of_int (2)) (Prims.of_int (324)) + (Prims.of_int (7))))) (Obj.magic (remove_b2t t)) (fun uu___ -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (321)) (Prims.of_int (2)) - (Prims.of_int (321)) (Prims.of_int (75))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (322)) (Prims.of_int (2)) - (Prims.of_int (328)) (Prims.of_int (7))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (321)) (Prims.of_int (16)) - (Prims.of_int (321)) (Prims.of_int (75))) + (Prims.of_int (317)) (Prims.of_int (2)) + (Prims.of_int (317)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (321)) (Prims.of_int (2)) - (Prims.of_int (321)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (318)) (Prims.of_int (2)) + (Prims.of_int (324)) (Prims.of_int (7))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (317)) (Prims.of_int (16)) + (Prims.of_int (317)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (321)) (Prims.of_int (57)) - (Prims.of_int (321)) (Prims.of_int (74))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (317)) (Prims.of_int (2)) + (Prims.of_int (317)) (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (317)) + (Prims.of_int (57)) + (Prims.of_int (317)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.term_construct t1)) @@ -2529,35 +2989,48 @@ let (split_conjunctions_under_match : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (322)) (Prims.of_int (8)) - (Prims.of_int (322)) (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (322)) (Prims.of_int (2)) - (Prims.of_int (328)) (Prims.of_int (7))) - (Obj.magic (FStar_Tactics_Builtins.inspect t1)) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | FStar_Reflection_Data.Tv_Match - (scrut, ret_opt, (pat, br)::[]) -> + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (318)) + (Prims.of_int (8)) + (Prims.of_int (318)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (318)) + (Prims.of_int (2)) + (Prims.of_int (324)) + (Prims.of_int (7))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.inspect t1)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Reflection_V1_Data.Tv_Match + (scrut, ret_opt, (pat, br)::[]) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (324)) - (Prims.of_int (13)) - (Prims.of_int (324)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (325)) - (Prims.of_int (4)) - (Prims.of_int (325)) - (Prims.of_int (62))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (320)) + (Prims.of_int (13)) + (Prims.of_int (320)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (321)) + (Prims.of_int (4)) + (Prims.of_int (321)) + (Prims.of_int (62))))) (Obj.magic (split_conjunctions br)) (fun uu___2 -> @@ -2565,8 +3038,8 @@ let (split_conjunctions_under_match : Obj.magic (FStar_Tactics_Util.map (fun x -> - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Match + FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Match (scrut, ret_opt, [ @@ -2586,27 +3059,37 @@ let (split_assert_conjs : fun dbg -> fun res -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (332)) (Prims.of_int (12)) (Prims.of_int (332)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (332)) (Prims.of_int (21)) (Prims.of_int (347)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (328)) (Prims.of_int (12)) + (Prims.of_int (328)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (328)) (Prims.of_int (21)) + (Prims.of_int (343)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> res.ge)) (fun uu___ -> (fun ge0 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (334)) (Prims.of_int (10)) - (Prims.of_int (334)) (Prims.of_int (56))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (334)) (Prims.of_int (59)) - (Prims.of_int (347)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (330)) (Prims.of_int (10)) + (Prims.of_int (330)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (330)) (Prims.of_int (59)) + (Prims.of_int (343)) (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env ge0.FStar_InteractiveHelpers_Base.env FStar_InteractiveHelpers_Propositions.simpl_norm_steps res.res)) @@ -2614,31 +3097,43 @@ let (split_assert_conjs : (fun t -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (336)) (Prims.of_int (14)) - (Prims.of_int (336)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (336)) (Prims.of_int (37)) - (Prims.of_int (347)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (332)) + (Prims.of_int (14)) + (Prims.of_int (332)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (332)) + (Prims.of_int (37)) + (Prims.of_int (343)) + (Prims.of_int (30))))) (Obj.magic (split_conjunctions t)) (fun uu___ -> (fun conjs -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (342)) - (Prims.of_int (4)) - (Prims.of_int (343)) - (Prims.of_int (14))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (344)) - (Prims.of_int (4)) - (Prims.of_int (347)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (338)) + (Prims.of_int (4)) + (Prims.of_int (339)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (340)) + (Prims.of_int (4)) + (Prims.of_int (343)) + (Prims.of_int (30))))) (if (FStar_List_Tot_Base.length conjs) = Prims.int_one @@ -2656,18 +3151,22 @@ let (split_assert_conjs : (fun conjs1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (345)) - (Prims.of_int (16)) - (Prims.of_int (345)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (347)) - (Prims.of_int (2)) - (Prims.of_int (347)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (341)) + (Prims.of_int (16)) + (Prims.of_int (341)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (343)) + (Prims.of_int (2)) + (Prims.of_int (343)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_InteractiveHelpers_Propositions.mk_assertions @@ -2683,32 +3182,40 @@ let (pp_split_assert_conjs : Prims.bool -> unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun dbg -> fun uu___ -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___1 -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (353)) (Prims.of_int (14)) - (Prims.of_int (353)) (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (354)) (Prims.of_int (4)) - (Prims.of_int (355)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (349)) (Prims.of_int (14)) + (Prims.of_int (349)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (350)) (Prims.of_int (4)) + (Prims.of_int (351)) (Prims.of_int (16))))) (Obj.magic (find_focused_assert_in_current_goal dbg)) (fun uu___2 -> (fun res -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (354)) (Prims.of_int (4)) - (Prims.of_int (354)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (355)) (Prims.of_int (4)) - (Prims.of_int (355)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (350)) (Prims.of_int (4)) + (Prims.of_int (350)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (351)) (Prims.of_int (4)) + (Prims.of_int (351)) (Prims.of_int (16))))) (Obj.magic (split_assert_conjs dbg res)) (fun uu___2 -> (fun uu___2 -> Obj.magic (end_proof ())) @@ -2720,14 +3227,18 @@ let (pp_split_assert_conjs : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (356)) (Prims.of_int (29)) - (Prims.of_int (356)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (356)) (Prims.of_int (51)) - (Prims.of_int (356)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (352)) (Prims.of_int (29)) + (Prims.of_int (352)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (352)) (Prims.of_int (51)) + (Prims.of_int (352)) (Prims.of_int (63))))) (Obj.magic (FStar_InteractiveHelpers_Output.printout_failure msg)) @@ -2742,7 +3253,7 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_2 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_2 (FStar_Tactics_Native.from_tactic_2 pp_split_assert_conjs) FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit psc ncb args) @@ -2776,45 +3287,68 @@ let (is_eq : fun dbg -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (377)) (Prims.of_int (10)) (Prims.of_int (377)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (2)) (Prims.of_int (397)) - (Prims.of_int (13))) (Obj.magic (remove_b2t t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (373)) (Prims.of_int (10)) + (Prims.of_int (373)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (374)) (Prims.of_int (2)) (Prims.of_int (393)) + (Prims.of_int (13))))) (Obj.magic (remove_b2t t)) (fun uu___ -> (fun t1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (2)) - (Prims.of_int (378)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (50)) - (Prims.of_int (397)) (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (16)) - (Prims.of_int (378)) (Prims.of_int (49))) + (Prims.of_int (374)) (Prims.of_int (2)) + (Prims.of_int (374)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (2)) - (Prims.of_int (378)) (Prims.of_int (49))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (374)) (Prims.of_int (50)) + (Prims.of_int (393)) (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (32)) - (Prims.of_int (378)) (Prims.of_int (48))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (374)) (Prims.of_int (16)) + (Prims.of_int (374)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (374)) (Prims.of_int (2)) + (Prims.of_int (374)) (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (374)) + (Prims.of_int (32)) + (Prims.of_int (374)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string t1)) + (FStar_Tactics_V1_Builtins.term_to_string + t1)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -2828,64 +3362,85 @@ let (is_eq : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (379)) (Prims.of_int (19)) - (Prims.of_int (379)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (378)) (Prims.of_int (50)) - (Prims.of_int (397)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (375)) + (Prims.of_int (19)) + (Prims.of_int (375)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (374)) + (Prims.of_int (50)) + (Prims.of_int (393)) + (Prims.of_int (13))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_app t1)) + (FStar_Tactics_V1_SyntaxHelpers.collect_app + t1)) (fun uu___1 -> (fun uu___1 -> match uu___1 with | (hd, params) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (380)) - (Prims.of_int (2)) - (Prims.of_int (380)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (381)) - (Prims.of_int (2)) - (Prims.of_int (397)) - (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (380)) - (Prims.of_int (16)) - (Prims.of_int (380)) - (Prims.of_int (47))) + (Prims.of_int (376)) + (Prims.of_int (2)) + (Prims.of_int (376)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (380)) + (Prims.of_int (377)) (Prims.of_int (2)) - (Prims.of_int (380)) - (Prims.of_int (47))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (393)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (380)) - (Prims.of_int (29)) - (Prims.of_int (380)) - (Prims.of_int (46))) + (Prims.of_int (376)) + (Prims.of_int (16)) + (Prims.of_int (376)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (376)) + (Prims.of_int (2)) + (Prims.of_int (376)) + (Prims.of_int (47))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (376)) + (Prims.of_int (29)) + (Prims.of_int (376)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string hd)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -2903,48 +3458,62 @@ let (is_eq : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (381)) - (Prims.of_int (2)) - (Prims.of_int (381)) - (Prims.of_int (92))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (382)) - (Prims.of_int (2)) - (Prims.of_int (397)) - (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (381)) - (Prims.of_int (16)) - (Prims.of_int (381)) - (Prims.of_int (92))) + (Prims.of_int (377)) + (Prims.of_int (2)) + (Prims.of_int (377)) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (381)) + (Prims.of_int (378)) (Prims.of_int (2)) - (Prims.of_int (381)) - (Prims.of_int (92))) + (Prims.of_int (393)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (377)) + (Prims.of_int (16)) + (Prims.of_int (377)) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (377)) + (Prims.of_int (2)) + (Prims.of_int (377)) + (Prims.of_int (92))))) (Obj.magic (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (381)) + (Prims.of_int (377)) (Prims.of_int (37)) - (Prims.of_int (381)) - (Prims.of_int (91))) + (Prims.of_int (377)) + (Prims.of_int (91))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) ( Obj.magic (FStar_InteractiveHelpers_Base.list_to_string @@ -2954,7 +3523,7 @@ let (is_eq : with | (x, y) -> - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string x) params)) ( fun @@ -2977,20 +3546,24 @@ let (is_eq : (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (382)) + (Prims.of_int (378)) (Prims.of_int (8)) - (Prims.of_int (382)) - (Prims.of_int (18))) - (FStar_Range.mk_range + (Prims.of_int (378)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (382)) + (Prims.of_int (378)) (Prims.of_int (2)) - (Prims.of_int (397)) - (Prims.of_int (13))) + (Prims.of_int (393)) + (Prims.of_int (13))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect hd)) (fun uu___4 -> @@ -3000,20 +3573,20 @@ let (is_eq : match uu___4 with | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar fv -> (match params with | (a, - FStar_Reflection_Data.Q_Implicit):: + FStar_Reflection_V1_Data.Q_Implicit):: (x, - FStar_Reflection_Data.Q_Explicit):: + FStar_Reflection_V1_Data.Q_Explicit):: (y, - FStar_Reflection_Data.Q_Explicit)::[] + FStar_Reflection_V1_Data.Q_Explicit)::[] -> if - FStar_Reflection_Derived.is_any_fvar + FStar_Reflection_V1_Derived.is_any_fvar a ["Prims.op_Equality"; "Prims.equals"; @@ -3024,7 +3597,7 @@ let (is_eq : a), x, y) else if - FStar_Reflection_Derived.is_any_fvar + FStar_Reflection_V1_Derived.is_any_fvar a ["Prims.eq2"; "Prims.op_Equals_Equals"] @@ -3036,16 +3609,16 @@ let (is_eq : FStar_Pervasives_Native.None | (a, - FStar_Reflection_Data.Q_Implicit):: + FStar_Reflection_V1_Data.Q_Implicit):: (b, - FStar_Reflection_Data.Q_Implicit):: + FStar_Reflection_V1_Data.Q_Implicit):: (x, - FStar_Reflection_Data.Q_Explicit):: + FStar_Reflection_V1_Data.Q_Explicit):: (y, - FStar_Reflection_Data.Q_Explicit)::[] + FStar_Reflection_V1_Data.Q_Explicit)::[] -> if - FStar_Reflection_Derived.is_fvar + FStar_Reflection_V1_Derived.is_fvar a "Prims.op_Equals_Equals_Equals" then @@ -3073,34 +3646,34 @@ let (mk_eq : fun t2 -> match k with | Eq_Dec ty -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V1_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "op_Equality"]))) - [(ty, FStar_Reflection_Data.Q_Implicit); - (t1, FStar_Reflection_Data.Q_Explicit); - (t2, FStar_Reflection_Data.Q_Explicit)] + [(ty, FStar_Reflection_V1_Data.Q_Implicit); + (t1, FStar_Reflection_V1_Data.Q_Explicit); + (t2, FStar_Reflection_V1_Data.Q_Explicit)] | Eq_Undec ty -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "eq2"]))) - [(ty, FStar_Reflection_Data.Q_Implicit); - (t1, FStar_Reflection_Data.Q_Explicit); - (t2, FStar_Reflection_Data.Q_Explicit)] + FStar_Reflection_V1_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "eq2"]))) + [(ty, FStar_Reflection_V1_Data.Q_Implicit); + (t1, FStar_Reflection_V1_Data.Q_Explicit); + (t2, FStar_Reflection_V1_Data.Q_Explicit)] | Eq_Hetero (ty1, ty2) -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V1_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "op_Equals_Equals_Equals"]))) - [(ty1, FStar_Reflection_Data.Q_Implicit); - (ty2, FStar_Reflection_Data.Q_Implicit); - (t1, FStar_Reflection_Data.Q_Explicit); - (t2, FStar_Reflection_Data.Q_Explicit)] + [(ty1, FStar_Reflection_V1_Data.Q_Implicit); + (ty2, FStar_Reflection_V1_Data.Q_Implicit); + (t1, FStar_Reflection_V1_Data.Q_Explicit); + (t2, FStar_Reflection_V1_Data.Q_Explicit)] let (formula_construct : - FStar_Reflection_Formula.formula -> + FStar_Reflection_V1_Formula.formula -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> @@ -3109,25 +3682,26 @@ let (formula_construct : (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> match f with - | FStar_Reflection_Formula.True_ -> "True_" - | FStar_Reflection_Formula.False_ -> "False_" - | FStar_Reflection_Formula.Comp (uu___1, uu___2, uu___3) -> + | FStar_Reflection_V1_Formula.True_ -> "True_" + | FStar_Reflection_V1_Formula.False_ -> "False_" + | FStar_Reflection_V1_Formula.Comp (uu___1, uu___2, uu___3) -> "Comp" - | FStar_Reflection_Formula.And (uu___1, uu___2) -> "And" - | FStar_Reflection_Formula.Or (uu___1, uu___2) -> "Or" - | FStar_Reflection_Formula.Not uu___1 -> "Not" - | FStar_Reflection_Formula.Implies (uu___1, uu___2) -> + | FStar_Reflection_V1_Formula.And (uu___1, uu___2) -> "And" + | FStar_Reflection_V1_Formula.Or (uu___1, uu___2) -> "Or" + | FStar_Reflection_V1_Formula.Not uu___1 -> "Not" + | FStar_Reflection_V1_Formula.Implies (uu___1, uu___2) -> "Implies" - | FStar_Reflection_Formula.Iff (uu___1, uu___2) -> "Iff" - | FStar_Reflection_Formula.Forall (uu___1, uu___2, uu___3) -> - "Forall" - | FStar_Reflection_Formula.Exists (uu___1, uu___2, uu___3) -> - "Exists" - | FStar_Reflection_Formula.App (uu___1, uu___2) -> "Apply" - | FStar_Reflection_Formula.Name uu___1 -> "Name" - | FStar_Reflection_Formula.FV uu___1 -> "FV" - | FStar_Reflection_Formula.IntLit uu___1 -> "IntLit" - | FStar_Reflection_Formula.F_Unknown -> "F_Unknown"))) uu___ + | FStar_Reflection_V1_Formula.Iff (uu___1, uu___2) -> "Iff" + | FStar_Reflection_V1_Formula.Forall (uu___1, uu___2, uu___3) + -> "Forall" + | FStar_Reflection_V1_Formula.Exists (uu___1, uu___2, uu___3) + -> "Exists" + | FStar_Reflection_V1_Formula.App (uu___1, uu___2) -> "Apply" + | FStar_Reflection_V1_Formula.Name uu___1 -> "Name" + | FStar_Reflection_V1_Formula.FV uu___1 -> "FV" + | FStar_Reflection_V1_Formula.IntLit uu___1 -> "IntLit" + | FStar_Reflection_V1_Formula.F_Unknown -> "F_Unknown"))) + uu___ let (is_equality_for_term : Prims.bool -> FStar_Reflection_Types.term -> @@ -3139,85 +3713,119 @@ let (is_equality_for_term : fun tm -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (433)) (Prims.of_int (2)) (Prims.of_int (435)) - (Prims.of_int (49))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (435)) (Prims.of_int (50)) (Prims.of_int (459)) - (Prims.of_int (8))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (433)) (Prims.of_int (16)) - (Prims.of_int (435)) (Prims.of_int (49))) + (Prims.of_int (429)) (Prims.of_int (2)) + (Prims.of_int (431)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (433)) (Prims.of_int (2)) - (Prims.of_int (435)) (Prims.of_int (49))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (431)) (Prims.of_int (50)) + (Prims.of_int (455)) (Prims.of_int (8))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (434)) (Prims.of_int (17)) - (Prims.of_int (435)) (Prims.of_int (48))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (429)) (Prims.of_int (16)) + (Prims.of_int (431)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (429)) (Prims.of_int (2)) + (Prims.of_int (431)) (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (434)) (Prims.of_int (32)) - (Prims.of_int (435)) (Prims.of_int (48))) + (Prims.of_int (430)) (Prims.of_int (17)) + (Prims.of_int (431)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (434)) (Prims.of_int (32)) - (Prims.of_int (434)) (Prims.of_int (49))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (434)) (Prims.of_int (32)) - (Prims.of_int (435)) (Prims.of_int (48))) + (Prims.of_int (430)) (Prims.of_int (32)) + (Prims.of_int (431)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (430)) + (Prims.of_int (32)) + (Prims.of_int (430)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (430)) + (Prims.of_int (32)) + (Prims.of_int (431)) + (Prims.of_int (48))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string tm)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (435)) - (Prims.of_int (17)) - (Prims.of_int (435)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (435)) - (Prims.of_int (32)) - (Prims.of_int (435)) - (Prims.of_int (48))) + (Prims.of_int (431)) + (Prims.of_int (17)) + (Prims.of_int (431)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (431)) + (Prims.of_int (32)) + (Prims.of_int (431)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string p)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -3247,52 +3855,64 @@ let (is_equality_for_term : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (439)) (Prims.of_int (4)) - (Prims.of_int (442)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (444)) (Prims.of_int (2)) - (Prims.of_int (459)) (Prims.of_int (8))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (439)) (Prims.of_int (10)) - (Prims.of_int (439)) (Prims.of_int (20))) + (Prims.of_int (435)) (Prims.of_int (4)) + (Prims.of_int (438)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (439)) (Prims.of_int (4)) - (Prims.of_int (442)) (Prims.of_int (38))) - (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (Prims.of_int (440)) (Prims.of_int (2)) + (Prims.of_int (455)) (Prims.of_int (8))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (435)) (Prims.of_int (10)) + (Prims.of_int (435)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (435)) (Prims.of_int (4)) + (Prims.of_int (438)) (Prims.of_int (38))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect tm)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Reflection_V1_Data.Tv_Var bv -> (fun tm' -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (441)) - (Prims.of_int (24)) - (Prims.of_int (441)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (441)) - (Prims.of_int (18)) - (Prims.of_int (441)) - (Prims.of_int (82))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (437)) + (Prims.of_int (24)) + (Prims.of_int (437)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (437)) + (Prims.of_int (18)) + (Prims.of_int (437)) + (Prims.of_int (82))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect tm')) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> match uu___3 with - | FStar_Reflection_Data.Tv_Var + | FStar_Reflection_V1_Data.Tv_Var bv' -> FStar_InteractiveHelpers_Base.bv_eq bv bv' @@ -3302,14 +3922,22 @@ let (is_equality_for_term : (fun check_eq -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (444)) (Prims.of_int (8)) - (Prims.of_int (444)) (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (444)) (Prims.of_int (2)) - (Prims.of_int (459)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (440)) + (Prims.of_int (8)) + (Prims.of_int (440)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (440)) + (Prims.of_int (2)) + (Prims.of_int (455)) + (Prims.of_int (8))))) (Obj.magic (is_eq dbg p)) (fun uu___1 -> (fun uu___1 -> @@ -3318,63 +3946,81 @@ let (is_equality_for_term : (ekind, l, r) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) - (Prims.of_int (4)) - (Prims.of_int (448)) - (Prims.of_int (80))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (449)) - (Prims.of_int (4)) - (Prims.of_int (456)) - (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) - (Prims.of_int (18)) - (Prims.of_int (448)) - (Prims.of_int (80))) + (Prims.of_int (444)) + (Prims.of_int (4)) + (Prims.of_int (444)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) + (Prims.of_int (445)) (Prims.of_int (4)) - (Prims.of_int (448)) - (Prims.of_int (80))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (452)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) - (Prims.of_int (36)) - (Prims.of_int (448)) - (Prims.of_int (79))) + (Prims.of_int (444)) + (Prims.of_int (18)) + (Prims.of_int (444)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (444)) + (Prims.of_int (4)) + (Prims.of_int (444)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) + (Prims.of_int (444)) (Prims.of_int (36)) - (Prims.of_int (448)) - (Prims.of_int (52))) + (Prims.of_int (444)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) + (Prims.of_int (444)) (Prims.of_int (36)) - (Prims.of_int (448)) - (Prims.of_int (79))) + (Prims.of_int (444)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (444)) + (Prims.of_int (36)) + (Prims.of_int (444)) + (Prims.of_int (79))))) (Obj.magic ( - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string l)) (fun uu___2 -> @@ -3382,34 +4028,42 @@ let (is_equality_for_term : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) + (Prims.of_int (444)) (Prims.of_int (55)) - (Prims.of_int (448)) - (Prims.of_int (79))) + (Prims.of_int (444)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (448)) + (Prims.of_int (444)) (Prims.of_int (63)) - (Prims.of_int (448)) - (Prims.of_int (79))) + (Prims.of_int (444)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string r)) (fun uu___3 -> @@ -3449,18 +4103,22 @@ let (is_equality_for_term : then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (451)) - (Prims.of_int (6)) - (Prims.of_int (451)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (452)) - (Prims.of_int (6)) - (Prims.of_int (452)) - (Prims.of_int (10))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (447)) + (Prims.of_int (6)) + (Prims.of_int (447)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (448)) + (Prims.of_int (6)) + (Prims.of_int (448)) + (Prims.of_int (10))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -3473,18 +4131,22 @@ let (is_equality_for_term : else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (454)) - (Prims.of_int (12)) - (Prims.of_int (454)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (454)) - (Prims.of_int (9)) - (Prims.of_int (456)) - (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (450)) + (Prims.of_int (12)) + (Prims.of_int (450)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (450)) + (Prims.of_int (9)) + (Prims.of_int (452)) + (Prims.of_int (13))))) (Obj.magic (check_eq l)) (fun uu___4 -> @@ -3502,18 +4164,22 @@ let (is_equality_for_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (455)) + (Prims.of_int (451)) (Prims.of_int (12)) - (Prims.of_int (455)) - (Prims.of_int (22))) + (Prims.of_int (451)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (455)) + (Prims.of_int (451)) (Prims.of_int (9)) - (Prims.of_int (456)) - (Prims.of_int (13))) + (Prims.of_int (452)) + (Prims.of_int (13))))) (Obj.magic (check_eq r)) @@ -3533,18 +4199,22 @@ let (is_equality_for_term : | uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (458)) - (Prims.of_int (4)) - (Prims.of_int (458)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (459)) - (Prims.of_int (4)) - (Prims.of_int (459)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (454)) + (Prims.of_int (4)) + (Prims.of_int (454)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (455)) + (Prims.of_int (4)) + (Prims.of_int (455)) + (Prims.of_int (8))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "Term is not eq")) @@ -3564,85 +4234,119 @@ let (find_subequality : fun tm -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (463)) (Prims.of_int (2)) (Prims.of_int (465)) - (Prims.of_int (50))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (465)) (Prims.of_int (51)) (Prims.of_int (468)) - (Prims.of_int (49))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (463)) (Prims.of_int (16)) - (Prims.of_int (465)) (Prims.of_int (50))) + (Prims.of_int (459)) (Prims.of_int (2)) + (Prims.of_int (461)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (463)) (Prims.of_int (2)) - (Prims.of_int (465)) (Prims.of_int (50))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (461)) (Prims.of_int (51)) + (Prims.of_int (464)) (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (464)) (Prims.of_int (17)) - (Prims.of_int (465)) (Prims.of_int (49))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (459)) (Prims.of_int (16)) + (Prims.of_int (461)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (459)) (Prims.of_int (2)) + (Prims.of_int (461)) (Prims.of_int (50))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (464)) (Prims.of_int (33)) - (Prims.of_int (465)) (Prims.of_int (49))) + (Prims.of_int (460)) (Prims.of_int (17)) + (Prims.of_int (461)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (464)) (Prims.of_int (33)) - (Prims.of_int (464)) (Prims.of_int (50))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (464)) (Prims.of_int (33)) - (Prims.of_int (465)) (Prims.of_int (49))) + (Prims.of_int (460)) (Prims.of_int (33)) + (Prims.of_int (461)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (460)) + (Prims.of_int (33)) + (Prims.of_int (460)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (460)) + (Prims.of_int (33)) + (Prims.of_int (461)) + (Prims.of_int (49))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string tm)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (465)) - (Prims.of_int (17)) - (Prims.of_int (465)) - (Prims.of_int (49))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (465)) - (Prims.of_int (33)) - (Prims.of_int (465)) - (Prims.of_int (49))) + (Prims.of_int (461)) + (Prims.of_int (17)) + (Prims.of_int (461)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (461)) + (Prims.of_int (33)) + (Prims.of_int (461)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string p)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -3672,57 +4376,78 @@ let (find_subequality : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (466)) (Prims.of_int (18)) - (Prims.of_int (466)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (467)) (Prims.of_int (2)) - (Prims.of_int (468)) (Prims.of_int (49))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (462)) (Prims.of_int (18)) + (Prims.of_int (462)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (463)) (Prims.of_int (2)) + (Prims.of_int (464)) (Prims.of_int (49))))) (Obj.magic (split_conjunctions p)) (fun uu___1 -> (fun conjuncts -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (467)) (Prims.of_int (2)) - (Prims.of_int (467)) (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (468)) (Prims.of_int (2)) - (Prims.of_int (468)) (Prims.of_int (49))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (467)) - (Prims.of_int (16)) - (Prims.of_int (467)) - (Prims.of_int (74))) + (Prims.of_int (463)) + (Prims.of_int (2)) + (Prims.of_int (463)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (467)) + (Prims.of_int (464)) (Prims.of_int (2)) - (Prims.of_int (467)) - (Prims.of_int (74))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (464)) + (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (463)) + (Prims.of_int (16)) + (Prims.of_int (463)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (467)) - (Prims.of_int (34)) - (Prims.of_int (467)) - (Prims.of_int (73))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (463)) + (Prims.of_int (2)) + (Prims.of_int (463)) + (Prims.of_int (74))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (463)) + (Prims.of_int (34)) + (Prims.of_int (463)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.list_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string conjuncts)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -3749,8 +4474,8 @@ let (find_equality_from_post : FStar_Reflection_Types.typ -> FStar_Reflection_Types.term -> FStar_InteractiveHelpers_Effectful.effect_info -> - FStar_Reflection_Data.term_view Prims.list -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Types.term FStar_Pervasives_Native.option), @@ -3766,14 +4491,18 @@ let (find_equality_from_post : fun parents -> fun children -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (475)) (Prims.of_int (2)) - (Prims.of_int (475)) (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (475)) (Prims.of_int (45)) - (Prims.of_int (493)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (471)) (Prims.of_int (2)) + (Prims.of_int (471)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (471)) (Prims.of_int (45)) + (Prims.of_int (489)) (Prims.of_int (27))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "[> find_equality_from_post")) @@ -3781,14 +4510,22 @@ let (find_equality_from_post : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (476)) (Prims.of_int (14)) - (Prims.of_int (476)) (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (476)) (Prims.of_int (49)) - (Prims.of_int (493)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (472)) + (Prims.of_int (14)) + (Prims.of_int (472)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (472)) + (Prims.of_int (49)) + (Prims.of_int (489)) + (Prims.of_int (27))))) (Obj.magic (FStar_InteractiveHelpers_ExploreTerm.get_type_info_from_type let_bvty)) @@ -3796,25 +4533,29 @@ let (find_equality_from_post : (fun tinfo -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (479)) - (Prims.of_int (4)) - (Prims.of_int (480)) - (Prims.of_int (78))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (476)) - (Prims.of_int (49)) - (Prims.of_int (493)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (475)) + (Prims.of_int (4)) + (Prims.of_int (476)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (472)) + (Prims.of_int (49)) + (Prims.of_int (489)) + (Prims.of_int (27))))) (Obj.magic (FStar_InteractiveHelpers_Effectful.pre_post_to_propositions dbg ge0 einfo.FStar_InteractiveHelpers_Effectful.ei_type ret_value (FStar_Pervasives_Native.Some - (FStar_Reflection_Derived.mk_binder + (FStar_Reflection_V1_Derived.mk_binder let_bv let_bvty)) tinfo einfo.FStar_InteractiveHelpers_Effectful.ei_pre @@ -3827,50 +4568,64 @@ let (find_equality_from_post : -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (482)) - (Prims.of_int (2)) - (Prims.of_int (482)) - (Prims.of_int (79))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (482)) - (Prims.of_int (80)) - (Prims.of_int (493)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (478)) + (Prims.of_int (2)) + (Prims.of_int (478)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (478)) + (Prims.of_int (80)) + (Prims.of_int (489)) + (Prims.of_int (27))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (482)) + (Prims.of_int (478)) (Prims.of_int (16)) - (Prims.of_int (482)) - (Prims.of_int (79))) - (FStar_Range.mk_range + (Prims.of_int (478)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (482)) + (Prims.of_int (478)) (Prims.of_int (2)) - (Prims.of_int (482)) - (Prims.of_int (79))) + (Prims.of_int (478)) + (Prims.of_int (79))))) (Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (482)) + (Prims.of_int (478)) (Prims.of_int (37)) - (Prims.of_int (482)) - (Prims.of_int (78))) + (Prims.of_int (478)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_InteractiveHelpers_Base.option_to_string - FStar_Tactics_Builtins.term_to_string + FStar_Tactics_V1_Builtins.term_to_string post_prop)) (fun uu___3 -> @@ -3893,18 +4648,22 @@ let (find_equality_from_post : (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (485)) + (Prims.of_int (481)) (Prims.of_int (4)) - (Prims.of_int (487)) - (Prims.of_int (41))) + (Prims.of_int (483)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (491)) + (Prims.of_int (487)) (Prims.of_int (2)) - (Prims.of_int (493)) - (Prims.of_int (27))) + (Prims.of_int (489)) + (Prims.of_int (27))))) (match post_prop with | @@ -3948,8 +4707,8 @@ let rec (find_context_equality_aux : FStar_InteractiveHelpers_Base.genv -> FStar_Reflection_Types.term -> FStar_Reflection_Types.bv FStar_Pervasives_Native.option -> - FStar_Reflection_Data.term_view Prims.list -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Types.term FStar_Pervasives_Native.option), unit) FStar_Tactics_Effect.tac_repr) @@ -3977,145 +4736,181 @@ let rec (find_context_equality_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (512)) - (Prims.of_int (4)) - (Prims.of_int (514)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (516)) - (Prims.of_int (4)) - (Prims.of_int (539)) - (Prims.of_int (79))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (512)) - (Prims.of_int (18)) - (Prims.of_int (514)) - (Prims.of_int (52))) + (Prims.of_int (508)) + (Prims.of_int (4)) + (Prims.of_int (510)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" (Prims.of_int (512)) (Prims.of_int (4)) - (Prims.of_int (514)) - (Prims.of_int (52))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (535)) + (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (513)) - (Prims.of_int (19)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (508)) + (Prims.of_int (18)) + (Prims.of_int (510)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (508)) + (Prims.of_int (4)) + (Prims.of_int (510)) + (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (513)) - (Prims.of_int (34)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (509)) + (Prims.of_int (19)) + (Prims.of_int (510)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (513)) + (Prims.of_int (509)) (Prims.of_int (34)) - (Prims.of_int (513)) - (Prims.of_int (51))) + (Prims.of_int (510)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (513)) - (Prims.of_int (34)) - (Prims.of_int (514)) - (Prims.of_int (51))) + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (509)) + (Prims.of_int (34)) + (Prims.of_int (509)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (509)) + (Prims.of_int (34)) + (Prims.of_int (510)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string tm)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (513)) + (Prims.of_int (509)) (Prims.of_int (54)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (510)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (514)) + (Prims.of_int (510)) (Prims.of_int (19)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (510)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (514)) + (Prims.of_int (510)) (Prims.of_int (34)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (510)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (511)) + (Prims.of_int (507)) (Prims.of_int (4)) - (Prims.of_int (511)) - (Prims.of_int (6))) + (Prims.of_int (507)) + (Prims.of_int (6))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (514)) + (Prims.of_int (510)) (Prims.of_int (34)) - (Prims.of_int (514)) - (Prims.of_int (51))) + (Prims.of_int (510)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack tv)) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string uu___1)) uu___1))) (fun @@ -4163,24 +4958,28 @@ let rec (find_context_equality_aux : (fun uu___ -> (fun uu___ -> match tv with - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (uu___1, uu___2, bv', ty, def, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (518)) - (Prims.of_int (6)) - (Prims.of_int (518)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (518)) - (Prims.of_int (32)) - (Prims.of_int (538)) - (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (514)) + (Prims.of_int (6)) + (Prims.of_int (514)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (514)) + (Prims.of_int (32)) + (Prims.of_int (534)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg "Is Tv_Let")) @@ -4188,18 +4987,24 @@ let rec (find_context_equality_aux : (fun uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (519)) + (Prims.of_int (515)) (Prims.of_int (20)) - (Prims.of_int (519)) - (Prims.of_int (54))) - (FStar_Range.mk_range + (Prims.of_int (515)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (519)) + (Prims.of_int (515)) (Prims.of_int (57)) - (Prims.of_int (538)) - (Prims.of_int (11))) + (Prims.of_int (534)) + (Prims.of_int (11))))) (Obj.magic ( FStar_InteractiveHelpers_Effectful.compute_eterm_info @@ -4213,18 +5018,22 @@ let rec (find_context_equality_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (520)) + (Prims.of_int (516)) (Prims.of_int (18)) - (Prims.of_int (520)) - (Prims.of_int (31))) + (Prims.of_int (516)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (520)) + (Prims.of_int (516)) (Prims.of_int (34)) - (Prims.of_int (538)) - (Prims.of_int (11))) + (Prims.of_int (534)) + (Prims.of_int (11))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -4235,18 +5044,22 @@ let rec (find_context_equality_aux : einfo -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (527)) + (Prims.of_int (523)) (Prims.of_int (8)) - (Prims.of_int (529)) - (Prims.of_int (23))) + (Prims.of_int (525)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (531)) + (Prims.of_int (527)) (Prims.of_int (6)) - (Prims.of_int (538)) - (Prims.of_int (11))) + (Prims.of_int (534)) + (Prims.of_int (11))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -4283,21 +5096,25 @@ let rec (find_context_equality_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (533)) + (Prims.of_int (529)) (Prims.of_int (24)) - (Prims.of_int (533)) - (Prims.of_int (41))) + (Prims.of_int (529)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (534)) + (Prims.of_int (530)) (Prims.of_int (14)) - (Prims.of_int (537)) - (Prims.of_int (90))) + (Prims.of_int (533)) + (Prims.of_int (90))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Var bv'))) (fun uu___6 -> @@ -4306,18 +5123,22 @@ let rec (find_context_equality_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (534)) + (Prims.of_int (530)) (Prims.of_int (20)) - (Prims.of_int (535)) - (Prims.of_int (66))) + (Prims.of_int (531)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (534)) + (Prims.of_int (530)) (Prims.of_int (14)) - (Prims.of_int (537)) - (Prims.of_int (90))) + (Prims.of_int (533)) + (Prims.of_int (90))))) (Obj.magic (find_equality_from_post dbg ge0 @@ -4373,8 +5194,8 @@ let (find_context_equality : Prims.bool -> FStar_InteractiveHelpers_Base.genv -> FStar_Reflection_Types.term -> - FStar_Reflection_Data.term_view Prims.list -> - FStar_Reflection_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> + FStar_Reflection_V1_Data.term_view Prims.list -> ((FStar_InteractiveHelpers_Base.genv * FStar_Reflection_Types.term FStar_Pervasives_Native.option), unit) FStar_Tactics_Effect.tac_repr) @@ -4385,30 +5206,38 @@ let (find_context_equality : fun parents -> fun children -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (543)) (Prims.of_int (4)) (Prims.of_int (545)) - (Prims.of_int (15))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (547)) (Prims.of_int (2)) (Prims.of_int (547)) - (Prims.of_int (62))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (543)) (Prims.of_int (10)) - (Prims.of_int (543)) (Prims.of_int (20))) + (Prims.of_int (539)) (Prims.of_int (4)) + (Prims.of_int (541)) (Prims.of_int (15))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (543)) (Prims.of_int (4)) - (Prims.of_int (545)) (Prims.of_int (15))) - (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (Prims.of_int (543)) (Prims.of_int (2)) + (Prims.of_int (543)) (Prims.of_int (62))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (539)) (Prims.of_int (10)) + (Prims.of_int (539)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (539)) (Prims.of_int (4)) + (Prims.of_int (541)) (Prims.of_int (15))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect tm)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Reflection_V1_Data.Tv_Var bv -> FStar_Pervasives_Native.Some bv | uu___2 -> FStar_Pervasives_Native.None)))) (fun uu___ -> @@ -4428,12 +5257,19 @@ let rec (replace_term_in : fun to_term -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (552)) (Prims.of_int (5)) (Prims.of_int (552)) - (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (552)) (Prims.of_int (2)) (Prims.of_int (596)) - (Prims.of_int (6))) (Obj.magic (term_eq from_term tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (548)) (Prims.of_int (5)) + (Prims.of_int (548)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (548)) (Prims.of_int (2)) + (Prims.of_int (592)) (Prims.of_int (6))))) + (Obj.magic (term_eq from_term tm)) (fun uu___ -> (fun uu___ -> if uu___ @@ -4446,50 +5282,60 @@ let rec (replace_term_in : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (553)) (Prims.of_int (8)) - (Prims.of_int (553)) (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (553)) (Prims.of_int (2)) - (Prims.of_int (596)) (Prims.of_int (6))) - (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (549)) (Prims.of_int (8)) + (Prims.of_int (549)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (549)) (Prims.of_int (2)) + (Prims.of_int (592)) (Prims.of_int (6))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect tm)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Data.Tv_Var uu___3 -> + | FStar_Reflection_V1_Data.Tv_Var uu___3 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> tm))) - | FStar_Reflection_Data.Tv_BVar uu___3 -> + | FStar_Reflection_V1_Data.Tv_BVar uu___3 + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> tm))) - | FStar_Reflection_Data.Tv_FVar uu___3 -> + | FStar_Reflection_V1_Data.Tv_FVar uu___3 + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> tm))) - | FStar_Reflection_Data.Tv_App + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qual)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (556)) - (Prims.of_int (13)) - (Prims.of_int (556)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (556)) - (Prims.of_int (55)) - (Prims.of_int (558)) - (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (552)) + (Prims.of_int (13)) + (Prims.of_int (552)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (552)) + (Prims.of_int (55)) + (Prims.of_int (554)) + (Prims.of_int (32))))) (Obj.magic (replace_term_in dbg from_term to_term a)) @@ -4497,18 +5343,22 @@ let rec (replace_term_in : (fun a' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (557)) - (Prims.of_int (14)) - (Prims.of_int (557)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (558)) - (Prims.of_int (4)) - (Prims.of_int (558)) - (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (553)) + (Prims.of_int (14)) + (Prims.of_int (553)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (554)) + (Prims.of_int (4)) + (Prims.of_int (554)) + (Prims.of_int (32))))) (Obj.magic (replace_term_in dbg from_term @@ -4516,69 +5366,78 @@ let rec (replace_term_in : (fun uu___3 -> (fun hd' -> Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack ( - FStar_Reflection_Data.Tv_App + FStar_Reflection_V1_Data.Tv_App (hd', (a', qual))))) uu___3))) uu___3))) - | FStar_Reflection_Data.Tv_Abs (br, body) - -> + | FStar_Reflection_V1_Data.Tv_Abs + (br, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (560)) - (Prims.of_int (16)) - (Prims.of_int (560)) - (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (561)) - (Prims.of_int (4)) - (Prims.of_int (561)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (556)) + (Prims.of_int (16)) + (Prims.of_int (556)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (557)) + (Prims.of_int (4)) + (Prims.of_int (557)) + (Prims.of_int (26))))) (Obj.magic (replace_term_in dbg from_term to_term body)) (fun uu___3 -> (fun body' -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Abs + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Abs (br, body')))) uu___3))) - | FStar_Reflection_Data.Tv_Arrow (br, c0) - -> + | FStar_Reflection_V1_Data.Tv_Arrow + (br, c0) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> tm))) - | FStar_Reflection_Data.Tv_Type uu___3 -> + | FStar_Reflection_V1_Data.Tv_Type uu___3 + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> tm))) - | FStar_Reflection_Data.Tv_Refine + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, ref) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (565)) - (Prims.of_int (16)) - (Prims.of_int (565)) - (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (565)) - (Prims.of_int (61)) - (Prims.of_int (567)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (561)) + (Prims.of_int (16)) + (Prims.of_int (561)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (561)) + (Prims.of_int (61)) + (Prims.of_int (563)) + (Prims.of_int (34))))) (Obj.magic (replace_term_in dbg from_term to_term sort)) @@ -4586,18 +5445,22 @@ let rec (replace_term_in : (fun sort' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (566)) - (Prims.of_int (15)) - (Prims.of_int (566)) - (Prims.of_int (56))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (567)) - (Prims.of_int (4)) - (Prims.of_int (567)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (562)) + (Prims.of_int (15)) + (Prims.of_int (562)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (563)) + (Prims.of_int (4)) + (Prims.of_int (563)) + (Prims.of_int (34))))) (Obj.magic (replace_term_in dbg from_term @@ -4605,42 +5468,47 @@ let rec (replace_term_in : (fun uu___3 -> (fun ref' -> Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack ( - FStar_Reflection_Data.Tv_Refine + FStar_Reflection_V1_Data.Tv_Refine (bv, sort', ref')))) uu___3))) uu___3))) - | FStar_Reflection_Data.Tv_Const uu___3 -> + | FStar_Reflection_V1_Data.Tv_Const uu___3 + -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> tm))) - | FStar_Reflection_Data.Tv_Uvar + | FStar_Reflection_V1_Data.Tv_Uvar (uu___3, uu___4) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> tm))) - | FStar_Reflection_Data.Tv_Let + | FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (573)) - (Prims.of_int (15)) - (Prims.of_int (573)) - (Prims.of_int (56))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (573)) - (Prims.of_int (59)) - (Prims.of_int (575)) - (Prims.of_int (45))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (569)) + (Prims.of_int (15)) + (Prims.of_int (569)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (569)) + (Prims.of_int (59)) + (Prims.of_int (571)) + (Prims.of_int (45))))) (Obj.magic (replace_term_in dbg from_term to_term def)) @@ -4648,18 +5516,22 @@ let rec (replace_term_in : (fun def' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (574)) - (Prims.of_int (16)) - (Prims.of_int (574)) - (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (575)) - (Prims.of_int (4)) - (Prims.of_int (575)) - (Prims.of_int (45))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (570)) + (Prims.of_int (16)) + (Prims.of_int (570)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (571)) + (Prims.of_int (4)) + (Prims.of_int (571)) + (Prims.of_int (45))))) (Obj.magic (replace_term_in dbg from_term @@ -4667,9 +5539,9 @@ let rec (replace_term_in : (fun uu___3 -> (fun body' -> Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack ( - FStar_Reflection_Data.Tv_Let + FStar_Reflection_V1_Data.Tv_Let (recf, attrs, bv, ty, @@ -4677,39 +5549,47 @@ let rec (replace_term_in : body')))) uu___3))) uu___3))) - | FStar_Reflection_Data.Tv_Match + | FStar_Reflection_V1_Data.Tv_Match (scrutinee, ret_opt, branches) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (578)) - (Prims.of_int (51)) - (Prims.of_int (582)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (583)) - (Prims.of_int (6)) - (Prims.of_int (586)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (574)) + (Prims.of_int (51)) + (Prims.of_int (578)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (579)) + (Prims.of_int (6)) + (Prims.of_int (582)) + (Prims.of_int (48))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> fun br -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (580)) - (Prims.of_int (22)) - (Prims.of_int (580)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (578)) - (Prims.of_int (51)) - (Prims.of_int (582)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (576)) + (Prims.of_int (22)) + (Prims.of_int (576)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (574)) + (Prims.of_int (51)) + (Prims.of_int (578)) + (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> br)) (fun uu___4 -> @@ -4721,18 +5601,22 @@ let rec (replace_term_in : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (581)) + (Prims.of_int (577)) (Prims.of_int (18)) - (Prims.of_int (581)) - (Prims.of_int (60))) + (Prims.of_int (577)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (582)) + (Prims.of_int (578)) (Prims.of_int (6)) - (Prims.of_int (582)) - (Prims.of_int (18))) + (Prims.of_int (578)) + (Prims.of_int (18))))) (Obj.magic (replace_term_in dbg @@ -4751,18 +5635,22 @@ let rec (replace_term_in : (fun explore_branch -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (584)) - (Prims.of_int (21)) - (Prims.of_int (584)) - (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (584)) - (Prims.of_int (71)) - (Prims.of_int (586)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (580)) + (Prims.of_int (21)) + (Prims.of_int (580)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (580)) + (Prims.of_int (71)) + (Prims.of_int (582)) + (Prims.of_int (48))))) (Obj.magic (replace_term_in dbg from_term @@ -4774,19 +5662,23 @@ let rec (replace_term_in : Obj.magic (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (585)) + (Prims.of_int (581)) (Prims.of_int (20)) - (Prims.of_int (585)) - (Prims.of_int (47))) + (Prims.of_int (581)) + (Prims.of_int (47))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (586)) + (Prims.of_int (582)) (Prims.of_int (4)) - (Prims.of_int (586)) - (Prims.of_int (48))) + (Prims.of_int (582)) + (Prims.of_int (48))))) ( Obj.magic (FStar_Tactics_Util.map @@ -4799,31 +5691,35 @@ let rec (replace_term_in : branches' -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Match + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Match (scrutinee', ret_opt, branches')))) uu___3))) uu___3))) uu___3))) - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Reflection_V1_Data.Tv_AscribedT (e, ty, tac, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (588)) - (Prims.of_int (13)) - (Prims.of_int (588)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (588)) - (Prims.of_int (55)) - (Prims.of_int (590)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (584)) + (Prims.of_int (13)) + (Prims.of_int (584)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (584)) + (Prims.of_int (55)) + (Prims.of_int (586)) + (Prims.of_int (41))))) (Obj.magic (replace_term_in dbg from_term to_term e)) @@ -4831,18 +5727,22 @@ let rec (replace_term_in : (fun e' -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (589)) - (Prims.of_int (14)) - (Prims.of_int (589)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (590)) - (Prims.of_int (4)) - (Prims.of_int (590)) - (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (585)) + (Prims.of_int (14)) + (Prims.of_int (585)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (586)) + (Prims.of_int (4)) + (Prims.of_int (586)) + (Prims.of_int (41))))) (Obj.magic (replace_term_in dbg from_term @@ -4850,39 +5750,43 @@ let rec (replace_term_in : (fun uu___3 -> (fun ty' -> Obj.magic - (FStar_Tactics_Builtins.pack + (FStar_Tactics_V1_Builtins.pack ( - FStar_Reflection_Data.Tv_AscribedT + FStar_Reflection_V1_Data.Tv_AscribedT (e', ty', tac, use_eq)))) uu___3))) uu___3))) - | FStar_Reflection_Data.Tv_AscribedC + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tac, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (592)) - (Prims.of_int (13)) - (Prims.of_int (592)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (593)) - (Prims.of_int (4)) - (Prims.of_int (593)) - (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (588)) + (Prims.of_int (13)) + (Prims.of_int (588)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (589)) + (Prims.of_int (4)) + (Prims.of_int (589)) + (Prims.of_int (39))))) (Obj.magic (replace_term_in dbg from_term to_term e)) (fun uu___3 -> (fun e' -> Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_AscribedC + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_AscribedC (e', c, tac, use_eq)))) uu___3))) @@ -4898,19 +5802,24 @@ let rec (strip_implicit_parameters : = fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (600)) (Prims.of_int (8)) (Prims.of_int (600)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (600)) (Prims.of_int (2)) (Prims.of_int (603)) - (Prims.of_int (11))) (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (596)) (Prims.of_int (8)) (Prims.of_int (596)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (596)) (Prims.of_int (2)) (Prims.of_int (599)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect tm)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_App (hd, (a, qualif)) -> + | FStar_Reflection_V1_Data.Tv_App (hd, (a, qualif)) -> Obj.magic (Obj.repr - (if FStar_Reflection_Data.uu___is_Q_Implicit qualif + (if FStar_Reflection_V1_Data.uu___is_Q_Implicit qualif then Obj.repr (strip_implicit_parameters hd) else Obj.repr @@ -4929,33 +5838,47 @@ let (unfold_in_assert_or_assume : fun dbg -> fun ares -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (607)) (Prims.of_int (2)) (Prims.of_int (607)) - (Prims.of_int (78))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (607)) (Prims.of_int (79)) (Prims.of_int (741)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (607)) (Prims.of_int (16)) - (Prims.of_int (607)) (Prims.of_int (78))) + (Prims.of_int (603)) (Prims.of_int (2)) (Prims.of_int (603)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (607)) (Prims.of_int (2)) (Prims.of_int (607)) - (Prims.of_int (78))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (603)) (Prims.of_int (79)) + (Prims.of_int (737)) (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (603)) (Prims.of_int (16)) + (Prims.of_int (603)) (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (607)) (Prims.of_int (54)) - (Prims.of_int (607)) (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (603)) (Prims.of_int (2)) + (Prims.of_int (603)) (Prims.of_int (78))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (603)) (Prims.of_int (54)) + (Prims.of_int (603)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string ares.res)) + (FStar_Tactics_V1_Builtins.term_to_string ares.res)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -4970,14 +5893,18 @@ let (unfold_in_assert_or_assume : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (611)) (Prims.of_int (4)) - (Prims.of_int (611)) (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (612)) (Prims.of_int (4)) - (Prims.of_int (741)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (607)) (Prims.of_int (4)) + (Prims.of_int (607)) (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (608)) (Prims.of_int (4)) + (Prims.of_int (737)) (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun t -> @@ -4987,30 +5914,42 @@ let (unfold_in_assert_or_assume : (fun find_focused_in_term -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (614)) (Prims.of_int (4)) - (Prims.of_int (617)) (Prims.of_int (93))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (618)) (Prims.of_int (4)) - (Prims.of_int (741)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (610)) + (Prims.of_int (4)) + (Prims.of_int (613)) + (Prims.of_int (93))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (614)) + (Prims.of_int (4)) + (Prims.of_int (737)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun uu___2 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (614)) - (Prims.of_int (10)) - (Prims.of_int (614)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (614)) - (Prims.of_int (4)) - (Prims.of_int (617)) - (Prims.of_int (93))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (610)) + (Prims.of_int (10)) + (Prims.of_int (610)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (610)) + (Prims.of_int (4)) + (Prims.of_int (613)) + (Prims.of_int (93))))) (Obj.magic (find_focused_in_term ares.res)) (fun uu___3 -> @@ -5044,62 +5983,78 @@ let (unfold_in_assert_or_assume : (fun find_in_whole_term -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (627)) - (Prims.of_int (69)) - (Prims.of_int (655)) - (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (618)) - (Prims.of_int (4)) - (Prims.of_int (741)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (628)) - (Prims.of_int (12)) - (Prims.of_int (628)) - (Prims.of_int (67))) + (Prims.of_int (623)) + (Prims.of_int (69)) + (Prims.of_int (651)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (629)) + (Prims.of_int (614)) (Prims.of_int (4)) - (Prims.of_int (655)) - (Prims.of_int (27))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (737)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (628)) - (Prims.of_int (26)) - (Prims.of_int (628)) - (Prims.of_int (67))) + (Prims.of_int (624)) + (Prims.of_int (12)) + (Prims.of_int (624)) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (628)) - (Prims.of_int (12)) - (Prims.of_int (628)) - (Prims.of_int (67))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (625)) + (Prims.of_int (4)) + (Prims.of_int (651)) + (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (628)) - (Prims.of_int (43)) - (Prims.of_int (628)) - (Prims.of_int (66))) + (Prims.of_int (624)) + (Prims.of_int (26)) + (Prims.of_int (624)) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (624)) + (Prims.of_int (12)) + (Prims.of_int (624)) + (Prims.of_int (67))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (624)) + (Prims.of_int (43)) + (Prims.of_int (624)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string ares.res)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -5118,18 +6073,22 @@ let (unfold_in_assert_or_assume : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (629)) - (Prims.of_int (10)) - (Prims.of_int (629)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (629)) - (Prims.of_int (4)) - (Prims.of_int (655)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (625)) + (Prims.of_int (10)) + (Prims.of_int (625)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (625)) + (Prims.of_int (4)) + (Prims.of_int (651)) + (Prims.of_int (27))))) (Obj.magic (is_eq dbg ares.res)) @@ -5142,18 +6101,22 @@ let (unfold_in_assert_or_assume : r) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (631)) + (Prims.of_int (627)) (Prims.of_int (6)) - (Prims.of_int (631)) - (Prims.of_int (50))) + (Prims.of_int (627)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (632)) + (Prims.of_int (628)) (Prims.of_int (12)) - (Prims.of_int (651)) - (Prims.of_int (11))) + (Prims.of_int (647)) + (Prims.of_int (11))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5164,18 +6127,22 @@ let (unfold_in_assert_or_assume : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (632)) + (Prims.of_int (628)) (Prims.of_int (18)) - (Prims.of_int (632)) - (Prims.of_int (40))) + (Prims.of_int (628)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (632)) + (Prims.of_int (628)) (Prims.of_int (12)) - (Prims.of_int (651)) - (Prims.of_int (11))) + (Prims.of_int (647)) + (Prims.of_int (11))))) (Obj.magic (find_focused_in_term l)) @@ -5190,76 +6157,96 @@ let (unfold_in_assert_or_assume : res -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (634)) + (Prims.of_int (630)) (Prims.of_int (8)) - (Prims.of_int (637)) - (Prims.of_int (64))) + (Prims.of_int (633)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (639)) + (Prims.of_int (635)) (Prims.of_int (8)) - (Prims.of_int (639)) - (Prims.of_int (29))) + (Prims.of_int (635)) + (Prims.of_int (29))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (634)) + (Prims.of_int (630)) (Prims.of_int (22)) - (Prims.of_int (637)) - (Prims.of_int (64))) + (Prims.of_int (633)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (634)) + (Prims.of_int (630)) (Prims.of_int (8)) - (Prims.of_int (637)) - (Prims.of_int (64))) + (Prims.of_int (633)) + (Prims.of_int (64))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (635)) + (Prims.of_int (631)) (Prims.of_int (23)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (635)) + (Prims.of_int (631)) (Prims.of_int (41)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (635)) + (Prims.of_int (631)) (Prims.of_int (41)) - (Prims.of_int (635)) - (Prims.of_int (57))) + (Prims.of_int (631)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (635)) + (Prims.of_int (631)) (Prims.of_int (41)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string l)) (fun uu___5 -> @@ -5267,48 +6254,60 @@ let (unfold_in_assert_or_assume : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (636)) + (Prims.of_int (632)) (Prims.of_int (23)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (636)) + (Prims.of_int (632)) (Prims.of_int (41)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (636)) + (Prims.of_int (632)) (Prims.of_int (41)) - (Prims.of_int (636)) - (Prims.of_int (57))) + (Prims.of_int (632)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (636)) + (Prims.of_int (632)) (Prims.of_int (41)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string r)) (fun uu___6 -> @@ -5316,34 +6315,42 @@ let (unfold_in_assert_or_assume : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (637)) + (Prims.of_int (633)) (Prims.of_int (23)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (637)) + (Prims.of_int (633)) (Prims.of_int (41)) - (Prims.of_int (637)) - (Prims.of_int (63))) + (Prims.of_int (633)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string res.res)) (fun uu___7 -> @@ -5426,18 +6433,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (641)) + (Prims.of_int (637)) (Prims.of_int (20)) - (Prims.of_int (641)) - (Prims.of_int (42))) + (Prims.of_int (637)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (641)) + (Prims.of_int (637)) (Prims.of_int (14)) - (Prims.of_int (650)) - (Prims.of_int (89))) + (Prims.of_int (646)) + (Prims.of_int (89))))) (Obj.magic (find_focused_in_term r)) @@ -5452,76 +6463,96 @@ let (unfold_in_assert_or_assume : res -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (643)) + (Prims.of_int (639)) (Prims.of_int (10)) - (Prims.of_int (646)) - (Prims.of_int (58))) + (Prims.of_int (642)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (648)) + (Prims.of_int (644)) (Prims.of_int (10)) - (Prims.of_int (648)) - (Prims.of_int (32))) + (Prims.of_int (644)) + (Prims.of_int (32))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (643)) + (Prims.of_int (639)) (Prims.of_int (24)) - (Prims.of_int (646)) - (Prims.of_int (58))) + (Prims.of_int (642)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (643)) + (Prims.of_int (639)) (Prims.of_int (10)) - (Prims.of_int (646)) - (Prims.of_int (58))) + (Prims.of_int (642)) + (Prims.of_int (58))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (644)) + (Prims.of_int (640)) (Prims.of_int (17)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (644)) + (Prims.of_int (640)) (Prims.of_int (35)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (644)) + (Prims.of_int (640)) (Prims.of_int (35)) - (Prims.of_int (644)) - (Prims.of_int (51))) + (Prims.of_int (640)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (644)) + (Prims.of_int (640)) (Prims.of_int (35)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string l)) (fun uu___6 -> @@ -5529,48 +6560,60 @@ let (unfold_in_assert_or_assume : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (645)) + (Prims.of_int (641)) (Prims.of_int (17)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (645)) + (Prims.of_int (641)) (Prims.of_int (35)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (645)) + (Prims.of_int (641)) (Prims.of_int (35)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (641)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (645)) + (Prims.of_int (641)) (Prims.of_int (35)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string r)) (fun uu___7 -> @@ -5578,34 +6621,42 @@ let (unfold_in_assert_or_assume : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (646)) + (Prims.of_int (642)) (Prims.of_int (17)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (646)) + (Prims.of_int (642)) (Prims.of_int (35)) - (Prims.of_int (646)) - (Prims.of_int (57))) + (Prims.of_int (642)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string res.res)) (fun uu___8 -> @@ -5696,18 +6747,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (654)) + (Prims.of_int (650)) (Prims.of_int (6)) - (Prims.of_int (654)) - (Prims.of_int (54))) + (Prims.of_int (650)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (655)) + (Prims.of_int (651)) (Prims.of_int (6)) - (Prims.of_int (655)) - (Prims.of_int (27))) + (Prims.of_int (651)) + (Prims.of_int (27))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg @@ -5729,18 +6784,22 @@ let (unfold_in_assert_or_assume : insert_before) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (657)) - (Prims.of_int (2)) - (Prims.of_int (741)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (657)) - (Prims.of_int (2)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (653)) + (Prims.of_int (2)) + (Prims.of_int (737)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (653)) + (Prims.of_int (2)) + (Prims.of_int (737)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> rebuild)) @@ -5748,76 +6807,96 @@ let (unfold_in_assert_or_assume : (fun rebuild1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (657)) + (Prims.of_int (653)) (Prims.of_int (2)) - (Prims.of_int (659)) - (Prims.of_int (65))) - (FStar_Range.mk_range + (Prims.of_int (655)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (659)) + (Prims.of_int (655)) (Prims.of_int (66)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (657)) + (Prims.of_int (653)) (Prims.of_int (16)) - (Prims.of_int (659)) - (Prims.of_int (65))) + (Prims.of_int (655)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (657)) + (Prims.of_int (653)) (Prims.of_int (2)) - (Prims.of_int (659)) - (Prims.of_int (65))) + (Prims.of_int (655)) + (Prims.of_int (65))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (658)) + (Prims.of_int (654)) (Prims.of_int (17)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (658)) + (Prims.of_int (654)) (Prims.of_int (33)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (658)) + (Prims.of_int (654)) (Prims.of_int (33)) - (Prims.of_int (658)) - (Prims.of_int (55))) + (Prims.of_int (654)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (658)) + (Prims.of_int (654)) (Prims.of_int (33)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string subterm)) (fun uu___2 -> @@ -5825,48 +6904,60 @@ let (unfold_in_assert_or_assume : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (658)) + (Prims.of_int (654)) (Prims.of_int (58)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (659)) + (Prims.of_int (655)) (Prims.of_int (17)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (659)) + (Prims.of_int (655)) (Prims.of_int (38)) - (Prims.of_int (659)) - (Prims.of_int (64))) + (Prims.of_int (655)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string unf_res.res)) (fun uu___3 -> @@ -5924,20 +7015,24 @@ let (unfold_in_assert_or_assume : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (661)) + (Prims.of_int (657)) (Prims.of_int (17)) - (Prims.of_int (661)) - (Prims.of_int (36))) + (Prims.of_int (657)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (661)) + (Prims.of_int (657)) (Prims.of_int (39)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect unf_res.res)) (fun uu___3 -> @@ -5946,43 +7041,51 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (663)) + (Prims.of_int (659)) (Prims.of_int (4)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (661)) + (Prims.of_int (657)) (Prims.of_int (39)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (match res_view with | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar fv -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (665)) + (Prims.of_int (661)) (Prims.of_int (6)) - (Prims.of_int (665)) - (Prims.of_int (80))) + (Prims.of_int (661)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (665)) + (Prims.of_int (661)) (Prims.of_int (81)) - (Prims.of_int (670)) - (Prims.of_int (28))) + (Prims.of_int (666)) + (Prims.of_int (28))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg (Prims.strcat "The focused term is a top identifier: " - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V1_Derived.fv_to_string fv)))) (fun uu___3 -> @@ -5990,23 +7093,27 @@ let (unfold_in_assert_or_assume : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (667)) + (Prims.of_int (663)) (Prims.of_int (18)) - (Prims.of_int (667)) - (Prims.of_int (46))) + (Prims.of_int (663)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (667)) + (Prims.of_int (663)) (Prims.of_int (49)) - (Prims.of_int (670)) - (Prims.of_int (28))) + (Prims.of_int (666)) + (Prims.of_int (28))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> - FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv + FStar_Reflection_V1_Derived.flatten_name + (FStar_Reflection_V1_Builtins.inspect_fv fv))) (fun uu___4 -> @@ -6014,20 +7121,24 @@ let (unfold_in_assert_or_assume : fname -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (668)) + (Prims.of_int (664)) (Prims.of_int (21)) - (Prims.of_int (668)) - (Prims.of_int (81))) + (Prims.of_int (664)) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (669)) + (Prims.of_int (665)) (Prims.of_int (6)) - (Prims.of_int (670)) - (Prims.of_int (28))) + (Prims.of_int (666)) + (Prims.of_int (28))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env (ares.ge).FStar_InteractiveHelpers_Base.env [ FStar_Pervasives.delta_only @@ -6041,48 +7152,60 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (669)) + (Prims.of_int (665)) (Prims.of_int (6)) - (Prims.of_int (669)) - (Prims.of_int (70))) + (Prims.of_int (665)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (670)) + (Prims.of_int (666)) (Prims.of_int (6)) - (Prims.of_int (670)) - (Prims.of_int (28))) + (Prims.of_int (666)) + (Prims.of_int (28))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (669)) + (Prims.of_int (665)) (Prims.of_int (20)) - (Prims.of_int (669)) - (Prims.of_int (70))) + (Prims.of_int (665)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (669)) + (Prims.of_int (665)) (Prims.of_int (6)) - (Prims.of_int (669)) - (Prims.of_int (70))) + (Prims.of_int (665)) + (Prims.of_int (70))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (669)) + (Prims.of_int (665)) (Prims.of_int (46)) - (Prims.of_int (669)) - (Prims.of_int (69))) + (Prims.of_int (665)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string subterm')) (fun uu___4 -> @@ -6116,18 +7239,22 @@ let (unfold_in_assert_or_assume : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (675)) + (Prims.of_int (671)) (Prims.of_int (20)) - (Prims.of_int (675)) - (Prims.of_int (49))) + (Prims.of_int (671)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (675)) + (Prims.of_int (671)) (Prims.of_int (52)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> @@ -6141,67 +7268,83 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (677)) + (Prims.of_int (673)) (Prims.of_int (8)) - (Prims.of_int (686)) - (Prims.of_int (14))) + (Prims.of_int (682)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (687)) + (Prims.of_int (683)) (Prims.of_int (8)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) (match res_view with | - FStar_Reflection_Data.Tv_Var + FStar_Reflection_V1_Data.Tv_Var bv -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (679)) + (Prims.of_int (675)) (Prims.of_int (10)) - (Prims.of_int (679)) - (Prims.of_int (84))) + (Prims.of_int (675)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (681)) + (Prims.of_int (677)) (Prims.of_int (10)) - (Prims.of_int (683)) - (Prims.of_int (39))) + (Prims.of_int (679)) + (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (679)) + (Prims.of_int (675)) (Prims.of_int (24)) - (Prims.of_int (679)) - (Prims.of_int (84))) + (Prims.of_int (675)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (679)) + (Prims.of_int (675)) (Prims.of_int (10)) - (Prims.of_int (679)) - (Prims.of_int (84))) + (Prims.of_int (675)) + (Prims.of_int (84))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (679)) + (Prims.of_int (675)) (Prims.of_int (68)) - (Prims.of_int (679)) - (Prims.of_int (83))) + (Prims.of_int (675)) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.bv_to_string + (FStar_Tactics_V1_Derived.bv_to_string bv)) (fun uu___4 -> @@ -6226,18 +7369,22 @@ let (unfold_in_assert_or_assume : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (681)) + (Prims.of_int (677)) (Prims.of_int (10)) - (Prims.of_int (682)) - (Prims.of_int (106))) + (Prims.of_int (678)) + (Prims.of_int (106))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (683)) + (Prims.of_int (679)) (Prims.of_int (10)) - (Prims.of_int (683)) - (Prims.of_int (39))) + (Prims.of_int (679)) + (Prims.of_int (39))))) (if Prims.op_Negation (FStar_Pervasives_Native.uu___is_Some @@ -6263,55 +7410,67 @@ let (unfold_in_assert_or_assume : uu___6 -> FStar_Pervasives_Native.Some (bv, - (FStar_Reflection_Builtins.pack_ln - FStar_Reflection_Data.Tv_Unknown)))))) + (FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown)))))) uu___4)) | uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (685)) + (Prims.of_int (681)) (Prims.of_int (10)) - (Prims.of_int (685)) - (Prims.of_int (96))) + (Prims.of_int (681)) + (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (686)) + (Prims.of_int (682)) (Prims.of_int (10)) - (Prims.of_int (686)) - (Prims.of_int (14))) + (Prims.of_int (682)) + (Prims.of_int (14))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (685)) + (Prims.of_int (681)) (Prims.of_int (24)) - (Prims.of_int (685)) - (Prims.of_int (96))) + (Prims.of_int (681)) + (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (685)) + (Prims.of_int (681)) (Prims.of_int (10)) - (Prims.of_int (685)) - (Prims.of_int (96))) + (Prims.of_int (681)) + (Prims.of_int (96))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (685)) + (Prims.of_int (681)) (Prims.of_int (69)) - (Prims.of_int (685)) - (Prims.of_int (95))) + (Prims.of_int (681)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string unf_res.res)) (fun uu___5 -> @@ -6343,18 +7502,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (688)) + (Prims.of_int (684)) (Prims.of_int (23)) - (Prims.of_int (688)) - (Prims.of_int (79))) + (Prims.of_int (684)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (687)) + (Prims.of_int (683)) (Prims.of_int (8)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) (Obj.magic (find_context_equality dbg @@ -6373,18 +7536,22 @@ let (unfold_in_assert_or_assume : eq_tm) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (691)) + (Prims.of_int (687)) (Prims.of_int (8)) - (Prims.of_int (693)) - (Prims.of_int (19))) + (Prims.of_int (689)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (694)) + (Prims.of_int (690)) (Prims.of_int (8)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -6405,18 +7572,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (697)) + (Prims.of_int (693)) (Prims.of_int (8)) - (Prims.of_int (700)) - (Prims.of_int (19))) + (Prims.of_int (696)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (702)) + (Prims.of_int (698)) (Prims.of_int (6)) - (Prims.of_int (702)) - (Prims.of_int (19))) + (Prims.of_int (698)) + (Prims.of_int (19))))) (match (opt_bvty, opt_eq_tm) @@ -6430,18 +7601,22 @@ let (unfold_in_assert_or_assume : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (698)) + (Prims.of_int (694)) (Prims.of_int (40)) - (Prims.of_int (698)) - (Prims.of_int (85))) + (Prims.of_int (694)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (698)) + (Prims.of_int (694)) (Prims.of_int (35)) - (Prims.of_int (698)) - (Prims.of_int (85))) + (Prims.of_int (694)) + (Prims.of_int (85))))) (Obj.magic (FStar_InteractiveHelpers_Base.apply_subst ge1.FStar_InteractiveHelpers_Base.env @@ -6464,18 +7639,22 @@ let (unfold_in_assert_or_assume : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (699)) + (Prims.of_int (695)) (Prims.of_int (35)) - (Prims.of_int (699)) - (Prims.of_int (82))) + (Prims.of_int (695)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (699)) + (Prims.of_int (695)) (Prims.of_int (30)) - (Prims.of_int (699)) - (Prims.of_int (82))) + (Prims.of_int (695)) + (Prims.of_int (82))))) (Obj.magic (replace_term_in dbg @@ -6521,18 +7700,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (713)) + (Prims.of_int (709)) (Prims.of_int (4)) - (Prims.of_int (729)) - (Prims.of_int (9))) + (Prims.of_int (725)) + (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (703)) + (Prims.of_int (699)) (Prims.of_int (4)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (match opt_unf_tm with | @@ -6551,32 +7734,40 @@ let (unfold_in_assert_or_assume : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (716)) + (Prims.of_int (712)) (Prims.of_int (18)) - (Prims.of_int (716)) - (Prims.of_int (65))) + (Prims.of_int (712)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (716)) + (Prims.of_int (712)) (Prims.of_int (12)) - (Prims.of_int (728)) - (Prims.of_int (42))) + (Prims.of_int (724)) + (Prims.of_int (42))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (716)) + (Prims.of_int (712)) (Prims.of_int (26)) - (Prims.of_int (716)) - (Prims.of_int (65))) + (Prims.of_int (712)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (716)) + (Prims.of_int (712)) (Prims.of_int (18)) - (Prims.of_int (716)) - (Prims.of_int (65))) + (Prims.of_int (712)) + (Prims.of_int (65))))) (Obj.magic (strip_implicit_parameters unf_res.res)) @@ -6585,7 +7776,7 @@ let (unfold_in_assert_or_assume : (fun uu___4 -> Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_V1_Builtins.inspect uu___4)) uu___4))) (fun @@ -6595,28 +7786,32 @@ let (unfold_in_assert_or_assume : match uu___4 with | - FStar_Reflection_Data.Tv_FVar + FStar_Reflection_V1_Data.Tv_FVar fv -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (718)) + (Prims.of_int (714)) (Prims.of_int (8)) - (Prims.of_int (719)) - (Prims.of_int (41))) + (Prims.of_int (715)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (719)) + (Prims.of_int (715)) (Prims.of_int (42)) - (Prims.of_int (724)) - (Prims.of_int (21))) + (Prims.of_int (720)) + (Prims.of_int (21))))) (Obj.magic (FStar_InteractiveHelpers_Base.print_dbg dbg (Prims.strcat "The focused term is a top identifier with implicit parameters: " - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V1_Derived.fv_to_string fv)))) (fun uu___5 -> @@ -6624,23 +7819,27 @@ let (unfold_in_assert_or_assume : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (721)) + (Prims.of_int (717)) (Prims.of_int (20)) - (Prims.of_int (721)) - (Prims.of_int (48))) + (Prims.of_int (717)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (721)) + (Prims.of_int (717)) (Prims.of_int (51)) - (Prims.of_int (724)) - (Prims.of_int (21))) + (Prims.of_int (720)) + (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> - FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv + FStar_Reflection_V1_Derived.flatten_name + (FStar_Reflection_V1_Builtins.inspect_fv fv))) (fun uu___6 -> @@ -6648,20 +7847,24 @@ let (unfold_in_assert_or_assume : fname -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (722)) + (Prims.of_int (718)) (Prims.of_int (23)) - (Prims.of_int (722)) - (Prims.of_int (79))) + (Prims.of_int (718)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (723)) + (Prims.of_int (719)) (Prims.of_int (8)) - (Prims.of_int (724)) - (Prims.of_int (21))) + (Prims.of_int (720)) + (Prims.of_int (21))))) (Obj.magic - (FStar_Tactics_Builtins.norm_term_env + (FStar_Tactics_V1_Builtins.norm_term_env ge1.FStar_InteractiveHelpers_Base.env [ FStar_Pervasives.delta_only @@ -6675,48 +7878,60 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (723)) + (Prims.of_int (719)) (Prims.of_int (8)) - (Prims.of_int (723)) - (Prims.of_int (72))) + (Prims.of_int (719)) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (724)) + (Prims.of_int (720)) (Prims.of_int (8)) - (Prims.of_int (724)) - (Prims.of_int (21))) + (Prims.of_int (720)) + (Prims.of_int (21))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (723)) + (Prims.of_int (719)) (Prims.of_int (22)) - (Prims.of_int (723)) - (Prims.of_int (72))) + (Prims.of_int (719)) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (723)) + (Prims.of_int (719)) (Prims.of_int (8)) - (Prims.of_int (723)) - (Prims.of_int (72))) + (Prims.of_int (719)) + (Prims.of_int (72))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (723)) + (Prims.of_int (719)) (Prims.of_int (48)) - (Prims.of_int (723)) - (Prims.of_int (71))) + (Prims.of_int (719)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string subterm')) (fun uu___6 -> @@ -6749,48 +7964,60 @@ let (unfold_in_assert_or_assume : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (726)) + (Prims.of_int (722)) (Prims.of_int (14)) - (Prims.of_int (728)) - (Prims.of_int (42))) + (Prims.of_int (724)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (726)) + (Prims.of_int (722)) (Prims.of_int (8)) - (Prims.of_int (728)) - (Prims.of_int (42))) + (Prims.of_int (724)) + (Prims.of_int (42))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (727)) + (Prims.of_int (723)) (Prims.of_int (15)) - (Prims.of_int (728)) - (Prims.of_int (41))) + (Prims.of_int (724)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (728)) + (Prims.of_int (724)) (Prims.of_int (15)) - (Prims.of_int (728)) - (Prims.of_int (41))) + (Prims.of_int (724)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string unf_res.res)) (fun uu___6 -> @@ -6829,18 +8056,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (732)) + (Prims.of_int (728)) (Prims.of_int (21)) - (Prims.of_int (732)) - (Prims.of_int (35))) + (Prims.of_int (728)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (732)) + (Prims.of_int (728)) (Prims.of_int (38)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic (rebuild1 unf_tm)) @@ -6851,18 +8082,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (733)) + (Prims.of_int (729)) (Prims.of_int (21)) - (Prims.of_int (733)) - (Prims.of_int (51))) + (Prims.of_int (729)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (2)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Base.prettify_term dbg @@ -6874,48 +8109,60 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (2)) - (Prims.of_int (734)) - (Prims.of_int (71))) + (Prims.of_int (730)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (72)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (16)) - (Prims.of_int (734)) - (Prims.of_int (71))) + (Prims.of_int (730)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (2)) - (Prims.of_int (734)) - (Prims.of_int (71))) + (Prims.of_int (730)) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (734)) + (Prims.of_int (730)) (Prims.of_int (43)) - (Prims.of_int (734)) - (Prims.of_int (70))) + (Prims.of_int (730)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V1_Builtins.term_to_string final_assert1)) (fun uu___5 -> @@ -6940,18 +8187,22 @@ let (unfold_in_assert_or_assume : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (736)) + (Prims.of_int (732)) (Prims.of_int (4)) - (Prims.of_int (736)) - (Prims.of_int (94))) + (Prims.of_int (732)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (737)) + (Prims.of_int (733)) (Prims.of_int (4)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -6972,18 +8223,22 @@ let (unfold_in_assert_or_assume : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (739)) + (Prims.of_int (735)) (Prims.of_int (21)) - (Prims.of_int (739)) - (Prims.of_int (79))) + (Prims.of_int (735)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (737)) + (Prims.of_int (733)) (Prims.of_int (4)) - (Prims.of_int (741)) - (Prims.of_int (30))) + (Prims.of_int (737)) + (Prims.of_int (30))))) (Obj.magic (FStar_InteractiveHelpers_Output.subst_shadowed_with_abs_in_assertions dbg ge2 @@ -7018,32 +8273,40 @@ let (pp_unfold_in_assert_or_assume : Prims.bool -> unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun dbg -> fun uu___ -> - FStar_Tactics_Derived.try_with + FStar_Tactics_V1_Derived.try_with (fun uu___1 -> match () with | () -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (747)) (Prims.of_int (14)) - (Prims.of_int (747)) (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (748)) (Prims.of_int (4)) - (Prims.of_int (749)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (743)) (Prims.of_int (14)) + (Prims.of_int (743)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (744)) (Prims.of_int (4)) + (Prims.of_int (745)) (Prims.of_int (16))))) (Obj.magic (find_focused_assert_in_current_goal dbg)) (fun uu___2 -> (fun res -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (748)) (Prims.of_int (4)) - (Prims.of_int (748)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (749)) (Prims.of_int (4)) - (Prims.of_int (749)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (744)) (Prims.of_int (4)) + (Prims.of_int (744)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (745)) (Prims.of_int (4)) + (Prims.of_int (745)) (Prims.of_int (16))))) (Obj.magic (unfold_in_assert_or_assume dbg res)) (fun uu___2 -> (fun uu___2 -> Obj.magic (end_proof ())) @@ -7055,14 +8318,18 @@ let (pp_unfold_in_assert_or_assume : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (750)) (Prims.of_int (29)) - (Prims.of_int (750)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.PostProcess.fst" - (Prims.of_int (750)) (Prims.of_int (51)) - (Prims.of_int (750)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (746)) (Prims.of_int (29)) + (Prims.of_int (746)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.PostProcess.fst" + (Prims.of_int (746)) (Prims.of_int (51)) + (Prims.of_int (746)) (Prims.of_int (63))))) (Obj.magic (FStar_InteractiveHelpers_Output.printout_failure msg)) @@ -7077,7 +8344,7 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_2 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_2 (FStar_Tactics_Native.from_tactic_2 pp_unfold_in_assert_or_assume) FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml index 6e357839ef3..a6009e4e3ef 100644 --- a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml +++ b/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml @@ -3,11 +3,11 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old type proposition = FStar_Reflection_Types.term let (proposition_to_string : proposition -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = - fun p -> FStar_Tactics_Builtins.term_to_string p + fun p -> FStar_Tactics_V1_Builtins.term_to_string p type assertions = { pres: proposition Prims.list ; @@ -28,9 +28,9 @@ let (is_trivial_proposition : proposition -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun p -> term_eq - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "l_True"]))) p + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "l_True"]))) p let (simp_filter_proposition : FStar_Reflection_Types.env -> FStar_Pervasives.norm_step Prims.list -> @@ -41,30 +41,40 @@ let (simp_filter_proposition : fun steps -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (52)) (Prims.of_int (14)) (Prims.of_int (52)) - (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (54)) (Prims.of_int (2)) (Prims.of_int (55)) - (Prims.of_int (14))) - (Obj.magic (FStar_Tactics_Builtins.norm_term_env e steps p)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (52)) (Prims.of_int (14)) + (Prims.of_int (52)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (54)) (Prims.of_int (2)) (Prims.of_int (55)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V1_Builtins.norm_term_env e steps p)) (fun uu___ -> (fun prop1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (54)) (Prims.of_int (5)) - (Prims.of_int (54)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (54)) (Prims.of_int (2)) - (Prims.of_int (55)) (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (54)) (Prims.of_int (5)) + (Prims.of_int (54)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (54)) (Prims.of_int (2)) + (Prims.of_int (55)) (Prims.of_int (14))))) (Obj.magic (term_eq - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "l_True"]))) prop1)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -80,12 +90,18 @@ let (simp_filter_propositions : fun steps -> fun pl -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (59)) (Prims.of_int (15)) (Prims.of_int (59)) - (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (59)) (Prims.of_int (2)) (Prims.of_int (59)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (59)) (Prims.of_int (15)) + (Prims.of_int (59)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (59)) (Prims.of_int (2)) (Prims.of_int (59)) + (Prims.of_int (57))))) (Obj.magic (FStar_Tactics_Util.map (simp_filter_proposition e steps) pl)) (fun uu___ -> @@ -100,25 +116,35 @@ let (simp_filter_assertions : fun steps -> fun a -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (63)) (Prims.of_int (13)) (Prims.of_int (63)) - (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (63)) (Prims.of_int (55)) (Prims.of_int (65)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (63)) (Prims.of_int (13)) + (Prims.of_int (63)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (63)) (Prims.of_int (55)) + (Prims.of_int (65)) (Prims.of_int (26))))) (Obj.magic (simp_filter_propositions e steps a.pres)) (fun uu___ -> (fun pres -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (64)) (Prims.of_int (14)) - (Prims.of_int (64)) (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.InteractiveHelpers.Propositions.fst" - (Prims.of_int (65)) (Prims.of_int (2)) - (Prims.of_int (65)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (64)) (Prims.of_int (14)) + (Prims.of_int (64)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.InteractiveHelpers.Propositions.fst" + (Prims.of_int (65)) (Prims.of_int (2)) + (Prims.of_int (65)) (Prims.of_int (26))))) (Obj.magic (simp_filter_propositions e steps a.posts)) (fun posts -> FStar_Tactics_Effect.lift_div_tac diff --git a/ocaml/fstar-lib/generated/FStar_Interactive_Ide.ml b/ocaml/fstar-lib/generated/FStar_Interactive_Ide.ml index 262df216582..df43babc824 100644 --- a/ocaml/fstar-lib/generated/FStar_Interactive_Ide.ml +++ b/ocaml/fstar-lib/generated/FStar_Interactive_Ide.ml @@ -1229,7 +1229,7 @@ let run_segment : let uu___2 = let uu___3 = FStar_Compiler_Range_Ops.json_of_def_range - (FStar_Parser_AST.decl_drange decl) in + decl.FStar_Parser_AST.drange in ("def_range", uu___3) in [uu___2] in FStar_Json.JsonAssoc uu___1 in @@ -1545,6 +1545,8 @@ let (run_push_without_deps : FStar_TypeChecker_Env.nosynth = flag; FStar_TypeChecker_Env.uvar_subtyping = (uu___.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_Interactive_Legacy.ml b/ocaml/fstar-lib/generated/FStar_Interactive_Legacy.ml index c72a2da40e9..54578a9a9ae 100644 --- a/ocaml/fstar-lib/generated/FStar_Interactive_Legacy.ml +++ b/ocaml/fstar-lib/generated/FStar_Interactive_Legacy.ml @@ -95,6 +95,8 @@ let (push_with_kind : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_Interactive_PushHelper.ml b/ocaml/fstar-lib/generated/FStar_Interactive_PushHelper.ml index 7cf46720eb9..3941511eb8c 100644 --- a/ocaml/fstar-lib/generated/FStar_Interactive_PushHelper.ml +++ b/ocaml/fstar-lib/generated/FStar_Interactive_PushHelper.ml @@ -90,6 +90,8 @@ let (set_check_kind : FStar_TypeChecker_Env.nosynth = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); diff --git a/ocaml/fstar-lib/generated/FStar_Main.ml b/ocaml/fstar-lib/generated/FStar_Main.ml index 7eac884816d..9cf93ec9862 100644 --- a/ocaml/fstar-lib/generated/FStar_Main.ml +++ b/ocaml/fstar-lib/generated/FStar_Main.ml @@ -262,34 +262,38 @@ let (lazy_chooser : match k with | FStar_Syntax_Syntax.BadLazy -> failwith "lazy chooser: got a BadLazy" | FStar_Syntax_Syntax.Lazy_bv -> - FStar_Reflection_Embeddings.unfold_lazy_bv i + FStar_Reflection_V2_Embeddings.unfold_lazy_bv i + | FStar_Syntax_Syntax.Lazy_namedv -> + FStar_Reflection_V2_Embeddings.unfold_lazy_namedv i | FStar_Syntax_Syntax.Lazy_binder -> - FStar_Reflection_Embeddings.unfold_lazy_binder i + FStar_Reflection_V2_Embeddings.unfold_lazy_binder i | FStar_Syntax_Syntax.Lazy_letbinding -> - FStar_Reflection_Embeddings.unfold_lazy_letbinding i + FStar_Reflection_V2_Embeddings.unfold_lazy_letbinding i | FStar_Syntax_Syntax.Lazy_optionstate -> - FStar_Reflection_Embeddings.unfold_lazy_optionstate i + FStar_Reflection_V2_Embeddings.unfold_lazy_optionstate i | FStar_Syntax_Syntax.Lazy_fvar -> - FStar_Reflection_Embeddings.unfold_lazy_fvar i + FStar_Reflection_V2_Embeddings.unfold_lazy_fvar i | FStar_Syntax_Syntax.Lazy_comp -> - FStar_Reflection_Embeddings.unfold_lazy_comp i + FStar_Reflection_V2_Embeddings.unfold_lazy_comp i | FStar_Syntax_Syntax.Lazy_env -> - FStar_Reflection_Embeddings.unfold_lazy_env i + FStar_Reflection_V2_Embeddings.unfold_lazy_env i | FStar_Syntax_Syntax.Lazy_sigelt -> - FStar_Reflection_Embeddings.unfold_lazy_sigelt i + FStar_Reflection_V2_Embeddings.unfold_lazy_sigelt i + | FStar_Syntax_Syntax.Lazy_universe -> + FStar_Reflection_V2_Embeddings.unfold_lazy_universe i | FStar_Syntax_Syntax.Lazy_proofstate -> FStar_Tactics_Embedding.unfold_lazy_proofstate i | FStar_Syntax_Syntax.Lazy_goal -> FStar_Tactics_Embedding.unfold_lazy_goal i | FStar_Syntax_Syntax.Lazy_uvar -> FStar_Syntax_Util.exp_string "((uvar))" - | FStar_Syntax_Syntax.Lazy_embedding (uu___, t) -> FStar_Thunk.force t - | FStar_Syntax_Syntax.Lazy_universe -> - FStar_Reflection_Embeddings.unfold_lazy_universe i | FStar_Syntax_Syntax.Lazy_universe_uvar -> FStar_Syntax_Util.exp_string "((universe_uvar))" | FStar_Syntax_Syntax.Lazy_issue -> FStar_Syntax_Util.exp_string "((issue))" + | FStar_Syntax_Syntax.Lazy_ident -> + FStar_Syntax_Util.exp_string "((ident))" + | FStar_Syntax_Syntax.Lazy_embedding (uu___, t) -> FStar_Thunk.force t let (setup_hooks : unit -> unit) = fun uu___ -> FStar_Errors.set_parse_warn_error FStar_Parser_ParseIt.parse_warn_error; @@ -299,7 +303,7 @@ let (setup_hooks : unit -> unit) = (FStar_Pervasives_Native.Some FStar_Syntax_Print.term_to_string); FStar_Compiler_Effect.op_Colon_Equals FStar_TypeChecker_Normalize.unembed_binder_knot - (FStar_Pervasives_Native.Some FStar_Reflection_Embeddings.e_binder) + (FStar_Pervasives_Native.Some FStar_Reflection_V2_Embeddings.e_binder) let (handle_error : Prims.exn -> unit) = fun e -> (let uu___1 = FStar_Errors.handleable e in diff --git a/ocaml/fstar-lib/generated/FStar_Options.ml b/ocaml/fstar-lib/generated/FStar_Options.ml index c6c341b5879..6d97e97455a 100644 --- a/ocaml/fstar-lib/generated/FStar_Options.ml +++ b/ocaml/fstar-lib/generated/FStar_Options.ml @@ -302,6 +302,7 @@ let (defaults : (Prims.string * option_val) Prims.list) = ("extract_namespace", (List [])); ("full_context_dependency", (Bool true)); ("hide_uvar_nums", (Bool false)); + ("hint_hook", Unset); ("hint_info", (Bool false)); ("hint_dir", Unset); ("hint_file", Unset); @@ -515,6 +516,8 @@ let (get_force : unit -> Prims.bool) = fun uu___ -> lookup_opt "force" as_bool let (get_hide_uvar_nums : unit -> Prims.bool) = fun uu___ -> lookup_opt "hide_uvar_nums" as_bool +let (get_hint_hook : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> lookup_opt "hint_hook" (as_option as_string) let (get_hint_info : unit -> Prims.bool) = fun uu___ -> lookup_opt "hint_info" as_bool let (get_hint_dir : unit -> Prims.string FStar_Pervasives_Native.option) = @@ -968,7 +971,7 @@ let (interp_quake_arg : Prims.string -> (Prims.int * Prims.int * Prims.bool)) let uu___ = ios f1 in let uu___1 = ios f2 in (uu___, uu___1, true) else failwith "unexpected value for --quake" | uu___ -> failwith "unexpected value for --quake" -let (uu___448 : (((Prims.string -> unit) -> unit) * (Prims.string -> unit))) +let (uu___449 : (((Prims.string -> unit) -> unit) * (Prims.string -> unit))) = let cb = FStar_Compiler_Util.mk_ref FStar_Pervasives_Native.None in let set1 f = @@ -980,11 +983,11 @@ let (uu___448 : (((Prims.string -> unit) -> unit) * (Prims.string -> unit))) | FStar_Pervasives_Native.Some f -> f msg in (set1, call) let (set_option_warning_callback_aux : (Prims.string -> unit) -> unit) = - match uu___448 with + match uu___449 with | (set_option_warning_callback_aux1, option_warning_callback) -> set_option_warning_callback_aux1 let (option_warning_callback : Prims.string -> unit) = - match uu___448 with + match uu___449 with | (set_option_warning_callback_aux1, option_warning_callback1) -> option_warning_callback1 let (set_option_warning_callback : (Prims.string -> unit) -> unit) = @@ -1088,6 +1091,8 @@ let rec (specs_with_types : "Read/write hints to dir/module_name.hints (instead of placing hint-file alongside source file)"); (FStar_Getopt.noshort, "hint_file", (PathStr "path"), "Read/write hints to path (instead of module-specific hints files; overrides hint_dir)"); + (FStar_Getopt.noshort, "hint_hook", (SimpleStr "command"), + "Use to generate hints for definitions which do not have them. The command will\n\treceive a JSON representation of the query, the type of the top-level definition involved,\n\tand the full SMT theory, and must output a comma separated list\n\tof facts to be used."); (FStar_Getopt.noshort, "hint_info", (Const (Bool true)), "Print information regarding hints (deprecated; use --query_stats instead)"); (FStar_Getopt.noshort, "in", (Const (Bool true)), @@ -1337,7 +1342,7 @@ let rec (specs_with_types : then option_warning_callback "__no_positivity" else ())), (Const (Bool true)))), "Don't check positivity of inductive types"); - (FStar_Getopt.noshort, "warn_error", (Accumulated (SimpleStr "")), + (FStar_Getopt.noshort, "warn_error", (ReverseAccumulated (SimpleStr "")), "The [-warn_error] option follows the OCaml syntax, namely:\n\t\t- [r] is a range of warnings (either a number [n], or a range [n..n])\n\t\t- [-r] silences range [r]\n\t\t- [+r] enables range [r]\n\t\t- [@r] makes range [r] fatal."); (FStar_Getopt.noshort, "use_nbe", BoolStr, "Use normalization by evaluation as the default normalization strategy (default 'false')"); @@ -1487,7 +1492,7 @@ let (settable_specs : (FStar_Compiler_List.filter (fun uu___ -> match uu___ with | (uu___1, x, uu___2, uu___3) -> settable x)) -let (uu___639 : +let (uu___640 : (((unit -> FStar_Getopt.parse_cmdline_res) -> unit) * (unit -> FStar_Getopt.parse_cmdline_res))) = @@ -1504,11 +1509,11 @@ let (uu___639 : (set1, call) let (set_error_flags_callback_aux : (unit -> FStar_Getopt.parse_cmdline_res) -> unit) = - match uu___639 with + match uu___640 with | (set_error_flags_callback_aux1, set_error_flags) -> set_error_flags_callback_aux1 let (set_error_flags : unit -> FStar_Getopt.parse_cmdline_res) = - match uu___639 with + match uu___640 with | (set_error_flags_callback_aux1, set_error_flags1) -> set_error_flags1 let (set_error_flags_callback : (unit -> FStar_Getopt.parse_cmdline_res) -> unit) = @@ -1907,6 +1912,8 @@ let (force : unit -> Prims.bool) = fun uu___ -> get_force () let (full_context_dependency : unit -> Prims.bool) = fun uu___ -> true let (hide_uvar_nums : unit -> Prims.bool) = fun uu___ -> get_hide_uvar_nums () +let (hint_hook : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> get_hint_hook () let (hint_info : unit -> Prims.bool) = fun uu___ -> (get_hint_info ()) || (get_query_stats ()) let (hint_dir : unit -> Prims.string FStar_Pervasives_Native.option) = diff --git a/ocaml/fstar-lib/generated/FStar_Parser_AST.ml b/ocaml/fstar-lib/generated/FStar_Parser_AST.ml index 3676ec2458d..70c541debda 100644 --- a/ocaml/fstar-lib/generated/FStar_Parser_AST.ml +++ b/ocaml/fstar-lib/generated/FStar_Parser_AST.ml @@ -810,7 +810,7 @@ type decl' = | Assume of (FStar_Ident.ident * term) | Splice of (Prims.bool * FStar_Ident.ident Prims.list * term) | DeclSyntaxExtension of (Prims.string * Prims.string * - FStar_Compiler_Range_Type.range) + FStar_Compiler_Range_Type.range * FStar_Compiler_Range_Type.range) and decl = { d: decl' ; @@ -909,8 +909,10 @@ let (uu___is_DeclSyntaxExtension : decl' -> Prims.bool) = fun projectee -> match projectee with | DeclSyntaxExtension _0 -> true | uu___ -> false let (__proj__DeclSyntaxExtension__item___0 : - decl' -> (Prims.string * Prims.string * FStar_Compiler_Range_Type.range)) = - fun projectee -> match projectee with | DeclSyntaxExtension _0 -> _0 + decl' -> + (Prims.string * Prims.string * FStar_Compiler_Range_Type.range * + FStar_Compiler_Range_Type.range)) + = fun projectee -> match projectee with | DeclSyntaxExtension _0 -> _0 let (__proj__Mkdecl__item__d : decl -> decl') = fun projectee -> match projectee with | { d; drange; quals; attrs;_} -> d let (__proj__Mkdecl__item__drange : decl -> FStar_Compiler_Range_Type.range) @@ -951,8 +953,6 @@ let (__proj__Interface__item___0 : fun projectee -> match projectee with | Interface _0 -> _0 type file = modul type inputFragment = (file, decl Prims.list) FStar_Pervasives.either -let (decl_drange : decl -> FStar_Compiler_Range_Type.range) = - fun decl1 -> decl1.drange let (check_id : FStar_Ident.ident -> unit) = fun id -> let first_char = @@ -1010,13 +1010,15 @@ let (mk_decl : match uu___ with | Qualifier q -> FStar_Pervasives_Native.Some q | uu___1 -> FStar_Pervasives_Native.None) decorations in - { d; drange = r; quals = qualifiers1; attrs = attributes_2 } + let range = + match d with + | DeclSyntaxExtension (uu___, uu___1, r1, uu___2) -> r1 + | uu___ -> r in + { d; drange = range; quals = qualifiers1; attrs = attributes_2 } let (mk_binder_with_attrs : binder' -> FStar_Compiler_Range_Type.range -> - level -> - arg_qualifier FStar_Pervasives_Native.option -> - term Prims.list -> binder) + level -> aqual -> term Prims.list -> binder) = fun b -> fun r -> @@ -1025,10 +1027,8 @@ let (mk_binder_with_attrs : fun attrs -> { b; brange = r; blevel = l; aqual = i; battributes = attrs } let (mk_binder : - binder' -> - FStar_Compiler_Range_Type.range -> - level -> arg_qualifier FStar_Pervasives_Native.option -> binder) - = fun b -> fun r -> fun l -> fun i -> mk_binder_with_attrs b r l i [] + binder' -> FStar_Compiler_Range_Type.range -> level -> aqual -> binder) = + fun b -> fun r -> fun l -> fun i -> mk_binder_with_attrs b r l i [] let (mk_term : term' -> FStar_Compiler_Range_Type.range -> level -> term) = fun t -> fun r -> fun l -> { tm = t; range = r; level = l } let (mk_uminus : @@ -1065,7 +1065,7 @@ let (un_curry_abs : pattern Prims.list -> term -> term') = | Abs (p', body') -> Abs ((FStar_Compiler_List.op_At ps p'), body') | uu___ -> Abs (ps, body) let (mk_function : - (pattern * term FStar_Pervasives_Native.option * term) Prims.list -> + branch Prims.list -> FStar_Compiler_Range_Type.range -> FStar_Compiler_Range_Type.range -> term) = @@ -1077,17 +1077,20 @@ let (mk_function : let uu___1 = let uu___2 = let uu___3 = - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = FStar_Ident.lid_of_ids [x] in Var uu___7 in - mk_term uu___6 r1 Expr in - (uu___5, FStar_Pervasives_Native.None, + mk_pattern (PatVar (x, FStar_Pervasives_Native.None, [])) r1 in + [uu___3] in + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = FStar_Ident.lid_of_ids [x] in Var uu___8 in + mk_term uu___7 r1 Expr in + (uu___6, FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, branches) in - Match uu___4 in - mk_term uu___3 r2 Expr in - ([mk_pattern (PatVar (x, FStar_Pervasives_Native.None, [])) r1], - uu___2) in + Match uu___5 in + mk_term uu___4 r2 Expr in + (uu___2, uu___3) in Abs uu___1 in mk_term uu___ r2 Expr let (un_function : @@ -1096,23 +1099,20 @@ let (un_function : fun tm -> match ((p.pat), (tm.tm)) with | (PatVar uu___, Abs (pats, body)) -> - FStar_Pervasives_Native.Some - ((mk_pattern (PatApp (p, pats)) p.prange), body) + let uu___1 = + let uu___2 = mk_pattern (PatApp (p, pats)) p.prange in + (uu___2, body) in + FStar_Pervasives_Native.Some uu___1 | uu___ -> FStar_Pervasives_Native.None -let (lid_with_range : - FStar_Ident.lident -> FStar_Compiler_Range_Type.range -> FStar_Ident.lident) - = - fun lid -> - fun r -> - let uu___ = FStar_Ident.path_of_lid lid in - FStar_Ident.lid_of_path uu___ r let (consPat : FStar_Compiler_Range_Type.range -> pattern -> pattern -> pattern') = fun r -> fun hd -> fun tl -> - PatApp - ((mk_pattern (PatName FStar_Parser_Const.cons_lid) r), [hd; tl]) + let uu___ = + let uu___1 = mk_pattern (PatName FStar_Parser_Const.cons_lid) r in + (uu___1, [hd; tl]) in + PatApp uu___ let (consTerm : FStar_Compiler_Range_Type.range -> term -> term -> term) = fun r -> fun hd -> @@ -1222,7 +1222,8 @@ let (mkAdmitMagic : FStar_Compiler_Range_Type.range -> term) = FStar_Ident.set_lid_range FStar_Parser_Const.admit_lid r in Var uu___1 in mk_term uu___ r Expr in - mkExplicitApp admit_name [unit_const r] r in + let uu___ = let uu___1 = unit_const r in [uu___1] in + mkExplicitApp admit_name uu___ r in let magic = let magic_name = let uu___ = @@ -1230,7 +1231,8 @@ let (mkAdmitMagic : FStar_Compiler_Range_Type.range -> term) = FStar_Ident.set_lid_range FStar_Parser_Const.magic_lid r in Var uu___1 in mk_term uu___ r Expr in - mkExplicitApp magic_name [unit_const r] r in + let uu___ = let uu___1 = unit_const r in [uu___1] in + mkExplicitApp magic_name uu___ r in let admit_magic = mk_term (Seq (admit, magic)) r Expr in admit_magic let mkWildAdmitMagic : 'uuuuu . @@ -1238,9 +1240,9 @@ let mkWildAdmitMagic : (pattern * 'uuuuu FStar_Pervasives_Native.option * term) = fun r -> - let uu___ = mkAdmitMagic r in - ((mk_pattern (PatWild (FStar_Pervasives_Native.None, [])) r), - FStar_Pervasives_Native.None, uu___) + let uu___ = mk_pattern (PatWild (FStar_Pervasives_Native.None, [])) r in + let uu___1 = mkAdmitMagic r in + (uu___, FStar_Pervasives_Native.None, uu___1) let focusBranches : 'uuuuu . (Prims.bool * (pattern * 'uuuuu FStar_Pervasives_Native.option * term)) @@ -1267,10 +1269,9 @@ let focusBranches : else FStar_Compiler_Effect.op_Bar_Greater branches (FStar_Compiler_List.map FStar_Pervasives_Native.snd) -let focusLetBindings : - 'uuuuu . - (Prims.bool * ('uuuuu * term)) Prims.list -> - FStar_Compiler_Range_Type.range -> ('uuuuu * term) Prims.list +let (focusLetBindings : + (Prims.bool * (pattern * term)) Prims.list -> + FStar_Compiler_Range_Type.range -> (pattern * term) Prims.list) = fun lbs -> fun r -> @@ -1293,11 +1294,12 @@ let focusLetBindings : else FStar_Compiler_Effect.op_Bar_Greater lbs (FStar_Compiler_List.map FStar_Pervasives_Native.snd) -let focusAttrLetBindings : - 'uuuuu 'uuuuu1 . - ('uuuuu * (Prims.bool * ('uuuuu1 * term))) Prims.list -> - FStar_Compiler_Range_Type.range -> - ('uuuuu * ('uuuuu1 * term)) Prims.list +let (focusAttrLetBindings : + (attributes_ FStar_Pervasives_Native.option * (Prims.bool * (pattern * + term))) Prims.list -> + FStar_Compiler_Range_Type.range -> + (attributes_ FStar_Pervasives_Native.option * (pattern * term)) + Prims.list) = fun lbs -> fun r -> @@ -1339,24 +1341,25 @@ let (mkTuple : term Prims.list -> FStar_Compiler_Range_Type.range -> term) = let cons = FStar_Parser_Const.mk_tuple_data_lid (FStar_Compiler_List.length args) r in - let uu___ = FStar_Compiler_List.map (fun x -> (x, Nothing)) args in - mkApp (mk_term (Name cons) r Expr) uu___ r + let uu___ = mk_term (Name cons) r Expr in + let uu___1 = FStar_Compiler_List.map (fun x -> (x, Nothing)) args in + mkApp uu___ uu___1 r let (mkDTuple : term Prims.list -> FStar_Compiler_Range_Type.range -> term) = fun args -> fun r -> let cons = FStar_Parser_Const.mk_dtuple_data_lid (FStar_Compiler_List.length args) r in - let uu___ = FStar_Compiler_List.map (fun x -> (x, Nothing)) args in - mkApp (mk_term (Name cons) r Expr) uu___ r + let uu___ = mk_term (Name cons) r Expr in + let uu___1 = FStar_Compiler_List.map (fun x -> (x, Nothing)) args in + mkApp uu___ uu___1 r let (mkRefinedBinder : FStar_Ident.ident -> term -> Prims.bool -> term FStar_Pervasives_Native.option -> FStar_Compiler_Range_Type.range -> - arg_qualifier FStar_Pervasives_Native.option -> - term Prims.list -> binder) + aqual -> term Prims.list -> binder) = fun id -> fun t -> @@ -1373,19 +1376,25 @@ let (mkRefinedBinder : | FStar_Pervasives_Native.Some phi -> if should_bind_var then - mk_binder_with_attrs - (Annotated - (id, (mk_term (Refine (b, phi)) m Type_level))) m - Type_level implicit attrs + let uu___ = + let uu___1 = + let uu___2 = mk_term (Refine (b, phi)) m Type_level in + (id, uu___2) in + Annotated uu___1 in + mk_binder_with_attrs uu___ m Type_level implicit attrs else (let x = FStar_Ident.gen t.range in let b1 = mk_binder_with_attrs (Annotated (x, t)) m Type_level implicit attrs in - mk_binder_with_attrs - (Annotated - (id, (mk_term (Refine (b1, phi)) m Type_level))) - m Type_level implicit attrs) + let uu___1 = + let uu___2 = + let uu___3 = + mk_term (Refine (b1, phi)) m Type_level in + (id, uu___3) in + Annotated uu___2 in + mk_binder_with_attrs uu___1 m Type_level implicit + attrs) let (mkRefinedPattern : pattern -> term -> @@ -1408,12 +1417,15 @@ let (mkRefinedPattern : then (match pat.pat with | PatVar (x, uu___, attrs) -> - mk_term - (Refine - ((mk_binder_with_attrs (Annotated (x, t)) - t_range Type_level - FStar_Pervasives_Native.None attrs), phi)) - range Type_level + let uu___1 = + let uu___2 = + let uu___3 = + mk_binder_with_attrs (Annotated (x, t)) + t_range Type_level + FStar_Pervasives_Native.None attrs in + (uu___3, phi) in + Refine uu___2 in + mk_term uu___1 range Type_level | uu___ -> let x = FStar_Ident.gen t_range in let phi1 = @@ -1426,35 +1438,42 @@ let (mkRefinedPattern : (pat, FStar_Pervasives_Native.None, phi) in let otherwise_branch = let uu___1 = - let uu___2 = - let uu___3 = - FStar_Ident.lid_of_path ["False"] - phi.range in - Name uu___3 in - mk_term uu___2 phi.range Formula in - ((mk_pattern + mk_pattern (PatWild (FStar_Pervasives_Native.None, [])) - phi.range), FStar_Pervasives_Native.None, - uu___1) in + phi.range in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Ident.lid_of_path ["False"] + phi.range in + Name uu___4 in + mk_term uu___3 phi.range Formula in + (uu___1, FStar_Pervasives_Native.None, uu___2) in mk_term (Match (x_var, FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, [pat_branch; otherwise_branch])) phi.range Formula in - mk_term - (Refine - ((mk_binder (Annotated (x, t)) t_range - Type_level FStar_Pervasives_Native.None), - phi1)) range Type_level) + let uu___1 = + let uu___2 = + let uu___3 = + mk_binder (Annotated (x, t)) t_range + Type_level FStar_Pervasives_Native.None in + (uu___3, phi1) in + Refine uu___2 in + mk_term uu___1 range Type_level) else (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 + let uu___1 = + let uu___2 = + let uu___3 = + mk_binder (Annotated (x, t)) t_range Type_level + FStar_Pervasives_Native.None in + (uu___3, phi) in + Refine uu___2 in + mk_term uu___1 range Type_level) in mk_pattern (PatAscribed (pat, (t1, FStar_Pervasives_Native.None))) range let rec (extract_named_refinement : @@ -1526,7 +1545,9 @@ let (strip_prefix : FStar_Compiler_Util.substring_from s (FStar_String.length prefix) in FStar_Pervasives_Native.Some uu___ else FStar_Pervasives_Native.None -let compile_op : 'uuuuu . Prims.int -> Prims.string -> 'uuuuu -> Prims.string +let (compile_op : + Prims.int -> + Prims.string -> FStar_Compiler_Range_Type.range -> Prims.string) = fun arity -> fun s -> @@ -1593,7 +1614,8 @@ let compile_op : 'uuuuu . Prims.int -> Prims.string -> 'uuuuu -> Prims.string FStar_String.concat "_" uu___4 in Prims.op_Hat prefix uu___3 in Prims.op_Hat "op_" uu___2) -let compile_op' : 'uuuuu . Prims.string -> 'uuuuu -> Prims.string = +let (compile_op' : + Prims.string -> FStar_Compiler_Range_Type.range -> Prims.string) = fun s -> fun r -> compile_op (~- Prims.int_one) s r let (string_to_op : Prims.string -> @@ -1833,11 +1855,12 @@ let rec (term_to_string : term -> Prims.string) = uu___2 uu___3 | Let (q, (attrs, (pat, tm))::[], body) -> let uu___ = attrs_opt_to_string attrs in - let uu___1 = FStar_Compiler_Effect.op_Bar_Greater pat pat_to_string in - let uu___2 = FStar_Compiler_Effect.op_Bar_Greater tm term_to_string in - let uu___3 = FStar_Compiler_Effect.op_Bar_Greater body term_to_string in - FStar_Compiler_Util.format5 "%slet %s %s = %s in %s" uu___ - (string_of_let_qualifier q) uu___1 uu___2 uu___3 + let uu___1 = string_of_let_qualifier q in + let uu___2 = FStar_Compiler_Effect.op_Bar_Greater pat pat_to_string in + let uu___3 = FStar_Compiler_Effect.op_Bar_Greater tm term_to_string in + let uu___4 = FStar_Compiler_Effect.op_Bar_Greater body term_to_string in + FStar_Compiler_Util.format5 "%slet %s %s = %s in %s" uu___ uu___1 + uu___2 uu___3 uu___4 | Let (uu___, uu___1, uu___2) -> FStar_Errors.raise_error (FStar_Errors_Codes.Fatal_EmptySurfaceLet, @@ -1923,11 +1946,14 @@ let rec (term_to_string : term -> Prims.string) = FStar_Compiler_Util.format2 "%s.%s" uu___ uu___1 | Product ([], t) -> term_to_string t | Product (b::hd::tl, t) -> - term_to_string - (mk_term - (Product - ([b], (mk_term (Product ((hd :: tl), t)) x.range x.level))) - x.range x.level) + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = mk_term (Product ((hd :: tl), t)) x.range x.level in + ([b], uu___3) in + Product uu___2 in + mk_term uu___1 x.range x.level in + term_to_string uu___ | Product (b::[], t) when x.level = Type_level -> let uu___ = FStar_Compiler_Effect.op_Bar_Greater b binder_to_string in let uu___1 = FStar_Compiler_Effect.op_Bar_Greater t term_to_string in @@ -2305,8 +2331,8 @@ let rec (head_id_of_pat : pattern -> FStar_Ident.lident Prims.list) = | PatApp (p1, uu___) -> head_id_of_pat p1 | PatAscribed (p1, uu___) -> head_id_of_pat p1 | uu___ -> [] -let lids_of_let : - 'uuuuu . (pattern * 'uuuuu) Prims.list -> FStar_Ident.lident Prims.list = +let (lids_of_let : + (pattern * term) Prims.list -> FStar_Ident.lident Prims.list) = fun defs -> FStar_Compiler_Effect.op_Bar_Greater defs (FStar_Compiler_List.collect @@ -2419,6 +2445,9 @@ let (decl_to_string : decl -> Prims.string) = | SubEffect uu___ -> "sub_effect" | Pragma p -> let uu___ = string_of_pragma p in Prims.op_Hat "pragma #" uu___ + | DeclSyntaxExtension (id, content, uu___, uu___1) -> + Prims.op_Hat "```" + (Prims.op_Hat id (Prims.op_Hat "\n" (Prims.op_Hat content "\n```"))) let (modul_to_string : modul -> Prims.string) = fun m -> match m with @@ -2465,17 +2494,4 @@ let (idents_of_binders : fun bs -> fun r -> FStar_Compiler_Effect.op_Bar_Greater bs - (FStar_Compiler_List.map (ident_of_binder r)) -let (decl_syntax_is_delimited : decl -> Prims.bool) = - fun d -> - match d.d with - | Pragma (ResetOptions (FStar_Pervasives_Native.None)) -> false - | Pragma (PushOptions (FStar_Pervasives_Native.None)) -> false - | Pragma uu___ -> true - | NewEffect (DefineEffect uu___) -> true - | LayeredEffect (DefineEffect uu___) -> true - | SubEffect - { msource = uu___; mdest = uu___1; lift_op = uu___2; braced = true;_} - -> true - | Tycon (uu___, b, uu___1) -> b - | uu___ -> false \ No newline at end of file + (FStar_Compiler_List.map (ident_of_binder r)) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Parser_AST_Util.ml b/ocaml/fstar-lib/generated/FStar_Parser_AST_Util.ml index 77789b695e2..d888b25f957 100644 --- a/ocaml/fstar-lib/generated/FStar_Parser_AST_Util.ml +++ b/ocaml/fstar-lib/generated/FStar_Parser_AST_Util.ml @@ -587,6 +587,9 @@ let rec (eq_decl' : FStar_Parser_AST.Splice (is_typed2, is2, t2)) -> ((is_typed1 = is_typed2) && (eq_list eq_ident is1 is2)) && (eq_term t1 t2) + | (FStar_Parser_AST.DeclSyntaxExtension (s1, t1, uu___, uu___1), + FStar_Parser_AST.DeclSyntaxExtension (s2, t2, uu___2, uu___3)) -> + (s1 = s2) && (t1 = t2) | uu___ -> false and (eq_effect_decl : FStar_Parser_AST.effect_decl -> FStar_Parser_AST.effect_decl -> Prims.bool) diff --git a/ocaml/fstar-lib/generated/FStar_Parser_Const.ml b/ocaml/fstar-lib/generated/FStar_Parser_Const.ml index c0135630e9a..94482e50b0d 100644 --- a/ocaml/fstar-lib/generated/FStar_Parser_Const.ml +++ b/ocaml/fstar-lib/generated/FStar_Parser_Const.ml @@ -244,6 +244,7 @@ let (decreases_lid : FStar_Ident.lident) = pconst "decreases" let (reveal : FStar_Ident.lident) = p2l ["FStar"; "Ghost"; "reveal"] let (hide : FStar_Ident.lident) = p2l ["FStar"; "Ghost"; "hide"] let (labeled_lid : FStar_Ident.lident) = p2l ["FStar"; "Range"; "labeled"] +let (__range_lid : FStar_Ident.lident) = p2l ["FStar"; "Range"; "__range"] let (range_lid : FStar_Ident.lident) = p2l ["FStar"; "Range"; "range"] let (range_0 : FStar_Ident.lident) = p2l ["FStar"; "Range"; "range_0"] let (guard_free : FStar_Ident.lident) = pconst "guard_free" @@ -470,12 +471,8 @@ let (is_name : FStar_Ident.lident -> Prims.bool) = FStar_Ident.string_of_id uu___1 in FStar_Compiler_Util.char_at uu___ Prims.int_zero in FStar_Compiler_Util.is_upper c -let (inspect : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Builtins"; "inspect"] -let (pack : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Builtins"; "pack"] -let (binder_to_term : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Derived"; "binder_to_term"] +let (term_view_lid : FStar_Ident.lident) = + p2l ["FStar"; "Reflection"; "V1"; "Data"; "term_view"] let (fstar_tactics_lid' : Prims.string Prims.list -> FStar_Ident.lid) = fun s -> FStar_Ident.lid_of_path @@ -528,17 +525,15 @@ let (postprocess_extr_with : FStar_Ident.lident) = p2l ["FStar"; "Tactics"; "Effect"; "postprocess_for_extraction_with"] let (term_lid : FStar_Ident.lident) = p2l ["FStar"; "Reflection"; "Types"; "term"] -let (term_view_lid : FStar_Ident.lident) = - p2l ["FStar"; "Reflection"; "Data"; "term_view"] -let (decls_lid : FStar_Ident.lident) = - p2l ["FStar"; "Reflection"; "Data"; "decls"] let (ctx_uvar_and_subst_lid : FStar_Ident.lident) = p2l ["FStar"; "Reflection"; "Types"; "ctx_uvar_and_subst"] let (universe_uvar_lid : FStar_Ident.lident) = p2l ["FStar"; "Reflection"; "Types"; "universe_uvar"] let (check_with_lid : FStar_Ident.lident) = - FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Builtins"; "check_with"] + FStar_Ident.lid_of_path ["FStar"; "VConfig"; "check_with"] FStar_Compiler_Range_Type.dummyRange +let (decls_lid : FStar_Ident.lident) = + p2l ["FStar"; "Reflection"; "Types"; "decls"] let (dsl_typing_builtin : Prims.string -> FStar_Ident.lident) = fun s -> FStar_Ident.lid_of_path @@ -608,5 +603,5 @@ let (fext_on_dom_g_lid : FStar_Ident.lident) = fext_lid "on_dom_g" let (sealed_lid : FStar_Ident.lident) = p2l ["FStar"; "Sealed"; "sealed"] let (seal_lid : FStar_Ident.lident) = p2l ["FStar"; "Sealed"; "seal"] let (unseal_lid : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Builtins"; "unseal"] + p2l ["FStar"; "Tactics"; "Unseal"; "unseal"] let (issue_lid : FStar_Ident.lident) = p2l ["FStar"; "Issue"; "issue"] \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Parser_Dep.ml b/ocaml/fstar-lib/generated/FStar_Parser_Dep.ml index 826368dd3f6..dc572246ccd 100644 --- a/ocaml/fstar-lib/generated/FStar_Parser_Dep.ml +++ b/ocaml/fstar-lib/generated/FStar_Parser_Dep.ml @@ -901,7 +901,7 @@ let (hard_coded_dependencies : then [] else (let uu___2 = - let uu___3 = lowercase_module_name full_filename in + let uu___3 = module_name_of_file full_filename in namespace_of_module uu___3 in match uu___2 with | FStar_Pervasives_Native.None -> @@ -2372,14 +2372,28 @@ let (print_full : FStar_Compiler_Util.out_channel -> deps -> unit) = 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 deps1.dep_graph in + let no_fstar_stubs_file s = + let s1 = "FStar.Stubs." in + let s2 = "FStar." in + let l1 = FStar_String.length s1 in + let uu___ = + ((FStar_String.length s) >= l1) && + (let uu___1 = FStar_String.substring s Prims.int_zero l1 in + uu___1 = s1) in + if uu___ + then + let uu___1 = + FStar_String.substring s l1 ((FStar_String.length s) - l1) in + FStar_String.op_Hat s2 uu___1 + else s in let output_file ext fst_file = - let ml_base_name = + let basename = let uu___ = - let uu___1 = - let uu___2 = FStar_Compiler_Util.basename fst_file in - check_and_strip_suffix uu___2 in - FStar_Compiler_Option.get uu___1 in - FStar_Compiler_Util.replace_chars uu___ 46 "_" in + let uu___1 = FStar_Compiler_Util.basename fst_file in + check_and_strip_suffix uu___1 in + FStar_Compiler_Option.get uu___ in + let basename1 = no_fstar_stubs_file basename in + let ml_base_name = FStar_Compiler_Util.replace_chars basename1 46 "_" in let uu___ = FStar_String.op_Hat ml_base_name ext in FStar_Options.prepend_output_dir uu___ in let norm_path s = diff --git a/ocaml/fstar-lib/generated/FStar_Parser_ToDocument.ml b/ocaml/fstar-lib/generated/FStar_Parser_ToDocument.ml index 98618b22dee..e5410c6c3fe 100644 --- a/ocaml/fstar-lib/generated/FStar_Parser_ToDocument.ml +++ b/ocaml/fstar-lib/generated/FStar_Parser_ToDocument.ml @@ -1855,11 +1855,13 @@ and (p_aqual : FStar_Parser_AST.arg_qualifier -> FStar_Pprint.document) = match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Abs (uu___1, e) -> e | uu___1 -> - 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 + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Parser_AST.unit_const t.FStar_Parser_AST.range in + (t, uu___4, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu___3 in + FStar_Parser_AST.mk_term uu___2 t.FStar_Parser_AST.range FStar_Parser_AST.Expr in let uu___1 = str "#[" in let uu___2 = diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Compare.ml b/ocaml/fstar-lib/generated/FStar_Reflection_Compare.ml deleted file mode 100644 index 5f09f394399..00000000000 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Compare.ml +++ /dev/null @@ -1,336 +0,0 @@ -open Prims -let (compare_name : - FStar_Reflection_Types.name -> - FStar_Reflection_Types.name -> FStar_Order.order) - = - fun n1 -> - fun n2 -> - FStar_Order.compare_list n1 n2 - (fun s1 -> - fun s2 -> - FStar_Order.order_from_int - (FStar_Reflection_Builtins.compare_string s1 s2)) -let (compare_fv : - FStar_Reflection_Types.fv -> FStar_Reflection_Types.fv -> FStar_Order.order) - = - fun f1 -> - fun f2 -> - compare_name (FStar_Reflection_Builtins.inspect_fv f1) - (FStar_Reflection_Builtins.inspect_fv f2) -let (compare_const : - FStar_Reflection_Data.vconst -> - FStar_Reflection_Data.vconst -> FStar_Order.order) - = - fun c1 -> - fun c2 -> - match (c1, c2) with - | (FStar_Reflection_Data.C_Unit, FStar_Reflection_Data.C_Unit) -> - FStar_Order.Eq - | (FStar_Reflection_Data.C_Int i, FStar_Reflection_Data.C_Int j) -> - FStar_Order.order_from_int (i - j) - | (FStar_Reflection_Data.C_True, FStar_Reflection_Data.C_True) -> - FStar_Order.Eq - | (FStar_Reflection_Data.C_False, FStar_Reflection_Data.C_False) -> - FStar_Order.Eq - | (FStar_Reflection_Data.C_String s1, FStar_Reflection_Data.C_String - s2) -> - FStar_Order.order_from_int - (FStar_Reflection_Builtins.compare_string s1 s2) - | (FStar_Reflection_Data.C_Range r1, FStar_Reflection_Data.C_Range r2) - -> FStar_Order.Eq - | (FStar_Reflection_Data.C_Reify, FStar_Reflection_Data.C_Reify) -> - FStar_Order.Eq - | (FStar_Reflection_Data.C_Reflect l1, FStar_Reflection_Data.C_Reflect - l2) -> compare_name l1 l2 - | (FStar_Reflection_Data.C_Unit, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Unit) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_Int uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Int uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_True, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_True) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_False, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_False) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_String uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_String uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_Range uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Range uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_Reify, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Reify) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_Reflect uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Reflect uu___1) -> FStar_Order.Gt -let (compare_binder : - FStar_Reflection_Types.binder -> - FStar_Reflection_Types.binder -> FStar_Order.order) - = - fun b1 -> - fun b2 -> - let bview1 = FStar_Reflection_Builtins.inspect_binder b1 in - let bview2 = FStar_Reflection_Builtins.inspect_binder b2 in - FStar_Reflection_Builtins.compare_bv - bview1.FStar_Reflection_Data.binder_bv - bview2.FStar_Reflection_Data.binder_bv -let (compare_ident : - FStar_Reflection_Types.ident -> - FStar_Reflection_Types.ident -> FStar_Order.order) - = - fun i1 -> - fun i2 -> - FStar_Order.order_from_int - (FStar_Reflection_Builtins.compare_string - (FStar_Pervasives_Native.fst i1) (FStar_Pervasives_Native.fst i2)) -let rec (compare_universe : - FStar_Reflection_Types.universe -> - FStar_Reflection_Types.universe -> FStar_Order.order) - = - fun u1 -> - fun u2 -> - match ((FStar_Reflection_Builtins.inspect_universe u1), - (FStar_Reflection_Builtins.inspect_universe u2)) - with - | (FStar_Reflection_Data.Uv_Zero, FStar_Reflection_Data.Uv_Zero) -> - FStar_Order.Eq - | (FStar_Reflection_Data.Uv_Succ u11, FStar_Reflection_Data.Uv_Succ - u21) -> compare_universe u11 u21 - | (FStar_Reflection_Data.Uv_Max us1, FStar_Reflection_Data.Uv_Max us2) - -> - FStar_Order.compare_list us1 us2 - (fun x -> fun y -> compare_universe x y) - | (FStar_Reflection_Data.Uv_BVar n1, FStar_Reflection_Data.Uv_BVar n2) - -> FStar_Order.compare_int n1 n2 - | (FStar_Reflection_Data.Uv_Name i1, FStar_Reflection_Data.Uv_Name i2) - -> compare_ident i1 i2 - | (FStar_Reflection_Data.Uv_Unif u11, FStar_Reflection_Data.Uv_Unif - u21) -> FStar_Order.Eq - | (FStar_Reflection_Data.Uv_Unk, FStar_Reflection_Data.Uv_Unk) -> - FStar_Order.Eq - | (FStar_Reflection_Data.Uv_Zero, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_Zero) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_Succ uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_Succ uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_Max uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_Max uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_BVar uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_BVar uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_Name uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_Name uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_Unif uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Uv_Unif uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Uv_Unk, uu___) -> FStar_Order.Lt -let (compare_universes : - FStar_Reflection_Data.universes -> - FStar_Reflection_Data.universes -> FStar_Order.order) - = fun us1 -> fun us2 -> FStar_Order.compare_list us1 us2 compare_universe -let rec (compare_term : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> FStar_Order.order) - = - fun s -> - fun t -> - match ((FStar_Reflection_Builtins.inspect_ln s), - (FStar_Reflection_Builtins.inspect_ln t)) - with - | (FStar_Reflection_Data.Tv_Var sv, FStar_Reflection_Data.Tv_Var tv) -> - FStar_Reflection_Builtins.compare_bv sv tv - | (FStar_Reflection_Data.Tv_BVar sv, FStar_Reflection_Data.Tv_BVar tv) - -> FStar_Reflection_Builtins.compare_bv sv tv - | (FStar_Reflection_Data.Tv_FVar sv, FStar_Reflection_Data.Tv_FVar tv) - -> compare_fv sv tv - | (FStar_Reflection_Data.Tv_UInst (sv, sus), - FStar_Reflection_Data.Tv_UInst (tv, tus)) -> - FStar_Order.lex (compare_fv sv tv) - (fun uu___ -> compare_universes sus tus) - | (FStar_Reflection_Data.Tv_App (h1, a1), FStar_Reflection_Data.Tv_App - (h2, a2)) -> - FStar_Order.lex (compare_term h1 h2) - (fun uu___ -> compare_argv a1 a2) - | (FStar_Reflection_Data.Tv_Abs (b1, e1), FStar_Reflection_Data.Tv_Abs - (b2, e2)) -> - FStar_Order.lex (compare_binder b1 b2) - (fun uu___ -> compare_term e1 e2) - | (FStar_Reflection_Data.Tv_Refine (bv1, sort1, e1), - FStar_Reflection_Data.Tv_Refine (bv2, sort2, e2)) -> - FStar_Order.lex (FStar_Reflection_Builtins.compare_bv bv1 bv2) - (fun uu___ -> - FStar_Order.lex (compare_term sort1 sort2) - (fun uu___1 -> compare_term e1 e2)) - | (FStar_Reflection_Data.Tv_Arrow (b1, e1), - FStar_Reflection_Data.Tv_Arrow (b2, e2)) -> - FStar_Order.lex (compare_binder b1 b2) - (fun uu___ -> compare_comp e1 e2) - | (FStar_Reflection_Data.Tv_Type su, FStar_Reflection_Data.Tv_Type tu) - -> compare_universe su tu - | (FStar_Reflection_Data.Tv_Const c1, FStar_Reflection_Data.Tv_Const - c2) -> compare_const c1 c2 - | (FStar_Reflection_Data.Tv_Uvar (u1, uu___), - FStar_Reflection_Data.Tv_Uvar (u2, uu___1)) -> - FStar_Order.compare_int u1 u2 - | (FStar_Reflection_Data.Tv_Let (_r1, _attrs1, bv1, ty1, t1, t1'), - FStar_Reflection_Data.Tv_Let (_r2, _attrs2, bv2, ty2, t2, t2')) -> - FStar_Order.lex (FStar_Reflection_Builtins.compare_bv bv1 bv2) - (fun uu___ -> - FStar_Order.lex (compare_term ty1 ty2) - (fun uu___1 -> - FStar_Order.lex (compare_term t1 t2) - (fun uu___2 -> compare_term t1' t2'))) - | (FStar_Reflection_Data.Tv_Match (uu___, uu___1, uu___2), - FStar_Reflection_Data.Tv_Match (uu___3, uu___4, uu___5)) -> - FStar_Order.Eq - | (FStar_Reflection_Data.Tv_AscribedT (e1, t1, tac1, uu___), - FStar_Reflection_Data.Tv_AscribedT (e2, t2, tac2, uu___1)) -> - FStar_Order.lex (compare_term e1 e2) - (fun uu___2 -> - FStar_Order.lex (compare_term t1 t2) - (fun uu___3 -> - match (tac1, tac2) with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> FStar_Order.Eq - | (FStar_Pervasives_Native.None, uu___4) -> - FStar_Order.Lt - | (uu___4, FStar_Pervasives_Native.None) -> - FStar_Order.Gt - | (FStar_Pervasives_Native.Some e11, - FStar_Pervasives_Native.Some e21) -> - compare_term e11 e21)) - | (FStar_Reflection_Data.Tv_AscribedC (e1, c1, tac1, uu___), - FStar_Reflection_Data.Tv_AscribedC (e2, c2, tac2, uu___1)) -> - FStar_Order.lex (compare_term e1 e2) - (fun uu___2 -> - FStar_Order.lex (compare_comp c1 c2) - (fun uu___3 -> - match (tac1, tac2) with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> FStar_Order.Eq - | (FStar_Pervasives_Native.None, uu___4) -> - FStar_Order.Lt - | (uu___4, FStar_Pervasives_Native.None) -> - FStar_Order.Gt - | (FStar_Pervasives_Native.Some e11, - FStar_Pervasives_Native.Some e21) -> - compare_term e11 e21)) - | (FStar_Reflection_Data.Tv_Unknown, FStar_Reflection_Data.Tv_Unknown) - -> FStar_Order.Eq - | (FStar_Reflection_Data.Tv_Unsupp, FStar_Reflection_Data.Tv_Unsupp) -> - FStar_Order.Eq - | (FStar_Reflection_Data.Tv_Var uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Var uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_BVar uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_BVar uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_FVar uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_FVar uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_UInst (uu___, uu___1), uu___2) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_UInst (uu___1, uu___2)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_App (uu___, uu___1), uu___2) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_App (uu___1, uu___2)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Abs (uu___, uu___1), uu___2) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Abs (uu___1, uu___2)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Arrow (uu___, uu___1), uu___2) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Arrow (uu___1, uu___2)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Type uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Type uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Refine (uu___, uu___1, uu___2), uu___3) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Refine (uu___1, uu___2, uu___3)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Const uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Const uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Uvar (uu___, uu___1), uu___2) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Uvar (uu___1, uu___2)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Let - (uu___, uu___1, uu___2, uu___3, uu___4, uu___5), uu___6) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Let - (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6)) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Match (uu___, uu___1, uu___2), uu___3) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Match (uu___1, uu___2, uu___3)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.Tv_AscribedT (uu___, uu___1, uu___2, uu___3), - uu___4) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_AscribedT - (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_AscribedC (uu___, uu___1, uu___2, uu___3), - uu___4) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_AscribedC - (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Unknown, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Unknown) -> FStar_Order.Gt - | (FStar_Reflection_Data.Tv_Unsupp, uu___) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.Tv_Unsupp) -> FStar_Order.Gt -and (compare_term_list : - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Types.term Prims.list -> FStar_Order.order) - = - fun l1 -> - fun l2 -> - match (l1, l2) with - | ([], []) -> FStar_Order.Eq - | ([], uu___) -> FStar_Order.Lt - | (uu___, []) -> FStar_Order.Gt - | (hd1::tl1, hd2::tl2) -> - FStar_Order.lex (compare_term hd1 hd2) - (fun uu___ -> compare_term_list tl1 tl2) -and (compare_argv : - FStar_Reflection_Data.argv -> - FStar_Reflection_Data.argv -> FStar_Order.order) - = - fun a1 -> - fun a2 -> - let uu___ = a1 in - match uu___ with - | (a11, q1) -> - let uu___1 = a2 in - (match uu___1 with - | (a21, q2) -> - (match (q1, q2) with - | (FStar_Reflection_Data.Q_Implicit, - FStar_Reflection_Data.Q_Explicit) -> FStar_Order.Lt - | (FStar_Reflection_Data.Q_Explicit, - FStar_Reflection_Data.Q_Implicit) -> FStar_Order.Gt - | (uu___2, uu___3) -> compare_term a11 a21)) -and (compare_comp : - FStar_Reflection_Types.comp -> - FStar_Reflection_Types.comp -> FStar_Order.order) - = - fun c1 -> - fun c2 -> - let cv1 = FStar_Reflection_Builtins.inspect_comp c1 in - let cv2 = FStar_Reflection_Builtins.inspect_comp c2 in - match (cv1, cv2) with - | (FStar_Reflection_Data.C_Total t1, FStar_Reflection_Data.C_Total t2) - -> compare_term t1 t2 - | (FStar_Reflection_Data.C_GTotal t1, FStar_Reflection_Data.C_GTotal - t2) -> compare_term t1 t2 - | (FStar_Reflection_Data.C_Lemma (p1, q1, s1), - FStar_Reflection_Data.C_Lemma (p2, q2, s2)) -> - FStar_Order.lex (compare_term p1 p2) - (fun uu___ -> - FStar_Order.lex (compare_term q1 q2) - (fun uu___1 -> compare_term s1 s2)) - | (FStar_Reflection_Data.C_Eff (us1, eff1, res1, args1, _decrs1), - FStar_Reflection_Data.C_Eff (us2, eff2, res2, args2, _decrs2)) -> - FStar_Order.lex (compare_universes us1 us2) - (fun uu___ -> - FStar_Order.lex (compare_name eff1 eff2) - (fun uu___1 -> compare_term res1 res2)) - | (FStar_Reflection_Data.C_Total uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Total uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_GTotal uu___, uu___1) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_GTotal uu___1) -> FStar_Order.Gt - | (FStar_Reflection_Data.C_Lemma (uu___, uu___1, uu___2), uu___3) -> - FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Lemma (uu___1, uu___2, uu___3)) -> - FStar_Order.Gt - | (FStar_Reflection_Data.C_Eff (uu___, uu___1, uu___2, uu___3, uu___4), - uu___5) -> FStar_Order.Lt - | (uu___, FStar_Reflection_Data.C_Eff - (uu___1, uu___2, uu___3, uu___4, uu___5)) -> FStar_Order.Gt \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml b/ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml index 13980a4ea6e..e8306abedb2 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml @@ -1,2038 +1 @@ -open Prims -let (bv_to_string : - FStar_Reflection_Types.bv -> - (Prims.string, unit) FStar_Tactics_Effect.tac_repr) - = - fun bv -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (28)) (Prims.of_int (14)) (Prims.of_int (28)) - (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (29)) (Prims.of_int (4)) (Prims.of_int (29)) - (Prims.of_int (26))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_bv bv)) - (fun uu___ -> - (fun bvv -> - Obj.magic - (FStar_Tactics_Builtins.unseal - bvv.FStar_Reflection_Data.bv_ppname)) uu___) -let rec (inspect_unascribe : - FStar_Reflection_Types.term -> - (FStar_Reflection_Data.term_view, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (31)) (Prims.of_int (8)) (Prims.of_int (31)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (31)) (Prims.of_int (2)) (Prims.of_int (35)) - (Prims.of_int (12))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_AscribedT (t1, uu___1, uu___2, uu___3) - -> Obj.magic (Obj.repr (inspect_unascribe t1)) - | FStar_Reflection_Data.Tv_AscribedC (t1, uu___1, uu___2, uu___3) - -> Obj.magic (Obj.repr (inspect_unascribe t1)) - | tv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) - uu___) -let rec (collect_app' : - FStar_Reflection_Data.argv Prims.list -> - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list), - unit) FStar_Tactics_Effect.tac_repr) - = - fun args -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (38)) (Prims.of_int (10)) (Prims.of_int (38)) - (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (38)) (Prims.of_int (4)) (Prims.of_int (41)) - (Prims.of_int (20))) (Obj.magic (inspect_unascribe t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_App (l, r) -> - Obj.magic (Obj.repr (collect_app' (r :: args) l)) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (t, args))))) uu___) -let (collect_app : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list), - unit) FStar_Tactics_Effect.tac_repr) - = collect_app' [] -type comparison = - | Eq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option - | BoolEq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option - | Lt - | Le - | Gt - | Ge -let (uu___is_Eq : comparison -> Prims.bool) = - fun projectee -> match projectee with | Eq _0 -> true | uu___ -> false -let (__proj__Eq__item___0 : - comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | Eq _0 -> _0 -let (uu___is_BoolEq : comparison -> Prims.bool) = - fun projectee -> match projectee with | BoolEq _0 -> true | uu___ -> false -let (__proj__BoolEq__item___0 : - comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | BoolEq _0 -> _0 -let (uu___is_Lt : comparison -> Prims.bool) = - fun projectee -> match projectee with | Lt -> true | uu___ -> false -let (uu___is_Le : comparison -> Prims.bool) = - fun projectee -> match projectee with | Le -> true | uu___ -> false -let (uu___is_Gt : comparison -> Prims.bool) = - fun projectee -> match projectee with | Gt -> true | uu___ -> false -let (uu___is_Ge : comparison -> Prims.bool) = - fun projectee -> match projectee with | Ge -> true | uu___ -> false -type formula = - | True_ - | False_ - | Comp of comparison * FStar_Reflection_Types.term * - FStar_Reflection_Types.term - | And of FStar_Reflection_Types.term * FStar_Reflection_Types.term - | Or of FStar_Reflection_Types.term * FStar_Reflection_Types.term - | Not of FStar_Reflection_Types.term - | Implies of FStar_Reflection_Types.term * FStar_Reflection_Types.term - | Iff of FStar_Reflection_Types.term * FStar_Reflection_Types.term - | Forall of FStar_Reflection_Types.bv * FStar_Reflection_Types.typ * - FStar_Reflection_Types.term - | Exists of FStar_Reflection_Types.bv * FStar_Reflection_Types.typ * - FStar_Reflection_Types.term - | App of FStar_Reflection_Types.term * FStar_Reflection_Types.term - | Name of FStar_Reflection_Types.bv - | FV of FStar_Reflection_Types.fv - | IntLit of Prims.int - | F_Unknown -let (uu___is_True_ : formula -> Prims.bool) = - fun projectee -> match projectee with | True_ -> true | uu___ -> false -let (uu___is_False_ : formula -> Prims.bool) = - fun projectee -> match projectee with | False_ -> true | uu___ -> false -let (uu___is_Comp : formula -> Prims.bool) = - fun projectee -> - match projectee with | Comp (_0, _1, _2) -> true | uu___ -> false -let (__proj__Comp__item___0 : formula -> comparison) = - fun projectee -> match projectee with | Comp (_0, _1, _2) -> _0 -let (__proj__Comp__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Comp (_0, _1, _2) -> _1 -let (__proj__Comp__item___2 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Comp (_0, _1, _2) -> _2 -let (uu___is_And : formula -> Prims.bool) = - fun projectee -> - match projectee with | And (_0, _1) -> true | uu___ -> false -let (__proj__And__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | And (_0, _1) -> _0 -let (__proj__And__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | And (_0, _1) -> _1 -let (uu___is_Or : formula -> Prims.bool) = - fun projectee -> - match projectee with | Or (_0, _1) -> true | uu___ -> false -let (__proj__Or__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Or (_0, _1) -> _0 -let (__proj__Or__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Or (_0, _1) -> _1 -let (uu___is_Not : formula -> Prims.bool) = - fun projectee -> match projectee with | Not _0 -> true | uu___ -> false -let (__proj__Not__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Not _0 -> _0 -let (uu___is_Implies : formula -> Prims.bool) = - fun projectee -> - match projectee with | Implies (_0, _1) -> true | uu___ -> false -let (__proj__Implies__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Implies (_0, _1) -> _0 -let (__proj__Implies__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Implies (_0, _1) -> _1 -let (uu___is_Iff : formula -> Prims.bool) = - fun projectee -> - match projectee with | Iff (_0, _1) -> true | uu___ -> false -let (__proj__Iff__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Iff (_0, _1) -> _0 -let (__proj__Iff__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Iff (_0, _1) -> _1 -let (uu___is_Forall : formula -> Prims.bool) = - fun projectee -> - match projectee with | Forall (_0, _1, _2) -> true | uu___ -> false -let (__proj__Forall__item___0 : formula -> FStar_Reflection_Types.bv) = - fun projectee -> match projectee with | Forall (_0, _1, _2) -> _0 -let (__proj__Forall__item___1 : formula -> FStar_Reflection_Types.typ) = - fun projectee -> match projectee with | Forall (_0, _1, _2) -> _1 -let (__proj__Forall__item___2 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Forall (_0, _1, _2) -> _2 -let (uu___is_Exists : formula -> Prims.bool) = - fun projectee -> - match projectee with | Exists (_0, _1, _2) -> true | uu___ -> false -let (__proj__Exists__item___0 : formula -> FStar_Reflection_Types.bv) = - fun projectee -> match projectee with | Exists (_0, _1, _2) -> _0 -let (__proj__Exists__item___1 : formula -> FStar_Reflection_Types.typ) = - fun projectee -> match projectee with | Exists (_0, _1, _2) -> _1 -let (__proj__Exists__item___2 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | Exists (_0, _1, _2) -> _2 -let (uu___is_App : formula -> Prims.bool) = - fun projectee -> - match projectee with | App (_0, _1) -> true | uu___ -> false -let (__proj__App__item___0 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | App (_0, _1) -> _0 -let (__proj__App__item___1 : formula -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | App (_0, _1) -> _1 -let (uu___is_Name : formula -> Prims.bool) = - fun projectee -> match projectee with | Name _0 -> true | uu___ -> false -let (__proj__Name__item___0 : formula -> FStar_Reflection_Types.bv) = - fun projectee -> match projectee with | Name _0 -> _0 -let (uu___is_FV : formula -> Prims.bool) = - fun projectee -> match projectee with | FV _0 -> true | uu___ -> false -let (__proj__FV__item___0 : formula -> FStar_Reflection_Types.fv) = - fun projectee -> match projectee with | FV _0 -> _0 -let (uu___is_IntLit : formula -> Prims.bool) = - fun projectee -> match projectee with | IntLit _0 -> true | uu___ -> false -let (__proj__IntLit__item___0 : formula -> Prims.int) = - fun projectee -> match projectee with | IntLit _0 -> _0 -let (uu___is_F_Unknown : formula -> Prims.bool) = - fun projectee -> match projectee with | F_Unknown -> true | uu___ -> false -let (mk_Forall : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun typ -> - fun pred -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - Forall - ((FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname = - (FStar_Reflection_Data.as_ppname "x"); - FStar_Reflection_Data.bv_index = Prims.int_zero - }), typ, - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (pred, - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_BVar - (FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname = - (FStar_Reflection_Data.as_ppname - "x"); - FStar_Reflection_Data.bv_index = - Prims.int_zero - }))), - FStar_Reflection_Data.Q_Explicit)))))))) - uu___1 uu___ -let (mk_Exists : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun typ -> - fun pred -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - Exists - ((FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname = - (FStar_Reflection_Data.as_ppname "x"); - FStar_Reflection_Data.bv_index = Prims.int_zero - }), typ, - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (pred, - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_BVar - (FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname = - (FStar_Reflection_Data.as_ppname - "x"); - FStar_Reflection_Data.bv_index = - Prims.int_zero - }))), - FStar_Reflection_Data.Q_Explicit)))))))) - uu___1 uu___ -let (term_as_formula' : - FStar_Reflection_Types.term -> - (formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (78)) (Prims.of_int (10)) (Prims.of_int (78)) - (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (78)) (Prims.of_int (4)) (Prims.of_int (153)) - (Prims.of_int (28))) (Obj.magic (inspect_unascribe t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_Var n -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Name n))) - | FStar_Reflection_Data.Tv_FVar fv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.true_qn - then True_ - else - if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.false_qn - then False_ - else FV fv))) - | FStar_Reflection_Data.Tv_UInst (fv, uu___1) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.true_qn - then True_ - else - if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.false_qn - then False_ - else FV fv))) - | FStar_Reflection_Data.Tv_App (h0, t1) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (94)) (Prims.of_int (22)) - (Prims.of_int (94)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (93)) (Prims.of_int (26)) - (Prims.of_int (132)) (Prims.of_int (26))) - (Obj.magic (collect_app h0)) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | (h, ts) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (95)) - (Prims.of_int (16)) - (Prims.of_int (95)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (96)) - (Prims.of_int (8)) - (Prims.of_int (132)) - (Prims.of_int (26))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - FStar_Reflection_Derived.un_uinst - h)) - (fun uu___2 -> - (fun h1 -> - match ((FStar_Reflection_Builtins.inspect_ln - h1), - (FStar_List_Tot_Base.op_At - ts [t1])) - with - | (FStar_Reflection_Data.Tv_FVar - fv, - (a1, - FStar_Reflection_Data.Q_Implicit):: - (a2, - FStar_Reflection_Data.Q_Explicit):: - (a3, - FStar_Reflection_Data.Q_Explicit)::[]) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.eq2_qn - then - Comp - ((Eq - ( - FStar_Pervasives_Native.Some - a1)), a2, - a3) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.eq1_qn - then - Comp - ((BoolEq - (FStar_Pervasives_Native.Some - a1)), a2, - a3) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.lt_qn - then - Comp - (Lt, a2, - a3) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.lte_qn - then - Comp - (Le, a2, - a3) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.gt_qn - then - Comp - (Gt, a2, - a3) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.gte_qn - then - Comp - (Ge, a2, - a3) - else - App - (h0, - (FStar_Pervasives_Native.fst - t1))))) - | (FStar_Reflection_Data.Tv_FVar - fv, - (a1, - FStar_Reflection_Data.Q_Explicit):: - (a2, - FStar_Reflection_Data.Q_Explicit)::[]) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.imp_qn - then - Implies - (a1, a2) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.and_qn - then - And (a1, a2) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.iff_qn - then - Iff - (a1, a2) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.or_qn - then - Or - (a1, a2) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.eq2_qn - then - Comp - ((Eq - FStar_Pervasives_Native.None), - a1, a2) - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) = - FStar_Reflection_Const.eq1_qn - then - Comp - ((BoolEq - FStar_Pervasives_Native.None), - a1, a2) - else - App - (h0, - (FStar_Pervasives_Native.fst - t1))))) - | (FStar_Reflection_Data.Tv_FVar - fv, - (a1, - FStar_Reflection_Data.Q_Implicit):: - (a2, - FStar_Reflection_Data.Q_Explicit)::[]) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (118)) - (Prims.of_int (21)) - (Prims.of_int (118)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (119)) - (Prims.of_int (17)) - (Prims.of_int (121)) - (Prims.of_int (31))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - FStar_Reflection_Builtins.inspect_fv - fv)) - (fun uu___2 -> - (fun qn -> - if - qn = - FStar_Reflection_Const.forall_qn - then - Obj.magic - (Obj.repr - (mk_Forall - a1 a2)) - else - Obj.magic - (Obj.repr - (if - qn = - FStar_Reflection_Const.exists_qn - then - Obj.repr - (mk_Exists - a1 a2) - else - Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun - uu___4 -> - App - (h0, - (FStar_Pervasives_Native.fst - t1))))))) - uu___2))) - | (FStar_Reflection_Data.Tv_FVar - fv, - (a, - FStar_Reflection_Data.Q_Explicit)::[]) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.not_qn - then Not a - else - if - (FStar_Reflection_Builtins.inspect_fv - fv) - = - FStar_Reflection_Const.b2t_qn - then - (if - FStar_Reflection_Builtins.term_eq - a - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_False)) - then False_ - else - if - FStar_Reflection_Builtins.term_eq - a - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_True)) - then True_ - else - App - (h0, - (FStar_Pervasives_Native.fst - t1))) - else - App - (h0, - ( - FStar_Pervasives_Native.fst - t1))))) - | uu___2 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - App - (h0, - (FStar_Pervasives_Native.fst - t1)))))) - uu___2))) uu___1))) - | FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_Int i) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> IntLit i))) - | FStar_Reflection_Data.Tv_Let - (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___7 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Match (uu___1, uu___2, uu___3) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Type uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Abs (uu___1, uu___2) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Arrow (uu___1, uu___2) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Uvar (uu___1, uu___2) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Unknown -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Unsupp -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Refine (uu___1, uu___2, uu___3) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> F_Unknown))) - | FStar_Reflection_Data.Tv_Const uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> F_Unknown))) - | FStar_Reflection_Data.Tv_BVar uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> F_Unknown)))) uu___) -let (term_as_formula : - FStar_Reflection_Types.term -> - (formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun t -> - match FStar_Reflection_Derived.unsquash_term t with - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> F_Unknown))) - | FStar_Pervasives_Native.Some t1 -> - Obj.magic (Obj.repr (term_as_formula' t1))) uu___ -let (term_as_formula_total : - FStar_Reflection_Types.term -> - (formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> term_as_formula' (FStar_Reflection_Derived.maybe_unsquash_term t) -let (formula_as_term_view : formula -> FStar_Reflection_Data.term_view) = - fun f -> - let mk_app' tv args = - FStar_List_Tot_Base.fold_left - (fun tv1 -> - fun a -> - FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln tv1), a)) tv args in - let e = FStar_Reflection_Data.Q_Explicit in - let i = FStar_Reflection_Data.Q_Implicit in - match f with - | True_ -> - FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.true_qn) - | False_ -> - FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.false_qn) - | Comp (Eq (FStar_Pervasives_Native.None), l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq2_qn)) - [(l, e); (r, e)] - | Comp (Eq (FStar_Pervasives_Native.Some t), l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq2_qn)) - [(t, i); (l, e); (r, e)] - | Comp (BoolEq (FStar_Pervasives_Native.None), l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq1_qn)) - [(l, e); (r, e)] - | Comp (BoolEq (FStar_Pervasives_Native.Some t), l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq1_qn)) - [(t, i); (l, e); (r, e)] - | Comp (Lt, l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.lt_qn)) - [(l, e); (r, e)] - | Comp (Le, l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.lte_qn)) - [(l, e); (r, e)] - | Comp (Gt, l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.gt_qn)) - [(l, e); (r, e)] - | Comp (Ge, l, r) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.gte_qn)) - [(l, e); (r, e)] - | And (p, q) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.and_qn)) - [(p, e); (q, e)] - | Or (p, q) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.or_qn)) - [(p, e); (q, e)] - | Implies (p, q) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.imp_qn)) - [(p, e); (q, e)] - | Not p -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.not_qn)) - [(p, e)] - | Iff (p, q) -> - mk_app' - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.iff_qn)) - [(p, e); (q, e)] - | Forall (b, sort, t) -> FStar_Reflection_Data.Tv_Unknown - | Exists (b, sort, t) -> FStar_Reflection_Data.Tv_Unknown - | App (p, q) -> - FStar_Reflection_Data.Tv_App - (p, (q, FStar_Reflection_Data.Q_Explicit)) - | Name b -> FStar_Reflection_Data.Tv_Var b - | FV fv -> FStar_Reflection_Data.Tv_FVar fv - | IntLit i1 -> - FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_Int i1) - | F_Unknown -> FStar_Reflection_Data.Tv_Unknown -let (formula_as_term : formula -> FStar_Reflection_Types.term) = - fun f -> FStar_Reflection_Builtins.pack_ln (formula_as_term_view f) -let (formula_to_string : - formula -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - (fun f -> - match f with - | True_ -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "True_"))) - | False_ -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "False_"))) - | Comp (Eq mt, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (211)) (Prims.of_int (24)) - (Prims.of_int (214)) (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (211)) (Prims.of_int (24)) - (Prims.of_int (213)) (Prims.of_int (67))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (211)) (Prims.of_int (24)) - (Prims.of_int (214)) (Prims.of_int (80))) - (match mt with - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> ""))) - | FStar_Pervasives_Native.Some t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (213)) - (Prims.of_int (44)) - (Prims.of_int (213)) - (Prims.of_int (66))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (213)) - (Prims.of_int (44)) - (Prims.of_int (213)) - (Prims.of_int (60))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - t)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - Prims.strcat " (" uu___))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (24)) - (Prims.of_int (214)) - (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (31)) - (Prims.of_int (214)) - (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (31)) - (Prims.of_int (214)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (31)) - (Prims.of_int (214)) - (Prims.of_int (80))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - l)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (50)) - (Prims.of_int (214)) - (Prims.of_int (80))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (58)) - (Prims.of_int (214)) - (Prims.of_int (80))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - ( - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (214)) - (Prims.of_int (58)) - (Prims.of_int (214)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun - uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - Prims.strcat - uu___2 - ")")))) - (fun uu___2 - -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - Prims.strcat - ") (" - uu___2)))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 - -> - Prims.strcat - uu___1 - uu___2)))) - uu___1))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat " (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Eq" uu___)))) - | Comp (BoolEq mt, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (216)) (Prims.of_int (24)) - (Prims.of_int (219)) (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (216)) (Prims.of_int (24)) - (Prims.of_int (218)) (Prims.of_int (67))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (216)) (Prims.of_int (24)) - (Prims.of_int (219)) (Prims.of_int (80))) - (match mt with - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> ""))) - | FStar_Pervasives_Native.Some t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (218)) - (Prims.of_int (44)) - (Prims.of_int (218)) - (Prims.of_int (66))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (218)) - (Prims.of_int (44)) - (Prims.of_int (218)) - (Prims.of_int (60))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - t)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - Prims.strcat " (" uu___))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (24)) - (Prims.of_int (219)) - (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (31)) - (Prims.of_int (219)) - (Prims.of_int (80))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (31)) - (Prims.of_int (219)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (31)) - (Prims.of_int (219)) - (Prims.of_int (80))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - l)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (50)) - (Prims.of_int (219)) - (Prims.of_int (80))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (58)) - (Prims.of_int (219)) - (Prims.of_int (80))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - ( - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (219)) - (Prims.of_int (58)) - (Prims.of_int (219)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun - uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - Prims.strcat - uu___2 - ")")))) - (fun uu___2 - -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - Prims.strcat - ") (" - uu___2)))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 - -> - Prims.strcat - uu___1 - uu___2)))) - uu___1))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat " (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "BoolEq" uu___)))) - | Comp (Lt, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) (Prims.of_int (30)) - (Prims.of_int (220)) (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) (Prims.of_int (30)) - (Prims.of_int (220)) (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) (Prims.of_int (30)) - (Prims.of_int (220)) (Prims.of_int (79))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string l)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) - (Prims.of_int (49)) - (Prims.of_int (220)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) - (Prims.of_int (57)) - (Prims.of_int (220)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (220)) - (Prims.of_int (57)) - (Prims.of_int (220)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Lt (" uu___)))) - | Comp (Le, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) (Prims.of_int (30)) - (Prims.of_int (221)) (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) (Prims.of_int (30)) - (Prims.of_int (221)) (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) (Prims.of_int (30)) - (Prims.of_int (221)) (Prims.of_int (79))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string l)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) - (Prims.of_int (49)) - (Prims.of_int (221)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) - (Prims.of_int (57)) - (Prims.of_int (221)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (221)) - (Prims.of_int (57)) - (Prims.of_int (221)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Le (" uu___)))) - | Comp (Gt, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) (Prims.of_int (30)) - (Prims.of_int (222)) (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) (Prims.of_int (30)) - (Prims.of_int (222)) (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) (Prims.of_int (30)) - (Prims.of_int (222)) (Prims.of_int (79))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string l)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) - (Prims.of_int (49)) - (Prims.of_int (222)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) - (Prims.of_int (57)) - (Prims.of_int (222)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (222)) - (Prims.of_int (57)) - (Prims.of_int (222)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Gt (" uu___)))) - | Comp (Ge, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) (Prims.of_int (30)) - (Prims.of_int (223)) (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) (Prims.of_int (30)) - (Prims.of_int (223)) (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) (Prims.of_int (30)) - (Prims.of_int (223)) (Prims.of_int (79))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string l)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) - (Prims.of_int (49)) - (Prims.of_int (223)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) - (Prims.of_int (57)) - (Prims.of_int (223)) - (Prims.of_int (79))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (223)) - (Prims.of_int (57)) - (Prims.of_int (223)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - r)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Ge (" uu___)))) - | And (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) (Prims.of_int (27)) - (Prims.of_int (224)) (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) (Prims.of_int (27)) - (Prims.of_int (224)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) (Prims.of_int (27)) - (Prims.of_int (224)) (Prims.of_int (76))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) - (Prims.of_int (46)) - (Prims.of_int (224)) - (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) - (Prims.of_int (54)) - (Prims.of_int (224)) - (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (224)) - (Prims.of_int (54)) - (Prims.of_int (224)) - (Prims.of_int (70))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - q)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "And (" uu___)))) - | Or (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) (Prims.of_int (27)) - (Prims.of_int (225)) (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) (Prims.of_int (27)) - (Prims.of_int (225)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) (Prims.of_int (27)) - (Prims.of_int (225)) (Prims.of_int (76))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) - (Prims.of_int (46)) - (Prims.of_int (225)) - (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) - (Prims.of_int (54)) - (Prims.of_int (225)) - (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (225)) - (Prims.of_int (54)) - (Prims.of_int (225)) - (Prims.of_int (70))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - q)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Or (" uu___)))) - | Implies (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) (Prims.of_int (36)) - (Prims.of_int (226)) (Prims.of_int (85))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) (Prims.of_int (36)) - (Prims.of_int (226)) (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) (Prims.of_int (36)) - (Prims.of_int (226)) (Prims.of_int (85))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) - (Prims.of_int (55)) - (Prims.of_int (226)) - (Prims.of_int (85))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) - (Prims.of_int (63)) - (Prims.of_int (226)) - (Prims.of_int (85))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (226)) - (Prims.of_int (63)) - (Prims.of_int (226)) - (Prims.of_int (79))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - q)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Implies (" uu___)))) - | Not p -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (227)) (Prims.of_int (26)) - (Prims.of_int (227)) (Prims.of_int (48))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (227)) (Prims.of_int (26)) - (Prims.of_int (227)) (Prims.of_int (42))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Not (" uu___)))) - | Iff (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) (Prims.of_int (28)) - (Prims.of_int (228)) (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) (Prims.of_int (28)) - (Prims.of_int (228)) (Prims.of_int (44))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) (Prims.of_int (28)) - (Prims.of_int (228)) (Prims.of_int (77))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) - (Prims.of_int (47)) - (Prims.of_int (228)) - (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) - (Prims.of_int (55)) - (Prims.of_int (228)) - (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (228)) - (Prims.of_int (55)) - (Prims.of_int (228)) - (Prims.of_int (71))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - q)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Iff (" uu___)))) - | Forall (bs, _sort, t) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (229)) (Prims.of_int (45)) - (Prims.of_int (229)) (Prims.of_int (67))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (229)) (Prims.of_int (45)) - (Prims.of_int (229)) (Prims.of_int (61))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string t)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Forall (" uu___)))) - | Exists (bs, _sort, t) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (230)) (Prims.of_int (45)) - (Prims.of_int (230)) (Prims.of_int (67))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (230)) (Prims.of_int (45)) - (Prims.of_int (230)) (Prims.of_int (61))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string t)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Exists (" uu___)))) - | App (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) (Prims.of_int (28)) - (Prims.of_int (231)) (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) (Prims.of_int (28)) - (Prims.of_int (231)) (Prims.of_int (44))) - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) (Prims.of_int (28)) - (Prims.of_int (231)) (Prims.of_int (77))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string p)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) - (Prims.of_int (47)) - (Prims.of_int (231)) - (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) - (Prims.of_int (55)) - (Prims.of_int (231)) - (Prims.of_int (77))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Formula.fst" - (Prims.of_int (231)) - (Prims.of_int (55)) - (Prims.of_int (231)) - (Prims.of_int (71))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.term_to_string - q)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___1 - ")")))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat ") (" uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - Prims.strcat uu___ uu___1)))) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "App (" uu___)))) - | Name bv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (232)) (Prims.of_int (29)) - (Prims.of_int (232)) (Prims.of_int (50))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Formula.fst" - (Prims.of_int (232)) (Prims.of_int (29)) - (Prims.of_int (232)) (Prims.of_int (44))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (bv_to_string bv)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat uu___ ")")))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> Prims.strcat "Name (" uu___)))) - | FV fv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - Prims.strcat "FV (" - (Prims.strcat - (FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv fv)) ")")))) - | IntLit i -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> Prims.strcat "Int " (Prims.string_of_int i)))) - | F_Unknown -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "?")))) - uu___ \ No newline at end of file +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml b/ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml index f70b681eceb..c16d0c473d8 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml @@ -1,4 +1,14 @@ open Prims +let rec fold_left_dec : 'a 'b . 'a -> 'b Prims.list -> ('a -> 'b -> 'a) -> 'a + = + fun acc -> + fun l -> + fun f -> + match l with | [] -> acc | x::xs -> fold_left_dec (f acc x) xs f +let rec map_dec : 'a 'b . 'a Prims.list -> ('a -> 'b) -> 'b Prims.list = + fun l -> + fun f -> match l with | [] -> [] | x::xs -> (f x) :: (map_dec xs f) +type ('a, 'b, 'f, 'xs, 'ys) zip2prop = Obj.t let (lookup_bvar : FStar_Reflection_Types.env -> Prims.int -> FStar_Reflection_Types.term FStar_Pervasives_Native.option) @@ -18,153 +28,307 @@ type pp_name_t = (Prims.string, unit) FStar_Sealed_Inhabited.sealed let (pp_name_default : pp_name_t) = FStar_Sealed_Inhabited.seal "x" "x" let (seal_pp_name : Prims.string -> pp_name_t) = fun x -> FStar_Sealed_Inhabited.seal "x" x +let (tun : FStar_Reflection_Types.term) = + FStar_Reflection_V2_Builtins.pack_ln FStar_Reflection_V2_Data.Tv_Unknown +type sort_t = + (FStar_Reflection_Types.term, unit) FStar_Sealed_Inhabited.sealed +let (sort_default : sort_t) = FStar_Sealed_Inhabited.seal tun tun +let (seal_sort : FStar_Reflection_Types.term -> sort_t) = + fun x -> FStar_Sealed_Inhabited.seal tun x let (mk_binder : pp_name_t -> - FStar_Reflection_Data.var -> - FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> FStar_Reflection_Types.binder) + FStar_Reflection_Types.term -> + FStar_Reflection_V2_Data.aqualv -> FStar_Reflection_Types.binder) = fun pp_name -> - fun x -> - fun ty -> - fun q -> - FStar_Reflection_Builtins.pack_binder - { - FStar_Reflection_Data.binder_bv = - (FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname = pp_name; - FStar_Reflection_Data.bv_index = x - }); - FStar_Reflection_Data.binder_qual = q; - FStar_Reflection_Data.binder_attrs = []; - FStar_Reflection_Data.binder_sort = ty - } + fun ty -> + fun q -> + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = ty; + FStar_Reflection_V2_Data.qual = q; + FStar_Reflection_V2_Data.attrs = []; + FStar_Reflection_V2_Data.ppname2 = pp_name + } +let (mk_simple_binder : + pp_name_t -> + FStar_Reflection_Types.term -> FStar_Reflection_V2_Data.simple_binder) + = + fun pp_name -> + fun ty -> + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = ty; + FStar_Reflection_V2_Data.qual = FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs = []; + FStar_Reflection_V2_Data.ppname2 = pp_name + } let (extend_env : FStar_Reflection_Types.env -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term -> FStar_Reflection_Types.env) = fun e -> fun x -> fun ty -> - FStar_Reflection_Builtins.push_binder e - (mk_binder (seal_pp_name "x") x ty FStar_Reflection_Data.Q_Explicit) -let (as_binder : - FStar_Reflection_Data.var -> - FStar_Reflection_Types.term -> FStar_Reflection_Types.binder) - = + FStar_Reflection_V2_Derived.push_binding e + { + FStar_Reflection_V2_Data.uniq1 = x; + FStar_Reflection_V2_Data.sort3 = ty; + FStar_Reflection_V2_Data.ppname3 = (seal_pp_name "x") + } +let (bv_index : FStar_Reflection_Types.bv -> FStar_Reflection_V2_Data.var) = fun x -> - fun ty -> - mk_binder (seal_pp_name "x") x ty FStar_Reflection_Data.Q_Explicit -let (bv_index : FStar_Reflection_Types.bv -> FStar_Reflection_Data.var) = + (FStar_Reflection_V2_Builtins.inspect_bv x).FStar_Reflection_V2_Data.index +let (namedv_uniq : + FStar_Reflection_Types.namedv -> FStar_Reflection_V2_Data.var) = fun x -> - (FStar_Reflection_Builtins.inspect_bv x).FStar_Reflection_Data.bv_index + (FStar_Reflection_V2_Builtins.inspect_namedv x).FStar_Reflection_V2_Data.uniq let (binder_sort : FStar_Reflection_Types.binder -> FStar_Reflection_Types.typ) = fun b -> - (FStar_Reflection_Builtins.inspect_binder b).FStar_Reflection_Data.binder_sort + (FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2 let (binder_qual : - FStar_Reflection_Types.binder -> FStar_Reflection_Data.aqualv) = + FStar_Reflection_Types.binder -> FStar_Reflection_V2_Data.aqualv) = fun b -> - let uu___ = FStar_Reflection_Builtins.inspect_binder b in + let uu___ = FStar_Reflection_V2_Builtins.inspect_binder b in match uu___ with - | { FStar_Reflection_Data.binder_bv = uu___1; - FStar_Reflection_Data.binder_qual = q; - FStar_Reflection_Data.binder_attrs = uu___2; - FStar_Reflection_Data.binder_sort = uu___3;_} -> q -type open_or_close = - | OpenWith of FStar_Reflection_Types.term - | CloseVar of FStar_Reflection_Data.var - | Rename of FStar_Reflection_Data.var * FStar_Reflection_Data.var -let (uu___is_OpenWith : open_or_close -> Prims.bool) = + | { FStar_Reflection_V2_Data.sort2 = uu___1; + FStar_Reflection_V2_Data.qual = q; + FStar_Reflection_V2_Data.attrs = uu___2; + FStar_Reflection_V2_Data.ppname2 = uu___3;_} -> q +type subst_elt = + | DT of Prims.nat * FStar_Reflection_Types.term + | NT of FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term + | ND of FStar_Reflection_V2_Data.var * Prims.nat +let (uu___is_DT : subst_elt -> Prims.bool) = fun projectee -> - match projectee with | OpenWith _0 -> true | uu___ -> false -let (__proj__OpenWith__item___0 : - open_or_close -> FStar_Reflection_Types.term) = - fun projectee -> match projectee with | OpenWith _0 -> _0 -let (uu___is_CloseVar : open_or_close -> Prims.bool) = + match projectee with | DT (_0, _1) -> true | uu___ -> false +let (__proj__DT__item___0 : subst_elt -> Prims.nat) = + fun projectee -> match projectee with | DT (_0, _1) -> _0 +let (__proj__DT__item___1 : subst_elt -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | DT (_0, _1) -> _1 +let (uu___is_NT : subst_elt -> Prims.bool) = fun projectee -> - match projectee with | CloseVar _0 -> true | uu___ -> false -let (__proj__CloseVar__item___0 : open_or_close -> FStar_Reflection_Data.var) - = fun projectee -> match projectee with | CloseVar _0 -> _0 -let (uu___is_Rename : open_or_close -> Prims.bool) = + match projectee with | NT (_0, _1) -> true | uu___ -> false +let (__proj__NT__item___0 : subst_elt -> FStar_Reflection_V2_Data.var) = + fun projectee -> match projectee with | NT (_0, _1) -> _0 +let (__proj__NT__item___1 : subst_elt -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | NT (_0, _1) -> _1 +let (uu___is_ND : subst_elt -> Prims.bool) = fun projectee -> - match projectee with | Rename (_0, _1) -> true | uu___ -> false -let (__proj__Rename__item___0 : open_or_close -> FStar_Reflection_Data.var) = - fun projectee -> match projectee with | Rename (_0, _1) -> _0 -let (__proj__Rename__item___1 : open_or_close -> FStar_Reflection_Data.var) = - fun projectee -> match projectee with | Rename (_0, _1) -> _1 -let (tun : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln FStar_Reflection_Data.Tv_Unknown -let (make_bv : Prims.nat -> FStar_Reflection_Data.bv_view) = + match projectee with | ND (_0, _1) -> true | uu___ -> false +let (__proj__ND__item___0 : subst_elt -> FStar_Reflection_V2_Data.var) = + fun projectee -> match projectee with | ND (_0, _1) -> _0 +let (__proj__ND__item___1 : subst_elt -> Prims.nat) = + fun projectee -> match projectee with | ND (_0, _1) -> _1 +let (shift_subst_elt : Prims.nat -> subst_elt -> subst_elt) = + fun n -> + fun uu___ -> + match uu___ with + | DT (i, t) -> DT ((i + n), t) + | NT (x, t) -> NT (x, t) + | ND (x, i) -> ND (x, (i + n)) +type subst = subst_elt Prims.list +let (shift_subst_n : + Prims.nat -> subst_elt Prims.list -> subst_elt Prims.list) = + fun n -> FStar_List_Tot_Base.map (shift_subst_elt n) +let (shift_subst : subst_elt Prims.list -> subst_elt Prims.list) = + shift_subst_n Prims.int_one +let (maybe_uniq_of_term : + FStar_Reflection_Types.term -> + FStar_Reflection_V2_Data.var FStar_Pervasives_Native.option) + = + fun x -> + match FStar_Reflection_V2_Builtins.inspect_ln x with + | FStar_Reflection_V2_Data.Tv_Var namedv -> + FStar_Pervasives_Native.Some (namedv_uniq namedv) + | uu___ -> FStar_Pervasives_Native.None +let rec (find_matching_subst_elt_bv : + subst -> + FStar_Reflection_Types.bv -> subst_elt FStar_Pervasives_Native.option) + = + fun s -> + fun bv -> + match s with + | [] -> FStar_Pervasives_Native.None + | (DT (j, t))::ss -> + if j = (bv_index bv) + then FStar_Pervasives_Native.Some (DT (j, t)) + else find_matching_subst_elt_bv ss bv + | uu___::ss -> find_matching_subst_elt_bv ss bv +let (subst_db : + FStar_Reflection_Types.bv -> subst -> FStar_Reflection_Types.term) = + fun bv -> + fun s -> + match find_matching_subst_elt_bv s bv with + | FStar_Pervasives_Native.Some (DT (uu___, t)) -> + (match maybe_uniq_of_term t with + | FStar_Pervasives_Native.None -> t + | FStar_Pervasives_Native.Some k -> + let v = + FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = k; + FStar_Reflection_V2_Data.sort = + ((FStar_Reflection_V2_Builtins.inspect_bv bv).FStar_Reflection_V2_Data.sort1); + FStar_Reflection_V2_Data.ppname = + ((FStar_Reflection_V2_Builtins.inspect_bv bv).FStar_Reflection_V2_Data.ppname1) + } in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var v)) + | uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_BVar bv) +let rec (find_matching_subst_elt_var : + subst -> + FStar_Reflection_Types.namedv -> subst_elt FStar_Pervasives_Native.option) + = + fun s -> + fun v -> + match s with + | [] -> FStar_Pervasives_Native.None + | (NT (y, uu___))::rest -> + if y = (namedv_uniq v) + then FStar_Pervasives_Native.Some (FStar_List_Tot_Base.hd s) + else find_matching_subst_elt_var rest v + | (ND (y, uu___))::rest -> + if y = (namedv_uniq v) + then FStar_Pervasives_Native.Some (FStar_List_Tot_Base.hd s) + else find_matching_subst_elt_var rest v + | uu___::rest -> find_matching_subst_elt_var rest v +let (subst_var : + FStar_Reflection_Types.namedv -> subst -> FStar_Reflection_Types.term) = + fun v -> + fun s -> + match find_matching_subst_elt_var s v with + | FStar_Pervasives_Native.Some (NT (uu___, t)) -> + (match maybe_uniq_of_term t with + | FStar_Pervasives_Native.None -> t + | FStar_Pervasives_Native.Some k -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var + (FStar_Reflection_V2_Builtins.pack_namedv + (let uu___1 = + FStar_Reflection_V2_Builtins.inspect_namedv v in + { + FStar_Reflection_V2_Data.uniq = k; + FStar_Reflection_V2_Data.sort = + (uu___1.FStar_Reflection_V2_Data.sort); + FStar_Reflection_V2_Data.ppname = + (uu___1.FStar_Reflection_V2_Data.ppname) + })))) + | FStar_Pervasives_Native.Some (ND (uu___, i)) -> + let bv = + FStar_Reflection_V2_Builtins.pack_bv + { + FStar_Reflection_V2_Data.index = i; + FStar_Reflection_V2_Data.sort1 = + ((FStar_Reflection_V2_Builtins.inspect_namedv v).FStar_Reflection_V2_Data.sort); + FStar_Reflection_V2_Data.ppname1 = + ((FStar_Reflection_V2_Builtins.inspect_namedv v).FStar_Reflection_V2_Data.ppname) + } in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_BVar bv) + | uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var v) +let (make_bv : Prims.nat -> FStar_Reflection_V2_Data.bv_view) = fun n -> { - FStar_Reflection_Data.bv_ppname = pp_name_default; - FStar_Reflection_Data.bv_index = n + FStar_Reflection_V2_Data.index = n; + FStar_Reflection_V2_Data.sort1 = sort_default; + FStar_Reflection_V2_Data.ppname1 = pp_name_default } let (make_bv_with_name : - pp_name_t -> Prims.nat -> FStar_Reflection_Data.bv_view) = + pp_name_t -> Prims.nat -> FStar_Reflection_V2_Data.bv_view) = fun s -> fun n -> { - FStar_Reflection_Data.bv_ppname = s; - FStar_Reflection_Data.bv_index = n + FStar_Reflection_V2_Data.index = n; + FStar_Reflection_V2_Data.sort1 = sort_default; + FStar_Reflection_V2_Data.ppname1 = s } let (var_as_bv : Prims.nat -> FStar_Reflection_Types.bv) = - fun v -> FStar_Reflection_Builtins.pack_bv (make_bv v) -let (var_as_term : FStar_Reflection_Data.var -> FStar_Reflection_Types.term) - = + fun v -> FStar_Reflection_V2_Builtins.pack_bv (make_bv v) +let (make_namedv : Prims.nat -> FStar_Reflection_V2_Data.namedv_view) = + fun n -> + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = sort_default; + FStar_Reflection_V2_Data.ppname = pp_name_default + } +let (make_namedv_with_name : + pp_name_t -> Prims.nat -> FStar_Reflection_V2_Data.namedv_view) = + fun s -> + fun n -> + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = sort_default; + FStar_Reflection_V2_Data.ppname = s + } +let (var_as_namedv : Prims.nat -> FStar_Reflection_Types.namedv) = fun v -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var (var_as_bv v)) + FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = v; + FStar_Reflection_V2_Data.sort = sort_default; + FStar_Reflection_V2_Data.ppname = pp_name_default + } +let (var_as_term : + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term) = + fun v -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var (var_as_namedv v)) let (binder_of_t_q : FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> FStar_Reflection_Types.binder) - = fun t -> fun q -> mk_binder pp_name_default Prims.int_zero t q + FStar_Reflection_V2_Data.aqualv -> FStar_Reflection_Types.binder) + = fun t -> fun q -> mk_binder pp_name_default t q let (mk_abs : FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> + FStar_Reflection_V2_Data.aqualv -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = fun ty -> fun qual -> fun t -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Abs ((binder_of_t_q ty qual), t)) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs ((binder_of_t_q ty qual), t)) let (mk_total : FStar_Reflection_Types.typ -> FStar_Reflection_Types.comp) = fun t -> - FStar_Reflection_Builtins.pack_comp (FStar_Reflection_Data.C_Total t) + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Total t) let (mk_ghost : FStar_Reflection_Types.typ -> FStar_Reflection_Types.comp) = fun t -> - FStar_Reflection_Builtins.pack_comp (FStar_Reflection_Data.C_GTotal t) + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_GTotal t) let (mk_arrow : FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> + FStar_Reflection_V2_Data.aqualv -> FStar_Reflection_Types.typ -> FStar_Reflection_Types.term) = fun ty -> fun qual -> fun t -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow ((binder_of_t_q ty qual), (mk_total t))) let (mk_ghost_arrow : FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> + FStar_Reflection_V2_Data.aqualv -> FStar_Reflection_Types.typ -> FStar_Reflection_Types.term) = fun ty -> fun qual -> fun t -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow ((binder_of_t_q ty qual), (mk_ghost t))) let (bound_var : Prims.nat -> FStar_Reflection_Types.term) = fun i -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_BVar - (FStar_Reflection_Builtins.pack_bv (make_bv i))) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_BVar + (FStar_Reflection_V2_Builtins.pack_bv (make_bv i))) let (mk_let : pp_name_t -> FStar_Reflection_Types.term -> @@ -175,390 +339,307 @@ let (mk_let : fun e1 -> fun t1 -> fun e2 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Let - (false, [], - (FStar_Reflection_Builtins.pack_bv - (make_bv_with_name ppname Prims.int_zero)), t1, e1, e2)) -let (open_with_var : FStar_Reflection_Data.var -> open_or_close) = - fun x -> - OpenWith - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var (var_as_bv x))) -let (maybe_index_of_term : - FStar_Reflection_Types.term -> - FStar_Reflection_Data.var FStar_Pervasives_Native.option) - = + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Let + (false, [], (mk_simple_binder ppname t1), e1, e2)) +let (open_with_var_elt : + FStar_Reflection_V2_Data.var -> Prims.nat -> subst_elt) = fun x -> - match FStar_Reflection_Builtins.inspect_ln x with - | FStar_Reflection_Data.Tv_Var bv -> - FStar_Pervasives_Native.Some (bv_index bv) - | uu___ -> FStar_Pervasives_Native.None -let (open_or_close_ctx_uvar_and_subst : + fun i -> + DT + (i, + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var (var_as_namedv x)))) +let (open_with_var : FStar_Reflection_V2_Data.var -> Prims.nat -> subst) = + fun x -> fun i -> [open_with_var_elt x i] +let (subst_ctx_uvar_and_subst : FStar_Reflection_Types.ctx_uvar_and_subst -> - open_or_close -> Prims.nat -> FStar_Reflection_Types.ctx_uvar_and_subst) - = fun c -> fun v -> fun i -> Prims.magic () + subst -> FStar_Reflection_Types.ctx_uvar_and_subst) + = fun uu___ -> fun uu___1 -> Prims.magic () let rec (binder_offset_patterns : - (FStar_Reflection_Data.pattern * Prims.bool) Prims.list -> Prims.nat) = + (FStar_Reflection_V2_Data.pattern * Prims.bool) Prims.list -> Prims.nat) = fun ps -> match ps with | [] -> Prims.int_zero | (p, b)::ps1 -> let n = binder_offset_pattern p in let m = binder_offset_patterns ps1 in n + m -and (binder_offset_pattern : FStar_Reflection_Data.pattern -> Prims.nat) = +and (binder_offset_pattern : FStar_Reflection_V2_Data.pattern -> Prims.nat) = fun p -> match p with - | FStar_Reflection_Data.Pat_Constant uu___ -> Prims.int_zero - | FStar_Reflection_Data.Pat_Dot_Term uu___ -> Prims.int_zero - | FStar_Reflection_Data.Pat_Var (uu___, uu___1) -> Prims.int_one - | FStar_Reflection_Data.Pat_Cons (fv, us, pats) -> - binder_offset_patterns pats -let rec (open_or_close_term' : - FStar_Reflection_Types.term -> - open_or_close -> Prims.nat -> FStar_Reflection_Types.term) - = + | FStar_Reflection_V2_Data.Pat_Constant uu___ -> Prims.int_zero + | FStar_Reflection_V2_Data.Pat_Dot_Term uu___ -> Prims.int_zero + | FStar_Reflection_V2_Data.Pat_Var (uu___, uu___1) -> Prims.int_one + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + binder_offset_patterns subpats +let rec (subst_term : + FStar_Reflection_Types.term -> subst -> FStar_Reflection_Types.term) = fun t -> - fun v -> - fun i -> - match FStar_Reflection_Builtins.inspect_ln t with - | FStar_Reflection_Data.Tv_UInst (uu___, uu___1) -> t - | FStar_Reflection_Data.Tv_FVar uu___ -> t - | FStar_Reflection_Data.Tv_Type uu___ -> t - | FStar_Reflection_Data.Tv_Const uu___ -> t - | FStar_Reflection_Data.Tv_Unsupp -> t - | FStar_Reflection_Data.Tv_Unknown -> t - | FStar_Reflection_Data.Tv_Var x -> - (match v with - | OpenWith uu___ -> t - | CloseVar y -> - if (bv_index x) = y - then - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_BVar - (FStar_Reflection_Builtins.pack_bv - (let uu___ = - FStar_Reflection_Builtins.inspect_bv x in - { - FStar_Reflection_Data.bv_ppname = - (uu___.FStar_Reflection_Data.bv_ppname); - FStar_Reflection_Data.bv_index = i - }))) - else t - | Rename (y, z) -> - if (bv_index x) = y - then - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Builtins.pack_bv - (let uu___ = - FStar_Reflection_Builtins.inspect_bv x in - { - FStar_Reflection_Data.bv_ppname = - (uu___.FStar_Reflection_Data.bv_ppname); - FStar_Reflection_Data.bv_index = z - }))) - else t) - | FStar_Reflection_Data.Tv_BVar j -> - (match v with - | Rename (uu___, uu___1) -> t - | CloseVar uu___ -> t - | OpenWith v1 -> - if i = (bv_index j) - then - (match maybe_index_of_term v1 with - | FStar_Pervasives_Native.None -> v1 - | FStar_Pervasives_Native.Some k -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Builtins.pack_bv - (let uu___ = - FStar_Reflection_Builtins.inspect_bv j in - { - FStar_Reflection_Data.bv_ppname = - (uu___.FStar_Reflection_Data.bv_ppname); - FStar_Reflection_Data.bv_index = k - })))) - else t) - | FStar_Reflection_Data.Tv_App (hd, argv) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((open_or_close_term' hd v i), - ((open_or_close_term' (FStar_Pervasives_Native.fst argv) v - i), (FStar_Pervasives_Native.snd argv)))) - | FStar_Reflection_Data.Tv_Abs (b, body) -> - let b' = open_or_close_binder' b v i in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Abs - (b', (open_or_close_term' body v (i + Prims.int_one)))) - | FStar_Reflection_Data.Tv_Arrow (b, c) -> - let b' = open_or_close_binder' b v i in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow - (b', (open_or_close_comp' c v (i + Prims.int_one)))) - | FStar_Reflection_Data.Tv_Refine (bv, sort, f) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Refine - (bv, (open_or_close_term' sort v i), - (open_or_close_term' f v (i + Prims.int_one)))) - | FStar_Reflection_Data.Tv_Uvar (j, c) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Uvar - (j, (open_or_close_ctx_uvar_and_subst c v i))) - | FStar_Reflection_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Let - (recf, (open_or_close_terms' attrs v i), bv, - (open_or_close_term' ty v i), - (if recf - then open_or_close_term' def v (i + Prims.int_one) - else open_or_close_term' def v i), - (open_or_close_term' body v (i + Prims.int_one)))) - | FStar_Reflection_Data.Tv_Match (scr, ret, brs) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Match - ((open_or_close_term' scr v i), - (match ret with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some m -> - FStar_Pervasives_Native.Some - (open_or_close_match_returns' m v i)), - (open_or_close_branches' brs v i))) - | FStar_Reflection_Data.Tv_AscribedT (e, t1, tac, b) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_AscribedT - ((open_or_close_term' e v i), (open_or_close_term' t1 v i), - (match tac with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some tac1 -> - FStar_Pervasives_Native.Some - (open_or_close_term' tac1 v i)), b)) - | FStar_Reflection_Data.Tv_AscribedC (e, c, tac, b) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_AscribedC - ((open_or_close_term' e v i), (open_or_close_comp' c v i), - (match tac with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some tac1 -> - FStar_Pervasives_Native.Some - (open_or_close_term' tac1 v i)), b)) -and (open_or_close_binder' : - FStar_Reflection_Types.binder -> - open_or_close -> Prims.nat -> FStar_Reflection_Types.binder) - = + fun ss -> + match FStar_Reflection_V2_Builtins.inspect_ln t with + | FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1) -> t + | FStar_Reflection_V2_Data.Tv_FVar uu___ -> t + | FStar_Reflection_V2_Data.Tv_Type uu___ -> t + | FStar_Reflection_V2_Data.Tv_Const uu___ -> t + | FStar_Reflection_V2_Data.Tv_Unsupp -> t + | FStar_Reflection_V2_Data.Tv_Unknown -> t + | FStar_Reflection_V2_Data.Tv_Var x -> subst_var x ss + | FStar_Reflection_V2_Data.Tv_BVar j -> subst_db j ss + | FStar_Reflection_V2_Data.Tv_App (hd, argv) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((subst_term hd ss), + ((subst_term (FStar_Pervasives_Native.fst argv) ss), + (FStar_Pervasives_Native.snd argv)))) + | FStar_Reflection_V2_Data.Tv_Abs (b, body) -> + let b' = subst_binder b ss in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs + (b', (subst_term body (shift_subst ss)))) + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> + let b' = subst_binder b ss in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow + (b', (subst_comp c (shift_subst ss)))) + | FStar_Reflection_V2_Data.Tv_Refine (b, f) -> + let b1 = subst_binder b ss in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Refine + (b1, (subst_term f (shift_subst ss)))) + | FStar_Reflection_V2_Data.Tv_Uvar (j, c) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Uvar + (j, (subst_ctx_uvar_and_subst c ss))) + | FStar_Reflection_V2_Data.Tv_Let (recf, attrs, b, def, body) -> + let b1 = subst_binder b ss in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Let + (recf, (subst_terms attrs ss), b1, + (if recf + then subst_term def (shift_subst ss) + else subst_term def ss), + (subst_term body (shift_subst ss)))) + | FStar_Reflection_V2_Data.Tv_Match (scr, ret, brs) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Match + ((subst_term scr ss), + (match ret with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some m -> + FStar_Pervasives_Native.Some (subst_match_returns m ss)), + (subst_branches brs ss))) + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t1, tac, b) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_AscribedT + ((subst_term e ss), (subst_term t1 ss), + (match tac with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some tac1 -> + FStar_Pervasives_Native.Some (subst_term tac1 ss)), b)) + | FStar_Reflection_V2_Data.Tv_AscribedC (e, c, tac, b) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_AscribedC + ((subst_term e ss), (subst_comp c ss), + (match tac with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some tac1 -> + FStar_Pervasives_Native.Some (subst_term tac1 ss)), b)) +and (subst_binder : + FStar_Reflection_Types.binder -> subst -> FStar_Reflection_Types.binder) = fun b -> - fun v -> - fun i -> - let bndr = FStar_Reflection_Builtins.inspect_binder b in - FStar_Reflection_Builtins.pack_binder - { - FStar_Reflection_Data.binder_bv = - (bndr.FStar_Reflection_Data.binder_bv); - FStar_Reflection_Data.binder_qual = - (bndr.FStar_Reflection_Data.binder_qual); - FStar_Reflection_Data.binder_attrs = - (open_or_close_terms' bndr.FStar_Reflection_Data.binder_attrs v - i); - FStar_Reflection_Data.binder_sort = - (open_or_close_term' bndr.FStar_Reflection_Data.binder_sort v i) - } -and (open_or_close_comp' : - FStar_Reflection_Types.comp -> - open_or_close -> Prims.nat -> FStar_Reflection_Types.comp) - = + fun ss -> + let bndr = FStar_Reflection_V2_Builtins.inspect_binder b in + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = + (subst_term bndr.FStar_Reflection_V2_Data.sort2 ss); + FStar_Reflection_V2_Data.qual = + (bndr.FStar_Reflection_V2_Data.qual); + FStar_Reflection_V2_Data.attrs = + (subst_terms bndr.FStar_Reflection_V2_Data.attrs ss); + FStar_Reflection_V2_Data.ppname2 = + (bndr.FStar_Reflection_V2_Data.ppname2) + } +and (subst_comp : + FStar_Reflection_Types.comp -> subst -> FStar_Reflection_Types.comp) = fun c -> - fun v -> - fun i -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total (open_or_close_term' t v i)) - | FStar_Reflection_Data.C_GTotal t -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_GTotal (open_or_close_term' t v i)) - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Lemma - ((open_or_close_term' pre v i), - (open_or_close_term' post v i), - (open_or_close_term' pats v i))) - | FStar_Reflection_Data.C_Eff (us, eff_name, res, args, decrs) -> - FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Eff - (us, eff_name, (open_or_close_term' res v i), - (open_or_close_args' args v i), - (open_or_close_terms' decrs v i))) -and (open_or_close_terms' : + fun ss -> + match FStar_Reflection_V2_Builtins.inspect_comp c with + | FStar_Reflection_V2_Data.C_Total t -> + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Total (subst_term t ss)) + | FStar_Reflection_V2_Data.C_GTotal t -> + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_GTotal (subst_term t ss)) + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Lemma + ((subst_term pre ss), (subst_term post ss), + (subst_term pats ss))) + | FStar_Reflection_V2_Data.C_Eff (us, eff_name, res, args, decrs) -> + FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Eff + (us, eff_name, (subst_term res ss), (subst_args args ss), + (subst_terms decrs ss))) +and (subst_terms : FStar_Reflection_Types.term Prims.list -> - open_or_close -> Prims.nat -> FStar_Reflection_Types.term Prims.list) + subst -> FStar_Reflection_Types.term Prims.list) = fun ts -> - fun v -> - fun i -> - match ts with - | [] -> [] - | t::ts1 -> (open_or_close_term' t v i) :: - (open_or_close_terms' ts1 v i) -and (open_or_close_args' : - FStar_Reflection_Data.argv Prims.list -> - open_or_close -> Prims.nat -> FStar_Reflection_Data.argv Prims.list) + fun ss -> + match ts with + | [] -> [] + | t::ts1 -> (subst_term t ss) :: (subst_terms ts1 ss) +and (subst_args : + FStar_Reflection_V2_Data.argv Prims.list -> + subst -> FStar_Reflection_V2_Data.argv Prims.list) = fun ts -> - fun v -> - fun i -> - match ts with - | [] -> [] - | (t, q)::ts1 -> ((open_or_close_term' t v i), q) :: - (open_or_close_args' ts1 v i) -and (open_or_close_patterns' : - (FStar_Reflection_Data.pattern * Prims.bool) Prims.list -> - open_or_close -> - Prims.nat -> (FStar_Reflection_Data.pattern * Prims.bool) Prims.list) + fun ss -> + match ts with + | [] -> [] + | (t, q)::ts1 -> ((subst_term t ss), q) :: (subst_args ts1 ss) +and (subst_patterns : + (FStar_Reflection_V2_Data.pattern * Prims.bool) Prims.list -> + subst -> (FStar_Reflection_V2_Data.pattern * Prims.bool) Prims.list) = fun ps -> - fun v -> - fun i -> - match ps with - | [] -> ps - | (p, b)::ps1 -> - let n = binder_offset_pattern p in - let p1 = open_or_close_pattern' p v i in - let ps2 = open_or_close_patterns' ps1 v (i + n) in (p1, b) :: ps2 -and (open_or_close_pattern' : - FStar_Reflection_Data.pattern -> - open_or_close -> Prims.nat -> FStar_Reflection_Data.pattern) + fun ss -> + match ps with + | [] -> ps + | (p, b)::ps1 -> + let n = binder_offset_pattern p in + let p1 = subst_pattern p ss in + let ps2 = subst_patterns ps1 (shift_subst_n n ss) in (p1, b) :: ps2 +and (subst_pattern : + FStar_Reflection_V2_Data.pattern -> + subst -> FStar_Reflection_V2_Data.pattern) = fun p -> - fun v -> - fun i -> - match p with - | FStar_Reflection_Data.Pat_Constant uu___ -> p - | FStar_Reflection_Data.Pat_Cons (fv, us, pats) -> - let pats1 = open_or_close_patterns' pats v i in - FStar_Reflection_Data.Pat_Cons (fv, us, pats1) - | FStar_Reflection_Data.Pat_Var (bv, st) -> - FStar_Reflection_Data.Pat_Var (bv, st) - | FStar_Reflection_Data.Pat_Dot_Term topt -> - FStar_Reflection_Data.Pat_Dot_Term - ((match topt with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some t -> - FStar_Pervasives_Native.Some (open_or_close_term' t v i))) -and (open_or_close_branch' : - FStar_Reflection_Data.branch -> - open_or_close -> Prims.nat -> FStar_Reflection_Data.branch) + fun ss -> + match p with + | FStar_Reflection_V2_Data.Pat_Constant uu___ -> p + | FStar_Reflection_V2_Data.Pat_Cons (fv, us, pats) -> + let pats1 = subst_patterns pats ss in + FStar_Reflection_V2_Data.Pat_Cons (fv, us, pats1) + | FStar_Reflection_V2_Data.Pat_Var (bv, s) -> + FStar_Reflection_V2_Data.Pat_Var (bv, s) + | FStar_Reflection_V2_Data.Pat_Dot_Term topt -> + FStar_Reflection_V2_Data.Pat_Dot_Term + ((match topt with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some t -> + FStar_Pervasives_Native.Some (subst_term t ss))) +and (subst_branch : + FStar_Reflection_V2_Data.branch -> subst -> FStar_Reflection_V2_Data.branch) = fun br -> - fun v -> - fun i -> - let uu___ = br in - match uu___ with - | (p, t) -> - let p1 = open_or_close_pattern' p v i in - let j = binder_offset_pattern p1 in - let t1 = open_or_close_term' t v (i + j) in (p1, t1) -and (open_or_close_branches' : - FStar_Reflection_Data.branch Prims.list -> - open_or_close -> Prims.nat -> FStar_Reflection_Data.branch Prims.list) + fun ss -> + let uu___ = br in + match uu___ with + | (p, t) -> + let p1 = subst_pattern p ss in + let j = binder_offset_pattern p1 in + let t1 = subst_term t (shift_subst_n j ss) in (p1, t1) +and (subst_branches : + FStar_Reflection_V2_Data.branch Prims.list -> + subst -> FStar_Reflection_V2_Data.branch Prims.list) = fun brs -> - fun v -> - fun i -> - match brs with - | [] -> [] - | br::brs1 -> (open_or_close_branch' br v i) :: - (open_or_close_branches' brs1 v i) -and (open_or_close_match_returns' : + fun ss -> + match brs with + | [] -> [] + | br::brs1 -> (subst_branch br ss) :: (subst_branches brs1 ss) +and (subst_match_returns : FStar_Reflection_Types.match_returns_ascription -> - open_or_close -> - Prims.nat -> FStar_Reflection_Types.match_returns_ascription) + subst -> FStar_Reflection_Types.match_returns_ascription) = fun m -> - fun v -> - fun i -> - let uu___ = m in - match uu___ with - | (b, (ret, as_, eq)) -> - let b1 = open_or_close_binder' b v i in - let ret1 = - match ret with - | FStar_Pervasives.Inl t -> - FStar_Pervasives.Inl - (open_or_close_term' t v (i + Prims.int_one)) - | FStar_Pervasives.Inr c -> - FStar_Pervasives.Inr - (open_or_close_comp' c v (i + Prims.int_one)) in - let as_1 = - match as_ with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some t -> - FStar_Pervasives_Native.Some - (open_or_close_term' t v (i + Prims.int_one)) in - (b1, (ret1, as_1, eq)) + fun ss -> + let uu___ = m in + match uu___ with + | (b, (ret, as_, eq)) -> + let b1 = subst_binder b ss in + let ret1 = + match ret with + | FStar_Pervasives.Inl t -> + FStar_Pervasives.Inl (subst_term t (shift_subst ss)) + | FStar_Pervasives.Inr c -> + FStar_Pervasives.Inr (subst_comp c (shift_subst ss)) in + let as_1 = + match as_ with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some t -> + FStar_Pervasives_Native.Some (subst_term t (shift_subst ss)) in + (b1, (ret1, as_1, eq)) let (open_with : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = fun t -> fun v -> FStar_Reflection_Typing_Builtins.open_with t v let (open_term : FStar_Reflection_Types.term -> - FStar_Reflection_Data.var -> FStar_Reflection_Types.term) + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term) = fun t -> fun v -> FStar_Reflection_Typing_Builtins.open_term t v let (close_term : FStar_Reflection_Types.term -> - FStar_Reflection_Data.var -> FStar_Reflection_Types.term) + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term) = fun t -> fun v -> FStar_Reflection_Typing_Builtins.close_term t v let (rename : FStar_Reflection_Types.term -> - FStar_Reflection_Data.var -> - FStar_Reflection_Data.var -> FStar_Reflection_Types.term) + FStar_Reflection_V2_Data.var -> + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term) = fun t -> fun x -> fun y -> FStar_Reflection_Typing_Builtins.rename t x y let (constant_as_term : - FStar_Reflection_Data.vconst -> FStar_Reflection_Types.term) = + FStar_Reflection_V2_Data.vconst -> FStar_Reflection_Types.term) = fun v -> - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_Const v) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const v) let (unit_exp : FStar_Reflection_Types.term) = - constant_as_term FStar_Reflection_Data.C_Unit + constant_as_term FStar_Reflection_V2_Data.C_Unit let (unit_fv : FStar_Reflection_Types.fv) = - FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.unit_lid + FStar_Reflection_V2_Builtins.pack_fv FStar_Reflection_Const.unit_lid let (unit_ty : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_FVar unit_fv) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar unit_fv) let (bool_fv : FStar_Reflection_Types.fv) = - FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.bool_lid + FStar_Reflection_V2_Builtins.pack_fv FStar_Reflection_Const.bool_lid let (bool_ty : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_FVar bool_fv) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar bool_fv) let (u_zero : FStar_Reflection_Types.universe) = - FStar_Reflection_Builtins.pack_universe FStar_Reflection_Data.Uv_Zero + FStar_Reflection_V2_Builtins.pack_universe FStar_Reflection_V2_Data.Uv_Zero let (u_max : FStar_Reflection_Types.universe -> FStar_Reflection_Types.universe -> FStar_Reflection_Types.universe) = fun u1 -> fun u2 -> - FStar_Reflection_Builtins.pack_universe - (FStar_Reflection_Data.Uv_Max [u1; u2]) + FStar_Reflection_V2_Builtins.pack_universe + (FStar_Reflection_V2_Data.Uv_Max [u1; u2]) let (u_succ : FStar_Reflection_Types.universe -> FStar_Reflection_Types.universe) = fun u -> - FStar_Reflection_Builtins.pack_universe (FStar_Reflection_Data.Uv_Succ u) + FStar_Reflection_V2_Builtins.pack_universe + (FStar_Reflection_V2_Data.Uv_Succ u) let (tm_type : FStar_Reflection_Types.universe -> FStar_Reflection_Types.term) = fun u -> - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_Type u) + FStar_Reflection_V2_Builtins.pack_ln (FStar_Reflection_V2_Data.Tv_Type u) let (tm_prop : FStar_Reflection_Types.term) = let prop_fv = - FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.prop_qn in - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_FVar prop_fv) + FStar_Reflection_V2_Builtins.pack_fv FStar_Reflection_Const.prop_qn in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar prop_fv) let (eqtype_lid : FStar_Reflection_Types.name) = ["Prims"; "eqtype"] let (true_bool : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const FStar_Reflection_Data.C_True) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_True) let (false_bool : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const FStar_Reflection_Data.C_False) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_False) let (eq2 : FStar_Reflection_Types.universe -> FStar_Reflection_Types.term -> @@ -570,73 +651,77 @@ let (eq2 : fun v0 -> fun v1 -> let eq21 = - FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq2_qn in + FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn in let eq22 = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_UInst (eq21, [u])) in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_UInst (eq21, [u])) in let h = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (eq22, (t, FStar_Reflection_Data.Q_Implicit))) in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (eq22, (t, FStar_Reflection_V2_Data.Q_Implicit))) in let h1 = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (h, (v0, FStar_Reflection_Data.Q_Explicit))) in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (h, (v0, FStar_Reflection_V2_Data.Q_Explicit))) in let h2 = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (h1, (v1, FStar_Reflection_Data.Q_Explicit))) in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (h1, (v1, FStar_Reflection_V2_Data.Q_Explicit))) in h2 let (b2t_lid : FStar_Reflection_Types.name) = ["Prims"; "b2t"] let (b2t_fv : FStar_Reflection_Types.fv) = - FStar_Reflection_Builtins.pack_fv b2t_lid + FStar_Reflection_V2_Builtins.pack_fv b2t_lid let (b2t_ty : FStar_Reflection_Types.term) = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow - ((as_binder Prims.int_zero bool_ty), (mk_total (tm_type u_zero)))) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow + ((mk_binder (FStar_Sealed.seal "x") bool_ty + FStar_Reflection_V2_Data.Q_Explicit), (mk_total (tm_type u_zero)))) let rec (freevars : - FStar_Reflection_Types.term -> FStar_Reflection_Data.var FStar_Set.set) = + FStar_Reflection_Types.term -> FStar_Reflection_V2_Data.var FStar_Set.set) + = fun e -> - match FStar_Reflection_Builtins.inspect_ln e with - | FStar_Reflection_Data.Tv_Uvar (uu___, uu___1) -> + match FStar_Reflection_V2_Builtins.inspect_ln e with + | FStar_Reflection_V2_Data.Tv_Uvar (uu___, uu___1) -> FStar_Set.complement (FStar_Set.empty ()) - | FStar_Reflection_Data.Tv_UInst (uu___, uu___1) -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_FVar uu___ -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_Type uu___ -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_Const uu___ -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_Unknown -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_Unsupp -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_BVar uu___ -> FStar_Set.empty () - | FStar_Reflection_Data.Tv_Var x -> FStar_Set.singleton (bv_index x) - | FStar_Reflection_Data.Tv_App (e1, (e2, uu___)) -> + | FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1) -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_FVar uu___ -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_Type uu___ -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_Const uu___ -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_Unknown -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_Unsupp -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_BVar uu___ -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Tv_Var x -> + FStar_Set.singleton (namedv_uniq x) + | FStar_Reflection_V2_Data.Tv_App (e1, (e2, uu___)) -> FStar_Set.union (freevars e1) (freevars e2) - | FStar_Reflection_Data.Tv_Abs (b, body) -> + | FStar_Reflection_V2_Data.Tv_Abs (b, body) -> FStar_Set.union (freevars_binder b) (freevars body) - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> FStar_Set.union (freevars_binder b) (freevars_comp c) - | FStar_Reflection_Data.Tv_Refine (bv, sort, f) -> - FStar_Set.union (freevars sort) (freevars f) - | FStar_Reflection_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> + | FStar_Reflection_V2_Data.Tv_Refine (b, f) -> + FStar_Set.union (freevars (binder_sort b)) (freevars f) + | FStar_Reflection_V2_Data.Tv_Let (recf, attrs, b, def, body) -> FStar_Set.union (FStar_Set.union - (FStar_Set.union (freevars_terms attrs) (freevars ty)) - (freevars def)) (freevars body) - | FStar_Reflection_Data.Tv_Match (scr, ret, brs) -> + (FStar_Set.union (freevars_terms attrs) + (freevars (binder_sort b))) (freevars def)) (freevars body) + | FStar_Reflection_V2_Data.Tv_Match (scr, ret, brs) -> FStar_Set.union (FStar_Set.union (freevars scr) (freevars_opt ret freevars_match_returns)) (freevars_branches brs) - | FStar_Reflection_Data.Tv_AscribedT (e1, t, tac, b) -> + | FStar_Reflection_V2_Data.Tv_AscribedT (e1, t, tac, b) -> FStar_Set.union (FStar_Set.union (freevars e1) (freevars t)) (freevars_opt tac freevars) - | FStar_Reflection_Data.Tv_AscribedC (e1, c, tac, b) -> + | FStar_Reflection_V2_Data.Tv_AscribedC (e1, c, tac, b) -> FStar_Set.union (FStar_Set.union (freevars e1) (freevars_comp c)) (freevars_opt tac freevars) and freevars_opt : 'a . 'a FStar_Pervasives_Native.option -> - ('a -> FStar_Reflection_Data.var FStar_Set.set) -> - FStar_Reflection_Data.var FStar_Set.set + ('a -> FStar_Reflection_V2_Data.var FStar_Set.set) -> + FStar_Reflection_V2_Data.var FStar_Set.set = fun o -> fun f -> @@ -644,20 +729,21 @@ and freevars_opt : | FStar_Pervasives_Native.None -> FStar_Set.empty () | FStar_Pervasives_Native.Some x -> f x and (freevars_comp : - FStar_Reflection_Types.comp -> FStar_Reflection_Data.var FStar_Set.set) = + FStar_Reflection_Types.comp -> FStar_Reflection_V2_Data.var FStar_Set.set) + = fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> freevars t - | FStar_Reflection_Data.C_GTotal t -> freevars t - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + match FStar_Reflection_V2_Builtins.inspect_comp c with + | FStar_Reflection_V2_Data.C_Total t -> freevars t + | FStar_Reflection_V2_Data.C_GTotal t -> freevars t + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> FStar_Set.union (FStar_Set.union (freevars pre) (freevars post)) (freevars pats) - | FStar_Reflection_Data.C_Eff (us, eff_name, res, args, decrs) -> + | FStar_Reflection_V2_Data.C_Eff (us, eff_name, res, args, decrs) -> FStar_Set.union (FStar_Set.union (freevars res) (freevars_args args)) (freevars_terms decrs) and (freevars_args : - FStar_Reflection_Data.argv Prims.list -> - FStar_Reflection_Data.var FStar_Set.set) + FStar_Reflection_V2_Data.argv Prims.list -> + FStar_Reflection_V2_Data.var FStar_Set.set) = fun ts -> match ts with @@ -665,29 +751,34 @@ and (freevars_args : | (t, q)::ts1 -> FStar_Set.union (freevars t) (freevars_args ts1) and (freevars_terms : FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Data.var FStar_Set.set) + FStar_Reflection_V2_Data.var FStar_Set.set) = fun ts -> match ts with | [] -> FStar_Set.empty () | t::ts1 -> FStar_Set.union (freevars t) (freevars_terms ts1) and (freevars_binder : - FStar_Reflection_Types.binder -> FStar_Reflection_Data.var FStar_Set.set) = + FStar_Reflection_Types.binder -> FStar_Reflection_V2_Data.var FStar_Set.set) + = fun b -> - let bndr = FStar_Reflection_Builtins.inspect_binder b in - FStar_Set.union (freevars bndr.FStar_Reflection_Data.binder_sort) - (freevars_terms bndr.FStar_Reflection_Data.binder_attrs) + let bndr = FStar_Reflection_V2_Builtins.inspect_binder b in + FStar_Set.union (freevars bndr.FStar_Reflection_V2_Data.sort2) + (freevars_terms bndr.FStar_Reflection_V2_Data.attrs) and (freevars_pattern : - FStar_Reflection_Data.pattern -> FStar_Reflection_Data.var FStar_Set.set) = + FStar_Reflection_V2_Data.pattern -> + FStar_Reflection_V2_Data.var FStar_Set.set) + = fun p -> match p with - | FStar_Reflection_Data.Pat_Constant uu___ -> FStar_Set.empty () - | FStar_Reflection_Data.Pat_Cons (fv, us, pats) -> freevars_patterns pats - | FStar_Reflection_Data.Pat_Var (bv, uu___) -> FStar_Set.empty () - | FStar_Reflection_Data.Pat_Dot_Term topt -> freevars_opt topt freevars + | FStar_Reflection_V2_Data.Pat_Constant uu___ -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + freevars_patterns subpats + | FStar_Reflection_V2_Data.Pat_Var (bv, s) -> FStar_Set.empty () + | FStar_Reflection_V2_Data.Pat_Dot_Term topt -> + freevars_opt topt freevars and (freevars_patterns : - (FStar_Reflection_Data.pattern * Prims.bool) Prims.list -> - FStar_Reflection_Data.var FStar_Set.set) + (FStar_Reflection_V2_Data.pattern * Prims.bool) Prims.list -> + FStar_Reflection_V2_Data.var FStar_Set.set) = fun ps -> match ps with @@ -695,14 +786,16 @@ and (freevars_patterns : | (p, b)::ps1 -> FStar_Set.union (freevars_pattern p) (freevars_patterns ps1) and (freevars_branch : - FStar_Reflection_Data.branch -> FStar_Reflection_Data.var FStar_Set.set) = + FStar_Reflection_V2_Data.branch -> + FStar_Reflection_V2_Data.var FStar_Set.set) + = fun br -> let uu___ = br in match uu___ with | (p, t) -> FStar_Set.union (freevars_pattern p) (freevars t) and (freevars_branches : - FStar_Reflection_Data.branch Prims.list -> - FStar_Reflection_Data.var FStar_Set.set) + FStar_Reflection_V2_Data.branch Prims.list -> + FStar_Reflection_V2_Data.var FStar_Set.set) = fun brs -> match brs with @@ -710,7 +803,7 @@ and (freevars_branches : | hd::tl -> FStar_Set.union (freevars_branch hd) (freevars_branches tl) and (freevars_match_returns : FStar_Reflection_Types.match_returns_ascription -> - FStar_Reflection_Data.var FStar_Set.set) + FStar_Reflection_V2_Data.var FStar_Set.set) = fun m -> let uu___ = m in @@ -726,40 +819,40 @@ and (freevars_match_returns : let rec (ln' : FStar_Reflection_Types.term -> Prims.int -> Prims.bool) = fun e -> fun n -> - match FStar_Reflection_Builtins.inspect_ln e with - | FStar_Reflection_Data.Tv_UInst (uu___, uu___1) -> true - | FStar_Reflection_Data.Tv_FVar uu___ -> true - | FStar_Reflection_Data.Tv_Type uu___ -> true - | FStar_Reflection_Data.Tv_Const uu___ -> true - | FStar_Reflection_Data.Tv_Unknown -> true - | FStar_Reflection_Data.Tv_Unsupp -> true - | FStar_Reflection_Data.Tv_Var uu___ -> true - | FStar_Reflection_Data.Tv_BVar m -> (bv_index m) <= n - | FStar_Reflection_Data.Tv_App (e1, (e2, uu___)) -> + match FStar_Reflection_V2_Builtins.inspect_ln e with + | FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1) -> true + | FStar_Reflection_V2_Data.Tv_FVar uu___ -> true + | FStar_Reflection_V2_Data.Tv_Type uu___ -> true + | FStar_Reflection_V2_Data.Tv_Const uu___ -> true + | FStar_Reflection_V2_Data.Tv_Unknown -> true + | FStar_Reflection_V2_Data.Tv_Unsupp -> true + | FStar_Reflection_V2_Data.Tv_Var uu___ -> true + | FStar_Reflection_V2_Data.Tv_BVar m -> (bv_index m) <= n + | FStar_Reflection_V2_Data.Tv_App (e1, (e2, uu___)) -> (ln' e1 n) && (ln' e2 n) - | FStar_Reflection_Data.Tv_Abs (b, body) -> + | FStar_Reflection_V2_Data.Tv_Abs (b, body) -> (ln'_binder b n) && (ln' body (n + Prims.int_one)) - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> (ln'_binder b n) && (ln'_comp c (n + Prims.int_one)) - | FStar_Reflection_Data.Tv_Refine (bv, sort, f) -> - (ln' sort n) && (ln' f (n + Prims.int_one)) - | FStar_Reflection_Data.Tv_Uvar (uu___, uu___1) -> false - | FStar_Reflection_Data.Tv_Let (recf, attrs, bv, ty, def, body) -> - (((ln'_terms attrs n) && (ln' ty n)) && + | FStar_Reflection_V2_Data.Tv_Refine (b, f) -> + (ln'_binder b n) && (ln' f (n + Prims.int_one)) + | FStar_Reflection_V2_Data.Tv_Uvar (uu___, uu___1) -> false + | FStar_Reflection_V2_Data.Tv_Let (recf, attrs, b, def, body) -> + (((ln'_terms attrs n) && (ln'_binder b n)) && (if recf then ln' def (n + Prims.int_one) else ln' def n)) && (ln' body (n + Prims.int_one)) - | FStar_Reflection_Data.Tv_Match (scr, ret, brs) -> + | FStar_Reflection_V2_Data.Tv_Match (scr, ret, brs) -> ((ln' scr n) && (match ret with | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some m -> ln'_match_returns m n)) && (ln'_branches brs n) - | FStar_Reflection_Data.Tv_AscribedT (e1, t, tac, b) -> + | FStar_Reflection_V2_Data.Tv_AscribedT (e1, t, tac, b) -> ((ln' e1 n) && (ln' t n)) && ((match tac with | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some tac1 -> ln' tac1 n)) - | FStar_Reflection_Data.Tv_AscribedC (e1, c, tac, b) -> + | FStar_Reflection_V2_Data.Tv_AscribedC (e1, c, tac, b) -> ((ln' e1 n) && (ln'_comp c n)) && ((match tac with | FStar_Pervasives_Native.None -> true @@ -767,15 +860,15 @@ let rec (ln' : FStar_Reflection_Types.term -> Prims.int -> Prims.bool) = and (ln'_comp : FStar_Reflection_Types.comp -> Prims.int -> Prims.bool) = fun c -> fun i -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> ln' t i - | FStar_Reflection_Data.C_GTotal t -> ln' t i - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + match FStar_Reflection_V2_Builtins.inspect_comp c with + | FStar_Reflection_V2_Data.C_Total t -> ln' t i + | FStar_Reflection_V2_Data.C_GTotal t -> ln' t i + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> ((ln' pre i) && (ln' post i)) && (ln' pats i) - | FStar_Reflection_Data.C_Eff (us, eff_name, res, args, decrs) -> + | FStar_Reflection_V2_Data.C_Eff (us, eff_name, res, args, decrs) -> ((ln' res i) && (ln'_args args i)) && (ln'_terms decrs i) and (ln'_args : - FStar_Reflection_Data.argv Prims.list -> Prims.int -> Prims.bool) = + FStar_Reflection_V2_Data.argv Prims.list -> Prims.int -> Prims.bool) = fun ts -> fun i -> match ts with @@ -784,16 +877,16 @@ and (ln'_args : and (ln'_binder : FStar_Reflection_Types.binder -> Prims.int -> Prims.bool) = fun b -> fun n -> - let bndr = FStar_Reflection_Builtins.inspect_binder b in - (ln' bndr.FStar_Reflection_Data.binder_sort n) && - (ln'_terms bndr.FStar_Reflection_Data.binder_attrs n) + let bndr = FStar_Reflection_V2_Builtins.inspect_binder b in + (ln' bndr.FStar_Reflection_V2_Data.sort2 n) && + (ln'_terms bndr.FStar_Reflection_V2_Data.attrs n) and (ln'_terms : FStar_Reflection_Types.term Prims.list -> Prims.int -> Prims.bool) = fun ts -> fun n -> match ts with | [] -> true | t::ts1 -> (ln' t n) && (ln'_terms ts1 n) and (ln'_patterns : - (FStar_Reflection_Data.pattern * Prims.bool) Prims.list -> + (FStar_Reflection_V2_Data.pattern * Prims.bool) Prims.list -> Prims.int -> Prims.bool) = fun ps -> @@ -804,19 +897,21 @@ and (ln'_patterns : let b0 = ln'_pattern p i in let n = binder_offset_pattern p in let b1 = ln'_patterns ps1 (i + n) in b0 && b1 -and (ln'_pattern : FStar_Reflection_Data.pattern -> Prims.int -> Prims.bool) - = +and (ln'_pattern : + FStar_Reflection_V2_Data.pattern -> Prims.int -> Prims.bool) = fun p -> fun i -> match p with - | FStar_Reflection_Data.Pat_Constant uu___ -> true - | FStar_Reflection_Data.Pat_Cons (fv, us, pats) -> ln'_patterns pats i - | FStar_Reflection_Data.Pat_Var (bv, uu___) -> true - | FStar_Reflection_Data.Pat_Dot_Term topt -> + | FStar_Reflection_V2_Data.Pat_Constant uu___ -> true + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + ln'_patterns subpats i + | FStar_Reflection_V2_Data.Pat_Var (bv, s) -> true + | FStar_Reflection_V2_Data.Pat_Dot_Term topt -> (match topt with | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some t -> ln' t i) -and (ln'_branch : FStar_Reflection_Data.branch -> Prims.int -> Prims.bool) = +and (ln'_branch : FStar_Reflection_V2_Data.branch -> Prims.int -> Prims.bool) + = fun br -> fun i -> let uu___ = br in @@ -826,7 +921,7 @@ and (ln'_branch : FStar_Reflection_Data.branch -> Prims.int -> Prims.bool) = let j = binder_offset_pattern p in let b' = ln' t (i + j) in b && b' and (ln'_branches : - FStar_Reflection_Data.branch Prims.list -> Prims.int -> Prims.bool) = + FStar_Reflection_V2_Data.branch Prims.list -> Prims.int -> Prims.bool) = fun brs -> fun i -> match brs with @@ -856,9 +951,9 @@ let (ln_comp : FStar_Reflection_Types.comp -> Prims.bool) = fun c -> ln'_comp c (Prims.of_int (-1)) type term_ctxt = | Ctxt_hole - | Ctxt_app_head of term_ctxt * FStar_Reflection_Data.argv + | Ctxt_app_head of term_ctxt * FStar_Reflection_V2_Data.argv | Ctxt_app_arg of FStar_Reflection_Types.term * - FStar_Reflection_Data.aqualv * term_ctxt + FStar_Reflection_V2_Data.aqualv * term_ctxt let uu___is_Ctxt_hole uu___ = match uu___ with | Ctxt_hole _ -> true | _ -> false let uu___is_Ctxt_app_head uu___ = @@ -872,17 +967,18 @@ let rec (apply_term_ctxt : match e with | Ctxt_hole -> t | Ctxt_app_head (e1, arg) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App ((apply_term_ctxt e1 t), arg)) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App ((apply_term_ctxt e1 t), arg)) | Ctxt_app_arg (hd, q, e1) -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App (hd, ((apply_term_ctxt e1 t), q))) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (hd, ((apply_term_ctxt e1 t), q))) type ('dummyV0, 'dummyV1) constant_typing = | CT_Unit | CT_True | CT_False let (uu___is_CT_Unit : - FStar_Reflection_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> FStar_Reflection_Types.term -> (unit, unit) constant_typing -> Prims.bool) = fun uu___ -> @@ -890,7 +986,7 @@ let (uu___is_CT_Unit : fun projectee -> match projectee with | CT_Unit -> true | uu___2 -> false let (uu___is_CT_True : - FStar_Reflection_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> FStar_Reflection_Types.term -> (unit, unit) constant_typing -> Prims.bool) = fun uu___ -> @@ -898,7 +994,7 @@ let (uu___is_CT_True : fun projectee -> match projectee with | CT_True -> true | uu___2 -> false let (uu___is_CT_False : - FStar_Reflection_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> FStar_Reflection_Types.term -> (unit, unit) constant_typing -> Prims.bool) = fun uu___ -> @@ -947,18 +1043,18 @@ let (mk_if : fun scrutinee -> fun then_ -> fun else_ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Match + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Match (scrutinee, FStar_Pervasives_Native.None, - [((FStar_Reflection_Data.Pat_Constant - FStar_Reflection_Data.C_True), then_); - ((FStar_Reflection_Data.Pat_Constant - FStar_Reflection_Data.C_False), else_)])) + [((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_True), then_); + ((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_False), else_)])) type comp_typ = (FStar_Tactics_Types.tot_or_ghost * FStar_Reflection_Types.typ) let (close_comp_typ' : comp_typ -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> Prims.nat -> (FStar_Tactics_Types.tot_or_ghost * FStar_Reflection_Types.term)) = @@ -966,15 +1062,15 @@ let (close_comp_typ' : fun x -> fun i -> ((FStar_Pervasives_Native.fst c), - (open_or_close_term' (FStar_Pervasives_Native.snd c) (CloseVar x) i)) + (subst_term (FStar_Pervasives_Native.snd c) [ND (x, i)])) let (close_comp_typ : comp_typ -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> (FStar_Tactics_Types.tot_or_ghost * FStar_Reflection_Types.term)) = fun c -> fun x -> close_comp_typ' c x Prims.int_zero let (open_comp_typ' : comp_typ -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> Prims.nat -> (FStar_Tactics_Types.tot_or_ghost * FStar_Reflection_Types.term)) = @@ -982,15 +1078,15 @@ let (open_comp_typ' : fun x -> fun i -> ((FStar_Pervasives_Native.fst c), - (open_or_close_term' (FStar_Pervasives_Native.snd c) - (open_with_var x) i)) + (subst_term (FStar_Pervasives_Native.snd c) (open_with_var x i))) let (open_comp_typ : comp_typ -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> (FStar_Tactics_Types.tot_or_ghost * FStar_Reflection_Types.term)) = fun c -> fun x -> open_comp_typ' c x Prims.int_zero -let (freevars_comp_typ : comp_typ -> FStar_Reflection_Data.var FStar_Set.set) - = fun c -> freevars (FStar_Pervasives_Native.snd c) +let (freevars_comp_typ : + comp_typ -> FStar_Reflection_V2_Data.var FStar_Set.set) = + fun c -> freevars (FStar_Pervasives_Native.snd c) let (mk_comp : comp_typ -> FStar_Reflection_Types.comp) = fun c -> match FStar_Pervasives_Native.fst c with @@ -998,13 +1094,14 @@ let (mk_comp : comp_typ -> FStar_Reflection_Types.comp) = | FStar_Tactics_Types.E_Ghost -> mk_ghost (FStar_Pervasives_Native.snd c) let (mk_arrow_ct : FStar_Reflection_Types.term -> - FStar_Reflection_Data.aqualv -> comp_typ -> FStar_Reflection_Types.term) + FStar_Reflection_V2_Data.aqualv -> + comp_typ -> FStar_Reflection_Types.term) = fun ty -> fun qual -> fun c -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow ((binder_of_t_q ty qual), (mk_comp c))) type relation = | R_Eq @@ -1013,25 +1110,91 @@ let (uu___is_R_Eq : relation -> Prims.bool) = fun projectee -> match projectee with | R_Eq -> true | uu___ -> false let (uu___is_R_Sub : relation -> Prims.bool) = fun projectee -> match projectee with | R_Sub -> true | uu___ -> false +type binding = (FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term) +type bindings = binding Prims.list +let rename_bindings : + 'uuuuu . + ('uuuuu * FStar_Reflection_Types.term) Prims.list -> + FStar_Reflection_V2_Data.var -> + FStar_Reflection_V2_Data.var -> + ('uuuuu * FStar_Reflection_Types.term) Prims.list + = + fun bs -> + fun x -> + fun y -> + FStar_List_Tot_Base.map + (fun uu___ -> match uu___ with | (v, t) -> (v, (rename t x y))) bs +let rec (extend_env_l : + FStar_Reflection_Types.env -> bindings -> FStar_Reflection_Types.env) = + fun g -> + fun bs -> + match bs with + | [] -> g + | (x, t)::bs1 -> extend_env (extend_env_l g bs1) x t let (is_non_informative_name : FStar_Reflection_Types.name -> Prims.bool) = fun l -> ((l = FStar_Reflection_Const.unit_lid) || (l = FStar_Reflection_Const.squash_qn)) || (l = ["FStar"; "Ghost"; "erased"]) let (is_non_informative_fv : FStar_Reflection_Types.fv -> Prims.bool) = - fun f -> is_non_informative_name (FStar_Reflection_Builtins.inspect_fv f) + fun f -> + is_non_informative_name (FStar_Reflection_V2_Builtins.inspect_fv f) +let rec (__close_term_vs : + Prims.nat -> + FStar_Reflection_V2_Data.var Prims.list -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun i -> + fun vs -> + fun t -> + match vs with + | [] -> t + | v::vs1 -> + subst_term (__close_term_vs (i + Prims.int_one) vs1 t) + [ND (v, i)] +let (close_term_vs : + FStar_Reflection_V2_Data.var Prims.list -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = fun vs -> fun t -> __close_term_vs Prims.int_zero vs t +let (close_term_bs : + binding Prims.list -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun bs -> + fun t -> + close_term_vs (FStar_List_Tot_Base.map FStar_Pervasives_Native.fst bs) + t +let (bindings_to_refl_bindings : + binding Prims.list -> FStar_Reflection_V2_Data.binding Prims.list) = + fun bs -> + FStar_List_Tot_Base.map + (fun uu___ -> + match uu___ with + | (v, ty) -> + { + FStar_Reflection_V2_Data.uniq1 = v; + FStar_Reflection_V2_Data.sort3 = ty; + FStar_Reflection_V2_Data.ppname3 = pp_name_default + }) bs +let (refl_bindings_to_bindings : + FStar_Reflection_V2_Data.binding Prims.list -> binding Prims.list) = + fun bs -> + FStar_List_Tot_Base.map + (fun b -> + ((b.FStar_Reflection_V2_Data.uniq1), + (b.FStar_Reflection_V2_Data.sort3))) bs type 'dummyV0 non_informative = | Non_informative_type of FStar_Reflection_Types.universe | Non_informative_fv of FStar_Reflection_Types.fv | Non_informative_uinst of FStar_Reflection_Types.fv * FStar_Reflection_Types.universe Prims.list | Non_informative_app of FStar_Reflection_Types.term * - FStar_Reflection_Data.argv * unit non_informative + FStar_Reflection_V2_Data.argv * unit non_informative | Non_informative_total_arrow of FStar_Reflection_Types.term * - FStar_Reflection_Data.aqualv * FStar_Reflection_Types.term * unit + FStar_Reflection_V2_Data.aqualv * FStar_Reflection_Types.term * unit non_informative | Non_informative_ghost_arrow of FStar_Reflection_Types.term * - FStar_Reflection_Data.aqualv * FStar_Reflection_Types.term + FStar_Reflection_V2_Data.aqualv * FStar_Reflection_Types.term let uu___is_Non_informative_type uu___ uu___1 = match uu___1 with | Non_informative_type _ -> true | _ -> false let uu___is_Non_informative_fv uu___ uu___1 = @@ -1044,36 +1207,104 @@ let uu___is_Non_informative_total_arrow uu___ uu___1 = match uu___1 with | Non_informative_total_arrow _ -> true | _ -> false let uu___is_Non_informative_ghost_arrow uu___ uu___1 = match uu___1 with | Non_informative_ghost_arrow _ -> true | _ -> false +type ('bnds, 'pat, 'uuuuu) bindings_ok_for_pat = Obj.t +type ('g, 'bs, 'br) bindings_ok_for_branch = Obj.t +type ('g, 'bss, 'brs) bindings_ok_for_branch_N = Obj.t +let (binding_to_namedv : + FStar_Reflection_V2_Data.binding -> FStar_Reflection_Types.namedv) = + fun b -> + FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = (b.FStar_Reflection_V2_Data.uniq1); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal b.FStar_Reflection_V2_Data.sort3); + FStar_Reflection_V2_Data.ppname = + (b.FStar_Reflection_V2_Data.ppname3) + } +let rec (elaborate_pat : + FStar_Reflection_V2_Data.pattern -> + FStar_Reflection_V2_Data.binding Prims.list -> + (FStar_Reflection_Types.term * FStar_Reflection_V2_Data.binding + Prims.list) FStar_Pervasives_Native.option) + = + fun p -> + fun bs -> + match (p, bs) with + | (FStar_Reflection_V2_Data.Pat_Constant c, uu___) -> + FStar_Pervasives_Native.Some + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const c)), bs) + | (FStar_Reflection_V2_Data.Pat_Cons (fv, univs, subpats), bs1) -> + let head = + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar fv) in + fold_left_dec (FStar_Pervasives_Native.Some (head, bs1)) subpats + (fun st -> + fun pi -> + let uu___ = pi in + match uu___ with + | (p1, i) -> + (match st with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (head1, bs2) -> + (match elaborate_pat p1 bs2 with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (t, bs') -> + FStar_Pervasives_Native.Some + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (head1, + (t, + (if i + then + FStar_Reflection_V2_Data.Q_Implicit + else + FStar_Reflection_V2_Data.Q_Explicit))))), + bs')))) + | (FStar_Reflection_V2_Data.Pat_Var (uu___, uu___1), b::bs1) -> + FStar_Pervasives_Native.Some + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Var (binding_to_namedv b))), + bs1) + | (FStar_Reflection_V2_Data.Pat_Dot_Term (FStar_Pervasives_Native.Some + t), uu___) -> FStar_Pervasives_Native.Some (t, bs) + | (FStar_Reflection_V2_Data.Pat_Dot_Term + (FStar_Pervasives_Native.None), uu___) -> + FStar_Pervasives_Native.None + | uu___ -> FStar_Pervasives_Native.None type ('dummyV0, 'dummyV1, 'dummyV2) typing = | T_Token of FStar_Reflection_Types.env * FStar_Reflection_Types.term * comp_typ * unit - | T_Var of FStar_Reflection_Types.env * FStar_Reflection_Types.bv + | T_Var of FStar_Reflection_Types.env * FStar_Reflection_Types.namedv | T_FVar of FStar_Reflection_Types.env * FStar_Reflection_Types.fv | T_UInst of FStar_Reflection_Types.env * FStar_Reflection_Types.fv * FStar_Reflection_Types.universe Prims.list - | T_Const of FStar_Reflection_Types.env * FStar_Reflection_Data.vconst * + | T_Const of FStar_Reflection_Types.env * FStar_Reflection_V2_Data.vconst * FStar_Reflection_Types.term * (unit, unit) constant_typing - | T_Abs of FStar_Reflection_Types.env * FStar_Reflection_Data.var * + | T_Abs of FStar_Reflection_Types.env * FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term * FStar_Reflection_Types.term * comp_typ * - FStar_Reflection_Types.universe * pp_name_t * FStar_Reflection_Data.aqualv - * FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * (unit, - unit, unit) typing + FStar_Reflection_Types.universe * pp_name_t * + FStar_Reflection_V2_Data.aqualv * FStar_Tactics_Types.tot_or_ghost * ( + unit, unit, unit) typing * (unit, unit, unit) typing | T_App of FStar_Reflection_Types.env * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.binder * FStar_Reflection_Types.term * FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * (unit, unit, unit) typing - | T_Let of FStar_Reflection_Types.env * FStar_Reflection_Data.var * + | T_Let of FStar_Reflection_Types.env * FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term * FStar_Reflection_Types.typ * FStar_Reflection_Types.term * FStar_Reflection_Types.typ * FStar_Tactics_Types.tot_or_ghost * pp_name_t * (unit, unit, unit) typing * (unit, unit, unit) typing - | T_Arrow of FStar_Reflection_Types.env * FStar_Reflection_Data.var * + | T_Arrow of FStar_Reflection_Types.env * FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.universe * FStar_Reflection_Types.universe * - pp_name_t * FStar_Reflection_Data.aqualv * FStar_Tactics_Types.tot_or_ghost - * FStar_Tactics_Types.tot_or_ghost * FStar_Tactics_Types.tot_or_ghost * - (unit, unit, unit) typing * (unit, unit, unit) typing - | T_Refine of FStar_Reflection_Types.env * FStar_Reflection_Data.var * + pp_name_t * FStar_Reflection_V2_Data.aqualv * + FStar_Tactics_Types.tot_or_ghost * FStar_Tactics_Types.tot_or_ghost * + FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * (unit, + unit, unit) typing + | T_Refine of FStar_Reflection_Types.env * FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.universe * FStar_Reflection_Types.universe * FStar_Tactics_Types.tot_or_ghost * FStar_Tactics_Types.tot_or_ghost * @@ -1088,23 +1319,32 @@ type ('dummyV0, 'dummyV1, 'dummyV2) typing = | T_If of FStar_Reflection_Types.env * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.term * FStar_Reflection_Types.universe * - FStar_Reflection_Data.var * FStar_Tactics_Types.tot_or_ghost * + FStar_Reflection_V2_Data.var * FStar_Tactics_Types.tot_or_ghost * FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * (unit, - unit, unit) typing * (unit, unit, unit) typing * (unit, unit, unit) typing + unit, unit) typing * (unit, unit, unit) typing * (unit, unit, unit) typing + + | T_Match of FStar_Reflection_Types.env * FStar_Reflection_Types.universe * + FStar_Reflection_Types.typ * FStar_Reflection_Types.term * + FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * + FStar_Tactics_Types.tot_or_ghost * (unit, unit, unit) typing * + FStar_Reflection_V2_Data.branch Prims.list * comp_typ * + FStar_Reflection_V2_Data.binding Prims.list Prims.list * (unit, unit, + unit, unit, unit) match_is_complete * (unit, unit, unit, unit, unit, + unit, unit) branches_typing and ('dummyV0, 'dummyV1, 'dummyV2, 'dummyV3) related = | Rel_equiv of FStar_Reflection_Types.env * FStar_Reflection_Types.term * FStar_Reflection_Types.term * relation * (unit, unit, unit) equiv | Rel_subtyping_token of FStar_Reflection_Types.env * FStar_Reflection_Types.term * FStar_Reflection_Types.term * unit | Rel_arrow of FStar_Reflection_Types.env * FStar_Reflection_Types.term * - FStar_Reflection_Types.term * FStar_Reflection_Data.aqualv * comp_typ * - comp_typ * relation * FStar_Reflection_Data.var * (unit, unit, unit, + FStar_Reflection_Types.term * FStar_Reflection_V2_Data.aqualv * comp_typ * + comp_typ * relation * FStar_Reflection_V2_Data.var * (unit, unit, unit, unit) related * (unit, unit, unit, unit) related_comp | Rel_abs of FStar_Reflection_Types.env * FStar_Reflection_Types.term * - FStar_Reflection_Types.term * FStar_Reflection_Data.aqualv * + FStar_Reflection_Types.term * FStar_Reflection_V2_Data.aqualv * FStar_Reflection_Types.term * FStar_Reflection_Types.term * - FStar_Reflection_Data.var * (unit, unit, unit, unit) related * (unit, - unit, unit, unit) related + FStar_Reflection_V2_Data.var * (unit, unit, unit, unit) related * ( + unit, unit, unit, unit) related and ('dummyV0, 'dummyV1, 'dummyV2) equiv = | EQ_Refl of FStar_Reflection_Types.env * FStar_Reflection_Types.term | EQ_Sym of FStar_Reflection_Types.env * FStar_Reflection_Types.term * @@ -1115,7 +1355,7 @@ and ('dummyV0, 'dummyV1, 'dummyV2) equiv = | EQ_Univ of FStar_Reflection_Types.env * FStar_Reflection_Types.universe * FStar_Reflection_Types.universe * (unit, unit) univ_eq | EQ_Beta of FStar_Reflection_Types.env * FStar_Reflection_Types.typ * - FStar_Reflection_Data.aqualv * FStar_Reflection_Types.term * + FStar_Reflection_V2_Data.aqualv * FStar_Reflection_Types.term * FStar_Reflection_Types.term | EQ_Token of FStar_Reflection_Types.env * FStar_Reflection_Types.term * FStar_Reflection_Types.term * unit @@ -1129,6 +1369,21 @@ and ('dummyV0, 'dummyV1, 'dummyV2, 'dummyV3) related_comp = FStar_Reflection_Types.term | Relc_ghost_total of FStar_Reflection_Types.env * FStar_Reflection_Types.term * unit non_informative +and ('g, 'scuu, 'scuty, 'sc, 'rty, 'dummyV0, 'dummyV1) branches_typing = + | BT_Nil + | BT_S of FStar_Reflection_V2_Data.branch * + FStar_Reflection_V2_Data.binding Prims.list * (unit, unit, unit, unit, + unit, unit, unit) branch_typing * FStar_Reflection_V2_Data.branch + Prims.list * FStar_Reflection_V2_Data.binding Prims.list Prims.list * + (unit, unit, unit, unit, unit, unit, unit) branches_typing +and ('g, 'scuu, 'scuty, 'sc, 'rty, 'dummyV0, 'dummyV1) branch_typing = + | BO of FStar_Reflection_V2_Data.pattern * FStar_Reflection_V2_Data.binding + Prims.list * FStar_Reflection_V2_Data.var * FStar_Reflection_Types.term * + unit * (unit, unit, unit) typing +and ('dummyV0, 'dummyV1, 'dummyV2, 'dummyV3, 'dummyV4) match_is_complete = + | MC_Tok of FStar_Reflection_Types.env * FStar_Reflection_Types.term * + FStar_Reflection_Types.typ * FStar_Reflection_V2_Data.pattern Prims.list * + FStar_Reflection_V2_Data.binding Prims.list Prims.list * unit let uu___is_T_Token uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Token _ -> true | _ -> false let uu___is_T_Var uu___2 uu___1 uu___ uu___3 = @@ -1155,6 +1410,8 @@ let uu___is_T_Sub uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_Sub _ -> true | _ -> false let uu___is_T_If uu___2 uu___1 uu___ uu___3 = match uu___3 with | T_If _ -> true | _ -> false +let uu___is_T_Match uu___2 uu___1 uu___ uu___3 = + match uu___3 with | T_Match _ -> true | _ -> false let uu___is_Rel_equiv uu___3 uu___2 uu___1 uu___ uu___4 = match uu___4 with | Rel_equiv _ -> true | _ -> false let uu___is_Rel_subtyping_token uu___3 uu___2 uu___1 uu___ uu___4 = @@ -1183,43 +1440,29 @@ let uu___is_Relc_total_ghost uu___3 uu___2 uu___1 uu___ uu___4 = match uu___4 with | Relc_total_ghost _ -> true | _ -> false let uu___is_Relc_ghost_total uu___3 uu___2 uu___1 uu___ uu___4 = match uu___4 with | Relc_ghost_total _ -> true | _ -> false +let uu___is_BT_Nil uu___6 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___7 = + match uu___7 with | BT_Nil _ -> true | _ -> false +let uu___is_BT_S uu___6 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___7 = + match uu___7 with | BT_S _ -> true | _ -> false +let uu___is_BO uu___6 uu___5 uu___4 uu___3 uu___2 uu___1 uu___ uu___7 = + match uu___7 with | BO _ -> true | _ -> false +let uu___is_MC_Tok uu___4 uu___3 uu___2 uu___1 uu___ uu___5 = + match uu___5 with | MC_Tok _ -> true | _ -> false type ('g, 't1, 't2) sub_typing = (unit, unit, unit, unit) related type ('g, 'c1, 'c2) sub_comp = (unit, unit, unit, unit) related_comp type ('g, 'e, 't) tot_typing = (unit, unit, unit) typing type ('g, 'e, 't) ghost_typing = (unit, unit, unit) typing -type bindings = - (FStar_Reflection_Data.var * FStar_Reflection_Types.term) Prims.list -let rename_bindings : - 'uuuuu . - ('uuuuu * FStar_Reflection_Types.term) Prims.list -> - FStar_Reflection_Data.var -> - FStar_Reflection_Data.var -> - ('uuuuu * FStar_Reflection_Types.term) Prims.list - = - fun bs -> - fun x -> - fun y -> - FStar_List_Tot_Base.map - (fun uu___ -> match uu___ with | (v, t) -> (v, (rename t x y))) bs -let rec (extend_env_l : - FStar_Reflection_Types.env -> bindings -> FStar_Reflection_Types.env) = - fun g -> - fun bs -> - match bs with - | [] -> g - | (x, t)::bs1 -> extend_env (extend_env_l g bs1) x t let (subtyping_token_renaming : FStar_Reflection_Types.env -> bindings -> bindings -> - FStar_Reflection_Data.var -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> - (unit, unit, unit) FStar_Tactics_Builtins.subtyping_token - -> - (unit, unit, unit) FStar_Tactics_Builtins.subtyping_token) + (unit, unit, unit) FStar_Tactics_Types.subtyping_token -> + (unit, unit, unit) FStar_Tactics_Types.subtyping_token) = fun g -> fun bs0 -> @@ -1230,12 +1473,12 @@ let (subtyping_token_weakening : FStar_Reflection_Types.env -> bindings -> bindings -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.var -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> - (unit, unit, unit) FStar_Tactics_Builtins.subtyping_token -> - (unit, unit, unit) FStar_Tactics_Builtins.subtyping_token) + (unit, unit, unit) FStar_Tactics_Types.subtyping_token -> + (unit, unit, unit) FStar_Tactics_Types.subtyping_token) = fun g -> fun bs0 -> @@ -1266,8 +1509,8 @@ let (equiv_abs : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.typ -> - FStar_Reflection_Data.aqualv -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.aqualv -> + FStar_Reflection_V2_Data.var -> (unit, unit, unit) equiv -> (unit, unit, unit) equiv) = fun g -> @@ -1279,8 +1522,8 @@ let (equiv_arrow : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.typ -> - FStar_Reflection_Data.aqualv -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.aqualv -> + FStar_Reflection_V2_Data.var -> (unit, unit, unit) equiv -> (unit, unit, unit) equiv) = fun g -> @@ -1292,8 +1535,8 @@ let (equiv_abs_close : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.typ -> - FStar_Reflection_Data.aqualv -> - FStar_Reflection_Data.var -> + FStar_Reflection_V2_Data.aqualv -> + FStar_Reflection_V2_Data.var -> (unit, unit, unit) equiv -> (unit, unit, unit) equiv) = fun g -> @@ -1304,14 +1547,85 @@ let (equiv_abs_close : fun x -> fun eq -> let eq1 = eq in - equiv_abs g - (open_or_close_term' e1 (CloseVar x) Prims.int_zero) - (open_or_close_term' e2 (CloseVar x) Prims.int_zero) ty q x - eq1 + equiv_abs g (subst_term e1 [ND (x, Prims.int_zero)]) + (subst_term e2 [ND (x, Prims.int_zero)]) ty q x eq1 type 'g fstar_env_fvs = unit type fstar_env = FStar_Reflection_Types.env type fstar_top_env = fstar_env type dsl_tac_t = fstar_top_env -> ((FStar_Reflection_Types.term * FStar_Reflection_Types.typ), unit) - FStar_Tactics_Effect.tac_repr \ No newline at end of file + FStar_Tactics_Effect.tac_repr +let (if_complete_match : + FStar_Reflection_Types.env -> + FStar_Reflection_Types.term -> + (unit, unit, unit, unit, unit) + FStar_Tactics_V2_Builtins.match_complete_token) + = fun g -> fun t -> Prims.magic () +let (mkif : + fstar_env -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.universe -> + FStar_Reflection_V2_Data.var -> + FStar_Tactics_Types.tot_or_ghost -> + FStar_Tactics_Types.tot_or_ghost -> + (unit, unit, unit) typing -> + (unit, unit, unit) typing -> + (unit, unit, unit) typing -> + (unit, unit, unit) typing -> + (unit, unit, unit) typing) + = + fun g -> + fun scrutinee -> + fun then_ -> + fun else_ -> + fun ty -> + fun u_ty -> + fun hyp -> + fun eff -> + fun ty_eff -> + fun ts -> + fun tt -> + fun te -> + fun tr -> + let brt = + ((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_True), then_) in + let bre = + ((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_False), else_) in + let brty uu___ = + BT_S + (((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_True), then_), + [], + (BO + ((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_True), + [], hyp, then_, (), tt)), + [((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_False), + else_)], [[]], + (BT_S + (((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_False), + else_), [], + (BO + ((FStar_Reflection_V2_Data.Pat_Constant + FStar_Reflection_V2_Data.C_False), + [], hyp, else_, (), te)), [], [], + BT_Nil))) in + T_Match + (g, u_zero, bool_ty, scrutinee, + FStar_Tactics_Types.E_Total, + (T_FVar (g, bool_fv)), eff, ts, [brt; bre], + (eff, ty), [[]; []], + (MC_Tok + (g, scrutinee, bool_ty, + (FStar_List_Tot_Base.map + FStar_Pervasives_Native.fst + [brt; bre]), [[]; []], ())), + (brty ())) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1.ml new file mode 100644 index 00000000000..e8306abedb2 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1.ml @@ -0,0 +1 @@ +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Basic.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Builtins.ml similarity index 71% rename from ocaml/fstar-lib/generated/FStar_Reflection_Basic.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Builtins.ml index a1c5cb753f5..55c513c478c 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Basic.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Builtins.ml @@ -9,39 +9,39 @@ let (get_env : unit -> FStar_TypeChecker_Env.env) = failwith "impossible: env_hook unset in reflection" | FStar_Pervasives_Native.Some e -> e let (inspect_bqual : - FStar_Syntax_Syntax.bqual -> FStar_Reflection_Data.aqualv) = + FStar_Syntax_Syntax.bqual -> FStar_Reflection_V1_Data.aqualv) = fun bq -> match bq with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu___) -> - FStar_Reflection_Data.Q_Implicit + FStar_Reflection_V1_Data.Q_Implicit | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> - FStar_Reflection_Data.Q_Meta t + FStar_Reflection_V1_Data.Q_Meta t | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> - FStar_Reflection_Data.Q_Explicit - | FStar_Pervasives_Native.None -> FStar_Reflection_Data.Q_Explicit + FStar_Reflection_V1_Data.Q_Explicit + | FStar_Pervasives_Native.None -> FStar_Reflection_V1_Data.Q_Explicit let (inspect_aqual : - FStar_Syntax_Syntax.aqual -> FStar_Reflection_Data.aqualv) = + FStar_Syntax_Syntax.aqual -> FStar_Reflection_V1_Data.aqualv) = fun aq -> match aq with | FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.aqual_implicit = true; FStar_Syntax_Syntax.aqual_attributes = uu___;_} - -> FStar_Reflection_Data.Q_Implicit - | uu___ -> FStar_Reflection_Data.Q_Explicit -let (pack_bqual : FStar_Reflection_Data.aqualv -> FStar_Syntax_Syntax.bqual) - = + -> FStar_Reflection_V1_Data.Q_Implicit + | uu___ -> FStar_Reflection_V1_Data.Q_Explicit +let (pack_bqual : + FStar_Reflection_V1_Data.aqualv -> FStar_Syntax_Syntax.bqual) = fun aqv -> match aqv with - | FStar_Reflection_Data.Q_Explicit -> FStar_Pervasives_Native.None - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Explicit -> FStar_Pervasives_Native.None + | FStar_Reflection_V1_Data.Q_Implicit -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit false) - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Meta t -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -let (pack_aqual : FStar_Reflection_Data.aqualv -> FStar_Syntax_Syntax.aqual) - = +let (pack_aqual : + FStar_Reflection_V1_Data.aqualv -> FStar_Syntax_Syntax.aqual) = fun aqv -> match aqv with - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Implicit -> FStar_Syntax_Syntax.as_aqual_implicit true | uu___ -> FStar_Pervasives_Native.None let (inspect_fv : FStar_Syntax_Syntax.fv -> Prims.string Prims.list) = @@ -101,60 +101,61 @@ let rec init : 'a . 'a Prims.list -> 'a Prims.list = | x::[] -> [] | x::xs -> let uu___ = init xs in x :: uu___ let (inspect_const : - FStar_Syntax_Syntax.sconst -> FStar_Reflection_Data.vconst) = + FStar_Syntax_Syntax.sconst -> FStar_Reflection_V1_Data.vconst) = fun c -> match c with - | FStar_Const.Const_unit -> FStar_Reflection_Data.C_Unit + | FStar_Const.Const_unit -> FStar_Reflection_V1_Data.C_Unit | FStar_Const.Const_int (s, uu___) -> let uu___1 = FStar_BigInt.big_int_of_string s in - FStar_Reflection_Data.C_Int uu___1 - | 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___) -> FStar_Reflection_Data.C_String s - | FStar_Const.Const_range r -> FStar_Reflection_Data.C_Range r - | FStar_Const.Const_reify uu___ -> FStar_Reflection_Data.C_Reify + FStar_Reflection_V1_Data.C_Int uu___1 + | FStar_Const.Const_bool (true) -> FStar_Reflection_V1_Data.C_True + | FStar_Const.Const_bool (false) -> FStar_Reflection_V1_Data.C_False + | FStar_Const.Const_string (s, uu___) -> + FStar_Reflection_V1_Data.C_String s + | FStar_Const.Const_range r -> FStar_Reflection_V1_Data.C_Range r + | FStar_Const.Const_reify uu___ -> FStar_Reflection_V1_Data.C_Reify | FStar_Const.Const_reflect l -> let uu___ = FStar_Ident.path_of_lid l in - FStar_Reflection_Data.C_Reflect uu___ + FStar_Reflection_V1_Data.C_Reflect uu___ | uu___ -> let uu___1 = let uu___2 = FStar_Syntax_Print.const_to_string c in FStar_Compiler_Util.format1 "unknown constant: %s" uu___2 in failwith uu___1 let (inspect_universe : - FStar_Syntax_Syntax.universe -> FStar_Reflection_Data.universe_view) = + FStar_Syntax_Syntax.universe -> FStar_Reflection_V1_Data.universe_view) = fun u -> match u with - | FStar_Syntax_Syntax.U_zero -> FStar_Reflection_Data.Uv_Zero - | FStar_Syntax_Syntax.U_succ u1 -> FStar_Reflection_Data.Uv_Succ u1 - | FStar_Syntax_Syntax.U_max us -> FStar_Reflection_Data.Uv_Max us + | FStar_Syntax_Syntax.U_zero -> FStar_Reflection_V1_Data.Uv_Zero + | FStar_Syntax_Syntax.U_succ u1 -> FStar_Reflection_V1_Data.Uv_Succ u1 + | FStar_Syntax_Syntax.U_max us -> FStar_Reflection_V1_Data.Uv_Max us | FStar_Syntax_Syntax.U_bvar n -> let uu___ = FStar_BigInt.of_int_fs n in - FStar_Reflection_Data.Uv_BVar uu___ + FStar_Reflection_V1_Data.Uv_BVar uu___ | FStar_Syntax_Syntax.U_name i -> let uu___ = let uu___1 = FStar_Ident.string_of_id i in let uu___2 = FStar_Ident.range_of_id i in (uu___1, uu___2) in - FStar_Reflection_Data.Uv_Name uu___ - | FStar_Syntax_Syntax.U_unif u1 -> FStar_Reflection_Data.Uv_Unif u1 - | FStar_Syntax_Syntax.U_unknown -> FStar_Reflection_Data.Uv_Unk + FStar_Reflection_V1_Data.Uv_Name uu___ + | FStar_Syntax_Syntax.U_unif u1 -> FStar_Reflection_V1_Data.Uv_Unif u1 + | FStar_Syntax_Syntax.U_unknown -> FStar_Reflection_V1_Data.Uv_Unk let (pack_universe : - FStar_Reflection_Data.universe_view -> FStar_Syntax_Syntax.universe) = + FStar_Reflection_V1_Data.universe_view -> FStar_Syntax_Syntax.universe) = fun uv -> match uv with - | FStar_Reflection_Data.Uv_Zero -> FStar_Syntax_Syntax.U_zero - | FStar_Reflection_Data.Uv_Succ u -> FStar_Syntax_Syntax.U_succ u - | FStar_Reflection_Data.Uv_Max us -> FStar_Syntax_Syntax.U_max us - | FStar_Reflection_Data.Uv_BVar n -> + | FStar_Reflection_V1_Data.Uv_Zero -> FStar_Syntax_Syntax.U_zero + | FStar_Reflection_V1_Data.Uv_Succ u -> FStar_Syntax_Syntax.U_succ u + | FStar_Reflection_V1_Data.Uv_Max us -> FStar_Syntax_Syntax.U_max us + | FStar_Reflection_V1_Data.Uv_BVar n -> let uu___ = FStar_BigInt.to_int_fs n in FStar_Syntax_Syntax.U_bvar uu___ - | FStar_Reflection_Data.Uv_Name i -> + | FStar_Reflection_V1_Data.Uv_Name i -> let uu___ = FStar_Ident.mk_ident i in FStar_Syntax_Syntax.U_name uu___ - | FStar_Reflection_Data.Uv_Unif u -> FStar_Syntax_Syntax.U_unif u - | FStar_Reflection_Data.Uv_Unk -> FStar_Syntax_Syntax.U_unknown + | FStar_Reflection_V1_Data.Uv_Unif u -> FStar_Syntax_Syntax.U_unif u + | FStar_Reflection_V1_Data.Uv_Unk -> FStar_Syntax_Syntax.U_unknown let rec (inspect_ln : - FStar_Syntax_Syntax.term -> FStar_Reflection_Data.term_view) = + FStar_Syntax_Syntax.term -> FStar_Reflection_V1_Data.term_view) = fun t -> let t1 = FStar_Compiler_Effect.op_Bar_Greater t @@ -163,25 +164,25 @@ let rec (inspect_ln : | FStar_Syntax_Syntax.Tm_meta { FStar_Syntax_Syntax.tm2 = t2; FStar_Syntax_Syntax.meta = uu___;_} -> inspect_ln t2 - | 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_name bv -> FStar_Reflection_V1_Data.Tv_Var bv + | FStar_Syntax_Syntax.Tm_bvar bv -> FStar_Reflection_V1_Data.Tv_BVar bv + | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Reflection_V1_Data.Tv_FVar fv | FStar_Syntax_Syntax.Tm_uinst (t2, us) -> (match t2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> - FStar_Reflection_Data.Tv_UInst (fv, us) + FStar_Reflection_V1_Data.Tv_UInst (fv, us) | uu___ -> failwith "Reflection::inspect_ln: uinst for a non-fvar node") | FStar_Syntax_Syntax.Tm_ascribed { FStar_Syntax_Syntax.tm = t2; FStar_Syntax_Syntax.asc = (FStar_Pervasives.Inl ty, tacopt, eq); FStar_Syntax_Syntax.eff_opt = uu___;_} - -> FStar_Reflection_Data.Tv_AscribedT (t2, ty, tacopt, eq) + -> FStar_Reflection_V1_Data.Tv_AscribedT (t2, ty, tacopt, eq) | FStar_Syntax_Syntax.Tm_ascribed { FStar_Syntax_Syntax.tm = t2; FStar_Syntax_Syntax.asc = (FStar_Pervasives.Inr cty, tacopt, eq); FStar_Syntax_Syntax.eff_opt = uu___;_} - -> FStar_Reflection_Data.Tv_AscribedC (t2, cty, tacopt, eq) + -> FStar_Reflection_V1_Data.Tv_AscribedC (t2, cty, tacopt, eq) | FStar_Syntax_Syntax.Tm_app { FStar_Syntax_Syntax.hd = uu___; FStar_Syntax_Syntax.args = [];_} -> failwith "inspect_ln: empty arguments on Tm_app" @@ -195,7 +196,7 @@ let rec (inspect_ln : let uu___2 = let uu___3 = init args in FStar_Syntax_Util.mk_app hd uu___3 in (uu___2, (a, q')) in - FStar_Reflection_Data.Tv_App uu___1) + FStar_Reflection_V1_Data.Tv_App uu___1) | FStar_Syntax_Syntax.Tm_abs { FStar_Syntax_Syntax.bs = []; FStar_Syntax_Syntax.body = uu___; FStar_Syntax_Syntax.rc_opt = uu___1;_} @@ -215,8 +216,8 @@ let rec (inspect_ln : FStar_Syntax_Syntax.body = t2; FStar_Syntax_Syntax.rc_opt = k }) t2.FStar_Syntax_Syntax.pos in - FStar_Reflection_Data.Tv_Abs (b, body) - | FStar_Syntax_Syntax.Tm_type u -> FStar_Reflection_Data.Tv_Type u + FStar_Reflection_V1_Data.Tv_Abs (b, body) + | FStar_Syntax_Syntax.Tm_type u -> FStar_Reflection_V1_Data.Tv_Type u | FStar_Syntax_Syntax.Tm_arrow { FStar_Syntax_Syntax.bs1 = []; FStar_Syntax_Syntax.comp = uu___;_} -> failwith "inspect_ln: empty binders on arrow" @@ -224,14 +225,15 @@ let rec (inspect_ln : let uu___1 = FStar_Syntax_Util.arrow_one_ln t1 in (match uu___1 with | FStar_Pervasives_Native.Some (b, c) -> - FStar_Reflection_Data.Tv_Arrow (b, c) + FStar_Reflection_V1_Data.Tv_Arrow (b, c) | FStar_Pervasives_Native.None -> failwith "impossible") | FStar_Syntax_Syntax.Tm_refine { FStar_Syntax_Syntax.b = bv; FStar_Syntax_Syntax.phi = t2;_} -> - FStar_Reflection_Data.Tv_Refine + FStar_Reflection_V1_Data.Tv_Refine (bv, (bv.FStar_Syntax_Syntax.sort), t2) | FStar_Syntax_Syntax.Tm_constant c -> - let uu___ = inspect_const c in FStar_Reflection_Data.Tv_Const uu___ + let uu___ = inspect_const c in + FStar_Reflection_V1_Data.Tv_Const uu___ | FStar_Syntax_Syntax.Tm_uvar (ctx_u, s) -> let uu___ = let uu___1 = @@ -240,18 +242,19 @@ let rec (inspect_ln : ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in FStar_BigInt.of_int_fs uu___2 in (uu___1, (ctx_u, s)) in - FStar_Reflection_Data.Tv_Uvar uu___ + FStar_Reflection_V1_Data.Tv_Uvar uu___ | FStar_Syntax_Syntax.Tm_let { FStar_Syntax_Syntax.lbs = (false, lb::[]); FStar_Syntax_Syntax.body1 = t2;_} -> if lb.FStar_Syntax_Syntax.lbunivs <> [] - then FStar_Reflection_Data.Tv_Unsupp + then FStar_Reflection_V1_Data.Tv_Unsupp else (match lb.FStar_Syntax_Syntax.lbname with - | FStar_Pervasives.Inr uu___1 -> FStar_Reflection_Data.Tv_Unsupp + | FStar_Pervasives.Inr uu___1 -> + FStar_Reflection_V1_Data.Tv_Unsupp | FStar_Pervasives.Inl bv -> - FStar_Reflection_Data.Tv_Let + FStar_Reflection_V1_Data.Tv_Let (false, (lb.FStar_Syntax_Syntax.lbattrs), bv, (bv.FStar_Syntax_Syntax.sort), (lb.FStar_Syntax_Syntax.lbdef), t2)) @@ -260,12 +263,13 @@ let rec (inspect_ln : FStar_Syntax_Syntax.body1 = t2;_} -> if lb.FStar_Syntax_Syntax.lbunivs <> [] - then FStar_Reflection_Data.Tv_Unsupp + then FStar_Reflection_V1_Data.Tv_Unsupp else (match lb.FStar_Syntax_Syntax.lbname with - | FStar_Pervasives.Inr uu___1 -> FStar_Reflection_Data.Tv_Unsupp + | FStar_Pervasives.Inr uu___1 -> + FStar_Reflection_V1_Data.Tv_Unsupp | FStar_Pervasives.Inl bv -> - FStar_Reflection_Data.Tv_Let + FStar_Reflection_V1_Data.Tv_Let (true, (lb.FStar_Syntax_Syntax.lbattrs), bv, (bv.FStar_Syntax_Syntax.sort), (lb.FStar_Syntax_Syntax.lbdef), t2)) @@ -279,7 +283,7 @@ let rec (inspect_ln : match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> let uu___1 = inspect_const c in - FStar_Reflection_Data.Pat_Constant uu___1 + FStar_Reflection_V1_Data.Pat_Constant uu___1 | FStar_Syntax_Syntax.Pat_cons (fv, us_opt, ps) -> let uu___1 = let uu___2 = @@ -289,20 +293,20 @@ let rec (inspect_ln : | (p1, b) -> let uu___4 = inspect_pat p1 in (uu___4, b)) ps in (fv, us_opt, uu___2) in - FStar_Reflection_Data.Pat_Cons uu___1 + FStar_Reflection_V1_Data.Pat_Cons uu___1 | FStar_Syntax_Syntax.Pat_var bv -> - FStar_Reflection_Data.Pat_Var + FStar_Reflection_V1_Data.Pat_Var (bv, (bv.FStar_Syntax_Syntax.sort)) | FStar_Syntax_Syntax.Pat_dot_term eopt -> - FStar_Reflection_Data.Pat_Dot_Term eopt in + FStar_Reflection_V1_Data.Pat_Dot_Term eopt in let brs1 = FStar_Compiler_List.map (fun uu___1 -> match uu___1 with | (pat, uu___2, t3) -> let uu___3 = inspect_pat pat in (uu___3, t3)) brs in - FStar_Reflection_Data.Tv_Match (t2, ret_opt, brs1) - | FStar_Syntax_Syntax.Tm_unknown -> FStar_Reflection_Data.Tv_Unknown + FStar_Reflection_V1_Data.Tv_Match (t2, ret_opt, brs1) + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Reflection_V1_Data.Tv_Unknown | FStar_Syntax_Syntax.Tm_lazy i -> let uu___ = FStar_Compiler_Effect.op_Bar_Greater i @@ -318,9 +322,9 @@ let rec (inspect_ln : uu___5 in (FStar_Errors_Codes.Warning_CantInspect, uu___3) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___2); - FStar_Reflection_Data.Tv_Unsupp) + FStar_Reflection_V1_Data.Tv_Unsupp) let (inspect_comp : - FStar_Syntax_Syntax.comp -> FStar_Reflection_Data.comp_view) = + FStar_Syntax_Syntax.comp -> FStar_Reflection_V1_Data.comp_view) = fun c -> let get_dec flags = let uu___ = @@ -346,8 +350,8 @@ let (inspect_comp : []) | uu___1 -> failwith "Impossible!" in match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total t -> FStar_Reflection_Data.C_Total t - | FStar_Syntax_Syntax.GTotal t -> FStar_Reflection_Data.C_GTotal t + | FStar_Syntax_Syntax.Total t -> FStar_Reflection_V1_Data.C_Total t + | FStar_Syntax_Syntax.GTotal t -> FStar_Reflection_V1_Data.C_GTotal t | FStar_Syntax_Syntax.Comp ct -> let uopt = if @@ -364,7 +368,7 @@ let (inspect_comp : then (match ct.FStar_Syntax_Syntax.effect_args with | (pre, uu___1)::(post, uu___2)::(pats, uu___3)::uu___4 -> - FStar_Reflection_Data.C_Lemma (pre, post, pats) + FStar_Reflection_V1_Data.C_Lemma (pre, post, pats) | uu___1 -> failwith "inspect_comp: Lemma does not have enough arguments?") else @@ -380,9 +384,9 @@ let (inspect_comp : let uu___5 = get_dec ct.FStar_Syntax_Syntax.flags in ((ct.FStar_Syntax_Syntax.comp_univs), uu___3, (ct.FStar_Syntax_Syntax.result_typ), uu___4, uu___5) in - FStar_Reflection_Data.C_Eff uu___2) -let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) - = + FStar_Reflection_V1_Data.C_Eff uu___2) +let (pack_comp : + FStar_Reflection_V1_Data.comp_view -> FStar_Syntax_Syntax.comp) = fun cv -> let urefl_to_univs u = if u = FStar_Syntax_Syntax.U_unknown then [] else [u] in @@ -391,9 +395,9 @@ let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) then FStar_Pervasives_Native.None else FStar_Pervasives_Native.Some u in match cv with - | FStar_Reflection_Data.C_Total t -> FStar_Syntax_Syntax.mk_Total t - | FStar_Reflection_Data.C_GTotal t -> FStar_Syntax_Syntax.mk_GTotal t - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + | FStar_Reflection_V1_Data.C_Total t -> FStar_Syntax_Syntax.mk_Total t + | FStar_Reflection_V1_Data.C_GTotal t -> FStar_Syntax_Syntax.mk_GTotal t + | FStar_Reflection_V1_Data.C_Lemma (pre, post, pats) -> let ct = let uu___ = let uu___1 = FStar_Syntax_Syntax.as_arg pre in @@ -412,7 +416,7 @@ let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) FStar_Syntax_Syntax.flags = [] } in FStar_Syntax_Syntax.mk_Comp ct - | FStar_Reflection_Data.C_Eff (us, ef, res, args, decrs) -> + | FStar_Reflection_V1_Data.C_Eff (us, ef, res, args, decrs) -> let pack_arg uu___ = match uu___ with | (a, q) -> let uu___1 = pack_aqual q in (a, uu___1) in @@ -434,39 +438,40 @@ let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) FStar_Syntax_Syntax.flags = flags } in FStar_Syntax_Syntax.mk_Comp ct -let (pack_const : FStar_Reflection_Data.vconst -> FStar_Syntax_Syntax.sconst) - = +let (pack_const : + FStar_Reflection_V1_Data.vconst -> FStar_Syntax_Syntax.sconst) = fun c -> match c with - | FStar_Reflection_Data.C_Unit -> FStar_Const.Const_unit - | FStar_Reflection_Data.C_Int i -> + | FStar_Reflection_V1_Data.C_Unit -> FStar_Const.Const_unit + | FStar_Reflection_V1_Data.C_Int i -> let uu___ = let uu___1 = FStar_BigInt.string_of_big_int i in (uu___1, FStar_Pervasives_Native.None) in FStar_Const.Const_int uu___ - | 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_Reflection_V1_Data.C_True -> FStar_Const.Const_bool true + | FStar_Reflection_V1_Data.C_False -> FStar_Const.Const_bool false + | FStar_Reflection_V1_Data.C_String s -> FStar_Const.Const_string (s, FStar_Compiler_Range_Type.dummyRange) - | FStar_Reflection_Data.C_Range r -> FStar_Const.Const_range r - | FStar_Reflection_Data.C_Reify -> + | FStar_Reflection_V1_Data.C_Range r -> FStar_Const.Const_range r + | FStar_Reflection_V1_Data.C_Reify -> FStar_Const.Const_reify FStar_Pervasives_Native.None - | FStar_Reflection_Data.C_Reflect ns -> + | FStar_Reflection_V1_Data.C_Reflect ns -> let uu___ = FStar_Ident.lid_of_path ns FStar_Compiler_Range_Type.dummyRange in FStar_Const.Const_reflect uu___ -let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = +let (pack_ln : + FStar_Reflection_V1_Data.term_view -> FStar_Syntax_Syntax.term) = 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_UInst (fv, us) -> + | FStar_Reflection_V1_Data.Tv_Var bv -> FStar_Syntax_Syntax.bv_to_name bv + | FStar_Reflection_V1_Data.Tv_BVar bv -> FStar_Syntax_Syntax.bv_to_tm bv + | FStar_Reflection_V1_Data.Tv_FVar fv -> FStar_Syntax_Syntax.fv_to_tm fv + | FStar_Reflection_V1_Data.Tv_UInst (fv, us) -> let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in FStar_Syntax_Syntax.mk_Tm_uinst uu___ us - | FStar_Reflection_Data.Tv_App (l, (r, q)) -> + | FStar_Reflection_V1_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_V1_Data.Tv_Abs (b, t) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_abs { @@ -474,15 +479,15 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.body = t; FStar_Syntax_Syntax.rc_opt = FStar_Pervasives_Native.None }) t.FStar_Syntax_Syntax.pos - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow { FStar_Syntax_Syntax.bs1 = [b]; FStar_Syntax_Syntax.comp = c }) c.FStar_Syntax_Syntax.pos - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Reflection_V1_Data.Tv_Type u -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Refine (bv, sort, t) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, t) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_refine { @@ -495,14 +500,14 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = }; FStar_Syntax_Syntax.phi = t }) t.FStar_Syntax_Syntax.pos - | FStar_Reflection_Data.Tv_Const c -> + | FStar_Reflection_V1_Data.Tv_Const c -> let uu___ = let uu___1 = pack_const c in FStar_Syntax_Syntax.Tm_constant uu___1 in FStar_Syntax_Syntax.mk uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Uvar (u, ctx_u_s) -> + | FStar_Reflection_V1_Data.Tv_Uvar (u, ctx_u_s) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ctx_u_s) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Let (false, attrs, bv, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (false, attrs, bv, ty, t1, t2) -> let bv1 = { FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); @@ -519,7 +524,7 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.lbs = (false, [lb]); FStar_Syntax_Syntax.body1 = t2 }) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Let (true, attrs, bv, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (true, attrs, bv, ty, t1, t2) -> let bv1 = { FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); @@ -536,7 +541,7 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.lbs = (true, [lb]); FStar_Syntax_Syntax.body1 = t2 }) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Match (t, ret_opt, brs) -> + | FStar_Reflection_V1_Data.Tv_Match (t, ret_opt, brs) -> let wrap v = { FStar_Syntax_Syntax.v = v; @@ -544,12 +549,12 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = } in let rec pack_pat p = match p with - | FStar_Reflection_Data.Pat_Constant c -> + | FStar_Reflection_V1_Data.Pat_Constant c -> let uu___ = let uu___1 = pack_const c in FStar_Syntax_Syntax.Pat_constant uu___1 in FStar_Compiler_Effect.op_Less_Bar wrap uu___ - | FStar_Reflection_Data.Pat_Cons (fv, us_opt, ps) -> + | FStar_Reflection_V1_Data.Pat_Cons (fv, us_opt, ps) -> let uu___ = let uu___1 = let uu___2 = @@ -561,10 +566,10 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = (fv, us_opt, uu___2) in FStar_Syntax_Syntax.Pat_cons uu___1 in FStar_Compiler_Effect.op_Less_Bar wrap uu___ - | FStar_Reflection_Data.Pat_Var (bv, _sort) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, _sort) -> FStar_Compiler_Effect.op_Less_Bar wrap (FStar_Syntax_Syntax.Pat_var bv) - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + | FStar_Reflection_V1_Data.Pat_Dot_Term eopt -> FStar_Compiler_Effect.op_Less_Bar wrap (FStar_Syntax_Syntax.Pat_dot_term eopt) in let brs1 = @@ -582,7 +587,7 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.brs = brs1; FStar_Syntax_Syntax.rc_opt1 = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed { @@ -591,7 +596,7 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = ((FStar_Pervasives.Inl t), tacopt, use_eq); FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed { @@ -600,10 +605,10 @@ let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = ((FStar_Pervasives.Inr c), tacopt, use_eq); FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_V1_Data.Tv_Unknown -> FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Tv_Unsupp -> + | FStar_Reflection_V1_Data.Tv_Unsupp -> (FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange (FStar_Errors_Codes.Warning_CantInspect, "packing a Tv_Unsupp into Tm_unknown"); @@ -653,7 +658,7 @@ let (all_defs_in_env : uu___ let (defs_in_module : FStar_TypeChecker_Env.env -> - FStar_Reflection_Data.name -> FStar_Syntax_Syntax.fv Prims.list) + FStar_Reflection_V1_Data.name -> FStar_Syntax_Syntax.fv Prims.list) = fun env -> fun modul -> @@ -698,87 +703,110 @@ let (set_sigelt_attrs : FStar_Syntax_Syntax.sigattrs = attrs; FStar_Syntax_Syntax.sigopts = (se.FStar_Syntax_Syntax.sigopts) } +let (inspect_ident : FStar_Ident.ident -> FStar_Reflection_V1_Data.ident) = + fun i -> FStar_Reflection_V2_Builtins.inspect_ident i +let (pack_ident : FStar_Reflection_V1_Data.ident -> FStar_Ident.ident) = + fun i -> FStar_Reflection_V2_Builtins.pack_ident i let (rd_to_syntax_qual : - FStar_Reflection_Data.qualifier -> FStar_Syntax_Syntax.qualifier) = + FStar_Reflection_V1_Data.qualifier -> FStar_Syntax_Syntax.qualifier) = fun uu___ -> match uu___ with - | FStar_Reflection_Data.Assumption -> FStar_Syntax_Syntax.Assumption - | FStar_Reflection_Data.New -> FStar_Syntax_Syntax.New - | FStar_Reflection_Data.Private -> FStar_Syntax_Syntax.Private - | FStar_Reflection_Data.Unfold_for_unification_and_vcgen -> + | FStar_Reflection_V1_Data.Assumption -> FStar_Syntax_Syntax.Assumption + | FStar_Reflection_V1_Data.New -> FStar_Syntax_Syntax.New + | FStar_Reflection_V1_Data.Private -> FStar_Syntax_Syntax.Private + | FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen -> FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen - | FStar_Reflection_Data.Visible_default -> + | FStar_Reflection_V1_Data.Visible_default -> FStar_Syntax_Syntax.Visible_default - | FStar_Reflection_Data.Irreducible -> FStar_Syntax_Syntax.Irreducible - | FStar_Reflection_Data.Inline_for_extraction -> + | FStar_Reflection_V1_Data.Irreducible -> FStar_Syntax_Syntax.Irreducible + | FStar_Reflection_V1_Data.Inline_for_extraction -> FStar_Syntax_Syntax.Inline_for_extraction - | FStar_Reflection_Data.NoExtract -> FStar_Syntax_Syntax.NoExtract - | FStar_Reflection_Data.Noeq -> FStar_Syntax_Syntax.Noeq - | FStar_Reflection_Data.Unopteq -> FStar_Syntax_Syntax.Unopteq - | FStar_Reflection_Data.TotalEffect -> FStar_Syntax_Syntax.TotalEffect - | FStar_Reflection_Data.Logic -> FStar_Syntax_Syntax.Logic - | FStar_Reflection_Data.Reifiable -> FStar_Syntax_Syntax.Reifiable - | FStar_Reflection_Data.Reflectable l -> + | FStar_Reflection_V1_Data.NoExtract -> FStar_Syntax_Syntax.NoExtract + | FStar_Reflection_V1_Data.Noeq -> FStar_Syntax_Syntax.Noeq + | FStar_Reflection_V1_Data.Unopteq -> FStar_Syntax_Syntax.Unopteq + | FStar_Reflection_V1_Data.TotalEffect -> FStar_Syntax_Syntax.TotalEffect + | FStar_Reflection_V1_Data.Logic -> FStar_Syntax_Syntax.Logic + | FStar_Reflection_V1_Data.Reifiable -> FStar_Syntax_Syntax.Reifiable + | FStar_Reflection_V1_Data.Reflectable l -> FStar_Syntax_Syntax.Reflectable l - | FStar_Reflection_Data.Discriminator l -> + | FStar_Reflection_V1_Data.Discriminator l -> FStar_Syntax_Syntax.Discriminator l - | FStar_Reflection_Data.Projector (l, i) -> - FStar_Syntax_Syntax.Projector (l, i) - | FStar_Reflection_Data.RecordType (l1, l2) -> - FStar_Syntax_Syntax.RecordType (l1, l2) - | FStar_Reflection_Data.RecordConstructor (l1, l2) -> - FStar_Syntax_Syntax.RecordConstructor (l1, l2) - | FStar_Reflection_Data.Action l -> FStar_Syntax_Syntax.Action l - | FStar_Reflection_Data.ExceptionConstructor -> + | FStar_Reflection_V1_Data.Projector (l, i) -> + let uu___1 = let uu___2 = pack_ident i in (l, uu___2) in + FStar_Syntax_Syntax.Projector uu___1 + | FStar_Reflection_V1_Data.RecordType (l1, l2) -> + let uu___1 = + let uu___2 = FStar_Compiler_List.map pack_ident l1 in + let uu___3 = FStar_Compiler_List.map pack_ident l2 in + (uu___2, uu___3) in + FStar_Syntax_Syntax.RecordType uu___1 + | FStar_Reflection_V1_Data.RecordConstructor (l1, l2) -> + let uu___1 = + let uu___2 = FStar_Compiler_List.map pack_ident l1 in + let uu___3 = FStar_Compiler_List.map pack_ident l2 in + (uu___2, uu___3) in + FStar_Syntax_Syntax.RecordConstructor uu___1 + | FStar_Reflection_V1_Data.Action l -> FStar_Syntax_Syntax.Action l + | FStar_Reflection_V1_Data.ExceptionConstructor -> FStar_Syntax_Syntax.ExceptionConstructor - | FStar_Reflection_Data.HasMaskedEffect -> + | FStar_Reflection_V1_Data.HasMaskedEffect -> FStar_Syntax_Syntax.HasMaskedEffect - | FStar_Reflection_Data.Effect -> FStar_Syntax_Syntax.Effect - | FStar_Reflection_Data.OnlyName -> FStar_Syntax_Syntax.OnlyName + | FStar_Reflection_V1_Data.Effect -> FStar_Syntax_Syntax.Effect + | FStar_Reflection_V1_Data.OnlyName -> FStar_Syntax_Syntax.OnlyName let (syntax_to_rd_qual : - FStar_Syntax_Syntax.qualifier -> FStar_Reflection_Data.qualifier) = + FStar_Syntax_Syntax.qualifier -> FStar_Reflection_V1_Data.qualifier) = fun uu___ -> match uu___ with - | FStar_Syntax_Syntax.Assumption -> FStar_Reflection_Data.Assumption - | FStar_Syntax_Syntax.New -> FStar_Reflection_Data.New - | FStar_Syntax_Syntax.Private -> FStar_Reflection_Data.Private + | FStar_Syntax_Syntax.Assumption -> FStar_Reflection_V1_Data.Assumption + | FStar_Syntax_Syntax.New -> FStar_Reflection_V1_Data.New + | FStar_Syntax_Syntax.Private -> FStar_Reflection_V1_Data.Private | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> - FStar_Reflection_Data.Unfold_for_unification_and_vcgen + FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen | FStar_Syntax_Syntax.Visible_default -> - FStar_Reflection_Data.Visible_default - | FStar_Syntax_Syntax.Irreducible -> FStar_Reflection_Data.Irreducible + FStar_Reflection_V1_Data.Visible_default + | FStar_Syntax_Syntax.Irreducible -> FStar_Reflection_V1_Data.Irreducible | FStar_Syntax_Syntax.Inline_for_extraction -> - FStar_Reflection_Data.Inline_for_extraction - | FStar_Syntax_Syntax.NoExtract -> FStar_Reflection_Data.NoExtract - | FStar_Syntax_Syntax.Noeq -> FStar_Reflection_Data.Noeq - | FStar_Syntax_Syntax.Unopteq -> FStar_Reflection_Data.Unopteq - | FStar_Syntax_Syntax.TotalEffect -> FStar_Reflection_Data.TotalEffect - | FStar_Syntax_Syntax.Logic -> FStar_Reflection_Data.Logic - | FStar_Syntax_Syntax.Reifiable -> FStar_Reflection_Data.Reifiable + FStar_Reflection_V1_Data.Inline_for_extraction + | FStar_Syntax_Syntax.NoExtract -> FStar_Reflection_V1_Data.NoExtract + | FStar_Syntax_Syntax.Noeq -> FStar_Reflection_V1_Data.Noeq + | FStar_Syntax_Syntax.Unopteq -> FStar_Reflection_V1_Data.Unopteq + | FStar_Syntax_Syntax.TotalEffect -> FStar_Reflection_V1_Data.TotalEffect + | FStar_Syntax_Syntax.Logic -> FStar_Reflection_V1_Data.Logic + | FStar_Syntax_Syntax.Reifiable -> FStar_Reflection_V1_Data.Reifiable | FStar_Syntax_Syntax.Reflectable l -> - FStar_Reflection_Data.Reflectable l + FStar_Reflection_V1_Data.Reflectable l | FStar_Syntax_Syntax.Discriminator l -> - FStar_Reflection_Data.Discriminator l + FStar_Reflection_V1_Data.Discriminator l | FStar_Syntax_Syntax.Projector (l, i) -> - FStar_Reflection_Data.Projector (l, i) + let uu___1 = let uu___2 = inspect_ident i in (l, uu___2) in + FStar_Reflection_V1_Data.Projector uu___1 | FStar_Syntax_Syntax.RecordType (l1, l2) -> - FStar_Reflection_Data.RecordType (l1, l2) + let uu___1 = + let uu___2 = FStar_Compiler_List.map inspect_ident l1 in + let uu___3 = FStar_Compiler_List.map inspect_ident l2 in + (uu___2, uu___3) in + FStar_Reflection_V1_Data.RecordType uu___1 | FStar_Syntax_Syntax.RecordConstructor (l1, l2) -> - FStar_Reflection_Data.RecordConstructor (l1, l2) - | FStar_Syntax_Syntax.Action l -> FStar_Reflection_Data.Action l + let uu___1 = + let uu___2 = FStar_Compiler_List.map inspect_ident l1 in + let uu___3 = FStar_Compiler_List.map inspect_ident l2 in + (uu___2, uu___3) in + FStar_Reflection_V1_Data.RecordConstructor uu___1 + | FStar_Syntax_Syntax.Action l -> FStar_Reflection_V1_Data.Action l | FStar_Syntax_Syntax.ExceptionConstructor -> - FStar_Reflection_Data.ExceptionConstructor + FStar_Reflection_V1_Data.ExceptionConstructor | FStar_Syntax_Syntax.HasMaskedEffect -> - FStar_Reflection_Data.HasMaskedEffect - | FStar_Syntax_Syntax.Effect -> FStar_Reflection_Data.Effect - | FStar_Syntax_Syntax.OnlyName -> FStar_Reflection_Data.OnlyName + FStar_Reflection_V1_Data.HasMaskedEffect + | FStar_Syntax_Syntax.Effect -> FStar_Reflection_V1_Data.Effect + | FStar_Syntax_Syntax.OnlyName -> FStar_Reflection_V1_Data.OnlyName let (sigelt_quals : - FStar_Syntax_Syntax.sigelt -> FStar_Reflection_Data.qualifier Prims.list) = + FStar_Syntax_Syntax.sigelt -> FStar_Reflection_V1_Data.qualifier Prims.list) + = fun se -> FStar_Compiler_Effect.op_Bar_Greater se.FStar_Syntax_Syntax.sigquals (FStar_Compiler_List.map syntax_to_rd_qual) let (set_sigelt_quals : - FStar_Reflection_Data.qualifier Prims.list -> + FStar_Reflection_V1_Data.qualifier Prims.list -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) = fun quals -> @@ -799,11 +827,12 @@ let (sigelt_opts : let (embed_vconfig : FStar_VConfig.vconfig -> FStar_Syntax_Syntax.term) = fun vcfg -> let uu___ = - FStar_Syntax_Embeddings.embed FStar_Syntax_Embeddings.e_vconfig vcfg in + FStar_Syntax_Embeddings_Base.embed FStar_Syntax_Embeddings.e_vconfig + vcfg in uu___ FStar_Compiler_Range_Type.dummyRange FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb + FStar_Syntax_Embeddings_Base.id_norm_cb let (inspect_sigelt : - FStar_Syntax_Syntax.sigelt -> FStar_Reflection_Data.sigelt_view) = + FStar_Syntax_Syntax.sigelt -> FStar_Reflection_V1_Data.sigelt_view) = fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let @@ -830,7 +859,7 @@ let (inspect_sigelt : let uu___1 = let uu___2 = FStar_Compiler_List.map inspect_letbinding lbs in (r, uu___2) in - FStar_Reflection_Data.Sg_Let uu___1 + FStar_Reflection_V1_Data.Sg_Let uu___1 | FStar_Syntax_Syntax.Sig_inductive_typ { FStar_Syntax_Syntax.lid = lid; FStar_Syntax_Syntax.us = us; FStar_Syntax_Syntax.params = param_bs; @@ -912,9 +941,10 @@ let (inspect_sigelt : failwith "impossible: inspect_sigelt: did not find ctor" in let uu___4 = - let uu___5 = FStar_Compiler_List.map inspect_ctor c_lids in - (nm, us1, param_bs2, ty2, uu___5) in - FStar_Reflection_Data.Sg_Inductive uu___4)) + let uu___5 = FStar_Compiler_List.map inspect_ident us1 in + let uu___6 = FStar_Compiler_List.map inspect_ctor c_lids in + (nm, uu___5, param_bs2, ty2, uu___6) in + FStar_Reflection_V1_Data.Sg_Inductive uu___4)) | FStar_Syntax_Syntax.Sig_declare_typ { FStar_Syntax_Syntax.lid2 = lid; FStar_Syntax_Syntax.us2 = us; FStar_Syntax_Syntax.t2 = ty;_} @@ -922,10 +952,14 @@ let (inspect_sigelt : let nm = FStar_Ident.path_of_lid lid in let uu___ = FStar_Syntax_Subst.open_univ_vars us ty in (match uu___ with - | (us1, ty1) -> FStar_Reflection_Data.Sg_Val (nm, us1, ty1)) - | uu___ -> FStar_Reflection_Data.Unk + | (us1, ty1) -> + let uu___1 = + let uu___2 = FStar_Compiler_List.map inspect_ident us1 in + (nm, uu___2, ty1) in + FStar_Reflection_V1_Data.Sg_Val uu___1) + | uu___ -> FStar_Reflection_V1_Data.Unk let (pack_sigelt : - FStar_Reflection_Data.sigelt_view -> FStar_Syntax_Syntax.sigelt) = + FStar_Reflection_V1_Data.sigelt_view -> FStar_Syntax_Syntax.sigelt) = fun sv -> let check_lid lid = let uu___ = @@ -943,7 +977,7 @@ let (pack_sigelt : failwith uu___1 else () in match sv with - | FStar_Reflection_Data.Sg_Let (r, lbs) -> + | FStar_Reflection_V1_Data.Sg_Let (r, lbs) -> let pack_letbinding lb = let uu___ = lb in match uu___ with @@ -977,12 +1011,13 @@ let (pack_sigelt : FStar_Syntax_Syntax.lbs1 = (r, lbs1); FStar_Syntax_Syntax.lids1 = lids }) - | FStar_Reflection_Data.Sg_Inductive (nm, us_names, param_bs, ty, ctors) - -> + | FStar_Reflection_V1_Data.Sg_Inductive + (nm, us_names, param_bs, ty, ctors) -> + let us_names1 = FStar_Compiler_List.map pack_ident us_names in let ind_lid = FStar_Ident.lid_of_path nm FStar_Compiler_Range_Type.dummyRange in (check_lid ind_lid; - (let s = FStar_Syntax_Subst.univ_var_closing us_names in + (let s = FStar_Syntax_Subst.univ_var_closing us_names1 in let nparam = FStar_Compiler_List.length param_bs in let pack_ctor c = let uu___1 = c in @@ -1000,7 +1035,7 @@ let (pack_sigelt : (FStar_Syntax_Syntax.Sig_datacon { FStar_Syntax_Syntax.lid1 = lid; - FStar_Syntax_Syntax.us1 = us_names; + FStar_Syntax_Syntax.us1 = us_names1; FStar_Syntax_Syntax.t1 = ty3; FStar_Syntax_Syntax.ty_lid = ind_lid; FStar_Syntax_Syntax.num_ty_params = nparam; @@ -1021,7 +1056,7 @@ let (pack_sigelt : (FStar_Syntax_Syntax.Sig_inductive_typ { FStar_Syntax_Syntax.lid = ind_lid; - FStar_Syntax_Syntax.us = us_names; + FStar_Syntax_Syntax.us = us_names1; FStar_Syntax_Syntax.params = param_bs2; FStar_Syntax_Syntax.num_uniform_params = FStar_Pervasives_Native.None; @@ -1045,21 +1080,22 @@ let (pack_sigelt : FStar_Syntax_Syntax.sigattrs = (se.FStar_Syntax_Syntax.sigattrs); FStar_Syntax_Syntax.sigopts = (se.FStar_Syntax_Syntax.sigopts) })) - | FStar_Reflection_Data.Sg_Val (nm, us_names, ty) -> + | FStar_Reflection_V1_Data.Sg_Val (nm, us_names, ty) -> + let us_names1 = FStar_Compiler_List.map pack_ident us_names in let val_lid = FStar_Ident.lid_of_path nm FStar_Compiler_Range_Type.dummyRange in (check_lid val_lid; - (let typ = FStar_Syntax_Subst.close_univ_vars us_names ty in + (let typ = FStar_Syntax_Subst.close_univ_vars us_names1 ty in FStar_Compiler_Effect.op_Less_Bar FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_declare_typ { FStar_Syntax_Syntax.lid2 = val_lid; - FStar_Syntax_Syntax.us2 = us_names; + FStar_Syntax_Syntax.us2 = us_names1; FStar_Syntax_Syntax.t2 = typ }))) - | FStar_Reflection_Data.Unk -> failwith "packing Unk, sorry" + | FStar_Reflection_V1_Data.Unk -> failwith "packing Unk, sorry" let (inspect_lb : - FStar_Syntax_Syntax.letbinding -> FStar_Reflection_Data.lb_view) = + FStar_Syntax_Syntax.letbinding -> FStar_Reflection_V1_Data.lb_view) = fun lb -> let uu___ = lb in match uu___ with @@ -1072,30 +1108,34 @@ let (inspect_lb : | (s, us1) -> let typ1 = FStar_Syntax_Subst.subst s typ in let def1 = FStar_Syntax_Subst.subst s def in + let us2 = FStar_Compiler_List.map inspect_ident us1 in (match nm with | FStar_Pervasives.Inr fv -> { - FStar_Reflection_Data.lb_fv = fv; - FStar_Reflection_Data.lb_us = us1; - FStar_Reflection_Data.lb_typ = typ1; - FStar_Reflection_Data.lb_def = def1 + FStar_Reflection_V1_Data.lb_fv = fv; + FStar_Reflection_V1_Data.lb_us = us2; + FStar_Reflection_V1_Data.lb_typ = typ1; + FStar_Reflection_V1_Data.lb_def = def1 } | uu___2 -> failwith "Impossible: bv in top-level let binding")) let (pack_lb : - FStar_Reflection_Data.lb_view -> FStar_Syntax_Syntax.letbinding) = + FStar_Reflection_V1_Data.lb_view -> FStar_Syntax_Syntax.letbinding) = fun lbv -> let uu___ = lbv in match uu___ with - | { FStar_Reflection_Data.lb_fv = fv; FStar_Reflection_Data.lb_us = us; - FStar_Reflection_Data.lb_typ = typ; - FStar_Reflection_Data.lb_def = def;_} -> - let s = FStar_Syntax_Subst.univ_var_closing us in + | { FStar_Reflection_V1_Data.lb_fv = fv; + FStar_Reflection_V1_Data.lb_us = us; + FStar_Reflection_V1_Data.lb_typ = typ; + FStar_Reflection_V1_Data.lb_def = def;_} -> + let us1 = FStar_Compiler_List.map pack_ident us in + let s = FStar_Syntax_Subst.univ_var_closing us1 in let typ1 = FStar_Syntax_Subst.subst s typ in let def1 = FStar_Syntax_Subst.subst s def in - FStar_Syntax_Util.mk_letbinding (FStar_Pervasives.Inr fv) us typ1 + FStar_Syntax_Util.mk_letbinding (FStar_Pervasives.Inr fv) us1 typ1 FStar_Parser_Const.effect_Tot_lid def1 [] FStar_Compiler_Range_Type.dummyRange -let (inspect_bv : FStar_Syntax_Syntax.bv -> FStar_Reflection_Data.bv_view) = +let (inspect_bv : FStar_Syntax_Syntax.bv -> FStar_Reflection_V1_Data.bv_view) + = fun bv -> if bv.FStar_Syntax_Syntax.index < Prims.int_zero then @@ -1114,13 +1154,14 @@ let (inspect_bv : FStar_Syntax_Syntax.bv -> FStar_Reflection_Data.bv_view) = (let uu___1 = FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in let uu___2 = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in { - FStar_Reflection_Data.bv_ppname = uu___1; - FStar_Reflection_Data.bv_index = uu___2 + FStar_Reflection_V1_Data.bv_ppname = uu___1; + FStar_Reflection_V1_Data.bv_index = uu___2 }) -let (pack_bv : FStar_Reflection_Data.bv_view -> FStar_Syntax_Syntax.bv) = +let (pack_bv : FStar_Reflection_V1_Data.bv_view -> FStar_Syntax_Syntax.bv) = fun bvv -> (let uu___1 = - let uu___2 = FStar_BigInt.to_int_fs bvv.FStar_Reflection_Data.bv_index in + let uu___2 = + FStar_BigInt.to_int_fs bvv.FStar_Reflection_V1_Data.bv_index in uu___2 < Prims.int_zero in if uu___1 then @@ -1128,26 +1169,27 @@ let (pack_bv : FStar_Reflection_Data.bv_view -> FStar_Syntax_Syntax.bv) = let uu___3 = let uu___4 = let uu___5 = - FStar_BigInt.to_int_fs bvv.FStar_Reflection_Data.bv_index in + FStar_BigInt.to_int_fs bvv.FStar_Reflection_V1_Data.bv_index in Prims.string_of_int uu___5 in FStar_Compiler_Util.format2 "pack_bv: index is negative (%s), index = %s" - bvv.FStar_Reflection_Data.bv_ppname uu___4 in + bvv.FStar_Reflection_V1_Data.bv_ppname uu___4 in (FStar_Errors_Codes.Warning_CantInspect, uu___3) in FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2 else ()); (let uu___1 = FStar_Ident.mk_ident - ((bvv.FStar_Reflection_Data.bv_ppname), + ((bvv.FStar_Reflection_V1_Data.bv_ppname), FStar_Compiler_Range_Type.dummyRange) in - let uu___2 = FStar_BigInt.to_int_fs bvv.FStar_Reflection_Data.bv_index in + let uu___2 = + FStar_BigInt.to_int_fs bvv.FStar_Reflection_V1_Data.bv_index in { FStar_Syntax_Syntax.ppname = uu___1; FStar_Syntax_Syntax.index = uu___2; FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun }) let (inspect_binder : - FStar_Syntax_Syntax.binder -> FStar_Reflection_Data.binder_view) = + FStar_Syntax_Syntax.binder -> FStar_Reflection_V1_Data.binder_view) = fun b -> let attrs = FStar_Syntax_Util.encode_positivity_attributes @@ -1155,30 +1197,30 @@ let (inspect_binder : b.FStar_Syntax_Syntax.binder_attrs in let uu___ = inspect_bqual b.FStar_Syntax_Syntax.binder_qual in { - FStar_Reflection_Data.binder_bv = (b.FStar_Syntax_Syntax.binder_bv); - FStar_Reflection_Data.binder_qual = uu___; - FStar_Reflection_Data.binder_attrs = attrs; - FStar_Reflection_Data.binder_sort = + FStar_Reflection_V1_Data.binder_bv = (b.FStar_Syntax_Syntax.binder_bv); + FStar_Reflection_V1_Data.binder_qual = uu___; + FStar_Reflection_V1_Data.binder_attrs = attrs; + FStar_Reflection_V1_Data.binder_sort = ((b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort) } let (pack_binder : - FStar_Reflection_Data.binder_view -> FStar_Syntax_Syntax.binder) = + FStar_Reflection_V1_Data.binder_view -> FStar_Syntax_Syntax.binder) = fun bview -> let uu___ = FStar_Syntax_Util.parse_positivity_attributes - bview.FStar_Reflection_Data.binder_attrs in + bview.FStar_Reflection_V1_Data.binder_attrs in match uu___ with | (pqual, attrs) -> - let uu___1 = pack_bqual bview.FStar_Reflection_Data.binder_qual in + let uu___1 = pack_bqual bview.FStar_Reflection_V1_Data.binder_qual in { FStar_Syntax_Syntax.binder_bv = - (let uu___2 = bview.FStar_Reflection_Data.binder_bv in + (let uu___2 = bview.FStar_Reflection_V1_Data.binder_bv in { FStar_Syntax_Syntax.ppname = (uu___2.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___2.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = - (bview.FStar_Reflection_Data.binder_sort) + (bview.FStar_Reflection_V1_Data.binder_sort) }); FStar_Syntax_Syntax.binder_qual = uu___1; FStar_Syntax_Syntax.binder_positivity = pqual; @@ -1187,7 +1229,7 @@ let (pack_binder : let (moduleof : FStar_TypeChecker_Env.env -> Prims.string Prims.list) = 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) = + FStar_TypeChecker_Env.env -> FStar_Reflection_V1_Data.name Prims.list) = fun e -> let uu___ = FStar_Syntax_DsEnv.open_modules e.FStar_TypeChecker_Env.dsenv in FStar_Compiler_List.map @@ -1227,57 +1269,61 @@ let rec (term_eq : let uu___1 = inspect_ln t1 in let uu___2 = inspect_ln t2 in (uu___1, uu___2) in match uu___ with - | (FStar_Reflection_Data.Tv_Var bv1, FStar_Reflection_Data.Tv_Var bv2) - -> bv_eq bv1 bv2 - | (FStar_Reflection_Data.Tv_BVar bv1, FStar_Reflection_Data.Tv_BVar + | (FStar_Reflection_V1_Data.Tv_Var bv1, FStar_Reflection_V1_Data.Tv_Var bv2) -> bv_eq bv1 bv2 - | (FStar_Reflection_Data.Tv_FVar fv1, FStar_Reflection_Data.Tv_FVar - fv2) -> FStar_Syntax_Syntax.fv_eq fv1 fv2 - | (FStar_Reflection_Data.Tv_UInst (fv1, us1), - FStar_Reflection_Data.Tv_UInst (fv2, us2)) -> + | (FStar_Reflection_V1_Data.Tv_BVar bv1, + FStar_Reflection_V1_Data.Tv_BVar bv2) -> bv_eq bv1 bv2 + | (FStar_Reflection_V1_Data.Tv_FVar fv1, + FStar_Reflection_V1_Data.Tv_FVar fv2) -> + FStar_Syntax_Syntax.fv_eq fv1 fv2 + | (FStar_Reflection_V1_Data.Tv_UInst (fv1, us1), + FStar_Reflection_V1_Data.Tv_UInst (fv2, us2)) -> (FStar_Syntax_Syntax.fv_eq fv1 fv2) && (univs_eq us1 us2) - | (FStar_Reflection_Data.Tv_App (h1, arg1), - FStar_Reflection_Data.Tv_App (h2, arg2)) -> + | (FStar_Reflection_V1_Data.Tv_App (h1, arg1), + FStar_Reflection_V1_Data.Tv_App (h2, arg2)) -> (term_eq h1 h2) && (arg_eq arg1 arg2) - | (FStar_Reflection_Data.Tv_Abs (b1, t11), FStar_Reflection_Data.Tv_Abs - (b2, t21)) -> (binder_eq b1 b2) && (term_eq t11 t21) - | (FStar_Reflection_Data.Tv_Arrow (b1, c1), - FStar_Reflection_Data.Tv_Arrow (b2, c2)) -> + | (FStar_Reflection_V1_Data.Tv_Abs (b1, t11), + FStar_Reflection_V1_Data.Tv_Abs (b2, t21)) -> + (binder_eq b1 b2) && (term_eq t11 t21) + | (FStar_Reflection_V1_Data.Tv_Arrow (b1, c1), + FStar_Reflection_V1_Data.Tv_Arrow (b2, c2)) -> (binder_eq b1 b2) && (comp_eq c1 c2) - | (FStar_Reflection_Data.Tv_Type u1, FStar_Reflection_Data.Tv_Type u2) - -> univ_eq u1 u2 - | (FStar_Reflection_Data.Tv_Refine (b1, sort1, t11), - FStar_Reflection_Data.Tv_Refine (b2, sort2, t21)) -> + | (FStar_Reflection_V1_Data.Tv_Type u1, + FStar_Reflection_V1_Data.Tv_Type u2) -> univ_eq u1 u2 + | (FStar_Reflection_V1_Data.Tv_Refine (b1, sort1, t11), + FStar_Reflection_V1_Data.Tv_Refine (b2, sort2, t21)) -> (term_eq sort1 sort2) && (term_eq t11 t21) - | (FStar_Reflection_Data.Tv_Const c1, FStar_Reflection_Data.Tv_Const - c2) -> const_eq c1 c2 - | (FStar_Reflection_Data.Tv_Uvar (n1, uv1), - FStar_Reflection_Data.Tv_Uvar (n2, uv2)) -> n1 = n2 - | (FStar_Reflection_Data.Tv_Let (r1, ats1, bv1, ty1, m1, n1), - FStar_Reflection_Data.Tv_Let (r2, ats2, bv2, ty2, m2, n2)) -> + | (FStar_Reflection_V1_Data.Tv_Const c1, + FStar_Reflection_V1_Data.Tv_Const c2) -> const_eq c1 c2 + | (FStar_Reflection_V1_Data.Tv_Uvar (n1, uv1), + FStar_Reflection_V1_Data.Tv_Uvar (n2, uv2)) -> n1 = n2 + | (FStar_Reflection_V1_Data.Tv_Let (r1, ats1, bv1, ty1, m1, n1), + FStar_Reflection_V1_Data.Tv_Let (r2, ats2, bv2, ty2, m2, n2)) -> ((((r1 = r2) && ((eqlist ()) term_eq ats1 ats2)) && (term_eq ty1 ty2)) && (term_eq m1 m2)) && (term_eq n1 n2) - | (FStar_Reflection_Data.Tv_Match (h1, an1, brs1), - FStar_Reflection_Data.Tv_Match (h2, an2, brs2)) -> + | (FStar_Reflection_V1_Data.Tv_Match (h1, an1, brs1), + FStar_Reflection_V1_Data.Tv_Match (h2, an2, brs2)) -> ((term_eq h1 h2) && ((eqopt ()) match_ret_asc_eq an1 an2)) && ((eqlist ()) branch_eq brs1 brs2) - | (FStar_Reflection_Data.Tv_AscribedT (e1, t11, topt1, eq1), - FStar_Reflection_Data.Tv_AscribedT (e2, t21, topt2, eq2)) -> + | (FStar_Reflection_V1_Data.Tv_AscribedT (e1, t11, topt1, eq1), + FStar_Reflection_V1_Data.Tv_AscribedT (e2, t21, topt2, eq2)) -> (((term_eq e1 e2) && (term_eq t11 t21)) && ((eqopt ()) term_eq topt1 topt2)) && (eq1 = eq2) - | (FStar_Reflection_Data.Tv_AscribedC (e1, c1, topt1, eq1), - FStar_Reflection_Data.Tv_AscribedC (e2, c2, topt2, eq2)) -> + | (FStar_Reflection_V1_Data.Tv_AscribedC (e1, c1, topt1, eq1), + FStar_Reflection_V1_Data.Tv_AscribedC (e2, c2, topt2, eq2)) -> (((term_eq e1 e2) && (comp_eq c1 c2)) && ((eqopt ()) term_eq topt1 topt2)) && (eq1 = eq2) - | (FStar_Reflection_Data.Tv_Unknown, FStar_Reflection_Data.Tv_Unknown) - -> true + | (FStar_Reflection_V1_Data.Tv_Unknown, + FStar_Reflection_V1_Data.Tv_Unknown) -> true | uu___1 -> false and (arg_eq : - FStar_Reflection_Data.argv -> FStar_Reflection_Data.argv -> Prims.bool) = + FStar_Reflection_V1_Data.argv -> + FStar_Reflection_V1_Data.argv -> Prims.bool) + = fun arg1 -> fun arg2 -> let uu___ = arg1 in @@ -1287,17 +1333,18 @@ and (arg_eq : (match uu___1 with | (a2, aq2) -> (term_eq a1 a2) && (aqual_eq aq1 aq2)) and (aqual_eq : - FStar_Reflection_Data.aqualv -> FStar_Reflection_Data.aqualv -> Prims.bool) + FStar_Reflection_V1_Data.aqualv -> + FStar_Reflection_V1_Data.aqualv -> Prims.bool) = fun aq1 -> fun aq2 -> match (aq1, aq2) with - | (FStar_Reflection_Data.Q_Implicit, FStar_Reflection_Data.Q_Implicit) - -> true - | (FStar_Reflection_Data.Q_Explicit, FStar_Reflection_Data.Q_Explicit) - -> true - | (FStar_Reflection_Data.Q_Meta t1, FStar_Reflection_Data.Q_Meta t2) -> - term_eq t1 t2 + | (FStar_Reflection_V1_Data.Q_Implicit, + FStar_Reflection_V1_Data.Q_Implicit) -> true + | (FStar_Reflection_V1_Data.Q_Explicit, + FStar_Reflection_V1_Data.Q_Explicit) -> true + | (FStar_Reflection_V1_Data.Q_Meta t1, FStar_Reflection_V1_Data.Q_Meta + t2) -> term_eq t1 t2 | uu___ -> false and (binder_eq : FStar_Syntax_Syntax.binder -> FStar_Syntax_Syntax.binder -> Prims.bool) = @@ -1305,14 +1352,14 @@ and (binder_eq : fun b2 -> let bview1 = inspect_binder b1 in let bview2 = inspect_binder b2 in - ((binding_bv_eq bview1.FStar_Reflection_Data.binder_bv - bview2.FStar_Reflection_Data.binder_bv) + ((binding_bv_eq bview1.FStar_Reflection_V1_Data.binder_bv + bview2.FStar_Reflection_V1_Data.binder_bv) && - (aqual_eq bview1.FStar_Reflection_Data.binder_qual - bview2.FStar_Reflection_Data.binder_qual)) + (aqual_eq bview1.FStar_Reflection_V1_Data.binder_qual + bview2.FStar_Reflection_V1_Data.binder_qual)) && - ((eqlist ()) term_eq bview1.FStar_Reflection_Data.binder_attrs - bview2.FStar_Reflection_Data.binder_attrs) + ((eqlist ()) term_eq bview1.FStar_Reflection_V1_Data.binder_attrs + bview2.FStar_Reflection_V1_Data.binder_attrs) and (binding_bv_eq : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.bv -> Prims.bool) = fun bv1 -> @@ -1330,16 +1377,16 @@ and (comp_eq : let uu___1 = inspect_comp c1 in let uu___2 = inspect_comp c2 in (uu___1, uu___2) in match uu___ with - | (FStar_Reflection_Data.C_Total t1, FStar_Reflection_Data.C_Total t2) - -> term_eq t1 t2 - | (FStar_Reflection_Data.C_GTotal t1, FStar_Reflection_Data.C_GTotal - t2) -> term_eq t1 t2 - | (FStar_Reflection_Data.C_Lemma (pre1, post1, pats1), - FStar_Reflection_Data.C_Lemma (pre2, post2, pats2)) -> + | (FStar_Reflection_V1_Data.C_Total t1, + FStar_Reflection_V1_Data.C_Total t2) -> term_eq t1 t2 + | (FStar_Reflection_V1_Data.C_GTotal t1, + FStar_Reflection_V1_Data.C_GTotal t2) -> term_eq t1 t2 + | (FStar_Reflection_V1_Data.C_Lemma (pre1, post1, pats1), + FStar_Reflection_V1_Data.C_Lemma (pre2, post2, pats2)) -> ((term_eq pre1 pre2) && (term_eq post1 post2)) && (term_eq pats1 pats2) - | (FStar_Reflection_Data.C_Eff (us1, name1, t1, args1, decrs1), - FStar_Reflection_Data.C_Eff (us2, name2, t2, args2, decrs2)) -> + | (FStar_Reflection_V1_Data.C_Eff (us1, name1, t1, args1, decrs1), + FStar_Reflection_V1_Data.C_Eff (us2, name2, t2, args2, decrs2)) -> ((((univs_eq us1 us2) && (name1 = name2)) && (term_eq t1 t2)) && ((eqlist ()) arg_eq args1 args2)) && ((eqlist ()) term_eq decrs1 decrs2) @@ -1368,34 +1415,36 @@ and (ascription_eq : && ((eqopt ()) term_eq topt1 topt2)) && (eq1 = eq2)) and (branch_eq : - FStar_Reflection_Data.branch -> FStar_Reflection_Data.branch -> Prims.bool) + FStar_Reflection_V1_Data.branch -> + FStar_Reflection_V1_Data.branch -> Prims.bool) = fun c1 -> fun c2 -> (eqprod ()) pattern_eq term_eq c1 c2 and (pattern_eq : - FStar_Reflection_Data.pattern -> - FStar_Reflection_Data.pattern -> Prims.bool) + FStar_Reflection_V1_Data.pattern -> + FStar_Reflection_V1_Data.pattern -> Prims.bool) = fun p1 -> fun p2 -> match (p1, p2) with - | (FStar_Reflection_Data.Pat_Constant c1, - FStar_Reflection_Data.Pat_Constant c2) -> const_eq c1 c2 - | (FStar_Reflection_Data.Pat_Cons (fv1, us1, subpats1), - FStar_Reflection_Data.Pat_Cons (fv2, us2, subpats2)) -> + | (FStar_Reflection_V1_Data.Pat_Constant c1, + FStar_Reflection_V1_Data.Pat_Constant c2) -> const_eq c1 c2 + | (FStar_Reflection_V1_Data.Pat_Cons (fv1, us1, subpats1), + FStar_Reflection_V1_Data.Pat_Cons (fv2, us2, subpats2)) -> ((FStar_Syntax_Syntax.fv_eq fv1 fv2) && ((eqopt ()) ((eqlist ()) univ_eq) us1 us2)) && ((eqlist ()) ((eqprod ()) pattern_eq (fun b1 -> fun b2 -> b1 = b2)) subpats1 subpats2) - | (FStar_Reflection_Data.Pat_Var (bv1, uu___), - FStar_Reflection_Data.Pat_Var (bv2, uu___1)) -> + | (FStar_Reflection_V1_Data.Pat_Var (bv1, uu___), + FStar_Reflection_V1_Data.Pat_Var (bv2, uu___1)) -> binding_bv_eq bv1 bv2 - | (FStar_Reflection_Data.Pat_Dot_Term topt1, - FStar_Reflection_Data.Pat_Dot_Term topt2) -> + | (FStar_Reflection_V1_Data.Pat_Dot_Term topt1, + FStar_Reflection_V1_Data.Pat_Dot_Term topt2) -> (eqopt ()) term_eq topt1 topt2 | uu___ -> false and (const_eq : - FStar_Reflection_Data.vconst -> FStar_Reflection_Data.vconst -> Prims.bool) + FStar_Reflection_V1_Data.vconst -> + FStar_Reflection_V1_Data.vconst -> Prims.bool) = fun c1 -> fun c2 -> c1 = c2 and (univ_eq : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> Prims.bool) diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1_Compare.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Compare.ml new file mode 100644 index 00000000000..0d6ca374acc --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Compare.ml @@ -0,0 +1,339 @@ +open Prims +let (compare_name : + FStar_Reflection_Types.name -> + FStar_Reflection_Types.name -> FStar_Order.order) + = + fun n1 -> + fun n2 -> + FStar_Order.compare_list n1 n2 + (fun s1 -> + fun s2 -> + FStar_Order.order_from_int + (FStar_Reflection_V1_Builtins.compare_string s1 s2)) +let (compare_fv : + FStar_Reflection_Types.fv -> FStar_Reflection_Types.fv -> FStar_Order.order) + = + fun f1 -> + fun f2 -> + compare_name (FStar_Reflection_V1_Builtins.inspect_fv f1) + (FStar_Reflection_V1_Builtins.inspect_fv f2) +let (compare_const : + FStar_Reflection_V1_Data.vconst -> + FStar_Reflection_V1_Data.vconst -> FStar_Order.order) + = + fun c1 -> + fun c2 -> + match (c1, c2) with + | (FStar_Reflection_V1_Data.C_Unit, FStar_Reflection_V1_Data.C_Unit) -> + FStar_Order.Eq + | (FStar_Reflection_V1_Data.C_Int i, FStar_Reflection_V1_Data.C_Int j) + -> FStar_Order.order_from_int (i - j) + | (FStar_Reflection_V1_Data.C_True, FStar_Reflection_V1_Data.C_True) -> + FStar_Order.Eq + | (FStar_Reflection_V1_Data.C_False, FStar_Reflection_V1_Data.C_False) + -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.C_String s1, + FStar_Reflection_V1_Data.C_String s2) -> + FStar_Order.order_from_int + (FStar_Reflection_V1_Builtins.compare_string s1 s2) + | (FStar_Reflection_V1_Data.C_Range r1, + FStar_Reflection_V1_Data.C_Range r2) -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.C_Reify, FStar_Reflection_V1_Data.C_Reify) + -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.C_Reflect l1, + FStar_Reflection_V1_Data.C_Reflect l2) -> compare_name l1 l2 + | (FStar_Reflection_V1_Data.C_Unit, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Unit) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Int uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Int uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_True, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_True) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_False, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_False) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_String uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_String uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Range uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Range uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Reify, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Reify) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Reflect uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Reflect uu___1) -> FStar_Order.Gt +let (compare_binder : + FStar_Reflection_Types.binder -> + FStar_Reflection_Types.binder -> FStar_Order.order) + = + fun b1 -> + fun b2 -> + let bview1 = FStar_Reflection_V1_Builtins.inspect_binder b1 in + let bview2 = FStar_Reflection_V1_Builtins.inspect_binder b2 in + FStar_Reflection_V1_Builtins.compare_bv + bview1.FStar_Reflection_V1_Data.binder_bv + bview2.FStar_Reflection_V1_Data.binder_bv +let (compare_ident : + FStar_Reflection_V1_Data.ident -> + FStar_Reflection_V1_Data.ident -> FStar_Order.order) + = + fun i1 -> + fun i2 -> + FStar_Order.order_from_int + (FStar_Reflection_V1_Builtins.compare_string + (FStar_Pervasives_Native.fst i1) (FStar_Pervasives_Native.fst i2)) +let rec (compare_universe : + FStar_Reflection_Types.universe -> + FStar_Reflection_Types.universe -> FStar_Order.order) + = + fun u1 -> + fun u2 -> + match ((FStar_Reflection_V1_Builtins.inspect_universe u1), + (FStar_Reflection_V1_Builtins.inspect_universe u2)) + with + | (FStar_Reflection_V1_Data.Uv_Zero, FStar_Reflection_V1_Data.Uv_Zero) + -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.Uv_Succ u11, + FStar_Reflection_V1_Data.Uv_Succ u21) -> compare_universe u11 u21 + | (FStar_Reflection_V1_Data.Uv_Max us1, FStar_Reflection_V1_Data.Uv_Max + us2) -> + FStar_Order.compare_list us1 us2 + (fun x -> fun y -> compare_universe x y) + | (FStar_Reflection_V1_Data.Uv_BVar n1, + FStar_Reflection_V1_Data.Uv_BVar n2) -> + FStar_Order.compare_int n1 n2 + | (FStar_Reflection_V1_Data.Uv_Name i1, + FStar_Reflection_V1_Data.Uv_Name i2) -> compare_ident i1 i2 + | (FStar_Reflection_V1_Data.Uv_Unif u11, + FStar_Reflection_V1_Data.Uv_Unif u21) -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.Uv_Unk, FStar_Reflection_V1_Data.Uv_Unk) -> + FStar_Order.Eq + | (FStar_Reflection_V1_Data.Uv_Zero, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_Zero) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_Succ uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_Succ uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_Max uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_Max uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_BVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_BVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_Name uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_Name uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_Unif uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Uv_Unif uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Uv_Unk, uu___) -> FStar_Order.Lt +let (compare_universes : + FStar_Reflection_V1_Data.universes -> + FStar_Reflection_V1_Data.universes -> FStar_Order.order) + = fun us1 -> fun us2 -> FStar_Order.compare_list us1 us2 compare_universe +let rec (compare_term : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Order.order) + = + fun s -> + fun t -> + match ((FStar_Reflection_V1_Builtins.inspect_ln s), + (FStar_Reflection_V1_Builtins.inspect_ln t)) + with + | (FStar_Reflection_V1_Data.Tv_Var sv, FStar_Reflection_V1_Data.Tv_Var + tv) -> FStar_Reflection_V1_Builtins.compare_bv sv tv + | (FStar_Reflection_V1_Data.Tv_BVar sv, + FStar_Reflection_V1_Data.Tv_BVar tv) -> + FStar_Reflection_V1_Builtins.compare_bv sv tv + | (FStar_Reflection_V1_Data.Tv_FVar sv, + FStar_Reflection_V1_Data.Tv_FVar tv) -> compare_fv sv tv + | (FStar_Reflection_V1_Data.Tv_UInst (sv, sus), + FStar_Reflection_V1_Data.Tv_UInst (tv, tus)) -> + FStar_Order.lex (compare_fv sv tv) + (fun uu___ -> compare_universes sus tus) + | (FStar_Reflection_V1_Data.Tv_App (h1, a1), + FStar_Reflection_V1_Data.Tv_App (h2, a2)) -> + FStar_Order.lex (compare_term h1 h2) + (fun uu___ -> compare_argv a1 a2) + | (FStar_Reflection_V1_Data.Tv_Abs (b1, e1), + FStar_Reflection_V1_Data.Tv_Abs (b2, e2)) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> compare_term e1 e2) + | (FStar_Reflection_V1_Data.Tv_Refine (bv1, sort1, e1), + FStar_Reflection_V1_Data.Tv_Refine (bv2, sort2, e2)) -> + FStar_Order.lex (FStar_Reflection_V1_Builtins.compare_bv bv1 bv2) + (fun uu___ -> + FStar_Order.lex (compare_term sort1 sort2) + (fun uu___1 -> compare_term e1 e2)) + | (FStar_Reflection_V1_Data.Tv_Arrow (b1, e1), + FStar_Reflection_V1_Data.Tv_Arrow (b2, e2)) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> compare_comp e1 e2) + | (FStar_Reflection_V1_Data.Tv_Type su, + FStar_Reflection_V1_Data.Tv_Type tu) -> compare_universe su tu + | (FStar_Reflection_V1_Data.Tv_Const c1, + FStar_Reflection_V1_Data.Tv_Const c2) -> compare_const c1 c2 + | (FStar_Reflection_V1_Data.Tv_Uvar (u1, uu___), + FStar_Reflection_V1_Data.Tv_Uvar (u2, uu___1)) -> + FStar_Order.compare_int u1 u2 + | (FStar_Reflection_V1_Data.Tv_Let (_r1, _attrs1, bv1, ty1, t1, t1'), + FStar_Reflection_V1_Data.Tv_Let (_r2, _attrs2, bv2, ty2, t2, t2')) + -> + FStar_Order.lex (FStar_Reflection_V1_Builtins.compare_bv bv1 bv2) + (fun uu___ -> + FStar_Order.lex (compare_term ty1 ty2) + (fun uu___1 -> + FStar_Order.lex (compare_term t1 t2) + (fun uu___2 -> compare_term t1' t2'))) + | (FStar_Reflection_V1_Data.Tv_Match (uu___, uu___1, uu___2), + FStar_Reflection_V1_Data.Tv_Match (uu___3, uu___4, uu___5)) -> + FStar_Order.Eq + | (FStar_Reflection_V1_Data.Tv_AscribedT (e1, t1, tac1, uu___), + FStar_Reflection_V1_Data.Tv_AscribedT (e2, t2, tac2, uu___1)) -> + FStar_Order.lex (compare_term e1 e2) + (fun uu___2 -> + FStar_Order.lex (compare_term t1 t2) + (fun uu___3 -> + match (tac1, tac2) with + | (FStar_Pervasives_Native.None, + FStar_Pervasives_Native.None) -> FStar_Order.Eq + | (FStar_Pervasives_Native.None, uu___4) -> + FStar_Order.Lt + | (uu___4, FStar_Pervasives_Native.None) -> + FStar_Order.Gt + | (FStar_Pervasives_Native.Some e11, + FStar_Pervasives_Native.Some e21) -> + compare_term e11 e21)) + | (FStar_Reflection_V1_Data.Tv_AscribedC (e1, c1, tac1, uu___), + FStar_Reflection_V1_Data.Tv_AscribedC (e2, c2, tac2, uu___1)) -> + FStar_Order.lex (compare_term e1 e2) + (fun uu___2 -> + FStar_Order.lex (compare_comp c1 c2) + (fun uu___3 -> + match (tac1, tac2) with + | (FStar_Pervasives_Native.None, + FStar_Pervasives_Native.None) -> FStar_Order.Eq + | (FStar_Pervasives_Native.None, uu___4) -> + FStar_Order.Lt + | (uu___4, FStar_Pervasives_Native.None) -> + FStar_Order.Gt + | (FStar_Pervasives_Native.Some e11, + FStar_Pervasives_Native.Some e21) -> + compare_term e11 e21)) + | (FStar_Reflection_V1_Data.Tv_Unknown, + FStar_Reflection_V1_Data.Tv_Unknown) -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.Tv_Unsupp, + FStar_Reflection_V1_Data.Tv_Unsupp) -> FStar_Order.Eq + | (FStar_Reflection_V1_Data.Tv_Var uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Var uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_BVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_BVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_FVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_FVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_UInst (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_UInst (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_App (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_App (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Abs (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Abs (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Arrow (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Arrow (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Type uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Type uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Refine (uu___, uu___1, uu___2), uu___3) + -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Refine (uu___1, uu___2, uu___3)) + -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Const uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Const uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Uvar (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Uvar (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Let + (uu___, uu___1, uu___2, uu___3, uu___4, uu___5), uu___6) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Let + (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6)) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Match (uu___, uu___1, uu___2), uu___3) + -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Match (uu___1, uu___2, uu___3)) + -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_AscribedT + (uu___, uu___1, uu___2, uu___3), uu___4) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_AscribedT + (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_AscribedC + (uu___, uu___1, uu___2, uu___3), uu___4) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_AscribedC + (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Unknown, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Unknown) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.Tv_Unsupp, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.Tv_Unsupp) -> FStar_Order.Gt +and (compare_term_list : + FStar_Reflection_Types.term Prims.list -> + FStar_Reflection_Types.term Prims.list -> FStar_Order.order) + = + fun l1 -> + fun l2 -> + match (l1, l2) with + | ([], []) -> FStar_Order.Eq + | ([], uu___) -> FStar_Order.Lt + | (uu___, []) -> FStar_Order.Gt + | (hd1::tl1, hd2::tl2) -> + FStar_Order.lex (compare_term hd1 hd2) + (fun uu___ -> compare_term_list tl1 tl2) +and (compare_argv : + FStar_Reflection_V1_Data.argv -> + FStar_Reflection_V1_Data.argv -> FStar_Order.order) + = + fun a1 -> + fun a2 -> + let uu___ = a1 in + match uu___ with + | (a11, q1) -> + let uu___1 = a2 in + (match uu___1 with + | (a21, q2) -> + (match (q1, q2) with + | (FStar_Reflection_V1_Data.Q_Implicit, + FStar_Reflection_V1_Data.Q_Explicit) -> FStar_Order.Lt + | (FStar_Reflection_V1_Data.Q_Explicit, + FStar_Reflection_V1_Data.Q_Implicit) -> FStar_Order.Gt + | (uu___2, uu___3) -> compare_term a11 a21)) +and (compare_comp : + FStar_Reflection_Types.comp -> + FStar_Reflection_Types.comp -> FStar_Order.order) + = + fun c1 -> + fun c2 -> + let cv1 = FStar_Reflection_V1_Builtins.inspect_comp c1 in + let cv2 = FStar_Reflection_V1_Builtins.inspect_comp c2 in + match (cv1, cv2) with + | (FStar_Reflection_V1_Data.C_Total t1, + FStar_Reflection_V1_Data.C_Total t2) -> compare_term t1 t2 + | (FStar_Reflection_V1_Data.C_GTotal t1, + FStar_Reflection_V1_Data.C_GTotal t2) -> compare_term t1 t2 + | (FStar_Reflection_V1_Data.C_Lemma (p1, q1, s1), + FStar_Reflection_V1_Data.C_Lemma (p2, q2, s2)) -> + FStar_Order.lex (compare_term p1 p2) + (fun uu___ -> + FStar_Order.lex (compare_term q1 q2) + (fun uu___1 -> compare_term s1 s2)) + | (FStar_Reflection_V1_Data.C_Eff (us1, eff1, res1, args1, _decrs1), + FStar_Reflection_V1_Data.C_Eff (us2, eff2, res2, args2, _decrs2)) -> + FStar_Order.lex (compare_universes us1 us2) + (fun uu___ -> + FStar_Order.lex (compare_name eff1 eff2) + (fun uu___1 -> compare_term res1 res2)) + | (FStar_Reflection_V1_Data.C_Total uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Total uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_GTotal uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_GTotal uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Lemma (uu___, uu___1, uu___2), uu___3) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Lemma (uu___1, uu___2, uu___3)) -> + FStar_Order.Gt + | (FStar_Reflection_V1_Data.C_Eff + (uu___, uu___1, uu___2, uu___3, uu___4), uu___5) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V1_Data.C_Eff + (uu___1, uu___2, uu___3, uu___4, uu___5)) -> FStar_Order.Gt \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Constants.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Constants.ml similarity index 90% rename from ocaml/fstar-lib/generated/FStar_Reflection_Constants.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Constants.ml index 39cb0795833..8c9fbd7ff8a 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Constants.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Constants.ml @@ -20,14 +20,12 @@ let (fstar_refl_lid : Prims.string Prims.list -> FStar_Ident.lident) = FStar_Ident.lid_of_path (FStar_Compiler_List.op_At ["FStar"; "Reflection"] s) FStar_Compiler_Range_Type.dummyRange -let (fstar_refl_builtins_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Builtins"; s] -let (fstar_refl_syntax_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Syntax"; s] let (fstar_refl_types_lid : Prims.string -> FStar_Ident.lident) = fun s -> fstar_refl_lid ["Types"; s] +let (fstar_refl_builtins_lid : Prims.string -> FStar_Ident.lident) = + fun s -> fstar_refl_lid ["V1"; "Builtins"; s] let (fstar_refl_data_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Data"; s] + fun s -> fstar_refl_lid ["V1"; "Data"; s] let (fstar_refl_data_const : Prims.string -> refl_constant) = fun s -> let lid = fstar_refl_data_lid s in @@ -42,12 +40,6 @@ let (mk_refl_types_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = let (mk_refl_types_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = fun s -> let uu___ = fstar_refl_types_lid s in FStar_Syntax_Syntax.fvconst uu___ -let (mk_refl_syntax_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu___ = fstar_refl_syntax_lid s in FStar_Syntax_Syntax.tconst uu___ -let (mk_refl_syntax_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = - fun s -> - let uu___ = fstar_refl_syntax_lid s in FStar_Syntax_Syntax.fvconst uu___ let (mk_refl_data_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = fun s -> let uu___ = fstar_refl_data_lid s in FStar_Syntax_Syntax.tconst uu___ @@ -70,72 +62,72 @@ let (mk_inspect_pack_pair : Prims.string -> (refl_constant * refl_constant)) let uu___ = FStar_Syntax_Syntax.fv_to_tm pack_fv in { lid = pack_lid; fv = pack_fv; t = uu___ } in (inspect, pack) -let (uu___34 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_ln" +let (uu___31 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_ln" let (fstar_refl_inspect_ln : refl_constant) = - match uu___34 with + match uu___31 with | (fstar_refl_inspect_ln1, fstar_refl_pack_ln) -> fstar_refl_inspect_ln1 let (fstar_refl_pack_ln : refl_constant) = - match uu___34 with + match uu___31 with | (fstar_refl_inspect_ln1, fstar_refl_pack_ln1) -> fstar_refl_pack_ln1 -let (uu___41 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_fv" +let (uu___38 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_fv" let (fstar_refl_inspect_fv : refl_constant) = - match uu___41 with + match uu___38 with | (fstar_refl_inspect_fv1, fstar_refl_pack_fv) -> fstar_refl_inspect_fv1 let (fstar_refl_pack_fv : refl_constant) = - match uu___41 with + match uu___38 with | (fstar_refl_inspect_fv1, fstar_refl_pack_fv1) -> fstar_refl_pack_fv1 -let (uu___48 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_bv" +let (uu___45 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_bv" let (fstar_refl_inspect_bv : refl_constant) = - match uu___48 with + match uu___45 with | (fstar_refl_inspect_bv1, fstar_refl_pack_bv) -> fstar_refl_inspect_bv1 let (fstar_refl_pack_bv : refl_constant) = - match uu___48 with + match uu___45 with | (fstar_refl_inspect_bv1, fstar_refl_pack_bv1) -> fstar_refl_pack_bv1 -let (uu___55 : (refl_constant * refl_constant)) = +let (uu___52 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_binder" let (fstar_refl_inspect_binder : refl_constant) = - match uu___55 with + match uu___52 with | (fstar_refl_inspect_binder1, fstar_refl_pack_binder) -> fstar_refl_inspect_binder1 let (fstar_refl_pack_binder : refl_constant) = - match uu___55 with + match uu___52 with | (fstar_refl_inspect_binder1, fstar_refl_pack_binder1) -> fstar_refl_pack_binder1 -let (uu___62 : (refl_constant * refl_constant)) = +let (uu___59 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_comp" let (fstar_refl_inspect_comp : refl_constant) = - match uu___62 with + match uu___59 with | (fstar_refl_inspect_comp1, fstar_refl_pack_comp) -> fstar_refl_inspect_comp1 let (fstar_refl_pack_comp : refl_constant) = - match uu___62 with + match uu___59 with | (fstar_refl_inspect_comp1, fstar_refl_pack_comp1) -> fstar_refl_pack_comp1 -let (uu___69 : (refl_constant * refl_constant)) = +let (uu___66 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_sigelt" let (fstar_refl_inspect_sigelt : refl_constant) = - match uu___69 with + match uu___66 with | (fstar_refl_inspect_sigelt1, fstar_refl_pack_sigelt) -> fstar_refl_inspect_sigelt1 let (fstar_refl_pack_sigelt : refl_constant) = - match uu___69 with + match uu___66 with | (fstar_refl_inspect_sigelt1, fstar_refl_pack_sigelt1) -> fstar_refl_pack_sigelt1 -let (uu___76 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_lb" +let (uu___73 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_lb" let (fstar_refl_inspect_lb : refl_constant) = - match uu___76 with + match uu___73 with | (fstar_refl_inspect_lb1, fstar_refl_pack_lb) -> fstar_refl_inspect_lb1 let (fstar_refl_pack_lb : refl_constant) = - match uu___76 with + match uu___73 with | (fstar_refl_inspect_lb1, fstar_refl_pack_lb1) -> fstar_refl_pack_lb1 -let (uu___83 : (refl_constant * refl_constant)) = +let (uu___80 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_universe" let (fstar_refl_inspect_universe : refl_constant) = - match uu___83 with + match uu___80 with | (fstar_refl_inspect_universe1, fstar_refl_pack_universe) -> fstar_refl_inspect_universe1 let (fstar_refl_pack_universe : refl_constant) = - match uu___83 with + match uu___80 with | (fstar_refl_inspect_universe1, fstar_refl_pack_universe1) -> fstar_refl_pack_universe1 let (fstar_refl_env : FStar_Syntax_Syntax.term) = @@ -226,10 +218,6 @@ let (fstar_refl_sigelt_view : FStar_Syntax_Syntax.term) = 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" -let (fstar_refl_exp : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "exp" -let (fstar_refl_exp_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "exp" let (fstar_refl_qualifier : FStar_Syntax_Syntax.term) = mk_refl_data_lid_as_term "qualifier" let (fstar_refl_qualifier_fv : FStar_Syntax_Syntax.fv) = @@ -402,14 +390,6 @@ let (ref_qual_HasMaskedEffect : refl_constant) = fstar_refl_data_const "HasMaskedEffect" let (ref_qual_Effect : refl_constant) = fstar_refl_data_const "Effect" let (ref_qual_OnlyName : refl_constant) = fstar_refl_data_const "OnlyName" -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___ = - FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Data"; "exp"] - FStar_Compiler_Range_Type.dummyRange in - FStar_Syntax_Syntax.tconst uu___ let (ord_Lt_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Order"; "Lt"] FStar_Compiler_Range_Type.dummyRange diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Data.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Data.ml similarity index 94% rename from ocaml/fstar-lib/generated/FStar_Reflection_Data.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Data.ml index ef4b4d4ac10..ebcf9b1a588 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Data.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Data.ml @@ -2,6 +2,8 @@ open Prims type name = Prims.string Prims.list type typ = FStar_Syntax_Syntax.term type binders = FStar_Syntax_Syntax.binder Prims.list +type ident = (Prims.string * FStar_Compiler_Range_Type.range) +type univ_name = ident type vconst = | C_Unit | C_Int of FStar_BigInt.t @@ -303,14 +305,13 @@ type ctor = (name * typ) type lb_view = { lb_fv: FStar_Syntax_Syntax.fv ; - lb_us: FStar_Syntax_Syntax.univ_name Prims.list ; + lb_us: univ_name Prims.list ; lb_typ: typ ; lb_def: FStar_Syntax_Syntax.term } let (__proj__Mklb_view__item__lb_fv : lb_view -> FStar_Syntax_Syntax.fv) = fun projectee -> match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_fv -let (__proj__Mklb_view__item__lb_us : - lb_view -> FStar_Syntax_Syntax.univ_name Prims.list) = +let (__proj__Mklb_view__item__lb_us : lb_view -> univ_name Prims.list) = fun projectee -> match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_us let (__proj__Mklb_view__item__lb_typ : lb_view -> typ) = @@ -321,9 +322,9 @@ let (__proj__Mklb_view__item__lb_def : lb_view -> FStar_Syntax_Syntax.term) = match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_def type sigelt_view = | Sg_Let of (Prims.bool * FStar_Syntax_Syntax.letbinding Prims.list) - | Sg_Inductive of (name * FStar_Syntax_Syntax.univ_name Prims.list * - FStar_Syntax_Syntax.binder Prims.list * typ * ctor Prims.list) - | Sg_Val of (name * FStar_Syntax_Syntax.univ_name Prims.list * typ) + | Sg_Inductive of (name * univ_name Prims.list * FStar_Syntax_Syntax.binder + Prims.list * typ * ctor Prims.list) + | Sg_Val of (name * univ_name Prims.list * typ) | Unk let (uu___is_Sg_Let : sigelt_view -> Prims.bool) = fun projectee -> match projectee with | Sg_Let _0 -> true | uu___ -> false @@ -335,13 +336,13 @@ let (uu___is_Sg_Inductive : sigelt_view -> Prims.bool) = match projectee with | Sg_Inductive _0 -> true | uu___ -> false let (__proj__Sg_Inductive__item___0 : sigelt_view -> - (name * FStar_Syntax_Syntax.univ_name Prims.list * - FStar_Syntax_Syntax.binder Prims.list * typ * ctor Prims.list)) + (name * univ_name Prims.list * FStar_Syntax_Syntax.binder Prims.list * + typ * ctor Prims.list)) = fun projectee -> match projectee with | Sg_Inductive _0 -> _0 let (uu___is_Sg_Val : sigelt_view -> Prims.bool) = fun projectee -> match projectee with | Sg_Val _0 -> true | uu___ -> false let (__proj__Sg_Val__item___0 : - sigelt_view -> (name * FStar_Syntax_Syntax.univ_name Prims.list * typ)) = + sigelt_view -> (name * univ_name Prims.list * typ)) = fun projectee -> match projectee with | Sg_Val _0 -> _0 let (uu___is_Unk : sigelt_view -> Prims.bool) = fun projectee -> match projectee with | Unk -> true | uu___ -> false @@ -362,11 +363,9 @@ type qualifier = | Reifiable | Reflectable of FStar_Ident.lid | Discriminator of FStar_Ident.lid - | Projector of (FStar_Ident.lid * FStar_Ident.ident) - | RecordType of (FStar_Ident.ident Prims.list * FStar_Ident.ident - Prims.list) - | RecordConstructor of (FStar_Ident.ident Prims.list * FStar_Ident.ident - Prims.list) + | Projector of (FStar_Ident.lid * ident) + | RecordType of (ident Prims.list * ident Prims.list) + | RecordConstructor of (ident Prims.list * ident Prims.list) | Action of FStar_Ident.lid | ExceptionConstructor | HasMaskedEffect @@ -421,21 +420,20 @@ let (__proj__Discriminator__item___0 : qualifier -> FStar_Ident.lid) = let (uu___is_Projector : qualifier -> Prims.bool) = fun projectee -> match projectee with | Projector _0 -> true | uu___ -> false -let (__proj__Projector__item___0 : - qualifier -> (FStar_Ident.lid * FStar_Ident.ident)) = +let (__proj__Projector__item___0 : qualifier -> (FStar_Ident.lid * ident)) = fun projectee -> match projectee with | Projector _0 -> _0 let (uu___is_RecordType : qualifier -> Prims.bool) = fun projectee -> match projectee with | RecordType _0 -> true | uu___ -> 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 + qualifier -> (ident Prims.list * ident Prims.list)) = + fun projectee -> match projectee with | RecordType _0 -> _0 let (uu___is_RecordConstructor : qualifier -> Prims.bool) = fun projectee -> match projectee with | RecordConstructor _0 -> true | uu___ -> 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 + qualifier -> (ident Prims.list * ident Prims.list)) = + fun projectee -> match projectee with | RecordConstructor _0 -> _0 let (uu___is_Action : qualifier -> Prims.bool) = fun projectee -> match projectee with | Action _0 -> true | uu___ -> false let (__proj__Action__item___0 : qualifier -> FStar_Ident.lid) = diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Derived.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived.ml similarity index 54% rename from ocaml/fstar-lib/generated/FStar_Reflection_Derived.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived.ml index ab95c819933..1dc863f3efe 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Derived.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived.ml @@ -2,14 +2,14 @@ open Prims let (bv_of_binder : FStar_Reflection_Types.binder -> FStar_Reflection_Types.bv) = fun b -> - (FStar_Reflection_Builtins.inspect_binder b).FStar_Reflection_Data.binder_bv + (FStar_Reflection_V1_Builtins.inspect_binder b).FStar_Reflection_V1_Data.binder_bv let rec (inspect_ln_unascribe : - FStar_Reflection_Types.term -> FStar_Reflection_Data.term_view) = + FStar_Reflection_Types.term -> FStar_Reflection_V1_Data.term_view) = fun t -> - match FStar_Reflection_Builtins.inspect_ln t with - | FStar_Reflection_Data.Tv_AscribedT (t', uu___, uu___1, uu___2) -> + match FStar_Reflection_V1_Builtins.inspect_ln t with + | FStar_Reflection_V1_Data.Tv_AscribedT (t', uu___, uu___1, uu___2) -> inspect_ln_unascribe t' - | FStar_Reflection_Data.Tv_AscribedC (t', uu___, uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (t', uu___, uu___1, uu___2) -> inspect_ln_unascribe t' | tv -> tv let (mk_binder : @@ -18,13 +18,13 @@ let (mk_binder : = fun bv -> fun sort -> - FStar_Reflection_Builtins.pack_binder + FStar_Reflection_V1_Builtins.pack_binder { - FStar_Reflection_Data.binder_bv = bv; - FStar_Reflection_Data.binder_qual = - FStar_Reflection_Data.Q_Explicit; - FStar_Reflection_Data.binder_attrs = []; - FStar_Reflection_Data.binder_sort = sort + FStar_Reflection_V1_Data.binder_bv = bv; + FStar_Reflection_V1_Data.binder_qual = + FStar_Reflection_V1_Data.Q_Explicit; + FStar_Reflection_V1_Data.binder_attrs = []; + FStar_Reflection_V1_Data.binder_sort = sort } let (mk_implicit_binder : FStar_Reflection_Types.bv -> @@ -32,18 +32,18 @@ let (mk_implicit_binder : = fun bv -> fun sort -> - FStar_Reflection_Builtins.pack_binder + FStar_Reflection_V1_Builtins.pack_binder { - FStar_Reflection_Data.binder_bv = bv; - FStar_Reflection_Data.binder_qual = - FStar_Reflection_Data.Q_Implicit; - FStar_Reflection_Data.binder_attrs = []; - FStar_Reflection_Data.binder_sort = sort + FStar_Reflection_V1_Data.binder_bv = bv; + FStar_Reflection_V1_Data.binder_qual = + FStar_Reflection_V1_Data.Q_Implicit; + FStar_Reflection_V1_Data.binder_attrs = []; + FStar_Reflection_V1_Data.binder_sort = sort } let (type_of_binder : FStar_Reflection_Types.binder -> FStar_Reflection_Types.typ) = fun b -> - (FStar_Reflection_Builtins.inspect_binder b).FStar_Reflection_Data.binder_sort + (FStar_Reflection_V1_Builtins.inspect_binder b).FStar_Reflection_V1_Data.binder_sort let rec (flatten_name : FStar_Reflection_Types.name -> Prims.string) = fun ns -> match ns with @@ -51,22 +51,24 @@ let rec (flatten_name : FStar_Reflection_Types.name -> Prims.string) = | n::[] -> n | n::ns1 -> Prims.strcat n (Prims.strcat "." (flatten_name ns1)) let rec (collect_app_ln' : - FStar_Reflection_Data.argv Prims.list -> + FStar_Reflection_V1_Data.argv Prims.list -> FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list)) + (FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv + Prims.list)) = fun args -> fun t -> match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_App (l, r) -> collect_app_ln' (r :: args) l + | FStar_Reflection_V1_Data.Tv_App (l, r) -> + collect_app_ln' (r :: args) l | uu___ -> (t, args) let (collect_app_ln : FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list)) + (FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv Prims.list)) = collect_app_ln' [] let rec (mk_app : FStar_Reflection_Types.term -> - FStar_Reflection_Data.argv Prims.list -> FStar_Reflection_Types.term) + FStar_Reflection_V1_Data.argv Prims.list -> FStar_Reflection_Types.term) = fun t -> fun args -> @@ -74,18 +76,18 @@ let rec (mk_app : | [] -> t | x::xs -> mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App (t, x))) xs + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_App (t, x))) xs let (mk_e_app : FStar_Reflection_Types.term -> FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) = fun t -> fun args -> - let e t1 = (t1, FStar_Reflection_Data.Q_Explicit) in + let e t1 = (t1, FStar_Reflection_V1_Data.Q_Explicit) in mk_app t (FStar_List_Tot_Base.map e args) let (u_unk : FStar_Reflection_Types.universe) = - FStar_Reflection_Builtins.pack_universe FStar_Reflection_Data.Uv_Unk + FStar_Reflection_V2_Builtins.pack_universe FStar_Reflection_V2_Data.Uv_Unk let rec (mk_tot_arr_ln : FStar_Reflection_Types.binder Prims.list -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term) @@ -95,11 +97,11 @@ let rec (mk_tot_arr_ln : match bs with | [] -> cod | b::bs1 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_Arrow (b, - (FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total (mk_tot_arr_ln bs1 cod))))) + (FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total (mk_tot_arr_ln bs1 cod))))) let rec (collect_arr' : FStar_Reflection_Types.binder Prims.list -> FStar_Reflection_Types.comp -> @@ -108,10 +110,10 @@ let rec (collect_arr' : = fun bs -> fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total t -> (match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_Arrow (b, c1) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c1) -> collect_arr' (b :: bs) c1 | uu___ -> (bs, c)) | uu___ -> (bs, c) @@ -122,8 +124,8 @@ let (collect_arr_ln_bs : fun t -> let uu___ = collect_arr' [] - (FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total t)) in + (FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total t)) in match uu___ with | (bs, c) -> ((FStar_List_Tot_Base.rev bs), c) let (collect_arr_ln : FStar_Reflection_Types.typ -> @@ -142,7 +144,7 @@ let rec (collect_abs' : fun bs -> fun t -> match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_Abs (b, t') -> collect_abs' (b :: bs) t' + | FStar_Reflection_V1_Data.Tv_Abs (b, t') -> collect_abs' (b :: bs) t' | uu___ -> (bs, t) let (collect_abs_ln : FStar_Reflection_Types.term -> @@ -153,12 +155,13 @@ let (collect_abs_ln : match uu___ with | (bs, t') -> ((FStar_List_Tot_Base.rev bs), t') let (fv_to_string : FStar_Reflection_Types.fv -> Prims.string) = fun fv -> - FStar_Reflection_Builtins.implode_qn - (FStar_Reflection_Builtins.inspect_fv fv) + FStar_Reflection_V1_Builtins.implode_qn + (FStar_Reflection_V1_Builtins.inspect_fv fv) let (mk_stringlit : Prims.string -> FStar_Reflection_Types.term) = fun s -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_String s)) + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_Const + (FStar_Reflection_V1_Data.C_String s)) let (mk_strcat : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> FStar_Reflection_Types.term) @@ -166,9 +169,9 @@ let (mk_strcat : fun t1 -> fun t2 -> mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "strcat"]))) + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "strcat"]))) [t1; t2] let (mk_cons : FStar_Reflection_Types.term -> @@ -177,9 +180,9 @@ let (mk_cons : fun h -> fun t -> mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv FStar_Reflection_Const.cons_qn))) [h; t] let (mk_cons_t : FStar_Reflection_Types.term -> @@ -190,29 +193,30 @@ let (mk_cons_t : fun h -> fun t -> mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv FStar_Reflection_Const.cons_qn))) - [(ty, FStar_Reflection_Data.Q_Implicit); - (h, FStar_Reflection_Data.Q_Explicit); - (t, FStar_Reflection_Data.Q_Explicit)] + [(ty, FStar_Reflection_V1_Data.Q_Implicit); + (h, FStar_Reflection_V1_Data.Q_Explicit); + (t, FStar_Reflection_V1_Data.Q_Explicit)] let rec (mk_list : FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) = fun ts -> match ts with | [] -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.nil_qn)) + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.nil_qn)) | t::ts1 -> mk_cons t (mk_list ts1) let (mktuple_n : FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) = fun ts -> match FStar_List_Tot_Base.length ts with | uu___ when uu___ = Prims.int_zero -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const FStar_Reflection_Data.C_Unit) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_Unit) | uu___ when uu___ = Prims.int_one -> let uu___1 = ts in (match uu___1 with | x::[] -> x) | n -> @@ -233,9 +237,9 @@ let (mktuple_n : | uu___ when uu___ = (Prims.of_int (8)) -> FStar_Reflection_Const.mktuple8_qn in mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv qn))) ts + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv qn))) ts let (destruct_tuple : FStar_Reflection_Types.term -> FStar_Reflection_Types.term Prims.list FStar_Pervasives_Native.option) @@ -244,11 +248,11 @@ let (destruct_tuple : let uu___ = collect_app_ln t in match uu___ with | (head, args) -> - (match FStar_Reflection_Builtins.inspect_ln head with - | FStar_Reflection_Data.Tv_FVar fv -> + (match FStar_Reflection_V1_Builtins.inspect_ln head with + | FStar_Reflection_V1_Data.Tv_FVar fv -> if FStar_List_Tot_Base.mem - (FStar_Reflection_Builtins.inspect_fv fv) + (FStar_Reflection_V1_Builtins.inspect_fv fv) [FStar_Reflection_Const.mktuple2_qn; FStar_Reflection_Const.mktuple3_qn; FStar_Reflection_Const.mktuple4_qn; @@ -263,7 +267,7 @@ let (destruct_tuple : match uu___1 with | (t1, q) -> (match q with - | FStar_Reflection_Data.Q_Explicit -> [t1] + | FStar_Reflection_V1_Data.Q_Explicit -> [t1] | uu___2 -> [])) args) else FStar_Pervasives_Native.None | uu___1 -> FStar_Pervasives_Native.None) @@ -273,38 +277,38 @@ let (mkpair : = fun t1 -> fun t2 -> mktuple_n [t1; t2] let rec (head : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = fun t -> - match FStar_Reflection_Builtins.inspect_ln t with - | FStar_Reflection_Data.Tv_Match (t1, uu___, uu___1) -> head t1 - | FStar_Reflection_Data.Tv_Let + match FStar_Reflection_V1_Builtins.inspect_ln t with + | FStar_Reflection_V1_Data.Tv_Match (t1, uu___, uu___1) -> head t1 + | FStar_Reflection_V1_Data.Tv_Let (uu___, uu___1, uu___2, uu___3, t1, uu___4) -> head t1 - | FStar_Reflection_Data.Tv_Abs (uu___, t1) -> head t1 - | FStar_Reflection_Data.Tv_Refine (uu___, uu___1, t1) -> head t1 - | FStar_Reflection_Data.Tv_App (t1, uu___) -> head t1 - | FStar_Reflection_Data.Tv_AscribedT (t1, uu___, uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_Abs (uu___, t1) -> head t1 + | FStar_Reflection_V1_Data.Tv_Refine (uu___, uu___1, t1) -> head t1 + | FStar_Reflection_V1_Data.Tv_App (t1, uu___) -> head t1 + | FStar_Reflection_V1_Data.Tv_AscribedT (t1, uu___, uu___1, uu___2) -> head t1 - | FStar_Reflection_Data.Tv_AscribedC (t1, uu___, uu___1, uu___2) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (t1, uu___, uu___1, uu___2) -> head t1 - | FStar_Reflection_Data.Tv_Unknown -> t - | FStar_Reflection_Data.Tv_Uvar (uu___, uu___1) -> t - | FStar_Reflection_Data.Tv_Const uu___ -> t - | FStar_Reflection_Data.Tv_Type uu___ -> t - | FStar_Reflection_Data.Tv_Var uu___ -> t - | FStar_Reflection_Data.Tv_BVar uu___ -> t - | FStar_Reflection_Data.Tv_FVar uu___ -> t - | FStar_Reflection_Data.Tv_UInst (uu___, uu___1) -> t - | FStar_Reflection_Data.Tv_Arrow (uu___, uu___1) -> t - | FStar_Reflection_Data.Tv_Unsupp -> t + | FStar_Reflection_V1_Data.Tv_Unknown -> t + | FStar_Reflection_V1_Data.Tv_Uvar (uu___, uu___1) -> t + | FStar_Reflection_V1_Data.Tv_Const uu___ -> t + | FStar_Reflection_V1_Data.Tv_Type uu___ -> t + | FStar_Reflection_V1_Data.Tv_Var uu___ -> t + | FStar_Reflection_V1_Data.Tv_BVar uu___ -> t + | FStar_Reflection_V1_Data.Tv_FVar uu___ -> t + | FStar_Reflection_V1_Data.Tv_UInst (uu___, uu___1) -> t + | FStar_Reflection_V1_Data.Tv_Arrow (uu___, uu___1) -> t + | FStar_Reflection_V1_Data.Tv_Unsupp -> t let (is_fvar : FStar_Reflection_Types.term -> Prims.string -> Prims.bool) = fun t -> fun nm -> match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_FVar fv -> - (FStar_Reflection_Builtins.implode_qn - (FStar_Reflection_Builtins.inspect_fv fv)) + | FStar_Reflection_V1_Data.Tv_FVar fv -> + (FStar_Reflection_V1_Builtins.implode_qn + (FStar_Reflection_V1_Builtins.inspect_fv fv)) = nm - | FStar_Reflection_Data.Tv_UInst (fv, uu___) -> - (FStar_Reflection_Builtins.implode_qn - (FStar_Reflection_Builtins.inspect_fv fv)) + | FStar_Reflection_V1_Data.Tv_UInst (fv, uu___) -> + (FStar_Reflection_V1_Builtins.implode_qn + (FStar_Reflection_V1_Builtins.inspect_fv fv)) = nm | uu___ -> false let rec (is_any_fvar : @@ -316,25 +320,25 @@ let rec (is_any_fvar : | v::vs -> (is_fvar t v) || (is_any_fvar t vs) let (is_uvar : FStar_Reflection_Types.term -> Prims.bool) = fun t -> - match FStar_Reflection_Builtins.inspect_ln (head t) with - | FStar_Reflection_Data.Tv_Uvar (uu___, uu___1) -> true + match FStar_Reflection_V1_Builtins.inspect_ln (head t) with + | FStar_Reflection_V1_Data.Tv_Uvar (uu___, uu___1) -> true | uu___ -> false let (binder_set_qual : - FStar_Reflection_Data.aqualv -> + FStar_Reflection_V1_Data.aqualv -> FStar_Reflection_Types.binder -> FStar_Reflection_Types.binder) = fun q -> fun b -> - let bview = FStar_Reflection_Builtins.inspect_binder b in - FStar_Reflection_Builtins.pack_binder + let bview = FStar_Reflection_V1_Builtins.inspect_binder b in + FStar_Reflection_V1_Builtins.pack_binder { - FStar_Reflection_Data.binder_bv = - (bview.FStar_Reflection_Data.binder_bv); - FStar_Reflection_Data.binder_qual = q; - FStar_Reflection_Data.binder_attrs = - (bview.FStar_Reflection_Data.binder_attrs); - FStar_Reflection_Data.binder_sort = - (bview.FStar_Reflection_Data.binder_sort) + FStar_Reflection_V1_Data.binder_bv = + (bview.FStar_Reflection_V1_Data.binder_bv); + FStar_Reflection_V1_Data.binder_qual = q; + FStar_Reflection_V1_Data.binder_attrs = + (bview.FStar_Reflection_V1_Data.binder_attrs); + FStar_Reflection_V1_Data.binder_sort = + (bview.FStar_Reflection_V1_Data.binder_sort) } let (add_check_with : FStar_VConfig.vconfig -> @@ -342,38 +346,40 @@ let (add_check_with : = fun vcfg -> fun se -> - let attrs = FStar_Reflection_Builtins.sigelt_attrs se in - let vcfg_t = FStar_Reflection_Builtins.embed_vconfig vcfg in + let attrs = FStar_Reflection_V1_Builtins.sigelt_attrs se in + let vcfg_t = FStar_Reflection_V1_Builtins.embed_vconfig vcfg in let t = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Reflection"; "Builtins"; "check_with"]))), - (vcfg_t, FStar_Reflection_Data.Q_Explicit))) in - FStar_Reflection_Builtins.set_sigelt_attrs (t :: attrs) se + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "VConfig"; "check_with"]))), + (vcfg_t, FStar_Reflection_V2_Data.Q_Explicit))) in + FStar_Reflection_V1_Builtins.set_sigelt_attrs (t :: attrs) se let (un_uinst : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = fun t -> - match FStar_Reflection_Builtins.inspect_ln t with - | FStar_Reflection_Data.Tv_UInst (fv, uu___) -> - FStar_Reflection_Builtins.pack_ln (FStar_Reflection_Data.Tv_FVar fv) + match FStar_Reflection_V1_Builtins.inspect_ln t with + | FStar_Reflection_V1_Data.Tv_UInst (fv, uu___) -> + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar fv) | uu___ -> t let rec (is_name_imp : FStar_Reflection_Types.name -> FStar_Reflection_Types.term -> Prims.bool) = fun nm -> fun t -> match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_FVar fv -> - if (FStar_Reflection_Builtins.inspect_fv fv) = nm + | FStar_Reflection_V1_Data.Tv_FVar fv -> + if (FStar_Reflection_V1_Builtins.inspect_fv fv) = nm then true else false - | FStar_Reflection_Data.Tv_UInst (fv, uu___) -> - if (FStar_Reflection_Builtins.inspect_fv fv) = nm + | FStar_Reflection_V1_Data.Tv_UInst (fv, uu___) -> + if (FStar_Reflection_V1_Builtins.inspect_fv fv) = nm then true else false - | FStar_Reflection_Data.Tv_App - (l, (uu___, FStar_Reflection_Data.Q_Implicit)) -> is_name_imp nm l + | FStar_Reflection_V1_Data.Tv_App + (l, (uu___, FStar_Reflection_V1_Data.Q_Implicit)) -> + is_name_imp nm l | uu___ -> false let (unsquash_term : FStar_Reflection_Types.term -> @@ -381,8 +387,8 @@ let (unsquash_term : = fun t -> match inspect_ln_unascribe t with - | FStar_Reflection_Data.Tv_App (l, (r, FStar_Reflection_Data.Q_Explicit)) - -> + | FStar_Reflection_V1_Data.Tv_App + (l, (r, FStar_Reflection_V1_Data.Q_Explicit)) -> if is_name_imp FStar_Reflection_Const.squash_qn l then FStar_Pervasives_Native.Some r else FStar_Pervasives_Native.None diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Derived_Lemmas.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml similarity index 74% rename from ocaml/fstar-lib/generated/FStar_Reflection_Derived_Lemmas.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml index 1841fb943e9..832fa7e38d2 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Derived_Lemmas.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml @@ -6,22 +6,22 @@ let rec list_ref : 'a 'p . 'a Prims.list -> 'a Prims.list = fun l -> match l with | [] -> [] | x::xs -> x :: (list_ref xs) let (collect_app_ref : FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list)) + (FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv Prims.list)) = fun t -> - let uu___ = FStar_Reflection_Derived.collect_app_ln t in + let uu___ = FStar_Reflection_V1_Derived.collect_app_ln t in match uu___ with | (h, a) -> (h, (list_ref a)) let (collect_abs_ln_ref : FStar_Reflection_Types.term -> (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.term)) = fun t -> - let uu___ = FStar_Reflection_Derived.collect_abs_ln t in + let uu___ = FStar_Reflection_V1_Derived.collect_abs_ln t in match uu___ with | (bds, body) -> ((list_ref bds), body) let (collect_arr_ln_bs_ref : FStar_Reflection_Types.term -> (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.comp)) = fun t -> - let uu___ = FStar_Reflection_Derived.collect_arr_ln_bs t in + let uu___ = FStar_Reflection_V1_Derived.collect_arr_ln_bs t in match uu___ with | (bds, c) -> ((list_ref bds), c) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Embeddings.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Embeddings.ml similarity index 55% rename from ocaml/fstar-lib/generated/FStar_Reflection_Embeddings.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Embeddings.ml index d92cfc53ddc..7cb1830c6a1 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Embeddings.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Embeddings.ml @@ -4,210 +4,77 @@ let mk_emb : 'uuuuu . (FStar_Compiler_Range_Type.range -> 'uuuuu -> FStar_Syntax_Syntax.term) -> - (Prims.bool -> - FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option) - -> - FStar_Syntax_Syntax.term -> 'uuuuu FStar_Syntax_Embeddings.embedding + (FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option) -> + FStar_Syntax_Syntax.term -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding = fun f -> fun g -> fun t -> - let uu___ = FStar_Syntax_Embeddings.term_as_fv t in - FStar_Syntax_Embeddings.mk_emb + let uu___ = FStar_Syntax_Embeddings_Base.term_as_fv t in + FStar_Syntax_Embeddings_Base.mk_emb (fun x -> fun r -> fun _topt -> fun _norm -> f r x) - (fun x -> fun w -> fun _norm -> g w x) uu___ + (fun x -> fun _norm -> g x) uu___ let embed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> 'uuuuu -> FStar_Syntax_Syntax.term = fun e -> fun r -> fun x -> - let uu___ = FStar_Syntax_Embeddings.embed e x in + let uu___ = FStar_Syntax_Embeddings_Base.embed e x in uu___ r FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb -let unembed' : + FStar_Syntax_Embeddings_Base.id_norm_cb +let unembed : 'uuuuu . - Prims.bool -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option - = - fun w -> - fun e -> - fun x -> - let uu___ = FStar_Syntax_Embeddings.unembed e x in - uu___ 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_Constants.fstar_refl_bv - FStar_Syntax_Syntax.Lazy_bv (FStar_Pervasives_Native.Some rng) in - let unembed_bv w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded bv: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_bv unembed_bv FStar_Reflection_Constants.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_Constants.fstar_refl_binder - FStar_Syntax_Syntax.Lazy_binder (FStar_Pervasives_Native.Some rng) in - let unembed_binder w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded binder: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_binder unembed_binder - FStar_Reflection_Constants.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 + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option = - fun f -> - fun l -> - match l with - | [] -> FStar_Pervasives_Native.Some [] - | x::xs -> - let uu___ = f x in - FStar_Compiler_Util.bind_opt uu___ - (fun x1 -> - let uu___1 = mapM_opt f xs in - FStar_Compiler_Util.bind_opt uu___1 - (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) + fun e -> + fun x -> + FStar_Syntax_Embeddings_Base.try_unembed e x + FStar_Syntax_Embeddings_Base.id_norm_cb +let (e_bv : FStar_Syntax_Syntax.bv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_bv +let (e_binder : + FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_binder let (e_term_aq : FStar_Syntax_Syntax.antiquotations -> - FStar_Syntax_Syntax.term FStar_Syntax_Embeddings.embedding) - = - fun aq -> - let embed_term rng t = - let qi = - { - FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; - FStar_Syntax_Syntax.antiquotations = aq - } in - FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (t, qi)) rng in - let rec unembed_term w t = - let apply_antiquotations t1 aq1 = - let uu___ = aq1 in - match uu___ with - | (shift, aqs) -> - let aqs1 = FStar_Compiler_List.rev aqs in - let uu___1 = mapM_opt (unembed_term w) aqs1 in - FStar_Compiler_Util.bind_opt uu___1 - (fun aq_ts -> - let uu___2 = - let uu___3 = - FStar_Compiler_Effect.op_Bar_Greater aq_ts - (FStar_Compiler_List.mapi - (fun i -> - fun at -> - let x = - FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None - FStar_Syntax_Syntax.t_term in - ((FStar_Syntax_Syntax.DB ((shift + i), x)), - (FStar_Syntax_Syntax.NT (x, at))))) in - FStar_Compiler_Effect.op_Bar_Greater uu___3 - FStar_Compiler_List.unzip in - match uu___2 with - | (subst_open, subst) -> - let uu___3 = - let uu___4 = FStar_Syntax_Subst.subst subst_open t1 in - FStar_Compiler_Effect.op_Less_Bar - (FStar_Syntax_Subst.subst subst) uu___4 in - FStar_Pervasives_Native.Some uu___3) in - let t1 = FStar_Syntax_Util.unmeta t in - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t1 in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> - let r = - apply_antiquotations tm qi.FStar_Syntax_Syntax.antiquotations in - ((match r with - | FStar_Pervasives_Native.None when w -> - let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Failed to unembed antiquotations for: %s" uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___2 - | uu___2 -> ()); - r) - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 "Not an embedded term: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___3) - else (); - 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 noaqs + FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) + = FStar_Reflection_V2_Embeddings.e_term_aq +let (e_term : + FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_term +let (e_binders : + FStar_Syntax_Syntax.binders FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_binders +let (e_fv : FStar_Syntax_Syntax.fv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_fv +let (e_comp : + FStar_Syntax_Syntax.comp FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_comp +let (e_universe : + FStar_Syntax_Syntax.universe FStar_Syntax_Embeddings_Base.embedding) = + FStar_Reflection_V2_Embeddings.e_universe let (e_aqualv : - FStar_Reflection_Data.aqualv FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.aqualv FStar_Syntax_Embeddings_Base.embedding) = let embed_aqualv rng q = let r = match q with - | FStar_Reflection_Data.Q_Explicit -> - FStar_Reflection_Constants.ref_Q_Explicit.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Q_Implicit -> - FStar_Reflection_Constants.ref_Q_Implicit.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Explicit -> + FStar_Reflection_V1_Constants.ref_Q_Explicit.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Q_Implicit -> + FStar_Reflection_V1_Constants.ref_Q_Implicit.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Q_Meta t -> let uu___ = let uu___1 = let uu___2 = embed e_term rng t in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Q_Meta.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Q_Meta.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange in { FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); @@ -215,7 +82,7 @@ let (e_aqualv : FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) } in - let unembed_aqualv w t = + let unembed_aqualv t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -228,154 +95,48 @@ let (e_aqualv : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Explicit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Explicit + FStar_Reflection_V1_Constants.ref_Q_Explicit.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Q_Explicit | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Implicit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Implicit + FStar_Reflection_V1_Constants.ref_Q_Implicit.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Q_Implicit | (FStar_Syntax_Syntax.Tm_fvar fv, (t2, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Meta.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Q_Meta.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_term t2 in + let uu___3 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___3 (fun t3 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.Q_Meta t3)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 "Not an embedded aqualv: %s" - uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + (FStar_Reflection_V1_Data.Q_Meta t3)) + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_aqualv unembed_aqualv - FStar_Reflection_Constants.fstar_refl_aqualv -let (e_binders : - FStar_Syntax_Syntax.binders FStar_Syntax_Embeddings.embedding) = - 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_Constants.fstar_refl_fv - FStar_Syntax_Syntax.Lazy_fvar (FStar_Pervasives_Native.Some rng) in - let unembed_fv w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded fvar: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_fv unembed_fv FStar_Reflection_Constants.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_Constants.fstar_refl_comp - FStar_Syntax_Syntax.Lazy_comp (FStar_Pervasives_Native.Some rng) in - let unembed_comp w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded comp: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_comp unembed_comp FStar_Reflection_Constants.fstar_refl_comp -let (e_universe : - FStar_Syntax_Syntax.universe FStar_Syntax_Embeddings.embedding) = - let embed_universe rng u = - FStar_Syntax_Util.mk_lazy u - FStar_Reflection_Constants.fstar_refl_universe - FStar_Syntax_Syntax.Lazy_universe (FStar_Pervasives_Native.Some rng) in - let unembed_universe w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_universe; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded universe: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_universe unembed_universe - FStar_Reflection_Constants.fstar_refl_universe -let (e_ident : FStar_Ident.ident FStar_Syntax_Embeddings.embedding) = - let repr = - FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_string - FStar_Syntax_Embeddings.e_range in - FStar_Syntax_Embeddings.embed_as repr FStar_Ident.mk_ident - (fun i -> - let uu___ = FStar_Ident.string_of_id i in - let uu___1 = FStar_Ident.range_of_id i in (uu___, uu___1)) - (FStar_Pervasives_Native.Some FStar_Reflection_Constants.fstar_refl_ident) + FStar_Reflection_V1_Constants.fstar_refl_aqualv +let (e_ident : + FStar_Reflection_V1_Data.ident FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_range let (e_universe_view : - FStar_Reflection_Data.universe_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.universe_view + FStar_Syntax_Embeddings_Base.embedding) + = let embed_universe_view rng uv = match uv with - | FStar_Reflection_Data.Uv_Zero -> - FStar_Reflection_Constants.ref_Uv_Zero.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Uv_Succ u -> + | FStar_Reflection_V1_Data.Uv_Zero -> + FStar_Reflection_V1_Constants.ref_Uv_Zero.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Uv_Succ u -> let uu___ = let uu___1 = let uu___2 = embed e_universe rng u in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Uv_Succ.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Uv_Succ.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Uv_Max us -> + | FStar_Reflection_V1_Data.Uv_Max us -> let uu___ = let uu___1 = let uu___2 = @@ -384,18 +145,18 @@ let (e_universe_view : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Uv_Max.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Uv_Max.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Uv_BVar n -> + | FStar_Reflection_V1_Data.Uv_BVar n -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_int rng n in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Uv_BVar.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Uv_BVar.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Uv_Name i -> + | FStar_Reflection_V1_Data.Uv_Name i -> let uu___ = let uu___1 = let uu___2 = @@ -407,9 +168,9 @@ let (e_universe_view : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Uv_Name.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Uv_Name.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Uv_Unif u -> + | FStar_Reflection_V1_Data.Uv_Unif u -> let uu___ = let uu___1 = let uu___2 = @@ -419,11 +180,11 @@ let (e_universe_view : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Uv_Unif.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Uv_Unif.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Uv_Unk -> - FStar_Reflection_Constants.ref_Uv_Unk.FStar_Reflection_Constants.t in - let unembed_universe_view w t = + | FStar_Reflection_V1_Data.Uv_Unk -> + FStar_Reflection_V1_Constants.ref_Uv_Unk.FStar_Reflection_V1_Constants.t in + let unembed_universe_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -436,98 +197,88 @@ let (e_universe_view : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Zero.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Uv_Zero + FStar_Reflection_V1_Constants.ref_Uv_Zero.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Uv_Zero | (FStar_Syntax_Syntax.Tm_fvar fv, (u, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Succ.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Succ.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_universe u in + let uu___3 = unembed e_universe u in FStar_Compiler_Util.bind_opt uu___3 (fun u1 -> let uu___4 = FStar_Compiler_Effect.op_Bar_Greater u1 - (fun uu___5 -> FStar_Reflection_Data.Uv_Succ uu___5) in + (fun uu___5 -> FStar_Reflection_V1_Data.Uv_Succ uu___5) in FStar_Compiler_Effect.op_Bar_Greater uu___4 (fun uu___5 -> FStar_Pervasives_Native.Some uu___5)) | (FStar_Syntax_Syntax.Tm_fvar fv, (us, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Max.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Max.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = FStar_Syntax_Embeddings.e_list e_universe in - unembed' w uu___4 us in + unembed uu___4 us in FStar_Compiler_Util.bind_opt uu___3 (fun us1 -> let uu___4 = FStar_Compiler_Effect.op_Bar_Greater us1 - (fun uu___5 -> FStar_Reflection_Data.Uv_Max uu___5) in + (fun uu___5 -> FStar_Reflection_V1_Data.Uv_Max uu___5) in FStar_Compiler_Effect.op_Bar_Greater uu___4 (fun uu___5 -> FStar_Pervasives_Native.Some uu___5)) | (FStar_Syntax_Syntax.Tm_fvar fv, (n, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_BVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_BVar.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_int n in + let uu___3 = unembed FStar_Syntax_Embeddings.e_int n in FStar_Compiler_Util.bind_opt uu___3 (fun n1 -> let uu___4 = FStar_Compiler_Effect.op_Bar_Greater n1 - (fun uu___5 -> FStar_Reflection_Data.Uv_BVar uu___5) in + (fun uu___5 -> FStar_Reflection_V1_Data.Uv_BVar uu___5) in FStar_Compiler_Effect.op_Bar_Greater uu___4 (fun uu___5 -> FStar_Pervasives_Native.Some uu___5)) | (FStar_Syntax_Syntax.Tm_fvar fv, (i, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Name.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Name.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_range in - unembed' w uu___4 i in + unembed uu___4 i in FStar_Compiler_Util.bind_opt uu___3 (fun i1 -> let uu___4 = FStar_Compiler_Effect.op_Bar_Greater i1 - (fun uu___5 -> FStar_Reflection_Data.Uv_Name uu___5) in + (fun uu___5 -> FStar_Reflection_V1_Data.Uv_Name uu___5) in FStar_Compiler_Effect.op_Bar_Greater uu___4 (fun uu___5 -> FStar_Pervasives_Native.Some uu___5)) | (FStar_Syntax_Syntax.Tm_fvar fv, (u, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Unif.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Unif.FStar_Reflection_V1_Constants.lid -> let u1 = FStar_Syntax_Util.unlazy_as_t FStar_Syntax_Syntax.Lazy_universe_uvar u in let uu___3 = FStar_Compiler_Effect.op_Bar_Greater u1 - (fun uu___4 -> FStar_Reflection_Data.Uv_Unif uu___4) in + (fun uu___4 -> FStar_Reflection_V1_Data.Uv_Unif uu___4) in FStar_Compiler_Effect.op_Bar_Greater uu___3 (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Unk.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Uv_Unk - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded universe view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + FStar_Reflection_V1_Constants.ref_Uv_Unk.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Uv_Unk + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_universe_view unembed_universe_view - FStar_Reflection_Constants.fstar_refl_universe_view -let (e_env : FStar_TypeChecker_Env.env FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Constants.fstar_refl_universe_view +let (e_env : + FStar_TypeChecker_Env.env FStar_Syntax_Embeddings_Base.embedding) = let embed_env rng e = - FStar_Syntax_Util.mk_lazy e FStar_Reflection_Constants.fstar_refl_env + FStar_Syntax_Util.mk_lazy e FStar_Reflection_V1_Constants.fstar_refl_env FStar_Syntax_Syntax.Lazy_env (FStar_Pervasives_Native.Some rng) in - let unembed_env w t = + let unembed_env t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -540,30 +291,20 @@ let (e_env : FStar_TypeChecker_Env.env FStar_Syntax_Embeddings.embedding) = -> let uu___3 = FStar_Compiler_Dyn.undyn b in FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded env: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_env unembed_env FStar_Reflection_Constants.fstar_refl_env + | uu___1 -> FStar_Pervasives_Native.None in + mk_emb embed_env unembed_env FStar_Reflection_V1_Constants.fstar_refl_env let (e_const : - FStar_Reflection_Data.vconst FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.vconst FStar_Syntax_Embeddings_Base.embedding) = let embed_const rng c = let r = match c with - | FStar_Reflection_Data.C_Unit -> - FStar_Reflection_Constants.ref_C_Unit.FStar_Reflection_Constants.t - | FStar_Reflection_Data.C_True -> - FStar_Reflection_Constants.ref_C_True.FStar_Reflection_Constants.t - | FStar_Reflection_Data.C_False -> - FStar_Reflection_Constants.ref_C_False.FStar_Reflection_Constants.t - | FStar_Reflection_Data.C_Int i -> + | FStar_Reflection_V1_Data.C_Unit -> + FStar_Reflection_V1_Constants.ref_C_Unit.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.C_True -> + FStar_Reflection_V1_Constants.ref_C_True.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.C_False -> + FStar_Reflection_V1_Constants.ref_C_False.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.C_Int i -> let uu___ = let uu___1 = let uu___2 = @@ -572,36 +313,36 @@ let (e_const : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Int.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Int.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.C_String s -> + | FStar_Reflection_V1_Data.C_String s -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_string rng s in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_String.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_String.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.C_Range r1 -> + | FStar_Reflection_V1_Data.C_Range r1 -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_range rng r1 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Range.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Range.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.C_Reify -> - FStar_Reflection_Constants.ref_C_Reify.FStar_Reflection_Constants.t - | FStar_Reflection_Data.C_Reflect ns -> + | FStar_Reflection_V1_Data.C_Reify -> + FStar_Reflection_V1_Constants.ref_C_Reify.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.C_Reflect ns -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng ns in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Reflect.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Reflect.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange in { FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); @@ -609,7 +350,7 @@ let (e_const : FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) } in - let unembed_const w t = + let unembed_const t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -622,94 +363,84 @@ let (e_const : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Unit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Unit + FStar_Reflection_V1_Constants.ref_C_Unit.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_Unit | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_True.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_True + FStar_Reflection_V1_Constants.ref_C_True.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_True | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_False.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_False + FStar_Reflection_V1_Constants.ref_C_False.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_False | (FStar_Syntax_Syntax.Tm_fvar fv, (i, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Int.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Int.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_int i in + let uu___3 = unembed FStar_Syntax_Embeddings.e_int i in FStar_Compiler_Util.bind_opt uu___3 (fun i1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_Int i1)) + (FStar_Reflection_V1_Data.C_Int i1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (s, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_String.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_String.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_string s in + let uu___3 = unembed FStar_Syntax_Embeddings.e_string s in FStar_Compiler_Util.bind_opt uu___3 (fun s1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_String s1)) + (FStar_Reflection_V1_Data.C_String s1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (r, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Range.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Range.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_range r in + let uu___3 = unembed FStar_Syntax_Embeddings.e_range r in FStar_Compiler_Util.bind_opt uu___3 (fun r1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_Range r1)) + (FStar_Reflection_V1_Data.C_Range r1)) | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Reify.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Reify.FStar_Reflection_V1_Constants.lid -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - FStar_Reflection_Data.C_Reify + FStar_Reflection_V1_Data.C_Reify | (FStar_Syntax_Syntax.Tm_fvar fv, (ns, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Reflect.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Reflect.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_string_list ns in + let uu___3 = unembed FStar_Syntax_Embeddings.e_string_list ns in FStar_Compiler_Util.bind_opt uu___3 (fun ns1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_Reflect ns1)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 "Not an embedded vconst: %s" - uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + (FStar_Reflection_V1_Data.C_Reflect ns1)) + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_const unembed_const - FStar_Reflection_Constants.fstar_refl_vconst + FStar_Reflection_V1_Constants.fstar_refl_vconst let rec e_pattern_aq : 'uuuuu . - 'uuuuu -> FStar_Reflection_Data.pattern FStar_Syntax_Embeddings.embedding + 'uuuuu -> + FStar_Reflection_V1_Data.pattern FStar_Syntax_Embeddings_Base.embedding = fun aq -> let rec embed_pattern rng p = match p with - | FStar_Reflection_Data.Pat_Constant c -> + | FStar_Reflection_V1_Data.Pat_Constant c -> let uu___ = let uu___1 = let uu___2 = embed e_const rng c in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Pat_Constant.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Pat_Constant.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Pat_Cons (fv, us_opt, ps) -> + | FStar_Reflection_V1_Data.Pat_Cons (fv, us_opt, ps) -> let uu___ = let uu___1 = let uu___2 = embed e_fv rng fv in @@ -737,9 +468,9 @@ let rec e_pattern_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Pat_Cons.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Pat_Cons.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Pat_Var (bv, sort) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, sort) -> let uu___ = let uu___1 = let uu___2 = embed e_bv rng bv in @@ -753,9 +484,9 @@ let rec e_pattern_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Pat_Var.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Pat_Var.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + | FStar_Reflection_V1_Data.Pat_Dot_Term eopt -> let uu___ = let uu___1 = let uu___2 = @@ -764,9 +495,9 @@ let rec e_pattern_aq : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Pat_Dot_Term.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Pat_Dot_Term.FStar_Reflection_V1_Constants.t uu___ rng in - let rec unembed_pattern w t = + let rec unembed_pattern t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -779,20 +510,20 @@ let rec e_pattern_aq : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, (c, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Constant.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Constant.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_const c in + let uu___3 = unembed e_const c in FStar_Compiler_Util.bind_opt uu___3 (fun c1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Pat_Constant c1)) + (FStar_Reflection_V1_Data.Pat_Constant c1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (f, uu___2)::(us_opt, uu___3)::(ps, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Cons.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Cons.FStar_Reflection_V1_Constants.lid -> - let uu___5 = unembed' w e_fv f in + let uu___5 = unembed e_fv f in FStar_Compiler_Util.bind_opt uu___5 (fun f1 -> let uu___6 = @@ -800,7 +531,7 @@ let rec e_pattern_aq : let uu___8 = FStar_Syntax_Embeddings.e_list e_universe in FStar_Syntax_Embeddings.e_option uu___8 in - unembed' w uu___7 us_opt in + unembed uu___7 us_opt in FStar_Compiler_Util.bind_opt uu___6 (fun us_opt1 -> let uu___7 = @@ -810,71 +541,62 @@ let rec e_pattern_aq : FStar_Syntax_Embeddings.e_tuple2 uu___10 FStar_Syntax_Embeddings.e_bool in FStar_Syntax_Embeddings.e_list uu___9 in - unembed' w uu___8 ps in + unembed uu___8 ps in FStar_Compiler_Util.bind_opt uu___7 (fun ps1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___8 -> FStar_Pervasives_Native.Some uu___8) - (FStar_Reflection_Data.Pat_Cons + (FStar_Reflection_V1_Data.Pat_Cons (f1, us_opt1, ps1))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (bv, uu___2)::(sort, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Var.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Var.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w e_bv bv in + let uu___4 = unembed e_bv bv in FStar_Compiler_Util.bind_opt uu___4 (fun bv1 -> let uu___5 = let uu___6 = FStar_Syntax_Embeddings.e_sealed e_term in - unembed' w uu___6 sort in + unembed uu___6 sort in FStar_Compiler_Util.bind_opt uu___5 (fun sort1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Pat_Var (bv1, sort1)))) + (FStar_Reflection_V1_Data.Pat_Var (bv1, sort1)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (eopt, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Dot_Term.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Dot_Term.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu___4 eopt in + unembed uu___4 eopt in FStar_Compiler_Util.bind_opt uu___3 (fun eopt1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Pat_Dot_Term eopt1)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded pattern: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + (FStar_Reflection_V1_Data.Pat_Dot_Term eopt1)) + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_pattern unembed_pattern - FStar_Reflection_Constants.fstar_refl_pattern + FStar_Reflection_V1_Constants.fstar_refl_pattern let (e_pattern : - FStar_Reflection_Data.pattern FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.pattern FStar_Syntax_Embeddings_Base.embedding) = e_pattern_aq noaqs let (e_branch : - FStar_Reflection_Data.branch FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.branch FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_tuple2 e_pattern e_term -let (e_argv : FStar_Reflection_Data.argv FStar_Syntax_Embeddings.embedding) = +let (e_argv : + FStar_Reflection_V1_Data.argv FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_tuple2 e_term e_aqualv let (e_args : - FStar_Reflection_Data.argv Prims.list FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.e_list e_argv + FStar_Reflection_V1_Data.argv Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_argv let (e_branch_aq : FStar_Syntax_Syntax.antiquotations -> - (FStar_Reflection_Data.pattern * FStar_Syntax_Syntax.term) - FStar_Syntax_Embeddings.embedding) + (FStar_Reflection_V1_Data.pattern * FStar_Syntax_Syntax.term) + FStar_Syntax_Embeddings_Base.embedding) = fun aq -> let uu___ = e_pattern_aq aq in @@ -882,8 +604,8 @@ let (e_branch_aq : FStar_Syntax_Embeddings.e_tuple2 uu___ uu___1 let (e_argv_aq : FStar_Syntax_Syntax.antiquotations -> - (FStar_Syntax_Syntax.term * FStar_Reflection_Data.aqualv) - FStar_Syntax_Embeddings.embedding) + (FStar_Syntax_Syntax.term * FStar_Reflection_V1_Data.aqualv) + FStar_Syntax_Embeddings_Base.embedding) = fun aq -> let uu___ = e_term_aq aq in @@ -892,7 +614,7 @@ let (e_match_returns_annotation : (FStar_Syntax_Syntax.binder * ((FStar_Syntax_Syntax.term, FStar_Syntax_Syntax.comp) FStar_Pervasives.either * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * Prims.bool)) - FStar_Pervasives_Native.option FStar_Syntax_Embeddings.embedding) + FStar_Pervasives_Native.option FStar_Syntax_Embeddings_Base.embedding) = let uu___ = let uu___1 = @@ -904,41 +626,41 @@ let (e_match_returns_annotation : FStar_Syntax_Embeddings.e_option uu___ let (e_term_view_aq : FStar_Syntax_Syntax.antiquotations -> - FStar_Reflection_Data.term_view FStar_Syntax_Embeddings.embedding) + FStar_Reflection_V1_Data.term_view FStar_Syntax_Embeddings_Base.embedding) = fun aq -> let push uu___ = match uu___ with | (s, aq1) -> ((s + Prims.int_one), aq1) in let embed_term_view rng t = match t with - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Reflection_V1_Data.Tv_FVar fv -> let uu___ = let uu___1 = let uu___2 = embed e_fv rng fv in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_FVar.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_FVar.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_BVar fv -> + | FStar_Reflection_V1_Data.Tv_BVar fv -> let uu___ = let uu___1 = let uu___2 = embed e_bv rng fv in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_BVar.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_BVar.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Reflection_V1_Data.Tv_Var bv -> let uu___ = let uu___1 = let uu___2 = embed e_bv rng bv in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Var.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Var.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_UInst (fv, us) -> + | FStar_Reflection_V1_Data.Tv_UInst (fv, us) -> let uu___ = let uu___1 = let uu___2 = embed e_fv rng fv in @@ -952,9 +674,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_UInst.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_UInst.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_App (hd, a) -> + | FStar_Reflection_V1_Data.Tv_App (hd, a) -> let uu___ = let uu___1 = let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng hd in @@ -966,9 +688,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_App.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_App.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Abs (b, t1) -> + | FStar_Reflection_V1_Data.Tv_Abs (b, t1) -> let uu___ = let uu___1 = let uu___2 = embed e_binder rng b in @@ -981,9 +703,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Abs.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Abs.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> let uu___ = let uu___1 = let uu___2 = embed e_binder rng b in @@ -995,18 +717,18 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Arrow.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Arrow.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Reflection_V1_Data.Tv_Type u -> let uu___ = let uu___1 = let uu___2 = embed e_universe rng u in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Type.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Type.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Refine (bv, s, t1) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, s, t1) -> let uu___ = let uu___1 = let uu___2 = embed e_bv rng bv in @@ -1024,18 +746,18 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Refine.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Refine.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Const c -> + | FStar_Reflection_V1_Data.Tv_Const c -> let uu___ = let uu___1 = let uu___2 = embed e_const rng c in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Const.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Const.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Uvar (u, d) -> + | FStar_Reflection_V1_Data.Tv_Uvar (u, d) -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_int rng u in @@ -1051,9 +773,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Uvar.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Uvar.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Let (r, attrs, b, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (r, attrs, b, ty, t1, t2) -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_bool rng r in @@ -1091,9 +813,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Let.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Let.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Match (t1, ret_opt, brs) -> + | FStar_Reflection_V1_Data.Tv_Match (t1, ret_opt, brs) -> let uu___ = let uu___1 = let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng t1 in @@ -1114,9 +836,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_Match.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_Match.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_AscribedT (e, t1, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedT (e, t1, tacopt, use_eq) -> let uu___ = let uu___1 = let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng e in @@ -1143,9 +865,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_AscT.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_AscT.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> let uu___ = let uu___1 = let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng e in @@ -1172,11 +894,11 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Tv_AscC.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Tv_AscC.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_V1_Data.Tv_Unknown -> let uu___ = - FStar_Reflection_Constants.ref_Tv_Unknown.FStar_Reflection_Constants.t in + FStar_Reflection_V1_Constants.ref_Tv_Unknown.FStar_Reflection_V1_Constants.t in { FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; @@ -1184,9 +906,9 @@ let (e_term_view_aq : FStar_Syntax_Syntax.hash_code = (uu___.FStar_Syntax_Syntax.hash_code) } - | FStar_Reflection_Data.Tv_Unsupp -> + | FStar_Reflection_V1_Data.Tv_Unsupp -> let uu___ = - FStar_Reflection_Constants.ref_Tv_Unsupp.FStar_Reflection_Constants.t in + FStar_Reflection_V1_Constants.ref_Tv_Unsupp.FStar_Reflection_V1_Constants.t in { FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; @@ -1194,7 +916,7 @@ let (e_term_view_aq : FStar_Syntax_Syntax.hash_code = (uu___.FStar_Syntax_Syntax.hash_code) } in - let unembed_term_view w t = + let unembed_term_view t = let uu___ = FStar_Syntax_Util.head_and_args t in match uu___ with | (hd, args) -> @@ -1206,137 +928,137 @@ let (e_term_view_aq : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Var.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Var.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_bv b in + let uu___3 = unembed e_bv b in FStar_Compiler_Util.bind_opt uu___3 (fun b1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_Var b1)) + (FStar_Reflection_V1_Data.Tv_Var b1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_BVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_BVar.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_bv b in + let uu___3 = unembed e_bv b in FStar_Compiler_Util.bind_opt uu___3 (fun b1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_BVar b1)) + (FStar_Reflection_V1_Data.Tv_BVar b1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (f, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_FVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_FVar.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_fv f in + let uu___3 = unembed e_fv f in FStar_Compiler_Util.bind_opt uu___3 (fun f1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_FVar f1)) + (FStar_Reflection_V1_Data.Tv_FVar f1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (f, uu___2)::(us, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_UInst.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_UInst.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w e_fv f in + let uu___4 = unembed e_fv f in FStar_Compiler_Util.bind_opt uu___4 (fun f1 -> let uu___5 = let uu___6 = FStar_Syntax_Embeddings.e_list e_universe in - unembed' w uu___6 us in + unembed uu___6 us in FStar_Compiler_Util.bind_opt uu___5 (fun us1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Tv_UInst (f1, us1)))) + (FStar_Reflection_V1_Data.Tv_UInst (f1, us1)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::(r, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_App.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_App.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w e_term l in + let uu___4 = unembed e_term l in FStar_Compiler_Util.bind_opt uu___4 (fun l1 -> - let uu___5 = unembed' w e_argv r in + let uu___5 = unembed e_argv r in FStar_Compiler_Util.bind_opt uu___5 (fun r1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Tv_App (l1, r1)))) + (FStar_Reflection_V1_Data.Tv_App (l1, r1)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu___2)::(t1, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Abs.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Abs.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w e_binder b in + let uu___4 = unembed e_binder b in FStar_Compiler_Util.bind_opt uu___4 (fun b1 -> - let uu___5 = unembed' w e_term t1 in + let uu___5 = unembed e_term t1 in FStar_Compiler_Util.bind_opt uu___5 (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Tv_Abs (b1, t2)))) + (FStar_Reflection_V1_Data.Tv_Abs (b1, t2)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu___2)::(t1, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Arrow.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Arrow.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w e_binder b in + let uu___4 = unembed e_binder b in FStar_Compiler_Util.bind_opt uu___4 (fun b1 -> - let uu___5 = unembed' w e_comp t1 in + let uu___5 = unembed e_comp t1 in FStar_Compiler_Util.bind_opt uu___5 (fun c -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Tv_Arrow (b1, c)))) + (FStar_Reflection_V1_Data.Tv_Arrow (b1, c)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (u, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Type.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Type.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_universe u in + let uu___3 = unembed e_universe u in FStar_Compiler_Util.bind_opt uu___3 (fun u1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_Type u1)) + (FStar_Reflection_V1_Data.Tv_Type u1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu___2)::(sort, uu___3)::(t1, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Refine.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Refine.FStar_Reflection_V1_Constants.lid -> - let uu___5 = unembed' w e_bv b in + let uu___5 = unembed e_bv b in FStar_Compiler_Util.bind_opt uu___5 (fun b1 -> - let uu___6 = unembed' w e_term sort in + let uu___6 = unembed e_term sort in FStar_Compiler_Util.bind_opt uu___6 (fun sort1 -> - let uu___7 = unembed' w e_term t1 in + let uu___7 = unembed e_term t1 in FStar_Compiler_Util.bind_opt uu___7 (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___8 -> FStar_Pervasives_Native.Some uu___8) - (FStar_Reflection_Data.Tv_Refine + (FStar_Reflection_V1_Data.Tv_Refine (b1, sort1, t2))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (c, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Const.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Const.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_const c in + let uu___3 = unembed e_const c in FStar_Compiler_Util.bind_opt uu___3 (fun c1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_Const c1)) + (FStar_Reflection_V1_Data.Tv_Const c1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (u, uu___2)::(l, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Uvar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Uvar.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w FStar_Syntax_Embeddings.e_int u in + let uu___4 = unembed FStar_Syntax_Embeddings.e_int u in FStar_Compiler_Util.bind_opt uu___4 (fun u1 -> let ctx_u_s = @@ -1344,184 +1066,171 @@ let (e_term_view_aq : FStar_Syntax_Syntax.Lazy_uvar l in FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Tv_Uvar (u1, ctx_u_s))) + (FStar_Reflection_V1_Data.Tv_Uvar (u1, ctx_u_s))) | (FStar_Syntax_Syntax.Tm_fvar fv, (r, uu___2)::(attrs, uu___3)::(b, uu___4)::(ty, uu___5):: (t1, uu___6)::(t2, uu___7)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Let.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Let.FStar_Reflection_V1_Constants.lid -> - let uu___8 = unembed' w FStar_Syntax_Embeddings.e_bool r in + let uu___8 = unembed FStar_Syntax_Embeddings.e_bool r in FStar_Compiler_Util.bind_opt uu___8 (fun r1 -> let uu___9 = let uu___10 = FStar_Syntax_Embeddings.e_list e_term in - unembed' w uu___10 attrs in + unembed uu___10 attrs in FStar_Compiler_Util.bind_opt uu___9 (fun attrs1 -> - let uu___10 = unembed' w e_bv b in + let uu___10 = unembed e_bv b in FStar_Compiler_Util.bind_opt uu___10 (fun b1 -> - let uu___11 = unembed' w e_term ty in + let uu___11 = unembed e_term ty in FStar_Compiler_Util.bind_opt uu___11 (fun ty1 -> - let uu___12 = unembed' w e_term t1 in + let uu___12 = unembed e_term t1 in FStar_Compiler_Util.bind_opt uu___12 (fun t11 -> - let uu___13 = unembed' w e_term t2 in + let uu___13 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___13 (fun t21 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___14 -> FStar_Pervasives_Native.Some uu___14) - (FStar_Reflection_Data.Tv_Let + (FStar_Reflection_V1_Data.Tv_Let (r1, attrs1, b1, ty1, t11, t21)))))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (t1, uu___2)::(ret_opt, uu___3)::(brs, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Match.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Match.FStar_Reflection_V1_Constants.lid -> - let uu___5 = unembed' w e_term t1 in + let uu___5 = unembed e_term t1 in FStar_Compiler_Util.bind_opt uu___5 (fun t2 -> let uu___6 = let uu___7 = FStar_Syntax_Embeddings.e_list e_branch in - unembed' w uu___7 brs in + unembed uu___7 brs in FStar_Compiler_Util.bind_opt uu___6 (fun brs1 -> let uu___7 = - unembed' w e_match_returns_annotation ret_opt in + unembed e_match_returns_annotation ret_opt in FStar_Compiler_Util.bind_opt uu___7 (fun ret_opt1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___8 -> FStar_Pervasives_Native.Some uu___8) - (FStar_Reflection_Data.Tv_Match + (FStar_Reflection_V1_Data.Tv_Match (t2, ret_opt1, brs1))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (e, uu___2)::(t1, uu___3)::(tacopt, uu___4)::(use_eq, uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_AscT.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_AscT.FStar_Reflection_V1_Constants.lid -> - let uu___6 = unembed' w e_term e in + let uu___6 = unembed e_term e in FStar_Compiler_Util.bind_opt uu___6 (fun e1 -> - let uu___7 = unembed' w e_term t1 in + let uu___7 = unembed e_term t1 in FStar_Compiler_Util.bind_opt uu___7 (fun t2 -> let uu___8 = let uu___9 = FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu___9 tacopt in + unembed uu___9 tacopt in FStar_Compiler_Util.bind_opt uu___8 (fun tacopt1 -> let uu___9 = - unembed' w FStar_Syntax_Embeddings.e_bool - use_eq in + unembed FStar_Syntax_Embeddings.e_bool use_eq in FStar_Compiler_Util.bind_opt uu___9 (fun use_eq1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___10 -> FStar_Pervasives_Native.Some uu___10) - (FStar_Reflection_Data.Tv_AscribedT + (FStar_Reflection_V1_Data.Tv_AscribedT (e1, t2, tacopt1, use_eq1)))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (e, uu___2)::(c, uu___3)::(tacopt, uu___4)::(use_eq, uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_AscC.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_AscC.FStar_Reflection_V1_Constants.lid -> - let uu___6 = unembed' w e_term e in + let uu___6 = unembed e_term e in FStar_Compiler_Util.bind_opt uu___6 (fun e1 -> - let uu___7 = unembed' w e_comp c in + let uu___7 = unembed e_comp c in FStar_Compiler_Util.bind_opt uu___7 (fun c1 -> let uu___8 = let uu___9 = FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu___9 tacopt in + unembed uu___9 tacopt in FStar_Compiler_Util.bind_opt uu___8 (fun tacopt1 -> let uu___9 = - unembed' w FStar_Syntax_Embeddings.e_bool - use_eq in + unembed FStar_Syntax_Embeddings.e_bool use_eq in FStar_Compiler_Util.bind_opt uu___9 (fun use_eq1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___10 -> FStar_Pervasives_Native.Some uu___10) - (FStar_Reflection_Data.Tv_AscribedC + (FStar_Reflection_V1_Data.Tv_AscribedC (e1, c1, tacopt1, use_eq1)))))) | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Unknown.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Unknown.FStar_Reflection_V1_Constants.lid -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - FStar_Reflection_Data.Tv_Unknown + FStar_Reflection_V1_Data.Tv_Unknown | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Unsupp.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Unsupp.FStar_Reflection_V1_Constants.lid -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - FStar_Reflection_Data.Tv_Unsupp - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 - "Not an embedded term_view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + FStar_Reflection_V1_Data.Tv_Unsupp + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_term_view unembed_term_view - FStar_Reflection_Constants.fstar_refl_term_view + FStar_Reflection_V1_Constants.fstar_refl_term_view let (e_term_view : - FStar_Reflection_Data.term_view FStar_Syntax_Embeddings.embedding) = - e_term_view_aq noaqs -let (e_lid : FStar_Ident.lid FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.term_view FStar_Syntax_Embeddings_Base.embedding) + = e_term_view_aq noaqs +let (e_lid : FStar_Ident.lid FStar_Syntax_Embeddings_Base.embedding) = let embed1 rng lid = let uu___ = FStar_Ident.path_of_lid lid in embed FStar_Syntax_Embeddings.e_string_list rng uu___ in - let unembed w t = - let uu___ = unembed' w FStar_Syntax_Embeddings.e_string_list t in + let unembed1 t = + let uu___ = unembed FStar_Syntax_Embeddings.e_string_list t in FStar_Compiler_Util.map_opt uu___ (fun p -> FStar_Ident.lid_of_path p t.FStar_Syntax_Syntax.pos) in let uu___ = FStar_Syntax_Syntax.t_list_of FStar_Syntax_Syntax.t_string in - FStar_Syntax_Embeddings.mk_emb_full + FStar_Syntax_Embeddings_Base.mk_emb_full (fun x -> fun r -> fun uu___1 -> fun uu___2 -> embed1 r x) - (fun x -> fun w -> fun uu___1 -> unembed w x) uu___ - FStar_Ident.string_of_lid FStar_Syntax_Syntax.ET_abstract + (fun x -> fun uu___1 -> unembed1 x) uu___ FStar_Ident.string_of_lid + FStar_Syntax_Syntax.ET_abstract let (e_bv_view : - FStar_Reflection_Data.bv_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.bv_view FStar_Syntax_Embeddings_Base.embedding) = let embed_bv_view rng bvv = let uu___ = let uu___1 = let uu___2 = let uu___3 = FStar_Syntax_Embeddings.e_sealed FStar_Syntax_Embeddings.e_string in - embed uu___3 rng bvv.FStar_Reflection_Data.bv_ppname in + embed uu___3 rng bvv.FStar_Reflection_V1_Data.bv_ppname in FStar_Syntax_Syntax.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = embed FStar_Syntax_Embeddings.e_int rng - bvv.FStar_Reflection_Data.bv_index in + bvv.FStar_Reflection_V1_Data.bv_index in FStar_Syntax_Syntax.as_arg uu___4 in [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Mk_bv.FStar_Reflection_Constants.t uu___ - rng in - let unembed_bv_view w t = + FStar_Reflection_V1_Constants.ref_Mk_bv.FStar_Reflection_V1_Constants.t + uu___ rng in + let unembed_bv_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -1535,73 +1244,66 @@ let (e_bv_view : | (FStar_Syntax_Syntax.Tm_fvar fv, (nm, uu___2)::(idx, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_bv.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_bv.FStar_Reflection_V1_Constants.lid -> let uu___4 = let uu___5 = FStar_Syntax_Embeddings.e_sealed FStar_Syntax_Embeddings.e_string in - unembed' w uu___5 nm in + unembed uu___5 nm in FStar_Compiler_Util.bind_opt uu___4 (fun nm1 -> - let uu___5 = unembed' w FStar_Syntax_Embeddings.e_int idx in + let uu___5 = unembed FStar_Syntax_Embeddings.e_int idx in FStar_Compiler_Util.bind_opt uu___5 (fun idx1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) { - FStar_Reflection_Data.bv_ppname = nm1; - FStar_Reflection_Data.bv_index = idx1 + FStar_Reflection_V1_Data.bv_ppname = nm1; + FStar_Reflection_V1_Data.bv_index = idx1 })) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded bv_view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_bv_view unembed_bv_view - FStar_Reflection_Constants.fstar_refl_bv_view + FStar_Reflection_V1_Constants.fstar_refl_bv_view let (e_attribute : - FStar_Syntax_Syntax.attribute FStar_Syntax_Embeddings.embedding) = e_term + FStar_Syntax_Syntax.attribute FStar_Syntax_Embeddings_Base.embedding) = + e_term let (e_attributes : - FStar_Syntax_Syntax.attribute Prims.list FStar_Syntax_Embeddings.embedding) + FStar_Syntax_Syntax.attribute Prims.list + FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_list e_attribute let (e_binder_view : - FStar_Reflection_Data.binder_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.binder_view FStar_Syntax_Embeddings_Base.embedding) + = let embed_binder_view rng bview = let uu___ = let uu___1 = - let uu___2 = embed e_bv rng bview.FStar_Reflection_Data.binder_bv in + let uu___2 = embed e_bv rng bview.FStar_Reflection_V1_Data.binder_bv in FStar_Syntax_Syntax.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = - embed e_aqualv rng bview.FStar_Reflection_Data.binder_qual in + embed e_aqualv rng bview.FStar_Reflection_V1_Data.binder_qual in FStar_Syntax_Syntax.as_arg uu___4 in let uu___4 = let uu___5 = let uu___6 = - embed e_attributes rng bview.FStar_Reflection_Data.binder_attrs in + embed e_attributes rng + bview.FStar_Reflection_V1_Data.binder_attrs in FStar_Syntax_Syntax.as_arg uu___6 in let uu___6 = let uu___7 = let uu___8 = - embed e_term rng bview.FStar_Reflection_Data.binder_sort in + embed e_term rng bview.FStar_Reflection_V1_Data.binder_sort in FStar_Syntax_Syntax.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Mk_binder.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Mk_binder.FStar_Reflection_V1_Constants.t uu___ rng in - let unembed_binder_view w t = + let unembed_binder_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -1616,68 +1318,59 @@ let (e_binder_view : (bv, uu___2)::(q, uu___3)::(attrs, uu___4)::(sort, uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_binder.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_binder.FStar_Reflection_V1_Constants.lid -> - let uu___6 = unembed' w e_bv bv in + let uu___6 = unembed e_bv bv in FStar_Compiler_Util.bind_opt uu___6 (fun bv1 -> - let uu___7 = unembed' w e_aqualv q in + let uu___7 = unembed e_aqualv q in FStar_Compiler_Util.bind_opt uu___7 (fun q1 -> - let uu___8 = unembed' w e_attributes attrs in + let uu___8 = unembed e_attributes attrs in FStar_Compiler_Util.bind_opt uu___8 (fun attrs1 -> - let uu___9 = unembed' w e_term sort in + let uu___9 = unembed e_term sort in FStar_Compiler_Util.bind_opt uu___9 (fun sort1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___10 -> FStar_Pervasives_Native.Some uu___10) { - FStar_Reflection_Data.binder_bv = bv1; - FStar_Reflection_Data.binder_qual = q1; - FStar_Reflection_Data.binder_attrs = + FStar_Reflection_V1_Data.binder_bv = bv1; + FStar_Reflection_V1_Data.binder_qual = + q1; + FStar_Reflection_V1_Data.binder_attrs = attrs1; - FStar_Reflection_Data.binder_sort = + FStar_Reflection_V1_Data.binder_sort = sort1 })))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded binder_view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_binder_view unembed_binder_view - FStar_Reflection_Constants.fstar_refl_binder_view + FStar_Reflection_V1_Constants.fstar_refl_binder_view let (e_comp_view : - FStar_Reflection_Data.comp_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.comp_view FStar_Syntax_Embeddings_Base.embedding) + = let embed_comp_view rng cv = match cv with - | FStar_Reflection_Data.C_Total t -> + | FStar_Reflection_V1_Data.C_Total t -> let uu___ = let uu___1 = let uu___2 = embed e_term rng t in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Total.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Total.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.C_GTotal t -> + | FStar_Reflection_V1_Data.C_GTotal t -> let uu___ = let uu___1 = let uu___2 = embed e_term rng t in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_GTotal.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_GTotal.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + | FStar_Reflection_V1_Data.C_Lemma (pre, post, pats) -> let uu___ = let uu___1 = let uu___2 = embed e_term rng pre in @@ -1694,9 +1387,9 @@ let (e_comp_view : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Lemma.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Lemma.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.C_Eff (us, eff, res, args, decrs) -> + | FStar_Reflection_V1_Data.C_Eff (us, eff, res, args, decrs) -> let uu___ = let uu___1 = let uu___2 = @@ -1730,9 +1423,9 @@ let (e_comp_view : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_C_Eff.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_C_Eff.FStar_Reflection_V1_Constants.t uu___ rng in - let unembed_comp_view w t = + let unembed_comp_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -1745,107 +1438,96 @@ let (e_comp_view : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, (t2, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Total.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Total.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_term t2 in + let uu___3 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___3 (fun t3 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_Total t3)) + (FStar_Reflection_V1_Data.C_Total t3)) | (FStar_Syntax_Syntax.Tm_fvar fv, (t2, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_GTotal.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_GTotal.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_term t2 in + let uu___3 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___3 (fun t3 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.C_GTotal t3)) + (FStar_Reflection_V1_Data.C_GTotal t3)) | (FStar_Syntax_Syntax.Tm_fvar fv, (pre, uu___2)::(post, uu___3)::(pats, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Lemma.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Lemma.FStar_Reflection_V1_Constants.lid -> - let uu___5 = unembed' w e_term pre in + let uu___5 = unembed e_term pre in FStar_Compiler_Util.bind_opt uu___5 (fun pre1 -> - let uu___6 = unembed' w e_term post in + let uu___6 = unembed e_term post in FStar_Compiler_Util.bind_opt uu___6 (fun post1 -> - let uu___7 = unembed' w e_term pats in + let uu___7 = unembed e_term pats in FStar_Compiler_Util.bind_opt uu___7 (fun pats1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___8 -> FStar_Pervasives_Native.Some uu___8) - (FStar_Reflection_Data.C_Lemma + (FStar_Reflection_V1_Data.C_Lemma (pre1, post1, pats1))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (us, uu___2)::(eff, uu___3)::(res, uu___4)::(args1, uu___5):: (decrs, uu___6)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Eff.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Eff.FStar_Reflection_V1_Constants.lid -> let uu___7 = let uu___8 = FStar_Syntax_Embeddings.e_list e_universe in - unembed' w uu___8 us in + unembed uu___8 us in FStar_Compiler_Util.bind_opt uu___7 (fun us1 -> let uu___8 = - unembed' w FStar_Syntax_Embeddings.e_string_list eff in + unembed FStar_Syntax_Embeddings.e_string_list eff in FStar_Compiler_Util.bind_opt uu___8 (fun eff1 -> - let uu___9 = unembed' w e_term res in + let uu___9 = unembed e_term res in FStar_Compiler_Util.bind_opt uu___9 (fun res1 -> let uu___10 = let uu___11 = FStar_Syntax_Embeddings.e_list e_argv in - unembed' w uu___11 args1 in + unembed uu___11 args1 in FStar_Compiler_Util.bind_opt uu___10 (fun args2 -> let uu___11 = let uu___12 = FStar_Syntax_Embeddings.e_list e_term in - unembed' w uu___12 decrs in + unembed uu___12 decrs in FStar_Compiler_Util.bind_opt uu___11 (fun decrs1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___12 -> FStar_Pervasives_Native.Some uu___12) - (FStar_Reflection_Data.C_Eff + (FStar_Reflection_V1_Data.C_Eff (us1, eff1, res1, args2, decrs1))))))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded comp_view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_comp_view unembed_comp_view - FStar_Reflection_Constants.fstar_refl_comp_view -let (e_order : FStar_Order.order FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Constants.fstar_refl_comp_view +let (e_order : FStar_Order.order FStar_Syntax_Embeddings_Base.embedding) = let embed_order rng o = let r = match o with - | FStar_Order.Lt -> FStar_Reflection_Constants.ord_Lt - | FStar_Order.Eq -> FStar_Reflection_Constants.ord_Eq - | FStar_Order.Gt -> FStar_Reflection_Constants.ord_Gt in + | FStar_Order.Lt -> FStar_Reflection_V1_Constants.ord_Lt + | FStar_Order.Eq -> FStar_Reflection_V1_Constants.ord_Eq + | FStar_Order.Gt -> FStar_Reflection_V1_Constants.ord_Gt in { FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) } in - let unembed_order w t = + let unembed_order t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -1858,35 +1540,25 @@ let (e_order : FStar_Order.order FStar_Syntax_Embeddings.embedding) = (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Lt_lid + FStar_Reflection_V1_Constants.ord_Lt_lid -> FStar_Pervasives_Native.Some FStar_Order.Lt | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Eq_lid + FStar_Reflection_V1_Constants.ord_Eq_lid -> FStar_Pervasives_Native.Some FStar_Order.Eq | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Gt_lid + FStar_Reflection_V1_Constants.ord_Gt_lid -> FStar_Pervasives_Native.Some FStar_Order.Gt - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 "Not an embedded order: %s" - uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> 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 (e_sigelt : + FStar_Syntax_Syntax.sigelt FStar_Syntax_Embeddings_Base.embedding) = let embed_sigelt rng se = - FStar_Syntax_Util.mk_lazy se FStar_Reflection_Constants.fstar_refl_sigelt + FStar_Syntax_Util.mk_lazy se + FStar_Reflection_V1_Constants.fstar_refl_sigelt FStar_Syntax_Syntax.Lazy_sigelt (FStar_Pervasives_Native.Some rng) in - let unembed_sigelt w t = + let unembed_sigelt t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -1899,60 +1571,53 @@ let (e_sigelt : FStar_Syntax_Syntax.sigelt FStar_Syntax_Embeddings.embedding) -> let uu___3 = FStar_Compiler_Dyn.undyn b in FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded sigelt: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_sigelt unembed_sigelt - FStar_Reflection_Constants.fstar_refl_sigelt + FStar_Reflection_V1_Constants.fstar_refl_sigelt let (e_univ_name : - FStar_Syntax_Syntax.univ_name FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.set_type - FStar_Reflection_Constants.fstar_refl_univ_name e_ident + FStar_Reflection_V1_Data.univ_name FStar_Syntax_Embeddings_Base.embedding) + = + FStar_Syntax_Embeddings_Base.set_type + FStar_Reflection_V1_Constants.fstar_refl_univ_name e_ident let (e_univ_names : - FStar_Syntax_Syntax.univ_name Prims.list FStar_Syntax_Embeddings.embedding) + FStar_Reflection_V1_Data.univ_name Prims.list + FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_list e_univ_name let (e_ctor : (Prims.string Prims.list * FStar_Syntax_Syntax.term) - FStar_Syntax_Embeddings.embedding) + FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_string_list e_term let (e_lb_view : - FStar_Reflection_Data.lb_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.lb_view FStar_Syntax_Embeddings_Base.embedding) = let embed_lb_view rng lbv = let uu___ = let uu___1 = - let uu___2 = embed e_fv rng lbv.FStar_Reflection_Data.lb_fv in + let uu___2 = embed e_fv rng lbv.FStar_Reflection_V1_Data.lb_fv in FStar_Syntax_Syntax.as_arg uu___2 in let uu___2 = let uu___3 = - let uu___4 = embed e_univ_names rng lbv.FStar_Reflection_Data.lb_us in + let uu___4 = + embed e_univ_names rng lbv.FStar_Reflection_V1_Data.lb_us in FStar_Syntax_Syntax.as_arg uu___4 in let uu___4 = let uu___5 = - let uu___6 = embed e_term rng lbv.FStar_Reflection_Data.lb_typ in + let uu___6 = embed e_term rng lbv.FStar_Reflection_V1_Data.lb_typ in FStar_Syntax_Syntax.as_arg uu___6 in let uu___6 = let uu___7 = - let uu___8 = embed e_term rng lbv.FStar_Reflection_Data.lb_def in + let uu___8 = + embed e_term rng lbv.FStar_Reflection_V1_Data.lb_def in FStar_Syntax_Syntax.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Mk_lb.FStar_Reflection_Constants.t uu___ - rng in - let unembed_lb_view w t = + FStar_Reflection_V1_Constants.ref_Mk_lb.FStar_Reflection_V1_Constants.t + uu___ rng in + let unembed_lb_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -1967,50 +1632,39 @@ let (e_lb_view : (fv', uu___2)::(us, uu___3)::(typ, uu___4)::(def, uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_lb.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_lb.FStar_Reflection_V1_Constants.lid -> - let uu___6 = unembed' w e_fv fv' in + let uu___6 = unembed e_fv fv' in FStar_Compiler_Util.bind_opt uu___6 (fun fv'1 -> - let uu___7 = unembed' w e_univ_names us in + let uu___7 = unembed e_univ_names us in FStar_Compiler_Util.bind_opt uu___7 (fun us1 -> - let uu___8 = unembed' w e_term typ in + let uu___8 = unembed e_term typ in FStar_Compiler_Util.bind_opt uu___8 (fun typ1 -> - let uu___9 = unembed' w e_term def in + let uu___9 = unembed e_term def in FStar_Compiler_Util.bind_opt uu___9 (fun def1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___10 -> FStar_Pervasives_Native.Some uu___10) { - FStar_Reflection_Data.lb_fv = fv'1; - FStar_Reflection_Data.lb_us = us1; - FStar_Reflection_Data.lb_typ = typ1; - FStar_Reflection_Data.lb_def = def1 + FStar_Reflection_V1_Data.lb_fv = fv'1; + FStar_Reflection_V1_Data.lb_us = us1; + FStar_Reflection_V1_Data.lb_typ = typ1; + FStar_Reflection_V1_Data.lb_def = def1 })))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded lb_view: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_lb_view unembed_lb_view - FStar_Reflection_Constants.fstar_refl_lb_view + FStar_Reflection_V1_Constants.fstar_refl_lb_view let (e_letbinding : - FStar_Syntax_Syntax.letbinding FStar_Syntax_Embeddings.embedding) = + FStar_Syntax_Syntax.letbinding FStar_Syntax_Embeddings_Base.embedding) = let embed_letbinding rng lb = FStar_Syntax_Util.mk_lazy lb - FStar_Reflection_Constants.fstar_refl_letbinding + FStar_Reflection_V1_Constants.fstar_refl_letbinding FStar_Syntax_Syntax.Lazy_letbinding (FStar_Pervasives_Native.Some rng) in - let unembed_letbinding w t = + let unembed_letbinding t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -2023,25 +1677,15 @@ let (e_letbinding : -> let uu___3 = FStar_Compiler_Dyn.undyn lb in FStar_Pervasives_Native.Some uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded letbinding: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_letbinding unembed_letbinding - FStar_Reflection_Constants.fstar_refl_letbinding + FStar_Reflection_V1_Constants.fstar_refl_letbinding let (e_sigelt_view : - FStar_Reflection_Data.sigelt_view FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.sigelt_view FStar_Syntax_Embeddings_Base.embedding) + = let embed_sigelt_view rng sev = match sev with - | FStar_Reflection_Data.Sg_Let (r, lbs) -> + | FStar_Reflection_V1_Data.Sg_Let (r, lbs) -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_bool rng r in @@ -2055,9 +1699,9 @@ let (e_sigelt_view : [uu___3] in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Sg_Let.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Sg_Let.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> + | FStar_Reflection_V1_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng nm in @@ -2086,9 +1730,9 @@ let (e_sigelt_view : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Sg_Inductive.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Sg_Inductive.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Sg_Val (nm, univs, t) -> + | FStar_Reflection_V1_Data.Sg_Val (nm, univs, t) -> let uu___ = let uu___1 = let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng nm in @@ -2105,11 +1749,11 @@ let (e_sigelt_view : uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_Sg_Val.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_Sg_Val.FStar_Reflection_V1_Constants.t uu___ rng - | FStar_Reflection_Data.Unk -> + | FStar_Reflection_V1_Data.Unk -> let uu___ = - FStar_Reflection_Constants.ref_Unk.FStar_Reflection_Constants.t in + FStar_Reflection_V1_Constants.ref_Unk.FStar_Reflection_V1_Constants.t in { FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; @@ -2117,7 +1761,7 @@ let (e_sigelt_view : FStar_Syntax_Syntax.hash_code = (uu___.FStar_Syntax_Syntax.hash_code) } in - let unembed_sigelt_view w t = + let unembed_sigelt_view t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -2133,242 +1777,143 @@ let (e_sigelt_view : uu___6)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Inductive.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Inductive.FStar_Reflection_V1_Constants.lid -> - let uu___7 = unembed' w FStar_Syntax_Embeddings.e_string_list nm in + let uu___7 = unembed FStar_Syntax_Embeddings.e_string_list nm in FStar_Compiler_Util.bind_opt uu___7 (fun nm1 -> - let uu___8 = unembed' w e_univ_names us in + let uu___8 = unembed e_univ_names us in FStar_Compiler_Util.bind_opt uu___8 (fun us1 -> - let uu___9 = unembed' w e_binders bs in + let uu___9 = unembed e_binders bs in FStar_Compiler_Util.bind_opt uu___9 (fun bs1 -> - let uu___10 = unembed' w e_term t2 in + let uu___10 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___10 (fun t3 -> let uu___11 = let uu___12 = FStar_Syntax_Embeddings.e_list e_ctor in - unembed' w uu___12 dcs in + unembed uu___12 dcs in FStar_Compiler_Util.bind_opt uu___11 (fun dcs1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___12 -> FStar_Pervasives_Native.Some uu___12) - (FStar_Reflection_Data.Sg_Inductive + (FStar_Reflection_V1_Data.Sg_Inductive (nm1, us1, bs1, t3, dcs1))))))) | (FStar_Syntax_Syntax.Tm_fvar fv, (r, uu___2)::(lbs, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Let.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Let.FStar_Reflection_V1_Constants.lid -> - let uu___4 = unembed' w FStar_Syntax_Embeddings.e_bool r in + let uu___4 = unembed FStar_Syntax_Embeddings.e_bool r in FStar_Compiler_Util.bind_opt uu___4 (fun r1 -> let uu___5 = let uu___6 = FStar_Syntax_Embeddings.e_list e_letbinding in - unembed' w uu___6 lbs in + unembed uu___6 lbs in FStar_Compiler_Util.bind_opt uu___5 (fun lbs1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Sg_Let (r1, lbs1)))) + (FStar_Reflection_V1_Data.Sg_Let (r1, lbs1)))) | (FStar_Syntax_Syntax.Tm_fvar fv, (nm, uu___2)::(us, uu___3)::(t2, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Val.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Val.FStar_Reflection_V1_Constants.lid -> - let uu___5 = unembed' w FStar_Syntax_Embeddings.e_string_list nm in + let uu___5 = unembed FStar_Syntax_Embeddings.e_string_list nm in FStar_Compiler_Util.bind_opt uu___5 (fun nm1 -> - let uu___6 = unembed' w e_univ_names us in + let uu___6 = unembed e_univ_names us in FStar_Compiler_Util.bind_opt uu___6 (fun us1 -> - let uu___7 = unembed' w e_term t2 in + let uu___7 = unembed e_term t2 in FStar_Compiler_Util.bind_opt uu___7 (fun t3 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___8 -> FStar_Pervasives_Native.Some uu___8) - (FStar_Reflection_Data.Sg_Val (nm1, us1, t3))))) + (FStar_Reflection_V1_Data.Sg_Val (nm1, us1, t3))))) | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Unk.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unk - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded sigelt_view: %s " uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + FStar_Reflection_V1_Constants.ref_Unk.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Unk + | uu___2 -> FStar_Pervasives_Native.None) in mk_emb embed_sigelt_view unembed_sigelt_view - FStar_Reflection_Constants.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_Constants.ref_E_Unit.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Var i -> - let uu___ = - let uu___1 = - let uu___2 = - let uu___3 = FStar_BigInt.string_of_big_int i in - FStar_Syntax_Util.exp_int uu___3 in - FStar_Syntax_Syntax.as_arg uu___2 in - [uu___1] in - FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_E_Var.FStar_Reflection_Constants.t - uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Mult (e1, e2) -> - let uu___ = - let uu___1 = - let uu___2 = embed_exp rng e1 in - FStar_Syntax_Syntax.as_arg uu___2 in - let uu___2 = - let uu___3 = - let uu___4 = embed_exp rng e2 in - FStar_Syntax_Syntax.as_arg uu___4 in - [uu___3] in - uu___1 :: uu___2 in - FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_E_Mult.FStar_Reflection_Constants.t - uu___ FStar_Compiler_Range_Type.dummyRange in - { - FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); - FStar_Syntax_Syntax.pos = rng; - FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); - FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) - } in - let rec unembed_exp w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu___ = FStar_Syntax_Util.head_and_args t1 in - match uu___ with - | (hd, args) -> - let uu___1 = - let uu___2 = - let uu___3 = FStar_Syntax_Util.un_uinst hd in - uu___3.FStar_Syntax_Syntax.n in - (uu___2, args) in - (match uu___1 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Unit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unit - | (FStar_Syntax_Syntax.Tm_fvar fv, (i, uu___2)::[]) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Var.FStar_Reflection_Constants.lid - -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_int i in - FStar_Compiler_Util.bind_opt uu___3 - (fun i1 -> - FStar_Compiler_Effect.op_Less_Bar - (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Var i1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (e1, uu___2)::(e2, uu___3)::[]) - when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Mult.FStar_Reflection_Constants.lid - -> - let uu___4 = unembed_exp w e1 in - FStar_Compiler_Util.bind_opt uu___4 - (fun e11 -> - let uu___5 = unembed_exp w e2 in - FStar_Compiler_Util.bind_opt uu___5 - (fun e21 -> - FStar_Compiler_Effect.op_Less_Bar - (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Mult (e11, e21)))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 "Not an embedded exp: %s" - uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in - mk_emb embed_exp unembed_exp FStar_Reflection_Constants.fstar_refl_exp + FStar_Reflection_V1_Constants.fstar_refl_sigelt_view let (e_qualifier : - FStar_Reflection_Data.qualifier FStar_Syntax_Embeddings.embedding) = + FStar_Reflection_V1_Data.qualifier FStar_Syntax_Embeddings_Base.embedding) + = let embed1 rng q = let r = match q with - | FStar_Reflection_Data.Assumption -> - FStar_Reflection_Constants.ref_qual_Assumption.FStar_Reflection_Constants.t - | FStar_Reflection_Data.InternalAssumption -> - FStar_Reflection_Constants.ref_qual_InternalAssumption.FStar_Reflection_Constants.t - | FStar_Reflection_Data.New -> - FStar_Reflection_Constants.ref_qual_New.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Private -> - FStar_Reflection_Constants.ref_qual_Private.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Unfold_for_unification_and_vcgen -> - FStar_Reflection_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Visible_default -> - FStar_Reflection_Constants.ref_qual_Visible_default.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Irreducible -> - FStar_Reflection_Constants.ref_qual_Irreducible.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Inline_for_extraction -> - FStar_Reflection_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_Constants.t - | FStar_Reflection_Data.NoExtract -> - FStar_Reflection_Constants.ref_qual_NoExtract.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Noeq -> - FStar_Reflection_Constants.ref_qual_Noeq.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Unopteq -> - FStar_Reflection_Constants.ref_qual_Unopteq.FStar_Reflection_Constants.t - | FStar_Reflection_Data.TotalEffect -> - FStar_Reflection_Constants.ref_qual_TotalEffect.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Logic -> - FStar_Reflection_Constants.ref_qual_Logic.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Reifiable -> - FStar_Reflection_Constants.ref_qual_Reifiable.FStar_Reflection_Constants.t - | FStar_Reflection_Data.ExceptionConstructor -> - FStar_Reflection_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_Constants.t - | FStar_Reflection_Data.HasMaskedEffect -> - FStar_Reflection_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Effect -> - FStar_Reflection_Constants.ref_qual_Effect.FStar_Reflection_Constants.t - | FStar_Reflection_Data.OnlyName -> - FStar_Reflection_Constants.ref_qual_OnlyName.FStar_Reflection_Constants.t - | FStar_Reflection_Data.Reflectable l -> + | FStar_Reflection_V1_Data.Assumption -> + FStar_Reflection_V1_Constants.ref_qual_Assumption.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.InternalAssumption -> + FStar_Reflection_V1_Constants.ref_qual_InternalAssumption.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.New -> + FStar_Reflection_V1_Constants.ref_qual_New.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Private -> + FStar_Reflection_V1_Constants.ref_qual_Private.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen -> + FStar_Reflection_V1_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Visible_default -> + FStar_Reflection_V1_Constants.ref_qual_Visible_default.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Irreducible -> + FStar_Reflection_V1_Constants.ref_qual_Irreducible.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Inline_for_extraction -> + FStar_Reflection_V1_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.NoExtract -> + FStar_Reflection_V1_Constants.ref_qual_NoExtract.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Noeq -> + FStar_Reflection_V1_Constants.ref_qual_Noeq.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Unopteq -> + FStar_Reflection_V1_Constants.ref_qual_Unopteq.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.TotalEffect -> + FStar_Reflection_V1_Constants.ref_qual_TotalEffect.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Logic -> + FStar_Reflection_V1_Constants.ref_qual_Logic.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Reifiable -> + FStar_Reflection_V1_Constants.ref_qual_Reifiable.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.ExceptionConstructor -> + FStar_Reflection_V1_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.HasMaskedEffect -> + FStar_Reflection_V1_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Effect -> + FStar_Reflection_V1_Constants.ref_qual_Effect.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.OnlyName -> + FStar_Reflection_V1_Constants.ref_qual_OnlyName.FStar_Reflection_V1_Constants.t + | FStar_Reflection_V1_Data.Reflectable l -> let uu___ = let uu___1 = let uu___2 = embed e_lid rng l in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_Reflectable.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_Reflectable.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Discriminator l -> + | FStar_Reflection_V1_Data.Discriminator l -> let uu___ = let uu___1 = let uu___2 = embed e_lid rng l in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_Discriminator.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_Discriminator.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Action l -> + | FStar_Reflection_V1_Data.Action l -> let uu___ = let uu___1 = let uu___2 = embed e_lid rng l in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_Action.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_Action.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.Projector (l, i) -> + | FStar_Reflection_V1_Data.Projector (l, i) -> let uu___ = let uu___1 = let uu___2 = @@ -2377,9 +1922,9 @@ let (e_qualifier : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_Projector.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_Projector.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.RecordType (ids1, ids2) -> + | FStar_Reflection_V1_Data.RecordType (ids1, ids2) -> let uu___ = let uu___1 = let uu___2 = @@ -2391,9 +1936,9 @@ let (e_qualifier : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_RecordType.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_RecordType.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange - | FStar_Reflection_Data.RecordConstructor (ids1, ids2) -> + | FStar_Reflection_V1_Data.RecordConstructor (ids1, ids2) -> let uu___ = let uu___1 = let uu___2 = @@ -2405,7 +1950,7 @@ let (e_qualifier : FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.ref_qual_RecordConstructor.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.ref_qual_RecordConstructor.FStar_Reflection_V1_Constants.t uu___ FStar_Compiler_Range_Type.dummyRange in { FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); @@ -2413,7 +1958,7 @@ let (e_qualifier : FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) } in - let unembed w t = + let unembed1 t = let t1 = FStar_Syntax_Util.unascribe t in let uu___ = FStar_Syntax_Util.head_and_args t1 in match uu___ with @@ -2426,184 +1971,180 @@ let (e_qualifier : (match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Assumption.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Assumption + FStar_Reflection_V1_Constants.ref_qual_Assumption.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Assumption | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_InternalAssumption.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_InternalAssumption.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.InternalAssumption + FStar_Reflection_V1_Data.InternalAssumption | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_New.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.New + FStar_Reflection_V1_Constants.ref_qual_New.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.New | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Private.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Private + FStar_Reflection_V1_Constants.ref_qual_Private.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Private | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.Unfold_for_unification_and_vcgen + FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Visible_default.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Visible_default.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.Visible_default + FStar_Reflection_V1_Data.Visible_default | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Irreducible.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Irreducible.FStar_Reflection_V1_Constants.lid -> - FStar_Pervasives_Native.Some FStar_Reflection_Data.Irreducible + FStar_Pervasives_Native.Some + FStar_Reflection_V1_Data.Irreducible | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.Inline_for_extraction + FStar_Reflection_V1_Data.Inline_for_extraction | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_NoExtract.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.NoExtract + FStar_Reflection_V1_Constants.ref_qual_NoExtract.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.NoExtract | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Noeq.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Noeq + FStar_Reflection_V1_Constants.ref_qual_Noeq.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Noeq | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Unopteq.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unopteq + FStar_Reflection_V1_Constants.ref_qual_Unopteq.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Unopteq | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_TotalEffect.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_TotalEffect.FStar_Reflection_V1_Constants.lid -> - FStar_Pervasives_Native.Some FStar_Reflection_Data.TotalEffect + FStar_Pervasives_Native.Some + FStar_Reflection_V1_Data.TotalEffect | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Logic.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Logic + FStar_Reflection_V1_Constants.ref_qual_Logic.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Logic | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Reifiable.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Reifiable + FStar_Reflection_V1_Constants.ref_qual_Reifiable.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Reifiable | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.ExceptionConstructor + FStar_Reflection_V1_Data.ExceptionConstructor | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.HasMaskedEffect + FStar_Reflection_V1_Data.HasMaskedEffect | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Effect.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Effect + FStar_Reflection_V1_Constants.ref_qual_Effect.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Effect | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_OnlyName.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.OnlyName + FStar_Reflection_V1_Constants.ref_qual_OnlyName.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.OnlyName | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Reflectable.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Reflectable.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_lid l in + let uu___3 = unembed e_lid l in FStar_Compiler_Util.bind_opt uu___3 (fun l1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Reflectable l1)) + (FStar_Reflection_V1_Data.Reflectable l1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Discriminator.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Discriminator.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_lid l in + let uu___3 = unembed e_lid l in FStar_Compiler_Util.bind_opt uu___3 (fun l1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Discriminator l1)) + (FStar_Reflection_V1_Data.Discriminator l1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Action.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Action.FStar_Reflection_V1_Constants.lid -> - let uu___3 = unembed' w e_lid l in + let uu___3 = unembed e_lid l in FStar_Compiler_Util.bind_opt uu___3 (fun l1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Action l1)) + (FStar_Reflection_V1_Data.Action l1)) | (FStar_Syntax_Syntax.Tm_fvar fv, (payload, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Projector.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Projector.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = FStar_Syntax_Embeddings.e_tuple2 e_lid e_ident in - unembed' w uu___4 payload in + unembed uu___4 payload in FStar_Compiler_Util.bind_opt uu___3 (fun uu___4 -> match uu___4 with | (l, i) -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Projector (l, i))) + (FStar_Reflection_V1_Data.Projector (l, i))) | (FStar_Syntax_Syntax.Tm_fvar fv, (payload, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_RecordType.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_RecordType.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = let uu___5 = FStar_Syntax_Embeddings.e_list e_ident in let uu___6 = FStar_Syntax_Embeddings.e_list e_ident in FStar_Syntax_Embeddings.e_tuple2 uu___5 uu___6 in - unembed' w uu___4 payload in + unembed uu___4 payload in FStar_Compiler_Util.bind_opt uu___3 (fun uu___4 -> match uu___4 with | (ids1, ids2) -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.RecordType (ids1, ids2))) + (FStar_Reflection_V1_Data.RecordType (ids1, ids2))) | (FStar_Syntax_Syntax.Tm_fvar fv, (payload, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_RecordConstructor.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_RecordConstructor.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = let uu___5 = FStar_Syntax_Embeddings.e_list e_ident in let uu___6 = FStar_Syntax_Embeddings.e_list e_ident in FStar_Syntax_Embeddings.e_tuple2 uu___5 uu___6 in - unembed' w uu___4 payload in + unembed uu___4 payload in FStar_Compiler_Util.bind_opt uu___3 (fun uu___4 -> match uu___4 with | (ids1, ids2) -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.RecordConstructor (ids1, ids2))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t1 in - FStar_Compiler_Util.format1 - "Not an embedded qualifier: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in - mk_emb embed1 unembed FStar_Reflection_Constants.fstar_refl_qualifier + (FStar_Reflection_V1_Data.RecordConstructor + (ids1, ids2))) + | uu___2 -> FStar_Pervasives_Native.None) in + mk_emb embed1 unembed1 FStar_Reflection_V1_Constants.fstar_refl_qualifier let (e_qualifiers : - FStar_Reflection_Data.qualifier Prims.list - FStar_Syntax_Embeddings.embedding) + FStar_Reflection_V1_Data.qualifier Prims.list + FStar_Syntax_Embeddings_Base.embedding) = FStar_Syntax_Embeddings.e_list e_qualifier let (unfold_lazy_bv : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2612,12 +2153,12 @@ let (unfold_lazy_bv : let uu___ = let uu___1 = let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_bv bv in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_bv bv in embed e_bv_view i.FStar_Syntax_Syntax.rng uu___3 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_bv.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_bv.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_binder : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2626,48 +2167,48 @@ let (unfold_lazy_binder : let uu___ = let uu___1 = let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_binder binder in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_binder binder in embed e_binder_view i.FStar_Syntax_Syntax.rng uu___3 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_binder.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_binder.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_letbinding : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = fun i -> let lb = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in - let lbv = FStar_Reflection_Basic.inspect_lb lb in + let lbv = FStar_Reflection_V1_Builtins.inspect_lb lb in let uu___ = let uu___1 = let uu___2 = embed e_fv i.FStar_Syntax_Syntax.rng - lbv.FStar_Reflection_Data.lb_fv in + lbv.FStar_Reflection_V1_Data.lb_fv in FStar_Syntax_Syntax.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = embed e_univ_names i.FStar_Syntax_Syntax.rng - lbv.FStar_Reflection_Data.lb_us in + lbv.FStar_Reflection_V1_Data.lb_us in FStar_Syntax_Syntax.as_arg uu___4 in let uu___4 = let uu___5 = let uu___6 = embed e_term i.FStar_Syntax_Syntax.rng - lbv.FStar_Reflection_Data.lb_typ in + lbv.FStar_Reflection_V1_Data.lb_typ in FStar_Syntax_Syntax.as_arg uu___6 in let uu___6 = let uu___7 = let uu___8 = embed e_term i.FStar_Syntax_Syntax.rng - lbv.FStar_Reflection_Data.lb_def in + lbv.FStar_Reflection_V1_Data.lb_def in FStar_Syntax_Syntax.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_lb.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_lb.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_fvar : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2678,12 +2219,12 @@ let (unfold_lazy_fvar : let uu___2 = let uu___3 = FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in - let uu___4 = FStar_Reflection_Basic.inspect_fv fv in + let uu___4 = FStar_Reflection_V1_Builtins.inspect_fv fv in embed uu___3 i.FStar_Syntax_Syntax.rng uu___4 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_fv.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_fv.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_comp : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2692,12 +2233,12 @@ let (unfold_lazy_comp : let uu___ = let uu___1 = let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_comp comp in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_comp comp in embed e_comp_view i.FStar_Syntax_Syntax.rng uu___3 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_comp.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_comp.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_env : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2712,12 +2253,12 @@ let (unfold_lazy_sigelt : let uu___ = let uu___1 = let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_sigelt sigelt in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_sigelt sigelt in embed e_sigelt_view i.FStar_Syntax_Syntax.rng uu___3 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_sigelt.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_sigelt.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng let (unfold_lazy_universe : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = @@ -2726,10 +2267,10 @@ let (unfold_lazy_universe : let uu___ = let uu___1 = let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_universe u in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_universe u in embed e_universe_view i.FStar_Syntax_Syntax.rng uu___3 in FStar_Syntax_Syntax.as_arg uu___2 in [uu___1] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Constants.fstar_refl_pack_universe.FStar_Reflection_Constants.t + FStar_Reflection_V1_Constants.fstar_refl_pack_universe.FStar_Reflection_V1_Constants.t uu___ i.FStar_Syntax_Syntax.rng \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1_Formula.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Formula.ml new file mode 100644 index 00000000000..cdb5d67c4d9 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Formula.ml @@ -0,0 +1,2440 @@ +open Prims +let (bv_to_string : + FStar_Reflection_Types.bv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun bv -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (29)) (Prims.of_int (14)) (Prims.of_int (29)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (30)) (Prims.of_int (4)) (Prims.of_int (30)) + (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V1_Builtins.inspect_bv bv)) + (fun uu___ -> + (fun bvv -> + Obj.magic + (FStar_Tactics_Unseal.unseal + bvv.FStar_Reflection_V1_Data.bv_ppname)) uu___) +let rec (inspect_unascribe : + FStar_Reflection_Types.term -> + (FStar_Reflection_V1_Data.term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (32)) (Prims.of_int (8)) (Prims.of_int (32)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (32)) (Prims.of_int (2)) (Prims.of_int (36)) + (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_AscribedT + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | FStar_Reflection_V1_Data.Tv_AscribedC + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | tv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) + uu___) +let rec (collect_app' : + FStar_Reflection_V1_Data.argv Prims.list -> + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = + fun args -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (39)) (Prims.of_int (10)) (Prims.of_int (39)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (39)) (Prims.of_int (4)) (Prims.of_int (42)) + (Prims.of_int (20))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_App (l, r) -> + Obj.magic (Obj.repr (collect_app' (r :: args) l)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (t, args))))) uu___) +let (collect_app : + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = collect_app' [] +type comparison = + | Eq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option + | BoolEq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option + | Lt + | Le + | Gt + | Ge +let (uu___is_Eq : comparison -> Prims.bool) = + fun projectee -> match projectee with | Eq _0 -> true | uu___ -> false +let (__proj__Eq__item___0 : + comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | Eq _0 -> _0 +let (uu___is_BoolEq : comparison -> Prims.bool) = + fun projectee -> match projectee with | BoolEq _0 -> true | uu___ -> false +let (__proj__BoolEq__item___0 : + comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | BoolEq _0 -> _0 +let (uu___is_Lt : comparison -> Prims.bool) = + fun projectee -> match projectee with | Lt -> true | uu___ -> false +let (uu___is_Le : comparison -> Prims.bool) = + fun projectee -> match projectee with | Le -> true | uu___ -> false +let (uu___is_Gt : comparison -> Prims.bool) = + fun projectee -> match projectee with | Gt -> true | uu___ -> false +let (uu___is_Ge : comparison -> Prims.bool) = + fun projectee -> match projectee with | Ge -> true | uu___ -> false +type formula = + | True_ + | False_ + | Comp of comparison * FStar_Reflection_Types.term * + FStar_Reflection_Types.term + | And of FStar_Reflection_Types.term * FStar_Reflection_Types.term + | Or of FStar_Reflection_Types.term * FStar_Reflection_Types.term + | Not of FStar_Reflection_Types.term + | Implies of FStar_Reflection_Types.term * FStar_Reflection_Types.term + | Iff of FStar_Reflection_Types.term * FStar_Reflection_Types.term + | Forall of FStar_Reflection_Types.bv * FStar_Reflection_Types.typ * + FStar_Reflection_Types.term + | Exists of FStar_Reflection_Types.bv * FStar_Reflection_Types.typ * + FStar_Reflection_Types.term + | App of FStar_Reflection_Types.term * FStar_Reflection_Types.term + | Name of FStar_Reflection_Types.bv + | FV of FStar_Reflection_Types.fv + | IntLit of Prims.int + | F_Unknown +let (uu___is_True_ : formula -> Prims.bool) = + fun projectee -> match projectee with | True_ -> true | uu___ -> false +let (uu___is_False_ : formula -> Prims.bool) = + fun projectee -> match projectee with | False_ -> true | uu___ -> false +let (uu___is_Comp : formula -> Prims.bool) = + fun projectee -> + match projectee with | Comp (_0, _1, _2) -> true | uu___ -> false +let (__proj__Comp__item___0 : formula -> comparison) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _0 +let (__proj__Comp__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _1 +let (__proj__Comp__item___2 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _2 +let (uu___is_And : formula -> Prims.bool) = + fun projectee -> + match projectee with | And (_0, _1) -> true | uu___ -> false +let (__proj__And__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | And (_0, _1) -> _0 +let (__proj__And__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | And (_0, _1) -> _1 +let (uu___is_Or : formula -> Prims.bool) = + fun projectee -> + match projectee with | Or (_0, _1) -> true | uu___ -> false +let (__proj__Or__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Or (_0, _1) -> _0 +let (__proj__Or__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Or (_0, _1) -> _1 +let (uu___is_Not : formula -> Prims.bool) = + fun projectee -> match projectee with | Not _0 -> true | uu___ -> false +let (__proj__Not__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Not _0 -> _0 +let (uu___is_Implies : formula -> Prims.bool) = + fun projectee -> + match projectee with | Implies (_0, _1) -> true | uu___ -> false +let (__proj__Implies__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Implies (_0, _1) -> _0 +let (__proj__Implies__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Implies (_0, _1) -> _1 +let (uu___is_Iff : formula -> Prims.bool) = + fun projectee -> + match projectee with | Iff (_0, _1) -> true | uu___ -> false +let (__proj__Iff__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Iff (_0, _1) -> _0 +let (__proj__Iff__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Iff (_0, _1) -> _1 +let (uu___is_Forall : formula -> Prims.bool) = + fun projectee -> + match projectee with | Forall (_0, _1, _2) -> true | uu___ -> false +let (__proj__Forall__item___0 : formula -> FStar_Reflection_Types.bv) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _0 +let (__proj__Forall__item___1 : formula -> FStar_Reflection_Types.typ) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _1 +let (__proj__Forall__item___2 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _2 +let (uu___is_Exists : formula -> Prims.bool) = + fun projectee -> + match projectee with | Exists (_0, _1, _2) -> true | uu___ -> false +let (__proj__Exists__item___0 : formula -> FStar_Reflection_Types.bv) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _0 +let (__proj__Exists__item___1 : formula -> FStar_Reflection_Types.typ) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _1 +let (__proj__Exists__item___2 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _2 +let (uu___is_App : formula -> Prims.bool) = + fun projectee -> + match projectee with | App (_0, _1) -> true | uu___ -> false +let (__proj__App__item___0 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | App (_0, _1) -> _0 +let (__proj__App__item___1 : formula -> FStar_Reflection_Types.term) = + fun projectee -> match projectee with | App (_0, _1) -> _1 +let (uu___is_Name : formula -> Prims.bool) = + fun projectee -> match projectee with | Name _0 -> true | uu___ -> false +let (__proj__Name__item___0 : formula -> FStar_Reflection_Types.bv) = + fun projectee -> match projectee with | Name _0 -> _0 +let (uu___is_FV : formula -> Prims.bool) = + fun projectee -> match projectee with | FV _0 -> true | uu___ -> false +let (__proj__FV__item___0 : formula -> FStar_Reflection_Types.fv) = + fun projectee -> match projectee with | FV _0 -> _0 +let (uu___is_IntLit : formula -> Prims.bool) = + fun projectee -> match projectee with | IntLit _0 -> true | uu___ -> false +let (__proj__IntLit__item___0 : formula -> Prims.int) = + fun projectee -> match projectee with | IntLit _0 -> _0 +let (uu___is_F_Unknown : formula -> Prims.bool) = + fun projectee -> match projectee with | F_Unknown -> true | uu___ -> false +let (mk_Forall : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun typ -> + fun pred -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Forall + ((FStar_Reflection_V1_Builtins.pack_bv + { + FStar_Reflection_V1_Data.bv_ppname = + (FStar_Reflection_V1_Data.as_ppname "x"); + FStar_Reflection_V1_Data.bv_index = Prims.int_zero + }), typ, + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_App + (pred, + ((FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_BVar + (FStar_Reflection_V1_Builtins.pack_bv + { + FStar_Reflection_V1_Data.bv_ppname + = + (FStar_Reflection_V1_Data.as_ppname + "x"); + FStar_Reflection_V1_Data.bv_index + = Prims.int_zero + }))), + FStar_Reflection_V1_Data.Q_Explicit)))))))) + uu___1 uu___ +let (mk_Exists : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun typ -> + fun pred -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Exists + ((FStar_Reflection_V1_Builtins.pack_bv + { + FStar_Reflection_V1_Data.bv_ppname = + (FStar_Reflection_V1_Data.as_ppname "x"); + FStar_Reflection_V1_Data.bv_index = Prims.int_zero + }), typ, + (FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_App + (pred, + ((FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_BVar + (FStar_Reflection_V1_Builtins.pack_bv + { + FStar_Reflection_V1_Data.bv_ppname + = + (FStar_Reflection_V1_Data.as_ppname + "x"); + FStar_Reflection_V1_Data.bv_index + = Prims.int_zero + }))), + FStar_Reflection_V1_Data.Q_Explicit)))))))) + uu___1 uu___ +let (term_as_formula' : + FStar_Reflection_Types.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (79)) (Prims.of_int (10)) (Prims.of_int (79)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (79)) (Prims.of_int (4)) (Prims.of_int (154)) + (Prims.of_int (28))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_Var n -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Name n))) + | FStar_Reflection_V1_Data.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.true_qn + then True_ + else + if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.false_qn + then False_ + else FV fv))) + | FStar_Reflection_V1_Data.Tv_UInst (fv, uu___1) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.true_qn + then True_ + else + if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.false_qn + then False_ + else FV fv))) + | FStar_Reflection_V1_Data.Tv_App (h0, t1) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (95)) (Prims.of_int (22)) + (Prims.of_int (95)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (94)) (Prims.of_int (26)) + (Prims.of_int (133)) (Prims.of_int (26))))) + (Obj.magic (collect_app h0)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (h, ts) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (96)) + (Prims.of_int (16)) + (Prims.of_int (96)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (97)) + (Prims.of_int (8)) + (Prims.of_int (133)) + (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Derived.un_uinst + h)) + (fun uu___2 -> + (fun h1 -> + match ((FStar_Reflection_V1_Builtins.inspect_ln + h1), + (FStar_List_Tot_Base.op_At + ts [t1])) + with + | (FStar_Reflection_V1_Data.Tv_FVar + fv, + (a1, + FStar_Reflection_V1_Data.Q_Implicit):: + (a2, + FStar_Reflection_V1_Data.Q_Explicit):: + (a3, + FStar_Reflection_V1_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.eq2_qn + then + Comp + ((Eq + ( + FStar_Pervasives_Native.Some + a1)), a2, + a3) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.eq1_qn + then + Comp + ((BoolEq + (FStar_Pervasives_Native.Some + a1)), a2, + a3) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.lt_qn + then + Comp + (Lt, a2, + a3) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.lte_qn + then + Comp + (Le, a2, + a3) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.gt_qn + then + Comp + (Gt, a2, + a3) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.gte_qn + then + Comp + (Ge, a2, + a3) + else + App + (h0, + (FStar_Pervasives_Native.fst + t1))))) + | (FStar_Reflection_V1_Data.Tv_FVar + fv, + (a1, + FStar_Reflection_V1_Data.Q_Explicit):: + (a2, + FStar_Reflection_V1_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.imp_qn + then + Implies + (a1, a2) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.and_qn + then + And (a1, a2) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.iff_qn + then + Iff + (a1, a2) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.or_qn + then + Or + (a1, a2) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.eq2_qn + then + Comp + ((Eq + FStar_Pervasives_Native.None), + a1, a2) + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.eq1_qn + then + Comp + ((BoolEq + FStar_Pervasives_Native.None), + a1, a2) + else + App + (h0, + (FStar_Pervasives_Native.fst + t1))))) + | (FStar_Reflection_V1_Data.Tv_FVar + fv, + (a1, + FStar_Reflection_V1_Data.Q_Implicit):: + (a2, + FStar_Reflection_V1_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (119)) + (Prims.of_int (21)) + (Prims.of_int (119)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (120)) + (Prims.of_int (17)) + (Prims.of_int (122)) + (Prims.of_int (31))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Builtins.inspect_fv + fv)) + (fun uu___2 -> + (fun qn -> + if + qn = + FStar_Reflection_Const.forall_qn + then + Obj.magic + (Obj.repr + (mk_Forall + a1 a2)) + else + Obj.magic + (Obj.repr + (if + qn = + FStar_Reflection_Const.exists_qn + then + Obj.repr + (mk_Exists + a1 a2) + else + Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___4 -> + App + (h0, + (FStar_Pervasives_Native.fst + t1))))))) + uu___2))) + | (FStar_Reflection_V1_Data.Tv_FVar + fv, + (a, + FStar_Reflection_V1_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.not_qn + then Not a + else + if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.b2t_qn + then + (if + FStar_Reflection_V1_Builtins.term_eq + a + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_False)) + then False_ + else + if + FStar_Reflection_V1_Builtins.term_eq + a + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_True)) + then True_ + else + App + (h0, + (FStar_Pervasives_Native.fst + t1))) + else + App + (h0, + ( + FStar_Pervasives_Native.fst + t1))))) + | uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + App + (h0, + (FStar_Pervasives_Native.fst + t1)))))) + uu___2))) uu___1))) + | FStar_Reflection_V1_Data.Tv_Const + (FStar_Reflection_V1_Data.C_Int i) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> IntLit i))) + | FStar_Reflection_V1_Data.Tv_Let + (uu___1, uu___2, uu___3, uu___4, uu___5, uu___6) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___7 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Match (uu___1, uu___2, uu___3) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Type uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Abs (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Arrow (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Uvar (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Unknown -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Unsupp -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Refine (uu___1, uu___2, uu___3) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_Const uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown))) + | FStar_Reflection_V1_Data.Tv_BVar uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown)))) uu___) +let (term_as_formula : + FStar_Reflection_Types.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun t -> + match FStar_Reflection_V1_Derived.unsquash_term t with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> F_Unknown))) + | FStar_Pervasives_Native.Some t1 -> + Obj.magic (Obj.repr (term_as_formula' t1))) uu___ +let (term_as_formula_total : + FStar_Reflection_Types.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + term_as_formula' (FStar_Reflection_V1_Derived.maybe_unsquash_term t) +let (formula_as_term_view : formula -> FStar_Reflection_V1_Data.term_view) = + fun f -> + let mk_app' tv args = + FStar_List_Tot_Base.fold_left + (fun tv1 -> + fun a -> + FStar_Reflection_V1_Data.Tv_App + ((FStar_Reflection_V1_Builtins.pack_ln tv1), a)) tv args in + let e = FStar_Reflection_V1_Data.Q_Explicit in + let i = FStar_Reflection_V1_Data.Q_Implicit in + match f with + | True_ -> + FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.true_qn) + | False_ -> + FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.false_qn) + | Comp (Eq (FStar_Pervasives_Native.None), l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) [(l, e); (r, e)] + | Comp (Eq (FStar_Pervasives_Native.Some t), l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) [(t, i); (l, e); (r, e)] + | Comp (BoolEq (FStar_Pervasives_Native.None), l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.eq1_qn)) [(l, e); (r, e)] + | Comp (BoolEq (FStar_Pervasives_Native.Some t), l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.eq1_qn)) [(t, i); (l, e); (r, e)] + | Comp (Lt, l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.lt_qn)) [(l, e); (r, e)] + | Comp (Le, l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.lte_qn)) [(l, e); (r, e)] + | Comp (Gt, l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.gt_qn)) [(l, e); (r, e)] + | Comp (Ge, l, r) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.gte_qn)) [(l, e); (r, e)] + | And (p, q) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.and_qn)) [(p, e); (q, e)] + | Or (p, q) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.or_qn)) [(p, e); (q, e)] + | Implies (p, q) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.imp_qn)) [(p, e); (q, e)] + | Not p -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.not_qn)) [(p, e)] + | Iff (p, q) -> + mk_app' + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.iff_qn)) [(p, e); (q, e)] + | Forall (b, sort, t) -> FStar_Reflection_V1_Data.Tv_Unknown + | Exists (b, sort, t) -> FStar_Reflection_V1_Data.Tv_Unknown + | App (p, q) -> + FStar_Reflection_V1_Data.Tv_App + (p, (q, FStar_Reflection_V1_Data.Q_Explicit)) + | Name b -> FStar_Reflection_V1_Data.Tv_Var b + | FV fv -> FStar_Reflection_V1_Data.Tv_FVar fv + | IntLit i1 -> + FStar_Reflection_V1_Data.Tv_Const (FStar_Reflection_V1_Data.C_Int i1) + | F_Unknown -> FStar_Reflection_V1_Data.Tv_Unknown +let (formula_as_term : formula -> FStar_Reflection_Types.term) = + fun f -> FStar_Reflection_V1_Builtins.pack_ln (formula_as_term_view f) +let (formula_to_string : + formula -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun f -> + match f with + | True_ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "True_"))) + | False_ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "False_"))) + | Comp (Eq mt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (212)) (Prims.of_int (24)) + (Prims.of_int (215)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (212)) (Prims.of_int (24)) + (Prims.of_int (214)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (212)) (Prims.of_int (24)) + (Prims.of_int (215)) (Prims.of_int (80))))) + (match mt with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> ""))) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (214)) + (Prims.of_int (44)) + (Prims.of_int (214)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (214)) + (Prims.of_int (44)) + (Prims.of_int (214)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat " (" uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (24)) + (Prims.of_int (215)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (31)) + (Prims.of_int (215)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (31)) + (Prims.of_int (215)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (31)) + (Prims.of_int (215)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + l)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (50)) + (Prims.of_int (215)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (58)) + (Prims.of_int (215)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (215)) + (Prims.of_int (58)) + (Prims.of_int (215)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun + uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + uu___2 + ")")))) + (fun uu___2 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + ") (" + uu___2)))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 + -> + Prims.strcat + uu___1 + uu___2)))) + uu___1))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat " (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Eq" uu___)))) + | Comp (BoolEq mt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (217)) (Prims.of_int (24)) + (Prims.of_int (220)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (217)) (Prims.of_int (24)) + (Prims.of_int (219)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (217)) (Prims.of_int (24)) + (Prims.of_int (220)) (Prims.of_int (80))))) + (match mt with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> ""))) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (219)) + (Prims.of_int (44)) + (Prims.of_int (219)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (219)) + (Prims.of_int (44)) + (Prims.of_int (219)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat " (" uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (24)) + (Prims.of_int (220)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (31)) + (Prims.of_int (220)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (31)) + (Prims.of_int (220)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (31)) + (Prims.of_int (220)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + l)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (50)) + (Prims.of_int (220)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (58)) + (Prims.of_int (220)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (220)) + (Prims.of_int (58)) + (Prims.of_int (220)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun + uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + uu___2 + ")")))) + (fun uu___2 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + ") (" + uu___2)))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 + -> + Prims.strcat + uu___1 + uu___2)))) + uu___1))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat " (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "BoolEq" uu___)))) + | Comp (Lt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) (Prims.of_int (30)) + (Prims.of_int (221)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) (Prims.of_int (30)) + (Prims.of_int (221)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) (Prims.of_int (30)) + (Prims.of_int (221)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) + (Prims.of_int (49)) + (Prims.of_int (221)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) + (Prims.of_int (57)) + (Prims.of_int (221)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (221)) + (Prims.of_int (57)) + (Prims.of_int (221)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Lt (" uu___)))) + | Comp (Le, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) (Prims.of_int (30)) + (Prims.of_int (222)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) (Prims.of_int (30)) + (Prims.of_int (222)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) (Prims.of_int (30)) + (Prims.of_int (222)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) + (Prims.of_int (49)) + (Prims.of_int (222)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) + (Prims.of_int (57)) + (Prims.of_int (222)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (222)) + (Prims.of_int (57)) + (Prims.of_int (222)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Le (" uu___)))) + | Comp (Gt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) (Prims.of_int (30)) + (Prims.of_int (223)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) (Prims.of_int (30)) + (Prims.of_int (223)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) (Prims.of_int (30)) + (Prims.of_int (223)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) + (Prims.of_int (49)) + (Prims.of_int (223)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) + (Prims.of_int (57)) + (Prims.of_int (223)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (223)) + (Prims.of_int (57)) + (Prims.of_int (223)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Gt (" uu___)))) + | Comp (Ge, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) (Prims.of_int (30)) + (Prims.of_int (224)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) (Prims.of_int (30)) + (Prims.of_int (224)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) (Prims.of_int (30)) + (Prims.of_int (224)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) + (Prims.of_int (49)) + (Prims.of_int (224)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) + (Prims.of_int (57)) + (Prims.of_int (224)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (224)) + (Prims.of_int (57)) + (Prims.of_int (224)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Ge (" uu___)))) + | And (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) (Prims.of_int (27)) + (Prims.of_int (225)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) (Prims.of_int (27)) + (Prims.of_int (225)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) (Prims.of_int (27)) + (Prims.of_int (225)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) + (Prims.of_int (46)) + (Prims.of_int (225)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) + (Prims.of_int (54)) + (Prims.of_int (225)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (225)) + (Prims.of_int (54)) + (Prims.of_int (225)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "And (" uu___)))) + | Or (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) (Prims.of_int (27)) + (Prims.of_int (226)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) (Prims.of_int (27)) + (Prims.of_int (226)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) (Prims.of_int (27)) + (Prims.of_int (226)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) + (Prims.of_int (46)) + (Prims.of_int (226)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) + (Prims.of_int (54)) + (Prims.of_int (226)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (226)) + (Prims.of_int (54)) + (Prims.of_int (226)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Or (" uu___)))) + | Implies (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (36)) + (Prims.of_int (227)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (36)) + (Prims.of_int (227)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (36)) + (Prims.of_int (227)) (Prims.of_int (85))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) + (Prims.of_int (55)) + (Prims.of_int (227)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) + (Prims.of_int (63)) + (Prims.of_int (227)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (227)) + (Prims.of_int (63)) + (Prims.of_int (227)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Implies (" uu___)))) + | Not p -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (228)) (Prims.of_int (26)) + (Prims.of_int (228)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (228)) (Prims.of_int (26)) + (Prims.of_int (228)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Not (" uu___)))) + | Iff (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) (Prims.of_int (28)) + (Prims.of_int (229)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) (Prims.of_int (28)) + (Prims.of_int (229)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) (Prims.of_int (28)) + (Prims.of_int (229)) (Prims.of_int (77))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) + (Prims.of_int (47)) + (Prims.of_int (229)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) + (Prims.of_int (55)) + (Prims.of_int (229)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (229)) + (Prims.of_int (55)) + (Prims.of_int (229)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Iff (" uu___)))) + | Forall (bs, _sort, t) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (230)) (Prims.of_int (45)) + (Prims.of_int (230)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (230)) (Prims.of_int (45)) + (Prims.of_int (230)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Forall (" uu___)))) + | Exists (bs, _sort, t) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (231)) (Prims.of_int (45)) + (Prims.of_int (231)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (231)) (Prims.of_int (45)) + (Prims.of_int (231)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Exists (" uu___)))) + | App (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (28)) + (Prims.of_int (232)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (28)) + (Prims.of_int (232)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (28)) + (Prims.of_int (232)) (Prims.of_int (77))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) + (Prims.of_int (47)) + (Prims.of_int (232)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) + (Prims.of_int (55)) + (Prims.of_int (232)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (232)) + (Prims.of_int (55)) + (Prims.of_int (232)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "App (" uu___)))) + | Name bv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (233)) (Prims.of_int (29)) + (Prims.of_int (233)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V1.Formula.fst" + (Prims.of_int (233)) (Prims.of_int (29)) + (Prims.of_int (233)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (bv_to_string bv)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Name (" uu___)))) + | FV fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Prims.strcat "FV (" + (Prims.strcat + (FStar_Reflection_V1_Derived.flatten_name + (FStar_Reflection_V1_Builtins.inspect_fv fv)) + ")")))) + | IntLit i -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Prims.strcat "Int " (Prims.string_of_int i)))) + | F_Unknown -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "?")))) + uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Interpreter.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Interpreter.ml similarity index 82% rename from ocaml/fstar-lib/generated/FStar_Reflection_Interpreter.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_Interpreter.ml index 6b78cf992f7..a6db8cee26a 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Interpreter.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_Interpreter.ml @@ -1,48 +1,44 @@ open Prims let unembed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> 'uuuuu FStar_Pervasives_Native.option = fun ea -> - fun a -> - fun norm_cb -> - let uu___ = FStar_Syntax_Embeddings.unembed ea a in - uu___ true norm_cb + fun a -> fun norm_cb -> FStar_Syntax_Embeddings_Base.unembed ea a norm_cb let try_unembed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> 'uuuuu FStar_Pervasives_Native.option = fun ea -> fun a -> - fun norm_cb -> - let uu___ = FStar_Syntax_Embeddings.unembed ea a in - uu___ false norm_cb + fun norm_cb -> FStar_Syntax_Embeddings_Base.try_unembed ea a norm_cb let embed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> - 'uuuuu -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.term + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term = fun ea -> fun r -> fun x -> fun norm_cb -> - let uu___ = FStar_Syntax_Embeddings.embed ea x in + let uu___ = FStar_Syntax_Embeddings_Base.embed ea x in uu___ r FStar_Pervasives_Native.None norm_cb let int1 : 'a 'r . FStar_Ident.lid -> ('a -> 'r) -> - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -67,11 +63,11 @@ let int2 : 'a 'b 'r . FStar_Ident.lid -> ('a -> 'b -> 'r) -> - 'a FStar_Syntax_Embeddings.embedding -> - 'b FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -102,12 +98,12 @@ let int3 : 'a 'b 'c 'r . FStar_Ident.lid -> ('a -> 'b -> 'c -> 'r) -> - 'a FStar_Syntax_Embeddings.embedding -> - 'b FStar_Syntax_Embeddings.embedding -> - 'c FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'c FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -238,13 +234,13 @@ let nbe_int3 : FStar_Pervasives_Native.Some uu___6))) | uu___ -> FStar_Pervasives_Native.None let (mklid : Prims.string -> FStar_Ident.lid) = - fun nm -> FStar_Reflection_Constants.fstar_refl_builtins_lid nm + fun nm -> FStar_Reflection_V1_Constants.fstar_refl_builtins_lid nm let (mk_us : FStar_Ident.lid -> Prims.int -> Prims.int -> (FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) -> @@ -275,7 +271,7 @@ let (mk : FStar_Ident.lid -> Prims.int -> (FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) -> @@ -288,7 +284,7 @@ let (mk : fun arity -> fun fn -> fun nbe_fn -> mk_us l Prims.int_zero arity fn nbe_fn type 'a dualemb = - ('a FStar_Syntax_Embeddings.embedding * 'a + ('a FStar_Syntax_Embeddings_Base.embedding * 'a FStar_TypeChecker_NBETerm.embedding) let (e_int : FStar_BigInt.t dualemb) = (FStar_Syntax_Embeddings.e_int, FStar_TypeChecker_NBETerm.e_int) @@ -297,65 +293,70 @@ let (e_bool : Prims.bool dualemb) = let (e_string : Prims.string dualemb) = (FStar_Syntax_Embeddings.e_string, FStar_TypeChecker_NBETerm.e_string) let (e_order : FStar_Order.order dualemb) = - (FStar_Reflection_Embeddings.e_order, - FStar_Reflection_NBEEmbeddings.e_order) + (FStar_Reflection_V1_Embeddings.e_order, + FStar_Reflection_V1_NBEEmbeddings.e_order) let (e_term : FStar_Syntax_Syntax.term dualemb) = - (FStar_Reflection_Embeddings.e_term, FStar_Reflection_NBEEmbeddings.e_term) -let (e_term_view : FStar_Reflection_Data.term_view dualemb) = - (FStar_Reflection_Embeddings.e_term_view, - FStar_Reflection_NBEEmbeddings.e_term_view) + (FStar_Reflection_V1_Embeddings.e_term, + FStar_Reflection_V1_NBEEmbeddings.e_term) +let (e_term_view : FStar_Reflection_V1_Data.term_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_term_view, + FStar_Reflection_V1_NBEEmbeddings.e_term_view) let (e_fv : FStar_Syntax_Syntax.fv dualemb) = - (FStar_Reflection_Embeddings.e_fv, FStar_Reflection_NBEEmbeddings.e_fv) + (FStar_Reflection_V1_Embeddings.e_fv, + FStar_Reflection_V1_NBEEmbeddings.e_fv) let (e_bv : FStar_Syntax_Syntax.bv dualemb) = - (FStar_Reflection_Embeddings.e_bv, FStar_Reflection_NBEEmbeddings.e_bv) -let (e_bv_view : FStar_Reflection_Data.bv_view dualemb) = - (FStar_Reflection_Embeddings.e_bv_view, - FStar_Reflection_NBEEmbeddings.e_bv_view) + (FStar_Reflection_V1_Embeddings.e_bv, + FStar_Reflection_V1_NBEEmbeddings.e_bv) +let (e_bv_view : FStar_Reflection_V1_Data.bv_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_bv_view, + FStar_Reflection_V1_NBEEmbeddings.e_bv_view) let (e_comp : FStar_Syntax_Syntax.comp dualemb) = - (FStar_Reflection_Embeddings.e_comp, FStar_Reflection_NBEEmbeddings.e_comp) -let (e_comp_view : FStar_Reflection_Data.comp_view dualemb) = - (FStar_Reflection_Embeddings.e_comp_view, - FStar_Reflection_NBEEmbeddings.e_comp_view) + (FStar_Reflection_V1_Embeddings.e_comp, + FStar_Reflection_V1_NBEEmbeddings.e_comp) +let (e_comp_view : FStar_Reflection_V1_Data.comp_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_comp_view, + FStar_Reflection_V1_NBEEmbeddings.e_comp_view) let (e_universe : FStar_Syntax_Syntax.universe dualemb) = - (FStar_Reflection_Embeddings.e_universe, - FStar_Reflection_NBEEmbeddings.e_universe) -let (e_universe_view : FStar_Reflection_Data.universe_view dualemb) = - (FStar_Reflection_Embeddings.e_universe_view, - FStar_Reflection_NBEEmbeddings.e_universe_view) + (FStar_Reflection_V1_Embeddings.e_universe, + FStar_Reflection_V1_NBEEmbeddings.e_universe) +let (e_universe_view : FStar_Reflection_V1_Data.universe_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_universe_view, + FStar_Reflection_V1_NBEEmbeddings.e_universe_view) let (e_sigelt : FStar_Syntax_Syntax.sigelt dualemb) = - (FStar_Reflection_Embeddings.e_sigelt, - FStar_Reflection_NBEEmbeddings.e_sigelt) -let (e_sigelt_view : FStar_Reflection_Data.sigelt_view dualemb) = - (FStar_Reflection_Embeddings.e_sigelt_view, - FStar_Reflection_NBEEmbeddings.e_sigelt_view) + (FStar_Reflection_V1_Embeddings.e_sigelt, + FStar_Reflection_V1_NBEEmbeddings.e_sigelt) +let (e_sigelt_view : FStar_Reflection_V1_Data.sigelt_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_sigelt_view, + FStar_Reflection_V1_NBEEmbeddings.e_sigelt_view) let (e_binder : FStar_Syntax_Syntax.binder dualemb) = - (FStar_Reflection_Embeddings.e_binder, - FStar_Reflection_NBEEmbeddings.e_binder) -let (e_binder_view : FStar_Reflection_Data.binder_view dualemb) = - (FStar_Reflection_Embeddings.e_binder_view, - FStar_Reflection_NBEEmbeddings.e_binder_view) + (FStar_Reflection_V1_Embeddings.e_binder, + FStar_Reflection_V1_NBEEmbeddings.e_binder) +let (e_binder_view : FStar_Reflection_V1_Data.binder_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_binder_view, + FStar_Reflection_V1_NBEEmbeddings.e_binder_view) let (e_binders : FStar_Syntax_Syntax.binders dualemb) = - (FStar_Reflection_Embeddings.e_binders, - FStar_Reflection_NBEEmbeddings.e_binders) + (FStar_Reflection_V1_Embeddings.e_binders, + FStar_Reflection_V1_NBEEmbeddings.e_binders) let (e_letbinding : FStar_Syntax_Syntax.letbinding dualemb) = - (FStar_Reflection_Embeddings.e_letbinding, - FStar_Reflection_NBEEmbeddings.e_letbinding) -let (e_lb_view : FStar_Reflection_Data.lb_view dualemb) = - (FStar_Reflection_Embeddings.e_lb_view, - FStar_Reflection_NBEEmbeddings.e_lb_view) + (FStar_Reflection_V1_Embeddings.e_letbinding, + FStar_Reflection_V1_NBEEmbeddings.e_letbinding) +let (e_lb_view : FStar_Reflection_V1_Data.lb_view dualemb) = + (FStar_Reflection_V1_Embeddings.e_lb_view, + FStar_Reflection_V1_NBEEmbeddings.e_lb_view) let (e_env : FStar_TypeChecker_Env.env dualemb) = - (FStar_Reflection_Embeddings.e_env, FStar_Reflection_NBEEmbeddings.e_env) -let (e_aqualv : FStar_Reflection_Data.aqualv dualemb) = - (FStar_Reflection_Embeddings.e_aqualv, - FStar_Reflection_NBEEmbeddings.e_aqualv) + (FStar_Reflection_V1_Embeddings.e_env, + FStar_Reflection_V1_NBEEmbeddings.e_env) +let (e_aqualv : FStar_Reflection_V1_Data.aqualv dualemb) = + (FStar_Reflection_V1_Embeddings.e_aqualv, + FStar_Reflection_V1_NBEEmbeddings.e_aqualv) let (e_vconfig : FStar_VConfig.vconfig dualemb) = (FStar_Syntax_Embeddings.e_vconfig, FStar_TypeChecker_NBETerm.e_vconfig) let (e_attributes : FStar_Syntax_Syntax.attribute Prims.list dualemb) = - (FStar_Reflection_Embeddings.e_attributes, - FStar_Reflection_NBEEmbeddings.e_attributes) -let (e_qualifiers : FStar_Reflection_Data.qualifiers dualemb) = - (FStar_Reflection_Embeddings.e_qualifiers, - FStar_Reflection_NBEEmbeddings.e_qualifiers) + (FStar_Reflection_V1_Embeddings.e_attributes, + FStar_Reflection_V1_NBEEmbeddings.e_attributes) +let (e_qualifiers : FStar_Reflection_V1_Data.qualifiers dualemb) = + (FStar_Reflection_V1_Embeddings.e_qualifiers, + FStar_Reflection_V1_NBEEmbeddings.e_qualifiers) let (e_range : FStar_Compiler_Range_Type.range dualemb) = (FStar_Syntax_Embeddings.e_range, FStar_TypeChecker_NBETerm.e_range) let e_list : 'a . 'a dualemb -> 'a Prims.list dualemb = @@ -451,129 +452,136 @@ let mk3 : (FStar_Pervasives_Native.snd er)) let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = let uu___ = - mk1 "inspect_ln" FStar_Reflection_Basic.inspect_ln e_term e_term_view in + mk1 "inspect_ln" FStar_Reflection_V1_Builtins.inspect_ln e_term + e_term_view in let uu___1 = let uu___2 = - mk1 "pack_ln" FStar_Reflection_Basic.pack_ln e_term_view e_term in + mk1 "pack_ln" FStar_Reflection_V1_Builtins.pack_ln e_term_view e_term in let uu___3 = let uu___4 = - mk1 "inspect_fv" FStar_Reflection_Basic.inspect_fv e_fv e_string_list in + mk1 "inspect_fv" FStar_Reflection_V1_Builtins.inspect_fv e_fv + e_string_list in let uu___5 = let uu___6 = - mk1 "pack_fv" FStar_Reflection_Basic.pack_fv e_string_list e_fv in + mk1 "pack_fv" FStar_Reflection_V1_Builtins.pack_fv e_string_list + e_fv in let uu___7 = let uu___8 = - mk1 "inspect_comp" FStar_Reflection_Basic.inspect_comp e_comp - e_comp_view in + mk1 "inspect_comp" FStar_Reflection_V1_Builtins.inspect_comp + e_comp e_comp_view in let uu___9 = let uu___10 = - mk1 "pack_comp" FStar_Reflection_Basic.pack_comp e_comp_view - e_comp in + mk1 "pack_comp" FStar_Reflection_V1_Builtins.pack_comp + e_comp_view e_comp in let uu___11 = let uu___12 = mk1 "inspect_universe" - FStar_Reflection_Basic.inspect_universe e_universe + FStar_Reflection_V1_Builtins.inspect_universe e_universe e_universe_view in let uu___13 = let uu___14 = - mk1 "pack_universe" FStar_Reflection_Basic.pack_universe + mk1 "pack_universe" + FStar_Reflection_V1_Builtins.pack_universe e_universe_view e_universe in let uu___15 = let uu___16 = mk1 "inspect_sigelt" - FStar_Reflection_Basic.inspect_sigelt e_sigelt + FStar_Reflection_V1_Builtins.inspect_sigelt e_sigelt e_sigelt_view in let uu___17 = let uu___18 = - mk1 "pack_sigelt" FStar_Reflection_Basic.pack_sigelt + mk1 "pack_sigelt" + FStar_Reflection_V1_Builtins.pack_sigelt e_sigelt_view e_sigelt in let uu___19 = let uu___20 = - mk1 "inspect_lb" FStar_Reflection_Basic.inspect_lb + mk1 "inspect_lb" + FStar_Reflection_V1_Builtins.inspect_lb e_letbinding e_lb_view in let uu___21 = let uu___22 = - mk1 "pack_lb" FStar_Reflection_Basic.pack_lb + mk1 "pack_lb" FStar_Reflection_V1_Builtins.pack_lb e_lb_view e_letbinding in let uu___23 = let uu___24 = mk1 "inspect_bv" - FStar_Reflection_Basic.inspect_bv e_bv + FStar_Reflection_V1_Builtins.inspect_bv e_bv e_bv_view in let uu___25 = let uu___26 = - mk1 "pack_bv" FStar_Reflection_Basic.pack_bv + mk1 "pack_bv" + FStar_Reflection_V1_Builtins.pack_bv e_bv_view e_bv in let uu___27 = let uu___28 = mk1 "inspect_binder" - FStar_Reflection_Basic.inspect_binder + FStar_Reflection_V1_Builtins.inspect_binder e_binder e_binder_view in let uu___29 = let uu___30 = mk1 "pack_binder" - FStar_Reflection_Basic.pack_binder + FStar_Reflection_V1_Builtins.pack_binder e_binder_view e_binder in let uu___31 = let uu___32 = let uu___33 = e_option e_vconfig in mk1 "sigelt_opts" - FStar_Reflection_Basic.sigelt_opts + FStar_Reflection_V1_Builtins.sigelt_opts e_sigelt uu___33 in let uu___33 = let uu___34 = mk1 "embed_vconfig" - FStar_Reflection_Basic.embed_vconfig + FStar_Reflection_V1_Builtins.embed_vconfig e_vconfig e_term in let uu___35 = let uu___36 = mk1 "sigelt_attrs" - FStar_Reflection_Basic.sigelt_attrs + FStar_Reflection_V1_Builtins.sigelt_attrs e_sigelt e_attributes in let uu___37 = let uu___38 = mk2 "set_sigelt_attrs" - FStar_Reflection_Basic.set_sigelt_attrs + FStar_Reflection_V1_Builtins.set_sigelt_attrs e_attributes e_sigelt e_sigelt in let uu___39 = let uu___40 = mk1 "sigelt_quals" - FStar_Reflection_Basic.sigelt_quals + FStar_Reflection_V1_Builtins.sigelt_quals e_sigelt e_qualifiers in let uu___41 = let uu___42 = mk2 "set_sigelt_quals" - FStar_Reflection_Basic.set_sigelt_quals + FStar_Reflection_V1_Builtins.set_sigelt_quals e_qualifiers e_sigelt e_sigelt in let uu___43 = let uu___44 = mk3 "subst" - FStar_Reflection_Basic.subst + FStar_Reflection_V1_Builtins.subst e_bv e_term e_term e_term in let uu___45 = let uu___46 = mk2 "close_term" - FStar_Reflection_Basic.close_term + FStar_Reflection_V1_Builtins.close_term e_binder e_term e_term in let uu___47 = let uu___48 = mk2 "compare_bv" - FStar_Reflection_Basic.compare_bv + FStar_Reflection_V1_Builtins.compare_bv e_bv e_bv e_order in let uu___49 = let uu___50 = let uu___51 = e_list e_fv in mk2 "lookup_attr" - FStar_Reflection_Basic.lookup_attr + FStar_Reflection_V1_Builtins.lookup_attr e_term e_env uu___51 in let uu___51 = let uu___52 = let uu___53 = e_list e_fv in mk1 "all_defs_in_env" - FStar_Reflection_Basic.all_defs_in_env + FStar_Reflection_V1_Builtins.all_defs_in_env e_env uu___53 in let uu___53 = let uu___54 = @@ -581,27 +589,27 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = e_list e_fv in mk2 "defs_in_module" - FStar_Reflection_Basic.defs_in_module + FStar_Reflection_V1_Builtins.defs_in_module e_env e_string_list uu___55 in let uu___55 = let uu___56 = mk2 "term_eq" - FStar_Reflection_Basic.term_eq + FStar_Reflection_V1_Builtins.term_eq e_term e_term e_bool in let uu___57 = let uu___58 = mk1 "moduleof" - FStar_Reflection_Basic.moduleof + FStar_Reflection_V1_Builtins.moduleof e_env e_string_list in let uu___59 = let uu___60 = mk1 "binders_of_env" - FStar_Reflection_Basic.binders_of_env + FStar_Reflection_V1_Builtins.binders_of_env e_env e_binders in let uu___61 = @@ -612,7 +620,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = e_sigelt in mk2 "lookup_typ" - FStar_Reflection_Basic.lookup_typ + FStar_Reflection_V1_Builtins.lookup_typ e_env e_string_list uu___63 in @@ -625,7 +633,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = e_string_list in mk1 "env_open_modules" - FStar_Reflection_Basic.env_open_modules + FStar_Reflection_V1_Builtins.env_open_modules e_env uu___65 in let uu___65 @@ -634,7 +642,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk1 "implode_qn" - FStar_Reflection_Basic.implode_qn + FStar_Reflection_V1_Builtins.implode_qn e_string_list e_string in let uu___67 @@ -643,7 +651,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk1 "explode_qn" - FStar_Reflection_Basic.explode_qn + FStar_Reflection_V1_Builtins.explode_qn e_string e_string_list in let uu___69 @@ -652,7 +660,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk2 "compare_string" - FStar_Reflection_Basic.compare_string + FStar_Reflection_V1_Builtins.compare_string e_string e_string e_int in @@ -662,7 +670,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk2 "push_binder" - FStar_Reflection_Basic.push_binder + FStar_Reflection_V1_Builtins.push_binder e_env e_binder e_env in @@ -672,7 +680,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk1 "range_of_term" - FStar_Reflection_Basic.range_of_term + FStar_Reflection_V1_Builtins.range_of_term e_term e_range in let uu___75 @@ -681,7 +689,7 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = = mk1 "range_of_sigelt" - FStar_Reflection_Basic.range_of_sigelt + FStar_Reflection_V1_Builtins.range_of_sigelt e_sigelt e_range in [uu___76] in diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_NBEEmbeddings.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V1_NBEEmbeddings.ml similarity index 73% rename from ocaml/fstar-lib/generated/FStar_Reflection_NBEEmbeddings.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V1_NBEEmbeddings.ml index fa8073892ae..9b825d765de 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_NBEEmbeddings.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V1_NBEEmbeddings.ml @@ -75,7 +75,7 @@ let mk_lazy : ((FStar_Pervasives.Inl li), thunk)) let (e_bv : FStar_Syntax_Syntax.bv FStar_TypeChecker_NBETerm.embedding) = let embed_bv cb bv = - mk_lazy cb bv FStar_Reflection_Constants.fstar_refl_bv + mk_lazy cb bv FStar_Reflection_V1_Constants.fstar_refl_bv FStar_Syntax_Syntax.Lazy_bv in let unembed_bv cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -98,11 +98,11 @@ let (e_bv : FStar_Syntax_Syntax.bv FStar_TypeChecker_NBETerm.embedding) = (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in - mk_emb' embed_bv unembed_bv FStar_Reflection_Constants.fstar_refl_bv_fv + mk_emb' embed_bv unembed_bv FStar_Reflection_V1_Constants.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_Constants.fstar_refl_binder + mk_lazy cb b FStar_Reflection_V1_Constants.fstar_refl_binder FStar_Syntax_Syntax.Lazy_binder in let unembed_binder cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -125,7 +125,7 @@ let (e_binder : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_binder unembed_binder - FStar_Reflection_Constants.fstar_refl_binder_fv + FStar_Reflection_V1_Constants.fstar_refl_binder_fv let rec mapM_opt : 'a 'b . ('a -> 'b FStar_Pervasives_Native.option) -> @@ -160,16 +160,16 @@ let (e_term_aq : match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Quote (tm, qi) -> let uu___ = - let uu___1 = - FStar_Reflection_Embeddings.e_term_aq (Prims.int_zero, []) in - let uu___2 = - FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (tm, qi)) - FStar_Compiler_Range_Type.dummyRange in - FStar_Syntax_Embeddings.unembed uu___1 uu___2 in - uu___ false FStar_Syntax_Embeddings.id_norm_cb + FStar_Reflection_V1_Embeddings.e_term_aq (Prims.int_zero, []) in + let uu___1 = + FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (tm, qi)) + FStar_Compiler_Range_Type.dummyRange in + FStar_Syntax_Embeddings_Base.unembed uu___ uu___1 + FStar_Syntax_Embeddings_Base.id_norm_cb | uu___ -> FStar_Pervasives_Native.None in - let uu___ = mkFV FStar_Reflection_Constants.fstar_refl_term_fv [] [] in - let uu___1 = fv_as_emb_typ FStar_Reflection_Constants.fstar_refl_term_fv in + let uu___ = mkFV FStar_Reflection_V1_Constants.fstar_refl_term_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V1_Constants.fstar_refl_term_fv in { FStar_TypeChecker_NBETerm.em = embed_term; FStar_TypeChecker_NBETerm.un = unembed_term; @@ -179,44 +179,45 @@ let (e_term_aq : let (e_term : FStar_Syntax_Syntax.term FStar_TypeChecker_NBETerm.embedding) = e_term_aq (Prims.int_zero, []) let (e_aqualv : - FStar_Reflection_Data.aqualv FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.aqualv FStar_TypeChecker_NBETerm.embedding) = let embed_aqualv cb q = match q with - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_V1_Data.Q_Explicit -> mkConstruct - FStar_Reflection_Constants.ref_Q_Explicit.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Q_Explicit.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_V1_Data.Q_Implicit -> mkConstruct - FStar_Reflection_Constants.ref_Q_Implicit.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Q_Implicit.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Q_Meta t -> + | FStar_Reflection_V1_Data.Q_Meta t -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Q_Meta.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Q_Meta.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed_aqualv cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Explicit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Explicit + FStar_Reflection_V1_Constants.ref_Q_Explicit.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Q_Explicit | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Implicit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Implicit + FStar_Reflection_V1_Constants.ref_Q_Implicit.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Q_Implicit | FStar_TypeChecker_NBETerm.Construct (fv, [], (t1, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Q_Meta.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Q_Meta.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Compiler_Util.bind_opt uu___1 (fun t2 -> - FStar_Pervasives_Native.Some (FStar_Reflection_Data.Q_Meta t2)) + FStar_Pervasives_Native.Some + (FStar_Reflection_V1_Data.Q_Meta t2)) | uu___ -> ((let uu___2 = let uu___3 = @@ -226,15 +227,16 @@ let (e_aqualv : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in let uu___ = - mkConstruct FStar_Reflection_Constants.fstar_refl_aqualv_fv [] [] in - let uu___1 = fv_as_emb_typ FStar_Reflection_Constants.fstar_refl_aqualv_fv in + mkConstruct FStar_Reflection_V1_Constants.fstar_refl_aqualv_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V1_Constants.fstar_refl_aqualv_fv in FStar_TypeChecker_NBETerm.mk_emb embed_aqualv unembed_aqualv uu___ uu___1 let (e_binders : FStar_Syntax_Syntax.binders FStar_TypeChecker_NBETerm.embedding) = 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_Constants.fstar_refl_fv + mk_lazy cb fv FStar_Reflection_V1_Constants.fstar_refl_fv FStar_Syntax_Syntax.Lazy_fvar in let unembed_fv cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -256,10 +258,10 @@ let (e_fv : FStar_Syntax_Syntax.fv FStar_TypeChecker_NBETerm.embedding) = (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in - mk_emb' embed_fv unembed_fv FStar_Reflection_Constants.fstar_refl_fv_fv + mk_emb' embed_fv unembed_fv FStar_Reflection_V1_Constants.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_Constants.fstar_refl_comp + mk_lazy cb c FStar_Reflection_V1_Constants.fstar_refl_comp FStar_Syntax_Syntax.Lazy_comp in let unembed_comp cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -282,10 +284,10 @@ let (e_comp : FStar_Syntax_Syntax.comp FStar_TypeChecker_NBETerm.embedding) = FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_comp unembed_comp - FStar_Reflection_Constants.fstar_refl_comp_fv + FStar_Reflection_V1_Constants.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_Constants.fstar_refl_env + mk_lazy cb e FStar_Reflection_V1_Constants.fstar_refl_env FStar_Syntax_Syntax.Lazy_env in let unembed_env cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -307,24 +309,25 @@ let (e_env : FStar_TypeChecker_Env.env FStar_TypeChecker_NBETerm.embedding) = (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in - mk_emb' embed_env unembed_env FStar_Reflection_Constants.fstar_refl_env_fv + mk_emb' embed_env unembed_env + FStar_Reflection_V1_Constants.fstar_refl_env_fv let (e_const : - FStar_Reflection_Data.vconst FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.vconst FStar_TypeChecker_NBETerm.embedding) = let embed_const cb c = match c with - | FStar_Reflection_Data.C_Unit -> + | FStar_Reflection_V1_Data.C_Unit -> mkConstruct - FStar_Reflection_Constants.ref_C_Unit.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Unit.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.C_True -> + | FStar_Reflection_V1_Data.C_True -> mkConstruct - FStar_Reflection_Constants.ref_C_True.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_True.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.C_False -> + | FStar_Reflection_V1_Data.C_False -> mkConstruct - FStar_Reflection_Constants.ref_C_False.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_False.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.C_Int i -> + | FStar_Reflection_V1_Data.C_Int i -> let uu___ = let uu___1 = let uu___2 = @@ -335,9 +338,9 @@ let (e_const : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_Int.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Int.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_String s -> + | FStar_Reflection_V1_Data.C_String s -> let uu___ = let uu___1 = let uu___2 = @@ -346,9 +349,9 @@ let (e_const : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_String.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_String.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_Range r -> + | FStar_Reflection_V1_Data.C_Range r -> let uu___ = let uu___1 = let uu___2 = @@ -357,13 +360,13 @@ let (e_const : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_Range.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Range.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_Reify -> + | FStar_Reflection_V1_Data.C_Reify -> mkConstruct - FStar_Reflection_Constants.ref_C_Reify.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Reify.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.C_Reflect ns -> + | FStar_Reflection_V1_Data.C_Reflect ns -> let uu___ = let uu___1 = let uu___2 = @@ -372,25 +375,25 @@ let (e_const : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_Reflect.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Reflect.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed_const cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Unit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Unit + FStar_Reflection_V1_Constants.ref_C_Unit.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_Unit | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_True.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_True + FStar_Reflection_V1_Constants.ref_C_True.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_True | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_False.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_False + FStar_Reflection_V1_Constants.ref_C_False.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_False | FStar_TypeChecker_NBETerm.Construct (fv, [], (i, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Int.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Int.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int @@ -399,10 +402,10 @@ let (e_const : (fun i1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.C_Int i1)) + (FStar_Reflection_V1_Data.C_Int i1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (s, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_String.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_String.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed @@ -411,10 +414,10 @@ let (e_const : (fun s1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.C_String s1)) + (FStar_Reflection_V1_Data.C_String s1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (r, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Range.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Range.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_range @@ -423,14 +426,14 @@ let (e_const : (fun r1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.C_Range r1)) + (FStar_Reflection_V1_Data.C_Range r1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Reify.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Reify + FStar_Reflection_V1_Constants.ref_C_Reify.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.C_Reify | FStar_TypeChecker_NBETerm.Construct (fv, [], (ns, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Reflect.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Reflect.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed @@ -439,7 +442,7 @@ let (e_const : (fun ns1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.C_Reflect ns1)) + (FStar_Reflection_V1_Data.C_Reflect ns1)) | uu___ -> ((let uu___2 = let uu___3 = @@ -449,11 +452,11 @@ let (e_const : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_const unembed_const - FStar_Reflection_Constants.fstar_refl_vconst_fv + FStar_Reflection_V1_Constants.fstar_refl_vconst_fv let (e_universe : FStar_Syntax_Syntax.universe FStar_TypeChecker_NBETerm.embedding) = let embed_universe cb u = - mk_lazy cb u FStar_Reflection_Constants.fstar_refl_universe + mk_lazy cb u FStar_Reflection_V1_Constants.fstar_refl_universe FStar_Syntax_Syntax.Lazy_universe in let unembed_universe cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -477,25 +480,25 @@ let (e_universe : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_universe unembed_universe - FStar_Reflection_Constants.fstar_refl_universe_fv + FStar_Reflection_V1_Constants.fstar_refl_universe_fv let rec e_pattern_aq : 'uuuuu . 'uuuuu -> - FStar_Reflection_Data.pattern FStar_TypeChecker_NBETerm.embedding + FStar_Reflection_V1_Data.pattern FStar_TypeChecker_NBETerm.embedding = fun aq -> let embed_pattern cb p = match p with - | FStar_Reflection_Data.Pat_Constant c -> + | FStar_Reflection_V1_Data.Pat_Constant c -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_const cb c in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Pat_Constant.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Pat_Constant.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Pat_Cons (fv, us_opt, ps) -> + | FStar_Reflection_V1_Data.Pat_Cons (fv, us_opt, ps) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in @@ -523,9 +526,9 @@ let rec e_pattern_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Pat_Cons.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Pat_Cons.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Pat_Var (bv, sort) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, sort) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in @@ -539,9 +542,9 @@ let rec e_pattern_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Pat_Var.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Pat_Var.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + | FStar_Reflection_V1_Data.Pat_Dot_Term eopt -> let uu___ = let uu___1 = let uu___2 = @@ -550,24 +553,24 @@ let rec e_pattern_aq : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Pat_Dot_Term.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Pat_Dot_Term.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed_pattern cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, [], (c, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Constant.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Constant.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed e_const cb c in FStar_Compiler_Util.bind_opt uu___1 (fun c1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.Pat_Constant c1)) + (FStar_Reflection_V1_Data.Pat_Constant c1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (ps, uu___)::(us_opt, uu___1)::(f, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Cons.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Cons.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in FStar_Compiler_Util.bind_opt uu___3 @@ -591,11 +594,11 @@ let rec e_pattern_aq : (fun ps1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) - (FStar_Reflection_Data.Pat_Cons (f1, us, ps1))))) + (FStar_Reflection_V1_Data.Pat_Cons (f1, us, ps1))))) | FStar_TypeChecker_NBETerm.Construct (fv, [], (sort, uu___)::(bv, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Var.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Var.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in FStar_Compiler_Util.bind_opt uu___2 @@ -607,10 +610,10 @@ let rec e_pattern_aq : (fun sort1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Pat_Var (bv1, sort1)))) + (FStar_Reflection_V1_Data.Pat_Var (bv1, sort1)))) | FStar_TypeChecker_NBETerm.Construct (fv, [], (eopt, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Pat_Dot_Term.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Pat_Dot_Term.FStar_Reflection_V1_Constants.lid -> let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.e_option e_term in @@ -619,7 +622,7 @@ let rec e_pattern_aq : (fun eopt1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) - (FStar_Reflection_Data.Pat_Dot_Term eopt1)) + (FStar_Reflection_V1_Data.Pat_Dot_Term eopt1)) | uu___ -> ((let uu___2 = let uu___3 = @@ -631,19 +634,20 @@ let rec e_pattern_aq : uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_pattern unembed_pattern - FStar_Reflection_Constants.fstar_refl_pattern_fv + FStar_Reflection_V1_Constants.fstar_refl_pattern_fv let (e_pattern : - FStar_Reflection_Data.pattern FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.pattern FStar_TypeChecker_NBETerm.embedding) = e_pattern_aq noaqs let (e_branch : - FStar_Reflection_Data.branch FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.branch FStar_TypeChecker_NBETerm.embedding) = 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 +let (e_argv : + FStar_Reflection_V1_Data.argv FStar_TypeChecker_NBETerm.embedding) = + FStar_TypeChecker_NBETerm.e_tuple2 e_term e_aqualv let (e_branch_aq : (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list) -> - (FStar_Reflection_Data.pattern * FStar_Syntax_Syntax.term) + (FStar_Reflection_V1_Data.pattern * FStar_Syntax_Syntax.term) FStar_TypeChecker_NBETerm.embedding) = fun aq -> @@ -653,7 +657,7 @@ let (e_branch_aq : let (e_argv_aq : (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list) -> - (FStar_Syntax_Syntax.term * FStar_Reflection_Data.aqualv) + (FStar_Syntax_Syntax.term * FStar_Reflection_V1_Data.aqualv) FStar_TypeChecker_NBETerm.embedding) = fun aq -> @@ -689,72 +693,29 @@ let unlazy_as_t : when FStar_Syntax_Util.eq_lazy_kind k k' -> FStar_Compiler_Dyn.undyn v | uu___ -> failwith "Not a Lazy of the expected kind (NBE)" -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 - let embed_ident cb i = - let uu___ = - let uu___1 = FStar_Ident.range_of_id i in - let uu___2 = FStar_Ident.string_of_id i in (uu___1, uu___2) in - FStar_TypeChecker_NBETerm.embed repr cb uu___ in - let unembed_ident cb t = - let uu___ = FStar_TypeChecker_NBETerm.unembed repr cb t in - match uu___ with - | FStar_Pervasives_Native.Some (rng, s) -> - let uu___1 = FStar_Ident.mk_ident (s, rng) in - FStar_Pervasives_Native.Some uu___1 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in - let range_fv = - FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.range_lid - FStar_Pervasives_Native.None in - let string_fv = - FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.string_lid - FStar_Pervasives_Native.None in - let et = - let uu___ = - let uu___1 = FStar_Ident.string_of_lid FStar_Parser_Const.lid_tuple2 in - let uu___2 = - let uu___3 = fv_as_emb_typ range_fv in - let uu___4 = let uu___5 = fv_as_emb_typ string_fv in [uu___5] in - uu___3 :: uu___4 in - (uu___1, uu___2) in - FStar_Syntax_Syntax.ET_app uu___ in - let uu___ = - let uu___1 = - FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.lid_tuple2 - FStar_Pervasives_Native.None in - let uu___2 = - let uu___3 = - let uu___4 = mkFV range_fv [] [] in - FStar_TypeChecker_NBETerm.as_arg uu___4 in - let uu___4 = - let uu___5 = - let uu___6 = mkFV string_fv [] [] in - FStar_TypeChecker_NBETerm.as_arg uu___6 in - [uu___5] in - uu___3 :: uu___4 in - mkFV uu___1 [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] - uu___2 in - FStar_TypeChecker_NBETerm.mk_emb embed_ident unembed_ident uu___ et +let (e_ident : + FStar_Reflection_V1_Data.ident FStar_TypeChecker_NBETerm.embedding) = + FStar_TypeChecker_NBETerm.e_tuple2 FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_range let (e_universe_view : - FStar_Reflection_Data.universe_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.universe_view FStar_TypeChecker_NBETerm.embedding) + = let embed_universe_view cb uv = match uv with - | FStar_Reflection_Data.Uv_Zero -> + | FStar_Reflection_V1_Data.Uv_Zero -> mkConstruct - FStar_Reflection_Constants.ref_Uv_Zero.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Zero.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Uv_Succ u -> + | FStar_Reflection_V1_Data.Uv_Succ u -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_universe cb u in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Uv_Succ.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Succ.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Uv_Max us -> + | FStar_Reflection_V1_Data.Uv_Max us -> let uu___ = let uu___1 = let uu___2 = @@ -763,9 +724,9 @@ let (e_universe_view : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Uv_Max.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Max.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Uv_BVar n -> + | FStar_Reflection_V1_Data.Uv_BVar n -> let uu___ = let uu___1 = let uu___2 = @@ -774,9 +735,9 @@ let (e_universe_view : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Uv_BVar.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_BVar.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Uv_Name i -> + | FStar_Reflection_V1_Data.Uv_Name i -> let uu___ = let uu___1 = let uu___2 = @@ -788,9 +749,9 @@ let (e_universe_view : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Uv_Name.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Name.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Uv_Unif u -> + | FStar_Reflection_V1_Data.Uv_Unif u -> let uu___ = let uu___1 = let uu___2 = @@ -799,33 +760,33 @@ let (e_universe_view : FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Uv_Unif.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Unif.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Uv_Unk -> + | FStar_Reflection_V1_Data.Uv_Unk -> mkConstruct - FStar_Reflection_Constants.ref_Uv_Unk.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Uv_Unk.FStar_Reflection_V1_Constants.fv [] [] in let unembed_universe_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Zero.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Uv_Zero + FStar_Reflection_V1_Constants.ref_Uv_Zero.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Uv_Zero | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Succ.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Succ.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_universe cb u in FStar_Compiler_Util.bind_opt uu___2 (fun u1 -> let uu___3 = FStar_Compiler_Effect.op_Bar_Greater u1 - (fun uu___4 -> FStar_Reflection_Data.Uv_Succ uu___4) in + (fun uu___4 -> FStar_Reflection_V1_Data.Uv_Succ uu___4) in FStar_Compiler_Effect.op_Bar_Greater uu___3 (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (us, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Max.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Max.FStar_Reflection_V1_Constants.lid -> let uu___2 = let uu___3 = FStar_TypeChecker_NBETerm.e_list e_universe in @@ -834,12 +795,12 @@ let (e_universe_view : (fun us1 -> let uu___3 = FStar_Compiler_Effect.op_Bar_Greater us1 - (fun uu___4 -> FStar_Reflection_Data.Uv_Max uu___4) in + (fun uu___4 -> FStar_Reflection_V1_Data.Uv_Max uu___4) in FStar_Compiler_Effect.op_Bar_Greater uu___3 (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (n, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_BVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_BVar.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int @@ -848,12 +809,12 @@ let (e_universe_view : (fun n1 -> let uu___3 = FStar_Compiler_Effect.op_Bar_Greater n1 - (fun uu___4 -> FStar_Reflection_Data.Uv_BVar uu___4) in + (fun uu___4 -> FStar_Reflection_V1_Data.Uv_BVar uu___4) in FStar_Compiler_Effect.op_Bar_Greater uu___3 (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (i, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Name.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Name.FStar_Reflection_V1_Constants.lid -> let uu___2 = let uu___3 = @@ -865,23 +826,23 @@ let (e_universe_view : (fun i1 -> let uu___3 = FStar_Compiler_Effect.op_Bar_Greater i1 - (fun uu___4 -> FStar_Reflection_Data.Uv_Name uu___4) in + (fun uu___4 -> FStar_Reflection_V1_Data.Uv_Name uu___4) in FStar_Compiler_Effect.op_Bar_Greater uu___3 (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Unif.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Uv_Unif.FStar_Reflection_V1_Constants.lid -> let u1 = unlazy_as_t FStar_Syntax_Syntax.Lazy_universe_uvar u in let uu___2 = FStar_Compiler_Effect.op_Bar_Greater u1 - (fun uu___3 -> FStar_Reflection_Data.Uv_Unif uu___3) in + (fun uu___3 -> FStar_Reflection_V1_Data.Uv_Unif uu___3) in FStar_Compiler_Effect.op_Bar_Greater uu___2 (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Uv_Unk.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Uv_Unk + FStar_Reflection_V1_Constants.ref_Uv_Unk.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Uv_Unk | uu___ -> ((let uu___2 = let uu___3 = @@ -892,45 +853,45 @@ let (e_universe_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_universe_view unembed_universe_view - FStar_Reflection_Constants.fstar_refl_universe_view_fv + FStar_Reflection_V1_Constants.fstar_refl_universe_view_fv let (e_term_view_aq : (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list) -> - FStar_Reflection_Data.term_view FStar_TypeChecker_NBETerm.embedding) + FStar_Reflection_V1_Data.term_view FStar_TypeChecker_NBETerm.embedding) = fun aq -> let shift uu___ = match uu___ with | (s, aqs) -> ((s + Prims.int_one), aqs) in let embed_term_view cb tv = match tv with - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Reflection_V1_Data.Tv_FVar fv -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Tv_FVar.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_FVar.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_BVar bv -> + | FStar_Reflection_V1_Data.Tv_BVar bv -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Tv_BVar.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_BVar.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Reflection_V1_Data.Tv_Var bv -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Tv_Var.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Var.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_UInst (fv, us) -> + | FStar_Reflection_V1_Data.Tv_UInst (fv, us) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in @@ -944,9 +905,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_UInst.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_UInst.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_App (hd, a) -> + | FStar_Reflection_V1_Data.Tv_App (hd, a) -> let uu___ = let uu___1 = let uu___2 = @@ -962,9 +923,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_App.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_App.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Abs (b, t) -> + | FStar_Reflection_V1_Data.Tv_Abs (b, t) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_binder cb b in @@ -978,9 +939,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Abs.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Abs.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_binder cb b in @@ -992,18 +953,18 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Arrow.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Arrow.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Reflection_V1_Data.Tv_Type u -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_universe cb u in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Tv_Type.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Type.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Refine (bv, sort, t) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, t) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in @@ -1024,18 +985,18 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Refine.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Refine.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Const c -> + | FStar_Reflection_V1_Data.Tv_Const c -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_const cb c in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_Tv_Const.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Const.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Uvar (u, d) -> + | FStar_Reflection_V1_Data.Tv_Uvar (u, d) -> let uu___ = let uu___1 = let uu___2 = @@ -1051,9 +1012,9 @@ let (e_term_view_aq : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Uvar.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Uvar.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Let (r, attrs, b, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (r, attrs, b, ty, t1, t2) -> let uu___ = let uu___1 = let uu___2 = @@ -1095,9 +1056,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Let.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Let.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Match (t, ret_opt, brs) -> + | FStar_Reflection_V1_Data.Tv_Match (t, ret_opt, brs) -> let uu___ = let uu___1 = let uu___2 = @@ -1122,9 +1083,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_Match.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Match.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> let uu___ = let uu___1 = let uu___2 = @@ -1156,9 +1117,9 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_AscT.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_AscT.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> let uu___ = let uu___1 = let uu___2 = @@ -1188,52 +1149,52 @@ let (e_term_view_aq : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Tv_AscT.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_AscT.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_V1_Data.Tv_Unknown -> mkConstruct - FStar_Reflection_Constants.ref_Tv_Unknown.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Unknown.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Tv_Unsupp -> + | FStar_Reflection_V1_Data.Tv_Unsupp -> mkConstruct - FStar_Reflection_Constants.ref_Tv_Unsupp.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Tv_Unsupp.FStar_Reflection_V1_Constants.fv [] [] in let unembed_term_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (b, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Var.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Var.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Compiler_Util.bind_opt uu___2 (fun b1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Tv_Var b1)) + (FStar_Reflection_V1_Data.Tv_Var b1)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (b, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_BVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_BVar.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Compiler_Util.bind_opt uu___2 (fun b1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Tv_BVar b1)) + (FStar_Reflection_V1_Data.Tv_BVar b1)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (f, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_FVar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_FVar.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in FStar_Compiler_Util.bind_opt uu___2 (fun f1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Tv_FVar f1)) + (FStar_Reflection_V1_Data.Tv_FVar f1)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (f, uu___1)::(us, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_UInst.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_UInst.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in FStar_Compiler_Util.bind_opt uu___3 @@ -1245,11 +1206,11 @@ let (e_term_view_aq : (fun us1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Tv_UInst (f1, us1)))) + (FStar_Reflection_V1_Data.Tv_UInst (f1, us1)))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (r, uu___1)::(l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_App.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_App.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed e_term cb l in FStar_Compiler_Util.bind_opt uu___3 @@ -1259,11 +1220,11 @@ let (e_term_view_aq : (fun r1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Tv_App (l1, r1)))) + (FStar_Reflection_V1_Data.Tv_App (l1, r1)))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::(b, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Abs.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Abs.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in FStar_Compiler_Util.bind_opt uu___3 @@ -1273,11 +1234,11 @@ let (e_term_view_aq : (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Tv_Abs (b1, t2)))) + (FStar_Reflection_V1_Data.Tv_Abs (b1, t2)))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::(b, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Arrow.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Arrow.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in FStar_Compiler_Util.bind_opt uu___3 @@ -1287,21 +1248,21 @@ let (e_term_view_aq : (fun c -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Tv_Arrow (b1, c)))) + (FStar_Reflection_V1_Data.Tv_Arrow (b1, c)))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Type.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Type.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_universe cb u in FStar_Compiler_Util.bind_opt uu___2 (fun u1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Tv_Type u1)) + (FStar_Reflection_V1_Data.Tv_Type u1)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::(sort, uu___2)::(b, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Refine.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Refine.FStar_Reflection_V1_Constants.lid -> let uu___4 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Compiler_Util.bind_opt uu___4 @@ -1315,21 +1276,22 @@ let (e_term_view_aq : (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) - (FStar_Reflection_Data.Tv_Refine (b1, sort1, t2))))) + (FStar_Reflection_V1_Data.Tv_Refine + (b1, sort1, t2))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (c, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Const.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Const.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_const cb c in FStar_Compiler_Util.bind_opt uu___2 (fun c1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Tv_Const c1)) + (FStar_Reflection_V1_Data.Tv_Const c1)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (l, uu___1)::(u, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Uvar.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Uvar.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int @@ -1339,7 +1301,7 @@ let (e_term_view_aq : let ctx_u_s = unlazy_as_t FStar_Syntax_Syntax.Lazy_uvar l in FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (FStar_Reflection_Data.Tv_Uvar (u1, ctx_u_s))) + (FStar_Reflection_V1_Data.Tv_Uvar (u1, ctx_u_s))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t2, uu___1)::(t1, uu___2)::(ty, uu___3)::(b, uu___4)::(attrs, @@ -1347,7 +1309,7 @@ let (e_term_view_aq : (r, uu___6)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Let.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Let.FStar_Reflection_V1_Constants.lid -> let uu___7 = FStar_TypeChecker_NBETerm.unembed @@ -1380,13 +1342,13 @@ let (e_term_view_aq : (fun uu___13 -> FStar_Pervasives_Native.Some uu___13) - (FStar_Reflection_Data.Tv_Let + (FStar_Reflection_V1_Data.Tv_Let (r1, attrs1, b1, ty1, t11, t21)))))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (brs, uu___1)::(ret_opt, uu___2)::(t1, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Match.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Match.FStar_Reflection_V1_Constants.lid -> let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Compiler_Util.bind_opt uu___4 @@ -1403,14 +1365,14 @@ let (e_term_view_aq : (fun ret_opt1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) - (FStar_Reflection_Data.Tv_Match + (FStar_Reflection_V1_Data.Tv_Match (t2, ret_opt1, brs1))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (tacopt, uu___1)::(t1, uu___2)::(e, uu___3)::(use_eq, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_AscT.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_AscT.FStar_Reflection_V1_Constants.lid -> let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb e in FStar_Compiler_Util.bind_opt uu___5 @@ -1431,14 +1393,14 @@ let (e_term_view_aq : FStar_Compiler_Effect.op_Less_Bar (fun uu___9 -> FStar_Pervasives_Native.Some uu___9) - (FStar_Reflection_Data.Tv_AscribedT + (FStar_Reflection_V1_Data.Tv_AscribedT (e1, t2, tacopt1, use_eq1)))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (tacopt, uu___1)::(c, uu___2)::(e, uu___3)::(use_eq, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_AscC.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_AscC.FStar_Reflection_V1_Constants.lid -> let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb e in FStar_Compiler_Util.bind_opt uu___5 @@ -1459,22 +1421,22 @@ let (e_term_view_aq : FStar_Compiler_Effect.op_Less_Bar (fun uu___9 -> FStar_Pervasives_Native.Some uu___9) - (FStar_Reflection_Data.Tv_AscribedC + (FStar_Reflection_V1_Data.Tv_AscribedC (e1, c1, tacopt1, use_eq1)))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Unknown.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Unknown.FStar_Reflection_V1_Constants.lid -> FStar_Compiler_Effect.op_Less_Bar (fun uu___1 -> FStar_Pervasives_Native.Some uu___1) - FStar_Reflection_Data.Tv_Unknown + FStar_Reflection_V1_Data.Tv_Unknown | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Tv_Unsupp.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Tv_Unsupp.FStar_Reflection_V1_Constants.lid -> FStar_Compiler_Effect.op_Less_Bar (fun uu___1 -> FStar_Pervasives_Native.Some uu___1) - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp | uu___ -> ((let uu___2 = let uu___3 = @@ -1486,12 +1448,12 @@ let (e_term_view_aq : uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_term_view unembed_term_view - FStar_Reflection_Constants.fstar_refl_term_view_fv + FStar_Reflection_V1_Constants.fstar_refl_term_view_fv let (e_term_view : - FStar_Reflection_Data.term_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.term_view FStar_TypeChecker_NBETerm.embedding) = e_term_view_aq (Prims.int_zero, []) let (e_bv_view : - FStar_Reflection_Data.bv_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.bv_view FStar_TypeChecker_NBETerm.embedding) = let embed_bv_view cb bvv = let uu___ = let uu___1 = @@ -1500,25 +1462,25 @@ let (e_bv_view : FStar_TypeChecker_NBETerm.e_sealed FStar_TypeChecker_NBETerm.e_string in FStar_TypeChecker_NBETerm.embed uu___3 cb - bvv.FStar_Reflection_Data.bv_ppname in + bvv.FStar_Reflection_V1_Data.bv_ppname in FStar_TypeChecker_NBETerm.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int - cb bvv.FStar_Reflection_Data.bv_index in + cb bvv.FStar_Reflection_V1_Data.bv_index in FStar_TypeChecker_NBETerm.as_arg uu___4 in [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Mk_bv.FStar_Reflection_Constants.fv [] - uu___ in + FStar_Reflection_V1_Constants.ref_Mk_bv.FStar_Reflection_V1_Constants.fv + [] uu___ in let unembed_bv_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (idx, uu___1)::(nm, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_bv.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_bv.FStar_Reflection_V1_Constants.lid -> let uu___3 = let uu___4 = @@ -1535,8 +1497,8 @@ let (e_bv_view : FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) { - FStar_Reflection_Data.bv_ppname = nm1; - FStar_Reflection_Data.bv_index = idx1 + FStar_Reflection_V1_Data.bv_ppname = nm1; + FStar_Reflection_V1_Data.bv_index = idx1 })) | uu___ -> ((let uu___2 = @@ -1548,7 +1510,7 @@ let (e_bv_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_bv_view unembed_bv_view - FStar_Reflection_Constants.fstar_refl_bv_view_fv + FStar_Reflection_V1_Constants.fstar_refl_bv_view_fv let (e_attribute : FStar_Syntax_Syntax.attribute FStar_TypeChecker_NBETerm.embedding) = e_term let (e_attributes : @@ -1556,38 +1518,38 @@ let (e_attributes : FStar_TypeChecker_NBETerm.embedding) = FStar_TypeChecker_NBETerm.e_list e_attribute let (e_binder_view : - FStar_Reflection_Data.binder_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.binder_view FStar_TypeChecker_NBETerm.embedding) = let embed_binder_view cb bview = let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb - bview.FStar_Reflection_Data.binder_bv in + bview.FStar_Reflection_V1_Data.binder_bv in FStar_TypeChecker_NBETerm.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = FStar_TypeChecker_NBETerm.embed e_aqualv cb - bview.FStar_Reflection_Data.binder_qual in + bview.FStar_Reflection_V1_Data.binder_qual in FStar_TypeChecker_NBETerm.as_arg uu___4 in let uu___4 = let uu___5 = let uu___6 = FStar_TypeChecker_NBETerm.embed e_attributes cb - bview.FStar_Reflection_Data.binder_attrs in + bview.FStar_Reflection_V1_Data.binder_attrs in FStar_TypeChecker_NBETerm.as_arg uu___6 in let uu___6 = let uu___7 = let uu___8 = FStar_TypeChecker_NBETerm.embed e_term cb - bview.FStar_Reflection_Data.binder_sort in + bview.FStar_Reflection_V1_Data.binder_sort in FStar_TypeChecker_NBETerm.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Mk_binder.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Mk_binder.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed_binder_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -1596,7 +1558,7 @@ let (e_binder_view : (sort, uu___1)::(attrs, uu___2)::(q, uu___3)::(bv, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_binder.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_binder.FStar_Reflection_V1_Constants.lid -> let uu___5 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in FStar_Compiler_Util.bind_opt uu___5 @@ -1616,10 +1578,11 @@ let (e_binder_view : (fun uu___9 -> FStar_Pervasives_Native.Some uu___9) { - FStar_Reflection_Data.binder_bv = bv1; - FStar_Reflection_Data.binder_qual = q1; - FStar_Reflection_Data.binder_attrs = attrs1; - FStar_Reflection_Data.binder_sort = sort1 + FStar_Reflection_V1_Data.binder_bv = bv1; + FStar_Reflection_V1_Data.binder_qual = q1; + FStar_Reflection_V1_Data.binder_attrs = + attrs1; + FStar_Reflection_V1_Data.binder_sort = sort1 })))) | uu___ -> ((let uu___2 = @@ -1631,30 +1594,30 @@ let (e_binder_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_binder_view unembed_binder_view - FStar_Reflection_Constants.fstar_refl_binder_view_fv + FStar_Reflection_V1_Constants.fstar_refl_binder_view_fv let (e_comp_view : - FStar_Reflection_Data.comp_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.comp_view FStar_TypeChecker_NBETerm.embedding) = let embed_comp_view cb cv = match cv with - | FStar_Reflection_Data.C_Total t -> + | FStar_Reflection_V1_Data.C_Total t -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_Total.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Total.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_GTotal t -> + | FStar_Reflection_V1_Data.C_GTotal t -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_C_GTotal.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_GTotal.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + | FStar_Reflection_V1_Data.C_Lemma (pre, post, pats) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb pre in @@ -1671,9 +1634,9 @@ let (e_comp_view : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_C_Lemma.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Lemma.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.C_Eff (us, eff, res, args, decrs) -> + | FStar_Reflection_V1_Data.C_Eff (us, eff, res, args, decrs) -> let uu___ = let uu___1 = let uu___2 = @@ -1708,34 +1671,34 @@ let (e_comp_view : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_C_Eff.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_C_Eff.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed_comp_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Total.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Total.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Compiler_Util.bind_opt uu___2 (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.C_Total t2)) + (FStar_Reflection_V1_Data.C_Total t2)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_GTotal.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_GTotal.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Compiler_Util.bind_opt uu___2 (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.C_GTotal t2)) + (FStar_Reflection_V1_Data.C_GTotal t2)) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (post, uu___1)::(pre, uu___2)::(pats, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Lemma.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Lemma.FStar_Reflection_V1_Constants.lid -> let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb pre in FStar_Compiler_Util.bind_opt uu___4 @@ -1749,14 +1712,15 @@ let (e_comp_view : (fun pats1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) - (FStar_Reflection_Data.C_Lemma (pre1, post1, pats1))))) + (FStar_Reflection_V1_Data.C_Lemma + (pre1, post1, pats1))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (decrs, uu___1)::(args, uu___2)::(res, uu___3)::(eff, uu___4):: (us, uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_C_Eff.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_C_Eff.FStar_Reflection_V1_Constants.lid -> let uu___6 = let uu___7 = FStar_TypeChecker_NBETerm.e_list e_universe in @@ -1788,7 +1752,7 @@ let (e_comp_view : FStar_Compiler_Effect.op_Less_Bar (fun uu___11 -> FStar_Pervasives_Native.Some uu___11) - (FStar_Reflection_Data.C_Eff + (FStar_Reflection_V1_Data.C_Eff (us1, eff1, res1, args1, decrs1))))))) | uu___ -> ((let uu___2 = @@ -1800,29 +1764,29 @@ let (e_comp_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_comp_view unembed_comp_view - FStar_Reflection_Constants.fstar_refl_comp_view_fv + FStar_Reflection_V1_Constants.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_Constants.ord_Lt_fv [] [] + mkConstruct FStar_Reflection_V1_Constants.ord_Lt_fv [] [] | FStar_Order.Eq -> - mkConstruct FStar_Reflection_Constants.ord_Eq_fv [] [] + mkConstruct FStar_Reflection_V1_Constants.ord_Eq_fv [] [] | FStar_Order.Gt -> - mkConstruct FStar_Reflection_Constants.ord_Gt_fv [] [] in + mkConstruct FStar_Reflection_V1_Constants.ord_Gt_fv [] [] in let unembed_order cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Lt_lid + FStar_Reflection_V1_Constants.ord_Lt_lid -> FStar_Pervasives_Native.Some FStar_Order.Lt | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Eq_lid + FStar_Reflection_V1_Constants.ord_Eq_lid -> FStar_Pervasives_Native.Some FStar_Order.Eq | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ord_Gt_lid + FStar_Reflection_V1_Constants.ord_Gt_lid -> FStar_Pervasives_Native.Some FStar_Order.Gt | uu___ -> ((let uu___2 = @@ -1839,7 +1803,7 @@ let (e_order : FStar_Order.order FStar_TypeChecker_NBETerm.embedding) = let (e_sigelt : FStar_Syntax_Syntax.sigelt FStar_TypeChecker_NBETerm.embedding) = let embed_sigelt cb se = - mk_lazy cb se FStar_Reflection_Constants.fstar_refl_sigelt + mk_lazy cb se FStar_Reflection_V1_Constants.fstar_refl_sigelt FStar_Syntax_Syntax.Lazy_sigelt in let unembed_sigelt cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -1862,12 +1826,12 @@ let (e_sigelt : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_sigelt unembed_sigelt - FStar_Reflection_Constants.fstar_refl_sigelt_fv + FStar_Reflection_V1_Constants.fstar_refl_sigelt_fv let (e_univ_name : - FStar_Syntax_Syntax.univ_name FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.univ_name FStar_TypeChecker_NBETerm.embedding) = e_ident let (e_univ_names : - FStar_Syntax_Syntax.univ_name Prims.list + FStar_Reflection_V1_Data.univ_name Prims.list FStar_TypeChecker_NBETerm.embedding) = FStar_TypeChecker_NBETerm.e_list e_univ_name let (e_string_list : @@ -1878,39 +1842,39 @@ let (e_ctor : FStar_TypeChecker_NBETerm.embedding) = FStar_TypeChecker_NBETerm.e_tuple2 e_string_list e_term let (e_lb_view : - FStar_Reflection_Data.lb_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.lb_view FStar_TypeChecker_NBETerm.embedding) = let embed_lb_view cb lbv = let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb - lbv.FStar_Reflection_Data.lb_fv in + lbv.FStar_Reflection_V1_Data.lb_fv in FStar_TypeChecker_NBETerm.as_arg uu___2 in let uu___2 = let uu___3 = let uu___4 = FStar_TypeChecker_NBETerm.embed e_univ_names cb - lbv.FStar_Reflection_Data.lb_us in + lbv.FStar_Reflection_V1_Data.lb_us in FStar_TypeChecker_NBETerm.as_arg uu___4 in let uu___4 = let uu___5 = let uu___6 = FStar_TypeChecker_NBETerm.embed e_term cb - lbv.FStar_Reflection_Data.lb_typ in + lbv.FStar_Reflection_V1_Data.lb_typ in FStar_TypeChecker_NBETerm.as_arg uu___6 in let uu___6 = let uu___7 = let uu___8 = FStar_TypeChecker_NBETerm.embed e_term cb - lbv.FStar_Reflection_Data.lb_def in + lbv.FStar_Reflection_V1_Data.lb_def in FStar_TypeChecker_NBETerm.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Mk_lb.FStar_Reflection_Constants.fv [] - uu___ in + FStar_Reflection_V1_Constants.ref_Mk_lb.FStar_Reflection_V1_Constants.fv + [] uu___ in let unembed_lb_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct @@ -1918,7 +1882,7 @@ let (e_lb_view : (fv', uu___1)::(us, uu___2)::(typ, uu___3)::(def, uu___4)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Mk_lb.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Mk_lb.FStar_Reflection_V1_Constants.lid -> let uu___5 = FStar_TypeChecker_NBETerm.unembed e_fv cb fv' in FStar_Compiler_Util.bind_opt uu___5 @@ -1939,10 +1903,10 @@ let (e_lb_view : (fun uu___9 -> FStar_Pervasives_Native.Some uu___9) { - FStar_Reflection_Data.lb_fv = fv'1; - FStar_Reflection_Data.lb_us = us1; - FStar_Reflection_Data.lb_typ = typ1; - FStar_Reflection_Data.lb_def = def1 + FStar_Reflection_V1_Data.lb_fv = fv'1; + FStar_Reflection_V1_Data.lb_us = us1; + FStar_Reflection_V1_Data.lb_typ = typ1; + FStar_Reflection_V1_Data.lb_def = def1 })))) | uu___ -> ((let uu___2 = @@ -1954,7 +1918,7 @@ let (e_lb_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_lb_view unembed_lb_view - FStar_Reflection_Constants.fstar_refl_lb_view_fv + FStar_Reflection_V1_Constants.fstar_refl_lb_view_fv let (e_lid : FStar_Ident.lid FStar_TypeChecker_NBETerm.embedding) = let embed rng lid = let uu___ = FStar_Ident.path_of_lid lid in @@ -1965,13 +1929,14 @@ let (e_lid : FStar_Ident.lid FStar_TypeChecker_NBETerm.embedding) = (fun p -> FStar_Ident.lid_of_path p FStar_Compiler_Range_Type.dummyRange) in let uu___ = - mkConstruct FStar_Reflection_Constants.fstar_refl_aqualv_fv [] [] in - let uu___1 = fv_as_emb_typ FStar_Reflection_Constants.fstar_refl_aqualv_fv in + mkConstruct FStar_Reflection_V1_Constants.fstar_refl_aqualv_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V1_Constants.fstar_refl_aqualv_fv in FStar_TypeChecker_NBETerm.mk_emb embed unembed uu___ uu___1 let (e_letbinding : FStar_Syntax_Syntax.letbinding FStar_TypeChecker_NBETerm.embedding) = let embed_letbinding cb lb = - mk_lazy cb lb FStar_Reflection_Constants.fstar_refl_letbinding + mk_lazy cb lb FStar_Reflection_V1_Constants.fstar_refl_letbinding FStar_Syntax_Syntax.Lazy_letbinding in let unembed_letbinding cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with @@ -1995,12 +1960,12 @@ let (e_letbinding : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_letbinding unembed_letbinding - FStar_Reflection_Constants.fstar_refl_letbinding_fv + FStar_Reflection_V1_Constants.fstar_refl_letbinding_fv let (e_sigelt_view : - FStar_Reflection_Data.sigelt_view FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.sigelt_view FStar_TypeChecker_NBETerm.embedding) = let embed_sigelt_view cb sev = match sev with - | FStar_Reflection_Data.Sg_Let (r, lbs) -> + | FStar_Reflection_V1_Data.Sg_Let (r, lbs) -> let uu___ = let uu___1 = let uu___2 = @@ -2016,9 +1981,9 @@ let (e_sigelt_view : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Sg_Let.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Sg_Let.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> + | FStar_Reflection_V1_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_string_list cb nm in @@ -2048,9 +2013,9 @@ let (e_sigelt_view : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Sg_Inductive.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Sg_Inductive.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Sg_Val (nm, univs, t) -> + | FStar_Reflection_V1_Data.Sg_Val (nm, univs, t) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_string_list cb nm in @@ -2068,12 +2033,12 @@ let (e_sigelt_view : uu___3 :: uu___4 in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_Sg_Val.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_Sg_Val.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Unk -> + | FStar_Reflection_V1_Data.Unk -> mkConstruct - FStar_Reflection_Constants.ref_Unk.FStar_Reflection_Constants.fv [] - [] in + FStar_Reflection_V1_Constants.ref_Unk.FStar_Reflection_V1_Constants.fv + [] [] in let unembed_sigelt_view cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct @@ -2082,7 +2047,7 @@ let (e_sigelt_view : uu___5)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Inductive.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Inductive.FStar_Reflection_V1_Constants.lid -> let uu___6 = FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in FStar_Compiler_Util.bind_opt uu___6 @@ -2109,12 +2074,12 @@ let (e_sigelt_view : FStar_Compiler_Effect.op_Less_Bar (fun uu___11 -> FStar_Pervasives_Native.Some uu___11) - (FStar_Reflection_Data.Sg_Inductive + (FStar_Reflection_V1_Data.Sg_Inductive (nm1, us1, bs1, t2, dcs1))))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (lbs, uu___1)::(r, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Let.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Let.FStar_Reflection_V1_Constants.lid -> let uu___3 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_bool @@ -2128,11 +2093,11 @@ let (e_sigelt_view : (fun lbs1 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Sg_Let (r1, lbs1)))) + (FStar_Reflection_V1_Data.Sg_Let (r1, lbs1)))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::(us, uu___2)::(nm, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Sg_Val.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_Sg_Val.FStar_Reflection_V1_Constants.lid -> let uu___4 = FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in FStar_Compiler_Util.bind_opt uu___4 @@ -2146,11 +2111,11 @@ let (e_sigelt_view : (fun t2 -> FStar_Compiler_Effect.op_Less_Bar (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) - (FStar_Reflection_Data.Sg_Val (nm1, us1, t2))))) + (FStar_Reflection_V1_Data.Sg_Val (nm1, us1, t2))))) | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_Unk.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unk + FStar_Reflection_V1_Constants.ref_Unk.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Unk | uu___ -> ((let uu___2 = let uu___3 = @@ -2161,181 +2126,107 @@ let (e_sigelt_view : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in mk_emb' embed_sigelt_view unembed_sigelt_view - FStar_Reflection_Constants.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 -> - mkConstruct - FStar_Reflection_Constants.ref_E_Unit.FStar_Reflection_Constants.fv - [] [] - | FStar_Reflection_Data.Var i -> - let uu___ = - let uu___1 = - let uu___2 = - FStar_TypeChecker_NBETerm.mk_t - (FStar_TypeChecker_NBETerm.Constant - (FStar_TypeChecker_NBETerm.Int i)) in - FStar_TypeChecker_NBETerm.as_arg uu___2 in - [uu___1] in - mkConstruct - FStar_Reflection_Constants.ref_E_Var.FStar_Reflection_Constants.fv - [] uu___ - | FStar_Reflection_Data.Mult (e1, e2) -> - let uu___ = - let uu___1 = - let uu___2 = embed_exp cb e1 in - FStar_TypeChecker_NBETerm.as_arg uu___2 in - let uu___2 = - let uu___3 = - let uu___4 = embed_exp cb e2 in - FStar_TypeChecker_NBETerm.as_arg uu___4 in - [uu___3] in - uu___1 :: uu___2 in - mkConstruct - FStar_Reflection_Constants.ref_E_Mult.FStar_Reflection_Constants.fv - [] uu___ in - let rec unembed_exp cb t = - match t.FStar_TypeChecker_NBETerm.nbe_t with - | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Unit.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unit - | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (i, uu___1)::[]) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Var.FStar_Reflection_Constants.lid - -> - let uu___2 = - FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int - cb i in - FStar_Compiler_Util.bind_opt uu___2 - (fun i1 -> - FStar_Compiler_Effect.op_Less_Bar - (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Reflection_Data.Var i1)) - | FStar_TypeChecker_NBETerm.Construct - (fv, uu___, (e2, uu___1)::(e1, uu___2)::[]) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_E_Mult.FStar_Reflection_Constants.lid - -> - let uu___3 = unembed_exp cb e1 in - FStar_Compiler_Util.bind_opt uu___3 - (fun e11 -> - let uu___4 = unembed_exp cb e2 in - FStar_Compiler_Util.bind_opt uu___4 - (fun e21 -> - FStar_Compiler_Effect.op_Less_Bar - (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) - (FStar_Reflection_Data.Mult (e11, e21)))) - | uu___ -> - ((let uu___2 = - let uu___3 = - let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Compiler_Util.format1 "Not an embedded exp: %s" uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); - FStar_Pervasives_Native.None) in - mk_emb' embed_exp unembed_exp FStar_Reflection_Constants.fstar_refl_exp_fv + FStar_Reflection_V1_Constants.fstar_refl_sigelt_view_fv let (e_qualifier : - FStar_Reflection_Data.qualifier FStar_TypeChecker_NBETerm.embedding) = + FStar_Reflection_V1_Data.qualifier FStar_TypeChecker_NBETerm.embedding) = let embed cb q = match q with - | FStar_Reflection_Data.Assumption -> + | FStar_Reflection_V1_Data.Assumption -> mkConstruct - FStar_Reflection_Constants.ref_qual_Assumption.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Assumption.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.New -> + | FStar_Reflection_V1_Data.New -> mkConstruct - FStar_Reflection_Constants.ref_qual_New.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_New.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Private -> + | FStar_Reflection_V1_Data.Private -> mkConstruct - FStar_Reflection_Constants.ref_qual_Private.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Private.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Unfold_for_unification_and_vcgen -> + | FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen -> mkConstruct - FStar_Reflection_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Visible_default -> + | FStar_Reflection_V1_Data.Visible_default -> mkConstruct - FStar_Reflection_Constants.ref_qual_Visible_default.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Visible_default.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Irreducible -> + | FStar_Reflection_V1_Data.Irreducible -> mkConstruct - FStar_Reflection_Constants.ref_qual_Irreducible.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Irreducible.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Inline_for_extraction -> + | FStar_Reflection_V1_Data.Inline_for_extraction -> mkConstruct - FStar_Reflection_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.NoExtract -> + | FStar_Reflection_V1_Data.NoExtract -> mkConstruct - FStar_Reflection_Constants.ref_qual_NoExtract.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_NoExtract.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Noeq -> + | FStar_Reflection_V1_Data.Noeq -> mkConstruct - FStar_Reflection_Constants.ref_qual_Noeq.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Noeq.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Unopteq -> + | FStar_Reflection_V1_Data.Unopteq -> mkConstruct - FStar_Reflection_Constants.ref_qual_Unopteq.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Unopteq.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.TotalEffect -> + | FStar_Reflection_V1_Data.TotalEffect -> mkConstruct - FStar_Reflection_Constants.ref_qual_TotalEffect.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_TotalEffect.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Logic -> + | FStar_Reflection_V1_Data.Logic -> mkConstruct - FStar_Reflection_Constants.ref_qual_Logic.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Logic.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Reifiable -> + | FStar_Reflection_V1_Data.Reifiable -> mkConstruct - FStar_Reflection_Constants.ref_qual_Reifiable.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Reifiable.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.ExceptionConstructor -> + | FStar_Reflection_V1_Data.ExceptionConstructor -> mkConstruct - FStar_Reflection_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.HasMaskedEffect -> + | FStar_Reflection_V1_Data.HasMaskedEffect -> mkConstruct - FStar_Reflection_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Effect -> + | FStar_Reflection_V1_Data.Effect -> mkConstruct - FStar_Reflection_Constants.ref_qual_Effect.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Effect.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.OnlyName -> + | FStar_Reflection_V1_Data.OnlyName -> mkConstruct - FStar_Reflection_Constants.ref_qual_OnlyName.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_OnlyName.FStar_Reflection_V1_Constants.fv [] [] - | FStar_Reflection_Data.Reflectable l -> + | FStar_Reflection_V1_Data.Reflectable l -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_qual_Reflectable.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Reflectable.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Discriminator l -> + | FStar_Reflection_V1_Data.Discriminator l -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_qual_Discriminator.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Discriminator.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Action l -> + | FStar_Reflection_V1_Data.Action l -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in FStar_TypeChecker_NBETerm.as_arg uu___2 in [uu___1] in mkConstruct - FStar_Reflection_Constants.ref_qual_Action.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Action.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.Projector (l, i) -> + | FStar_Reflection_V1_Data.Projector (l, i) -> let uu___ = let uu___1 = let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in @@ -2347,9 +2238,9 @@ let (e_qualifier : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_qual_Projector.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_Projector.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.RecordType (ids1, ids2) -> + | FStar_Reflection_V1_Data.RecordType (ids1, ids2) -> let uu___ = let uu___1 = let uu___2 = @@ -2365,9 +2256,9 @@ let (e_qualifier : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_qual_RecordType.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_RecordType.FStar_Reflection_V1_Constants.fv [] uu___ - | FStar_Reflection_Data.RecordConstructor (ids1, ids2) -> + | FStar_Reflection_V1_Data.RecordConstructor (ids1, ids2) -> let uu___ = let uu___1 = let uu___2 = @@ -2383,114 +2274,117 @@ let (e_qualifier : [uu___3] in uu___1 :: uu___2 in mkConstruct - FStar_Reflection_Constants.ref_qual_RecordConstructor.FStar_Reflection_Constants.fv + FStar_Reflection_V1_Constants.ref_qual_RecordConstructor.FStar_Reflection_V1_Constants.fv [] uu___ in let unembed cb t = match t.FStar_TypeChecker_NBETerm.nbe_t with | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Assumption.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Assumption + FStar_Reflection_V1_Constants.ref_qual_Assumption.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Assumption | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_New.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.New + FStar_Reflection_V1_Constants.ref_qual_New.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.New | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Private.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Private + FStar_Reflection_V1_Constants.ref_qual_Private.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Private | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.Unfold_for_unification_and_vcgen + FStar_Reflection_V1_Data.Unfold_for_unification_and_vcgen | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Visible_default.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Visible_default + FStar_Reflection_V1_Constants.ref_qual_Visible_default.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Visible_default | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Irreducible.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Irreducible + FStar_Reflection_V1_Constants.ref_qual_Irreducible.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Irreducible | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.Inline_for_extraction + FStar_Reflection_V1_Data.Inline_for_extraction | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_NoExtract.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.NoExtract + FStar_Reflection_V1_Constants.ref_qual_NoExtract.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.NoExtract | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Noeq.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Noeq + FStar_Reflection_V1_Constants.ref_qual_Noeq.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Noeq | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Unopteq.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unopteq + FStar_Reflection_V1_Constants.ref_qual_Unopteq.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Unopteq | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_TotalEffect.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.TotalEffect + FStar_Reflection_V1_Constants.ref_qual_TotalEffect.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.TotalEffect | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Logic.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Logic + FStar_Reflection_V1_Constants.ref_qual_Logic.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Logic | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Reifiable.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Reifiable + FStar_Reflection_V1_Constants.ref_qual_Reifiable.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Reifiable | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V1_Constants.lid -> FStar_Pervasives_Native.Some - FStar_Reflection_Data.ExceptionConstructor + FStar_Reflection_V1_Data.ExceptionConstructor | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.HasMaskedEffect + FStar_Reflection_V1_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V1_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.HasMaskedEffect | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Effect.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Effect + FStar_Reflection_V1_Constants.ref_qual_Effect.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.Effect | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_OnlyName.FStar_Reflection_Constants.lid - -> FStar_Pervasives_Native.Some FStar_Reflection_Data.OnlyName + FStar_Reflection_V1_Constants.ref_qual_OnlyName.FStar_Reflection_V1_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V1_Data.OnlyName | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Reflectable.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Reflectable.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in FStar_Compiler_Util.bind_opt uu___1 (fun l1 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.Reflectable l1)) + (FStar_Reflection_V1_Data.Reflectable l1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Discriminator.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Discriminator.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in FStar_Compiler_Util.bind_opt uu___1 (fun l1 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.Discriminator l1)) + (FStar_Reflection_V1_Data.Discriminator l1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Action.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Action.FStar_Reflection_V1_Constants.lid -> let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in FStar_Compiler_Util.bind_opt uu___1 (fun l1 -> - FStar_Pervasives_Native.Some (FStar_Reflection_Data.Action l1)) + FStar_Pervasives_Native.Some + (FStar_Reflection_V1_Data.Action l1)) | FStar_TypeChecker_NBETerm.Construct (fv, [], (i, uu___)::(l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_Projector.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_Projector.FStar_Reflection_V1_Constants.lid -> let uu___2 = FStar_TypeChecker_NBETerm.unembed e_ident cb i in FStar_Compiler_Util.bind_opt uu___2 @@ -2499,11 +2393,11 @@ let (e_qualifier : FStar_Compiler_Util.bind_opt uu___3 (fun l1 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.Projector (l1, i1)))) + (FStar_Reflection_V1_Data.Projector (l1, i1)))) | FStar_TypeChecker_NBETerm.Construct (fv, [], (ids2, uu___)::(ids1, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_RecordType.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_RecordType.FStar_Reflection_V1_Constants.lid -> let uu___2 = let uu___3 = FStar_TypeChecker_NBETerm.e_list e_ident in @@ -2516,11 +2410,11 @@ let (e_qualifier : FStar_Compiler_Util.bind_opt uu___3 (fun ids21 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.RecordType (ids11, ids21)))) + (FStar_Reflection_V1_Data.RecordType (ids11, ids21)))) | FStar_TypeChecker_NBETerm.Construct (fv, [], (ids2, uu___)::(ids1, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Reflection_Constants.ref_qual_RecordConstructor.FStar_Reflection_Constants.lid + FStar_Reflection_V1_Constants.ref_qual_RecordConstructor.FStar_Reflection_V1_Constants.lid -> let uu___2 = let uu___3 = FStar_TypeChecker_NBETerm.e_list e_ident in @@ -2533,7 +2427,8 @@ let (e_qualifier : FStar_Compiler_Util.bind_opt uu___3 (fun ids21 -> FStar_Pervasives_Native.Some - (FStar_Reflection_Data.RecordConstructor (ids11, ids21)))) + (FStar_Reflection_V1_Data.RecordConstructor + (ids11, ids21)))) | uu___ -> ((let uu___2 = let uu___3 = @@ -2544,12 +2439,12 @@ let (e_qualifier : FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); FStar_Pervasives_Native.None) in let uu___ = - mkConstruct FStar_Reflection_Constants.fstar_refl_qualifier_fv [] [] in + mkConstruct FStar_Reflection_V1_Constants.fstar_refl_qualifier_fv [] [] in let uu___1 = - fv_as_emb_typ FStar_Reflection_Constants.fstar_refl_qualifier_fv in + fv_as_emb_typ FStar_Reflection_V1_Constants.fstar_refl_qualifier_fv in FStar_TypeChecker_NBETerm.mk_emb embed unembed uu___ uu___1 let (e_qualifiers : - FStar_Reflection_Data.qualifier Prims.list + FStar_Reflection_V1_Data.qualifier Prims.list FStar_TypeChecker_NBETerm.embedding) = FStar_TypeChecker_NBETerm.e_list e_qualifier let (e_vconfig : FStar_Order.order FStar_TypeChecker_NBETerm.embedding) = diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2.ml new file mode 100644 index 00000000000..e8306abedb2 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2.ml @@ -0,0 +1 @@ +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Arith.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Arith.ml similarity index 77% rename from ocaml/fstar-lib/generated/FStar_Reflection_Arith.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V2_Arith.ml index 595ae140133..a9bc610feb7 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_Arith.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Arith.ml @@ -197,12 +197,17 @@ let op_let_Bang : 'a 'b . 'a tm -> ('a -> 'b tm) -> 'b tm = fun f -> fun i -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (77)) (Prims.of_int (19)) (Prims.of_int (77)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (77)) (Prims.of_int (13)) (Prims.of_int (79)) - (Prims.of_int (34))) (Obj.magic (m i)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (77)) (Prims.of_int (19)) + (Prims.of_int (77)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (77)) (Prims.of_int (13)) + (Prims.of_int (79)) (Prims.of_int (34))))) + (Obj.magic (m i)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -221,20 +226,29 @@ let lift : fun x -> fun st1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (83)) (Prims.of_int (8)) (Prims.of_int (83)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (83)) (Prims.of_int (4)) (Prims.of_int (83)) - (Prims.of_int (17))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (83)) (Prims.of_int (8)) (Prims.of_int (83)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (83)) (Prims.of_int (4)) (Prims.of_int (83)) + (Prims.of_int (17))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (83)) (Prims.of_int (9)) (Prims.of_int (83)) - (Prims.of_int (12))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (83)) (Prims.of_int (8)) (Prims.of_int (83)) - (Prims.of_int (17))) (Obj.magic (f x)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (83)) (Prims.of_int (9)) + (Prims.of_int (83)) (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (83)) (Prims.of_int (8)) + (Prims.of_int (83)) (Prims.of_int (17))))) + (Obj.magic (f x)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (uu___, st1))))) @@ -279,12 +293,18 @@ let rec find_idx : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (108)) (Prims.of_int (11)) - (Prims.of_int (108)) (Prims.of_int (14))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (108)) (Prims.of_int (8)) - (Prims.of_int (113)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (108)) (Prims.of_int (11)) + (Prims.of_int (108)) (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (108)) (Prims.of_int (8)) + (Prims.of_int (113)) (Prims.of_int (16))))) (Obj.magic (f x)) (fun uu___ -> (fun uu___ -> @@ -300,18 +320,22 @@ let rec find_idx : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Reflection.Arith.fst" - (Prims.of_int (110)) - (Prims.of_int (25)) - (Prims.of_int (110)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Reflection.Arith.fst" - (Prims.of_int (110)) - (Prims.of_int (19)) - (Prims.of_int (112)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (110)) + (Prims.of_int (25)) + (Prims.of_int (110)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (110)) + (Prims.of_int (19)) + (Prims.of_int (112)) + (Prims.of_int (43))))) (Obj.magic (find_idx f xs)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -332,14 +356,18 @@ let (atom : FStar_Reflection_Types.term -> expr tm) = match uu___ with | (n, atoms) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (116)) (Prims.of_int (10)) (Prims.of_int (116)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" - (Prims.of_int (116)) (Prims.of_int (4)) (Prims.of_int (118)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (116)) (Prims.of_int (10)) + (Prims.of_int (116)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (116)) (Prims.of_int (4)) + (Prims.of_int (118)) (Prims.of_int (57))))) (Obj.magic - (find_idx (FStar_Tactics_Builtins.term_eq_old t) atoms)) + (find_idx (FStar_Tactics_V2_Builtins.term_eq_old t) atoms)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -361,15 +389,15 @@ let fail : 'a . Prims.string -> 'a tm = (fun uu___ -> FStar_Pervasives.Inl s))) uu___ let rec (as_arith_expr : FStar_Reflection_Types.term -> expr tm) = fun t -> - let uu___ = FStar_Reflection_Derived.collect_app_ln t in + let uu___ = FStar_Reflection_V2_Derived.collect_app_ln t in match uu___ with | (hd, tl) -> - (match ((FStar_Reflection_Builtins.inspect_ln hd), tl) with - | (FStar_Reflection_Data.Tv_FVar fv, - (e1, FStar_Reflection_Data.Q_Implicit)::(e2, - FStar_Reflection_Data.Q_Explicit):: - (e3, FStar_Reflection_Data.Q_Explicit)::[]) -> - let qn = FStar_Reflection_Builtins.inspect_fv fv in + (match ((FStar_Reflection_V2_Builtins.inspect_ln hd), tl) with + | (FStar_Reflection_V2_Data.Tv_FVar fv, + (e1, FStar_Reflection_V2_Data.Q_Implicit)::(e2, + FStar_Reflection_V2_Data.Q_Explicit):: + (e3, FStar_Reflection_V2_Data.Q_Explicit)::[]) -> + let qn = FStar_Reflection_V2_Builtins.inspect_fv fv in let e2' = as_arith_expr e2 in let e3' = as_arith_expr e3 in if qn = FStar_Reflection_Const.land_qn @@ -432,11 +460,11 @@ let rec (as_arith_expr : FStar_Reflection_Types.term -> expr tm) = fun uu___11 -> Lsub (uu___10, uu___11)) e2' e3' else atom t - | (FStar_Reflection_Data.Tv_FVar fv, - (l, FStar_Reflection_Data.Q_Explicit)::(r, - FStar_Reflection_Data.Q_Explicit)::[]) + | (FStar_Reflection_V2_Data.Tv_FVar fv, + (l, FStar_Reflection_V2_Data.Q_Explicit)::(r, + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> - let qn = FStar_Reflection_Builtins.inspect_fv fv in + let qn = FStar_Reflection_V2_Builtins.inspect_fv fv in let ll = as_arith_expr l in let rr = as_arith_expr r in if qn = FStar_Reflection_Const.add_qn @@ -460,25 +488,25 @@ let rec (as_arith_expr : FStar_Reflection_Types.term -> expr tm) = (fun uu___4 -> fun uu___5 -> Mult (uu___4, uu___5)) ll rr else atom t - | (FStar_Reflection_Data.Tv_FVar fv, - (l, FStar_Reflection_Data.Q_Implicit)::(r, - FStar_Reflection_Data.Q_Explicit)::[]) + | (FStar_Reflection_V2_Data.Tv_FVar fv, + (l, FStar_Reflection_V2_Data.Q_Implicit)::(r, + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> - let qn = FStar_Reflection_Builtins.inspect_fv fv in + let qn = FStar_Reflection_V2_Builtins.inspect_fv fv in let ll = as_arith_expr l in let rr = as_arith_expr r in if qn = FStar_Reflection_Const.nat_bv_qn then liftM (fun uu___1 -> NatToBv uu___1) rr else atom t - | (FStar_Reflection_Data.Tv_FVar fv, - (a, FStar_Reflection_Data.Q_Explicit)::[]) -> - let qn = FStar_Reflection_Builtins.inspect_fv fv in + | (FStar_Reflection_V2_Data.Tv_FVar fv, + (a, FStar_Reflection_V2_Data.Q_Explicit)::[]) -> + let qn = FStar_Reflection_V2_Builtins.inspect_fv fv in let aa = as_arith_expr a in if qn = FStar_Reflection_Const.neg_qn then liftM (fun uu___1 -> Neg uu___1) aa else atom t - | (FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_Int i), - uu___1) -> return (Lit i) + | (FStar_Reflection_V2_Data.Tv_Const (FStar_Reflection_V2_Data.C_Int + i), uu___1) -> return (Lit i) | uu___1 -> atom t) let (is_arith_expr : FStar_Reflection_Types.term -> expr tm) = fun t -> @@ -486,16 +514,20 @@ let (is_arith_expr : FStar_Reflection_Types.term -> expr tm) = (fun a -> match a with | Atom (uu___, t1) -> - let uu___1 = FStar_Reflection_Derived_Lemmas.collect_app_ref t1 in + let uu___1 = + FStar_Reflection_V2_Derived_Lemmas.collect_app_ref t1 in (match uu___1 with | (hd, tl) -> - (match ((FStar_Reflection_Builtins.inspect_ln hd), tl) with - | (FStar_Reflection_Data.Tv_FVar uu___2, []) -> return a - | (FStar_Reflection_Data.Tv_BVar uu___2, []) -> return a - | (FStar_Reflection_Data.Tv_Var uu___2, []) -> return a + (match ((FStar_Reflection_V2_Builtins.inspect_ln hd), tl) + with + | (FStar_Reflection_V2_Data.Tv_FVar uu___2, []) -> + return a + | (FStar_Reflection_V2_Data.Tv_BVar uu___2, []) -> + return a + | (FStar_Reflection_V2_Data.Tv_Var uu___2, []) -> return a | uu___2 -> op_let_Bang - (lift FStar_Tactics_Builtins.term_to_string t1) + (lift FStar_Tactics_V2_Builtins.term_to_string t1) (fun s -> fail (Prims.strcat "not an arithmetic expression: (" @@ -509,29 +541,30 @@ let rec (is_arith_prop : = fun t -> fun i -> - op_let_Bang (lift FStar_Reflection_Formula.term_as_formula t) + op_let_Bang + (lift (fun t1 -> FStar_Reflection_V2_Formula.term_as_formula t1) t) (fun f -> match f with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___, l, r) -> + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___, l, r) -> liftM2 eq (is_arith_expr l) (is_arith_expr r) - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.BoolEq uu___, l, r) -> + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.BoolEq uu___, l, r) -> liftM2 eq (is_arith_expr l) (is_arith_expr r) - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Lt, l, r) -> + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Lt, l, r) -> liftM2 lt (is_arith_expr l) (is_arith_expr r) - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Le, l, r) -> + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Le, l, r) -> liftM2 le (is_arith_expr l) (is_arith_expr r) - | FStar_Reflection_Formula.And (l, r) -> + | FStar_Reflection_V2_Formula.And (l, r) -> liftM2 (fun uu___ -> fun uu___1 -> AndProp (uu___, uu___1)) (is_arith_prop l) (is_arith_prop r) - | FStar_Reflection_Formula.Or (l, r) -> + | FStar_Reflection_V2_Formula.Or (l, r) -> liftM2 (fun uu___ -> fun uu___1 -> OrProp (uu___, uu___1)) (is_arith_prop l) (is_arith_prop r) | uu___ -> - op_let_Bang (lift FStar_Tactics_Builtins.term_to_string t) + op_let_Bang (lift FStar_Tactics_V2_Builtins.term_to_string t) (fun s -> fail (Prims.strcat "connector (" (Prims.strcat s ")")))) i @@ -543,11 +576,16 @@ let run_tm : = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" (Prims.of_int (212)) - (Prims.of_int (10)) (Prims.of_int (212)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Reflection.Arith.fst" (Prims.of_int (212)) - (Prims.of_int (4)) (Prims.of_int (214)) (Prims.of_int (25))) - (Obj.magic (m (Prims.int_zero, []))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (212)) (Prims.of_int (10)) (Prims.of_int (212)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Arith.fst" + (Prims.of_int (212)) (Prims.of_int (4)) (Prims.of_int (214)) + (Prims.of_int (25))))) (Obj.magic (m (Prims.int_zero, []))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -623,7 +661,7 @@ let rec (compare_expr : expr -> expr -> FStar_Order.order) = match (e1, e2) with | (Lit i, Lit j) -> FStar_Order.compare_int i j | (Atom (uu___, t), Atom (uu___1, s)) -> - FStar_Reflection_Compare.compare_term t s + FStar_Reflection_V2_Compare.compare_term t s | (Plus (l1, l2), Plus (r1, r2)) -> FStar_Order.lex (compare_expr l1 r1) (fun uu___ -> compare_expr l2 r2) diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Builtins.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Builtins.ml new file mode 100644 index 00000000000..90dcfafff43 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Builtins.ml @@ -0,0 +1,1414 @@ +open Prims +let (get_env : unit -> FStar_TypeChecker_Env.env) = + fun uu___ -> + let uu___1 = + FStar_Compiler_Effect.op_Bang + FStar_TypeChecker_Normalize.reflection_env_hook in + match uu___1 with + | FStar_Pervasives_Native.None -> + failwith "impossible: env_hook unset in reflection" + | FStar_Pervasives_Native.Some e -> e +let (inspect_bqual : + FStar_Syntax_Syntax.bqual -> FStar_Reflection_V2_Data.aqualv) = + fun bq -> + match bq with + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu___) -> + FStar_Reflection_V2_Data.Q_Implicit + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> + FStar_Reflection_V2_Data.Q_Meta t + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> + FStar_Reflection_V2_Data.Q_Explicit + | FStar_Pervasives_Native.None -> FStar_Reflection_V2_Data.Q_Explicit +let (inspect_aqual : + FStar_Syntax_Syntax.aqual -> FStar_Reflection_V2_Data.aqualv) = + fun aq -> + match aq with + | FStar_Pervasives_Native.Some + { FStar_Syntax_Syntax.aqual_implicit = true; + FStar_Syntax_Syntax.aqual_attributes = uu___;_} + -> FStar_Reflection_V2_Data.Q_Implicit + | uu___ -> FStar_Reflection_V2_Data.Q_Explicit +let (pack_bqual : + FStar_Reflection_V2_Data.aqualv -> FStar_Syntax_Syntax.bqual) = + fun aqv -> + match aqv with + | FStar_Reflection_V2_Data.Q_Explicit -> FStar_Pervasives_Native.None + | FStar_Reflection_V2_Data.Q_Implicit -> + FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit false) + | FStar_Reflection_V2_Data.Q_Meta t -> + FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) +let (pack_aqual : + FStar_Reflection_V2_Data.aqualv -> FStar_Syntax_Syntax.aqual) = + fun aqv -> + match aqv with + | FStar_Reflection_V2_Data.Q_Implicit -> + FStar_Syntax_Syntax.as_aqual_implicit true + | uu___ -> FStar_Pervasives_Native.None +let (inspect_fv : FStar_Syntax_Syntax.fv -> Prims.string Prims.list) = + fun fv -> + let uu___ = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.path_of_lid uu___ +let (pack_fv : Prims.string Prims.list -> FStar_Syntax_Syntax.fv) = + fun ns -> + let lid = FStar_Parser_Const.p2l ns in + let fallback uu___ = + let quals = + let uu___1 = FStar_Ident.lid_equals lid FStar_Parser_Const.cons_lid in + if uu___1 + then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor + else + (let uu___3 = FStar_Ident.lid_equals lid FStar_Parser_Const.nil_lid in + if uu___3 + then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor + else + (let uu___5 = + FStar_Ident.lid_equals lid FStar_Parser_Const.some_lid in + if uu___5 + then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor + else + (let uu___7 = + FStar_Ident.lid_equals lid FStar_Parser_Const.none_lid in + if uu___7 + then + FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor + else FStar_Pervasives_Native.None))) in + let uu___1 = FStar_Parser_Const.p2l ns in + FStar_Syntax_Syntax.lid_as_fv uu___1 quals in + let uu___ = + FStar_Compiler_Effect.op_Bang + FStar_TypeChecker_Normalize.reflection_env_hook in + match uu___ with + | FStar_Pervasives_Native.None -> fallback () + | FStar_Pervasives_Native.Some env -> + let qninfo = FStar_TypeChecker_Env.lookup_qname env lid in + (match qninfo with + | FStar_Pervasives_Native.Some + (FStar_Pervasives.Inr (se, _us), _rng) -> + let quals = FStar_Syntax_DsEnv.fv_qual_of_se se in + let uu___1 = FStar_Parser_Const.p2l ns in + FStar_Syntax_Syntax.lid_as_fv uu___1 quals + | uu___1 -> fallback ()) +let rec last : 'a . 'a Prims.list -> 'a = + fun l -> + match l with + | [] -> failwith "last: empty list" + | x::[] -> x + | uu___::xs -> last xs +let rec init : 'a . 'a Prims.list -> 'a Prims.list = + fun l -> + match l with + | [] -> failwith "init: empty list" + | x::[] -> [] + | x::xs -> let uu___ = init xs in x :: uu___ +let (inspect_const : + FStar_Syntax_Syntax.sconst -> FStar_Reflection_V2_Data.vconst) = + fun c -> + match c with + | FStar_Const.Const_unit -> FStar_Reflection_V2_Data.C_Unit + | FStar_Const.Const_int (s, uu___) -> + let uu___1 = FStar_BigInt.big_int_of_string s in + FStar_Reflection_V2_Data.C_Int uu___1 + | FStar_Const.Const_bool (true) -> FStar_Reflection_V2_Data.C_True + | FStar_Const.Const_bool (false) -> FStar_Reflection_V2_Data.C_False + | FStar_Const.Const_string (s, uu___) -> + FStar_Reflection_V2_Data.C_String s + | FStar_Const.Const_range r -> FStar_Reflection_V2_Data.C_Range r + | FStar_Const.Const_reify uu___ -> FStar_Reflection_V2_Data.C_Reify + | FStar_Const.Const_reflect l -> + let uu___ = FStar_Ident.path_of_lid l in + FStar_Reflection_V2_Data.C_Reflect uu___ + | uu___ -> + let uu___1 = + let uu___2 = FStar_Syntax_Print.const_to_string c in + FStar_Compiler_Util.format1 "unknown constant: %s" uu___2 in + failwith uu___1 +let (inspect_universe : + FStar_Syntax_Syntax.universe -> FStar_Reflection_V2_Data.universe_view) = + fun u -> + match u with + | FStar_Syntax_Syntax.U_zero -> FStar_Reflection_V2_Data.Uv_Zero + | FStar_Syntax_Syntax.U_succ u1 -> FStar_Reflection_V2_Data.Uv_Succ u1 + | FStar_Syntax_Syntax.U_max us -> FStar_Reflection_V2_Data.Uv_Max us + | FStar_Syntax_Syntax.U_bvar n -> + let uu___ = FStar_BigInt.of_int_fs n in + FStar_Reflection_V2_Data.Uv_BVar uu___ + | FStar_Syntax_Syntax.U_name i -> FStar_Reflection_V2_Data.Uv_Name i + | FStar_Syntax_Syntax.U_unif u1 -> FStar_Reflection_V2_Data.Uv_Unif u1 + | FStar_Syntax_Syntax.U_unknown -> FStar_Reflection_V2_Data.Uv_Unk +let (pack_universe : + FStar_Reflection_V2_Data.universe_view -> FStar_Syntax_Syntax.universe) = + fun uv -> + match uv with + | FStar_Reflection_V2_Data.Uv_Zero -> FStar_Syntax_Syntax.U_zero + | FStar_Reflection_V2_Data.Uv_Succ u -> FStar_Syntax_Syntax.U_succ u + | FStar_Reflection_V2_Data.Uv_Max us -> FStar_Syntax_Syntax.U_max us + | FStar_Reflection_V2_Data.Uv_BVar n -> + let uu___ = FStar_BigInt.to_int_fs n in + FStar_Syntax_Syntax.U_bvar uu___ + | FStar_Reflection_V2_Data.Uv_Name i -> FStar_Syntax_Syntax.U_name i + | FStar_Reflection_V2_Data.Uv_Unif u -> FStar_Syntax_Syntax.U_unif u + | FStar_Reflection_V2_Data.Uv_Unk -> FStar_Syntax_Syntax.U_unknown +let rec (inspect_pat : + FStar_Syntax_Syntax.pat -> FStar_Reflection_V2_Data.pattern) = + fun p -> + match p.FStar_Syntax_Syntax.v with + | FStar_Syntax_Syntax.Pat_constant c -> + let uu___ = inspect_const c in + FStar_Reflection_V2_Data.Pat_Constant uu___ + | FStar_Syntax_Syntax.Pat_cons (fv, us_opt, ps) -> + let uu___ = + FStar_Compiler_List.map + (fun uu___1 -> + match uu___1 with + | (p1, b) -> let uu___2 = inspect_pat p1 in (uu___2, b)) ps in + FStar_Reflection_V2_Data.Pat_Cons (fv, us_opt, uu___) + | FStar_Syntax_Syntax.Pat_var bv -> + let uu___ = FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in + FStar_Reflection_V2_Data.Pat_Var + ((bv.FStar_Syntax_Syntax.sort), uu___) + | FStar_Syntax_Syntax.Pat_dot_term eopt -> + FStar_Reflection_V2_Data.Pat_Dot_Term eopt +let rec (inspect_ln : + FStar_Syntax_Syntax.term -> FStar_Reflection_V2_Data.term_view) = + fun t -> + let t1 = + FStar_Compiler_Effect.op_Bar_Greater t + FStar_Syntax_Subst.compress_subst in + match t1.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_meta + { FStar_Syntax_Syntax.tm2 = t2; FStar_Syntax_Syntax.meta = uu___;_} + -> inspect_ln t2 + | FStar_Syntax_Syntax.Tm_name bv -> FStar_Reflection_V2_Data.Tv_Var bv + | FStar_Syntax_Syntax.Tm_bvar bv -> FStar_Reflection_V2_Data.Tv_BVar bv + | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Reflection_V2_Data.Tv_FVar fv + | FStar_Syntax_Syntax.Tm_uinst (t2, us) -> + (match t2.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Reflection_V2_Data.Tv_UInst (fv, us) + | uu___ -> + failwith "Reflection::inspect_ln: uinst for a non-fvar node") + | FStar_Syntax_Syntax.Tm_ascribed + { FStar_Syntax_Syntax.tm = t2; + FStar_Syntax_Syntax.asc = (FStar_Pervasives.Inl ty, tacopt, eq); + FStar_Syntax_Syntax.eff_opt = uu___;_} + -> FStar_Reflection_V2_Data.Tv_AscribedT (t2, ty, tacopt, eq) + | FStar_Syntax_Syntax.Tm_ascribed + { FStar_Syntax_Syntax.tm = t2; + FStar_Syntax_Syntax.asc = (FStar_Pervasives.Inr cty, tacopt, eq); + FStar_Syntax_Syntax.eff_opt = uu___;_} + -> FStar_Reflection_V2_Data.Tv_AscribedC (t2, cty, tacopt, eq) + | FStar_Syntax_Syntax.Tm_app + { FStar_Syntax_Syntax.hd = uu___; FStar_Syntax_Syntax.args = [];_} -> + failwith "inspect_ln: empty arguments on Tm_app" + | FStar_Syntax_Syntax.Tm_app + { FStar_Syntax_Syntax.hd = hd; FStar_Syntax_Syntax.args = args;_} -> + let uu___ = last args in + (match uu___ with + | (a, q) -> + let q' = inspect_aqual q in + let uu___1 = + let uu___2 = + let uu___3 = init args in FStar_Syntax_Util.mk_app hd uu___3 in + (uu___2, (a, q')) in + FStar_Reflection_V2_Data.Tv_App uu___1) + | FStar_Syntax_Syntax.Tm_abs + { FStar_Syntax_Syntax.bs = []; FStar_Syntax_Syntax.body = uu___; + FStar_Syntax_Syntax.rc_opt = uu___1;_} + -> failwith "inspect_ln: empty arguments on Tm_abs" + | FStar_Syntax_Syntax.Tm_abs + { FStar_Syntax_Syntax.bs = b::bs; FStar_Syntax_Syntax.body = t2; + FStar_Syntax_Syntax.rc_opt = k;_} + -> + let body = + match bs with + | [] -> t2 + | bs1 -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_abs + { + FStar_Syntax_Syntax.bs = bs1; + FStar_Syntax_Syntax.body = t2; + FStar_Syntax_Syntax.rc_opt = k + }) t2.FStar_Syntax_Syntax.pos in + FStar_Reflection_V2_Data.Tv_Abs (b, body) + | FStar_Syntax_Syntax.Tm_type u -> FStar_Reflection_V2_Data.Tv_Type u + | FStar_Syntax_Syntax.Tm_arrow + { FStar_Syntax_Syntax.bs1 = []; FStar_Syntax_Syntax.comp = uu___;_} + -> failwith "inspect_ln: empty binders on arrow" + | FStar_Syntax_Syntax.Tm_arrow uu___ -> + let uu___1 = FStar_Syntax_Util.arrow_one_ln t1 in + (match uu___1 with + | FStar_Pervasives_Native.Some (b, c) -> + FStar_Reflection_V2_Data.Tv_Arrow (b, c) + | FStar_Pervasives_Native.None -> failwith "impossible") + | FStar_Syntax_Syntax.Tm_refine + { FStar_Syntax_Syntax.b = bv; FStar_Syntax_Syntax.phi = t2;_} -> + let uu___ = + let uu___1 = FStar_Syntax_Syntax.mk_binder bv in (uu___1, t2) in + FStar_Reflection_V2_Data.Tv_Refine uu___ + | FStar_Syntax_Syntax.Tm_constant c -> + let uu___ = inspect_const c in + FStar_Reflection_V2_Data.Tv_Const uu___ + | FStar_Syntax_Syntax.Tm_uvar (ctx_u, s) -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_Syntax_Unionfind.uvar_unique_id + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_BigInt.of_int_fs uu___2 in + (uu___1, (ctx_u, s)) in + FStar_Reflection_V2_Data.Tv_Uvar uu___ + | FStar_Syntax_Syntax.Tm_let + { FStar_Syntax_Syntax.lbs = (isrec, lb::[]); + FStar_Syntax_Syntax.body1 = t2;_} + -> + if lb.FStar_Syntax_Syntax.lbunivs <> [] + then FStar_Reflection_V2_Data.Tv_Unsupp + else + (match lb.FStar_Syntax_Syntax.lbname with + | FStar_Pervasives.Inr uu___1 -> + FStar_Reflection_V2_Data.Tv_Unsupp + | FStar_Pervasives.Inl bv -> + let uu___1 = + let uu___2 = FStar_Syntax_Syntax.mk_binder bv in + (isrec, (lb.FStar_Syntax_Syntax.lbattrs), uu___2, + (lb.FStar_Syntax_Syntax.lbdef), t2) in + FStar_Reflection_V2_Data.Tv_Let uu___1) + | FStar_Syntax_Syntax.Tm_match + { FStar_Syntax_Syntax.scrutinee = t2; + FStar_Syntax_Syntax.ret_opt = ret_opt; + FStar_Syntax_Syntax.brs = brs; + FStar_Syntax_Syntax.rc_opt1 = uu___;_} + -> + let brs1 = + FStar_Compiler_List.map + (fun uu___1 -> + match uu___1 with + | (pat, uu___2, t3) -> + let uu___3 = inspect_pat pat in (uu___3, t3)) brs in + FStar_Reflection_V2_Data.Tv_Match (t2, ret_opt, brs1) + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Reflection_V2_Data.Tv_Unknown + | FStar_Syntax_Syntax.Tm_lazy i -> + let uu___ = + FStar_Compiler_Effect.op_Bar_Greater i + FStar_Syntax_Util.unfold_lazy in + FStar_Compiler_Effect.op_Bar_Greater uu___ inspect_ln + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Print.tag_of_term t1 in + let uu___5 = FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format2 + "inspect_ln: outside of expected syntax (%s, %s)" uu___4 + uu___5 in + (FStar_Errors_Codes.Warning_CantInspect, uu___3) in + FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu___2); + FStar_Reflection_V2_Data.Tv_Unsupp) +let (inspect_comp : + FStar_Syntax_Syntax.comp -> FStar_Reflection_V2_Data.comp_view) = + fun c -> + let get_dec flags = + let uu___ = + FStar_Compiler_List.tryFind + (fun uu___1 -> + match uu___1 with + | FStar_Syntax_Syntax.DECREASES uu___2 -> true + | uu___2 -> false) flags in + match uu___ with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.DECREASES + (FStar_Syntax_Syntax.Decreases_lex ts)) -> ts + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.DECREASES + (FStar_Syntax_Syntax.Decreases_wf uu___1)) -> + ((let uu___3 = + let uu___4 = + let uu___5 = FStar_Syntax_Print.comp_to_string c in + FStar_Compiler_Util.format1 + "inspect_comp: inspecting comp with wf decreases clause is not yet supported: %s skipping the decreases clause" + uu___5 in + (FStar_Errors_Codes.Warning_CantInspect, uu___4) in + FStar_Errors.log_issue c.FStar_Syntax_Syntax.pos uu___3); + []) + | uu___1 -> failwith "Impossible!" in + match c.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Total t -> FStar_Reflection_V2_Data.C_Total t + | FStar_Syntax_Syntax.GTotal t -> FStar_Reflection_V2_Data.C_GTotal t + | FStar_Syntax_Syntax.Comp ct -> + let uopt = + if + (FStar_Compiler_List.length ct.FStar_Syntax_Syntax.comp_univs) = + Prims.int_zero + then FStar_Syntax_Syntax.U_unknown + else + FStar_Compiler_Effect.op_Bar_Greater + ct.FStar_Syntax_Syntax.comp_univs FStar_Compiler_List.hd in + let uu___ = + FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name + FStar_Parser_Const.effect_Lemma_lid in + if uu___ + then + (match ct.FStar_Syntax_Syntax.effect_args with + | (pre, uu___1)::(post, uu___2)::(pats, uu___3)::uu___4 -> + FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) + | uu___1 -> + failwith "inspect_comp: Lemma does not have enough arguments?") + else + (let inspect_arg uu___2 = + match uu___2 with + | (a, q) -> let uu___3 = inspect_aqual q in (a, uu___3) in + let uu___2 = + let uu___3 = + FStar_Ident.path_of_lid ct.FStar_Syntax_Syntax.effect_name in + let uu___4 = + FStar_Compiler_List.map inspect_arg + ct.FStar_Syntax_Syntax.effect_args in + let uu___5 = get_dec ct.FStar_Syntax_Syntax.flags in + ((ct.FStar_Syntax_Syntax.comp_univs), uu___3, + (ct.FStar_Syntax_Syntax.result_typ), uu___4, uu___5) in + FStar_Reflection_V2_Data.C_Eff uu___2) +let (pack_comp : + FStar_Reflection_V2_Data.comp_view -> FStar_Syntax_Syntax.comp) = + fun cv -> + let urefl_to_univs u = + if u = FStar_Syntax_Syntax.U_unknown then [] else [u] in + let urefl_to_univ_opt u = + if u = FStar_Syntax_Syntax.U_unknown + then FStar_Pervasives_Native.None + else FStar_Pervasives_Native.Some u in + match cv with + | FStar_Reflection_V2_Data.C_Total t -> FStar_Syntax_Syntax.mk_Total t + | FStar_Reflection_V2_Data.C_GTotal t -> FStar_Syntax_Syntax.mk_GTotal t + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> + let ct = + let uu___ = + let uu___1 = FStar_Syntax_Syntax.as_arg pre in + let uu___2 = + let uu___3 = FStar_Syntax_Syntax.as_arg post in + let uu___4 = + let uu___5 = FStar_Syntax_Syntax.as_arg pats in [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + { + FStar_Syntax_Syntax.comp_univs = []; + FStar_Syntax_Syntax.effect_name = + FStar_Parser_Const.effect_Lemma_lid; + FStar_Syntax_Syntax.result_typ = FStar_Syntax_Syntax.t_unit; + FStar_Syntax_Syntax.effect_args = uu___; + FStar_Syntax_Syntax.flags = [] + } in + FStar_Syntax_Syntax.mk_Comp ct + | FStar_Reflection_V2_Data.C_Eff (us, ef, res, args, decrs) -> + let pack_arg uu___ = + match uu___ with + | (a, q) -> let uu___1 = pack_aqual q in (a, uu___1) in + let flags = + if (FStar_Compiler_List.length decrs) = Prims.int_zero + then [] + else + [FStar_Syntax_Syntax.DECREASES + (FStar_Syntax_Syntax.Decreases_lex decrs)] in + let ct = + let uu___ = + FStar_Ident.lid_of_path ef FStar_Compiler_Range_Type.dummyRange in + let uu___1 = FStar_Compiler_List.map pack_arg args in + { + FStar_Syntax_Syntax.comp_univs = us; + FStar_Syntax_Syntax.effect_name = uu___; + FStar_Syntax_Syntax.result_typ = res; + FStar_Syntax_Syntax.effect_args = uu___1; + FStar_Syntax_Syntax.flags = flags + } in + FStar_Syntax_Syntax.mk_Comp ct +let (pack_const : + FStar_Reflection_V2_Data.vconst -> FStar_Syntax_Syntax.sconst) = + fun c -> + match c with + | FStar_Reflection_V2_Data.C_Unit -> FStar_Const.Const_unit + | FStar_Reflection_V2_Data.C_Int i -> + let uu___ = + let uu___1 = FStar_BigInt.string_of_big_int i in + (uu___1, FStar_Pervasives_Native.None) in + FStar_Const.Const_int uu___ + | FStar_Reflection_V2_Data.C_True -> FStar_Const.Const_bool true + | FStar_Reflection_V2_Data.C_False -> FStar_Const.Const_bool false + | FStar_Reflection_V2_Data.C_String s -> + FStar_Const.Const_string (s, FStar_Compiler_Range_Type.dummyRange) + | FStar_Reflection_V2_Data.C_Range r -> FStar_Const.Const_range r + | FStar_Reflection_V2_Data.C_Reify -> + FStar_Const.Const_reify FStar_Pervasives_Native.None + | FStar_Reflection_V2_Data.C_Reflect ns -> + let uu___ = + FStar_Ident.lid_of_path ns FStar_Compiler_Range_Type.dummyRange in + FStar_Const.Const_reflect uu___ +let rec (pack_pat : + FStar_Reflection_V2_Data.pattern -> FStar_Syntax_Syntax.pat) = + fun p -> + let wrap v = + { + FStar_Syntax_Syntax.v = v; + FStar_Syntax_Syntax.p = FStar_Compiler_Range_Type.dummyRange + } in + match p with + | FStar_Reflection_V2_Data.Pat_Constant c -> + let uu___ = + let uu___1 = pack_const c in + FStar_Syntax_Syntax.Pat_constant uu___1 in + FStar_Compiler_Effect.op_Less_Bar wrap uu___ + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_Compiler_List.map + (fun uu___3 -> + match uu___3 with + | (p1, b) -> let uu___4 = pack_pat p1 in (uu___4, b)) + subpats in + (head, univs, uu___2) in + FStar_Syntax_Syntax.Pat_cons uu___1 in + FStar_Compiler_Effect.op_Less_Bar wrap uu___ + | FStar_Reflection_V2_Data.Pat_Var (sort, ppname) -> + let bv = + FStar_Syntax_Syntax.gen_bv ppname FStar_Pervasives_Native.None sort in + FStar_Compiler_Effect.op_Less_Bar wrap + (FStar_Syntax_Syntax.Pat_var bv) + | FStar_Reflection_V2_Data.Pat_Dot_Term eopt -> + FStar_Compiler_Effect.op_Less_Bar wrap + (FStar_Syntax_Syntax.Pat_dot_term eopt) +let (pack_ln : + FStar_Reflection_V2_Data.term_view -> FStar_Syntax_Syntax.term) = + fun tv -> + match tv with + | FStar_Reflection_V2_Data.Tv_Var bv -> + FStar_Syntax_Syntax.bv_to_name + { + FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = (bv.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun + } + | FStar_Reflection_V2_Data.Tv_BVar bv -> + FStar_Syntax_Syntax.bv_to_tm + { + FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = (bv.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun + } + | FStar_Reflection_V2_Data.Tv_FVar fv -> FStar_Syntax_Syntax.fv_to_tm fv + | FStar_Reflection_V2_Data.Tv_UInst (fv, us) -> + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in + FStar_Syntax_Syntax.mk_Tm_uinst uu___ us + | FStar_Reflection_V2_Data.Tv_App (l, (r, q)) -> + let q' = pack_aqual q in FStar_Syntax_Util.mk_app l [(r, q')] + | FStar_Reflection_V2_Data.Tv_Abs (b, t) -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_abs + { + FStar_Syntax_Syntax.bs = [b]; + FStar_Syntax_Syntax.body = t; + FStar_Syntax_Syntax.rc_opt = FStar_Pervasives_Native.None + }) t.FStar_Syntax_Syntax.pos + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_arrow + { FStar_Syntax_Syntax.bs1 = [b]; FStar_Syntax_Syntax.comp = c }) + c.FStar_Syntax_Syntax.pos + | FStar_Reflection_V2_Data.Tv_Type u -> + FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) + FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Refine (b, t) -> + let bv = b.FStar_Syntax_Syntax.binder_bv in + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_refine + { FStar_Syntax_Syntax.b = bv; FStar_Syntax_Syntax.phi = t }) + t.FStar_Syntax_Syntax.pos + | FStar_Reflection_V2_Data.Tv_Const c -> + let uu___ = + let uu___1 = pack_const c in FStar_Syntax_Syntax.Tm_constant uu___1 in + FStar_Syntax_Syntax.mk uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Uvar (u, ctx_u_s) -> + FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ctx_u_s) + FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Let (isrec, attrs, b, t1, t2) -> + let bv = b.FStar_Syntax_Syntax.binder_bv in + let lb = + FStar_Syntax_Util.mk_letbinding (FStar_Pervasives.Inl bv) [] + bv.FStar_Syntax_Syntax.sort FStar_Parser_Const.effect_Tot_lid t1 + attrs FStar_Compiler_Range_Type.dummyRange in + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_let + { + FStar_Syntax_Syntax.lbs = (isrec, [lb]); + FStar_Syntax_Syntax.body1 = t2 + }) FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Match (t, ret_opt, brs) -> + let brs1 = + FStar_Compiler_List.map + (fun uu___ -> + match uu___ with + | (pat, t1) -> + let uu___1 = pack_pat pat in + (uu___1, FStar_Pervasives_Native.None, t1)) brs in + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_match + { + FStar_Syntax_Syntax.scrutinee = t; + FStar_Syntax_Syntax.ret_opt = ret_opt; + FStar_Syntax_Syntax.brs = brs1; + FStar_Syntax_Syntax.rc_opt1 = FStar_Pervasives_Native.None + }) FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_ascribed + { + FStar_Syntax_Syntax.tm = e; + FStar_Syntax_Syntax.asc = + ((FStar_Pervasives.Inl t), tacopt, use_eq); + FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None + }) FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_ascribed + { + FStar_Syntax_Syntax.tm = e; + FStar_Syntax_Syntax.asc = + ((FStar_Pervasives.Inr c), tacopt, use_eq); + FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None + }) FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Unknown -> + FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown + FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Tv_Unsupp -> + (FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange + (FStar_Errors_Codes.Warning_CantInspect, + "packing a Tv_Unsupp into Tm_unknown"); + FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown + FStar_Compiler_Range_Type.dummyRange) +let (compare_bv : + FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.bv -> FStar_Order.order) = + fun x -> + fun y -> + let n = FStar_Syntax_Syntax.order_bv x y in + if n < Prims.int_zero + then FStar_Order.Lt + else if n = Prims.int_zero then FStar_Order.Eq else FStar_Order.Gt +let (compare_namedv : + FStar_Reflection_V2_Data.namedv -> + FStar_Reflection_V2_Data.namedv -> FStar_Order.order) + = + fun x -> + fun y -> + let n = FStar_Syntax_Syntax.order_bv x y in + if n < Prims.int_zero + then FStar_Order.Lt + else if n = Prims.int_zero then FStar_Order.Eq else FStar_Order.Gt +let (lookup_attr : + FStar_Syntax_Syntax.term -> + FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.fv Prims.list) + = + fun attr -> + fun env -> + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress_subst attr in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_fvar fv -> + let ses = + let uu___1 = + let uu___2 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.string_of_lid uu___2 in + FStar_TypeChecker_Env.lookup_attr env uu___1 in + FStar_Compiler_List.concatMap + (fun se -> + let uu___1 = FStar_Syntax_Util.lid_of_sigelt se in + match uu___1 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some l -> + let uu___2 = + FStar_Syntax_Syntax.lid_as_fv l + FStar_Pervasives_Native.None in + [uu___2]) ses + | uu___1 -> [] +let (all_defs_in_env : + FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.fv Prims.list) = + fun env -> + let uu___ = FStar_TypeChecker_Env.lidents env in + FStar_Compiler_List.map + (fun l -> FStar_Syntax_Syntax.lid_as_fv l FStar_Pervasives_Native.None) + uu___ +let (defs_in_module : + FStar_TypeChecker_Env.env -> + FStar_Reflection_V2_Data.name -> FStar_Syntax_Syntax.fv Prims.list) + = + fun env -> + fun modul -> + let uu___ = FStar_TypeChecker_Env.lidents env in + FStar_Compiler_List.concatMap + (fun l -> + let ns = + let uu___1 = + let uu___2 = FStar_Ident.ids_of_lid l in + FStar_Compiler_Effect.op_Bar_Greater uu___2 init in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + (FStar_Compiler_List.map FStar_Ident.string_of_id) in + if ns = modul + then + let uu___1 = + FStar_Syntax_Syntax.lid_as_fv l FStar_Pervasives_Native.None in + [uu___1] + else []) uu___ +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 + 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 +let (set_sigelt_attrs : + FStar_Syntax_Syntax.attribute Prims.list -> + FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) + = + fun attrs -> + fun se -> + { + FStar_Syntax_Syntax.sigel = (se.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigrng = (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = (se.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta = (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = attrs; + FStar_Syntax_Syntax.sigopts = (se.FStar_Syntax_Syntax.sigopts) + } +let (rd_to_syntax_qual : + FStar_Reflection_V2_Data.qualifier -> FStar_Syntax_Syntax.qualifier) = + fun uu___ -> + match uu___ with + | FStar_Reflection_V2_Data.Assumption -> FStar_Syntax_Syntax.Assumption + | FStar_Reflection_V2_Data.New -> FStar_Syntax_Syntax.New + | FStar_Reflection_V2_Data.Private -> FStar_Syntax_Syntax.Private + | FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen -> + FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen + | FStar_Reflection_V2_Data.Visible_default -> + FStar_Syntax_Syntax.Visible_default + | FStar_Reflection_V2_Data.Irreducible -> FStar_Syntax_Syntax.Irreducible + | FStar_Reflection_V2_Data.Inline_for_extraction -> + FStar_Syntax_Syntax.Inline_for_extraction + | FStar_Reflection_V2_Data.NoExtract -> FStar_Syntax_Syntax.NoExtract + | FStar_Reflection_V2_Data.Noeq -> FStar_Syntax_Syntax.Noeq + | FStar_Reflection_V2_Data.Unopteq -> FStar_Syntax_Syntax.Unopteq + | FStar_Reflection_V2_Data.TotalEffect -> FStar_Syntax_Syntax.TotalEffect + | FStar_Reflection_V2_Data.Logic -> FStar_Syntax_Syntax.Logic + | FStar_Reflection_V2_Data.Reifiable -> FStar_Syntax_Syntax.Reifiable + | FStar_Reflection_V2_Data.Reflectable l -> + FStar_Syntax_Syntax.Reflectable l + | FStar_Reflection_V2_Data.Discriminator l -> + FStar_Syntax_Syntax.Discriminator l + | FStar_Reflection_V2_Data.Projector (l, i) -> + FStar_Syntax_Syntax.Projector (l, i) + | FStar_Reflection_V2_Data.RecordType (l1, l2) -> + FStar_Syntax_Syntax.RecordType (l1, l2) + | FStar_Reflection_V2_Data.RecordConstructor (l1, l2) -> + FStar_Syntax_Syntax.RecordConstructor (l1, l2) + | FStar_Reflection_V2_Data.Action l -> FStar_Syntax_Syntax.Action l + | FStar_Reflection_V2_Data.ExceptionConstructor -> + FStar_Syntax_Syntax.ExceptionConstructor + | FStar_Reflection_V2_Data.HasMaskedEffect -> + FStar_Syntax_Syntax.HasMaskedEffect + | FStar_Reflection_V2_Data.Effect -> FStar_Syntax_Syntax.Effect + | FStar_Reflection_V2_Data.OnlyName -> FStar_Syntax_Syntax.OnlyName +let (syntax_to_rd_qual : + FStar_Syntax_Syntax.qualifier -> FStar_Reflection_V2_Data.qualifier) = + fun uu___ -> + match uu___ with + | FStar_Syntax_Syntax.Assumption -> FStar_Reflection_V2_Data.Assumption + | FStar_Syntax_Syntax.New -> FStar_Reflection_V2_Data.New + | FStar_Syntax_Syntax.Private -> FStar_Reflection_V2_Data.Private + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> + FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen + | FStar_Syntax_Syntax.Visible_default -> + FStar_Reflection_V2_Data.Visible_default + | FStar_Syntax_Syntax.Irreducible -> FStar_Reflection_V2_Data.Irreducible + | FStar_Syntax_Syntax.Inline_for_extraction -> + FStar_Reflection_V2_Data.Inline_for_extraction + | FStar_Syntax_Syntax.NoExtract -> FStar_Reflection_V2_Data.NoExtract + | FStar_Syntax_Syntax.Noeq -> FStar_Reflection_V2_Data.Noeq + | FStar_Syntax_Syntax.Unopteq -> FStar_Reflection_V2_Data.Unopteq + | FStar_Syntax_Syntax.TotalEffect -> FStar_Reflection_V2_Data.TotalEffect + | FStar_Syntax_Syntax.Logic -> FStar_Reflection_V2_Data.Logic + | FStar_Syntax_Syntax.Reifiable -> FStar_Reflection_V2_Data.Reifiable + | FStar_Syntax_Syntax.Reflectable l -> + FStar_Reflection_V2_Data.Reflectable l + | FStar_Syntax_Syntax.Discriminator l -> + FStar_Reflection_V2_Data.Discriminator l + | FStar_Syntax_Syntax.Projector (l, i) -> + FStar_Reflection_V2_Data.Projector (l, i) + | FStar_Syntax_Syntax.RecordType (l1, l2) -> + FStar_Reflection_V2_Data.RecordType (l1, l2) + | FStar_Syntax_Syntax.RecordConstructor (l1, l2) -> + FStar_Reflection_V2_Data.RecordConstructor (l1, l2) + | FStar_Syntax_Syntax.Action l -> FStar_Reflection_V2_Data.Action l + | FStar_Syntax_Syntax.ExceptionConstructor -> + FStar_Reflection_V2_Data.ExceptionConstructor + | FStar_Syntax_Syntax.HasMaskedEffect -> + FStar_Reflection_V2_Data.HasMaskedEffect + | FStar_Syntax_Syntax.Effect -> FStar_Reflection_V2_Data.Effect + | FStar_Syntax_Syntax.OnlyName -> FStar_Reflection_V2_Data.OnlyName +let (inspect_ident : + FStar_Ident.ident -> (Prims.string * FStar_Compiler_Range_Type.range)) = + fun i -> + let uu___ = FStar_Ident.string_of_id i in + let uu___1 = FStar_Ident.range_of_id i in (uu___, uu___1) +let (pack_ident : + (Prims.string * FStar_Compiler_Range_Type.range) -> FStar_Ident.ident) = + fun i -> FStar_Ident.mk_ident i +let (sigelt_quals : + FStar_Syntax_Syntax.sigelt -> FStar_Reflection_V2_Data.qualifier Prims.list) + = + fun se -> + FStar_Compiler_Effect.op_Bar_Greater se.FStar_Syntax_Syntax.sigquals + (FStar_Compiler_List.map syntax_to_rd_qual) +let (set_sigelt_quals : + FStar_Reflection_V2_Data.qualifier Prims.list -> + FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) + = + fun quals -> + fun se -> + let uu___ = FStar_Compiler_List.map rd_to_syntax_qual quals in + { + FStar_Syntax_Syntax.sigel = (se.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigrng = (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu___; + FStar_Syntax_Syntax.sigmeta = (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.sigopts = (se.FStar_Syntax_Syntax.sigopts) + } +let (sigelt_opts : + FStar_Syntax_Syntax.sigelt -> + FStar_VConfig.vconfig FStar_Pervasives_Native.option) + = fun se -> se.FStar_Syntax_Syntax.sigopts +let (embed_vconfig : FStar_VConfig.vconfig -> FStar_Syntax_Syntax.term) = + fun vcfg -> + let uu___ = + FStar_Syntax_Embeddings_Base.embed FStar_Syntax_Embeddings.e_vconfig + vcfg in + uu___ FStar_Compiler_Range_Type.dummyRange FStar_Pervasives_Native.None + FStar_Syntax_Embeddings_Base.id_norm_cb +let (inspect_sigelt : + FStar_Syntax_Syntax.sigelt -> FStar_Reflection_V2_Data.sigelt_view) = + fun se -> + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_let + { FStar_Syntax_Syntax.lbs1 = (r, lbs); + FStar_Syntax_Syntax.lids1 = uu___;_} + -> FStar_Reflection_V2_Data.Sg_Let (r, lbs) + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = lid; FStar_Syntax_Syntax.us = us; + FStar_Syntax_Syntax.params = param_bs; + FStar_Syntax_Syntax.num_uniform_params = uu___; + FStar_Syntax_Syntax.t = ty; FStar_Syntax_Syntax.mutuals = uu___1; + FStar_Syntax_Syntax.ds = c_lids;_} + -> + let nm = FStar_Ident.path_of_lid lid in + let inspect_ctor c_lid = + let uu___2 = + let uu___3 = get_env () in + FStar_TypeChecker_Env.lookup_sigelt uu___3 c_lid in + match uu___2 with + | FStar_Pervasives_Native.Some + { + FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = lid1; + FStar_Syntax_Syntax.us1 = us1; + FStar_Syntax_Syntax.t1 = cty; + FStar_Syntax_Syntax.ty_lid = uu___3; + FStar_Syntax_Syntax.num_ty_params = nparam; + FStar_Syntax_Syntax.mutuals1 = uu___4;_}; + FStar_Syntax_Syntax.sigrng = uu___5; + FStar_Syntax_Syntax.sigquals = uu___6; + FStar_Syntax_Syntax.sigmeta = uu___7; + FStar_Syntax_Syntax.sigattrs = uu___8; + FStar_Syntax_Syntax.sigopts = uu___9;_} + -> let uu___10 = FStar_Ident.path_of_lid lid1 in (uu___10, cty) + | uu___3 -> + failwith "impossible: inspect_sigelt: did not find ctor" in + let uu___2 = + let uu___3 = FStar_Compiler_List.map inspect_ctor c_lids in + (nm, us, param_bs, ty, uu___3) in + FStar_Reflection_V2_Data.Sg_Inductive uu___2 + | FStar_Syntax_Syntax.Sig_declare_typ + { FStar_Syntax_Syntax.lid2 = lid; FStar_Syntax_Syntax.us2 = us; + FStar_Syntax_Syntax.t2 = ty;_} + -> + let nm = FStar_Ident.path_of_lid lid in + FStar_Reflection_V2_Data.Sg_Val (nm, us, ty) + | uu___ -> FStar_Reflection_V2_Data.Unk +let (pack_sigelt : + FStar_Reflection_V2_Data.sigelt_view -> FStar_Syntax_Syntax.sigelt) = + fun sv -> + let check_lid lid = + let uu___ = + let uu___1 = + let uu___2 = FStar_Ident.path_of_lid lid in + FStar_Compiler_List.length uu___2 in + uu___1 <= Prims.int_one in + if uu___ + then + let uu___1 = + let uu___2 = + let uu___3 = FStar_Ident.string_of_lid lid in + Prims.op_Hat uu___3 "\" (did you forget a module path?)" in + Prims.op_Hat "pack_sigelt: invalid long identifier \"" uu___2 in + failwith uu___1 + else () in + match sv with + | FStar_Reflection_V2_Data.Sg_Let (r, lbs) -> + let pack_letbinding lb = + let uu___ = lb in + match uu___ with + | { FStar_Syntax_Syntax.lbname = nm; + FStar_Syntax_Syntax.lbunivs = uu___1; + FStar_Syntax_Syntax.lbtyp = uu___2; + FStar_Syntax_Syntax.lbeff = uu___3; + FStar_Syntax_Syntax.lbdef = uu___4; + FStar_Syntax_Syntax.lbattrs = uu___5; + FStar_Syntax_Syntax.lbpos = uu___6;_} -> + let lid = + match nm with + | FStar_Pervasives.Inr fv -> FStar_Syntax_Syntax.lid_of_fv fv + | uu___7 -> + failwith + "impossible: pack_sigelt: bv in toplevel let binding" in + (check_lid lid; (lid, lb)) in + let packed = FStar_Compiler_List.map pack_letbinding lbs in + let lbs1 = FStar_Compiler_List.map FStar_Pervasives_Native.snd packed in + let lids = FStar_Compiler_List.map FStar_Pervasives_Native.fst packed in + FStar_Compiler_Effect.op_Less_Bar FStar_Syntax_Syntax.mk_sigelt + (FStar_Syntax_Syntax.Sig_let + { + FStar_Syntax_Syntax.lbs1 = (r, lbs1); + FStar_Syntax_Syntax.lids1 = lids + }) + | FStar_Reflection_V2_Data.Sg_Inductive + (nm, us_names, param_bs, ty, ctors) -> + let ind_lid = + FStar_Ident.lid_of_path nm FStar_Compiler_Range_Type.dummyRange in + (check_lid ind_lid; + (let nparam = FStar_Compiler_List.length param_bs in + let pack_ctor c = + let uu___1 = c in + match uu___1 with + | (nm1, ty1) -> + let lid = + FStar_Ident.lid_of_path nm1 + FStar_Compiler_Range_Type.dummyRange in + FStar_Compiler_Effect.op_Less_Bar + FStar_Syntax_Syntax.mk_sigelt + (FStar_Syntax_Syntax.Sig_datacon + { + FStar_Syntax_Syntax.lid1 = lid; + FStar_Syntax_Syntax.us1 = us_names; + FStar_Syntax_Syntax.t1 = ty1; + FStar_Syntax_Syntax.ty_lid = ind_lid; + FStar_Syntax_Syntax.num_ty_params = nparam; + FStar_Syntax_Syntax.mutuals1 = [] + }) in + let ctor_ses = FStar_Compiler_List.map pack_ctor ctors in + let c_lids = + FStar_Compiler_List.map + (fun se -> + let uu___1 = FStar_Syntax_Util.lid_of_sigelt se in + FStar_Compiler_Util.must uu___1) ctor_ses in + let ind_se = + FStar_Compiler_Effect.op_Less_Bar FStar_Syntax_Syntax.mk_sigelt + (FStar_Syntax_Syntax.Sig_inductive_typ + { + FStar_Syntax_Syntax.lid = ind_lid; + FStar_Syntax_Syntax.us = us_names; + FStar_Syntax_Syntax.params = param_bs; + FStar_Syntax_Syntax.num_uniform_params = + FStar_Pervasives_Native.None; + FStar_Syntax_Syntax.t = ty; + FStar_Syntax_Syntax.mutuals = []; + FStar_Syntax_Syntax.ds = c_lids + }) in + let se = + FStar_Compiler_Effect.op_Less_Bar FStar_Syntax_Syntax.mk_sigelt + (FStar_Syntax_Syntax.Sig_bundle + { + FStar_Syntax_Syntax.ses = (ind_se :: ctor_ses); + FStar_Syntax_Syntax.lids = (ind_lid :: c_lids) + }) in + { + FStar_Syntax_Syntax.sigel = (se.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigrng = (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = (FStar_Syntax_Syntax.Noeq :: + (se.FStar_Syntax_Syntax.sigquals)); + FStar_Syntax_Syntax.sigmeta = (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.sigopts = (se.FStar_Syntax_Syntax.sigopts) + })) + | FStar_Reflection_V2_Data.Sg_Val (nm, us_names, ty) -> + let val_lid = + FStar_Ident.lid_of_path nm FStar_Compiler_Range_Type.dummyRange in + (check_lid val_lid; + FStar_Compiler_Effect.op_Less_Bar FStar_Syntax_Syntax.mk_sigelt + (FStar_Syntax_Syntax.Sig_declare_typ + { + FStar_Syntax_Syntax.lid2 = val_lid; + FStar_Syntax_Syntax.us2 = us_names; + FStar_Syntax_Syntax.t2 = ty + })) + | FStar_Reflection_V2_Data.Unk -> + failwith "packing Unk, this should never happen" +let (inspect_lb : + FStar_Syntax_Syntax.letbinding -> FStar_Reflection_V2_Data.lb_view) = + fun lb -> + let uu___ = lb in + match uu___ with + | { FStar_Syntax_Syntax.lbname = nm; FStar_Syntax_Syntax.lbunivs = us; + FStar_Syntax_Syntax.lbtyp = typ; FStar_Syntax_Syntax.lbeff = uu___1; + FStar_Syntax_Syntax.lbdef = def; + FStar_Syntax_Syntax.lbattrs = uu___2; + FStar_Syntax_Syntax.lbpos = uu___3;_} -> + (match nm with + | FStar_Pervasives.Inr fv -> + { + FStar_Reflection_V2_Data.lb_fv = fv; + FStar_Reflection_V2_Data.lb_us = us; + FStar_Reflection_V2_Data.lb_typ = typ; + FStar_Reflection_V2_Data.lb_def = def + } + | uu___4 -> failwith "Impossible: bv in top-level let binding") +let (pack_lb : + FStar_Reflection_V2_Data.lb_view -> FStar_Syntax_Syntax.letbinding) = + fun lbv -> + let uu___ = lbv in + match uu___ with + | { FStar_Reflection_V2_Data.lb_fv = fv; + FStar_Reflection_V2_Data.lb_us = us; + FStar_Reflection_V2_Data.lb_typ = typ; + FStar_Reflection_V2_Data.lb_def = def;_} -> + FStar_Syntax_Util.mk_letbinding (FStar_Pervasives.Inr fv) us typ + FStar_Parser_Const.effect_Tot_lid def [] + FStar_Compiler_Range_Type.dummyRange +let (inspect_namedv : + FStar_Reflection_V2_Data.namedv -> FStar_Reflection_V2_Data.namedv_view) = + fun v -> + if v.FStar_Syntax_Syntax.index < Prims.int_zero + then + (let uu___1 = + let uu___2 = + let uu___3 = FStar_Ident.string_of_id v.FStar_Syntax_Syntax.ppname in + let uu___4 = + FStar_Syntax_Print.term_to_string v.FStar_Syntax_Syntax.sort in + FStar_Compiler_Util.format3 + "inspect_namedv: uniq is negative (%s : %s), uniq = %s" uu___3 + uu___4 (Prims.string_of_int v.FStar_Syntax_Syntax.index) in + (FStar_Errors_Codes.Warning_CantInspect, uu___2) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___1) + else (); + (let uu___1 = FStar_BigInt.of_int_fs v.FStar_Syntax_Syntax.index in + let uu___2 = FStar_Ident.string_of_id v.FStar_Syntax_Syntax.ppname in + { + FStar_Reflection_V2_Data.uniq = uu___1; + FStar_Reflection_V2_Data.sort = (v.FStar_Syntax_Syntax.sort); + FStar_Reflection_V2_Data.ppname = uu___2 + }) +let (pack_namedv : + FStar_Reflection_V2_Data.namedv_view -> FStar_Reflection_V2_Data.namedv) = + fun vv -> + (let uu___1 = + let uu___2 = FStar_BigInt.to_int_fs vv.FStar_Reflection_V2_Data.uniq in + uu___2 < Prims.int_zero in + if uu___1 + then + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_BigInt.to_int_fs vv.FStar_Reflection_V2_Data.uniq in + Prims.string_of_int uu___5 in + FStar_Compiler_Util.format2 + "pack_namedv: uniq is negative (%s), uniq = %s" + vv.FStar_Reflection_V2_Data.ppname uu___4 in + (FStar_Errors_Codes.Warning_CantInspect, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2 + else ()); + (let uu___1 = + FStar_Ident.mk_ident + ((vv.FStar_Reflection_V2_Data.ppname), + FStar_Compiler_Range_Type.dummyRange) in + let uu___2 = FStar_BigInt.to_int_fs vv.FStar_Reflection_V2_Data.uniq in + { + FStar_Syntax_Syntax.ppname = uu___1; + FStar_Syntax_Syntax.index = uu___2; + FStar_Syntax_Syntax.sort = (vv.FStar_Reflection_V2_Data.sort) + }) +let (inspect_bv : FStar_Syntax_Syntax.bv -> FStar_Reflection_V2_Data.bv_view) + = + fun bv -> + if bv.FStar_Syntax_Syntax.index < Prims.int_zero + then + (let uu___1 = + let uu___2 = + let uu___3 = + FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in + let uu___4 = + FStar_Syntax_Print.term_to_string bv.FStar_Syntax_Syntax.sort in + FStar_Compiler_Util.format3 + "inspect_bv: index is negative (%s : %s), index = %s" uu___3 + uu___4 (Prims.string_of_int bv.FStar_Syntax_Syntax.index) in + (FStar_Errors_Codes.Warning_CantInspect, uu___2) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___1) + else (); + (let uu___1 = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in + let uu___2 = FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in + { + FStar_Reflection_V2_Data.index = uu___1; + FStar_Reflection_V2_Data.sort1 = (bv.FStar_Syntax_Syntax.sort); + FStar_Reflection_V2_Data.ppname1 = uu___2 + }) +let (pack_bv : FStar_Reflection_V2_Data.bv_view -> FStar_Syntax_Syntax.bv) = + fun bvv -> + (let uu___1 = + let uu___2 = FStar_BigInt.to_int_fs bvv.FStar_Reflection_V2_Data.index in + uu___2 < Prims.int_zero in + if uu___1 + then + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_BigInt.to_int_fs bvv.FStar_Reflection_V2_Data.index in + Prims.string_of_int uu___5 in + FStar_Compiler_Util.format2 + "pack_bv: index is negative (%s), index = %s" + bvv.FStar_Reflection_V2_Data.ppname1 uu___4 in + (FStar_Errors_Codes.Warning_CantInspect, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2 + else ()); + (let uu___1 = + FStar_Ident.mk_ident + ((bvv.FStar_Reflection_V2_Data.ppname1), + FStar_Compiler_Range_Type.dummyRange) in + let uu___2 = FStar_BigInt.to_int_fs bvv.FStar_Reflection_V2_Data.index in + { + FStar_Syntax_Syntax.ppname = uu___1; + FStar_Syntax_Syntax.index = uu___2; + FStar_Syntax_Syntax.sort = (bvv.FStar_Reflection_V2_Data.sort1) + }) +let (inspect_binder : + FStar_Syntax_Syntax.binder -> FStar_Reflection_V2_Data.binder_view) = + fun b -> + let attrs = + FStar_Syntax_Util.encode_positivity_attributes + b.FStar_Syntax_Syntax.binder_positivity + b.FStar_Syntax_Syntax.binder_attrs in + let uu___ = inspect_bqual b.FStar_Syntax_Syntax.binder_qual in + let uu___1 = + FStar_Ident.string_of_id + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in + { + FStar_Reflection_V2_Data.sort2 = + ((b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort); + FStar_Reflection_V2_Data.qual = uu___; + FStar_Reflection_V2_Data.attrs = attrs; + FStar_Reflection_V2_Data.ppname2 = uu___1 + } +let (pack_binder : + FStar_Reflection_V2_Data.binder_view -> FStar_Syntax_Syntax.binder) = + fun bview -> + let uu___ = + FStar_Syntax_Util.parse_positivity_attributes + bview.FStar_Reflection_V2_Data.attrs in + match uu___ with + | (pqual, attrs) -> + let uu___1 = + let uu___2 = + FStar_Ident.mk_ident + ((bview.FStar_Reflection_V2_Data.ppname2), + FStar_Compiler_Range_Type.dummyRange) in + { + FStar_Syntax_Syntax.ppname = uu___2; + FStar_Syntax_Syntax.index = Prims.int_zero; + FStar_Syntax_Syntax.sort = (bview.FStar_Reflection_V2_Data.sort2) + } in + let uu___2 = pack_bqual bview.FStar_Reflection_V2_Data.qual in + { + FStar_Syntax_Syntax.binder_bv = uu___1; + FStar_Syntax_Syntax.binder_qual = uu___2; + FStar_Syntax_Syntax.binder_positivity = pqual; + FStar_Syntax_Syntax.binder_attrs = attrs + } +let (moduleof : FStar_TypeChecker_Env.env -> Prims.string Prims.list) = + fun e -> FStar_Ident.path_of_lid e.FStar_TypeChecker_Env.curmodule +let (env_open_modules : + FStar_TypeChecker_Env.env -> FStar_Reflection_V2_Data.name Prims.list) = + fun e -> + let uu___ = FStar_Syntax_DsEnv.open_modules e.FStar_TypeChecker_Env.dsenv in + FStar_Compiler_List.map + (fun uu___1 -> + match uu___1 with + | (l, m) -> + let uu___2 = FStar_Ident.ids_of_lid l in + FStar_Compiler_List.map FStar_Ident.string_of_id uu___2) uu___ +let (bv_to_binding : + FStar_Syntax_Syntax.bv -> FStar_Reflection_V2_Data.binding) = + fun bv -> + let uu___ = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in + let uu___1 = FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in + { + FStar_Reflection_V2_Data.uniq1 = uu___; + FStar_Reflection_V2_Data.sort3 = (bv.FStar_Syntax_Syntax.sort); + FStar_Reflection_V2_Data.ppname3 = uu___1 + } +let (vars_of_env : + FStar_TypeChecker_Env.env -> FStar_Reflection_V2_Data.binding Prims.list) = + fun e -> + let uu___ = FStar_TypeChecker_Env.all_binders e in + FStar_Compiler_Effect.op_Bar_Greater uu___ + (FStar_Compiler_List.map + (fun b -> bv_to_binding b.FStar_Syntax_Syntax.binder_bv)) +let eqopt : + 'uuuuu . + unit -> + ('uuuuu -> 'uuuuu -> Prims.bool) -> + 'uuuuu FStar_Pervasives_Native.option -> + 'uuuuu FStar_Pervasives_Native.option -> Prims.bool + = fun uu___ -> FStar_Syntax_Util.eqopt +let eqlist : + 'uuuuu . + unit -> + ('uuuuu -> 'uuuuu -> Prims.bool) -> + 'uuuuu Prims.list -> 'uuuuu Prims.list -> Prims.bool + = fun uu___ -> FStar_Syntax_Util.eqlist +let eqprod : + 'uuuuu 'uuuuu1 . + unit -> + ('uuuuu -> 'uuuuu -> Prims.bool) -> + ('uuuuu1 -> 'uuuuu1 -> Prims.bool) -> + ('uuuuu * 'uuuuu1) -> ('uuuuu * 'uuuuu1) -> Prims.bool + = fun uu___ -> FStar_Syntax_Util.eqprod +let rec (term_eq : + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool) = + fun t1 -> + fun t2 -> + let uu___ = + let uu___1 = inspect_ln t1 in + let uu___2 = inspect_ln t2 in (uu___1, uu___2) in + match uu___ with + | (FStar_Reflection_V2_Data.Tv_Var bv1, FStar_Reflection_V2_Data.Tv_Var + bv2) -> bv_eq bv1 bv2 + | (FStar_Reflection_V2_Data.Tv_BVar bv1, + FStar_Reflection_V2_Data.Tv_BVar bv2) -> bv_eq bv1 bv2 + | (FStar_Reflection_V2_Data.Tv_FVar fv1, + FStar_Reflection_V2_Data.Tv_FVar fv2) -> + FStar_Syntax_Syntax.fv_eq fv1 fv2 + | (FStar_Reflection_V2_Data.Tv_UInst (fv1, us1), + FStar_Reflection_V2_Data.Tv_UInst (fv2, us2)) -> + (FStar_Syntax_Syntax.fv_eq fv1 fv2) && (univs_eq us1 us2) + | (FStar_Reflection_V2_Data.Tv_App (h1, arg1), + FStar_Reflection_V2_Data.Tv_App (h2, arg2)) -> + (term_eq h1 h2) && (arg_eq arg1 arg2) + | (FStar_Reflection_V2_Data.Tv_Abs (b1, t11), + FStar_Reflection_V2_Data.Tv_Abs (b2, t21)) -> + (binder_eq b1 b2) && (term_eq t11 t21) + | (FStar_Reflection_V2_Data.Tv_Arrow (b1, c1), + FStar_Reflection_V2_Data.Tv_Arrow (b2, c2)) -> + (binder_eq b1 b2) && (comp_eq c1 c2) + | (FStar_Reflection_V2_Data.Tv_Type u1, + FStar_Reflection_V2_Data.Tv_Type u2) -> univ_eq u1 u2 + | (FStar_Reflection_V2_Data.Tv_Refine (b1, t11), + FStar_Reflection_V2_Data.Tv_Refine (b2, t21)) -> + (term_eq + (b1.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort + (b2.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort) + && (term_eq t11 t21) + | (FStar_Reflection_V2_Data.Tv_Const c1, + FStar_Reflection_V2_Data.Tv_Const c2) -> const_eq c1 c2 + | (FStar_Reflection_V2_Data.Tv_Uvar (n1, uv1), + FStar_Reflection_V2_Data.Tv_Uvar (n2, uv2)) -> n1 = n2 + | (FStar_Reflection_V2_Data.Tv_Let (r1, ats1, b1, m1, n1), + FStar_Reflection_V2_Data.Tv_Let (r2, ats2, b2, m2, n2)) -> + ((((r1 = r2) && ((eqlist ()) term_eq ats1 ats2)) && + (binder_eq b1 b2)) + && (term_eq m1 m2)) + && (term_eq n1 n2) + | (FStar_Reflection_V2_Data.Tv_Match (h1, an1, brs1), + FStar_Reflection_V2_Data.Tv_Match (h2, an2, brs2)) -> + ((term_eq h1 h2) && ((eqopt ()) match_ret_asc_eq an1 an2)) && + ((eqlist ()) branch_eq brs1 brs2) + | (FStar_Reflection_V2_Data.Tv_AscribedT (e1, t11, topt1, eq1), + FStar_Reflection_V2_Data.Tv_AscribedT (e2, t21, topt2, eq2)) -> + (((term_eq e1 e2) && (term_eq t11 t21)) && + ((eqopt ()) term_eq topt1 topt2)) + && (eq1 = eq2) + | (FStar_Reflection_V2_Data.Tv_AscribedC (e1, c1, topt1, eq1), + FStar_Reflection_V2_Data.Tv_AscribedC (e2, c2, topt2, eq2)) -> + (((term_eq e1 e2) && (comp_eq c1 c2)) && + ((eqopt ()) term_eq topt1 topt2)) + && (eq1 = eq2) + | (FStar_Reflection_V2_Data.Tv_Unknown, + FStar_Reflection_V2_Data.Tv_Unknown) -> true + | uu___1 -> false +and (arg_eq : + FStar_Reflection_V2_Data.argv -> + FStar_Reflection_V2_Data.argv -> Prims.bool) + = + fun arg1 -> + fun arg2 -> + let uu___ = arg1 in + match uu___ with + | (a1, aq1) -> + let uu___1 = arg2 in + (match uu___1 with + | (a2, aq2) -> (term_eq a1 a2) && (aqual_eq aq1 aq2)) +and (aqual_eq : + FStar_Reflection_V2_Data.aqualv -> + FStar_Reflection_V2_Data.aqualv -> Prims.bool) + = + fun aq1 -> + fun aq2 -> + match (aq1, aq2) with + | (FStar_Reflection_V2_Data.Q_Implicit, + FStar_Reflection_V2_Data.Q_Implicit) -> true + | (FStar_Reflection_V2_Data.Q_Explicit, + FStar_Reflection_V2_Data.Q_Explicit) -> true + | (FStar_Reflection_V2_Data.Q_Meta t1, FStar_Reflection_V2_Data.Q_Meta + t2) -> term_eq t1 t2 + | uu___ -> false +and (binder_eq : + FStar_Syntax_Syntax.binder -> FStar_Syntax_Syntax.binder -> Prims.bool) = + fun b1 -> + fun b2 -> + let bview1 = inspect_binder b1 in + let bview2 = inspect_binder b2 in + ((term_eq bview1.FStar_Reflection_V2_Data.sort2 + bview2.FStar_Reflection_V2_Data.sort2) + && + (aqual_eq bview1.FStar_Reflection_V2_Data.qual + bview2.FStar_Reflection_V2_Data.qual)) + && + ((eqlist ()) term_eq bview1.FStar_Reflection_V2_Data.attrs + bview2.FStar_Reflection_V2_Data.attrs) +and (bv_eq : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.bv -> Prims.bool) + = + fun bv1 -> + fun bv2 -> bv1.FStar_Syntax_Syntax.index = bv2.FStar_Syntax_Syntax.index +and (comp_eq : + FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp -> Prims.bool) = + fun c1 -> + fun c2 -> + let uu___ = + let uu___1 = inspect_comp c1 in + let uu___2 = inspect_comp c2 in (uu___1, uu___2) in + match uu___ with + | (FStar_Reflection_V2_Data.C_Total t1, + FStar_Reflection_V2_Data.C_Total t2) -> term_eq t1 t2 + | (FStar_Reflection_V2_Data.C_GTotal t1, + FStar_Reflection_V2_Data.C_GTotal t2) -> term_eq t1 t2 + | (FStar_Reflection_V2_Data.C_Lemma (pre1, post1, pats1), + FStar_Reflection_V2_Data.C_Lemma (pre2, post2, pats2)) -> + ((term_eq pre1 pre2) && (term_eq post1 post2)) && + (term_eq pats1 pats2) + | (FStar_Reflection_V2_Data.C_Eff (us1, name1, t1, args1, decrs1), + FStar_Reflection_V2_Data.C_Eff (us2, name2, t2, args2, decrs2)) -> + ((((univs_eq us1 us2) && (name1 = name2)) && (term_eq t1 t2)) && + ((eqlist ()) arg_eq args1 args2)) + && ((eqlist ()) term_eq decrs1 decrs2) + | uu___1 -> false +and (match_ret_asc_eq : + FStar_Syntax_Syntax.match_returns_ascription -> + FStar_Syntax_Syntax.match_returns_ascription -> Prims.bool) + = fun a1 -> fun a2 -> (eqprod ()) binder_eq ascription_eq a1 a2 +and (ascription_eq : + FStar_Syntax_Syntax.ascription -> + FStar_Syntax_Syntax.ascription -> Prims.bool) + = + fun asc1 -> + fun asc2 -> + let uu___ = asc1 in + match uu___ with + | (a1, topt1, eq1) -> + let uu___1 = asc2 in + (match uu___1 with + | (a2, topt2, eq2) -> + ((match (a1, a2) with + | (FStar_Pervasives.Inl t1, FStar_Pervasives.Inl t2) -> + term_eq t1 t2 + | (FStar_Pervasives.Inr c1, FStar_Pervasives.Inr c2) -> + comp_eq c1 c2) + && ((eqopt ()) term_eq topt1 topt2)) + && (eq1 = eq2)) +and (branch_eq : + FStar_Reflection_V2_Data.branch -> + FStar_Reflection_V2_Data.branch -> Prims.bool) + = fun c1 -> fun c2 -> (eqprod ()) pattern_eq term_eq c1 c2 +and (pattern_eq : + FStar_Reflection_V2_Data.pattern -> + FStar_Reflection_V2_Data.pattern -> Prims.bool) + = + fun p1 -> + fun p2 -> + match (p1, p2) with + | (FStar_Reflection_V2_Data.Pat_Constant c1, + FStar_Reflection_V2_Data.Pat_Constant c2) -> const_eq c1 c2 + | (FStar_Reflection_V2_Data.Pat_Cons (fv1, us1, subpats1), + FStar_Reflection_V2_Data.Pat_Cons (fv2, us2, subpats2)) -> + ((FStar_Syntax_Syntax.fv_eq fv1 fv2) && + ((eqopt ()) ((eqlist ()) univ_eq) us1 us2)) + && + ((eqlist ()) + ((eqprod ()) pattern_eq (fun b1 -> fun b2 -> b1 = b2)) + subpats1 subpats2) + | (FStar_Reflection_V2_Data.Pat_Var (uu___, uu___1), + FStar_Reflection_V2_Data.Pat_Var (uu___2, uu___3)) -> true + | (FStar_Reflection_V2_Data.Pat_Dot_Term topt1, + FStar_Reflection_V2_Data.Pat_Dot_Term topt2) -> + (eqopt ()) term_eq topt1 topt2 + | uu___ -> false +and (const_eq : + FStar_Reflection_V2_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> Prims.bool) + = fun c1 -> fun c2 -> c1 = c2 +and (univ_eq : + FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> Prims.bool) + = fun u1 -> fun u2 -> FStar_Syntax_Util.eq_univs u1 u2 +and (univs_eq : + FStar_Syntax_Syntax.universe Prims.list -> + FStar_Syntax_Syntax.universe Prims.list -> Prims.bool) + = fun us1 -> fun us2 -> (eqlist ()) univ_eq us1 us2 +let (implode_qn : Prims.string Prims.list -> Prims.string) = + fun ns -> FStar_String.concat "." ns +let (explode_qn : Prims.string -> Prims.string Prims.list) = + fun s -> FStar_String.split [46] s +let (compare_string : Prims.string -> Prims.string -> FStar_BigInt.t) = + fun s1 -> fun s2 -> FStar_BigInt.of_int_fs (FStar_String.compare s1 s2) +let (push_binder : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.binder -> FStar_TypeChecker_Env.env) + = fun e -> fun b -> FStar_TypeChecker_Env.push_binders e [b] +let (push_namedv : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.bv -> FStar_TypeChecker_Env.env) + = + fun e -> + fun b -> + let uu___ = let uu___1 = FStar_Syntax_Syntax.mk_binder b in [uu___1] in + FStar_TypeChecker_Env.push_binders e uu___ +let (subst_term : + FStar_Syntax_Syntax.subst_elt Prims.list -> + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) + = fun s -> fun t -> FStar_Syntax_Subst.subst s t +let (subst_comp : + FStar_Syntax_Syntax.subst_elt Prims.list -> + FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) + = fun s -> fun c -> FStar_Syntax_Subst.subst_comp s c +let (range_of_term : + FStar_Syntax_Syntax.term -> FStar_Compiler_Range_Type.range) = + fun t -> t.FStar_Syntax_Syntax.pos +let (range_of_sigelt : + FStar_Syntax_Syntax.sigelt -> FStar_Compiler_Range_Type.range) = + fun s -> s.FStar_Syntax_Syntax.sigrng \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Compare.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Compare.ml new file mode 100644 index 00000000000..dd6728ae791 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Compare.ml @@ -0,0 +1,337 @@ +open Prims +let (compare_name : + FStar_Reflection_Types.name -> + FStar_Reflection_Types.name -> FStar_Order.order) + = + fun n1 -> + fun n2 -> + FStar_Order.compare_list n1 n2 + (fun s1 -> + fun s2 -> + FStar_Order.order_from_int + (FStar_Reflection_V2_Builtins.compare_string s1 s2)) +let (compare_fv : + FStar_Reflection_Types.fv -> FStar_Reflection_Types.fv -> FStar_Order.order) + = + fun f1 -> + fun f2 -> + compare_name (FStar_Reflection_V2_Builtins.inspect_fv f1) + (FStar_Reflection_V2_Builtins.inspect_fv f2) +let (compare_const : + FStar_Reflection_V2_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> FStar_Order.order) + = + fun c1 -> + fun c2 -> + match (c1, c2) with + | (FStar_Reflection_V2_Data.C_Unit, FStar_Reflection_V2_Data.C_Unit) -> + FStar_Order.Eq + | (FStar_Reflection_V2_Data.C_Int i, FStar_Reflection_V2_Data.C_Int j) + -> FStar_Order.order_from_int (i - j) + | (FStar_Reflection_V2_Data.C_True, FStar_Reflection_V2_Data.C_True) -> + FStar_Order.Eq + | (FStar_Reflection_V2_Data.C_False, FStar_Reflection_V2_Data.C_False) + -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.C_String s1, + FStar_Reflection_V2_Data.C_String s2) -> + FStar_Order.order_from_int + (FStar_Reflection_V2_Builtins.compare_string s1 s2) + | (FStar_Reflection_V2_Data.C_Range r1, + FStar_Reflection_V2_Data.C_Range r2) -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.C_Reify, FStar_Reflection_V2_Data.C_Reify) + -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.C_Reflect l1, + FStar_Reflection_V2_Data.C_Reflect l2) -> compare_name l1 l2 + | (FStar_Reflection_V2_Data.C_Unit, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Unit) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Int uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Int uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_True, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_True) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_False, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_False) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_String uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_String uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Range uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Range uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Reify, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Reify) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Reflect uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Reflect uu___1) -> FStar_Order.Gt +let (compare_ident : + FStar_Reflection_Types.ident -> + FStar_Reflection_Types.ident -> FStar_Order.order) + = + fun i1 -> + fun i2 -> + let uu___ = FStar_Reflection_V2_Builtins.inspect_ident i1 in + match uu___ with + | (nm1, uu___1) -> + let uu___2 = FStar_Reflection_V2_Builtins.inspect_ident i2 in + (match uu___2 with + | (nm2, uu___3) -> + FStar_Order.order_from_int + (FStar_Reflection_V2_Builtins.compare_string nm1 nm2)) +let rec (compare_universe : + FStar_Reflection_Types.universe -> + FStar_Reflection_Types.universe -> FStar_Order.order) + = + fun u1 -> + fun u2 -> + match ((FStar_Reflection_V2_Builtins.inspect_universe u1), + (FStar_Reflection_V2_Builtins.inspect_universe u2)) + with + | (FStar_Reflection_V2_Data.Uv_Zero, FStar_Reflection_V2_Data.Uv_Zero) + -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.Uv_Succ u11, + FStar_Reflection_V2_Data.Uv_Succ u21) -> compare_universe u11 u21 + | (FStar_Reflection_V2_Data.Uv_Max us1, FStar_Reflection_V2_Data.Uv_Max + us2) -> + FStar_Order.compare_list us1 us2 + (fun x -> fun y -> compare_universe x y) + | (FStar_Reflection_V2_Data.Uv_BVar n1, + FStar_Reflection_V2_Data.Uv_BVar n2) -> + FStar_Order.compare_int n1 n2 + | (FStar_Reflection_V2_Data.Uv_Name i1, + FStar_Reflection_V2_Data.Uv_Name i2) -> compare_ident i1 i2 + | (FStar_Reflection_V2_Data.Uv_Unif u11, + FStar_Reflection_V2_Data.Uv_Unif u21) -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.Uv_Unk, FStar_Reflection_V2_Data.Uv_Unk) -> + FStar_Order.Eq + | (FStar_Reflection_V2_Data.Uv_Zero, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_Zero) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_Succ uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_Succ uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_Max uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_Max uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_BVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_BVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_Name uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_Name uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_Unif uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Uv_Unif uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Uv_Unk, uu___) -> FStar_Order.Lt +let (compare_universes : + FStar_Reflection_V2_Data.universes -> + FStar_Reflection_V2_Data.universes -> FStar_Order.order) + = fun us1 -> fun us2 -> FStar_Order.compare_list us1 us2 compare_universe +let rec (compare_term : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Order.order) + = + fun s -> + fun t -> + match ((FStar_Reflection_V2_Builtins.inspect_ln s), + (FStar_Reflection_V2_Builtins.inspect_ln t)) + with + | (FStar_Reflection_V2_Data.Tv_Var sv, FStar_Reflection_V2_Data.Tv_Var + tv) -> FStar_Reflection_V2_Derived.compare_namedv sv tv + | (FStar_Reflection_V2_Data.Tv_BVar sv, + FStar_Reflection_V2_Data.Tv_BVar tv) -> + FStar_Reflection_V2_Derived.compare_bv sv tv + | (FStar_Reflection_V2_Data.Tv_FVar sv, + FStar_Reflection_V2_Data.Tv_FVar tv) -> compare_fv sv tv + | (FStar_Reflection_V2_Data.Tv_UInst (sv, sus), + FStar_Reflection_V2_Data.Tv_UInst (tv, tus)) -> + FStar_Order.lex (compare_fv sv tv) + (fun uu___ -> compare_universes sus tus) + | (FStar_Reflection_V2_Data.Tv_App (h1, a1), + FStar_Reflection_V2_Data.Tv_App (h2, a2)) -> + FStar_Order.lex (compare_term h1 h2) + (fun uu___ -> compare_argv a1 a2) + | (FStar_Reflection_V2_Data.Tv_Abs (b1, e1), + FStar_Reflection_V2_Data.Tv_Abs (b2, e2)) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> compare_term e1 e2) + | (FStar_Reflection_V2_Data.Tv_Refine (b1, e1), + FStar_Reflection_V2_Data.Tv_Refine (b2, e2)) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> compare_term e1 e2) + | (FStar_Reflection_V2_Data.Tv_Arrow (b1, e1), + FStar_Reflection_V2_Data.Tv_Arrow (b2, e2)) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> compare_comp e1 e2) + | (FStar_Reflection_V2_Data.Tv_Type su, + FStar_Reflection_V2_Data.Tv_Type tu) -> compare_universe su tu + | (FStar_Reflection_V2_Data.Tv_Const c1, + FStar_Reflection_V2_Data.Tv_Const c2) -> compare_const c1 c2 + | (FStar_Reflection_V2_Data.Tv_Uvar (u1, uu___), + FStar_Reflection_V2_Data.Tv_Uvar (u2, uu___1)) -> + FStar_Order.compare_int u1 u2 + | (FStar_Reflection_V2_Data.Tv_Let (_r1, _attrs1, b1, t1, t1'), + FStar_Reflection_V2_Data.Tv_Let (_r2, _attrs2, b2, t2, t2')) -> + FStar_Order.lex (compare_binder b1 b2) + (fun uu___ -> + FStar_Order.lex (compare_term t1 t2) + (fun uu___1 -> compare_term t1' t2')) + | (FStar_Reflection_V2_Data.Tv_Match (uu___, uu___1, uu___2), + FStar_Reflection_V2_Data.Tv_Match (uu___3, uu___4, uu___5)) -> + FStar_Order.Eq + | (FStar_Reflection_V2_Data.Tv_AscribedT (e1, t1, tac1, uu___), + FStar_Reflection_V2_Data.Tv_AscribedT (e2, t2, tac2, uu___1)) -> + FStar_Order.lex (compare_term e1 e2) + (fun uu___2 -> + FStar_Order.lex (compare_term t1 t2) + (fun uu___3 -> + match (tac1, tac2) with + | (FStar_Pervasives_Native.None, + FStar_Pervasives_Native.None) -> FStar_Order.Eq + | (FStar_Pervasives_Native.None, uu___4) -> + FStar_Order.Lt + | (uu___4, FStar_Pervasives_Native.None) -> + FStar_Order.Gt + | (FStar_Pervasives_Native.Some e11, + FStar_Pervasives_Native.Some e21) -> + compare_term e11 e21)) + | (FStar_Reflection_V2_Data.Tv_AscribedC (e1, c1, tac1, uu___), + FStar_Reflection_V2_Data.Tv_AscribedC (e2, c2, tac2, uu___1)) -> + FStar_Order.lex (compare_term e1 e2) + (fun uu___2 -> + FStar_Order.lex (compare_comp c1 c2) + (fun uu___3 -> + match (tac1, tac2) with + | (FStar_Pervasives_Native.None, + FStar_Pervasives_Native.None) -> FStar_Order.Eq + | (FStar_Pervasives_Native.None, uu___4) -> + FStar_Order.Lt + | (uu___4, FStar_Pervasives_Native.None) -> + FStar_Order.Gt + | (FStar_Pervasives_Native.Some e11, + FStar_Pervasives_Native.Some e21) -> + compare_term e11 e21)) + | (FStar_Reflection_V2_Data.Tv_Unknown, + FStar_Reflection_V2_Data.Tv_Unknown) -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.Tv_Unsupp, + FStar_Reflection_V2_Data.Tv_Unsupp) -> FStar_Order.Eq + | (FStar_Reflection_V2_Data.Tv_Var uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Var uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_BVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_BVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_FVar uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_FVar uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_UInst (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_App (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_App (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Abs (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Abs (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Arrow (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Arrow (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Type uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Type uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Refine (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Refine (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Const uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Const uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Uvar (uu___, uu___1), uu___2) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Uvar (uu___1, uu___2)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Let + (uu___, uu___1, uu___2, uu___3, uu___4), uu___5) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Let + (uu___1, uu___2, uu___3, uu___4, uu___5)) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Match (uu___, uu___1, uu___2), uu___3) + -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Match (uu___1, uu___2, uu___3)) + -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_AscribedT + (uu___, uu___1, uu___2, uu___3), uu___4) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_AscribedT + (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_AscribedC + (uu___, uu___1, uu___2, uu___3), uu___4) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_AscribedC + (uu___1, uu___2, uu___3, uu___4)) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Unknown, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Unknown) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.Tv_Unsupp, uu___) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.Tv_Unsupp) -> FStar_Order.Gt +and (compare_term_list : + FStar_Reflection_Types.term Prims.list -> + FStar_Reflection_Types.term Prims.list -> FStar_Order.order) + = + fun l1 -> + fun l2 -> + match (l1, l2) with + | ([], []) -> FStar_Order.Eq + | ([], uu___) -> FStar_Order.Lt + | (uu___, []) -> FStar_Order.Gt + | (hd1::tl1, hd2::tl2) -> + FStar_Order.lex (compare_term hd1 hd2) + (fun uu___ -> compare_term_list tl1 tl2) +and (compare_argv : + FStar_Reflection_V2_Data.argv -> + FStar_Reflection_V2_Data.argv -> FStar_Order.order) + = + fun a1 -> + fun a2 -> + let uu___ = a1 in + match uu___ with + | (a11, q1) -> + let uu___1 = a2 in + (match uu___1 with + | (a21, q2) -> + (match (q1, q2) with + | (FStar_Reflection_V2_Data.Q_Implicit, + FStar_Reflection_V2_Data.Q_Explicit) -> FStar_Order.Lt + | (FStar_Reflection_V2_Data.Q_Explicit, + FStar_Reflection_V2_Data.Q_Implicit) -> FStar_Order.Gt + | (uu___2, uu___3) -> compare_term a11 a21)) +and (compare_comp : + FStar_Reflection_Types.comp -> + FStar_Reflection_Types.comp -> FStar_Order.order) + = + fun c1 -> + fun c2 -> + let cv1 = FStar_Reflection_V2_Builtins.inspect_comp c1 in + let cv2 = FStar_Reflection_V2_Builtins.inspect_comp c2 in + match (cv1, cv2) with + | (FStar_Reflection_V2_Data.C_Total t1, + FStar_Reflection_V2_Data.C_Total t2) -> compare_term t1 t2 + | (FStar_Reflection_V2_Data.C_GTotal t1, + FStar_Reflection_V2_Data.C_GTotal t2) -> compare_term t1 t2 + | (FStar_Reflection_V2_Data.C_Lemma (p1, q1, s1), + FStar_Reflection_V2_Data.C_Lemma (p2, q2, s2)) -> + FStar_Order.lex (compare_term p1 p2) + (fun uu___ -> + FStar_Order.lex (compare_term q1 q2) + (fun uu___1 -> compare_term s1 s2)) + | (FStar_Reflection_V2_Data.C_Eff (us1, eff1, res1, args1, _decrs1), + FStar_Reflection_V2_Data.C_Eff (us2, eff2, res2, args2, _decrs2)) -> + FStar_Order.lex (compare_universes us1 us2) + (fun uu___ -> + FStar_Order.lex (compare_name eff1 eff2) + (fun uu___1 -> compare_term res1 res2)) + | (FStar_Reflection_V2_Data.C_Total uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Total uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_GTotal uu___, uu___1) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_GTotal uu___1) -> FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Lemma (uu___, uu___1, uu___2), uu___3) -> + FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Lemma (uu___1, uu___2, uu___3)) -> + FStar_Order.Gt + | (FStar_Reflection_V2_Data.C_Eff + (uu___, uu___1, uu___2, uu___3, uu___4), uu___5) -> FStar_Order.Lt + | (uu___, FStar_Reflection_V2_Data.C_Eff + (uu___1, uu___2, uu___3, uu___4, uu___5)) -> FStar_Order.Gt +and (compare_binder : + FStar_Reflection_Types.binder -> + FStar_Reflection_Types.binder -> FStar_Order.order) + = + fun b1 -> + fun b2 -> + let bview1 = FStar_Reflection_V2_Builtins.inspect_binder b1 in + let bview2 = FStar_Reflection_V2_Builtins.inspect_binder b2 in + compare_term bview1.FStar_Reflection_V2_Data.sort2 + bview2.FStar_Reflection_V2_Data.sort2 \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Constants.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Constants.ml new file mode 100644 index 00000000000..e7d45a05715 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Constants.ml @@ -0,0 +1,532 @@ +open Prims +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 +let (__proj__Mkrefl_constant__item__fv : + refl_constant -> FStar_Syntax_Syntax.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 +let (refl_constant_term : refl_constant -> FStar_Syntax_Syntax.term) = + fun rc -> rc.t +let (fstar_syntax_syntax_lid : Prims.string Prims.list -> FStar_Ident.lident) + = + fun s -> + FStar_Ident.lid_of_path + (FStar_Compiler_List.op_At ["FStar"; "Stubs"; "Syntax"; "Syntax"] s) + FStar_Compiler_Range_Type.dummyRange +let (fstar_refl_lid : Prims.string Prims.list -> FStar_Ident.lident) = + fun s -> + FStar_Ident.lid_of_path + (FStar_Compiler_List.op_At ["FStar"; "Reflection"] s) + FStar_Compiler_Range_Type.dummyRange +let (fstar_refl_types_lid : Prims.string -> FStar_Ident.lident) = + fun s -> fstar_refl_lid ["Types"; s] +let (fstar_refl_builtins_lid : Prims.string -> FStar_Ident.lident) = + fun s -> fstar_refl_lid ["V2"; "Builtins"; s] +let (fstar_refl_data_lid : Prims.string -> FStar_Ident.lident) = + fun s -> fstar_refl_lid ["V2"; "Data"; s] +let (fstar_syntax_syntax_const : Prims.string Prims.list -> refl_constant) = + fun s -> + let lid = fstar_syntax_syntax_lid s in + let uu___ = + FStar_Syntax_Syntax.lid_as_fv lid + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in + let uu___1 = FStar_Syntax_Syntax.tdataconstr lid in + { lid; fv = uu___; t = uu___1 } +let (fstar_refl_data_const : Prims.string -> refl_constant) = + fun s -> + let lid = fstar_refl_data_lid s in + let uu___ = + FStar_Syntax_Syntax.lid_as_fv lid + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in + let uu___1 = FStar_Syntax_Syntax.tdataconstr lid in + { lid; fv = uu___; t = uu___1 } +let (mk_refl_types_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = + fun s -> + let uu___ = fstar_refl_types_lid s in FStar_Syntax_Syntax.tconst uu___ +let (mk_refl_types_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = + fun s -> + let uu___ = fstar_refl_types_lid s in FStar_Syntax_Syntax.fvconst uu___ +let (mk_refl_data_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = + fun s -> + let uu___ = fstar_refl_data_lid s in FStar_Syntax_Syntax.tconst uu___ +let (mk_refl_data_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = + fun s -> + let uu___ = fstar_refl_data_lid s in FStar_Syntax_Syntax.fvconst uu___ +let (mk_ss_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = + fun s -> + let uu___ = fstar_syntax_syntax_lid [s] in + FStar_Syntax_Syntax.fvconst uu___ +let (mk_ss_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = + fun s -> + let uu___ = fstar_syntax_syntax_lid [s] in + FStar_Syntax_Syntax.tconst uu___ +let (mk_inspect_pack_pair : Prims.string -> (refl_constant * refl_constant)) + = + fun s -> + let inspect_lid = fstar_refl_builtins_lid (Prims.op_Hat "inspect" s) in + let pack_lid = fstar_refl_builtins_lid (Prims.op_Hat "pack" s) in + let inspect_fv = + FStar_Syntax_Syntax.lid_as_fv inspect_lid FStar_Pervasives_Native.None in + let pack_fv = + FStar_Syntax_Syntax.lid_as_fv pack_lid FStar_Pervasives_Native.None in + let inspect = + let uu___ = FStar_Syntax_Syntax.fv_to_tm inspect_fv in + { lid = inspect_lid; fv = inspect_fv; t = uu___ } in + let pack = + let uu___ = FStar_Syntax_Syntax.fv_to_tm pack_fv in + { lid = pack_lid; fv = pack_fv; t = uu___ } in + (inspect, pack) +let (uu___36 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_ln" +let (fstar_refl_inspect_ln : refl_constant) = + match uu___36 with + | (fstar_refl_inspect_ln1, fstar_refl_pack_ln) -> fstar_refl_inspect_ln1 +let (fstar_refl_pack_ln : refl_constant) = + match uu___36 with + | (fstar_refl_inspect_ln1, fstar_refl_pack_ln1) -> fstar_refl_pack_ln1 +let (uu___43 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_fv" +let (fstar_refl_inspect_fv : refl_constant) = + match uu___43 with + | (fstar_refl_inspect_fv1, fstar_refl_pack_fv) -> fstar_refl_inspect_fv1 +let (fstar_refl_pack_fv : refl_constant) = + match uu___43 with + | (fstar_refl_inspect_fv1, fstar_refl_pack_fv1) -> fstar_refl_pack_fv1 +let (uu___50 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_bv" +let (fstar_refl_inspect_bv : refl_constant) = + match uu___50 with + | (fstar_refl_inspect_bv1, fstar_refl_pack_bv) -> fstar_refl_inspect_bv1 +let (fstar_refl_pack_bv : refl_constant) = + match uu___50 with + | (fstar_refl_inspect_bv1, fstar_refl_pack_bv1) -> fstar_refl_pack_bv1 +let (uu___57 : (refl_constant * refl_constant)) = + mk_inspect_pack_pair "_namedv" +let (fstar_refl_inspect_namedv : refl_constant) = + match uu___57 with + | (fstar_refl_inspect_namedv1, fstar_refl_pack_namedv) -> + fstar_refl_inspect_namedv1 +let (fstar_refl_pack_namedv : refl_constant) = + match uu___57 with + | (fstar_refl_inspect_namedv1, fstar_refl_pack_namedv1) -> + fstar_refl_pack_namedv1 +let (uu___64 : (refl_constant * refl_constant)) = + mk_inspect_pack_pair "_binder" +let (fstar_refl_inspect_binder : refl_constant) = + match uu___64 with + | (fstar_refl_inspect_binder1, fstar_refl_pack_binder) -> + fstar_refl_inspect_binder1 +let (fstar_refl_pack_binder : refl_constant) = + match uu___64 with + | (fstar_refl_inspect_binder1, fstar_refl_pack_binder1) -> + fstar_refl_pack_binder1 +let (uu___71 : (refl_constant * refl_constant)) = + mk_inspect_pack_pair "_comp" +let (fstar_refl_inspect_comp : refl_constant) = + match uu___71 with + | (fstar_refl_inspect_comp1, fstar_refl_pack_comp) -> + fstar_refl_inspect_comp1 +let (fstar_refl_pack_comp : refl_constant) = + match uu___71 with + | (fstar_refl_inspect_comp1, fstar_refl_pack_comp1) -> + fstar_refl_pack_comp1 +let (uu___78 : (refl_constant * refl_constant)) = + mk_inspect_pack_pair "_sigelt" +let (fstar_refl_inspect_sigelt : refl_constant) = + match uu___78 with + | (fstar_refl_inspect_sigelt1, fstar_refl_pack_sigelt) -> + fstar_refl_inspect_sigelt1 +let (fstar_refl_pack_sigelt : refl_constant) = + match uu___78 with + | (fstar_refl_inspect_sigelt1, fstar_refl_pack_sigelt1) -> + fstar_refl_pack_sigelt1 +let (uu___85 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_lb" +let (fstar_refl_inspect_lb : refl_constant) = + match uu___85 with + | (fstar_refl_inspect_lb1, fstar_refl_pack_lb) -> fstar_refl_inspect_lb1 +let (fstar_refl_pack_lb : refl_constant) = + match uu___85 with + | (fstar_refl_inspect_lb1, fstar_refl_pack_lb1) -> fstar_refl_pack_lb1 +let (uu___92 : (refl_constant * refl_constant)) = + mk_inspect_pack_pair "_universe" +let (fstar_refl_inspect_universe : refl_constant) = + match uu___92 with + | (fstar_refl_inspect_universe1, fstar_refl_pack_universe) -> + fstar_refl_inspect_universe1 +let (fstar_refl_pack_universe : refl_constant) = + match uu___92 with + | (fstar_refl_inspect_universe1, fstar_refl_pack_universe1) -> + fstar_refl_pack_universe1 +let (fstar_refl_env : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "env" +let (fstar_refl_env_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "env" +let (fstar_refl_namedv : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "namedv" +let (fstar_refl_namedv_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "namedv" +let (fstar_refl_bv : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "bv" +let (fstar_refl_bv_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "bv" +let (fstar_refl_fv : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "fv" +let (fstar_refl_fv_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "fv" +let (fstar_refl_comp : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "comp" +let (fstar_refl_comp_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "comp" +let (fstar_refl_binding : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "binding" +let (fstar_refl_binding_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "binding" +let (fstar_refl_binder : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "binder" +let (fstar_refl_binder_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "binder" +let (fstar_refl_sigelt : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "sigelt" +let (fstar_refl_sigelt_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "sigelt" +let (fstar_refl_term : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "term" +let (fstar_refl_term_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "term" +let (fstar_refl_letbinding : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "letbinding" +let (fstar_refl_letbinding_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "letbinding" +let (fstar_refl_ident : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "ident" +let (fstar_refl_ident_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "ident" +let (fstar_refl_univ_name : FStar_Syntax_Syntax.term) = + 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" +let (fstar_refl_optionstate : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "optionstate" +let (fstar_refl_optionstate_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "optionstate" +let (fstar_refl_universe : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "universe" +let (fstar_refl_universe_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "universe" +let (fstar_refl_universe_uvar : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "universe_uvar" +let (fstar_refl_universe_uvar_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "universe_uvar" +let (fstar_refl_ctx_uvar_and_subst : FStar_Syntax_Syntax.term) = + mk_refl_types_lid_as_term "ctx_uvar_and_subst" +let (fstar_refl_ctx_uvar_and_subst_fv : FStar_Syntax_Syntax.fv) = + mk_refl_types_lid_as_fv "ctx_uvar_and_subst" +let (fstar_refl_aqualv : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "aqualv" +let (fstar_refl_aqualv_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "aqualv" +let (fstar_refl_comp_view : FStar_Syntax_Syntax.term) = + 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" +let (fstar_refl_term_view : FStar_Syntax_Syntax.term) = + 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" +let (fstar_refl_pattern : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "pattern" +let (fstar_refl_pattern_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "pattern" +let (fstar_refl_branch : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "branch" +let (fstar_refl_branch_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "branch" +let (fstar_refl_namedv_view : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "namedv_view" +let (fstar_refl_namedv_view_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "namedv_view" +let (fstar_refl_bv_view : FStar_Syntax_Syntax.term) = + 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" +let (fstar_refl_binder_view : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "binder_view" +let (fstar_refl_binder_view_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "binder_view" +let (fstar_refl_vconst : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "vconst" +let (fstar_refl_vconst_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "vconst" +let (fstar_refl_lb_view : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "lb_view" +let (fstar_refl_lb_view_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "lb_view" +let (fstar_refl_sigelt_view : FStar_Syntax_Syntax.term) = + 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" +let (fstar_refl_qualifier : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "qualifier" +let (fstar_refl_qualifier_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "qualifier" +let (fstar_refl_universe_view : FStar_Syntax_Syntax.term) = + mk_refl_data_lid_as_term "universe_view" +let (fstar_refl_universe_view_fv : FStar_Syntax_Syntax.fv) = + mk_refl_data_lid_as_fv "universe_view" +let (fstar_refl_subst_elt : FStar_Syntax_Syntax.term) = + mk_ss_lid_as_term "subst_elt" +let (fstar_refl_subst_elt_fv : FStar_Syntax_Syntax.fv) = + mk_ss_lid_as_fv "subst_elt" +let (fstar_refl_subst : FStar_Syntax_Syntax.term) = mk_ss_lid_as_term "subst" +let (fstar_refl_subst_fv : FStar_Syntax_Syntax.fv) = mk_ss_lid_as_fv "subst" +let (ref_Mk_namedv_view : refl_constant) = + let lid = fstar_refl_data_lid "Mknamedv_view" in + let attr = + let uu___ = + let uu___1 = fstar_refl_data_lid "namedv_view" in + let uu___2 = + let uu___3 = + FStar_Ident.mk_ident ("uniq", FStar_Compiler_Range_Type.dummyRange) in + let uu___4 = + let uu___5 = + FStar_Ident.mk_ident + ("sort", FStar_Compiler_Range_Type.dummyRange) in + let uu___6 = + let uu___7 = + FStar_Ident.mk_ident + ("ppname", FStar_Compiler_Range_Type.dummyRange) in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in + FStar_Syntax_Syntax.Record_ctor uu___ in + let fv = + FStar_Syntax_Syntax.lid_as_fv lid (FStar_Pervasives_Native.Some attr) in + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in { lid; fv; t = uu___ } +let (ref_Mk_bv_view : refl_constant) = + let lid = fstar_refl_data_lid "Mkbv_view" in + let attr = + let uu___ = + let uu___1 = fstar_refl_data_lid "bv_view" in + let uu___2 = + let uu___3 = + FStar_Ident.mk_ident + ("index", FStar_Compiler_Range_Type.dummyRange) in + let uu___4 = + let uu___5 = + FStar_Ident.mk_ident + ("sort", FStar_Compiler_Range_Type.dummyRange) in + let uu___6 = + let uu___7 = + FStar_Ident.mk_ident + ("ppname", FStar_Compiler_Range_Type.dummyRange) in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in + FStar_Syntax_Syntax.Record_ctor uu___ in + let fv = + FStar_Syntax_Syntax.lid_as_fv lid (FStar_Pervasives_Native.Some attr) in + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in { lid; fv; t = uu___ } +let (ref_Mk_binding : refl_constant) = + let lid = fstar_refl_data_lid "Mkbinding" in + let attr = + let uu___ = + let uu___1 = fstar_refl_data_lid "binding" in + let uu___2 = + let uu___3 = + FStar_Ident.mk_ident ("uniq", FStar_Compiler_Range_Type.dummyRange) in + let uu___4 = + let uu___5 = + FStar_Ident.mk_ident + ("sort", FStar_Compiler_Range_Type.dummyRange) in + let uu___6 = + let uu___7 = + FStar_Ident.mk_ident + ("ppname", FStar_Compiler_Range_Type.dummyRange) in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in + FStar_Syntax_Syntax.Record_ctor uu___ in + let fv = + FStar_Syntax_Syntax.lid_as_fv lid (FStar_Pervasives_Native.Some attr) in + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in { lid; fv; t = uu___ } +let (ref_Mk_binder_view : refl_constant) = + let lid = fstar_refl_data_lid "Mkbinder_view" in + let attr = + let uu___ = + let uu___1 = fstar_refl_data_lid "binder_view" in + let uu___2 = + let uu___3 = + FStar_Ident.mk_ident ("sort", FStar_Compiler_Range_Type.dummyRange) in + let uu___4 = + let uu___5 = + FStar_Ident.mk_ident + ("qual", FStar_Compiler_Range_Type.dummyRange) in + let uu___6 = + let uu___7 = + FStar_Ident.mk_ident + ("attrs", FStar_Compiler_Range_Type.dummyRange) in + let uu___8 = + let uu___9 = + FStar_Ident.mk_ident + ("ppname", FStar_Compiler_Range_Type.dummyRange) in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in + FStar_Syntax_Syntax.Record_ctor uu___ in + let fv = + FStar_Syntax_Syntax.lid_as_fv lid (FStar_Pervasives_Native.Some attr) in + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in { lid; fv; t = uu___ } +let (ref_Mk_lb : refl_constant) = + let lid = fstar_refl_data_lid "Mklb_view" in + let attr = + let uu___ = + let uu___1 = fstar_refl_data_lid "lb_view" in + let uu___2 = + let uu___3 = + FStar_Ident.mk_ident + ("lb_fv", FStar_Compiler_Range_Type.dummyRange) in + let uu___4 = + let uu___5 = + FStar_Ident.mk_ident + ("lb_us", FStar_Compiler_Range_Type.dummyRange) in + let uu___6 = + let uu___7 = + FStar_Ident.mk_ident + ("lb_typ", FStar_Compiler_Range_Type.dummyRange) in + let uu___8 = + let uu___9 = + FStar_Ident.mk_ident + ("lb_def", FStar_Compiler_Range_Type.dummyRange) in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in + FStar_Syntax_Syntax.Record_ctor uu___ in + let fv = + FStar_Syntax_Syntax.lid_as_fv lid (FStar_Pervasives_Native.Some attr) in + let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in { lid; fv; t = uu___ } +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_DB : refl_constant) = fstar_syntax_syntax_const ["DB"] +let (ref_DT : refl_constant) = fstar_syntax_syntax_const ["DT"] +let (ref_NM : refl_constant) = fstar_syntax_syntax_const ["NM"] +let (ref_NT : refl_constant) = fstar_syntax_syntax_const ["NT"] +let (ref_UN : refl_constant) = fstar_syntax_syntax_const ["UN"] +let (ref_UD : refl_constant) = fstar_syntax_syntax_const ["UD"] +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_Dot_Term : refl_constant) = fstar_refl_data_const "Pat_Dot_Term" +let (ref_Uv_Zero : refl_constant) = fstar_refl_data_const "Uv_Zero" +let (ref_Uv_Succ : refl_constant) = fstar_refl_data_const "Uv_Succ" +let (ref_Uv_Max : refl_constant) = fstar_refl_data_const "Uv_Max" +let (ref_Uv_BVar : refl_constant) = fstar_refl_data_const "Uv_BVar" +let (ref_Uv_Name : refl_constant) = fstar_refl_data_const "Uv_Name" +let (ref_Uv_Unif : refl_constant) = fstar_refl_data_const "Uv_Unif" +let (ref_Uv_Unk : refl_constant) = fstar_refl_data_const "Uv_Unk" +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_UInst : refl_constant) = fstar_refl_data_const "Tv_UInst" +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_Tv_Unsupp : refl_constant) = fstar_refl_data_const "Tv_Unsupp" +let (ref_C_Total : refl_constant) = fstar_refl_data_const "C_Total" +let (ref_C_GTotal : refl_constant) = fstar_refl_data_const "C_GTotal" +let (ref_C_Lemma : refl_constant) = fstar_refl_data_const "C_Lemma" +let (ref_C_Eff : refl_constant) = fstar_refl_data_const "C_Eff" +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_Val : refl_constant) = fstar_refl_data_const "Sg_Val" +let (ref_Unk : refl_constant) = fstar_refl_data_const "Unk" +let (ref_qual_Assumption : refl_constant) = + fstar_refl_data_const "Assumption" +let (ref_qual_InternalAssumption : refl_constant) = + fstar_refl_data_const "InternalAssumption" +let (ref_qual_New : refl_constant) = fstar_refl_data_const "New" +let (ref_qual_Private : refl_constant) = fstar_refl_data_const "Private" +let (ref_qual_Unfold_for_unification_and_vcgen : refl_constant) = + fstar_refl_data_const "Unfold_for_unification_and_vcgen" +let (ref_qual_Visible_default : refl_constant) = + fstar_refl_data_const "Visible_default" +let (ref_qual_Irreducible : refl_constant) = + fstar_refl_data_const "Irreducible" +let (ref_qual_Inline_for_extraction : refl_constant) = + fstar_refl_data_const "Inline_for_extraction" +let (ref_qual_NoExtract : refl_constant) = fstar_refl_data_const "NoExtract" +let (ref_qual_Noeq : refl_constant) = fstar_refl_data_const "Noeq" +let (ref_qual_Unopteq : refl_constant) = fstar_refl_data_const "Unopteq" +let (ref_qual_TotalEffect : refl_constant) = + fstar_refl_data_const "TotalEffect" +let (ref_qual_Logic : refl_constant) = fstar_refl_data_const "Logic" +let (ref_qual_Reifiable : refl_constant) = fstar_refl_data_const "Reifiable" +let (ref_qual_Reflectable : refl_constant) = + fstar_refl_data_const "Reflectable" +let (ref_qual_Discriminator : refl_constant) = + fstar_refl_data_const "Discriminator" +let (ref_qual_Projector : refl_constant) = fstar_refl_data_const "Projector" +let (ref_qual_RecordType : refl_constant) = + fstar_refl_data_const "RecordType" +let (ref_qual_RecordConstructor : refl_constant) = + fstar_refl_data_const "RecordConstructor" +let (ref_qual_Action : refl_constant) = fstar_refl_data_const "Action" +let (ref_qual_ExceptionConstructor : refl_constant) = + fstar_refl_data_const "ExceptionConstructor" +let (ref_qual_HasMaskedEffect : refl_constant) = + fstar_refl_data_const "HasMaskedEffect" +let (ref_qual_Effect : refl_constant) = fstar_refl_data_const "Effect" +let (ref_qual_OnlyName : refl_constant) = fstar_refl_data_const "OnlyName" +let (ord_Lt_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_path ["FStar"; "Order"; "Lt"] + FStar_Compiler_Range_Type.dummyRange +let (ord_Eq_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_path ["FStar"; "Order"; "Eq"] + FStar_Compiler_Range_Type.dummyRange +let (ord_Gt_lid : FStar_Ident.lident) = + FStar_Ident.lid_of_path ["FStar"; "Order"; "Gt"] + FStar_Compiler_Range_Type.dummyRange +let (ord_Lt : FStar_Syntax_Syntax.term) = + FStar_Syntax_Syntax.tdataconstr ord_Lt_lid +let (ord_Eq : FStar_Syntax_Syntax.term) = + FStar_Syntax_Syntax.tdataconstr ord_Eq_lid +let (ord_Gt : FStar_Syntax_Syntax.term) = + 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_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_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_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Data.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Data.ml new file mode 100644 index 00000000000..c0e608f86e9 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Data.ml @@ -0,0 +1,514 @@ +open Prims +type name = Prims.string Prims.list +type typ = FStar_Syntax_Syntax.term +type binders = FStar_Syntax_Syntax.binder Prims.list +type namedv = FStar_Syntax_Syntax.bv +type vconst = + | C_Unit + | C_Int of FStar_BigInt.t + | C_True + | C_False + | C_String of Prims.string + | C_Range of FStar_Compiler_Range_Type.range + | C_Reify + | C_Reflect of name +let (uu___is_C_Unit : vconst -> Prims.bool) = + fun projectee -> match projectee with | C_Unit -> true | uu___ -> false +let (uu___is_C_Int : vconst -> Prims.bool) = + fun projectee -> match projectee with | C_Int _0 -> true | uu___ -> false +let (__proj__C_Int__item___0 : vconst -> FStar_BigInt.t) = + 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___ -> false +let (uu___is_C_False : vconst -> Prims.bool) = + fun projectee -> match projectee with | C_False -> true | uu___ -> false +let (uu___is_C_String : vconst -> Prims.bool) = + fun projectee -> + match projectee with | C_String _0 -> true | uu___ -> false +let (__proj__C_String__item___0 : vconst -> Prims.string) = + fun projectee -> match projectee with | C_String _0 -> _0 +let (uu___is_C_Range : vconst -> Prims.bool) = + fun projectee -> match projectee with | C_Range _0 -> true | uu___ -> false +let (__proj__C_Range__item___0 : vconst -> FStar_Compiler_Range_Type.range) = + 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___ -> false +let (uu___is_C_Reflect : vconst -> Prims.bool) = + fun projectee -> + match projectee with | C_Reflect _0 -> true | uu___ -> false +let (__proj__C_Reflect__item___0 : vconst -> name) = + fun projectee -> match projectee with | C_Reflect _0 -> _0 +type universes = FStar_Syntax_Syntax.universe Prims.list +type pattern = + | Pat_Constant of vconst + | Pat_Cons of FStar_Syntax_Syntax.fv * universes + FStar_Pervasives_Native.option * (pattern * Prims.bool) Prims.list + | Pat_Var of FStar_Syntax_Syntax.term * Prims.string + | Pat_Dot_Term of FStar_Syntax_Syntax.term FStar_Pervasives_Native.option +let (uu___is_Pat_Constant : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Constant c -> true | uu___ -> false +let (__proj__Pat_Constant__item__c : pattern -> vconst) = + fun projectee -> match projectee with | Pat_Constant c -> c +let (uu___is_Pat_Cons : pattern -> Prims.bool) = + fun projectee -> + match projectee with + | Pat_Cons (head, univs, subpats) -> true + | uu___ -> false +let (__proj__Pat_Cons__item__head : pattern -> FStar_Syntax_Syntax.fv) = + fun projectee -> + match projectee with | Pat_Cons (head, univs, subpats) -> head +let (__proj__Pat_Cons__item__univs : + pattern -> universes FStar_Pervasives_Native.option) = + fun projectee -> + match projectee with | Pat_Cons (head, univs, subpats) -> univs +let (__proj__Pat_Cons__item__subpats : + pattern -> (pattern * Prims.bool) Prims.list) = + fun projectee -> + match projectee with | Pat_Cons (head, univs, subpats) -> subpats +let (uu___is_Pat_Var : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Var (sort, ppname) -> true | uu___ -> false +let (__proj__Pat_Var__item__sort : pattern -> FStar_Syntax_Syntax.term) = + fun projectee -> match projectee with | Pat_Var (sort, ppname) -> sort +let (__proj__Pat_Var__item__ppname : pattern -> Prims.string) = + fun projectee -> match projectee with | Pat_Var (sort, ppname) -> ppname +let (uu___is_Pat_Dot_Term : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Dot_Term t -> true | uu___ -> false +let (__proj__Pat_Dot_Term__item__t : + pattern -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | Pat_Dot_Term t -> t +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___ -> false +let (uu___is_Q_Explicit : aqualv -> Prims.bool) = + fun projectee -> match projectee with | Q_Explicit -> true | uu___ -> false +let (uu___is_Q_Meta : aqualv -> Prims.bool) = + fun projectee -> match projectee with | Q_Meta _0 -> true | uu___ -> false +let (__proj__Q_Meta__item___0 : aqualv -> FStar_Syntax_Syntax.term) = + fun projectee -> match projectee with | Q_Meta _0 -> _0 +type argv = (FStar_Syntax_Syntax.term * aqualv) +type ppname_t = Prims.string +let (as_ppname : Prims.string -> Prims.string) = fun x -> x +type namedv_view = { + uniq: FStar_BigInt.t ; + sort: typ ; + ppname: Prims.string } +let (__proj__Mknamedv_view__item__uniq : namedv_view -> FStar_BigInt.t) = + fun projectee -> match projectee with | { uniq; sort; ppname;_} -> uniq +let (__proj__Mknamedv_view__item__sort : namedv_view -> typ) = + fun projectee -> match projectee with | { uniq; sort; ppname;_} -> sort +let (__proj__Mknamedv_view__item__ppname : namedv_view -> Prims.string) = + fun projectee -> match projectee with | { uniq; sort; ppname;_} -> ppname +type bv_view = { + index: FStar_BigInt.t ; + sort1: typ ; + ppname1: Prims.string } +let (__proj__Mkbv_view__item__index : bv_view -> FStar_BigInt.t) = + fun projectee -> + match projectee with + | { index; sort1 = sort; ppname1 = ppname;_} -> index +let (__proj__Mkbv_view__item__sort : bv_view -> typ) = + fun projectee -> + match projectee with | { index; sort1 = sort; ppname1 = ppname;_} -> sort +let (__proj__Mkbv_view__item__ppname : bv_view -> Prims.string) = + fun projectee -> + match projectee with + | { index; sort1 = sort; ppname1 = ppname;_} -> ppname +type binder_view = + { + sort2: typ ; + qual: aqualv ; + attrs: FStar_Syntax_Syntax.term Prims.list ; + ppname2: Prims.string } +let (__proj__Mkbinder_view__item__sort : binder_view -> typ) = + fun projectee -> + match projectee with + | { sort2 = sort; qual; attrs; ppname2 = ppname;_} -> sort +let (__proj__Mkbinder_view__item__qual : binder_view -> aqualv) = + fun projectee -> + match projectee with + | { sort2 = sort; qual; attrs; ppname2 = ppname;_} -> qual +let (__proj__Mkbinder_view__item__attrs : + binder_view -> FStar_Syntax_Syntax.term Prims.list) = + fun projectee -> + match projectee with + | { sort2 = sort; qual; attrs; ppname2 = ppname;_} -> attrs +let (__proj__Mkbinder_view__item__ppname : binder_view -> Prims.string) = + fun projectee -> + match projectee with + | { sort2 = sort; qual; attrs; ppname2 = ppname;_} -> ppname +type binding = { + uniq1: FStar_BigInt.t ; + sort3: typ ; + ppname3: Prims.string } +let (__proj__Mkbinding__item__uniq : binding -> FStar_BigInt.t) = + fun projectee -> + match projectee with + | { uniq1 = uniq; sort3 = sort; ppname3 = ppname;_} -> uniq +let (__proj__Mkbinding__item__sort : binding -> typ) = + fun projectee -> + match projectee with + | { uniq1 = uniq; sort3 = sort; ppname3 = ppname;_} -> sort +let (__proj__Mkbinding__item__ppname : binding -> Prims.string) = + fun projectee -> + match projectee with + | { uniq1 = uniq; sort3 = sort; ppname3 = ppname;_} -> ppname +type bindings = binding Prims.list +type universe_view = + | Uv_Zero + | Uv_Succ of FStar_Syntax_Syntax.universe + | Uv_Max of universes + | Uv_BVar of FStar_BigInt.t + | Uv_Name of FStar_Syntax_Syntax.univ_name + | Uv_Unif of FStar_Syntax_Syntax.universe_uvar + | Uv_Unk +let (uu___is_Uv_Zero : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Zero -> true | uu___ -> false +let (uu___is_Uv_Succ : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Succ _0 -> true | uu___ -> false +let (__proj__Uv_Succ__item___0 : + universe_view -> FStar_Syntax_Syntax.universe) = + fun projectee -> match projectee with | Uv_Succ _0 -> _0 +let (uu___is_Uv_Max : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Max _0 -> true | uu___ -> false +let (__proj__Uv_Max__item___0 : universe_view -> universes) = + fun projectee -> match projectee with | Uv_Max _0 -> _0 +let (uu___is_Uv_BVar : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_BVar _0 -> true | uu___ -> false +let (__proj__Uv_BVar__item___0 : universe_view -> FStar_BigInt.t) = + fun projectee -> match projectee with | Uv_BVar _0 -> _0 +let (uu___is_Uv_Name : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Name _0 -> true | uu___ -> false +let (__proj__Uv_Name__item___0 : + universe_view -> FStar_Syntax_Syntax.univ_name) = + fun projectee -> match projectee with | Uv_Name _0 -> _0 +let (uu___is_Uv_Unif : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Unif _0 -> true | uu___ -> false +let (__proj__Uv_Unif__item___0 : + universe_view -> FStar_Syntax_Syntax.universe_uvar) = + fun projectee -> match projectee with | Uv_Unif _0 -> _0 +let (uu___is_Uv_Unk : universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Unk -> true | uu___ -> false +type term_view = + | Tv_Var of namedv + | Tv_BVar of FStar_Syntax_Syntax.bv + | Tv_FVar of FStar_Syntax_Syntax.fv + | Tv_UInst of (FStar_Syntax_Syntax.fv * universes) + | Tv_App of (FStar_Syntax_Syntax.term * argv) + | Tv_Abs of (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term) + | Tv_Arrow of (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.comp) + | Tv_Type of FStar_Syntax_Syntax.universe + | Tv_Refine of (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term) + | Tv_Const of vconst + | Tv_Uvar of (FStar_BigInt.t * FStar_Syntax_Syntax.ctx_uvar_and_subst) + | Tv_Let of (Prims.bool * FStar_Syntax_Syntax.term Prims.list * + FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.term) + | Tv_Match of (FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.match_returns_ascription FStar_Pervasives_Native.option + * branch Prims.list) + | Tv_AscribedT of (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * Prims.bool) + | Tv_AscribedC of (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.comp * + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * Prims.bool) + | Tv_Unknown + | Tv_Unsupp +let (uu___is_Tv_Var : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Var _0 -> true | uu___ -> false +let (__proj__Tv_Var__item___0 : term_view -> namedv) = + fun projectee -> match projectee with | Tv_Var _0 -> _0 +let (uu___is_Tv_BVar : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_BVar _0 -> true | uu___ -> false +let (__proj__Tv_BVar__item___0 : term_view -> FStar_Syntax_Syntax.bv) = + fun projectee -> match projectee with | Tv_BVar _0 -> _0 +let (uu___is_Tv_FVar : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_FVar _0 -> true | uu___ -> false +let (__proj__Tv_FVar__item___0 : term_view -> FStar_Syntax_Syntax.fv) = + fun projectee -> match projectee with | Tv_FVar _0 -> _0 +let (uu___is_Tv_UInst : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_UInst _0 -> true | uu___ -> false +let (__proj__Tv_UInst__item___0 : + term_view -> (FStar_Syntax_Syntax.fv * universes)) = + fun projectee -> match projectee with | Tv_UInst _0 -> _0 +let (uu___is_Tv_App : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_App _0 -> true | uu___ -> false +let (__proj__Tv_App__item___0 : + term_view -> (FStar_Syntax_Syntax.term * argv)) = + fun projectee -> match projectee with | Tv_App _0 -> _0 +let (uu___is_Tv_Abs : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Abs _0 -> true | uu___ -> 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 +let (uu___is_Tv_Arrow : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Arrow _0 -> true | uu___ -> 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 +let (uu___is_Tv_Type : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Type _0 -> true | uu___ -> false +let (__proj__Tv_Type__item___0 : term_view -> FStar_Syntax_Syntax.universe) = + fun projectee -> match projectee with | Tv_Type _0 -> _0 +let (uu___is_Tv_Refine : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Refine _0 -> true | uu___ -> false +let (__proj__Tv_Refine__item___0 : + term_view -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term)) = + fun projectee -> match projectee with | Tv_Refine _0 -> _0 +let (uu___is_Tv_Const : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Const _0 -> true | uu___ -> false +let (__proj__Tv_Const__item___0 : term_view -> vconst) = + fun projectee -> match projectee with | Tv_Const _0 -> _0 +let (uu___is_Tv_Uvar : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Uvar _0 -> true | uu___ -> 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 +let (uu___is_Tv_Let : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Let _0 -> true | uu___ -> false +let (__proj__Tv_Let__item___0 : + term_view -> + (Prims.bool * FStar_Syntax_Syntax.term Prims.list * + FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.term)) + = fun projectee -> match projectee with | Tv_Let _0 -> _0 +let (uu___is_Tv_Match : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Match _0 -> true | uu___ -> false +let (__proj__Tv_Match__item___0 : + term_view -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.match_returns_ascription + FStar_Pervasives_Native.option * branch Prims.list)) + = fun projectee -> match projectee with | Tv_Match _0 -> _0 +let (uu___is_Tv_AscribedT : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_AscribedT _0 -> true | uu___ -> 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 * Prims.bool)) + = fun projectee -> match projectee with | Tv_AscribedT _0 -> _0 +let (uu___is_Tv_AscribedC : term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_AscribedC _0 -> true | uu___ -> 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 * Prims.bool)) + = 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___ -> false +let (uu___is_Tv_Unsupp : term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Unsupp -> true | uu___ -> false +let (notAscription : term_view -> Prims.bool) = + fun tv -> + (Prims.op_Negation (uu___is_Tv_AscribedT tv)) && + (Prims.op_Negation (uu___is_Tv_AscribedC tv)) +type comp_view = + | C_Total of typ + | C_GTotal of typ + | C_Lemma of (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.term) + | C_Eff of (universes * name * FStar_Syntax_Syntax.term * argv Prims.list * + FStar_Syntax_Syntax.term Prims.list) +let (uu___is_C_Total : comp_view -> Prims.bool) = + fun projectee -> match projectee with | C_Total _0 -> true | uu___ -> false +let (__proj__C_Total__item___0 : comp_view -> typ) = + fun projectee -> match projectee with | C_Total _0 -> _0 +let (uu___is_C_GTotal : comp_view -> Prims.bool) = + fun projectee -> + match projectee with | C_GTotal _0 -> true | uu___ -> false +let (__proj__C_GTotal__item___0 : comp_view -> typ) = + fun projectee -> match projectee with | C_GTotal _0 -> _0 +let (uu___is_C_Lemma : comp_view -> Prims.bool) = + fun projectee -> match projectee with | C_Lemma _0 -> true | uu___ -> false +let (__proj__C_Lemma__item___0 : + comp_view -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term * + FStar_Syntax_Syntax.term)) + = fun projectee -> match projectee with | C_Lemma _0 -> _0 +let (uu___is_C_Eff : comp_view -> Prims.bool) = + fun projectee -> match projectee with | C_Eff _0 -> true | uu___ -> false +let (__proj__C_Eff__item___0 : + comp_view -> + (universes * name * FStar_Syntax_Syntax.term * argv Prims.list * + FStar_Syntax_Syntax.term Prims.list)) + = fun projectee -> match projectee with | C_Eff _0 -> _0 +type ctor = (name * typ) +type lb_view = + { + lb_fv: FStar_Syntax_Syntax.fv ; + lb_us: FStar_Syntax_Syntax.univ_name Prims.list ; + lb_typ: typ ; + lb_def: FStar_Syntax_Syntax.term } +let (__proj__Mklb_view__item__lb_fv : lb_view -> FStar_Syntax_Syntax.fv) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_fv +let (__proj__Mklb_view__item__lb_us : + lb_view -> FStar_Syntax_Syntax.univ_name Prims.list) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_us +let (__proj__Mklb_view__item__lb_typ : lb_view -> typ) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_typ +let (__proj__Mklb_view__item__lb_def : lb_view -> FStar_Syntax_Syntax.term) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_def +type sigelt_view = + | Sg_Let of (Prims.bool * FStar_Syntax_Syntax.letbinding Prims.list) + | Sg_Inductive of (name * FStar_Syntax_Syntax.univ_name Prims.list * + FStar_Syntax_Syntax.binder Prims.list * typ * ctor Prims.list) + | Sg_Val of (name * FStar_Syntax_Syntax.univ_name Prims.list * typ) + | Unk +let (uu___is_Sg_Let : sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Sg_Let _0 -> true | uu___ -> false +let (__proj__Sg_Let__item___0 : + sigelt_view -> (Prims.bool * FStar_Syntax_Syntax.letbinding Prims.list)) = + fun projectee -> match projectee with | Sg_Let _0 -> _0 +let (uu___is_Sg_Inductive : sigelt_view -> Prims.bool) = + fun projectee -> + match projectee with | Sg_Inductive _0 -> true | uu___ -> false +let (__proj__Sg_Inductive__item___0 : + sigelt_view -> + (name * FStar_Syntax_Syntax.univ_name Prims.list * + FStar_Syntax_Syntax.binder Prims.list * typ * ctor Prims.list)) + = fun projectee -> match projectee with | Sg_Inductive _0 -> _0 +let (uu___is_Sg_Val : sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Sg_Val _0 -> true | uu___ -> false +let (__proj__Sg_Val__item___0 : + sigelt_view -> (name * FStar_Syntax_Syntax.univ_name Prims.list * typ)) = + fun projectee -> match projectee with | Sg_Val _0 -> _0 +let (uu___is_Unk : sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Unk -> true | uu___ -> false +type qualifier = + | Assumption + | InternalAssumption + | New + | Private + | Unfold_for_unification_and_vcgen + | Visible_default + | Irreducible + | Inline_for_extraction + | NoExtract + | Noeq + | Unopteq + | TotalEffect + | Logic + | Reifiable + | Reflectable of FStar_Ident.lid + | Discriminator of FStar_Ident.lid + | Projector of (FStar_Ident.lid * FStar_Ident.ident) + | RecordType of (FStar_Ident.ident Prims.list * FStar_Ident.ident + Prims.list) + | RecordConstructor of (FStar_Ident.ident Prims.list * FStar_Ident.ident + Prims.list) + | Action of FStar_Ident.lid + | ExceptionConstructor + | HasMaskedEffect + | Effect + | OnlyName +let (uu___is_Assumption : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Assumption -> true | uu___ -> false +let (uu___is_InternalAssumption : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | InternalAssumption -> true | uu___ -> false +let (uu___is_New : qualifier -> Prims.bool) = + fun projectee -> match projectee with | New -> true | uu___ -> false +let (uu___is_Private : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Private -> true | uu___ -> false +let (uu___is_Unfold_for_unification_and_vcgen : qualifier -> Prims.bool) = + fun projectee -> + match projectee with + | Unfold_for_unification_and_vcgen -> true + | uu___ -> false +let (uu___is_Visible_default : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Visible_default -> true | uu___ -> false +let (uu___is_Irreducible : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Irreducible -> true | uu___ -> false +let (uu___is_Inline_for_extraction : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Inline_for_extraction -> true | uu___ -> false +let (uu___is_NoExtract : qualifier -> Prims.bool) = + fun projectee -> match projectee with | NoExtract -> true | uu___ -> false +let (uu___is_Noeq : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Noeq -> true | uu___ -> false +let (uu___is_Unopteq : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Unopteq -> true | uu___ -> false +let (uu___is_TotalEffect : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | TotalEffect -> true | uu___ -> false +let (uu___is_Logic : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Logic -> true | uu___ -> false +let (uu___is_Reifiable : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Reifiable -> true | uu___ -> false +let (uu___is_Reflectable : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Reflectable _0 -> true | uu___ -> false +let (__proj__Reflectable__item___0 : qualifier -> FStar_Ident.lid) = + fun projectee -> match projectee with | Reflectable _0 -> _0 +let (uu___is_Discriminator : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Discriminator _0 -> true | uu___ -> false +let (__proj__Discriminator__item___0 : qualifier -> FStar_Ident.lid) = + fun projectee -> match projectee with | Discriminator _0 -> _0 +let (uu___is_Projector : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | Projector _0 -> true | uu___ -> false +let (__proj__Projector__item___0 : + qualifier -> (FStar_Ident.lid * FStar_Ident.ident)) = + fun projectee -> match projectee with | Projector _0 -> _0 +let (uu___is_RecordType : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | RecordType _0 -> true | uu___ -> 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 +let (uu___is_RecordConstructor : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | RecordConstructor _0 -> true | uu___ -> 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 +let (uu___is_Action : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Action _0 -> true | uu___ -> false +let (__proj__Action__item___0 : qualifier -> FStar_Ident.lid) = + fun projectee -> match projectee with | Action _0 -> _0 +let (uu___is_ExceptionConstructor : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | ExceptionConstructor -> true | uu___ -> false +let (uu___is_HasMaskedEffect : qualifier -> Prims.bool) = + fun projectee -> + match projectee with | HasMaskedEffect -> true | uu___ -> false +let (uu___is_Effect : qualifier -> Prims.bool) = + fun projectee -> match projectee with | Effect -> true | uu___ -> false +let (uu___is_OnlyName : qualifier -> Prims.bool) = + fun projectee -> match projectee with | OnlyName -> true | uu___ -> false +type qualifiers = qualifier Prims.list +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___ -> false +let (uu___is_Var : exp -> Prims.bool) = + fun projectee -> match projectee with | Var _0 -> true | uu___ -> false +let (__proj__Var__item___0 : exp -> var) = + fun projectee -> match projectee with | Var _0 -> _0 +let (uu___is_Mult : exp -> Prims.bool) = + fun projectee -> match projectee with | Mult _0 -> true | uu___ -> false +let (__proj__Mult__item___0 : exp -> (exp * exp)) = + fun projectee -> match projectee with | Mult _0 -> _0 +type decls = FStar_Syntax_Syntax.sigelt Prims.list +type simple_binder = FStar_Syntax_Syntax.binder \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived.ml new file mode 100644 index 00000000000..96fb56a3bdf --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived.ml @@ -0,0 +1,456 @@ +open Prims +let rec (inspect_ln_unascribe : + FStar_Reflection_Types.term -> FStar_Reflection_V2_Data.term_view) = + fun t -> + match FStar_Reflection_V2_Builtins.inspect_ln t with + | FStar_Reflection_V2_Data.Tv_AscribedT (t', uu___, uu___1, uu___2) -> + inspect_ln_unascribe t' + | FStar_Reflection_V2_Data.Tv_AscribedC (t', uu___, uu___1, uu___2) -> + inspect_ln_unascribe t' + | tv -> tv +let (compare_bv : + FStar_Reflection_Types.bv -> FStar_Reflection_Types.bv -> FStar_Order.order) + = + fun v1 -> + fun v2 -> + FStar_Order.compare_int + (FStar_Reflection_V2_Builtins.inspect_bv v1).FStar_Reflection_V2_Data.index + (FStar_Reflection_V2_Builtins.inspect_bv v2).FStar_Reflection_V2_Data.index +let (compare_namedv : + FStar_Reflection_Types.namedv -> + FStar_Reflection_Types.namedv -> FStar_Order.order) + = + fun v1 -> + fun v2 -> + FStar_Order.compare_int + (FStar_Reflection_V2_Builtins.inspect_namedv v1).FStar_Reflection_V2_Data.uniq + (FStar_Reflection_V2_Builtins.inspect_namedv v2).FStar_Reflection_V2_Data.uniq +let (shift : + Prims.int -> FStar_Syntax_Syntax.subst_elt -> FStar_Syntax_Syntax.subst_elt) + = + fun n -> + fun s -> + match s with + | FStar_Syntax_Syntax.DB (i, t) -> FStar_Syntax_Syntax.DB ((i + n), t) + | FStar_Syntax_Syntax.DT (i, t) -> FStar_Syntax_Syntax.DT ((i + n), t) + | FStar_Syntax_Syntax.UN (i, t) -> FStar_Syntax_Syntax.UN ((i + n), t) + | FStar_Syntax_Syntax.NM (x, i) -> FStar_Syntax_Syntax.NM (x, (i + n)) + | FStar_Syntax_Syntax.UD (x, i) -> FStar_Syntax_Syntax.UD (x, (i + n)) + | FStar_Syntax_Syntax.NT (uu___, uu___1) -> s +let (shift_subst : + Prims.int -> + FStar_Syntax_Syntax.subst_elt Prims.list -> + FStar_Syntax_Syntax.subst_elt Prims.list) + = fun n -> fun s -> FStar_List_Tot_Base.map (shift n) s +let (subst1 : + FStar_Reflection_Types.namedv -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun n -> + fun t1 -> + fun t2 -> + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.NT (n, t1)] t2 +let (mk_binder : + Prims.string -> + FStar_Reflection_Types.typ -> FStar_Reflection_V2_Data.simple_binder) + = + fun nm -> + fun sort -> + let bv = + { + FStar_Reflection_V2_Data.sort2 = sort; + FStar_Reflection_V2_Data.qual = FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs = []; + FStar_Reflection_V2_Data.ppname2 = (FStar_Sealed.seal nm) + } in + FStar_Reflection_V2_Builtins.pack_binder bv +let (mk_implicit_binder : + Prims.string -> FStar_Reflection_Types.typ -> FStar_Reflection_Types.binder) + = + fun nm -> + fun sort -> + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = sort; + FStar_Reflection_V2_Data.qual = FStar_Reflection_V2_Data.Q_Implicit; + FStar_Reflection_V2_Data.attrs = []; + FStar_Reflection_V2_Data.ppname2 = (FStar_Sealed.seal nm) + } +let (push_binding : + FStar_Reflection_Types.env -> + FStar_Reflection_V2_Data.binding -> FStar_Reflection_Types.env) + = + fun e -> + fun b -> + let nv = + FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = + (b.FStar_Reflection_V2_Data.uniq1); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal b.FStar_Reflection_V2_Data.sort3); + FStar_Reflection_V2_Data.ppname = + (b.FStar_Reflection_V2_Data.ppname3) + } in + FStar_Reflection_V2_Builtins.push_namedv e nv +let (type_of_binder : + FStar_Reflection_Types.binder -> FStar_Reflection_Types.typ) = + fun b -> + (FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2 +let rec (flatten_name : FStar_Reflection_Types.name -> Prims.string) = + fun ns -> + match ns with + | [] -> "" + | n::[] -> n + | n::ns1 -> Prims.strcat n (Prims.strcat "." (flatten_name ns1)) +let rec (collect_app_ln' : + FStar_Reflection_V2_Data.argv Prims.list -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term * FStar_Reflection_V2_Data.argv + Prims.list)) + = + fun args -> + fun t -> + match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_App (l, r) -> + collect_app_ln' (r :: args) l + | uu___ -> (t, args) +let (collect_app_ln : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term * FStar_Reflection_V2_Data.argv Prims.list)) + = collect_app_ln' [] +let rec (mk_app : + FStar_Reflection_Types.term -> + FStar_Reflection_V2_Data.argv Prims.list -> FStar_Reflection_Types.term) + = + fun t -> + fun args -> + match args with + | [] -> t + | x::xs -> + mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App (t, x))) xs +let (mk_e_app : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) + = + fun t -> + fun args -> + let e t1 = (t1, FStar_Reflection_V2_Data.Q_Explicit) in + mk_app t (FStar_List_Tot_Base.map e args) +let (u_unk : FStar_Reflection_Types.universe) = + FStar_Reflection_V2_Builtins.pack_universe FStar_Reflection_V2_Data.Uv_Unk +let rec (mk_tot_arr_ln : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun bs -> + fun cod -> + match bs with + | [] -> cod + | b::bs1 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Arrow + (b, + (FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Total (mk_tot_arr_ln bs1 cod))))) +let rec (collect_arr' : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.comp -> + (FStar_Reflection_Types.binder Prims.list * + FStar_Reflection_Types.comp)) + = + fun bs -> + fun c -> + match FStar_Reflection_V2_Builtins.inspect_comp c with + | FStar_Reflection_V2_Data.C_Total t -> + (match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_Arrow (b, c1) -> + collect_arr' (b :: bs) c1 + | uu___ -> (bs, c)) + | uu___ -> (bs, c) +let (collect_arr_ln_bs : + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.comp)) + = + fun t -> + let uu___ = + collect_arr' [] + (FStar_Reflection_V2_Builtins.pack_comp + (FStar_Reflection_V2_Data.C_Total t)) in + match uu___ with | (bs, c) -> ((FStar_List_Tot_Base.rev bs), c) +let (collect_arr_ln : + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.typ Prims.list * FStar_Reflection_Types.comp)) + = + fun t -> + let uu___ = collect_arr_ln_bs t in + match uu___ with + | (bs, c) -> ((FStar_List_Tot_Base.map type_of_binder bs), c) +let rec (collect_abs' : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder Prims.list * + FStar_Reflection_Types.term)) + = + fun bs -> + fun t -> + match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_Abs (b, t') -> collect_abs' (b :: bs) t' + | uu___ -> (bs, t) +let (collect_abs_ln : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.term)) + = + fun t -> + let uu___ = collect_abs' [] t in + match uu___ with | (bs, t') -> ((FStar_List_Tot_Base.rev bs), t') +let (fv_to_string : FStar_Reflection_Types.fv -> Prims.string) = + fun fv -> + FStar_Reflection_V2_Builtins.implode_qn + (FStar_Reflection_V2_Builtins.inspect_fv fv) +let (mk_stringlit : Prims.string -> FStar_Reflection_Types.term) = + fun s -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + (FStar_Reflection_V2_Data.C_String s)) +let (mk_strcat : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun t1 -> + fun t2 -> + mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "strcat"]))) + [t1; t2] +let (mk_cons : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun h -> + fun t -> + mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.cons_qn))) [h; t] +let (mk_cons_t : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun ty -> + fun h -> + fun t -> + mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.cons_qn))) + [(ty, FStar_Reflection_V2_Data.Q_Implicit); + (h, FStar_Reflection_V2_Data.Q_Explicit); + (t, FStar_Reflection_V2_Data.Q_Explicit)] +let rec (mk_list : + FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) = + fun ts -> + match ts with + | [] -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.nil_qn)) + | t::ts1 -> mk_cons t (mk_list ts1) +let (mktuple_n : + FStar_Reflection_Types.term Prims.list -> FStar_Reflection_Types.term) = + fun ts -> + match FStar_List_Tot_Base.length ts with + | uu___ when uu___ = Prims.int_zero -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_Unit) + | uu___ when uu___ = Prims.int_one -> + let uu___1 = ts in (match uu___1 with | x::[] -> x) + | n -> + let qn = + match n with + | uu___ when uu___ = (Prims.of_int (2)) -> + FStar_Reflection_Const.mktuple2_qn + | uu___ when uu___ = (Prims.of_int (3)) -> + FStar_Reflection_Const.mktuple3_qn + | uu___ when uu___ = (Prims.of_int (4)) -> + FStar_Reflection_Const.mktuple4_qn + | uu___ when uu___ = (Prims.of_int (5)) -> + FStar_Reflection_Const.mktuple5_qn + | uu___ when uu___ = (Prims.of_int (6)) -> + FStar_Reflection_Const.mktuple6_qn + | uu___ when uu___ = (Prims.of_int (7)) -> + FStar_Reflection_Const.mktuple7_qn + | uu___ when uu___ = (Prims.of_int (8)) -> + FStar_Reflection_Const.mktuple8_qn in + mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv qn))) ts +let (destruct_tuple : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term Prims.list FStar_Pervasives_Native.option) + = + fun t -> + let uu___ = collect_app_ln t in + match uu___ with + | (head, args) -> + (match FStar_Reflection_V2_Builtins.inspect_ln head with + | FStar_Reflection_V2_Data.Tv_FVar fv -> + if + FStar_List_Tot_Base.mem + (FStar_Reflection_V2_Builtins.inspect_fv fv) + [FStar_Reflection_Const.mktuple2_qn; + FStar_Reflection_Const.mktuple3_qn; + FStar_Reflection_Const.mktuple4_qn; + FStar_Reflection_Const.mktuple5_qn; + FStar_Reflection_Const.mktuple6_qn; + FStar_Reflection_Const.mktuple7_qn; + FStar_Reflection_Const.mktuple8_qn] + then + FStar_Pervasives_Native.Some + (FStar_List_Tot_Base.concatMap + (fun uu___1 -> + match uu___1 with + | (t1, q) -> + (match q with + | FStar_Reflection_V2_Data.Q_Explicit -> [t1] + | uu___2 -> [])) args) + else FStar_Pervasives_Native.None + | uu___1 -> FStar_Pervasives_Native.None) +let (mkpair : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = fun t1 -> fun t2 -> mktuple_n [t1; t2] +let rec (head : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = + fun t -> + match FStar_Reflection_V2_Builtins.inspect_ln t with + | FStar_Reflection_V2_Data.Tv_Match (t1, uu___, uu___1) -> head t1 + | FStar_Reflection_V2_Data.Tv_Let (uu___, uu___1, uu___2, t1, uu___3) -> + head t1 + | FStar_Reflection_V2_Data.Tv_Abs (uu___, t1) -> head t1 + | FStar_Reflection_V2_Data.Tv_Refine (uu___, t1) -> head t1 + | FStar_Reflection_V2_Data.Tv_App (t1, uu___) -> head t1 + | FStar_Reflection_V2_Data.Tv_AscribedT (t1, uu___, uu___1, uu___2) -> + head t1 + | FStar_Reflection_V2_Data.Tv_AscribedC (t1, uu___, uu___1, uu___2) -> + head t1 + | FStar_Reflection_V2_Data.Tv_Unknown -> t + | FStar_Reflection_V2_Data.Tv_Uvar (uu___, uu___1) -> t + | FStar_Reflection_V2_Data.Tv_Const uu___ -> t + | FStar_Reflection_V2_Data.Tv_Type uu___ -> t + | FStar_Reflection_V2_Data.Tv_Var uu___ -> t + | FStar_Reflection_V2_Data.Tv_BVar uu___ -> t + | FStar_Reflection_V2_Data.Tv_FVar uu___ -> t + | FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1) -> t + | FStar_Reflection_V2_Data.Tv_Arrow (uu___, uu___1) -> t + | FStar_Reflection_V2_Data.Tv_Unsupp -> t +let (is_fvar : FStar_Reflection_Types.term -> Prims.string -> Prims.bool) = + fun t -> + fun nm -> + match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_FVar fv -> + (FStar_Reflection_V2_Builtins.implode_qn + (FStar_Reflection_V2_Builtins.inspect_fv fv)) + = nm + | FStar_Reflection_V2_Data.Tv_UInst (fv, uu___) -> + (FStar_Reflection_V2_Builtins.implode_qn + (FStar_Reflection_V2_Builtins.inspect_fv fv)) + = nm + | uu___ -> false +let rec (is_any_fvar : + FStar_Reflection_Types.term -> Prims.string Prims.list -> Prims.bool) = + fun t -> + fun nms -> + match nms with + | [] -> false + | v::vs -> (is_fvar t v) || (is_any_fvar t vs) +let (is_uvar : FStar_Reflection_Types.term -> Prims.bool) = + fun t -> + match FStar_Reflection_V2_Builtins.inspect_ln (head t) with + | FStar_Reflection_V2_Data.Tv_Uvar (uu___, uu___1) -> true + | uu___ -> false +let (binder_set_qual : + FStar_Reflection_V2_Data.aqualv -> + FStar_Reflection_Types.binder -> FStar_Reflection_Types.binder) + = + fun q -> + fun b -> + let bview = FStar_Reflection_V2_Builtins.inspect_binder b in + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = + (bview.FStar_Reflection_V2_Data.sort2); + FStar_Reflection_V2_Data.qual = q; + FStar_Reflection_V2_Data.attrs = + (bview.FStar_Reflection_V2_Data.attrs); + FStar_Reflection_V2_Data.ppname2 = + (bview.FStar_Reflection_V2_Data.ppname2) + } +let (add_check_with : + FStar_VConfig.vconfig -> + FStar_Reflection_Types.sigelt -> FStar_Reflection_Types.sigelt) + = + fun vcfg -> + fun se -> + let attrs = FStar_Reflection_V2_Builtins.sigelt_attrs se in + let vcfg_t = FStar_Reflection_V2_Builtins.embed_vconfig vcfg in + let t = + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "VConfig"; "check_with"]))), + (vcfg_t, FStar_Reflection_V2_Data.Q_Explicit))) in + FStar_Reflection_V2_Builtins.set_sigelt_attrs (t :: attrs) se +let (un_uinst : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = + fun t -> + match FStar_Reflection_V2_Builtins.inspect_ln t with + | FStar_Reflection_V2_Data.Tv_UInst (fv, uu___) -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar fv) + | uu___ -> t +let rec (is_name_imp : + FStar_Reflection_Types.name -> FStar_Reflection_Types.term -> Prims.bool) = + fun nm -> + fun t -> + match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_FVar fv -> + if (FStar_Reflection_V2_Builtins.inspect_fv fv) = nm + then true + else false + | FStar_Reflection_V2_Data.Tv_UInst (fv, uu___) -> + if (FStar_Reflection_V2_Builtins.inspect_fv fv) = nm + then true + else false + | FStar_Reflection_V2_Data.Tv_App + (l, (uu___, FStar_Reflection_V2_Data.Q_Implicit)) -> + is_name_imp nm l + | uu___ -> false +let (unsquash_term : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term FStar_Pervasives_Native.option) + = + fun t -> + match inspect_ln_unascribe t with + | FStar_Reflection_V2_Data.Tv_App + (l, (r, FStar_Reflection_V2_Data.Q_Explicit)) -> + if is_name_imp FStar_Reflection_Const.squash_qn l + then FStar_Pervasives_Native.Some r + else FStar_Pervasives_Native.None + | uu___ -> FStar_Pervasives_Native.None +let (maybe_unsquash_term : + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) = + fun t -> + match unsquash_term t with + | FStar_Pervasives_Native.Some t' -> t' + | FStar_Pervasives_Native.None -> t \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml new file mode 100644 index 00000000000..0c9aefea908 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml @@ -0,0 +1,27 @@ +open Prims +type ('a, 'p, 'l) forall_list = Obj.t +type ('a, 'p, 'l) forallP = unit +type ('a, 'r, 'l, 'r1) op_Less_Less_Colon = unit +let rec list_ref : 'a 'p . 'a Prims.list -> 'a Prims.list = + fun l -> match l with | [] -> [] | x::xs -> x :: (list_ref xs) +let (collect_app_ref : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term * FStar_Reflection_V2_Data.argv Prims.list)) + = + fun t -> + let uu___ = FStar_Reflection_V2_Derived.collect_app_ln t in + match uu___ with | (h, a) -> (h, (list_ref a)) +let (collect_abs_ln_ref : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.term)) + = + fun t -> + let uu___ = FStar_Reflection_V2_Derived.collect_abs_ln t in + match uu___ with | (bds, body) -> ((list_ref bds), body) +let (collect_arr_ln_bs_ref : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.comp)) + = + fun t -> + let uu___ = FStar_Reflection_V2_Derived.collect_arr_ln_bs t in + match uu___ with | (bds, c) -> ((list_ref bds), c) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Embeddings.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Embeddings.ml new file mode 100644 index 00000000000..efa2d66c24b --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Embeddings.ml @@ -0,0 +1,2716 @@ +open Prims +type namedv = FStar_Syntax_Syntax.bv +let mk_emb : + 'uuuuu . + (FStar_Compiler_Range_Type.range -> 'uuuuu -> FStar_Syntax_Syntax.term) + -> + (FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option) -> + FStar_Syntax_Syntax.term -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding + = + fun f -> + fun g -> + fun t -> + let uu___ = FStar_Syntax_Embeddings_Base.term_as_fv t in + FStar_Syntax_Embeddings_Base.mk_emb + (fun x -> fun r -> fun _topt -> fun _norm -> f r x) + (fun x -> fun _norm -> g x) uu___ +let embed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Compiler_Range_Type.range -> 'uuuuu -> FStar_Syntax_Syntax.term + = + fun e -> + fun r -> + fun x -> + let uu___ = FStar_Syntax_Embeddings_Base.embed e x in + uu___ r FStar_Pervasives_Native.None + FStar_Syntax_Embeddings_Base.id_norm_cb +let try_unembed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option + = + fun e -> + fun x -> + FStar_Syntax_Embeddings_Base.try_unembed e x + FStar_Syntax_Embeddings_Base.id_norm_cb +let curry : + 'uuuuu 'uuuuu1 'uuuuu2 . + (('uuuuu * 'uuuuu1) -> 'uuuuu2) -> 'uuuuu -> 'uuuuu1 -> 'uuuuu2 + = fun f -> fun x -> fun y -> f (x, y) +let curry3 : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 . + (('uuuuu * 'uuuuu1 * 'uuuuu2) -> 'uuuuu3) -> + 'uuuuu -> 'uuuuu1 -> 'uuuuu2 -> 'uuuuu3 + = fun f -> fun x -> fun y -> fun z -> f (x, y, z) +let curry4 : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 'uuuuu4 . + (('uuuuu * 'uuuuu1 * 'uuuuu2 * 'uuuuu3) -> 'uuuuu4) -> + 'uuuuu -> 'uuuuu1 -> 'uuuuu2 -> 'uuuuu3 -> 'uuuuu4 + = fun f -> fun x -> fun y -> fun z -> fun w -> f (x, y, z, w) +let curry5 : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 'uuuuu4 'uuuuu5 . + (('uuuuu * 'uuuuu1 * 'uuuuu2 * 'uuuuu3 * 'uuuuu4) -> 'uuuuu5) -> + 'uuuuu -> 'uuuuu1 -> 'uuuuu2 -> 'uuuuu3 -> 'uuuuu4 -> 'uuuuu5 + = fun f -> fun x -> fun y -> fun z -> fun w -> fun v -> f (x, y, z, w, v) +let (head_fv_and_args : + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.args) + FStar_Pervasives_Native.option) + = + fun t -> + let t1 = FStar_Syntax_Util.unascribe t in + let uu___ = FStar_Syntax_Util.head_and_args t1 in + match uu___ with + | (hd, args) -> + let uu___1 = + let uu___2 = FStar_Syntax_Util.un_uinst hd in + uu___2.FStar_Syntax_Syntax.n in + (match uu___1 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Pervasives_Native.Some (fv, args) + | uu___2 -> FStar_Pervasives_Native.None) +let (noaqs : FStar_Syntax_Syntax.antiquotations) = (Prims.int_zero, []) +let (e_bv : FStar_Syntax_Syntax.bv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_bv + FStar_Reflection_V2_Constants.fstar_refl_bv +let (e_namedv : namedv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_namedv + FStar_Reflection_V2_Constants.fstar_refl_namedv +let (e_binder : + FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_binder + FStar_Reflection_V2_Constants.fstar_refl_binder +let (e_fv : FStar_Syntax_Syntax.fv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_fvar + FStar_Reflection_V2_Constants.fstar_refl_fv +let (e_comp : + FStar_Syntax_Syntax.comp FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_comp + FStar_Reflection_V2_Constants.fstar_refl_comp +let (e_universe : + FStar_Syntax_Syntax.universe FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_universe + FStar_Reflection_V2_Constants.fstar_refl_universe +let (e_ident : FStar_Ident.ident FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_ident + FStar_Reflection_V2_Constants.fstar_refl_ident +let (e_env : + FStar_TypeChecker_Env.env FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_env + FStar_Reflection_V2_Constants.fstar_refl_env +let (e_ctx_uvar_and_subst : + FStar_Syntax_Syntax.ctx_uvar_and_subst + FStar_Syntax_Embeddings_Base.embedding) + = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_uvar + FStar_Reflection_V2_Constants.fstar_refl_ctx_uvar_and_subst +let (e_sigelt : + FStar_Syntax_Syntax.sigelt FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_sigelt + FStar_Reflection_V2_Constants.fstar_refl_sigelt +let (e_letbinding : + FStar_Syntax_Syntax.letbinding FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_letbinding + FStar_Reflection_V2_Constants.fstar_refl_letbinding +let (e_universe_uvar : + FStar_Syntax_Syntax.universe_uvar FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_universe_uvar + FStar_Reflection_V2_Constants.fstar_refl_universe_uvar +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 -> + match l with + | [] -> FStar_Pervasives_Native.Some [] + | x::xs -> + let uu___ = f x in + FStar_Compiler_Util.bind_opt uu___ + (fun x1 -> + let uu___1 = mapM_opt f xs in + FStar_Compiler_Util.bind_opt uu___1 + (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) +let (e_term_aq : + FStar_Syntax_Syntax.antiquotations -> + FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) + = + fun aq -> + let embed_term rng t = + let qi = + { + FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; + FStar_Syntax_Syntax.antiquotations = aq + } in + FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (t, qi)) rng in + let rec unembed_term t = + let apply_antiquotations t1 aq1 = + let uu___ = aq1 in + match uu___ with + | (shift, aqs) -> + let aqs1 = FStar_Compiler_List.rev aqs in + let uu___1 = mapM_opt unembed_term aqs1 in + FStar_Compiler_Util.bind_opt uu___1 + (fun aq_ts -> + let uu___2 = + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater aq_ts + (FStar_Compiler_List.mapi + (fun i -> + fun at -> + let x = + FStar_Syntax_Syntax.new_bv + FStar_Pervasives_Native.None + FStar_Syntax_Syntax.t_term in + ((FStar_Syntax_Syntax.DB ((shift + i), x)), + (FStar_Syntax_Syntax.NT (x, at))))) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + FStar_Compiler_List.unzip in + match uu___2 with + | (subst_open, subst) -> + let uu___3 = + let uu___4 = FStar_Syntax_Subst.subst subst_open t1 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Syntax_Subst.subst subst) uu___4 in + FStar_Pervasives_Native.Some uu___3) in + let t1 = FStar_Syntax_Util.unmeta t in + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t1 in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + apply_antiquotations tm qi.FStar_Syntax_Syntax.antiquotations + | uu___1 -> 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_Base.embedding) = + e_term_aq noaqs +let (e_sort : + FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_sealed e_term +let (e_ppname : Prims.string FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_sealed FStar_Syntax_Embeddings.e_string +let (e_aqualv : + FStar_Reflection_V2_Data.aqualv FStar_Syntax_Embeddings_Base.embedding) = + let embed_aqualv rng q = + let r = + match q with + | FStar_Reflection_V2_Data.Q_Explicit -> + FStar_Reflection_V2_Constants.ref_Q_Explicit.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Q_Implicit -> + FStar_Reflection_V2_Constants.ref_Q_Implicit.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Q_Meta t -> + let uu___ = + let uu___1 = + let uu___2 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Q_Meta.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange in + { + FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) + } in + let unembed_aqualv t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Explicit.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Q_Explicit in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Implicit.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Q_Implicit in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Meta.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> FStar_Reflection_V2_Data.Q_Meta uu___3) + e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_aqualv unembed_aqualv + FStar_Reflection_V2_Constants.fstar_refl_aqualv +let (e_binders : + FStar_Syntax_Syntax.binders FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_list e_binder +let (e_universe_view : + FStar_Reflection_V2_Data.universe_view + FStar_Syntax_Embeddings_Base.embedding) + = + let embed_universe_view rng uv = + match uv with + | FStar_Reflection_V2_Data.Uv_Zero -> + FStar_Reflection_V2_Constants.ref_Uv_Zero.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Uv_Succ u -> + let uu___ = + let uu___1 = + let uu___2 = embed e_universe rng u in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Uv_Succ.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Uv_Max us -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings.e_list e_universe in + embed uu___3 rng us in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Uv_Max.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Uv_BVar n -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_int rng n in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Uv_BVar.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Uv_Name i -> + let uu___ = + let uu___1 = + let uu___2 = embed e_ident rng i in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Uv_Name.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Uv_Unif u -> + let uu___ = + let uu___1 = + let uu___2 = embed e_universe_uvar rng u in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Uv_Unif.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Uv_Unk -> + FStar_Reflection_V2_Constants.ref_Uv_Unk.FStar_Reflection_V2_Constants.t in + let unembed_universe_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Zero.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Uv_Zero in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Succ.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> FStar_Reflection_V2_Data.Uv_Succ uu___3) + e_universe in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Max.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = FStar_Syntax_Embeddings.e_list e_universe in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___4 -> FStar_Reflection_V2_Data.Uv_Max uu___4) + uu___3 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_BVar.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Uv_BVar uu___3) + FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Name.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Uv_Name uu___3) + e_ident in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Unif.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Uv_Unif uu___3) + e_universe_uvar in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Unk.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Uv_Unk in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_universe_view unembed_universe_view + FStar_Reflection_V2_Constants.fstar_refl_universe_view +let (e_vconst : + FStar_Reflection_V2_Data.vconst FStar_Syntax_Embeddings_Base.embedding) = + let embed_const rng c = + let r = + match c with + | FStar_Reflection_V2_Data.C_Unit -> + FStar_Reflection_V2_Constants.ref_C_Unit.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.C_True -> + FStar_Reflection_V2_Constants.ref_C_True.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.C_False -> + FStar_Reflection_V2_Constants.ref_C_False.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.C_Int i -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_BigInt.string_of_big_int i in + FStar_Syntax_Util.exp_int uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Int.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.C_String s -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_string rng s in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_String.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.C_Range r1 -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_range rng r1 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Range.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.C_Reify -> + FStar_Reflection_V2_Constants.ref_C_Reify.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.C_Reflect ns -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng ns in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Reflect.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange in + { + FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) + } in + let unembed_const t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Unit.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.C_Unit in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_True.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.C_True in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_False.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.C_False in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Int.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.C_Int uu___3) + FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_String.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.C_String uu___3) + FStar_Syntax_Embeddings.e_string in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Range.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.C_Range uu___3) + FStar_Syntax_Embeddings.e_range in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Reify.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.C_Reify in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Reflect.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.C_Reflect + uu___3) + FStar_Syntax_Embeddings.e_string_list in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_const unembed_const + FStar_Reflection_V2_Constants.fstar_refl_vconst +let rec e_pattern_aq : + 'uuuuu . + 'uuuuu -> + FStar_Reflection_V2_Data.pattern FStar_Syntax_Embeddings_Base.embedding + = + fun aq -> + let rec embed_pattern rng p = + match p with + | FStar_Reflection_V2_Data.Pat_Constant c -> + let uu___ = + let uu___1 = + let uu___2 = embed e_vconst rng c in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Pat_Constant.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_fv rng head in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Embeddings.e_list e_universe in + FStar_Syntax_Embeddings.e_option uu___6 in + embed uu___5 rng univs in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = e_pattern_aq aq in + FStar_Syntax_Embeddings.e_tuple2 uu___9 + FStar_Syntax_Embeddings.e_bool in + FStar_Syntax_Embeddings.e_list uu___8 in + embed uu___7 rng subpats in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Pat_Cons.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Pat_Var (sort, ppname) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_sort rng sort in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_ppname rng ppname in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Pat_Var.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Pat_Dot_Term eopt -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings.e_option e_term in + embed uu___3 rng eopt in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Pat_Dot_Term.FStar_Reflection_V2_Constants.t + uu___ rng in + let rec unembed_pattern t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + (match () with + | uu___2 when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Constant.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___4 -> + FStar_Reflection_V2_Data.Pat_Constant uu___4) + e_vconst in + FStar_Syntax_Embeddings_AppEmb.run args uu___3 + | uu___2 when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Cons.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + let uu___4 = + let uu___5 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___6 -> + fun uu___7 -> + fun uu___8 -> + FStar_Reflection_V2_Data.Pat_Cons + (uu___6, uu___7, uu___8)) e_fv in + let uu___6 = + let uu___7 = + FStar_Syntax_Embeddings.e_list e_universe in + FStar_Syntax_Embeddings.e_option uu___7 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 uu___6 in + let uu___5 = + let uu___6 = + let uu___7 = e_pattern_aq aq in + FStar_Syntax_Embeddings.e_tuple2 uu___7 + FStar_Syntax_Embeddings.e_bool in + FStar_Syntax_Embeddings.e_list uu___6 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + FStar_Syntax_Embeddings_AppEmb.run args uu___3 + | uu___2 when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Var.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___5 -> + fun uu___6 -> + FStar_Reflection_V2_Data.Pat_Var + (uu___5, uu___6)) e_sort in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_ppname in + FStar_Syntax_Embeddings_AppEmb.run args uu___3 + | uu___2 when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Dot_Term.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + let uu___4 = FStar_Syntax_Embeddings.e_option e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___5 -> + FStar_Reflection_V2_Data.Pat_Dot_Term uu___5) + uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___3 + | uu___2 -> FStar_Pervasives_Native.None)) in + mk_emb embed_pattern unembed_pattern + FStar_Reflection_V2_Constants.fstar_refl_pattern +let (e_pattern : + FStar_Reflection_V2_Data.pattern FStar_Syntax_Embeddings_Base.embedding) = + e_pattern_aq noaqs +let (e_branch : + FStar_Reflection_V2_Data.branch FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_tuple2 e_pattern e_term +let (e_argv : + FStar_Reflection_V2_Data.argv FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings.e_tuple2 e_term e_aqualv +let (e_args : + FStar_Reflection_V2_Data.argv Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_argv +let (e_branch_aq : + FStar_Syntax_Syntax.antiquotations -> + (FStar_Reflection_V2_Data.pattern * FStar_Syntax_Syntax.term) + FStar_Syntax_Embeddings_Base.embedding) + = + fun aq -> + let uu___ = e_pattern_aq aq in + let uu___1 = e_term_aq aq in + FStar_Syntax_Embeddings.e_tuple2 uu___ uu___1 +let (e_argv_aq : + FStar_Syntax_Syntax.antiquotations -> + (FStar_Syntax_Syntax.term * FStar_Reflection_V2_Data.aqualv) + FStar_Syntax_Embeddings_Base.embedding) + = + fun aq -> + let uu___ = e_term_aq aq in + FStar_Syntax_Embeddings.e_tuple2 uu___ e_aqualv +let (e_match_returns_annotation : + (FStar_Syntax_Syntax.binder * ((FStar_Syntax_Syntax.term, + FStar_Syntax_Syntax.comp) FStar_Pervasives.either * + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * Prims.bool)) + FStar_Pervasives_Native.option FStar_Syntax_Embeddings_Base.embedding) + = + let uu___ = + let uu___1 = + let uu___2 = FStar_Syntax_Embeddings.e_either e_term e_comp in + let uu___3 = FStar_Syntax_Embeddings.e_option e_term in + FStar_Syntax_Embeddings.e_tuple3 uu___2 uu___3 + FStar_Syntax_Embeddings.e_bool in + FStar_Syntax_Embeddings.e_tuple2 e_binder uu___1 in + FStar_Syntax_Embeddings.e_option uu___ +let (e_term_view_aq : + FStar_Syntax_Syntax.antiquotations -> + FStar_Reflection_V2_Data.term_view FStar_Syntax_Embeddings_Base.embedding) + = + fun aq -> + let push uu___ = + match uu___ with | (s, aq1) -> ((s + Prims.int_one), aq1) in + let embed_term_view rng t = + match t with + | FStar_Reflection_V2_Data.Tv_FVar fv -> + let uu___ = + let uu___1 = + let uu___2 = embed e_fv rng fv in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_FVar.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_BVar fv -> + let uu___ = + let uu___1 = + let uu___2 = embed e_bv rng fv in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_BVar.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Var bv -> + let uu___ = + let uu___1 = + let uu___2 = embed e_namedv rng bv in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Var.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_UInst (fv, us) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_fv rng fv in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings.e_list e_universe in + embed uu___5 rng us in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_UInst.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_App (hd, a) -> + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng hd in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = let uu___5 = e_argv_aq aq in embed uu___5 rng a in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_App.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Abs (b, t1) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq (push aq) in embed uu___5 rng t1 in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Abs.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_comp rng c in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Arrow.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Type u -> + let uu___ = + let uu___1 = + let uu___2 = embed e_universe rng u in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Type.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Refine (b, t1) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq (push aq) in embed uu___5 rng t1 in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Refine.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Const c -> + let uu___ = + let uu___1 = + let uu___2 = embed e_vconst rng c in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Const.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Uvar (u, ctx_u) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_int rng u in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_ctx_uvar_and_subst rng ctx_u in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Uvar.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Let (r, attrs, b, t1, t2) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_bool rng r in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings.e_list e_term in + embed uu___5 rng attrs in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = e_term_aq aq in embed uu___9 rng t1 in + FStar_Syntax_Syntax.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = e_term_aq (push aq) in + embed uu___11 rng t2 in + FStar_Syntax_Syntax.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Let.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Match (t1, ret_opt, brs) -> + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng t1 in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_match_returns_annotation rng ret_opt in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_branch_aq aq in + FStar_Syntax_Embeddings.e_list uu___8 in + embed uu___7 rng brs in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_Match.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t1, tacopt, use_eq) -> + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng e in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = let uu___5 = e_term_aq aq in embed uu___5 rng t1 in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option uu___8 in + embed uu___7 rng tacopt in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + embed FStar_Syntax_Embeddings.e_bool rng use_eq in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_AscT.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + let uu___ = + let uu___1 = + let uu___2 = let uu___3 = e_term_aq aq in embed uu___3 rng e in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_comp rng c in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option uu___8 in + embed uu___7 rng tacopt in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + embed FStar_Syntax_Embeddings.e_bool rng use_eq in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Tv_AscC.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Tv_Unknown -> + let uu___ = + FStar_Reflection_V2_Constants.ref_Tv_Unknown.FStar_Reflection_V2_Constants.t in + { + FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (uu___.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = + (uu___.FStar_Syntax_Syntax.hash_code) + } + | FStar_Reflection_V2_Data.Tv_Unsupp -> + let uu___ = + FStar_Reflection_V2_Constants.ref_Tv_Unsupp.FStar_Reflection_V2_Constants.t in + { + FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (uu___.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = + (uu___.FStar_Syntax_Syntax.hash_code) + } in + let unembed_term_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + let xTv_Let a b c d e = + FStar_Reflection_V2_Data.Tv_Let (a, b, c, d, e) in + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_FVar.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> FStar_Reflection_V2_Data.Tv_FVar uu___3) + e_fv in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_BVar.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Tv_BVar uu___3) e_bv in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Var.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Tv_Var uu___3) e_namedv in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_UInst.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Tv_UInst uu___4)) + e_fv in + let uu___4 = + FStar_Syntax_Embeddings.e_list e_universe in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_App.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___5 -> + FStar_Reflection_V2_Data.Tv_App uu___5)) + uu___4 in + let uu___4 = e_argv_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Abs.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Tv_Abs + uu___4)) e_binder in + let uu___4 = e_term_aq (push aq) in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Arrow.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Tv_Arrow + uu___4)) e_binder in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_comp in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Type.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Tv_Type + uu___3) e_universe in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Refine.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Tv_Refine + uu___4)) e_binder in + let uu___4 = e_term_aq (push aq) in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Const.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Tv_Const + uu___3) e_vconst in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Uvar.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Tv_Uvar + uu___4)) + FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_ctx_uvar_and_subst in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Let.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + xTv_Let + FStar_Syntax_Embeddings.e_bool in + let uu___7 = + FStar_Syntax_Embeddings.e_list + e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___6 uu___7 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_binder in + let uu___5 = e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + let uu___4 = e_term_aq (push aq) in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Match.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry3 + (fun uu___6 -> + FStar_Reflection_V2_Data.Tv_Match + uu___6)) uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 + e_match_returns_annotation in + let uu___4 = + let uu___5 = e_branch_aq aq in + FStar_Syntax_Embeddings.e_list + uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_AscT.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry4 + (fun uu___7 -> + FStar_Reflection_V2_Data.Tv_AscribedT + uu___7)) uu___6 in + let uu___6 = e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 uu___6 in + let uu___5 = + let uu___6 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option + uu___6 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 + FStar_Syntax_Embeddings.e_bool in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_AscC.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + e_term_aq aq in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry4 + (fun uu___7 -> + FStar_Reflection_V2_Data.Tv_AscribedC + uu___7)) + uu___6 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_comp in + let uu___5 = + let uu___6 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option + uu___6 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 + FStar_Syntax_Embeddings.e_bool in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_Tv_Unknown.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Tv_Unknown in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_Tv_Unsupp.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Tv_Unsupp in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + FStar_Pervasives_Native.None) in + mk_emb embed_term_view unembed_term_view + FStar_Reflection_V2_Constants.fstar_refl_term_view +let (e_term_view : + FStar_Reflection_V2_Data.term_view FStar_Syntax_Embeddings_Base.embedding) + = e_term_view_aq noaqs +let (e_lid : FStar_Ident.lid FStar_Syntax_Embeddings_Base.embedding) = + let embed1 rng lid = + let uu___ = FStar_Ident.path_of_lid lid in + embed FStar_Syntax_Embeddings.e_string_list rng uu___ in + let uu t _norm = + let uu___ = try_unembed FStar_Syntax_Embeddings.e_string_list t in + FStar_Compiler_Util.map_opt uu___ + (fun p -> FStar_Ident.lid_of_path p t.FStar_Syntax_Syntax.pos) in + let uu___ = FStar_Syntax_Syntax.t_list_of FStar_Syntax_Syntax.t_string in + FStar_Syntax_Embeddings_Base.mk_emb_full + (fun x -> fun r -> fun uu___1 -> fun uu___2 -> embed1 r x) uu uu___ + FStar_Ident.string_of_lid FStar_Syntax_Syntax.ET_abstract +let (e_namedv_view : + FStar_Reflection_V2_Data.namedv_view FStar_Syntax_Embeddings_Base.embedding) + = + let embed_namedv_view rng namedvv = + let uu___ = + let uu___1 = + let uu___2 = + embed FStar_Syntax_Embeddings.e_int rng + namedvv.FStar_Reflection_V2_Data.uniq in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_sort rng namedvv.FStar_Reflection_V2_Data.sort in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + embed e_ppname rng namedvv.FStar_Reflection_V2_Data.ppname in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Mk_namedv_view.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed_namedv_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_namedv_view.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___5 -> + fun uu___6 -> + fun uu___7 -> + { + FStar_Reflection_V2_Data.uniq = uu___5; + FStar_Reflection_V2_Data.sort = uu___6; + FStar_Reflection_V2_Data.ppname = uu___7 + }) FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_sort in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_ppname in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else FStar_Pervasives_Native.None) in + mk_emb embed_namedv_view unembed_namedv_view + FStar_Reflection_V2_Constants.fstar_refl_namedv_view +let (e_bv_view : + FStar_Reflection_V2_Data.bv_view FStar_Syntax_Embeddings_Base.embedding) = + let embed_bv_view rng bvv = + let uu___ = + let uu___1 = + let uu___2 = + embed FStar_Syntax_Embeddings.e_int rng + bvv.FStar_Reflection_V2_Data.index in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_sort rng bvv.FStar_Reflection_V2_Data.sort1 in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + embed e_ppname rng bvv.FStar_Reflection_V2_Data.ppname1 in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Mk_bv_view.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed_bv_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_bv_view.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___5 -> + fun uu___6 -> + fun uu___7 -> + { + FStar_Reflection_V2_Data.index = uu___5; + FStar_Reflection_V2_Data.sort1 = uu___6; + FStar_Reflection_V2_Data.ppname1 = uu___7 + }) FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_sort in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_ppname in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else FStar_Pervasives_Native.None) in + mk_emb embed_bv_view unembed_bv_view + FStar_Reflection_V2_Constants.fstar_refl_bv_view +let (e_binding : + FStar_Reflection_V2_Data.binding FStar_Syntax_Embeddings_Base.embedding) = + let embed1 rng bindingv = + let uu___ = + let uu___1 = + let uu___2 = + embed FStar_Syntax_Embeddings.e_int rng + bindingv.FStar_Reflection_V2_Data.uniq1 in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + embed e_term rng bindingv.FStar_Reflection_V2_Data.sort3 in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + embed e_ppname rng bindingv.FStar_Reflection_V2_Data.ppname3 in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Mk_binding.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_binding.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___5 -> + fun uu___6 -> + fun uu___7 -> + { + FStar_Reflection_V2_Data.uniq1 = uu___5; + FStar_Reflection_V2_Data.sort3 = uu___6; + FStar_Reflection_V2_Data.ppname3 = uu___7 + }) FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_ppname in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else FStar_Pervasives_Native.None) in + mk_emb embed1 unembed FStar_Reflection_V2_Constants.fstar_refl_binding +let (e_attribute : + FStar_Syntax_Syntax.attribute FStar_Syntax_Embeddings_Base.embedding) = + e_term +let (e_attributes : + FStar_Syntax_Syntax.attribute Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_attribute +let (e_binder_view : + FStar_Reflection_V2_Data.binder_view FStar_Syntax_Embeddings_Base.embedding) + = + let embed_binder_view rng bview = + let uu___ = + let uu___1 = + let uu___2 = embed e_term rng bview.FStar_Reflection_V2_Data.sort2 in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_aqualv rng bview.FStar_Reflection_V2_Data.qual in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + embed e_attributes rng bview.FStar_Reflection_V2_Data.attrs in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + embed e_ppname rng bview.FStar_Reflection_V2_Data.ppname2 in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Mk_binder_view.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed_binder_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_binder_view.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___6 -> + fun uu___7 -> + fun uu___8 -> + fun uu___9 -> + { + FStar_Reflection_V2_Data.sort2 = uu___6; + FStar_Reflection_V2_Data.qual = uu___7; + FStar_Reflection_V2_Data.attrs = uu___8; + FStar_Reflection_V2_Data.ppname2 = uu___9 + }) e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_aqualv in + let uu___5 = FStar_Syntax_Embeddings.e_list e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_ppname in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else FStar_Pervasives_Native.None) in + mk_emb embed_binder_view unembed_binder_view + FStar_Reflection_V2_Constants.fstar_refl_binder_view +let (e_comp_view : + FStar_Reflection_V2_Data.comp_view FStar_Syntax_Embeddings_Base.embedding) + = + let embed_comp_view rng cv = + match cv with + | FStar_Reflection_V2_Data.C_Total t -> + let uu___ = + let uu___1 = + let uu___2 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Total.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.C_GTotal t -> + let uu___ = + let uu___1 = + let uu___2 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_GTotal.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_term rng pre in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_term rng post in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_term rng pats in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Lemma.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.C_Eff (us, eff, res, args, decrs) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings.e_list e_universe in + embed uu___3 rng us in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + embed FStar_Syntax_Embeddings.e_string_list rng eff in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_term rng res in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = FStar_Syntax_Embeddings.e_list e_argv in + embed uu___9 rng args in + FStar_Syntax_Syntax.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = FStar_Syntax_Embeddings.e_list e_term in + embed uu___11 rng decrs in + FStar_Syntax_Syntax.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_C_Eff.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed_comp_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Total.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> FStar_Reflection_V2_Data.C_Total uu___3) + e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_GTotal.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> FStar_Reflection_V2_Data.C_GTotal uu___3) + e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Lemma.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry3 + (fun uu___5 -> + FStar_Reflection_V2_Data.C_Lemma uu___5)) + e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Eff.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + FStar_Syntax_Embeddings.e_list e_universe in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry5 + (fun uu___8 -> + FStar_Reflection_V2_Data.C_Eff uu___8)) + uu___7 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___6 FStar_Syntax_Embeddings.e_string_list in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_term in + let uu___5 = FStar_Syntax_Embeddings.e_list e_argv in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 uu___5 in + let uu___4 = FStar_Syntax_Embeddings.e_list e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_comp_view unembed_comp_view + FStar_Reflection_V2_Constants.fstar_refl_comp_view +let (e_order : FStar_Order.order FStar_Syntax_Embeddings_Base.embedding) = + let embed_order rng o = + let r = + match o with + | FStar_Order.Lt -> FStar_Reflection_V2_Constants.ord_Lt + | FStar_Order.Eq -> FStar_Reflection_V2_Constants.ord_Eq + | FStar_Order.Gt -> FStar_Reflection_V2_Constants.ord_Gt in + { + FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) + } in + let unembed_order t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Lt_lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure FStar_Order.Lt in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Eq_lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure FStar_Order.Eq in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Gt_lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure FStar_Order.Gt in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_order unembed_order FStar_Syntax_Syntax.t_order +let (e_univ_name : + FStar_Syntax_Syntax.univ_name FStar_Syntax_Embeddings_Base.embedding) = + e_ident +let (e_univ_names : + FStar_Syntax_Syntax.univ_name Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_univ_name +let (e_subst_elt : + FStar_Syntax_Syntax.subst_elt FStar_Syntax_Embeddings_Base.embedding) = + let ee rng e = + match e with + | FStar_Syntax_Syntax.DB (i, x) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_fsint rng i in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_namedv rng x in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_DB.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Syntax_Syntax.DT (i, t) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_fsint rng i in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_DT.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Syntax_Syntax.NM (x, i) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_namedv rng x in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed FStar_Syntax_Embeddings.e_fsint rng i in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_NM.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Syntax_Syntax.NT (x, t) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_namedv rng x in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_NT.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Syntax_Syntax.UN (i, u) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_fsint rng i in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_universe rng u in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_UN.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Syntax_Syntax.UD (u, i) -> + let uu___ = + let uu___1 = + let uu___2 = embed e_ident rng u in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed FStar_Syntax_Embeddings.e_fsint rng i in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_UD.FStar_Reflection_V2_Constants.t + uu___ rng in + let uu t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_DB.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry (fun uu___4 -> FStar_Syntax_Syntax.DB uu___4)) + FStar_Syntax_Embeddings.e_fsint in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_namedv in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_DT.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry (fun uu___4 -> FStar_Syntax_Syntax.DT uu___4)) + FStar_Syntax_Embeddings.e_fsint in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_NM.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> FStar_Syntax_Syntax.NM uu___4)) + e_namedv in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 FStar_Syntax_Embeddings.e_fsint in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_NT.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> FStar_Syntax_Syntax.NT uu___4)) + e_namedv in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_UN.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> FStar_Syntax_Syntax.UN uu___4)) + FStar_Syntax_Embeddings.e_fsint in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_universe in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_UD.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Syntax_Syntax.UD uu___4)) e_ident in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 FStar_Syntax_Embeddings.e_fsint in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb ee uu FStar_Reflection_V2_Constants.fstar_refl_subst_elt +let (e_subst : + FStar_Syntax_Syntax.subst_elt Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_subst_elt +let (e_ctor : + (Prims.string Prims.list * FStar_Syntax_Syntax.term) + FStar_Syntax_Embeddings_Base.embedding) + = + FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_string_list + e_term +let (e_lb_view : + FStar_Reflection_V2_Data.lb_view FStar_Syntax_Embeddings_Base.embedding) = + let embed_lb_view rng lbv = + let uu___ = + let uu___1 = + let uu___2 = embed e_fv rng lbv.FStar_Reflection_V2_Data.lb_fv in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + embed e_univ_names rng lbv.FStar_Reflection_V2_Data.lb_us in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_term rng lbv.FStar_Reflection_V2_Data.lb_typ in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + embed e_term rng lbv.FStar_Reflection_V2_Data.lb_def in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Mk_lb.FStar_Reflection_V2_Constants.t + uu___ rng in + let unembed_lb_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_lb.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___6 -> + fun uu___7 -> + fun uu___8 -> + fun uu___9 -> + { + FStar_Reflection_V2_Data.lb_fv = uu___6; + FStar_Reflection_V2_Data.lb_us = uu___7; + FStar_Reflection_V2_Data.lb_typ = uu___8; + FStar_Reflection_V2_Data.lb_def = uu___9 + }) e_fv in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_univ_names in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_term in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else FStar_Pervasives_Native.None) in + mk_emb embed_lb_view unembed_lb_view + FStar_Reflection_V2_Constants.fstar_refl_lb_view +let (e_sigelt_view : + FStar_Reflection_V2_Data.sigelt_view FStar_Syntax_Embeddings_Base.embedding) + = + let embed_sigelt_view rng sev = + match sev with + | FStar_Reflection_V2_Data.Sg_Let (r, lbs) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_bool rng r in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings.e_list e_letbinding in + embed uu___5 rng lbs in + FStar_Syntax_Syntax.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Sg_Let.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng nm in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_univ_names rng univs in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_binders rng bs in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = FStar_Syntax_Embeddings.e_list e_ctor in + embed uu___11 rng dcs in + FStar_Syntax_Syntax.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Sg_Inductive.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Sg_Val (nm, univs, t) -> + let uu___ = + let uu___1 = + let uu___2 = embed FStar_Syntax_Embeddings.e_string_list rng nm in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = embed e_univ_names rng univs in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_Sg_Val.FStar_Reflection_V2_Constants.t + uu___ rng + | FStar_Reflection_V2_Data.Unk -> + let uu___ = + FStar_Reflection_V2_Constants.ref_Unk.FStar_Reflection_V2_Constants.t in + { + FStar_Syntax_Syntax.n = (uu___.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (uu___.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = + (uu___.FStar_Syntax_Syntax.hash_code) + } in + let unembed_sigelt_view t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Inductive.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry5 + (fun uu___7 -> + FStar_Reflection_V2_Data.Sg_Inductive uu___7)) + FStar_Syntax_Embeddings.e_string_list in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___6 e_univ_names in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___5 e_binders in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_term in + let uu___4 = FStar_Syntax_Embeddings.e_list e_ctor in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Let.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry + (fun uu___4 -> + FStar_Reflection_V2_Data.Sg_Let uu___4)) + FStar_Syntax_Embeddings.e_bool in + let uu___4 = FStar_Syntax_Embeddings.e_list e_letbinding in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 uu___4 in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Val.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (curry3 + (fun uu___5 -> + FStar_Reflection_V2_Data.Sg_Val uu___5)) + FStar_Syntax_Embeddings.e_string_list in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___4 e_univ_names in + FStar_Syntax_Embeddings_AppEmb.op_Less_Star_Star_Greater + uu___3 e_term in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Unk.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Unk in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else FStar_Pervasives_Native.None) in + mk_emb embed_sigelt_view unembed_sigelt_view + FStar_Reflection_V2_Constants.fstar_refl_sigelt_view +let (e_qualifier : + FStar_Reflection_V2_Data.qualifier FStar_Syntax_Embeddings_Base.embedding) + = + let embed1 rng q = + let r = + match q with + | FStar_Reflection_V2_Data.Assumption -> + FStar_Reflection_V2_Constants.ref_qual_Assumption.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.InternalAssumption -> + FStar_Reflection_V2_Constants.ref_qual_InternalAssumption.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.New -> + FStar_Reflection_V2_Constants.ref_qual_New.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Private -> + FStar_Reflection_V2_Constants.ref_qual_Private.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen -> + FStar_Reflection_V2_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Visible_default -> + FStar_Reflection_V2_Constants.ref_qual_Visible_default.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Irreducible -> + FStar_Reflection_V2_Constants.ref_qual_Irreducible.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Inline_for_extraction -> + FStar_Reflection_V2_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.NoExtract -> + FStar_Reflection_V2_Constants.ref_qual_NoExtract.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Noeq -> + FStar_Reflection_V2_Constants.ref_qual_Noeq.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Unopteq -> + FStar_Reflection_V2_Constants.ref_qual_Unopteq.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.TotalEffect -> + FStar_Reflection_V2_Constants.ref_qual_TotalEffect.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Logic -> + FStar_Reflection_V2_Constants.ref_qual_Logic.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Reifiable -> + FStar_Reflection_V2_Constants.ref_qual_Reifiable.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.ExceptionConstructor -> + FStar_Reflection_V2_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.HasMaskedEffect -> + FStar_Reflection_V2_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Effect -> + FStar_Reflection_V2_Constants.ref_qual_Effect.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.OnlyName -> + FStar_Reflection_V2_Constants.ref_qual_OnlyName.FStar_Reflection_V2_Constants.t + | FStar_Reflection_V2_Data.Reflectable l -> + let uu___ = + let uu___1 = + let uu___2 = embed e_lid rng l in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_Reflectable.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Discriminator l -> + let uu___ = + let uu___1 = + let uu___2 = embed e_lid rng l in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_Discriminator.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Action l -> + let uu___ = + let uu___1 = + let uu___2 = embed e_lid rng l in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_Action.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.Projector (l, i) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings.e_tuple2 e_lid e_ident in + embed uu___3 rng (l, i) in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_Projector.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.RecordType (ids1, ids2) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Embeddings.e_list e_ident in + let uu___5 = FStar_Syntax_Embeddings.e_list e_ident in + FStar_Syntax_Embeddings.e_tuple2 uu___4 uu___5 in + embed uu___3 rng (ids1, ids2) in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_RecordType.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange + | FStar_Reflection_V2_Data.RecordConstructor (ids1, ids2) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Embeddings.e_list e_ident in + let uu___5 = FStar_Syntax_Embeddings.e_list e_ident in + FStar_Syntax_Embeddings.e_tuple2 uu___4 uu___5 in + embed uu___3 rng (ids1, ids2) in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.ref_qual_RecordConstructor.FStar_Reflection_V2_Constants.t + uu___ FStar_Compiler_Range_Type.dummyRange in + { + FStar_Syntax_Syntax.n = (r.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.pos = rng; + FStar_Syntax_Syntax.vars = (r.FStar_Syntax_Syntax.vars); + FStar_Syntax_Syntax.hash_code = (r.FStar_Syntax_Syntax.hash_code) + } in + let unembed t = + let uu___ = head_fv_and_args t in + FStar_Syntax_Embeddings_AppEmb.op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (fv, args) -> + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Assumption.FStar_Reflection_V2_Constants.lid + then + let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Assumption in + FStar_Syntax_Embeddings_AppEmb.run args uu___2 + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_InternalAssumption.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.InternalAssumption in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_New.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.New in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Private.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Private in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Visible_default.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Visible_default in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Irreducible.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Irreducible in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Inline_for_extraction in + FStar_Syntax_Embeddings_AppEmb.run args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_NoExtract.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.NoExtract in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Noeq.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Noeq in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Unopteq.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Unopteq in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_TotalEffect.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.TotalEffect in + FStar_Syntax_Embeddings_AppEmb.run args + uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Logic.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Logic in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Reifiable.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Reifiable in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.ExceptionConstructor in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.HasMaskedEffect in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_Effect.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.Effect in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_OnlyName.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.pure + FStar_Reflection_V2_Data.OnlyName in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_Reflectable.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Reflectable + uu___3) e_lid in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_Discriminator.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Discriminator + uu___3) e_lid in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_Action.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___3 -> + FStar_Reflection_V2_Data.Action + uu___3) + e_lid in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_Projector.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings.e_tuple2 + e_lid e_ident in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___4 -> + FStar_Reflection_V2_Data.Projector + uu___4) + uu___3 in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_RecordType.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 = + FStar_Syntax_Embeddings.e_list + e_ident in + let uu___5 = + FStar_Syntax_Embeddings.e_list + e_ident in + FStar_Syntax_Embeddings.e_tuple2 + uu___4 + uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___4 + -> + FStar_Reflection_V2_Data.RecordType + uu___4) + uu___3 in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + if + FStar_Syntax_Syntax.fv_eq_lid + fv + FStar_Reflection_V2_Constants.ref_qual_RecordConstructor.FStar_Reflection_V2_Constants.lid + then + (let uu___2 = + let uu___3 = + let uu___4 + = + FStar_Syntax_Embeddings.e_list + e_ident in + let uu___5 + = + FStar_Syntax_Embeddings.e_list + e_ident in + FStar_Syntax_Embeddings.e_tuple2 + uu___4 + uu___5 in + FStar_Syntax_Embeddings_AppEmb.op_Less_Dollar_Dollar_Greater + (fun uu___4 + -> + FStar_Reflection_V2_Data.RecordConstructor + uu___4) + uu___3 in + FStar_Syntax_Embeddings_AppEmb.run + args uu___2) + else + FStar_Pervasives_Native.None) in + mk_emb embed1 unembed FStar_Reflection_V2_Constants.fstar_refl_qualifier +let (e_qualifiers : + FStar_Reflection_V2_Data.qualifier Prims.list + FStar_Syntax_Embeddings_Base.embedding) + = FStar_Syntax_Embeddings.e_list e_qualifier +let (unfold_lazy_bv : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let bv = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_bv bv in + embed e_bv_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_bv.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_namedv : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let namedv1 = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_namedv namedv1 in + embed e_namedv_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_namedv.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_binder : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let binder = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_binder binder in + embed e_binder_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_binder.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_letbinding : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let lb = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let lbv = FStar_Reflection_V2_Builtins.inspect_lb lb in + let uu___ = + let uu___1 = + let uu___2 = + embed e_fv i.FStar_Syntax_Syntax.rng + lbv.FStar_Reflection_V2_Data.lb_fv in + FStar_Syntax_Syntax.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + embed e_univ_names i.FStar_Syntax_Syntax.rng + lbv.FStar_Reflection_V2_Data.lb_us in + FStar_Syntax_Syntax.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + embed e_term i.FStar_Syntax_Syntax.rng + lbv.FStar_Reflection_V2_Data.lb_typ in + FStar_Syntax_Syntax.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + embed e_term i.FStar_Syntax_Syntax.rng + lbv.FStar_Reflection_V2_Data.lb_def in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_lb.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_fvar : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let fv = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in + let uu___4 = FStar_Reflection_V2_Builtins.inspect_fv fv in + embed uu___3 i.FStar_Syntax_Syntax.rng uu___4 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_fv.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_comp : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let comp = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_comp comp in + embed e_comp_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_comp.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_env : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> FStar_Syntax_Util.exp_unit +let (unfold_lazy_optionstate : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> FStar_Syntax_Util.exp_unit +let (unfold_lazy_sigelt : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let sigelt = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_sigelt sigelt in + embed e_sigelt_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_sigelt.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng +let (unfold_lazy_universe : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> + let u = FStar_Compiler_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Reflection_V2_Builtins.inspect_universe u in + embed e_universe_view i.FStar_Syntax_Syntax.rng uu___3 in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app + FStar_Reflection_V2_Constants.fstar_refl_pack_universe.FStar_Reflection_V2_Constants.t + uu___ i.FStar_Syntax_Syntax.rng \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Formula.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Formula.ml new file mode 100644 index 00000000000..a18bbeb3064 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Formula.ml @@ -0,0 +1,2742 @@ +open Prims +let rec (inspect_unascribe : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (33)) (Prims.of_int (8)) (Prims.of_int (33)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (33)) (Prims.of_int (2)) (Prims.of_int (37)) + (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_AscribedT + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | FStar_Tactics_NamedView.Tv_AscribedC + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | tv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) + uu___) +let rec (collect_app' : + FStar_Reflection_V2_Data.argv Prims.list -> + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.term * FStar_Reflection_V2_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = + fun args -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (41)) (Prims.of_int (10)) (Prims.of_int (41)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (41)) (Prims.of_int (4)) (Prims.of_int (44)) + (Prims.of_int (20))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_App (l, r) -> + Obj.magic (Obj.repr (collect_app' (r :: args) l)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (t, args))))) uu___) +let (collect_app : + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.term * FStar_Reflection_V2_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = collect_app' [] +type comparison = + | Eq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option + | BoolEq of FStar_Reflection_Types.typ FStar_Pervasives_Native.option + | Lt + | Le + | Gt + | Ge +let rec __knot_e_comparison _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Reflection.V2.Formula.comparison" + (fun tm_0 -> + match tm_0 with + | ("FStar.Reflection.V2.Formula.Eq", _0_2::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) _0_2) + (fun _0_2 -> FStar_Pervasives_Native.Some (Eq _0_2)) + | ("FStar.Reflection.V2.Formula.BoolEq", _0_4::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) _0_4) + (fun _0_4 -> FStar_Pervasives_Native.Some (BoolEq _0_4)) + | ("FStar.Reflection.V2.Formula.Lt", []) -> + FStar_Pervasives_Native.Some Lt + | ("FStar.Reflection.V2.Formula.Le", []) -> + FStar_Pervasives_Native.Some Le + | ("FStar.Reflection.V2.Formula.Gt", []) -> + FStar_Pervasives_Native.Some Gt + | ("FStar.Reflection.V2.Formula.Ge", []) -> + FStar_Pervasives_Native.Some Ge + | _ -> FStar_Pervasives_Native.None) + (fun tm_9 -> + match tm_9 with + | Eq _0_11 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Eq")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) _0_11), + FStar_Pervasives_Native.None)] + | BoolEq _0_13 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.BoolEq")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) _0_13), + FStar_Pervasives_Native.None)] + | Lt -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Lt")) [] + | Le -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Le")) [] + | Gt -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Gt")) [] + | Ge -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Ge")) []) +let e_comparison = __knot_e_comparison () +let (uu___is_Eq : comparison -> Prims.bool) = + fun projectee -> match projectee with | Eq _0 -> true | uu___ -> false +let (__proj__Eq__item___0 : + comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | Eq _0 -> _0 +let (uu___is_BoolEq : comparison -> Prims.bool) = + fun projectee -> match projectee with | BoolEq _0 -> true | uu___ -> false +let (__proj__BoolEq__item___0 : + comparison -> FStar_Reflection_Types.typ FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | BoolEq _0 -> _0 +let (uu___is_Lt : comparison -> Prims.bool) = + fun projectee -> match projectee with | Lt -> true | uu___ -> false +let (uu___is_Le : comparison -> Prims.bool) = + fun projectee -> match projectee with | Le -> true | uu___ -> false +let (uu___is_Gt : comparison -> Prims.bool) = + fun projectee -> match projectee with | Gt -> true | uu___ -> false +let (uu___is_Ge : comparison -> Prims.bool) = + fun projectee -> match projectee with | Ge -> true | uu___ -> false +type formula = + | True_ + | False_ + | Comp of comparison * FStar_Tactics_NamedView.term * + FStar_Tactics_NamedView.term + | And of FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term + | Or of FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term + | Not of FStar_Tactics_NamedView.term + | Implies of FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term + | Iff of FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term + | Forall of FStar_Tactics_NamedView.bv * FStar_Reflection_Types.typ * + FStar_Tactics_NamedView.term + | Exists of FStar_Tactics_NamedView.bv * FStar_Reflection_Types.typ * + FStar_Tactics_NamedView.term + | App of FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term + | Name of FStar_Tactics_NamedView.namedv + | FV of FStar_Reflection_Types.fv + | IntLit of Prims.int + | F_Unknown +let rec __knot_e_formula _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Reflection.V2.Formula.formula" + (fun tm_18 -> + match tm_18 with + | ("FStar.Reflection.V2.Formula.True_", []) -> + FStar_Pervasives_Native.Some True_ + | ("FStar.Reflection.V2.Formula.False_", []) -> + FStar_Pervasives_Native.Some False_ + | ("FStar.Reflection.V2.Formula.Comp", _0_22::_1_23::_2_24::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed e_comparison + _0_22) + (fun _0_22 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_23) + (fun _1_23 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _2_24) + (fun _2_24 -> + FStar_Pervasives_Native.Some + (Comp (_0_22, _1_23, _2_24))))) + | ("FStar.Reflection.V2.Formula.And", _0_26::_1_27::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_26) + (fun _0_26 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_27) + (fun _1_27 -> + FStar_Pervasives_Native.Some (And (_0_26, _1_27)))) + | ("FStar.Reflection.V2.Formula.Or", _0_29::_1_30::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_29) + (fun _0_29 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_30) + (fun _1_30 -> + FStar_Pervasives_Native.Some (Or (_0_29, _1_30)))) + | ("FStar.Reflection.V2.Formula.Not", _0_32::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_32) + (fun _0_32 -> FStar_Pervasives_Native.Some (Not _0_32)) + | ("FStar.Reflection.V2.Formula.Implies", _0_34::_1_35::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_34) + (fun _0_34 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_35) + (fun _1_35 -> + FStar_Pervasives_Native.Some (Implies (_0_34, _1_35)))) + | ("FStar.Reflection.V2.Formula.Iff", _0_37::_1_38::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_37) + (fun _0_37 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_38) + (fun _1_38 -> + FStar_Pervasives_Native.Some (Iff (_0_37, _1_38)))) + | ("FStar.Reflection.V2.Formula.Forall", _0_40::_1_41::_2_42::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_bv_view _0_40) + (fun _0_40 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_41) + (fun _1_41 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _2_42) + (fun _2_42 -> + FStar_Pervasives_Native.Some + (Forall (_0_40, _1_41, _2_42))))) + | ("FStar.Reflection.V2.Formula.Exists", _0_44::_1_45::_2_46::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_bv_view _0_44) + (fun _0_44 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_45) + (fun _1_45 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _2_46) + (fun _2_46 -> + FStar_Pervasives_Native.Some + (Exists (_0_44, _1_45, _2_46))))) + | ("FStar.Reflection.V2.Formula.App", _0_48::_1_49::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _0_48) + (fun _0_48 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term _1_49) + (fun _1_49 -> + FStar_Pervasives_Native.Some (App (_0_48, _1_49)))) + | ("FStar.Reflection.V2.Formula.Name", _0_51::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_namedv_view _0_51) + (fun _0_51 -> FStar_Pervasives_Native.Some (Name _0_51)) + | ("FStar.Reflection.V2.Formula.FV", _0_53::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_fv _0_53) + (fun _0_53 -> FStar_Pervasives_Native.Some (FV _0_53)) + | ("FStar.Reflection.V2.Formula.IntLit", _0_55::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_int _0_55) + (fun _0_55 -> FStar_Pervasives_Native.Some (IntLit _0_55)) + | ("FStar.Reflection.V2.Formula.F_Unknown", []) -> + FStar_Pervasives_Native.Some F_Unknown + | _ -> FStar_Pervasives_Native.None) + (fun tm_57 -> + match tm_57 with + | True_ -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.True_")) + [] + | False_ -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.False_")) + [] + | Comp (_0_61, _1_62, _2_63) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Comp")) + [((FStar_Syntax_Embeddings_Base.extracted_embed e_comparison + _0_61), FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_62), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _2_63), + FStar_Pervasives_Native.None)] + | And (_0_65, _1_66) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.And")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_65), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_66), + FStar_Pervasives_Native.None)] + | Or (_0_68, _1_69) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Or")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_68), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_69), + FStar_Pervasives_Native.None)] + | Not _0_71 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Not")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_71), + FStar_Pervasives_Native.None)] + | Implies (_0_73, _1_74) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Implies")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_73), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_74), + FStar_Pervasives_Native.None)] + | Iff (_0_76, _1_77) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Iff")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_76), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_77), + FStar_Pervasives_Native.None)] + | Forall (_0_79, _1_80, _2_81) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Forall")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_bv_view _0_79), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_80), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _2_81), + FStar_Pervasives_Native.None)] + | Exists (_0_83, _1_84, _2_85) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Exists")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_bv_view _0_83), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_84), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _2_85), + FStar_Pervasives_Native.None)] + | App (_0_87, _1_88) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.App")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _0_87), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term _1_88), + FStar_Pervasives_Native.None)] + | Name _0_90 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.Name")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_namedv_view _0_90), + FStar_Pervasives_Native.None)] + | FV _0_92 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.FV")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_fv _0_92), + FStar_Pervasives_Native.None)] + | IntLit _0_94 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Reflection.V2.Formula.IntLit")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_int _0_94), + FStar_Pervasives_Native.None)] + | F_Unknown -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Reflection.V2.Formula.F_Unknown")) []) +let e_formula = __knot_e_formula () +let (uu___is_True_ : formula -> Prims.bool) = + fun projectee -> match projectee with | True_ -> true | uu___ -> false +let (uu___is_False_ : formula -> Prims.bool) = + fun projectee -> match projectee with | False_ -> true | uu___ -> false +let (uu___is_Comp : formula -> Prims.bool) = + fun projectee -> + match projectee with | Comp (_0, _1, _2) -> true | uu___ -> false +let (__proj__Comp__item___0 : formula -> comparison) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _0 +let (__proj__Comp__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _1 +let (__proj__Comp__item___2 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Comp (_0, _1, _2) -> _2 +let (uu___is_And : formula -> Prims.bool) = + fun projectee -> + match projectee with | And (_0, _1) -> true | uu___ -> false +let (__proj__And__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | And (_0, _1) -> _0 +let (__proj__And__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | And (_0, _1) -> _1 +let (uu___is_Or : formula -> Prims.bool) = + fun projectee -> + match projectee with | Or (_0, _1) -> true | uu___ -> false +let (__proj__Or__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Or (_0, _1) -> _0 +let (__proj__Or__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Or (_0, _1) -> _1 +let (uu___is_Not : formula -> Prims.bool) = + fun projectee -> match projectee with | Not _0 -> true | uu___ -> false +let (__proj__Not__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Not _0 -> _0 +let (uu___is_Implies : formula -> Prims.bool) = + fun projectee -> + match projectee with | Implies (_0, _1) -> true | uu___ -> false +let (__proj__Implies__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Implies (_0, _1) -> _0 +let (__proj__Implies__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Implies (_0, _1) -> _1 +let (uu___is_Iff : formula -> Prims.bool) = + fun projectee -> + match projectee with | Iff (_0, _1) -> true | uu___ -> false +let (__proj__Iff__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Iff (_0, _1) -> _0 +let (__proj__Iff__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Iff (_0, _1) -> _1 +let (uu___is_Forall : formula -> Prims.bool) = + fun projectee -> + match projectee with | Forall (_0, _1, _2) -> true | uu___ -> false +let (__proj__Forall__item___0 : formula -> FStar_Tactics_NamedView.bv) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _0 +let (__proj__Forall__item___1 : formula -> FStar_Reflection_Types.typ) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _1 +let (__proj__Forall__item___2 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Forall (_0, _1, _2) -> _2 +let (uu___is_Exists : formula -> Prims.bool) = + fun projectee -> + match projectee with | Exists (_0, _1, _2) -> true | uu___ -> false +let (__proj__Exists__item___0 : formula -> FStar_Tactics_NamedView.bv) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _0 +let (__proj__Exists__item___1 : formula -> FStar_Reflection_Types.typ) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _1 +let (__proj__Exists__item___2 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | Exists (_0, _1, _2) -> _2 +let (uu___is_App : formula -> Prims.bool) = + fun projectee -> + match projectee with | App (_0, _1) -> true | uu___ -> false +let (__proj__App__item___0 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | App (_0, _1) -> _0 +let (__proj__App__item___1 : formula -> FStar_Tactics_NamedView.term) = + fun projectee -> match projectee with | App (_0, _1) -> _1 +let (uu___is_Name : formula -> Prims.bool) = + fun projectee -> match projectee with | Name _0 -> true | uu___ -> false +let (__proj__Name__item___0 : formula -> FStar_Tactics_NamedView.namedv) = + fun projectee -> match projectee with | Name _0 -> _0 +let (uu___is_FV : formula -> Prims.bool) = + fun projectee -> match projectee with | FV _0 -> true | uu___ -> false +let (__proj__FV__item___0 : formula -> FStar_Reflection_Types.fv) = + fun projectee -> match projectee with | FV _0 -> _0 +let (uu___is_IntLit : formula -> Prims.bool) = + fun projectee -> match projectee with | IntLit _0 -> true | uu___ -> false +let (__proj__IntLit__item___0 : formula -> Prims.int) = + fun projectee -> match projectee with | IntLit _0 -> _0 +let (uu___is_F_Unknown : formula -> Prims.bool) = + fun projectee -> match projectee with | F_Unknown -> true | uu___ -> false +let (mk_Forall : + FStar_Tactics_NamedView.term -> FStar_Tactics_NamedView.term -> formula) = + fun typ -> + fun pred -> + let b = + FStar_Tactics_NamedView.pack_bv + { + FStar_Reflection_V2_Data.index = Prims.int_zero; + FStar_Reflection_V2_Data.sort1 = (FStar_Sealed.seal typ); + FStar_Reflection_V2_Data.ppname1 = + (FStar_Reflection_V2_Data.as_ppname "x") + } in + Forall + (b, typ, + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_App + (pred, + ((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_BVar b)), + FStar_Reflection_V2_Data.Q_Explicit))))) +let (mk_Exists : + FStar_Tactics_NamedView.term -> FStar_Tactics_NamedView.term -> formula) = + fun typ -> + fun pred -> + let b = + FStar_Tactics_NamedView.pack_bv + { + FStar_Reflection_V2_Data.index = Prims.int_zero; + FStar_Reflection_V2_Data.sort1 = (FStar_Sealed.seal typ); + FStar_Reflection_V2_Data.ppname1 = + (FStar_Reflection_V2_Data.as_ppname "x") + } in + Exists + (b, typ, + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_App + (pred, + ((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_BVar b)), + FStar_Reflection_V2_Data.Q_Explicit))))) +let (term_as_formula' : + FStar_Tactics_NamedView.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (87)) (Prims.of_int (10)) (Prims.of_int (87)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (87)) (Prims.of_int (4)) (Prims.of_int (163)) + (Prims.of_int (38))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_Var n -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Name n))) + | FStar_Tactics_NamedView.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + if + (FStar_Reflection_V2_Builtins.inspect_fv fv) = + FStar_Reflection_Const.true_qn + then True_ + else + if + (FStar_Reflection_V2_Builtins.inspect_fv fv) = + FStar_Reflection_Const.false_qn + then False_ + else FV fv))) + | FStar_Tactics_NamedView.Tv_UInst (fv, uu___1) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + if + (FStar_Reflection_V2_Builtins.inspect_fv fv) = + FStar_Reflection_Const.true_qn + then True_ + else + if + (FStar_Reflection_V2_Builtins.inspect_fv fv) = + FStar_Reflection_Const.false_qn + then False_ + else FV fv))) + | FStar_Tactics_NamedView.Tv_App (h0, t1) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (103)) (Prims.of_int (22)) + (Prims.of_int (103)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (102)) (Prims.of_int (26)) + (Prims.of_int (141)) (Prims.of_int (26))))) + (Obj.magic (collect_app h0)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (h, ts) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (104)) + (Prims.of_int (16)) + (Prims.of_int (104)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (105)) + (Prims.of_int (8)) + (Prims.of_int (141)) + (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V2_Derived.un_uinst + h)) + (fun uu___2 -> + (fun h1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (105)) + (Prims.of_int (14)) + (Prims.of_int (105)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (105)) + (Prims.of_int (8)) + (Prims.of_int (141)) + (Prims.of_int (26))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (105)) + (Prims.of_int (14)) + (Prims.of_int (105)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (105)) + (Prims.of_int (14)) + (Prims.of_int (105)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_NamedView.inspect + h1)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + (uu___2, + (FStar_List_Tot_Base.op_At + ts + [t1])))))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + match uu___2 with + | (FStar_Tactics_NamedView.Tv_FVar + fv, + (a1, + FStar_Reflection_V2_Data.Q_Implicit):: + (a2, + FStar_Reflection_V2_Data.Q_Explicit):: + (a3, + FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.eq2_qn + then + Comp + ((Eq + (FStar_Pervasives_Native.Some + a1)), a2, + a3) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.eq1_qn + then + Comp + ((BoolEq + (FStar_Pervasives_Native.Some + a1)), a2, + a3) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.lt_qn + then + Comp + (Lt, a2, + a3) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.lte_qn + then + Comp + (Le, a2, + a3) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.gt_qn + then + Comp + (Gt, a2, + a3) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.gte_qn + then + Comp + (Ge, a2, + a3) + else + App + (h0, + (FStar_Pervasives_Native.fst + t1)) + | (FStar_Tactics_NamedView.Tv_FVar + fv, + (a1, + FStar_Reflection_V2_Data.Q_Explicit):: + (a2, + FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.imp_qn + then + Implies + (a1, a2) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.and_qn + then + And + (a1, a2) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.iff_qn + then + Iff + (a1, a2) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.or_qn + then + Or + (a1, a2) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.eq2_qn + then + Comp + ((Eq + FStar_Pervasives_Native.None), + a1, a2) + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.eq1_qn + then + Comp + ((BoolEq + FStar_Pervasives_Native.None), + a1, a2) + else + App + (h0, + (FStar_Pervasives_Native.fst + t1)) + | (FStar_Tactics_NamedView.Tv_FVar + fv, + (a1, + FStar_Reflection_V2_Data.Q_Implicit):: + (a2, + FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.forall_qn + then + mk_Forall a1 + a2 + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.exists_qn + then + mk_Exists + a1 a2 + else + App + (h0, + (FStar_Pervasives_Native.fst + t1)) + | (FStar_Tactics_NamedView.Tv_FVar + fv, + (a, + FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = + FStar_Reflection_Const.not_qn + then Not a + else + if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) = + FStar_Reflection_Const.b2t_qn + then + (if + FStar_Reflection_V2_Builtins.term_eq + a + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_False)) + then + False_ + else + if + FStar_Reflection_V2_Builtins.term_eq + a + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_True)) + then + True_ + else + App + (h0, + (FStar_Pervasives_Native.fst + t1))) + else + App + (h0, + (FStar_Pervasives_Native.fst + t1)) + | uu___4 -> + App + (h0, + (FStar_Pervasives_Native.fst + t1)))))) + uu___2))) uu___1))) + | FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int i) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> IntLit i))) + | FStar_Tactics_NamedView.Tv_Let + (uu___1, uu___2, uu___3, uu___4, uu___5) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___6 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Match (uu___1, uu___2, uu___3) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Type uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Abs (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Arrow (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Uvar (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Unknown -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Unsupp -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Refine (uu___1, uu___2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_Const uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown))) + | FStar_Tactics_NamedView.Tv_BVar uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> F_Unknown))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + (FStar_Tactics_Common.TacticFailure "???")))) uu___) +let _ = + FStar_Tactics_Native.register_tactic + "FStar.Reflection.V2.Formula.term_as_formula'" (Prims.of_int (2)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 + (FStar_Tactics_Native.from_tactic_1 term_as_formula') + FStar_Reflection_V2_Embeddings.e_term e_formula psc ncb args) +let (term_as_formula : + FStar_Tactics_NamedView.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun t -> + match FStar_Reflection_V2_Derived.unsquash_term t with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> F_Unknown))) + | FStar_Pervasives_Native.Some t1 -> + Obj.magic (Obj.repr (term_as_formula' t1))) uu___ +let (term_as_formula_total : + FStar_Tactics_NamedView.term -> + (formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + term_as_formula' (FStar_Reflection_V2_Derived.maybe_unsquash_term t) +let (formula_as_term_view : formula -> FStar_Tactics_NamedView.term_view) = + fun f -> + let mk_app' tv args = + FStar_List_Tot_Base.fold_left + (fun tv1 -> + fun a -> + FStar_Tactics_NamedView.Tv_App + ((FStar_Tactics_NamedView.pack tv1), a)) tv args in + let e = FStar_Reflection_V2_Data.Q_Explicit in + let i = FStar_Reflection_V2_Data.Q_Implicit in + match f with + | True_ -> + FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.true_qn) + | False_ -> + FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.false_qn) + | Comp (Eq (FStar_Pervasives_Native.None), l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) [(l, e); (r, e)] + | Comp (Eq (FStar_Pervasives_Native.Some t), l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) [(t, i); (l, e); (r, e)] + | Comp (BoolEq (FStar_Pervasives_Native.None), l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq1_qn)) [(l, e); (r, e)] + | Comp (BoolEq (FStar_Pervasives_Native.Some t), l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq1_qn)) [(t, i); (l, e); (r, e)] + | Comp (Lt, l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.lt_qn)) [(l, e); (r, e)] + | Comp (Le, l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.lte_qn)) [(l, e); (r, e)] + | Comp (Gt, l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.gt_qn)) [(l, e); (r, e)] + | Comp (Ge, l, r) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.gte_qn)) [(l, e); (r, e)] + | And (p, q) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.and_qn)) [(p, e); (q, e)] + | Or (p, q) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.or_qn)) [(p, e); (q, e)] + | Implies (p, q) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.imp_qn)) [(p, e); (q, e)] + | Not p -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.not_qn)) [(p, e)] + | Iff (p, q) -> + mk_app' + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.iff_qn)) [(p, e); (q, e)] + | Forall (b, sort, t) -> FStar_Tactics_NamedView.Tv_Unknown + | Exists (b, sort, t) -> FStar_Tactics_NamedView.Tv_Unknown + | App (p, q) -> + FStar_Tactics_NamedView.Tv_App + (p, (q, FStar_Reflection_V2_Data.Q_Explicit)) + | Name b -> FStar_Tactics_NamedView.Tv_Var b + | FV fv -> FStar_Tactics_NamedView.Tv_FVar fv + | IntLit i1 -> + FStar_Tactics_NamedView.Tv_Const (FStar_Reflection_V2_Data.C_Int i1) + | F_Unknown -> FStar_Tactics_NamedView.Tv_Unknown +let (formula_as_term : formula -> FStar_Tactics_NamedView.term) = + fun f -> FStar_Tactics_NamedView.pack (formula_as_term_view f) +let (namedv_to_string : + FStar_Tactics_NamedView.namedv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun namedv -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (219)) (Prims.of_int (18)) (Prims.of_int (219)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (220)) (Prims.of_int (4)) (Prims.of_int (220)) + (Prims.of_int (25))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Tactics_NamedView.inspect_namedv namedv)) + (fun uu___ -> + (fun namedvv -> + Obj.magic + (FStar_Tactics_Unseal.unseal + namedvv.FStar_Reflection_V2_Data.ppname)) uu___) +let (formula_to_string : + formula -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun f -> + match f with + | True_ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "True_"))) + | False_ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "False_"))) + | Comp (Eq mt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (24)) + (Prims.of_int (230)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (24)) + (Prims.of_int (229)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (227)) (Prims.of_int (24)) + (Prims.of_int (230)) (Prims.of_int (80))))) + (match mt with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> ""))) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (229)) + (Prims.of_int (44)) + (Prims.of_int (229)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (229)) + (Prims.of_int (44)) + (Prims.of_int (229)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat " (" uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (24)) + (Prims.of_int (230)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (31)) + (Prims.of_int (230)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (31)) + (Prims.of_int (230)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (31)) + (Prims.of_int (230)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + l)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (50)) + (Prims.of_int (230)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (58)) + (Prims.of_int (230)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (230)) + (Prims.of_int (58)) + (Prims.of_int (230)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun + uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + uu___2 + ")")))) + (fun uu___2 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + ") (" + uu___2)))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 + -> + Prims.strcat + uu___1 + uu___2)))) + uu___1))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat " (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Eq" uu___)))) + | Comp (BoolEq mt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (24)) + (Prims.of_int (235)) (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (24)) + (Prims.of_int (234)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (232)) (Prims.of_int (24)) + (Prims.of_int (235)) (Prims.of_int (80))))) + (match mt with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> ""))) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (234)) + (Prims.of_int (44)) + (Prims.of_int (234)) + (Prims.of_int (66))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (234)) + (Prims.of_int (44)) + (Prims.of_int (234)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat " (" uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (24)) + (Prims.of_int (235)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (31)) + (Prims.of_int (235)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (31)) + (Prims.of_int (235)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (31)) + (Prims.of_int (235)) + (Prims.of_int (80))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + l)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (50)) + (Prims.of_int (235)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (58)) + (Prims.of_int (235)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (235)) + (Prims.of_int (58)) + (Prims.of_int (235)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun + uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + uu___2 + ")")))) + (fun uu___2 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + Prims.strcat + ") (" + uu___2)))) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 + -> + Prims.strcat + uu___1 + uu___2)))) + uu___1))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat " (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "BoolEq" uu___)))) + | Comp (Lt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) (Prims.of_int (30)) + (Prims.of_int (236)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) (Prims.of_int (30)) + (Prims.of_int (236)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) (Prims.of_int (30)) + (Prims.of_int (236)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) + (Prims.of_int (49)) + (Prims.of_int (236)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) + (Prims.of_int (57)) + (Prims.of_int (236)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (236)) + (Prims.of_int (57)) + (Prims.of_int (236)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Lt (" uu___)))) + | Comp (Le, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) (Prims.of_int (30)) + (Prims.of_int (237)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) (Prims.of_int (30)) + (Prims.of_int (237)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) (Prims.of_int (30)) + (Prims.of_int (237)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) + (Prims.of_int (49)) + (Prims.of_int (237)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) + (Prims.of_int (57)) + (Prims.of_int (237)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (237)) + (Prims.of_int (57)) + (Prims.of_int (237)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Le (" uu___)))) + | Comp (Gt, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) (Prims.of_int (30)) + (Prims.of_int (238)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) (Prims.of_int (30)) + (Prims.of_int (238)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) (Prims.of_int (30)) + (Prims.of_int (238)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) + (Prims.of_int (49)) + (Prims.of_int (238)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) + (Prims.of_int (57)) + (Prims.of_int (238)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (238)) + (Prims.of_int (57)) + (Prims.of_int (238)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Gt (" uu___)))) + | Comp (Ge, l, r) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) (Prims.of_int (30)) + (Prims.of_int (239)) (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) (Prims.of_int (30)) + (Prims.of_int (239)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) (Prims.of_int (30)) + (Prims.of_int (239)) (Prims.of_int (79))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string l)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) + (Prims.of_int (49)) + (Prims.of_int (239)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) + (Prims.of_int (57)) + (Prims.of_int (239)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (239)) + (Prims.of_int (57)) + (Prims.of_int (239)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + r)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Ge (" uu___)))) + | And (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) (Prims.of_int (27)) + (Prims.of_int (240)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) (Prims.of_int (27)) + (Prims.of_int (240)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) (Prims.of_int (27)) + (Prims.of_int (240)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) + (Prims.of_int (46)) + (Prims.of_int (240)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) + (Prims.of_int (54)) + (Prims.of_int (240)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (240)) + (Prims.of_int (54)) + (Prims.of_int (240)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "And (" uu___)))) + | Or (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) (Prims.of_int (27)) + (Prims.of_int (241)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) (Prims.of_int (27)) + (Prims.of_int (241)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) (Prims.of_int (27)) + (Prims.of_int (241)) (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) + (Prims.of_int (46)) + (Prims.of_int (241)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) + (Prims.of_int (54)) + (Prims.of_int (241)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (241)) + (Prims.of_int (54)) + (Prims.of_int (241)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Or (" uu___)))) + | Implies (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) (Prims.of_int (36)) + (Prims.of_int (242)) (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) (Prims.of_int (36)) + (Prims.of_int (242)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) (Prims.of_int (36)) + (Prims.of_int (242)) (Prims.of_int (85))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) + (Prims.of_int (55)) + (Prims.of_int (242)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) + (Prims.of_int (63)) + (Prims.of_int (242)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (242)) + (Prims.of_int (63)) + (Prims.of_int (242)) + (Prims.of_int (79))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Implies (" uu___)))) + | Not p -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (243)) (Prims.of_int (26)) + (Prims.of_int (243)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (243)) (Prims.of_int (26)) + (Prims.of_int (243)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Not (" uu___)))) + | Iff (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) (Prims.of_int (28)) + (Prims.of_int (244)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) (Prims.of_int (28)) + (Prims.of_int (244)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) (Prims.of_int (28)) + (Prims.of_int (244)) (Prims.of_int (77))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) + (Prims.of_int (47)) + (Prims.of_int (244)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) + (Prims.of_int (55)) + (Prims.of_int (244)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (244)) + (Prims.of_int (55)) + (Prims.of_int (244)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Iff (" uu___)))) + | Forall (bs, _sort, t) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (245)) (Prims.of_int (45)) + (Prims.of_int (245)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (245)) (Prims.of_int (45)) + (Prims.of_int (245)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Forall (" uu___)))) + | Exists (bs, _sort, t) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (246)) (Prims.of_int (45)) + (Prims.of_int (246)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (246)) (Prims.of_int (45)) + (Prims.of_int (246)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Exists (" uu___)))) + | App (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) (Prims.of_int (28)) + (Prims.of_int (247)) (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) (Prims.of_int (28)) + (Prims.of_int (247)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) (Prims.of_int (28)) + (Prims.of_int (247)) (Prims.of_int (77))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string p)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) + (Prims.of_int (47)) + (Prims.of_int (247)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) + (Prims.of_int (55)) + (Prims.of_int (247)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (247)) + (Prims.of_int (55)) + (Prims.of_int (247)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + q)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 + ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ") (" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "App (" uu___)))) + | Name bv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (248)) (Prims.of_int (29)) + (Prims.of_int (248)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Reflection.V2.Formula.fst" + (Prims.of_int (248)) (Prims.of_int (29)) + (Prims.of_int (248)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (namedv_to_string bv)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat uu___ ")")))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> Prims.strcat "Name (" uu___)))) + | FV fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Prims.strcat "FV (" + (Prims.strcat + (FStar_Reflection_V2_Derived.flatten_name + (FStar_Reflection_V2_Builtins.inspect_fv fv)) + ")")))) + | IntLit i -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Prims.strcat "Int " (Prims.string_of_int i)))) + | F_Unknown -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "?")))) + uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Interpreter.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Interpreter.ml new file mode 100644 index 00000000000..3e5ca998c25 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_Interpreter.ml @@ -0,0 +1,855 @@ +open Prims +let unembed : + 'uuuuu . + unit -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 'uuuuu FStar_Pervasives_Native.option + = fun uu___ -> FStar_Syntax_Embeddings_Base.unembed +let try_unembed : + 'uuuuu . + unit -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 'uuuuu FStar_Pervasives_Native.option + = fun uu___ -> FStar_Syntax_Embeddings_Base.try_unembed +let embed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Compiler_Range_Type.range -> + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term + = + fun ea -> + fun r -> + fun x -> + fun norm_cb -> + let uu___ = FStar_Syntax_Embeddings_Base.embed ea x in + uu___ r FStar_Pervasives_Native.None norm_cb +let int1 : + 'a 'r . + FStar_Ident.lid -> + ('a -> 'r) -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun m -> + fun f -> + fun ea -> + fun er -> + fun psc -> + fun n -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = (try_unembed ()) ea a1 n in + FStar_Compiler_Util.bind_opt uu___1 + (fun a2 -> + let uu___2 = + let uu___3 = FStar_TypeChecker_Cfg.psc_range psc in + let uu___4 = f a2 in embed er uu___3 uu___4 n in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let int2 : + 'a 'b 'r . + FStar_Ident.lid -> + ('a -> 'b -> 'r) -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 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 n -> + fun args -> + match args with + | (a1, uu___)::(b1, uu___1)::[] -> + let uu___2 = (try_unembed ()) ea a1 n in + FStar_Compiler_Util.bind_opt uu___2 + (fun a2 -> + let uu___3 = (try_unembed ()) eb b1 n in + FStar_Compiler_Util.bind_opt uu___3 + (fun b2 -> + let uu___4 = + let uu___5 = + FStar_TypeChecker_Cfg.psc_range psc in + let uu___6 = f a2 b2 in + embed er uu___5 uu___6 n in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let int3 : + 'a 'b 'c 'r . + FStar_Ident.lid -> + ('a -> 'b -> 'c -> 'r) -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'c FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun m -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + fun psc -> + fun n -> + fun args -> + match args with + | (a1, uu___)::(b1, uu___1)::(c1, uu___2)::[] -> + let uu___3 = (try_unembed ()) ea a1 n in + FStar_Compiler_Util.bind_opt uu___3 + (fun a2 -> + let uu___4 = (try_unembed ()) eb b1 n in + FStar_Compiler_Util.bind_opt uu___4 + (fun b2 -> + let uu___5 = (try_unembed ()) ec c1 n in + FStar_Compiler_Util.bind_opt uu___5 + (fun c2 -> + let uu___6 = + let uu___7 = + FStar_TypeChecker_Cfg.psc_range + psc in + let uu___8 = f a2 b2 c2 in + embed er uu___7 uu___8 n in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let nbe_int1 : + 'a 'r . + FStar_Ident.lid -> + ('a -> 'r) -> + 'a FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun m -> + fun f -> + fun ea -> + fun er -> + fun cb -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed ea cb a1 in + FStar_Compiler_Util.bind_opt uu___1 + (fun a2 -> + let uu___2 = + let uu___3 = f a2 in + FStar_TypeChecker_NBETerm.embed er cb uu___3 in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let nbe_int2 : + 'a 'b 'r . + FStar_Ident.lid -> + ('a -> 'b -> 'r) -> + 'a FStar_TypeChecker_NBETerm.embedding -> + 'b FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.nbe_cbs -> + 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 -> + match args with + | (a1, uu___)::(b1, uu___1)::[] -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed ea cb a1 in + FStar_Compiler_Util.bind_opt uu___2 + (fun a2 -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed eb cb b1 in + FStar_Compiler_Util.bind_opt uu___3 + (fun b2 -> + let uu___4 = + let uu___5 = f a2 b2 in + FStar_TypeChecker_NBETerm.embed er cb uu___5 in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let nbe_int3 : + 'a 'b 'c 'r . + FStar_Ident.lid -> + ('a -> 'b -> 'c -> 'r) -> + 'a FStar_TypeChecker_NBETerm.embedding -> + 'b FStar_TypeChecker_NBETerm.embedding -> + 'c FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun m -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + fun cb -> + fun args -> + match args with + | (a1, uu___)::(b1, uu___1)::(c1, uu___2)::[] -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed ea cb a1 in + FStar_Compiler_Util.bind_opt uu___3 + (fun a2 -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed eb cb b1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun b2 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed ec cb c1 in + FStar_Compiler_Util.bind_opt uu___5 + (fun c2 -> + let uu___6 = + let uu___7 = f a2 b2 c2 in + FStar_TypeChecker_NBETerm.embed er cb + uu___7 in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let (mklid : Prims.string -> FStar_Ident.lid) = + fun nm -> FStar_Reflection_V2_Constants.fstar_refl_builtins_lid nm +let (mk_us : + FStar_Ident.lid -> + Prims.int -> + Prims.int -> + (FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + -> + (FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) + -> FStar_TypeChecker_Cfg.primitive_step) + = + fun l -> + fun u_arity -> + fun arity -> + fun fn -> + fun nbe_fn -> + { + FStar_TypeChecker_Cfg.name = l; + FStar_TypeChecker_Cfg.arity = arity; + FStar_TypeChecker_Cfg.univ_arity = u_arity; + FStar_TypeChecker_Cfg.auto_reflect = + FStar_Pervasives_Native.None; + FStar_TypeChecker_Cfg.strong_reduction_ok = true; + FStar_TypeChecker_Cfg.requires_binder_substitution = false; + FStar_TypeChecker_Cfg.interpretation = + (fun psc -> fun cbs -> fun _us -> fun args -> fn psc cbs args); + FStar_TypeChecker_Cfg.interpretation_nbe = + (fun cbs -> fun _us -> fun args -> nbe_fn cbs args) + } +let (mk : + FStar_Ident.lid -> + Prims.int -> + (FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + -> + (FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) + -> FStar_TypeChecker_Cfg.primitive_step) + = + fun l -> + fun arity -> + fun fn -> fun nbe_fn -> mk_us l Prims.int_zero arity fn nbe_fn +type 'a dualemb = + ('a FStar_Syntax_Embeddings_Base.embedding * 'a + FStar_TypeChecker_NBETerm.embedding) +let (e_int : FStar_BigInt.t dualemb) = + (FStar_Syntax_Embeddings.e_int, FStar_TypeChecker_NBETerm.e_int) +let (e_bool : Prims.bool dualemb) = + (FStar_Syntax_Embeddings.e_bool, FStar_TypeChecker_NBETerm.e_bool) +let (e_string : Prims.string dualemb) = + (FStar_Syntax_Embeddings.e_string, FStar_TypeChecker_NBETerm.e_string) +let (e_order : FStar_Order.order dualemb) = + (FStar_Reflection_V2_Embeddings.e_order, + FStar_Reflection_V2_NBEEmbeddings.e_order) +let (e_term : FStar_Syntax_Syntax.term dualemb) = + (FStar_Reflection_V2_Embeddings.e_term, + FStar_Reflection_V2_NBEEmbeddings.e_term) +let (e_term_view : FStar_Reflection_V2_Data.term_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_term_view, + FStar_Reflection_V2_NBEEmbeddings.e_term_view) +let (e_fv : FStar_Syntax_Syntax.fv dualemb) = + (FStar_Reflection_V2_Embeddings.e_fv, + FStar_Reflection_V2_NBEEmbeddings.e_fv) +let (e_bv : FStar_Syntax_Syntax.bv dualemb) = + (FStar_Reflection_V2_Embeddings.e_bv, + FStar_Reflection_V2_NBEEmbeddings.e_bv) +let (e_namedv : FStar_Reflection_V2_Embeddings.namedv dualemb) = + (FStar_Reflection_V2_Embeddings.e_namedv, + FStar_Reflection_V2_NBEEmbeddings.e_namedv) +let (e_bv_view : FStar_Reflection_V2_Data.bv_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_bv_view, + FStar_Reflection_V2_NBEEmbeddings.e_bv_view) +let (e_namedv_view : FStar_Reflection_V2_Data.namedv_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_namedv_view, + FStar_Reflection_V2_NBEEmbeddings.e_namedv_view) +let (e_binding : FStar_Reflection_V2_Data.binding dualemb) = + (FStar_Reflection_V2_Embeddings.e_binding, + FStar_Reflection_V2_NBEEmbeddings.e_binding) +let (e_comp : FStar_Syntax_Syntax.comp dualemb) = + (FStar_Reflection_V2_Embeddings.e_comp, + FStar_Reflection_V2_NBEEmbeddings.e_comp) +let (e_comp_view : FStar_Reflection_V2_Data.comp_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_comp_view, + FStar_Reflection_V2_NBEEmbeddings.e_comp_view) +let (e_universe : FStar_Syntax_Syntax.universe dualemb) = + (FStar_Reflection_V2_Embeddings.e_universe, + FStar_Reflection_V2_NBEEmbeddings.e_universe) +let (e_universe_view : FStar_Reflection_V2_Data.universe_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_universe_view, + FStar_Reflection_V2_NBEEmbeddings.e_universe_view) +let (e_sigelt : FStar_Syntax_Syntax.sigelt dualemb) = + (FStar_Reflection_V2_Embeddings.e_sigelt, + FStar_Reflection_V2_NBEEmbeddings.e_sigelt) +let (e_sigelt_view : FStar_Reflection_V2_Data.sigelt_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_sigelt_view, + FStar_Reflection_V2_NBEEmbeddings.e_sigelt_view) +let (e_binder : FStar_Syntax_Syntax.binder dualemb) = + (FStar_Reflection_V2_Embeddings.e_binder, + FStar_Reflection_V2_NBEEmbeddings.e_binder) +let (e_binder_view : FStar_Reflection_V2_Data.binder_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_binder_view, + FStar_Reflection_V2_NBEEmbeddings.e_binder_view) +let (e_binders : FStar_Syntax_Syntax.binders dualemb) = + (FStar_Reflection_V2_Embeddings.e_binders, + FStar_Reflection_V2_NBEEmbeddings.e_binders) +let (e_letbinding : FStar_Syntax_Syntax.letbinding dualemb) = + (FStar_Reflection_V2_Embeddings.e_letbinding, + FStar_Reflection_V2_NBEEmbeddings.e_letbinding) +let (e_lb_view : FStar_Reflection_V2_Data.lb_view dualemb) = + (FStar_Reflection_V2_Embeddings.e_lb_view, + FStar_Reflection_V2_NBEEmbeddings.e_lb_view) +let (e_env : FStar_TypeChecker_Env.env dualemb) = + (FStar_Reflection_V2_Embeddings.e_env, + FStar_Reflection_V2_NBEEmbeddings.e_env) +let (e_aqualv : FStar_Reflection_V2_Data.aqualv dualemb) = + (FStar_Reflection_V2_Embeddings.e_aqualv, + FStar_Reflection_V2_NBEEmbeddings.e_aqualv) +let (e_vconfig : FStar_VConfig.vconfig dualemb) = + (FStar_Syntax_Embeddings.e_vconfig, FStar_TypeChecker_NBETerm.e_vconfig) +let (e_attributes : FStar_Syntax_Syntax.attribute Prims.list dualemb) = + (FStar_Reflection_V2_Embeddings.e_attributes, + FStar_Reflection_V2_NBEEmbeddings.e_attributes) +let (e_qualifiers : FStar_Reflection_V2_Data.qualifiers dualemb) = + (FStar_Reflection_V2_Embeddings.e_qualifiers, + FStar_Reflection_V2_NBEEmbeddings.e_qualifiers) +let (e_range : FStar_Compiler_Range_Type.range dualemb) = + (FStar_Syntax_Embeddings.e_range, FStar_TypeChecker_NBETerm.e_range) +let nbe_dummy : 'a . unit -> 'a FStar_TypeChecker_NBETerm.embedding = + fun uu___ -> + let uu___1 = + FStar_TypeChecker_NBETerm.mk_t FStar_TypeChecker_NBETerm.Unknown in + FStar_TypeChecker_NBETerm.mk_emb + (fun uu___2 -> fun uu___3 -> failwith "nbe_dummy embed") + (fun uu___2 -> fun uu___3 -> failwith "nbe_dummy unembed") uu___1 + FStar_Syntax_Syntax.ET_abstract +let (e_ident : FStar_Ident.ident dualemb) = + let uu___ = nbe_dummy () in (FStar_Reflection_V2_Embeddings.e_ident, uu___) +let (e_subst : FStar_Syntax_Syntax.subst_elt Prims.list dualemb) = + (FStar_Reflection_V2_Embeddings.e_subst, + FStar_Reflection_V2_NBEEmbeddings.e_subst) +let e_list : 'a . 'a dualemb -> 'a Prims.list dualemb = + fun e -> + let uu___ = + FStar_Syntax_Embeddings.e_list (FStar_Pervasives_Native.fst e) in + let uu___1 = + FStar_TypeChecker_NBETerm.e_list (FStar_Pervasives_Native.snd e) in + (uu___, uu___1) +let e_option : 'a . 'a dualemb -> 'a FStar_Pervasives_Native.option dualemb = + fun e -> + let uu___ = + FStar_Syntax_Embeddings.e_option (FStar_Pervasives_Native.fst e) in + let uu___1 = + FStar_TypeChecker_NBETerm.e_option (FStar_Pervasives_Native.snd e) in + (uu___, uu___1) +let e_tuple2 : 'a 'b . 'a dualemb -> 'b dualemb -> ('a * 'b) dualemb = + fun ea -> + fun eb -> + let uu___ = + FStar_Syntax_Embeddings.e_tuple2 (FStar_Pervasives_Native.fst ea) + (FStar_Pervasives_Native.fst eb) in + let uu___1 = + FStar_TypeChecker_NBETerm.e_tuple2 (FStar_Pervasives_Native.snd ea) + (FStar_Pervasives_Native.snd eb) in + (uu___, uu___1) +let (e_string_list : Prims.string Prims.list dualemb) = e_list e_string +let mk1' : + 'a 'r . + Prims.string -> + ('a -> 'r) -> + 'a dualemb -> 'r dualemb -> FStar_TypeChecker_Cfg.primitive_step + = + fun nm -> + fun f -> + fun ea -> + fun er -> + let l = mklid nm in + mk_us l Prims.int_one Prims.int_one + (int1 l f (FStar_Pervasives_Native.fst ea) + (FStar_Pervasives_Native.fst er)) + (nbe_int1 l f (FStar_Pervasives_Native.snd ea) + (FStar_Pervasives_Native.snd er)) +let mk1 : + 'a 'r . + Prims.string -> + ('a -> 'r) -> + 'a dualemb -> 'r dualemb -> FStar_TypeChecker_Cfg.primitive_step + = + fun nm -> + fun f -> + fun ea -> + fun er -> + let l = mklid nm in + mk l Prims.int_one + (int1 l f (FStar_Pervasives_Native.fst ea) + (FStar_Pervasives_Native.fst er)) + (nbe_int1 l f (FStar_Pervasives_Native.snd ea) + (FStar_Pervasives_Native.snd er)) +let mk2 : + 'a 'b 'r . + Prims.string -> + ('a -> 'b -> 'r) -> + 'a dualemb -> + 'b dualemb -> 'r dualemb -> FStar_TypeChecker_Cfg.primitive_step + = + fun nm -> + fun f -> + fun ea -> + fun eb -> + fun er -> + let l = mklid nm in + mk l (Prims.of_int (2)) + (int2 l f (FStar_Pervasives_Native.fst ea) + (FStar_Pervasives_Native.fst eb) + (FStar_Pervasives_Native.fst er)) + (nbe_int2 l f (FStar_Pervasives_Native.snd ea) + (FStar_Pervasives_Native.snd eb) + (FStar_Pervasives_Native.snd er)) +let mk3 : + 'a 'b 'c 'r . + Prims.string -> + ('a -> 'b -> 'c -> 'r) -> + 'a dualemb -> + 'b dualemb -> + 'c dualemb -> 'r dualemb -> FStar_TypeChecker_Cfg.primitive_step + = + fun nm -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + let l = mklid nm in + mk l (Prims.of_int (3)) + (int3 l f (FStar_Pervasives_Native.fst ea) + (FStar_Pervasives_Native.fst eb) + (FStar_Pervasives_Native.fst ec) + (FStar_Pervasives_Native.fst er)) + (nbe_int3 l f (FStar_Pervasives_Native.snd ea) + (FStar_Pervasives_Native.snd eb) + (FStar_Pervasives_Native.snd ec) + (FStar_Pervasives_Native.snd er)) +let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = + let uu___ = + mk1 "inspect_ln" FStar_Reflection_V2_Builtins.inspect_ln e_term + e_term_view in + let uu___1 = + let uu___2 = + mk1 "pack_ln" FStar_Reflection_V2_Builtins.pack_ln e_term_view e_term in + let uu___3 = + let uu___4 = + mk1 "inspect_fv" FStar_Reflection_V2_Builtins.inspect_fv e_fv + e_string_list in + let uu___5 = + let uu___6 = + mk1 "pack_fv" FStar_Reflection_V2_Builtins.pack_fv e_string_list + e_fv in + let uu___7 = + let uu___8 = + mk1 "inspect_comp" FStar_Reflection_V2_Builtins.inspect_comp + e_comp e_comp_view in + let uu___9 = + let uu___10 = + mk1 "pack_comp" FStar_Reflection_V2_Builtins.pack_comp + e_comp_view e_comp in + let uu___11 = + let uu___12 = + mk1 "inspect_universe" + FStar_Reflection_V2_Builtins.inspect_universe e_universe + e_universe_view in + let uu___13 = + let uu___14 = + mk1 "pack_universe" + FStar_Reflection_V2_Builtins.pack_universe + e_universe_view e_universe in + let uu___15 = + let uu___16 = + mk1 "inspect_sigelt" + FStar_Reflection_V2_Builtins.inspect_sigelt e_sigelt + e_sigelt_view in + let uu___17 = + let uu___18 = + mk1 "pack_sigelt" + FStar_Reflection_V2_Builtins.pack_sigelt + e_sigelt_view e_sigelt in + let uu___19 = + let uu___20 = + mk1 "inspect_lb" + FStar_Reflection_V2_Builtins.inspect_lb + e_letbinding e_lb_view in + let uu___21 = + let uu___22 = + mk1 "pack_lb" FStar_Reflection_V2_Builtins.pack_lb + e_lb_view e_letbinding in + let uu___23 = + let uu___24 = + mk1 "inspect_namedv" + FStar_Reflection_V2_Builtins.inspect_namedv + e_namedv e_namedv_view in + let uu___25 = + let uu___26 = + mk1 "pack_namedv" + FStar_Reflection_V2_Builtins.pack_namedv + e_namedv_view e_namedv in + let uu___27 = + let uu___28 = + mk1 "inspect_bv" + FStar_Reflection_V2_Builtins.inspect_bv + e_bv e_bv_view in + let uu___29 = + let uu___30 = + mk1 "pack_bv" + FStar_Reflection_V2_Builtins.pack_bv + e_bv_view e_bv in + let uu___31 = + let uu___32 = + mk1 "inspect_binder" + FStar_Reflection_V2_Builtins.inspect_binder + e_binder e_binder_view in + let uu___33 = + let uu___34 = + mk1 "pack_binder" + FStar_Reflection_V2_Builtins.pack_binder + e_binder_view e_binder in + let uu___35 = + let uu___36 = + let uu___37 = e_option e_vconfig in + mk1 "sigelt_opts" + FStar_Reflection_V2_Builtins.sigelt_opts + e_sigelt uu___37 in + let uu___37 = + let uu___38 = + mk1 "embed_vconfig" + FStar_Reflection_V2_Builtins.embed_vconfig + e_vconfig e_term in + let uu___39 = + let uu___40 = + mk1 "sigelt_attrs" + FStar_Reflection_V2_Builtins.sigelt_attrs + e_sigelt e_attributes in + let uu___41 = + let uu___42 = + mk2 "set_sigelt_attrs" + FStar_Reflection_V2_Builtins.set_sigelt_attrs + e_attributes e_sigelt + e_sigelt in + let uu___43 = + let uu___44 = + mk1 "sigelt_quals" + FStar_Reflection_V2_Builtins.sigelt_quals + e_sigelt e_qualifiers in + let uu___45 = + let uu___46 = + mk2 "set_sigelt_quals" + FStar_Reflection_V2_Builtins.set_sigelt_quals + e_qualifiers e_sigelt + e_sigelt in + let uu___47 = + let uu___48 = + mk2 "subst_term" + FStar_Reflection_V2_Builtins.subst_term + e_subst e_term e_term in + let uu___49 = + let uu___50 = + mk2 "subst_comp" + FStar_Reflection_V2_Builtins.subst_comp + e_subst e_comp e_comp in + let uu___51 = + let uu___52 = + mk2 "compare_bv" + FStar_Reflection_V2_Builtins.compare_bv + e_bv e_bv e_order in + let uu___53 = + let uu___54 = + mk2 + "compare_namedv" + FStar_Reflection_V2_Builtins.compare_namedv + e_namedv e_namedv + e_order in + let uu___55 = + let uu___56 = + let uu___57 = + e_list e_fv in + mk2 "lookup_attr" + FStar_Reflection_V2_Builtins.lookup_attr + e_term e_env + uu___57 in + let uu___57 = + let uu___58 = + let uu___59 = + e_list e_fv in + mk1 + "all_defs_in_env" + FStar_Reflection_V2_Builtins.all_defs_in_env + e_env uu___59 in + let uu___59 = + let uu___60 = + let uu___61 = + e_list e_fv in + mk2 + "defs_in_module" + FStar_Reflection_V2_Builtins.defs_in_module + e_env + e_string_list + uu___61 in + let uu___61 = + let uu___62 = + mk2 + "term_eq" + FStar_Reflection_V2_Builtins.term_eq + e_term + e_term + e_bool in + let uu___63 = + let uu___64 + = + mk1 + "moduleof" + FStar_Reflection_V2_Builtins.moduleof + e_env + e_string_list in + let uu___65 + = + let uu___66 + = + let uu___67 + = + e_list + e_binding in + mk1 + "vars_of_env" + FStar_Reflection_V2_Builtins.vars_of_env + e_env + uu___67 in + let uu___67 + = + let uu___68 + = + let uu___69 + = + e_option + e_sigelt in + mk2 + "lookup_typ" + FStar_Reflection_V2_Builtins.lookup_typ + e_env + e_string_list + uu___69 in + let uu___69 + = + let uu___70 + = + let uu___71 + = + e_list + e_string_list in + mk1 + "env_open_modules" + FStar_Reflection_V2_Builtins.env_open_modules + e_env + uu___71 in + let uu___71 + = + let uu___72 + = + mk1 + "implode_qn" + FStar_Reflection_V2_Builtins.implode_qn + e_string_list + e_string in + let uu___73 + = + let uu___74 + = + mk1 + "explode_qn" + FStar_Reflection_V2_Builtins.explode_qn + e_string + e_string_list in + let uu___75 + = + let uu___76 + = + mk2 + "compare_string" + FStar_Reflection_V2_Builtins.compare_string + e_string + e_string + e_int in + let uu___77 + = + let uu___78 + = + mk2 + "push_namedv" + FStar_Reflection_V2_Builtins.push_namedv + e_env + e_namedv + e_env in + let uu___79 + = + let uu___80 + = + mk1 + "range_of_term" + FStar_Reflection_V2_Builtins.range_of_term + e_term + e_range in + let uu___81 + = + let uu___82 + = + mk1 + "range_of_sigelt" + FStar_Reflection_V2_Builtins.range_of_sigelt + e_sigelt + e_range in + let uu___83 + = + let uu___84 + = + let uu___85 + = + e_tuple2 + e_string + e_range in + mk1 + "inspect_ident" + FStar_Reflection_V2_Builtins.inspect_ident + e_ident + uu___85 in + let uu___85 + = + let uu___86 + = + let uu___87 + = + e_tuple2 + e_string + e_range in + mk1 + "pack_ident" + FStar_Reflection_V2_Builtins.pack_ident + uu___87 + e_ident in + [uu___86] in + uu___84 + :: + uu___85 in + uu___82 + :: + uu___83 in + uu___80 + :: + uu___81 in + uu___78 + :: + uu___79 in + uu___76 + :: + uu___77 in + uu___74 + :: + uu___75 in + uu___72 + :: + uu___73 in + uu___70 + :: + uu___71 in + uu___68 + :: + uu___69 in + uu___66 + :: + uu___67 in + uu___64 :: + uu___65 in + uu___62 :: + uu___63 in + uu___60 :: + uu___61 in + uu___58 :: + uu___59 in + uu___56 :: uu___57 in + uu___54 :: uu___55 in + uu___52 :: uu___53 in + uu___50 :: uu___51 in + uu___48 :: uu___49 in + uu___46 :: uu___47 in + uu___44 :: uu___45 in + uu___42 :: uu___43 in + uu___40 :: uu___41 in + uu___38 :: uu___39 in + uu___36 :: uu___37 in + uu___34 :: uu___35 in + uu___32 :: uu___33 in + uu___30 :: uu___31 in + uu___28 :: uu___29 in + uu___26 :: uu___27 in + uu___24 :: uu___25 in + uu___22 :: uu___23 in + uu___20 :: uu___21 in + uu___18 :: uu___19 in + uu___16 :: uu___17 in + uu___14 :: uu___15 in + uu___12 :: uu___13 in + uu___10 :: uu___11 in + uu___8 :: uu___9 in + uu___6 :: uu___7 in + uu___4 :: uu___5 in + uu___2 :: uu___3 in + uu___ :: uu___1 +let (uu___216 : unit) = + FStar_Compiler_List.iter FStar_TypeChecker_Cfg.register_extra_step + reflection_primops \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_NBEEmbeddings.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_NBEEmbeddings.ml new file mode 100644 index 00000000000..8f7d82d3c40 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_NBEEmbeddings.ml @@ -0,0 +1,2804 @@ +open Prims +let (noaqs : FStar_Syntax_Syntax.antiquotations) = (Prims.int_zero, []) +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 -> + FStar_TypeChecker_NBETerm.mkFV fv (FStar_Compiler_List.rev us) + (FStar_Compiler_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 -> + FStar_TypeChecker_NBETerm.mkConstruct fv (FStar_Compiler_List.rev us) + (FStar_Compiler_List.rev ts) +let (fv_as_emb_typ : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.emb_typ) = + fun fv -> + let uu___ = + let uu___1 = + FStar_Ident.string_of_lid + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (uu___1, []) in + FStar_Syntax_Syntax.ET_app uu___ +let mk_emb' : + 'uuuuu . + (FStar_TypeChecker_NBETerm.nbe_cbs -> + 'uuuuu -> FStar_TypeChecker_NBETerm.t) + -> + (FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.t -> 'uuuuu FStar_Pervasives_Native.option) + -> + FStar_Syntax_Syntax.fv -> 'uuuuu FStar_TypeChecker_NBETerm.embedding + = + fun x -> + fun y -> + fun fv -> + let uu___ = mkFV fv [] [] in + let uu___1 = fv_as_emb_typ fv in + FStar_TypeChecker_NBETerm.mk_emb x y uu___ uu___1 +let mk_lazy : + 'uuuuu . + FStar_TypeChecker_NBETerm.nbe_cbs -> + 'uuuuu -> + 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 -> + let li = + let uu___ = FStar_Compiler_Dyn.mkdyn obj in + { + FStar_Syntax_Syntax.blob = uu___; + FStar_Syntax_Syntax.lkind = kind; + FStar_Syntax_Syntax.ltyp = ty; + FStar_Syntax_Syntax.rng = FStar_Compiler_Range_Type.dummyRange + } in + let thunk = + FStar_Thunk.mk + (fun uu___ -> + let uu___1 = FStar_Syntax_Util.unfold_lazy li in + FStar_TypeChecker_NBETerm.translate_cb cb uu___1) in + FStar_TypeChecker_NBETerm.mk_t + (FStar_TypeChecker_NBETerm.Lazy + ((FStar_Pervasives.Inl li), thunk)) +let (e_bv : FStar_Syntax_Syntax.bv FStar_TypeChecker_NBETerm.embedding) = + let embed_bv cb bv = + mk_lazy cb bv FStar_Reflection_V2_Constants.fstar_refl_bv + FStar_Syntax_Syntax.Lazy_bv in + let unembed_bv cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded bv: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_bv unembed_bv FStar_Reflection_V2_Constants.fstar_refl_bv_fv +let (e_namedv : + FStar_Reflection_V2_Data.namedv FStar_TypeChecker_NBETerm.embedding) = + let embed_namedv cb namedv = + mk_lazy cb namedv FStar_Reflection_V2_Constants.fstar_refl_namedv + FStar_Syntax_Syntax.Lazy_namedv in + let unembed_namedv cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_namedv; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded namedv: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_namedv unembed_namedv + FStar_Reflection_V2_Constants.fstar_refl_namedv_fv +let (e_binder : + FStar_Syntax_Syntax.binder FStar_TypeChecker_NBETerm.embedding) = + let embed_binder cb b = + mk_lazy cb b FStar_Reflection_V2_Constants.fstar_refl_binder + FStar_Syntax_Syntax.Lazy_binder in + let unembed_binder cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded binder: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_binder unembed_binder + FStar_Reflection_V2_Constants.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 -> + match l with + | [] -> FStar_Pervasives_Native.Some [] + | x::xs -> + let uu___ = f x in + FStar_Compiler_Util.bind_opt uu___ + (fun x1 -> + let uu___1 = mapM_opt f xs in + FStar_Compiler_Util.bind_opt uu___1 + (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) +let (e_term_aq : + (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax + Prims.list) -> + FStar_Syntax_Syntax.term FStar_TypeChecker_NBETerm.embedding) + = + fun aq -> + let embed_term cb t = + let qi = + { + FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; + FStar_Syntax_Syntax.antiquotations = aq + } in + FStar_TypeChecker_NBETerm.mk_t + (FStar_TypeChecker_NBETerm.Quote (t, qi)) in + let unembed_term cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Quote (tm, qi) -> + let uu___ = + FStar_Reflection_V2_Embeddings.e_term_aq (Prims.int_zero, []) in + let uu___1 = + FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (tm, qi)) + FStar_Compiler_Range_Type.dummyRange in + FStar_Syntax_Embeddings_Base.unembed uu___ uu___1 + FStar_Syntax_Embeddings_Base.id_norm_cb + | uu___ -> FStar_Pervasives_Native.None in + let uu___ = mkFV FStar_Reflection_V2_Constants.fstar_refl_term_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V2_Constants.fstar_refl_term_fv in + { + FStar_TypeChecker_NBETerm.em = embed_term; + FStar_TypeChecker_NBETerm.un = unembed_term; + FStar_TypeChecker_NBETerm.typ = uu___; + FStar_TypeChecker_NBETerm.emb_typ = uu___1 + } +let (e_term : FStar_Syntax_Syntax.term FStar_TypeChecker_NBETerm.embedding) = + e_term_aq (Prims.int_zero, []) +let (e_aqualv : + FStar_Reflection_V2_Data.aqualv FStar_TypeChecker_NBETerm.embedding) = + let embed_aqualv cb q = + match q with + | FStar_Reflection_V2_Data.Q_Explicit -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Q_Explicit.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Q_Implicit -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Q_Implicit.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Q_Meta t -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Q_Meta.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_aqualv cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Explicit.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Q_Explicit + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Implicit.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Q_Implicit + | FStar_TypeChecker_NBETerm.Construct (fv, [], (t1, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Q_Meta.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___1 + (fun t2 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.Q_Meta t2)) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded aqualv: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + let uu___ = + mkConstruct FStar_Reflection_V2_Constants.fstar_refl_aqualv_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V2_Constants.fstar_refl_aqualv_fv in + FStar_TypeChecker_NBETerm.mk_emb embed_aqualv unembed_aqualv uu___ uu___1 +let (e_binders : + FStar_Syntax_Syntax.binders FStar_TypeChecker_NBETerm.embedding) = + 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_V2_Constants.fstar_refl_fv + FStar_Syntax_Syntax.Lazy_fvar in + let unembed_fv cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded fvar: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_fv unembed_fv FStar_Reflection_V2_Constants.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_V2_Constants.fstar_refl_comp + FStar_Syntax_Syntax.Lazy_comp in + let unembed_comp cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded comp: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_comp unembed_comp + FStar_Reflection_V2_Constants.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_V2_Constants.fstar_refl_env + FStar_Syntax_Syntax.Lazy_env in + let unembed_env cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_env; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded env: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_env unembed_env + FStar_Reflection_V2_Constants.fstar_refl_env_fv +let (e_vconst : + FStar_Reflection_V2_Data.vconst FStar_TypeChecker_NBETerm.embedding) = + let embed_const cb c = + match c with + | FStar_Reflection_V2_Data.C_Unit -> + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Unit.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.C_True -> + mkConstruct + FStar_Reflection_V2_Constants.ref_C_True.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.C_False -> + mkConstruct + FStar_Reflection_V2_Constants.ref_C_False.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.C_Int i -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_Compiler_Effect.op_Less_Bar + FStar_TypeChecker_NBETerm.mk_t + (FStar_TypeChecker_NBETerm.Constant + (FStar_TypeChecker_NBETerm.Int i)) in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Int.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_String s -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_string cb s in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_String.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_Range r -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_range cb r in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Range.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_Reify -> + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Reify.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.C_Reflect ns -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_string_list cb ns in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Reflect.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_const cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Unit.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.C_Unit + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_True.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.C_True + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_False.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.C_False + | FStar_TypeChecker_NBETerm.Construct (fv, [], (i, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Int.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb i in + FStar_Compiler_Util.bind_opt uu___1 + (fun i1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.C_Int i1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (s, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_String.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_string cb s in + FStar_Compiler_Util.bind_opt uu___1 + (fun s1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.C_String s1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (r, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Range.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_range + cb r in + FStar_Compiler_Util.bind_opt uu___1 + (fun r1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.C_Range r1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Reify.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.C_Reify + | FStar_TypeChecker_NBETerm.Construct (fv, [], (ns, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Reflect.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_string_list cb ns in + FStar_Compiler_Util.bind_opt uu___1 + (fun ns1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.C_Reflect ns1)) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded vconst: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_const unembed_const + FStar_Reflection_V2_Constants.fstar_refl_vconst_fv +let (e_universe : + FStar_Syntax_Syntax.universe FStar_TypeChecker_NBETerm.embedding) = + let embed_universe cb u = + mk_lazy cb u FStar_Reflection_V2_Constants.fstar_refl_universe + FStar_Syntax_Syntax.Lazy_universe in + let unembed_universe cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_universe; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded universe: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_universe unembed_universe + FStar_Reflection_V2_Constants.fstar_refl_universe_fv +let rec e_pattern_aq : + 'uuuuu . + 'uuuuu -> + FStar_Reflection_V2_Data.pattern FStar_TypeChecker_NBETerm.embedding + = + fun aq -> + let embed_pattern cb p = + match p with + | FStar_Reflection_V2_Data.Pat_Constant c -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_vconst cb c in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Pat_Constant.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Pat_Cons (fv, us_opt, ps) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.e_option uu___6 in + FStar_TypeChecker_NBETerm.embed uu___5 cb us_opt in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = e_pattern_aq aq in + FStar_TypeChecker_NBETerm.e_tuple2 uu___9 + FStar_TypeChecker_NBETerm.e_bool in + FStar_TypeChecker_NBETerm.e_list uu___8 in + FStar_TypeChecker_NBETerm.embed uu___7 cb ps in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Pat_Cons.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Pat_Var (sort, ppname) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_sealed e_term in + FStar_TypeChecker_NBETerm.embed uu___3 cb sort in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.embed uu___5 cb ppname in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Pat_Var.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Pat_Dot_Term eopt -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.embed uu___3 cb eopt in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Pat_Dot_Term.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_pattern cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, [], (c, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Constant.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e_vconst cb c in + FStar_Compiler_Util.bind_opt uu___1 + (fun c1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.Pat_Constant c1)) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (ps, uu___)::(us_opt, uu___1)::(f, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Cons.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in + FStar_Compiler_Util.bind_opt uu___3 + (fun f1 -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.e_option uu___6 in + FStar_TypeChecker_NBETerm.unembed uu___5 cb us_opt in + FStar_Compiler_Util.bind_opt uu___4 + (fun us -> + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_pattern_aq aq in + FStar_TypeChecker_NBETerm.e_tuple2 uu___8 + FStar_TypeChecker_NBETerm.e_bool in + FStar_TypeChecker_NBETerm.e_list uu___7 in + FStar_TypeChecker_NBETerm.unembed uu___6 cb ps in + FStar_Compiler_Util.bind_opt uu___5 + (fun ps1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___6 -> FStar_Pervasives_Native.Some uu___6) + (FStar_Reflection_V2_Data.Pat_Cons (f1, us, ps1))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (ppname, uu___)::(sort, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Var.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_sealed e_term in + FStar_TypeChecker_NBETerm.unembed uu___3 cb sort in + FStar_Compiler_Util.bind_opt uu___2 + (fun sort1 -> + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.unembed uu___4 cb ppname in + FStar_Compiler_Util.bind_opt uu___3 + (fun ppname1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) + (FStar_Reflection_V2_Data.Pat_Var (sort1, ppname1)))) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (eopt, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Pat_Dot_Term.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu___2 cb eopt in + FStar_Compiler_Util.bind_opt uu___1 + (fun eopt1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) + (FStar_Reflection_V2_Data.Pat_Dot_Term eopt1)) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded pattern: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange + uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_pattern unembed_pattern + FStar_Reflection_V2_Constants.fstar_refl_pattern_fv +let (e_pattern : + FStar_Reflection_V2_Data.pattern FStar_TypeChecker_NBETerm.embedding) = + e_pattern_aq noaqs +let (e_branch : + FStar_Reflection_V2_Data.branch FStar_TypeChecker_NBETerm.embedding) = + FStar_TypeChecker_NBETerm.e_tuple2 e_pattern e_term +let (e_argv : + FStar_Reflection_V2_Data.argv FStar_TypeChecker_NBETerm.embedding) = + FStar_TypeChecker_NBETerm.e_tuple2 e_term e_aqualv +let (e_branch_aq : + (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax + Prims.list) -> + (FStar_Reflection_V2_Data.pattern * FStar_Syntax_Syntax.term) + FStar_TypeChecker_NBETerm.embedding) + = + fun aq -> + let uu___ = e_pattern_aq aq in + let uu___1 = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_tuple2 uu___ uu___1 +let (e_argv_aq : + (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax + Prims.list) -> + (FStar_Syntax_Syntax.term * FStar_Reflection_V2_Data.aqualv) + FStar_TypeChecker_NBETerm.embedding) + = + fun aq -> + let uu___ = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_tuple2 uu___ e_aqualv +let (e_match_returns_annotation : + (FStar_Syntax_Syntax.binder * ((FStar_Syntax_Syntax.term, + FStar_Syntax_Syntax.comp) FStar_Pervasives.either * + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * Prims.bool)) + FStar_Pervasives_Native.option FStar_TypeChecker_NBETerm.embedding) + = + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.e_either e_term e_comp in + let uu___3 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.e_tuple3 uu___2 uu___3 + FStar_TypeChecker_NBETerm.e_bool in + FStar_TypeChecker_NBETerm.e_tuple2 e_binder uu___1 in + FStar_TypeChecker_NBETerm.e_option uu___ +let unlazy_as_t : + 'uuuuu . + FStar_Syntax_Syntax.lazy_kind -> FStar_TypeChecker_NBETerm.t -> 'uuuuu + = + fun k -> + fun t -> + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = v; FStar_Syntax_Syntax.lkind = k'; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + when FStar_Syntax_Util.eq_lazy_kind k k' -> + FStar_Compiler_Dyn.undyn v + | uu___ -> failwith "Not a Lazy of the expected kind (NBE)" +let (e_ident : FStar_Ident.ident FStar_TypeChecker_NBETerm.embedding) = + let embed_ident cb se = + mk_lazy cb se FStar_Reflection_V2_Constants.fstar_refl_ident + FStar_Syntax_Syntax.Lazy_ident in + let unembed_ident cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_ident; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded ident: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_ident unembed_ident + FStar_Reflection_V2_Constants.fstar_refl_ident_fv +let (e_univ_name : + FStar_Syntax_Syntax.univ_name FStar_TypeChecker_NBETerm.embedding) = + 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 +let (e_universe_view : + FStar_Reflection_V2_Data.universe_view FStar_TypeChecker_NBETerm.embedding) + = + let embed_universe_view cb uv = + match uv with + | FStar_Reflection_V2_Data.Uv_Zero -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Zero.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Uv_Succ u -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_universe cb u in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Succ.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Uv_Max us -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.embed uu___3 cb us in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Max.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Uv_BVar n -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int + cb n in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_BVar.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Uv_Name i -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_ident cb i in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Name.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Uv_Unif u -> + let uu___ = + let uu___1 = + let uu___2 = + mk_lazy cb u FStar_Syntax_Util.t_universe_uvar + FStar_Syntax_Syntax.Lazy_universe_uvar in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Unif.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Uv_Unk -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Uv_Unk.FStar_Reflection_V2_Constants.fv + [] [] in + let unembed_universe_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Zero.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Uv_Zero + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Succ.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_universe cb u in + FStar_Compiler_Util.bind_opt uu___2 + (fun u1 -> + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater u1 + (fun uu___4 -> FStar_Reflection_V2_Data.Uv_Succ uu___4) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (us, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Max.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.unembed uu___3 cb us in + FStar_Compiler_Util.bind_opt uu___2 + (fun us1 -> + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater us1 + (fun uu___4 -> FStar_Reflection_V2_Data.Uv_Max uu___4) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (n, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_BVar.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb n in + FStar_Compiler_Util.bind_opt uu___2 + (fun n1 -> + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater n1 + (fun uu___4 -> FStar_Reflection_V2_Data.Uv_BVar uu___4) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (i, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Name.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_ident cb i in + FStar_Compiler_Util.bind_opt uu___2 + (fun i1 -> + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater i1 + (fun uu___4 -> FStar_Reflection_V2_Data.Uv_Name uu___4) in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Unif.FStar_Reflection_V2_Constants.lid + -> + let u1 = unlazy_as_t FStar_Syntax_Syntax.Lazy_universe_uvar u in + let uu___2 = + FStar_Compiler_Effect.op_Bar_Greater u1 + (fun uu___3 -> FStar_Reflection_V2_Data.Uv_Unif uu___3) in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Uv_Unk.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Uv_Unk + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded universe view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_universe_view unembed_universe_view + FStar_Reflection_V2_Constants.fstar_refl_universe_view_fv +let (e_subst_elt : + FStar_Syntax_Syntax.subst_elt FStar_TypeChecker_NBETerm.embedding) = + let embed_const cb e = + match e with + | FStar_Syntax_Syntax.DB (i, x) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_BigInt.of_int_fs i in + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int + cb uu___3 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_namedv cb x in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_DB.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Syntax_Syntax.NM (x, i) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_namedv cb x in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_BigInt.of_int_fs i in + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_int cb uu___5 in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_NM.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Syntax_Syntax.NT (x, t) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_namedv cb x in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_NT.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Syntax_Syntax.UN (i, u) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_BigInt.of_int_fs i in + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int + cb uu___3 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_universe cb u in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_UN.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Syntax_Syntax.UD (n, i) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_univ_name cb n in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_BigInt.of_int_fs i in + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_int cb uu___5 in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_UD.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_const cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (x, uu___)::(i, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_DB.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb i in + FStar_Compiler_Util.bind_opt uu___2 + (fun i1 -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_namedv cb x in + FStar_Compiler_Util.bind_opt uu___3 + (fun x1 -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_BigInt.to_int_fs i1 in (uu___6, x1) in + FStar_Syntax_Syntax.DB uu___5 in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + uu___4)) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (i, uu___)::(x, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_NM.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_namedv cb x in + FStar_Compiler_Util.bind_opt uu___2 + (fun x1 -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_int cb i in + FStar_Compiler_Util.bind_opt uu___3 + (fun i1 -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_BigInt.to_int_fs i1 in (x1, uu___6) in + FStar_Syntax_Syntax.NM uu___5 in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + uu___4)) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (t1, uu___)::(x, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_NT.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_namedv cb x in + FStar_Compiler_Util.bind_opt uu___2 + (fun x1 -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___3 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) + (FStar_Syntax_Syntax.NT (x1, t2)))) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (u, uu___)::(i, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_UN.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb i in + FStar_Compiler_Util.bind_opt uu___2 + (fun i1 -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_universe cb u in + FStar_Compiler_Util.bind_opt uu___3 + (fun u1 -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_BigInt.to_int_fs i1 in (uu___6, u1) in + FStar_Syntax_Syntax.UN uu___5 in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + uu___4)) + | FStar_TypeChecker_NBETerm.Construct + (fv, [], (i, uu___)::(n, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_UD.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_univ_name cb n in + FStar_Compiler_Util.bind_opt uu___2 + (fun n1 -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_int cb i in + FStar_Compiler_Util.bind_opt uu___3 + (fun i1 -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_BigInt.to_int_fs i1 in (n1, uu___6) in + FStar_Syntax_Syntax.UD uu___5 in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + uu___4)) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded vconst: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_const unembed_const + FStar_Reflection_V2_Constants.fstar_refl_subst_elt_fv +let (e_subst : + FStar_Syntax_Syntax.subst_elt Prims.list + FStar_TypeChecker_NBETerm.embedding) + = FStar_TypeChecker_NBETerm.e_list e_subst_elt +let (e_term_view_aq : + (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax + Prims.list) -> + FStar_Reflection_V2_Data.term_view FStar_TypeChecker_NBETerm.embedding) + = + fun aq -> + let shift uu___ = + match uu___ with | (s, aqs) -> ((s + Prims.int_one), aqs) in + let embed_term_view cb tv = + match tv with + | FStar_Reflection_V2_Data.Tv_FVar fv -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_FVar.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_BVar bv -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_BVar.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Var bv -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Var.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_UInst (fv, us) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.embed uu___5 cb us in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_UInst.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_App (hd, a) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___3 cb hd in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_argv_aq aq in + FStar_TypeChecker_NBETerm.embed uu___5 cb a in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_App.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Abs (b, t) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_binder cb b in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq (shift aq) in + FStar_TypeChecker_NBETerm.embed uu___5 cb t in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Abs.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_binder cb b in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_comp cb c in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Arrow.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Type u -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_universe cb u in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Type.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Refine (b, t) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_binder cb b in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq (shift aq) in + FStar_TypeChecker_NBETerm.embed uu___5 cb t in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Refine.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Const c -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_vconst cb c in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Const.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Uvar (u, d) -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_int cb u in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + 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___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Uvar.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Let (r, attrs, b, t1, t2) -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_bool cb r in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_term in + FStar_TypeChecker_NBETerm.embed uu___5 cb attrs in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.embed e_binder cb b in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___9 cb t1 in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = e_term_aq (shift aq) in + FStar_TypeChecker_NBETerm.embed uu___11 cb t2 in + FStar_TypeChecker_NBETerm.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Let.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Match (t, ret_opt, brs) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___3 cb t in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_match_returns_annotation + cb ret_opt in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_branch_aq aq in + FStar_TypeChecker_NBETerm.e_list uu___8 in + FStar_TypeChecker_NBETerm.embed uu___7 cb brs in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Match.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___3 cb e in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___5 cb t in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_option uu___8 in + FStar_TypeChecker_NBETerm.embed uu___7 cb tacopt in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_bool cb use_eq in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_AscT.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu___3 cb e in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_comp cb c in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_option uu___8 in + FStar_TypeChecker_NBETerm.embed uu___7 cb tacopt in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_bool cb use_eq in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_AscT.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Tv_Unknown -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Unknown.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Tv_Unsupp -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Tv_Unsupp.FStar_Reflection_V2_Constants.fv + [] [] in + let unembed_term_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (b, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Var.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + FStar_Compiler_Util.bind_opt uu___2 + (fun b1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.Tv_Var b1)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (b, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_BVar.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + FStar_Compiler_Util.bind_opt uu___2 + (fun b1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.Tv_BVar b1)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (f, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_FVar.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in + FStar_Compiler_Util.bind_opt uu___2 + (fun f1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.Tv_FVar f1)) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (f, uu___1)::(us, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_UInst.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in + FStar_Compiler_Util.bind_opt uu___3 + (fun f1 -> + let uu___4 = + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.unembed uu___5 cb us in + FStar_Compiler_Util.bind_opt uu___4 + (fun us1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Tv_UInst (f1, us1)))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (r, uu___1)::(l, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_App.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_term cb l in + FStar_Compiler_Util.bind_opt uu___3 + (fun l1 -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_argv cb r in + FStar_Compiler_Util.bind_opt uu___4 + (fun r1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Tv_App (l1, r1)))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (t1, uu___1)::(b, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Abs.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in + FStar_Compiler_Util.bind_opt uu___3 + (fun b1 -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Tv_Abs (b1, t2)))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (t1, uu___1)::(b, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Arrow.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in + FStar_Compiler_Util.bind_opt uu___3 + (fun b1 -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_comp cb t1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun c -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Tv_Arrow (b1, c)))) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (u, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Type.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_universe cb u in + FStar_Compiler_Util.bind_opt uu___2 + (fun u1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.Tv_Type u1)) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (t1, uu___1)::(b, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Refine.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in + FStar_Compiler_Util.bind_opt uu___3 + (fun b1 -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Tv_Refine (b1, t2)))) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (c, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Const.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_vconst cb c in + FStar_Compiler_Util.bind_opt uu___2 + (fun c1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.Tv_Const c1)) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (l, uu___1)::(u, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Uvar.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb u in + FStar_Compiler_Util.bind_opt uu___3 + (fun u1 -> + let ctx_u_s = unlazy_as_t FStar_Syntax_Syntax.Lazy_uvar l in + FStar_Compiler_Effect.op_Less_Bar + (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) + (FStar_Reflection_V2_Data.Tv_Uvar (u1, ctx_u_s))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (t2, uu___1)::(t1, uu___2)::(b, uu___3)::(attrs, uu___4):: + (r, uu___5)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Let.FStar_Reflection_V2_Constants.lid + -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_bool cb r in + FStar_Compiler_Util.bind_opt uu___6 + (fun r1 -> + let uu___7 = + let uu___8 = FStar_TypeChecker_NBETerm.e_list e_term in + FStar_TypeChecker_NBETerm.unembed uu___8 cb attrs in + FStar_Compiler_Util.bind_opt uu___7 + (fun attrs1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e_binder cb b in + FStar_Compiler_Util.bind_opt uu___8 + (fun b1 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___9 + (fun t11 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e_term cb + t2 in + FStar_Compiler_Util.bind_opt uu___10 + (fun t21 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___11 -> + FStar_Pervasives_Native.Some uu___11) + (FStar_Reflection_V2_Data.Tv_Let + (r1, attrs1, b1, t11, t21))))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (brs, uu___1)::(ret_opt, uu___2)::(t1, uu___3)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Match.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun t2 -> + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.e_list e_branch in + FStar_TypeChecker_NBETerm.unembed uu___6 cb brs in + FStar_Compiler_Util.bind_opt uu___5 + (fun brs1 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed + e_match_returns_annotation cb ret_opt in + FStar_Compiler_Util.bind_opt uu___6 + (fun ret_opt1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) + (FStar_Reflection_V2_Data.Tv_Match + (t2, ret_opt1, brs1))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (tacopt, uu___1)::(t1, uu___2)::(e, uu___3)::(use_eq, uu___4)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_AscT.FStar_Reflection_V2_Constants.lid + -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb e in + FStar_Compiler_Util.bind_opt uu___5 + (fun e1 -> + let uu___6 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___6 + (fun t2 -> + let uu___7 = + let uu___8 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu___8 cb tacopt in + FStar_Compiler_Util.bind_opt uu___7 + (fun tacopt1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_bool cb use_eq in + FStar_Compiler_Util.bind_opt uu___8 + (fun use_eq1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___9 -> + FStar_Pervasives_Native.Some uu___9) + (FStar_Reflection_V2_Data.Tv_AscribedT + (e1, t2, tacopt1, use_eq1)))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (tacopt, uu___1)::(c, uu___2)::(e, uu___3)::(use_eq, uu___4)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_AscC.FStar_Reflection_V2_Constants.lid + -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb e in + FStar_Compiler_Util.bind_opt uu___5 + (fun e1 -> + let uu___6 = FStar_TypeChecker_NBETerm.unembed e_comp cb c in + FStar_Compiler_Util.bind_opt uu___6 + (fun c1 -> + let uu___7 = + let uu___8 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu___8 cb tacopt in + FStar_Compiler_Util.bind_opt uu___7 + (fun tacopt1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_bool cb use_eq in + FStar_Compiler_Util.bind_opt uu___8 + (fun use_eq1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___9 -> + FStar_Pervasives_Native.Some uu___9) + (FStar_Reflection_V2_Data.Tv_AscribedC + (e1, c1, tacopt1, use_eq1)))))) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Unknown.FStar_Reflection_V2_Constants.lid + -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___1 -> FStar_Pervasives_Native.Some uu___1) + FStar_Reflection_V2_Data.Tv_Unknown + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Tv_Unsupp.FStar_Reflection_V2_Constants.lid + -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___1 -> FStar_Pervasives_Native.Some uu___1) + FStar_Reflection_V2_Data.Tv_Unsupp + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded term_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange + uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_term_view unembed_term_view + FStar_Reflection_V2_Constants.fstar_refl_term_view_fv +let (e_term_view : + FStar_Reflection_V2_Data.term_view FStar_TypeChecker_NBETerm.embedding) = + e_term_view_aq (Prims.int_zero, []) +let (e_namedv_view : + FStar_Reflection_V2_Data.namedv_view FStar_TypeChecker_NBETerm.embedding) = + let embed_namedv_view cb namedvv = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int cb + namedvv.FStar_Reflection_V2_Data.uniq in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.embed uu___5 cb + namedvv.FStar_Reflection_V2_Data.ppname in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.embed e_term cb + namedvv.FStar_Reflection_V2_Data.sort in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Mk_namedv_view.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_namedv_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (sort, uu___1)::(ppname, uu___2)::(uniq, uu___3)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_namedv_view.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb uniq in + FStar_Compiler_Util.bind_opt uu___4 + (fun uniq1 -> + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.unembed uu___6 cb ppname in + FStar_Compiler_Util.bind_opt uu___5 + (fun ppname1 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e_term cb sort in + FStar_Compiler_Util.bind_opt uu___6 + (fun sort1 -> + let r = + { + FStar_Reflection_V2_Data.uniq = uniq1; + FStar_Reflection_V2_Data.sort = sort1; + FStar_Reflection_V2_Data.ppname = ppname1 + } in + FStar_Pervasives_Native.Some r))) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded namedv_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_namedv_view unembed_namedv_view + FStar_Reflection_V2_Constants.fstar_refl_namedv_view_fv +let (e_bv_view : + FStar_Reflection_V2_Data.bv_view FStar_TypeChecker_NBETerm.embedding) = + let embed_bv_view cb bvv = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int cb + bvv.FStar_Reflection_V2_Data.index in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.embed uu___5 cb + bvv.FStar_Reflection_V2_Data.ppname1 in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.embed e_term cb + bvv.FStar_Reflection_V2_Data.sort1 in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Mk_bv_view.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_bv_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (sort, uu___1)::(ppname, uu___2)::(idx, uu___3)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_bv_view.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb idx in + FStar_Compiler_Util.bind_opt uu___4 + (fun idx1 -> + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.unembed uu___6 cb ppname in + FStar_Compiler_Util.bind_opt uu___5 + (fun ppname1 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e_term cb sort in + FStar_Compiler_Util.bind_opt uu___6 + (fun sort1 -> + let r = + { + FStar_Reflection_V2_Data.index = idx1; + FStar_Reflection_V2_Data.sort1 = sort1; + FStar_Reflection_V2_Data.ppname1 = ppname1 + } in + FStar_Pervasives_Native.Some r))) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded bv_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_bv_view unembed_bv_view + FStar_Reflection_V2_Constants.fstar_refl_bv_view_fv +let (e_attribute : + 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 +let (e_binding : + FStar_Reflection_V2_Data.binding FStar_TypeChecker_NBETerm.embedding) = + let embed cb b = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int cb + b.FStar_Reflection_V2_Data.uniq1 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_term cb + b.FStar_Reflection_V2_Data.sort3 in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.embed uu___7 cb + b.FStar_Reflection_V2_Data.ppname3 in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Mk_binding.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (ppname, uu___1)::(sort, uu___2)::(uniq, uu___3)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_binding.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int + cb uniq in + FStar_Compiler_Util.bind_opt uu___4 + (fun uniq1 -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb sort in + FStar_Compiler_Util.bind_opt uu___5 + (fun sort1 -> + let uu___6 = + let uu___7 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.unembed uu___7 cb ppname in + FStar_Compiler_Util.bind_opt uu___6 + (fun ppname1 -> + let r = + { + FStar_Reflection_V2_Data.uniq1 = uniq1; + FStar_Reflection_V2_Data.sort3 = sort1; + FStar_Reflection_V2_Data.ppname3 = ppname1 + } in + FStar_Pervasives_Native.Some r))) in + mk_emb' embed unembed FStar_Reflection_V2_Constants.fstar_refl_binding_fv +let (e_binder_view : + FStar_Reflection_V2_Data.binder_view FStar_TypeChecker_NBETerm.embedding) = + let embed_binder_view cb bview = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed e_term cb + bview.FStar_Reflection_V2_Data.sort2 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_aqualv cb + bview.FStar_Reflection_V2_Data.qual in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.embed e_attributes cb + bview.FStar_Reflection_V2_Data.attrs in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.embed uu___9 cb + bview.FStar_Reflection_V2_Data.ppname2 in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Mk_binder_view.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_binder_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (ppname, uu___1)::(attrs, uu___2)::(q, uu___3)::(sort, uu___4)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_binder_view.FStar_Reflection_V2_Constants.lid + -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb sort in + FStar_Compiler_Util.bind_opt uu___5 + (fun sort1 -> + let uu___6 = FStar_TypeChecker_NBETerm.unembed e_aqualv cb q in + FStar_Compiler_Util.bind_opt uu___6 + (fun q1 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e_attributes cb attrs in + FStar_Compiler_Util.bind_opt uu___7 + (fun attrs1 -> + let uu___8 = + let uu___9 = + FStar_TypeChecker_NBETerm.e_sealed + FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.unembed uu___9 cb ppname in + FStar_Compiler_Util.bind_opt uu___8 + (fun ppname1 -> + let r = + { + FStar_Reflection_V2_Data.sort2 = sort1; + FStar_Reflection_V2_Data.qual = q1; + FStar_Reflection_V2_Data.attrs = attrs1; + FStar_Reflection_V2_Data.ppname2 = ppname1 + } in + FStar_Pervasives_Native.Some r)))) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded binder_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_binder_view unembed_binder_view + FStar_Reflection_V2_Constants.fstar_refl_binder_view_fv +let (e_comp_view : + FStar_Reflection_V2_Data.comp_view FStar_TypeChecker_NBETerm.embedding) = + let embed_comp_view cb cv = + match cv with + | FStar_Reflection_V2_Data.C_Total t -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Total.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_GTotal t -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_GTotal.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_term cb pre in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.embed e_term cb post in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.embed e_term cb pats in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Lemma.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.C_Eff (us, eff, res, args, decrs) -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.embed uu___3 cb us in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_string_list cb eff in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.embed e_term cb res in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = FStar_TypeChecker_NBETerm.e_list e_argv in + FStar_TypeChecker_NBETerm.embed uu___9 cb args in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = FStar_TypeChecker_NBETerm.e_list e_term in + FStar_TypeChecker_NBETerm.embed uu___11 cb decrs in + FStar_TypeChecker_NBETerm.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_C_Eff.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_comp_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Total.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___2 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.C_Total t2)) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, (t1, uu___1)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_GTotal.FStar_Reflection_V2_Constants.lid + -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___2 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) + (FStar_Reflection_V2_Data.C_GTotal t2)) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (post, uu___1)::(pre, uu___2)::(pats, uu___3)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Lemma.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_term cb pre in + FStar_Compiler_Util.bind_opt uu___4 + (fun pre1 -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_term cb post in + FStar_Compiler_Util.bind_opt uu___5 + (fun post1 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e_term cb pats in + FStar_Compiler_Util.bind_opt uu___6 + (fun pats1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) + (FStar_Reflection_V2_Data.C_Lemma + (pre1, post1, pats1))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (decrs, uu___1)::(args, uu___2)::(res, uu___3)::(eff, uu___4):: + (us, uu___5)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_C_Eff.FStar_Reflection_V2_Constants.lid + -> + let uu___6 = + let uu___7 = FStar_TypeChecker_NBETerm.e_list e_universe in + FStar_TypeChecker_NBETerm.unembed uu___7 cb us in + FStar_Compiler_Util.bind_opt uu___6 + (fun us1 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed + FStar_TypeChecker_NBETerm.e_string_list cb eff in + FStar_Compiler_Util.bind_opt uu___7 + (fun eff1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e_term cb res in + FStar_Compiler_Util.bind_opt uu___8 + (fun res1 -> + let uu___9 = + let uu___10 = + FStar_TypeChecker_NBETerm.e_list e_argv in + FStar_TypeChecker_NBETerm.unembed uu___10 cb args in + FStar_Compiler_Util.bind_opt uu___9 + (fun args1 -> + let uu___10 = + let uu___11 = + FStar_TypeChecker_NBETerm.e_list e_term in + FStar_TypeChecker_NBETerm.unembed uu___11 cb + decrs in + FStar_Compiler_Util.bind_opt uu___10 + (fun decrs1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___11 -> + FStar_Pervasives_Native.Some uu___11) + (FStar_Reflection_V2_Data.C_Eff + (us1, eff1, res1, args1, decrs1))))))) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded comp_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_comp_view unembed_comp_view + FStar_Reflection_V2_Constants.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_V2_Constants.ord_Lt_fv [] [] + | FStar_Order.Eq -> + mkConstruct FStar_Reflection_V2_Constants.ord_Eq_fv [] [] + | FStar_Order.Gt -> + mkConstruct FStar_Reflection_V2_Constants.ord_Gt_fv [] [] in + let unembed_order cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Lt_lid + -> FStar_Pervasives_Native.Some FStar_Order.Lt + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Eq_lid + -> FStar_Pervasives_Native.Some FStar_Order.Eq + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ord_Gt_lid + -> FStar_Pervasives_Native.Some FStar_Order.Gt + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded order: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + let uu___ = + FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.order_lid + FStar_Pervasives_Native.None in + mk_emb' embed_order unembed_order uu___ +let (e_sigelt : + FStar_Syntax_Syntax.sigelt FStar_TypeChecker_NBETerm.embedding) = + let embed_sigelt cb se = + mk_lazy cb se FStar_Reflection_V2_Constants.fstar_refl_sigelt + FStar_Syntax_Syntax.Lazy_sigelt in + let unembed_sigelt cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_sigelt; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded sigelt: %s" uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_sigelt unembed_sigelt + FStar_Reflection_V2_Constants.fstar_refl_sigelt_fv +let (e_string_list : + Prims.string Prims.list FStar_TypeChecker_NBETerm.embedding) = + FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string +let (e_ctor : + (Prims.string Prims.list * FStar_Syntax_Syntax.term) + FStar_TypeChecker_NBETerm.embedding) + = FStar_TypeChecker_NBETerm.e_tuple2 e_string_list e_term +let (e_lb_view : + FStar_Reflection_V2_Data.lb_view FStar_TypeChecker_NBETerm.embedding) = + let embed_lb_view cb lbv = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed e_fv cb + lbv.FStar_Reflection_V2_Data.lb_fv in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_univ_names cb + lbv.FStar_Reflection_V2_Data.lb_us in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = + FStar_TypeChecker_NBETerm.embed e_term cb + lbv.FStar_Reflection_V2_Data.lb_typ in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = + FStar_TypeChecker_NBETerm.embed e_term cb + lbv.FStar_Reflection_V2_Data.lb_def in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Mk_lb.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed_lb_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (fv', uu___1)::(us, uu___2)::(typ, uu___3)::(def, uu___4)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Mk_lb.FStar_Reflection_V2_Constants.lid + -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e_fv cb fv' in + FStar_Compiler_Util.bind_opt uu___5 + (fun fv'1 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e_univ_names cb us in + FStar_Compiler_Util.bind_opt uu___6 + (fun us1 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e_term cb typ in + FStar_Compiler_Util.bind_opt uu___7 + (fun typ1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e_term cb def in + FStar_Compiler_Util.bind_opt uu___8 + (fun def1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___9 -> + FStar_Pervasives_Native.Some uu___9) + { + FStar_Reflection_V2_Data.lb_fv = fv'1; + FStar_Reflection_V2_Data.lb_us = us1; + FStar_Reflection_V2_Data.lb_typ = typ1; + FStar_Reflection_V2_Data.lb_def = def1 + })))) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded lb_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_lb_view unembed_lb_view + FStar_Reflection_V2_Constants.fstar_refl_lb_view_fv +let (e_lid : FStar_Ident.lid FStar_TypeChecker_NBETerm.embedding) = + let embed rng lid = + let uu___ = FStar_Ident.path_of_lid lid in + FStar_TypeChecker_NBETerm.embed e_string_list rng uu___ in + let unembed cb t = + let uu___ = FStar_TypeChecker_NBETerm.unembed e_string_list cb t in + FStar_Compiler_Util.map_opt uu___ + (fun p -> + FStar_Ident.lid_of_path p FStar_Compiler_Range_Type.dummyRange) in + let uu___ = + mkConstruct FStar_Reflection_V2_Constants.fstar_refl_aqualv_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V2_Constants.fstar_refl_aqualv_fv in + FStar_TypeChecker_NBETerm.mk_emb embed unembed uu___ uu___1 +let (e_letbinding : + FStar_Syntax_Syntax.letbinding FStar_TypeChecker_NBETerm.embedding) = + let embed_letbinding cb lb = + mk_lazy cb lb FStar_Reflection_V2_Constants.fstar_refl_letbinding + FStar_Syntax_Syntax.Lazy_letbinding in + let unembed_letbinding cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Lazy + (FStar_Pervasives.Inl + { FStar_Syntax_Syntax.blob = lb; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_letbinding; + FStar_Syntax_Syntax.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_}, + uu___2) + -> + let uu___3 = FStar_Compiler_Dyn.undyn lb in + FStar_Pervasives_Native.Some uu___3 + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded letbinding: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_letbinding unembed_letbinding + FStar_Reflection_V2_Constants.fstar_refl_letbinding_fv +let (e_sigelt_view : + FStar_Reflection_V2_Data.sigelt_view FStar_TypeChecker_NBETerm.embedding) = + let embed_sigelt_view cb sev = + match sev with + | FStar_Reflection_V2_Data.Sg_Let (r, lbs) -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_TypeChecker_NBETerm.e_bool cb r in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_letbinding in + FStar_TypeChecker_NBETerm.embed uu___5 cb lbs in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + [uu___3] in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Sg_Let.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Sg_Inductive (nm, univs, bs, t, dcs) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_string_list cb nm in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_univ_names cb univs in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.embed e_binders cb bs in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___8 in + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = FStar_TypeChecker_NBETerm.e_list e_ctor in + FStar_TypeChecker_NBETerm.embed uu___11 cb dcs in + FStar_TypeChecker_NBETerm.as_arg uu___10 in + [uu___9] in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Sg_Inductive.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Sg_Val (nm, univs, t) -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_string_list cb nm in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + FStar_TypeChecker_NBETerm.embed e_univ_names cb univs in + FStar_TypeChecker_NBETerm.as_arg uu___4 in + let uu___4 = + let uu___5 = + let uu___6 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu___6 in + [uu___5] in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + mkConstruct + FStar_Reflection_V2_Constants.ref_Sg_Val.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Unk -> + mkConstruct + FStar_Reflection_V2_Constants.ref_Unk.FStar_Reflection_V2_Constants.fv + [] [] in + let unembed_sigelt_view cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, + (dcs, uu___1)::(t1, uu___2)::(bs, uu___3)::(us, uu___4)::(nm, + uu___5)::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Inductive.FStar_Reflection_V2_Constants.lid + -> + let uu___6 = FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in + FStar_Compiler_Util.bind_opt uu___6 + (fun nm1 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e_univ_names cb us in + FStar_Compiler_Util.bind_opt uu___7 + (fun us1 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e_binders cb bs in + FStar_Compiler_Util.bind_opt uu___8 + (fun bs1 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___9 + (fun t2 -> + let uu___10 = + let uu___11 = + FStar_TypeChecker_NBETerm.e_list e_ctor in + FStar_TypeChecker_NBETerm.unembed uu___11 cb + dcs in + FStar_Compiler_Util.bind_opt uu___10 + (fun dcs1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___11 -> + FStar_Pervasives_Native.Some uu___11) + (FStar_Reflection_V2_Data.Sg_Inductive + (nm1, us1, bs1, t2, dcs1))))))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (lbs, uu___1)::(r, uu___2)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Let.FStar_Reflection_V2_Constants.lid + -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_bool + cb r in + FStar_Compiler_Util.bind_opt uu___3 + (fun r1 -> + let uu___4 = + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_letbinding in + FStar_TypeChecker_NBETerm.unembed uu___5 cb lbs in + FStar_Compiler_Util.bind_opt uu___4 + (fun lbs1 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___5 -> FStar_Pervasives_Native.Some uu___5) + (FStar_Reflection_V2_Data.Sg_Let (r1, lbs1)))) + | FStar_TypeChecker_NBETerm.Construct + (fv, uu___, (t1, uu___1)::(us, uu___2)::(nm, uu___3)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Sg_Val.FStar_Reflection_V2_Constants.lid + -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in + FStar_Compiler_Util.bind_opt uu___4 + (fun nm1 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed e_univ_names cb us in + FStar_Compiler_Util.bind_opt uu___5 + (fun us1 -> + let uu___6 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_Compiler_Util.bind_opt uu___6 + (fun t2 -> + FStar_Compiler_Effect.op_Less_Bar + (fun uu___7 -> FStar_Pervasives_Native.Some uu___7) + (FStar_Reflection_V2_Data.Sg_Val (nm1, us1, t2))))) + | FStar_TypeChecker_NBETerm.Construct (fv, uu___, []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_Unk.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Unk + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded sigelt_view: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + mk_emb' embed_sigelt_view unembed_sigelt_view + FStar_Reflection_V2_Constants.fstar_refl_sigelt_view_fv +let (e_qualifier : + FStar_Reflection_V2_Data.qualifier FStar_TypeChecker_NBETerm.embedding) = + let embed cb q = + match q with + | FStar_Reflection_V2_Data.Assumption -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Assumption.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.New -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_New.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Private -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Private.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Visible_default -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Visible_default.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Irreducible -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Irreducible.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Inline_for_extraction -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.NoExtract -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_NoExtract.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Noeq -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Noeq.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Unopteq -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Unopteq.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.TotalEffect -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_TotalEffect.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Logic -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Logic.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Reifiable -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Reifiable.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.ExceptionConstructor -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.HasMaskedEffect -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Effect -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Effect.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.OnlyName -> + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_OnlyName.FStar_Reflection_V2_Constants.fv + [] [] + | FStar_Reflection_V2_Data.Reflectable l -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Reflectable.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Discriminator l -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Discriminator.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Action l -> + let uu___ = + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.embed e_lid cb l in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Action.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.Projector li -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_tuple2 e_lid e_ident in + FStar_TypeChecker_NBETerm.embed uu___3 cb li in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_Projector.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.RecordType ids12 -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.e_list e_ident in + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_ident in + FStar_TypeChecker_NBETerm.e_tuple2 uu___4 uu___5 in + FStar_TypeChecker_NBETerm.embed uu___3 cb ids12 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_RecordType.FStar_Reflection_V2_Constants.fv + [] uu___ + | FStar_Reflection_V2_Data.RecordConstructor ids12 -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.e_list e_ident in + let uu___5 = FStar_TypeChecker_NBETerm.e_list e_ident in + FStar_TypeChecker_NBETerm.e_tuple2 uu___4 uu___5 in + FStar_TypeChecker_NBETerm.embed uu___3 cb ids12 in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + mkConstruct + FStar_Reflection_V2_Constants.ref_qual_RecordConstructor.FStar_Reflection_V2_Constants.fv + [] uu___ in + let unembed cb t = + match t.FStar_TypeChecker_NBETerm.nbe_t with + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Assumption.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Assumption + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_New.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.New + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Private.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Private + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Unfold_for_unification_and_vcgen.FStar_Reflection_V2_Constants.lid + -> + FStar_Pervasives_Native.Some + FStar_Reflection_V2_Data.Unfold_for_unification_and_vcgen + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Visible_default.FStar_Reflection_V2_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Visible_default + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Irreducible.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Irreducible + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Inline_for_extraction.FStar_Reflection_V2_Constants.lid + -> + FStar_Pervasives_Native.Some + FStar_Reflection_V2_Data.Inline_for_extraction + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_NoExtract.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.NoExtract + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Noeq.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Noeq + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Unopteq.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Unopteq + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_TotalEffect.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.TotalEffect + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Logic.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Logic + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Reifiable.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Reifiable + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_ExceptionConstructor.FStar_Reflection_V2_Constants.lid + -> + FStar_Pervasives_Native.Some + FStar_Reflection_V2_Data.ExceptionConstructor + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_HasMaskedEffect.FStar_Reflection_V2_Constants.lid + -> + FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.HasMaskedEffect + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Effect.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.Effect + | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_OnlyName.FStar_Reflection_V2_Constants.lid + -> FStar_Pervasives_Native.Some FStar_Reflection_V2_Data.OnlyName + | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Reflectable.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in + FStar_Compiler_Util.bind_opt uu___1 + (fun l1 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.Reflectable l1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Discriminator.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in + FStar_Compiler_Util.bind_opt uu___1 + (fun l1 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.Discriminator l1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (l, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Action.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e_lid cb l in + FStar_Compiler_Util.bind_opt uu___1 + (fun l1 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.Action l1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (li, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_Projector.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + let uu___2 = FStar_TypeChecker_NBETerm.e_tuple2 e_lid e_ident in + FStar_TypeChecker_NBETerm.unembed uu___2 cb li in + FStar_Compiler_Util.bind_opt uu___1 + (fun li1 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.Projector li1)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (ids12, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_RecordType.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_list e_ident in + let uu___4 = FStar_TypeChecker_NBETerm.e_list e_ident in + FStar_TypeChecker_NBETerm.e_tuple2 uu___3 uu___4 in + FStar_TypeChecker_NBETerm.unembed uu___2 cb ids12 in + FStar_Compiler_Util.bind_opt uu___1 + (fun ids121 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.RecordType ids121)) + | FStar_TypeChecker_NBETerm.Construct (fv, [], (ids12, uu___)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Reflection_V2_Constants.ref_qual_RecordConstructor.FStar_Reflection_V2_Constants.lid + -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_TypeChecker_NBETerm.e_list e_ident in + let uu___4 = FStar_TypeChecker_NBETerm.e_list e_ident in + FStar_TypeChecker_NBETerm.e_tuple2 uu___3 uu___4 in + FStar_TypeChecker_NBETerm.unembed uu___2 cb ids12 in + FStar_Compiler_Util.bind_opt uu___1 + (fun ids121 -> + FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Data.RecordConstructor ids121)) + | uu___ -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Compiler_Util.format1 "Not an embedded qualifier: %s" + uu___4 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in + FStar_Errors.log_issue FStar_Compiler_Range_Type.dummyRange uu___2); + FStar_Pervasives_Native.None) in + let uu___ = + mkConstruct FStar_Reflection_V2_Constants.fstar_refl_qualifier_fv [] [] in + let uu___1 = + fv_as_emb_typ FStar_Reflection_V2_Constants.fstar_refl_qualifier_fv in + FStar_TypeChecker_NBETerm.mk_emb embed unembed uu___ uu___1 +let (e_qualifiers : + FStar_Reflection_V2_Data.qualifier Prims.list + FStar_TypeChecker_NBETerm.embedding) + = FStar_TypeChecker_NBETerm.e_list e_qualifier +let (e_vconfig : FStar_Order.order FStar_TypeChecker_NBETerm.embedding) = + let emb cb o = failwith "emb vconfig NBE" in + let unemb cb t = failwith "unemb vconfig NBE" in + let uu___ = + FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.vconfig_lid + FStar_Pervasives_Native.None in + mk_emb' emb unemb uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_TermEq.ml b/ocaml/fstar-lib/generated/FStar_Reflection_V2_TermEq.ml similarity index 56% rename from ocaml/fstar-lib/generated/FStar_Reflection_TermEq.ml rename to ocaml/fstar-lib/generated/FStar_Reflection_V2_TermEq.ml index aec5f71d7e5..b6579fc6733 100644 --- a/ocaml/fstar-lib/generated/FStar_Reflection_TermEq.ml +++ b/ocaml/fstar-lib/generated/FStar_Reflection_V2_TermEq.ml @@ -39,17 +39,25 @@ let op_Amp_Amp_Amp : let (bv_cmp : FStar_Reflection_Types.bv comparator_for) = fun x1 -> fun x2 -> - let v1 = FStar_Reflection_Builtins.inspect_bv x1 in - let v2 = FStar_Reflection_Builtins.inspect_bv x2 in + let v1 = FStar_Reflection_V2_Builtins.inspect_bv x1 in + let v2 = FStar_Reflection_V2_Builtins.inspect_bv x2 in if - v1.FStar_Reflection_Data.bv_index = v2.FStar_Reflection_Data.bv_index + v1.FStar_Reflection_V2_Data.index = v2.FStar_Reflection_V2_Data.index + then Eq + else Neq +let (namedv_cmp : FStar_Reflection_Types.namedv comparator_for) = + fun x1 -> + fun x2 -> + let v1 = FStar_Reflection_V2_Builtins.inspect_namedv x1 in + let v2 = FStar_Reflection_V2_Builtins.inspect_namedv x2 in + if v1.FStar_Reflection_V2_Data.uniq = v2.FStar_Reflection_V2_Data.uniq then Eq else Neq let (fv_cmp : FStar_Reflection_Types.fv comparator_for) = fun f1 -> fun f2 -> - let n1 = FStar_Reflection_Builtins.inspect_fv f1 in - let n2 = FStar_Reflection_Builtins.inspect_fv f2 in + let n1 = FStar_Reflection_V2_Builtins.inspect_fv f1 in + let n2 = FStar_Reflection_V2_Builtins.inspect_fv f2 in if n1 = n2 then Eq else Neq let opt_cmp : 'a . 'a comparator_for -> 'a FStar_Pervasives_Native.option comparator_for @@ -172,133 +180,143 @@ let (range_cmp : FStar_Range.range comparator_for) = fun r1 -> fun r2 -> Eq let (ident_cmp : FStar_Reflection_Types.ident comparator_for) = fun i1 -> fun i2 -> + let iv1 = FStar_Reflection_V2_Builtins.inspect_ident i1 in + let iv2 = FStar_Reflection_V2_Builtins.inspect_ident i2 in Obj.magic - (eq_cmp (FStar_Pervasives_Native.fst i1) - (FStar_Pervasives_Native.fst i2)) + (eq_cmp (FStar_Pervasives_Native.fst iv1) + (FStar_Pervasives_Native.fst iv2)) let rec (univ_cmp : FStar_Reflection_Types.universe comparator_for) = fun u1 -> fun u2 -> - let uv1 = FStar_Reflection_Builtins.inspect_universe u1 in - let uv2 = FStar_Reflection_Builtins.inspect_universe u2 in + let uv1 = FStar_Reflection_V2_Builtins.inspect_universe u1 in + let uv2 = FStar_Reflection_V2_Builtins.inspect_universe u2 in match (uv1, uv2) with - | (FStar_Reflection_Data.Uv_Zero, FStar_Reflection_Data.Uv_Zero) -> - Obj.magic (Obj.repr Eq) - | (FStar_Reflection_Data.Uv_Succ u11, FStar_Reflection_Data.Uv_Succ - u21) -> Obj.magic (Obj.repr (univ_cmp u11 u21)) - | (FStar_Reflection_Data.Uv_Max us1, FStar_Reflection_Data.Uv_Max us2) - -> Obj.magic (Obj.repr (list_dec_cmp u1 u2 univ_cmp us1 us2)) - | (FStar_Reflection_Data.Uv_BVar v1, FStar_Reflection_Data.Uv_BVar v2) - -> Obj.magic (Obj.repr (eq_cmp v1 v2)) - | (FStar_Reflection_Data.Uv_Name n1, FStar_Reflection_Data.Uv_Name n2) - -> Obj.magic (Obj.repr (ident_cmp n1 n2)) - | (FStar_Reflection_Data.Uv_Unif u11, FStar_Reflection_Data.Uv_Unif - u21) -> Obj.magic (Obj.repr Unknown) - | (FStar_Reflection_Data.Uv_Unk, FStar_Reflection_Data.Uv_Unk) -> + | (FStar_Reflection_V2_Data.Uv_Zero, FStar_Reflection_V2_Data.Uv_Zero) + -> Obj.magic (Obj.repr Eq) + | (FStar_Reflection_V2_Data.Uv_Succ u11, + FStar_Reflection_V2_Data.Uv_Succ u21) -> + Obj.magic (Obj.repr (univ_cmp u11 u21)) + | (FStar_Reflection_V2_Data.Uv_Max us1, FStar_Reflection_V2_Data.Uv_Max + us2) -> Obj.magic (Obj.repr (list_dec_cmp u1 u2 univ_cmp us1 us2)) + | (FStar_Reflection_V2_Data.Uv_BVar v1, + FStar_Reflection_V2_Data.Uv_BVar v2) -> + Obj.magic (Obj.repr (eq_cmp v1 v2)) + | (FStar_Reflection_V2_Data.Uv_Name n1, + FStar_Reflection_V2_Data.Uv_Name n2) -> + Obj.magic (Obj.repr (ident_cmp n1 n2)) + | (FStar_Reflection_V2_Data.Uv_Unif u11, + FStar_Reflection_V2_Data.Uv_Unif u21) -> + Obj.magic (Obj.repr Unknown) + | (FStar_Reflection_V2_Data.Uv_Unk, FStar_Reflection_V2_Data.Uv_Unk) -> Obj.magic (Obj.repr Eq) | uu___ -> Obj.magic (Obj.repr Neq) -let (const_cmp : FStar_Reflection_Data.vconst comparator_for) = +let (const_cmp : FStar_Reflection_V2_Data.vconst comparator_for) = fun c1 -> fun c2 -> match (c1, c2) with - | (FStar_Reflection_Data.C_Unit, FStar_Reflection_Data.C_Unit) -> - Obj.magic (Obj.repr Eq) - | (FStar_Reflection_Data.C_Int i1, FStar_Reflection_Data.C_Int i2) -> - Obj.magic (Obj.repr (eq_cmp i1 i2)) - | (FStar_Reflection_Data.C_True, FStar_Reflection_Data.C_True) -> - Obj.magic (Obj.repr Eq) - | (FStar_Reflection_Data.C_False, FStar_Reflection_Data.C_False) -> + | (FStar_Reflection_V2_Data.C_Unit, FStar_Reflection_V2_Data.C_Unit) -> Obj.magic (Obj.repr Eq) - | (FStar_Reflection_Data.C_String s1, FStar_Reflection_Data.C_String - s2) -> Obj.magic (Obj.repr (eq_cmp s1 s2)) - | (FStar_Reflection_Data.C_Range r1, FStar_Reflection_Data.C_Range r2) - -> Obj.magic (Obj.repr (range_cmp r1 r2)) - | (FStar_Reflection_Data.C_Reify, FStar_Reflection_Data.C_Reify) -> + | (FStar_Reflection_V2_Data.C_Int i1, FStar_Reflection_V2_Data.C_Int + i2) -> Obj.magic (Obj.repr (eq_cmp i1 i2)) + | (FStar_Reflection_V2_Data.C_True, FStar_Reflection_V2_Data.C_True) -> Obj.magic (Obj.repr Eq) - | (FStar_Reflection_Data.C_Reflect n1, FStar_Reflection_Data.C_Reflect - n2) -> Obj.magic (Obj.repr (eq_cmp n1 n2)) + | (FStar_Reflection_V2_Data.C_False, FStar_Reflection_V2_Data.C_False) + -> Obj.magic (Obj.repr Eq) + | (FStar_Reflection_V2_Data.C_String s1, + FStar_Reflection_V2_Data.C_String s2) -> + Obj.magic (Obj.repr (eq_cmp s1 s2)) + | (FStar_Reflection_V2_Data.C_Range r1, + FStar_Reflection_V2_Data.C_Range r2) -> + Obj.magic (Obj.repr (range_cmp r1 r2)) + | (FStar_Reflection_V2_Data.C_Reify, FStar_Reflection_V2_Data.C_Reify) + -> Obj.magic (Obj.repr Eq) + | (FStar_Reflection_V2_Data.C_Reflect n1, + FStar_Reflection_V2_Data.C_Reflect n2) -> + Obj.magic (Obj.repr (eq_cmp n1 n2)) | uu___ -> Obj.magic (Obj.repr Neq) let (ctxu_cmp : FStar_Reflection_Types.ctx_uvar_and_subst comparator_for) = fun uu___ -> fun uu___1 -> Unknown let rec (term_cmp : FStar_Reflection_Types.term comparator_for) = fun t1 -> fun t2 -> - let tv1 = FStar_Reflection_Builtins.inspect_ln t1 in - let tv2 = FStar_Reflection_Builtins.inspect_ln t2 in + let tv1 = FStar_Reflection_V2_Builtins.inspect_ln t1 in + let tv2 = FStar_Reflection_V2_Builtins.inspect_ln t2 in match (tv1, tv2) with - | (FStar_Reflection_Data.Tv_Unsupp, uu___) -> + | (FStar_Reflection_V2_Data.Tv_Unsupp, uu___) -> Obj.magic (Obj.repr Unknown) - | (uu___, FStar_Reflection_Data.Tv_Unsupp) -> + | (uu___, FStar_Reflection_V2_Data.Tv_Unsupp) -> Obj.magic (Obj.repr Unknown) - | (FStar_Reflection_Data.Tv_Var v1, FStar_Reflection_Data.Tv_Var v2) -> + | (FStar_Reflection_V2_Data.Tv_Var v1, FStar_Reflection_V2_Data.Tv_Var + v2) -> Obj.magic (Obj.repr (namedv_cmp v1 v2)) + | (FStar_Reflection_V2_Data.Tv_BVar v1, + FStar_Reflection_V2_Data.Tv_BVar v2) -> Obj.magic (Obj.repr (bv_cmp v1 v2)) - | (FStar_Reflection_Data.Tv_BVar v1, FStar_Reflection_Data.Tv_BVar v2) - -> Obj.magic (Obj.repr (bv_cmp v1 v2)) - | (FStar_Reflection_Data.Tv_FVar f1, FStar_Reflection_Data.Tv_FVar f2) - -> Obj.magic (Obj.repr (fv_cmp f1 f2)) - | (FStar_Reflection_Data.Tv_UInst (f1, u1), - FStar_Reflection_Data.Tv_UInst (f2, u2)) -> + | (FStar_Reflection_V2_Data.Tv_FVar f1, + FStar_Reflection_V2_Data.Tv_FVar f2) -> + Obj.magic (Obj.repr (fv_cmp f1 f2)) + | (FStar_Reflection_V2_Data.Tv_UInst (f1, u1), + FStar_Reflection_V2_Data.Tv_UInst (f2, u2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp f1 f2 u1 u2 (fv_cmp f1 f2) (list_dec_cmp t1 t2 univ_cmp u1 u2))) - | (FStar_Reflection_Data.Tv_App (h1, a1), FStar_Reflection_Data.Tv_App - (h2, a2)) -> + | (FStar_Reflection_V2_Data.Tv_App (h1, a1), + FStar_Reflection_V2_Data.Tv_App (h2, a2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp h1 h2 a1 a2 (term_cmp h1 h2) (arg_cmp a1 a2))) - | (FStar_Reflection_Data.Tv_Abs (b1, e1), FStar_Reflection_Data.Tv_Abs - (b2, e2)) -> + | (FStar_Reflection_V2_Data.Tv_Abs (b1, e1), + FStar_Reflection_V2_Data.Tv_Abs (b2, e2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp b1 b2 e1 e2 (binder_cmp b1 b2) (term_cmp e1 e2))) - | (FStar_Reflection_Data.Tv_Arrow (b1, c1), - FStar_Reflection_Data.Tv_Arrow (b2, c2)) -> + | (FStar_Reflection_V2_Data.Tv_Arrow (b1, c1), + FStar_Reflection_V2_Data.Tv_Arrow (b2, c2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp b1 b2 c1 c2 (binder_cmp b1 b2) (comp_cmp c1 c2))) - | (FStar_Reflection_Data.Tv_Type u1, FStar_Reflection_Data.Tv_Type u2) - -> Obj.magic (Obj.repr (univ_cmp u1 u2)) - | (FStar_Reflection_Data.Tv_Refine (v1, sort1, r1), - FStar_Reflection_Data.Tv_Refine (v2, sort2, r2)) -> + | (FStar_Reflection_V2_Data.Tv_Type u1, + FStar_Reflection_V2_Data.Tv_Type u2) -> + Obj.magic (Obj.repr (univ_cmp u1 u2)) + | (FStar_Reflection_V2_Data.Tv_Refine (sb1, r1), + FStar_Reflection_V2_Data.Tv_Refine (sb2, r2)) -> Obj.magic (Obj.repr - (op_Amp_Amp_Amp (v1, sort1) (v2, sort2) r1 r2 - (op_Amp_Amp_Amp v1 v2 sort1 sort2 (binding_bv_cmp v1 v2) - (term_cmp sort1 sort2)) (term_cmp r1 r2))) - | (FStar_Reflection_Data.Tv_Const c1, FStar_Reflection_Data.Tv_Const - c2) -> Obj.magic (Obj.repr (const_cmp c1 c2)) - | (FStar_Reflection_Data.Tv_Uvar (n1, u1), - FStar_Reflection_Data.Tv_Uvar (n2, u2)) -> + (op_Amp_Amp_Amp sb1 sb2 r1 r2 (binder_cmp sb1 sb2) + (term_cmp r1 r2))) + | (FStar_Reflection_V2_Data.Tv_Const c1, + FStar_Reflection_V2_Data.Tv_Const c2) -> + Obj.magic (Obj.repr (const_cmp c1 c2)) + | (FStar_Reflection_V2_Data.Tv_Uvar (n1, u1), + FStar_Reflection_V2_Data.Tv_Uvar (n2, u2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp n1 n2 u1 u2 (eq_cmp n1 n2) (ctxu_cmp u1 u2))) - | (FStar_Reflection_Data.Tv_Let (r1, attrs1, bv1, ty1, e1, b1), - FStar_Reflection_Data.Tv_Let (r2, attrs2, bv2, ty2, e2, b2)) -> + | (FStar_Reflection_V2_Data.Tv_Let (r1, attrs1, sb1, e1, b1), + FStar_Reflection_V2_Data.Tv_Let (r2, attrs2, sb2, e2, b2)) -> Obj.magic (Obj.repr - (op_Amp_Amp_Amp ((((r1, attrs1), bv1), ty1), e1) - ((((r2, attrs2), bv2), ty2), e2) b1 b2 - (op_Amp_Amp_Amp (((r1, attrs1), bv1), ty1) - (((r2, attrs2), bv2), ty2) e1 e2 - (op_Amp_Amp_Amp ((r1, attrs1), bv1) ((r2, attrs2), bv2) - ty1 ty2 - (op_Amp_Amp_Amp (r1, attrs1) (r2, attrs2) bv1 bv2 - (op_Amp_Amp_Amp r1 r2 attrs1 attrs2 (eq_cmp r1 r2) - (list_dec_cmp t1 t2 term_cmp attrs1 attrs2)) - (binding_bv_cmp bv1 bv2)) (term_cmp ty1 ty2)) - (term_cmp e1 e2)) (term_cmp b1 b2))) - | (FStar_Reflection_Data.Tv_Match (sc1, o1, brs1), - FStar_Reflection_Data.Tv_Match (sc2, o2, brs2)) -> + (op_Amp_Amp_Amp (((r1, attrs1), sb1), e1) + (((r2, attrs2), sb2), e2) b1 b2 + (op_Amp_Amp_Amp ((r1, attrs1), sb1) ((r2, attrs2), sb2) e1 + e2 + (op_Amp_Amp_Amp (r1, attrs1) (r2, attrs2) sb1 sb2 + (op_Amp_Amp_Amp r1 r2 attrs1 attrs2 (eq_cmp r1 r2) + (list_dec_cmp t1 t2 term_cmp attrs1 attrs2)) + (binder_cmp sb1 sb2)) (term_cmp e1 e2)) + (term_cmp b1 b2))) + | (FStar_Reflection_V2_Data.Tv_Match (sc1, o1, brs1), + FStar_Reflection_V2_Data.Tv_Match (sc2, o2, brs2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp (sc1, o1) (sc2, o2) brs1 brs2 (op_Amp_Amp_Amp sc1 sc2 o1 o2 (term_cmp sc1 sc2) (opt_dec_cmp t1 t2 match_returns_ascription_cmp o1 o2)) (list_dec_cmp t1 t2 br_cmp brs1 brs2))) - | (FStar_Reflection_Data.Tv_AscribedT (e1, ta1, tacopt1, eq1), - FStar_Reflection_Data.Tv_AscribedT (e2, ta2, tacopt2, eq2)) -> + | (FStar_Reflection_V2_Data.Tv_AscribedT (e1, ta1, tacopt1, eq1), + FStar_Reflection_V2_Data.Tv_AscribedT (e2, ta2, tacopt2, eq2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp ((e1, ta1), tacopt1) ((e2, ta2), tacopt2) eq1 @@ -308,8 +326,8 @@ let rec (term_cmp : FStar_Reflection_Types.term comparator_for) = (term_cmp ta1 ta2)) (opt_dec_cmp t1 t2 term_cmp tacopt1 tacopt2)) (eq_cmp eq1 eq2))) - | (FStar_Reflection_Data.Tv_AscribedC (e1, c1, tacopt1, eq1), - FStar_Reflection_Data.Tv_AscribedC (e2, c2, tacopt2, eq2)) -> + | (FStar_Reflection_V2_Data.Tv_AscribedC (e1, c1, tacopt1, eq1), + FStar_Reflection_V2_Data.Tv_AscribedC (e2, c2, tacopt2, eq2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp ((e1, c1), tacopt1) ((e2, c2), tacopt2) eq1 @@ -319,35 +337,26 @@ let rec (term_cmp : FStar_Reflection_Types.term comparator_for) = (comp_cmp c1 c2)) (opt_dec_cmp t1 t2 term_cmp tacopt1 tacopt2)) (eq_cmp eq1 eq2))) - | (FStar_Reflection_Data.Tv_Unknown, FStar_Reflection_Data.Tv_Unknown) - -> Obj.magic (Obj.repr Eq) + | (FStar_Reflection_V2_Data.Tv_Unknown, + FStar_Reflection_V2_Data.Tv_Unknown) -> Obj.magic (Obj.repr Eq) | uu___ -> Obj.magic (Obj.repr Neq) -and (arg_cmp : FStar_Reflection_Data.argv comparator_for) = +and (arg_cmp : FStar_Reflection_V2_Data.argv comparator_for) = fun uu___ -> fun uu___1 -> match (uu___, uu___1) with | ((a1, q1), (a2, q2)) -> op_Amp_Amp_Amp a1 a2 q1 q2 (term_cmp a1 a2) (aqual_cmp q1 q2) -and (aqual_cmp : FStar_Reflection_Data.aqualv comparator_for) = +and (aqual_cmp : FStar_Reflection_V2_Data.aqualv comparator_for) = fun a1 -> fun a2 -> match (a1, a2) with - | (FStar_Reflection_Data.Q_Implicit, FStar_Reflection_Data.Q_Implicit) - -> Eq - | (FStar_Reflection_Data.Q_Explicit, FStar_Reflection_Data.Q_Explicit) - -> Eq - | (FStar_Reflection_Data.Q_Meta m1, FStar_Reflection_Data.Q_Meta m2) -> - term_cmp m1 m2 + | (FStar_Reflection_V2_Data.Q_Implicit, + FStar_Reflection_V2_Data.Q_Implicit) -> Eq + | (FStar_Reflection_V2_Data.Q_Explicit, + FStar_Reflection_V2_Data.Q_Explicit) -> Eq + | (FStar_Reflection_V2_Data.Q_Meta m1, FStar_Reflection_V2_Data.Q_Meta + m2) -> term_cmp m1 m2 | uu___ -> Neq -and (binding_bv_cmp : FStar_Reflection_Types.bv comparator_for) = - fun x1 -> - fun x2 -> - let v1 = FStar_Reflection_Builtins.inspect_bv x1 in - let v2 = FStar_Reflection_Builtins.inspect_bv x2 in - if - v1.FStar_Reflection_Data.bv_index = v2.FStar_Reflection_Data.bv_index - then Eq - else Neq and (match_returns_ascription_cmp : FStar_Reflection_Types.match_returns_ascription comparator_for) = fun asc1 -> @@ -369,57 +378,47 @@ and (match_returns_ascription_cmp : and (binder_cmp : FStar_Reflection_Types.binder comparator_for) = fun b1 -> fun b2 -> - let bv1 = FStar_Reflection_Builtins.inspect_binder b1 in - let bv2 = FStar_Reflection_Builtins.inspect_binder b2 in + let bv1 = FStar_Reflection_V2_Builtins.inspect_binder b1 in + let bv2 = FStar_Reflection_V2_Builtins.inspect_binder b2 in Obj.magic (op_Amp_Amp_Amp - (((bv1.FStar_Reflection_Data.binder_bv), - (bv1.FStar_Reflection_Data.binder_sort)), - (bv1.FStar_Reflection_Data.binder_qual)) - (((bv2.FStar_Reflection_Data.binder_bv), - (bv2.FStar_Reflection_Data.binder_sort)), - (bv2.FStar_Reflection_Data.binder_qual)) - bv1.FStar_Reflection_Data.binder_attrs - bv2.FStar_Reflection_Data.binder_attrs - (op_Amp_Amp_Amp - ((bv1.FStar_Reflection_Data.binder_bv), - (bv1.FStar_Reflection_Data.binder_sort)) - ((bv2.FStar_Reflection_Data.binder_bv), - (bv2.FStar_Reflection_Data.binder_sort)) - bv1.FStar_Reflection_Data.binder_qual - bv2.FStar_Reflection_Data.binder_qual - (op_Amp_Amp_Amp bv1.FStar_Reflection_Data.binder_bv - bv2.FStar_Reflection_Data.binder_bv - bv1.FStar_Reflection_Data.binder_sort - bv2.FStar_Reflection_Data.binder_sort - (binding_bv_cmp bv1.FStar_Reflection_Data.binder_bv - bv2.FStar_Reflection_Data.binder_bv) - (term_cmp bv1.FStar_Reflection_Data.binder_sort - bv2.FStar_Reflection_Data.binder_sort)) - (aqual_cmp bv1.FStar_Reflection_Data.binder_qual - bv2.FStar_Reflection_Data.binder_qual)) - (list_dec_cmp b1 b2 term_cmp - bv1.FStar_Reflection_Data.binder_attrs - bv2.FStar_Reflection_Data.binder_attrs)) + ((bv1.FStar_Reflection_V2_Data.sort2), + (bv1.FStar_Reflection_V2_Data.qual)) + ((bv2.FStar_Reflection_V2_Data.sort2), + (bv2.FStar_Reflection_V2_Data.qual)) + bv1.FStar_Reflection_V2_Data.attrs + bv2.FStar_Reflection_V2_Data.attrs + (op_Amp_Amp_Amp bv1.FStar_Reflection_V2_Data.sort2 + bv2.FStar_Reflection_V2_Data.sort2 + bv1.FStar_Reflection_V2_Data.qual + bv2.FStar_Reflection_V2_Data.qual + (term_cmp bv1.FStar_Reflection_V2_Data.sort2 + bv2.FStar_Reflection_V2_Data.sort2) + (aqual_cmp bv1.FStar_Reflection_V2_Data.qual + bv2.FStar_Reflection_V2_Data.qual)) + (list_dec_cmp b1 b2 term_cmp bv1.FStar_Reflection_V2_Data.attrs + bv2.FStar_Reflection_V2_Data.attrs)) and (comp_cmp : FStar_Reflection_Types.comp comparator_for) = fun c1 -> fun c2 -> - let cv1 = FStar_Reflection_Builtins.inspect_comp c1 in - let cv2 = FStar_Reflection_Builtins.inspect_comp c2 in + let cv1 = FStar_Reflection_V2_Builtins.inspect_comp c1 in + let cv2 = FStar_Reflection_V2_Builtins.inspect_comp c2 in match (cv1, cv2) with - | (FStar_Reflection_Data.C_Total t1, FStar_Reflection_Data.C_Total t2) - -> Obj.magic (Obj.repr (term_cmp t1 t2)) - | (FStar_Reflection_Data.C_GTotal t1, FStar_Reflection_Data.C_GTotal - t2) -> Obj.magic (Obj.repr (term_cmp t1 t2)) - | (FStar_Reflection_Data.C_Lemma (pre1, post1, pat1), - FStar_Reflection_Data.C_Lemma (pre2, post2, pat2)) -> + | (FStar_Reflection_V2_Data.C_Total t1, + FStar_Reflection_V2_Data.C_Total t2) -> + Obj.magic (Obj.repr (term_cmp t1 t2)) + | (FStar_Reflection_V2_Data.C_GTotal t1, + FStar_Reflection_V2_Data.C_GTotal t2) -> + Obj.magic (Obj.repr (term_cmp t1 t2)) + | (FStar_Reflection_V2_Data.C_Lemma (pre1, post1, pat1), + FStar_Reflection_V2_Data.C_Lemma (pre2, post2, pat2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp (pre1, post1) (pre2, post2) pat1 pat2 (op_Amp_Amp_Amp pre1 pre2 post1 post2 (term_cmp pre1 pre2) (term_cmp post1 post2)) (term_cmp pat1 pat2))) - | (FStar_Reflection_Data.C_Eff (us1, ef1, t1, args1, dec1), - FStar_Reflection_Data.C_Eff (us2, ef2, t2, args2, dec2)) -> + | (FStar_Reflection_V2_Data.C_Eff (us1, ef1, t1, args1, dec1), + FStar_Reflection_V2_Data.C_Eff (us2, ef2, t2, args2, dec2)) -> Obj.magic (Obj.repr (op_Amp_Amp_Amp (((us1, ef1), t1), args1) @@ -433,7 +432,7 @@ and (comp_cmp : FStar_Reflection_Types.comp comparator_for) = (list_dec_cmp c1 c2 arg_cmp args1 args2)) (list_dec_cmp c1 c2 term_cmp dec1 dec2))) | uu___ -> Obj.magic (Obj.repr Neq) -and (br_cmp : FStar_Reflection_Data.branch comparator_for) = +and (br_cmp : FStar_Reflection_V2_Data.branch comparator_for) = fun br1 -> fun br2 -> op_Amp_Amp_Amp (FStar_Pervasives_Native.fst br1) @@ -443,30 +442,30 @@ and (br_cmp : FStar_Reflection_Data.branch comparator_for) = (FStar_Pervasives_Native.fst br2)) (term_cmp (FStar_Pervasives_Native.snd br1) (FStar_Pervasives_Native.snd br2)) -and (pat_cmp : FStar_Reflection_Data.pattern comparator_for) = +and (pat_cmp : FStar_Reflection_V2_Data.pattern comparator_for) = fun p1 -> fun p2 -> match (p1, p2) with - | (FStar_Reflection_Data.Pat_Var (v1, st1), - FStar_Reflection_Data.Pat_Var (v2, st2)) -> - Obj.magic (Obj.repr (bv_cmp v1 v2)) - | (FStar_Reflection_Data.Pat_Constant c1, - FStar_Reflection_Data.Pat_Constant c2) -> - Obj.magic (Obj.repr (const_cmp c1 c2)) - | (FStar_Reflection_Data.Pat_Dot_Term t1, - FStar_Reflection_Data.Pat_Dot_Term t2) -> - Obj.magic (Obj.repr (opt_dec_cmp p1 p2 term_cmp t1 t2)) - | (FStar_Reflection_Data.Pat_Cons (f1, us1, args1), - FStar_Reflection_Data.Pat_Cons (f2, us2, args2)) -> + | (FStar_Reflection_V2_Data.Pat_Var (x1, s1), + FStar_Reflection_V2_Data.Pat_Var (x2, s2)) -> + Obj.magic (Obj.repr Eq) + | (FStar_Reflection_V2_Data.Pat_Constant x1, + FStar_Reflection_V2_Data.Pat_Constant x2) -> + Obj.magic (Obj.repr (const_cmp x1 x2)) + | (FStar_Reflection_V2_Data.Pat_Dot_Term x1, + FStar_Reflection_V2_Data.Pat_Dot_Term x2) -> + Obj.magic (Obj.repr (opt_dec_cmp p1 p2 term_cmp x1 x2)) + | (FStar_Reflection_V2_Data.Pat_Cons (head1, us1, subpats1), + FStar_Reflection_V2_Data.Pat_Cons (head2, us2, subpats2)) -> Obj.magic (Obj.repr - (op_Amp_Amp_Amp (f1, us1) (f2, us2) args1 args2 - (op_Amp_Amp_Amp f1 f2 us1 us2 (fv_cmp f1 f2) + (op_Amp_Amp_Amp (head1, us1) (head2, us2) subpats1 subpats2 + (op_Amp_Amp_Amp head1 head2 us1 us2 (fv_cmp head1 head2) (opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) us1 us2)) - (list_dec_cmp p1 p2 pat_arg_cmp args1 args2))) + (list_dec_cmp p1 p2 pat_arg_cmp subpats1 subpats2))) | uu___ -> Obj.magic (Obj.repr Neq) and (pat_arg_cmp : - (FStar_Reflection_Data.pattern * Prims.bool) comparator_for) = + (FStar_Reflection_V2_Data.pattern * Prims.bool) comparator_for) = fun uu___ -> fun uu___1 -> match (uu___, uu___1) with @@ -484,9 +483,16 @@ type 'p faithful_pattern = Obj.t type 'pb faithful_pattern_arg = Obj.t type 'ats faithful_attrs = Obj.t type 'c faithful_comp = Obj.t +type faithful_term = FStar_Reflection_Types.term let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> Prims.bool) = - fun t1 -> fun t2 -> match term_cmp t1 t2 with | Eq -> true | uu___ -> false -type faithful_term = FStar_Reflection_Types.term + fun t1 -> fun t2 -> uu___is_Eq (term_cmp t1 t2) let (term_eq_dec : faithful_term -> faithful_term -> Prims.bool) = - fun t1 -> fun t2 -> match term_cmp t1 t2 with | Eq -> true | Neq -> false \ No newline at end of file + fun t1 -> fun t2 -> uu___is_Eq (term_cmp t1 t2) +type faithful_universe = FStar_Reflection_Types.universe +let (univ_eq : + FStar_Reflection_Types.universe -> + FStar_Reflection_Types.universe -> Prims.bool) + = fun u1 -> fun u2 -> uu___is_Eq (univ_cmp u1 u2) +let (univ_eq_dec : faithful_universe -> faithful_universe -> Prims.bool) = + fun u1 -> fun u2 -> uu___is_Eq (univ_cmp u1 u2) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Encode.ml b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Encode.ml index 2679c4d369e..10fafbb0cb0 100644 --- a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Encode.ml +++ b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Encode.ml @@ -1516,6 +1516,8 @@ let (encode_free_var : (tcenv_comp.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (tcenv_comp.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (tcenv_comp.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (tcenv_comp.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -2420,6 +2422,8 @@ let (encode_top_level_let : (uu___1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_SMTEncoding_EncodeTerm.ml b/ocaml/fstar-lib/generated/FStar_SMTEncoding_EncodeTerm.ml index 6f4bcb1551c..ca6d13324e6 100644 --- a/ocaml/fstar-lib/generated/FStar_SMTEncoding_EncodeTerm.ml +++ b/ocaml/fstar-lib/generated/FStar_SMTEncoding_EncodeTerm.ml @@ -1249,11 +1249,11 @@ and (encode_term : | FStar_Syntax_Syntax.Tm_quoted (qt, uu___2) -> let tv = let uu___3 = - let uu___4 = FStar_Reflection_Basic.inspect_ln qt in - FStar_Syntax_Embeddings.embed - FStar_Reflection_Embeddings.e_term_view uu___4 in + let uu___4 = FStar_Reflection_V2_Builtins.inspect_ln qt in + FStar_Syntax_Embeddings_Base.embed + FStar_Reflection_V2_Embeddings.e_term_view uu___4 in uu___3 t1.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.id_norm_cb in ((let uu___4 = FStar_Compiler_Effect.op_Less_Bar (FStar_TypeChecker_Env.debug @@ -1270,8 +1270,8 @@ and (encode_term : let uu___4 = let uu___5 = FStar_Syntax_Syntax.as_arg tv in [uu___5] in FStar_Syntax_Util.mk_app - (FStar_Reflection_Constants.refl_constant_term - FStar_Reflection_Constants.fstar_refl_pack_ln) uu___4 in + (FStar_Reflection_V2_Constants.refl_constant_term + FStar_Reflection_V2_Constants.fstar_refl_pack_ln) uu___4 in encode_term t2 env)) | FStar_Syntax_Syntax.Tm_meta { FStar_Syntax_Syntax.tm2 = t2; @@ -1458,6 +1458,8 @@ and (encode_term : (uu___6.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___6.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___6.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___6.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -3850,15 +3852,13 @@ and (encode_formula : -> let uu___3 = let uu___4 = - let uu___5 = - FStar_Syntax_Embeddings.unembed - FStar_Syntax_Embeddings.e_range r in - uu___5 false FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.try_unembed + FStar_Syntax_Embeddings.e_range r + FStar_Syntax_Embeddings_Base.id_norm_cb in let uu___5 = - let uu___6 = - FStar_Syntax_Embeddings.unembed - FStar_Syntax_Embeddings.e_string msg in - uu___6 false FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.try_unembed + FStar_Syntax_Embeddings.e_string msg + FStar_Syntax_Embeddings_Base.id_norm_cb in (uu___4, uu___5) in (match uu___3 with | (FStar_Pervasives_Native.Some r1, diff --git a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Solver.ml b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Solver.ml index ef211ccb5ce..a78ec1063af 100644 --- a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Solver.ml +++ b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Solver.ml @@ -185,7 +185,7 @@ let rec (filter_assertions_with_stats : let uu___5 = FStar_Compiler_Effect.op_Bar_Greater core1 (FStar_String.concat ", ") in - Prims.op_Hat "UNSAT CORE: " uu___5 in + Prims.op_Hat "UNSAT CORE USED: " uu___5 in FStar_SMTEncoding_Term.Caption uu___4 in [uu___3] in (uu___2, Prims.int_zero, Prims.int_zero) in @@ -229,17 +229,6 @@ let rec (filter_assertions_with_stats : (match uu___ 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___ = filter_assertions_with_stats e core theory in - match uu___ with | (theory1, b, uu___1, uu___2) -> (theory1, b) let (filter_facts_without_core : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Term.decl Prims.list -> @@ -441,6 +430,104 @@ let (__proj__Mkquery_settings__item__query_term : query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash; query_can_be_split_and_retried; query_term;_} -> query_term +let (maybe_build_core_from_hook : + FStar_TypeChecker_Env.env -> + query_settings FStar_Pervasives_Native.option -> + FStar_SMTEncoding_Z3.unsat_core -> + FStar_SMTEncoding_Term.decl Prims.list -> + FStar_SMTEncoding_Z3.unsat_core) + = + fun e -> + fun qsettings -> + fun core -> + fun theory -> + match qsettings with + | FStar_Pervasives_Native.None -> core + | FStar_Pervasives_Native.Some qsettings1 -> + (match core with + | FStar_Pervasives_Native.Some uu___ -> core + | FStar_Pervasives_Native.None -> + let uu___ = FStar_Options.hint_hook () in + (match uu___ with + | FStar_Pervasives_Native.None -> core + | FStar_Pervasives_Native.Some hint_hook_cmd -> + let qryid = + let uu___1 = + FStar_Compiler_Util.string_of_int + qsettings1.query_index in + FStar_Compiler_Util.format2 "(%s, %s)" + qsettings1.query_name uu___1 in + let qry = + FStar_SMTEncoding_Term.declToSmt_no_caps "" + qsettings1.query_decl in + let qry1 = + FStar_Compiler_Util.replace_chars qry 10 "" in + (match e.FStar_TypeChecker_Env.qtbl_name_and_index + with + | (FStar_Pervasives_Native.None, uu___1) -> + (FStar_Errors.diag qsettings1.query_range + "maybe_build_core_from_hook: qbtl name unset?"; + core) + | (FStar_Pervasives_Native.Some (lid, typ, ctr), + uu___1) -> + let input = + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + FStar_Syntax_Print.term_to_string + typ in + FStar_Json.JsonStr uu___7 in + ("type", uu___6) in + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + FStar_Compiler_List.map + (fun d -> + let uu___11 = + FStar_SMTEncoding_Term.declToSmt_no_caps + "" d in + FStar_Json.JsonStr + uu___11) theory in + FStar_Json.JsonList uu___10 in + ("theory", uu___9) in + [uu___8] in + ("query", (FStar_Json.JsonStr qry1)) + :: uu___7 in + uu___5 :: uu___6 in + ("query_ctr", (FStar_Json.JsonInt ctr)) :: + uu___4 in + ("query_name", + (FStar_Json.JsonStr + (qsettings1.query_name))) + :: uu___3 in + FStar_Json.JsonAssoc uu___2 in + let input1 = FStar_Json.string_of_json input in + let output = + FStar_Compiler_Util.run_process + (Prims.op_Hat "hint-hook-" qryid) + hint_hook_cmd [] + (FStar_Pervasives_Native.Some input1) in + let facts = FStar_String.split [44] output in + FStar_Pervasives_Native.Some facts))) +let (filter_assertions : + FStar_TypeChecker_Env.env -> + query_settings FStar_Pervasives_Native.option -> + FStar_SMTEncoding_Z3.unsat_core -> + FStar_SMTEncoding_Term.decl Prims.list -> + (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool)) + = + fun e -> + fun qsettings -> + fun core -> + fun theory -> + let core1 = maybe_build_core_from_hook e qsettings core theory in + let uu___ = filter_assertions_with_stats e core1 theory in + match uu___ with | (theory1, b, uu___1, uu___2) -> (theory1, b) let (with_fuel_and_diagnostics : query_settings -> FStar_SMTEncoding_Term.decl Prims.list -> @@ -574,9 +661,15 @@ let (detail_hint_replay : let ask_z3 label_assumptions = let uu___1 = with_fuel_and_diagnostics settings label_assumptions in + let uu___2 = + let uu___3 = + FStar_Compiler_Util.string_of_int settings.query_index in + FStar_Compiler_Util.format2 "(%s, %s)" settings.query_name + uu___3 in FStar_SMTEncoding_Z3.ask settings.query_range - (filter_assertions settings.query_env settings.query_hint) - settings.query_hash settings.query_all_labels uu___1 + (filter_assertions settings.query_env + FStar_Pervasives_Native.None settings.query_hint) + settings.query_hash settings.query_all_labels uu___1 uu___2 FStar_Pervasives_Native.None false in FStar_SMTEncoding_ErrorReporting.detail_errors true settings.query_env settings.query_all_labels ask_z3 @@ -746,10 +839,14 @@ let (errors_to_report : query_settings -> FStar_Errors.error Prims.list) = let ask_z3 label_assumptions = let uu___1 = with_fuel_and_diagnostics initial_fuel label_assumptions in + let uu___2 = + let uu___3 = + FStar_Compiler_Util.string_of_int settings.query_index in + FStar_Compiler_Util.format2 "(%s, %s)" settings.query_name uu___3 in FStar_SMTEncoding_Z3.ask settings.query_range (filter_facts_without_core settings.query_env) settings.query_hash - settings.query_all_labels uu___1 FStar_Pervasives_Native.None - false in + settings.query_all_labels uu___1 uu___2 + FStar_Pervasives_Native.None false in FStar_SMTEncoding_ErrorReporting.detail_errors false settings.query_env settings.query_all_labels ask_z3 else ()); @@ -890,11 +987,15 @@ let (query_info : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = | FStar_Pervasives_Native.Some s -> Prims.op_Hat "@" s in let uu___2 = match z3result.FStar_SMTEncoding_Z3.z3result_status with - | FStar_SMTEncoding_Z3.UNSAT core -> ("succeeded", core) + | FStar_SMTEncoding_Z3.UNSAT core -> + let uu___3 = FStar_Compiler_Util.colorize_green "succeeded" in + (uu___3, core) | uu___3 -> - ((Prims.op_Hat "failed {reason-unknown=" - (Prims.op_Hat status_string "}")), - FStar_Pervasives_Native.None) in + let uu___4 = + FStar_Compiler_Util.colorize_red + (Prims.op_Hat "failed {reason-unknown=" + (Prims.op_Hat status_string "}")) in + (uu___4, FStar_Pervasives_Native.None) in (match uu___2 with | (tag, core) -> let range = @@ -1167,9 +1268,10 @@ let (make_solver_configs : let uu___1 = match env.FStar_TypeChecker_Env.qtbl_name_and_index with - | (uu___2, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None, uu___2) -> failwith "No query name set!" - | (uu___2, FStar_Pervasives_Native.Some (q, n)) -> + | (FStar_Pervasives_Native.Some (q, _typ, n), uu___2) + -> let uu___3 = FStar_Ident.string_of_lid q in (uu___3, n) in match uu___1 with @@ -1384,11 +1486,15 @@ let (__ask_solver : if uu___1 then FStar_SMTEncoding_Z3.refresh () else ()); (let uu___1 = with_fuel_and_diagnostics config [] in let uu___2 = - let uu___3 = FStar_SMTEncoding_Z3.mk_fresh_scope () in - FStar_Pervasives_Native.Some uu___3 in + let uu___3 = FStar_Compiler_Util.string_of_int config.query_index in + FStar_Compiler_Util.format2 "(%s, %s)" config.query_name uu___3 in + let uu___3 = + let uu___4 = FStar_SMTEncoding_Z3.mk_fresh_scope () in + FStar_Pervasives_Native.Some uu___4 in FStar_SMTEncoding_Z3.ask config.query_range - (filter_assertions config.query_env config.query_hint) - config.query_hash config.query_all_labels uu___1 uu___2 + (filter_assertions config.query_env + (FStar_Pervasives_Native.Some config) config.query_hint) + config.query_hash config.query_all_labels uu___1 uu___2 uu___3 (used_hint config)) in fold_queries configs check_one_config process_result let (ask_solver_quake : @@ -1662,10 +1768,10 @@ let (report : FStar_TypeChecker_Env.env -> query_settings -> answer -> unit) if quaking then (let rng = - match FStar_Pervasives_Native.snd + match FStar_Pervasives_Native.fst env.FStar_TypeChecker_Env.qtbl_name_and_index with - | FStar_Pervasives_Native.Some (l, uu___2) -> + | FStar_Pervasives_Native.Some (l, uu___2, uu___3) -> FStar_Ident.range_of_lid l | uu___2 -> FStar_Compiler_Range_Type.dummyRange in let uu___2 = diff --git a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Term.ml b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Term.ml index b677ac7ccd2..8beaac28942 100644 --- a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Term.ml +++ b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Term.ml @@ -1660,8 +1660,8 @@ let (termToSmt : Prims.bool -> Prims.string -> term -> Prims.string) = let pats1 = remove_guard_free pats in let pats_str = match pats1 with - | []::[] -> ";;no pats" - | [] -> ";;no pats" + | []::[] -> if print_ranges then ";;no pats" else "" + | [] -> if print_ranges then ";;no pats" else "" | uu___1 -> let uu___2 = FStar_Compiler_Effect.op_Bar_Greater pats1 diff --git a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Z3.ml b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Z3.ml index 4da837ca550..bbbb969c847 100644 --- a/ocaml/fstar-lib/generated/FStar_SMTEncoding_Z3.ml +++ b/ocaml/fstar-lib/generated/FStar_SMTEncoding_Z3.ml @@ -78,30 +78,37 @@ type query_log = get_module_name: unit -> Prims.string ; set_module_name: Prims.string -> unit ; write_to_log: Prims.bool -> Prims.string -> Prims.string ; + append_to_log: Prims.string -> Prims.string ; close_log: unit -> unit } let (__proj__Mkquery_log__item__get_module_name : query_log -> unit -> Prims.string) = fun projectee -> match projectee with - | { get_module_name; set_module_name; write_to_log; close_log;_} -> - get_module_name + | { get_module_name; set_module_name; write_to_log; append_to_log; + close_log;_} -> get_module_name let (__proj__Mkquery_log__item__set_module_name : query_log -> Prims.string -> unit) = fun projectee -> match projectee with - | { get_module_name; set_module_name; write_to_log; close_log;_} -> - set_module_name + | { get_module_name; set_module_name; write_to_log; append_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 -> match projectee with - | { get_module_name; set_module_name; write_to_log; close_log;_} -> - write_to_log + | { get_module_name; set_module_name; write_to_log; append_to_log; + close_log;_} -> write_to_log +let (__proj__Mkquery_log__item__append_to_log : + query_log -> Prims.string -> Prims.string) = + fun projectee -> + match projectee with + | { get_module_name; set_module_name; write_to_log; append_to_log; + close_log;_} -> append_to_log let (__proj__Mkquery_log__item__close_log : query_log -> unit -> unit) = fun projectee -> match projectee with - | { get_module_name; set_module_name; write_to_log; close_log;_} -> - close_log + | { get_module_name; set_module_name; write_to_log; append_to_log; + close_log;_} -> close_log let (_z3version_checked : Prims.bool FStar_Compiler_Effect.ref) = FStar_Compiler_Util.mk_ref false let (_z3version_expected : Prims.string) = "Z3 version 4.8.5" @@ -290,7 +297,8 @@ let (query_logging : query_log) = match uu___1 with | FStar_Pervasives_Native.None -> failwith "no log file" | FStar_Pervasives_Native.Some n -> n in - { get_module_name; set_module_name; write_to_log; close_log } + { get_module_name; set_module_name; write_to_log; append_to_log; close_log + } let (z3_cmd_and_args : unit -> (Prims.string * Prims.string Prims.list)) = fun uu___ -> let cmd = FStar_Options.z3_exe () in @@ -574,156 +582,182 @@ let (doZ3Exe : FStar_Compiler_Range_Type.range -> Prims.bool -> Prims.string -> - FStar_SMTEncoding_Term.error_labels -> (z3status * z3statistics)) + FStar_SMTEncoding_Term.error_labels -> + Prims.string -> (z3status * z3statistics)) = fun log_file -> fun r -> fun fresh -> fun input -> fun label_messages -> - let parse z3out = - let lines = - FStar_Compiler_Effect.op_Bar_Greater - (FStar_String.split [10] z3out) - (FStar_Compiler_List.map FStar_Compiler_Util.trim_string) in - let smt_output1 = smt_output_sections log_file r lines in - let unsat_core1 = - match smt_output1.smt_unsat_core with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some s -> - let s1 = - FStar_Compiler_Util.trim_string - (FStar_String.concat " " s) in - let s2 = - FStar_Compiler_Util.substring s1 Prims.int_one - ((FStar_String.length s1) - (Prims.of_int (2))) in - if FStar_Compiler_Util.starts_with s2 "error" - then FStar_Pervasives_Native.None - else - (let uu___1 = - FStar_Compiler_Effect.op_Bar_Greater - (FStar_Compiler_Util.split s2 " ") - (FStar_Compiler_Util.sort_with - FStar_String.compare) in - FStar_Pervasives_Native.Some uu___1) in - let labels = - match smt_output1.smt_labels with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some lines1 -> - let rec lblnegs lines2 = - match lines2 with - | lname::"false"::rest when - FStar_Compiler_Util.starts_with lname "label_" -> - let uu___ = lblnegs rest in lname :: uu___ - | lname::uu___::rest when - FStar_Compiler_Util.starts_with lname "label_" -> - lblnegs rest - | uu___ -> [] in - let lblnegs1 = lblnegs lines1 in - FStar_Compiler_Effect.op_Bar_Greater lblnegs1 - (FStar_Compiler_List.collect - (fun l -> - let uu___ = - FStar_Compiler_Effect.op_Bar_Greater - label_messages - (FStar_Compiler_List.tryFind - (fun uu___1 -> - match uu___1 with - | (m, uu___2, uu___3) -> - let uu___4 = - FStar_SMTEncoding_Term.fv_name m in - uu___4 = l)) in - match uu___ with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (lbl, msg, r1) -> - [(lbl, msg, r1)])) in - let statistics = - let statistics1 = - FStar_Compiler_Util.smap_create Prims.int_zero in - match smt_output1.smt_statistics with - | FStar_Pervasives_Native.None -> statistics1 - | FStar_Pervasives_Native.Some lines1 -> - let parse_line line = - let pline = - FStar_Compiler_Util.split - (FStar_Compiler_Util.trim_string line) ":" in - match pline with - | "("::entry::[] -> - let tokens = FStar_Compiler_Util.split entry " " in - let key = FStar_Compiler_List.hd tokens in - let ltok = - FStar_Compiler_List.nth tokens - ((FStar_Compiler_List.length tokens) - - Prims.int_one) in - let value = - if FStar_Compiler_Util.ends_with ltok ")" - then - FStar_Compiler_Util.substring ltok - Prims.int_zero - ((FStar_String.length ltok) - Prims.int_one) - else ltok in - FStar_Compiler_Util.smap_add statistics1 key value - | ""::entry::[] -> - let tokens = FStar_Compiler_Util.split entry " " in - let key = FStar_Compiler_List.hd tokens in - let ltok = - FStar_Compiler_List.nth tokens - ((FStar_Compiler_List.length tokens) - - Prims.int_one) in - let value = - if FStar_Compiler_Util.ends_with ltok ")" - then - FStar_Compiler_Util.substring ltok - Prims.int_zero - ((FStar_String.length ltok) - Prims.int_one) - else ltok in - FStar_Compiler_Util.smap_add statistics1 key value - | uu___ -> () in - (FStar_Compiler_List.iter parse_line lines1; statistics1) in - let reason_unknown = - FStar_Compiler_Util.map_opt smt_output1.smt_reason_unknown - (fun x -> - let ru = FStar_String.concat " " x in - if - FStar_Compiler_Util.starts_with ru - "(:reason-unknown \"" - then - let reason = - FStar_Compiler_Util.substring_from ru - (FStar_String.length "(:reason-unknown \"") in - let res = - FStar_String.substring reason Prims.int_zero - ((FStar_String.length reason) - (Prims.of_int (2))) in - res - else ru) in - let status = - (let uu___1 = FStar_Options.debug_any () in - if uu___1 - then - let uu___2 = - FStar_Compiler_Util.format1 "Z3 says: %s\n" - (FStar_String.concat "\n" smt_output1.smt_result) in - FStar_Compiler_Effect.op_Less_Bar - FStar_Compiler_Util.print_string uu___2 - else ()); - (match smt_output1.smt_result with - | "unsat"::[] -> UNSAT unsat_core1 - | "sat"::[] -> SAT (labels, reason_unknown) - | "unknown"::[] -> UNKNOWN (labels, reason_unknown) - | "timeout"::[] -> TIMEOUT (labels, reason_unknown) - | "killed"::[] -> - ((let uu___2 = FStar_Compiler_Effect.op_Bang bg_z3_proc in - uu___2.restart ()); - KILLED) - | uu___1 -> + fun queryid -> + let parse z3out = + let lines = + FStar_Compiler_Effect.op_Bar_Greater + (FStar_String.split [10] z3out) + (FStar_Compiler_List.map FStar_Compiler_Util.trim_string) in + let smt_output1 = smt_output_sections log_file r lines in + let unsat_core1 = + match smt_output1.smt_unsat_core with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some s -> + let s1 = + FStar_Compiler_Util.trim_string + (FStar_String.concat " " s) in + let s2 = + FStar_Compiler_Util.substring s1 Prims.int_one + ((FStar_String.length s1) - (Prims.of_int (2))) in + if FStar_Compiler_Util.starts_with s2 "error" + then FStar_Pervasives_Native.None + else + (let uu___1 = + FStar_Compiler_Effect.op_Bar_Greater + (FStar_Compiler_Util.split s2 " ") + (FStar_Compiler_Util.sort_with + FStar_String.compare) in + FStar_Pervasives_Native.Some uu___1) in + let labels = + match smt_output1.smt_labels with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some lines1 -> + let rec lblnegs lines2 = + match lines2 with + | lname::"false"::rest when + FStar_Compiler_Util.starts_with lname "label_" -> + let uu___ = lblnegs rest in lname :: uu___ + | lname::uu___::rest when + FStar_Compiler_Util.starts_with lname "label_" -> + lblnegs rest + | uu___ -> [] in + let lblnegs1 = lblnegs lines1 in + FStar_Compiler_Effect.op_Bar_Greater lblnegs1 + (FStar_Compiler_List.collect + (fun l -> + let uu___ = + FStar_Compiler_Effect.op_Bar_Greater + label_messages + (FStar_Compiler_List.tryFind + (fun uu___1 -> + match uu___1 with + | (m, uu___2, uu___3) -> + let uu___4 = + FStar_SMTEncoding_Term.fv_name + m in + uu___4 = l)) in + match uu___ with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (lbl, msg, r1) + -> [(lbl, msg, r1)])) in + let statistics = + let statistics1 = + FStar_Compiler_Util.smap_create Prims.int_zero in + match smt_output1.smt_statistics with + | FStar_Pervasives_Native.None -> statistics1 + | FStar_Pervasives_Native.Some lines1 -> + let parse_line line = + let pline = + FStar_Compiler_Util.split + (FStar_Compiler_Util.trim_string line) ":" in + match pline with + | "("::entry::[] -> + let tokens = FStar_Compiler_Util.split entry " " in + let key = FStar_Compiler_List.hd tokens in + let ltok = + FStar_Compiler_List.nth tokens + ((FStar_Compiler_List.length tokens) - + Prims.int_one) in + let value = + if FStar_Compiler_Util.ends_with ltok ")" + then + FStar_Compiler_Util.substring ltok + Prims.int_zero + ((FStar_String.length ltok) - Prims.int_one) + else ltok in + FStar_Compiler_Util.smap_add statistics1 key + value + | ""::entry::[] -> + let tokens = FStar_Compiler_Util.split entry " " in + let key = FStar_Compiler_List.hd tokens in + let ltok = + FStar_Compiler_List.nth tokens + ((FStar_Compiler_List.length tokens) - + Prims.int_one) in + let value = + if FStar_Compiler_Util.ends_with ltok ")" + then + FStar_Compiler_Util.substring ltok + Prims.int_zero + ((FStar_String.length ltok) - Prims.int_one) + else ltok in + FStar_Compiler_Util.smap_add statistics1 key + value + | uu___ -> () in + (FStar_Compiler_List.iter parse_line lines1; + statistics1) in + let reason_unknown = + FStar_Compiler_Util.map_opt smt_output1.smt_reason_unknown + (fun x -> + let ru = FStar_String.concat " " x in + if + FStar_Compiler_Util.starts_with ru + "(:reason-unknown \"" + then + let reason = + FStar_Compiler_Util.substring_from ru + (FStar_String.length "(:reason-unknown \"") in + let res = + FStar_String.substring reason Prims.int_zero + ((FStar_String.length reason) - + (Prims.of_int (2))) in + res + else ru) in + let status = + (let uu___1 = FStar_Options.debug_any () in + if uu___1 + then let uu___2 = - FStar_Compiler_Util.format1 - "Unexpected output from Z3: got output result: %s\n" + FStar_Compiler_Util.format1 "Z3 says: %s\n" (FStar_String.concat "\n" smt_output1.smt_result) in - failwith uu___2) in - (status, statistics) in - let stdout = + FStar_Compiler_Effect.op_Less_Bar + FStar_Compiler_Util.print_string uu___2 + else ()); + (match smt_output1.smt_result with + | "unsat"::[] -> UNSAT unsat_core1 + | "sat"::[] -> SAT (labels, reason_unknown) + | "unknown"::[] -> UNKNOWN (labels, reason_unknown) + | "timeout"::[] -> TIMEOUT (labels, reason_unknown) + | "killed"::[] -> + ((let uu___2 = + FStar_Compiler_Effect.op_Bang bg_z3_proc in + uu___2.restart ()); + KILLED) + | uu___1 -> + let uu___2 = + FStar_Compiler_Util.format1 + "Unexpected output from Z3: got output result: %s\n" + (FStar_String.concat "\n" smt_output1.smt_result) in + failwith uu___2) in + (status, statistics) in + let log_result fwrite uu___ = + match uu___ with + | (res, _stats) -> + (match log_file with + | FStar_Pervasives_Native.Some fname -> + (fwrite fname (Prims.op_Hat "; QUERY ID: " queryid); + (let uu___3 = + let uu___4 = + let uu___5 = status_string_and_errors res in + FStar_Pervasives_Native.fst uu___5 in + Prims.op_Hat "; STATUS: " uu___4 in + fwrite fname uu___3); + (match res with + | UNSAT (FStar_Pervasives_Native.Some core) -> + fwrite fname + (Prims.op_Hat "; UNSAT CORE GENERATED: " + (FStar_String.concat ", " core)) + | uu___3 -> ())) + | FStar_Pervasives_Native.None -> ()) in if fresh then let proc = @@ -732,11 +766,26 @@ let (doZ3Exe : let out = FStar_Compiler_Util.ask_process proc input kill_handler warn_handler in - (FStar_Compiler_Util.kill_process proc; out) + let r1 = parse (FStar_Compiler_Util.trim_string out) in + (log_result + (fun fname -> + fun s -> + let h = + FStar_Compiler_Util.open_file_for_appending fname in + FStar_Compiler_Util.append_to_file h s; + FStar_Compiler_Util.close_out_channel h) r1; + FStar_Compiler_Util.kill_process proc; + r1) else - (let uu___1 = FStar_Compiler_Effect.op_Bang bg_z3_proc in - uu___1.ask input) in - parse (FStar_Compiler_Util.trim_string stdout) + (let out = + let uu___1 = FStar_Compiler_Effect.op_Bang bg_z3_proc in + uu___1.ask input in + let r1 = parse (FStar_Compiler_Util.trim_string out) in + log_result + (fun _fname -> + fun s -> + let uu___2 = query_logging.append_to_log s in ()) r1; + r1) let (z3_options : Prims.string FStar_Compiler_Effect.ref) = FStar_Compiler_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" @@ -972,7 +1021,8 @@ let (z3_job : Prims.bool -> FStar_SMTEncoding_Term.error_labels -> Prims.string -> - Prims.string FStar_Pervasives_Native.option -> unit -> z3result) + Prims.string FStar_Pervasives_Native.option -> + Prims.string -> unit -> z3result) = fun log_file -> fun r -> @@ -980,34 +1030,35 @@ let (z3_job : fun label_messages -> fun input -> fun qhash -> - fun uu___ -> - let uu___1 = - let uu___2 = - let uu___3 = query_logging.get_module_name () in - FStar_Pervasives_Native.Some uu___3 in - FStar_Profiling.profile - (fun uu___3 -> - try - (fun uu___4 -> - match () with - | () -> - FStar_Compiler_Util.record_time - (fun uu___5 -> - doZ3Exe log_file r fresh input - label_messages)) () - with - | uu___4 -> - (refresh (); FStar_Compiler_Effect.raise uu___4)) - uu___2 "FStar.SMTEncoding.Z3 (aggregate query time)" in - match uu___1 with - | ((status, statistics), elapsed_time) -> - { - z3result_status = status; - z3result_time = elapsed_time; - z3result_statistics = statistics; - z3result_query_hash = qhash; - z3result_log_file = log_file - } + fun queryid -> + fun uu___ -> + let uu___1 = + let uu___2 = + let uu___3 = query_logging.get_module_name () in + FStar_Pervasives_Native.Some uu___3 in + FStar_Profiling.profile + (fun uu___3 -> + try + (fun uu___4 -> + match () with + | () -> + FStar_Compiler_Util.record_time + (fun uu___5 -> + doZ3Exe log_file r fresh input + label_messages queryid)) () + with + | uu___4 -> + (refresh (); FStar_Compiler_Effect.raise uu___4)) + uu___2 "FStar.SMTEncoding.Z3 (aggregate query time)" in + match uu___1 with + | ((status, statistics), elapsed_time) -> + { + z3result_status = status; + z3result_time = elapsed_time; + z3result_statistics = statistics; + z3result_query_hash = qhash; + z3result_log_file = log_file + } let (ask : FStar_Compiler_Range_Type.range -> (FStar_SMTEncoding_Term.decl Prims.list -> @@ -1016,40 +1067,44 @@ let (ask : Prims.string FStar_Pervasives_Native.option -> FStar_SMTEncoding_Term.error_labels -> FStar_SMTEncoding_Term.decl Prims.list -> - scope_t FStar_Pervasives_Native.option -> Prims.bool -> z3result) + Prims.string -> + scope_t FStar_Pervasives_Native.option -> + Prims.bool -> z3result) = fun r -> fun filter_theory -> fun cache -> fun label_messages -> fun qry -> - fun _scope -> - fun fresh -> - let theory = - if fresh - then flatten_fresh_scope () - else - (let theory1 = FStar_Compiler_Effect.op_Bang bg_scope in - FStar_Compiler_Effect.op_Colon_Equals bg_scope []; - theory1) in - let theory1 = - FStar_Compiler_List.op_At theory - (FStar_Compiler_List.op_At [FStar_SMTEncoding_Term.Push] - (FStar_Compiler_List.op_At qry - [FStar_SMTEncoding_Term.Pop])) in - let uu___ = filter_theory theory1 in - match uu___ with - | (theory2, _used_unsat_core) -> - let uu___1 = mk_input fresh theory2 in - (match uu___1 with - | (input, qhash, log_file_name) -> - let just_ask uu___2 = - z3_job log_file_name r fresh label_messages input - qhash () in - if fresh - then - let uu___2 = cache_hit log_file_name cache qhash in - (match uu___2 with - | FStar_Pervasives_Native.Some z3r -> z3r - | FStar_Pervasives_Native.None -> just_ask ()) - else just_ask ()) \ No newline at end of file + fun queryid -> + fun _scope -> + fun fresh -> + let theory = + if fresh + then flatten_fresh_scope () + else + (let theory1 = FStar_Compiler_Effect.op_Bang bg_scope in + FStar_Compiler_Effect.op_Colon_Equals bg_scope []; + theory1) in + let theory1 = + FStar_Compiler_List.op_At theory + (FStar_Compiler_List.op_At + [FStar_SMTEncoding_Term.Push] + (FStar_Compiler_List.op_At qry + [FStar_SMTEncoding_Term.Pop])) in + let uu___ = filter_theory theory1 in + match uu___ with + | (theory2, _used_unsat_core) -> + let uu___1 = mk_input fresh theory2 in + (match uu___1 with + | (input, qhash, log_file_name) -> + let just_ask uu___2 = + z3_job log_file_name r fresh label_messages + input qhash queryid () in + if fresh + then + let uu___2 = cache_hit log_file_name cache qhash in + (match uu___2 with + | FStar_Pervasives_Native.Some z3r -> z3r + | FStar_Pervasives_Native.None -> just_ask ()) + else just_ask ()) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Compress.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Compress.ml index 9fed7d820ce..1f1b6ba0255 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Compress.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Compress.ml @@ -94,6 +94,29 @@ let (deep_compress : let uu___3 = compress1_u allow_uvars in FStar_Syntax_Visit.visit_term_univs uu___2 uu___3 in uu___1 tm) +let (deep_compress_if_no_uvars : + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + = + fun tm -> + FStar_Errors.with_ctx "While deep-compressing a term" + (fun uu___ -> + try + (fun uu___1 -> + match () with + | () -> + let uu___2 = + let uu___3 = + let uu___4 = compress1_t false in + let uu___5 = compress1_u false in + FStar_Syntax_Visit.visit_term_univs uu___4 uu___5 in + uu___3 tm in + FStar_Pervasives_Native.Some uu___2) () + with + | FStar_Errors.Err + (FStar_Errors_Codes.Error_UnexpectedUnresolvedUvar, uu___2, + uu___3) + -> FStar_Pervasives_Native.None) let (deep_compress_se : Prims.bool -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) = fun allow_uvars -> diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_DsEnv.ml b/ocaml/fstar-lib/generated/FStar_Syntax_DsEnv.ml index 5260b95be10..4f924495e42 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_DsEnv.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_DsEnv.ml @@ -2816,9 +2816,9 @@ let (check_admits : let uu___6 = let uu___7 = FStar_Ident.string_of_lid l in FStar_Compiler_Util.format1 - "Admitting %s without a definition" + "%s is declared but no definition was found; add an 'assume' if this is intentional" uu___7 in - (FStar_Errors_Codes.Warning_AdmitWithoutDefinition, + (FStar_Errors_Codes.Error_AdmitWithoutDefinition, uu___6) in FStar_Errors.log_issue uu___4 uu___5 else ()); @@ -2844,43 +2844,7 @@ let (check_admits : :: lids))) | uu___ -> lids) []) in - let uu___ = - FStar_Compiler_Effect.op_Bar_Greater - m.FStar_Syntax_Syntax.declarations - (FStar_Compiler_List.map - (fun s -> - match s.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_declare_typ - { FStar_Syntax_Syntax.lid2 = lid; - FStar_Syntax_Syntax.us2 = uu___1; - FStar_Syntax_Syntax.t2 = uu___2;_} - when - FStar_Compiler_List.existsb - (fun l -> FStar_Ident.lid_equals l lid) - admitted_sig_lids - -> - { - FStar_Syntax_Syntax.sigel = - (s.FStar_Syntax_Syntax.sigel); - FStar_Syntax_Syntax.sigrng = - (s.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (FStar_Syntax_Syntax.Assumption :: - (s.FStar_Syntax_Syntax.sigquals)); - FStar_Syntax_Syntax.sigmeta = - (s.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = - (s.FStar_Syntax_Syntax.sigattrs); - FStar_Syntax_Syntax.sigopts = - (s.FStar_Syntax_Syntax.sigopts) - } - | uu___1 -> s)) in - { - FStar_Syntax_Syntax.name = (m.FStar_Syntax_Syntax.name); - FStar_Syntax_Syntax.declarations = uu___; - FStar_Syntax_Syntax.is_interface = - (m.FStar_Syntax_Syntax.is_interface) - } + m let (finish : env -> FStar_Syntax_Syntax.modul -> env) = fun env1 -> fun modul -> diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings.ml index 4981c92fd3a..24903a55f04 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings.ml @@ -1,85 +1,5 @@ open Prims -type norm_step = - | Simpl - | Weak - | HNF - | Primops - | Delta - | Zeta - | ZetaFull - | Iota - | Reify - | UnfoldOnly of Prims.string Prims.list - | UnfoldFully of Prims.string Prims.list - | UnfoldAttr of Prims.string Prims.list - | UnfoldQual of Prims.string Prims.list - | UnfoldNamespace of Prims.string Prims.list - | Unascribe - | NBE - | Unmeta -let (uu___is_Simpl : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Simpl -> true | uu___ -> false -let (uu___is_Weak : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Weak -> true | uu___ -> false -let (uu___is_HNF : norm_step -> Prims.bool) = - fun projectee -> match projectee with | HNF -> true | uu___ -> false -let (uu___is_Primops : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Primops -> true | uu___ -> false -let (uu___is_Delta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Delta -> true | uu___ -> false -let (uu___is_Zeta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Zeta -> true | uu___ -> false -let (uu___is_ZetaFull : norm_step -> Prims.bool) = - fun projectee -> match projectee with | ZetaFull -> true | uu___ -> false -let (uu___is_Iota : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Iota -> true | uu___ -> false -let (uu___is_Reify : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Reify -> true | uu___ -> false -let (uu___is_UnfoldOnly : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldOnly _0 -> true | uu___ -> false -let (__proj__UnfoldOnly__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldOnly _0 -> _0 -let (uu___is_UnfoldFully : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldFully _0 -> true | uu___ -> false -let (__proj__UnfoldFully__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldFully _0 -> _0 -let (uu___is_UnfoldAttr : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldAttr _0 -> true | uu___ -> false -let (__proj__UnfoldAttr__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldAttr _0 -> _0 -let (uu___is_UnfoldQual : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldQual _0 -> true | uu___ -> false -let (__proj__UnfoldQual__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldQual _0 -> _0 -let (uu___is_UnfoldNamespace : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldNamespace _0 -> true | uu___ -> false -let (__proj__UnfoldNamespace__item___0 : - norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldNamespace _0 -> _0 -let (uu___is_Unascribe : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Unascribe -> true | uu___ -> false -let (uu___is_NBE : norm_step -> Prims.bool) = - fun projectee -> match projectee with | NBE -> true | uu___ -> false -let (uu___is_Unmeta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Unmeta -> true | uu___ -> false -type norm_cb = - (FStar_Ident.lident, FStar_Syntax_Syntax.term) FStar_Pervasives.either -> - FStar_Syntax_Syntax.term -type shadow_term = - FStar_Syntax_Syntax.term FStar_Thunk.t FStar_Pervasives_Native.option -type embed_t = - FStar_Compiler_Range_Type.range -> - shadow_term -> norm_cb -> FStar_Syntax_Syntax.term -type 'a unembed_t = - Prims.bool -> norm_cb -> 'a FStar_Pervasives_Native.option -type 'a raw_embedder = 'a -> embed_t -type 'a raw_unembedder = FStar_Syntax_Syntax.term -> 'a unembed_t -let (id_norm_cb : norm_cb) = +let (id_norm_cb : FStar_Syntax_Embeddings_Base.norm_cb) = fun uu___ -> match uu___ with | FStar_Pervasives.Inr x -> x @@ -96,40 +16,15 @@ let (uu___is_Unembedding_failure : Prims.exn -> Prims.bool) = fun projectee -> match projectee with | Unembedding_failure -> true | uu___ -> false let (map_shadow : - shadow_term -> - (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> shadow_term) + FStar_Syntax_Embeddings_Base.shadow_term -> + (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> + FStar_Syntax_Embeddings_Base.shadow_term) = fun s -> fun f -> FStar_Compiler_Util.map_opt s (FStar_Thunk.map f) let (force_shadow : - shadow_term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun s -> FStar_Compiler_Util.map_opt s FStar_Thunk.force + FStar_Syntax_Embeddings_Base.shadow_term -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + = fun s -> FStar_Compiler_Util.map_opt s FStar_Thunk.force type 'a printer = 'a -> Prims.string -type 'a embedding = - { - em: 'a -> embed_t ; - un: FStar_Syntax_Syntax.term -> 'a unembed_t ; - typ: FStar_Syntax_Syntax.typ ; - print: 'a printer ; - emb_typ: FStar_Syntax_Syntax.emb_typ } -let __proj__Mkembedding__item__em : 'a . 'a embedding -> 'a -> embed_t = - fun projectee -> - match projectee with | { em; un; typ; print; emb_typ;_} -> em -let __proj__Mkembedding__item__un : - 'a . 'a embedding -> FStar_Syntax_Syntax.term -> 'a unembed_t = - fun projectee -> - match projectee with | { em; un; typ; print; emb_typ;_} -> un -let __proj__Mkembedding__item__typ : - 'a . 'a embedding -> FStar_Syntax_Syntax.typ = - fun projectee -> - match projectee with | { em; un; typ; print; emb_typ;_} -> typ -let __proj__Mkembedding__item__print : 'a . 'a embedding -> 'a printer = - fun projectee -> - match projectee with | { em; un; typ; print; emb_typ;_} -> print -let __proj__Mkembedding__item__emb_typ : - 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = - fun projectee -> - match projectee with | { em; un; typ; print; emb_typ;_} -> emb_typ -let emb_typ_of : 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = - fun e -> e.emb_typ let unknown_printer : 'uuuuu . FStar_Syntax_Syntax.term -> 'uuuuu -> Prims.string = fun typ -> @@ -149,120 +44,6 @@ let (term_as_fv : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv) = FStar_Compiler_Util.format1 "Embeddings not defined for type %s" uu___3 in failwith uu___2 -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 - let uu___ = - let uu___1 = - let uu___2 = - let uu___3 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Compiler_Effect.op_Bar_Greater uu___3 - FStar_Ident.string_of_lid in - (uu___2, []) in - FStar_Syntax_Syntax.ET_app uu___1 in - { em; un; typ; print = (unknown_printer typ); emb_typ = uu___ } -let mk_emb_full : - 'a . - 'a raw_embedder -> - 'a raw_unembedder -> - FStar_Syntax_Syntax.typ -> - ('a -> Prims.string) -> FStar_Syntax_Syntax.emb_typ -> 'a embedding - = - fun em -> - fun un -> - fun typ -> - fun printer1 -> - fun emb_typ -> { em; un; typ; print = printer1; emb_typ } -let rec (unmeta_div_results : - FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_meta - { FStar_Syntax_Syntax.tm2 = t'; - FStar_Syntax_Syntax.meta = FStar_Syntax_Syntax.Meta_monadic_lift - (src, dst, uu___1);_} - -> - let uu___2 = - (FStar_Ident.lid_equals src FStar_Parser_Const.effect_PURE_lid) && - (FStar_Ident.lid_equals dst FStar_Parser_Const.effect_DIV_lid) in - if uu___2 then unmeta_div_results t' else t - | FStar_Syntax_Syntax.Tm_meta - { FStar_Syntax_Syntax.tm2 = t'; - FStar_Syntax_Syntax.meta = FStar_Syntax_Syntax.Meta_monadic - (m, uu___1);_} - -> - let uu___2 = - FStar_Ident.lid_equals m FStar_Parser_Const.effect_DIV_lid in - if uu___2 then unmeta_div_results t' else t - | FStar_Syntax_Syntax.Tm_meta - { FStar_Syntax_Syntax.tm2 = t'; FStar_Syntax_Syntax.meta = uu___1;_} - -> unmeta_div_results t' - | FStar_Syntax_Syntax.Tm_ascribed - { FStar_Syntax_Syntax.tm = t'; FStar_Syntax_Syntax.asc = uu___1; - FStar_Syntax_Syntax.eff_opt = uu___2;_} - -> unmeta_div_results t' - | uu___1 -> t -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 -> let uu___ = unmeta_div_results t in e.un uu___ -let warn_unembed : - 'a . - 'a embedding -> - FStar_Syntax_Syntax.term -> - norm_cb -> 'a FStar_Pervasives_Native.option - = fun e -> fun t -> fun n -> let uu___ = unembed e t in uu___ true n -let try_unembed : - 'a . - 'a embedding -> - FStar_Syntax_Syntax.term -> - norm_cb -> 'a FStar_Pervasives_Native.option - = fun e -> fun t -> fun n -> let uu___ = unembed e t in uu___ false n -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 -> - { - em = (e.em); - un = (e.un); - typ = ty; - print = (e.print); - emb_typ = (e.emb_typ) - } -let embed_as : - 'a 'b . - 'a embedding -> - ('a -> 'b) -> - ('b -> 'a) -> - FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option -> - 'b embedding - = - fun ea -> - fun ab -> - fun ba -> - fun o -> - let uu___ = - match o with - | FStar_Pervasives_Native.Some t -> t - | uu___1 -> type_of ea in - mk_emb_full (fun x -> let uu___1 = ba x in embed ea uu___1) - (fun t -> - fun w -> - fun cb -> - let uu___1 = let uu___2 = unembed ea t in uu___2 w cb in - FStar_Compiler_Util.map_opt uu___1 ab) uu___ - (fun x -> - let uu___1 = let uu___2 = ba x in ea.print uu___2 in - FStar_Compiler_Util.format1 "(embed_as>> %s)\n" uu___1) - ea.emb_typ let lazy_embed : 'a . 'a printer -> @@ -312,7 +93,7 @@ let lazy_unembed : fun x -> fun ta -> fun f -> - let x1 = FStar_Syntax_Subst.compress x in + let x1 = FStar_Syntax_Embeddings_Base.unmeta_div_results x in match x1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; @@ -379,7 +160,9 @@ let lazy_unembed : else ()); aopt) let (mk_any_emb : - FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term embedding) = + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) + = fun typ -> let em t _r _shadow _norm = (let uu___1 = @@ -390,7 +173,7 @@ let (mk_any_emb : FStar_Compiler_Util.print1 "Embedding abstract: %s\n" uu___2 else ()); t in - let un t _w _n = + let un t _n = (let uu___1 = FStar_Compiler_Effect.op_Bang FStar_Options.debug_embedding in if uu___1 @@ -399,11 +182,12 @@ let (mk_any_emb : FStar_Compiler_Util.print1 "Unembedding abstract: %s\n" uu___2 else ()); FStar_Pervasives_Native.Some t in - mk_emb_full em un typ (unknown_printer typ) + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ (unknown_printer typ) FStar_Syntax_Syntax.ET_abstract -let (e_any : FStar_Syntax_Syntax.term embedding) = +let (e_any : FStar_Syntax_Syntax.term FStar_Syntax_Embeddings_Base.embedding) + = let em t _r _shadow _norm = t in - let un t _w _n = FStar_Pervasives_Native.Some t in + let un t _n = FStar_Pervasives_Native.Some t in let uu___ = let uu___1 = let uu___2 = @@ -411,9 +195,9 @@ let (e_any : FStar_Syntax_Syntax.term embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_term + FStar_Syntax_Embeddings_Base.mk_emb_full em un FStar_Syntax_Syntax.t_term FStar_Syntax_Print.term_to_string uu___ -let (e_unit : unit embedding) = +let (e_unit : unit FStar_Syntax_Embeddings_Base.embedding) = let em u rng _shadow _norm = { FStar_Syntax_Syntax.n = @@ -424,22 +208,12 @@ let (e_unit : unit embedding) = FStar_Syntax_Syntax.hash_code = (FStar_Syntax_Util.exp_unit.FStar_Syntax_Syntax.hash_code) } in - let un t0 w _norm = + let un t0 _norm = 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_Pervasives_Native.Some () - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded unit: %s" uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in + | uu___ -> FStar_Pervasives_Native.None in let uu___ = let uu___1 = let uu___2 = @@ -447,8 +221,9 @@ let (e_unit : unit embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_unit (fun uu___1 -> "()") uu___ -let (e_bool : Prims.bool embedding) = + FStar_Syntax_Embeddings_Base.mk_emb_full em un FStar_Syntax_Syntax.t_unit + (fun uu___1 -> "()") uu___ +let (e_bool : Prims.bool FStar_Syntax_Embeddings_Base.embedding) = let em b rng _shadow _norm = let t = if b @@ -460,22 +235,14 @@ let (e_bool : Prims.bool embedding) = FStar_Syntax_Syntax.vars = (t.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (t.FStar_Syntax_Syntax.hash_code) } in - let un t0 w _norm = - let t = unmeta_div_results t0 in - match t.FStar_Syntax_Syntax.n with + let un t _norm = + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool b) -> FStar_Pervasives_Native.Some b - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded bool: %s" uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in let uu___ = let uu___1 = let uu___2 = @@ -483,9 +250,9 @@ let (e_bool : Prims.bool embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_bool + FStar_Syntax_Embeddings_Base.mk_emb_full em un FStar_Syntax_Syntax.t_bool FStar_Compiler_Util.string_of_bool uu___ -let (e_char : FStar_Char.char embedding) = +let (e_char : FStar_Char.char FStar_Syntax_Embeddings_Base.embedding) = let em c rng _shadow _norm = let t = FStar_Syntax_Util.exp_char c in { @@ -494,22 +261,14 @@ let (e_char : FStar_Char.char embedding) = FStar_Syntax_Syntax.vars = (t.FStar_Syntax_Syntax.vars); FStar_Syntax_Syntax.hash_code = (t.FStar_Syntax_Syntax.hash_code) } in - let un t0 w _norm = - let t = unmeta_div_results t0 in - match t.FStar_Syntax_Syntax.n with + let un t _norm = + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_char c) -> FStar_Pervasives_Native.Some c - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded char: %s" uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in let uu___ = let uu___1 = let uu___2 = @@ -517,9 +276,9 @@ let (e_char : FStar_Char.char embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_char + FStar_Syntax_Embeddings_Base.mk_emb_full em un FStar_Syntax_Syntax.t_char FStar_Compiler_Util.string_of_char uu___ -let (e_int : FStar_BigInt.t embedding) = +let (e_int : FStar_BigInt.t FStar_Syntax_Embeddings_Base.embedding) = let ty = FStar_Syntax_Syntax.t_int in let emb_t_int = let uu___ = @@ -533,8 +292,7 @@ let (e_int : FStar_BigInt.t embedding) = (fun uu___ -> let uu___1 = FStar_BigInt.string_of_big_int i in FStar_Syntax_Util.exp_int uu___1) in - let un t0 w _norm = - let t = unmeta_div_results t0 in + let un t _norm = lazy_unembed FStar_BigInt.string_of_big_int emb_t_int t ty (fun t1 -> match t1.FStar_Syntax_Syntax.n with @@ -542,23 +300,13 @@ let (e_int : FStar_BigInt.t embedding) = -> let uu___1 = FStar_BigInt.big_int_of_string s in FStar_Pervasives_Native.Some uu___1 - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded int: %s" - uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None)) in - mk_emb_full em un ty FStar_BigInt.string_of_big_int emb_t_int -let (e_fsint : Prims.int embedding) = - embed_as e_int FStar_BigInt.to_int_fs FStar_BigInt.of_int_fs - FStar_Pervasives_Native.None -let (e_string : Prims.string embedding) = + | uu___ -> FStar_Pervasives_Native.None) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un ty + FStar_BigInt.string_of_big_int emb_t_int +let (e_fsint : Prims.int FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.embed_as e_int FStar_BigInt.to_int_fs + FStar_BigInt.of_int_fs FStar_Pervasives_Native.None +let (e_string : Prims.string FStar_Syntax_Embeddings_Base.embedding) = let emb_t_string = let uu___ = let uu___1 = @@ -570,37 +318,38 @@ let (e_string : Prims.string embedding) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, rng))) rng in - let un t0 w _norm = - let t = unmeta_div_results t0 in - match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, uu___)) + let un t _norm = + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, uu___1)) -> FStar_Pervasives_Native.Some s - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded string: %s" - uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in - mk_emb_full em un FStar_Syntax_Syntax.t_string + | uu___1 -> FStar_Pervasives_Native.None in + FStar_Syntax_Embeddings_Base.mk_emb_full em un FStar_Syntax_Syntax.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 = + 'a . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'a FStar_Pervasives_Native.option + FStar_Syntax_Embeddings_Base.embedding + = fun ea -> - let typ = let uu___ = type_of ea in FStar_Syntax_Syntax.t_option_of uu___ in + let typ = + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.t_option_of uu___ in let emb_t_option_a = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.option_lid FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in [uu___3] in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in - let printer1 = FStar_Common.string_of_option ea.print in + let printer1 = + let uu___ = FStar_Syntax_Embeddings_Base.printer_of ea in + FStar_Common.string_of_option uu___ in let em o rng shadow norm = lazy_embed printer1 emb_t_option_a rng typ o (fun uu___ -> @@ -614,7 +363,8 @@ let e_option : [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in FStar_Syntax_Syntax.iarg uu___4 in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___4 in [uu___3] in FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng | FStar_Pervasives_Native.Some a1 -> @@ -635,7 +385,8 @@ let e_option : [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = + FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = FStar_Syntax_Syntax.as_arg t in @@ -650,17 +401,18 @@ let e_option : [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in FStar_Syntax_Syntax.iarg uu___4 in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = let uu___6 = - let uu___7 = embed ea a1 in uu___7 rng shadow_a norm in + let uu___7 = FStar_Syntax_Embeddings_Base.embed ea a1 in + uu___7 rng shadow_a norm in FStar_Syntax_Syntax.as_arg uu___6 in [uu___5] in uu___3 :: uu___4 in FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = lazy_unembed printer1 emb_t_option_a t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args_full t1 in @@ -682,44 +434,49 @@ let e_option : FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.some_lid -> - let uu___4 = let uu___5 = unembed ea a1 in uu___5 w norm in + let uu___4 = + FStar_Syntax_Embeddings_Base.try_unembed ea a1 norm in FStar_Compiler_Util.bind_opt uu___4 (fun a2 -> FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some a2)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded option: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_option_a -let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 + emb_t_option_a +let e_tuple2 : + 'a 'b . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + ('a * 'b) FStar_Syntax_Embeddings_Base.embedding + = fun ea -> fun eb -> let typ = - let uu___ = type_of ea in - let uu___1 = type_of eb in + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + let uu___1 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.t_tuple2_of uu___ uu___1 in let emb_t_pair_a_b = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.lid_tuple2 FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ; eb.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings_Base.emb_typ_of eb in + [uu___5] in + uu___3 :: uu___4 in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in let printer1 uu___ = match uu___ with | (x, y) -> - let uu___1 = ea.print x in - let uu___2 = eb.print y in + let uu___1 = + let uu___2 = FStar_Syntax_Embeddings_Base.printer_of ea in + uu___2 x in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.printer_of eb in + uu___3 y in FStar_Compiler_Util.format2 "(%s, %s)" uu___1 uu___2 in let em x rng shadow norm = lazy_embed printer1 emb_t_pair_a_b rng typ x @@ -742,10 +499,11 @@ let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in FStar_Syntax_Syntax.iarg uu___4 in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in + let uu___6 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = FStar_Syntax_Syntax.as_arg ab in [uu___7] in @@ -762,21 +520,26 @@ let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in FStar_Syntax_Syntax.iarg uu___4 in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in FStar_Syntax_Syntax.iarg uu___6 in + let uu___6 = FStar_Syntax_Embeddings_Base.type_of eb in + FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = let uu___8 = - let uu___9 = embed ea (FStar_Pervasives_Native.fst x) in + let uu___9 = + FStar_Syntax_Embeddings_Base.embed ea + (FStar_Pervasives_Native.fst x) in uu___9 rng shadow_a norm in FStar_Syntax_Syntax.as_arg uu___8 in let uu___8 = let uu___9 = let uu___10 = let uu___11 = - embed eb (FStar_Pervasives_Native.snd x) in + FStar_Syntax_Embeddings_Base.embed eb + (FStar_Pervasives_Native.snd x) in uu___11 rng shadow_b norm in FStar_Syntax_Syntax.as_arg uu___10 in [uu___9] in @@ -784,8 +547,7 @@ let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = uu___5 :: uu___6 in uu___3 :: uu___4 in FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = lazy_unembed printer1 emb_t_pair_a_b t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args_full t1 in @@ -803,53 +565,60 @@ let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = FStar_Parser_Const.lid_Mktuple2 -> let uu___6 = - let uu___7 = unembed ea a1 in uu___7 w norm in + FStar_Syntax_Embeddings_Base.try_unembed ea a1 norm in FStar_Compiler_Util.bind_opt uu___6 (fun a2 -> let uu___7 = - let uu___8 = unembed eb b1 in uu___8 w norm in + FStar_Syntax_Embeddings_Base.try_unembed eb b1 + norm in FStar_Compiler_Util.bind_opt uu___7 (fun b2 -> FStar_Pervasives_Native.Some (a2, b2))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = - FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded pair: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_pair_a_b + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 + emb_t_pair_a_b let e_tuple3 : 'a 'b 'c . - 'a embedding -> 'b embedding -> 'c embedding -> ('a * 'b * 'c) embedding + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'c FStar_Syntax_Embeddings_Base.embedding -> + ('a * 'b * 'c) FStar_Syntax_Embeddings_Base.embedding = fun ea -> fun eb -> fun ec -> let typ = - let uu___ = type_of ea in - let uu___1 = type_of eb in - let uu___2 = type_of ec in + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + let uu___1 = FStar_Syntax_Embeddings_Base.type_of eb in + let uu___2 = FStar_Syntax_Embeddings_Base.type_of ec in FStar_Syntax_Syntax.t_tuple3_of uu___ uu___1 uu___2 in let emb_t_pair_a_b_c = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.lid_tuple3 FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ; eb.emb_typ; ec.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings_Base.emb_typ_of eb in + let uu___6 = + let uu___7 = FStar_Syntax_Embeddings_Base.emb_typ_of ec in + [uu___7] in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in let printer1 uu___ = match uu___ with | (x, y, z) -> - let uu___1 = ea.print x in - let uu___2 = eb.print y in - let uu___3 = ec.print z in + let uu___1 = + let uu___2 = FStar_Syntax_Embeddings_Base.printer_of ea in + uu___2 x in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.printer_of eb in + uu___3 y in + let uu___3 = + let uu___4 = FStar_Syntax_Embeddings_Base.printer_of ec in + uu___4 z in FStar_Compiler_Util.format3 "(%s, %s, %s)" uu___1 uu___2 uu___3 in let em uu___ rng shadow norm = match uu___ with @@ -875,15 +644,17 @@ let e_tuple3 : [FStar_Syntax_Syntax.U_zero] in let uu___3 = let uu___4 = - let uu___5 = type_of ea in + let uu___5 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___5 in let uu___5 = let uu___6 = - let uu___7 = type_of eb in + let uu___7 = + FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___7 in let uu___7 = let uu___8 = - let uu___9 = type_of ec in + let uu___9 = + FStar_Syntax_Embeddings_Base.type_of ec in FStar_Syntax_Syntax.iarg uu___9 in let uu___9 = let uu___10 = FStar_Syntax_Syntax.as_arg abc in @@ -905,32 +676,36 @@ let e_tuple3 : FStar_Syntax_Syntax.U_zero] in let uu___3 = let uu___4 = - let uu___5 = type_of ea in + let uu___5 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___5 in let uu___5 = let uu___6 = - let uu___7 = type_of eb in + let uu___7 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___7 in let uu___7 = let uu___8 = - let uu___9 = type_of ec in + let uu___9 = + FStar_Syntax_Embeddings_Base.type_of ec in FStar_Syntax_Syntax.iarg uu___9 in let uu___9 = let uu___10 = let uu___11 = - let uu___12 = embed ea x1 in + let uu___12 = + FStar_Syntax_Embeddings_Base.embed ea x1 in uu___12 rng shadow_a norm in FStar_Syntax_Syntax.as_arg uu___11 in let uu___11 = let uu___12 = let uu___13 = - let uu___14 = embed eb x2 in + let uu___14 = + FStar_Syntax_Embeddings_Base.embed eb x2 in uu___14 rng shadow_b norm in FStar_Syntax_Syntax.as_arg uu___13 in let uu___13 = let uu___14 = let uu___15 = - let uu___16 = embed ec x3 in + let uu___16 = + FStar_Syntax_Embeddings_Base.embed ec x3 in uu___16 rng shadow_c norm in FStar_Syntax_Syntax.as_arg uu___15 in [uu___14] in @@ -940,8 +715,7 @@ let e_tuple3 : uu___6 :: uu___7 in uu___4 :: uu___5 in FStar_Syntax_Syntax.mk_Tm_app uu___2 uu___3 rng) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = lazy_unembed printer1 emb_t_pair_a_b_c t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args_full t1 in @@ -960,61 +734,61 @@ let e_tuple3 : FStar_Parser_Const.lid_Mktuple3 -> let uu___8 = - let uu___9 = unembed ea a1 in uu___9 w norm in + FStar_Syntax_Embeddings_Base.try_unembed ea a1 norm in FStar_Compiler_Util.bind_opt uu___8 (fun a2 -> let uu___9 = - let uu___10 = unembed eb b1 in uu___10 w norm in + FStar_Syntax_Embeddings_Base.try_unembed eb b1 + norm in FStar_Compiler_Util.bind_opt uu___9 (fun b2 -> let uu___10 = - let uu___11 = unembed ec c1 in - uu___11 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + ec c1 norm in FStar_Compiler_Util.bind_opt uu___10 (fun c2 -> FStar_Pervasives_Native.Some (a2, b2, c2)))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = - FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded pair: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, - uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_pair_a_b_c + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 + emb_t_pair_a_b_c let e_either : 'a 'b . - 'a embedding -> - 'b embedding -> ('a, 'b) FStar_Pervasives.either embedding + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + ('a, 'b) FStar_Pervasives.either + FStar_Syntax_Embeddings_Base.embedding = fun ea -> fun eb -> let typ = - let uu___ = type_of ea in - let uu___1 = type_of eb in + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + let uu___1 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.t_either_of uu___ uu___1 in let emb_t_sum_a_b = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.either_lid FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ; eb.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings_Base.emb_typ_of eb in + [uu___5] in + uu___3 :: uu___4 in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in let printer1 s = match s with | FStar_Pervasives.Inl a1 -> - let uu___ = ea.print a1 in + let uu___ = + let uu___1 = FStar_Syntax_Embeddings_Base.printer_of ea in + uu___1 a1 in FStar_Compiler_Util.format1 "Inl %s" uu___ | FStar_Pervasives.Inr b1 -> - let uu___ = eb.print b1 in + let uu___ = + let uu___1 = FStar_Syntax_Embeddings_Base.printer_of eb in + uu___1 b1 in FStar_Compiler_Util.format1 "Inr %s" uu___ in let em s rng shadow norm = lazy_embed printer1 emb_t_sum_a_b rng typ s @@ -1038,11 +812,13 @@ let e_either : [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = + FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in + let uu___6 = + FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = FStar_Syntax_Syntax.as_arg t in @@ -1059,16 +835,17 @@ let e_either : FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in + let uu___6 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = let uu___8 = - let uu___9 = embed ea a1 in + let uu___9 = + FStar_Syntax_Embeddings_Base.embed ea a1 in uu___9 rng shadow_a norm in FStar_Syntax_Syntax.as_arg uu___8 in [uu___7] in @@ -1094,11 +871,13 @@ let e_either : [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = + FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in + let uu___6 = + FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = FStar_Syntax_Syntax.as_arg t in @@ -1115,24 +894,24 @@ let e_either : FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = - let uu___6 = type_of eb in + let uu___6 = FStar_Syntax_Embeddings_Base.type_of eb in FStar_Syntax_Syntax.iarg uu___6 in let uu___6 = let uu___7 = let uu___8 = - let uu___9 = embed eb b1 in + let uu___9 = + FStar_Syntax_Embeddings_Base.embed eb b1 in uu___9 rng shadow_b norm in FStar_Syntax_Syntax.as_arg uu___8 in [uu___7] in uu___5 :: uu___6 in uu___3 :: uu___4 in FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng)) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = lazy_unembed printer1 emb_t_sum_a_b t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args_full t1 in @@ -1150,7 +929,7 @@ let e_either : FStar_Parser_Const.inl_lid -> let uu___5 = - let uu___6 = unembed ea a1 in uu___6 w norm in + FStar_Syntax_Embeddings_Base.try_unembed ea a1 norm in FStar_Compiler_Util.bind_opt uu___5 (fun a2 -> FStar_Pervasives_Native.Some @@ -1161,40 +940,38 @@ let e_either : FStar_Parser_Const.inr_lid -> let uu___5 = - let uu___6 = unembed eb b1 in uu___6 w norm in + FStar_Syntax_Embeddings_Base.try_unembed eb b1 norm in FStar_Compiler_Util.bind_opt uu___5 (fun b2 -> FStar_Pervasives_Native.Some (FStar_Pervasives.Inr b2)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = - FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded sum: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_sum_a_b -let e_list : 'a . 'a embedding -> 'a Prims.list embedding = + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 + emb_t_sum_a_b +let e_list : + 'a . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'a Prims.list FStar_Syntax_Embeddings_Base.embedding + = fun ea -> - let typ = let uu___ = type_of ea in FStar_Syntax_Syntax.t_list_of uu___ in + let typ = + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.t_list_of uu___ in let emb_t_list_a = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.list_lid FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in [uu___3] in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in let printer1 l = let uu___ = let uu___1 = - let uu___2 = FStar_Compiler_List.map ea.print l in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.printer_of ea in + FStar_Compiler_List.map uu___3 l in FStar_Compiler_Effect.op_Bar_Greater uu___2 (FStar_String.concat "; ") in Prims.op_Hat uu___1 "]" in @@ -1202,7 +979,9 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = let rec em l rng shadow_l norm = lazy_embed printer1 emb_t_list_a rng typ l (fun uu___ -> - let t = let uu___1 = type_of ea in FStar_Syntax_Syntax.iarg uu___1 in + let t = + let uu___1 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___1 in match l with | [] -> let uu___1 = @@ -1233,7 +1012,7 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = FStar_Syntax_Syntax.as_arg cons_tm in @@ -1246,7 +1025,8 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = embed ea hd in uu___5 rng shadow_hd norm in + let uu___5 = FStar_Syntax_Embeddings_Base.embed ea hd in + uu___5 rng shadow_hd norm in FStar_Syntax_Syntax.as_arg uu___4 in let uu___4 = let uu___5 = @@ -1256,8 +1036,7 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = uu___3 :: uu___4 in t :: uu___2 in FStar_Syntax_Syntax.mk_Tm_app cons uu___1 rng) in - let rec un t0 w norm = - let t = unmeta_div_results t0 in + let rec un t norm = lazy_unembed printer1 emb_t_list_a t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args_full t1 in @@ -1283,10 +1062,11 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu___4 = let uu___5 = unembed ea hd1 in uu___5 w norm in + let uu___4 = + FStar_Syntax_Embeddings_Base.try_unembed ea hd1 norm in FStar_Compiler_Util.bind_opt uu___4 (fun hd2 -> - let uu___5 = un tl w norm in + let uu___5 = un tl norm in FStar_Compiler_Util.bind_opt uu___5 (fun tl1 -> FStar_Pervasives_Native.Some (hd2 :: tl1))) @@ -1297,28 +1077,19 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu___2 = let uu___3 = unembed ea hd1 in uu___3 w norm in + let uu___2 = + FStar_Syntax_Embeddings_Base.try_unembed ea hd1 norm in FStar_Compiler_Util.bind_opt uu___2 (fun hd2 -> - let uu___3 = un tl w norm in + let uu___3 = un tl norm in FStar_Compiler_Util.bind_opt uu___3 (fun tl1 -> FStar_Pervasives_Native.Some (hd2 :: tl1))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded list: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_list_a -let (e_string_list : Prims.string Prims.list embedding) = e_list e_string + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 emb_t_list_a +let (e_string_list : + Prims.string Prims.list FStar_Syntax_Embeddings_Base.embedding) = + e_list e_string let (steps_Simpl : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.tconst FStar_Parser_Const.steps_simpl let (steps_Weak : FStar_Syntax_Syntax.term) = @@ -1353,7 +1124,8 @@ let (steps_NBE : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.tconst FStar_Parser_Const.steps_nbe let (steps_Unmeta : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.tconst FStar_Parser_Const.steps_unmeta -let (e_norm_step : norm_step embedding) = +let (e_norm_step : + FStar_Pervasives.norm_step FStar_Syntax_Embeddings_Base.embedding) = let typ = FStar_Syntax_Syntax.t_norm_step in let emb_t_norm_step = let uu___ = @@ -1367,70 +1139,74 @@ let (e_norm_step : norm_step embedding) = lazy_embed printer1 emb_t_norm_step rng typ n (fun uu___ -> match n with - | Simpl -> steps_Simpl - | Weak -> steps_Weak - | HNF -> steps_HNF - | Primops -> steps_Primops - | Delta -> steps_Delta - | Zeta -> steps_Zeta - | ZetaFull -> steps_ZetaFull - | Iota -> steps_Iota - | Unascribe -> steps_Unascribe - | NBE -> steps_NBE - | Unmeta -> steps_Unmeta - | Reify -> steps_Reify - | UnfoldOnly l -> + | FStar_Pervasives.Simpl -> steps_Simpl + | FStar_Pervasives.Weak -> steps_Weak + | FStar_Pervasives.HNF -> steps_HNF + | FStar_Pervasives.Primops -> steps_Primops + | FStar_Pervasives.Delta -> steps_Delta + | FStar_Pervasives.Zeta -> steps_Zeta + | FStar_Pervasives.ZetaFull -> steps_ZetaFull + | FStar_Pervasives.Iota -> steps_Iota + | FStar_Pervasives.Unascribe -> steps_Unascribe + | FStar_Pervasives.NBE -> steps_NBE + | FStar_Pervasives.Unmeta -> steps_Unmeta + | FStar_Pervasives.Reify -> steps_Reify + | FStar_Pervasives.UnfoldOnly l -> let uu___1 = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = e_list e_string in embed uu___5 l in + let uu___5 = e_list e_string in + FStar_Syntax_Embeddings_Base.embed uu___5 l in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in [uu___2] in FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldOnly uu___1 rng - | UnfoldFully l -> + | FStar_Pervasives.UnfoldFully l -> let uu___1 = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = e_list e_string in embed uu___5 l in + let uu___5 = e_list e_string in + FStar_Syntax_Embeddings_Base.embed uu___5 l in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in [uu___2] in FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldFully uu___1 rng - | UnfoldAttr l -> + | FStar_Pervasives.UnfoldAttr l -> let uu___1 = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = e_list e_string in embed uu___5 l in + let uu___5 = e_list e_string in + FStar_Syntax_Embeddings_Base.embed uu___5 l in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in [uu___2] in FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldAttr uu___1 rng - | UnfoldQual l -> + | FStar_Pervasives.UnfoldQual l -> let uu___1 = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = e_list e_string in embed uu___5 l in + let uu___5 = e_list e_string in + FStar_Syntax_Embeddings_Base.embed uu___5 l in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in [uu___2] in FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldQual uu___1 rng - | UnfoldNamespace l -> + | FStar_Pervasives.UnfoldNamespace l -> let uu___1 = let uu___2 = let uu___3 = let uu___4 = - let uu___5 = e_list e_string in embed uu___5 l in + let uu___5 = e_list e_string in + FStar_Syntax_Embeddings_Base.embed uu___5 l in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in [uu___2] in FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldNamespace uu___1 rng) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = lazy_unembed printer1 emb_t_norm_step t typ (fun t1 -> let uu___ = FStar_Syntax_Util.head_and_args t1 in @@ -1445,283 +1221,211 @@ let (e_norm_step : norm_step embedding) = | (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_Pervasives_Native.Some FStar_Pervasives.Simpl | (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_Pervasives_Native.Some FStar_Pervasives.Weak | (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_Pervasives_Native.Some FStar_Pervasives.HNF | (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_Pervasives_Native.Some FStar_Pervasives.Primops | (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_Pervasives_Native.Some FStar_Pervasives.Delta | (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_Pervasives_Native.Some FStar_Pervasives.Zeta | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_zeta_full - -> FStar_Pervasives_Native.Some ZetaFull + -> FStar_Pervasives_Native.Some FStar_Pervasives.ZetaFull | (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_Pervasives_Native.Some FStar_Pervasives.Iota | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unascribe - -> FStar_Pervasives_Native.Some Unascribe + -> FStar_Pervasives_Native.Some FStar_Pervasives.Unascribe | (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_Pervasives_Native.Some FStar_Pervasives.NBE | (FStar_Syntax_Syntax.Tm_fvar fv, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unmeta - -> FStar_Pervasives_Native.Some Unmeta + -> FStar_Pervasives_Native.Some FStar_Pervasives.Unmeta | (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_Pervasives_Native.Some FStar_Pervasives.Reify | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldonly -> let uu___3 = - let uu___4 = - let uu___5 = e_list e_string in unembed uu___5 l in - uu___4 w norm in + let uu___4 = e_list e_string in + FStar_Syntax_Embeddings_Base.try_unembed uu___4 l norm in FStar_Compiler_Util.bind_opt uu___3 (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (UnfoldOnly ss)) + (FStar_Pervasives.UnfoldOnly ss)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldfully -> let uu___3 = - let uu___4 = - let uu___5 = e_list e_string in unembed uu___5 l in - uu___4 w norm in + let uu___4 = e_list e_string in + FStar_Syntax_Embeddings_Base.try_unembed uu___4 l norm in FStar_Compiler_Util.bind_opt uu___3 (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (UnfoldFully ss)) + (FStar_Pervasives.UnfoldFully ss)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldattr -> let uu___3 = - let uu___4 = - let uu___5 = e_list e_string in unembed uu___5 l in - uu___4 w norm in + let uu___4 = e_list e_string in + FStar_Syntax_Embeddings_Base.try_unembed uu___4 l norm in FStar_Compiler_Util.bind_opt uu___3 (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (UnfoldAttr ss)) + (FStar_Pervasives.UnfoldAttr ss)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldqual -> let uu___3 = - let uu___4 = - let uu___5 = e_list e_string in unembed uu___5 l in - uu___4 w norm in + let uu___4 = e_list e_string in + FStar_Syntax_Embeddings_Base.try_unembed uu___4 l norm in FStar_Compiler_Util.bind_opt uu___3 (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (UnfoldQual ss)) + (FStar_Pervasives.UnfoldQual ss)) | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldnamespace -> let uu___3 = - let uu___4 = - let uu___5 = e_list e_string in unembed uu___5 l in - uu___4 w norm in + let uu___4 = e_list e_string in + FStar_Syntax_Embeddings_Base.try_unembed uu___4 l norm in FStar_Compiler_Util.bind_opt uu___3 (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) - (UnfoldNamespace ss)) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded norm_step: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu___4) - else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un typ printer1 emb_t_norm_step -let (e_range : FStar_Compiler_Range_Type.range embedding) = - let em r rng _shadow _norm = - FStar_Syntax_Syntax.mk - (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r)) rng in - let un t0 w _norm = - let t = unmeta_div_results t0 in - match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r) -> - FStar_Pervasives_Native.Some r - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded range: %s" - uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in - let uu___ = - let uu___1 = - let uu___2 = - FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.range_lid - FStar_Ident.string_of_lid in - (uu___2, []) in - FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_range - FStar_Compiler_Range_Ops.string_of_range uu___ -let (e_issue : FStar_Errors.issue embedding) = - let t_issue = - let uu___ = - FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.issue_lid - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu___ in - let em i rng _shadow _norm = - FStar_Syntax_Util.mk_lazy i t_issue FStar_Syntax_Syntax.Lazy_issue - (FStar_Pervasives_Native.Some rng) in - let un t0 w _norm = - let t = unmeta_div_results t0 in - match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = blob; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_issue; - FStar_Syntax_Syntax.ltyp = uu___; - FStar_Syntax_Syntax.rng = uu___1;_} - -> - let uu___2 = FStar_Compiler_Dyn.undyn blob in - FStar_Pervasives_Native.Some uu___2 - | uu___ -> - (if w - then - (let uu___2 = - let uu___3 = - let uu___4 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 "Not an embedded issue: %s" - uu___4 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___3) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___2) - else (); - FStar_Pervasives_Native.None) in - let uu___ = - let uu___1 = - let uu___2 = - FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.issue_lid - FStar_Ident.string_of_lid in - (uu___2, []) in - FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un t_issue - (fun i -> - let uu___1 = FStar_Errors.format_issue i in - FStar_Compiler_Util.format1 "%s" uu___1) uu___ -let (e_vconfig : FStar_VConfig.vconfig embedding) = + (FStar_Pervasives.UnfoldNamespace ss)) + | uu___2 -> FStar_Pervasives_Native.None)) in + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 emb_t_norm_step +let (e_vconfig : + FStar_VConfig.vconfig FStar_Syntax_Embeddings_Base.embedding) = let em vcfg rng _shadow norm = let uu___ = FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.mkvconfig_lid in let uu___1 = let uu___2 = let uu___3 = - let uu___4 = embed e_fsint vcfg.FStar_VConfig.initial_fuel in + let uu___4 = + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.initial_fuel in uu___4 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___3 in let uu___3 = let uu___4 = let uu___5 = - let uu___6 = embed e_fsint vcfg.FStar_VConfig.max_fuel in + let uu___6 = + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.max_fuel in uu___6 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___5 in let uu___5 = let uu___6 = let uu___7 = - let uu___8 = embed e_fsint vcfg.FStar_VConfig.initial_ifuel in + let uu___8 = + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.initial_ifuel in uu___8 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___7 in let uu___7 = let uu___8 = let uu___9 = - let uu___10 = embed e_fsint vcfg.FStar_VConfig.max_ifuel in + let uu___10 = + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.max_ifuel in uu___10 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___9 in let uu___9 = let uu___10 = let uu___11 = - let uu___12 = embed e_bool vcfg.FStar_VConfig.detail_errors in + let uu___12 = + FStar_Syntax_Embeddings_Base.embed e_bool + vcfg.FStar_VConfig.detail_errors in uu___12 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___11 in let uu___11 = let uu___12 = let uu___13 = let uu___14 = - embed e_bool vcfg.FStar_VConfig.detail_hint_replay in + FStar_Syntax_Embeddings_Base.embed e_bool + vcfg.FStar_VConfig.detail_hint_replay in uu___14 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___13 in let uu___13 = let uu___14 = let uu___15 = - let uu___16 = embed e_bool vcfg.FStar_VConfig.no_smt in + let uu___16 = + FStar_Syntax_Embeddings_Base.embed e_bool + vcfg.FStar_VConfig.no_smt in uu___16 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___15 in let uu___15 = let uu___16 = let uu___17 = let uu___18 = - embed e_fsint vcfg.FStar_VConfig.quake_lo in + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.quake_lo in uu___18 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___17 in let uu___17 = let uu___18 = let uu___19 = let uu___20 = - embed e_fsint vcfg.FStar_VConfig.quake_hi in + FStar_Syntax_Embeddings_Base.embed e_fsint + vcfg.FStar_VConfig.quake_hi in uu___20 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___19 in let uu___19 = let uu___20 = let uu___21 = let uu___22 = - embed e_bool vcfg.FStar_VConfig.quake_keep in + FStar_Syntax_Embeddings_Base.embed e_bool + vcfg.FStar_VConfig.quake_keep in uu___22 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___21 in let uu___21 = let uu___22 = let uu___23 = let uu___24 = - embed e_bool vcfg.FStar_VConfig.retry in + FStar_Syntax_Embeddings_Base.embed e_bool + vcfg.FStar_VConfig.retry in uu___24 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___23 in let uu___23 = let uu___24 = let uu___25 = let uu___26 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed e_bool vcfg.FStar_VConfig.smtencoding_elim_box in uu___26 rng FStar_Pervasives_Native.None norm in FStar_Syntax_Syntax.as_arg uu___25 in @@ -1729,7 +1433,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___26 = let uu___27 = let uu___28 = - embed e_string + FStar_Syntax_Embeddings_Base.embed + e_string vcfg.FStar_VConfig.smtencoding_nl_arith_repr in uu___28 rng FStar_Pervasives_Native.None norm in @@ -1738,7 +1443,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___28 = let uu___29 = let uu___30 = - embed e_string + FStar_Syntax_Embeddings_Base.embed + e_string vcfg.FStar_VConfig.smtencoding_l_arith_repr in uu___30 rng FStar_Pervasives_Native.None norm in @@ -1747,7 +1453,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___30 = let uu___31 = let uu___32 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.smtencoding_valid_intro in uu___32 rng FStar_Pervasives_Native.None norm in @@ -1756,7 +1463,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___32 = let uu___33 = let uu___34 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.smtencoding_valid_elim in uu___34 rng FStar_Pervasives_Native.None norm in @@ -1765,7 +1473,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___34 = let uu___35 = let uu___36 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.tcnorm in uu___36 rng FStar_Pervasives_Native.None norm in @@ -1774,7 +1483,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___36 = let uu___37 = let uu___38 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.no_plugins in uu___38 rng FStar_Pervasives_Native.None @@ -1784,7 +1494,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___38 = let uu___39 = let uu___40 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.no_tactics in uu___40 rng FStar_Pervasives_Native.None @@ -1795,7 +1506,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___40 = let uu___41 = let uu___42 = - embed e_string_list + FStar_Syntax_Embeddings_Base.embed + e_string_list vcfg.FStar_VConfig.z3cliopt in uu___42 rng FStar_Pervasives_Native.None @@ -1806,7 +1518,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___42 = let uu___43 = let uu___44 = - embed e_string_list + FStar_Syntax_Embeddings_Base.embed + e_string_list vcfg.FStar_VConfig.z3smtopt in uu___44 rng FStar_Pervasives_Native.None @@ -1817,7 +1530,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___44 = let uu___45 = let uu___46 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.z3refresh in uu___46 rng FStar_Pervasives_Native.None @@ -1828,7 +1542,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___46 = let uu___47 = let uu___48 = - embed e_fsint + FStar_Syntax_Embeddings_Base.embed + e_fsint vcfg.FStar_VConfig.z3rlimit in uu___48 rng FStar_Pervasives_Native.None @@ -1839,7 +1554,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___48 = let uu___49 = let uu___50 = - embed e_fsint + FStar_Syntax_Embeddings_Base.embed + e_fsint vcfg.FStar_VConfig.z3rlimit_factor in uu___50 rng FStar_Pervasives_Native.None @@ -1850,7 +1566,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___50 = let uu___51 = let uu___52 = - embed e_fsint + FStar_Syntax_Embeddings_Base.embed + e_fsint vcfg.FStar_VConfig.z3seed in uu___52 rng FStar_Pervasives_Native.None @@ -1861,7 +1578,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___52 = let uu___53 = let uu___54 = - embed e_bool + FStar_Syntax_Embeddings_Base.embed + e_bool vcfg.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns in uu___54 rng FStar_Pervasives_Native.None @@ -1875,7 +1593,8 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = let uu___57 = e_option e_string in - embed uu___57 + FStar_Syntax_Embeddings_Base.embed + uu___57 vcfg.FStar_VConfig.reuse_hint_for in uu___56 rng FStar_Pervasives_Native.None @@ -1910,8 +1629,7 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = uu___4 :: uu___5 in uu___2 :: uu___3 in FStar_Syntax_Syntax.mk_Tm_app uu___ uu___1 rng in - let un t0 w norm = - let t = FStar_Syntax_Util.unascribe t0 in + let un t norm = let uu___ = FStar_Syntax_Util.head_and_args t in match uu___ with | (hd, args) -> @@ -1944,85 +1662,75 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = FStar_Parser_Const.mkvconfig_lid -> let uu___29 = - let uu___30 = unembed e_fsint initial_fuel in uu___30 w norm in + FStar_Syntax_Embeddings_Base.try_unembed e_fsint initial_fuel + norm in FStar_Compiler_Util.bind_opt uu___29 (fun initial_fuel1 -> let uu___30 = - let uu___31 = unembed e_fsint max_fuel in uu___31 w norm in + FStar_Syntax_Embeddings_Base.try_unembed e_fsint max_fuel + norm in FStar_Compiler_Util.bind_opt uu___30 (fun max_fuel1 -> let uu___31 = - let uu___32 = unembed e_fsint initial_ifuel in - uu___32 w norm in + FStar_Syntax_Embeddings_Base.try_unembed e_fsint + initial_ifuel norm in FStar_Compiler_Util.bind_opt uu___31 (fun initial_ifuel1 -> let uu___32 = - let uu___33 = unembed e_fsint max_ifuel in - uu___33 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_fsint max_ifuel norm in FStar_Compiler_Util.bind_opt uu___32 (fun max_ifuel1 -> let uu___33 = - let uu___34 = unembed e_bool detail_errors in - uu___34 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_bool detail_errors norm in FStar_Compiler_Util.bind_opt uu___33 (fun detail_errors1 -> let uu___34 = - let uu___35 = - unembed e_bool detail_hint_replay in - uu___35 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_bool detail_hint_replay norm in FStar_Compiler_Util.bind_opt uu___34 (fun detail_hint_replay1 -> let uu___35 = - let uu___36 = - unembed e_bool no_smt in - uu___36 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_bool no_smt norm in FStar_Compiler_Util.bind_opt uu___35 (fun no_smt1 -> let uu___36 = - let uu___37 = - unembed e_fsint quake_lo in - uu___37 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_fsint quake_lo norm in FStar_Compiler_Util.bind_opt uu___36 (fun quake_lo1 -> let uu___37 = - let uu___38 = - unembed e_fsint - quake_hi in - uu___38 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_fsint quake_hi + norm in FStar_Compiler_Util.bind_opt uu___37 (fun quake_hi1 -> let uu___38 = - let uu___39 = - unembed e_bool - quake_keep in - uu___39 w norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_bool + quake_keep norm in FStar_Compiler_Util.bind_opt uu___38 (fun quake_keep1 -> let uu___39 = - let uu___40 - = - unembed - e_bool - retry in - uu___40 w - norm in + FStar_Syntax_Embeddings_Base.try_unembed + e_bool + retry norm in FStar_Compiler_Util.bind_opt uu___39 (fun retry1 -> let uu___40 = - let uu___41 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - smtencoding_elim_box in - uu___41 w + smtencoding_elim_box norm in FStar_Compiler_Util.bind_opt uu___40 @@ -2031,12 +1739,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___41 = - let uu___42 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_string - smtencoding_nl_arith_repr in - uu___42 w + smtencoding_nl_arith_repr norm in FStar_Compiler_Util.bind_opt uu___41 @@ -2045,12 +1750,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___42 = - let uu___43 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_string - smtencoding_l_arith_repr in - uu___43 w + smtencoding_l_arith_repr norm in FStar_Compiler_Util.bind_opt uu___42 @@ -2059,12 +1761,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___43 = - let uu___44 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - smtencoding_valid_intro in - uu___44 w + smtencoding_valid_intro norm in FStar_Compiler_Util.bind_opt uu___43 @@ -2073,12 +1772,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___44 = - let uu___45 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - smtencoding_valid_elim in - uu___45 w + smtencoding_valid_elim norm in FStar_Compiler_Util.bind_opt uu___44 @@ -2087,12 +1783,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___45 = - let uu___46 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - tcnorm in - uu___46 w + tcnorm norm in FStar_Compiler_Util.bind_opt uu___45 @@ -2101,12 +1794,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___46 = - let uu___47 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - no_plugins in - uu___47 w + no_plugins norm in FStar_Compiler_Util.bind_opt uu___46 @@ -2115,12 +1805,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___47 = - let uu___48 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - no_tactics in - uu___48 w + no_tactics norm in FStar_Compiler_Util.bind_opt uu___47 @@ -2129,12 +1816,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___48 = - let uu___49 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_string_list - z3cliopt in - uu___49 w + z3cliopt norm in FStar_Compiler_Util.bind_opt uu___48 @@ -2143,12 +1827,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___49 = - let uu___50 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_string_list - z3smtopt in - uu___50 w + z3smtopt norm in FStar_Compiler_Util.bind_opt uu___49 @@ -2157,12 +1838,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___50 = - let uu___51 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - z3refresh in - uu___51 w + z3refresh norm in FStar_Compiler_Util.bind_opt uu___50 @@ -2171,12 +1849,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___51 = - let uu___52 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_fsint - z3rlimit in - uu___52 w + z3rlimit norm in FStar_Compiler_Util.bind_opt uu___51 @@ -2185,12 +1860,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___52 = - let uu___53 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_fsint - z3rlimit_factor in - uu___53 w + z3rlimit_factor norm in FStar_Compiler_Util.bind_opt uu___52 @@ -2199,12 +1871,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___53 = - let uu___54 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_fsint - z3seed in - uu___54 w + z3seed norm in FStar_Compiler_Util.bind_opt uu___53 @@ -2213,12 +1882,9 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = -> let uu___54 = - let uu___55 - = - unembed + FStar_Syntax_Embeddings_Base.try_unembed e_bool - trivial_pre_for_unannotated_effectful_fns in - uu___55 w + trivial_pre_for_unannotated_effectful_fns norm in FStar_Compiler_Util.bind_opt uu___54 @@ -2229,14 +1895,11 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = = let uu___56 = - let uu___57 - = e_option e_string in - unembed - uu___57 - reuse_hint_for in - uu___56 w + FStar_Syntax_Embeddings_Base.try_unembed + uu___56 + reuse_hint_for norm in FStar_Compiler_Util.bind_opt uu___55 @@ -2323,18 +1986,7 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = = reuse_hint_for1 }))))))))))))))))))))))))))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded vconfig: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)) in + | uu___2 -> FStar_Pervasives_Native.None) in let uu___ = let uu___1 = let uu___2 = @@ -2342,15 +1994,20 @@ let (e_vconfig : FStar_VConfig.vconfig embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - mk_emb_full em un FStar_Syntax_Syntax.t_vconfig (fun uu___1 -> "vconfig") - uu___ + FStar_Syntax_Embeddings_Base.mk_emb_full em un + FStar_Syntax_Syntax.t_vconfig (fun uu___1 -> "vconfig") uu___ let or_else : 'a . 'a FStar_Pervasives_Native.option -> (unit -> 'a) -> 'a = fun f -> fun g -> match f with | FStar_Pervasives_Native.Some x -> x | FStar_Pervasives_Native.None -> g () -let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = +let e_arrow : + 'a 'b . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + ('a -> 'b) FStar_Syntax_Embeddings_Base.embedding + = fun ea -> fun eb -> let typ = @@ -2358,10 +2015,14 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = let uu___1 = let uu___2 = let uu___3 = - let uu___4 = FStar_Syntax_Syntax.null_bv ea.typ in + let uu___4 = + let uu___5 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.null_bv uu___5 in FStar_Syntax_Syntax.mk_binder uu___4 in [uu___3] in - let uu___3 = FStar_Syntax_Syntax.mk_Total eb.typ in + let uu___3 = + let uu___4 = FStar_Syntax_Embeddings_Base.type_of eb in + FStar_Syntax_Syntax.mk_Total uu___4 in { FStar_Syntax_Syntax.bs1 = uu___2; FStar_Syntax_Syntax.comp = uu___3 @@ -2369,7 +2030,11 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = FStar_Syntax_Syntax.Tm_arrow uu___1 in FStar_Syntax_Syntax.mk uu___ FStar_Compiler_Range_Type.dummyRange in let emb_t_arr_a_b = - FStar_Syntax_Syntax.ET_fun ((ea.emb_typ), (eb.emb_typ)) in + let uu___ = + let uu___1 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in + let uu___2 = FStar_Syntax_Embeddings_Base.emb_typ_of eb in + (uu___1, uu___2) in + FStar_Syntax_Syntax.ET_fun uu___ in let printer1 f = "" in let em f rng shadow_f norm = lazy_embed printer1 emb_t_arr_a_b rng typ f @@ -2404,7 +2069,7 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = uu___5 uu___6 uu___7 else ()); res))) in - let un f w norm = + let un f norm = lazy_unembed printer1 emb_t_arr_a_b f typ (fun f1 -> let f_wrapped a1 = @@ -2418,7 +2083,7 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = "Calling back into normalizer for %s\n%s\n" uu___2 uu___3 else ()); (let a_tm = - let uu___1 = embed ea a1 in + let uu___1 = FStar_Syntax_Embeddings_Base.embed ea a1 in uu___1 f1.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None norm in let b_tm = @@ -2431,27 +2096,41 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = f1.FStar_Syntax_Syntax.pos in FStar_Pervasives.Inr uu___2 in norm uu___1 in - let uu___1 = let uu___2 = unembed eb b_tm in uu___2 w norm in + let uu___1 = + FStar_Syntax_Embeddings_Base.unembed eb b_tm norm in match uu___1 with | FStar_Pervasives_Native.None -> FStar_Compiler_Effect.raise Unembedding_failure | FStar_Pervasives_Native.Some b1 -> b1) in FStar_Pervasives_Native.Some f_wrapped) in - mk_emb_full em un typ printer1 emb_t_arr_a_b -let e_sealed : 'a . 'a embedding -> 'a embedding = + FStar_Syntax_Embeddings_Base.mk_emb_full em un typ printer1 + emb_t_arr_a_b +let e_sealed : + 'a . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding + = fun uu___ -> (fun ea -> let typ = - let uu___ = type_of ea in FStar_Syntax_Syntax.t_sealed_of uu___ in + let uu___ = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.t_sealed_of uu___ in let emb_ty_a = let uu___ = let uu___1 = FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.sealed_lid FStar_Ident.string_of_lid in - (uu___1, [ea.emb_typ]) in + let uu___2 = + let uu___3 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in + [uu___3] in + (uu___1, uu___2) in FStar_Syntax_Syntax.ET_app uu___ in let printer1 x = - let uu___ = let uu___1 = ea.print x in Prims.op_Hat uu___1 ")" in + let uu___ = + let uu___1 = + let uu___2 = FStar_Syntax_Embeddings_Base.printer_of ea in + uu___2 x in + Prims.op_Hat uu___1 ")" in Prims.op_Hat "(seal " uu___ in let em a1 rng shadow norm = lazy_embed printer1 emb_ty_a rng typ a1 @@ -2467,7 +2146,7 @@ let e_sealed : 'a . 'a embedding -> 'a embedding = [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = FStar_Syntax_Syntax.as_arg t in @@ -2476,22 +2155,23 @@ let e_sealed : 'a . 'a embedding -> 'a embedding = FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng) in let uu___1 = let uu___2 = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.seal_lid in + FStar_Syntax_Util.fvar_const FStar_Parser_Const.seal_lid in FStar_Syntax_Syntax.mk_Tm_uinst uu___2 [FStar_Syntax_Syntax.U_zero] in let uu___2 = let uu___3 = - let uu___4 = type_of ea in FStar_Syntax_Syntax.iarg uu___4 in + let uu___4 = FStar_Syntax_Embeddings_Base.type_of ea in + FStar_Syntax_Syntax.iarg uu___4 in let uu___4 = let uu___5 = let uu___6 = - let uu___7 = embed ea a1 in uu___7 rng shadow_a norm in + let uu___7 = FStar_Syntax_Embeddings_Base.embed ea a1 in + uu___7 rng shadow_a norm in FStar_Syntax_Syntax.as_arg uu___6 in [uu___5] in uu___3 :: uu___4 in FStar_Syntax_Syntax.mk_Tm_app uu___1 uu___2 rng) in - let un t0 w norm = - let t = unmeta_div_results t0 in + let un t norm = Obj.magic (lazy_unembed printer1 emb_ty_a t typ (fun t1 -> @@ -2508,33 +2188,51 @@ let e_sealed : 'a . 'a embedding -> 'a embedding = uu___2::(a1, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.seal_lid - -> let uu___4 = unembed ea a1 in uu___4 w norm - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = - FStar_Syntax_Print.term_to_string t0 in - FStar_Compiler_Util.format1 - "Not an embedded seal %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, - uu___5) in - FStar_Errors.log_issue - t0.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None)))) in + -> + FStar_Syntax_Embeddings_Base.try_unembed ea a1 norm + | uu___2 -> FStar_Pervasives_Native.None))) in Obj.magic - (mk_emb_full (Obj.magic em) un typ + (FStar_Syntax_Embeddings_Base.mk_emb_full (Obj.magic em) un typ (fun uu___ -> (Obj.magic printer1) uu___) emb_ty_a)) uu___ +let (e___range : + FStar_Compiler_Range_Type.range FStar_Syntax_Embeddings_Base.embedding) = + let em r rng _shadow _norm = + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r)) rng in + let un t _norm = + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r) -> + FStar_Pervasives_Native.Some r + | uu___1 -> FStar_Pervasives_Native.None in + let uu___ = + let uu___1 = + let uu___2 = + FStar_Compiler_Effect.op_Bar_Greater FStar_Parser_Const.range_lid + FStar_Ident.string_of_lid in + (uu___2, []) in + FStar_Syntax_Syntax.ET_app uu___1 in + FStar_Syntax_Embeddings_Base.mk_emb_full em un + FStar_Syntax_Syntax.t___range FStar_Compiler_Range_Ops.string_of_range + uu___ +let (e_range : + FStar_Compiler_Range_Type.range FStar_Syntax_Embeddings_Base.embedding) = + e_sealed e___range +let (e_issue : FStar_Errors.issue FStar_Syntax_Embeddings_Base.embedding) = + let uu___ = + FStar_Syntax_Syntax.fvar FStar_Parser_Const.issue_lid + FStar_Pervasives_Native.None in + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_issue uu___ let arrow_as_prim_step_1 : 'a 'b . - 'a embedding -> - 'b embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> ('a -> 'b) -> Prims.int -> FStar_Ident.lid -> - norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -2563,11 +2261,14 @@ let arrow_as_prim_step_1 : FStar_Pervasives_Native.Some uu___3 in let uu___3 = let uu___4 = - let uu___5 = unembed ea x in uu___5 true norm in + FStar_Syntax_Embeddings_Base.try_unembed ea x + norm in FStar_Compiler_Util.map_opt uu___4 (fun x1 -> let uu___5 = - let uu___6 = f x1 in embed eb uu___6 in + let uu___6 = f x1 in + FStar_Syntax_Embeddings_Base.embed eb + uu___6 in uu___5 rng shadow_app norm) in (match uu___3 with | FStar_Pervasives_Native.Some x1 -> @@ -2577,13 +2278,13 @@ let arrow_as_prim_step_1 : f_wrapped let arrow_as_prim_step_2 : 'a 'b 'c . - 'a embedding -> - 'b embedding -> - 'c embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'c FStar_Syntax_Embeddings_Base.embedding -> ('a -> 'b -> 'c) -> Prims.int -> FStar_Ident.lid -> - norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -2613,18 +2314,20 @@ let arrow_as_prim_step_2 : FStar_Pervasives_Native.Some uu___4 in let uu___4 = let uu___5 = - let uu___6 = unembed ea x in uu___6 true norm in + FStar_Syntax_Embeddings_Base.try_unembed ea x + norm in FStar_Compiler_Util.bind_opt uu___5 (fun x1 -> let uu___6 = - let uu___7 = unembed eb y in - uu___7 true norm in + FStar_Syntax_Embeddings_Base.try_unembed + eb y norm in FStar_Compiler_Util.bind_opt uu___6 (fun y1 -> let uu___7 = let uu___8 = let uu___9 = f x1 y1 in - embed ec uu___9 in + FStar_Syntax_Embeddings_Base.embed + ec uu___9 in uu___8 rng shadow_app norm in FStar_Pervasives_Native.Some uu___7)) in (match uu___4 with @@ -2635,14 +2338,14 @@ let arrow_as_prim_step_2 : f_wrapped let arrow_as_prim_step_3 : 'a 'b 'c 'd . - 'a embedding -> - 'b embedding -> - 'c embedding -> - 'd embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> + 'c FStar_Syntax_Embeddings_Base.embedding -> + 'd FStar_Syntax_Embeddings_Base.embedding -> ('a -> 'b -> 'c -> 'd) -> Prims.int -> FStar_Ident.lid -> - norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -2673,24 +2376,25 @@ let arrow_as_prim_step_3 : FStar_Pervasives_Native.Some uu___5 in let uu___5 = let uu___6 = - let uu___7 = unembed ea x in - uu___7 true norm in + FStar_Syntax_Embeddings_Base.try_unembed ea + x norm in FStar_Compiler_Util.bind_opt uu___6 (fun x1 -> let uu___7 = - let uu___8 = unembed eb y in - uu___8 true norm in + FStar_Syntax_Embeddings_Base.try_unembed + eb y norm in FStar_Compiler_Util.bind_opt uu___7 (fun y1 -> let uu___8 = - let uu___9 = unembed ec z in - uu___9 true norm in + FStar_Syntax_Embeddings_Base.try_unembed + ec z norm in FStar_Compiler_Util.bind_opt uu___8 (fun z1 -> let uu___9 = let uu___10 = let uu___11 = f x1 y1 z1 in - embed ed uu___11 in + FStar_Syntax_Embeddings_Base.embed + ed uu___11 in uu___10 rng shadow_app norm in FStar_Pervasives_Native.Some uu___9))) in diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_AppEmb.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_AppEmb.ml new file mode 100644 index 00000000000..ab8ebf0c3b8 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_AppEmb.ml @@ -0,0 +1,87 @@ +open Prims +type 'a appemb = + FStar_Syntax_Syntax.args -> + ('a * FStar_Syntax_Syntax.args) FStar_Pervasives_Native.option +let one : 'a . 'a FStar_Syntax_Embeddings_Base.embedding -> 'a appemb = + fun e -> + fun args -> + match args with + | (t, uu___)::xs -> + let uu___1 = + FStar_Syntax_Embeddings_Base.try_unembed e t + FStar_Syntax_Embeddings_Base.id_norm_cb in + (match uu___1 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some v -> + FStar_Pervasives_Native.Some (v, xs)) +let op_let_Question : + 'uuuuu 'uuuuu1 . + 'uuuuu FStar_Pervasives_Native.option -> + ('uuuuu -> 'uuuuu1 FStar_Pervasives_Native.option) -> + 'uuuuu1 FStar_Pervasives_Native.option + = + fun o -> + fun f -> + match o with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some v -> f v +let op_Less_Star_Greater : + 'a 'b . ('a -> 'b) appemb -> 'a appemb -> 'b appemb = + fun u1 -> + fun u2 -> + fun args -> + let uu___ = u1 args in + op_let_Question uu___ + (fun uu___1 -> + match uu___1 with + | (f, args') -> + let uu___2 = u2 args' in + op_let_Question uu___2 + (fun uu___3 -> + match uu___3 with + | (v, args'') -> + let uu___4 = let uu___5 = f v in (uu___5, args'') in + FStar_Pervasives_Native.Some uu___4)) +let op_Less_Star_Star_Greater : + 'a 'b . + ('a -> 'b) appemb -> + 'a FStar_Syntax_Embeddings_Base.embedding -> 'b appemb + = fun u1 -> fun u2 -> let uu___ = one u2 in op_Less_Star_Greater u1 uu___ +let pure : 'a . 'a -> 'a appemb = + fun x -> fun args -> FStar_Pervasives_Native.Some (x, args) +let op_Less_Dollar_Greater : 'a 'b . ('a -> 'b) -> 'a appemb -> 'b appemb = + fun u1 -> fun u2 -> let uu___ = pure u1 in op_Less_Star_Greater uu___ u2 +let op_Less_Dollar_Dollar_Greater : + 'a 'b . + ('a -> 'b) -> 'a FStar_Syntax_Embeddings_Base.embedding -> 'b appemb + = + fun u1 -> + fun u2 -> + let uu___ = pure u1 in + let uu___1 = one u2 in op_Less_Star_Greater uu___ uu___1 +let run : + 'a . + FStar_Syntax_Syntax.args -> + 'a appemb -> 'a FStar_Pervasives_Native.option + = + fun args -> + fun u -> + let uu___ = u args in + match uu___ with + | FStar_Pervasives_Native.Some (r, []) -> + FStar_Pervasives_Native.Some r + | uu___1 -> FStar_Pervasives_Native.None +let wrap : + 'a . + (FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option) -> + 'a appemb + = + fun f -> + fun args -> + match args with + | (t, uu___)::xs -> + let uu___1 = f t in + (match uu___1 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some v -> + FStar_Pervasives_Native.Some (v, xs)) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_Base.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_Base.ml new file mode 100644 index 00000000000..2203dbb02dd --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Embeddings_Base.ml @@ -0,0 +1,435 @@ +open Prims +type norm_cb = + (FStar_Ident.lident, FStar_Syntax_Syntax.term) FStar_Pervasives.either -> + FStar_Syntax_Syntax.term +type shadow_term = + FStar_Syntax_Syntax.term FStar_Thunk.t FStar_Pervasives_Native.option +type embed_t = + FStar_Compiler_Range_Type.range -> + shadow_term -> norm_cb -> FStar_Syntax_Syntax.term +type 'a unembed_t = norm_cb -> 'a FStar_Pervasives_Native.option +type 'a raw_embedder = 'a -> embed_t +type 'a raw_unembedder = FStar_Syntax_Syntax.term -> 'a unembed_t +type 'a printer = 'a -> Prims.string +let (id_norm_cb : norm_cb) = + fun uu___ -> + match uu___ with + | FStar_Pervasives.Inr x -> x + | FStar_Pervasives.Inl l -> + let uu___1 = + FStar_Syntax_Syntax.lid_as_fv l FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.fv_to_tm uu___1 +exception Embedding_failure +let (uu___is_Embedding_failure : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | Embedding_failure -> true | uu___ -> false +exception Unembedding_failure +let (uu___is_Unembedding_failure : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | Unembedding_failure -> true | uu___ -> false +let (map_shadow : + shadow_term -> + (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> shadow_term) + = fun s -> fun f -> FStar_Compiler_Util.map_opt s (FStar_Thunk.map f) +let (force_shadow : + shadow_term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = + fun s -> FStar_Compiler_Util.map_opt s FStar_Thunk.force +type 'a embedding = + { + em: 'a -> embed_t ; + un: FStar_Syntax_Syntax.term -> 'a unembed_t ; + typ: FStar_Syntax_Syntax.typ ; + print: 'a printer ; + emb_typ: FStar_Syntax_Syntax.emb_typ } +let __proj__Mkembedding__item__em : 'a . 'a embedding -> 'a -> embed_t = + fun projectee -> + match projectee with | { em; un; typ; print; emb_typ;_} -> em +let __proj__Mkembedding__item__un : + 'a . 'a embedding -> FStar_Syntax_Syntax.term -> 'a unembed_t = + fun projectee -> + match projectee with | { em; un; typ; print; emb_typ;_} -> un +let __proj__Mkembedding__item__typ : + 'a . 'a embedding -> FStar_Syntax_Syntax.typ = + fun projectee -> + match projectee with | { em; un; typ; print; emb_typ;_} -> typ +let __proj__Mkembedding__item__print : 'a . 'a embedding -> 'a printer = + fun projectee -> + match projectee with | { em; un; typ; print; emb_typ;_} -> print +let __proj__Mkembedding__item__emb_typ : + 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = + fun projectee -> + match projectee with | { em; un; typ; print; emb_typ;_} -> emb_typ +let emb_typ_of : 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = + fun e -> e.emb_typ +let unknown_printer : + 'uuuuu . FStar_Syntax_Syntax.term -> 'uuuuu -> Prims.string = + fun typ -> + fun uu___ -> + let uu___1 = FStar_Syntax_Print.term_to_string typ in + FStar_Compiler_Util.format1 "unknown %s" uu___1 +let (term_as_fv : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv) = + fun t -> + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_fvar fv -> fv + | uu___1 -> + let uu___2 = + let uu___3 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.format1 "Embeddings not defined for type %s" + uu___3 in + failwith uu___2 +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 + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + FStar_Ident.string_of_lid in + (uu___2, []) in + FStar_Syntax_Syntax.ET_app uu___1 in + { em; un; typ; print = (unknown_printer typ); emb_typ = uu___ } +let mk_emb_full : + 'a . + 'a raw_embedder -> + 'a raw_unembedder -> + FStar_Syntax_Syntax.typ -> + ('a -> Prims.string) -> FStar_Syntax_Syntax.emb_typ -> 'a embedding + = + fun em -> + fun un -> + fun typ -> + fun printer1 -> + fun emb_typ -> { em; un; typ; print = printer1; emb_typ } +let rec (unmeta_div_results : + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = + fun t -> + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_meta + { FStar_Syntax_Syntax.tm2 = t'; + FStar_Syntax_Syntax.meta = FStar_Syntax_Syntax.Meta_monadic_lift + (src, dst, uu___1);_} + -> + let uu___2 = + (FStar_Ident.lid_equals src FStar_Parser_Const.effect_PURE_lid) && + (FStar_Ident.lid_equals dst FStar_Parser_Const.effect_DIV_lid) in + if uu___2 then unmeta_div_results t' else t + | FStar_Syntax_Syntax.Tm_meta + { FStar_Syntax_Syntax.tm2 = t'; + FStar_Syntax_Syntax.meta = FStar_Syntax_Syntax.Meta_monadic + (m, uu___1);_} + -> + let uu___2 = + FStar_Ident.lid_equals m FStar_Parser_Const.effect_DIV_lid in + if uu___2 then unmeta_div_results t' else t + | FStar_Syntax_Syntax.Tm_meta + { FStar_Syntax_Syntax.tm2 = t'; FStar_Syntax_Syntax.meta = uu___1;_} + -> unmeta_div_results t' + | FStar_Syntax_Syntax.Tm_ascribed + { FStar_Syntax_Syntax.tm = t'; FStar_Syntax_Syntax.asc = uu___1; + FStar_Syntax_Syntax.eff_opt = uu___2;_} + -> unmeta_div_results t' + | uu___1 -> t +let type_of : 'a . 'a embedding -> FStar_Syntax_Syntax.typ = fun e -> e.typ +let printer_of : 'a . 'a embedding -> 'a printer = fun e -> e.print +let set_type : 'a . FStar_Syntax_Syntax.typ -> 'a embedding -> 'a embedding = + fun ty -> + fun e -> + { + em = (e.em); + un = (e.un); + typ = ty; + print = (e.print); + emb_typ = (e.emb_typ) + } +let embed : 'a . 'a embedding -> 'a -> embed_t = fun e -> e.em +let try_unembed : + 'a . + 'a embedding -> + FStar_Syntax_Syntax.term -> + norm_cb -> 'a FStar_Pervasives_Native.option + = + fun e -> + fun t -> + fun n -> + let t1 = unmeta_div_results t in + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t1 in e.un uu___1 in + uu___ n +let unembed : + 'a . + 'a embedding -> + FStar_Syntax_Syntax.term -> + norm_cb -> 'a FStar_Pervasives_Native.option + = + fun e -> + fun t -> + fun n -> + let r = try_unembed e t n in + if FStar_Pervasives_Native.uu___is_None r + then + (let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = type_of e in + FStar_Syntax_Print.term_to_string uu___4 in + let uu___4 = + let uu___5 = emb_typ_of e in + FStar_Syntax_Print.emb_typ_to_string uu___5 in + let uu___5 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.format3 + "Warning, unembedding failed for type %s (%s); term = %s" + uu___3 uu___4 uu___5 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___2) in + FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___1) + else (); + r +let embed_as : + 'a 'b . + 'a embedding -> + ('a -> 'b) -> + ('b -> 'a) -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option -> + 'b embedding + = + fun ea -> + fun ab -> + fun ba -> + fun o -> + let uu___ = + match o with + | FStar_Pervasives_Native.Some t -> t + | uu___1 -> type_of ea in + mk_emb_full (fun x -> let uu___1 = ba x in embed ea uu___1) + (fun t -> + fun cb -> + let uu___1 = try_unembed ea t cb in + FStar_Compiler_Util.map_opt uu___1 ab) uu___ + (fun x -> + let uu___1 = let uu___2 = ba x in ea.print uu___2 in + FStar_Compiler_Util.format1 "(embed_as>> %s)\n" uu___1) + ea.emb_typ +let e_lazy : + 'a . + FStar_Syntax_Syntax.lazy_kind -> FStar_Syntax_Syntax.term -> 'a embedding + = + fun k -> + fun ty -> + let ee x rng _topt _norm = + FStar_Syntax_Util.mk_lazy x ty k (FStar_Pervasives_Native.Some rng) in + let uu t _norm = + let t0 = t in + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_lazy + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = lkind; + FStar_Syntax_Syntax.ltyp = uu___1; + FStar_Syntax_Syntax.rng = uu___2;_} + when FStar_Syntax_Util.eq_lazy_kind lkind k -> + let uu___3 = FStar_Compiler_Dyn.undyn b in + FStar_Pervasives_Native.Some uu___3 + | FStar_Syntax_Syntax.Tm_lazy + { FStar_Syntax_Syntax.blob = b; + FStar_Syntax_Syntax.lkind = lkind; + FStar_Syntax_Syntax.ltyp = uu___1; + FStar_Syntax_Syntax.rng = uu___2;_} + -> + ((let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Util.lazy_kind_to_string lkind in + let uu___7 = FStar_Syntax_Util.lazy_kind_to_string k in + let uu___8 = FStar_Syntax_Print.term_to_string t0 in + FStar_Compiler_Util.format3 + "Warning, lazy unembedding failed, tag mismatch.\n\tExpected %s, got %s\n\tt = %s." + uu___6 uu___7 uu___8 in + (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in + FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu___4); + FStar_Pervasives_Native.None) + | uu___1 -> FStar_Pervasives_Native.None in + let uu___ = term_as_fv ty in mk_emb ee uu uu___ +let lazy_embed : + 'a . + 'a printer -> + FStar_Syntax_Syntax.emb_typ -> + FStar_Compiler_Range_Type.range -> + FStar_Syntax_Syntax.term -> + 'a -> + (unit -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.term + = + fun pa -> + fun et -> + fun rng -> + fun ta -> + fun x -> + fun f -> + (let uu___1 = + FStar_Compiler_Effect.op_Bang FStar_Options.debug_embedding in + if uu___1 + then + let uu___2 = FStar_Syntax_Print.term_to_string ta in + let uu___3 = FStar_Syntax_Print.emb_typ_to_string et in + let uu___4 = pa x in + FStar_Compiler_Util.print3 + "Embedding a %s\n\temb_typ=%s\n\tvalue is %s\n" uu___2 + uu___3 uu___4 + else ()); + (let uu___1 = + FStar_Compiler_Effect.op_Bang FStar_Options.eager_embedding in + if uu___1 + then f () + else + (let thunk = FStar_Thunk.mk f in + FStar_Syntax_Util.mk_lazy x FStar_Syntax_Syntax.tun + (FStar_Syntax_Syntax.Lazy_embedding (et, thunk)) + (FStar_Pervasives_Native.Some rng))) +let lazy_unembed : + 'a . + 'a printer -> + FStar_Syntax_Syntax.emb_typ -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + (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 + 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.ltyp = uu___; + FStar_Syntax_Syntax.rng = uu___1;_} + -> + let uu___2 = + (et <> et') || + (FStar_Compiler_Effect.op_Bang + FStar_Options.eager_embedding) in + if uu___2 + then + let res = let uu___3 = FStar_Thunk.force t in f uu___3 in + ((let uu___4 = + FStar_Compiler_Effect.op_Bang + FStar_Options.debug_embedding in + if uu___4 + then + let uu___5 = FStar_Syntax_Print.emb_typ_to_string et in + let uu___6 = FStar_Syntax_Print.emb_typ_to_string et' in + let uu___7 = + match res with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some x2 -> + let uu___8 = pa x2 in Prims.op_Hat "Some " uu___8 in + FStar_Compiler_Util.print3 + "Unembed cancellation failed\n\t%s <> %s\nvalue is %s\n" + uu___5 uu___6 uu___7 + else ()); + res) + else + (let a1 = FStar_Compiler_Dyn.undyn b in + (let uu___5 = + FStar_Compiler_Effect.op_Bang + FStar_Options.debug_embedding in + if uu___5 + then + let uu___6 = FStar_Syntax_Print.emb_typ_to_string et in + let uu___7 = pa a1 in + FStar_Compiler_Util.print2 + "Unembed cancelled for %s\n\tvalue is %s\n" uu___6 + uu___7 + else ()); + FStar_Pervasives_Native.Some a1) + | uu___ -> + let aopt = f x1 in + ((let uu___2 = + FStar_Compiler_Effect.op_Bang + FStar_Options.debug_embedding in + if uu___2 + then + let uu___3 = FStar_Syntax_Print.emb_typ_to_string et in + let uu___4 = FStar_Syntax_Print.term_to_string x1 in + let uu___5 = + match aopt with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some a1 -> + let uu___6 = pa a1 in Prims.op_Hat "Some " uu___6 in + FStar_Compiler_Util.print3 + "Unembedding:\n\temb_typ=%s\n\tterm is %s\n\tvalue is %s\n" + uu___3 uu___4 uu___5 + else ()); + aopt) +let op_let_Question : + 'uuuuu 'uuuuu1 . + 'uuuuu FStar_Pervasives_Native.option -> + ('uuuuu -> 'uuuuu1 FStar_Pervasives_Native.option) -> + 'uuuuu1 FStar_Pervasives_Native.option + = fun o -> fun f -> FStar_Compiler_Util.bind_opt o f +let mk_extracted_embedding : + 'a . + Prims.string -> + ((Prims.string * FStar_Syntax_Syntax.term Prims.list) -> + 'a FStar_Pervasives_Native.option) + -> ('a -> FStar_Syntax_Syntax.term) -> 'a embedding + = + fun name -> + fun u -> + fun e -> + let uu t _norm = + let uu___ = FStar_Syntax_Util.head_and_args t in + match uu___ with + | (hd, args) -> + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Util.un_uinst hd in + FStar_Syntax_Subst.compress uu___4 in + uu___3.FStar_Syntax_Syntax.n in + match uu___2 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Pervasives_Native.Some + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) + | uu___3 -> FStar_Pervasives_Native.None in + op_let_Question uu___1 + (fun hd_lid -> + let uu___2 = + let uu___3 = FStar_Ident.string_of_lid hd_lid in + let uu___4 = + FStar_Compiler_List.map FStar_Pervasives_Native.fst + args in + (uu___3, uu___4) in + u uu___2) in + let ee x rng _topt _norm = e x in + let uu___ = + let uu___1 = FStar_Ident.lid_of_str name in + FStar_Syntax_Syntax.lid_as_fv uu___1 FStar_Pervasives_Native.None in + mk_emb ee uu uu___ +let extracted_embed : 'a . 'a embedding -> 'a -> FStar_Syntax_Syntax.term = + fun e -> + fun x -> + let uu___ = embed e x in + uu___ FStar_Compiler_Range_Type.dummyRange FStar_Pervasives_Native.None + id_norm_cb +let extracted_unembed : + 'a . + 'a embedding -> + FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option + = fun e -> fun t -> try_unembed e t id_norm_cb \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_MutRecTy.ml b/ocaml/fstar-lib/generated/FStar_Syntax_MutRecTy.ml index eb5ce80e438..22d08cebdce 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_MutRecTy.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_MutRecTy.ml @@ -13,7 +13,14 @@ let (disentangle_abbrevs_from_bundle : fun rng -> let sigattrs = FStar_Compiler_List.collect - (fun s -> s.FStar_Syntax_Syntax.sigattrs) sigelts in + (fun s -> + match s.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ uu___ -> + s.FStar_Syntax_Syntax.sigattrs + | FStar_Syntax_Syntax.Sig_let uu___ -> + s.FStar_Syntax_Syntax.sigattrs + | uu___ -> []) sigelts in + let sigattrs1 = FStar_Syntax_Util.deduplicate_terms sigattrs in let type_abbrev_sigelts = FStar_Compiler_Effect.op_Bar_Greater sigelts (FStar_Compiler_List.collect @@ -51,7 +58,7 @@ let (disentangle_abbrevs_from_bundle : FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = sigattrs; + FStar_Syntax_Syntax.sigattrs = sigattrs1; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None }, []) | uu___ -> @@ -426,7 +433,7 @@ let (disentangle_abbrevs_from_bundle : FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = sigattrs; + FStar_Syntax_Syntax.sigattrs = sigattrs1; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in (new_bundle, unfolded_type_abbrevs) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Print.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Print.ml index 7fcc544f278..2e1848f62af 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Print.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Print.ml @@ -1336,13 +1336,28 @@ let (layered_eff_combinators_to_string : let uu___7 = to_str combs.FStar_Syntax_Syntax.l_subcomp in let uu___8 = let uu___9 = to_str combs.FStar_Syntax_Syntax.l_if_then_else in - [uu___9] in + let uu___10 = + let uu___11 = + if + FStar_Pervasives_Native.uu___is_None + combs.FStar_Syntax_Syntax.l_close + then "" + else + (let uu___13 = + let uu___14 = + FStar_Compiler_Effect.op_Bar_Greater + combs.FStar_Syntax_Syntax.l_close + FStar_Compiler_Util.must in + FStar_Compiler_Effect.op_Bar_Greater uu___14 to_str2 in + FStar_Compiler_Util.format1 "; l_close = %s\n" uu___13) in + [uu___11] in + uu___9 :: uu___10 in uu___7 :: uu___8 in uu___5 :: uu___6 in uu___3 :: uu___4 in uu___1 :: uu___2 in FStar_Compiler_Util.format - "{\n; l_repr = %s\n; l_return = %s\n; l_bind = %s\n; l_subcomp = %s\n; l_if_then_else = %s\n\n }\n" + "{\n; l_repr = %s\n; l_return = %s\n; l_bind = %s\n; l_subcomp = %s\n; l_if_then_else = %s\n\n %s\n }\n" uu___ let (eff_combinators_to_string : FStar_Syntax_Syntax.eff_combinators -> Prims.string) = diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Resugar.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Resugar.ml index b9855b00bd0..feaa97c1199 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Resugar.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Resugar.ml @@ -1237,10 +1237,11 @@ let rec (resugar_term' : let uu___5 = match bnd.FStar_Syntax_Syntax.lbname with | FStar_Pervasives.Inr fv -> - ((mk_pat + let uu___6 = + mk_pat (FStar_Parser_AST.PatName - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v))), - term) + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) in + (uu___6, term) | FStar_Pervasives.Inl bv -> let uu___6 = let uu___7 = @@ -1286,10 +1287,12 @@ let rec (resugar_term' : mk_pat uu___8))) in let uu___7 = let uu___8 = - resugar_term' env term1 in - ((mk_pat + mk_pat (FStar_Parser_AST.PatApp - (pat, args))), uu___8) in + (pat, args)) in + let uu___9 = + resugar_term' env term1 in + (uu___8, uu___9) in let uu___8 = universe_to_string univs in (uu___7, uu___8) else @@ -1313,9 +1316,11 @@ let rec (resugar_term' : if uu___3 then (attrs, pb) else - (attrs, - ((FStar_Pervasives_Native.fst pb), - (label univs (FStar_Pervasives_Native.snd pb)))) in + (let uu___5 = + let uu___6 = + label univs (FStar_Pervasives_Native.snd pb) in + ((FStar_Pervasives_Native.fst pb), uu___6) in + (attrs, uu___5)) in FStar_Compiler_List.map f r in let body2 = resugar_term' env body1 in mk @@ -2039,12 +2044,15 @@ and (resugar_pat' : is_implicit && might_be_used) args in Prims.op_Negation uu___) in let resugar_plain_pat_cons' fv args = - mk - (FStar_Parser_AST.PatApp - ((mk - (FStar_Parser_AST.PatName - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v))), - args)) in + let uu___ = + let uu___1 = + let uu___2 = + mk + (FStar_Parser_AST.PatName + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) in + (uu___2, args) in + FStar_Parser_AST.PatApp uu___1 in + mk uu___ in let rec resugar_plain_pat_cons fv args = let args1 = let uu___ = may_drop_implicits args in @@ -2162,12 +2170,13 @@ and (resugar_pat' : | ([], []) -> [] | ([], hd::tl) -> [] | (hd::tl, []) -> - let uu___3 = map2 tl [] in - (hd, - (mk - (FStar_Parser_AST.PatWild - (FStar_Pervasives_Native.None, [])))) - :: uu___3 + let uu___3 = + let uu___4 = + mk + (FStar_Parser_AST.PatWild + (FStar_Pervasives_Native.None, [])) in + (hd, uu___4) in + let uu___4 = map2 tl [] in uu___3 :: uu___4 | (hd1::tl1, hd2::tl2) -> let uu___3 = map2 tl1 tl2 in (hd1, hd2) :: uu___3 in let args2 = diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Subst.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Subst.ml index 1e80c49efcf..2331928a1d7 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Subst.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Subst.ml @@ -132,7 +132,8 @@ let rec (compress_univ : let (subst_bv : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.subst_elt Prims.list -> - FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax + FStar_Pervasives_Native.option) = fun a -> fun s -> @@ -147,6 +148,9 @@ let (subst_bv : FStar_Syntax_Syntax.set_range_of_bv x uu___3 in FStar_Syntax_Syntax.bv_to_name uu___2 in FStar_Pervasives_Native.Some uu___1 + | FStar_Syntax_Syntax.DT (i, t) when + i = a.FStar_Syntax_Syntax.index -> + FStar_Pervasives_Native.Some t | uu___1 -> FStar_Pervasives_Native.None) let (subst_nm : FStar_Syntax_Syntax.bv -> @@ -504,6 +508,7 @@ let (shift : fun s -> match s with | FStar_Syntax_Syntax.DB (i, t) -> FStar_Syntax_Syntax.DB ((i + n), t) + | FStar_Syntax_Syntax.DT (i, t) -> FStar_Syntax_Syntax.DT ((i + n), t) | FStar_Syntax_Syntax.UN (i, t) -> FStar_Syntax_Syntax.UN ((i + n), t) | FStar_Syntax_Syntax.NM (x, i) -> FStar_Syntax_Syntax.NM (x, (i + n)) | FStar_Syntax_Syntax.UD (x, i) -> FStar_Syntax_Syntax.UD (x, (i + n)) diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Syntax.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Syntax.ml index 94bd57ffb6b..fc6eca64165 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Syntax.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Syntax.ml @@ -361,6 +361,7 @@ and unresolved_constructor = uc_fields: FStar_Ident.lident Prims.list } and subst_elt = | DB of (Prims.int * bv) + | DT of (Prims.int * term' syntax) | NM of (bv * Prims.int) | NT of (bv * term' syntax) | UN of (Prims.int * universe) @@ -400,6 +401,7 @@ and lazyinfo = and lazy_kind = | BadLazy | Lazy_bv + | Lazy_namedv | Lazy_binder | Lazy_optionstate | Lazy_fvar @@ -414,6 +416,7 @@ and lazy_kind = | Lazy_universe | Lazy_universe_uvar | Lazy_issue + | Lazy_ident and binding = | Binding_var of bv | Binding_lid of (FStar_Ident.lident * (univ_names * term' syntax)) @@ -925,6 +928,10 @@ let (uu___is_DB : subst_elt -> Prims.bool) = fun projectee -> match projectee with | DB _0 -> true | uu___ -> false let (__proj__DB__item___0 : subst_elt -> (Prims.int * bv)) = fun projectee -> match projectee with | DB _0 -> _0 +let (uu___is_DT : subst_elt -> Prims.bool) = + fun projectee -> match projectee with | DT _0 -> true | uu___ -> false +let (__proj__DT__item___0 : subst_elt -> (Prims.int * term' syntax)) = + fun projectee -> match projectee with | DT _0 -> _0 let (uu___is_NM : subst_elt -> Prims.bool) = fun projectee -> match projectee with | NM _0 -> true | uu___ -> false let (__proj__NM__item___0 : subst_elt -> (bv * Prims.int)) = @@ -1022,6 +1029,9 @@ let (uu___is_BadLazy : lazy_kind -> Prims.bool) = fun projectee -> match projectee with | BadLazy -> true | uu___ -> false let (uu___is_Lazy_bv : lazy_kind -> Prims.bool) = fun projectee -> match projectee with | Lazy_bv -> true | uu___ -> false +let (uu___is_Lazy_namedv : lazy_kind -> Prims.bool) = + fun projectee -> + match projectee with | Lazy_namedv -> true | uu___ -> false let (uu___is_Lazy_binder : lazy_kind -> Prims.bool) = fun projectee -> match projectee with | Lazy_binder -> true | uu___ -> false @@ -1061,6 +1071,8 @@ let (uu___is_Lazy_universe_uvar : lazy_kind -> Prims.bool) = match projectee with | Lazy_universe_uvar -> true | uu___ -> false let (uu___is_Lazy_issue : lazy_kind -> Prims.bool) = fun projectee -> match projectee with | Lazy_issue -> true | uu___ -> false +let (uu___is_Lazy_ident : lazy_kind -> Prims.bool) = + fun projectee -> match projectee with | Lazy_ident -> true | uu___ -> false let (uu___is_Binding_var : binding -> Prims.bool) = fun projectee -> match projectee with | Binding_var _0 -> true | uu___ -> false @@ -1474,17 +1486,20 @@ type layered_eff_combinators = l_if_then_else: (tscheme * tscheme * indexed_effect_combinator_kind FStar_Pervasives_Native.option) - } + ; + l_close: (tscheme * tscheme) FStar_Pervasives_Native.option } let (__proj__Mklayered_eff_combinators__item__l_repr : layered_eff_combinators -> (tscheme * tscheme)) = fun projectee -> match projectee with - | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else;_} -> l_repr + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> + l_repr let (__proj__Mklayered_eff_combinators__item__l_return : layered_eff_combinators -> (tscheme * tscheme)) = fun projectee -> match projectee with - | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else;_} -> l_return + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> + l_return let (__proj__Mklayered_eff_combinators__item__l_bind : layered_eff_combinators -> (tscheme * tscheme * indexed_effect_combinator_kind @@ -1492,7 +1507,8 @@ let (__proj__Mklayered_eff_combinators__item__l_bind : = fun projectee -> match projectee with - | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else;_} -> l_bind + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> + l_bind let (__proj__Mklayered_eff_combinators__item__l_subcomp : layered_eff_combinators -> (tscheme * tscheme * indexed_effect_combinator_kind @@ -1500,7 +1516,8 @@ let (__proj__Mklayered_eff_combinators__item__l_subcomp : = fun projectee -> match projectee with - | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else;_} -> l_subcomp + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> + l_subcomp let (__proj__Mklayered_eff_combinators__item__l_if_then_else : layered_eff_combinators -> (tscheme * tscheme * indexed_effect_combinator_kind @@ -1508,8 +1525,16 @@ let (__proj__Mklayered_eff_combinators__item__l_if_then_else : = fun projectee -> match projectee with - | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else;_} -> + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> l_if_then_else +let (__proj__Mklayered_eff_combinators__item__l_close : + layered_eff_combinators -> + (tscheme * tscheme) FStar_Pervasives_Native.option) + = + fun projectee -> + match projectee with + | { l_repr; l_return; l_bind; l_subcomp; l_if_then_else; l_close;_} -> + l_close type eff_combinators = | Primitive_eff of wp_eff_combinators | DM4F_eff of wp_eff_combinators @@ -2597,6 +2622,7 @@ 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___range : term) = tconst FStar_Parser_Const.__range_lid let (t_vconfig : term) = tconst FStar_Parser_Const.vconfig_lid let (t_term : term) = tconst FStar_Parser_Const.term_lid let (t_term_view : term) = tabbrev FStar_Parser_Const.term_view_lid diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Util.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Util.ml index ff5d85edb25..1415d0b5229 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Util.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Util.ml @@ -898,6 +898,8 @@ let (eq_lazy_kind : 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_namedv, FStar_Syntax_Syntax.Lazy_namedv) -> + true | (FStar_Syntax_Syntax.Lazy_binder, FStar_Syntax_Syntax.Lazy_binder) -> true | (FStar_Syntax_Syntax.Lazy_optionstate, @@ -917,14 +919,23 @@ let (eq_lazy_kind : FStar_Syntax_Syntax.Lazy_letbinding) -> true | (FStar_Syntax_Syntax.Lazy_uvar, FStar_Syntax_Syntax.Lazy_uvar) -> true + | (FStar_Syntax_Syntax.Lazy_universe, + FStar_Syntax_Syntax.Lazy_universe) -> true + | (FStar_Syntax_Syntax.Lazy_universe_uvar, + FStar_Syntax_Syntax.Lazy_universe_uvar) -> true | (FStar_Syntax_Syntax.Lazy_issue, FStar_Syntax_Syntax.Lazy_issue) -> true - | uu___ -> false + | (FStar_Syntax_Syntax.Lazy_ident, FStar_Syntax_Syntax.Lazy_ident) -> + true + | (FStar_Syntax_Syntax.Lazy_embedding uu___, uu___1) -> false + | (uu___, FStar_Syntax_Syntax.Lazy_embedding uu___1) -> false + | uu___ -> failwith "FIXME! eq_lazy_kind must be complete" let (lazy_kind_to_string : FStar_Syntax_Syntax.lazy_kind -> Prims.string) = fun k -> match k with | FStar_Syntax_Syntax.BadLazy -> "BadLazy" | FStar_Syntax_Syntax.Lazy_bv -> "Lazy_bv" + | FStar_Syntax_Syntax.Lazy_namedv -> "Lazy_namedv" | FStar_Syntax_Syntax.Lazy_binder -> "Lazy_binder" | FStar_Syntax_Syntax.Lazy_optionstate -> "Lazy_optionstate" | FStar_Syntax_Syntax.Lazy_fvar -> "Lazy_fvar" @@ -935,8 +946,12 @@ let (lazy_kind_to_string : FStar_Syntax_Syntax.lazy_kind -> Prims.string) = | FStar_Syntax_Syntax.Lazy_sigelt -> "Lazy_sigelt" | FStar_Syntax_Syntax.Lazy_letbinding -> "Lazy_letbinding" | FStar_Syntax_Syntax.Lazy_uvar -> "Lazy_uvar" + | FStar_Syntax_Syntax.Lazy_universe -> "Lazy_universe" + | FStar_Syntax_Syntax.Lazy_universe_uvar -> "Lazy_universe_uvar" | FStar_Syntax_Syntax.Lazy_issue -> "Lazy_issue" - | uu___ -> "Unknown" + | FStar_Syntax_Syntax.Lazy_ident -> "Lazy_ident" + | FStar_Syntax_Syntax.Lazy_embedding uu___ -> "Lazy_embedding _" + | uu___ -> failwith "FIXME! lazy_kind_to_string must be complete" let unlazy_as_t : 'uuuuu . FStar_Syntax_Syntax.lazy_kind -> FStar_Syntax_Syntax.term -> 'uuuuu @@ -952,14 +967,16 @@ let unlazy_as_t : FStar_Syntax_Syntax.ltyp = uu___1; FStar_Syntax_Syntax.rng = uu___2;_} -> - if eq_lazy_kind k k' + let uu___3 = eq_lazy_kind k k' in + if uu___3 then FStar_Compiler_Dyn.undyn v else - (let uu___4 = + (let uu___5 = + let uu___6 = lazy_kind_to_string k in + let uu___7 = lazy_kind_to_string k' in FStar_Compiler_Util.format2 - "Expected Tm_lazy of kind %s, got %s" - (lazy_kind_to_string k) (lazy_kind_to_string k') in - failwith uu___4) + "Expected Tm_lazy of kind %s, got %s" uu___6 uu___7 in + failwith uu___5) | uu___1 -> failwith "Not a Tm_lazy of the expected kind" let mk_lazy : 'a . @@ -4913,12 +4930,15 @@ let (apply_layered_eff_combinators : let uu___2 = map3 combs.FStar_Syntax_Syntax.l_bind in let uu___3 = map3 combs.FStar_Syntax_Syntax.l_subcomp in let uu___4 = map3 combs.FStar_Syntax_Syntax.l_if_then_else in + let uu___5 = + FStar_Compiler_Util.map_option map2 combs.FStar_Syntax_Syntax.l_close in { FStar_Syntax_Syntax.l_repr = uu___; FStar_Syntax_Syntax.l_return = uu___1; FStar_Syntax_Syntax.l_bind = uu___2; FStar_Syntax_Syntax.l_subcomp = uu___3; - FStar_Syntax_Syntax.l_if_then_else = uu___4 + FStar_Syntax_Syntax.l_if_then_else = uu___4; + FStar_Syntax_Syntax.l_close = uu___5 } let (apply_eff_combinators : (FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.tscheme) -> @@ -4937,6 +4957,30 @@ let (apply_eff_combinators : | FStar_Syntax_Syntax.Layered_eff combs1 -> let uu___ = apply_layered_eff_combinators f combs1 in FStar_Syntax_Syntax.Layered_eff uu___ +let (get_layered_close_combinator : + FStar_Syntax_Syntax.eff_decl -> + FStar_Syntax_Syntax.tscheme FStar_Pervasives_Native.option) + = + fun ed -> + match ed.FStar_Syntax_Syntax.combinators with + | FStar_Syntax_Syntax.Layered_eff + { FStar_Syntax_Syntax.l_repr = uu___; + FStar_Syntax_Syntax.l_return = uu___1; + FStar_Syntax_Syntax.l_bind = uu___2; + FStar_Syntax_Syntax.l_subcomp = uu___3; + FStar_Syntax_Syntax.l_if_then_else = uu___4; + FStar_Syntax_Syntax.l_close = FStar_Pervasives_Native.None;_} + -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Layered_eff + { FStar_Syntax_Syntax.l_repr = uu___; + FStar_Syntax_Syntax.l_return = uu___1; + FStar_Syntax_Syntax.l_bind = uu___2; + FStar_Syntax_Syntax.l_subcomp = uu___3; + FStar_Syntax_Syntax.l_if_then_else = uu___4; + FStar_Syntax_Syntax.l_close = FStar_Pervasives_Native.Some + (ts, uu___5);_} + -> FStar_Pervasives_Native.Some ts + | uu___ -> FStar_Pervasives_Native.None let (get_wp_close_combinator : FStar_Syntax_Syntax.eff_decl -> FStar_Syntax_Syntax.tscheme FStar_Pervasives_Native.option) @@ -5298,4 +5342,10 @@ let (is_binder_strictly_positive : FStar_Syntax_Syntax.binder -> Prims.bool) let (is_binder_unused : FStar_Syntax_Syntax.binder -> Prims.bool) = fun b -> b.FStar_Syntax_Syntax.binder_positivity = - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.BinderUnused) \ No newline at end of file + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.BinderUnused) +let (deduplicate_terms : + FStar_Syntax_Syntax.term Prims.list -> FStar_Syntax_Syntax.term Prims.list) + = + fun l -> + FStar_Compiler_List.deduplicate + (fun x -> fun y -> let uu___ = eq_tm x y in uu___ = Equal) l \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Syntax_Visit.ml b/ocaml/fstar-lib/generated/FStar_Syntax_Visit.ml index aa1d97983ff..745d7b191b1 100644 --- a/ocaml/fstar-lib/generated/FStar_Syntax_Visit.ml +++ b/ocaml/fstar-lib/generated/FStar_Syntax_Visit.ml @@ -558,12 +558,16 @@ let (on_sub_layered_eff_combinators : let uu___4 = on_tuple3 f_tscheme1 f_tscheme1 id lecs.FStar_Syntax_Syntax.l_if_then_else in + let uu___5 = + FStar_Compiler_Util.map_option (on_tuple2 f_tscheme1 f_tscheme1) + lecs.FStar_Syntax_Syntax.l_close in { FStar_Syntax_Syntax.l_repr = uu___; FStar_Syntax_Syntax.l_return = uu___1; FStar_Syntax_Syntax.l_bind = uu___2; FStar_Syntax_Syntax.l_subcomp = uu___3; - FStar_Syntax_Syntax.l_if_then_else = uu___4 + FStar_Syntax_Syntax.l_if_then_else = uu___4; + FStar_Syntax_Syntax.l_close = uu___5 } let (on_sub_combinators : vfs_t -> diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml index 1b811499062..dd8b338cc68 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml @@ -3,24 +3,34 @@ let (is_arith_goal : unit -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" (Prims.of_int (24)) - (Prims.of_int (12)) (Prims.of_int (24)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" (Prims.of_int (25)) - (Prims.of_int (4)) (Prims.of_int (27)) (Prims.of_int (16))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (24)) (Prims.of_int (12)) (Prims.of_int (24)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (25)) (Prims.of_int (4)) (Prims.of_int (27)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (25)) (Prims.of_int (10)) - (Prims.of_int (25)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (25)) (Prims.of_int (4)) - (Prims.of_int (27)) (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (25)) (Prims.of_int (10)) + (Prims.of_int (25)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (25)) (Prims.of_int (4)) + (Prims.of_int (27)) (Prims.of_int (16))))) (Obj.magic - (FStar_Reflection_Arith.run_tm - (FStar_Reflection_Arith.is_arith_prop g))) + (FStar_Reflection_V2_Arith.run_tm + (FStar_Reflection_V2_Arith.is_arith_prop g))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -30,130 +40,171 @@ let (is_arith_goal : let rec (split_arith : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" (Prims.of_int (31)) - (Prims.of_int (7)) (Prims.of_int (31)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" (Prims.of_int (31)) - (Prims.of_int (4)) (Prims.of_int (52)) (Prims.of_int (7))) - (Obj.magic (is_arith_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (31)) (Prims.of_int (7)) (Prims.of_int (31)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (31)) (Prims.of_int (4)) (Prims.of_int (52)) + (Prims.of_int (7))))) (Obj.magic (is_arith_goal ())) (fun uu___1 -> (fun uu___1 -> if uu___1 then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (33)) (Prims.of_int (8)) - (Prims.of_int (33)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (34)) (Prims.of_int (8)) - (Prims.of_int (35)) (Prims.of_int (14))) - (Obj.magic (FStar_Tactics_Builtins.prune "")) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (33)) (Prims.of_int (8)) + (Prims.of_int (33)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (34)) (Prims.of_int (8)) + (Prims.of_int (35)) (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V2_Builtins.prune "")) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (34)) (Prims.of_int (8)) - (Prims.of_int (34)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (35)) (Prims.of_int (8)) - (Prims.of_int (35)) (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (34)) (Prims.of_int (8)) + (Prims.of_int (34)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (35)) (Prims.of_int (8)) + (Prims.of_int (35)) + (Prims.of_int (14))))) (Obj.magic - (FStar_Tactics_Builtins.addns "Prims")) + (FStar_Tactics_V2_Builtins.addns "Prims")) (fun uu___3 -> (fun uu___3 -> - Obj.magic (FStar_Tactics_Derived.smt ())) + Obj.magic + (FStar_Tactics_V2_Derived.smt ())) uu___3))) uu___2)) else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (38)) (Prims.of_int (16)) - (Prims.of_int (38)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (39)) (Prims.of_int (8)) - (Prims.of_int (51)) (Prims.of_int (14))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (38)) (Prims.of_int (16)) + (Prims.of_int (38)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Arith.fst" + (Prims.of_int (39)) (Prims.of_int (8)) + (Prims.of_int (51)) (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___3 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (39)) (Prims.of_int (14)) - (Prims.of_int (39)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Arith.fst" - (Prims.of_int (39)) (Prims.of_int (8)) - (Prims.of_int (51)) (Prims.of_int (14))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (39)) + (Prims.of_int (14)) + (Prims.of_int (39)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (39)) (Prims.of_int (8)) + (Prims.of_int (51)) + (Prims.of_int (14))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula g)) + (FStar_Reflection_V2_Formula.term_as_formula + g)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Formula.True_ -> + | FStar_Reflection_V2_Formula.True_ -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.trivial + (FStar_Tactics_V2_Derived.trivial ())) - | FStar_Reflection_Formula.And (l, r) -> + | FStar_Reflection_V2_Formula.And + (l, r) -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.seq - FStar_Tactics_Logic.split + (FStar_Tactics_V2_Derived.seq + FStar_Tactics_V1_Logic.split split_arith)) - | FStar_Reflection_Formula.Implies + | FStar_Reflection_V2_Formula.Implies (p, q) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Arith.fst" - (Prims.of_int (45)) - (Prims.of_int (20)) - (Prims.of_int (45)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.Arith.fst" - (Prims.of_int (46)) - (Prims.of_int (12)) - (Prims.of_int (46)) - (Prims.of_int (36))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (45)) + (Prims.of_int (20)) + (Prims.of_int (45)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (46)) + (Prims.of_int (12)) + (Prims.of_int (46)) + (Prims.of_int (36))))) (Obj.magic - (FStar_Tactics_Logic.implies_intro + (FStar_Tactics_V2_Logic.implies_intro ())) (fun uu___4 -> (fun uu___4 -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq split_arith - FStar_Tactics_Logic.l_revert)) + FStar_Tactics_V2_Logic.l_revert)) uu___4))) - | FStar_Reflection_Formula.Forall + | FStar_Reflection_V2_Formula.Forall (_x, _sort, _p) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Arith.fst" - (Prims.of_int (48)) - (Prims.of_int (21)) - (Prims.of_int (48)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.Arith.fst" - (Prims.of_int (49)) - (Prims.of_int (12)) - (Prims.of_int (49)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (48)) + (Prims.of_int (21)) + (Prims.of_int (48)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Arith.fst" + (Prims.of_int (49)) + (Prims.of_int (12)) + (Prims.of_int (49)) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Logic.forall_intros + (FStar_Tactics_V2_Logic.forall_intros ())) (fun uu___4 -> (fun bs -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq split_arith (fun uu___4 -> - FStar_Tactics_Logic.l_revert_all + FStar_Tactics_V2_Logic.l_revert_all bs))) uu___4))) | uu___4 -> Obj.magic diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_BV.ml b/ocaml/fstar-lib/generated/FStar_Tactics_BV.ml index 141c7d24215..62c73791490 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_BV.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_BV.ml @@ -1,819 +1,1145 @@ open Prims let rec (arith_expr_to_bv : - FStar_Reflection_Arith.expr -> (unit, unit) FStar_Tactics_Effect.tac_repr) + FStar_Reflection_V2_Arith.expr -> + (unit, unit) FStar_Tactics_Effect.tac_repr) = fun e -> match e with - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.MulMod + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.MulMod (e1, uu___)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (113)) - (Prims.of_int (8)) (Prims.of_int (113)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (114)) - (Prims.of_int (8)) (Prims.of_int (115)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (113)) (Prims.of_int (8)) + (Prims.of_int (113)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (114)) (Prims.of_int (8)) + (Prims.of_int (115)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_mul"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (114)) (Prims.of_int (8)) - (Prims.of_int (114)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (115)) (Prims.of_int (8)) - (Prims.of_int (115)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (114)) (Prims.of_int (8)) + (Prims.of_int (114)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (115)) (Prims.of_int (8)) + (Prims.of_int (115)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvmul"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.MulMod (e1, uu___) -> + | FStar_Reflection_V2_Arith.MulMod (e1, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (113)) - (Prims.of_int (8)) (Prims.of_int (113)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (114)) - (Prims.of_int (8)) (Prims.of_int (115)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (113)) (Prims.of_int (8)) + (Prims.of_int (113)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (114)) (Prims.of_int (8)) + (Prims.of_int (115)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_mul"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (114)) (Prims.of_int (8)) - (Prims.of_int (114)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (115)) (Prims.of_int (8)) - (Prims.of_int (115)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (114)) (Prims.of_int (8)) + (Prims.of_int (114)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (115)) (Prims.of_int (8)) + (Prims.of_int (115)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvmul"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Umod + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Umod (e1, uu___)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (117)) - (Prims.of_int (8)) (Prims.of_int (117)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (118)) - (Prims.of_int (8)) (Prims.of_int (119)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (117)) (Prims.of_int (8)) + (Prims.of_int (117)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (118)) (Prims.of_int (8)) + (Prims.of_int (119)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_mod"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (118)) (Prims.of_int (8)) - (Prims.of_int (118)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (119)) (Prims.of_int (8)) - (Prims.of_int (119)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (118)) (Prims.of_int (8)) + (Prims.of_int (118)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (119)) (Prims.of_int (8)) + (Prims.of_int (119)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvmod"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.Umod (e1, uu___) -> + | FStar_Reflection_V2_Arith.Umod (e1, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (117)) - (Prims.of_int (8)) (Prims.of_int (117)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (118)) - (Prims.of_int (8)) (Prims.of_int (119)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (117)) (Prims.of_int (8)) + (Prims.of_int (117)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (118)) (Prims.of_int (8)) + (Prims.of_int (119)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_mod"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (118)) (Prims.of_int (8)) - (Prims.of_int (118)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (119)) (Prims.of_int (8)) - (Prims.of_int (119)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (118)) (Prims.of_int (8)) + (Prims.of_int (118)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (119)) (Prims.of_int (8)) + (Prims.of_int (119)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvmod"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Udiv + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Udiv (e1, uu___)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (121)) - (Prims.of_int (8)) (Prims.of_int (121)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (122)) - (Prims.of_int (8)) (Prims.of_int (123)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (121)) (Prims.of_int (8)) + (Prims.of_int (121)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (122)) (Prims.of_int (8)) + (Prims.of_int (123)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_div"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (122)) (Prims.of_int (8)) - (Prims.of_int (122)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (123)) (Prims.of_int (8)) - (Prims.of_int (123)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (122)) (Prims.of_int (8)) + (Prims.of_int (122)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (123)) (Prims.of_int (8)) + (Prims.of_int (123)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvdiv"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.Udiv (e1, uu___) -> + | FStar_Reflection_V2_Arith.Udiv (e1, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (121)) - (Prims.of_int (8)) (Prims.of_int (121)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (122)) - (Prims.of_int (8)) (Prims.of_int (123)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (121)) (Prims.of_int (8)) + (Prims.of_int (121)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (122)) (Prims.of_int (8)) + (Prims.of_int (123)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_div"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (122)) (Prims.of_int (8)) - (Prims.of_int (122)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (123)) (Prims.of_int (8)) - (Prims.of_int (123)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (122)) (Prims.of_int (8)) + (Prims.of_int (122)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (123)) (Prims.of_int (8)) + (Prims.of_int (123)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvdiv"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Shl (e1, uu___)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Shl + (e1, uu___)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (125)) - (Prims.of_int (8)) (Prims.of_int (125)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (126)) - (Prims.of_int (8)) (Prims.of_int (127)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (125)) (Prims.of_int (8)) + (Prims.of_int (125)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (126)) (Prims.of_int (8)) + (Prims.of_int (127)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_shl"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (126)) (Prims.of_int (8)) - (Prims.of_int (126)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (127)) (Prims.of_int (8)) - (Prims.of_int (127)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (126)) (Prims.of_int (8)) + (Prims.of_int (126)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (127)) (Prims.of_int (8)) + (Prims.of_int (127)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvshl"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.Shl (e1, uu___) -> + | FStar_Reflection_V2_Arith.Shl (e1, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (125)) - (Prims.of_int (8)) (Prims.of_int (125)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (126)) - (Prims.of_int (8)) (Prims.of_int (127)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (125)) (Prims.of_int (8)) + (Prims.of_int (125)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (126)) (Prims.of_int (8)) + (Prims.of_int (127)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_shl"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (126)) (Prims.of_int (8)) - (Prims.of_int (126)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (127)) (Prims.of_int (8)) - (Prims.of_int (127)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (126)) (Prims.of_int (8)) + (Prims.of_int (126)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (127)) (Prims.of_int (8)) + (Prims.of_int (127)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvshl"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Shr (e1, uu___)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Shr + (e1, uu___)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (129)) - (Prims.of_int (8)) (Prims.of_int (129)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (130)) - (Prims.of_int (8)) (Prims.of_int (131)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (129)) (Prims.of_int (8)) + (Prims.of_int (129)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (130)) (Prims.of_int (8)) + (Prims.of_int (131)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_shr"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (130)) (Prims.of_int (8)) - (Prims.of_int (130)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (131)) (Prims.of_int (8)) - (Prims.of_int (131)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (130)) (Prims.of_int (8)) + (Prims.of_int (130)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (131)) (Prims.of_int (8)) + (Prims.of_int (131)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvshr"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.Shr (e1, uu___) -> + | FStar_Reflection_V2_Arith.Shr (e1, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (129)) - (Prims.of_int (8)) (Prims.of_int (129)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (130)) - (Prims.of_int (8)) (Prims.of_int (131)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (129)) (Prims.of_int (8)) + (Prims.of_int (129)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (130)) (Prims.of_int (8)) + (Prims.of_int (131)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_shr"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (130)) (Prims.of_int (8)) - (Prims.of_int (130)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (131)) (Prims.of_int (8)) - (Prims.of_int (131)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (130)) (Prims.of_int (8)) + (Prims.of_int (130)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (131)) (Prims.of_int (8)) + (Prims.of_int (131)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvshr"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e1)) uu___2))) uu___1) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Land (e1, e2)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Land + (e1, e2)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (133)) - (Prims.of_int (8)) (Prims.of_int (133)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (134)) - (Prims.of_int (8)) (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (133)) (Prims.of_int (8)) + (Prims.of_int (133)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (134)) (Prims.of_int (8)) + (Prims.of_int (136)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logand"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (134)) (Prims.of_int (8)) - (Prims.of_int (134)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (135)) (Prims.of_int (8)) - (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (134)) (Prims.of_int (8)) + (Prims.of_int (134)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (135)) (Prims.of_int (8)) + (Prims.of_int (136)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvand"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (135)) (Prims.of_int (8)) - (Prims.of_int (135)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (136)) (Prims.of_int (8)) - (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (135)) + (Prims.of_int (8)) + (Prims.of_int (135)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (136)) + (Prims.of_int (8)) + (Prims.of_int (136)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.Land (e1, e2) -> + | FStar_Reflection_V2_Arith.Land (e1, e2) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (133)) - (Prims.of_int (8)) (Prims.of_int (133)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (134)) - (Prims.of_int (8)) (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (133)) (Prims.of_int (8)) + (Prims.of_int (133)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (134)) (Prims.of_int (8)) + (Prims.of_int (136)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logand"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (134)) (Prims.of_int (8)) - (Prims.of_int (134)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (135)) (Prims.of_int (8)) - (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (134)) (Prims.of_int (8)) + (Prims.of_int (134)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (135)) (Prims.of_int (8)) + (Prims.of_int (136)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvand"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (135)) (Prims.of_int (8)) - (Prims.of_int (135)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (136)) (Prims.of_int (8)) - (Prims.of_int (136)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (135)) + (Prims.of_int (8)) + (Prims.of_int (135)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (136)) + (Prims.of_int (8)) + (Prims.of_int (136)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Lxor (e1, e2)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Lxor + (e1, e2)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (138)) - (Prims.of_int (8)) (Prims.of_int (138)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (139)) - (Prims.of_int (8)) (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (138)) (Prims.of_int (8)) + (Prims.of_int (138)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (139)) (Prims.of_int (8)) + (Prims.of_int (141)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logxor"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (139)) (Prims.of_int (8)) - (Prims.of_int (139)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (140)) (Prims.of_int (8)) - (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (139)) (Prims.of_int (8)) + (Prims.of_int (139)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (140)) (Prims.of_int (8)) + (Prims.of_int (141)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvxor"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (140)) (Prims.of_int (8)) - (Prims.of_int (140)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (141)) (Prims.of_int (8)) - (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (140)) + (Prims.of_int (8)) + (Prims.of_int (140)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (141)) + (Prims.of_int (8)) + (Prims.of_int (141)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.Lxor (e1, e2) -> + | FStar_Reflection_V2_Arith.Lxor (e1, e2) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (138)) - (Prims.of_int (8)) (Prims.of_int (138)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (139)) - (Prims.of_int (8)) (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (138)) (Prims.of_int (8)) + (Prims.of_int (138)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (139)) (Prims.of_int (8)) + (Prims.of_int (141)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logxor"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (139)) (Prims.of_int (8)) - (Prims.of_int (139)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (140)) (Prims.of_int (8)) - (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (139)) (Prims.of_int (8)) + (Prims.of_int (139)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (140)) (Prims.of_int (8)) + (Prims.of_int (141)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvxor"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (140)) (Prims.of_int (8)) - (Prims.of_int (140)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (141)) (Prims.of_int (8)) - (Prims.of_int (141)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (140)) + (Prims.of_int (8)) + (Prims.of_int (140)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (141)) + (Prims.of_int (8)) + (Prims.of_int (141)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Lor (e1, e2)) -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Lor + (e1, e2)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (143)) - (Prims.of_int (8)) (Prims.of_int (143)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (144)) - (Prims.of_int (8)) (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (143)) (Prims.of_int (8)) + (Prims.of_int (143)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (144)) (Prims.of_int (8)) + (Prims.of_int (146)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logor"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (144)) (Prims.of_int (8)) - (Prims.of_int (144)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (145)) (Prims.of_int (8)) - (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (144)) (Prims.of_int (8)) + (Prims.of_int (144)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (145)) (Prims.of_int (8)) + (Prims.of_int (146)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvor"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (145)) (Prims.of_int (8)) - (Prims.of_int (145)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (146)) (Prims.of_int (8)) - (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (145)) + (Prims.of_int (8)) + (Prims.of_int (145)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (146)) + (Prims.of_int (8)) + (Prims.of_int (146)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.Lor (e1, e2) -> + | FStar_Reflection_V2_Arith.Lor (e1, e2) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (143)) - (Prims.of_int (8)) (Prims.of_int (143)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (144)) - (Prims.of_int (8)) (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (143)) (Prims.of_int (8)) + (Prims.of_int (143)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (144)) (Prims.of_int (8)) + (Prims.of_int (146)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_logor"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (144)) (Prims.of_int (8)) - (Prims.of_int (144)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (145)) (Prims.of_int (8)) - (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (144)) (Prims.of_int (8)) + (Prims.of_int (144)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (145)) (Prims.of_int (8)) + (Prims.of_int (146)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvor"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (145)) (Prims.of_int (8)) - (Prims.of_int (145)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (146)) (Prims.of_int (8)) - (Prims.of_int (146)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (145)) + (Prims.of_int (8)) + (Prims.of_int (145)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (146)) + (Prims.of_int (8)) + (Prims.of_int (146)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Ladd (e1, e2)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Ladd + (e1, e2)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (148)) - (Prims.of_int (8)) (Prims.of_int (148)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (149)) - (Prims.of_int (8)) (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (148)) (Prims.of_int (8)) + (Prims.of_int (148)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (149)) (Prims.of_int (8)) + (Prims.of_int (151)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_add"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (149)) (Prims.of_int (8)) - (Prims.of_int (149)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (149)) (Prims.of_int (8)) + (Prims.of_int (149)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (150)) (Prims.of_int (8)) + (Prims.of_int (151)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvadd"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (150)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (151)) (Prims.of_int (8)) - (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (150)) + (Prims.of_int (8)) + (Prims.of_int (150)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (151)) + (Prims.of_int (8)) + (Prims.of_int (151)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.Ladd (e1, e2) -> + | FStar_Reflection_V2_Arith.Ladd (e1, e2) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (148)) - (Prims.of_int (8)) (Prims.of_int (148)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (149)) - (Prims.of_int (8)) (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (148)) (Prims.of_int (8)) + (Prims.of_int (148)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (149)) (Prims.of_int (8)) + (Prims.of_int (151)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_add"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (149)) (Prims.of_int (8)) - (Prims.of_int (149)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (149)) (Prims.of_int (8)) + (Prims.of_int (149)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (150)) (Prims.of_int (8)) + (Prims.of_int (151)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvadd"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (150)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (151)) (Prims.of_int (8)) - (Prims.of_int (151)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (150)) + (Prims.of_int (8)) + (Prims.of_int (150)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (151)) + (Prims.of_int (8)) + (Prims.of_int (151)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.NatToBv (FStar_Reflection_Arith.Lsub (e1, e2)) - -> + | FStar_Reflection_V2_Arith.NatToBv (FStar_Reflection_V2_Arith.Lsub + (e1, e2)) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (153)) - (Prims.of_int (8)) (Prims.of_int (153)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (154)) - (Prims.of_int (8)) (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (153)) (Prims.of_int (8)) + (Prims.of_int (153)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (154)) (Prims.of_int (8)) + (Prims.of_int (156)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_sub"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (154)) (Prims.of_int (8)) - (Prims.of_int (154)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (155)) (Prims.of_int (8)) - (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (154)) (Prims.of_int (8)) + (Prims.of_int (154)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (155)) (Prims.of_int (8)) + (Prims.of_int (156)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvsub"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (155)) (Prims.of_int (8)) - (Prims.of_int (155)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (156)) (Prims.of_int (8)) - (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (155)) + (Prims.of_int (8)) + (Prims.of_int (155)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (156)) + (Prims.of_int (8)) + (Prims.of_int (156)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | FStar_Reflection_Arith.Lsub (e1, e2) -> + | FStar_Reflection_V2_Arith.Lsub (e1, e2) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (153)) - (Prims.of_int (8)) (Prims.of_int (153)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (154)) - (Prims.of_int (8)) (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (153)) (Prims.of_int (8)) + (Prims.of_int (153)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (154)) (Prims.of_int (8)) + (Prims.of_int (156)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "BV"; "int2bv_sub"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (154)) (Prims.of_int (8)) - (Prims.of_int (154)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (155)) (Prims.of_int (8)) - (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (154)) (Prims.of_int (8)) + (Prims.of_int (154)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (155)) (Prims.of_int (8)) + (Prims.of_int (156)) (Prims.of_int (27))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "cong_bvsub"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (155)) (Prims.of_int (8)) - (Prims.of_int (155)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (156)) (Prims.of_int (8)) - (Prims.of_int (156)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (155)) + (Prims.of_int (8)) + (Prims.of_int (155)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (156)) + (Prims.of_int (8)) + (Prims.of_int (156)) + (Prims.of_int (27))))) (Obj.magic (arith_expr_to_bv e1)) (fun uu___2 -> (fun uu___2 -> Obj.magic (arith_expr_to_bv e2)) uu___2))) uu___1))) uu___) - | uu___ -> FStar_Tactics_Derived.trefl () + | uu___ -> FStar_Tactics_V2_Derived.trefl () let (arith_to_bv_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.focus + FStar_Tactics_V2_Derived.focus (fun uu___1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (161)) - (Prims.of_int (4)) (Prims.of_int (161)) (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (161)) - (Prims.of_int (41)) (Prims.of_int (175)) (Prims.of_int (65))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (161)) (Prims.of_int (4)) + (Prims.of_int (161)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (161)) (Prims.of_int (41)) + (Prims.of_int (175)) (Prims.of_int (65))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.delta_only ["FStar.BV.bvult"]])) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (162)) (Prims.of_int (12)) - (Prims.of_int (162)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (162)) (Prims.of_int (26)) - (Prims.of_int (175)) (Prims.of_int (65))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (162)) (Prims.of_int (12)) + (Prims.of_int (162)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (162)) (Prims.of_int (26)) + (Prims.of_int (175)) (Prims.of_int (65))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___3 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (163)) (Prims.of_int (12)) - (Prims.of_int (163)) (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (164)) (Prims.of_int (4)) - (Prims.of_int (175)) (Prims.of_int (65))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (163)) + (Prims.of_int (12)) + (Prims.of_int (163)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (164)) + (Prims.of_int (4)) + (Prims.of_int (175)) + (Prims.of_int (65))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___3 -> (fun f -> match f with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___3, l, r) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (166)) - (Prims.of_int (17)) - (Prims.of_int (166)) - (Prims.of_int (41))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (166)) - (Prims.of_int (11)) - (Prims.of_int (172)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (166)) + (Prims.of_int (17)) + (Prims.of_int (166)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (166)) + (Prims.of_int (11)) + (Prims.of_int (172)) + (Prims.of_int (52))))) (Obj.magic - (FStar_Reflection_Arith.run_tm - (FStar_Reflection_Arith.as_arith_expr + (FStar_Reflection_V2_Arith.run_tm + (FStar_Reflection_V2_Arith.as_arith_expr l))) (fun uu___4 -> (fun uu___4 -> @@ -822,68 +1148,80 @@ let (arith_to_bv_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = s -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (168)) - (Prims.of_int (10)) - (Prims.of_int (168)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (169)) - (Prims.of_int (10)) - (Prims.of_int (169)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (168)) + (Prims.of_int (10)) + (Prims.of_int (168)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (169)) + (Prims.of_int (10)) + (Prims.of_int (169)) + (Prims.of_int (18))))) (Obj.magic - (FStar_Tactics_Builtins.dump + (FStar_Tactics_V2_Builtins.dump s)) (fun uu___5 -> (fun uu___5 -> Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) uu___5)) | FStar_Pervasives.Inr e -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq (fun uu___5 -> arith_expr_to_bv e) - FStar_Tactics_Derived.trefl)) + FStar_Tactics_V2_Derived.trefl)) uu___4)) | uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (175)) - (Prims.of_int (13)) - (Prims.of_int (175)) - (Prims.of_int (65))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (175)) - (Prims.of_int (8)) - (Prims.of_int (175)) - (Prims.of_int (65))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (175)) - (Prims.of_int (48)) + (Prims.of_int (13)) (Prims.of_int (175)) - (Prims.of_int (64))) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.Tactics.BV.fst" + (Prims.of_int (175)) + (Prims.of_int (8)) + (Prims.of_int (175)) + (Prims.of_int (65))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (175)) + (Prims.of_int (48)) + (Prims.of_int (175)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string g)) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -892,268 +1230,353 @@ let (arith_to_bv_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = "arith_to_bv_tac: unexpected: " uu___4)))) (fun uu___4 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail uu___4))) uu___3))) uu___3))) uu___2)) let (bv_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.focus + FStar_Tactics_V2_Derived.focus (fun uu___1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (182)) - (Prims.of_int (2)) (Prims.of_int (182)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (183)) - (Prims.of_int (2)) (Prims.of_int (188)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (182)) (Prims.of_int (2)) + (Prims.of_int (182)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (183)) (Prims.of_int (2)) + (Prims.of_int (188)) (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Derived.mapply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_MApply.mapply FStar_Tactics_MApply.termable_term + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "eq_to_bv"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (183)) (Prims.of_int (2)) - (Prims.of_int (183)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (184)) (Prims.of_int (2)) - (Prims.of_int (188)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (183)) (Prims.of_int (2)) + (Prims.of_int (183)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (184)) (Prims.of_int (2)) + (Prims.of_int (188)) (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Derived.mapply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_MApply.mapply + FStar_Tactics_MApply.termable_term + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "trans"]))))) (fun uu___3 -> (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (184)) (Prims.of_int (2)) - (Prims.of_int (184)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (185)) (Prims.of_int (2)) - (Prims.of_int (188)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (184)) + (Prims.of_int (2)) + (Prims.of_int (184)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (185)) + (Prims.of_int (2)) + (Prims.of_int (188)) + (Prims.of_int (8))))) (Obj.magic (arith_to_bv_tac ())) (fun uu___4 -> (fun uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (185)) - (Prims.of_int (2)) - (Prims.of_int (185)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (186)) - (Prims.of_int (2)) - (Prims.of_int (188)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (185)) + (Prims.of_int (2)) + (Prims.of_int (185)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (186)) + (Prims.of_int (2)) + (Prims.of_int (188)) + (Prims.of_int (8))))) (Obj.magic (arith_to_bv_tac ())) (fun uu___5 -> (fun uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (186)) - (Prims.of_int (2)) - (Prims.of_int (186)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (187)) - (Prims.of_int (2)) - (Prims.of_int (188)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (186)) + (Prims.of_int (2)) + (Prims.of_int (186)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (187)) + (Prims.of_int (2)) + (Prims.of_int (188)) + (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Builtins.set_options + (FStar_Tactics_V2_Builtins.set_options "--smtencoding.elim_box true")) (fun uu___6 -> (fun uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (187)) (Prims.of_int (2)) (Prims.of_int (187)) - (Prims.of_int (14))) - (FStar_Range.mk_range + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (188)) (Prims.of_int (2)) (Prims.of_int (188)) - (Prims.of_int (8))) + (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.delta])) (fun uu___7 -> (fun uu___7 -> Obj.magic - (FStar_Tactics_Derived.smt + (FStar_Tactics_V2_Derived.smt ())) uu___7))) uu___6))) uu___5))) uu___4))) uu___3))) uu___2)) let (bv_tac_lt : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun n -> - FStar_Tactics_Derived.focus + FStar_Tactics_V2_Derived.focus (fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (192)) - (Prims.of_int (11)) (Prims.of_int (192)) (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (192)) - (Prims.of_int (42)) (Prims.of_int (198)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (192)) (Prims.of_int (11)) + (Prims.of_int (192)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (192)) (Prims.of_int (39)) + (Prims.of_int (198)) (Prims.of_int (8))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int n)))) + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int n)))) (fun uu___1 -> (fun nn -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (193)) (Prims.of_int (10)) - (Prims.of_int (193)) (Prims.of_int (48))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (194)) (Prims.of_int (2)) - (Prims.of_int (198)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (193)) (Prims.of_int (10)) + (Prims.of_int (193)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (194)) (Prims.of_int (2)) + (Prims.of_int (198)) (Prims.of_int (8))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "trans_lt2"]))) - [(nn, FStar_Reflection_Data.Q_Implicit)])) + [(nn, FStar_Reflection_V2_Data.Q_Implicit)])) (fun uu___1 -> (fun t -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (194)) (Prims.of_int (2)) - (Prims.of_int (194)) (Prims.of_int (15))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (195)) (Prims.of_int (2)) - (Prims.of_int (198)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (194)) + (Prims.of_int (2)) + (Prims.of_int (194)) + (Prims.of_int (15))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (195)) + (Prims.of_int (2)) + (Prims.of_int (198)) + (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma t)) + (FStar_Tactics_V2_Derived.apply_lemma t)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (195)) - (Prims.of_int (2)) - (Prims.of_int (195)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (196)) - (Prims.of_int (2)) - (Prims.of_int (198)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (195)) + (Prims.of_int (2)) + (Prims.of_int (195)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (196)) + (Prims.of_int (2)) + (Prims.of_int (198)) + (Prims.of_int (8))))) (Obj.magic (arith_to_bv_tac ())) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (196)) - (Prims.of_int (2)) - (Prims.of_int (196)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.BV.fst" - (Prims.of_int (197)) - (Prims.of_int (2)) - (Prims.of_int (198)) - (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (196)) + (Prims.of_int (2)) + (Prims.of_int (196)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (197)) + (Prims.of_int (2)) + (Prims.of_int (198)) + (Prims.of_int (8))))) (Obj.magic (arith_to_bv_tac ())) (fun uu___3 -> (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (197)) (Prims.of_int (2)) (Prims.of_int (197)) - (Prims.of_int (43))) - (FStar_Range.mk_range + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (198)) (Prims.of_int (2)) (Prims.of_int (198)) - (Prims.of_int (8))) + (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Builtins.set_options + (FStar_Tactics_V2_Builtins.set_options "--smtencoding.elim_box true")) (fun uu___4 -> (fun uu___4 -> Obj.magic - (FStar_Tactics_Derived.smt + (FStar_Tactics_V2_Derived.smt ())) uu___4))) uu___3))) uu___2))) uu___1))) uu___1))) uu___1)) let (to_bv_tac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.focus + FStar_Tactics_V2_Derived.focus (fun uu___1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (202)) - (Prims.of_int (2)) (Prims.of_int (202)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" (Prims.of_int (203)) - (Prims.of_int (2)) (Prims.of_int (205)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (202)) (Prims.of_int (2)) + (Prims.of_int (202)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (203)) (Prims.of_int (2)) + (Prims.of_int (205)) (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "eq_to_bv"]))))) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (203)) (Prims.of_int (2)) - (Prims.of_int (203)) (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (204)) (Prims.of_int (2)) - (Prims.of_int (205)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (203)) (Prims.of_int (2)) + (Prims.of_int (203)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.BV.fst" + (Prims.of_int (204)) (Prims.of_int (2)) + (Prims.of_int (205)) (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "BV"; "trans"]))))) (fun uu___3 -> (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (204)) (Prims.of_int (2)) - (Prims.of_int (204)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.BV.fst" - (Prims.of_int (205)) (Prims.of_int (2)) - (Prims.of_int (205)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (204)) + (Prims.of_int (2)) + (Prims.of_int (204)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.BV.fst" + (Prims.of_int (205)) + (Prims.of_int (2)) + (Prims.of_int (205)) + (Prims.of_int (20))))) (Obj.magic (arith_to_bv_tac ())) (fun uu___4 -> (fun uu___4 -> diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Builtins.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Builtins.ml new file mode 100644 index 00000000000..e8306abedb2 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Builtins.ml @@ -0,0 +1 @@ +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml index 35e86d59c68..da475b878d3 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml @@ -5,124 +5,172 @@ let (step : = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (126)) - (Prims.of_int (4)) (Prims.of_int (126)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (127)) - (Prims.of_int (4)) (Prims.of_int (127)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (126)) (Prims.of_int (4)) (Prims.of_int (126)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (127)) (Prims.of_int (4)) (Prims.of_int (127)) + (Prims.of_int (8))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "trans"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (t ())) uu___) let (step_lemma : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun lem -> step (fun uu___ -> FStar_Tactics_Derived.apply_lemma lem) + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun lem -> step (fun uu___ -> FStar_Tactics_V2_Derived.apply_lemma lem) let rec (canon_point : - FStar_Reflection_Arith.expr -> - (FStar_Reflection_Arith.expr, unit) FStar_Tactics_Effect.tac_repr) + FStar_Reflection_V2_Arith.expr -> + (FStar_Reflection_V2_Arith.expr, unit) FStar_Tactics_Effect.tac_repr) = fun e -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (136)) - (Prims.of_int (8)) (Prims.of_int (136)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (138)) - (Prims.of_int (4)) (Prims.of_int (250)) (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (136)) (Prims.of_int (8)) (Prims.of_int (136)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (138)) (Prims.of_int (4)) (Prims.of_int (250)) + (Prims.of_int (15))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun uu___1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (136)) (Prims.of_int (8)) - (Prims.of_int (136)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (134)) (Prims.of_int (28)) - (Prims.of_int (134)) (Prims.of_int (29))) - (Obj.magic (FStar_Tactics_Derived.trefl ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (136)) (Prims.of_int (8)) + (Prims.of_int (136)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (134)) (Prims.of_int (28)) + (Prims.of_int (134)) (Prims.of_int (29))))) + (Obj.magic (FStar_Tactics_V2_Derived.trefl ())) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> e)))) (fun uu___ -> (fun skip -> match e with - | FStar_Reflection_Arith.Plus - (FStar_Reflection_Arith.Lit a, FStar_Reflection_Arith.Lit b) + | FStar_Reflection_V2_Arith.Plus + (FStar_Reflection_V2_Arith.Lit a, + FStar_Reflection_V2_Arith.Lit b) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (141)) (Prims.of_int (8)) - (Prims.of_int (141)) (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (142)) (Prims.of_int (8)) - (Prims.of_int (143)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (141)) (Prims.of_int (8)) + (Prims.of_int (141)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (142)) (Prims.of_int (8)) + (Prims.of_int (143)) (Prims.of_int (19))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.primops])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (142)) (Prims.of_int (8)) - (Prims.of_int (142)) (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (143)) (Prims.of_int (8)) - (Prims.of_int (143)) (Prims.of_int (19))) - (Obj.magic (FStar_Tactics_Derived.trefl ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (142)) + (Prims.of_int (8)) + (Prims.of_int (142)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (143)) + (Prims.of_int (8)) + (Prims.of_int (143)) + (Prims.of_int (19))))) + (Obj.magic + (FStar_Tactics_V2_Derived.trefl ())) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Arith.Lit (a + b))))) + FStar_Reflection_V2_Arith.Lit (a + b))))) uu___)) - | FStar_Reflection_Arith.Mult - (FStar_Reflection_Arith.Lit a, FStar_Reflection_Arith.Lit b) + | FStar_Reflection_V2_Arith.Mult + (FStar_Reflection_V2_Arith.Lit a, + FStar_Reflection_V2_Arith.Lit b) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (146)) (Prims.of_int (8)) - (Prims.of_int (146)) (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (147)) (Prims.of_int (8)) - (Prims.of_int (148)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (146)) (Prims.of_int (8)) + (Prims.of_int (146)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (147)) (Prims.of_int (8)) + (Prims.of_int (148)) (Prims.of_int (19))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.delta; FStar_Pervasives.primops])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (147)) (Prims.of_int (8)) - (Prims.of_int (147)) (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (148)) (Prims.of_int (8)) - (Prims.of_int (148)) (Prims.of_int (19))) - (Obj.magic (FStar_Tactics_Derived.trefl ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (147)) + (Prims.of_int (8)) + (Prims.of_int (147)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (148)) + (Prims.of_int (8)) + (Prims.of_int (148)) + (Prims.of_int (19))))) + (Obj.magic + (FStar_Tactics_V2_Derived.trefl ())) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Arith.Lit (a * b))))) + FStar_Reflection_V2_Arith.Lit (a * b))))) uu___)) - | FStar_Reflection_Arith.Neg e1 -> + | FStar_Reflection_V2_Arith.Neg e1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (152)) (Prims.of_int (8)) - (Prims.of_int (152)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (153)) (Prims.of_int (8)) - (Prims.of_int (153)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (152)) (Prims.of_int (8)) + (Prims.of_int (152)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (153)) (Prims.of_int (8)) + (Prims.of_int (153)) (Prims.of_int (39))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -131,42 +179,54 @@ let rec (canon_point : (fun uu___ -> Obj.magic (canon_point - (FStar_Reflection_Arith.Mult - ((FStar_Reflection_Arith.Lit + (FStar_Reflection_V2_Arith.Mult + ((FStar_Reflection_V2_Arith.Lit (Prims.of_int (-1))), e1)))) uu___)) - | FStar_Reflection_Arith.Mult - (a, FStar_Reflection_Arith.Plus (b, c)) -> + | FStar_Reflection_V2_Arith.Mult + (a, FStar_Reflection_V2_Arith.Plus (b, c)) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (157)) (Prims.of_int (8)) - (Prims.of_int (157)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (158)) (Prims.of_int (8)) - (Prims.of_int (161)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (157)) (Prims.of_int (8)) + (Prims.of_int (157)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (158)) (Prims.of_int (8)) + (Prims.of_int (161)) (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "distr"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (158)) (Prims.of_int (8)) - (Prims.of_int (158)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (158)) (Prims.of_int (32)) - (Prims.of_int (161)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (158)) + (Prims.of_int (8)) + (Prims.of_int (158)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (158)) + (Prims.of_int (32)) + (Prims.of_int (161)) + (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -175,83 +235,103 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (159)) - (Prims.of_int (16)) - (Prims.of_int (159)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (159)) - (Prims.of_int (41)) - (Prims.of_int (161)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (159)) + (Prims.of_int (16)) + (Prims.of_int (159)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (159)) + (Prims.of_int (41)) + (Prims.of_int (161)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, b)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (160)) - (Prims.of_int (16)) - (Prims.of_int (160)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (161)) - (Prims.of_int (8)) - (Prims.of_int (161)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (160)) + (Prims.of_int (16)) + (Prims.of_int (160)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (161)) + (Prims.of_int (8)) + (Prims.of_int (161)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, c)))) (fun uu___2 -> (fun r -> Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (l, r)))) uu___2))) uu___2))) uu___1))) uu___)) - | FStar_Reflection_Arith.Mult - (FStar_Reflection_Arith.Plus (a, b), c) -> + | FStar_Reflection_V2_Arith.Mult + (FStar_Reflection_V2_Arith.Plus (a, b), c) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (164)) (Prims.of_int (8)) - (Prims.of_int (164)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (165)) (Prims.of_int (8)) - (Prims.of_int (168)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (164)) (Prims.of_int (8)) + (Prims.of_int (164)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (165)) (Prims.of_int (8)) + (Prims.of_int (168)) (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "distl"]))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (165)) (Prims.of_int (8)) - (Prims.of_int (165)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (165)) (Prims.of_int (32)) - (Prims.of_int (168)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (165)) + (Prims.of_int (8)) + (Prims.of_int (165)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (165)) + (Prims.of_int (32)) + (Prims.of_int (168)) + (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -260,65 +340,77 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (166)) - (Prims.of_int (16)) - (Prims.of_int (166)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (166)) - (Prims.of_int (41)) - (Prims.of_int (168)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (166)) + (Prims.of_int (16)) + (Prims.of_int (166)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (166)) + (Prims.of_int (41)) + (Prims.of_int (168)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, c)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (167)) - (Prims.of_int (16)) - (Prims.of_int (167)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (168)) - (Prims.of_int (8)) - (Prims.of_int (168)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (167)) + (Prims.of_int (16)) + (Prims.of_int (167)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (168)) + (Prims.of_int (8)) + (Prims.of_int (168)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (b, c)))) (fun uu___2 -> (fun r -> Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (l, r)))) uu___2))) uu___2))) uu___1))) uu___)) - | FStar_Reflection_Arith.Mult - (a, FStar_Reflection_Arith.Mult (b, c)) -> + | FStar_Reflection_V2_Arith.Mult + (a, FStar_Reflection_V2_Arith.Mult (b, c)) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (172)) (Prims.of_int (8)) - (Prims.of_int (172)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (176)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (172)) (Prims.of_int (8)) + (Prims.of_int (172)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (173)) (Prims.of_int (8)) + (Prims.of_int (176)) (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -327,19 +419,27 @@ let rec (canon_point : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (173)) (Prims.of_int (8)) - (Prims.of_int (173)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (173)) (Prims.of_int (32)) - (Prims.of_int (176)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (173)) + (Prims.of_int (8)) + (Prims.of_int (173)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (173)) + (Prims.of_int (32)) + (Prims.of_int (176)) + (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -348,63 +448,75 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (174)) - (Prims.of_int (16)) - (Prims.of_int (174)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (174)) - (Prims.of_int (41)) - (Prims.of_int (176)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (174)) + (Prims.of_int (16)) + (Prims.of_int (174)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (174)) + (Prims.of_int (41)) + (Prims.of_int (176)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, b)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (175)) - (Prims.of_int (16)) - (Prims.of_int (175)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (176)) - (Prims.of_int (8)) - (Prims.of_int (176)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (175)) + (Prims.of_int (16)) + (Prims.of_int (175)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (176)) + (Prims.of_int (8)) + (Prims.of_int (176)) + (Prims.of_int (30))))) (Obj.magic (canon_point c)) (fun uu___2 -> (fun r -> Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (l, r)))) uu___2))) uu___2))) uu___1))) uu___)) - | FStar_Reflection_Arith.Plus - (a, FStar_Reflection_Arith.Plus (b, c)) -> + | FStar_Reflection_V2_Arith.Plus + (a, FStar_Reflection_V2_Arith.Plus (b, c)) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (179)) (Prims.of_int (8)) - (Prims.of_int (179)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (180)) (Prims.of_int (8)) - (Prims.of_int (183)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (179)) (Prims.of_int (8)) + (Prims.of_int (179)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (180)) (Prims.of_int (8)) + (Prims.of_int (183)) (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -413,19 +525,27 @@ let rec (canon_point : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (180)) (Prims.of_int (8)) - (Prims.of_int (180)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (180)) (Prims.of_int (32)) - (Prims.of_int (183)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (180)) + (Prims.of_int (8)) + (Prims.of_int (180)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (180)) + (Prims.of_int (32)) + (Prims.of_int (183)) + (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -434,65 +554,78 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (181)) - (Prims.of_int (16)) - (Prims.of_int (181)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (181)) - (Prims.of_int (41)) - (Prims.of_int (183)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (181)) + (Prims.of_int (16)) + (Prims.of_int (181)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (181)) + (Prims.of_int (41)) + (Prims.of_int (183)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (a, b)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (182)) - (Prims.of_int (16)) - (Prims.of_int (182)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (183)) - (Prims.of_int (8)) - (Prims.of_int (183)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (182)) + (Prims.of_int (16)) + (Prims.of_int (182)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (183)) + (Prims.of_int (8)) + (Prims.of_int (183)) + (Prims.of_int (30))))) (Obj.magic (canon_point c)) (fun uu___2 -> (fun r -> Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (l, r)))) uu___2))) uu___2))) uu___1))) uu___)) - | FStar_Reflection_Arith.Plus - (FStar_Reflection_Arith.Plus (a, b), c) -> - if FStar_Order.gt (FStar_Reflection_Arith.compare_expr b c) + | FStar_Reflection_V2_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (a, b), c) -> + if + FStar_Order.gt (FStar_Reflection_V2_Arith.compare_expr b c) then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (188)) (Prims.of_int (12)) - (Prims.of_int (188)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (189)) (Prims.of_int (12)) - (Prims.of_int (192)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (188)) (Prims.of_int (12)) + (Prims.of_int (188)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (189)) (Prims.of_int (12)) + (Prims.of_int (192)) (Prims.of_int (20))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -501,19 +634,27 @@ let rec (canon_point : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (189)) (Prims.of_int (12)) - (Prims.of_int (189)) (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (189)) (Prims.of_int (37)) - (Prims.of_int (192)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (189)) + (Prims.of_int (12)) + (Prims.of_int (189)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (189)) + (Prims.of_int (37)) + (Prims.of_int (192)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -522,65 +663,78 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (190)) - (Prims.of_int (20)) - (Prims.of_int (190)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (191)) - (Prims.of_int (12)) - (Prims.of_int (192)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (190)) + (Prims.of_int (20)) + (Prims.of_int (190)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (191)) + (Prims.of_int (12)) + (Prims.of_int (192)) + (Prims.of_int (20))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (a, c)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (191)) - (Prims.of_int (12)) - (Prims.of_int (191)) - (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (192)) - (Prims.of_int (12)) - (Prims.of_int (192)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (191)) + (Prims.of_int (12)) + (Prims.of_int (191)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (192)) + (Prims.of_int (12)) + (Prims.of_int (192)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Arith.Plus + FStar_Reflection_V2_Arith.Plus (l, b))))) uu___2))) uu___1))) uu___)) else Obj.magic (skip ()) - | FStar_Reflection_Arith.Mult - (FStar_Reflection_Arith.Mult (a, b), c) -> - if FStar_Order.gt (FStar_Reflection_Arith.compare_expr b c) + | FStar_Reflection_V2_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, b), c) -> + if + FStar_Order.gt (FStar_Reflection_V2_Arith.compare_expr b c) then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (199)) (Prims.of_int (12)) - (Prims.of_int (199)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (200)) (Prims.of_int (12)) - (Prims.of_int (203)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (199)) (Prims.of_int (12)) + (Prims.of_int (199)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (200)) (Prims.of_int (12)) + (Prims.of_int (203)) (Prims.of_int (20))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -589,19 +743,27 @@ let rec (canon_point : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (200)) (Prims.of_int (12)) - (Prims.of_int (200)) (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (200)) (Prims.of_int (37)) - (Prims.of_int (203)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (200)) + (Prims.of_int (12)) + (Prims.of_int (200)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (200)) + (Prims.of_int (37)) + (Prims.of_int (203)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -610,132 +772,158 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (201)) - (Prims.of_int (20)) - (Prims.of_int (201)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (202)) - (Prims.of_int (12)) - (Prims.of_int (203)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (201)) + (Prims.of_int (20)) + (Prims.of_int (201)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (202)) + (Prims.of_int (12)) + (Prims.of_int (203)) + (Prims.of_int (20))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Mult + (FStar_Reflection_V2_Arith.Mult (a, c)))) (fun uu___2 -> (fun l -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (202)) - (Prims.of_int (12)) - (Prims.of_int (202)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (203)) - (Prims.of_int (12)) - (Prims.of_int (203)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (202)) + (Prims.of_int (12)) + (Prims.of_int (202)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (203)) + (Prims.of_int (12)) + (Prims.of_int (203)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Arith.Mult + FStar_Reflection_V2_Arith.Mult (l, b))))) uu___2))) uu___1))) uu___)) else Obj.magic (skip ()) - | FStar_Reflection_Arith.Plus - (a, FStar_Reflection_Arith.Lit uu___) when + | FStar_Reflection_V2_Arith.Plus + (a, FStar_Reflection_V2_Arith.Lit uu___) when uu___ = Prims.int_zero -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (208)) (Prims.of_int (8)) - (Prims.of_int (208)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (207)) (Prims.of_int (11)) - (Prims.of_int (207)) (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (208)) (Prims.of_int (8)) + (Prims.of_int (208)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (207)) (Prims.of_int (11)) + (Prims.of_int (207)) (Prims.of_int (12))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "x_plus_zero"]))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> a))) - | FStar_Reflection_Arith.Plus - (FStar_Reflection_Arith.Lit uu___, b) when + | FStar_Reflection_V2_Arith.Plus + (FStar_Reflection_V2_Arith.Lit uu___, b) when uu___ = Prims.int_zero -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (212)) (Prims.of_int (8)) - (Prims.of_int (212)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (211)) (Prims.of_int (19)) - (Prims.of_int (211)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (212)) (Prims.of_int (8)) + (Prims.of_int (212)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (211)) (Prims.of_int (19)) + (Prims.of_int (211)) (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "zero_plus_x"]))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> b))) - | FStar_Reflection_Arith.Plus (a, b) -> - if FStar_Order.gt (FStar_Reflection_Arith.compare_expr a b) + | FStar_Reflection_V2_Arith.Plus (a, b) -> + if + FStar_Order.gt (FStar_Reflection_V2_Arith.compare_expr a b) then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (217)) (Prims.of_int (14)) - (Prims.of_int (217)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (217)) (Prims.of_int (40)) - (Prims.of_int (217)) (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (217)) (Prims.of_int (14)) + (Prims.of_int (217)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (217)) (Prims.of_int (40)) + (Prims.of_int (217)) (Prims.of_int (48))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "comm_plus"]))))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Reflection_Arith.Plus (b, a)))) + (fun uu___1 -> + FStar_Reflection_V2_Arith.Plus (b, a)))) else Obj.magic (skip ()) - | FStar_Reflection_Arith.Mult - (FStar_Reflection_Arith.Lit uu___, uu___1) when + | FStar_Reflection_V2_Arith.Mult + (FStar_Reflection_V2_Arith.Lit uu___, uu___1) when uu___ = Prims.int_zero -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (221)) (Prims.of_int (8)) - (Prims.of_int (221)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (222)) (Prims.of_int (8)) - (Prims.of_int (222)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (221)) (Prims.of_int (8)) + (Prims.of_int (221)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (222)) (Prims.of_int (8)) + (Prims.of_int (222)) (Prims.of_int (13))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -743,23 +931,27 @@ let rec (canon_point : (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Arith.Lit Prims.int_zero))) - | FStar_Reflection_Arith.Mult - (uu___, FStar_Reflection_Arith.Lit uu___1) when + FStar_Reflection_V2_Arith.Lit Prims.int_zero))) + | FStar_Reflection_V2_Arith.Mult + (uu___, FStar_Reflection_V2_Arith.Lit uu___1) when uu___1 = Prims.int_zero -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (225)) (Prims.of_int (8)) - (Prims.of_int (225)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (226)) (Prims.of_int (8)) - (Prims.of_int (226)) (Prims.of_int (13))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (225)) (Prims.of_int (8)) + (Prims.of_int (225)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (226)) (Prims.of_int (8)) + (Prims.of_int (226)) (Prims.of_int (13))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -767,89 +959,107 @@ let rec (canon_point : (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> - FStar_Reflection_Arith.Lit Prims.int_zero))) - | FStar_Reflection_Arith.Mult - (FStar_Reflection_Arith.Lit uu___, r) when + FStar_Reflection_V2_Arith.Lit Prims.int_zero))) + | FStar_Reflection_V2_Arith.Mult + (FStar_Reflection_V2_Arith.Lit uu___, r) when uu___ = Prims.int_one -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (229)) (Prims.of_int (8)) - (Prims.of_int (229)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (228)) (Prims.of_int (19)) - (Prims.of_int (228)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (229)) (Prims.of_int (8)) + (Prims.of_int (229)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (228)) (Prims.of_int (19)) + (Prims.of_int (228)) (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "one_mult_x"]))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> r))) - | FStar_Reflection_Arith.Mult - (l, FStar_Reflection_Arith.Lit uu___) when + | FStar_Reflection_V2_Arith.Mult + (l, FStar_Reflection_V2_Arith.Lit uu___) when uu___ = Prims.int_one -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (233)) (Prims.of_int (8)) - (Prims.of_int (233)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (232)) (Prims.of_int (11)) - (Prims.of_int (232)) (Prims.of_int (12))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (233)) (Prims.of_int (8)) + (Prims.of_int (233)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (232)) (Prims.of_int (11)) + (Prims.of_int (232)) (Prims.of_int (12))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "x_mult_one"]))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> l))) - | FStar_Reflection_Arith.Mult (a, b) -> - if FStar_Order.gt (FStar_Reflection_Arith.compare_expr a b) + | FStar_Reflection_V2_Arith.Mult (a, b) -> + if + FStar_Order.gt (FStar_Reflection_V2_Arith.compare_expr a b) then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (238)) (Prims.of_int (14)) - (Prims.of_int (238)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (238)) (Prims.of_int (40)) - (Prims.of_int (238)) (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (238)) (Prims.of_int (14)) + (Prims.of_int (238)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (238)) (Prims.of_int (40)) + (Prims.of_int (238)) (Prims.of_int (48))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; "comm_mult"]))))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Reflection_Arith.Mult (b, a)))) + (fun uu___1 -> + FStar_Reflection_V2_Arith.Mult (b, a)))) else Obj.magic (skip ()) - | FStar_Reflection_Arith.Minus (a, b) -> + | FStar_Reflection_V2_Arith.Minus (a, b) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (243)) (Prims.of_int (8)) - (Prims.of_int (243)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (244)) (Prims.of_int (8)) - (Prims.of_int (247)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (243)) (Prims.of_int (8)) + (Prims.of_int (243)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (244)) (Prims.of_int (8)) + (Prims.of_int (247)) (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -858,19 +1068,27 @@ let rec (canon_point : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (244)) (Prims.of_int (8)) - (Prims.of_int (244)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (245)) (Prims.of_int (8)) - (Prims.of_int (247)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (244)) + (Prims.of_int (8)) + (Prims.of_int (244)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (245)) + (Prims.of_int (8)) + (Prims.of_int (247)) + (Prims.of_int (30))))) (Obj.magic (step_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Canon"; @@ -879,45 +1097,54 @@ let rec (canon_point : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (245)) - (Prims.of_int (8)) - (Prims.of_int (245)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (245)) - (Prims.of_int (17)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (245)) + (Prims.of_int (8)) + (Prims.of_int (245)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (245)) + (Prims.of_int (17)) + (Prims.of_int (247)) + (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Derived.trefl ())) + (FStar_Tactics_V2_Derived.trefl + ())) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (246)) - (Prims.of_int (16)) - (Prims.of_int (246)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (247)) - (Prims.of_int (8)) - (Prims.of_int (247)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (246)) + (Prims.of_int (16)) + (Prims.of_int (246)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (247)) + (Prims.of_int (8)) + (Prims.of_int (247)) + (Prims.of_int (30))))) (Obj.magic (canon_point - (FStar_Reflection_Arith.Neg + (FStar_Reflection_V2_Arith.Neg b))) (fun uu___3 -> (fun r -> Obj.magic (canon_point - (FStar_Reflection_Arith.Plus + (FStar_Reflection_V2_Arith.Plus (a, r)))) uu___3))) uu___2))) uu___1))) uu___)) @@ -926,58 +1153,78 @@ let (canon_point_entry : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (264)) - (Prims.of_int (4)) (Prims.of_int (264)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (264)) - (Prims.of_int (12)) (Prims.of_int (273)) (Prims.of_int (48))) - (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (264)) (Prims.of_int (4)) (Prims.of_int (264)) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (264)) (Prims.of_int (12)) (Prims.of_int (273)) + (Prims.of_int (48))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (265)) (Prims.of_int (12)) - (Prims.of_int (265)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (266)) (Prims.of_int (4)) - (Prims.of_int (273)) (Prims.of_int (48))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (265)) (Prims.of_int (12)) + (Prims.of_int (265)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Canon.fst" + (Prims.of_int (266)) (Prims.of_int (4)) + (Prims.of_int (273)) (Prims.of_int (48))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___2 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (266)) (Prims.of_int (10)) - (Prims.of_int (266)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Canon.fst" - (Prims.of_int (266)) (Prims.of_int (4)) - (Prims.of_int (273)) (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (266)) (Prims.of_int (10)) + (Prims.of_int (266)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (266)) (Prims.of_int (4)) + (Prims.of_int (273)) (Prims.of_int (48))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula g)) + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___3, l, - r) + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___3, + l, r) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (268)) - (Prims.of_int (20)) - (Prims.of_int (268)) - (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (268)) - (Prims.of_int (14)) - (Prims.of_int (270)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (268)) + (Prims.of_int (20)) + (Prims.of_int (268)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (268)) + (Prims.of_int (14)) + (Prims.of_int (270)) + (Prims.of_int (27))))) (Obj.magic - (FStar_Reflection_Arith.run_tm - (FStar_Reflection_Arith.is_arith_expr + (FStar_Reflection_V2_Arith.run_tm + (FStar_Reflection_V2_Arith.is_arith_expr l))) (fun uu___4 -> (fun uu___4 -> @@ -985,18 +1232,22 @@ let (canon_point_entry : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) | FStar_Pervasives.Inr e -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (269)) - (Prims.of_int (29)) - (Prims.of_int (269)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (269)) - (Prims.of_int (46)) - (Prims.of_int (269)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (269)) + (Prims.of_int (29)) + (Prims.of_int (269)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (269)) + (Prims.of_int (46)) + (Prims.of_int (269)) + (Prims.of_int (48))))) (Obj.magic (canon_point e)) (fun _e -> @@ -1006,39 +1257,47 @@ let (canon_point_entry : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) | FStar_Pervasives.Inl uu___5 -> Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) uu___4)) | uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (273)) - (Prims.of_int (13)) - (Prims.of_int (273)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.Canon.fst" - (Prims.of_int (273)) - (Prims.of_int (8)) - (Prims.of_int (273)) - (Prims.of_int (48))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Canon.fst" (Prims.of_int (273)) - (Prims.of_int (31)) + (Prims.of_int (13)) (Prims.of_int (273)) - (Prims.of_int (47))) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.Tactics.Canon.fst" + (Prims.of_int (273)) + (Prims.of_int (8)) + (Prims.of_int (273)) + (Prims.of_int (48))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Canon.fst" + (Prims.of_int (273)) + (Prims.of_int (31)) + (Prims.of_int (273)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string g)) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -1047,8 +1306,8 @@ let (canon_point_entry : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) "impossible: " uu___4)))) (fun uu___4 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail uu___4))) uu___2))) uu___2))) uu___1) let (canon : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> FStar_Tactics_Derived.pointwise canon_point_entry \ No newline at end of file + fun uu___ -> FStar_Tactics_V2_Derived.pointwise canon_point_entry \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml index 0a93611aeee..cedf5cd79fd 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml @@ -2,17 +2,21 @@ open Prims let (dump : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (32)) (Prims.of_int (24)) (Prims.of_int (32)) - (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (32)) (Prims.of_int (21)) (Prims.of_int (32)) - (Prims.of_int (48))) - (Obj.magic (FStar_Tactics_Builtins.debugging ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (32)) (Prims.of_int (24)) (Prims.of_int (32)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (32)) (Prims.of_int (21)) (Prims.of_int (32)) + (Prims.of_int (48))))) + (Obj.magic (FStar_Tactics_V2_Builtins.debugging ())) (fun uu___ -> (fun uu___ -> if uu___ - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.dump m)) + then Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.dump m)) else Obj.magic (Obj.repr @@ -114,8 +118,8 @@ let canon : 'a 'b . ('a, 'b) vmap -> 'b permute -> exp -> var Prims.list = fun vm -> fun p -> fun e -> p () (Obj.magic vm) (flatten e) let rec (where_aux : Prims.nat -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = @@ -135,16 +139,20 @@ let rec (where_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (236)) (Prims.of_int (18)) - (Prims.of_int (236)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (236)) (Prims.of_int (15)) - (Prims.of_int (236)) (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (236)) (Prims.of_int (18)) + (Prims.of_int (236)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (236)) (Prims.of_int (15)) + (Prims.of_int (236)) (Prims.of_int (73))))) (Obj.magic - (FStar_Tactics_Builtins.term_eq_old x x')) + (FStar_Tactics_V2_Builtins.term_eq_old x x')) (fun uu___ -> (fun uu___ -> if uu___ @@ -160,25 +168,25 @@ let rec (where_aux : (where_aux (n + Prims.int_one) x xs'))) uu___)))) uu___2 uu___1 uu___ let (where : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = where_aux Prims.int_zero let rec reification_aux : 'a 'b . - (FStar_Reflection_Types.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> ('a, 'b) vmap -> - (FStar_Reflection_Types.term -> + (FStar_Tactics_NamedView.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - ((exp * FStar_Reflection_Types.term Prims.list * ('a, - 'b) vmap), + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + ((exp * FStar_Tactics_NamedView.term Prims.list * ( + 'a, 'b) vmap), unit) FStar_Tactics_Effect.tac_repr = fun unquotea -> @@ -189,47 +197,65 @@ let rec reification_aux : fun unit -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (243)) (Prims.of_int (15)) - (Prims.of_int (243)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (242)) (Prims.of_int (61)) - (Prims.of_int (260)) (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (243)) (Prims.of_int (15)) + (Prims.of_int (243)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (242)) (Prims.of_int (61)) + (Prims.of_int (260)) (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived_Lemmas.collect_app_ref t)) + FStar_Reflection_V2_Derived_Lemmas.collect_app_ref t)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, tl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (245)) (Prims.of_int (4)) - (Prims.of_int (248)) (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (250)) (Prims.of_int (2)) - (Prims.of_int (260)) (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (245)) + (Prims.of_int (4)) + (Prims.of_int (248)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (250)) + (Prims.of_int (2)) + (Prims.of_int (260)) + (Prims.of_int (21))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun t1 -> fun ts1 -> fun vm1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (245)) - (Prims.of_int (10)) - (Prims.of_int (245)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (245)) - (Prims.of_int (4)) - (Prims.of_int (248)) - (Prims.of_int (62))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (245)) + (Prims.of_int (10)) + (Prims.of_int (245)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (245)) + (Prims.of_int (4)) + (Prims.of_int (248)) + (Prims.of_int (62))))) (Obj.magic (where t1 ts1)) (fun uu___2 -> (fun uu___2 -> @@ -248,18 +274,24 @@ let rec reification_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (247)) (Prims.of_int (27)) (Prims.of_int (247)) - (Prims.of_int (36))) - (FStar_Range.mk_range + (Prims.of_int (36))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (247)) (Prims.of_int (39)) (Prims.of_int (248)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac ( fun @@ -272,18 +304,22 @@ let rec reification_aux : vfresh -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (247)) (Prims.of_int (48)) (Prims.of_int (247)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (248)) (Prims.of_int (14)) (Prims.of_int (248)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (unquotea t1)) @@ -292,32 +328,40 @@ let rec reification_aux : (fun z -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (248)) (Prims.of_int (37)) (Prims.of_int (248)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (248)) (Prims.of_int (14)) (Prims.of_int (248)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (248)) (Prims.of_int (53)) (Prims.of_int (248)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (248)) (Prims.of_int (37)) (Prims.of_int (248)) - (Prims.of_int (61))) + (Prims.of_int (61))))) (Obj.magic (f t1)) (fun @@ -347,34 +391,42 @@ let rec reification_aux : (fun fvar -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (250)) - (Prims.of_int (8)) - (Prims.of_int (250)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (250)) - (Prims.of_int (2)) - (Prims.of_int (260)) - (Prims.of_int (21))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (250)) (Prims.of_int (8)) (Prims.of_int (250)) - (Prims.of_int (18))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (250)) - (Prims.of_int (8)) - (Prims.of_int (250)) - (Prims.of_int (33))) + (Prims.of_int (2)) + (Prims.of_int (260)) + (Prims.of_int (21))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (250)) + (Prims.of_int (8)) + (Prims.of_int (250)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (250)) + (Prims.of_int (8)) + (Prims.of_int (250)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -385,73 +437,59 @@ let rec reification_aux : (fun uu___1 -> (fun uu___1 -> match uu___1 with - | (FStar_Reflection_Data.Tv_FVar + | (FStar_Tactics_NamedView.Tv_FVar fv, (t1, - FStar_Reflection_Data.Q_Explicit):: + FStar_Reflection_V2_Data.Q_Explicit):: (t2, - FStar_Reflection_Data.Q_Explicit)::[]) + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (252)) - (Prims.of_int (7)) - (Prims.of_int (252)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (252)) - (Prims.of_int (4)) - (Prims.of_int (256)) - (Prims.of_int (21))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (252)) - (Prims.of_int (19)) + (Prims.of_int (7)) (Prims.of_int (252)) - (Prims.of_int (38))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (252)) - (Prims.of_int (7)) - (Prims.of_int (252)) - (Prims.of_int (43))) - (Obj.magic + (Prims.of_int (4)) + (Prims.of_int (256)) + (Prims.of_int (21))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_eq_old + (FStar_Tactics_NamedView.pack ( - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun uu___2 - -> - (fun - uu___2 -> - Obj.magic - (FStar_Tactics_Builtins.term_eq_old - uu___2 - mult)) - uu___2))) + FStar_Tactics_NamedView.Tv_FVar + fv)) mult)) (fun uu___2 -> (fun uu___2 -> if uu___2 then Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (253)) (Prims.of_int (27)) (Prims.of_int (253)) - (Prims.of_int (72))) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (253)) (Prims.of_int (9)) (Prims.of_int (255)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (reification_aux unquotea @@ -469,18 +507,22 @@ let rec reification_aux : vm1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (254)) (Prims.of_int (27)) (Prims.of_int (254)) - (Prims.of_int (72))) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (253)) (Prims.of_int (75)) (Prims.of_int (255)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (Obj.magic (reification_aux unquotea @@ -509,20 +551,24 @@ let rec reification_aux : | (uu___2, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (258)) - (Prims.of_int (7)) - (Prims.of_int (258)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (258)) - (Prims.of_int (4)) - (Prims.of_int (260)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (258)) + (Prims.of_int (7)) + (Prims.of_int (258)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (258)) + (Prims.of_int (4)) + (Prims.of_int (260)) + (Prims.of_int (21))))) (Obj.magic - (FStar_Tactics_Builtins.term_eq_old + (FStar_Tactics_V2_Builtins.term_eq_old t unit)) (fun uu___4 -> (fun uu___4 -> @@ -544,21 +590,21 @@ let rec reification_aux : uu___1))) uu___1))) uu___) let reification : 'b . - (FStar_Reflection_Types.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> 'b -> unit -> - (FStar_Reflection_Types.term -> + (FStar_Tactics_NamedView.term -> (Obj.t, unit) FStar_Tactics_Effect.tac_repr) -> (Obj.t -> - (FStar_Reflection_Types.term, unit) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> Obj.t -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> ((exp Prims.list * (Obj.t, 'b) vmap), unit) FStar_Tactics_Effect.tac_repr = @@ -572,16 +618,20 @@ let reification : fun munit -> fun ts -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (267)) (Prims.of_int (20)) - (Prims.of_int (267)) (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (267)) (Prims.of_int (56)) - (Prims.of_int (279)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (267)) (Prims.of_int (20)) + (Prims.of_int (267)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (267)) (Prims.of_int (56)) + (Prims.of_int (279)) (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] tmult)) @@ -589,16 +639,24 @@ let reification : (fun tmult1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (268)) (Prims.of_int (20)) - (Prims.of_int (268)) (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (268)) (Prims.of_int (56)) - (Prims.of_int (279)) (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (268)) + (Prims.of_int (20)) + (Prims.of_int (268)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (268)) + (Prims.of_int (56)) + (Prims.of_int (279)) + (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] tunit)) @@ -606,21 +664,25 @@ let reification : (fun tunit1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (269)) - (Prims.of_int (13)) - (Prims.of_int (269)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (269)) - (Prims.of_int (65)) - (Prims.of_int (279)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (269)) + (Prims.of_int (13)) + (Prims.of_int (269)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (269)) + (Prims.of_int (65)) + (Prims.of_int (279)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Util.map - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota]) @@ -629,18 +691,22 @@ let reification : (fun ts1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (274)) - (Prims.of_int (4)) - (Prims.of_int (278)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (269)) - (Prims.of_int (65)) - (Prims.of_int (279)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (274)) + (Prims.of_int (4)) + (Prims.of_int (278)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (269)) + (Prims.of_int (65)) + (Prims.of_int (279)) + (Prims.of_int (30))))) (Obj.magic (FStar_Tactics_Util.fold_left (fun uu___ -> @@ -650,18 +716,22 @@ let reification : | (es, vs, vm) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (276)) (Prims.of_int (24)) (Prims.of_int (276)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (275)) (Prims.of_int (26)) (Prims.of_int (277)) - (Prims.of_int (24))) + (Prims.of_int (24))))) (Obj.magic (reification_aux unquotea @@ -695,8 +765,8 @@ let reification : es), vm))))) uu___))) uu___))) uu___) let rec (term_mem : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun uu___1 -> @@ -712,15 +782,20 @@ let rec (term_mem : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (284)) (Prims.of_int (17)) - (Prims.of_int (284)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (284)) (Prims.of_int (14)) - (Prims.of_int (284)) (Prims.of_int (62))) - (Obj.magic (FStar_Tactics_Builtins.term_eq_old hd x)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (284)) (Prims.of_int (17)) + (Prims.of_int (284)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (284)) (Prims.of_int (14)) + (Prims.of_int (284)) (Prims.of_int (62))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_eq_old hd x)) (fun uu___1 -> (fun uu___1 -> if uu___1 @@ -732,27 +807,37 @@ let rec (term_mem : else Obj.magic (Obj.repr (term_mem x tl))) uu___1)))) uu___1 uu___ let (unfold_topdown : - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun ts -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (288)) (Prims.of_int (4)) (Prims.of_int (288)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (289)) (Prims.of_int (4)) (Prims.of_int (294)) - (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (288)) (Prims.of_int (4)) (Prims.of_int (288)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (289)) (Prims.of_int (4)) (Prims.of_int (294)) + (Prims.of_int (40))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun s -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (288)) (Prims.of_int (5)) - (Prims.of_int (288)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (288)) (Prims.of_int (4)) - (Prims.of_int (288)) (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (288)) (Prims.of_int (5)) + (Prims.of_int (288)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (288)) (Prims.of_int (4)) + (Prims.of_int (288)) (Prims.of_int (22))))) (Obj.magic (term_mem s ts)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -761,44 +846,55 @@ let (unfold_topdown : (fun should_rewrite -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (291)) (Prims.of_int (4)) - (Prims.of_int (292)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (294)) (Prims.of_int (2)) - (Prims.of_int (294)) (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (291)) (Prims.of_int (4)) + (Prims.of_int (292)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (294)) (Prims.of_int (2)) + (Prims.of_int (294)) (Prims.of_int (40))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun uu___1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (291)) (Prims.of_int (4)) - (Prims.of_int (291)) (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (292)) (Prims.of_int (4)) - (Prims.of_int (292)) (Prims.of_int (11))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (291)) (Prims.of_int (4)) + (Prims.of_int (291)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (292)) (Prims.of_int (4)) + (Prims.of_int (292)) (Prims.of_int (11))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.delta])) (fun uu___2 -> (fun uu___2 -> - Obj.magic (FStar_Tactics_Derived.trefl ())) + Obj.magic + (FStar_Tactics_V2_Derived.trefl ())) uu___2))) (fun uu___ -> (fun rewrite -> Obj.magic - (FStar_Tactics_Derived.topdown_rewrite + (FStar_Tactics_V2_Derived.topdown_rewrite should_rewrite rewrite)) uu___))) uu___) let rec quote_list : 'a . - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> 'a Prims.list -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr = fun uu___2 -> fun uu___1 -> @@ -812,112 +908,146 @@ let rec quote_list : (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Nil"]))) - [(ta, FStar_Reflection_Data.Q_Implicit)]))) + [(ta, FStar_Reflection_V2_Data.Q_Implicit)]))) | x::xs' -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (300)) (Prims.of_int (29)) - (Prims.of_int (302)) (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (300)) (Prims.of_int (14)) - (Prims.of_int (302)) (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (300)) (Prims.of_int (29)) - (Prims.of_int (302)) (Prims.of_int (69))) + (Prims.of_int (302)) (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (300)) (Prims.of_int (29)) - (Prims.of_int (302)) (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (300)) (Prims.of_int (14)) + (Prims.of_int (302)) (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (301)) - (Prims.of_int (30)) - (Prims.of_int (301)) - (Prims.of_int (52))) + (Prims.of_int (300)) + (Prims.of_int (29)) + (Prims.of_int (302)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (300)) (Prims.of_int (29)) (Prims.of_int (302)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (301)) - (Prims.of_int (31)) + (Prims.of_int (30)) (Prims.of_int (301)) - (Prims.of_int (39))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (301)) - (Prims.of_int (30)) - (Prims.of_int (301)) - (Prims.of_int (52))) + (Prims.of_int (300)) + (Prims.of_int (29)) + (Prims.of_int (302)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (301)) + (Prims.of_int (31)) + (Prims.of_int (301)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (301)) + (Prims.of_int (30)) + (Prims.of_int (301)) + (Prims.of_int (52))))) (Obj.magic (quotea x)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (uu___, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (300)) - (Prims.of_int (29)) - (Prims.of_int (302)) - (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (300)) - (Prims.of_int (29)) - (Prims.of_int (302)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (300)) + (Prims.of_int (29)) (Prims.of_int (302)) - (Prims.of_int (30)) - (Prims.of_int (302)) - (Prims.of_int (68))) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (300)) (Prims.of_int (29)) (Prims.of_int (302)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (302)) - (Prims.of_int (31)) + (Prims.of_int (30)) (Prims.of_int (302)) - (Prims.of_int (55))) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (300)) + (Prims.of_int (29)) (Prims.of_int (302)) - (Prims.of_int (30)) - (Prims.of_int (302)) - (Prims.of_int (68))) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (302)) + (Prims.of_int (31)) + (Prims.of_int (302)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (302)) + (Prims.of_int (30)) + (Prims.of_int (302)) + (Prims.of_int (68))))) (Obj.magic (quote_list ta quotea @@ -927,7 +1057,7 @@ let rec quote_list : (fun uu___2 -> (uu___1, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -940,30 +1070,30 @@ let rec quote_list : FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (ta, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Cons"]))) uu___))))) uu___2 uu___1 uu___ let quote_vm : 'a 'b . - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> ('b -> - (FStar_Reflection_Types.term, unit) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> ('a, 'b) vmap -> - (FStar_Reflection_Types.term, unit) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr = fun ta -> @@ -972,76 +1102,104 @@ let quote_vm : fun quoteb -> fun vm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) (Prims.of_int (4)) (Prims.of_int (308)) - (Prims.of_int (70))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (308)) (Prims.of_int (73)) - (Prims.of_int (322)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (307)) (Prims.of_int (4)) + (Prims.of_int (308)) (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (308)) (Prims.of_int (73)) + (Prims.of_int (322)) (Prims.of_int (63))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) (Prims.of_int (23)) - (Prims.of_int (308)) (Prims.of_int (70))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) (Prims.of_int (4)) - (Prims.of_int (308)) (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (307)) (Prims.of_int (23)) - (Prims.of_int (308)) (Prims.of_int (70))) + (Prims.of_int (308)) (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) (Prims.of_int (23)) - (Prims.of_int (308)) (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (307)) (Prims.of_int (4)) + (Prims.of_int (308)) (Prims.of_int (70))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (307)) (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (307)) (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (70))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (307)) + (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (11)) - (Prims.of_int (308)) - (Prims.of_int (39))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (307)) (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (70))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (308)) - (Prims.of_int (12)) + (Prims.of_int (11)) (Prims.of_int (308)) - (Prims.of_int (26))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (307)) + (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (11)) - (Prims.of_int (308)) - (Prims.of_int (39))) + (Prims.of_int (70))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (308)) + (Prims.of_int (12)) + (Prims.of_int (308)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (308)) + (Prims.of_int (11)) + (Prims.of_int (308)) + (Prims.of_int (39))))) (Obj.magic (quotea (FStar_Pervasives_Native.fst @@ -1050,51 +1208,65 @@ let quote_vm : FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (uu___1, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) - (Prims.of_int (23)) - (Prims.of_int (308)) - (Prims.of_int (70))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (307)) - (Prims.of_int (23)) - (Prims.of_int (308)) - (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (307)) + (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (41)) - (Prims.of_int (308)) - (Prims.of_int (69))) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (307)) (Prims.of_int (23)) (Prims.of_int (308)) - (Prims.of_int (70))) + (Prims.of_int (70))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (308)) + (Prims.of_int (41)) + (Prims.of_int (308)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (307)) + (Prims.of_int (23)) + (Prims.of_int (308)) + (Prims.of_int (70))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (308)) (Prims.of_int (42)) (Prims.of_int (308)) - (Prims.of_int (56))) - (FStar_Range.mk_range + (Prims.of_int (56))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (308)) (Prims.of_int (41)) (Prims.of_int (308)) - (Prims.of_int (69))) + (Prims.of_int (69))))) (Obj.magic ( quoteb @@ -1106,7 +1278,7 @@ let quote_vm : (fun uu___3 -> (uu___2, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 @@ -1121,20 +1293,21 @@ let quote_vm : FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (tb, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - (ta, FStar_Reflection_Data.Q_Implicit) + (ta, + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; @@ -1143,20 +1316,24 @@ let quote_vm : (fun quote_pair -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (309)) (Prims.of_int (19)) - (Prims.of_int (309)) (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (309)) (Prims.of_int (48)) - (Prims.of_int (322)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (309)) (Prims.of_int (19)) + (Prims.of_int (309)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (309)) (Prims.of_int (48)) + (Prims.of_int (322)) (Prims.of_int (63))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; @@ -1165,197 +1342,184 @@ let quote_vm : (fun t_a_star_b -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (311)) - (Prims.of_int (4)) - (Prims.of_int (313)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (313)) - (Prims.of_int (42)) - (Prims.of_int (322)) - (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (311)) + (Prims.of_int (4)) + (Prims.of_int (313)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (313)) + (Prims.of_int (42)) + (Prims.of_int (322)) + (Prims.of_int (63))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (311)) - (Prims.of_int (23)) - (Prims.of_int (313)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (311)) - (Prims.of_int (4)) - (Prims.of_int (313)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) - (Prims.of_int (23)) + (Prims.of_int (4)) (Prims.of_int (313)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (312)) - (Prims.of_int (6)) - (Prims.of_int (312)) - (Prims.of_int (51))) + (Prims.of_int (311)) + (Prims.of_int (23)) + (Prims.of_int (313)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (312)) - (Prims.of_int (7)) - (Prims.of_int (312)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (312)) - (Prims.of_int (6)) - (Prims.of_int (312)) - (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int - (FStar_Pervasives_Native.fst - p))))) - (fun - uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___2 -> - (uu___1, - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___1 - -> - (fun - uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal (Obj.magic - (FStar_Tactics_Effect.tac_bind (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (313)) (Prims.of_int (6)) (Prims.of_int (313)) - (Prims.of_int (38))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (311)) (Prims.of_int (23)) (Prims.of_int (313)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (313)) (Prims.of_int (7)) (Prims.of_int (313)) - (Prims.of_int (25))) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (313)) (Prims.of_int (6)) (Prims.of_int (313)) - (Prims.of_int (38))) + (Prims.of_int (38))))) (Obj.magic (quote_pair (FStar_Pervasives_Native.snd p))) (fun - uu___2 -> + uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun - uu___3 -> - (uu___2, - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac + (uu___1, + FStar_Reflection_V2_Data.Q_Explicit))))) (fun - uu___3 -> - [uu___2])))) + uu___1 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac + [uu___1])))) + (fun uu___1 + -> + FStar_Tactics_Effect.lift_div_tac (fun - uu___3 -> - uu___1 :: - uu___2)))) - uu___1))) + uu___2 -> + ((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int + (FStar_Pervasives_Native.fst + p)))), + FStar_Reflection_V2_Data.Q_Explicit) + :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (t_a_star_b, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "nat"]))), - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; @@ -1365,31 +1529,35 @@ let quote_vm : (fun quote_map_entry -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (314)) - (Prims.of_int (16)) - (Prims.of_int (314)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (314)) - (Prims.of_int (58)) - (Prims.of_int (322)) - (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (314)) + (Prims.of_int (16)) + (Prims.of_int (314)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (314)) + (Prims.of_int (58)) + (Prims.of_int (322)) + (Prims.of_int (63))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; "tuple2"]))) - [FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + [FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "nat"])); t_a_star_b])) @@ -1397,18 +1565,22 @@ let quote_vm : (fun tyentry -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (315)) - (Prims.of_int (14)) - (Prims.of_int (315)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (315)) - (Prims.of_int (60)) - (Prims.of_int (322)) - (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (315)) + (Prims.of_int (14)) + (Prims.of_int (315)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (315)) + (Prims.of_int (60)) + (Prims.of_int (322)) + (Prims.of_int (63))))) (Obj.magic (quote_list tyentry @@ -1419,18 +1591,22 @@ let quote_vm : (fun tlist -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (317)) (Prims.of_int (14)) (Prims.of_int (317)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (321)) (Prims.of_int (2)) (Prims.of_int (322)) - (Prims.of_int (63))) + (Prims.of_int (63))))) (Obj.magic (quote_pair (FStar_Pervasives_Native.snd @@ -1440,33 +1616,34 @@ let quote_vm : FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; "Mktuple2"]))) [ - ((FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + ((FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "list"]))) [tyentry]), - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (t_a_star_b, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tlist, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tpair, - FStar_Reflection_Data.Q_Explicit)])))) + FStar_Reflection_V2_Data.Q_Explicit)])))) uu___))) uu___))) uu___))) uu___))) uu___) let rec (quote_exp : - exp -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) = + exp -> (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = fun uu___ -> (fun e -> match e with @@ -1475,99 +1652,95 @@ let rec (quote_exp : (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "Unit"]))))) | Var x -> Obj.magic (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (327)) (Prims.of_int (29)) - (Prims.of_int (327)) (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (327)) (Prims.of_int (13)) - (Prims.of_int (327)) (Prims.of_int (56))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (327)) (Prims.of_int (30)) - (Prims.of_int (327)) (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (327)) (Prims.of_int (29)) - (Prims.of_int (327)) (Prims.of_int (56))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int x)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> [uu___])))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommMonoid"; - "Var"]))) uu___)))) + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommMonoid"; + "Var"]))) + [FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int x))]))) | Mult (e1, e2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) (Prims.of_int (35)) - (Prims.of_int (328)) (Prims.of_int (63))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) (Prims.of_int (18)) - (Prims.of_int (328)) (Prims.of_int (63))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) (Prims.of_int (36)) - (Prims.of_int (328)) (Prims.of_int (48))) + (Prims.of_int (328)) (Prims.of_int (35)) + (Prims.of_int (328)) (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) (Prims.of_int (35)) - (Prims.of_int (328)) (Prims.of_int (63))) + (Prims.of_int (328)) (Prims.of_int (18)) + (Prims.of_int (328)) (Prims.of_int (63))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (328)) (Prims.of_int (36)) + (Prims.of_int (328)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (328)) (Prims.of_int (35)) + (Prims.of_int (328)) (Prims.of_int (63))))) (Obj.magic (quote_exp e1)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) - (Prims.of_int (35)) - (Prims.of_int (328)) - (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (328)) - (Prims.of_int (35)) - (Prims.of_int (328)) - (Prims.of_int (63))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (328)) - (Prims.of_int (50)) + (Prims.of_int (35)) (Prims.of_int (328)) - (Prims.of_int (62))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (328)) (Prims.of_int (35)) (Prims.of_int (328)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (328)) + (Prims.of_int (50)) + (Prims.of_int (328)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (328)) + (Prims.of_int (35)) + (Prims.of_int (328)) + (Prims.of_int (63))))) (Obj.magic (quote_exp e2)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1579,38 +1752,38 @@ let rec (quote_exp : (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "Mult"]))) uu___))))) uu___ let canon_monoid_aux : 'a 'b . - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> 'a -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('b -> - (FStar_Reflection_Types.term, unit) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> - (FStar_Reflection_Types.term -> + (FStar_Tactics_NamedView.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> 'b -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr = fun ta -> @@ -1627,78 +1800,98 @@ let canon_monoid_aux : fun tp -> fun tpc -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (335)) (Prims.of_int (2)) - (Prims.of_int (335)) (Prims.of_int (9))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (336)) (Prims.of_int (2)) - (Prims.of_int (412)) (Prims.of_int (42))) - (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (335)) + (Prims.of_int (2)) + (Prims.of_int (335)) + (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (336)) + (Prims.of_int (2)) + (Prims.of_int (412)) + (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (336)) - (Prims.of_int (8)) - (Prims.of_int (336)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (336)) - (Prims.of_int (2)) - (Prims.of_int (412)) - (Prims.of_int (42))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (336)) - (Prims.of_int (24)) + (Prims.of_int (8)) (Prims.of_int (336)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (336)) - (Prims.of_int (8)) - (Prims.of_int (336)) - (Prims.of_int (37))) + (Prims.of_int (2)) + (Prims.of_int (412)) + (Prims.of_int (42))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (336)) + (Prims.of_int (24)) + (Prims.of_int (336)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (336)) + (Prims.of_int (8)) + (Prims.of_int (336)) + (Prims.of_int (37))))) (Obj.magic - (FStar_Tactics_Derived.cur_goal + (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula uu___1)) uu___1))) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq (FStar_Pervasives_Native.Some t), t1, t2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (340)) - (Prims.of_int (9)) - (Prims.of_int (340)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (340)) - (Prims.of_int (6)) - (Prims.of_int (411)) - (Prims.of_int (69))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (340)) + (Prims.of_int (9)) + (Prims.of_int (340)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (340)) + (Prims.of_int (6)) + (Prims.of_int (411)) + (Prims.of_int (69))))) (Obj.magic - (FStar_Tactics_Builtins.term_eq_old + (FStar_Tactics_V2_Builtins.term_eq_old t ta)) (fun uu___2 -> (fun uu___2 -> @@ -1707,18 +1900,22 @@ let canon_monoid_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (341)) (Prims.of_int (14)) (Prims.of_int (341)) - (Prims.of_int (75))) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (341)) (Prims.of_int (8)) (Prims.of_int (410)) - (Prims.of_int (32))) + (Prims.of_int (32))))) (Obj.magic (reification f def () @@ -1749,18 +1946,22 @@ let canon_monoid_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (349)) (Prims.of_int (20)) (Prims.of_int (349)) - (Prims.of_int (51))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (349)) (Prims.of_int (54)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic (quote_vm ta tb @@ -1772,18 +1973,22 @@ let canon_monoid_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (350)) (Prims.of_int (20)) (Prims.of_int (350)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (350)) (Prims.of_int (35)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic (quote_exp r1)) @@ -1793,18 +1998,22 @@ let canon_monoid_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (351)) (Prims.of_int (20)) (Prims.of_int (351)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (351)) (Prims.of_int (35)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic (quote_exp r2)) @@ -1814,90 +2023,98 @@ let canon_monoid_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (352)) (Prims.of_int (25)) (Prims.of_int (357)) - (Prims.of_int (83))) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (358)) (Prims.of_int (10)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "eq2"]))) [ (ta, - FStar_Reflection_Data.Q_Implicit); - ((FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Data.Q_Implicit); + ((FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "mdenote"]))) [ (ta, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tb, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tm, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tvm, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tr1, - FStar_Reflection_Data.Q_Explicit)]), - FStar_Reflection_Data.Q_Explicit); - ((FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Data.Q_Explicit)]), + FStar_Reflection_V2_Data.Q_Explicit); + ((FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "mdenote"]))) [ (ta, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tb, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tm, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tvm, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tr2, - FStar_Reflection_Data.Q_Explicit)]), - FStar_Reflection_Data.Q_Explicit)])) + FStar_Reflection_V2_Data.Q_Explicit)]), + FStar_Reflection_V2_Data.Q_Explicit)])) (fun uu___4 -> (fun teq -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (358)) (Prims.of_int (10)) (Prims.of_int (358)) - (Prims.of_int (23))) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (366)) (Prims.of_int (10)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic - (FStar_Tactics_Derived.change_sq + (FStar_Tactics_V2_Derived.change_sq teq)) (fun uu___4 -> @@ -1905,68 +2122,77 @@ let canon_monoid_aux : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (366)) (Prims.of_int (10)) (Prims.of_int (369)) - (Prims.of_int (63))) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (371)) (Prims.of_int (10)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic - (FStar_Tactics_Derived.mapply - (FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_MApply.mapply + FStar_Tactics_MApply.termable_term + (FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "monoid_reflect"]))) [ (ta, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tb, - FStar_Reflection_Data.Q_Implicit); + FStar_Reflection_V2_Data.Q_Implicit); (tp, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (tpc, - FStar_Reflection_Data.Q_Explicit)]))) + FStar_Reflection_V2_Data.Q_Explicit)]))) (fun uu___5 -> (fun uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (371)) (Prims.of_int (10)) (Prims.of_int (371)) - (Prims.of_int (52))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (375)) (Prims.of_int (10)) (Prims.of_int (407)) - (Prims.of_int (36))) + (Prims.of_int (36))))) (Obj.magic (unfold_topdown [ - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; "canon"])); - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoid"; @@ -1977,7 +2203,7 @@ let canon_monoid_aux : (fun uu___6 -> Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [ FStar_Pervasives.delta_only ["FStar.Tactics.CanonCommMonoid.canon"; @@ -2000,7 +2226,7 @@ let canon_monoid_aux : "SL.AutoTactic.compare_b"; "SL.AutoTactic.compare_v"; "FStar.Order.int_of_order"; - "FStar.Reflection.Compare.compare_term"; + "FStar.Reflection.V2.Compare.compare_term"; "FStar.List.Tot.Base.sortWith"; "FStar.List.Tot.Base.partition"; "FStar.List.Tot.Base.bool_of_compare"; @@ -2019,24 +2245,24 @@ let canon_monoid_aux : uu___4 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Unexpected"))) uu___3))) else Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality at the right monoid type"))) uu___2))) | uu___2 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality"))) uu___1))) uu___) let canon_monoid_with : 'b . - (FStar_Reflection_Types.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> 'b -> 'b permute -> @@ -2052,12 +2278,18 @@ let canon_monoid_with : fun a -> fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (418)) (Prims.of_int (4)) - (Prims.of_int (418)) (Prims.of_int (13))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (417)) (Prims.of_int (2)) - (Prims.of_int (420)) (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (418)) (Prims.of_int (4)) + (Prims.of_int (418)) (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (417)) (Prims.of_int (2)) + (Prims.of_int (420)) (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -2069,14 +2301,18 @@ let canon_monoid_with : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (419)) (Prims.of_int (4)) - (Prims.of_int (419)) (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (417)) (Prims.of_int (2)) - (Prims.of_int (420)) (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (419)) (Prims.of_int (4)) + (Prims.of_int (419)) (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (417)) (Prims.of_int (2)) + (Prims.of_int (420)) (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (fun uu___1 -> @@ -2088,18 +2324,22 @@ let canon_monoid_with : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (419)) - (Prims.of_int (14)) - (Prims.of_int (419)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (417)) - (Prims.of_int (2)) - (Prims.of_int (420)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (419)) + (Prims.of_int (14)) + (Prims.of_int (419)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (417)) + (Prims.of_int (2)) + (Prims.of_int (420)) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (fun uu___2 -> @@ -2111,18 +2351,22 @@ let canon_monoid_with : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (419)) - (Prims.of_int (35)) - (Prims.of_int (419)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (417)) - (Prims.of_int (2)) - (Prims.of_int (420)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (419)) + (Prims.of_int (35)) + (Prims.of_int (419)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (417)) + (Prims.of_int (2)) + (Prims.of_int (420)) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> (fun uu___3 -> @@ -2134,18 +2378,22 @@ let canon_monoid_with : (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (420)) - (Prims.of_int (4)) - (Prims.of_int (420)) - (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (417)) - (Prims.of_int (2)) - (Prims.of_int (420)) - (Prims.of_int (86))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (420)) + (Prims.of_int (4)) + (Prims.of_int (420)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (417)) + (Prims.of_int (2)) + (Prims.of_int (420)) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> (fun uu___4 @@ -2159,18 +2407,22 @@ let canon_monoid_with : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (420)) (Prims.of_int (43)) (Prims.of_int (420)) - (Prims.of_int (52))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (417)) (Prims.of_int (2)) (Prims.of_int (420)) - (Prims.of_int (86))) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -2186,18 +2438,22 @@ let canon_monoid_with : uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (420)) (Prims.of_int (53)) (Prims.of_int (420)) - (Prims.of_int (86))) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" (Prims.of_int (417)) (Prims.of_int (2)) (Prims.of_int (420)) - (Prims.of_int (86))) + (Prims.of_int (86))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -2214,7 +2470,7 @@ let canon_monoid_with : Obj.magic (canon_monoid_aux uu___ - FStar_Tactics_Builtins.unquote + FStar_Tactics_V2_Builtins.unquote (fun uu___7 -> (fun x -> @@ -2268,20 +2524,25 @@ let canon_monoid : Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) uu___) () (fun a1 -> sort ()) () () (Obj.magic cm) let (is_const : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (438)) (Prims.of_int (45)) (Prims.of_int (438)) - (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" - (Prims.of_int (438)) (Prims.of_int (35)) (Prims.of_int (438)) - (Prims.of_int (56))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (438)) (Prims.of_int (45)) (Prims.of_int (438)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoid.fst" + (Prims.of_int (438)) (Prims.of_int (35)) (Prims.of_int (438)) + (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Reflection_Data.uu___is_Tv_Const uu___)) + (fun uu___1 -> FStar_Tactics_NamedView.uu___is_Tv_Const uu___)) let const_compare : 'a . ('a, Prims.bool) vmap -> var -> var -> Prims.int = fun vm -> fun x -> @@ -2303,8 +2564,8 @@ let canon_monoid_const : canon_monoid_with is_const false (fun a1 -> const_last) () () (Obj.magic cm) let (is_special : - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term Prims.list -> + FStar_Tactics_NamedView.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun ts -> fun t -> term_mem t ts let special_compare : 'a . ('a, Prims.bool) vmap -> var -> var -> Prims.int = @@ -2322,7 +2583,7 @@ let special_first : let canon_monoid_special : 'uuuuu . - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> 'uuuuu FStar_Algebra_CommMonoid.cm -> (unit, unit) FStar_Tactics_Effect.tac_repr = diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml index 3850d86de77..3e6710a5072 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml @@ -3,21 +3,25 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old let (dump : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (36)) (Prims.of_int (16)) (Prims.of_int (36)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (36)) (Prims.of_int (13)) (Prims.of_int (36)) - (Prims.of_int (40))) - (Obj.magic (FStar_Tactics_Builtins.debugging ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (36)) (Prims.of_int (16)) (Prims.of_int (36)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (36)) (Prims.of_int (13)) (Prims.of_int (36)) + (Prims.of_int (40))))) + (Obj.magic (FStar_Tactics_V2_Builtins.debugging ())) (fun uu___ -> (fun uu___ -> if uu___ - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.dump m)) + then Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.dump m)) else Obj.magic (Obj.repr @@ -102,8 +106,8 @@ let (sort : permute) = let (canon : exp -> atom Prims.list) = fun e -> sort (flatten e) let rec (where_aux : Prims.nat -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = @@ -123,14 +127,18 @@ let rec (where_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (217)) (Prims.of_int (18)) - (Prims.of_int (217)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (217)) (Prims.of_int (15)) - (Prims.of_int (217)) (Prims.of_int (69))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (217)) (Prims.of_int (18)) + (Prims.of_int (217)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (217)) (Prims.of_int (15)) + (Prims.of_int (217)) (Prims.of_int (69))))) (Obj.magic (term_eq x x')) (fun uu___ -> (fun uu___ -> @@ -147,19 +155,19 @@ let rec (where_aux : (where_aux (n + Prims.int_one) x xs'))) uu___)))) uu___2 uu___1 uu___ let (where : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = where_aux Prims.int_zero let rec reification_aux : 'a . - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> 'a amap -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - ((exp * FStar_Reflection_Types.term Prims.list * 'a amap), + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + ((exp * FStar_Tactics_NamedView.term Prims.list * 'a amap), unit) FStar_Tactics_Effect.tac_repr = fun ts -> @@ -168,47 +176,63 @@ let rec reification_aux : fun unit -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (223)) (Prims.of_int (15)) - (Prims.of_int (223)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (222)) (Prims.of_int (79)) - (Prims.of_int (240)) (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (223)) (Prims.of_int (15)) + (Prims.of_int (223)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (222)) (Prims.of_int (79)) + (Prims.of_int (240)) (Prims.of_int (22))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived_Lemmas.collect_app_ref t)) + FStar_Reflection_V2_Derived_Lemmas.collect_app_ref t)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, tl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (225)) (Prims.of_int (4)) - (Prims.of_int (228)) (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (230)) (Prims.of_int (2)) - (Prims.of_int (240)) (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (225)) (Prims.of_int (4)) + (Prims.of_int (228)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (230)) (Prims.of_int (2)) + (Prims.of_int (240)) + (Prims.of_int (22))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun t1 -> fun ts1 -> fun am1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (225)) - (Prims.of_int (10)) - (Prims.of_int (225)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (225)) - (Prims.of_int (4)) - (Prims.of_int (228)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (225)) + (Prims.of_int (10)) + (Prims.of_int (225)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (225)) + (Prims.of_int (4)) + (Prims.of_int (228)) + (Prims.of_int (57))))) (Obj.magic (where t1 ts1)) (fun uu___2 -> (fun uu___2 -> @@ -226,18 +250,22 @@ let rec reification_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (227)) - (Prims.of_int (27)) - (Prims.of_int (227)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (227)) - (Prims.of_int (39)) - (Prims.of_int (228)) - (Prims.of_int (57))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (227)) + (Prims.of_int (27)) + (Prims.of_int (227)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (227)) + (Prims.of_int (39)) + (Prims.of_int (228)) + (Prims.of_int (57))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -248,20 +276,24 @@ let rec reification_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (227)) (Prims.of_int (48)) (Prims.of_int (227)) - (Prims.of_int (57))) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (228)) (Prims.of_int (14)) (Prims.of_int (228)) - (Prims.of_int (57))) + (Prims.of_int (57))))) (Obj.magic - (FStar_Tactics_Builtins.unquote + (FStar_Tactics_V2_Builtins.unquote t1)) (fun z -> FStar_Tactics_Effect.lift_div_tac @@ -281,34 +313,42 @@ let rec reification_aux : (fun fatom -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (230)) - (Prims.of_int (8)) - (Prims.of_int (230)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (230)) - (Prims.of_int (2)) - (Prims.of_int (240)) - (Prims.of_int (22))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (230)) (Prims.of_int (8)) (Prims.of_int (230)) - (Prims.of_int (18))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (230)) - (Prims.of_int (8)) - (Prims.of_int (230)) - (Prims.of_int (33))) + (Prims.of_int (2)) + (Prims.of_int (240)) + (Prims.of_int (22))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (230)) + (Prims.of_int (8)) + (Prims.of_int (230)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (230)) + (Prims.of_int (8)) + (Prims.of_int (230)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -319,53 +359,36 @@ let rec reification_aux : (fun uu___1 -> (fun uu___1 -> match uu___1 with - | (FStar_Reflection_Data.Tv_FVar + | (FStar_Tactics_NamedView.Tv_FVar fv, (t1, - FStar_Reflection_Data.Q_Explicit):: + FStar_Reflection_V2_Data.Q_Explicit):: (t2, - FStar_Reflection_Data.Q_Explicit)::[]) + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (232)) - (Prims.of_int (7)) - (Prims.of_int (232)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (232)) - (Prims.of_int (4)) - (Prims.of_int (236)) - (Prims.of_int (22))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (232)) - (Prims.of_int (15)) + (Prims.of_int (7)) (Prims.of_int (232)) - (Prims.of_int (34))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (232)) - (Prims.of_int (7)) - (Prims.of_int (232)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun uu___2 -> - (fun uu___2 - -> - Obj.magic - (term_eq - uu___2 - mult)) - uu___2))) + (Prims.of_int (4)) + (Prims.of_int (236)) + (Prims.of_int (22))))) + (Obj.magic + (term_eq + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) mult)) (fun uu___2 -> (fun uu___2 -> if uu___2 @@ -373,19 +396,23 @@ let rec reification_aux : Obj.magic (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (233)) (Prims.of_int (27)) (Prims.of_int (233)) - (Prims.of_int (61))) + (Prims.of_int (61))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (233)) (Prims.of_int (9)) (Prims.of_int (235)) - (Prims.of_int (31))) + (Prims.of_int (31))))) ( Obj.magic (reification_aux @@ -404,18 +431,22 @@ let rec reification_aux : am1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (234)) (Prims.of_int (27)) (Prims.of_int (234)) - (Prims.of_int (61))) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (233)) (Prims.of_int (64)) (Prims.of_int (235)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (Obj.magic (reification_aux ts1 am1 @@ -443,18 +474,22 @@ let rec reification_aux : | (uu___2, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (238)) - (Prims.of_int (7)) - (Prims.of_int (238)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (238)) - (Prims.of_int (4)) - (Prims.of_int (240)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (238)) + (Prims.of_int (7)) + (Prims.of_int (238)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (238)) + (Prims.of_int (4)) + (Prims.of_int (240)) + (Prims.of_int (22))))) (Obj.magic (term_eq t unit)) (fun uu___4 -> @@ -480,10 +515,10 @@ let rec reification_aux : let reification : 'a . 'a FStar_Algebra_CommMonoid.cm -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> 'a amap -> - FStar_Reflection_Types.term -> - ((exp * FStar_Reflection_Types.term Prims.list * 'a amap), + FStar_Tactics_NamedView.term -> + ((exp * FStar_Tactics_NamedView.term Prims.list * 'a amap), unit) FStar_Tactics_Effect.tac_repr = fun m -> @@ -491,22 +526,32 @@ let reification : fun am -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (244)) (Prims.of_int (13)) (Prims.of_int (244)) - (Prims.of_int (61))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (244)) (Prims.of_int (64)) (Prims.of_int (247)) - (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (244)) (Prims.of_int (41)) - (Prims.of_int (244)) (Prims.of_int (61))) + (Prims.of_int (244)) (Prims.of_int (13)) + (Prims.of_int (244)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (244)) (Prims.of_int (13)) - (Prims.of_int (244)) (Prims.of_int (61))) + (Prims.of_int (244)) (Prims.of_int (64)) + (Prims.of_int (247)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (244)) (Prims.of_int (41)) + (Prims.of_int (244)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (244)) (Prims.of_int (13)) + (Prims.of_int (244)) (Prims.of_int (61))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -517,7 +562,7 @@ let reification : (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] uu___)) uu___))) @@ -525,24 +570,36 @@ let reification : (fun mult -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (245)) (Prims.of_int (13)) - (Prims.of_int (245)) (Prims.of_int (61))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (245)) (Prims.of_int (64)) - (Prims.of_int (247)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (245)) (Prims.of_int (41)) - (Prims.of_int (245)) (Prims.of_int (61))) + (Prims.of_int (245)) (Prims.of_int (13)) + (Prims.of_int (245)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (245)) (Prims.of_int (13)) - (Prims.of_int (245)) (Prims.of_int (61))) + (Prims.of_int (245)) (Prims.of_int (64)) + (Prims.of_int (247)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (245)) + (Prims.of_int (41)) + (Prims.of_int (245)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (245)) + (Prims.of_int (13)) + (Prims.of_int (245)) + (Prims.of_int (61))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -553,7 +610,7 @@ let reification : (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] uu___)) uu___))) @@ -561,16 +618,24 @@ let reification : (fun unit -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (246)) (Prims.of_int (13)) - (Prims.of_int (246)) (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (247)) (Prims.of_int (2)) - (Prims.of_int (247)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (246)) + (Prims.of_int (13)) + (Prims.of_int (246)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (247)) + (Prims.of_int (2)) + (Prims.of_int (247)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] t)) @@ -586,74 +651,97 @@ let canon_monoid : = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (250)) (Prims.of_int (2)) (Prims.of_int (250)) - (Prims.of_int (9))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (251)) (Prims.of_int (2)) (Prims.of_int (274)) - (Prims.of_int (42))) (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (250)) (Prims.of_int (2)) (Prims.of_int (250)) + (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (251)) (Prims.of_int (2)) (Prims.of_int (274)) + (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (251)) (Prims.of_int (8)) - (Prims.of_int (251)) (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (251)) (Prims.of_int (2)) - (Prims.of_int (274)) (Prims.of_int (42))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (251)) (Prims.of_int (24)) - (Prims.of_int (251)) (Prims.of_int (37))) + (Prims.of_int (251)) (Prims.of_int (8)) + (Prims.of_int (251)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (251)) (Prims.of_int (8)) - (Prims.of_int (251)) (Prims.of_int (37))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (Prims.of_int (251)) (Prims.of_int (2)) + (Prims.of_int (274)) (Prims.of_int (42))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (251)) (Prims.of_int (24)) + (Prims.of_int (251)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (251)) (Prims.of_int (8)) + (Prims.of_int (251)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula uu___1)) uu___1))) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq (FStar_Pervasives_Native.Some t), t1, t2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (255)) (Prims.of_int (9)) - (Prims.of_int (255)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (255)) (Prims.of_int (6)) - (Prims.of_int (273)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (255)) - (Prims.of_int (19)) + (Prims.of_int (9)) (Prims.of_int (255)) - (Prims.of_int (28))) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (255)) - (Prims.of_int (9)) - (Prims.of_int (255)) - (Prims.of_int (28))) + (Prims.of_int (6)) + (Prims.of_int (273)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (255)) + (Prims.of_int (19)) + (Prims.of_int (255)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (255)) + (Prims.of_int (9)) + (Prims.of_int (255)) + (Prims.of_int (28))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (fun uu___2 -> @@ -672,18 +760,22 @@ let canon_monoid : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (256)) - (Prims.of_int (27)) - (Prims.of_int (256)) - (Prims.of_int (67))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.fst" - (Prims.of_int (255)) - (Prims.of_int (33)) - (Prims.of_int (271)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (256)) + (Prims.of_int (27)) + (Prims.of_int (256)) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.fst" + (Prims.of_int (255)) + (Prims.of_int (33)) + (Prims.of_int (271)) + (Prims.of_int (22))))) (Obj.magic (reification m [] (const @@ -695,18 +787,22 @@ let canon_monoid : | (r1, ts, am) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (257)) (Prims.of_int (26)) (Prims.of_int (257)) - (Prims.of_int (48))) - (FStar_Range.mk_range + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (256)) (Prims.of_int (70)) (Prims.of_int (271)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (reification m ts am @@ -723,60 +819,76 @@ let canon_monoid : am1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (9)) (Prims.of_int (258)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (259)) (Prims.of_int (8)) (Prims.of_int (271)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (14)) (Prims.of_int (258)) - (Prims.of_int (50))) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (9)) (Prims.of_int (258)) - (Prims.of_int (50))) + (Prims.of_int (50))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (24)) (Prims.of_int (258)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (39)) (Prims.of_int (258)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (258)) (Prims.of_int (24)) (Prims.of_int (258)) - (Prims.of_int (49))) + (Prims.of_int (49))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___6 -> @@ -791,7 +903,7 @@ let canon_monoid : (fun uu___6 -> Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string uu___6)) uu___6))) (fun @@ -816,32 +928,40 @@ let canon_monoid : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (259)) (Prims.of_int (8)) (Prims.of_int (259)) - (Prims.of_int (62))) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (265)) (Prims.of_int (8)) (Prims.of_int (271)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (259)) (Prims.of_int (18)) (Prims.of_int (259)) - (Prims.of_int (62))) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (259)) (Prims.of_int (8)) (Prims.of_int (259)) - (Prims.of_int (62))) + (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___7 -> @@ -856,7 +976,7 @@ let canon_monoid : (fun uu___7 -> Obj.magic - (FStar_Tactics_Derived.change_sq + (FStar_Tactics_V2_Derived.change_sq uu___7)) uu___7))) (fun @@ -865,23 +985,27 @@ let canon_monoid : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (265)) (Prims.of_int (8)) (Prims.of_int (265)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.fst" (Prims.of_int (267)) (Prims.of_int (8)) (Prims.of_int (271)) - (Prims.of_int (22))) + (Prims.of_int (22))))) (Obj.magic - (FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; @@ -891,7 +1015,7 @@ let canon_monoid : (fun uu___8 -> Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [ FStar_Pervasives.delta_only ["FStar.Tactics.CanonCommMonoidSimple.canon"; @@ -917,12 +1041,12 @@ let canon_monoid : else Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality at the right monoid type"))) uu___2))) | uu___2 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality"))) uu___1))) uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml index c841d392f30..11345c222f7 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml @@ -3,7 +3,7 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old type atom = Prims.int type exp = | Unit @@ -93,8 +93,8 @@ let (sort : permute) = let (canon : exp -> atom Prims.list) = fun e -> sort (flatten e) let rec (where_aux : Prims.nat -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = @@ -114,14 +114,18 @@ let rec (where_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (275)) (Prims.of_int (18)) - (Prims.of_int (275)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (275)) (Prims.of_int (15)) - (Prims.of_int (275)) (Prims.of_int (69))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (274)) (Prims.of_int (18)) + (Prims.of_int (274)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (274)) (Prims.of_int (15)) + (Prims.of_int (274)) (Prims.of_int (69))))) (Obj.magic (term_eq x x')) (fun uu___ -> (fun uu___ -> @@ -138,31 +142,36 @@ let rec (where_aux : (where_aux (n + Prims.int_one) x xs'))) uu___)))) uu___2 uu___1 uu___ let (where : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = where_aux Prims.int_zero let (fatom : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Types.term amap -> - ((exp * FStar_Reflection_Types.term Prims.list * - FStar_Reflection_Types.term amap), + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> + FStar_Tactics_NamedView.term amap -> + ((exp * FStar_Tactics_NamedView.term Prims.list * + FStar_Tactics_NamedView.term amap), unit) FStar_Tactics_Effect.tac_repr) = fun t -> fun ts -> fun am -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (279)) (Prims.of_int (8)) (Prims.of_int (279)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (279)) (Prims.of_int (2)) (Prims.of_int (284)) - (Prims.of_int (47))) (Obj.magic (where t ts)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (278)) (Prims.of_int (8)) + (Prims.of_int (278)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (278)) (Prims.of_int (2)) + (Prims.of_int (283)) (Prims.of_int (47))))) + (Obj.magic (where t ts)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -175,34 +184,42 @@ let (fatom : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (282)) (Prims.of_int (17)) - (Prims.of_int (282)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (282)) (Prims.of_int (29)) - (Prims.of_int (284)) (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (281)) (Prims.of_int (17)) + (Prims.of_int (281)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (281)) (Prims.of_int (29)) + (Prims.of_int (283)) (Prims.of_int (47))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.length ts)) (fun uu___1 -> (fun vfresh -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (283)) - (Prims.of_int (12)) - (Prims.of_int (283)) - (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (284)) - (Prims.of_int (4)) - (Prims.of_int (284)) - (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (282)) + (Prims.of_int (12)) + (Prims.of_int (282)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (283)) + (Prims.of_int (4)) + (Prims.of_int (283)) + (Prims.of_int (47))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.iota; FStar_Pervasives.zeta] t)) (fun t1 -> @@ -214,13 +231,13 @@ let (fatom : (update vfresh t1 am)))))) uu___1)))) uu___) let rec (reification_aux : - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Types.term amap -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - ((exp * FStar_Reflection_Types.term Prims.list * - FStar_Reflection_Types.term amap), + FStar_Tactics_NamedView.term Prims.list -> + FStar_Tactics_NamedView.term amap -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + ((exp * FStar_Tactics_NamedView.term Prims.list * + FStar_Tactics_NamedView.term amap), unit) FStar_Tactics_Effect.tac_repr) = fun ts -> @@ -229,113 +246,116 @@ let rec (reification_aux : fun unit -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (289)) (Prims.of_int (15)) - (Prims.of_int (289)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (288)) (Prims.of_int (82)) - (Prims.of_int (300)) (Prims.of_int (22))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Derived_Lemmas.collect_app_ref t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (288)) (Prims.of_int (15)) + (Prims.of_int (288)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (287)) (Prims.of_int (82)) + (Prims.of_int (299)) (Prims.of_int (22))))) + (Obj.magic (FStar_Tactics_V2_SyntaxHelpers.collect_app t)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, tl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (290)) (Prims.of_int (8)) - (Prims.of_int (290)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (290)) (Prims.of_int (2)) - (Prims.of_int (300)) (Prims.of_int (22))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (290)) (Prims.of_int (8)) - (Prims.of_int (290)) - (Prims.of_int (18))) + (Prims.of_int (289)) (Prims.of_int (8)) + (Prims.of_int (289)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (290)) (Prims.of_int (8)) - (Prims.of_int (290)) - (Prims.of_int (33))) + (Prims.of_int (289)) (Prims.of_int (2)) + (Prims.of_int (299)) + (Prims.of_int (22))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (289)) + (Prims.of_int (8)) + (Prims.of_int (289)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (289)) + (Prims.of_int (8)) + (Prims.of_int (289)) + (Prims.of_int (22))))) (Obj.magic - (FStar_Tactics_Builtins.inspect hd)) + (FStar_Tactics_NamedView.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - (uu___1, - (FStar_List_Tot_Base.list_unref - tl)))))) + (fun uu___2 -> (uu___1, tl))))) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | (FStar_Reflection_Data.Tv_FVar fv, - (t1, FStar_Reflection_Data.Q_Explicit):: - (t2, FStar_Reflection_Data.Q_Explicit)::[]) + | (FStar_Tactics_NamedView.Tv_FVar fv, + (t1, + FStar_Reflection_V2_Data.Q_Explicit):: + (t2, + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (292)) - (Prims.of_int (7)) - (Prims.of_int (292)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (292)) - (Prims.of_int (4)) - (Prims.of_int (296)) - (Prims.of_int (22))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (292)) - (Prims.of_int (15)) - (Prims.of_int (292)) - (Prims.of_int (34))) + (Prims.of_int (291)) + (Prims.of_int (7)) + (Prims.of_int (291)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (292)) - (Prims.of_int (7)) - (Prims.of_int (292)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (term_eq uu___2 - mult)) uu___2))) + (Prims.of_int (291)) + (Prims.of_int (4)) + (Prims.of_int (295)) + (Prims.of_int (22))))) + (Obj.magic + (term_eq + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) mult)) (fun uu___2 -> (fun uu___2 -> if uu___2 then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (293)) - (Prims.of_int (29)) - (Prims.of_int (293)) - (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (293)) - (Prims.of_int (9)) - (Prims.of_int (295)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (292)) + (Prims.of_int (29)) + (Prims.of_int (292)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (292)) + (Prims.of_int (9)) + (Prims.of_int (294)) + (Prims.of_int (31))))) (Obj.magic (reification_aux ts am mult @@ -348,18 +368,22 @@ let rec (reification_aux : am1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (294)) + (Prims.of_int (293)) (Prims.of_int (29)) - (Prims.of_int (294)) - (Prims.of_int (63))) + (Prims.of_int (293)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (293)) + (Prims.of_int (292)) (Prims.of_int (66)) - (Prims.of_int (295)) - (Prims.of_int (30))) + (Prims.of_int (294)) + (Prims.of_int (30))))) (Obj.magic (reification_aux ts1 am1 @@ -385,18 +409,22 @@ let rec (reification_aux : | (uu___2, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (298)) - (Prims.of_int (7)) - (Prims.of_int (298)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (298)) - (Prims.of_int (4)) - (Prims.of_int (300)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (297)) + (Prims.of_int (7)) + (Prims.of_int (297)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (297)) + (Prims.of_int (4)) + (Prims.of_int (299)) + (Prims.of_int (22))))) (Obj.magic (term_eq t unit)) (fun uu___4 -> (fun uu___4 -> @@ -413,13 +441,13 @@ let rec (reification_aux : (fatom t ts am))) uu___4))) uu___1))) uu___) let (reification : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Types.term amap -> - FStar_Reflection_Types.term -> - ((exp * FStar_Reflection_Types.term Prims.list * - FStar_Reflection_Types.term amap), + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> + FStar_Tactics_NamedView.term amap -> + FStar_Tactics_NamedView.term -> + ((exp * FStar_Tactics_NamedView.term Prims.list * + FStar_Tactics_NamedView.term amap), unit) FStar_Tactics_Effect.tac_repr) = fun eq -> @@ -428,76 +456,89 @@ let (reification : fun am -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (304)) (Prims.of_int (13)) - (Prims.of_int (304)) (Prims.of_int (60))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (304)) (Prims.of_int (63)) - (Prims.of_int (307)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (303)) (Prims.of_int (13)) + (Prims.of_int (303)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (303)) (Prims.of_int (63)) + (Prims.of_int (306)) (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.iota; FStar_Pervasives.zeta; FStar_Pervasives.delta] - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__CM__item__mult"]))), - (m, FStar_Reflection_Data.Q_Explicit)))))) + (m, FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___ -> (fun mult -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (305)) (Prims.of_int (13)) - (Prims.of_int (305)) (Prims.of_int (60))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (305)) (Prims.of_int (63)) - (Prims.of_int (307)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (304)) (Prims.of_int (13)) + (Prims.of_int (304)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (304)) (Prims.of_int (63)) + (Prims.of_int (306)) (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.iota; FStar_Pervasives.zeta; FStar_Pervasives.delta] - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__CM__item__unit"]))), - (m, FStar_Reflection_Data.Q_Explicit)))))) + (m, + FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___ -> (fun unit -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (306)) - (Prims.of_int (13)) - (Prims.of_int (306)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (307)) - (Prims.of_int (2)) - (Prims.of_int (307)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (305)) + (Prims.of_int (13)) + (Prims.of_int (305)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (306)) + (Prims.of_int (2)) + (Prims.of_int (306)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.iota; FStar_Pervasives.zeta] t)) (fun uu___ -> @@ -506,17 +547,18 @@ let (reification : (reification_aux ts am mult unit t1)) uu___))) uu___))) uu___) let rec (repeat_cong_right_identity : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) = fun eq -> fun m -> - FStar_Tactics_Derived.or_else + FStar_Tactics_V2_Derived.or_else (fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; @@ -524,141 +566,154 @@ let rec (repeat_cong_right_identity : "right_identity"])))) (fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (311)) (Prims.of_int (20)) (Prims.of_int (311)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (312)) (Prims.of_int (20)) (Prims.of_int (314)) - (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (310)) (Prims.of_int (20)) + (Prims.of_int (310)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (311)) (Prims.of_int (20)) + (Prims.of_int (313)) (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__CM__item__congruence"]))), - (m, FStar_Reflection_Data.Q_Explicit)))))) + (m, FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (312)) (Prims.of_int (20)) - (Prims.of_int (312)) (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (313)) (Prims.of_int (20)) - (Prims.of_int (314)) (Prims.of_int (51))) - (Obj.magic (FStar_Tactics_Logic.split ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (311)) (Prims.of_int (20)) + (Prims.of_int (311)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (312)) (Prims.of_int (20)) + (Prims.of_int (313)) (Prims.of_int (51))))) + (Obj.magic (FStar_Tactics_V2_Logic.split ())) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (313)) - (Prims.of_int (20)) - (Prims.of_int (313)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (314)) - (Prims.of_int (20)) - (Prims.of_int (314)) - (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (312)) + (Prims.of_int (20)) + (Prims.of_int (312)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (313)) + (Prims.of_int (20)) + (Prims.of_int (313)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__EQ__item__reflexivity"]))), (eq, - FStar_Reflection_Data.Q_Explicit)))))) + FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___3 -> (fun uu___3 -> Obj.magic (repeat_cong_right_identity eq m)) uu___3))) uu___2))) uu___1)) let rec (convert_map : - (atom * FStar_Reflection_Types.term) Prims.list -> - FStar_Reflection_Types.term) + (atom * FStar_Tactics_NamedView.term) Prims.list -> + FStar_Tactics_NamedView.term) = fun m -> match m with | [] -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "Nil"])) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Nil"])) | (a, t)::ps -> let a1 = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_Int a)) in + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int a)) in let uu___ = convert_map ps in let uu___1 = t in let uu___2 = a1 in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Cons"]))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; "Mktuple2"]))), (uu___2, - FStar_Reflection_Data.Q_Explicit)))), - (uu___1, FStar_Reflection_Data.Q_Explicit)))), - FStar_Reflection_Data.Q_Explicit)))), - (uu___, FStar_Reflection_Data.Q_Explicit))) + FStar_Reflection_V2_Data.Q_Explicit)))), + (uu___1, FStar_Reflection_V2_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), + (uu___, FStar_Reflection_V2_Data.Q_Explicit))) let (convert_am : - FStar_Reflection_Types.term amap -> FStar_Reflection_Types.term) = + FStar_Tactics_NamedView.term amap -> FStar_Tactics_NamedView.term) = fun am -> let uu___ = am in match uu___ with | (map, def) -> let uu___1 = def in let uu___2 = convert_map map in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; "Mktuple2"]))), - (uu___2, FStar_Reflection_Data.Q_Explicit)))), - (uu___1, FStar_Reflection_Data.Q_Explicit))) -let rec (quote_exp : exp -> FStar_Reflection_Types.term) = + (uu___2, FStar_Reflection_V2_Data.Q_Explicit)))), + (uu___1, FStar_Reflection_V2_Data.Q_Explicit))) +let rec (quote_exp : exp -> FStar_Tactics_NamedView.term) = fun e -> match e with | Unit -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; @@ -667,39 +722,40 @@ let rec (quote_exp : exp -> FStar_Reflection_Types.term) = | Mult (e1, e2) -> let uu___ = quote_exp e2 in let uu___1 = quote_exp e1 in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; "Equiv"; "Mult"]))), - (uu___1, FStar_Reflection_Data.Q_Explicit)))), - (uu___, FStar_Reflection_Data.Q_Explicit))) + (uu___1, FStar_Reflection_V2_Data.Q_Explicit)))), + (uu___, FStar_Reflection_V2_Data.Q_Explicit))) | Atom n -> let nt = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const (FStar_Reflection_Data.C_Int n)) in - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int n)) in + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; "Equiv"; - "Atom"]))), (nt, FStar_Reflection_Data.Q_Explicit))) + "Atom"]))), (nt, FStar_Reflection_V2_Data.Q_Explicit))) let (canon_lhs_rhs : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun eq -> @@ -707,56 +763,72 @@ let (canon_lhs_rhs : fun lhs -> fun rhs -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (341)) (Prims.of_int (15)) (Prims.of_int (341)) - (Prims.of_int (61))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (341)) (Prims.of_int (64)) (Prims.of_int (370)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (340)) (Prims.of_int (15)) + (Prims.of_int (340)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (340)) (Prims.of_int (64)) + (Prims.of_int (369)) (Prims.of_int (52))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.iota; FStar_Pervasives.zeta; FStar_Pervasives.delta] - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__CM__item__unit"]))), - (m, FStar_Reflection_Data.Q_Explicit)))))) + (m, FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___ -> (fun m_unit -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (342)) (Prims.of_int (11)) - (Prims.of_int (342)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (342)) (Prims.of_int (26)) - (Prims.of_int (370)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (341)) (Prims.of_int (11)) + (Prims.of_int (341)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (341)) (Prims.of_int (26)) + (Prims.of_int (369)) (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> const m_unit)) (fun uu___ -> (fun am -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (343)) (Prims.of_int (21)) - (Prims.of_int (343)) (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (342)) (Prims.of_int (26)) - (Prims.of_int (370)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (342)) + (Prims.of_int (21)) + (Prims.of_int (342)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (341)) + (Prims.of_int (26)) + (Prims.of_int (369)) + (Prims.of_int (52))))) (Obj.magic (reification eq m [] am lhs)) (fun uu___ -> (fun uu___ -> @@ -764,18 +836,22 @@ let (canon_lhs_rhs : | (r1, ts, am1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (344)) - (Prims.of_int (21)) - (Prims.of_int (344)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (343)) - (Prims.of_int (50)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (343)) + (Prims.of_int (21)) + (Prims.of_int (343)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (342)) + (Prims.of_int (50)) + (Prims.of_int (369)) + (Prims.of_int (52))))) (Obj.magic (reification eq m ts am1 rhs)) @@ -785,18 +861,22 @@ let (canon_lhs_rhs : | (r2, uu___2, am2) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (351)) - (Prims.of_int (11)) - (Prims.of_int (351)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (351)) - (Prims.of_int (27)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (350)) + (Prims.of_int (11)) + (Prims.of_int (350)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (350)) + (Prims.of_int (27)) + (Prims.of_int (369)) + (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -808,18 +888,22 @@ let (canon_lhs_rhs : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (352)) + (Prims.of_int (351)) (Prims.of_int (11)) - (Prims.of_int (352)) - (Prims.of_int (23))) + (Prims.of_int (351)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (352)) + (Prims.of_int (351)) (Prims.of_int (26)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (Prims.of_int (369)) + (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -831,18 +915,22 @@ let (canon_lhs_rhs : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (353)) + (Prims.of_int (352)) (Prims.of_int (11)) - (Prims.of_int (353)) - (Prims.of_int (23))) + (Prims.of_int (352)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (354)) + (Prims.of_int (353)) (Prims.of_int (2)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (Prims.of_int (369)) + (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -854,109 +942,117 @@ let (canon_lhs_rhs : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (354)) + (Prims.of_int (353)) (Prims.of_int (2)) - (Prims.of_int (356)) - (Prims.of_int (51))) + (Prims.of_int (355)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (360)) + (Prims.of_int (359)) (Prims.of_int (2)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (Prims.of_int (369)) + (Prims.of_int (52))))) (Obj.magic - (FStar_Tactics_Derived.change_sq - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.change_sq + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__EQ__item__eq"]))), (eq, - FStar_Reflection_Data.Q_Explicit)))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; "Equiv"; "mdenote"]))), (eq, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (m, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (am3, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (r11, - FStar_Reflection_Data.Q_Explicit)))), - FStar_Reflection_Data.Q_Explicit)))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; "Equiv"; "mdenote"]))), (eq, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (m, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (am3, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (r21, - FStar_Reflection_Data.Q_Explicit)))), - FStar_Reflection_Data.Q_Explicit)))))) + FStar_Reflection_V2_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___3 -> (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (360)) + (Prims.of_int (359)) (Prims.of_int (2)) - (Prims.of_int (360)) - (Prims.of_int (25))) + (Prims.of_int (359)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (362)) + (Prims.of_int (361)) (Prims.of_int (2)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (Prims.of_int (369)) + (Prims.of_int (52))))) (Obj.magic - (FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommMonoidSimple"; @@ -968,20 +1064,24 @@ let (canon_lhs_rhs : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (362)) + (Prims.of_int (361)) (Prims.of_int (2)) - (Prims.of_int (367)) - (Prims.of_int (18))) + (Prims.of_int (366)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (369)) + (Prims.of_int (368)) (Prims.of_int (2)) - (Prims.of_int (370)) - (Prims.of_int (52))) + (Prims.of_int (369)) + (Prims.of_int (52))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.iota; FStar_Pervasives.zeta; FStar_Pervasives.delta_only @@ -1005,22 +1105,22 @@ let (canon_lhs_rhs : (fun uu___5 -> Obj.magic - (FStar_Tactics_Derived.or_else + (FStar_Tactics_V2_Derived.or_else (fun uu___6 -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Algebra"; "CommMonoid"; "Equiv"; "__proj__EQ__item__reflexivity"]))), (eq, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___6 -> repeat_cong_right_identity @@ -1034,50 +1134,68 @@ let (canon_lhs_rhs : uu___1))) uu___))) uu___))) uu___) let (canon_monoid : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) = fun eq -> fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (374)) (Prims.of_int (2)) (Prims.of_int (374)) - (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (374)) (Prims.of_int (20)) (Prims.of_int (392)) - (Prims.of_int (68))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (373)) (Prims.of_int (2)) (Prims.of_int (373)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (373)) (Prims.of_int (20)) + (Prims.of_int (391)) (Prims.of_int (68))))) (Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [FStar_Pervasives.iota; FStar_Pervasives.zeta])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (375)) (Prims.of_int (10)) - (Prims.of_int (375)) (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (375)) (Prims.of_int (24)) - (Prims.of_int (392)) (Prims.of_int (68))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (374)) (Prims.of_int (10)) + (Prims.of_int (374)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (374)) (Prims.of_int (24)) + (Prims.of_int (391)) (Prims.of_int (68))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun t -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (377)) (Prims.of_int (19)) - (Prims.of_int (377)) (Prims.of_int (36))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (375)) (Prims.of_int (24)) - (Prims.of_int (392)) (Prims.of_int (68))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived_Lemmas.collect_app_ref - t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (376)) + (Prims.of_int (19)) + (Prims.of_int (376)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (374)) + (Prims.of_int (24)) + (Prims.of_int (391)) + (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_V2_SyntaxHelpers.collect_app + t)) (fun uu___1 -> (fun uu___1 -> match uu___1 with @@ -1087,22 +1205,25 @@ let (canon_monoid : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (381)) - (Prims.of_int (21)) - (Prims.of_int (381)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" - (Prims.of_int (380)) - (Prims.of_int (21)) - (Prims.of_int (391)) - (Prims.of_int (6))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_Reflection_Derived_Lemmas.collect_app_ref - rel_xy1)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (380)) + (Prims.of_int (21)) + (Prims.of_int (380)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommMonoidSimple.Equiv.fst" + (Prims.of_int (379)) + (Prims.of_int (21)) + (Prims.of_int (390)) + (Prims.of_int (6))))) + (Obj.magic + (FStar_Tactics_V2_SyntaxHelpers.collect_app + rel_xy1)) (fun uu___3 -> (fun uu___3 -> match uu___3 with @@ -1129,9 +1250,9 @@ let (canon_monoid : with | ((lhs, - FStar_Reflection_Data.Q_Explicit), + FStar_Reflection_V2_Data.Q_Explicit), (rhs, - FStar_Reflection_Data.Q_Explicit)) + FStar_Reflection_V2_Data.Q_Explicit)) -> Obj.repr (canon_lhs_rhs @@ -1140,18 +1261,18 @@ let (canon_monoid : | uu___4 -> Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should have been an application of a binary relation to 2 explicit arguments"))) else Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should have been an application of a binary relation to n implicit and 2 explicit arguments"))) uu___3))) | uu___2 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be squash applied to a binary relation")))) uu___1))) uu___1))) uu___) let _ = @@ -1161,8 +1282,8 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_2 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_2 (FStar_Tactics_Native.from_tactic_2 canon_monoid) - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit psc ncb args) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml index 0c1a1492477..5b091bd956a 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml @@ -3,7 +3,7 @@ let (term_eq : FStar_Reflection_Types.term -> FStar_Reflection_Types.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = FStar_Tactics_Builtins.term_eq_old + = FStar_Tactics_V1_Builtins.term_eq_old type ('a, 'cmuadd, 'cmumult) distribute_left_lemma = unit type ('a, 'cmuadd, 'cmumult) distribute_right_lemma = unit type ('a, 'cmuadd, 'cmumult) mult_zero_l_lemma = unit @@ -305,20 +305,20 @@ let rec canonical_sum_simplify : | Nil_monom -> s let spolynomial_simplify : 'a . 'a cr -> 'a spolynomial -> 'a canonical_sum = fun r -> fun p -> canonical_sum_simplify r (spolynomial_normalize r p) -type 'a vmap = ((FStar_Reflection_Data.var * 'a) Prims.list * 'a) -let update : 'a . FStar_Reflection_Data.var -> 'a -> 'a vmap -> 'a vmap = +type 'a vmap = ((FStar_Reflection_V2_Data.var * 'a) Prims.list * 'a) +let update : 'a . FStar_Reflection_V2_Data.var -> 'a -> 'a vmap -> 'a vmap = fun x -> fun xa -> fun vm -> let uu___ = vm in match uu___ with | (l, y) -> (((x, xa) :: l), y) let rec quote_list : 'a . - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> 'a Prims.list -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr = fun uu___2 -> fun uu___1 -> @@ -332,112 +332,146 @@ let rec quote_list : (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Nil"]))) - [(ta, FStar_Reflection_Data.Q_Implicit)]))) + [(ta, FStar_Reflection_V2_Data.Q_Implicit)]))) | x::xs' -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (382)) (Prims.of_int (29)) - (Prims.of_int (384)) (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (382)) (Prims.of_int (14)) - (Prims.of_int (384)) (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (382)) (Prims.of_int (29)) - (Prims.of_int (384)) (Prims.of_int (68))) + (Prims.of_int (384)) (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (382)) (Prims.of_int (29)) - (Prims.of_int (384)) (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (382)) (Prims.of_int (14)) + (Prims.of_int (384)) (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (383)) + (Prims.of_int (382)) (Prims.of_int (29)) - (Prims.of_int (383)) - (Prims.of_int (51))) + (Prims.of_int (384)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (382)) (Prims.of_int (29)) (Prims.of_int (384)) - (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (383)) - (Prims.of_int (30)) + (Prims.of_int (29)) (Prims.of_int (383)) - (Prims.of_int (38))) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (383)) + (Prims.of_int (382)) (Prims.of_int (29)) - (Prims.of_int (383)) - (Prims.of_int (51))) + (Prims.of_int (384)) + (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (383)) + (Prims.of_int (30)) + (Prims.of_int (383)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (383)) + (Prims.of_int (29)) + (Prims.of_int (383)) + (Prims.of_int (51))))) (Obj.magic (quotea x)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (uu___, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (382)) - (Prims.of_int (29)) - (Prims.of_int (384)) - (Prims.of_int (68))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (382)) - (Prims.of_int (29)) - (Prims.of_int (384)) - (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (384)) + (Prims.of_int (382)) (Prims.of_int (29)) (Prims.of_int (384)) - (Prims.of_int (67))) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (382)) (Prims.of_int (29)) (Prims.of_int (384)) - (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (384)) - (Prims.of_int (30)) + (Prims.of_int (29)) (Prims.of_int (384)) - (Prims.of_int (54))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (384)) + (Prims.of_int (382)) (Prims.of_int (29)) (Prims.of_int (384)) - (Prims.of_int (67))) + (Prims.of_int (68))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (384)) + (Prims.of_int (30)) + (Prims.of_int (384)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (384)) + (Prims.of_int (29)) + (Prims.of_int (384)) + (Prims.of_int (67))))) (Obj.magic (quote_list ta quotea @@ -447,7 +481,7 @@ let rec quote_list : (fun uu___2 -> (uu___1, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -460,191 +494,186 @@ let rec quote_list : FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (ta, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "Cons"]))) uu___))))) uu___2 uu___1 uu___ let quote_vm : 'a . - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> 'a vmap -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr = fun ta -> fun quotea -> fun vm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) (Prims.of_int (4)) (Prims.of_int (391)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (391)) (Prims.of_int (38)) (Prims.of_int (396)) - (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (389)) (Prims.of_int (4)) + (Prims.of_int (391)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (391)) (Prims.of_int (38)) + (Prims.of_int (396)) (Prims.of_int (73))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun p -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) (Prims.of_int (23)) - (Prims.of_int (391)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) (Prims.of_int (4)) - (Prims.of_int (391)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (389)) (Prims.of_int (23)) - (Prims.of_int (391)) (Prims.of_int (35))) + (Prims.of_int (391)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) (Prims.of_int (23)) - (Prims.of_int (391)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (389)) (Prims.of_int (4)) + (Prims.of_int (391)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (389)) (Prims.of_int (23)) - (Prims.of_int (391)) (Prims.of_int (35))) + (Prims.of_int (391)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (389)) (Prims.of_int (23)) - (Prims.of_int (391)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (391)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (390)) - (Prims.of_int (6)) - (Prims.of_int (390)) - (Prims.of_int (51))) + (Prims.of_int (389)) + (Prims.of_int (23)) + (Prims.of_int (391)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (389)) (Prims.of_int (23)) (Prims.of_int (391)) - (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (390)) - (Prims.of_int (7)) - (Prims.of_int (390)) - (Prims.of_int (38))) + (Prims.of_int (389)) + (Prims.of_int (23)) + (Prims.of_int (391)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (390)) - (Prims.of_int (6)) - (Prims.of_int (390)) - (Prims.of_int (51))) + (Prims.of_int (389)) + (Prims.of_int (23)) + (Prims.of_int (391)) + (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (391)) + (Prims.of_int (6)) + (Prims.of_int (391)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (389)) + (Prims.of_int (23)) + (Prims.of_int (391)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int - (FStar_Pervasives_Native.fst - p))))) + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (391)) + (Prims.of_int (7)) + (Prims.of_int (391)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (391)) + (Prims.of_int (6)) + (Prims.of_int (391)) + (Prims.of_int (34))))) + (Obj.magic + (quotea + (FStar_Pervasives_Native.snd + p))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + (uu___1, + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - (uu___1, - FStar_Reflection_Data.Q_Explicit))))) + (fun uu___2 -> [uu___1])))) (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) - (Prims.of_int (23)) - (Prims.of_int (391)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) - (Prims.of_int (23)) - (Prims.of_int (391)) - (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (391)) - (Prims.of_int (6)) - (Prims.of_int (391)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (389)) - (Prims.of_int (23)) - (Prims.of_int (391)) - (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (391)) - (Prims.of_int (7)) - (Prims.of_int (391)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (391)) - (Prims.of_int (6)) - (Prims.of_int (391)) - (Prims.of_int (34))) - (Obj.magic - (quotea - (FStar_Pervasives_Native.snd - p))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 - -> - (uu___2, - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - [uu___2])))) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> uu___1 - :: uu___2)))) uu___1))) + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + ((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int + (FStar_Pervasives_Native.fst + p)))), + FStar_Reflection_V2_Data.Q_Explicit) + :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (ta, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "nat"]))), - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; @@ -653,41 +682,53 @@ let quote_vm : (fun quote_map_entry -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (392)) (Prims.of_int (16)) - (Prims.of_int (392)) (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (392)) (Prims.of_int (50)) - (Prims.of_int (396)) (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (392)) (Prims.of_int (16)) + (Prims.of_int (392)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (392)) (Prims.of_int (50)) + (Prims.of_int (396)) (Prims.of_int (73))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; "tuple2"]))) - [FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + [FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "nat"])); ta])) (fun uu___ -> (fun tyentry -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (393)) (Prims.of_int (14)) - (Prims.of_int (393)) (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (393)) (Prims.of_int (60)) - (Prims.of_int (396)) (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (393)) + (Prims.of_int (14)) + (Prims.of_int (393)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (393)) + (Prims.of_int (60)) + (Prims.of_int (396)) + (Prims.of_int (73))))) (Obj.magic (quote_list tyentry quote_map_entry (FStar_Pervasives_Native.fst vm))) @@ -695,112 +736,140 @@ let quote_vm : (fun tlist -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (394)) - (Prims.of_int (15)) - (Prims.of_int (394)) - (Prims.of_int (41))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (395)) - (Prims.of_int (2)) - (Prims.of_int (396)) - (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (394)) + (Prims.of_int (15)) + (Prims.of_int (394)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (395)) + (Prims.of_int (2)) + (Prims.of_int (396)) + (Prims.of_int (73))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "list"]))) [tyentry])) (fun uu___ -> (fun tylist -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (395)) - (Prims.of_int (21)) - (Prims.of_int (396)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (395)) - (Prims.of_int (2)) - (Prims.of_int (396)) - (Prims.of_int (73))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) - (Prims.of_int (21)) + (Prims.of_int (2)) (Prims.of_int (396)) - (Prims.of_int (73))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (73))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (395)) + (Prims.of_int (21)) + (Prims.of_int (396)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (395)) + (Prims.of_int (21)) + (Prims.of_int (396)) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (396)) (Prims.of_int (43)) (Prims.of_int (396)) - (Prims.of_int (72))) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (395)) (Prims.of_int (21)) (Prims.of_int (396)) - (Prims.of_int (73))) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (396)) (Prims.of_int (44)) (Prims.of_int (396)) - (Prims.of_int (59))) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (396)) (Prims.of_int (43)) (Prims.of_int (396)) - (Prims.of_int (72))) + (Prims.of_int (72))))) (Obj.magic (quotea (FStar_Pervasives_Native.snd @@ -811,7 +880,7 @@ let quote_vm : (fun uu___1 -> (uu___, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -824,7 +893,7 @@ let quote_vm : (fun uu___1 -> (tlist, - FStar_Reflection_Data.Q_Explicit) + FStar_Reflection_V2_Data.Q_Explicit) :: uu___)))) (fun uu___ -> @@ -832,22 +901,22 @@ let quote_vm : (fun uu___1 -> (ta, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (tylist, - FStar_Reflection_Data.Q_Implicit) + FStar_Reflection_V2_Data.Q_Implicit) :: uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Pervasives"; "Native"; @@ -1018,17 +1087,21 @@ let rec interp_p : 'a . 'a cr -> 'a vmap -> 'a polynomial -> 'a = let (ddump : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1498)) (Prims.of_int (17)) (Prims.of_int (1498)) - (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1498)) (Prims.of_int (14)) (Prims.of_int (1498)) - (Prims.of_int (41))) - (Obj.magic (FStar_Tactics_Builtins.debugging ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1498)) (Prims.of_int (17)) + (Prims.of_int (1498)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1498)) (Prims.of_int (14)) + (Prims.of_int (1498)) (Prims.of_int (41))))) + (Obj.magic (FStar_Tactics_V2_Builtins.debugging ())) (fun uu___ -> (fun uu___ -> if uu___ - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.dump m)) + then Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.dump m)) else Obj.magic (Obj.repr @@ -1036,8 +1109,8 @@ let (ddump : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = uu___) let rec (find_aux : Prims.nat -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = @@ -1057,14 +1130,18 @@ let rec (find_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1507)) (Prims.of_int (18)) - (Prims.of_int (1507)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1507)) (Prims.of_int (15)) - (Prims.of_int (1507)) (Prims.of_int (68))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1507)) (Prims.of_int (18)) + (Prims.of_int (1507)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1507)) (Prims.of_int (15)) + (Prims.of_int (1507)) (Prims.of_int (68))))) (Obj.magic (term_eq x x')) (fun uu___ -> (fun uu___ -> @@ -1081,20 +1158,20 @@ let rec (find_aux : (find_aux (n + Prims.int_one) x xs'))) uu___)))) uu___2 uu___1 uu___ let (find : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> (Prims.nat FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr) = find_aux Prims.int_zero let make_fvar : 'a . - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> 'a vmap -> - (('a polynomial * FStar_Reflection_Types.term Prims.list * 'a + (('a polynomial * FStar_Tactics_NamedView.term Prims.list * 'a vmap), unit) FStar_Tactics_Effect.tac_repr = @@ -1103,12 +1180,17 @@ let make_fvar : fun ts -> fun vm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1513)) (Prims.of_int (8)) (Prims.of_int (1513)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1513)) (Prims.of_int (2)) (Prims.of_int (1518)) - (Prims.of_int (47))) (Obj.magic (find t ts)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1513)) (Prims.of_int (8)) + (Prims.of_int (1513)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1513)) (Prims.of_int (2)) + (Prims.of_int (1518)) (Prims.of_int (47))))) + (Obj.magic (find t ts)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -1121,32 +1203,44 @@ let make_fvar : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1516)) (Prims.of_int (17)) - (Prims.of_int (1516)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1516)) (Prims.of_int (29)) - (Prims.of_int (1518)) (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1516)) + (Prims.of_int (17)) + (Prims.of_int (1516)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1516)) + (Prims.of_int (29)) + (Prims.of_int (1518)) + (Prims.of_int (47))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.length ts)) (fun uu___1 -> (fun vfresh -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1517)) - (Prims.of_int (12)) - (Prims.of_int (1517)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1518)) - (Prims.of_int (4)) - (Prims.of_int (1518)) - (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1517)) + (Prims.of_int (12)) + (Prims.of_int (1517)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1518)) + (Prims.of_int (4)) + (Prims.of_int (1518)) + (Prims.of_int (47))))) (Obj.magic (unquotea t)) (fun z -> FStar_Tactics_Effect.lift_div_tac @@ -1158,16 +1252,16 @@ let make_fvar : uu___1)))) uu___) let rec reification_aux : 'a . - (FStar_Reflection_Types.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> 'a vmap -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (('a polynomial * FStar_Reflection_Types.term Prims.list + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (('a polynomial * FStar_Tactics_NamedView.term Prims.list * 'a vmap), unit) FStar_Tactics_Effect.tac_repr = @@ -1180,51 +1274,64 @@ let rec reification_aux : fun mult -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1523)) (Prims.of_int (15)) - (Prims.of_int (1523)) (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1521)) (Prims.of_int (157)) - (Prims.of_int (1545)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1523)) (Prims.of_int (15)) + (Prims.of_int (1523)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1521)) (Prims.of_int (157)) + (Prims.of_int (1545)) (Prims.of_int (38))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived_Lemmas.collect_app_ref t)) + FStar_Reflection_V2_Derived_Lemmas.collect_app_ref + t)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, tl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1524)) - (Prims.of_int (8)) - (Prims.of_int (1524)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1524)) - (Prims.of_int (2)) - (Prims.of_int (1545)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1524)) (Prims.of_int (8)) (Prims.of_int (1524)) - (Prims.of_int (18))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1524)) - (Prims.of_int (8)) - (Prims.of_int (1524)) - (Prims.of_int (33))) + (Prims.of_int (2)) + (Prims.of_int (1545)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1524)) + (Prims.of_int (8)) + (Prims.of_int (1524)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1524)) + (Prims.of_int (8)) + (Prims.of_int (1524)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1235,39 +1342,48 @@ let rec reification_aux : (fun uu___1 -> (fun uu___1 -> match uu___1 with - | (FStar_Reflection_Data.Tv_FVar fv, + | (FStar_Tactics_NamedView.Tv_FVar + fv, (t1, uu___2)::(t2, uu___3)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1529)) - (Prims.of_int (107)) - (Prims.of_int (1532)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1534)) - (Prims.of_int (4)) - (Prims.of_int (1536)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1529)) + (Prims.of_int (107)) + (Prims.of_int (1532)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1534)) + (Prims.of_int (4)) + (Prims.of_int (1536)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> fun op -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1530)) - (Prims.of_int (25)) - (Prims.of_int (1530)) - (Prims.of_int (76))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1529)) - (Prims.of_int (107)) - (Prims.of_int (1532)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1530)) + (Prims.of_int (25)) + (Prims.of_int (1530)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1529)) + (Prims.of_int (107)) + (Prims.of_int (1532)) + (Prims.of_int (24))))) (Obj.magic (reification_aux unquotea ts @@ -1282,18 +1398,22 @@ let rec reification_aux : vm1) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1531)) (Prims.of_int (25)) (Prims.of_int (1531)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1530)) (Prims.of_int (79)) (Prims.of_int (1532)) - (Prims.of_int (24))) + (Prims.of_int (24))))) (Obj.magic (reification_aux unquotea @@ -1319,45 +1439,27 @@ let rec reification_aux : (fun binop -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1534)) - (Prims.of_int (7)) - (Prims.of_int (1534)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1534)) - (Prims.of_int (4)) - (Prims.of_int (1536)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1534)) - (Prims.of_int (15)) + (Prims.of_int (7)) (Prims.of_int (1534)) - (Prims.of_int (34))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1534)) - (Prims.of_int (7)) - (Prims.of_int (1534)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun - uu___4 -> - (fun - uu___4 -> - Obj.magic - (term_eq - uu___4 - add)) - uu___4))) + (Prims.of_int (4)) + (Prims.of_int (1536)) + (Prims.of_int (30))))) + (Obj.magic + (term_eq + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) add)) (fun uu___4 -> (fun uu___4 -> @@ -1375,45 +1477,27 @@ let rec reification_aux : else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1535)) (Prims.of_int (7)) (Prims.of_int (1535)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1535)) (Prims.of_int (4)) (Prims.of_int (1536)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1535)) - (Prims.of_int (15)) - (Prims.of_int (1535)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1535)) - (Prims.of_int (7)) - (Prims.of_int (1535)) - (Prims.of_int (39))) + (Prims.of_int (30))))) (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun - uu___6 -> - (fun - uu___6 -> - Obj.magic (term_eq - uu___6 - mult)) - uu___6))) + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) mult)) (fun uu___6 -> (fun @@ -1438,38 +1522,46 @@ let rec reification_aux : uu___6))) uu___4))) uu___4)) - | (FStar_Reflection_Data.Tv_FVar fv, - (t1, uu___2)::[]) -> + | (FStar_Tactics_NamedView.Tv_FVar + fv, (t1, uu___2)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1538)) - (Prims.of_int (91)) - (Prims.of_int (1540)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1542)) - (Prims.of_int (4)) - (Prims.of_int (1543)) - (Prims.of_int (30))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1538)) + (Prims.of_int (91)) + (Prims.of_int (1540)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1542)) + (Prims.of_int (4)) + (Prims.of_int (1543)) + (Prims.of_int (30))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> fun op -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1539)) - (Prims.of_int (24)) - (Prims.of_int (1539)) - (Prims.of_int (75))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1538)) - (Prims.of_int (91)) - (Prims.of_int (1540)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1539)) + (Prims.of_int (24)) + (Prims.of_int (1539)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1538)) + (Prims.of_int (91)) + (Prims.of_int (1540)) + (Prims.of_int (20))))) (Obj.magic (reification_aux unquotea ts @@ -1491,45 +1583,27 @@ let rec reification_aux : (fun monop -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1542)) - (Prims.of_int (7)) - (Prims.of_int (1542)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1542)) - (Prims.of_int (4)) - (Prims.of_int (1543)) - (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1542)) - (Prims.of_int (15)) + (Prims.of_int (7)) (Prims.of_int (1542)) - (Prims.of_int (34))) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1542)) - (Prims.of_int (7)) - (Prims.of_int (1542)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (term_eq - uu___3 - opp)) - uu___3))) + (Prims.of_int (4)) + (Prims.of_int (1543)) + (Prims.of_int (30))))) + (Obj.magic + (term_eq + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) opp)) (fun uu___3 -> (fun uu___3 -> @@ -1549,36 +1623,44 @@ let rec reification_aux : ts vm)) uu___3))) uu___3)) - | (FStar_Reflection_Data.Tv_Const + | (FStar_Tactics_NamedView.Tv_Const uu___2, []) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1544)) - (Prims.of_int (22)) - (Prims.of_int (1544)) - (Prims.of_int (41))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1544)) - (Prims.of_int (22)) - (Prims.of_int (1544)) - (Prims.of_int (49))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1544)) - (Prims.of_int (29)) + (Prims.of_int (22)) (Prims.of_int (1544)) - (Prims.of_int (41))) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1544)) (Prims.of_int (22)) (Prims.of_int (1544)) - (Prims.of_int (41))) + (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1544)) + (Prims.of_int (29)) + (Prims.of_int (1544)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1544)) + (Prims.of_int (22)) + (Prims.of_int (1544)) + (Prims.of_int (41))))) (Obj.magic (unquotea t)) (fun uu___3 -> @@ -1615,20 +1697,20 @@ let (steps : FStar_Pervasives.norm_step Prims.list) = "FStar.List.Tot.Base.op_At"; "FStar.List.Tot.Base.append"]] let (canon_norm : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> FStar_Tactics_Builtins.norm steps + fun uu___ -> FStar_Tactics_V2_Builtins.norm steps let reification : 'a . - (FStar_Reflection_Types.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> 'a -> - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> (('a polynomial Prims.list * 'a vmap), unit) FStar_Tactics_Effect.tac_repr = @@ -1641,102 +1723,130 @@ let reification : fun munit -> fun ts -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1583)) (Prims.of_int (13)) - (Prims.of_int (1583)) (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1583)) (Prims.of_int (20)) - (Prims.of_int (1595)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1583)) (Prims.of_int (13)) + (Prims.of_int (1583)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1583)) (Prims.of_int (20)) + (Prims.of_int (1595)) (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> tadd)) (fun uu___ -> (fun add -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1584)) (Prims.of_int (13)) - (Prims.of_int (1584)) (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1584)) (Prims.of_int (20)) - (Prims.of_int (1595)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1584)) + (Prims.of_int (13)) + (Prims.of_int (1584)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1584)) + (Prims.of_int (20)) + (Prims.of_int (1595)) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> topp)) (fun uu___ -> (fun opp -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1585)) - (Prims.of_int (13)) - (Prims.of_int (1585)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1585)) - (Prims.of_int (21)) - (Prims.of_int (1595)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1585)) + (Prims.of_int (13)) + (Prims.of_int (1585)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1585)) + (Prims.of_int (21)) + (Prims.of_int (1595)) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> tmone)) (fun uu___ -> (fun mone -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1586)) - (Prims.of_int (13)) - (Prims.of_int (1586)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1586)) - (Prims.of_int (21)) - (Prims.of_int (1595)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1586)) + (Prims.of_int (13)) + (Prims.of_int (1586)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1586)) + (Prims.of_int (21)) + (Prims.of_int (1595)) + (Prims.of_int (31))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> tmult)) (fun uu___ -> (fun mult -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1587)) - (Prims.of_int (11)) - (Prims.of_int (1587)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1587)) - (Prims.of_int (51)) - (Prims.of_int (1595)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1587)) + (Prims.of_int (11)) + (Prims.of_int (1587)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1587)) + (Prims.of_int (51)) + (Prims.of_int (1595)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.map - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term steps) ts)) (fun uu___ -> (fun ts1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1590)) (Prims.of_int (4)) (Prims.of_int (1594)) - (Prims.of_int (29))) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1587)) (Prims.of_int (51)) (Prims.of_int (1595)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.fold_left (fun @@ -1748,18 +1858,22 @@ let reification : (es, vs, vm) -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1592)) (Prims.of_int (26)) (Prims.of_int (1592)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1591)) (Prims.of_int (28)) (Prims.of_int (1593)) - (Prims.of_int (26))) + (Prims.of_int (26))))) (Obj.magic (reification_aux unquotea @@ -1801,290 +1915,386 @@ let reification : uu___))) uu___) let rec quote_polynomial : 'a . - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> 'a polynomial -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr = - fun ta -> - fun quotea -> - fun e -> - match e with - | Pconst c -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (33)) - (Prims.of_int (1600)) (Prims.of_int (75))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (16)) - (Prims.of_int (1600)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (33)) - (Prims.of_int (1600)) (Prims.of_int (75))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (33)) - (Prims.of_int (1600)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (52)) - (Prims.of_int (1600)) (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (33)) - (Prims.of_int (1600)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (53)) - (Prims.of_int (1600)) (Prims.of_int (61))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1600)) (Prims.of_int (52)) - (Prims.of_int (1600)) (Prims.of_int (74))) - (Obj.magic (quotea c)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - (uu___, - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> [uu___])))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - (ta, FStar_Reflection_Data.Q_Implicit) :: uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommSemiring"; - "Pconst"]))) uu___)) - | Pvar x -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1601)) (Prims.of_int (31)) - (Prims.of_int (1601)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1601)) (Prims.of_int (14)) - (Prims.of_int (1601)) (Prims.of_int (58))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1601)) (Prims.of_int (32)) - (Prims.of_int (1601)) (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1601)) (Prims.of_int (31)) - (Prims.of_int (1601)) (Prims.of_int (58))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int x)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> [uu___])))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommSemiring"; - "Pvar"]))) uu___)) - | Pplus (e1, e2) -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (22)) - (Prims.of_int (1603)) (Prims.of_int (84))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (4)) - (Prims.of_int (1603)) (Prims.of_int (84))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (23)) - (Prims.of_int (1603)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (22)) - (Prims.of_int (1603)) (Prims.of_int (84))) - (Obj.magic (quote_polynomial ta quotea e1)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (22)) - (Prims.of_int (1603)) (Prims.of_int (84))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) (Prims.of_int (22)) - (Prims.of_int (1603)) (Prims.of_int (84))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) - (Prims.of_int (54)) - (Prims.of_int (1603)) - (Prims.of_int (83))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1603)) - (Prims.of_int (22)) - (Prims.of_int (1603)) - (Prims.of_int (84))) - (Obj.magic - (quote_polynomial ta quotea e2)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> [uu___1])))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> uu___ :: uu___1)))) uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommSemiring"; - "Pplus"]))) uu___)) - | Pmult (e1, e2) -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (22)) - (Prims.of_int (1605)) (Prims.of_int (84))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (4)) - (Prims.of_int (1605)) (Prims.of_int (84))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (23)) - (Prims.of_int (1605)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (22)) - (Prims.of_int (1605)) (Prims.of_int (84))) - (Obj.magic (quote_polynomial ta quotea e1)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (22)) - (Prims.of_int (1605)) (Prims.of_int (84))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) (Prims.of_int (22)) - (Prims.of_int (1605)) (Prims.of_int (84))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) - (Prims.of_int (54)) - (Prims.of_int (1605)) - (Prims.of_int (83))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1605)) - (Prims.of_int (22)) - (Prims.of_int (1605)) - (Prims.of_int (84))) - (Obj.magic - (quote_polynomial ta quotea e2)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> [uu___1])))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> uu___ :: uu___1)))) uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommSemiring"; - "Pmult"]))) uu___)) - | Popp e1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1606)) (Prims.of_int (31)) - (Prims.of_int (1606)) (Prims.of_int (61))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1606)) (Prims.of_int (14)) - (Prims.of_int (1606)) (Prims.of_int (61))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1606)) (Prims.of_int (32)) - (Prims.of_int (1606)) (Prims.of_int (60))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1606)) (Prims.of_int (31)) - (Prims.of_int (1606)) (Prims.of_int (61))) - (Obj.magic (quote_polynomial ta quotea e1)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> [uu___])))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "CanonCommSemiring"; - "Popp"]))) uu___)) + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun ta -> + fun quotea -> + fun e -> + match e with + | Pconst c -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) (Prims.of_int (33)) + (Prims.of_int (1600)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) (Prims.of_int (16)) + (Prims.of_int (1600)) (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (33)) + (Prims.of_int (1600)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (33)) + (Prims.of_int (1600)) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (52)) + (Prims.of_int (1600)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (33)) + (Prims.of_int (1600)) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (53)) + (Prims.of_int (1600)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1600)) + (Prims.of_int (52)) + (Prims.of_int (1600)) + (Prims.of_int (74))))) + (Obj.magic (quotea c)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + (uu___, + FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> [uu___])))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + (ta, + FStar_Reflection_V2_Data.Q_Implicit) + :: uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Derived.mk_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommSemiring"; + "Pconst"]))) uu___)))) + | Pvar x -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommSemiring"; + "Pvar"]))) + [FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Const + (FStar_Reflection_V2_Data.C_Int x))]))) + | Pplus (e1, e2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) (Prims.of_int (22)) + (Prims.of_int (1603)) (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) (Prims.of_int (4)) + (Prims.of_int (1603)) (Prims.of_int (84))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (23)) + (Prims.of_int (1603)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (22)) + (Prims.of_int (1603)) + (Prims.of_int (84))))) + (Obj.magic (quote_polynomial ta quotea e1)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (22)) + (Prims.of_int (1603)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (22)) + (Prims.of_int (1603)) + (Prims.of_int (84))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (54)) + (Prims.of_int (1603)) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1603)) + (Prims.of_int (22)) + (Prims.of_int (1603)) + (Prims.of_int (84))))) + (Obj.magic + (quote_polynomial ta + quotea e2)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + [uu___1])))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___ :: + uu___1)))) uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommSemiring"; + "Pplus"]))) uu___)))) + | Pmult (e1, e2) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) (Prims.of_int (22)) + (Prims.of_int (1605)) (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) (Prims.of_int (4)) + (Prims.of_int (1605)) (Prims.of_int (84))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (23)) + (Prims.of_int (1605)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (22)) + (Prims.of_int (1605)) + (Prims.of_int (84))))) + (Obj.magic (quote_polynomial ta quotea e1)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (22)) + (Prims.of_int (1605)) + (Prims.of_int (84))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (22)) + (Prims.of_int (1605)) + (Prims.of_int (84))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (54)) + (Prims.of_int (1605)) + (Prims.of_int (83))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1605)) + (Prims.of_int (22)) + (Prims.of_int (1605)) + (Prims.of_int (84))))) + (Obj.magic + (quote_polynomial ta + quotea e2)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + [uu___1])))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___ :: + uu___1)))) uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommSemiring"; + "Pmult"]))) uu___)))) + | Popp e1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1606)) (Prims.of_int (31)) + (Prims.of_int (1606)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1606)) (Prims.of_int (14)) + (Prims.of_int (1606)) (Prims.of_int (61))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1606)) + (Prims.of_int (32)) + (Prims.of_int (1606)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1606)) + (Prims.of_int (31)) + (Prims.of_int (1606)) + (Prims.of_int (61))))) + (Obj.magic (quote_polynomial ta quotea e1)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> [uu___])))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "CanonCommSemiring"; + "Popp"]))) uu___))))) uu___2 + uu___1 uu___ let canon_semiring_aux : 'a . - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> ('a -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> 'a -> (unit, unit) FStar_Tactics_Effect.tac_repr = fun ta -> @@ -2096,78 +2306,95 @@ let canon_semiring_aux : fun tmone -> fun tmult -> fun munit -> - FStar_Tactics_Derived.focus + FStar_Tactics_V2_Derived.focus (fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1628)) (Prims.of_int (2)) - (Prims.of_int (1628)) (Prims.of_int (9))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1628)) (Prims.of_int (10)) - (Prims.of_int (1673)) (Prims.of_int (42))) - (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1628)) (Prims.of_int (2)) + (Prims.of_int (1628)) (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1628)) (Prims.of_int (10)) + (Prims.of_int (1673)) (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1629)) - (Prims.of_int (10)) - (Prims.of_int (1629)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1630)) - (Prims.of_int (2)) - (Prims.of_int (1673)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1629)) + (Prims.of_int (10)) + (Prims.of_int (1629)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1630)) + (Prims.of_int (2)) + (Prims.of_int (1673)) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Derived.cur_goal ())) + (FStar_Tactics_V2_Derived.cur_goal + ())) (fun uu___2 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1630)) - (Prims.of_int (8)) - (Prims.of_int (1630)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1630)) - (Prims.of_int (2)) - (Prims.of_int (1673)) - (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1630)) + (Prims.of_int (8)) + (Prims.of_int (1630)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1630)) + (Prims.of_int (2)) + (Prims.of_int (1673)) + (Prims.of_int (42))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq (FStar_Pervasives_Native.Some t), t1, t2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1634)) (Prims.of_int (9)) (Prims.of_int (1634)) - (Prims.of_int (21))) - (FStar_Range.mk_range + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1634)) (Prims.of_int (6)) (Prims.of_int (1671)) - (Prims.of_int (73))) + (Prims.of_int (73))))) (Obj.magic (term_eq t ta)) @@ -2180,18 +2407,22 @@ let canon_semiring_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1636)) (Prims.of_int (12)) (Prims.of_int (1636)) - (Prims.of_int (76))) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1636)) (Prims.of_int (6)) (Prims.of_int (1669)) - (Prims.of_int (30))) + (Prims.of_int (30))))) (Obj.magic (reification unquotea @@ -2213,18 +2444,22 @@ let canon_semiring_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1650)) (Prims.of_int (18)) (Prims.of_int (1650)) - (Prims.of_int (39))) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1650)) (Prims.of_int (42)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (quote_vm ta quotea @@ -2235,18 +2470,22 @@ let canon_semiring_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1651)) (Prims.of_int (18)) (Prims.of_int (1651)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1651)) (Prims.of_int (50)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (quote_polynomial ta quotea @@ -2257,18 +2496,22 @@ let canon_semiring_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1653)) (Prims.of_int (18)) (Prims.of_int (1653)) - (Prims.of_int (47))) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1655)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (quote_polynomial ta quotea @@ -2279,73 +2522,82 @@ let canon_semiring_aux : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1655)) (Prims.of_int (8)) (Prims.of_int (1656)) - (Prims.of_int (64))) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1658)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_Derived.mapply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_MApply.mapply + FStar_Tactics_MApply.termable_term + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommSemiring"; "semiring_reflect"]))), (ta, - FStar_Reflection_Data.Q_Implicit)))), + FStar_Reflection_V2_Data.Q_Implicit)))), (tr, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (tvm, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (te1, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (te2, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (t1, - FStar_Reflection_Data.Q_Explicit)))), + FStar_Reflection_V2_Data.Q_Explicit)))), (t2, - FStar_Reflection_Data.Q_Explicit)))))) + FStar_Reflection_V2_Data.Q_Explicit)))))) (fun uu___5 -> (fun uu___5 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1658)) (Prims.of_int (8)) (Prims.of_int (1658)) - (Prims.of_int (21))) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1660)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (canon_norm ())) @@ -2355,20 +2607,24 @@ let canon_semiring_aux : uu___6 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1660)) (Prims.of_int (8)) (Prims.of_int (1660)) - (Prims.of_int (16))) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1662)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_Derived.later + (FStar_Tactics_V2_Derived.later ())) (fun uu___7 -> @@ -2376,18 +2632,22 @@ let canon_semiring_aux : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1662)) (Prims.of_int (8)) (Prims.of_int (1662)) - (Prims.of_int (21))) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1664)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (canon_norm ())) @@ -2397,20 +2657,24 @@ let canon_semiring_aux : uu___8 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1664)) (Prims.of_int (8)) (Prims.of_int (1664)) - (Prims.of_int (16))) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1666)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) (fun uu___9 -> @@ -2418,18 +2682,22 @@ let canon_semiring_aux : uu___9 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1666)) (Prims.of_int (8)) (Prims.of_int (1666)) - (Prims.of_int (21))) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1668)) (Prims.of_int (8)) (Prims.of_int (1668)) - (Prims.of_int (16))) + (Prims.of_int (16))))) (Obj.magic (canon_norm ())) @@ -2440,7 +2708,7 @@ let canon_semiring_aux : uu___10 -> Obj.magic - (FStar_Tactics_Derived.trefl + (FStar_Tactics_V2_Derived.trefl ())) uu___10))) uu___9))) @@ -2455,19 +2723,19 @@ let canon_semiring_aux : uu___5 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Unexpected"))) uu___4))) else Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Found equality, but terms do not have the expected type"))) uu___3))) | uu___3 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality"))) uu___2))) uu___2))) uu___1)) @@ -2475,12 +2743,16 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr = fun r -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1677)) (Prims.of_int (4)) (Prims.of_int (1677)) - (Prims.of_int (13))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) (Prims.of_int (2)) (Prims.of_int (1682)) - (Prims.of_int (17))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1677)) (Prims.of_int (4)) (Prims.of_int (1677)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1676)) (Prims.of_int (2)) (Prims.of_int (1682)) + (Prims.of_int (17))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -2491,12 +2763,18 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1677)) (Prims.of_int (50)) - (Prims.of_int (1677)) (Prims.of_int (59))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) (Prims.of_int (2)) - (Prims.of_int (1682)) (Prims.of_int (17))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1677)) (Prims.of_int (50)) + (Prims.of_int (1677)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1676)) (Prims.of_int (2)) + (Prims.of_int (1682)) (Prims.of_int (17))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (fun uu___1 -> @@ -2508,27 +2786,38 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1678)) (Prims.of_int (4)) - (Prims.of_int (1678)) (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) (Prims.of_int (2)) - (Prims.of_int (1682)) (Prims.of_int (17))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1678)) (Prims.of_int (4)) (Prims.of_int (1678)) - (Prims.of_int (21)) - (Prims.of_int (1678)) - (Prims.of_int (42))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1678)) (Prims.of_int (4)) - (Prims.of_int (1678)) - (Prims.of_int (43))) + (Prims.of_int (1676)) (Prims.of_int (2)) + (Prims.of_int (1682)) + (Prims.of_int (17))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1678)) + (Prims.of_int (21)) + (Prims.of_int (1678)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1678)) + (Prims.of_int (4)) + (Prims.of_int (1678)) + (Prims.of_int (43))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (fun uu___2 -> @@ -2539,38 +2828,46 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___2 -> (fun uu___2 -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term steps uu___2)) uu___2))) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1679)) - (Prims.of_int (4)) - (Prims.of_int (1679)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) - (Prims.of_int (2)) - (Prims.of_int (1682)) - (Prims.of_int (17))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1679)) - (Prims.of_int (21)) + (Prims.of_int (4)) (Prims.of_int (1679)) - (Prims.of_int (34))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1679)) - (Prims.of_int (4)) - (Prims.of_int (1679)) - (Prims.of_int (35))) + (Prims.of_int (1676)) + (Prims.of_int (2)) + (Prims.of_int (1682)) + (Prims.of_int (17))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1679)) + (Prims.of_int (21)) + (Prims.of_int (1679)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1679)) + (Prims.of_int (4)) + (Prims.of_int (1679)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> (fun uu___3 -> @@ -2581,38 +2878,46 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___3 -> (fun uu___3 -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term steps uu___3)) uu___3))) (fun uu___3 -> (fun uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1680)) - (Prims.of_int (4)) - (Prims.of_int (1680)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) - (Prims.of_int (2)) - (Prims.of_int (1682)) - (Prims.of_int (17))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1680)) - (Prims.of_int (21)) + (Prims.of_int (4)) (Prims.of_int (1680)) - (Prims.of_int (51))) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1680)) - (Prims.of_int (4)) - (Prims.of_int (1680)) - (Prims.of_int (52))) + (Prims.of_int (1676)) + (Prims.of_int (2)) + (Prims.of_int (1682)) + (Prims.of_int (17))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1680)) + (Prims.of_int (21)) + (Prims.of_int (1680)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1680)) + (Prims.of_int (4)) + (Prims.of_int (1680)) + (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> (fun uu___4 -> @@ -2623,7 +2928,7 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___4 -> (fun uu___4 -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term steps uu___4)) uu___4))) @@ -2631,32 +2936,40 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1681)) - (Prims.of_int (4)) - (Prims.of_int (1681)) - (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1676)) - (Prims.of_int (2)) - (Prims.of_int (1682)) - (Prims.of_int (17))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1681)) + (Prims.of_int (4)) + (Prims.of_int (1681)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1676)) + (Prims.of_int (2)) + (Prims.of_int (1682)) + (Prims.of_int (17))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1681)) (Prims.of_int (21)) (Prims.of_int (1681)) - (Prims.of_int (43))) - (FStar_Range.mk_range + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1681)) (Prims.of_int (4)) (Prims.of_int (1681)) - (Prims.of_int (44))) + (Prims.of_int (44))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -2671,7 +2984,7 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr (fun uu___5 -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term steps uu___5)) uu___5))) @@ -2681,7 +2994,7 @@ let canon_semiring : 'a . 'a cr -> (unit, unit) FStar_Tactics_Effect.tac_repr Obj.magic (canon_semiring_aux uu___ - FStar_Tactics_Builtins.unquote + FStar_Tactics_V2_Builtins.unquote (fun uu___6 -> (fun x -> @@ -2714,47 +3027,60 @@ let (int_cr : Prims.int cr) = let (int_semiring : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1695)) (Prims.of_int (10)) (Prims.of_int (1695)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1695)) (Prims.of_int (4)) (Prims.of_int (1701)) - (Prims.of_int (29))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1695)) (Prims.of_int (26)) - (Prims.of_int (1695)) (Prims.of_int (39))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" (Prims.of_int (1695)) (Prims.of_int (10)) - (Prims.of_int (1695)) (Prims.of_int (39))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (Prims.of_int (1695)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1695)) (Prims.of_int (4)) (Prims.of_int (1701)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1695)) (Prims.of_int (26)) + (Prims.of_int (1695)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1695)) (Prims.of_int (10)) + (Prims.of_int (1695)) (Prims.of_int (39))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun uu___1 -> - Obj.magic (FStar_Reflection_Formula.term_as_formula uu___1)) + Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula uu___1)) uu___1))) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq (FStar_Pervasives_Native.Some + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq (FStar_Pervasives_Native.Some t), uu___2, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1697)) (Prims.of_int (11)) - (Prims.of_int (1697)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1697)) (Prims.of_int (8)) - (Prims.of_int (1699)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1697)) (Prims.of_int (11)) + (Prims.of_int (1697)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1697)) (Prims.of_int (8)) + (Prims.of_int (1699)) (Prims.of_int (34))))) (Obj.magic (term_eq t - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "nat"]))))) (fun uu___4 -> (fun uu___4 -> @@ -2762,23 +3088,27 @@ let (int_semiring : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1698)) - (Prims.of_int (14)) - (Prims.of_int (1698)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.CanonCommSemiring.fst" - (Prims.of_int (1698)) - (Prims.of_int (45)) - (Prims.of_int (1698)) - (Prims.of_int (66))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1698)) + (Prims.of_int (14)) + (Prims.of_int (1698)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonCommSemiring.fst" + (Prims.of_int (1698)) + (Prims.of_int (45)) + (Prims.of_int (1698)) + (Prims.of_int (66))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonCommSemiring"; diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml index 3253c08b2f1..07d72e0eafb 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml @@ -2,17 +2,21 @@ open Prims let (dump : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (24)) (Prims.of_int (16)) (Prims.of_int (24)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (24)) (Prims.of_int (13)) (Prims.of_int (24)) - (Prims.of_int (40))) - (Obj.magic (FStar_Tactics_Builtins.debugging ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (24)) (Prims.of_int (16)) (Prims.of_int (24)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (24)) (Prims.of_int (13)) (Prims.of_int (24)) + (Prims.of_int (40))))) + (Obj.magic (FStar_Tactics_V2_Builtins.debugging ())) (fun uu___ -> (fun uu___ -> if uu___ - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.dump m)) + then Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.dump m)) else Obj.magic (Obj.repr @@ -73,69 +77,88 @@ let rec flatten : 'a . 'a exp -> 'a Prims.list = | Mult (e1, e2) -> FStar_List_Tot_Base.op_At (flatten e1) (flatten e2) let rec reification_aux : 'a . - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> ('a exp, unit) FStar_Tactics_Effect.tac_repr = fun mult -> fun unit -> fun me -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (84)) (Prims.of_int (15)) (Prims.of_int (84)) - (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (83)) (Prims.of_int (71)) (Prims.of_int (94)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (84)) (Prims.of_int (15)) + (Prims.of_int (84)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (83)) (Prims.of_int (71)) + (Prims.of_int (94)) (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Derived_Lemmas.collect_app_ref me)) + (fun uu___ -> + FStar_Reflection_V2_Derived_Lemmas.collect_app_ref me)) (fun uu___ -> (fun uu___ -> match uu___ with | (hd, tl) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (85)) (Prims.of_int (11)) - (Prims.of_int (85)) (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (86)) (Prims.of_int (2)) - (Prims.of_int (94)) (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (85)) (Prims.of_int (11)) + (Prims.of_int (85)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (86)) (Prims.of_int (2)) + (Prims.of_int (94)) (Prims.of_int (25))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_List_Tot_Base.list_unref tl)) (fun uu___1 -> (fun tl1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (86)) (Prims.of_int (8)) - (Prims.of_int (86)) - (Prims.of_int (22))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (86)) (Prims.of_int (2)) - (Prims.of_int (94)) - (Prims.of_int (25))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (86)) (Prims.of_int (8)) (Prims.of_int (86)) - (Prims.of_int (18))) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (86)) - (Prims.of_int (8)) - (Prims.of_int (86)) - (Prims.of_int (22))) + (Prims.of_int (2)) + (Prims.of_int (94)) + (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (86)) + (Prims.of_int (8)) + (Prims.of_int (86)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (86)) + (Prims.of_int (8)) + (Prims.of_int (86)) + (Prims.of_int (22))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect hd)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -143,70 +166,58 @@ let rec reification_aux : (fun uu___1 -> (fun uu___1 -> match uu___1 with - | (FStar_Reflection_Data.Tv_FVar + | (FStar_Tactics_NamedView.Tv_FVar fv, (me1, - FStar_Reflection_Data.Q_Explicit):: + FStar_Reflection_V2_Data.Q_Explicit):: (me2, - FStar_Reflection_Data.Q_Explicit)::[]) + FStar_Reflection_V2_Data.Q_Explicit)::[]) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (88)) - (Prims.of_int (7)) - (Prims.of_int (88)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (88)) - (Prims.of_int (4)) - (Prims.of_int (90)) - (Prims.of_int (25))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (88)) - (Prims.of_int (19)) + (Prims.of_int (7)) (Prims.of_int (88)) - (Prims.of_int (38))) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (88)) - (Prims.of_int (7)) - (Prims.of_int (88)) - (Prims.of_int (43))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - fv))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Builtins.term_eq_old - uu___2 - mult)) - uu___2))) + (Prims.of_int (4)) + (Prims.of_int (90)) + (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_eq_old + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + fv)) mult)) (fun uu___2 -> (fun uu___2 -> if uu___2 then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (89)) - (Prims.of_int (14)) - (Prims.of_int (89)) - (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (89)) - (Prims.of_int (9)) - (Prims.of_int (89)) - (Prims.of_int (77))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (89)) + (Prims.of_int (14)) + (Prims.of_int (89)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (89)) + (Prims.of_int (9)) + (Prims.of_int (89)) + (Prims.of_int (77))))) (Obj.magic (reification_aux mult unit @@ -217,18 +228,22 @@ let rec reification_aux : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (89)) (Prims.of_int (46)) (Prims.of_int (89)) - (Prims.of_int (77))) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (89)) (Prims.of_int (9)) (Prims.of_int (89)) - (Prims.of_int (77))) + (Prims.of_int (77))))) (Obj.magic (reification_aux mult unit @@ -245,20 +260,24 @@ let rec reification_aux : else Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (90)) - (Prims.of_int (13)) - (Prims.of_int (90)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (90)) - (Prims.of_int (9)) - (Prims.of_int (90)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (90)) + (Prims.of_int (13)) + (Prims.of_int (90)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (90)) + (Prims.of_int (9)) + (Prims.of_int (90)) + (Prims.of_int (25))))) (Obj.magic - (FStar_Tactics_Builtins.unquote + (FStar_Tactics_V2_Builtins.unquote me)) (fun uu___4 -> @@ -271,20 +290,24 @@ let rec reification_aux : | (uu___2, uu___3) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (92)) - (Prims.of_int (7)) - (Prims.of_int (92)) - (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (92)) - (Prims.of_int (4)) - (Prims.of_int (94)) - (Prims.of_int (25))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (92)) + (Prims.of_int (7)) + (Prims.of_int (92)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (92)) + (Prims.of_int (4)) + (Prims.of_int (94)) + (Prims.of_int (25))))) (Obj.magic - (FStar_Tactics_Builtins.term_eq_old + (FStar_Tactics_V2_Builtins.term_eq_old me unit)) (fun uu___4 -> (fun uu___4 -> @@ -300,20 +323,24 @@ let rec reification_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (94)) (Prims.of_int (13)) (Prims.of_int (94)) - (Prims.of_int (25))) - (FStar_Range.mk_range + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (94)) (Prims.of_int (9)) (Prims.of_int (94)) - (Prims.of_int (25))) + (Prims.of_int (25))))) (Obj.magic - (FStar_Tactics_Builtins.unquote + (FStar_Tactics_V2_Builtins.unquote me)) (fun uu___6 -> @@ -327,26 +354,34 @@ let rec reification_aux : let reification : 'a . 'a FStar_Algebra_Monoid.monoid -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ('a exp, unit) FStar_Tactics_Effect.tac_repr = fun m -> fun me -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (97)) (Prims.of_int (15)) (Prims.of_int (97)) - (Prims.of_int (67))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (97)) (Prims.of_int (70)) (Prims.of_int (103)) - (Prims.of_int (32))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (97)) (Prims.of_int (43)) (Prims.of_int (97)) - (Prims.of_int (67))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (97)) (Prims.of_int (15)) (Prims.of_int (97)) - (Prims.of_int (67))) + (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (97)) (Prims.of_int (70)) (Prims.of_int (103)) + (Prims.of_int (32))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (97)) (Prims.of_int (43)) + (Prims.of_int (97)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (97)) (Prims.of_int (15)) + (Prims.of_int (97)) (Prims.of_int (67))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -357,7 +392,7 @@ let reification : (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] uu___)) uu___))) @@ -365,22 +400,32 @@ let reification : (fun mult -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (98)) (Prims.of_int (15)) - (Prims.of_int (98)) (Prims.of_int (67))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (98)) (Prims.of_int (70)) - (Prims.of_int (103)) (Prims.of_int (32))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (98)) (Prims.of_int (43)) - (Prims.of_int (98)) (Prims.of_int (67))) + (Prims.of_int (98)) (Prims.of_int (15)) + (Prims.of_int (98)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (98)) (Prims.of_int (15)) - (Prims.of_int (98)) (Prims.of_int (67))) + (Prims.of_int (98)) (Prims.of_int (70)) + (Prims.of_int (103)) (Prims.of_int (32))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (98)) (Prims.of_int (43)) + (Prims.of_int (98)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (98)) (Prims.of_int (15)) + (Prims.of_int (98)) (Prims.of_int (67))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -391,7 +436,7 @@ let reification : (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] uu___)) uu___))) @@ -399,16 +444,24 @@ let reification : (fun unit -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (99)) (Prims.of_int (15)) - (Prims.of_int (99)) (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (103)) (Prims.of_int (4)) - (Prims.of_int (103)) (Prims.of_int (32))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (99)) + (Prims.of_int (15)) + (Prims.of_int (99)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (103)) + (Prims.of_int (4)) + (Prims.of_int (103)) + (Prims.of_int (32))))) (Obj.magic - (FStar_Tactics_Derived.norm_term + (FStar_Tactics_V2_Derived.norm_term [FStar_Pervasives.delta; FStar_Pervasives.zeta; FStar_Pervasives.iota] me)) @@ -423,74 +476,95 @@ let canon_monoid : = fun m -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (106)) (Prims.of_int (2)) (Prims.of_int (106)) - (Prims.of_int (9))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (106)) (Prims.of_int (10)) (Prims.of_int (120)) - (Prims.of_int (42))) (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (106)) (Prims.of_int (2)) (Prims.of_int (106)) + (Prims.of_int (9))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (106)) (Prims.of_int (10)) (Prims.of_int (120)) + (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (107)) (Prims.of_int (10)) - (Prims.of_int (107)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (108)) (Prims.of_int (2)) - (Prims.of_int (120)) (Prims.of_int (42))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (107)) (Prims.of_int (10)) + (Prims.of_int (107)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (108)) (Prims.of_int (2)) + (Prims.of_int (120)) (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (108)) (Prims.of_int (8)) - (Prims.of_int (108)) (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (108)) (Prims.of_int (2)) - (Prims.of_int (120)) (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (108)) (Prims.of_int (8)) + (Prims.of_int (108)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (108)) (Prims.of_int (2)) + (Prims.of_int (120)) (Prims.of_int (42))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula g)) + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq (FStar_Pervasives_Native.Some t), me1, me2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (110)) - (Prims.of_int (9)) - (Prims.of_int (110)) - (Prims.of_int (32))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (110)) - (Prims.of_int (6)) - (Prims.of_int (119)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (110)) - (Prims.of_int (23)) + (Prims.of_int (9)) (Prims.of_int (110)) - (Prims.of_int (32))) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (110)) - (Prims.of_int (9)) - (Prims.of_int (110)) - (Prims.of_int (32))) + (Prims.of_int (6)) + (Prims.of_int (119)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (110)) + (Prims.of_int (23)) + (Prims.of_int (110)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (110)) + (Prims.of_int (9)) + (Prims.of_int (110)) + (Prims.of_int (32))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (fun uu___2 -> @@ -501,7 +575,7 @@ let canon_monoid : (fun uu___2 -> (fun uu___2 -> Obj.magic - (FStar_Tactics_Builtins.term_eq_old + (FStar_Tactics_V2_Builtins.term_eq_old t uu___2)) uu___2))) (fun uu___2 -> @@ -511,18 +585,24 @@ let canon_monoid : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (111)) - (Prims.of_int (17)) - (Prims.of_int (111)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.CanonMonoid.fst" - (Prims.of_int (111)) - (Prims.of_int (37)) - (Prims.of_int (118)) - (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (111)) + (Prims.of_int (17)) + (Prims.of_int (111)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.CanonMonoid.fst" + (Prims.of_int (111)) + (Prims.of_int (37)) + (Prims.of_int (118)) + (Prims.of_int (51))))) (Obj.magic (reification m me1)) @@ -530,18 +610,22 @@ let canon_monoid : (fun r1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (112)) (Prims.of_int (17)) (Prims.of_int (112)) - (Prims.of_int (34))) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (113)) (Prims.of_int (8)) (Prims.of_int (118)) - (Prims.of_int (51))) + (Prims.of_int (51))))) (Obj.magic (reification m me2)) @@ -551,32 +635,40 @@ let canon_monoid : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (113)) (Prims.of_int (8)) (Prims.of_int (113)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (114)) (Prims.of_int (8)) (Prims.of_int (118)) - (Prims.of_int (51))) + (Prims.of_int (51))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (113)) (Prims.of_int (18)) (Prims.of_int (113)) - (Prims.of_int (56))) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (113)) (Prims.of_int (8)) (Prims.of_int (113)) - (Prims.of_int (56))) + (Prims.of_int (56))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -591,7 +683,7 @@ let canon_monoid : (fun uu___3 -> Obj.magic - (FStar_Tactics_Derived.change_sq + (FStar_Tactics_V2_Derived.change_sq uu___3)) uu___3))) (fun @@ -600,23 +692,27 @@ let canon_monoid : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (114)) (Prims.of_int (8)) (Prims.of_int (114)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.CanonMonoid.fst" (Prims.of_int (115)) (Prims.of_int (8)) (Prims.of_int (118)) - (Prims.of_int (51))) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "CanonMonoid"; @@ -626,7 +722,7 @@ let canon_monoid : (fun uu___4 -> Obj.magic - (FStar_Tactics_Builtins.norm + (FStar_Tactics_V2_Builtins.norm [ FStar_Pervasives.delta_only ["FStar.Tactics.CanonMonoid.mldenote"; @@ -640,12 +736,12 @@ let canon_monoid : else Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality at the right monoid type"))) uu___2))) | uu___2 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "Goal should be an equality"))) uu___1))) uu___1))) uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CtrlRewrite.ml b/ocaml/fstar-lib/generated/FStar_Tactics_CtrlRewrite.ml index 1b499f20360..e90962a568b 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_CtrlRewrite.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_CtrlRewrite.ml @@ -94,6 +94,8 @@ let (__do_rewrite : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -183,7 +185,8 @@ let (__do_rewrite : FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Allow_ghost "do_rewrite.lhs") in let uu___4 = - let uu___5 = FStar_Tactics_Basic.goal_typedness_deps g0 in + let uu___5 = + FStar_Tactics_V2_Basic.goal_typedness_deps g0 in FStar_Tactics_Monad.new_uvar "do_rewrite.rhs" env typ should_check uu___5 (rangeof g0) in FStar_Tactics_Monad.op_let_Bang uu___4 @@ -215,7 +218,8 @@ let (__do_rewrite : FStar_Tactics_Monad.op_let_Bang uu___8 (fun uu___9 -> let uu___10 = - FStar_Tactics_Basic.focus rewriter in + FStar_Tactics_V2_Basic.focus + rewriter in FStar_Tactics_Monad.op_let_Bang uu___10 (fun uu___11 -> @@ -901,7 +905,7 @@ let (ctrl_rewrite : FStar_Tactics_Monad.op_let_Bang uu___8 (fun uu___9 -> let g1 = - FStar_Tactics_Basic.goal_with_type + FStar_Tactics_V2_Basic.goal_with_type g gt' in FStar_Tactics_Monad.add_goals [g1])))))) in diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml index 5617a7f7ad7..e8306abedb2 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml @@ -1,4452 +1 @@ -open Prims -let (name_of_bv : - FStar_Reflection_Types.bv -> - (Prims.string, unit) FStar_Tactics_Effect.tac_repr) - = - fun bv -> - FStar_Tactics_Builtins.unseal - (FStar_Reflection_Builtins.inspect_bv bv).FStar_Reflection_Data.bv_ppname -let (bv_to_string : - FStar_Reflection_Types.bv -> - (Prims.string, unit) FStar_Tactics_Effect.tac_repr) - = fun bv -> name_of_bv bv -let (name_of_binder : - FStar_Reflection_Types.binder -> - (Prims.string, unit) FStar_Tactics_Effect.tac_repr) - = fun b -> name_of_bv (FStar_Reflection_Derived.bv_of_binder b) -let (binder_to_string : - FStar_Reflection_Types.binder -> - (Prims.string, unit) FStar_Tactics_Effect.tac_repr) - = fun b -> bv_to_string (FStar_Reflection_Derived.bv_of_binder b) -exception Goal_not_trivial -let (uu___is_Goal_not_trivial : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Goal_not_trivial -> true | uu___ -> false -let (goals : - unit -> - (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (47)) - (Prims.of_int (42)) (Prims.of_int (47)) (Prims.of_int (50))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (47)) - (Prims.of_int (33)) (Prims.of_int (47)) (Prims.of_int (50))) - (FStar_Tactics_Effect.get ()) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)) -let (smt_goals : - unit -> - (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (48)) - (Prims.of_int (50)) (Prims.of_int (48)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (48)) - (Prims.of_int (37)) (Prims.of_int (48)) (Prims.of_int (58))) - (FStar_Tactics_Effect.get ()) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.smt_goals_of uu___1)) -let fail : 'a . Prims.string -> ('a, Obj.t) FStar_Tactics_Effect.tac_repr = - fun m -> FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m) -let fail_silently : - 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = - fun m -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (56)) - (Prims.of_int (4)) (Prims.of_int (56)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (57)) - (Prims.of_int (4)) (Prims.of_int (57)) (Prims.of_int (30))) - (Obj.magic (FStar_Tactics_Builtins.set_urgency Prims.int_zero)) - (fun uu___ -> - FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m)) -let (_cur_goal : - unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (61)) - (Prims.of_int (10)) (Prims.of_int (61)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (61)) - (Prims.of_int (4)) (Prims.of_int (63)) (Prims.of_int (15))) - (Obj.magic (goals ())) - (fun uu___1 -> - match uu___1 with - | [] -> fail "no more goals" - | g::uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> g)) -let (cur_env : - unit -> (FStar_Reflection_Types.env, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (66)) - (Prims.of_int (36)) (Prims.of_int (66)) (Prims.of_int (50))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (66)) - (Prims.of_int (27)) (Prims.of_int (66)) (Prims.of_int (50))) - (Obj.magic (_cur_goal ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.goal_env uu___1)) -let (cur_goal : - unit -> (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (69)) - (Prims.of_int (38)) (Prims.of_int (69)) (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (69)) - (Prims.of_int (28)) (Prims.of_int (69)) (Prims.of_int (52))) - (Obj.magic (_cur_goal ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.goal_type uu___1)) -let (cur_witness : - unit -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (72)) - (Prims.of_int (45)) (Prims.of_int (72)) (Prims.of_int (59))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (72)) - (Prims.of_int (32)) (Prims.of_int (72)) (Prims.of_int (59))) - (Obj.magic (_cur_goal ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.goal_witness uu___1)) -let (cur_goal_safe : - unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (79)) - (Prims.of_int (9)) (Prims.of_int (79)) (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (79)) - (Prims.of_int (3)) (Prims.of_int (80)) (Prims.of_int (16))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (79)) (Prims.of_int (18)) (Prims.of_int (79)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (79)) (Prims.of_int (9)) (Prims.of_int (79)) - (Prims.of_int (26))) (FStar_Tactics_Effect.get ()) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> match uu___1 with | g::uu___3 -> g)) -let (cur_binders : - unit -> - (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (84)) - (Prims.of_int (19)) (Prims.of_int (84)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (84)) - (Prims.of_int (4)) (Prims.of_int (84)) (Prims.of_int (31))) - (Obj.magic (cur_env ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Reflection_Builtins.binders_of_env uu___1)) -let with_policy : - 'a . - FStar_Tactics_Types.guard_policy -> - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun pol -> - fun f -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (88)) - (Prims.of_int (18)) (Prims.of_int (88)) (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (89)) - (Prims.of_int (4)) (Prims.of_int (92)) (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Builtins.get_guard_policy ())) - (fun uu___ -> - (fun old_pol -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (89)) (Prims.of_int (4)) - (Prims.of_int (89)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (89)) (Prims.of_int (25)) - (Prims.of_int (92)) (Prims.of_int (5))) - (Obj.magic (FStar_Tactics_Builtins.set_guard_policy pol)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (90)) (Prims.of_int (12)) - (Prims.of_int (90)) (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (91)) (Prims.of_int (4)) - (Prims.of_int (92)) (Prims.of_int (5))) - (Obj.magic (f ())) - (fun uu___1 -> - (fun r -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (91)) - (Prims.of_int (4)) - (Prims.of_int (91)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (90)) - (Prims.of_int (8)) - (Prims.of_int (90)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Builtins.set_guard_policy - old_pol)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> r)))) uu___1))) - uu___))) uu___) -let (exact : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - with_policy FStar_Tactics_Types.SMT - (fun uu___ -> FStar_Tactics_Builtins.t_exact true false t) -let (exact_with_ref : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - with_policy FStar_Tactics_Types.SMT - (fun uu___ -> FStar_Tactics_Builtins.t_exact true true t) -let (trivial : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (106)) - (Prims.of_int (2)) (Prims.of_int (106)) (Prims.of_int (61))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (106)) - (Prims.of_int (62)) (Prims.of_int (110)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Builtins.norm - [FStar_Pervasives.iota; - FStar_Pervasives.zeta; - FStar_Pervasives.reify_; - FStar_Pervasives.delta; - FStar_Pervasives.primops; - FStar_Pervasives.simplify; - FStar_Pervasives.unmeta])) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (107)) (Prims.of_int (10)) - (Prims.of_int (107)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (108)) (Prims.of_int (2)) - (Prims.of_int (110)) (Prims.of_int (31))) - (Obj.magic (cur_goal ())) - (fun uu___2 -> - (fun g -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (108)) (Prims.of_int (8)) - (Prims.of_int (108)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (108)) (Prims.of_int (2)) - (Prims.of_int (110)) (Prims.of_int (31))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula g)) - (fun uu___2 -> - (fun uu___2 -> - match uu___2 with - | FStar_Reflection_Formula.True_ -> - Obj.magic - (Obj.repr - (exact - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)))) - | uu___3 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.raise - Goal_not_trivial))) uu___2))) - uu___2))) uu___1) -let (dismiss : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (122)) - (Prims.of_int (10)) (Prims.of_int (122)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (122)) - (Prims.of_int (4)) (Prims.of_int (124)) (Prims.of_int (27))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | [] -> Obj.magic (Obj.repr (fail "dismiss: no more goals")) - | uu___2::gs -> - Obj.magic (Obj.repr (FStar_Tactics_Builtins.set_goals gs))) - uu___1) -let (flip : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (128)) - (Prims.of_int (13)) (Prims.of_int (128)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (129)) - (Prims.of_int (4)) (Prims.of_int (131)) (Prims.of_int (42))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun gs -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (129)) (Prims.of_int (10)) - (Prims.of_int (129)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (129)) (Prims.of_int (4)) - (Prims.of_int (131)) (Prims.of_int (42))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | [] -> - Obj.magic - (Obj.repr (fail "flip: less than two goals")) - | uu___2::[] -> - Obj.magic - (Obj.repr (fail "flip: less than two goals")) - | g1::g2::gs1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Builtins.set_goals (g2 :: g1 - :: gs1)))) uu___1))) uu___1) -let (qed : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (135)) - (Prims.of_int (10)) (Prims.of_int (135)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (135)) - (Prims.of_int (4)) (Prims.of_int (137)) (Prims.of_int (32))) - (Obj.magic (goals ())) - (fun uu___1 -> - match uu___1 with - | [] -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()) - | uu___2 -> fail "qed: not done!") -let (debug : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun m -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (143)) - (Prims.of_int (7)) (Prims.of_int (143)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (143)) - (Prims.of_int (4)) (Prims.of_int (143)) (Prims.of_int (32))) - (Obj.magic (FStar_Tactics_Builtins.debugging ())) - (fun uu___ -> - (fun uu___ -> - if uu___ - then Obj.magic (Obj.repr (FStar_Tactics_Builtins.print m)) - else - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())))) - uu___) -let (smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (150)) - (Prims.of_int (10)) (Prims.of_int (150)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (150)) - (Prims.of_int (4)) (Prims.of_int (156)) (Prims.of_int (11))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (150)) (Prims.of_int (10)) (Prims.of_int (150)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (150)) (Prims.of_int (10)) (Prims.of_int (150)) - (Prims.of_int (32))) (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (150)) (Prims.of_int (20)) - (Prims.of_int (150)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (150)) (Prims.of_int (10)) - (Prims.of_int (150)) (Prims.of_int (32))) - (Obj.magic (smt_goals ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> (uu___1, uu___2))))) uu___1))) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | ([], uu___2) -> - Obj.magic (Obj.repr (fail "smt: no active goals")) - | (g::gs, gs') -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (154)) (Prims.of_int (8)) - (Prims.of_int (154)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (155)) (Prims.of_int (8)) - (Prims.of_int (155)) (Prims.of_int (32))) - (Obj.magic (FStar_Tactics_Builtins.set_goals gs)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Builtins.set_smt_goals (g :: - gs'))) uu___2)))) uu___1) -let (idtac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) - uu___ -let (later : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (162)) - (Prims.of_int (10)) (Prims.of_int (162)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (162)) - (Prims.of_int (4)) (Prims.of_int (164)) (Prims.of_int (33))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | g::gs -> - Obj.magic - (Obj.repr - (FStar_Tactics_Builtins.set_goals - (FStar_List_Tot_Base.op_At gs [g]))) - | uu___2 -> Obj.magic (Obj.repr (fail "later: no goals"))) uu___1) -let (apply : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply true false false t -let (apply_noinst : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply true true false t -let (apply_lemma : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply_lemma false false t -let (trefl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> FStar_Tactics_Builtins.t_trefl false -let (trefl_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> FStar_Tactics_Builtins.t_trefl true -let (commute_applied_match : - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> FStar_Tactics_Builtins.t_commute_applied_match () -let (apply_lemma_noinst : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply_lemma true false t -let (apply_lemma_rw : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply_lemma false true t -let (apply_raw : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Builtins.t_apply false false false t -let (exact_guard : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - with_policy FStar_Tactics_Types.Goal - (fun uu___ -> FStar_Tactics_Builtins.t_exact true false t) -let (t_pointwise : - FStar_Tactics_Types.direction -> - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun d -> - fun tau -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (223)) (Prims.of_int (4)) (Prims.of_int (223)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (224)) (Prims.of_int (4)) (Prims.of_int (228)) - (Prims.of_int (24))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - fun uu___ -> - (fun uu___ -> - fun t -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> (true, FStar_Tactics_Types.Continue)))) - uu___1 uu___)) - (fun uu___ -> - (fun ctrl -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (226)) (Prims.of_int (4)) - (Prims.of_int (226)) (Prims.of_int (10))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (228)) (Prims.of_int (2)) - (Prims.of_int (228)) (Prims.of_int (24))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> fun uu___1 -> tau ())) - (fun uu___ -> - (fun rw -> - Obj.magic - (FStar_Tactics_Builtins.ctrl_rewrite d ctrl rw)) - uu___))) uu___) -let (topdown_rewrite : - (FStar_Reflection_Types.term -> - ((Prims.bool * Prims.int), unit) FStar_Tactics_Effect.tac_repr) - -> - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun ctrl -> - fun rw -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (252)) (Prims.of_int (49)) (Prims.of_int (261)) - (Prims.of_int (10))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (263)) (Prims.of_int (4)) (Prims.of_int (263)) - (Prims.of_int (33))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (253)) (Prims.of_int (17)) - (Prims.of_int (253)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (252)) (Prims.of_int (49)) - (Prims.of_int (261)) (Prims.of_int (10))) - (Obj.magic (ctrl t)) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | (b, i) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (255)) (Prims.of_int (8)) - (Prims.of_int (259)) (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (261)) (Prims.of_int (6)) - (Prims.of_int (261)) (Prims.of_int (10))) - (match i with - | uu___2 when uu___2 = Prims.int_zero -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_Tactics_Types.Continue) - | uu___2 when uu___2 = Prims.int_one -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_Tactics_Types.Skip) - | uu___2 when uu___2 = (Prims.of_int (2)) - -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_Tactics_Types.Abort) - | uu___2 -> - fail - "topdown_rewrite: bad value from ctrl") - (fun f -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (b, f))))) uu___1))) - (fun uu___ -> - (fun ctrl' -> - Obj.magic - (FStar_Tactics_Builtins.ctrl_rewrite - FStar_Tactics_Types.TopDown ctrl' rw)) uu___) -let (pointwise : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun tau -> t_pointwise FStar_Tactics_Types.BottomUp tau -let (pointwise' : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun tau -> t_pointwise FStar_Tactics_Types.TopDown tau -let (cur_module : - unit -> (FStar_Reflection_Types.name, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (269)) - (Prims.of_int (13)) (Prims.of_int (269)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (269)) - (Prims.of_int (4)) (Prims.of_int (269)) (Prims.of_int (25))) - (Obj.magic (FStar_Tactics_Builtins.top_env ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Reflection_Builtins.moduleof uu___1)) -let (open_modules : - unit -> - (FStar_Reflection_Types.name Prims.list, unit) - FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (272)) - (Prims.of_int (21)) (Prims.of_int (272)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (272)) - (Prims.of_int (4)) (Prims.of_int (272)) (Prims.of_int (33))) - (Obj.magic (FStar_Tactics_Builtins.top_env ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Reflection_Builtins.env_open_modules uu___1)) -let (fresh_uvar : - FStar_Reflection_Types.typ FStar_Pervasives_Native.option -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun o -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (275)) - (Prims.of_int (12)) (Prims.of_int (275)) (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (276)) - (Prims.of_int (4)) (Prims.of_int (276)) (Prims.of_int (16))) - (Obj.magic (cur_env ())) - (fun uu___ -> - (fun e -> Obj.magic (FStar_Tactics_Builtins.uvar_env e o)) uu___) -let (unify : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - fun t2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (279)) (Prims.of_int (12)) (Prims.of_int (279)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (280)) (Prims.of_int (4)) (Prims.of_int (280)) - (Prims.of_int (21))) (Obj.magic (cur_env ())) - (fun uu___ -> - (fun e -> Obj.magic (FStar_Tactics_Builtins.unify_env e t1 t2)) - uu___) -let (unify_guard : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - fun t2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (283)) (Prims.of_int (12)) (Prims.of_int (283)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (284)) (Prims.of_int (4)) (Prims.of_int (284)) - (Prims.of_int (27))) (Obj.magic (cur_env ())) - (fun uu___ -> - (fun e -> - Obj.magic (FStar_Tactics_Builtins.unify_guard_env e t1 t2)) - uu___) -let (tmatch : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - fun t2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (287)) (Prims.of_int (12)) (Prims.of_int (287)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (288)) (Prims.of_int (4)) (Prims.of_int (288)) - (Prims.of_int (21))) (Obj.magic (cur_env ())) - (fun uu___ -> - (fun e -> Obj.magic (FStar_Tactics_Builtins.match_env e t1 t2)) - uu___) -let divide : - 'a 'b . - Prims.int -> - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (unit -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> - (('a * 'b), unit) FStar_Tactics_Effect.tac_repr - = - fun n -> - fun l -> - fun r -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (294)) (Prims.of_int (4)) (Prims.of_int (295)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (295)) (Prims.of_int (32)) (Prims.of_int (308)) - (Prims.of_int (10))) - (if n < Prims.int_zero - then fail "divide: negative n" - else FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) (Prims.of_int (18)) - (Prims.of_int (296)) (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (295)) (Prims.of_int (32)) - (Prims.of_int (308)) (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) (Prims.of_int (18)) - (Prims.of_int (296)) (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) (Prims.of_int (18)) - (Prims.of_int (296)) (Prims.of_int (40))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) - (Prims.of_int (28)) - (Prims.of_int (296)) - (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) - (Prims.of_int (18)) - (Prims.of_int (296)) - (Prims.of_int (40))) - (Obj.magic (smt_goals ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> (uu___1, uu___2))))) - uu___1))) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | (gs, sgs) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (297)) - (Prims.of_int (19)) - (Prims.of_int (297)) - (Prims.of_int (45))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (296)) - (Prims.of_int (43)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - FStar_List_Tot_Base.splitAt n gs)) - (fun uu___2 -> - (fun uu___2 -> - match uu___2 with - | (gs1, gs2) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (299)) - (Prims.of_int (4)) - (Prims.of_int (299)) - (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (299)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals - gs1)) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (299)) - (Prims.of_int (19)) - (Prims.of_int (299)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (299)) - (Prims.of_int (36)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - [])) - (fun uu___4 -> - (fun uu___4 - -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (300)) - (Prims.of_int (12)) - (Prims.of_int (300)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (300)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (l ())) - (fun - uu___5 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (301)) - (Prims.of_int (20)) - (Prims.of_int (301)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (300)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (301)) - (Prims.of_int (20)) - (Prims.of_int (301)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (301)) - (Prims.of_int (20)) - (Prims.of_int (301)) - (Prims.of_int (42))) - (Obj.magic - (goals ())) - (fun - uu___5 -> - (fun - uu___5 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (301)) - (Prims.of_int (30)) - (Prims.of_int (301)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (301)) - (Prims.of_int (20)) - (Prims.of_int (301)) - (Prims.of_int (42))) - (Obj.magic - (smt_goals - ())) - (fun - uu___6 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___7 -> - (uu___5, - uu___6))))) - uu___5))) - (fun - uu___5 -> - (fun - uu___5 -> - match uu___5 - with - | - (gsl, - sgsl) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (303)) - (Prims.of_int (4)) - (Prims.of_int (303)) - (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (303)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals - gs2)) - (fun - uu___6 -> - (fun - uu___6 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (303)) - (Prims.of_int (19)) - (Prims.of_int (303)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (303)) - (Prims.of_int (36)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - [])) - (fun - uu___7 -> - (fun - uu___7 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (304)) - (Prims.of_int (12)) - (Prims.of_int (304)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (304)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (r ())) - (fun - uu___8 -> - (fun y -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (305)) - (Prims.of_int (20)) - (Prims.of_int (305)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (304)) - (Prims.of_int (19)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (305)) - (Prims.of_int (20)) - (Prims.of_int (305)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (305)) - (Prims.of_int (20)) - (Prims.of_int (305)) - (Prims.of_int (42))) - (Obj.magic - (goals ())) - (fun - uu___8 -> - (fun - uu___8 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (305)) - (Prims.of_int (30)) - (Prims.of_int (305)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (305)) - (Prims.of_int (20)) - (Prims.of_int (305)) - (Prims.of_int (42))) - (Obj.magic - (smt_goals - ())) - (fun - uu___9 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___10 - -> - (uu___8, - uu___9))))) - uu___8))) - (fun - uu___8 -> - (fun - uu___8 -> - match uu___8 - with - | - (gsr, - sgsr) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (307)) - (Prims.of_int (4)) - (Prims.of_int (307)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (307)) - (Prims.of_int (27)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals - (FStar_List_Tot_Base.op_At - gsl gsr))) - (fun - uu___9 -> - (fun - uu___9 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (307)) - (Prims.of_int (27)) - (Prims.of_int (307)) - (Prims.of_int (60))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (308)) - (Prims.of_int (4)) - (Prims.of_int (308)) - (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - (FStar_List_Tot_Base.op_At - sgs - (FStar_List_Tot_Base.op_At - sgsl sgsr)))) - (fun - uu___10 - -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___11 - -> (x, y))))) - uu___9))) - uu___8))) - uu___8))) - uu___7))) - uu___6))) - uu___5))) - uu___5))) - uu___4))) - uu___3))) uu___2))) - uu___1))) uu___) -let rec (iseq : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun ts -> - match ts with - | t::ts1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (312)) (Prims.of_int (23)) - (Prims.of_int (312)) (Prims.of_int (53))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (312)) (Prims.of_int (57)) - (Prims.of_int (312)) (Prims.of_int (59))) - (Obj.magic - (divide Prims.int_one t (fun uu___ -> iseq ts1))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())))) - | [] -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ())))) - uu___ -let focus : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (318)) - (Prims.of_int (10)) (Prims.of_int (318)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (318)) - (Prims.of_int (4)) (Prims.of_int (325)) (Prims.of_int (9))) - (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | [] -> Obj.magic (Obj.repr (fail "focus: no goals")) - | g::gs -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (321)) (Prims.of_int (18)) - (Prims.of_int (321)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (322)) (Prims.of_int (8)) - (Prims.of_int (325)) (Prims.of_int (9))) - (Obj.magic (smt_goals ())) - (fun uu___1 -> - (fun sgs -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (322)) (Prims.of_int (8)) - (Prims.of_int (322)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (322)) - (Prims.of_int (23)) - (Prims.of_int (325)) (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals [g])) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (322)) - (Prims.of_int (23)) - (Prims.of_int (322)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (322)) - (Prims.of_int (40)) - (Prims.of_int (325)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - [])) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (323)) - (Prims.of_int (16)) - (Prims.of_int (323)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (8)) - (Prims.of_int (325)) - (Prims.of_int (9))) - (Obj.magic (t ())) - (fun uu___3 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - ( - FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (8)) - (Prims.of_int (324)) - (Prims.of_int (33))) - ( - FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (35)) - (Prims.of_int (325)) - (Prims.of_int (9))) - ( - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (18)) - (Prims.of_int (324)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (8)) - (Prims.of_int (324)) - (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (19)) - (Prims.of_int (324)) - (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (18)) - (Prims.of_int (324)) - (Prims.of_int (33))) - (Obj.magic - (goals ())) - (fun - uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___4 -> - FStar_List_Tot_Base.op_At - uu___3 gs)))) - (fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Builtins.set_goals - uu___3)) - uu___3))) - ( - fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (35)) - (Prims.of_int (324)) - (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (323)) - (Prims.of_int (12)) - (Prims.of_int (323)) - (Prims.of_int (13))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (49)) - (Prims.of_int (324)) - (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (35)) - (Prims.of_int (324)) - (Prims.of_int (69))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (50)) - (Prims.of_int (324)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (324)) - (Prims.of_int (49)) - (Prims.of_int (324)) - (Prims.of_int (69))) - (Obj.magic - (smt_goals - ())) - (fun - uu___4 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___5 -> - FStar_List_Tot_Base.op_At - uu___4 - sgs)))) - (fun - uu___4 -> - (fun - uu___4 -> - Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - uu___4)) - uu___4))) - (fun - uu___4 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___5 -> - x)))) - uu___3))) - uu___3))) - uu___2))) uu___1))) uu___1)))) - uu___) -let (dump1 : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun m -> focus (fun uu___ -> FStar_Tactics_Builtins.dump m) -let rec mapAll : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (331)) - (Prims.of_int (10)) (Prims.of_int (331)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (331)) - (Prims.of_int (4)) (Prims.of_int (333)) (Prims.of_int (66))) - (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | [] -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> []))) - | uu___1::uu___2 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (333)) (Prims.of_int (27)) - (Prims.of_int (333)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (333)) (Prims.of_int (13)) - (Prims.of_int (333)) (Prims.of_int (66))) - (Obj.magic - (divide Prims.int_one t (fun uu___3 -> mapAll t))) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> - match uu___3 with | (h, t1) -> h :: t1))))) - uu___) -let rec (iterAll : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (337)) - (Prims.of_int (10)) (Prims.of_int (337)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (337)) - (Prims.of_int (4)) (Prims.of_int (339)) (Prims.of_int (60))) - (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | [] -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) - | uu___1::uu___2 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (339)) (Prims.of_int (22)) - (Prims.of_int (339)) (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (339)) (Prims.of_int (58)) - (Prims.of_int (339)) (Prims.of_int (60))) - (Obj.magic - (divide Prims.int_one t (fun uu___3 -> iterAll t))) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> ()))))) uu___) -let (iterAllSMT : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (342)) - (Prims.of_int (18)) (Prims.of_int (342)) (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (341)) - (Prims.of_int (50)) (Prims.of_int (348)) (Prims.of_int (28))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (342)) (Prims.of_int (18)) (Prims.of_int (342)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (342)) (Prims.of_int (18)) (Prims.of_int (342)) - (Prims.of_int (40))) (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (342)) (Prims.of_int (28)) - (Prims.of_int (342)) (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (342)) (Prims.of_int (18)) - (Prims.of_int (342)) (Prims.of_int (40))) - (Obj.magic (smt_goals ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (uu___, uu___1))))) uu___))) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | (gs, sgs) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (343)) (Prims.of_int (4)) - (Prims.of_int (343)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (344)) (Prims.of_int (4)) - (Prims.of_int (348)) (Prims.of_int (28))) - (Obj.magic (FStar_Tactics_Builtins.set_goals sgs)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (344)) (Prims.of_int (4)) - (Prims.of_int (344)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (345)) (Prims.of_int (4)) - (Prims.of_int (348)) (Prims.of_int (28))) - (Obj.magic - (FStar_Tactics_Builtins.set_smt_goals [])) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (345)) - (Prims.of_int (4)) - (Prims.of_int (345)) - (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (345)) - (Prims.of_int (14)) - (Prims.of_int (348)) - (Prims.of_int (28))) - (Obj.magic (iterAll t)) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (346)) - (Prims.of_int (20)) - (Prims.of_int (346)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (345)) - (Prims.of_int (14)) - (Prims.of_int (348)) - (Prims.of_int (28))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (346)) - (Prims.of_int (20)) - (Prims.of_int (346)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (346)) - (Prims.of_int (20)) - (Prims.of_int (346)) - (Prims.of_int (42))) - (Obj.magic - (goals ())) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - ( - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (346)) - (Prims.of_int (30)) - (Prims.of_int (346)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (346)) - (Prims.of_int (20)) - (Prims.of_int (346)) - (Prims.of_int (42))) - (Obj.magic - (smt_goals - ())) - (fun - uu___5 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___6 -> - (uu___4, - uu___5))))) - uu___4))) - (fun uu___4 -> - (fun uu___4 -> - match uu___4 with - | (gs', sgs') -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (347)) - (Prims.of_int (4)) - (Prims.of_int (347)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (348)) - (Prims.of_int (4)) - (Prims.of_int (348)) - (Prims.of_int (28))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals - gs)) - (fun - uu___5 -> - (fun - uu___5 -> - Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - (FStar_List_Tot_Base.op_At - gs' sgs'))) - uu___5))) - uu___4))) uu___3))) - uu___2))) uu___1))) uu___) -let (seq : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun f -> - fun g -> - focus - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (354)) (Prims.of_int (21)) (Prims.of_int (354)) - (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (354)) (Prims.of_int (27)) (Prims.of_int (354)) - (Prims.of_int (36))) (Obj.magic (f ())) - (fun uu___1 -> (fun uu___1 -> Obj.magic (iterAll g)) uu___1)) -let (exact_args : - FStar_Reflection_Data.aqualv Prims.list -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun qs -> - fun t -> - focus - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (358)) (Prims.of_int (16)) (Prims.of_int (358)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (358)) (Prims.of_int (42)) (Prims.of_int (364)) - (Prims.of_int (44))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_List_Tot_Base.length qs)) - (fun uu___1 -> - (fun n -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (359)) (Prims.of_int (18)) - (Prims.of_int (359)) (Prims.of_int (55))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (359)) (Prims.of_int (58)) - (Prims.of_int (364)) (Prims.of_int (44))) - (Obj.magic - (FStar_Tactics_Util.repeatn n - (fun uu___1 -> - fresh_uvar FStar_Pervasives_Native.None))) - (fun uu___1 -> - (fun uvs -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (360)) - (Prims.of_int (17)) - (Prims.of_int (360)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (361)) (Prims.of_int (8)) - (Prims.of_int (364)) - (Prims.of_int (44))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (360)) - (Prims.of_int (26)) - (Prims.of_int (360)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (360)) - (Prims.of_int (17)) - (Prims.of_int (360)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Util.zip uvs qs)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - FStar_Reflection_Derived.mk_app - t uu___1)))) - (fun uu___1 -> - (fun t' -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (361)) - (Prims.of_int (8)) - (Prims.of_int (361)) - (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (362)) - (Prims.of_int (8)) - (Prims.of_int (364)) - (Prims.of_int (44))) - (Obj.magic (exact t')) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Util.iter - (fun uu___2 -> - (fun uv -> - if - FStar_Reflection_Derived.is_uvar - uv - then - Obj.magic - (Obj.repr - (FStar_Tactics_Builtins.unshelve - uv)) - else - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - ())))) - uu___2) - (FStar_List_Tot_Base.rev - uvs))) uu___1))) - uu___1))) uu___1))) uu___1)) -let (exact_n : - Prims.int -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun n -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (368)) (Prims.of_int (15)) (Prims.of_int (368)) - (Prims.of_int (49))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (368)) (Prims.of_int (4)) (Prims.of_int (368)) - (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Util.repeatn n - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Reflection_Data.Q_Explicit))) - uu___))) - (fun uu___ -> (fun uu___ -> Obj.magic (exact_args uu___ t)) uu___) -let (ngoals : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (371)) - (Prims.of_int (47)) (Prims.of_int (371)) (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (371)) - (Prims.of_int (26)) (Prims.of_int (371)) (Prims.of_int (57))) - (Obj.magic (goals ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) -let (ngoals_smt : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (374)) - (Prims.of_int (51)) (Prims.of_int (374)) (Prims.of_int (65))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (374)) - (Prims.of_int (30)) (Prims.of_int (374)) (Prims.of_int (65))) - (Obj.magic (smt_goals ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) -let (fresh_bv : - unit -> (FStar_Reflection_Types.bv, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (382)) - (Prims.of_int (12)) (Prims.of_int (382)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (383)) - (Prims.of_int (4)) (Prims.of_int (383)) (Prims.of_int (42))) - (Obj.magic (FStar_Tactics_Builtins.fresh ())) - (fun uu___1 -> - (fun i -> - Obj.magic - (FStar_Tactics_Builtins.fresh_bv_named - (Prims.strcat "x" (Prims.string_of_int i)))) uu___1) -let (fresh_binder_named : - Prims.string -> - FStar_Reflection_Types.typ -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun nm -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (386)) (Prims.of_int (14)) (Prims.of_int (386)) - (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (386)) (Prims.of_int (4)) (Prims.of_int (386)) - (Prims.of_int (35))) - (Obj.magic (FStar_Tactics_Builtins.fresh_bv_named nm)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Reflection_Derived.mk_binder uu___ t)) -let (fresh_binder : - FStar_Reflection_Types.typ -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (390)) - (Prims.of_int (12)) (Prims.of_int (390)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (391)) - (Prims.of_int (4)) (Prims.of_int (391)) (Prims.of_int (48))) - (Obj.magic (FStar_Tactics_Builtins.fresh ())) - (fun uu___ -> - (fun i -> - Obj.magic - (fresh_binder_named (Prims.strcat "x" (Prims.string_of_int i)) - t)) uu___) -let (fresh_implicit_binder_named : - Prims.string -> - FStar_Reflection_Types.typ -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun nm -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (394)) (Prims.of_int (23)) (Prims.of_int (394)) - (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (394)) (Prims.of_int (4)) (Prims.of_int (394)) - (Prims.of_int (44))) - (Obj.magic (FStar_Tactics_Builtins.fresh_bv_named nm)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_implicit_binder uu___ t)) -let (fresh_implicit_binder : - FStar_Reflection_Types.typ -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (398)) - (Prims.of_int (12)) (Prims.of_int (398)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (399)) - (Prims.of_int (4)) (Prims.of_int (399)) (Prims.of_int (57))) - (Obj.magic (FStar_Tactics_Builtins.fresh ())) - (fun uu___ -> - (fun i -> - Obj.magic - (fresh_implicit_binder_named - (Prims.strcat "x" (Prims.string_of_int i)) t)) uu___) -let (guard : Prims.bool -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - (fun b -> - if Prims.op_Negation b - then Obj.magic (fail "guard failed") - else Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) - uu___ -let try_with : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (Prims.exn -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun f -> - fun h -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (412)) (Prims.of_int (10)) (Prims.of_int (412)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (412)) (Prims.of_int (4)) (Prims.of_int (414)) - (Prims.of_int (16))) (Obj.magic (FStar_Tactics_Builtins.catch f)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Pervasives.Inl e -> Obj.magic (Obj.repr (h e)) - | FStar_Pervasives.Inr x -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) - uu___) -let trytac : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - try_with - (fun uu___ -> - match () with - | () -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (417)) (Prims.of_int (13)) - (Prims.of_int (417)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (417)) (Prims.of_int (8)) - (Prims.of_int (417)) (Prims.of_int (19))) - (Obj.magic (t ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Pervasives_Native.Some uu___1))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> FStar_Pervasives_Native.None))) uu___) -let or_else : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun t1 -> - fun t2 -> - try_with (fun uu___ -> match () with | () -> t1 ()) - (fun uu___ -> t2 ()) -let op_Less_Bar_Greater : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - unit -> ('a, unit) FStar_Tactics_Effect.tac_repr - = fun t1 -> fun t2 -> fun uu___ -> or_else t1 t2 -let first : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun ts -> - FStar_List_Tot_Base.fold_right op_Less_Bar_Greater ts - (fun uu___ -> (fun uu___ -> Obj.magic (fail "no tactics to try")) uu___) - () -let rec repeat : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (434)) - (Prims.of_int (10)) (Prims.of_int (434)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (434)) - (Prims.of_int (4)) (Prims.of_int (436)) (Prims.of_int (28))) - (Obj.magic (FStar_Tactics_Builtins.catch t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Pervasives.Inl uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> []))) - | FStar_Pervasives.Inr x -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (436)) (Prims.of_int (20)) - (Prims.of_int (436)) (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (436)) (Prims.of_int (15)) - (Prims.of_int (436)) (Prims.of_int (28))) - (Obj.magic (repeat t)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> x :: uu___1))))) uu___) -let repeat1 : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (439)) - (Prims.of_int (4)) (Prims.of_int (439)) (Prims.of_int (8))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (439)) - (Prims.of_int (4)) (Prims.of_int (439)) (Prims.of_int (20))) - (Obj.magic (t ())) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (439)) (Prims.of_int (12)) - (Prims.of_int (439)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (439)) (Prims.of_int (4)) - (Prims.of_int (439)) (Prims.of_int (20))) - (Obj.magic (repeat t)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> uu___ :: uu___1)))) uu___) -let repeat' : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr - = - fun f -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (442)) - (Prims.of_int (12)) (Prims.of_int (442)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (442)) - (Prims.of_int (24)) (Prims.of_int (442)) (Prims.of_int (26))) - (Obj.magic (repeat f)) - (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) -let (norm_term : - FStar_Pervasives.norm_step Prims.list -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun s -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (446)) (Prims.of_int (8)) (Prims.of_int (447)) - (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (449)) (Prims.of_int (4)) (Prims.of_int (449)) - (Prims.of_int (23))) - (Obj.magic - (try_with (fun uu___ -> match () with | () -> cur_env ()) - (fun uu___ -> FStar_Tactics_Builtins.top_env ()))) - (fun uu___ -> - (fun e -> Obj.magic (FStar_Tactics_Builtins.norm_term_env e s t)) - uu___) -let (join_all_smt_goals : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (456)) - (Prims.of_int (16)) (Prims.of_int (456)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (455)) - (Prims.of_int (27)) (Prims.of_int (462)) (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (456)) (Prims.of_int (16)) (Prims.of_int (456)) - (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (456)) (Prims.of_int (16)) (Prims.of_int (456)) - (Prims.of_int (38))) (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (456)) (Prims.of_int (26)) - (Prims.of_int (456)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (456)) (Prims.of_int (16)) - (Prims.of_int (456)) (Prims.of_int (38))) - (Obj.magic (smt_goals ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> (uu___1, uu___2))))) uu___1))) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | (gs, sgs) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (457)) (Prims.of_int (2)) - (Prims.of_int (457)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (458)) (Prims.of_int (2)) - (Prims.of_int (462)) (Prims.of_int (20))) - (Obj.magic (FStar_Tactics_Builtins.set_smt_goals [])) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (458)) (Prims.of_int (2)) - (Prims.of_int (458)) (Prims.of_int (15))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (459)) (Prims.of_int (2)) - (Prims.of_int (462)) (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Builtins.set_goals sgs)) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (459)) - (Prims.of_int (2)) - (Prims.of_int (459)) - (Prims.of_int (14))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (459)) - (Prims.of_int (15)) - (Prims.of_int (462)) - (Prims.of_int (20))) - (Obj.magic - (repeat' - FStar_Tactics_Builtins.join)) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (460)) - (Prims.of_int (13)) - (Prims.of_int (460)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (461)) - (Prims.of_int (2)) - (Prims.of_int (462)) - (Prims.of_int (20))) - (Obj.magic (goals ())) - (fun uu___5 -> - (fun sgs' -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (461)) - (Prims.of_int (2)) - (Prims.of_int (461)) - (Prims.of_int (14))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (462)) - (Prims.of_int (2)) - (Prims.of_int (462)) - (Prims.of_int (20))) - (Obj.magic - ( - FStar_Tactics_Builtins.set_goals - gs)) - (fun uu___5 - -> - (fun - uu___5 -> - Obj.magic - (FStar_Tactics_Builtins.set_smt_goals - sgs')) - uu___5))) - uu___5))) uu___4))) - uu___3))) uu___2))) uu___1) -let discard : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr - = - fun tau -> - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (465)) (Prims.of_int (22)) (Prims.of_int (465)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (465)) (Prims.of_int (32)) (Prims.of_int (465)) - (Prims.of_int (34))) (Obj.magic (tau ())) - (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) -let rec repeatseq : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (469)) - (Prims.of_int (12)) (Prims.of_int (469)) (Prims.of_int (82))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (469)) - (Prims.of_int (86)) (Prims.of_int (469)) (Prims.of_int (88))) - (Obj.magic - (trytac - (fun uu___ -> - seq (discard t) (discard (fun uu___1 -> repeatseq t))))) - (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) -let (tadmit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Builtins.tadmit_t - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const FStar_Reflection_Data.C_Unit)) -let (admit1 : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> tadmit () -let (admit_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (477)) - (Prims.of_int (12)) (Prims.of_int (477)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (478)) - (Prims.of_int (4)) (Prims.of_int (478)) (Prims.of_int (6))) - (Obj.magic (repeat tadmit)) - (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) -let (is_guard : unit -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (482)) - (Prims.of_int (27)) (Prims.of_int (482)) (Prims.of_int (41))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (482)) - (Prims.of_int (4)) (Prims.of_int (482)) (Prims.of_int (41))) - (Obj.magic (_cur_goal ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Tactics_Types.is_guard uu___1)) -let (skip_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (485)) - (Prims.of_int (7)) (Prims.of_int (485)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (485)) - (Prims.of_int (4)) (Prims.of_int (487)) (Prims.of_int (16))) - (Obj.magic (is_guard ())) - (fun uu___1 -> - (fun uu___1 -> - if uu___1 - then Obj.magic (Obj.repr (smt ())) - else Obj.magic (Obj.repr (fail ""))) uu___1) -let (guards_to_smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (490)) - (Prims.of_int (12)) (Prims.of_int (490)) (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (491)) - (Prims.of_int (4)) (Prims.of_int (491)) (Prims.of_int (6))) - (Obj.magic (repeat skip_guard)) - (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) -let (simpl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Builtins.norm - [FStar_Pervasives.simplify; FStar_Pervasives.primops] -let (whnf : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Builtins.norm - [FStar_Pervasives.weak; - FStar_Pervasives.hnf; - FStar_Pervasives.primops; - FStar_Pervasives.delta] -let (compute : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Builtins.norm - [FStar_Pervasives.primops; - FStar_Pervasives.iota; - FStar_Pervasives.delta; - FStar_Pervasives.zeta] -let (intros : - unit -> - (FStar_Reflection_Types.binder Prims.list, unit) - FStar_Tactics_Effect.tac_repr) - = fun uu___ -> repeat FStar_Tactics_Builtins.intro -let (intros' : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (499)) - (Prims.of_int (36)) (Prims.of_int (499)) (Prims.of_int (45))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (499)) - (Prims.of_int (49)) (Prims.of_int (499)) (Prims.of_int (51))) - (Obj.magic (intros ())) - (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) -let (destruct : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun tm -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (500)) - (Prims.of_int (37)) (Prims.of_int (500)) (Prims.of_int (50))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (500)) - (Prims.of_int (54)) (Prims.of_int (500)) (Prims.of_int (56))) - (Obj.magic (FStar_Tactics_Builtins.t_destruct tm)) - (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) -let (destruct_intros : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun tm -> - seq - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (501)) (Prims.of_int (59)) (Prims.of_int (501)) - (Prims.of_int (72))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (501)) (Prims.of_int (76)) (Prims.of_int (501)) - (Prims.of_int (78))) - (Obj.magic (FStar_Tactics_Builtins.t_destruct tm)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))) intros' -let __cut : 'a 'b . ('a -> 'b) -> 'a -> 'b = fun f -> fun x -> f x -let (tcut : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (507)) - (Prims.of_int (12)) (Prims.of_int (507)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (507)) - (Prims.of_int (26)) (Prims.of_int (510)) (Prims.of_int (12))) - (Obj.magic (cur_goal ())) - (fun uu___ -> - (fun g -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (508)) (Prims.of_int (13)) - (Prims.of_int (508)) (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (509)) (Prims.of_int (4)) - (Prims.of_int (510)) (Prims.of_int (12))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Derived"; "__cut"]))) - [t; g])) - (fun uu___ -> - (fun tt -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (509)) (Prims.of_int (4)) - (Prims.of_int (509)) (Prims.of_int (12))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (510)) (Prims.of_int (4)) - (Prims.of_int (510)) (Prims.of_int (12))) - (Obj.magic (apply tt)) - (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Builtins.intro ())) - uu___))) uu___))) uu___) -let (pose : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (513)) - (Prims.of_int (4)) (Prims.of_int (513)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (514)) - (Prims.of_int (4)) (Prims.of_int (516)) (Prims.of_int (12))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Derived"; "__cut"]))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (514)) (Prims.of_int (4)) - (Prims.of_int (514)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (515)) (Prims.of_int (4)) - (Prims.of_int (516)) (Prims.of_int (12))) - (Obj.magic (flip ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (515)) (Prims.of_int (4)) - (Prims.of_int (515)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (516)) (Prims.of_int (4)) - (Prims.of_int (516)) (Prims.of_int (12))) - (Obj.magic (exact t)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic (FStar_Tactics_Builtins.intro ())) - uu___2))) uu___1))) uu___) -let (intro_as : - Prims.string -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun s -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (519)) - (Prims.of_int (12)) (Prims.of_int (519)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (520)) - (Prims.of_int (4)) (Prims.of_int (520)) (Prims.of_int (17))) - (Obj.magic (FStar_Tactics_Builtins.intro ())) - (fun uu___ -> - (fun b -> Obj.magic (FStar_Tactics_Builtins.rename_to b s)) uu___) -let (pose_as : - Prims.string -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun s -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (523)) (Prims.of_int (12)) (Prims.of_int (523)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (524)) (Prims.of_int (4)) (Prims.of_int (524)) - (Prims.of_int (17))) (Obj.magic (pose t)) - (fun uu___ -> - (fun b -> Obj.magic (FStar_Tactics_Builtins.rename_to b s)) uu___) -let for_each_binder : - 'a . - (FStar_Reflection_Types.binder -> - ('a, unit) FStar_Tactics_Effect.tac_repr) - -> ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr - = - fun f -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (527)) - (Prims.of_int (10)) (Prims.of_int (527)) (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (527)) - (Prims.of_int (4)) (Prims.of_int (527)) (Prims.of_int (26))) - (Obj.magic (cur_binders ())) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Util.map f uu___)) uu___) -let rec (revert_all : - FStar_Reflection_Types.binders -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun bs -> - match bs with - | [] -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) - | uu___::tl -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (532)) (Prims.of_int (15)) - (Prims.of_int (532)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (533)) (Prims.of_int (15)) - (Prims.of_int (533)) (Prims.of_int (28))) - (Obj.magic (FStar_Tactics_Builtins.revert ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (revert_all tl)) uu___1)))) - uu___ -let (bv_to_term : - FStar_Reflection_Types.bv -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = fun bv -> FStar_Tactics_Builtins.pack (FStar_Reflection_Data.Tv_Var bv) -let (binder_to_term : - FStar_Reflection_Types.binder -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun b -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (538)) - (Prims.of_int (14)) (Prims.of_int (538)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (539)) - (Prims.of_int (2)) (Prims.of_int (539)) (Prims.of_int (28))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_binder b)) - (fun uu___ -> - (fun bview -> - Obj.magic (bv_to_term bview.FStar_Reflection_Data.binder_bv)) - uu___) -let (binder_sort : - FStar_Reflection_Types.binder -> - (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun b -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - (FStar_Reflection_Builtins.inspect_binder b).FStar_Reflection_Data.binder_sort))) - uu___ -let rec (__assumption_aux : - FStar_Reflection_Types.binders -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun bs -> - match bs with - | [] -> Obj.magic (Obj.repr (fail "no assumption matches goal")) - | b::bs1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (550)) (Prims.of_int (16)) - (Prims.of_int (550)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (551)) (Prims.of_int (8)) - (Prims.of_int (554)) (Prims.of_int (27))) - (Obj.magic (binder_to_term b)) - (fun uu___ -> - (fun t -> - Obj.magic - (try_with - (fun uu___ -> match () with | () -> exact t) - (fun uu___ -> - try_with - (fun uu___1 -> - match () with - | () -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (552)) - (Prims.of_int (13)) - (Prims.of_int (552)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (553)) - (Prims.of_int (13)) - (Prims.of_int (553)) - (Prims.of_int (20))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Squash"; - "return_squash"]))))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic (exact t)) uu___2)) - (fun uu___1 -> __assumption_aux bs1)))) - uu___)))) uu___ -let (assumption : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (557)) - (Prims.of_int (21)) (Prims.of_int (557)) (Prims.of_int (37))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (557)) - (Prims.of_int (4)) (Prims.of_int (557)) (Prims.of_int (37))) - (Obj.magic (cur_binders ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (__assumption_aux uu___1)) uu___1) -let (destruct_equality_implication : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Formula.formula * FStar_Reflection_Types.term) - FStar_Pervasives_Native.option, - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (560)) - (Prims.of_int (10)) (Prims.of_int (560)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (560)) - (Prims.of_int (4)) (Prims.of_int (567)) (Prims.of_int (15))) - (Obj.magic (FStar_Reflection_Formula.term_as_formula t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Formula.Implies (lhs, rhs) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (562)) (Prims.of_int (18)) - (Prims.of_int (562)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (563)) (Prims.of_int (14)) - (Prims.of_int (565)) (Prims.of_int (19))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' lhs)) - (fun lhs1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - match lhs1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___2, - uu___3, uu___4) - -> - FStar_Pervasives_Native.Some (lhs1, rhs) - | uu___2 -> FStar_Pervasives_Native.None)))) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Pervasives_Native.None)))) uu___) -let (rewrite' : - FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun b -> - op_Less_Bar_Greater - (op_Less_Bar_Greater (fun uu___ -> FStar_Tactics_Builtins.rewrite b) - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (576)) (Prims.of_int (20)) - (Prims.of_int (576)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (577)) (Prims.of_int (20)) - (Prims.of_int (578)) (Prims.of_int (29))) - (Obj.magic (FStar_Tactics_Builtins.binder_retype b)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (577)) (Prims.of_int (20)) - (Prims.of_int (577)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (578)) (Prims.of_int (20)) - (Prims.of_int (578)) (Prims.of_int (29))) - (Obj.magic - (apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Derived"; - "__eq_sym"]))))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic (FStar_Tactics_Builtins.rewrite b)) - uu___2))) uu___1))) - (fun uu___ -> (fun uu___ -> Obj.magic (fail "rewrite' failed")) uu___) - () -let rec (try_rewrite_equality : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.binders -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun x -> - fun bs -> - match bs with - | [] -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) - | x_t::bs1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (586)) (Prims.of_int (20)) - (Prims.of_int (586)) (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (586)) (Prims.of_int (14)) - (Prims.of_int (592)) (Prims.of_int (37))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula - (FStar_Reflection_Derived.type_of_binder x_t))) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___1, y, - uu___2) - -> - if FStar_Reflection_Builtins.term_eq x y - then - Obj.magic - (FStar_Tactics_Builtins.rewrite x_t) - else Obj.magic (try_rewrite_equality x bs1) - | uu___1 -> - Obj.magic (try_rewrite_equality x bs1)) - uu___)))) uu___1 uu___ -let rec (rewrite_all_context_equalities : - FStar_Reflection_Types.binders -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun bs -> - match bs with - | [] -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) - | x_t::bs1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (599)) (Prims.of_int (8)) - (Prims.of_int (599)) (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (600)) (Prims.of_int (8)) - (Prims.of_int (600)) (Prims.of_int (41))) - (Obj.magic - (try_with - (fun uu___ -> - match () with - | () -> FStar_Tactics_Builtins.rewrite x_t) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> ()))) uu___))) - (fun uu___ -> - (fun uu___ -> - Obj.magic (rewrite_all_context_equalities bs1)) - uu___)))) uu___ -let (rewrite_eqs_from_context : - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (604)) - (Prims.of_int (35)) (Prims.of_int (604)) (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (604)) - (Prims.of_int (4)) (Prims.of_int (604)) (Prims.of_int (51))) - (Obj.magic (cur_binders ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (rewrite_all_context_equalities uu___1)) - uu___1) -let (rewrite_equality : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (607)) - (Prims.of_int (27)) (Prims.of_int (607)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (607)) - (Prims.of_int (4)) (Prims.of_int (607)) (Prims.of_int (43))) - (Obj.magic (cur_binders ())) - (fun uu___ -> - (fun uu___ -> Obj.magic (try_rewrite_equality t uu___)) uu___) -let (unfold_def : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (610)) - (Prims.of_int (10)) (Prims.of_int (610)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (610)) - (Prims.of_int (4)) (Prims.of_int (614)) (Prims.of_int (46))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_FVar fv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (612)) (Prims.of_int (16)) - (Prims.of_int (612)) (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (613)) (Prims.of_int (8)) - (Prims.of_int (613)) (Prims.of_int (30))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.implode_qn - (FStar_Reflection_Builtins.inspect_fv fv))) - (fun uu___1 -> - (fun n -> - Obj.magic - (FStar_Tactics_Builtins.norm - [FStar_Pervasives.delta_fully [n]])) - uu___1))) - | uu___1 -> - Obj.magic (Obj.repr (fail "unfold_def: term is not a fv"))) - uu___) -let (l_to_r : - FStar_Reflection_Types.term Prims.list -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun lems -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (621)) - (Prims.of_int (8)) (Prims.of_int (624)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (625)) - (Prims.of_int (4)) (Prims.of_int (625)) (Prims.of_int (28))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - fun uu___1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (621)) (Prims.of_int (8)) - (Prims.of_int (624)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (621)) (Prims.of_int (8)) - (Prims.of_int (624)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Util.fold_left - (fun uu___3 -> - fun uu___2 -> - (fun k -> - fun l -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - fun uu___3 -> - or_else - (fun uu___4 -> apply_lemma_rw l) - k))) uu___3 uu___2) trefl lems)) - (fun uu___2 -> (fun uu___2 -> Obj.magic (uu___2 ())) uu___2))) - (fun uu___ -> - (fun first_or_trefl -> Obj.magic (pointwise first_or_trefl)) uu___) -let (mk_squash : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) - = - fun t -> - let sq = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - FStar_Reflection_Const.squash_qn)) in - FStar_Reflection_Derived.mk_e_app sq [t] -let (mk_sq_eq : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> FStar_Reflection_Types.term) - = - fun t1 -> - fun t2 -> - let eq = - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv FStar_Reflection_Const.eq2_qn)) in - mk_squash (FStar_Reflection_Derived.mk_e_app eq [t1; t2]) -let (grewrite : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - fun t2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (638)) (Prims.of_int (12)) (Prims.of_int (638)) - (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (638)) (Prims.of_int (36)) (Prims.of_int (652)) - (Prims.of_int (44))) (Obj.magic (tcut (mk_sq_eq t1 t2))) - (fun uu___ -> - (fun e -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (639)) (Prims.of_int (12)) - (Prims.of_int (639)) (Prims.of_int (45))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (640)) (Prims.of_int (4)) - (Prims.of_int (652)) (Prims.of_int (44))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder e)))) - (fun uu___ -> - (fun e1 -> - Obj.magic - (pointwise - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (643)) (Prims.of_int (8)) - (Prims.of_int (648)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (650)) (Prims.of_int (6)) - (Prims.of_int (652)) - (Prims.of_int (43))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (643)) - (Prims.of_int (14)) - (Prims.of_int (643)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (643)) - (Prims.of_int (8)) - (Prims.of_int (648)) - (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (643)) - (Prims.of_int (30)) - (Prims.of_int (643)) - (Prims.of_int (42))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (643)) - (Prims.of_int (14)) - (Prims.of_int (643)) - (Prims.of_int (42))) - (Obj.magic (cur_goal ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Reflection_Formula.term_as_formula - uu___1)) uu___1))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - match uu___1 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq - uu___3, lhs, rhs) - -> - (match FStar_Reflection_Builtins.inspect_ln - lhs - with - | FStar_Reflection_Data.Tv_Uvar - (uu___4, uu___5) -> - true - | uu___4 -> false) - | uu___3 -> false)))) - (fun uu___1 -> - (fun is_uvar -> - if is_uvar - then Obj.magic (trefl ()) - else - Obj.magic - (try_with - (fun uu___2 -> - match () with - | () -> exact e1) - (fun uu___2 -> trefl ()))) - uu___1)))) uu___))) uu___) -let (grewrite_eq : - FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun b -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (659)) - (Prims.of_int (8)) (Prims.of_int (659)) (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (659)) - (Prims.of_int (2)) (Prims.of_int (671)) (Prims.of_int (7))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula - (FStar_Reflection_Derived.type_of_binder b))) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___1, l, r) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (661)) (Prims.of_int (4)) - (Prims.of_int (661)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (662)) (Prims.of_int (4)) - (Prims.of_int (662)) (Prims.of_int (54))) - (Obj.magic (grewrite l r)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (iseq - [idtac; - (fun uu___3 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (662)) - (Prims.of_int (34)) - (Prims.of_int (662)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (662)) - (Prims.of_int (28)) - (Prims.of_int (662)) - (Prims.of_int (52))) - (Obj.magic (binder_to_term b)) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic (exact uu___4)) uu___4))])) - uu___2)) - | uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (664)) (Prims.of_int (16)) - (Prims.of_int (664)) (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (664)) (Prims.of_int (10)) - (Prims.of_int (670)) (Prims.of_int (56))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' - (FStar_Reflection_Derived.type_of_binder b))) - (fun uu___2 -> - (fun uu___2 -> - match uu___2 with - | FStar_Reflection_Formula.Comp - (FStar_Reflection_Formula.Eq uu___3, l, r) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (666)) - (Prims.of_int (6)) - (Prims.of_int (666)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (667)) - (Prims.of_int (6)) - (Prims.of_int (668)) - (Prims.of_int (56))) - (Obj.magic (grewrite l r)) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - (iseq - [idtac; - (fun uu___5 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (667)) - (Prims.of_int (30)) - (Prims.of_int (667)) - (Prims.of_int (55))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (668)) - (Prims.of_int (30)) - (Prims.of_int (668)) - (Prims.of_int (54))) - (Obj.magic - (apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Derived"; - "__un_sq_eq"]))))) - (fun uu___6 -> - (fun uu___6 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (668)) - (Prims.of_int (36)) - (Prims.of_int (668)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (668)) - (Prims.of_int (30)) - (Prims.of_int (668)) - (Prims.of_int (54))) - (Obj.magic - (binder_to_term - b)) - (fun uu___7 - -> - (fun - uu___7 -> - Obj.magic - (exact - uu___7)) - uu___7))) - uu___6))])) - uu___4))) - | uu___3 -> - Obj.magic - (Obj.repr - (fail - "grewrite_eq: binder type is not an equality"))) - uu___2))) uu___) -let rec (apply_squash_or_lem : - Prims.nat -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun d -> - fun t -> - try_with (fun uu___ -> match () with | () -> apply t) - (fun uu___ -> - try_with - (fun uu___1 -> - match () with - | () -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (693)) (Prims.of_int (8)) - (Prims.of_int (693)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (693)) (Prims.of_int (45)) - (Prims.of_int (693)) (Prims.of_int (52))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Squash"; "return_squash"]))))) - (fun uu___2 -> - (fun uu___2 -> Obj.magic (apply t)) uu___2)) - (fun uu___1 -> - try_with (fun uu___2 -> match () with | () -> apply_lemma t) - (fun uu___2 -> - (fun uu___2 -> - if d <= Prims.int_zero - then - Obj.magic (Obj.repr (fail "mapply: out of fuel")) - else - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (699)) (Prims.of_int (13)) - (Prims.of_int (699)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (699)) (Prims.of_int (33)) - (Prims.of_int (748)) (Prims.of_int (41))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (699)) - (Prims.of_int (16)) - (Prims.of_int (699)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (699)) - (Prims.of_int (13)) - (Prims.of_int (699)) - (Prims.of_int (30))) - (Obj.magic (cur_env ())) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - (FStar_Tactics_Builtins.tc - uu___4 t)) uu___4))) - (fun uu___4 -> - (fun ty -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (700)) - (Prims.of_int (17)) - (Prims.of_int (700)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (699)) - (Prims.of_int (33)) - (Prims.of_int (748)) - (Prims.of_int (41))) - (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_arr - ty)) - (fun uu___4 -> - (fun uu___4 -> - match uu___4 with - | (tys, c) -> - (match FStar_Reflection_Builtins.inspect_comp - c - with - | FStar_Reflection_Data.C_Lemma - (pre, post, - uu___5) - -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - ( - FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (704)) - (Prims.of_int (18)) - (Prims.of_int (704)) - (Prims.of_int (32))) - ( - FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (704)) - (Prims.of_int (35)) - (Prims.of_int (713)) - (Prims.of_int (41))) - ( - FStar_Tactics_Effect.lift_div_tac - (fun - uu___6 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (post, - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)), - FStar_Reflection_Data.Q_Explicit))))) - ( - fun - uu___6 -> - (fun - post1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (705)) - (Prims.of_int (18)) - (Prims.of_int (705)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (707)) - (Prims.of_int (7)) - (Prims.of_int (713)) - (Prims.of_int (41))) - (Obj.magic - (norm_term - [] post1)) - (fun - uu___6 -> - (fun - post2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (707)) - (Prims.of_int (13)) - (Prims.of_int (707)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (707)) - (Prims.of_int (7)) - (Prims.of_int (713)) - (Prims.of_int (41))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' - post2)) - (fun - uu___6 -> - (fun - uu___6 -> - match uu___6 - with - | - FStar_Reflection_Formula.Implies - (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (709)) - (Prims.of_int (11)) - (Prims.of_int (709)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (710)) - (Prims.of_int (11)) - (Prims.of_int (710)) - (Prims.of_int (38))) - (Obj.magic - (apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Derived"; - "push1"]))))) - (fun - uu___7 -> - (fun - uu___7 -> - Obj.magic - (apply_squash_or_lem - (d - - Prims.int_one) - t)) - uu___7))) - | - uu___7 -> - Obj.magic - (Obj.repr - (fail - "mapply: can't apply (1)"))) - uu___6))) - uu___6))) - uu___6))) - | FStar_Reflection_Data.C_Total - rt -> - Obj.magic - (Obj.repr - (match - FStar_Reflection_Derived.unsquash_term - rt - with - | FStar_Pervasives_Native.Some - rt1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (721)) - (Prims.of_int (18)) - (Prims.of_int (721)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (723)) - (Prims.of_int (9)) - (Prims.of_int (729)) - (Prims.of_int (43))) - (Obj.magic - (norm_term - [] rt1)) - (fun - uu___5 -> - (fun rt2 - -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (723)) - (Prims.of_int (15)) - (Prims.of_int (723)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (723)) - (Prims.of_int (9)) - (Prims.of_int (729)) - (Prims.of_int (43))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' - rt2)) - (fun - uu___5 -> - (fun - uu___5 -> - match uu___5 - with - | - FStar_Reflection_Formula.Implies - (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (725)) - (Prims.of_int (13)) - (Prims.of_int (725)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (726)) - (Prims.of_int (13)) - (Prims.of_int (726)) - (Prims.of_int (40))) - (Obj.magic - (apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Derived"; - "push1"]))))) - (fun - uu___6 -> - (fun - uu___6 -> - Obj.magic - (apply_squash_or_lem - (d - - Prims.int_one) - t)) - uu___6))) - | - uu___6 -> - Obj.magic - (Obj.repr - (fail - "mapply: can't apply (1)"))) - uu___5))) - uu___5) - | FStar_Pervasives_Native.None - -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (736)) - (Prims.of_int (18)) - (Prims.of_int (736)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (738)) - (Prims.of_int (9)) - (Prims.of_int (745)) - (Prims.of_int (20))) - (Obj.magic - (norm_term - [] rt)) - (fun - uu___5 -> - (fun rt1 - -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (738)) - (Prims.of_int (15)) - (Prims.of_int (738)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (738)) - (Prims.of_int (9)) - (Prims.of_int (745)) - (Prims.of_int (20))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' - rt1)) - (fun - uu___5 -> - (fun - uu___5 -> - match uu___5 - with - | - FStar_Reflection_Formula.Implies - (p, q) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (740)) - (Prims.of_int (13)) - (Prims.of_int (740)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (741)) - (Prims.of_int (13)) - (Prims.of_int (741)) - (Prims.of_int (40))) - (Obj.magic - (apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Derived"; - "push1"]))))) - (fun - uu___6 -> - (fun - uu___6 -> - Obj.magic - (apply_squash_or_lem - (d - - Prims.int_one) - t)) - uu___6)) - | - uu___6 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (744)) - (Prims.of_int (13)) - (Prims.of_int (744)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (745)) - (Prims.of_int (13)) - (Prims.of_int (745)) - (Prims.of_int (20))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Squash"; - "return_squash"]))))) - (fun - uu___7 -> - (fun - uu___7 -> - Obj.magic - (apply t)) - uu___7))) - uu___5))) - uu___5))) - | uu___5 -> - Obj.magic - (Obj.repr - (fail - "mapply: can't apply (2)")))) - uu___4))) uu___4)))) uu___2))) -let (mapply : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> apply_squash_or_lem (Prims.of_int (10)) t -let (admit_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (758)) - (Prims.of_int (2)) (Prims.of_int (758)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (759)) - (Prims.of_int (2)) (Prims.of_int (759)) (Prims.of_int (16))) - (Obj.magic (FStar_Tactics_Builtins.dump "Admitting")) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "admit"]))))) - uu___1) -let admit_dump : 'a . (unit -> 'a) -> unit -> 'a = fun x -> fun uu___ -> x () -let (magic_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (766)) - (Prims.of_int (2)) (Prims.of_int (766)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (767)) - (Prims.of_int (2)) (Prims.of_int (769)) (Prims.of_int (4))) - (Obj.magic (FStar_Tactics_Builtins.dump "Admitting")) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (767)) (Prims.of_int (2)) - (Prims.of_int (767)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (768)) (Prims.of_int (2)) - (Prims.of_int (769)) (Prims.of_int (4))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["Prims"; "magic"]))))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (768)) (Prims.of_int (2)) - (Prims.of_int (768)) (Prims.of_int (13))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (769)) (Prims.of_int (2)) - (Prims.of_int (769)) (Prims.of_int (4))) - (Obj.magic - (exact - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)))) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> ())))) uu___2))) uu___1) -let magic_dump : 'a . 'a -> unit -> 'a = fun x -> fun uu___ -> x -let (change_with : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - fun t2 -> - focus - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (776)) (Prims.of_int (8)) (Prims.of_int (776)) - (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (777)) (Prims.of_int (8)) (Prims.of_int (777)) - (Prims.of_int (29))) (Obj.magic (grewrite t1 t2)) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (iseq [idtac; trivial])) uu___1)) -let (change_sq : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t1 -> - FStar_Tactics_Builtins.change - (FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "squash"]))) - [t1]) -let finish_by : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (784)) - (Prims.of_int (12)) (Prims.of_int (784)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (785)) - (Prims.of_int (4)) (Prims.of_int (786)) (Prims.of_int (5))) - (Obj.magic (t ())) - (fun uu___ -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (785)) (Prims.of_int (4)) - (Prims.of_int (785)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (784)) (Prims.of_int (8)) - (Prims.of_int (784)) (Prims.of_int (9))) - (Obj.magic - (or_else qed - (fun uu___ -> - (fun uu___ -> - Obj.magic (fail "finish_by: not finished")) - uu___))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) - uu___) -let solve_then : - 'a 'b . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> - ('b, unit) FStar_Tactics_Effect.tac_repr - = - fun t1 -> - fun t2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (789)) (Prims.of_int (4)) (Prims.of_int (789)) - (Prims.of_int (10))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (789)) (Prims.of_int (11)) (Prims.of_int (793)) - (Prims.of_int (5))) (Obj.magic (FStar_Tactics_Builtins.dup ())) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (790)) (Prims.of_int (12)) - (Prims.of_int (790)) (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (790)) (Prims.of_int (45)) - (Prims.of_int (793)) (Prims.of_int (5))) - (Obj.magic (focus (fun uu___1 -> finish_by t1))) - (fun uu___1 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (791)) (Prims.of_int (12)) - (Prims.of_int (791)) (Prims.of_int (16))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (792)) (Prims.of_int (4)) - (Prims.of_int (793)) (Prims.of_int (5))) - (Obj.magic (t2 x)) - (fun uu___1 -> - (fun y -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (792)) - (Prims.of_int (4)) - (Prims.of_int (792)) - (Prims.of_int (12))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (791)) - (Prims.of_int (8)) - (Prims.of_int (791)) - (Prims.of_int (9))) - (Obj.magic (trefl ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> y)))) uu___1))) - uu___1))) uu___) -let add_elem : - 'a . - (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> - ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun t -> - focus - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (796)) (Prims.of_int (4)) (Prims.of_int (796)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (797)) (Prims.of_int (4)) (Prims.of_int (801)) - (Prims.of_int (5))) - (Obj.magic - (apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "Cons"]))))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (focus - (fun uu___2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (798)) (Prims.of_int (14)) - (Prims.of_int (798)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (799)) (Prims.of_int (6)) - (Prims.of_int (800)) (Prims.of_int (7))) - (Obj.magic (t ())) - (fun uu___3 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (799)) - (Prims.of_int (6)) - (Prims.of_int (799)) - (Prims.of_int (12))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (798)) - (Prims.of_int (10)) - (Prims.of_int (798)) - (Prims.of_int (11))) - (Obj.magic (qed ())) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> x)))) uu___3)))) - uu___1)) -let specialize : - 'a . - 'a -> - Prims.string Prims.list -> - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr - = - fun f -> - fun l -> - fun uu___ -> - solve_then - (fun uu___1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (820)) (Prims.of_int (42)) - (Prims.of_int (820)) (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (820)) (Prims.of_int (36)) - (Prims.of_int (820)) (Prims.of_int (51))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (failwith - "Cannot evaluate open quotation at runtime")) - uu___2)) - (fun uu___2 -> (fun uu___2 -> Obj.magic (exact uu___2)) uu___2)) - (fun uu___1 -> - FStar_Tactics_Builtins.norm - [FStar_Pervasives.delta_only l; - FStar_Pervasives.iota; - FStar_Pervasives.zeta]) -let (tlabel : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun l -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (823)) - (Prims.of_int (10)) (Prims.of_int (823)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (823)) - (Prims.of_int (4)) (Prims.of_int (826)) (Prims.of_int (38))) - (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | [] -> Obj.magic (Obj.repr (fail "tlabel: no goals")) - | h::t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Builtins.set_goals - ((FStar_Tactics_Types.set_label l h) :: t)))) uu___) -let (tlabel' : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun l -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (829)) - (Prims.of_int (10)) (Prims.of_int (829)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (829)) - (Prims.of_int (4)) (Prims.of_int (833)) (Prims.of_int (26))) - (Obj.magic (goals ())) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | [] -> Obj.magic (Obj.repr (fail "tlabel': no goals")) - | h::t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (832)) (Prims.of_int (16)) - (Prims.of_int (832)) (Prims.of_int (45))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (833)) (Prims.of_int (8)) - (Prims.of_int (833)) (Prims.of_int (26))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Tactics_Types.set_label - (Prims.strcat l - (FStar_Tactics_Types.get_label h)) h)) - (fun uu___1 -> - (fun h1 -> - Obj.magic - (FStar_Tactics_Builtins.set_goals (h1 :: t))) - uu___1)))) uu___) -let (focus_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (836)) - (Prims.of_int (4)) (Prims.of_int (836)) (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (837)) - (Prims.of_int (4)) (Prims.of_int (837)) (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (14)) (Prims.of_int (836)) - (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (4)) (Prims.of_int (836)) - (Prims.of_int (39))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (15)) - (Prims.of_int (836)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (14)) - (Prims.of_int (836)) (Prims.of_int (39))) - (Obj.magic (goals ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (26)) - (Prims.of_int (836)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (836)) (Prims.of_int (14)) - (Prims.of_int (836)) (Prims.of_int (39))) - (Obj.magic (smt_goals ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_List_Tot_Base.op_At uu___1 uu___2)))) - uu___1))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic (FStar_Tactics_Builtins.set_goals uu___1)) uu___1))) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Builtins.set_smt_goals [])) - uu___1) -let rec extract_nth : - 'a . - Prims.nat -> - 'a Prims.list -> ('a * 'a Prims.list) FStar_Pervasives_Native.option - = - fun n -> - fun l -> - match (n, l) with - | (uu___, []) -> FStar_Pervasives_Native.None - | (uu___, hd::tl) when uu___ = Prims.int_zero -> - FStar_Pervasives_Native.Some (hd, tl) - | (uu___, hd::tl) -> - (match extract_nth (n - Prims.int_one) tl with - | FStar_Pervasives_Native.Some (hd', tl') -> - FStar_Pervasives_Native.Some (hd', (hd :: tl')) - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) -let (bump_nth : Prims.pos -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun n -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (852)) - (Prims.of_int (8)) (Prims.of_int (852)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (852)) - (Prims.of_int (2)) (Prims.of_int (854)) (Prims.of_int (37))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (852)) (Prims.of_int (28)) (Prims.of_int (852)) - (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (852)) (Prims.of_int (8)) (Prims.of_int (852)) - (Prims.of_int (38))) (Obj.magic (goals ())) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> extract_nth (n - Prims.int_one) uu___)))) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Pervasives_Native.None -> - Obj.magic (Obj.repr (fail "bump_nth: not that many goals")) - | FStar_Pervasives_Native.Some (h, t) -> - Obj.magic - (Obj.repr (FStar_Tactics_Builtins.set_goals (h :: t)))) - uu___) -let rec (destruct_list : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term Prims.list, unit) - FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (857)) - (Prims.of_int (21)) (Prims.of_int (857)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (856)) - (Prims.of_int (52)) (Prims.of_int (869)) (Prims.of_int (27))) - (Obj.magic (FStar_Tactics_SyntaxHelpers.collect_app t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | (head, args) -> - (match ((FStar_Reflection_Builtins.inspect_ln head), args) - with - | (FStar_Reflection_Data.Tv_FVar fv, - (a1, FStar_Reflection_Data.Q_Explicit)::(a2, - FStar_Reflection_Data.Q_Explicit)::[]) - -> - Obj.magic - (Obj.repr - (if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.cons_qn - then - Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (862)) (Prims.of_int (17)) - (Prims.of_int (862)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (862)) (Prims.of_int (11)) - (Prims.of_int (862)) (Prims.of_int (33))) - (Obj.magic (destruct_list a2)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> a1 :: uu___1))) - else - Obj.repr - (FStar_Tactics_Effect.raise - FStar_Tactics_Common.NotAListLiteral))) - | (FStar_Reflection_Data.Tv_FVar fv, - (uu___1, FStar_Reflection_Data.Q_Implicit)::(a1, - FStar_Reflection_Data.Q_Explicit):: - (a2, FStar_Reflection_Data.Q_Explicit)::[]) -> - Obj.magic - (Obj.repr - (if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.cons_qn - then - Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (862)) (Prims.of_int (17)) - (Prims.of_int (862)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (862)) (Prims.of_int (11)) - (Prims.of_int (862)) (Prims.of_int (33))) - (Obj.magic (destruct_list a2)) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> a1 :: uu___2))) - else - Obj.repr - (FStar_Tactics_Effect.raise - FStar_Tactics_Common.NotAListLiteral))) - | (FStar_Reflection_Data.Tv_FVar fv, uu___1) -> - Obj.magic - (Obj.repr - (if - (FStar_Reflection_Builtins.inspect_fv fv) = - FStar_Reflection_Const.nil_qn - then - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> []) - else - FStar_Tactics_Effect.raise - FStar_Tactics_Common.NotAListLiteral)) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.raise - FStar_Tactics_Common.NotAListLiteral)))) uu___) -let (get_match_body : - unit -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (872)) - (Prims.of_int (8)) (Prims.of_int (872)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (872)) - (Prims.of_int (2)) (Prims.of_int (876)) (Prims.of_int (46))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (872)) (Prims.of_int (22)) (Prims.of_int (872)) - (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (872)) (Prims.of_int (8)) (Prims.of_int (872)) - (Prims.of_int (35))) (Obj.magic (cur_goal ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> FStar_Reflection_Derived.unsquash_term uu___1)))) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | FStar_Pervasives_Native.None -> Obj.magic (Obj.repr (fail "")) - | FStar_Pervasives_Native.Some t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (874)) (Prims.of_int (20)) - (Prims.of_int (874)) (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (874)) (Prims.of_int (14)) - (Prims.of_int (876)) (Prims.of_int (46))) - (Obj.magic - (FStar_Tactics_SyntaxHelpers.inspect_unascribe t)) - (fun uu___2 -> - match uu___2 with - | FStar_Reflection_Data.Tv_Match - (sc, uu___3, uu___4) -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___5 -> sc) - | uu___3 -> fail "Goal is not a match")))) uu___1) -let rec last : 'a . 'a Prims.list -> ('a, unit) FStar_Tactics_Effect.tac_repr - = - fun uu___ -> - (fun x -> - match x with - | [] -> Obj.magic (Obj.repr (fail "last: empty list")) - | x1::[] -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> x1))) - | uu___::xs -> Obj.magic (Obj.repr (last xs))) uu___ -let (branch_on_match : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - focus - (fun uu___1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (889)) (Prims.of_int (14)) (Prims.of_int (889)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (889)) (Prims.of_int (34)) (Prims.of_int (895)) - (Prims.of_int (20))) (Obj.magic (get_match_body ())) - (fun uu___2 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (890)) (Prims.of_int (14)) - (Prims.of_int (890)) (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (891)) (Prims.of_int (6)) - (Prims.of_int (895)) (Prims.of_int (20))) - (Obj.magic (FStar_Tactics_Builtins.t_destruct x)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (iterAll - (fun uu___3 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (892)) - (Prims.of_int (17)) - (Prims.of_int (892)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (892)) - (Prims.of_int (32)) - (Prims.of_int (895)) - (Prims.of_int (19))) - (Obj.magic - (repeat FStar_Tactics_Builtins.intro)) - (fun uu___4 -> - (fun bs -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (893)) - (Prims.of_int (16)) - (Prims.of_int (893)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (894)) - (Prims.of_int (8)) - (Prims.of_int (895)) - (Prims.of_int (19))) - (Obj.magic (last bs)) - (fun uu___4 -> - (fun b -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (894)) - (Prims.of_int (8)) - (Prims.of_int (894)) - (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (895)) - (Prims.of_int (8)) - (Prims.of_int (895)) - (Prims.of_int (19))) - (Obj.magic - (grewrite_eq b)) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - ( - FStar_Tactics_Builtins.norm - [FStar_Pervasives.iota])) - uu___4))) - uu___4))) uu___4)))) - uu___2))) uu___2)) -let (nth_binder : - Prims.int -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun i -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (904)) - (Prims.of_int (11)) (Prims.of_int (904)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (904)) - (Prims.of_int (28)) (Prims.of_int (909)) (Prims.of_int (15))) - (Obj.magic (cur_binders ())) - (fun uu___ -> - (fun bs -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (905)) (Prims.of_int (16)) - (Prims.of_int (905)) (Prims.of_int (65))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (905)) (Prims.of_int (68)) - (Prims.of_int (909)) (Prims.of_int (15))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - if i >= Prims.int_zero - then i - else (FStar_List_Tot_Base.length bs) + i)) - (fun uu___ -> - (fun k -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (906)) (Prims.of_int (16)) - (Prims.of_int (906)) (Prims.of_int (62))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (907)) (Prims.of_int (2)) - (Prims.of_int (909)) (Prims.of_int (15))) - (if k < Prims.int_zero - then fail "not enough binders" - else - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> k)) - (fun k1 -> - match FStar_List_Tot_Base.nth bs k1 with - | FStar_Pervasives_Native.None -> - fail "not enough binders" - | FStar_Pervasives_Native.Some b -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> b)))) uu___))) uu___) -exception Appears -let (uu___is_Appears : Prims.exn -> Prims.bool) = - fun projectee -> match projectee with | Appears -> true | uu___ -> false -let (name_appears_in : - FStar_Reflection_Types.name -> - FStar_Reflection_Types.term -> - (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) - = - fun nm -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (917)) (Prims.of_int (4)) (Prims.of_int (922)) - (Prims.of_int (12))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (924)) (Prims.of_int (2)) (Prims.of_int (926)) - (Prims.of_int (16))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - fun t1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (916)) (Prims.of_int (10)) - (Prims.of_int (916)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (917)) (Prims.of_int (4)) - (Prims.of_int (922)) (Prims.of_int (12))) - (Obj.magic (FStar_Tactics_Builtins.inspect t1)) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | FStar_Reflection_Data.Tv_FVar fv -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (919)) (Prims.of_int (6)) - (Prims.of_int (920)) (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (916)) (Prims.of_int (10)) - (Prims.of_int (916)) (Prims.of_int (11))) - (if - (FStar_Reflection_Builtins.inspect_fv fv) - = nm - then FStar_Tactics_Effect.raise Appears - else - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> t1))) - | t2 -> Obj.magic (FStar_Tactics_Builtins.pack t2)) - uu___1))) - (fun uu___ -> - (fun ff -> - Obj.magic - (try_with - (fun uu___ -> - match () with - | () -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (924)) (Prims.of_int (6)) - (Prims.of_int (924)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (924)) (Prims.of_int (32)) - (Prims.of_int (924)) (Prims.of_int (37))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (924)) (Prims.of_int (13)) - (Prims.of_int (924)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (924)) (Prims.of_int (6)) - (Prims.of_int (924)) (Prims.of_int (30))) - (Obj.magic - (FStar_Tactics_Visit.visit_tm ff t)) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> ())))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> false))) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | Appears -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> true)) - | e -> Obj.magic (FStar_Tactics_Effect.raise e)) - uu___))) uu___) -let rec (mk_abs : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun args -> - fun t -> - match args with - | [] -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) - | a::args' -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (933)) (Prims.of_int (13)) - (Prims.of_int (933)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (934)) (Prims.of_int (4)) - (Prims.of_int (934)) (Prims.of_int (22))) - (Obj.magic (mk_abs args' t)) - (fun uu___ -> - (fun t' -> - Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Abs (a, t')))) - uu___)))) uu___1 uu___ -let (string_to_term_with_lb : - (Prims.string * FStar_Reflection_Types.term) Prims.list -> - FStar_Reflection_Types.env -> - Prims.string -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun letbindings -> - fun e -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (942)) (Prims.of_int (14)) (Prims.of_int (942)) - (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (942)) (Prims.of_int (35)) (Prims.of_int (948)) - (Prims.of_int (75))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Builtins.pack_ln - FStar_Reflection_Data.Tv_Unknown)) - (fun uu___ -> - (fun unk -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (943)) (Prims.of_int (20)) - (Prims.of_int (946)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (942)) (Prims.of_int (35)) - (Prims.of_int (948)) (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Util.fold_left - (fun uu___ -> - fun uu___1 -> - match (uu___, uu___1) with - | ((e1, lb_bvs), (i, v)) -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (944)) - (Prims.of_int (20)) - (Prims.of_int (944)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (943)) - (Prims.of_int (56)) - (Prims.of_int (945)) - (Prims.of_int (25))) - (Obj.magic - (FStar_Tactics_Builtins.push_bv_dsenv - e1 i)) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - match uu___2 with - | (e2, bv) -> - (e2, ((v, bv) :: lb_bvs))))) - (e, []) letbindings)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | (e1, lb_bvs) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (947)) - (Prims.of_int (12)) - (Prims.of_int (947)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Derived.fst" - (Prims.of_int (948)) - (Prims.of_int (4)) - (Prims.of_int (948)) - (Prims.of_int (75))) - (Obj.magic - (FStar_Tactics_Builtins.string_to_term - e1 t)) - (fun uu___1 -> - (fun t1 -> - Obj.magic - (FStar_Tactics_Util.fold_left - (fun t2 -> - fun uu___1 -> - match uu___1 with - | (i, bv) -> - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Let - (false, [], bv, - unk, i, t2))) - t1 lb_bvs)) uu___1))) uu___))) - uu___) -let (trans : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Derived"; "lem_trans"]))) -let (smt_sync : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (960)) - (Prims.of_int (40)) (Prims.of_int (960)) (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" (Prims.of_int (960)) - (Prims.of_int (29)) (Prims.of_int (960)) (Prims.of_int (56))) - (Obj.magic (FStar_Tactics_Builtins.get_vconfig ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Builtins.t_smt_sync uu___1)) - uu___1) -let (smt_sync' : - Prims.nat -> Prims.nat -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun fuel -> - fun ifuel -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (964)) (Prims.of_int (15)) (Prims.of_int (964)) - (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (964)) (Prims.of_int (32)) (Prims.of_int (968)) - (Prims.of_int (20))) - (Obj.magic (FStar_Tactics_Builtins.get_vconfig ())) - (fun uu___ -> - (fun vcfg -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (965)) (Prims.of_int (18)) - (Prims.of_int (966)) (Prims.of_int (68))) - (FStar_Range.mk_range "FStar.Tactics.Derived.fst" - (Prims.of_int (968)) (Prims.of_int (4)) - (Prims.of_int (968)) (Prims.of_int (20))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - { - FStar_VConfig.initial_fuel = fuel; - FStar_VConfig.max_fuel = fuel; - FStar_VConfig.initial_ifuel = ifuel; - FStar_VConfig.max_ifuel = ifuel; - FStar_VConfig.detail_errors = - (vcfg.FStar_VConfig.detail_errors); - FStar_VConfig.detail_hint_replay = - (vcfg.FStar_VConfig.detail_hint_replay); - FStar_VConfig.no_smt = (vcfg.FStar_VConfig.no_smt); - FStar_VConfig.quake_lo = - (vcfg.FStar_VConfig.quake_lo); - FStar_VConfig.quake_hi = - (vcfg.FStar_VConfig.quake_hi); - FStar_VConfig.quake_keep = - (vcfg.FStar_VConfig.quake_keep); - FStar_VConfig.retry = (vcfg.FStar_VConfig.retry); - FStar_VConfig.smtencoding_elim_box = - (vcfg.FStar_VConfig.smtencoding_elim_box); - FStar_VConfig.smtencoding_nl_arith_repr = - (vcfg.FStar_VConfig.smtencoding_nl_arith_repr); - FStar_VConfig.smtencoding_l_arith_repr = - (vcfg.FStar_VConfig.smtencoding_l_arith_repr); - FStar_VConfig.smtencoding_valid_intro = - (vcfg.FStar_VConfig.smtencoding_valid_intro); - FStar_VConfig.smtencoding_valid_elim = - (vcfg.FStar_VConfig.smtencoding_valid_elim); - FStar_VConfig.tcnorm = (vcfg.FStar_VConfig.tcnorm); - FStar_VConfig.no_plugins = - (vcfg.FStar_VConfig.no_plugins); - FStar_VConfig.no_tactics = - (vcfg.FStar_VConfig.no_tactics); - FStar_VConfig.z3cliopt = - (vcfg.FStar_VConfig.z3cliopt); - FStar_VConfig.z3smtopt = - (vcfg.FStar_VConfig.z3smtopt); - FStar_VConfig.z3refresh = - (vcfg.FStar_VConfig.z3refresh); - FStar_VConfig.z3rlimit = - (vcfg.FStar_VConfig.z3rlimit); - FStar_VConfig.z3rlimit_factor = - (vcfg.FStar_VConfig.z3rlimit_factor); - FStar_VConfig.z3seed = (vcfg.FStar_VConfig.z3seed); - FStar_VConfig.trivial_pre_for_unannotated_effectful_fns - = - (vcfg.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); - FStar_VConfig.reuse_hint_for = - (vcfg.FStar_VConfig.reuse_hint_for) - })) - (fun uu___ -> - (fun vcfg' -> - Obj.magic (FStar_Tactics_Builtins.t_smt_sync vcfg')) - uu___))) uu___) \ No newline at end of file +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml index e17f243d1c8..7f243e8c472 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml @@ -41,6 +41,7 @@ type ('a, 'wputhen, 'wpuelse, 'f, 'g, 'b) tac_if_then_else = let tac_subcomp : 'a 'wpuf 'wpug . ('a, 'wpuf) tac_repr -> ('a, 'wpug) tac_repr = fun uu___ -> (fun f -> Obj.magic f) uu___ +type ('a, 'b, 'wpuf, 'f) tac_close = ('a, unit) tac_repr let __proj__TAC__item__return = tac_return let __proj__TAC__item__bind = tac_bind type ('a, 'wp, 'uuuuu, 'uuuuu1) lift_div_tac_wp = 'wp diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Embedding.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Embedding.ml index 10322808b29..84374eb07d7 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Embedding.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Embedding.ml @@ -92,39 +92,36 @@ let (fstar_tactics_Force : tac_constant) = let mk_emb : 'a . (FStar_Compiler_Range_Type.range -> 'a -> FStar_Syntax_Syntax.term) -> - (Prims.bool -> - FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option) - -> FStar_Syntax_Syntax.term -> 'a FStar_Syntax_Embeddings.embedding + (FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option) -> + FStar_Syntax_Syntax.term -> 'a FStar_Syntax_Embeddings_Base.embedding = fun em -> fun un -> fun t -> - let uu___ = FStar_Syntax_Embeddings.term_as_fv t in - FStar_Syntax_Embeddings.mk_emb + let uu___ = FStar_Syntax_Embeddings_Base.term_as_fv t in + FStar_Syntax_Embeddings_Base.mk_emb (fun x -> fun r -> fun _topt -> fun _norm -> em r x) - (fun x -> fun w -> fun _norm -> un w x) uu___ + (fun x -> fun _norm -> un x) uu___ let embed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> 'uuuuu -> FStar_Syntax_Syntax.term = fun e -> fun r -> fun x -> - let uu___ = FStar_Syntax_Embeddings.embed e x in + let uu___ = FStar_Syntax_Embeddings_Base.embed e x in uu___ r FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb + FStar_Syntax_Embeddings_Base.id_norm_cb let unembed' : 'uuuuu . - Prims.bool -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> 'uuuuu FStar_Pervasives_Native.option = - fun w -> - fun e -> - fun x -> - let uu___ = FStar_Syntax_Embeddings.unembed e x in - uu___ w FStar_Syntax_Embeddings.id_norm_cb + fun e -> + fun x -> + FStar_Syntax_Embeddings_Base.unembed e x + FStar_Syntax_Embeddings_Base.id_norm_cb let (t_result_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) @@ -148,40 +145,19 @@ let (hd'_and_args : uu___2.FStar_Syntax_Syntax.n in (uu___1, args) let (e_proofstate : - FStar_Tactics_Types.proofstate FStar_Syntax_Embeddings.embedding) = - let embed_proofstate rng ps = - FStar_Syntax_Util.mk_lazy ps fstar_tactics_proofstate.t - FStar_Syntax_Syntax.Lazy_proofstate (FStar_Pervasives_Native.Some rng) in - let unembed_proofstate w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Compiler_Effect.op_Less_Bar - (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 - "Not an embedded proofstate: %s\n" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_proofstate unembed_proofstate fstar_tactics_proofstate.t + FStar_Tactics_Types.proofstate FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_proofstate + fstar_tactics_proofstate.t +let (e_goal : + FStar_Tactics_Types.goal FStar_Syntax_Embeddings_Base.embedding) = + FStar_Syntax_Embeddings_Base.e_lazy FStar_Syntax_Syntax.Lazy_goal + fstar_tactics_goal.t let (unfold_lazy_proofstate : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = fun i -> FStar_Syntax_Util.exp_string "(((proofstate)))" +let (unfold_lazy_goal : + FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = + fun i -> FStar_Syntax_Util.exp_string "(((goal)))" let (mkFV : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> @@ -270,39 +246,6 @@ let (e_proofstate_nbe : FStar_TypeChecker_NBETerm.typ = uu___; FStar_TypeChecker_NBETerm.emb_typ = uu___1 } -let (e_goal : FStar_Tactics_Types.goal FStar_Syntax_Embeddings.embedding) = - let embed_goal rng g = - FStar_Syntax_Util.mk_lazy g fstar_tactics_goal.t - FStar_Syntax_Syntax.Lazy_goal (FStar_Pervasives_Native.Some rng) in - let unembed_goal w t = - let uu___ = - let uu___1 = FStar_Syntax_Subst.compress t in - uu___1.FStar_Syntax_Syntax.n in - match uu___ with - | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal; - FStar_Syntax_Syntax.ltyp = uu___1; - FStar_Syntax_Syntax.rng = uu___2;_} - -> - let uu___3 = FStar_Compiler_Dyn.undyn b in - FStar_Compiler_Effect.op_Less_Bar - (fun uu___4 -> FStar_Pervasives_Native.Some uu___4) uu___3 - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded goal: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in - mk_emb embed_goal unembed_goal fstar_tactics_goal.t -let (unfold_lazy_goal : - FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - 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 = @@ -360,7 +303,7 @@ let (e_goal_nbe : FStar_TypeChecker_NBETerm.typ = uu___; FStar_TypeChecker_NBETerm.emb_typ = uu___1 } -let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = +let (e_exn : Prims.exn FStar_Syntax_Embeddings_Base.embedding) = let embed_exn e rng uu___ uu___1 = match e with | FStar_Tactics_Common.TacticFailure s -> @@ -389,12 +332,12 @@ let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = [uu___3] in FStar_Syntax_Syntax.mk_Tm_app fstar_tactics_TacticFailure.t uu___2 rng in - let unembed_exn t w uu___ = + let unembed_exn t uu___ = let uu___1 = hd'_and_args t in match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, (s, uu___2)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_TacticFailure.lid -> - let uu___3 = unembed' w FStar_Syntax_Embeddings.e_string s in + let uu___3 = unembed' FStar_Syntax_Embeddings.e_string s in FStar_Compiler_Util.bind_opt uu___3 (fun s1 -> FStar_Pervasives_Native.Some @@ -407,7 +350,7 @@ let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = FStar_Ident.string_of_lid in (uu___2, []) in FStar_Syntax_Syntax.ET_app uu___1 in - FStar_Syntax_Embeddings.mk_emb_full embed_exn unembed_exn + FStar_Syntax_Embeddings_Base.mk_emb_full embed_exn unembed_exn FStar_Syntax_Syntax.t_exn (fun uu___1 -> "(exn)") uu___ let (e_exn_nbe : Prims.exn FStar_TypeChecker_NBETerm.embedding) = let embed_exn cb e = @@ -450,8 +393,8 @@ let (e_exn_nbe : Prims.exn FStar_TypeChecker_NBETerm.embedding) = } let e_result : 'a . - 'a FStar_Syntax_Embeddings.embedding -> - 'a FStar_Tactics_Result.__result FStar_Syntax_Embeddings.embedding + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'a FStar_Tactics_Result.__result FStar_Syntax_Embeddings_Base.embedding = fun ea -> let embed_result res rng uu___ uu___1 = @@ -462,7 +405,7 @@ let e_result : [FStar_Syntax_Syntax.U_zero] in let uu___3 = let uu___4 = - let uu___5 = FStar_Syntax_Embeddings.type_of ea in + let uu___5 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___5 in let uu___5 = let uu___6 = @@ -482,7 +425,7 @@ let e_result : [FStar_Syntax_Syntax.U_zero] in let uu___3 = let uu___4 = - let uu___5 = FStar_Syntax_Embeddings.type_of ea in + let uu___5 = FStar_Syntax_Embeddings_Base.type_of ea in FStar_Syntax_Syntax.iarg uu___5 in let uu___5 = let uu___6 = @@ -496,54 +439,44 @@ let e_result : uu___6 :: uu___7 in uu___4 :: uu___5 in FStar_Syntax_Syntax.mk_Tm_app uu___2 uu___3 rng in - let unembed_result t w uu___ = + let unembed_result t uu___ = let uu___1 = hd'_and_args t in match uu___1 with | (FStar_Syntax_Syntax.Tm_fvar fv, _t::(a1, uu___2)::(ps, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Success.lid -> - let uu___4 = unembed' w ea a1 in + let uu___4 = unembed' ea a1 in FStar_Compiler_Util.bind_opt uu___4 (fun a2 -> - let uu___5 = unembed' w e_proofstate ps in + let uu___5 = unembed' e_proofstate ps in FStar_Compiler_Util.bind_opt uu___5 (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success (a2, ps1)))) | (FStar_Syntax_Syntax.Tm_fvar fv, _t::(e, uu___2)::(ps, uu___3)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Failed.lid -> - let uu___4 = unembed' w e_exn e in + let uu___4 = unembed' e_exn e in FStar_Compiler_Util.bind_opt uu___4 (fun e1 -> - let uu___5 = unembed' w e_proofstate ps in + let uu___5 = unembed' e_proofstate ps in FStar_Compiler_Util.bind_opt uu___5 (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed (e1, ps1)))) - | uu___2 -> - (if w - then - (let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 - "Not an embedded tactic result: %s" uu___6 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___5) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___4) - else (); - FStar_Pervasives_Native.None) in + | uu___2 -> FStar_Pervasives_Native.None in let uu___ = - let uu___1 = FStar_Syntax_Embeddings.type_of ea in t_result_of uu___1 in + let uu___1 = FStar_Syntax_Embeddings_Base.type_of ea in + t_result_of uu___1 in let uu___1 = let uu___2 = let uu___3 = FStar_Compiler_Effect.op_Bar_Greater fstar_tactics_result.lid FStar_Ident.string_of_lid in let uu___4 = - let uu___5 = FStar_Syntax_Embeddings.emb_typ_of ea in [uu___5] in + let uu___5 = FStar_Syntax_Embeddings_Base.emb_typ_of ea in [uu___5] in (uu___3, uu___4) in FStar_Syntax_Syntax.ET_app uu___2 in - FStar_Syntax_Embeddings.mk_emb_full embed_result unembed_result uu___ - (fun uu___2 -> "") uu___1 + FStar_Syntax_Embeddings_Base.mk_emb_full embed_result unembed_result + uu___ (fun uu___2 -> "") uu___1 let e_result_nbe : 'a . 'a FStar_TypeChecker_NBETerm.embedding -> @@ -627,12 +560,12 @@ let e_result_nbe : FStar_TypeChecker_NBETerm.emb_typ = uu___1 } let (e_direction : - FStar_Tactics_Types.direction FStar_Syntax_Embeddings.embedding) = + FStar_Tactics_Types.direction FStar_Syntax_Embeddings_Base.embedding) = let embed_direction rng d = match d with | FStar_Tactics_Types.TopDown -> fstar_tactics_topdown.t | FStar_Tactics_Types.BottomUp -> fstar_tactics_bottomup.t in - let unembed_direction w t = + let unembed_direction t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -643,18 +576,7 @@ let (e_direction : | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_bottomup.lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.BottomUp - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded direction: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_direction unembed_direction fstar_tactics_direction.t let (e_direction_nbe : FStar_Tactics_Types.direction FStar_TypeChecker_NBETerm.embedding) = @@ -697,13 +619,13 @@ let (e_direction_nbe : FStar_TypeChecker_NBETerm.emb_typ = uu___1 } let (e_ctrl_flag : - FStar_Tactics_Types.ctrl_flag FStar_Syntax_Embeddings.embedding) = + FStar_Tactics_Types.ctrl_flag FStar_Syntax_Embeddings_Base.embedding) = let embed_ctrl_flag rng d = match d with | FStar_Tactics_Types.Continue -> fstar_tactics_Continue.t | FStar_Tactics_Types.Skip -> fstar_tactics_Skip.t | FStar_Tactics_Types.Abort -> fstar_tactics_Abort.t in - let unembed_ctrl_flag w t = + let unembed_ctrl_flag t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -717,18 +639,7 @@ let (e_ctrl_flag : | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Abort.lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.Abort - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded ctrl_flag: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_ctrl_flag unembed_ctrl_flag fstar_tactics_ctrl_flag.t let (e_ctrl_flag_nbe : FStar_Tactics_Types.ctrl_flag FStar_TypeChecker_NBETerm.embedding) = @@ -774,14 +685,14 @@ let (e_ctrl_flag_nbe : FStar_TypeChecker_NBETerm.emb_typ = uu___1 } let (e_unfold_side : - FStar_TypeChecker_Core.side FStar_Syntax_Embeddings.embedding) = + FStar_TypeChecker_Core.side FStar_Syntax_Embeddings_Base.embedding) = let embed_unfold_side rng s = match s with | FStar_TypeChecker_Core.Left -> fstar_tactics_unfold_side_Left.t | FStar_TypeChecker_Core.Right -> fstar_tactics_unfold_side_Right.t | FStar_TypeChecker_Core.Both -> fstar_tactics_unfold_side_Both.t | FStar_TypeChecker_Core.Neither -> fstar_tactics_unfold_side_Neither.t in - let unembed_unfold_side w t = + let unembed_unfold_side t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -799,18 +710,7 @@ let (e_unfold_side : FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_unfold_side_Neither.lid -> FStar_Pervasives_Native.Some FStar_TypeChecker_Core.Neither - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 "Not an embedded unfold_side: %s" - uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_unfold_side unembed_unfold_side fstar_tactics_unfold_side.t let (e_unfold_side_nbe : FStar_TypeChecker_Core.side FStar_TypeChecker_NBETerm.embedding) = @@ -864,12 +764,12 @@ let (e_unfold_side_nbe : FStar_TypeChecker_NBETerm.emb_typ = uu___1 } let (e_tot_or_ghost : - FStar_Tactics_Types.tot_or_ghost FStar_Syntax_Embeddings.embedding) = + FStar_Tactics_Types.tot_or_ghost FStar_Syntax_Embeddings_Base.embedding) = let embed_tot_or_ghost rng s = match s with | FStar_Tactics_Types.E_Total -> fstar_tactics_tot_or_ghost_ETotal.t | FStar_Tactics_Types.E_Ghost -> fstar_tactics_tot_or_ghost_EGhost.t in - let unembed_tot_or_ghost w t = + let unembed_tot_or_ghost t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -882,18 +782,7 @@ let (e_tot_or_ghost : FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_tot_or_ghost_EGhost.lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.E_Ghost - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 - "Not an embedded tot_or_ghost: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_tot_or_ghost unembed_tot_or_ghost fstar_tactics_tot_or_ghost.t let (e_tot_or_ghost_nbe : FStar_Tactics_Types.tot_or_ghost FStar_TypeChecker_NBETerm.embedding) = @@ -938,14 +827,14 @@ let (e_tot_or_ghost_nbe : FStar_TypeChecker_NBETerm.emb_typ = uu___1 } let (e_guard_policy : - FStar_Tactics_Types.guard_policy FStar_Syntax_Embeddings.embedding) = + FStar_Tactics_Types.guard_policy FStar_Syntax_Embeddings_Base.embedding) = let embed_guard_policy rng p = match p with | FStar_Tactics_Types.SMT -> fstar_tactics_SMT.t | FStar_Tactics_Types.Goal -> fstar_tactics_Goal.t | FStar_Tactics_Types.Force -> fstar_tactics_Force.t | FStar_Tactics_Types.Drop -> fstar_tactics_Drop.t in - let unembed_guard_policy w t = + let unembed_guard_policy t = let uu___ = let uu___1 = FStar_Syntax_Subst.compress t in uu___1.FStar_Syntax_Syntax.n in @@ -962,18 +851,7 @@ let (e_guard_policy : | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Drop.lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.Drop - | uu___1 -> - (if w - then - (let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.format1 - "Not an embedded guard_policy: %s" uu___5 in - (FStar_Errors_Codes.Warning_NotEmbedded, uu___4) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu___3) - else (); - FStar_Pervasives_Native.None) in + | uu___1 -> FStar_Pervasives_Native.None in mk_emb embed_guard_policy unembed_guard_policy fstar_tactics_guard_policy.t let (e_guard_policy_nbe : FStar_Tactics_Types.guard_policy FStar_TypeChecker_NBETerm.embedding) = diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Hooks.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Hooks.ml index fac758e50b1..44eb75c50ec 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Hooks.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Hooks.ml @@ -16,13 +16,14 @@ let (run_tactic_on_typ : let uu___ = FStar_Compiler_Range_Type.use_range rng_goal in let uu___1 = FStar_Compiler_Range_Type.use_range rng_tac in FStar_Compiler_Range_Type.range_of_rng uu___ uu___1 in - let uu___ = FStar_Tactics_Basic.proofstate_of_goal_ty rng env typ in + let uu___ = + FStar_Tactics_V2_Basic.proofstate_of_goal_ty rng env typ in match uu___ with | (ps, w) -> let tactic_already_typed = false in let uu___1 = - FStar_Tactics_Interpreter.run_tactic_on_ps rng_tac rng_goal - false FStar_Syntax_Embeddings.e_unit () + FStar_Tactics_V2_Interpreter.run_tactic_on_ps rng_tac + rng_goal false FStar_Syntax_Embeddings.e_unit () FStar_Syntax_Embeddings.e_unit tactic tactic_already_typed ps in (match uu___1 with | (gs, _res) -> (gs, w)) @@ -40,15 +41,15 @@ let (run_tactic_on_all_implicits : fun env -> fun imps -> let uu___ = - FStar_Tactics_Basic.proofstate_of_all_implicits rng_goal env + FStar_Tactics_V2_Basic.proofstate_of_all_implicits rng_goal env imps in match uu___ with | (ps, uu___1) -> let tactic_already_typed = false in let uu___2 = let uu___3 = FStar_TypeChecker_Env.get_range env in - FStar_Tactics_Interpreter.run_tactic_on_ps uu___3 rng_goal - true FStar_Syntax_Embeddings.e_unit () + FStar_Tactics_V2_Interpreter.run_tactic_on_ps uu___3 + rng_goal true FStar_Syntax_Embeddings.e_unit () FStar_Syntax_Embeddings.e_unit tactic tactic_already_typed ps in (match uu___2 with | (goals, ()) -> goals) @@ -228,7 +229,7 @@ let (by_tactic_interp : let tagged_imps = FStar_TypeChecker_Rel.resolve_implicits_tac e g_imp in - (FStar_Tactics_Interpreter.report_implicits + (FStar_Tactics_V2_Interpreter.report_implicits tm.FStar_Syntax_Syntax.pos tagged_imps; Simplified (uvtm, gs)))) | uu___2 -> Unchanged t) @@ -559,9 +560,10 @@ let (preprocess : (let uu___2 = FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___2); + FStar_Tactics_V2_Interpreter.tacdbg uu___2); (let uu___3 = - FStar_Compiler_Effect.op_Bang FStar_Tactics_Interpreter.tacdbg in + FStar_Compiler_Effect.op_Bang + FStar_Tactics_V2_Interpreter.tacdbg in if uu___3 then let uu___4 = @@ -584,7 +586,7 @@ let (preprocess : | (t', gs) -> ((let uu___5 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___5 then let uu___6 = @@ -628,7 +630,7 @@ let (preprocess : | FStar_Pervasives_Native.Some phi1 -> phi1 in ((let uu___7 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___7 then let uu___8 = @@ -893,6 +895,8 @@ let rec (traverse_for_spinoff : (env2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1505,7 +1509,7 @@ let (synthesize : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___3); + FStar_Tactics_V2_Interpreter.tacdbg uu___3); (let uu___3 = run_tactic_on_typ tau.FStar_Syntax_Syntax.pos typ.FStar_Syntax_Syntax.pos tau env typ in @@ -1521,7 +1525,7 @@ let (synthesize : | FStar_Pervasives_Native.Some vc -> ((let uu___7 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___7 then let uu___8 = @@ -1566,7 +1570,7 @@ let (solve_implicits : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___3); + FStar_Tactics_V2_Interpreter.tacdbg uu___3); (let gs = let uu___3 = FStar_TypeChecker_Env.get_range env in run_tactic_on_all_implicits tau.FStar_Syntax_Syntax.pos @@ -1596,7 +1600,7 @@ let (solve_implicits : | FStar_Pervasives_Native.Some vc -> ((let uu___8 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___8 then let uu___9 = @@ -1699,7 +1703,7 @@ let (handle_smt_goal : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___4); + FStar_Tactics_V2_Interpreter.tacdbg uu___4); (let uu___4 = let uu___5 = FStar_TypeChecker_Env.get_range env in let uu___6 = @@ -1722,7 +1726,7 @@ let (handle_smt_goal : | FStar_Pervasives_Native.Some vc -> ((let uu___8 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___8 then let uu___9 = @@ -1766,7 +1770,7 @@ let (splice : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___3); + FStar_Tactics_V2_Interpreter.tacdbg uu___3); (let uu___3 = if is_typed then @@ -1780,7 +1784,7 @@ let (splice : | (tau1, uu___4, g) -> (FStar_TypeChecker_Rel.force_trivial_guard env g; (let ps = - FStar_Tactics_Basic.proofstate_of_goals + FStar_Tactics_V2_Basic.proofstate_of_goals tau1.FStar_Syntax_Syntax.pos env [] [] in let tactic_already_typed = true in let uu___6 = @@ -1789,12 +1793,12 @@ let (splice : let uu___7 = let uu___8 = FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term in - FStar_Tactics_Interpreter.run_tactic_on_ps + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term in + FStar_Tactics_V2_Interpreter.run_tactic_on_ps tau1.FStar_Syntax_Syntax.pos tau1.FStar_Syntax_Syntax.pos false - FStar_Reflection_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_env { FStar_TypeChecker_Env.solver = (env.FStar_TypeChecker_Env.solver); @@ -1845,6 +1849,8 @@ let (splice : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -1942,8 +1948,8 @@ let (splice : else (let uu___8 = FStar_Syntax_Embeddings.e_list - FStar_Reflection_Embeddings.e_sigelt in - FStar_Tactics_Interpreter.run_tactic_on_ps + FStar_Reflection_V2_Embeddings.e_sigelt in + FStar_Tactics_V2_Interpreter.run_tactic_on_ps tau1.FStar_Syntax_Syntax.pos tau1.FStar_Syntax_Syntax.pos false FStar_Syntax_Embeddings.e_unit () uu___8 @@ -2094,7 +2100,7 @@ let (splice : | uu___10 -> ()) lids; (let uu___10 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___10 then let uu___11 = @@ -2206,16 +2212,16 @@ let (mpreprocess : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___3); + FStar_Tactics_V2_Interpreter.tacdbg uu___3); (let ps = - FStar_Tactics_Basic.proofstate_of_goals + FStar_Tactics_V2_Basic.proofstate_of_goals tm.FStar_Syntax_Syntax.pos env [] [] in let tactic_already_typed = false in let uu___3 = - FStar_Tactics_Interpreter.run_tactic_on_ps + FStar_Tactics_V2_Interpreter.run_tactic_on_ps tau.FStar_Syntax_Syntax.pos tm.FStar_Syntax_Syntax.pos - false FStar_Reflection_Embeddings.e_term tm - FStar_Reflection_Embeddings.e_term tau + false FStar_Reflection_V2_Embeddings.e_term tm + FStar_Reflection_V2_Embeddings.e_term tau tactic_already_typed ps in match uu___3 with | (gs, tm1) -> tm1))) let (postprocess : @@ -2238,7 +2244,7 @@ let (postprocess : FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in FStar_Compiler_Effect.op_Colon_Equals - FStar_Tactics_Interpreter.tacdbg uu___3); + FStar_Tactics_V2_Interpreter.tacdbg uu___3); (let uu___3 = FStar_TypeChecker_Env.new_implicit_var_aux "postprocess RHS" tm.FStar_Syntax_Syntax.pos env typ @@ -2268,7 +2274,7 @@ let (postprocess : | FStar_Pervasives_Native.Some vc -> ((let uu___9 = FStar_Compiler_Effect.op_Bang - FStar_Tactics_Interpreter.tacdbg in + FStar_Tactics_V2_Interpreter.tacdbg in if uu___9 then let uu___10 = @@ -2305,6 +2311,6 @@ let (postprocess : (let tagged_imps = FStar_TypeChecker_Rel.resolve_implicits_tac env g_imp in - FStar_Tactics_Interpreter.report_implicits + FStar_Tactics_V2_Interpreter.report_implicits tm.FStar_Syntax_Syntax.pos tagged_imps; uvtm)))))) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml index 23cf5f8febb..e8306abedb2 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml @@ -1,1613 +1 @@ -open Prims -let (cur_formula : - unit -> - (FStar_Reflection_Formula.formula, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (26)) - (Prims.of_int (51)) (Prims.of_int (26)) (Prims.of_int (64))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (26)) - (Prims.of_int (35)) (Prims.of_int (26)) (Prims.of_int (64))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic (FStar_Reflection_Formula.term_as_formula uu___1)) - uu___1) -let (l_revert : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (35)) - (Prims.of_int (4)) (Prims.of_int (35)) (Prims.of_int (13))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (36)) - (Prims.of_int (4)) (Prims.of_int (36)) (Prims.of_int (26))) - (Obj.magic (FStar_Tactics_Builtins.revert ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "revert_squash"]))))) - uu___1) -let rec (l_revert_all : - FStar_Reflection_Types.binders -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - (fun bs -> - match bs with - | [] -> - Obj.magic - (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) - | uu___::tl -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (42)) (Prims.of_int (21)) - (Prims.of_int (42)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (42)) (Prims.of_int (34)) - (Prims.of_int (42)) (Prims.of_int (49))) - (Obj.magic (l_revert ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (l_revert_all tl)) uu___1)))) - uu___ -let (forall_intro : - unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (50)) - (Prims.of_int (4)) (Prims.of_int (50)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (51)) - (Prims.of_int (4)) (Prims.of_int (51)) (Prims.of_int (12))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "fa_intro_lem"]))))) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Builtins.intro ())) uu___1) -let (forall_intro_as : - Prims.string -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun s -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (55)) - (Prims.of_int (4)) (Prims.of_int (55)) (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (56)) - (Prims.of_int (4)) (Prims.of_int (56)) (Prims.of_int (14))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "fa_intro_lem"]))))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Derived.intro_as s)) uu___) -let (forall_intros : - unit -> - (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) - = fun uu___ -> FStar_Tactics_Derived.repeat1 forall_intro -let (split : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Derived.try_with - (fun uu___1 -> - match () with - | () -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "split_lem"])))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic (FStar_Tactics_Derived.fail "Could not split goal")) - uu___1) -let (implies_intro : - unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (78)) - (Prims.of_int (4)) (Prims.of_int (78)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (79)) - (Prims.of_int (4)) (Prims.of_int (79)) (Prims.of_int (12))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "imp_intro_lem"]))))) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Builtins.intro ())) uu___1) -let (implies_intro_as : - Prims.string -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun s -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (82)) - (Prims.of_int (4)) (Prims.of_int (82)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (83)) - (Prims.of_int (4)) (Prims.of_int (83)) (Prims.of_int (14))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "imp_intro_lem"]))))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Derived.intro_as s)) uu___) -let (implies_intros : - unit -> - (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) - = fun uu___ -> FStar_Tactics_Derived.repeat1 implies_intro -let (l_intro : - unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = fun uu___ -> FStar_Tactics_Derived.or_else forall_intro implies_intro -let (l_intros : - unit -> - (FStar_Reflection_Types.binder Prims.list, unit) - FStar_Tactics_Effect.tac_repr) - = fun uu___ -> FStar_Tactics_Derived.repeat l_intro -let (squash_intro : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Squash"; "return_squash"]))) -let (l_exact : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Derived.try_with - (fun uu___ -> match () with | () -> FStar_Tactics_Derived.exact t) - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (99)) (Prims.of_int (12)) (Prims.of_int (99)) - (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (99)) (Prims.of_int (29)) (Prims.of_int (99)) - (Prims.of_int (36))) (Obj.magic (squash_intro ())) - (fun uu___1 -> - (fun uu___1 -> Obj.magic (FStar_Tactics_Derived.exact t)) - uu___1)) -let (hyp : - FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun b -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (101)) - (Prims.of_int (40)) (Prims.of_int (101)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (101)) - (Prims.of_int (32)) (Prims.of_int (101)) (Prims.of_int (58))) - (Obj.magic (FStar_Tactics_Derived.binder_to_term b)) - (fun uu___ -> (fun uu___ -> Obj.magic (l_exact uu___)) uu___) -let (pose_lemma : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (108)) - (Prims.of_int (10)) (Prims.of_int (108)) (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (108)) - (Prims.of_int (31)) (Prims.of_int (126)) (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (108)) (Prims.of_int (14)) (Prims.of_int (108)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (108)) (Prims.of_int (10)) (Prims.of_int (108)) - (Prims.of_int (28))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.tcc uu___ t)) - uu___))) - (fun uu___ -> - (fun c -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (110)) (Prims.of_int (4)) - (Prims.of_int (112)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (108)) (Prims.of_int (31)) - (Prims.of_int (126)) (Prims.of_int (5))) - (match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Lemma (pre, post, uu___) -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> (pre, post)) - | uu___ -> FStar_Tactics_Derived.fail "") - (fun uu___ -> - (fun uu___ -> - match uu___ with - | (pre, post) -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (114)) (Prims.of_int (13)) - (Prims.of_int (114)) (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (114)) (Prims.of_int (30)) - (Prims.of_int (126)) (Prims.of_int (5))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - (post, - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)), - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___1 -> - (fun post1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (115)) - (Prims.of_int (13)) - (Prims.of_int (115)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (117)) - (Prims.of_int (2)) - (Prims.of_int (126)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Derived.norm_term - [] post1)) - (fun uu___1 -> - (fun post2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (117)) - (Prims.of_int (8)) - (Prims.of_int (117)) - (Prims.of_int (28))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (117)) - (Prims.of_int (2)) - (Prims.of_int (126)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula' - pre)) - (fun uu___1 -> - (fun uu___1 -> - match uu___1 with - | FStar_Reflection_Formula.True_ - -> - Obj.magic - (FStar_Tactics_Derived.pose - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "__lemma_to_squash"]))), - (pre, - FStar_Reflection_Data.Q_Implicit)))), - (post2, - FStar_Reflection_Data.Q_Implicit)))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit)), - FStar_Reflection_Data.Q_Explicit)))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Abs - ((FStar_Reflection_Builtins.pack_binder - { - FStar_Reflection_Data.binder_bv - = - (FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname - = - (FStar_Sealed.seal - "uu___"); - FStar_Reflection_Data.bv_index - = - (Prims.of_int (100)) - }); - FStar_Reflection_Data.binder_qual - = - FStar_Reflection_Data.Q_Explicit; - FStar_Reflection_Data.binder_attrs - = []; - FStar_Reflection_Data.binder_sort - = - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["Prims"; - "unit"]))) - }), t))), - FStar_Reflection_Data.Q_Explicit))))) - | uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (121)) - (Prims.of_int (15)) - (Prims.of_int (121)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (121)) - (Prims.of_int (40)) - (Prims.of_int (126)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Derived.tcut - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["Prims"; - "squash"]))), - (pre, - FStar_Reflection_Data.Q_Explicit)))))) - (fun - uu___3 -> - (fun reqb - -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (12)) - (Prims.of_int (123)) - (Prims.of_int (102))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (124)) - (Prims.of_int (4)) - (Prims.of_int (126)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (17)) - (Prims.of_int (123)) - (Prims.of_int (102))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (12)) - (Prims.of_int (123)) - (Prims.of_int (102))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (97)) - (Prims.of_int (123)) - (Prims.of_int (98))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (17)) - (Prims.of_int (123)) - (Prims.of_int (102))) - (FStar_Tactics_Effect.lift_div_tac - (fun - uu___3 -> - t)) - (fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (60)) - (Prims.of_int (123)) - (Prims.of_int (81))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (17)) - (Prims.of_int (123)) - (Prims.of_int (102))) - (Obj.magic - (FStar_Tactics_Derived.binder_to_term - reqb)) - (fun - uu___4 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___5 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "__lemma_to_squash"]))), - (pre, - FStar_Reflection_Data.Q_Implicit)))), - (post2, - FStar_Reflection_Data.Q_Implicit)))), - (uu___4, - FStar_Reflection_Data.Q_Explicit)))), - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Abs - ((FStar_Reflection_Builtins.pack_binder - { - FStar_Reflection_Data.binder_bv - = - (FStar_Reflection_Builtins.pack_bv - { - FStar_Reflection_Data.bv_ppname - = - (FStar_Sealed.seal - "uu___"); - FStar_Reflection_Data.bv_index - = - (Prims.of_int (107)) - }); - FStar_Reflection_Data.binder_qual - = - FStar_Reflection_Data.Q_Explicit; - FStar_Reflection_Data.binder_attrs - = []; - FStar_Reflection_Data.binder_sort - = - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["Prims"; - "unit"]))) - }), - uu___3))), - FStar_Reflection_Data.Q_Explicit))))))) - uu___3))) - (fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Derived.pose - uu___3)) - uu___3))) - (fun - uu___3 -> - (fun b -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (124)) - (Prims.of_int (4)) - (Prims.of_int (124)) - (Prims.of_int (11))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (125)) - (Prims.of_int (4)) - (Prims.of_int (126)) - (Prims.of_int (5))) - (Obj.magic - (FStar_Tactics_Derived.flip - ())) - (fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (125)) - (Prims.of_int (4)) - (Prims.of_int (125)) - (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (123)) - (Prims.of_int (8)) - (Prims.of_int (123)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (125)) - (Prims.of_int (11)) - (Prims.of_int (125)) - (Prims.of_int (27))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (125)) - (Prims.of_int (4)) - (Prims.of_int (125)) - (Prims.of_int (27))) - (Obj.magic - (FStar_Tactics_Derived.trytac - FStar_Tactics_Derived.trivial)) - (fun - uu___4 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___5 -> - ())))) - (fun - uu___4 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___5 -> - b)))) - uu___3))) - uu___3))) - uu___3))) - uu___1))) uu___1))) - uu___1))) uu___))) uu___) -let (explode : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (129)) - (Prims.of_int (11)) (Prims.of_int (131)) (Prims.of_int (64))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (129)) - (Prims.of_int (4)) (Prims.of_int (131)) (Prims.of_int (64))) - (Obj.magic - (FStar_Tactics_Derived.repeatseq - (fun uu___1 -> - FStar_Tactics_Derived.first - [(fun uu___2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (130)) (Prims.of_int (50)) - (Prims.of_int (130)) (Prims.of_int (62))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (130)) (Prims.of_int (43)) - (Prims.of_int (130)) (Prims.of_int (62))) - (Obj.magic (l_intro ())) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> ()))); - (fun uu___2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (131)) (Prims.of_int (50)) - (Prims.of_int (131)) (Prims.of_int (60))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (131)) (Prims.of_int (43)) - (Prims.of_int (131)) (Prims.of_int (60))) - (Obj.magic (split ())) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> ())))]))) - (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) -let rec (visit : - (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> - (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun callback -> - FStar_Tactics_Derived.focus - (fun uu___ -> - FStar_Tactics_Derived.or_else callback - (fun uu___1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (137)) (Prims.of_int (28)) - (Prims.of_int (137)) (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (138)) (Prims.of_int (20)) - (Prims.of_int (148)) (Prims.of_int (26))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) - (fun uu___2 -> - (fun g -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (138)) (Prims.of_int (26)) - (Prims.of_int (138)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (138)) (Prims.of_int (20)) - (Prims.of_int (148)) (Prims.of_int (26))) - (Obj.magic - (FStar_Reflection_Formula.term_as_formula g)) - (fun uu___2 -> - (fun uu___2 -> - match uu___2 with - | FStar_Reflection_Formula.Forall - (_b, _sort, _phi) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (140)) - (Prims.of_int (38)) - (Prims.of_int (140)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (141)) - (Prims.of_int (24)) - (Prims.of_int (141)) - (Prims.of_int (87))) - (Obj.magic (forall_intros ())) - (fun uu___3 -> - (fun binders -> - Obj.magic - (FStar_Tactics_Derived.seq - (fun uu___3 -> - visit callback) - (fun uu___3 -> - l_revert_all - binders))) - uu___3))) - | FStar_Reflection_Formula.And (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Derived.seq split - (fun uu___3 -> visit callback))) - | FStar_Reflection_Formula.Implies (p, q) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (145)) - (Prims.of_int (32)) - (Prims.of_int (145)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (146)) - (Prims.of_int (24)) - (Prims.of_int (146)) - (Prims.of_int (63))) - (Obj.magic (implies_intro ())) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic - (FStar_Tactics_Derived.seq - (fun uu___4 -> - visit callback) - l_revert)) uu___3))) - | uu___3 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> ())))) uu___2))) - uu___2))) -let rec (simplify_eq_implication : - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (153)) - (Prims.of_int (12)) (Prims.of_int (153)) (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (153)) - (Prims.of_int (25)) (Prims.of_int (163)) (Prims.of_int (37))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) - (fun uu___1 -> - (fun e -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (154)) (Prims.of_int (12)) - (Prims.of_int (154)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (154)) (Prims.of_int (26)) - (Prims.of_int (163)) (Prims.of_int (37))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) - (fun uu___1 -> - (fun g -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (155)) (Prims.of_int (12)) - (Prims.of_int (155)) (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (156)) (Prims.of_int (4)) - (Prims.of_int (163)) (Prims.of_int (37))) - (Obj.magic - (FStar_Tactics_Derived.destruct_equality_implication - g)) - (fun uu___1 -> - (fun r -> - match r with - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr - (FStar_Tactics_Derived.fail - "Not an equality implication")) - | FStar_Pervasives_Native.Some - (uu___1, rhs) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (160)) - (Prims.of_int (19)) - (Prims.of_int (160)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (161)) - (Prims.of_int (8)) - (Prims.of_int (163)) - (Prims.of_int (37))) - (Obj.magic (implies_intro ())) - (fun uu___2 -> - (fun eq_h -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (161)) - (Prims.of_int (8)) - (Prims.of_int (161)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (162)) - (Prims.of_int (8)) - (Prims.of_int (163)) - (Prims.of_int (37))) - (Obj.magic - (FStar_Tactics_Builtins.rewrite - eq_h)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - ( - FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (162)) - (Prims.of_int (8)) - (Prims.of_int (162)) - (Prims.of_int (20))) - ( - FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (163)) - (Prims.of_int (8)) - (Prims.of_int (163)) - (Prims.of_int (37))) - ( - Obj.magic - (FStar_Tactics_Builtins.clear_top - ())) - ( - fun - uu___3 -> - (fun - uu___3 -> - Obj.magic - (visit - simplify_eq_implication)) - uu___3))) - uu___2))) - uu___2)))) uu___1))) - uu___1))) uu___1) -let (rewrite_all_equalities : - unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> visit simplify_eq_implication -let rec (unfold_definition_and_simplify_eq : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun tm -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (169)) - (Prims.of_int (12)) (Prims.of_int (169)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (170)) - (Prims.of_int (4)) (Prims.of_int (184)) (Prims.of_int (11))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) - (fun uu___ -> - (fun g -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (170)) (Prims.of_int (10)) - (Prims.of_int (170)) (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (170)) (Prims.of_int (4)) - (Prims.of_int (184)) (Prims.of_int (11))) - (Obj.magic (FStar_Reflection_Formula.term_as_formula g)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Formula.App (hd, arg) -> - Obj.magic - (Obj.repr - (if FStar_Reflection_Builtins.term_eq hd tm - then - Obj.repr - (FStar_Tactics_Derived.trivial ()) - else - Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> ())))) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (176)) - (Prims.of_int (16)) - (Prims.of_int (176)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (177)) (Prims.of_int (8)) - (Prims.of_int (183)) - (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Derived.destruct_equality_implication - g)) - (fun uu___2 -> - (fun r -> - match r with - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr - (FStar_Tactics_Derived.fail - "Not an equality implication")) - | FStar_Pervasives_Native.Some - (uu___2, rhs) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (180)) - (Prims.of_int (23)) - (Prims.of_int (180)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (181)) - (Prims.of_int (12)) - (Prims.of_int (183)) - (Prims.of_int (66))) - (Obj.magic - (implies_intro ())) - (fun uu___3 -> - (fun eq_h -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (181)) - (Prims.of_int (12)) - (Prims.of_int (181)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (182)) - (Prims.of_int (12)) - (Prims.of_int (183)) - (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Builtins.rewrite - eq_h)) - (fun uu___3 - -> - (fun - uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (182)) - (Prims.of_int (12)) - (Prims.of_int (182)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (183)) - (Prims.of_int (12)) - (Prims.of_int (183)) - (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Builtins.clear_top - ())) - (fun - uu___4 -> - (fun - uu___4 -> - Obj.magic - (visit - (fun - uu___5 -> - unfold_definition_and_simplify_eq - tm))) - uu___4))) - uu___3))) - uu___3)))) uu___2)))) - uu___))) uu___) -let (unsquash : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (192)) - (Prims.of_int (12)) (Prims.of_int (192)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (193)) - (Prims.of_int (4)) (Prims.of_int (195)) (Prims.of_int (37))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "vbind"])))) - (fun uu___ -> - (fun v -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (193)) (Prims.of_int (4)) - (Prims.of_int (193)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (193)) (Prims.of_int (33)) - (Prims.of_int (195)) (Prims.of_int (37))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Derived.mk_e_app v [t]))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (194)) (Prims.of_int (12)) - (Prims.of_int (194)) (Prims.of_int (20))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (195)) (Prims.of_int (4)) - (Prims.of_int (195)) (Prims.of_int (37))) - (Obj.magic (FStar_Tactics_Builtins.intro ())) - (fun b -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder - b)))))) uu___))) uu___) -let (cases_or : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun o -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Derived.mk_e_app - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "or_ind"]))) [o]) -let (cases_bool : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun b -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (213)) - (Prims.of_int (13)) (Prims.of_int (213)) (Prims.of_int (22))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (214)) - (Prims.of_int (4)) (Prims.of_int (215)) (Prims.of_int (104))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "bool_ind"])))) - (fun uu___ -> - (fun bi -> - Obj.magic - (FStar_Tactics_Derived.seq - (fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Derived.mk_e_app bi [b])) - (fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) (Prims.of_int (27)) - (Prims.of_int (215)) (Prims.of_int (97))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) (Prims.of_int (101)) - (Prims.of_int (215)) (Prims.of_int (103))) - (Obj.magic - (FStar_Tactics_Derived.trytac - (fun uu___1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) (Prims.of_int (53)) - (Prims.of_int (215)) (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) (Prims.of_int (73)) - (Prims.of_int (215)) (Prims.of_int (96))) - (Obj.magic (implies_intro ())) - (fun uu___2 -> - (fun b1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) - (Prims.of_int (73)) - (Prims.of_int (215)) - (Prims.of_int (82))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (215)) - (Prims.of_int (84)) - (Prims.of_int (215)) - (Prims.of_int (96))) - (Obj.magic - (FStar_Tactics_Builtins.rewrite - b1)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Builtins.clear_top - ())) uu___2))) uu___2)))) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))))) - uu___) -let (left : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "or_intro_1"]))) -let (right : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "or_intro_2"]))) -let (and_elim : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Derived.try_with - (fun uu___ -> - match () with - | () -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "__and_elim"]))), - (t, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "__and_elim'"]))), - (t, FStar_Reflection_Data.Q_Explicit))))) -let (destruct_and : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.binder * FStar_Reflection_Types.binder), - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (248)) - (Prims.of_int (4)) (Prims.of_int (248)) (Prims.of_int (14))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (249)) - (Prims.of_int (4)) (Prims.of_int (249)) (Prims.of_int (40))) - (Obj.magic (and_elim t)) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (249)) (Prims.of_int (5)) - (Prims.of_int (249)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (249)) (Prims.of_int (4)) - (Prims.of_int (249)) (Prims.of_int (40))) - (Obj.magic (implies_intro ())) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (249)) (Prims.of_int (23)) - (Prims.of_int (249)) (Prims.of_int (39))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (249)) (Prims.of_int (4)) - (Prims.of_int (249)) (Prims.of_int (40))) - (Obj.magic (implies_intro ())) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> (uu___1, uu___2))))) uu___1))) - uu___) -let (witness : - FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (255)) - (Prims.of_int (4)) (Prims.of_int (255)) (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (256)) - (Prims.of_int (4)) (Prims.of_int (256)) (Prims.of_int (11))) - (Obj.magic - (FStar_Tactics_Derived.apply_raw - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "__witness"]))))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Derived.exact t)) uu___) -let (elim_exists : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.binder * FStar_Reflection_Types.binder), - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (265)) - (Prims.of_int (2)) (Prims.of_int (265)) (Prims.of_int (41))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (265)) - (Prims.of_int (42)) (Prims.of_int (268)) (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "__elim_exists'"]))), - (t, FStar_Reflection_Data.Q_Explicit)))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (266)) (Prims.of_int (10)) - (Prims.of_int (266)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (266)) (Prims.of_int (21)) - (Prims.of_int (268)) (Prims.of_int (9))) - (Obj.magic (FStar_Tactics_Builtins.intro ())) - (fun uu___1 -> - (fun x -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (267)) (Prims.of_int (11)) - (Prims.of_int (267)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (268)) (Prims.of_int (2)) - (Prims.of_int (268)) (Prims.of_int (9))) - (Obj.magic (FStar_Tactics_Builtins.intro ())) - (fun pf -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> (x, pf))))) uu___1))) uu___) -let (instantiate : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun fa -> - fun x -> - FStar_Tactics_Derived.try_with - (fun uu___ -> - match () with - | () -> - FStar_Tactics_Derived.pose - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "__forall_inst_sq"]))), - (fa, FStar_Reflection_Data.Q_Explicit)))), - (x, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___ -> - FStar_Tactics_Derived.try_with - (fun uu___1 -> - match () with - | () -> - FStar_Tactics_Derived.pose - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "__forall_inst"]))), - (fa, FStar_Reflection_Data.Q_Explicit)))), - (x, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Derived.fail "could not instantiate")) - uu___1)) -let (instantiate_as : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term -> - Prims.string -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun fa -> - fun x -> - fun s -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (285)) (Prims.of_int (12)) (Prims.of_int (285)) - (Prims.of_int (28))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (286)) (Prims.of_int (4)) (Prims.of_int (286)) - (Prims.of_int (17))) (Obj.magic (instantiate fa x)) - (fun uu___ -> - (fun b -> Obj.magic (FStar_Tactics_Builtins.rename_to b s)) - uu___) -let rec (sk_binder' : - FStar_Reflection_Types.binders -> - FStar_Reflection_Types.binder -> - ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder), - unit) FStar_Tactics_Effect.tac_repr) - = - fun acc -> - fun b -> - FStar_Tactics_Derived.focus - (fun uu___ -> - FStar_Tactics_Derived.try_with - (fun uu___1 -> - match () with - | () -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (297)) (Prims.of_int (6)) - (Prims.of_int (297)) (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) (Prims.of_int (6)) - (Prims.of_int (302)) (Prims.of_int (29))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (297)) (Prims.of_int (18)) - (Prims.of_int (297)) (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (297)) (Prims.of_int (6)) - (Prims.of_int (297)) (Prims.of_int (52))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (297)) (Prims.of_int (31)) - (Prims.of_int (297)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (297)) (Prims.of_int (18)) - (Prims.of_int (297)) (Prims.of_int (52))) - (Obj.magic - (FStar_Tactics_Derived.binder_to_term b)) - (fun uu___2 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___3 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "sklem0"]))), - (uu___2, - FStar_Reflection_Data.Q_Explicit))))))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Derived.apply_lemma uu___2)) - uu___2))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) (Prims.of_int (6)) - (Prims.of_int (298)) (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (299)) (Prims.of_int (6)) - (Prims.of_int (302)) (Prims.of_int (29))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) - (Prims.of_int (9)) - (Prims.of_int (298)) - (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) - (Prims.of_int (6)) - (Prims.of_int (298)) - (Prims.of_int (38))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) - (Prims.of_int (9)) - (Prims.of_int (298)) - (Prims.of_int (18))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (298)) - (Prims.of_int (9)) - (Prims.of_int (298)) - (Prims.of_int (23))) - (Obj.magic - (FStar_Tactics_Derived.ngoals - ())) - (fun uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> - uu___3 <> Prims.int_one)))) - (fun uu___3 -> - if uu___3 - then - FStar_Tactics_Derived.fail "no" - else - FStar_Tactics_Effect.lift_div_tac - (fun uu___5 -> ())))) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (299)) - (Prims.of_int (6)) - (Prims.of_int (299)) - (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (299)) - (Prims.of_int (14)) - (Prims.of_int (302)) - (Prims.of_int (29))) - (Obj.magic - (FStar_Tactics_Builtins.clear - b)) - (fun uu___4 -> - (fun uu___4 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (300)) - (Prims.of_int (15)) - (Prims.of_int (300)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (300)) - (Prims.of_int (33)) - (Prims.of_int (302)) - (Prims.of_int (29))) - (Obj.magic - (forall_intro ())) - (fun uu___5 -> - (fun bx -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (301)) - (Prims.of_int (15)) - (Prims.of_int (301)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Logic.fst" - (Prims.of_int (302)) - (Prims.of_int (6)) - (Prims.of_int (302)) - (Prims.of_int (29))) - (Obj.magic - (implies_intro - ())) - (fun uu___5 - -> - (fun b' - -> - Obj.magic - (sk_binder' - (bx :: - acc) b')) - uu___5))) - uu___5))) uu___4))) - uu___3))) uu___2)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (acc, b)))) uu___1)) -let (sk_binder : - FStar_Reflection_Types.binder -> - ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder), - unit) FStar_Tactics_Effect.tac_repr) - = fun b -> sk_binder' [] b -let (skolem : - unit -> - ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder) - Prims.list, - unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (311)) - (Prims.of_int (11)) (Prims.of_int (311)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (312)) - (Prims.of_int (2)) (Prims.of_int (312)) (Prims.of_int (18))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (311)) (Prims.of_int (26)) (Prims.of_int (311)) - (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (311)) (Prims.of_int (11)) (Prims.of_int (311)) - (Prims.of_int (38))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) - (fun uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> - FStar_Reflection_Builtins.binders_of_env uu___1)))) - (fun uu___1 -> - (fun bs -> Obj.magic (FStar_Tactics_Util.map sk_binder bs)) uu___1) -let (easy_fill : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = - fun uu___ -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (321)) - (Prims.of_int (12)) (Prims.of_int (321)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" (Prims.of_int (321)) - (Prims.of_int (27)) (Prims.of_int (324)) (Prims.of_int (10))) - (Obj.magic (FStar_Tactics_Derived.repeat FStar_Tactics_Builtins.intro)) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (323)) (Prims.of_int (12)) - (Prims.of_int (323)) (Prims.of_int (67))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (324)) (Prims.of_int (4)) - (Prims.of_int (324)) (Prims.of_int (10))) - (Obj.magic - (FStar_Tactics_Derived.trytac - (fun uu___2 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (323)) (Prims.of_int (30)) - (Prims.of_int (323)) (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.Logic.fst" - (Prims.of_int (323)) (Prims.of_int (58)) - (Prims.of_int (323)) (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Derived.apply - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "lemma_from_squash"]))))) - (fun uu___3 -> - (fun uu___3 -> - Obj.magic (FStar_Tactics_Builtins.intro ())) - uu___3)))) - (fun uu___2 -> - (fun uu___2 -> Obj.magic (FStar_Tactics_Derived.smt ())) - uu___2))) uu___1) -let easy : 'a . 'a -> 'a = fun x -> x -let (using_lemma : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Derived.try_with - (fun uu___ -> - match () with - | () -> - pose_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "lem1_fa"]))), - (t, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___ -> - FStar_Tactics_Derived.try_with - (fun uu___1 -> - match () with - | () -> - pose_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Tactics"; "Logic"; "lem2_fa"]))), - (t, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___1 -> - FStar_Tactics_Derived.try_with - (fun uu___2 -> - match () with - | () -> - pose_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_App - ((FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; - "Tactics"; - "Logic"; - "lem3_fa"]))), - (t, FStar_Reflection_Data.Q_Explicit))))) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Derived.fail - "using_lemma: failed to instantiate")) uu___2))) \ No newline at end of file +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_MApply.ml b/ocaml/fstar-lib/generated/FStar_Tactics_MApply.ml new file mode 100644 index 00000000000..f3c0b78a2aa --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_MApply.ml @@ -0,0 +1,572 @@ +open Prims +let rec (apply_squash_or_lem : + Prims.nat -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun d -> + fun t -> + FStar_Tactics_V2_Derived.try_with + (fun uu___ -> match () with | () -> FStar_Tactics_V2_Derived.apply t) + (fun uu___ -> + FStar_Tactics_V2_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.MApply.fst" + (Prims.of_int (35)) (Prims.of_int (8)) + (Prims.of_int (35)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.MApply.fst" + (Prims.of_int (35)) (Prims.of_int (45)) + (Prims.of_int (35)) (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Squash"; "return_squash"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic (FStar_Tactics_V2_Derived.apply t)) + uu___2)) + (fun uu___1 -> + FStar_Tactics_V2_Derived.try_with + (fun uu___2 -> + match () with + | () -> FStar_Tactics_V2_Derived.apply_lemma t) + (fun uu___2 -> + (fun uu___2 -> + if d <= Prims.int_zero + then + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mapply: out of fuel")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (41)) + (Prims.of_int (13)) + (Prims.of_int (41)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (41)) + (Prims.of_int (33)) + (Prims.of_int (90)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (41)) + (Prims.of_int (16)) + (Prims.of_int (41)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (41)) + (Prims.of_int (13)) + (Prims.of_int (41)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_V2_Derived.cur_env + ())) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_V2_Builtins.tc + uu___4 t)) uu___4))) + (fun uu___4 -> + (fun ty -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (42)) + (Prims.of_int (17)) + (Prims.of_int (42)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (41)) + (Prims.of_int (33)) + (Prims.of_int (90)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_V2_SyntaxHelpers.collect_arr + ty)) + (fun uu___4 -> + (fun uu___4 -> + match uu___4 with + | (tys, c) -> + (match FStar_Tactics_NamedView.inspect_comp + c + with + | FStar_Reflection_V2_Data.C_Lemma + (pre, post, + uu___5) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (46)) + (Prims.of_int (18)) + (Prims.of_int (46)) + (Prims.of_int (32))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (46)) + (Prims.of_int (35)) + (Prims.of_int (55)) + (Prims.of_int (41))))) + ( + FStar_Tactics_Effect.lift_div_tac + (fun + uu___6 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (post, + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit))))) + ( + fun + uu___6 -> + (fun + post1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (47)) + (Prims.of_int (18)) + (Prims.of_int (47)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (49)) + (Prims.of_int (7)) + (Prims.of_int (55)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_V2_Derived.norm_term + [] post1)) + (fun + uu___6 -> + (fun + post2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (49)) + (Prims.of_int (13)) + (Prims.of_int (49)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (49)) + (Prims.of_int (7)) + (Prims.of_int (55)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' + post2)) + (fun + uu___6 -> + (fun + uu___6 -> + match uu___6 + with + | + FStar_Reflection_V2_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (51)) + (Prims.of_int (11)) + (Prims.of_int (51)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (52)) + (Prims.of_int (11)) + (Prims.of_int (52)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "MApply"; + "push1"]))))) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___7))) + | + uu___7 -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mapply: can't apply (1)"))) + uu___6))) + uu___6))) + uu___6))) + | FStar_Reflection_V2_Data.C_Total + rt -> + Obj.magic + (Obj.repr + (match + FStar_Reflection_V2_Derived.unsquash_term + rt + with + | FStar_Pervasives_Native.Some + rt1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (63)) + (Prims.of_int (18)) + (Prims.of_int (63)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (65)) + (Prims.of_int (9)) + (Prims.of_int (71)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_V2_Derived.norm_term + [] rt1)) + (fun + uu___5 -> + (fun rt2 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (65)) + (Prims.of_int (15)) + (Prims.of_int (65)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (65)) + (Prims.of_int (9)) + (Prims.of_int (71)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' + rt2)) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + FStar_Reflection_V2_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (67)) + (Prims.of_int (13)) + (Prims.of_int (67)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (68)) + (Prims.of_int (13)) + (Prims.of_int (68)) + (Prims.of_int (40))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "MApply"; + "push1"]))))) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___6))) + | + uu___6 -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mapply: can't apply (1)"))) + uu___5))) + uu___5) + | FStar_Pervasives_Native.None + -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (78)) + (Prims.of_int (18)) + (Prims.of_int (78)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (80)) + (Prims.of_int (9)) + (Prims.of_int (87)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_V2_Derived.norm_term + [] rt)) + (fun + uu___5 -> + (fun rt1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (80)) + (Prims.of_int (15)) + (Prims.of_int (80)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (80)) + (Prims.of_int (9)) + (Prims.of_int (87)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' + rt1)) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + FStar_Reflection_V2_Formula.Implies + (p, q) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (82)) + (Prims.of_int (13)) + (Prims.of_int (82)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (83)) + (Prims.of_int (13)) + (Prims.of_int (83)) + (Prims.of_int (40))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "MApply"; + "push1"]))))) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___6)) + | + uu___6 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (86)) + (Prims.of_int (13)) + (Prims.of_int (86)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.MApply.fst" + (Prims.of_int (87)) + (Prims.of_int (13)) + (Prims.of_int (87)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Squash"; + "return_squash"]))))) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (FStar_Tactics_V2_Derived.apply + t)) + uu___7))) + uu___5))) + uu___5))) + | uu___5 -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mapply: can't apply (2)")))) + uu___4))) uu___4)))) uu___2))) +type 'a termable = + { + to_term: + 'a -> (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr } +let __proj__Mktermable__item__to_term : + 'a . + 'a termable -> + 'a -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr + = fun projectee -> match projectee with | { to_term;_} -> to_term +let to_term : + 'a . + 'a termable -> + 'a -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr + = + fun projectee -> match projectee with | { to_term = to_term1;_} -> to_term1 +let (termable_term : FStar_Tactics_NamedView.term termable) = + { + to_term = + (fun uu___ -> + (fun t -> + Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + uu___) + } +let (termable_binding : FStar_Tactics_NamedView.binding termable) = + { + to_term = + (fun uu___ -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_V2_SyntaxCoercions.binding_to_term b))) + uu___) + } +let (mapply0 : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> apply_squash_or_lem (Prims.of_int (10)) t +let mapply : + 'ty . 'ty termable -> 'ty -> (unit, unit) FStar_Tactics_Effect.tac_repr = + fun uu___ -> + fun x -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.MApply.fst" + (Prims.of_int (110)) (Prims.of_int (10)) + (Prims.of_int (110)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.MApply.fst" + (Prims.of_int (111)) (Prims.of_int (2)) (Prims.of_int (111)) + (Prims.of_int (26))))) (Obj.magic (to_term uu___ x)) + (fun uu___1 -> + (fun t -> Obj.magic (apply_squash_or_lem (Prims.of_int (10)) t)) + uu___1) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Monad.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Monad.ml index 56d5078fc19..bfd84902be0 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Monad.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Monad.ml @@ -96,6 +96,8 @@ let (register_goal : FStar_Tactics_Types.goal -> unit) = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_NamedView.ml b/ocaml/fstar-lib/generated/FStar_Tactics_NamedView.ml new file mode 100644 index 00000000000..249afaaa94c --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_NamedView.ml @@ -0,0 +1,4035 @@ +open Prims +type namedv = FStar_Reflection_V2_Data.namedv_view +type bv = FStar_Reflection_V2_Data.bv_view +type comp = FStar_Reflection_V2_Data.comp_view +type binding = FStar_Reflection_V2_Data.binding +type term = FStar_Reflection_Types.term +type universe = FStar_Reflection_Types.universe +type binder = + { + uniq: Prims.nat ; + ppname: FStar_Reflection_V2_Data.ppname_t ; + sort: FStar_Reflection_Types.typ ; + qual: FStar_Reflection_V2_Data.aqualv ; + attrs: term Prims.list } +let rec __knot_e_binder _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.binder" + (fun tm_0 -> + match tm_0 with + | ("FStar.Tactics.NamedView.Mkbinder", + uniq_2::ppname_3::sort_4::qual_5::attrs_6::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_int uniq_2) + (fun uniq_2 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e_string) ppname_3) + (fun ppname_3 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term sort_4) + (fun sort_4 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_aqualv qual_5) + (fun qual_5 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_term) + attrs_6) + (fun attrs_6 -> + FStar_Pervasives_Native.Some + { + uniq = uniq_2; + ppname = ppname_3; + sort = sort_4; + qual = qual_5; + attrs = attrs_6 + }))))) + | _ -> FStar_Pervasives_Native.None) + (fun tm_7 -> + match tm_7 with + | { uniq = uniq_9; ppname = ppname_10; sort = sort_11; qual = qual_12; + attrs = attrs_13;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Mkbinder")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_int uniq_9), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e_string) ppname_10), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term sort_11), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_aqualv qual_12), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_term) attrs_13), + FStar_Pervasives_Native.None)]) +let e_binder = __knot_e_binder () +let (__proj__Mkbinder__item__uniq : binder -> Prims.nat) = + fun projectee -> + match projectee with | { uniq; ppname; sort; qual; attrs;_} -> uniq +let (__proj__Mkbinder__item__ppname : + binder -> FStar_Reflection_V2_Data.ppname_t) = + fun projectee -> + match projectee with | { uniq; ppname; sort; qual; attrs;_} -> ppname +let (__proj__Mkbinder__item__sort : binder -> FStar_Reflection_Types.typ) = + fun projectee -> + match projectee with | { uniq; ppname; sort; qual; attrs;_} -> sort +let (__proj__Mkbinder__item__qual : + binder -> FStar_Reflection_V2_Data.aqualv) = + fun projectee -> + match projectee with | { uniq; ppname; sort; qual; attrs;_} -> qual +let (__proj__Mkbinder__item__attrs : binder -> term Prims.list) = + fun projectee -> + match projectee with | { uniq; ppname; sort; qual; attrs;_} -> attrs +type binders = binder Prims.list +type 'b is_simple_binder = unit +type simple_binder = binder +type univ_name = (Prims.string * FStar_Range.range) +type named_universe_view = + | Uv_Zero + | Uv_Succ of universe + | Uv_Max of FStar_Reflection_V2_Data.universes + | Uv_BVar of Prims.nat + | Uv_Name of univ_name + | Uv_Unif of FStar_Reflection_Types.universe_uvar + | Uv_Unk +let rec __knot_e_named_universe_view _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_universe_view" + (fun tm_14 -> + match tm_14 with + | ("FStar.Tactics.NamedView.Uv_Zero", []) -> + FStar_Pervasives_Native.Some Uv_Zero + | ("FStar.Tactics.NamedView.Uv_Succ", _0_17::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_universe _0_17) + (fun _0_17 -> FStar_Pervasives_Native.Some (Uv_Succ _0_17)) + | ("FStar.Tactics.NamedView.Uv_Max", _0_19::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe) _0_19) + (fun _0_19 -> FStar_Pervasives_Native.Some (Uv_Max _0_19)) + | ("FStar.Tactics.NamedView.Uv_BVar", _0_21::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_int _0_21) + (fun _0_21 -> FStar_Pervasives_Native.Some (Uv_BVar _0_21)) + | ("FStar.Tactics.NamedView.Uv_Name", _0_23::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range)) _0_23) + (fun _0_23 -> FStar_Pervasives_Native.Some (Uv_Name _0_23)) + | ("FStar.Tactics.NamedView.Uv_Unif", _0_25::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_universe_uvar _0_25) + (fun _0_25 -> FStar_Pervasives_Native.Some (Uv_Unif _0_25)) + | ("FStar.Tactics.NamedView.Uv_Unk", []) -> + FStar_Pervasives_Native.Some Uv_Unk + | _ -> FStar_Pervasives_Native.None) + (fun tm_27 -> + match tm_27 with + | Uv_Zero -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Zero")) + [] + | Uv_Succ _0_30 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Succ")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_universe _0_30), + FStar_Pervasives_Native.None)] + | Uv_Max _0_32 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Max")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe) _0_32), + FStar_Pervasives_Native.None)] + | Uv_BVar _0_34 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_BVar")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_int _0_34), + FStar_Pervasives_Native.None)] + | Uv_Name _0_36 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Name")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range)) _0_36), + FStar_Pervasives_Native.None)] + | Uv_Unif _0_38 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Unif")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_universe_uvar _0_38), + FStar_Pervasives_Native.None)] + | Uv_Unk -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Uv_Unk")) []) +let e_named_universe_view = __knot_e_named_universe_view () +let (uu___is_Uv_Zero : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Zero -> true | uu___ -> false +let (uu___is_Uv_Succ : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Succ _0 -> true | uu___ -> false +let (__proj__Uv_Succ__item___0 : named_universe_view -> universe) = + fun projectee -> match projectee with | Uv_Succ _0 -> _0 +let (uu___is_Uv_Max : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Max _0 -> true | uu___ -> false +let (__proj__Uv_Max__item___0 : + named_universe_view -> FStar_Reflection_V2_Data.universes) = + fun projectee -> match projectee with | Uv_Max _0 -> _0 +let (uu___is_Uv_BVar : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_BVar _0 -> true | uu___ -> false +let (__proj__Uv_BVar__item___0 : named_universe_view -> Prims.nat) = + fun projectee -> match projectee with | Uv_BVar _0 -> _0 +let (uu___is_Uv_Name : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Name _0 -> true | uu___ -> false +let (__proj__Uv_Name__item___0 : named_universe_view -> univ_name) = + fun projectee -> match projectee with | Uv_Name _0 -> _0 +let (uu___is_Uv_Unif : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Unif _0 -> true | uu___ -> false +let (__proj__Uv_Unif__item___0 : + named_universe_view -> FStar_Reflection_Types.universe_uvar) = + fun projectee -> match projectee with | Uv_Unif _0 -> _0 +let (uu___is_Uv_Unk : named_universe_view -> Prims.bool) = + fun projectee -> match projectee with | Uv_Unk -> true | uu___ -> false +type pattern__Pat_Constant__payload = { + c: FStar_Reflection_V2_Data.vconst } +and pattern__Pat_Cons__payload = + { + head: FStar_Reflection_Types.fv ; + univs: FStar_Reflection_V2_Data.universes FStar_Pervasives_Native.option ; + subpats: (pattern * Prims.bool) Prims.list } +and pattern__Pat_Var__payload = + { + v: namedv ; + sort1: FStar_Reflection_Types.typ FStar_Sealed.sealed } +and pattern__Pat_Dot_Term__payload = + { + t: term FStar_Pervasives_Native.option } +and pattern = + | Pat_Constant of pattern__Pat_Constant__payload + | Pat_Cons of pattern__Pat_Cons__payload + | Pat_Var of pattern__Pat_Var__payload + | Pat_Dot_Term of pattern__Pat_Dot_Term__payload +let rec __knot_e_pattern__Pat_Constant__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.pattern__Pat_Constant__payload" + (fun tm_40 -> + match tm_40 with + | ("FStar.Tactics.NamedView.Mkpattern__Pat_Constant__payload", + c_42::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_vconst c_42) + (fun c_42 -> FStar_Pervasives_Native.Some { c = c_42 }) + | _ -> FStar_Pervasives_Native.None) + (fun tm_43 -> + match tm_43 with + | { c = c_45;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mkpattern__Pat_Constant__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_vconst c_45), + FStar_Pervasives_Native.None)]) +and __knot_e_pattern__Pat_Cons__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.pattern__Pat_Cons__payload" + (fun tm_46 -> + match tm_46 with + | ("FStar.Tactics.NamedView.Mkpattern__Pat_Cons__payload", + head_48::univs_49::subpats_50::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_fv head_48) + (fun head_48 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe)) + univs_49) + (fun univs_49 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + (__knot_e_pattern ()) + FStar_Syntax_Embeddings.e_bool)) subpats_50) + (fun subpats_50 -> + FStar_Pervasives_Native.Some + { + head = head_48; + univs = univs_49; + subpats = subpats_50 + }))) + | _ -> FStar_Pervasives_Native.None) + (fun tm_51 -> + match tm_51 with + | { head = head_53; univs = univs_54; subpats = subpats_55;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mkpattern__Pat_Cons__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_fv head_53), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe)) univs_54), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 (__knot_e_pattern ()) + FStar_Syntax_Embeddings.e_bool)) subpats_55), + FStar_Pervasives_Native.None)]) +and __knot_e_pattern__Pat_Var__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.pattern__Pat_Var__payload" + (fun tm_56 -> + match tm_56 with + | ("FStar.Tactics.NamedView.Mkpattern__Pat_Var__payload", + v_58::sort_59::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_namedv_view v_58) + (fun v_58 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_sealed + FStar_Reflection_V2_Embeddings.e_term) sort_59) + (fun sort_59 -> + FStar_Pervasives_Native.Some + { v = v_58; sort1 = sort_59 })) + | _ -> FStar_Pervasives_Native.None) + (fun tm_60 -> + match tm_60 with + | { v = v_62; sort1 = sort_63;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mkpattern__Pat_Var__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_namedv_view v_62), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_sealed + FStar_Reflection_V2_Embeddings.e_term) sort_63), + FStar_Pervasives_Native.None)]) +and __knot_e_pattern__Pat_Dot_Term__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.pattern__Pat_Dot_Term__payload" + (fun tm_64 -> + match tm_64 with + | ("FStar.Tactics.NamedView.Mkpattern__Pat_Dot_Term__payload", + t_66::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) t_66) + (fun t_66 -> FStar_Pervasives_Native.Some { t = t_66 }) + | _ -> FStar_Pervasives_Native.None) + (fun tm_67 -> + match tm_67 with + | { t = t_69;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mkpattern__Pat_Dot_Term__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) t_69), + FStar_Pervasives_Native.None)]) +and __knot_e_pattern _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.pattern" + (fun tm_70 -> + match tm_70 with + | ("FStar.Tactics.NamedView.Pat_Constant", _0_72::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_pattern__Pat_Constant__payload ()) _0_72) + (fun _0_72 -> FStar_Pervasives_Native.Some (Pat_Constant _0_72)) + | ("FStar.Tactics.NamedView.Pat_Cons", _0_74::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_pattern__Pat_Cons__payload ()) _0_74) + (fun _0_74 -> FStar_Pervasives_Native.Some (Pat_Cons _0_74)) + | ("FStar.Tactics.NamedView.Pat_Var", _0_76::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_pattern__Pat_Var__payload ()) _0_76) + (fun _0_76 -> FStar_Pervasives_Native.Some (Pat_Var _0_76)) + | ("FStar.Tactics.NamedView.Pat_Dot_Term", _0_78::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_pattern__Pat_Dot_Term__payload ()) _0_78) + (fun _0_78 -> FStar_Pervasives_Native.Some (Pat_Dot_Term _0_78)) + | _ -> FStar_Pervasives_Native.None) + (fun tm_79 -> + match tm_79 with + | Pat_Constant _0_81 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Pat_Constant")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_pattern__Pat_Constant__payload ()) _0_81), + FStar_Pervasives_Native.None)] + | Pat_Cons _0_83 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Pat_Cons")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_pattern__Pat_Cons__payload ()) _0_83), + FStar_Pervasives_Native.None)] + | Pat_Var _0_85 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Pat_Var")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_pattern__Pat_Var__payload ()) _0_85), + FStar_Pervasives_Native.None)] + | Pat_Dot_Term _0_87 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Pat_Dot_Term")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_pattern__Pat_Dot_Term__payload ()) _0_87), + FStar_Pervasives_Native.None)]) +let e_pattern__Pat_Constant__payload = + __knot_e_pattern__Pat_Constant__payload () +let e_pattern__Pat_Cons__payload = __knot_e_pattern__Pat_Cons__payload () +let e_pattern__Pat_Var__payload = __knot_e_pattern__Pat_Var__payload () +let e_pattern__Pat_Dot_Term__payload = + __knot_e_pattern__Pat_Dot_Term__payload () +let e_pattern = __knot_e_pattern () +let (__proj__Mkpattern__Pat_Constant__payload__item__c : + pattern__Pat_Constant__payload -> FStar_Reflection_V2_Data.vconst) = + fun projectee -> match projectee with | { c;_} -> c +let (__proj__Mkpattern__Pat_Cons__payload__item__head : + pattern__Pat_Cons__payload -> FStar_Reflection_Types.fv) = + fun projectee -> match projectee with | { head; univs; subpats;_} -> head +let (__proj__Mkpattern__Pat_Cons__payload__item__univs : + pattern__Pat_Cons__payload -> + FStar_Reflection_V2_Data.universes FStar_Pervasives_Native.option) + = + fun projectee -> match projectee with | { head; univs; subpats;_} -> univs +let (__proj__Mkpattern__Pat_Cons__payload__item__subpats : + pattern__Pat_Cons__payload -> (pattern * Prims.bool) Prims.list) = + fun projectee -> + match projectee with | { head; univs; subpats;_} -> subpats +let (__proj__Mkpattern__Pat_Var__payload__item__v : + pattern__Pat_Var__payload -> namedv) = + fun projectee -> match projectee with | { v; sort1 = sort;_} -> v +let (__proj__Mkpattern__Pat_Var__payload__item__sort : + pattern__Pat_Var__payload -> FStar_Reflection_Types.typ FStar_Sealed.sealed) + = fun projectee -> match projectee with | { v; sort1 = sort;_} -> sort +let (__proj__Mkpattern__Pat_Dot_Term__payload__item__t : + pattern__Pat_Dot_Term__payload -> term FStar_Pervasives_Native.option) = + fun projectee -> match projectee with | { t;_} -> t +let (uu___is_Pat_Constant : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Constant _0 -> true | uu___ -> false +let (__proj__Pat_Constant__item___0 : + pattern -> pattern__Pat_Constant__payload) = + fun projectee -> match projectee with | Pat_Constant _0 -> _0 +let (uu___is_Pat_Cons : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Cons _0 -> true | uu___ -> false +let (__proj__Pat_Cons__item___0 : pattern -> pattern__Pat_Cons__payload) = + fun projectee -> match projectee with | Pat_Cons _0 -> _0 +let (uu___is_Pat_Var : pattern -> Prims.bool) = + fun projectee -> match projectee with | Pat_Var _0 -> true | uu___ -> false +let (__proj__Pat_Var__item___0 : pattern -> pattern__Pat_Var__payload) = + fun projectee -> match projectee with | Pat_Var _0 -> _0 +let (uu___is_Pat_Dot_Term : pattern -> Prims.bool) = + fun projectee -> + match projectee with | Pat_Dot_Term _0 -> true | uu___ -> false +let (__proj__Pat_Dot_Term__item___0 : + pattern -> pattern__Pat_Dot_Term__payload) = + fun projectee -> match projectee with | Pat_Dot_Term _0 -> _0 +type branch = (pattern * term) +type match_returns_ascription = + (binder * ((term, comp) FStar_Pervasives.either * term + FStar_Pervasives_Native.option * Prims.bool)) +type named_term_view = + | Tv_Var of namedv + | Tv_BVar of bv + | Tv_FVar of FStar_Reflection_Types.fv + | Tv_UInst of FStar_Reflection_Types.fv * + FStar_Reflection_V2_Data.universes + | Tv_App of term * FStar_Reflection_V2_Data.argv + | Tv_Abs of binder * term + | Tv_Arrow of binder * comp + | Tv_Type of universe + | Tv_Refine of simple_binder * term + | Tv_Const of FStar_Reflection_V2_Data.vconst + | Tv_Uvar of Prims.nat * FStar_Reflection_Types.ctx_uvar_and_subst + | Tv_Let of Prims.bool * term Prims.list * simple_binder * term * term + | Tv_Match of term * match_returns_ascription + FStar_Pervasives_Native.option * branch Prims.list + | Tv_AscribedT of term * term * term FStar_Pervasives_Native.option * + Prims.bool + | Tv_AscribedC of term * comp * term FStar_Pervasives_Native.option * + Prims.bool + | Tv_Unknown + | Tv_Unsupp +let rec __knot_e_named_term_view _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_term_view" + (fun tm_88 -> + match tm_88 with + | ("FStar.Tactics.NamedView.Tv_Var", v_90::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_namedv_view v_90) + (fun v_90 -> FStar_Pervasives_Native.Some (Tv_Var v_90)) + | ("FStar.Tactics.NamedView.Tv_BVar", v_92::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_bv_view v_92) + (fun v_92 -> FStar_Pervasives_Native.Some (Tv_BVar v_92)) + | ("FStar.Tactics.NamedView.Tv_FVar", v_94::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_fv v_94) + (fun v_94 -> FStar_Pervasives_Native.Some (Tv_FVar v_94)) + | ("FStar.Tactics.NamedView.Tv_UInst", v_96::us_97::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_fv v_96) + (fun v_96 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe) us_97) + (fun us_97 -> + FStar_Pervasives_Native.Some (Tv_UInst (v_96, us_97)))) + | ("FStar.Tactics.NamedView.Tv_App", hd_99::a_100::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term hd_99) + (fun hd_99 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_aqualv) a_100) + (fun a_100 -> + FStar_Pervasives_Native.Some (Tv_App (hd_99, a_100)))) + | ("FStar.Tactics.NamedView.Tv_Abs", bv_102::body_103::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed e_binder bv_102) + (fun bv_102 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term body_103) + (fun body_103 -> + FStar_Pervasives_Native.Some (Tv_Abs (bv_102, body_103)))) + | ("FStar.Tactics.NamedView.Tv_Arrow", bv_105::c_106::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed e_binder bv_105) + (fun bv_105 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_comp_view c_106) + (fun c_106 -> + FStar_Pervasives_Native.Some (Tv_Arrow (bv_105, c_106)))) + | ("FStar.Tactics.NamedView.Tv_Type", _0_108::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_universe _0_108) + (fun _0_108 -> FStar_Pervasives_Native.Some (Tv_Type _0_108)) + | ("FStar.Tactics.NamedView.Tv_Refine", b_110::ref_111::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed e_binder b_110) + (fun b_110 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term ref_111) + (fun ref_111 -> + FStar_Pervasives_Native.Some + (Tv_Refine (b_110, ref_111)))) + | ("FStar.Tactics.NamedView.Tv_Const", _0_113::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_vconst _0_113) + (fun _0_113 -> FStar_Pervasives_Native.Some (Tv_Const _0_113)) + | ("FStar.Tactics.NamedView.Tv_Uvar", _0_115::_1_116::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_int _0_115) + (fun _0_115 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_ctx_uvar_and_subst + _1_116) + (fun _1_116 -> + FStar_Pervasives_Native.Some (Tv_Uvar (_0_115, _1_116)))) + | ("FStar.Tactics.NamedView.Tv_Let", + recf_118::attrs_119::b_120::def_121::body_122::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_bool recf_118) + (fun recf_118 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_term) attrs_119) + (fun attrs_119 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + e_binder b_120) + (fun b_120 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term def_121) + (fun def_121 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term + body_122) + (fun body_122 -> + FStar_Pervasives_Native.Some + (Tv_Let + (recf_118, attrs_119, b_120, + def_121, body_122))))))) + | ("FStar.Tactics.NamedView.Tv_Match", + scrutinee_124::ret_125::brs_126::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term scrutinee_124) + (fun scrutinee_124 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + (FStar_Syntax_Embeddings.e_tuple2 e_binder + (FStar_Syntax_Embeddings.e_tuple3 + (FStar_Syntax_Embeddings.e_either + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_comp_view) + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) + FStar_Syntax_Embeddings.e_bool))) ret_125) + (fun ret_125 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 e_pattern + FStar_Reflection_V2_Embeddings.e_term)) + brs_126) + (fun brs_126 -> + FStar_Pervasives_Native.Some + (Tv_Match (scrutinee_124, ret_125, brs_126))))) + | ("FStar.Tactics.NamedView.Tv_AscribedT", + e_128::t_129::tac_130::use_eq_131::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term e_128) + (fun e_128 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term t_129) + (fun t_129 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) tac_130) + (fun tac_130 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_bool use_eq_131) + (fun use_eq_131 -> + FStar_Pervasives_Native.Some + (Tv_AscribedT + (e_128, t_129, tac_130, use_eq_131)))))) + | ("FStar.Tactics.NamedView.Tv_AscribedC", + e_133::c_134::tac_135::use_eq_136::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term e_133) + (fun e_133 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_comp_view c_134) + (fun c_134 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) tac_135) + (fun tac_135 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_bool use_eq_136) + (fun use_eq_136 -> + FStar_Pervasives_Native.Some + (Tv_AscribedC + (e_133, c_134, tac_135, use_eq_136)))))) + | ("FStar.Tactics.NamedView.Tv_Unknown", []) -> + FStar_Pervasives_Native.Some Tv_Unknown + | ("FStar.Tactics.NamedView.Tv_Unsupp", []) -> + FStar_Pervasives_Native.Some Tv_Unsupp + | _ -> FStar_Pervasives_Native.None) + (fun tm_139 -> + match tm_139 with + | Tv_Var v_141 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Var")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_namedv_view v_141), + FStar_Pervasives_Native.None)] + | Tv_BVar v_143 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_BVar")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_bv_view v_143), + FStar_Pervasives_Native.None)] + | Tv_FVar v_145 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_FVar")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_fv v_145), + FStar_Pervasives_Native.None)] + | Tv_UInst (v_147, us_148) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_UInst")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_fv v_147), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_universe) us_148), + FStar_Pervasives_Native.None)] + | Tv_App (hd_150, a_151) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_App")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term hd_150), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_aqualv) a_151), + FStar_Pervasives_Native.None)] + | Tv_Abs (bv_153, body_154) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Abs")) + [((FStar_Syntax_Embeddings_Base.extracted_embed e_binder bv_153), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term body_154), + FStar_Pervasives_Native.None)] + | Tv_Arrow (bv_156, c_157) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Arrow")) + [((FStar_Syntax_Embeddings_Base.extracted_embed e_binder bv_156), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_comp_view c_157), + FStar_Pervasives_Native.None)] + | Tv_Type _0_159 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Type")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_universe _0_159), + FStar_Pervasives_Native.None)] + | Tv_Refine (b_161, ref_162) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Refine")) + [((FStar_Syntax_Embeddings_Base.extracted_embed e_binder b_161), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term ref_162), + FStar_Pervasives_Native.None)] + | Tv_Const _0_164 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Const")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_vconst _0_164), + FStar_Pervasives_Native.None)] + | Tv_Uvar (_0_166, _1_167) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Uvar")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_int _0_166), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_ctx_uvar_and_subst _1_167), + FStar_Pervasives_Native.None)] + | Tv_Let (recf_169, attrs_170, b_171, def_172, body_173) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Let")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_bool recf_169), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_term) attrs_170), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed e_binder b_171), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term def_172), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term body_173), + FStar_Pervasives_Native.None)] + | Tv_Match (scrutinee_175, ret_176, brs_177) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Match")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term scrutinee_175), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + (FStar_Syntax_Embeddings.e_tuple2 e_binder + (FStar_Syntax_Embeddings.e_tuple3 + (FStar_Syntax_Embeddings.e_either + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_comp_view) + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) + FStar_Syntax_Embeddings.e_bool))) ret_176), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 e_pattern + FStar_Reflection_V2_Embeddings.e_term)) brs_177), + FStar_Pervasives_Native.None)] + | Tv_AscribedT (e_179, t_180, tac_181, use_eq_182) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Tv_AscribedT")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term e_179), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term t_180), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) tac_181), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_bool use_eq_182), + FStar_Pervasives_Native.None)] + | Tv_AscribedC (e_184, c_185, tac_186, use_eq_187) -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Tv_AscribedC")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term e_184), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_comp_view c_185), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_option + FStar_Reflection_V2_Embeddings.e_term) tac_186), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_bool use_eq_187), + FStar_Pervasives_Native.None)] + | Tv_Unknown -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Unknown")) + [] + | Tv_Unsupp -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Tv_Unsupp")) + []) +let e_named_term_view = __knot_e_named_term_view () +let (uu___is_Tv_Var : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Var v -> true | uu___ -> false +let (__proj__Tv_Var__item__v : named_term_view -> namedv) = + fun projectee -> match projectee with | Tv_Var v -> v +let (uu___is_Tv_BVar : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_BVar v -> true | uu___ -> false +let (__proj__Tv_BVar__item__v : named_term_view -> bv) = + fun projectee -> match projectee with | Tv_BVar v -> v +let (uu___is_Tv_FVar : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_FVar v -> true | uu___ -> false +let (__proj__Tv_FVar__item__v : named_term_view -> FStar_Reflection_Types.fv) + = fun projectee -> match projectee with | Tv_FVar v -> v +let (uu___is_Tv_UInst : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_UInst (v, us) -> true | uu___ -> false +let (__proj__Tv_UInst__item__v : + named_term_view -> FStar_Reflection_Types.fv) = + fun projectee -> match projectee with | Tv_UInst (v, us) -> v +let (__proj__Tv_UInst__item__us : + named_term_view -> FStar_Reflection_V2_Data.universes) = + fun projectee -> match projectee with | Tv_UInst (v, us) -> us +let (uu___is_Tv_App : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_App (hd, a) -> true | uu___ -> false +let (__proj__Tv_App__item__hd : named_term_view -> term) = + fun projectee -> match projectee with | Tv_App (hd, a) -> hd +let (__proj__Tv_App__item__a : + named_term_view -> FStar_Reflection_V2_Data.argv) = + fun projectee -> match projectee with | Tv_App (hd, a) -> a +let (uu___is_Tv_Abs : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Abs (bv1, body) -> true | uu___ -> false +let (__proj__Tv_Abs__item__bv : named_term_view -> binder) = + fun projectee -> match projectee with | Tv_Abs (bv1, body) -> bv1 +let (__proj__Tv_Abs__item__body : named_term_view -> term) = + fun projectee -> match projectee with | Tv_Abs (bv1, body) -> body +let (uu___is_Tv_Arrow : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Arrow (bv1, c) -> true | uu___ -> false +let (__proj__Tv_Arrow__item__bv : named_term_view -> binder) = + fun projectee -> match projectee with | Tv_Arrow (bv1, c) -> bv1 +let (__proj__Tv_Arrow__item__c : named_term_view -> comp) = + fun projectee -> match projectee with | Tv_Arrow (bv1, c) -> c +let (uu___is_Tv_Type : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Type _0 -> true | uu___ -> false +let (__proj__Tv_Type__item___0 : named_term_view -> universe) = + fun projectee -> match projectee with | Tv_Type _0 -> _0 +let (uu___is_Tv_Refine : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Refine (b, ref) -> true | uu___ -> false +let (__proj__Tv_Refine__item__b : named_term_view -> simple_binder) = + fun projectee -> match projectee with | Tv_Refine (b, ref) -> b +let (__proj__Tv_Refine__item__ref : named_term_view -> term) = + fun projectee -> match projectee with | Tv_Refine (b, ref) -> ref +let (uu___is_Tv_Const : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Const _0 -> true | uu___ -> false +let (__proj__Tv_Const__item___0 : + named_term_view -> FStar_Reflection_V2_Data.vconst) = + fun projectee -> match projectee with | Tv_Const _0 -> _0 +let (uu___is_Tv_Uvar : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Uvar (_0, _1) -> true | uu___ -> false +let (__proj__Tv_Uvar__item___0 : named_term_view -> Prims.nat) = + fun projectee -> match projectee with | Tv_Uvar (_0, _1) -> _0 +let (__proj__Tv_Uvar__item___1 : + named_term_view -> FStar_Reflection_Types.ctx_uvar_and_subst) = + fun projectee -> match projectee with | Tv_Uvar (_0, _1) -> _1 +let (uu___is_Tv_Let : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with + | Tv_Let (recf, attrs, b, def, body) -> true + | uu___ -> false +let (__proj__Tv_Let__item__recf : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_Let (recf, attrs, b, def, body) -> recf +let (__proj__Tv_Let__item__attrs : named_term_view -> term Prims.list) = + fun projectee -> + match projectee with | Tv_Let (recf, attrs, b, def, body) -> attrs +let (__proj__Tv_Let__item__b : named_term_view -> simple_binder) = + fun projectee -> + match projectee with | Tv_Let (recf, attrs, b, def, body) -> b +let (__proj__Tv_Let__item__def : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_Let (recf, attrs, b, def, body) -> def +let (__proj__Tv_Let__item__body : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_Let (recf, attrs, b, def, body) -> body +let (uu___is_Tv_Match : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with + | Tv_Match (scrutinee, ret, brs) -> true + | uu___ -> false +let (__proj__Tv_Match__item__scrutinee : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_Match (scrutinee, ret, brs) -> scrutinee +let (__proj__Tv_Match__item__ret : + named_term_view -> match_returns_ascription FStar_Pervasives_Native.option) + = + fun projectee -> + match projectee with | Tv_Match (scrutinee, ret, brs) -> ret +let (__proj__Tv_Match__item__brs : named_term_view -> branch Prims.list) = + fun projectee -> + match projectee with | Tv_Match (scrutinee, ret, brs) -> brs +let (uu___is_Tv_AscribedT : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with + | Tv_AscribedT (e, t, tac, use_eq) -> true + | uu___ -> false +let (__proj__Tv_AscribedT__item__e : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_AscribedT (e, t, tac, use_eq) -> e +let (__proj__Tv_AscribedT__item__t : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_AscribedT (e, t, tac, use_eq) -> t +let (__proj__Tv_AscribedT__item__tac : + named_term_view -> term FStar_Pervasives_Native.option) = + fun projectee -> + match projectee with | Tv_AscribedT (e, t, tac, use_eq) -> tac +let (__proj__Tv_AscribedT__item__use_eq : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_AscribedT (e, t, tac, use_eq) -> use_eq +let (uu___is_Tv_AscribedC : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with + | Tv_AscribedC (e, c, tac, use_eq) -> true + | uu___ -> false +let (__proj__Tv_AscribedC__item__e : named_term_view -> term) = + fun projectee -> + match projectee with | Tv_AscribedC (e, c, tac, use_eq) -> e +let (__proj__Tv_AscribedC__item__c : named_term_view -> comp) = + fun projectee -> + match projectee with | Tv_AscribedC (e, c, tac, use_eq) -> c +let (__proj__Tv_AscribedC__item__tac : + named_term_view -> term FStar_Pervasives_Native.option) = + fun projectee -> + match projectee with | Tv_AscribedC (e, c, tac, use_eq) -> tac +let (__proj__Tv_AscribedC__item__use_eq : named_term_view -> Prims.bool) = + fun projectee -> + match projectee with | Tv_AscribedC (e, c, tac, use_eq) -> use_eq +let (uu___is_Tv_Unknown : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Unknown -> true | uu___ -> false +let (uu___is_Tv_Unsupp : named_term_view -> Prims.bool) = + fun projectee -> match projectee with | Tv_Unsupp -> true | uu___ -> false +let (notAscription : named_term_view -> Prims.bool) = + fun tv -> + (Prims.op_Negation (uu___is_Tv_AscribedT tv)) && + (Prims.op_Negation (uu___is_Tv_AscribedC tv)) +type letbinding = + { + lb_fv: FStar_Reflection_Types.fv ; + lb_us: univ_name Prims.list ; + lb_typ: FStar_Reflection_Types.typ ; + lb_def: term } +let rec __knot_e_letbinding _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.letbinding" + (fun tm_190 -> + match tm_190 with + | ("FStar.Tactics.NamedView.Mkletbinding", + lb_fv_192::lb_us_193::lb_typ_194::lb_def_195::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_fv lb_fv_192) + (fun lb_fv_192 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) lb_us_193) + (fun lb_us_193 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term lb_typ_194) + (fun lb_typ_194 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term + lb_def_195) + (fun lb_def_195 -> + FStar_Pervasives_Native.Some + { + lb_fv = lb_fv_192; + lb_us = lb_us_193; + lb_typ = lb_typ_194; + lb_def = lb_def_195 + })))) + | _ -> FStar_Pervasives_Native.None) + (fun tm_196 -> + match tm_196 with + | { lb_fv = lb_fv_198; lb_us = lb_us_199; lb_typ = lb_typ_200; + lb_def = lb_def_201;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mkletbinding")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_fv lb_fv_198), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) lb_us_199), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term lb_typ_200), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term lb_def_201), + FStar_Pervasives_Native.None)]) +let e_letbinding = __knot_e_letbinding () +let (__proj__Mkletbinding__item__lb_fv : + letbinding -> FStar_Reflection_Types.fv) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_fv +let (__proj__Mkletbinding__item__lb_us : letbinding -> univ_name Prims.list) + = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_us +let (__proj__Mkletbinding__item__lb_typ : + letbinding -> FStar_Reflection_Types.typ) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_typ +let (__proj__Mkletbinding__item__lb_def : letbinding -> term) = + fun projectee -> + match projectee with | { lb_fv; lb_us; lb_typ; lb_def;_} -> lb_def +type named_sigelt_view__Sg_Let__payload = + { + isrec: Prims.bool ; + lbs: letbinding Prims.list } +and named_sigelt_view__Sg_Inductive__payload = + { + nm: FStar_Reflection_Types.name ; + univs1: univ_name Prims.list ; + params: binders ; + typ: FStar_Reflection_Types.typ ; + ctors: FStar_Reflection_V2_Data.ctor Prims.list } +and named_sigelt_view__Sg_Val__payload = + { + nm1: FStar_Reflection_Types.name ; + univs2: univ_name Prims.list ; + typ1: FStar_Reflection_Types.typ } +and named_sigelt_view = + | Sg_Let of named_sigelt_view__Sg_Let__payload + | Sg_Inductive of named_sigelt_view__Sg_Inductive__payload + | Sg_Val of named_sigelt_view__Sg_Val__payload + | Unk +let rec __knot_e_named_sigelt_view__Sg_Let__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_sigelt_view__Sg_Let__payload" + (fun tm_202 -> + match tm_202 with + | ("FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Let__payload", + isrec_204::lbs_205::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Syntax_Embeddings.e_bool isrec_204) + (fun isrec_204 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list e_letbinding) lbs_205) + (fun lbs_205 -> + FStar_Pervasives_Native.Some + { isrec = isrec_204; lbs = lbs_205 })) + | _ -> FStar_Pervasives_Native.None) + (fun tm_206 -> + match tm_206 with + | { isrec = isrec_208; lbs = lbs_209;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Let__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Syntax_Embeddings.e_bool isrec_208), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list e_letbinding) lbs_209), + FStar_Pervasives_Native.None)]) +and __knot_e_named_sigelt_view__Sg_Inductive__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_sigelt_view__Sg_Inductive__payload" + (fun tm_210 -> + match tm_210 with + | ("FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Inductive__payload", + nm_212::univs_213::params_214::typ_215::ctors_216::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) nm_212) + (fun nm_212 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) univs_213) + (fun univs_213 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list e_binder) + params_214) + (fun params_214 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term typ_215) + (fun typ_215 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) + FStar_Reflection_V2_Embeddings.e_term)) + ctors_216) + (fun ctors_216 -> + FStar_Pervasives_Native.Some + { + nm = nm_212; + univs1 = univs_213; + params = params_214; + typ = typ_215; + ctors = ctors_216 + }))))) + | _ -> FStar_Pervasives_Native.None) + (fun tm_217 -> + match tm_217 with + | { nm = nm_219; univs1 = univs_220; params = params_221; + typ = typ_222; ctors = ctors_223;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Inductive__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) nm_219), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) univs_220), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list e_binder) params_221), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term typ_222), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) + FStar_Reflection_V2_Embeddings.e_term)) ctors_223), + FStar_Pervasives_Native.None)]) +and __knot_e_named_sigelt_view__Sg_Val__payload _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_sigelt_view__Sg_Val__payload" + (fun tm_224 -> + match tm_224 with + | ("FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Val__payload", + nm_226::univs_227::typ_228::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) nm_226) + (fun nm_226 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) univs_227) + (fun univs_227 -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + FStar_Reflection_V2_Embeddings.e_term typ_228) + (fun typ_228 -> + FStar_Pervasives_Native.Some + { + nm1 = nm_226; + univs2 = univs_227; + typ1 = typ_228 + }))) + | _ -> FStar_Pervasives_Native.None) + (fun tm_229 -> + match tm_229 with + | { nm1 = nm_231; univs2 = univs_232; typ1 = typ_233;_} -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Val__payload")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string) nm_231), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + (FStar_Syntax_Embeddings.e_list + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_string + (FStar_Syntax_Embeddings.e_sealed + FStar_Syntax_Embeddings.e___range))) univs_232), + FStar_Pervasives_Native.None); + ((FStar_Syntax_Embeddings_Base.extracted_embed + FStar_Reflection_V2_Embeddings.e_term typ_233), + FStar_Pervasives_Native.None)]) +and __knot_e_named_sigelt_view _ = + FStar_Syntax_Embeddings_Base.mk_extracted_embedding + "FStar.Tactics.NamedView.named_sigelt_view" + (fun tm_234 -> + match tm_234 with + | ("FStar.Tactics.NamedView.Sg_Let", _0_236::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_named_sigelt_view__Sg_Let__payload ()) _0_236) + (fun _0_236 -> FStar_Pervasives_Native.Some (Sg_Let _0_236)) + | ("FStar.Tactics.NamedView.Sg_Inductive", _0_238::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_named_sigelt_view__Sg_Inductive__payload ()) _0_238) + (fun _0_238 -> + FStar_Pervasives_Native.Some (Sg_Inductive _0_238)) + | ("FStar.Tactics.NamedView.Sg_Val", _0_240::[]) -> + FStar_Compiler_Util.bind_opt + (FStar_Syntax_Embeddings_Base.extracted_unembed + (__knot_e_named_sigelt_view__Sg_Val__payload ()) _0_240) + (fun _0_240 -> FStar_Pervasives_Native.Some (Sg_Val _0_240)) + | ("FStar.Tactics.NamedView.Unk", []) -> + FStar_Pervasives_Native.Some Unk + | _ -> FStar_Pervasives_Native.None) + (fun tm_242 -> + match tm_242 with + | Sg_Let _0_244 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Sg_Let")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_named_sigelt_view__Sg_Let__payload ()) _0_244), + FStar_Pervasives_Native.None)] + | Sg_Inductive _0_246 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.Sg_Inductive")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_named_sigelt_view__Sg_Inductive__payload ()) + _0_246), FStar_Pervasives_Native.None)] + | Sg_Val _0_248 -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Sg_Val")) + [((FStar_Syntax_Embeddings_Base.extracted_embed + (__knot_e_named_sigelt_view__Sg_Val__payload ()) _0_248), + FStar_Pervasives_Native.None)] + | Unk -> + FStar_Syntax_Util.mk_app + (FStar_Syntax_Syntax.tdataconstr + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.Unk")) []) +let e_named_sigelt_view__Sg_Let__payload = + __knot_e_named_sigelt_view__Sg_Let__payload () +let e_named_sigelt_view__Sg_Inductive__payload = + __knot_e_named_sigelt_view__Sg_Inductive__payload () +let e_named_sigelt_view__Sg_Val__payload = + __knot_e_named_sigelt_view__Sg_Val__payload () +let e_named_sigelt_view = __knot_e_named_sigelt_view () +let (__proj__Mknamed_sigelt_view__Sg_Let__payload__item__isrec : + named_sigelt_view__Sg_Let__payload -> Prims.bool) = + fun projectee -> match projectee with | { isrec; lbs;_} -> isrec +let (__proj__Mknamed_sigelt_view__Sg_Let__payload__item__lbs : + named_sigelt_view__Sg_Let__payload -> letbinding Prims.list) = + fun projectee -> match projectee with | { isrec; lbs;_} -> lbs +let (__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__nm : + named_sigelt_view__Sg_Inductive__payload -> FStar_Reflection_Types.name) = + fun projectee -> + match projectee with | { nm; univs1 = univs; params; typ; ctors;_} -> nm +let (__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__univs : + named_sigelt_view__Sg_Inductive__payload -> univ_name Prims.list) = + fun projectee -> + match projectee with + | { nm; univs1 = univs; params; typ; ctors;_} -> univs +let (__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__params : + named_sigelt_view__Sg_Inductive__payload -> binders) = + fun projectee -> + match projectee with + | { nm; univs1 = univs; params; typ; ctors;_} -> params +let (__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__typ : + named_sigelt_view__Sg_Inductive__payload -> FStar_Reflection_Types.typ) = + fun projectee -> + match projectee with | { nm; univs1 = univs; params; typ; ctors;_} -> typ +let (__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__ctors : + named_sigelt_view__Sg_Inductive__payload -> + FStar_Reflection_V2_Data.ctor Prims.list) + = + fun projectee -> + match projectee with + | { nm; univs1 = univs; params; typ; ctors;_} -> ctors +let (__proj__Mknamed_sigelt_view__Sg_Val__payload__item__nm : + named_sigelt_view__Sg_Val__payload -> FStar_Reflection_Types.name) = + fun projectee -> + match projectee with | { nm1 = nm; univs2 = univs; typ1 = typ;_} -> nm +let (__proj__Mknamed_sigelt_view__Sg_Val__payload__item__univs : + named_sigelt_view__Sg_Val__payload -> univ_name Prims.list) = + fun projectee -> + match projectee with | { nm1 = nm; univs2 = univs; typ1 = typ;_} -> univs +let (__proj__Mknamed_sigelt_view__Sg_Val__payload__item__typ : + named_sigelt_view__Sg_Val__payload -> FStar_Reflection_Types.typ) = + fun projectee -> + match projectee with | { nm1 = nm; univs2 = univs; typ1 = typ;_} -> typ +let (uu___is_Sg_Let : named_sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Sg_Let _0 -> true | uu___ -> false +let (__proj__Sg_Let__item___0 : + named_sigelt_view -> named_sigelt_view__Sg_Let__payload) = + fun projectee -> match projectee with | Sg_Let _0 -> _0 +let (uu___is_Sg_Inductive : named_sigelt_view -> Prims.bool) = + fun projectee -> + match projectee with | Sg_Inductive _0 -> true | uu___ -> false +let (__proj__Sg_Inductive__item___0 : + named_sigelt_view -> named_sigelt_view__Sg_Inductive__payload) = + fun projectee -> match projectee with | Sg_Inductive _0 -> _0 +let (uu___is_Sg_Val : named_sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Sg_Val _0 -> true | uu___ -> false +let (__proj__Sg_Val__item___0 : + named_sigelt_view -> named_sigelt_view__Sg_Val__payload) = + fun projectee -> match projectee with | Sg_Val _0 -> _0 +let (uu___is_Unk : named_sigelt_view -> Prims.bool) = + fun projectee -> match projectee with | Unk -> true | uu___ -> false +let (binder_to_binding : binder -> binding) = + fun b -> + { + FStar_Reflection_V2_Data.uniq1 = (b.uniq); + FStar_Reflection_V2_Data.sort3 = (b.sort); + FStar_Reflection_V2_Data.ppname3 = (b.ppname) + } +let (binding_to_binder : binding -> binder) = + fun bnd -> + { + uniq = (bnd.FStar_Reflection_V2_Data.uniq1); + ppname = (bnd.FStar_Reflection_V2_Data.ppname3); + sort = (bnd.FStar_Reflection_V2_Data.sort3); + qual = FStar_Reflection_V2_Data.Q_Explicit; + attrs = [] + } +let (namedv_to_binder : namedv -> term -> binder) = + fun v -> + fun sort -> + { + uniq = (v.FStar_Reflection_V2_Data.uniq); + ppname = (v.FStar_Reflection_V2_Data.ppname); + sort; + qual = FStar_Reflection_V2_Data.Q_Explicit; + attrs = [] + } +exception LengthMismatch +let (uu___is_LengthMismatch : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | LengthMismatch -> true | uu___ -> false +exception NotEnoughBinders +let (uu___is_NotEnoughBinders : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | NotEnoughBinders -> true | uu___ -> false +let (open_universe_view : + FStar_Reflection_V2_Data.universe_view -> named_universe_view) = + fun v -> + match v with + | FStar_Reflection_V2_Data.Uv_Zero -> Uv_Zero + | FStar_Reflection_V2_Data.Uv_Succ u -> Uv_Succ u + | FStar_Reflection_V2_Data.Uv_Max us -> Uv_Max us + | FStar_Reflection_V2_Data.Uv_BVar n -> Uv_BVar n + | FStar_Reflection_V2_Data.Uv_Name i -> + Uv_Name (FStar_Reflection_V2_Builtins.inspect_ident i) + | FStar_Reflection_V2_Data.Uv_Unif uvar -> Uv_Unif uvar + | FStar_Reflection_V2_Data.Uv_Unk -> Uv_Unk +let (inspect_universe : universe -> named_universe_view) = + fun u -> + let v = FStar_Reflection_V2_Builtins.inspect_universe u in + open_universe_view v +let _ = + FStar_Tactics_Native.register_plugin + "FStar.Tactics.NamedView.inspect_universe" Prims.int_one + (fun _psc -> + fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.inspect_universe" + (fun _ -> + (FStar_Syntax_Embeddings.arrow_as_prim_step_1 + FStar_Reflection_V2_Embeddings.e_universe + e_named_universe_view inspect_universe Prims.int_zero + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.inspect_universe") cb) args)) + (fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.inspect_universe" + (fun _ -> + (FStar_TypeChecker_NBETerm.arrow_as_prim_step_1 + FStar_Reflection_V2_NBEEmbeddings.e_universe + (FStar_TypeChecker_NBETerm.e_unsupported ()) + inspect_universe Prims.int_zero + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.inspect_universe") cb) args)) +let (close_universe_view : + named_universe_view -> FStar_Reflection_V2_Data.universe_view) = + fun v -> + match v with + | Uv_Zero -> FStar_Reflection_V2_Data.Uv_Zero + | Uv_Succ u -> FStar_Reflection_V2_Data.Uv_Succ u + | Uv_Max us -> FStar_Reflection_V2_Data.Uv_Max us + | Uv_BVar n -> FStar_Reflection_V2_Data.Uv_BVar n + | Uv_Name i -> + FStar_Reflection_V2_Data.Uv_Name + (FStar_Reflection_V2_Builtins.pack_ident i) + | Uv_Unif uvar -> FStar_Reflection_V2_Data.Uv_Unif uvar + | Uv_Unk -> FStar_Reflection_V2_Data.Uv_Unk +let (pack_universe : named_universe_view -> universe) = + fun uv -> + let uv1 = close_universe_view uv in + FStar_Reflection_V2_Builtins.pack_universe uv1 +let _ = + FStar_Tactics_Native.register_plugin + "FStar.Tactics.NamedView.pack_universe" Prims.int_one + (fun _psc -> + fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.pack_universe" + (fun _ -> + (FStar_Syntax_Embeddings.arrow_as_prim_step_1 + e_named_universe_view + FStar_Reflection_V2_Embeddings.e_universe pack_universe + Prims.int_zero + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.pack_universe") cb) args)) + (fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.pack_universe" + (fun _ -> + (FStar_TypeChecker_NBETerm.arrow_as_prim_step_1 + (FStar_TypeChecker_NBETerm.e_unsupported ()) + FStar_Reflection_V2_NBEEmbeddings.e_universe pack_universe + Prims.int_zero + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.pack_universe") cb) args)) +let (__binding_to_binder : + binding -> FStar_Reflection_Types.binder -> binder) = + fun bnd -> + fun b -> + { + uniq = (bnd.FStar_Reflection_V2_Data.uniq1); + ppname = (bnd.FStar_Reflection_V2_Data.ppname3); + sort = (bnd.FStar_Reflection_V2_Data.sort3); + qual = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.qual); + attrs = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.attrs) + } +let (r_binder_to_namedv : binder -> FStar_Reflection_Types.namedv) = + fun b -> + FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = (b.uniq); + FStar_Reflection_V2_Data.sort = (FStar_Sealed.seal b.sort); + FStar_Reflection_V2_Data.ppname = (b.ppname) + } +let (open_binder : + FStar_Reflection_Types.binder -> + (binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (81)) (Prims.of_int (10)) (Prims.of_int (81)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (81)) (Prims.of_int (21)) (Prims.of_int (89)) + (Prims.of_int (3))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + uniq = n; + ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.ppname2); + sort = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2); + qual = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.qual); + attrs = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.attrs) + })) +let (close_binder : binder -> FStar_Reflection_Types.binder) = + fun b -> + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = (b.sort); + FStar_Reflection_V2_Data.qual = (b.qual); + FStar_Reflection_V2_Data.attrs = (b.attrs); + FStar_Reflection_V2_Data.ppname2 = (b.ppname) + } +let (open_term_with : + FStar_Reflection_Types.binder -> + binder -> term -> (term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun b -> + fun nb -> + fun t -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = (nb.uniq); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal nb.sort); + FStar_Reflection_V2_Data.ppname = + (nb.ppname) + }))] t))) uu___2 uu___1 uu___ +let (open_term : + FStar_Reflection_Types.binder -> + term -> ((binder * term), unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (113)) (Prims.of_int (22)) + (Prims.of_int (113)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (114)) (Prims.of_int (2)) (Prims.of_int (114)) + (Prims.of_int (33))))) (Obj.magic (open_binder b)) + (fun uu___ -> + (fun bndr -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (114)) (Prims.of_int (9)) + (Prims.of_int (114)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (114)) (Prims.of_int (2)) + (Prims.of_int (114)) (Prims.of_int (33))))) + (Obj.magic (open_term_with b bndr t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (bndr, uu___))))) uu___) +let (subst_comp : FStar_Syntax_Syntax.subst_t -> comp -> comp) = + fun s -> + fun c -> + FStar_Reflection_V2_Builtins.inspect_comp + (FStar_Reflection_V2_Builtins.subst_comp s + (FStar_Reflection_V2_Builtins.pack_comp c)) +let (open_comp : + FStar_Reflection_Types.binder -> + comp -> ((binder * comp), unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (121)) (Prims.of_int (10)) + (Prims.of_int (121)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (121)) (Prims.of_int (21)) + (Prims.of_int (138)) (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ({ + uniq = n; + ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.ppname2); + sort = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2); + qual = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.qual); + attrs = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.attrs) + }, + (subst_comp + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.sort2); + FStar_Reflection_V2_Data.ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.ppname2) + }))] t)))) +let (open_comp_with : + FStar_Reflection_Types.binder -> + binder -> comp -> (comp, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun b -> + fun nb -> + fun c -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + subst_comp + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = (nb.uniq); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal nb.sort); + FStar_Reflection_V2_Data.ppname = + (nb.ppname) + }))] c))) uu___2 uu___1 uu___ +let (open_term_simple : + FStar_Reflection_V2_Data.simple_binder -> + term -> ((simple_binder * term), unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (155)) (Prims.of_int (10)) + (Prims.of_int (155)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (155)) (Prims.of_int (21)) + (Prims.of_int (172)) (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ({ + uniq = n; + ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.ppname2); + sort = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2); + qual = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.qual); + attrs = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.attrs) + }, + (FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.sort2); + FStar_Reflection_V2_Data.ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.ppname2) + }))] t)))) +let (open_comp_simple : + FStar_Reflection_V2_Data.simple_binder -> + comp -> ((simple_binder * comp), unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (176)) (Prims.of_int (10)) + (Prims.of_int (176)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (176)) (Prims.of_int (21)) + (Prims.of_int (193)) (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ({ + uniq = n; + ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.ppname2); + sort = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.sort2); + qual = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.qual); + attrs = + ((FStar_Reflection_V2_Builtins.inspect_binder b).FStar_Reflection_V2_Data.attrs) + }, + (subst_comp + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.sort2); + FStar_Reflection_V2_Data.ppname = + ((FStar_Reflection_V2_Builtins.inspect_binder + b).FStar_Reflection_V2_Data.ppname2) + }))] t)))) +let (close_term : binder -> term -> (FStar_Reflection_Types.binder * term)) = + fun b -> + fun t -> + let nv = r_binder_to_namedv b in + let t' = + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.NM (nv, Prims.int_zero)] t in + let b1 = + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = (b.sort); + FStar_Reflection_V2_Data.qual = (b.qual); + FStar_Reflection_V2_Data.attrs = (b.attrs); + FStar_Reflection_V2_Data.ppname2 = (b.ppname) + } in + (b1, t') +let _ = + FStar_Tactics_Native.register_plugin "FStar.Tactics.NamedView.close_term" + (Prims.of_int (2)) + (fun _psc -> + fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.close_term" + (fun _ -> + (FStar_Syntax_Embeddings.arrow_as_prim_step_2 e_binder + FStar_Reflection_V2_Embeddings.e_term + (FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V2_Embeddings.e_binder + FStar_Reflection_V2_Embeddings.e_term) close_term + Prims.int_zero + (FStar_Ident.lid_of_str + "FStar.Tactics.NamedView.close_term") cb) args)) + (fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap + "FStar.Tactics.NamedView.close_term" + (fun _ -> + (FStar_TypeChecker_NBETerm.arrow_as_prim_step_2 + (FStar_TypeChecker_NBETerm.e_unsupported ()) + FStar_Reflection_V2_NBEEmbeddings.e_term + (FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V2_NBEEmbeddings.e_binder + FStar_Reflection_V2_NBEEmbeddings.e_term) close_term + Prims.int_zero + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.close_term") + cb) args)) +let (close_comp : binder -> comp -> (FStar_Reflection_Types.binder * comp)) = + fun b -> + fun t -> + let nv = r_binder_to_namedv b in + let t' = subst_comp [FStar_Syntax_Syntax.NM (nv, Prims.int_zero)] t in + let b1 = + FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 = (b.sort); + FStar_Reflection_V2_Data.qual = (b.qual); + FStar_Reflection_V2_Data.attrs = (b.attrs); + FStar_Reflection_V2_Data.ppname2 = (b.ppname) + } in + (b1, t') +let (close_term_simple : + simple_binder -> term -> (FStar_Reflection_V2_Data.simple_binder * term)) = + fun b -> + fun t -> + let nv = r_binder_to_namedv b in + let t' = + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.NM (nv, Prims.int_zero)] t in + let bv1 = + { + FStar_Reflection_V2_Data.sort2 = (b.sort); + FStar_Reflection_V2_Data.qual = (b.qual); + FStar_Reflection_V2_Data.attrs = (b.attrs); + FStar_Reflection_V2_Data.ppname2 = (b.ppname) + } in + let b1 = FStar_Reflection_V2_Builtins.pack_binder bv1 in (b1, t') +let (close_comp_simple : + simple_binder -> comp -> (FStar_Reflection_V2_Data.simple_binder * comp)) = + fun b -> + fun t -> + let nv = r_binder_to_namedv b in + let t' = subst_comp [FStar_Syntax_Syntax.NM (nv, Prims.int_zero)] t in + let bv1 = + { + FStar_Reflection_V2_Data.sort2 = (b.sort); + FStar_Reflection_V2_Data.qual = (b.qual); + FStar_Reflection_V2_Data.attrs = (b.attrs); + FStar_Reflection_V2_Data.ppname2 = (b.ppname) + } in + let b1 = FStar_Reflection_V2_Builtins.pack_binder bv1 in (b1, t') +let (r_subst_binder_sort : + FStar_Syntax_Syntax.subst_t -> + FStar_Reflection_Types.binder -> FStar_Reflection_Types.binder) + = + fun s -> + fun b -> + let v = FStar_Reflection_V2_Builtins.inspect_binder b in + let v1 = + { + FStar_Reflection_V2_Data.sort2 = + (FStar_Reflection_V2_Builtins.subst_term s + v.FStar_Reflection_V2_Data.sort2); + FStar_Reflection_V2_Data.qual = (v.FStar_Reflection_V2_Data.qual); + FStar_Reflection_V2_Data.attrs = (v.FStar_Reflection_V2_Data.attrs); + FStar_Reflection_V2_Data.ppname2 = + (v.FStar_Reflection_V2_Data.ppname2) + } in + FStar_Reflection_V2_Builtins.pack_binder v1 +let (subst_binder_sort : FStar_Syntax_Syntax.subst_t -> binder -> binder) = + fun s -> + fun b -> + { + uniq = (b.uniq); + ppname = (b.ppname); + sort = (FStar_Reflection_V2_Builtins.subst_term s b.sort); + qual = (b.qual); + attrs = (b.attrs) + } +let rec (__open_term_n_aux : + FStar_Reflection_Types.binder Prims.list -> + binder Prims.list -> + FStar_Syntax_Syntax.subst_t -> + ((binder Prims.list * FStar_Syntax_Syntax.subst_t), unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun nbs -> + fun s -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> (nbs, s)))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (240)) (Prims.of_int (12)) + (Prims.of_int (240)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (240)) (Prims.of_int (38)) + (Prims.of_int (243)) (Prims.of_int (62))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> r_subst_binder_sort s b)) + (fun uu___ -> + (fun b1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (241)) + (Prims.of_int (12)) + (Prims.of_int (241)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (241)) + (Prims.of_int (28)) + (Prims.of_int (243)) + (Prims.of_int (62))))) + (Obj.magic (open_binder b1)) + (fun uu___ -> + (fun b2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (242)) + (Prims.of_int (13)) + (Prims.of_int (242)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (243)) + (Prims.of_int (4)) + (Prims.of_int (243)) + (Prims.of_int (62))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + r_binder_to_namedv b2)) + (fun uu___ -> + (fun nv -> + Obj.magic + (__open_term_n_aux + bs1 (b2 :: nbs) + ((FStar_Syntax_Syntax.DB + (Prims.int_zero, + nv)) :: + (FStar_Reflection_V2_Derived.shift_subst + Prims.int_one + s)))) uu___))) + uu___))) uu___)))) uu___2 uu___1 + uu___ +let (open_term_n : + FStar_Reflection_Types.binder Prims.list -> + term -> ((binder Prims.list * term), unit) FStar_Tactics_Effect.tac_repr) + = + fun bs -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (247)) (Prims.of_int (15)) + (Prims.of_int (247)) (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (246)) (Prims.of_int (76)) + (Prims.of_int (248)) (Prims.of_int (34))))) + (Obj.magic (__open_term_n_aux bs [] [])) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (nbs, s) -> + ((FStar_List_Tot_Base.rev nbs), + (FStar_Reflection_V2_Builtins.subst_term s t)))) +let rec (open_term_n_with : + FStar_Reflection_Types.binder Prims.list -> + binder Prims.list -> term -> (term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___2 -> + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun nbs -> + fun t -> + match (bs, nbs) with + | ([], []) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + | (b::bs1, nb::nbs1) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (255)) (Prims.of_int (13)) + (Prims.of_int (255)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (255)) (Prims.of_int (41)) + (Prims.of_int (257)) (Prims.of_int (7))))) + (Obj.magic (open_term_n_with bs1 nbs1 t)) + (fun uu___ -> + (fun t' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (256)) + (Prims.of_int (14)) + (Prims.of_int (256)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (256)) + (Prims.of_int (8)) + (Prims.of_int (256)) + (Prims.of_int (11))))) + (Obj.magic (open_term_with b nb t')) + (fun t'' -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> t'')))) uu___))) + | uu___ -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.raise LengthMismatch))) + uu___2 uu___1 uu___ +let (close_term_n : + binder Prims.list -> + term -> (FStar_Reflection_Types.binder Prims.list * term)) + = + fun bs -> + fun t -> + let rec aux bs1 cbs s = + match bs1 with + | [] -> (cbs, s) + | b::bs2 -> + let b1 = subst_binder_sort s b in + let nv = r_binder_to_namedv b1 in + let b2 = close_binder b1 in + aux bs2 (b2 :: cbs) + ((FStar_Syntax_Syntax.NM (nv, Prims.int_zero)) :: + (FStar_Reflection_V2_Derived.shift_subst Prims.int_one s)) in + let uu___ = aux bs [] [] in + match uu___ with + | (cbs, s) -> + ((FStar_List_Tot_Base.rev cbs), + (FStar_Reflection_V2_Builtins.subst_term s t)) +let rec (open_term_n_simple : + FStar_Reflection_V2_Data.simple_binder Prims.list -> + term -> + ((simple_binder Prims.list * term), unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun t -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ([], t)))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (279)) (Prims.of_int (18)) + (Prims.of_int (279)) (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (278)) (Prims.of_int (12)) + (Prims.of_int (281)) (Prims.of_int (18))))) + (Obj.magic (open_term_n_simple bs1 t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (bs', t') -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (280)) + (Prims.of_int (18)) + (Prims.of_int (280)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (279)) + (Prims.of_int (44)) + (Prims.of_int (281)) + (Prims.of_int (18))))) + (Obj.magic (open_term_simple b t')) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + match uu___1 with + | (b', t'') -> + ((b' :: bs'), t''))))) + uu___)))) uu___1 uu___ +let rec (close_term_n_simple : + simple_binder Prims.list -> + term -> (FStar_Reflection_V2_Data.simple_binder Prims.list * term)) + = + fun bs -> + fun t -> + match bs with + | [] -> ([], t) + | b::bs1 -> + let uu___ = close_term_n_simple bs1 t in + (match uu___ with + | (bs', t') -> + let uu___1 = close_term_simple b t' in + (match uu___1 with | (b', t'') -> ((b' :: bs'), t''))) +let rec (open_pat : + FStar_Reflection_V2_Data.pattern -> + FStar_Syntax_Syntax.subst_t -> + ((pattern * FStar_Syntax_Syntax.subst_t), unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun p -> + fun s -> + match p with + | FStar_Reflection_V2_Data.Pat_Constant c -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> ((Pat_Constant { c }), s)))) + | FStar_Reflection_V2_Data.Pat_Var (ssort, n) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (299)) (Prims.of_int (15)) + (Prims.of_int (299)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (299)) (Prims.of_int (30)) + (Prims.of_int (308)) (Prims.of_int (65))))) + (Obj.magic (FStar_Tactics_Unseal.unseal ssort)) + (fun uu___ -> + (fun sort -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (300)) + (Prims.of_int (15)) + (Prims.of_int (300)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (300)) + (Prims.of_int (35)) + (Prims.of_int (308)) + (Prims.of_int (65))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.subst_term + s sort)) + (fun uu___ -> + (fun sort1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (302)) + (Prims.of_int (6)) + (Prims.of_int (304)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (308)) + (Prims.of_int (4)) + (Prims.of_int (308)) + (Prims.of_int (65))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (302)) + (Prims.of_int (13)) + (Prims.of_int (302)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (302)) + (Prims.of_int (6)) + (Prims.of_int (304)) + (Prims.of_int (17))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.fresh + ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_Reflection_V2_Data.uniq + = uu___; + FStar_Reflection_V2_Data.sort + = + (FStar_Sealed.seal + sort1); + FStar_Reflection_V2_Data.ppname + = n + })))) + (fun nvv -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ((Pat_Var + { + v = nvv; + sort1 = + (FStar_Sealed.seal + sort1) + }), + ((FStar_Syntax_Syntax.DB + (Prims.int_zero, + (FStar_Reflection_V2_Builtins.pack_namedv + nvv))) :: + (FStar_Reflection_V2_Derived.shift_subst + Prims.int_one s))))))) + uu___))) uu___))) + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (311)) (Prims.of_int (21)) + (Prims.of_int (314)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (310)) (Prims.of_int (36)) + (Prims.of_int (317)) (Prims.of_int (57))))) + (Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___ -> + fun uu___1 -> + match (uu___, uu___1) with + | ((pats, s1), (pat, b)) -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (312)) + (Prims.of_int (38)) + (Prims.of_int (312)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (311)) + (Prims.of_int (55)) + (Prims.of_int (313)) + (Prims.of_int (43))))) + (Obj.magic (open_pat pat s1)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + match uu___2 with + | (pat1, s') -> + (((pat1, b) :: pats), s')))) + ([], s) subpats)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (subpats1, s1) -> + ((Pat_Cons + { + head; + univs; + subpats = + (FStar_List_Tot_Base.rev subpats1) + }), s1))))) + | FStar_Reflection_V2_Data.Pat_Dot_Term + (FStar_Pervasives_Native.None) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ((Pat_Dot_Term { t = FStar_Pervasives_Native.None }), + s)))) + | FStar_Reflection_V2_Data.Pat_Dot_Term + (FStar_Pervasives_Native.Some t) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + ((Pat_Dot_Term + { + t = + (FStar_Pervasives_Native.Some + (FStar_Reflection_V2_Builtins.subst_term + s t)) + }), s))))) uu___1 uu___ +let (open_branch : + FStar_Reflection_V2_Data.branch -> + (branch, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (328)) (Prims.of_int (17)) (Prims.of_int (328)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (327)) (Prims.of_int (45)) (Prims.of_int (331)) + (Prims.of_int (11))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> b)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (pat, t) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (329)) (Prims.of_int (15)) + (Prims.of_int (329)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (328)) (Prims.of_int (21)) + (Prims.of_int (331)) (Prims.of_int (11))))) + (Obj.magic (open_pat pat [])) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + match uu___1 with + | (pat1, s) -> + (pat1, + (FStar_Reflection_V2_Builtins.subst_term s + t)))))) uu___) +let rec (close_pat : + pattern -> + FStar_Syntax_Syntax.subst_t -> + (FStar_Reflection_V2_Data.pattern * FStar_Syntax_Syntax.subst_t)) + = + fun p -> + fun s -> + match p with + | Pat_Constant { c;_} -> ((FStar_Reflection_V2_Data.Pat_Constant c), s) + | Pat_Var { v; sort1 = sort;_} -> + let nv = FStar_Reflection_V2_Builtins.pack_namedv v in + let s1 = (FStar_Syntax_Syntax.NM (nv, Prims.int_zero)) :: + (FStar_Reflection_V2_Derived.shift_subst Prims.int_one s) in + ((FStar_Reflection_V2_Data.Pat_Var + (sort, (v.FStar_Reflection_V2_Data.ppname))), s1) + | Pat_Cons { head; univs; subpats;_} -> + let uu___ = + FStar_List_Tot_Base.fold_left + (fun uu___1 -> + fun uu___2 -> + match (uu___1, uu___2) with + | ((pats, s1), (pat, b)) -> + let uu___3 = close_pat pat s1 in + (match uu___3 with + | (pat1, s') -> (((pat1, b) :: pats), s'))) ([], s) + subpats in + (match uu___ with + | (subpats1, s1) -> + let subpats2 = FStar_List_Tot_Base.rev subpats1 in + ((FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats2)), + s1)) + | Pat_Dot_Term { t = FStar_Pervasives_Native.None;_} -> + ((FStar_Reflection_V2_Data.Pat_Dot_Term + FStar_Pervasives_Native.None), s) + | Pat_Dot_Term { t = FStar_Pervasives_Native.Some t;_} -> + let t1 = FStar_Reflection_V2_Builtins.subst_term s t in + ((FStar_Reflection_V2_Data.Pat_Dot_Term + (FStar_Pervasives_Native.Some t1)), s) +let (close_branch : branch -> FStar_Reflection_V2_Data.branch) = + fun b -> + let uu___ = b in + match uu___ with + | (pat, t) -> + let uu___1 = close_pat pat [] in + (match uu___1 with + | (pat1, s) -> + let t' = FStar_Reflection_V2_Builtins.subst_term s t in + (pat1, t')) +let (open_match_returns_ascription : + FStar_Reflection_Types.match_returns_ascription -> + (match_returns_ascription, unit) FStar_Tactics_Effect.tac_repr) + = + fun mra -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (375)) (Prims.of_int (32)) (Prims.of_int (375)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (374)) (Prims.of_int (101)) (Prims.of_int (389)) + (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> mra)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (b, (ct, topt, use_eq)) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (376)) (Prims.of_int (11)) + (Prims.of_int (376)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (376)) (Prims.of_int (27)) + (Prims.of_int (389)) (Prims.of_int (26))))) + (Obj.magic (open_binder b)) + (fun uu___1 -> + (fun nb -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (377)) + (Prims.of_int (11)) + (Prims.of_int (382)) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (383)) + (Prims.of_int (4)) + (Prims.of_int (389)) + (Prims.of_int (26))))) + (match ct with + | FStar_Pervasives.Inl t -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (378)) + (Prims.of_int (19)) + (Prims.of_int (378)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (378)) + (Prims.of_int (15)) + (Prims.of_int (378)) + (Prims.of_int (42))))) + (Obj.magic (open_term_with b nb t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Pervasives.Inl uu___1))) + | FStar_Pervasives.Inr c -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (380)) + (Prims.of_int (14)) + (Prims.of_int (380)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (380)) + (Prims.of_int (31)) + (Prims.of_int (382)) + (Prims.of_int (11))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.inspect_comp + c)) + (fun uu___1 -> + (fun c1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (381)) + (Prims.of_int (14)) + (Prims.of_int (381)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (382)) + (Prims.of_int (6)) + (Prims.of_int (382)) + (Prims.of_int (11))))) + (Obj.magic + (open_comp_with b nb + c1)) + (fun c2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Pervasives.Inr + c2)))) uu___1))) + (fun uu___1 -> + (fun ct1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (385)) + (Prims.of_int (4)) + (Prims.of_int (387)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (389)) + (Prims.of_int (2)) + (Prims.of_int (389)) + (Prims.of_int (26))))) + (match topt with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Pervasives_Native.None))) + | FStar_Pervasives_Native.Some t + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (387)) + (Prims.of_int (21)) + (Prims.of_int (387)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (387)) + (Prims.of_int (16)) + (Prims.of_int (387)) + (Prims.of_int (44))))) + (Obj.magic + (open_term_with b + nb t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Pervasives_Native.Some + uu___1))))) + (fun topt1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + (nb, (ct1, topt1, use_eq)))))) + uu___1))) uu___1))) uu___) +let (close_match_returns_ascription : + match_returns_ascription -> FStar_Reflection_Types.match_returns_ascription) + = + fun mra -> + let uu___ = mra in + match uu___ with + | (nb, (ct, topt, use_eq)) -> + let b = close_binder nb in + let ct1 = + match ct with + | FStar_Pervasives.Inl t -> + FStar_Pervasives.Inl + (FStar_Pervasives_Native.snd (close_term nb t)) + | FStar_Pervasives.Inr c -> + let uu___1 = close_comp nb c in + (match uu___1 with + | (uu___2, c1) -> + let c2 = FStar_Reflection_V2_Builtins.pack_comp c1 in + FStar_Pervasives.Inr c2) in + let topt1 = + match topt with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some t -> + FStar_Pervasives_Native.Some + (FStar_Pervasives_Native.snd (close_term nb t)) in + (b, (ct1, topt1, use_eq)) +let (open_view : + FStar_Reflection_V2_Data.term_view -> + (named_term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun tv -> + match tv with + | FStar_Reflection_V2_Data.Tv_Var v -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Tv_Var (FStar_Reflection_V2_Builtins.inspect_namedv v)))) + | FStar_Reflection_V2_Data.Tv_BVar v -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Tv_BVar (FStar_Reflection_V2_Builtins.inspect_bv v)))) + | FStar_Reflection_V2_Data.Tv_FVar v -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Tv_FVar v))) + | FStar_Reflection_V2_Data.Tv_UInst (v, us) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Tv_UInst (v, us)))) + | FStar_Reflection_V2_Data.Tv_App (hd, a) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Tv_App (hd, a)))) + | FStar_Reflection_V2_Data.Tv_Type u -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Tv_Type u))) + | FStar_Reflection_V2_Data.Tv_Const c -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Tv_Const c))) + | FStar_Reflection_V2_Data.Tv_Uvar (n, ctx_uvar_and_subst) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Tv_Uvar (n, ctx_uvar_and_subst)))) + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t, tac, use_eq) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Tv_AscribedT (e, t, tac, use_eq)))) + | FStar_Reflection_V2_Data.Tv_AscribedC (e, c, tac, use_eq) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Tv_AscribedC + (e, (FStar_Reflection_V2_Builtins.inspect_comp c), + tac, use_eq)))) + | FStar_Reflection_V2_Data.Tv_Unknown -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Tv_Unknown))) + | FStar_Reflection_V2_Data.Tv_Unsupp -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Tv_Unsupp))) + | FStar_Reflection_V2_Data.Tv_Abs (b, body) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (431)) (Prims.of_int (19)) + (Prims.of_int (431)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (430)) (Prims.of_int (23)) + (Prims.of_int (432)) (Prims.of_int (18))))) + (Obj.magic (open_term b body)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (nb, body1) -> Tv_Abs (nb, body1))))) + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (435)) (Prims.of_int (16)) + (Prims.of_int (435)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (434)) (Prims.of_int (22)) + (Prims.of_int (436)) (Prims.of_int (17))))) + (Obj.magic + (open_comp b + (FStar_Reflection_V2_Builtins.inspect_comp c))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with | (nb, c1) -> Tv_Arrow (nb, c1))))) + | FStar_Reflection_V2_Data.Tv_Refine (b, ref) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (439)) (Prims.of_int (18)) + (Prims.of_int (439)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (438)) (Prims.of_int (25)) + (Prims.of_int (440)) (Prims.of_int (20))))) + (Obj.magic (open_term_simple b ref)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (nb, ref1) -> Tv_Refine (nb, ref1))))) + | FStar_Reflection_V2_Data.Tv_Let (recf, attrs, b, def, body) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (443)) (Prims.of_int (19)) + (Prims.of_int (443)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (442)) (Prims.of_int (38)) + (Prims.of_int (449)) (Prims.of_int (33))))) + (Obj.magic (open_term_simple b body)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (nb, body1) -> + Tv_Let + (recf, attrs, nb, + (if recf + then + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.DB + (Prims.int_zero, + (r_binder_to_namedv nb))] def + else def), body1))))) + | FStar_Reflection_V2_Data.Tv_Match (scrutinee, ret, brs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (452)) (Prims.of_int (14)) + (Prims.of_int (452)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (452)) (Prims.of_int (36)) + (Prims.of_int (454)) (Prims.of_int (30))))) + (Obj.magic (FStar_Tactics_Util.map open_branch brs)) + (fun uu___ -> + (fun brs1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (453)) + (Prims.of_int (14)) + (Prims.of_int (453)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (454)) + (Prims.of_int (4)) + (Prims.of_int (454)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Util.map_opt + open_match_returns_ascription ret)) + (fun ret1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + Tv_Match (scrutinee, ret1, brs1))))) + uu___)))) uu___ +let (close_view : named_term_view -> FStar_Reflection_V2_Data.term_view) = + fun tv -> + match tv with + | Tv_Var v -> + FStar_Reflection_V2_Data.Tv_Var + (FStar_Reflection_V2_Builtins.pack_namedv v) + | Tv_BVar v -> + FStar_Reflection_V2_Data.Tv_BVar + (FStar_Reflection_V2_Builtins.pack_bv v) + | Tv_FVar v -> FStar_Reflection_V2_Data.Tv_FVar v + | Tv_UInst (v, us) -> FStar_Reflection_V2_Data.Tv_UInst (v, us) + | Tv_App (hd, a) -> FStar_Reflection_V2_Data.Tv_App (hd, a) + | Tv_Type u -> FStar_Reflection_V2_Data.Tv_Type u + | Tv_Const c -> FStar_Reflection_V2_Data.Tv_Const c + | Tv_Uvar (n, ctx_uvar_and_subst) -> + FStar_Reflection_V2_Data.Tv_Uvar (n, ctx_uvar_and_subst) + | Tv_AscribedT (e, t, tac, use_eq) -> + FStar_Reflection_V2_Data.Tv_AscribedT (e, t, tac, use_eq) + | Tv_AscribedC (e, c, tac, use_eq) -> + FStar_Reflection_V2_Data.Tv_AscribedC + (e, (FStar_Reflection_V2_Builtins.pack_comp c), tac, use_eq) + | Tv_Unknown -> FStar_Reflection_V2_Data.Tv_Unknown + | Tv_Unsupp -> FStar_Reflection_V2_Data.Tv_Unsupp + | Tv_Abs (nb, body) -> + let uu___ = close_term nb body in + (match uu___ with + | (b, body1) -> FStar_Reflection_V2_Data.Tv_Abs (b, body1)) + | Tv_Arrow (nb, c) -> + let uu___ = close_comp nb c in + (match uu___ with + | (b, c1) -> + let c2 = FStar_Reflection_V2_Builtins.pack_comp c1 in + FStar_Reflection_V2_Data.Tv_Arrow (b, c2)) + | Tv_Refine (nb, ref) -> + let uu___ = close_term_simple nb ref in + (match uu___ with + | (b, ref1) -> FStar_Reflection_V2_Data.Tv_Refine (b, ref1)) + | Tv_Let (recf, attrs, nb, def, body) -> + let def1 = + if recf + then + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.NM + ((r_binder_to_namedv nb), Prims.int_zero)] def + else def in + let uu___ = close_term_simple nb body in + (match uu___ with + | (b, body1) -> + FStar_Reflection_V2_Data.Tv_Let (recf, attrs, b, def1, body1)) + | Tv_Match (scrutinee, ret, brs) -> + let brs1 = FStar_List_Tot_Base.map close_branch brs in + let ret1 = + match ret with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some asc -> + FStar_Pervasives_Native.Some + (close_match_returns_ascription asc) in + FStar_Reflection_V2_Data.Tv_Match (scrutinee, ret1, brs1) +let (inspect : term -> (named_term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (511)) (Prims.of_int (10)) (Prims.of_int (511)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (511)) (Prims.of_int (23)) (Prims.of_int (513)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Tactics_V2_Builtins.compress t)) + (fun uu___ -> + (fun t1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (512)) (Prims.of_int (11)) + (Prims.of_int (512)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (513)) (Prims.of_int (2)) + (Prims.of_int (513)) (Prims.of_int (14))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_ln t1)) + (fun uu___ -> (fun tv -> Obj.magic (open_view tv)) uu___))) + uu___) +let _ = + FStar_Tactics_Native.register_tactic "FStar.Tactics.NamedView.inspect" + (Prims.of_int (2)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 + (FStar_Tactics_Native.from_tactic_1 inspect) + FStar_Reflection_V2_Embeddings.e_term e_named_term_view psc ncb + args) +let (pack : named_term_view -> term) = + fun tv -> + let tv1 = close_view tv in FStar_Reflection_V2_Builtins.pack_ln tv1 +let _ = + FStar_Tactics_Native.register_plugin "FStar.Tactics.NamedView.pack" + Prims.int_one + (fun _psc -> + fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap "FStar.Tactics.NamedView.pack" + (fun _ -> + (FStar_Syntax_Embeddings.arrow_as_prim_step_1 + e_named_term_view FStar_Reflection_V2_Embeddings.e_term + pack Prims.int_zero + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.pack") cb) + args)) + (fun cb -> + fun args -> + FStar_Syntax_Embeddings.debug_wrap "FStar.Tactics.NamedView.pack" + (fun _ -> + (FStar_TypeChecker_NBETerm.arrow_as_prim_step_1 + (FStar_TypeChecker_NBETerm.e_unsupported ()) + FStar_Reflection_V2_NBEEmbeddings.e_term pack Prims.int_zero + (FStar_Ident.lid_of_str "FStar.Tactics.NamedView.pack") cb) + args)) +let (open_univ_s : + FStar_Reflection_Types.univ_name Prims.list -> + ((univ_name Prims.list * FStar_Syntax_Syntax.subst_t), unit) + FStar_Tactics_Effect.tac_repr) + = + fun us -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (522)) (Prims.of_int (10)) (Prims.of_int (522)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (522)) (Prims.of_int (31)) (Prims.of_int (524)) + (Prims.of_int (43))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_List_Tot_Base.length us)) + (fun uu___ -> + (fun n -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (523)) (Prims.of_int (10)) + (Prims.of_int (523)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (524)) (Prims.of_int (2)) + (Prims.of_int (524)) (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_Util.mapi + (fun uu___1 -> + fun uu___ -> + (fun i -> + fun u -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Syntax_Syntax.UN + (((n - Prims.int_one) - i), + (FStar_Reflection_V2_Builtins.pack_universe + (FStar_Reflection_V2_Data.Uv_Name + u)))))) uu___1 uu___) us)) + (fun uu___ -> + (fun s -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (524)) (Prims.of_int (2)) + (Prims.of_int (524)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (524)) (Prims.of_int (2)) + (Prims.of_int (524)) (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_Util.map + (fun uu___ -> + (fun i -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.inspect_ident + i))) uu___) us)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (uu___, s))))) uu___))) uu___) +let (close_univ_s : + univ_name Prims.list -> + (FStar_Reflection_Types.univ_name Prims.list * + FStar_Syntax_Syntax.subst_t)) + = + fun us -> + let n = FStar_List_Tot_Base.length us in + let us1 = + FStar_List_Tot_Base.map + (fun i -> FStar_Reflection_V2_Builtins.pack_ident i) us in + let s = + FStar_List_Tot_Base.mapi + (fun i -> + fun u -> FStar_Syntax_Syntax.UD (u, ((n - i) - Prims.int_one))) + us1 in + (us1, s) +let (open_lb : + FStar_Reflection_Types.letbinding -> + (letbinding, unit) FStar_Tactics_Effect.tac_repr) + = + fun lb -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (535)) (Prims.of_int (39)) (Prims.of_int (535)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (534)) (Prims.of_int (50)) (Prims.of_int (539)) + (Prims.of_int (34))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_lb lb)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | { FStar_Reflection_V2_Data.lb_fv = lb_fv; + FStar_Reflection_V2_Data.lb_us = lb_us; + FStar_Reflection_V2_Data.lb_typ = lb_typ; + FStar_Reflection_V2_Data.lb_def = lb_def;_} -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (536)) (Prims.of_int (17)) + (Prims.of_int (536)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (535)) (Prims.of_int (55)) + (Prims.of_int (539)) (Prims.of_int (34))))) + (Obj.magic (open_univ_s lb_us)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + match uu___1 with + | (lb_us1, s) -> + { + lb_fv; + lb_us = lb_us1; + lb_typ = + (FStar_Reflection_V2_Builtins.subst_term + s lb_typ); + lb_def = + (FStar_Reflection_V2_Builtins.subst_term + s lb_def) + })))) uu___) +let (close_lb : letbinding -> FStar_Reflection_Types.letbinding) = + fun lb -> + let uu___ = lb in + match uu___ with + | { lb_fv; lb_us; lb_typ; lb_def;_} -> + let uu___1 = close_univ_s lb_us in + (match uu___1 with + | (lb_us1, s) -> + let lb_typ1 = FStar_Reflection_V2_Builtins.subst_term s lb_typ in + let lb_def1 = FStar_Reflection_V2_Builtins.subst_term s lb_def in + FStar_Reflection_V2_Builtins.pack_lb + { + FStar_Reflection_V2_Data.lb_fv = lb_fv; + FStar_Reflection_V2_Data.lb_us = lb_us1; + FStar_Reflection_V2_Data.lb_typ = lb_typ1; + FStar_Reflection_V2_Data.lb_def = lb_def1 + }) +let (subst_r_binders : + FStar_Syntax_Syntax.subst_t -> + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.binder Prims.list) + = + fun s -> + fun bs -> + FStar_List_Tot_Base.mapi + (fun i -> + fun b -> + r_subst_binder_sort + (FStar_Reflection_V2_Derived.shift_subst i s) b) bs +let rec (open_n_binders_from_arrow : + binders -> term -> (term, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun t -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (558)) (Prims.of_int (10)) + (Prims.of_int (558)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (558)) (Prims.of_int (4)) + (Prims.of_int (562)) (Prims.of_int (33))))) + (Obj.magic (inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | Tv_Arrow + (b', FStar_Reflection_V2_Data.C_Total t') -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (560)) + (Prims.of_int (15)) + (Prims.of_int (560)) + (Prims.of_int (113))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (561)) + (Prims.of_int (6)) + (Prims.of_int (561)) + (Prims.of_int (37))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.subst_term + [FStar_Syntax_Syntax.NT + ((r_binder_to_namedv b'), + (pack + (Tv_Var + (FStar_Reflection_V2_Builtins.inspect_namedv + (r_binder_to_namedv + b)))))] t')) + (fun uu___1 -> + (fun t'1 -> + Obj.magic + (open_n_binders_from_arrow + bs1 t'1)) uu___1))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + NotEnoughBinders))) uu___)))) uu___1 + uu___ +let (open_sigelt_view : + FStar_Reflection_V2_Data.sigelt_view -> + (named_sigelt_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun sv -> + match sv with + | FStar_Reflection_V2_Data.Sg_Let (isrec, lbs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (568)) (Prims.of_int (14)) + (Prims.of_int (568)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (570)) (Prims.of_int (4)) + (Prims.of_int (570)) (Prims.of_int (25))))) + (Obj.magic (FStar_Tactics_Util.map open_lb lbs)) + (fun lbs1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> Sg_Let { isrec; lbs = lbs1 })))) + | FStar_Reflection_V2_Data.Sg_Inductive + (nm, univs, params, typ, ctors) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (573)) (Prims.of_int (18)) + (Prims.of_int (573)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (573)) (Prims.of_int (43)) + (Prims.of_int (596)) (Prims.of_int (48))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_List_Tot_Base.length params)) + (fun uu___ -> + (fun nparams -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (576)) + (Prims.of_int (19)) + (Prims.of_int (576)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (573)) + (Prims.of_int (43)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (Obj.magic (open_univ_s univs)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (univs1, s) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (577)) + (Prims.of_int (17)) + (Prims.of_int (577)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (577)) + (Prims.of_int (44)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + subst_r_binders s params)) + (fun uu___1 -> + (fun params1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (578)) + (Prims.of_int (14)) + (Prims.of_int (578)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (578)) + (Prims.of_int (55)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.subst_term + (FStar_Reflection_V2_Derived.shift_subst + nparams s) + typ)) + (fun uu___1 -> + (fun typ1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (579)) + (Prims.of_int (16)) + (Prims.of_int (579)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (579)) + (Prims.of_int (66)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (Obj.magic + (FStar_Tactics_Util.map + (fun + uu___1 -> + (fun + uu___1 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + match uu___1 + with + | + (nm1, ty) + -> + (nm1, + (FStar_Reflection_V2_Builtins.subst_term + s ty))))) + uu___1) + ctors)) + (fun + uu___1 -> + (fun + ctors1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (582)) + (Prims.of_int (22)) + (Prims.of_int (582)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (579)) + (Prims.of_int (66)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (Obj.magic + (open_term_n + params1 + typ1)) + (fun + uu___1 -> + (fun + uu___1 -> + match uu___1 + with + | + (params2, + typ2) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (590)) + (Prims.of_int (6)) + (Prims.of_int (593)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (596)) + (Prims.of_int (4)) + (Prims.of_int (596)) + (Prims.of_int (48))))) + (Obj.magic + (FStar_Tactics_Util.map + (fun + uu___2 -> + match uu___2 + with + | + (nm1, ty) + -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (591)) + (Prims.of_int (19)) + (Prims.of_int (591)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (592)) + (Prims.of_int (10)) + (Prims.of_int (592)) + (Prims.of_int (17))))) + (Obj.magic + (open_n_binders_from_arrow + params2 + ty)) + (fun ty' + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + (nm1, + ty')))) + ctors1)) + (fun + ctors2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + Sg_Inductive + { + nm; + univs1; + params = + params2; + typ = + typ2; + ctors = + ctors2 + })))) + uu___1))) + uu___1))) + uu___1))) uu___1))) + uu___))) uu___))) + | FStar_Reflection_V2_Data.Sg_Val (nm, univs, typ) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (599)) (Prims.of_int (19)) + (Prims.of_int (599)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (598)) (Prims.of_int (29)) + (Prims.of_int (601)) (Prims.of_int (27))))) + (Obj.magic (open_univ_s univs)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (univs1, s) -> + Sg_Val + { + nm1 = nm; + univs2 = univs1; + typ1 = + (FStar_Reflection_V2_Builtins.subst_term + s typ) + })))) + | FStar_Reflection_V2_Data.Unk -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Unk)))) + uu___ +let rec (mk_arr : + binder Prims.list -> term -> (term, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___1 -> + fun uu___ -> + (fun args -> + fun t -> + match args with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + | a::args' -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (610)) (Prims.of_int (13)) + (Prims.of_int (610)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (610)) + (Prims.of_int (21)) + (Prims.of_int (610)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (610)) + (Prims.of_int (13)) + (Prims.of_int (610)) + (Prims.of_int (37))))) + (Obj.magic (mk_arr args' t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Data.C_Total uu___)))) + (fun t' -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> pack (Tv_Arrow (a, t'))))))) uu___1 + uu___ +let (close_sigelt_view : + named_sigelt_view -> + (FStar_Reflection_V2_Data.sigelt_view, unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun sv -> + match sv with + | Sg_Let { isrec; lbs;_} -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Data.Sg_Let + (isrec, (FStar_List_Tot_Base.map close_lb lbs))))) + | Sg_Inductive { nm; univs1 = univs; params; typ; ctors;_} -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (621)) (Prims.of_int (18)) + (Prims.of_int (621)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (621)) (Prims.of_int (43)) + (Prims.of_int (640)) (Prims.of_int (45))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_List_Tot_Base.length params)) + (fun uu___ -> + (fun nparams -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (625)) + (Prims.of_int (8)) + (Prims.of_int (628)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (629)) + (Prims.of_int (6)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (Obj.magic + (FStar_Tactics_Util.map + (fun uu___ -> + match uu___ with + | (nm1, ty) -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (626)) + (Prims.of_int (22)) + (Prims.of_int (626)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (627)) + (Prims.of_int (12)) + (Prims.of_int (627)) + (Prims.of_int (19))))) + (Obj.magic (mk_arr params ty)) + (fun ty' -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (nm1, ty')))) + ctors)) + (fun uu___ -> + (fun ctors1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (632)) + (Prims.of_int (22)) + (Prims.of_int (632)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (629)) + (Prims.of_int (6)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + close_term_n params typ)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (params1, typ1) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (635)) + (Prims.of_int (19)) + (Prims.of_int (635)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (632)) + (Prims.of_int (48)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + close_univ_s + univs)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 + with + | (univs1, s) + -> + Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (636)) + (Prims.of_int (17)) + (Prims.of_int (636)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (636)) + (Prims.of_int (44)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + subst_r_binders + s params1)) + (fun + uu___2 -> + (fun + params2 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (637)) + (Prims.of_int (14)) + (Prims.of_int (637)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (637)) + (Prims.of_int (55)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + FStar_Reflection_V2_Builtins.subst_term + (FStar_Reflection_V2_Derived.shift_subst + nparams s) + typ1)) + (fun + uu___2 -> + (fun typ2 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (638)) + (Prims.of_int (16)) + (Prims.of_int (638)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.NamedView.fst" + (Prims.of_int (640)) + (Prims.of_int (4)) + (Prims.of_int (640)) + (Prims.of_int (45))))) + (Obj.magic + (FStar_Tactics_Util.map + (fun + uu___2 -> + (fun + uu___2 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + match uu___2 + with + | + (nm1, ty) + -> + (nm1, + (FStar_Reflection_V2_Builtins.subst_term + s ty))))) + uu___2) + ctors1)) + (fun + ctors2 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___2 -> + FStar_Reflection_V2_Data.Sg_Inductive + (nm, + univs1, + params2, + typ2, + ctors2))))) + uu___2))) + uu___2))) + uu___1))) uu___))) + uu___))) uu___))) + | Sg_Val { nm1 = nm; univs2 = univs; typ1 = typ;_} -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + match close_univ_s univs with + | (univs1, s) -> + FStar_Reflection_V2_Data.Sg_Val + (nm, univs1, + (FStar_Reflection_V2_Builtins.subst_term s typ)))))) + uu___ +let (inspect_sigelt : + FStar_Reflection_Types.sigelt -> + (named_sigelt_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (649)) (Prims.of_int (11)) (Prims.of_int (649)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (651)) (Prims.of_int (2)) (Prims.of_int (651)) + (Prims.of_int (21))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_sigelt s)) + (fun uu___ -> (fun sv -> Obj.magic (open_sigelt_view sv)) uu___) +let _ = + FStar_Tactics_Native.register_tactic + "FStar.Tactics.NamedView.inspect_sigelt" (Prims.of_int (2)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 + (FStar_Tactics_Native.from_tactic_1 inspect_sigelt) + FStar_Reflection_V2_Embeddings.e_sigelt e_named_sigelt_view psc + ncb args) +let (pack_sigelt : + named_sigelt_view -> + (FStar_Reflection_Types.sigelt, unit) FStar_Tactics_Effect.tac_repr) + = + fun sv -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (655)) (Prims.of_int (11)) (Prims.of_int (655)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (656)) (Prims.of_int (2)) (Prims.of_int (656)) + (Prims.of_int (18))))) (Obj.magic (close_sigelt_view sv)) + (fun sv1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.pack_sigelt sv1)) +let _ = + FStar_Tactics_Native.register_tactic "FStar.Tactics.NamedView.pack_sigelt" + (Prims.of_int (2)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 + (FStar_Tactics_Native.from_tactic_1 pack_sigelt) + e_named_sigelt_view FStar_Reflection_V2_Embeddings.e_sigelt psc + ncb args) +let (tcc : + FStar_Reflection_Types.env -> + term -> (comp, unit) FStar_Tactics_Effect.tac_repr) + = + fun e -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (659)) (Prims.of_int (19)) + (Prims.of_int (659)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.NamedView.fst" + (Prims.of_int (660)) (Prims.of_int (2)) (Prims.of_int (660)) + (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_V2_Builtins.tcc e t)) + (fun c -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_comp c)) +let _ = + FStar_Tactics_Native.register_tactic "FStar.Tactics.NamedView.tcc" + (Prims.of_int (3)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_2 + (FStar_Tactics_Native.from_tactic_2 tcc) + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_comp_view psc ncb args) +let (comp_to_string : + comp -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = + fun c -> + FStar_Tactics_V2_Builtins.comp_to_string + (FStar_Reflection_V2_Builtins.pack_comp c) +let _ = + FStar_Tactics_Native.register_tactic + "FStar.Tactics.NamedView.comp_to_string" (Prims.of_int (2)) + (fun psc -> + fun ncb -> + fun args -> + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 + (FStar_Tactics_Native.from_tactic_1 comp_to_string) + FStar_Reflection_V2_Embeddings.e_comp_view + FStar_Syntax_Embeddings.e_string psc ncb args) +type universe_view = named_universe_view +type term_view = named_term_view +type sigelt_view = named_sigelt_view +let (inspect_namedv : namedv -> namedv) = fun x -> x +let (pack_namedv : namedv -> namedv) = fun x -> x +let (inspect_bv : bv -> bv) = fun x -> x +let (pack_bv : bv -> bv) = fun x -> x +let (inspect_comp : comp -> comp) = fun x -> x +let (pack_comp : comp -> comp) = fun x -> x \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml b/ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml index e9cd60c63f8..4f8e3821896 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml @@ -1,82 +1,105 @@ open Prims let (fetch_eq_side : unit -> - ((FStar_Reflection_Types.term * FStar_Reflection_Types.term), unit) + ((FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term), unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (63)) (Prims.of_int (10)) (Prims.of_int (63)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (64)) (Prims.of_int (2)) (Prims.of_int (88)) - (Prims.of_int (39))) (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (63)) (Prims.of_int (10)) (Prims.of_int (63)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (64)) (Prims.of_int (2)) (Prims.of_int (88)) + (Prims.of_int (39))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (64)) (Prims.of_int (8)) - (Prims.of_int (64)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (64)) (Prims.of_int (2)) - (Prims.of_int (88)) (Prims.of_int (39))) - (Obj.magic (FStar_Tactics_Builtins.inspect g)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (64)) (Prims.of_int (8)) + (Prims.of_int (64)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (64)) (Prims.of_int (2)) + (Prims.of_int (88)) (Prims.of_int (39))))) + (Obj.magic (FStar_Tactics_NamedView.inspect g)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_App (squash, (g1, uu___2)) - -> + | FStar_Tactics_NamedView.Tv_App + (squash, (g1, uu___2)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (66)) (Prims.of_int (11)) - (Prims.of_int (66)) (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (66)) (Prims.of_int (4)) - (Prims.of_int (87)) (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (66)) + (Prims.of_int (11)) + (Prims.of_int (66)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (66)) + (Prims.of_int (4)) + (Prims.of_int (87)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Builtins.inspect squash)) + (FStar_Tactics_NamedView.inspect squash)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Tv_UInst + | FStar_Tactics_NamedView.Tv_UInst (squash1, uu___4) -> Obj.magic (Obj.repr (if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string squash1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.squash_qn) then Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (70)) - (Prims.of_int (16)) - (Prims.of_int (70)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (70)) - (Prims.of_int (9)) - (Prims.of_int (85)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (70)) + (Prims.of_int (16)) + (Prims.of_int (70)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (70)) + (Prims.of_int (9)) + (Prims.of_int (85)) + (Prims.of_int (48))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect g1)) (fun uu___5 -> (fun uu___5 -> match uu___5 with - | FStar_Reflection_Data.Tv_App + | FStar_Tactics_NamedView.Tv_App (eq_type_x, (y, uu___6)) @@ -84,20 +107,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (72)) (Prims.of_int (19)) (Prims.of_int (72)) - (Prims.of_int (36))) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (72)) (Prims.of_int (12)) (Prims.of_int (84)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq_type_x)) (fun uu___7 -> @@ -106,7 +133,7 @@ let (fetch_eq_side : match uu___7 with | - FStar_Reflection_Data.Tv_App + FStar_Tactics_NamedView.Tv_App (eq_type, (x, uu___8)) @@ -114,20 +141,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (74)) (Prims.of_int (22)) (Prims.of_int (74)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (74)) (Prims.of_int (15)) (Prims.of_int (83)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq_type)) (fun uu___9 -> @@ -136,7 +167,7 @@ let (fetch_eq_side : match uu___9 with | - FStar_Reflection_Data.Tv_App + FStar_Tactics_NamedView.Tv_App (eq, (typ, uu___10)) @@ -144,20 +175,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (76)) (Prims.of_int (25)) (Prims.of_int (76)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (76)) (Prims.of_int (18)) (Prims.of_int (82)) - (Prims.of_int (55))) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq)) (fun uu___11 @@ -165,14 +200,14 @@ let (fetch_eq_side : match uu___11 with | - FStar_Reflection_Data.Tv_UInst + FStar_Tactics_NamedView.Tv_UInst (eq1, uu___12) -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string eq1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.eq2_qn) then FStar_Tactics_Effect.lift_div_tac @@ -180,15 +215,15 @@ let (fetch_eq_side : uu___13 -> (x, y)) else - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an equality" | - FStar_Reflection_Data.Tv_FVar + FStar_Tactics_NamedView.Tv_FVar eq1 -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string eq1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.eq2_qn) then FStar_Tactics_Effect.lift_div_tac @@ -196,71 +231,75 @@ let (fetch_eq_side : uu___12 -> (x, y)) else - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an equality" | uu___12 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an app2 of fvar: "))) | uu___10 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app3"))) uu___9))) | uu___8 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app2"))) uu___7))) | uu___6 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app under squash"))) uu___5)) else Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not a squash"))) - | FStar_Reflection_Data.Tv_FVar + | FStar_Tactics_NamedView.Tv_FVar squash1 -> Obj.magic (Obj.repr (if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string squash1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.squash_qn) then Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (70)) - (Prims.of_int (16)) - (Prims.of_int (70)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (70)) - (Prims.of_int (9)) - (Prims.of_int (85)) - (Prims.of_int (48))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (70)) + (Prims.of_int (16)) + (Prims.of_int (70)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (70)) + (Prims.of_int (9)) + (Prims.of_int (85)) + (Prims.of_int (48))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect g1)) (fun uu___4 -> (fun uu___4 -> match uu___4 with - | FStar_Reflection_Data.Tv_App + | FStar_Tactics_NamedView.Tv_App (eq_type_x, (y, uu___5)) @@ -268,20 +307,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (72)) (Prims.of_int (19)) (Prims.of_int (72)) - (Prims.of_int (36))) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (72)) (Prims.of_int (12)) (Prims.of_int (84)) - (Prims.of_int (39))) + (Prims.of_int (39))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq_type_x)) (fun uu___6 -> @@ -290,7 +333,7 @@ let (fetch_eq_side : match uu___6 with | - FStar_Reflection_Data.Tv_App + FStar_Tactics_NamedView.Tv_App (eq_type, (x, uu___7)) @@ -298,20 +341,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (74)) (Prims.of_int (22)) (Prims.of_int (74)) - (Prims.of_int (37))) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (74)) (Prims.of_int (15)) (Prims.of_int (83)) - (Prims.of_int (42))) + (Prims.of_int (42))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq_type)) (fun uu___8 -> @@ -320,7 +367,7 @@ let (fetch_eq_side : match uu___8 with | - FStar_Reflection_Data.Tv_App + FStar_Tactics_NamedView.Tv_App (eq, (typ, uu___9)) @@ -328,20 +375,24 @@ let (fetch_eq_side : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (76)) (Prims.of_int (25)) (Prims.of_int (76)) - (Prims.of_int (35))) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (76)) (Prims.of_int (18)) (Prims.of_int (82)) - (Prims.of_int (55))) + (Prims.of_int (55))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect eq)) (fun uu___10 @@ -349,14 +400,14 @@ let (fetch_eq_side : match uu___10 with | - FStar_Reflection_Data.Tv_UInst + FStar_Tactics_NamedView.Tv_UInst (eq1, uu___11) -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string eq1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.eq2_qn) then FStar_Tactics_Effect.lift_div_tac @@ -364,15 +415,15 @@ let (fetch_eq_side : uu___12 -> (x, y)) else - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an equality" | - FStar_Reflection_Data.Tv_FVar + FStar_Tactics_NamedView.Tv_FVar eq1 -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string eq1) = - (FStar_Reflection_Derived.flatten_name + (FStar_Reflection_V2_Derived.flatten_name FStar_Reflection_Const.eq2_qn) then FStar_Tactics_Effect.lift_div_tac @@ -380,47 +431,47 @@ let (fetch_eq_side : uu___11 -> (x, y)) else - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an equality" | uu___11 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "not an app2 of fvar: "))) | uu___9 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app3"))) uu___8))) | uu___7 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app2"))) uu___6))) | uu___5 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app under squash"))) uu___4)) else Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not a squash"))) | uu___4 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app of fvar at top level"))) uu___3))) | uu___2 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "not an app at top level"))) uu___1))) uu___1) let mustfail : @@ -431,28 +482,37 @@ let mustfail : fun t -> fun message -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (130)) (Prims.of_int (10)) (Prims.of_int (130)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (130)) (Prims.of_int (4)) (Prims.of_int (132)) - (Prims.of_int (16))) (Obj.magic (FStar_Tactics_Derived.trytac t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (130)) (Prims.of_int (10)) + (Prims.of_int (130)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (130)) (Prims.of_int (4)) (Prims.of_int (132)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V2_Derived.trytac t)) (fun uu___ -> match uu___ with | FStar_Pervasives_Native.Some uu___1 -> - FStar_Tactics_Derived.fail message + FStar_Tactics_V2_Derived.fail message | FStar_Pervasives_Native.None -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) let (implies_intro' : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (138)) (Prims.of_int (10)) (Prims.of_int (138)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (138)) (Prims.of_int (30)) (Prims.of_int (138)) - (Prims.of_int (32))) - (Obj.magic (FStar_Tactics_Logic.implies_intro ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (138)) (Prims.of_int (10)) (Prims.of_int (138)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (138)) (Prims.of_int (30)) (Prims.of_int (138)) + (Prims.of_int (32))))) + (Obj.magic (FStar_Tactics_V2_Logic.implies_intro ())) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) let repeat' : 'a . @@ -461,54 +521,58 @@ let repeat' : = fun f -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (141)) (Prims.of_int (10)) (Prims.of_int (141)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (141)) (Prims.of_int (22)) (Prims.of_int (141)) - (Prims.of_int (24))) (Obj.magic (FStar_Tactics_Derived.repeat f)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (141)) (Prims.of_int (10)) (Prims.of_int (141)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (141)) (Prims.of_int (22)) (Prims.of_int (141)) + (Prims.of_int (24))))) + (Obj.magic (FStar_Tactics_V2_Derived.repeat f)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) let (and_elim' : - FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.binding -> + (unit, unit) FStar_Tactics_Effect.tac_repr) = fun h -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (144)) (Prims.of_int (2)) (Prims.of_int (144)) - (Prims.of_int (43))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (145)) (Prims.of_int (2)) (Prims.of_int (145)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (144)) (Prims.of_int (11)) (Prims.of_int (144)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (144)) (Prims.of_int (2)) (Prims.of_int (144)) - (Prims.of_int (43))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder h)))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Logic.and_elim uu___)) - uu___))) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (145)) (Prims.of_int (2)) (Prims.of_int (145)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V2_Logic.and_elim + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binding_to_namedv h))))) (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.clear h)) uu___) + (fun uu___ -> Obj.magic (FStar_Tactics_V2_Builtins.clear h)) uu___) let exact_hyp : 'a . - FStar_Reflection_Types.binder -> + FStar_Tactics_NamedView.namedv -> (unit, unit) FStar_Tactics_Effect.tac_repr = fun h -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (149)) (Prims.of_int (11)) (Prims.of_int (149)) - (Prims.of_int (48))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (2)) (Prims.of_int (150)) - (Prims.of_int (68))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (149)) (Prims.of_int (11)) (Prims.of_int (149)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (150)) (Prims.of_int (2)) (Prims.of_int (150)) + (Prims.of_int (53))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -518,85 +582,18 @@ let exact_hyp : (fun uu___ -> (fun hd -> Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (150)) (Prims.of_int (68))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (2)) - (Prims.of_int (150)) (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (19)) - (Prims.of_int (150)) (Prims.of_int (67))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (8)) - (Prims.of_int (150)) (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (20)) - (Prims.of_int (150)) (Prims.of_int (66))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) (Prims.of_int (19)) - (Prims.of_int (150)) (Prims.of_int (67))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) - (Prims.of_int (21)) - (Prims.of_int (150)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (150)) - (Prims.of_int (20)) - (Prims.of_int (150)) - (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder - h)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - (uu___, - FStar_Reflection_Data.Q_Explicit))))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> [uu___])))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Derived.mk_app hd uu___)))) - (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Derived.exact uu___)) uu___))) - uu___) + (FStar_Tactics_V2_Derived.exact + (FStar_Reflection_V2_Derived.mk_app hd + [((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var h)), + FStar_Reflection_V2_Data.Q_Explicit)]))) uu___) let (exact_hyp' : - FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.namedv -> + (unit, unit) FStar_Tactics_Effect.tac_repr) = fun h -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (154)) (Prims.of_int (8)) (Prims.of_int (154)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (154)) (Prims.of_int (2)) (Prims.of_int (154)) - (Prims.of_int (40))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder h)))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Derived.exact uu___)) uu___) + FStar_Tactics_V2_Derived.exact + (FStar_Tactics_NamedView.pack (FStar_Tactics_NamedView.Tv_Var h)) type varname = Prims.string type qn = Prims.string type pattern = @@ -640,10 +637,10 @@ let rec (string_of_pattern : pattern -> Prims.string) = (Prims.strcat " " (Prims.strcat (string_of_pattern r) ")"))) type match_exception = | NameMismatch of (qn * qn) - | SimpleMismatch of (pattern * FStar_Reflection_Types.term) - | NonLinearMismatch of (varname * FStar_Reflection_Types.term * - FStar_Reflection_Types.term) - | UnsupportedTermInPattern of FStar_Reflection_Types.term + | SimpleMismatch of (pattern * FStar_Tactics_NamedView.term) + | NonLinearMismatch of (varname * FStar_Tactics_NamedView.term * + FStar_Tactics_NamedView.term) + | UnsupportedTermInPattern of FStar_Tactics_NamedView.term | IncorrectTypeInAbsPatBinder of FStar_Reflection_Types.typ let (uu___is_NameMismatch : match_exception -> Prims.bool) = fun projectee -> @@ -654,14 +651,14 @@ let (uu___is_SimpleMismatch : match_exception -> Prims.bool) = fun projectee -> match projectee with | SimpleMismatch _0 -> true | uu___ -> false let (__proj__SimpleMismatch__item___0 : - match_exception -> (pattern * FStar_Reflection_Types.term)) = + match_exception -> (pattern * FStar_Tactics_NamedView.term)) = fun projectee -> match projectee with | SimpleMismatch _0 -> _0 let (uu___is_NonLinearMismatch : match_exception -> Prims.bool) = fun projectee -> match projectee with | NonLinearMismatch _0 -> true | uu___ -> false let (__proj__NonLinearMismatch__item___0 : match_exception -> - (varname * FStar_Reflection_Types.term * FStar_Reflection_Types.term)) + (varname * FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term)) = fun projectee -> match projectee with | NonLinearMismatch _0 -> _0 let (uu___is_UnsupportedTermInPattern : match_exception -> Prims.bool) = fun projectee -> @@ -669,7 +666,7 @@ let (uu___is_UnsupportedTermInPattern : match_exception -> Prims.bool) = | UnsupportedTermInPattern _0 -> true | uu___ -> false let (__proj__UnsupportedTermInPattern__item___0 : - match_exception -> FStar_Reflection_Types.term) = + match_exception -> FStar_Tactics_NamedView.term) = fun projectee -> match projectee with | UnsupportedTermInPattern _0 -> _0 let (uu___is_IncorrectTypeInAbsPatBinder : match_exception -> Prims.bool) = fun projectee -> @@ -681,43 +678,48 @@ let (__proj__IncorrectTypeInAbsPatBinder__item___0 : fun projectee -> match projectee with | IncorrectTypeInAbsPatBinder _0 -> _0 let (term_head : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (203)) (Prims.of_int (8)) (Prims.of_int (203)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (203)) (Prims.of_int (2)) (Prims.of_int (220)) - (Prims.of_int (28))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (203)) (Prims.of_int (8)) (Prims.of_int (203)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (203)) (Prims.of_int (2)) (Prims.of_int (220)) + (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> match uu___ with - | FStar_Reflection_Data.Tv_Var bv -> "Tv_Var" - | FStar_Reflection_Data.Tv_BVar fv -> "Tv_BVar" - | FStar_Reflection_Data.Tv_FVar fv -> "Tv_FVar" - | FStar_Reflection_Data.Tv_UInst (uu___2, uu___3) -> "Tv_UInst" - | FStar_Reflection_Data.Tv_App (f, x) -> "Tv_App" - | FStar_Reflection_Data.Tv_Abs (x, t1) -> "Tv_Abs" - | FStar_Reflection_Data.Tv_Arrow (x, t1) -> "Tv_Arrow" - | FStar_Reflection_Data.Tv_Type uu___2 -> "Tv_Type" - | FStar_Reflection_Data.Tv_Refine (x, uu___2, t1) -> - "Tv_Refine" - | FStar_Reflection_Data.Tv_Const cst -> "Tv_Const" - | FStar_Reflection_Data.Tv_Uvar (i, t1) -> "Tv_Uvar" - | FStar_Reflection_Data.Tv_Let (r, attrs, b, uu___2, t1, t2) -> + | FStar_Tactics_NamedView.Tv_Var bv -> "Tv_Var" + | FStar_Tactics_NamedView.Tv_BVar fv -> "Tv_BVar" + | FStar_Tactics_NamedView.Tv_FVar fv -> "Tv_FVar" + | FStar_Tactics_NamedView.Tv_UInst (uu___2, uu___3) -> + "Tv_UInst" + | FStar_Tactics_NamedView.Tv_App (f, x) -> "Tv_App" + | FStar_Tactics_NamedView.Tv_Abs (x, t1) -> "Tv_Abs" + | FStar_Tactics_NamedView.Tv_Arrow (x, t1) -> "Tv_Arrow" + | FStar_Tactics_NamedView.Tv_Type uu___2 -> "Tv_Type" + | FStar_Tactics_NamedView.Tv_Refine (x, t1) -> "Tv_Refine" + | FStar_Tactics_NamedView.Tv_Const cst -> "Tv_Const" + | FStar_Tactics_NamedView.Tv_Uvar (i, t1) -> "Tv_Uvar" + | FStar_Tactics_NamedView.Tv_Let (r, attrs, b, t1, t2) -> "Tv_Let" - | FStar_Reflection_Data.Tv_Match (t1, uu___2, branches) -> + | FStar_Tactics_NamedView.Tv_Match (t1, uu___2, branches) -> "Tv_Match" - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Tactics_NamedView.Tv_AscribedT (uu___2, uu___3, uu___4, uu___5) -> "Tv_AscribedT" - | FStar_Reflection_Data.Tv_AscribedC + | FStar_Tactics_NamedView.Tv_AscribedC (uu___2, uu___3, uu___4, uu___5) -> "Tv_AscribedC" - | FStar_Reflection_Data.Tv_Unknown -> "Tv_Unknown" - | FStar_Reflection_Data.Tv_Unsupp -> "Tv_Unsupp")) + | FStar_Tactics_NamedView.Tv_Unknown -> "Tv_Unknown" + | FStar_Tactics_NamedView.Tv_Unsupp -> "Tv_Unsupp")) let (string_of_match_exception : match_exception -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> @@ -735,32 +737,50 @@ let (string_of_match_exception : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (228)) (Prims.of_int (4)) - (Prims.of_int (228)) (Prims.of_int (54))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (228)) (Prims.of_int (26)) - (Prims.of_int (228)) (Prims.of_int (54))) + (Prims.of_int (228)) (Prims.of_int (4)) + (Prims.of_int (228)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (228)) (Prims.of_int (37)) - (Prims.of_int (228)) (Prims.of_int (54))) + (Prims.of_int (228)) (Prims.of_int (26)) + (Prims.of_int (228)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (228)) + (Prims.of_int (37)) + (Prims.of_int (228)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string tm)) + (FStar_Tactics_V2_Builtins.term_to_string + tm)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -779,79 +799,108 @@ let (string_of_match_exception : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (230)) (Prims.of_int (54)) - (Prims.of_int (232)) (Prims.of_int (33))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (231)) (Prims.of_int (4)) - (Prims.of_int (232)) (Prims.of_int (33))) + (Prims.of_int (230)) (Prims.of_int (54)) + (Prims.of_int (232)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (231)) (Prims.of_int (30)) - (Prims.of_int (232)) (Prims.of_int (33))) + (Prims.of_int (231)) (Prims.of_int (4)) + (Prims.of_int (232)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (231)) - (Prims.of_int (30)) - (Prims.of_int (231)) - (Prims.of_int (49))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (231)) (Prims.of_int (30)) (Prims.of_int (232)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (231)) + (Prims.of_int (30)) + (Prims.of_int (231)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (231)) + (Prims.of_int (30)) + (Prims.of_int (232)) + (Prims.of_int (33))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string t1)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (232)) - (Prims.of_int (4)) - (Prims.of_int (232)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (232)) - (Prims.of_int (14)) + (Prims.of_int (4)) (Prims.of_int (232)) - (Prims.of_int (33))) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (232)) + (Prims.of_int (14)) + (Prims.of_int (232)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string t2)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -882,66 +931,88 @@ let (string_of_match_exception : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (235)) (Prims.of_int (4)) - (Prims.of_int (235)) (Prims.of_int (49))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (235)) (Prims.of_int (4)) - (Prims.of_int (235)) (Prims.of_int (21))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (235)) (Prims.of_int (4)) - (Prims.of_int (235)) (Prims.of_int (49))) + (Prims.of_int (235)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (235)) (Prims.of_int (4)) + (Prims.of_int (235)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (235)) (Prims.of_int (4)) + (Prims.of_int (235)) (Prims.of_int (49))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string tm)) + (FStar_Tactics_V2_Builtins.term_to_string tm)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (235)) - (Prims.of_int (24)) - (Prims.of_int (235)) - (Prims.of_int (49))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (235)) - (Prims.of_int (31)) + (Prims.of_int (24)) (Prims.of_int (235)) - (Prims.of_int (49))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (235)) (Prims.of_int (31)) (Prims.of_int (235)) - (Prims.of_int (43))) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (235)) + (Prims.of_int (31)) + (Prims.of_int (235)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_head tm)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -967,23 +1038,32 @@ let (string_of_match_exception : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (238)) (Prims.of_int (4)) - (Prims.of_int (238)) (Prims.of_int (74))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (238)) (Prims.of_int (4)) - (Prims.of_int (238)) (Prims.of_int (22))) + (Prims.of_int (238)) (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (238)) (Prims.of_int (4)) + (Prims.of_int (238)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string typ)) + (FStar_Tactics_V2_Builtins.term_to_string typ)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -1042,16 +1122,20 @@ let lift_exn_tac : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (269)) (Prims.of_int (31)) - (Prims.of_int (269)) (Prims.of_int (61))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (269)) (Prims.of_int (18)) - (Prims.of_int (269)) (Prims.of_int (61))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (269)) (Prims.of_int (31)) + (Prims.of_int (269)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (269)) (Prims.of_int (18)) + (Prims.of_int (269)) (Prims.of_int (61))))) (Obj.magic (string_of_match_exception ex)) - (fun uu___ -> FStar_Tactics_Derived.fail uu___)))) + (fun uu___ -> FStar_Tactics_V1_Derived.fail uu___)))) uu___1 uu___ let lift_exn_tactic : 'a 'b . @@ -1070,61 +1154,86 @@ let lift_exn_tactic : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (274)) (Prims.of_int (31)) - (Prims.of_int (274)) (Prims.of_int (61))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (274)) (Prims.of_int (18)) - (Prims.of_int (274)) (Prims.of_int (61))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (274)) (Prims.of_int (31)) + (Prims.of_int (274)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (274)) (Prims.of_int (18)) + (Prims.of_int (274)) (Prims.of_int (61))))) (Obj.magic (string_of_match_exception ex)) - (fun uu___ -> FStar_Tactics_Derived.fail uu___)))) + (fun uu___ -> FStar_Tactics_V1_Derived.fail uu___)))) uu___1 uu___ -type bindings = (varname * FStar_Reflection_Types.term) Prims.list +type bindings = (varname * FStar_Tactics_NamedView.term) Prims.list let (string_of_bindings : bindings -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun bindings1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (286)) (Prims.of_int (4)) (Prims.of_int (287)) - (Prims.of_int (27))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (285)) (Prims.of_int (2)) (Prims.of_int (287)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (286)) (Prims.of_int (4)) (Prims.of_int (287)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (285)) (Prims.of_int (2)) (Prims.of_int (287)) + (Prims.of_int (27))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (nm, tm) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (286)) (Prims.of_int (35)) - (Prims.of_int (286)) (Prims.of_int (64))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (286)) (Prims.of_int (40)) - (Prims.of_int (286)) (Prims.of_int (64))) + (Prims.of_int (286)) (Prims.of_int (35)) + (Prims.of_int (286)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (286)) (Prims.of_int (47)) - (Prims.of_int (286)) (Prims.of_int (64))) + (Prims.of_int (286)) (Prims.of_int (40)) + (Prims.of_int (286)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (286)) + (Prims.of_int (47)) + (Prims.of_int (286)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string tm)) + (FStar_Tactics_V2_Builtins.term_to_string + tm)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat ": " uu___1)))) @@ -1141,19 +1250,23 @@ let (string_of_bindings : let rec (interp_pattern_aux : pattern -> bindings -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (bindings match_res, unit) FStar_Tactics_Effect.tac_repr) = fun pat -> fun cur_bindings -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (295)) (Prims.of_int (4)) (Prims.of_int (298)) - (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (298)) (Prims.of_int (49)) (Prims.of_int (324)) - (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (295)) (Prims.of_int (4)) + (Prims.of_int (298)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (298)) (Prims.of_int (49)) + (Prims.of_int (321)) (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun v -> @@ -1161,7 +1274,7 @@ let rec (interp_pattern_aux : fun tm1 -> match FStar_List_Tot_Base.assoc v cur_bindings1 with | FStar_Pervasives_Native.Some tm' -> - if FStar_Reflection_Builtins.term_eq tm1 tm' + if FStar_Reflection_V2_Builtins.term_eq tm1 tm' then return cur_bindings1 else raise (NonLinearMismatch (v, tm1, tm')) | FStar_Pervasives_Native.None -> @@ -1170,41 +1283,50 @@ let rec (interp_pattern_aux : (fun interp_var -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (300)) (Prims.of_int (4)) - (Prims.of_int (305)) (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (305)) (Prims.of_int (46)) - (Prims.of_int (324)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (300)) (Prims.of_int (4)) + (Prims.of_int (305)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (305)) (Prims.of_int (46)) + (Prims.of_int (321)) (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun qn1 -> fun cur_bindings1 -> fun tm1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (300)) - (Prims.of_int (10)) - (Prims.of_int (300)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (300)) (Prims.of_int (4)) - (Prims.of_int (305)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (300)) + (Prims.of_int (10)) + (Prims.of_int (300)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (300)) + (Prims.of_int (4)) + (Prims.of_int (305)) + (Prims.of_int (43))))) (Obj.magic - (FStar_Tactics_Builtins.inspect tm1)) + (FStar_Tactics_NamedView.inspect tm1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_UInst + | FStar_Tactics_NamedView.Tv_UInst (fv, uu___3) -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string fv) = qn1 then return cur_bindings1 @@ -1212,12 +1334,12 @@ let rec (interp_pattern_aux : raise (NameMismatch (qn1, - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string fv))) - | FStar_Reflection_Data.Tv_FVar fv - -> + | FStar_Tactics_NamedView.Tv_FVar + fv -> if - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string fv) = qn1 then return cur_bindings1 @@ -1225,7 +1347,7 @@ let rec (interp_pattern_aux : raise (NameMismatch (qn1, - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string fv))) | uu___3 -> raise @@ -1234,39 +1356,51 @@ let rec (interp_pattern_aux : (fun interp_qn -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (307)) (Prims.of_int (4)) - (Prims.of_int (309)) (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (309)) (Prims.of_int (46)) - (Prims.of_int (324)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (307)) + (Prims.of_int (4)) + (Prims.of_int (309)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (309)) + (Prims.of_int (46)) + (Prims.of_int (321)) + (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun cur_bindings1 -> fun tm1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (307)) - (Prims.of_int (10)) - (Prims.of_int (307)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (307)) - (Prims.of_int (4)) - (Prims.of_int (309)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (307)) + (Prims.of_int (10)) + (Prims.of_int (307)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (307)) + (Prims.of_int (4)) + (Prims.of_int (309)) + (Prims.of_int (43))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect tm1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> match uu___1 with - | FStar_Reflection_Data.Tv_Type + | FStar_Tactics_NamedView.Tv_Type uu___3 -> return cur_bindings1 | uu___3 -> @@ -1277,18 +1411,22 @@ let rec (interp_pattern_aux : (fun interp_type -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (311)) - (Prims.of_int (4)) - (Prims.of_int (316)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (317)) - (Prims.of_int (4)) - (Prims.of_int (324)) - (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (311)) + (Prims.of_int (4)) + (Prims.of_int (316)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (317)) + (Prims.of_int (4)) + (Prims.of_int (321)) + (Prims.of_int (62))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun p_hd -> @@ -1296,26 +1434,30 @@ let rec (interp_pattern_aux : fun cur_bindings1 -> fun tm1 -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (311)) - (Prims.of_int (10)) - (Prims.of_int (311)) - (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (311)) - (Prims.of_int (4)) - (Prims.of_int (316)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (311)) + (Prims.of_int (10)) + (Prims.of_int (311)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (311)) + (Prims.of_int (4)) + (Prims.of_int (316)) + (Prims.of_int (43))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect tm1)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_App + | FStar_Tactics_NamedView.Tv_App (hd, (arg, uu___2)) @@ -1323,18 +1465,22 @@ let rec (interp_pattern_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (313)) (Prims.of_int (21)) (Prims.of_int (313)) - (Prims.of_int (60))) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (313)) (Prims.of_int (6)) (Prims.of_int (315)) - (Prims.of_int (21))) + (Prims.of_int (21))))) (Obj.magic (interp_pattern_aux p_hd @@ -1351,18 +1497,22 @@ let rec (interp_pattern_aux : with_hd -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (314)) (Prims.of_int (22)) (Prims.of_int (314)) - (Prims.of_int (58))) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" (Prims.of_int (314)) (Prims.of_int (6)) (Prims.of_int (315)) - (Prims.of_int (21))) + (Prims.of_int (21))))) (Obj.magic (interp_pattern_aux p_arg @@ -1427,27 +1577,28 @@ let rec (interp_pattern_aux : (Obj.repr (interp_app p_hd p_arg - cur_bindings tm)) - | uu___ -> - Obj.magic - (Obj.repr - (FStar_Tactics_Derived.fail - "?"))) uu___))) - uu___))) uu___))) uu___) + cur_bindings tm))) + uu___))) uu___))) uu___))) + uu___) let (interp_pattern : pattern -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (bindings match_res, unit) FStar_Tactics_Effect.tac_repr) = fun pat -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (330)) (Prims.of_int (24)) (Prims.of_int (330)) - (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (330)) (Prims.of_int (4)) (Prims.of_int (331)) - (Prims.of_int (43))) (Obj.magic (interp_pattern_aux pat [] tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (327)) (Prims.of_int (24)) + (Prims.of_int (327)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (327)) (Prims.of_int (4)) (Prims.of_int (328)) + (Prims.of_int (43))))) + (Obj.magic (interp_pattern_aux pat [] tm)) (fun uu___ -> (fun uu___ -> Obj.magic @@ -1462,27 +1613,35 @@ let (interp_pattern : uu___1))) uu___) let (match_term : pattern -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (bindings, unit) FStar_Tactics_Effect.tac_repr) = fun pat -> fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (337)) (Prims.of_int (10)) (Prims.of_int (337)) - (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (337)) (Prims.of_int (4)) (Prims.of_int (339)) - (Prims.of_int (63))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (337)) (Prims.of_int (29)) - (Prims.of_int (337)) (Prims.of_int (46))) + (Prims.of_int (334)) (Prims.of_int (10)) + (Prims.of_int (334)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (337)) (Prims.of_int (10)) - (Prims.of_int (337)) (Prims.of_int (46))) - (Obj.magic (FStar_Tactics_Derived.norm_term [] tm)) + (Prims.of_int (334)) (Prims.of_int (4)) (Prims.of_int (336)) + (Prims.of_int (63))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (334)) (Prims.of_int (29)) + (Prims.of_int (334)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (334)) (Prims.of_int (10)) + (Prims.of_int (334)) (Prims.of_int (46))))) + (Obj.magic (FStar_Tactics_V2_Derived.norm_term [] tm)) (fun uu___ -> (fun uu___ -> Obj.magic (interp_pattern pat uu___)) uu___))) (fun uu___ -> @@ -1496,23 +1655,27 @@ let (match_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (339)) (Prims.of_int (33)) - (Prims.of_int (339)) (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (339)) (Prims.of_int (20)) - (Prims.of_int (339)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (336)) (Prims.of_int (33)) + (Prims.of_int (336)) (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (336)) (Prims.of_int (20)) + (Prims.of_int (336)) (Prims.of_int (63))))) (Obj.magic (string_of_match_exception ex)) - (fun uu___1 -> FStar_Tactics_Derived.fail uu___1)))) + (fun uu___1 -> FStar_Tactics_V1_Derived.fail uu___1)))) uu___) let debug : 'uuuuu . 'uuuuu -> (unit, unit) FStar_Tactics_Effect.tac_repr = fun uu___ -> (fun msg -> Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) uu___ -type absvar = FStar_Reflection_Types.binder -type hypothesis = FStar_Reflection_Types.binder +type absvar = FStar_Tactics_NamedView.binding +type hypothesis = FStar_Tactics_NamedView.binding type matching_problem = { mp_vars: varname Prims.list ; @@ -1554,10 +1717,10 @@ let (string_of_matching_problem : matching_problem -> Prims.string) = (Prims.strcat " goal: " (Prims.strcat goal " }"))))))) type matching_solution = { - ms_vars: (varname * FStar_Reflection_Types.term) Prims.list ; + ms_vars: (varname * FStar_Tactics_NamedView.term) Prims.list ; ms_hyps: (varname * hypothesis) Prims.list } let (__proj__Mkmatching_solution__item__ms_vars : - matching_solution -> (varname * FStar_Reflection_Types.term) Prims.list) = + matching_solution -> (varname * FStar_Tactics_NamedView.term) Prims.list) = fun projectee -> match projectee with | { ms_vars; ms_hyps;_} -> ms_vars let (__proj__Mkmatching_solution__item__ms_hyps : matching_solution -> (varname * hypothesis) Prims.list) = @@ -1566,44 +1729,65 @@ let (string_of_matching_solution : matching_solution -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun ms -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (386)) (Prims.of_int (4)) (Prims.of_int (388)) - (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (388)) (Prims.of_int (60)) (Prims.of_int (394)) - (Prims.of_int (26))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (387)) (Prims.of_int (6)) (Prims.of_int (388)) - (Prims.of_int (57))) + (Prims.of_int (383)) (Prims.of_int (4)) (Prims.of_int (385)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (386)) (Prims.of_int (4)) (Prims.of_int (388)) - (Prims.of_int (57))) + (Prims.of_int (385)) (Prims.of_int (60)) (Prims.of_int (391)) + (Prims.of_int (26))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (384)) (Prims.of_int (6)) + (Prims.of_int (385)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (383)) (Prims.of_int (4)) + (Prims.of_int (385)) (Prims.of_int (57))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (varname1, tm) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (388)) (Prims.of_int (18)) - (Prims.of_int (388)) (Prims.of_int (44))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (388)) (Prims.of_int (25)) - (Prims.of_int (388)) (Prims.of_int (44))) + (Prims.of_int (385)) (Prims.of_int (18)) + (Prims.of_int (385)) (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (385)) + (Prims.of_int (25)) + (Prims.of_int (385)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string tm)) + (FStar_Tactics_V2_Builtins.term_to_string + tm)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat ": " uu___1)))) @@ -1618,55 +1802,73 @@ let (string_of_matching_solution : (fun vars -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (390)) (Prims.of_int (4)) - (Prims.of_int (392)) (Prims.of_int (58))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (391)) (Prims.of_int (6)) - (Prims.of_int (392)) (Prims.of_int (58))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (390)) (Prims.of_int (4)) - (Prims.of_int (392)) (Prims.of_int (58))) + (Prims.of_int (387)) (Prims.of_int (4)) + (Prims.of_int (389)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (388)) (Prims.of_int (6)) + (Prims.of_int (389)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (387)) (Prims.of_int (4)) + (Prims.of_int (389)) (Prims.of_int (60))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with - | (nm, binder) -> + | (nm, binding) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (392)) - (Prims.of_int (13)) - (Prims.of_int (392)) - (Prims.of_int (45))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (392)) - (Prims.of_int (20)) - (Prims.of_int (392)) - (Prims.of_int (45))) + (Prims.of_int (389)) + (Prims.of_int (13)) + (Prims.of_int (389)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (389)) + (Prims.of_int (20)) + (Prims.of_int (389)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string - binder)) + (FStar_Tactics_V2_Derived.binding_to_string + binding)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -1700,15 +1902,15 @@ let assoc_varname_fail : match FStar_List_Tot_Base.assoc key ls with | FStar_Pervasives_Native.None -> Obj.magic - (FStar_Tactics_Derived.fail (Prims.strcat "Not found: " key)) + (FStar_Tactics_V2_Derived.fail + (Prims.strcat "Not found: " key)) | FStar_Pervasives_Native.Some x -> Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> x))) uu___1 uu___ let ms_locate_hyp : 'a . matching_solution -> - varname -> - (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr + varname -> (hypothesis, unit) FStar_Tactics_Effect.tac_repr = fun solution -> fun name -> assoc_varname_fail name solution.ms_hyps let ms_locate_var : 'a . @@ -1717,15 +1919,19 @@ let ms_locate_var : fun solution -> fun name -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (409)) (Prims.of_int (13)) (Prims.of_int (409)) - (Prims.of_int (55))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (409)) (Prims.of_int (2)) (Prims.of_int (409)) - (Prims.of_int (55))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (406)) (Prims.of_int (13)) + (Prims.of_int (406)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (406)) (Prims.of_int (2)) (Prims.of_int (406)) + (Prims.of_int (55))))) (Obj.magic (assoc_varname_fail name solution.ms_vars)) (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.unquote uu___)) + (fun uu___ -> Obj.magic (FStar_Tactics_V2_Builtins.unquote uu___)) uu___) let ms_locate_unit : 'uuuuu 'uuuuu1 'a . @@ -1759,30 +1965,34 @@ let rec solve_mp_for_single_hyp : | [] -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "No matching hypothesis")) | h::hs -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.or_else + (FStar_Tactics_V2_Derived.or_else (fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (449)) - (Prims.of_int (15)) - (Prims.of_int (449)) - (Prims.of_int (73))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (449)) - (Prims.of_int (9)) - (Prims.of_int (454)) - (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (446)) + (Prims.of_int (15)) + (Prims.of_int (446)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (446)) + (Prims.of_int (9)) + (Prims.of_int (451)) + (Prims.of_int (73))))) (Obj.magic (interp_pattern_aux pat part_sol.ms_vars - (FStar_Reflection_Derived.type_of_binder + (FStar_Tactics_V2_Derived.type_of_binding h))) (fun uu___1 -> (fun uu___1 -> @@ -1790,32 +2000,40 @@ let rec solve_mp_for_single_hyp : | Failure ex -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (451)) - (Prims.of_int (16)) - (Prims.of_int (451)) - (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (451)) - (Prims.of_int (11)) - (Prims.of_int (451)) - (Prims.of_int (74))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (451)) - (Prims.of_int (43)) - (Prims.of_int (451)) - (Prims.of_int (73))) + (Prims.of_int (448)) + (Prims.of_int (16)) + (Prims.of_int (448)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (448)) + (Prims.of_int (11)) + (Prims.of_int (448)) + (Prims.of_int (74))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (448)) + (Prims.of_int (43)) + (Prims.of_int (448)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (string_of_match_exception ex)) @@ -1827,23 +2045,27 @@ let rec solve_mp_for_single_hyp : "Failed to match hyp: " uu___2)))) (fun uu___2 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail uu___2)) | Success bindings1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (453)) - (Prims.of_int (25)) - (Prims.of_int (453)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (454)) - (Prims.of_int (11)) - (Prims.of_int (454)) - (Prims.of_int (73))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (450)) + (Prims.of_int (25)) + (Prims.of_int (450)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (451)) + (Prims.of_int (11)) + (Prims.of_int (451)) + (Prims.of_int (73))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (name, h) :: @@ -1881,8 +2103,8 @@ let rec solve_mp_for_hyps : let solve_mp : 'a . matching_problem -> - FStar_Reflection_Types.binders -> - FStar_Reflection_Types.term -> + hypothesis Prims.list -> + FStar_Tactics_NamedView.term -> (matching_solution -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> ('a, unit) FStar_Tactics_Effect.tac_repr = @@ -1891,12 +2113,16 @@ let solve_mp : fun goal -> fun body -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (482)) (Prims.of_int (4)) (Prims.of_int (487)) - (Prims.of_int (64))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (488)) (Prims.of_int (2)) (Prims.of_int (488)) - (Prims.of_int (62))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (479)) (Prims.of_int (4)) + (Prims.of_int (484)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (485)) (Prims.of_int (2)) + (Prims.of_int (485)) (Prims.of_int (62))))) (match problem.mp_goal with | FStar_Pervasives_Native.None -> Obj.magic @@ -1907,14 +2133,18 @@ let solve_mp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (485)) (Prims.of_int (12)) - (Prims.of_int (485)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (485)) (Prims.of_int (6)) - (Prims.of_int (487)) (Prims.of_int (64))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (482)) (Prims.of_int (12)) + (Prims.of_int (482)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (482)) (Prims.of_int (6)) + (Prims.of_int (484)) (Prims.of_int (64))))) (Obj.magic (interp_pattern pat goal)) (fun uu___ -> (fun uu___ -> @@ -1923,32 +2153,40 @@ let solve_mp : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (486)) - (Prims.of_int (27)) - (Prims.of_int (486)) - (Prims.of_int (86))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (486)) - (Prims.of_int (22)) - (Prims.of_int (486)) - (Prims.of_int (86))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (486)) - (Prims.of_int (55)) - (Prims.of_int (486)) - (Prims.of_int (85))) + (Prims.of_int (483)) + (Prims.of_int (27)) + (Prims.of_int (483)) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (483)) + (Prims.of_int (22)) + (Prims.of_int (483)) + (Prims.of_int (86))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (483)) + (Prims.of_int (55)) + (Prims.of_int (483)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (string_of_match_exception ex)) @@ -1959,7 +2197,7 @@ let solve_mp : "Failed to match goal: " uu___1)))) (fun uu___1 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail uu___1))) | Success bindings1 -> Obj.magic @@ -1975,82 +2213,111 @@ let solve_mp : Obj.magic (solve_mp_for_hyps problem.mp_hyps hypotheses body goal_ps)) uu___) +let (name_of_namedv : + FStar_Tactics_NamedView.namedv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun x -> + FStar_Tactics_Unseal.unseal + (FStar_Tactics_NamedView.inspect_namedv x).FStar_Reflection_V2_Data.ppname let rec (pattern_of_term_ex : FStar_Reflection_Types.term -> (pattern match_res, unit) FStar_Tactics_Effect.tac_repr) = fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (508)) (Prims.of_int (8)) (Prims.of_int (508)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (508)) (Prims.of_int (2)) (Prims.of_int (521)) - (Prims.of_int (44))) (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (508)) (Prims.of_int (8)) (Prims.of_int (508)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (508)) (Prims.of_int (2)) (Prims.of_int (521)) + (Prims.of_int (44))))) + (Obj.magic (FStar_Tactics_NamedView.inspect tm)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Tactics_NamedView.Tv_Var bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (510)) (Prims.of_int (11)) - (Prims.of_int (510)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (510)) (Prims.of_int (4)) - (Prims.of_int (510)) (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (510)) (Prims.of_int (17)) - (Prims.of_int (510)) (Prims.of_int (32))) + (Prims.of_int (510)) (Prims.of_int (11)) + (Prims.of_int (510)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (510)) (Prims.of_int (11)) - (Prims.of_int (510)) (Prims.of_int (33))) - (Obj.magic - (FStar_Tactics_Derived.name_of_bv bv)) + (Prims.of_int (510)) (Prims.of_int (4)) + (Prims.of_int (510)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (510)) + (Prims.of_int (17)) + (Prims.of_int (510)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (510)) + (Prims.of_int (11)) + (Prims.of_int (510)) + (Prims.of_int (37))))) + (Obj.magic (name_of_namedv bv)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> PVar uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> return uu___1)))) - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Tactics_NamedView.Tv_FVar fv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> return - (PQn (FStar_Reflection_Derived.fv_to_string fv))))) - | FStar_Reflection_Data.Tv_UInst (fv, uu___1) -> + (PQn + (FStar_Reflection_V2_Derived.fv_to_string fv))))) + | FStar_Tactics_NamedView.Tv_UInst (fv, uu___1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> return - (PQn (FStar_Reflection_Derived.fv_to_string fv))))) - | FStar_Reflection_Data.Tv_Type uu___1 -> + (PQn + (FStar_Reflection_V2_Derived.fv_to_string fv))))) + | FStar_Tactics_NamedView.Tv_Type uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> return PType))) - | FStar_Reflection_Data.Tv_App (f, (x, uu___1)) -> + | FStar_Tactics_NamedView.Tv_App (f, (x, uu___1)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (518)) (Prims.of_int (17)) - (Prims.of_int (518)) (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (518)) (Prims.of_int (5)) - (Prims.of_int (520)) (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (518)) (Prims.of_int (17)) + (Prims.of_int (518)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (518)) (Prims.of_int (5)) + (Prims.of_int (520)) (Prims.of_int (28))))) (Obj.magic (pattern_of_term_ex f)) (fun uu___2 -> (fun uu___2 -> @@ -2058,18 +2325,22 @@ let rec (pattern_of_term_ex : (op_let_Question uu___2 (fun fpat -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (519)) - (Prims.of_int (17)) - (Prims.of_int (519)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (519)) - (Prims.of_int (5)) - (Prims.of_int (520)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (519)) + (Prims.of_int (17)) + (Prims.of_int (519)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (519)) + (Prims.of_int (5)) + (Prims.of_int (520)) + (Prims.of_int (28))))) (Obj.magic (pattern_of_term_ex x)) (fun uu___3 -> (fun uu___3 -> @@ -2093,21 +2364,25 @@ let rec (pattern_of_term_ex : (fun uu___2 -> raise (UnsupportedTermInPattern tm))))) uu___) let (beta_reduce : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = fun tm -> FStar_Tactics_Derived.norm_term [] tm + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = fun tm -> FStar_Tactics_V2_Derived.norm_term [] tm let (pattern_of_term : FStar_Reflection_Types.term -> (pattern, unit) FStar_Tactics_Effect.tac_repr) = fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (531)) (Prims.of_int (10)) (Prims.of_int (531)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (531)) (Prims.of_int (4)) (Prims.of_int (533)) - (Prims.of_int (63))) (Obj.magic (pattern_of_term_ex tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (531)) (Prims.of_int (10)) (Prims.of_int (531)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (531)) (Prims.of_int (4)) (Prims.of_int (533)) + (Prims.of_int (63))))) (Obj.magic (pattern_of_term_ex tm)) (fun uu___ -> (fun uu___ -> match uu___ with @@ -2119,18 +2394,22 @@ let (pattern_of_term : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (533)) (Prims.of_int (33)) - (Prims.of_int (533)) (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (533)) (Prims.of_int (20)) - (Prims.of_int (533)) (Prims.of_int (63))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (533)) (Prims.of_int (33)) + (Prims.of_int (533)) (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (533)) (Prims.of_int (20)) + (Prims.of_int (533)) (Prims.of_int (63))))) (Obj.magic (string_of_match_exception ex)) - (fun uu___1 -> FStar_Tactics_Derived.fail uu___1)))) + (fun uu___1 -> FStar_Tactics_V1_Derived.fail uu___1)))) uu___) -type 'a hyp = FStar_Reflection_Types.binder +type 'a hyp = FStar_Tactics_NamedView.binding type 'a pm_goal = unit let (hyp_qn : Prims.string) = "FStar.Tactics.PatternMatching.hyp" let (goal_qn : Prims.string) = "FStar.Tactics.PatternMatching.pm_goal" @@ -2162,45 +2441,62 @@ let (__proj__Mkabspat_argspec__item__asa_kind : abspat_argspec -> abspat_binder_kind) = fun projectee -> match projectee with | { asa_name; asa_kind;_} -> asa_kind type abspat_continuation = - (abspat_argspec Prims.list * FStar_Reflection_Types.term) + (abspat_argspec Prims.list * FStar_Tactics_NamedView.term) +let (type_of_named_binder : + FStar_Tactics_NamedView.binder -> FStar_Tactics_NamedView.term) = + fun nb -> nb.FStar_Tactics_NamedView.sort let (classify_abspat_binder : - FStar_Reflection_Types.binder -> - ((abspat_binder_kind * FStar_Reflection_Types.term), unit) + FStar_Tactics_NamedView.binder -> + ((abspat_binder_kind * FStar_Tactics_NamedView.term), unit) FStar_Tactics_Effect.tac_repr) = - fun binder -> + fun b -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (585)) (Prims.of_int (16)) (Prims.of_int (585)) - (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (585)) (Prims.of_int (22)) (Prims.of_int (597)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (588)) (Prims.of_int (16)) (Prims.of_int (588)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (588)) (Prims.of_int (22)) (Prims.of_int (600)) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "v")) (fun uu___ -> (fun varname1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (586)) (Prims.of_int (16)) - (Prims.of_int (586)) (Prims.of_int (48))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (586)) (Prims.of_int (51)) - (Prims.of_int (597)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (589)) (Prims.of_int (16)) + (Prims.of_int (589)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (589)) (Prims.of_int (51)) + (Prims.of_int (600)) (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> PApp ((PQn hyp_qn), (PVar varname1)))) (fun uu___ -> (fun hyp_pat -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (587)) (Prims.of_int (17)) - (Prims.of_int (587)) (Prims.of_int (50))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (587)) (Prims.of_int (53)) - (Prims.of_int (597)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (590)) (Prims.of_int (17)) + (Prims.of_int (590)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (590)) (Prims.of_int (53)) + (Prims.of_int (600)) (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> PApp ((PQn goal_qn), (PVar varname1)))) @@ -2208,38 +2504,45 @@ let (classify_abspat_binder : (fun goal_pat -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (589)) - (Prims.of_int (12)) - (Prims.of_int (589)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (590)) - (Prims.of_int (2)) - (Prims.of_int (597)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (592)) + (Prims.of_int (12)) + (Prims.of_int (592)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (593)) + (Prims.of_int (2)) + (Prims.of_int (600)) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.type_of_binder - binder)) + type_of_named_binder b)) (fun uu___ -> (fun typ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (590)) - (Prims.of_int (8)) - (Prims.of_int (590)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (590)) - (Prims.of_int (2)) - (Prims.of_int (597)) - (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (593)) + (Prims.of_int (8)) + (Prims.of_int (593)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (593)) + (Prims.of_int (2)) + (Prims.of_int (600)) + (Prims.of_int (34))))) (Obj.magic (interp_pattern hyp_pat typ)) @@ -2261,26 +2564,30 @@ let (classify_abspat_binder : | Success uu___1 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "classifiy_abspat_binder: impossible (1)")) | Failure uu___1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (594)) + (Prims.of_int (597)) (Prims.of_int (10)) - (Prims.of_int (594)) - (Prims.of_int (37))) + (Prims.of_int (597)) + (Prims.of_int (37))))) ( - FStar_Range.mk_range + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (594)) - (Prims.of_int (4)) (Prims.of_int (597)) - (Prims.of_int (34))) + (Prims.of_int (4)) + (Prims.of_int (600)) + (Prims.of_int (34))))) ( Obj.magic (interp_pattern @@ -2304,7 +2611,7 @@ let (classify_abspat_binder : | Success uu___3 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail "classifiy_abspat_binder: impossible (2)" | Failure @@ -2318,33 +2625,43 @@ let (classify_abspat_binder : uu___))) uu___))) uu___))) uu___))) uu___) let rec (binders_and_body_of_abs : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.binders * FStar_Reflection_Types.term), + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.binder Prims.list * + FStar_Tactics_NamedView.term), unit) FStar_Tactics_Effect.tac_repr) = fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (601)) (Prims.of_int (8)) (Prims.of_int (601)) - (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (601)) (Prims.of_int (2)) (Prims.of_int (605)) - (Prims.of_int (15))) (Obj.magic (FStar_Tactics_Builtins.inspect tm)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (604)) (Prims.of_int (8)) (Prims.of_int (604)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (604)) (Prims.of_int (2)) (Prims.of_int (608)) + (Prims.of_int (15))))) + (Obj.magic (FStar_Tactics_NamedView.inspect tm)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Abs (binder, tm1) -> + | FStar_Tactics_NamedView.Tv_Abs (binder, tm1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (603)) (Prims.of_int (24)) - (Prims.of_int (603)) (Prims.of_int (50))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (602)) (Prims.of_int (23)) - (Prims.of_int (604)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (606)) (Prims.of_int (24)) + (Prims.of_int (606)) (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (605)) (Prims.of_int (23)) + (Prims.of_int (607)) (Prims.of_int (27))))) (Obj.magic (binders_and_body_of_abs tm1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -2358,30 +2675,43 @@ let rec (binders_and_body_of_abs : (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ([], tm))))) uu___) let (cleanup_abspat : - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = fun t -> FStar_Tactics_Derived.norm_term [] t + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Derived.norm_term [] t +let (name_of_named_binder : + FStar_Tactics_NamedView.binder -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun nb -> FStar_Tactics_Unseal.unseal nb.FStar_Tactics_NamedView.ppname let (matching_problem_of_abs : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> ((matching_problem * abspat_continuation), unit) FStar_Tactics_Effect.tac_repr) = fun tm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (627)) (Prims.of_int (22)) (Prims.of_int (627)) - (Prims.of_int (65))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (625)) (Prims.of_int (52)) (Prims.of_int (666)) - (Prims.of_int (18))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (627)) (Prims.of_int (46)) (Prims.of_int (627)) - (Prims.of_int (65))) + (Prims.of_int (634)) (Prims.of_int (22)) (Prims.of_int (634)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (627)) (Prims.of_int (22)) (Prims.of_int (627)) - (Prims.of_int (65))) (Obj.magic (cleanup_abspat tm)) + (Prims.of_int (632)) (Prims.of_int (52)) (Prims.of_int (673)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (634)) (Prims.of_int (46)) + (Prims.of_int (634)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (634)) (Prims.of_int (22)) + (Prims.of_int (634)) (Prims.of_int (65))))) + (Obj.magic (cleanup_abspat tm)) (fun uu___ -> (fun uu___ -> Obj.magic (binders_and_body_of_abs uu___)) uu___))) (fun uu___ -> @@ -2390,52 +2720,71 @@ let (matching_problem_of_abs : | (binders, body) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (628)) (Prims.of_int (2)) - (Prims.of_int (629)) (Prims.of_int (66))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (629)) (Prims.of_int (67)) - (Prims.of_int (666)) (Prims.of_int (18))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (628)) (Prims.of_int (8)) - (Prims.of_int (629)) (Prims.of_int (66))) + (Prims.of_int (635)) (Prims.of_int (2)) + (Prims.of_int (636)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (628)) (Prims.of_int (2)) - (Prims.of_int (629)) (Prims.of_int (66))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (636)) (Prims.of_int (73)) + (Prims.of_int (673)) (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (628)) (Prims.of_int (27)) - (Prims.of_int (629)) (Prims.of_int (65))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (629)) - (Prims.of_int (9)) - (Prims.of_int (629)) - (Prims.of_int (64))) + (Prims.of_int (635)) (Prims.of_int (8)) + (Prims.of_int (636)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (635)) (Prims.of_int (2)) + (Prims.of_int (636)) (Prims.of_int (72))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (628)) + (Prims.of_int (635)) (Prims.of_int (27)) - (Prims.of_int (629)) - (Prims.of_int (65))) + (Prims.of_int (636)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (636)) + (Prims.of_int (9)) + (Prims.of_int (636)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (635)) + (Prims.of_int (27)) + (Prims.of_int (636)) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Util.map - (fun b -> - FStar_Tactics_Derived.name_of_binder - b) binders)) + (fun b -> name_of_named_binder b) + binders)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> @@ -2451,108 +2800,139 @@ let (matching_problem_of_abs : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (632)) (Prims.of_int (4)) - (Prims.of_int (638)) (Prims.of_int (13))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (638)) (Prims.of_int (16)) - (Prims.of_int (666)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (639)) + (Prims.of_int (4)) + (Prims.of_int (645)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (645)) + (Prims.of_int (16)) + (Prims.of_int (673)) + (Prims.of_int (18))))) (Obj.magic (FStar_Tactics_Util.map (fun binder -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (633)) - (Prims.of_int (22)) - (Prims.of_int (633)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) - (Prims.of_int (8)) - (Prims.of_int (637)) - (Prims.of_int (43))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (640)) + (Prims.of_int (22)) + (Prims.of_int (640)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (641)) + (Prims.of_int (8)) + (Prims.of_int (644)) + (Prims.of_int (43))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder - binder)) + (name_of_named_binder binder)) (fun uu___2 -> (fun bv_name -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) - (Prims.of_int (8)) - (Prims.of_int (635)) - (Prims.of_int (54))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (635)) - (Prims.of_int (55)) - (Prims.of_int (637)) - (Prims.of_int (43))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) - (Prims.of_int (14)) - (Prims.of_int (635)) - (Prims.of_int (54))) + (Prims.of_int (641)) + (Prims.of_int (8)) + (Prims.of_int (642)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) - (Prims.of_int (8)) - (Prims.of_int (635)) - (Prims.of_int (54))) + (Prims.of_int (642)) + (Prims.of_int (61)) + (Prims.of_int (644)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (641)) + (Prims.of_int (14)) + (Prims.of_int (642)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (641)) + (Prims.of_int (8)) + (Prims.of_int (642)) + (Prims.of_int (60))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) + (Prims.of_int (641)) (Prims.of_int (32)) - (Prims.of_int (635)) - (Prims.of_int (53))) - (FStar_Range.mk_range + (Prims.of_int (642)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (634)) + (Prims.of_int (641)) (Prims.of_int (42)) - (Prims.of_int (635)) - (Prims.of_int (53))) + (Prims.of_int (642)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (635)) + (Prims.of_int (642)) (Prims.of_int (15)) - (Prims.of_int (635)) - (Prims.of_int (53))) + (Prims.of_int (642)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string - (FStar_Reflection_Derived.type_of_binder + (FStar_Tactics_V2_Builtins.term_to_string + (type_of_named_binder binder))) (fun uu___2 -> @@ -2589,18 +2969,24 @@ let (matching_problem_of_abs : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (636)) + (Prims.of_int (643)) (Prims.of_int (31)) - (Prims.of_int (636)) - (Prims.of_int (60))) - (FStar_Range.mk_range + (Prims.of_int (643)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (635)) - (Prims.of_int (55)) - (Prims.of_int (637)) - (Prims.of_int (43))) + (Prims.of_int (642)) + (Prims.of_int (61)) + (Prims.of_int (644)) + (Prims.of_int (43))))) (Obj.magic ( classify_abspat_binder @@ -2625,18 +3011,22 @@ let (matching_problem_of_abs : (fun classified_binders -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (641)) - (Prims.of_int (4)) - (Prims.of_int (652)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (652)) - (Prims.of_int (27)) - (Prims.of_int (666)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (648)) + (Prims.of_int (4)) + (Prims.of_int (659)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (659)) + (Prims.of_int (27)) + (Prims.of_int (673)) + (Prims.of_int (18))))) (Obj.magic (FStar_Tactics_Util.fold_left (fun problem -> @@ -2645,62 +3035,78 @@ let (matching_problem_of_abs : | (binder, bv_name, binder_kind, typ) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) - (Prims.of_int (9)) - (Prims.of_int (645)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (646)) - (Prims.of_int (9)) - (Prims.of_int (650)) - (Prims.of_int (75))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (650)) + (Prims.of_int (9)) + (Prims.of_int (652)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (653)) + (Prims.of_int (9)) + (Prims.of_int (657)) + (Prims.of_int (75))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) + (Prims.of_int (650)) (Prims.of_int (15)) - (Prims.of_int (645)) - (Prims.of_int (52))) - (FStar_Range.mk_range + (Prims.of_int (652)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) + (Prims.of_int (650)) (Prims.of_int (9)) - (Prims.of_int (645)) - (Prims.of_int (52))) + (Prims.of_int (652)) + (Prims.of_int (52))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) + (Prims.of_int (650)) (Prims.of_int (38)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) + (Prims.of_int (650)) (Prims.of_int (38)) - (Prims.of_int (643)) - (Prims.of_int (59))) + (Prims.of_int (650)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (643)) + (Prims.of_int (650)) (Prims.of_int (38)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder + (name_of_named_binder binder)) (fun uu___3 -> @@ -2708,62 +3114,78 @@ let (matching_problem_of_abs : uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (644)) + (Prims.of_int (651)) (Prims.of_int (16)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (644)) + (Prims.of_int (651)) (Prims.of_int (37)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (645)) + (Prims.of_int (652)) (Prims.of_int (16)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (645)) + (Prims.of_int (652)) (Prims.of_int (33)) - (Prims.of_int (645)) - (Prims.of_int (51))) + (Prims.of_int (652)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string typ)) (fun uu___4 -> @@ -2840,46 +3262,58 @@ let (matching_problem_of_abs : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (46)) - (Prims.of_int (649)) - (Prims.of_int (63))) + (Prims.of_int (656)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (23)) - (Prims.of_int (649)) - (Prims.of_int (63))) + (Prims.of_int (656)) + (Prims.of_int (63))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (46)) - (Prims.of_int (648)) - (Prims.of_int (78))) + (Prims.of_int (655)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (46)) - (Prims.of_int (649)) - (Prims.of_int (63))) + (Prims.of_int (656)) + (Prims.of_int (63))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (56)) - (Prims.of_int (648)) - (Prims.of_int (77))) + (Prims.of_int (655)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (648)) + (Prims.of_int (655)) (Prims.of_int (46)) - (Prims.of_int (648)) - (Prims.of_int (78))) + (Prims.of_int (655)) + (Prims.of_int (78))))) (Obj.magic (pattern_of_term typ)) @@ -2915,32 +3349,40 @@ let (matching_problem_of_abs : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (650)) + (Prims.of_int (657)) (Prims.of_int (47)) - (Prims.of_int (650)) - (Prims.of_int (73))) + (Prims.of_int (657)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (650)) + (Prims.of_int (657)) (Prims.of_int (24)) - (Prims.of_int (650)) - (Prims.of_int (73))) + (Prims.of_int (657)) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (650)) + (Prims.of_int (657)) (Prims.of_int (52)) - (Prims.of_int (650)) - (Prims.of_int (73))) + (Prims.of_int (657)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (650)) + (Prims.of_int (657)) (Prims.of_int (47)) - (Prims.of_int (650)) - (Prims.of_int (73))) + (Prims.of_int (657)) + (Prims.of_int (73))))) (Obj.magic (pattern_of_term typ)) @@ -2975,32 +3417,40 @@ let (matching_problem_of_abs : (fun problem -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (654)) - (Prims.of_int (20)) - (Prims.of_int (658)) - (Prims.of_int (57))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (658)) - (Prims.of_int (60)) - (Prims.of_int (666)) - (Prims.of_int (18))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (656)) - (Prims.of_int (4)) - (Prims.of_int (657)) - (Prims.of_int (51))) + (Prims.of_int (661)) + (Prims.of_int (20)) + (Prims.of_int (665)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (658)) - (Prims.of_int (4)) - (Prims.of_int (658)) - (Prims.of_int (57))) + (Prims.of_int (665)) + (Prims.of_int (60)) + (Prims.of_int (673)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (663)) + (Prims.of_int (4)) + (Prims.of_int (664)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (665)) + (Prims.of_int (4)) + (Prims.of_int (665)) + (Prims.of_int (57))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> fun uu___2 @@ -3021,7 +3471,9 @@ let (matching_problem_of_abs : yy) -> { asa_name - = binder; + = + (FStar_Tactics_NamedView.binder_to_binding + binder); asa_kind = binder_kind @@ -3035,18 +3487,22 @@ let (matching_problem_of_abs : Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (658)) + (Prims.of_int (665)) (Prims.of_int (5)) - (Prims.of_int (658)) - (Prims.of_int (52))) + (Prims.of_int (665)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (658)) + (Prims.of_int (665)) (Prims.of_int (4)) - (Prims.of_int (658)) - (Prims.of_int (57))) + (Prims.of_int (665)) + (Prims.of_int (57))))) (Obj.magic (FStar_Tactics_Util.map abspat_argspec_of_binder @@ -3063,18 +3519,24 @@ let (matching_problem_of_abs : (fun continuation -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (661)) + (Prims.of_int (668)) (Prims.of_int (6)) - (Prims.of_int (663)) - (Prims.of_int (31))) - (FStar_Range.mk_range + (Prims.of_int (670)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (665)) + (Prims.of_int (672)) (Prims.of_int (2)) - (Prims.of_int (666)) - (Prims.of_int (18))) + (Prims.of_int (673)) + (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac ( fun @@ -3095,18 +3557,22 @@ let (matching_problem_of_abs : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (665)) + (Prims.of_int (672)) (Prims.of_int (2)) - (Prims.of_int (665)) - (Prims.of_int (68))) + (Prims.of_int (672)) + (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (666)) + (Prims.of_int (673)) (Prims.of_int (2)) - (Prims.of_int (666)) - (Prims.of_int (18))) + (Prims.of_int (673)) + (Prims.of_int (18))))) (Obj.magic (debug (Prims.strcat @@ -3125,7 +3591,7 @@ let (matching_problem_of_abs : uu___2))) uu___1))) uu___) let (arg_type_of_binder_kind : abspat_binder_kind -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> (fun binder_kind -> @@ -3135,150 +3601,191 @@ let (arg_type_of_binder_kind : match binder_kind with | ABKVar typ -> typ | ABKHyp -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv - ["FStar"; "Reflection"; "Types"; "binder"])) + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "NamedView"; "binder"])) | ABKGoal -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv ["Prims"; "unit"]))))) - uu___ + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "unit"]))))) uu___ let (locate_fn_of_binder_kind : abspat_binder_kind -> FStar_Reflection_Types.term) = fun binder_kind -> match binder_kind with | ABKVar uu___ -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "PatternMatching"; "ms_locate_var"])) | ABKHyp -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "PatternMatching"; "ms_locate_hyp"])) | ABKGoal -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "PatternMatching"; "ms_locate_unit"])) let (abspat_arg_of_abspat_argspec : FStar_Reflection_Types.term -> abspat_argspec -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun solution_term -> fun argspec -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (693)) (Prims.of_int (15)) (Prims.of_int (693)) - (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (693)) (Prims.of_int (59)) (Prims.of_int (697)) - (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (700)) (Prims.of_int (15)) + (Prims.of_int (700)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (700)) (Prims.of_int (59)) + (Prims.of_int (704)) (Prims.of_int (27))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> locate_fn_of_binder_kind argspec.asa_kind)) (fun uu___ -> (fun loc_fn -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (16)) - (Prims.of_int (694)) (Prims.of_int (76))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (79)) - (Prims.of_int (697)) (Prims.of_int (27))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (21)) - (Prims.of_int (694)) (Prims.of_int (76))) + (Prims.of_int (701)) (Prims.of_int (16)) + (Prims.of_int (701)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (16)) - (Prims.of_int (694)) (Prims.of_int (76))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (31)) - (Prims.of_int (694)) (Prims.of_int (75))) + (Prims.of_int (701)) (Prims.of_int (78)) + (Prims.of_int (704)) (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) (Prims.of_int (21)) - (Prims.of_int (694)) (Prims.of_int (76))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (701)) (Prims.of_int (21)) + (Prims.of_int (701)) (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero + Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) - (Prims.of_int (41)) - (Prims.of_int (694)) - (Prims.of_int (74))) + (Prims.of_int (701)) + (Prims.of_int (31)) + (Prims.of_int (701)) + (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (694)) - (Prims.of_int (31)) - (Prims.of_int (694)) - (Prims.of_int (75))) + (Prims.of_int (701)) + (Prims.of_int (21)) + (Prims.of_int (701)) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (701)) + (Prims.of_int (41)) + (Prims.of_int (701)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (701)) + (Prims.of_int (31)) + (Prims.of_int (701)) + (Prims.of_int (74))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder - argspec.asa_name)) + (FStar_Tactics_Unseal.unseal + (argspec.asa_name).FStar_Reflection_V2_Data.ppname3)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.C_String + FStar_Reflection_V2_Data.C_String uu___)))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.Tv_Const uu___)))) + FStar_Tactics_NamedView.Tv_Const uu___)))) (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Builtins.pack uu___)) - uu___))) + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.pack uu___)))) (fun uu___ -> (fun name_tm -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (695)) (Prims.of_int (20)) - (Prims.of_int (696)) (Prims.of_int (72))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (697)) (Prims.of_int (2)) - (Prims.of_int (697)) (Prims.of_int (27))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (695)) - (Prims.of_int (21)) - (Prims.of_int (695)) - (Prims.of_int (75))) + (Prims.of_int (702)) + (Prims.of_int (20)) + (Prims.of_int (703)) + (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (695)) - (Prims.of_int (20)) - (Prims.of_int (696)) - (Prims.of_int (72))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (704)) + (Prims.of_int (2)) + (Prims.of_int (704)) + (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (695)) - (Prims.of_int (22)) - (Prims.of_int (695)) - (Prims.of_int (62))) + (Prims.of_int (702)) + (Prims.of_int (21)) + (Prims.of_int (702)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (695)) - (Prims.of_int (21)) - (Prims.of_int (695)) - (Prims.of_int (75))) + (Prims.of_int (702)) + (Prims.of_int (20)) + (Prims.of_int (703)) + (Prims.of_int (72))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (702)) + (Prims.of_int (22)) + (Prims.of_int (702)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (702)) + (Prims.of_int (21)) + (Prims.of_int (702)) + (Prims.of_int (75))))) (Obj.magic (arg_type_of_binder_kind argspec.asa_kind)) @@ -3286,25 +3793,25 @@ let (abspat_arg_of_abspat_argspec : FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (uu___, - FStar_Reflection_Data.Q_Explicit))))) + FStar_Reflection_V2_Data.Q_Explicit))))) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> [uu___; (solution_term, - FStar_Reflection_Data.Q_Explicit); + FStar_Reflection_V2_Data.Q_Explicit); (name_tm, - FStar_Reflection_Data.Q_Explicit)])))) + FStar_Reflection_V2_Data.Q_Explicit)])))) (fun locate_args -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app loc_fn - locate_args)))) uu___))) uu___) + FStar_Reflection_V2_Derived.mk_app + loc_fn locate_args)))) uu___))) uu___) let rec (hoist_and_apply : - FStar_Reflection_Types.term -> - FStar_Reflection_Types.term Prims.list -> - FStar_Reflection_Data.argv Prims.list -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term Prims.list -> + FStar_Reflection_V2_Data.argv Prims.list -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun uu___2 -> fun uu___1 -> @@ -3318,20 +3825,24 @@ let rec (hoist_and_apply : (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Derived.mk_app head + FStar_Reflection_V2_Derived.mk_app head (FStar_List_Tot_Base.rev hoisted_args)))) | arg_term::rest -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (708)) (Prims.of_int (12)) - (Prims.of_int (708)) (Prims.of_int (40))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (708)) (Prims.of_int (43)) - (Prims.of_int (710)) (Prims.of_int (131))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (715)) (Prims.of_int (12)) + (Prims.of_int (715)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (715)) (Prims.of_int (43)) + (Prims.of_int (725)) (Prims.of_int (132))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> FStar_List_Tot_Base.length hoisted_args)) @@ -3339,173 +3850,144 @@ let rec (hoist_and_apply : (fun n -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (709)) - (Prims.of_int (13)) - (Prims.of_int (709)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (4)) - (Prims.of_int (710)) - (Prims.of_int (131))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (718)) + (Prims.of_int (6)) + (Prims.of_int (722)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (725)) + (Prims.of_int (4)) + (Prims.of_int (725)) + (Prims.of_int (132))))) (Obj.magic - (FStar_Tactics_Builtins.fresh_bv_named - (Prims.strcat "x" - (Prims.string_of_int n)))) + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (720)) + (Prims.of_int (13)) + (Prims.of_int (720)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (718)) + (Prims.of_int (6)) + (Prims.of_int (722)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.fresh + ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_Tactics_NamedView.uniq + = uu___; + FStar_Tactics_NamedView.ppname + = + (FStar_Sealed.seal + (Prims.strcat "x" + (Prims.string_of_int + n))); + FStar_Tactics_NamedView.sort + = + (FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown); + FStar_Tactics_NamedView.qual + = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Tactics_NamedView.attrs + = [] + })))) (fun uu___ -> - (fun bv -> + (fun nb -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (9)) - (Prims.of_int (710)) - (Prims.of_int (131))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (4)) - (Prims.of_int (710)) - (Prims.of_int (131))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (29)) - (Prims.of_int (710)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) + (Prims.of_int (725)) (Prims.of_int (9)) - (Prims.of_int (710)) - (Prims.of_int (131))) + (Prims.of_int (725)) + (Prims.of_int (132))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + " dummy" + Prims.int_zero + Prims.int_zero + Prims.int_zero + Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (725)) + (Prims.of_int (38)) + (Prims.of_int (725)) + (Prims.of_int (131))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (725)) + (Prims.of_int (9)) + (Prims.of_int (725)) + (Prims.of_int (132))))) (Obj.magic - (FStar_Tactics_Builtins.pack - FStar_Reflection_Data.Tv_Unknown)) + (hoist_and_apply + head rest + (((FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binder_to_namedv + nb))), + FStar_Reflection_V2_Data.Q_Explicit) + :: hoisted_args))) (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (56)) - (Prims.of_int (710)) - (Prims.of_int (130))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (9)) - (Prims.of_int (710)) - (Prims.of_int (131))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (83)) - (Prims.of_int (710)) - (Prims.of_int (129))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (56)) - (Prims.of_int (710)) - (Prims.of_int (130))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (84)) - (Prims.of_int (710)) - (Prims.of_int (114))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (83)) - (Prims.of_int (710)) - (Prims.of_int (129))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (85)) - (Prims.of_int (710)) - (Prims.of_int (101))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (710)) - (Prims.of_int (84)) - (Prims.of_int (710)) - (Prims.of_int (114))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - bv))) - (fun - uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___2 -> - (uu___1, - FStar_Reflection_Data.Q_Explicit))))) - (fun - uu___1 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___2 -> - uu___1 :: - hoisted_args)))) - (fun - uu___1 -> - (fun - uu___1 -> - Obj.magic - (hoist_and_apply - head rest - uu___1)) - uu___1))) - (fun uu___1 - -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___2 -> - FStar_Reflection_Data.Tv_Let - (false, - [], bv, - uu___, - arg_term, - uu___1))))) - uu___))) + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.Tv_Let + (false, [], + nb, + arg_term, + uu___))))) (fun uu___ -> - (fun uu___ -> - Obj.magic - (FStar_Tactics_Builtins.pack - uu___)) uu___))) - uu___))) uu___)))) uu___2 uu___1 - uu___ + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.pack + uu___)))) uu___))) + uu___)))) uu___2 uu___1 uu___ let (specialize_abspat_continuation' : abspat_continuation -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun continuation -> fun solution_term -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (716)) (Prims.of_int (4)) (Prims.of_int (716)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (716)) (Prims.of_int (57)) (Prims.of_int (718)) - (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (731)) (Prims.of_int (4)) (Prims.of_int (731)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (731)) (Prims.of_int (57)) + (Prims.of_int (733)) (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> fun argspec -> @@ -3514,12 +3996,18 @@ let (specialize_abspat_continuation' : (fun mk_arg_term -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (717)) (Prims.of_int (23)) - (Prims.of_int (717)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (716)) (Prims.of_int (57)) - (Prims.of_int (718)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (732)) (Prims.of_int (23)) + (Prims.of_int (732)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (731)) (Prims.of_int (57)) + (Prims.of_int (733)) (Prims.of_int (52))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> continuation)) (fun uu___ -> @@ -3528,14 +4016,22 @@ let (specialize_abspat_continuation' : | (argspecs, body) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (718)) (Prims.of_int (23)) - (Prims.of_int (718)) (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (718)) (Prims.of_int (2)) - (Prims.of_int (718)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (733)) + (Prims.of_int (23)) + (Prims.of_int (733)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (733)) + (Prims.of_int (2)) + (Prims.of_int (733)) + (Prims.of_int (52))))) (Obj.magic (FStar_Tactics_Util.map mk_arg_term argspecs)) @@ -3546,21 +4042,25 @@ let (specialize_abspat_continuation' : uu___1))) uu___))) uu___) let (specialize_abspat_continuation : abspat_continuation -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun continuation -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (725)) (Prims.of_int (24)) (Prims.of_int (725)) - (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (725)) (Prims.of_int (60)) (Prims.of_int (732)) - (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (740)) (Prims.of_int (24)) (Prims.of_int (740)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (740)) (Prims.of_int (60)) (Prims.of_int (747)) + (Prims.of_int (9))))) (Obj.magic - (FStar_Tactics_Derived.fresh_binder - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.fresh_binder + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "PatternMatching"; @@ -3569,29 +4069,40 @@ let (specialize_abspat_continuation : (fun solution_binder -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (726)) (Prims.of_int (22)) - (Prims.of_int (726)) (Prims.of_int (66))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (726)) (Prims.of_int (69)) - (Prims.of_int (732)) (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder - solution_binder)))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (741)) (Prims.of_int (22)) + (Prims.of_int (741)) (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (741)) (Prims.of_int (73)) + (Prims.of_int (747)) (Prims.of_int (9))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binder_to_namedv + solution_binder)))) (fun uu___ -> (fun solution_term -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (727)) (Prims.of_int (16)) - (Prims.of_int (727)) (Prims.of_int (74))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (727)) (Prims.of_int (77)) - (Prims.of_int (732)) (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (742)) (Prims.of_int (16)) + (Prims.of_int (742)) (Prims.of_int (74))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (742)) (Prims.of_int (77)) + (Prims.of_int (747)) (Prims.of_int (9))))) (Obj.magic (specialize_abspat_continuation' continuation solution_term)) @@ -3599,68 +4110,87 @@ let (specialize_abspat_continuation : (fun applied -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (728)) - (Prims.of_int (16)) - (Prims.of_int (728)) - (Prims.of_int (53))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (2)) - (Prims.of_int (732)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Abs - (solution_binder, applied)))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (743)) + (Prims.of_int (16)) + (Prims.of_int (743)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (744)) + (Prims.of_int (2)) + (Prims.of_int (747)) + (Prims.of_int (9))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Abs + (solution_binder, applied)))) (fun uu___ -> (fun thunked -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (2)) - (Prims.of_int (729)) - (Prims.of_int (56))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (57)) - (Prims.of_int (732)) - (Prims.of_int (9))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (8)) - (Prims.of_int (729)) - (Prims.of_int (56))) + (Prims.of_int (744)) + (Prims.of_int (2)) + (Prims.of_int (744)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (2)) - (Prims.of_int (729)) - (Prims.of_int (56))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (744)) + (Prims.of_int (57)) + (Prims.of_int (747)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (729)) - (Prims.of_int (31)) - (Prims.of_int (729)) - (Prims.of_int (55))) + (Prims.of_int (744)) + (Prims.of_int (8)) + (Prims.of_int (744)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (744)) + (Prims.of_int (2)) + (Prims.of_int (744)) + (Prims.of_int (56))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (744)) + (Prims.of_int (31)) + (Prims.of_int (744)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string thunked)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -3678,18 +4208,22 @@ let (specialize_abspat_continuation : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (730)) - (Prims.of_int (19)) - (Prims.of_int (730)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (731)) - (Prims.of_int (2)) - (Prims.of_int (732)) - (Prims.of_int (9))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (745)) + (Prims.of_int (19)) + (Prims.of_int (745)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (746)) + (Prims.of_int (2)) + (Prims.of_int (747)) + (Prims.of_int (9))))) (Obj.magic (beta_reduce thunked)) @@ -3699,48 +4233,60 @@ let (specialize_abspat_continuation : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (731)) + (Prims.of_int (746)) (Prims.of_int (2)) - (Prims.of_int (731)) - (Prims.of_int (61))) + (Prims.of_int (746)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (728)) + (Prims.of_int (743)) (Prims.of_int (6)) - (Prims.of_int (728)) - (Prims.of_int (13))) + (Prims.of_int (743)) + (Prims.of_int (13))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (731)) + (Prims.of_int (746)) (Prims.of_int (8)) - (Prims.of_int (731)) - (Prims.of_int (61))) + (Prims.of_int (746)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (731)) + (Prims.of_int (746)) (Prims.of_int (2)) - (Prims.of_int (731)) - (Prims.of_int (61))) + (Prims.of_int (746)) + (Prims.of_int (61))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (731)) + (Prims.of_int (746)) (Prims.of_int (33)) - (Prims.of_int (731)) - (Prims.of_int (60))) + (Prims.of_int (746)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string normalized)) (fun uu___1 -> @@ -3775,16 +4321,20 @@ let interp_abspat_continuation : = fun continuation -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (739)) (Prims.of_int (16)) (Prims.of_int (739)) - (Prims.of_int (59))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (740)) (Prims.of_int (2)) (Prims.of_int (740)) - (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (754)) (Prims.of_int (16)) (Prims.of_int (754)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (755)) (Prims.of_int (2)) (Prims.of_int (755)) + (Prims.of_int (47))))) (Obj.magic (specialize_abspat_continuation continuation)) (fun uu___ -> - (fun applied -> Obj.magic (FStar_Tactics_Builtins.unquote applied)) - uu___) + (fun applied -> + Obj.magic (FStar_Tactics_V2_Builtins.unquote applied)) uu___) let interp_abspat : 'a . 'a -> @@ -3793,12 +4343,16 @@ let interp_abspat : = fun abspat -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (750)) (Prims.of_int (26)) (Prims.of_int (750)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (750)) (Prims.of_int (2)) (Prims.of_int (750)) - (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (765)) (Prims.of_int (26)) (Prims.of_int (765)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (765)) (Prims.of_int (2)) (Prims.of_int (765)) + (Prims.of_int (40))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> (fun uu___ -> @@ -3818,51 +4372,73 @@ let match_abspat : fun abspat -> fun k -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (758)) (Prims.of_int (13)) (Prims.of_int (758)) - (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (758)) (Prims.of_int (27)) (Prims.of_int (761)) - (Prims.of_int (51))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (773)) (Prims.of_int (13)) + (Prims.of_int (773)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (773)) (Prims.of_int (27)) + (Prims.of_int (776)) (Prims.of_int (51))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___ -> (fun goal -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (759)) (Prims.of_int (19)) - (Prims.of_int (759)) (Prims.of_int (46))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (759)) (Prims.of_int (49)) - (Prims.of_int (761)) (Prims.of_int (51))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (759)) (Prims.of_int (34)) - (Prims.of_int (759)) (Prims.of_int (46))) + (Prims.of_int (774)) (Prims.of_int (19)) + (Prims.of_int (774)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (759)) (Prims.of_int (19)) - (Prims.of_int (759)) (Prims.of_int (46))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) + (Prims.of_int (774)) (Prims.of_int (46)) + (Prims.of_int (776)) (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (774)) (Prims.of_int (31)) + (Prims.of_int (774)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (774)) (Prims.of_int (19)) + (Prims.of_int (774)) (Prims.of_int (43))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Builtins.binders_of_env + FStar_Reflection_V2_Builtins.vars_of_env uu___)))) (fun uu___ -> (fun hypotheses -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (760)) (Prims.of_int (30)) - (Prims.of_int (760)) (Prims.of_int (50))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (759)) (Prims.of_int (49)) - (Prims.of_int (761)) (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (775)) + (Prims.of_int (30)) + (Prims.of_int (775)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (774)) + (Prims.of_int (46)) + (Prims.of_int (776)) + (Prims.of_int (51))))) (Obj.magic (interp_abspat abspat)) (fun uu___ -> (fun uu___ -> @@ -3870,18 +4446,22 @@ let match_abspat : | (problem, continuation) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (761)) - (Prims.of_int (35)) - (Prims.of_int (761)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (761)) - (Prims.of_int (2)) - (Prims.of_int (761)) - (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (776)) + (Prims.of_int (35)) + (Prims.of_int (776)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (776)) + (Prims.of_int (2)) + (Prims.of_int (776)) + (Prims.of_int (51))))) (Obj.magic (k continuation)) (fun uu___1 -> (fun uu___1 -> @@ -3894,12 +4474,16 @@ let inspect_abspat_problem : 'a . 'a -> (matching_problem, unit) FStar_Tactics_Effect.tac_repr = fun abspat -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (765)) (Prims.of_int (6)) (Prims.of_int (765)) - (Prims.of_int (31))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (765)) (Prims.of_int (2)) (Prims.of_int (765)) - (Prims.of_int (31))) (Obj.magic (interp_abspat abspat)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (780)) (Prims.of_int (6)) (Prims.of_int (780)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (780)) (Prims.of_int (2)) (Prims.of_int (780)) + (Prims.of_int (31))))) (Obj.magic (interp_abspat abspat)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> FStar_Pervasives_Native.fst uu___)) @@ -3940,26 +4524,35 @@ let gpm : 'b 'a . 'a -> unit -> ('b, unit) FStar_Tactics_Effect.tac_repr = fun abspat -> fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (789)) (Prims.of_int (31)) (Prims.of_int (789)) - (Prims.of_int (56))) - (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (788)) (Prims.of_int (38)) (Prims.of_int (790)) - (Prims.of_int (52))) (Obj.magic (match_abspat abspat tpair)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (804)) (Prims.of_int (31)) + (Prims.of_int (804)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (803)) (Prims.of_int (38)) + (Prims.of_int (805)) (Prims.of_int (52))))) + (Obj.magic (match_abspat abspat tpair)) (fun uu___1 -> (fun uu___1 -> match uu___1 with | (continuation, solution) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (790)) (Prims.of_int (2)) - (Prims.of_int (790)) (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (790)) (Prims.of_int (2)) - (Prims.of_int (790)) (Prims.of_int (52))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (805)) (Prims.of_int (2)) + (Prims.of_int (805)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (805)) (Prims.of_int (2)) + (Prims.of_int (805)) (Prims.of_int (52))))) (Obj.magic (interp_abspat_continuation continuation)) (fun uu___2 -> (fun uu___2 -> Obj.magic (uu___2 solution)) uu___2))) @@ -3967,7 +4560,8 @@ let gpm : 'b 'a . 'a -> unit -> ('b, unit) FStar_Tactics_Effect.tac_repr = let pm : 'b 'a . 'a -> ('b, unit) FStar_Tactics_Effect.tac_repr = fun abspat -> match_abspat abspat interp_abspat_continuation let fetch_eq_side' : - 'a . unit -> (FStar_Reflection_Types.term * FStar_Reflection_Types.term) = + 'a . unit -> (FStar_Tactics_NamedView.term * FStar_Tactics_NamedView.term) + = fun uu___ -> (fun uu___ -> Obj.magic @@ -3976,14 +4570,18 @@ let fetch_eq_side' : fun right -> fun g -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (813)) (Prims.of_int (10)) - (Prims.of_int (813)) (Prims.of_int (20))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (813)) (Prims.of_int (9)) - (Prims.of_int (813)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (828)) (Prims.of_int (10)) + (Prims.of_int (828)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (828)) (Prims.of_int (9)) + (Prims.of_int (828)) (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> (fun uu___1 -> @@ -3995,14 +4593,22 @@ let fetch_eq_side' : (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (813)) (Prims.of_int (22)) - (Prims.of_int (813)) (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.PatternMatching.fst" - (Prims.of_int (813)) (Prims.of_int (9)) - (Prims.of_int (813)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (828)) + (Prims.of_int (22)) + (Prims.of_int (828)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.PatternMatching.fst" + (Prims.of_int (828)) + (Prims.of_int (9)) + (Prims.of_int (828)) + (Prims.of_int (34))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> (fun uu___2 -> diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Print.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Print.ml index 77f95bab9d2..4bde8d628e6 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Print.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Print.ml @@ -1,4 +1,27 @@ open Prims +let (namedv_to_string : + FStar_Tactics_NamedView.namedv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun x -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (10)) (Prims.of_int (2)) (Prims.of_int (10)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Unseal.unseal x.FStar_Reflection_V2_Data.ppname)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + Prims.strcat uu___ + (Prims.strcat "#" + (Prims.string_of_int x.FStar_Reflection_V2_Data.uniq)))) let (paren : Prims.string -> Prims.string) = fun s -> Prims.strcat "(" (Prims.strcat s ")") let rec print_list_aux : @@ -20,37 +43,54 @@ let rec print_list_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (17)) (Prims.of_int (13)) - (Prims.of_int (17)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (17)) (Prims.of_int (13)) - (Prims.of_int (17)) (Prims.of_int (45))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (21)) (Prims.of_int (13)) + (Prims.of_int (21)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (21)) (Prims.of_int (13)) + (Prims.of_int (21)) (Prims.of_int (45))))) (Obj.magic (f x)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (17)) (Prims.of_int (19)) - (Prims.of_int (17)) (Prims.of_int (45))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (17)) - (Prims.of_int (26)) - (Prims.of_int (17)) - (Prims.of_int (45))) + (Prims.of_int (21)) + (Prims.of_int (19)) + (Prims.of_int (21)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (21)) + (Prims.of_int (26)) + (Prims.of_int (21)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (print_list_aux f xs1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -69,17 +109,27 @@ let print_list : fun f -> fun l -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (21)) - (Prims.of_int (9)) (Prims.of_int (21)) (Prims.of_int (33))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (21)) (Prims.of_int (9)) (Prims.of_int (21)) - (Prims.of_int (27))) + (Prims.of_int (25)) (Prims.of_int (9)) (Prims.of_int (25)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (25)) (Prims.of_int (9)) + (Prims.of_int (25)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (print_list_aux f l)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -88,34 +138,44 @@ let print_list : FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "[" uu___)) let rec (universe_to_ast_string : - FStar_Reflection_Types.universe -> + FStar_Tactics_NamedView.universe -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> (fun u -> - match FStar_Reflection_Builtins.inspect_universe u with - | FStar_Reflection_Data.Uv_Zero -> + match FStar_Tactics_NamedView.inspect_universe u with + | FStar_Tactics_NamedView.Uv_Zero -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "Uv_Zero"))) - | FStar_Reflection_Data.Uv_Succ u1 -> + | FStar_Tactics_NamedView.Uv_Succ u1 -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (26)) (Prims.of_int (29)) - (Prims.of_int (26)) (Prims.of_int (61))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (30)) (Prims.of_int (29)) + (Prims.of_int (30)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (26)) (Prims.of_int (35)) - (Prims.of_int (26)) (Prims.of_int (61))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (26)) (Prims.of_int (29)) - (Prims.of_int (26)) (Prims.of_int (61))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (30)) (Prims.of_int (35)) + (Prims.of_int (30)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (30)) (Prims.of_int (29)) + (Prims.of_int (30)) (Prims.of_int (61))))) (Obj.magic (universe_to_ast_string u1)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -123,139 +183,180 @@ let rec (universe_to_ast_string : (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "Uv_Succ" uu___)))) - | FStar_Reflection_Data.Uv_Max us -> + | FStar_Tactics_NamedView.Uv_Max us -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (27)) (Prims.of_int (28)) - (Prims.of_int (27)) (Prims.of_int (64))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (31)) (Prims.of_int (28)) + (Prims.of_int (31)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (print_list universe_to_ast_string us)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "Uv_Max" uu___)))) - | FStar_Reflection_Data.Uv_BVar n -> + | FStar_Tactics_NamedView.Uv_BVar n -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Prims.strcat "Uv_BVar" (paren (Prims.string_of_int n))))) - | FStar_Reflection_Data.Uv_Name i -> + | FStar_Tactics_NamedView.Uv_Name i -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> Prims.strcat "Uv_Name" (paren (FStar_Pervasives_Native.fst i))))) - | FStar_Reflection_Data.Uv_Unif uu___ -> + | FStar_Tactics_NamedView.Uv_Unif uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> "Uv_Unif"))) - | FStar_Reflection_Data.Uv_Unk -> + | FStar_Tactics_NamedView.Uv_Unk -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> "Uv_Unk")))) uu___ let (universes_to_ast_string : - FStar_Reflection_Data.universes -> + FStar_Reflection_V2_Data.universes -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun us -> print_list universe_to_ast_string us let rec (term_to_ast_string : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (37)) - (Prims.of_int (8)) (Prims.of_int (37)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (37)) - (Prims.of_int (2)) (Prims.of_int (66)) (Prims.of_int (30))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (41)) (Prims.of_int (8)) (Prims.of_int (41)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (41)) (Prims.of_int (2)) (Prims.of_int (70)) + (Prims.of_int (30))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Tactics_NamedView.Tv_Var bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (38)) (Prims.of_int (29)) - (Prims.of_int (38)) (Prims.of_int (44))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Derived.bv_to_string bv)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (42)) (Prims.of_int (29)) + (Prims.of_int (42)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (namedv_to_string bv)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Var " uu___1)))) - | FStar_Reflection_Data.Tv_BVar bv -> + | FStar_Tactics_NamedView.Tv_BVar bv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (39)) (Prims.of_int (31)) - (Prims.of_int (39)) (Prims.of_int (46))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Derived.bv_to_string bv)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (43)) (Prims.of_int (31)) + (Prims.of_int (43)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V2_Derived.bv_to_string bv)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_BVar " uu___1)))) - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Tactics_NamedView.Tv_FVar fv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "Tv_FVar " - (FStar_Reflection_Derived.fv_to_string fv)))) - | FStar_Reflection_Data.Tv_UInst (fv, us) -> + (FStar_Reflection_V2_Derived.fv_to_string fv)))) + | FStar_Tactics_NamedView.Tv_UInst (fv, us) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (42)) (Prims.of_int (17)) - (Prims.of_int (42)) (Prims.of_int (76))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (46)) (Prims.of_int (17)) + (Prims.of_int (46)) (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (42)) (Prims.of_int (23)) - (Prims.of_int (42)) (Prims.of_int (76))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (42)) (Prims.of_int (17)) - (Prims.of_int (42)) (Prims.of_int (76))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (42)) - (Prims.of_int (42)) - (Prims.of_int (42)) - (Prims.of_int (75))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (46)) + (Prims.of_int (23)) + (Prims.of_int (46)) + (Prims.of_int (76))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (46)) + (Prims.of_int (17)) + (Prims.of_int (46)) + (Prims.of_int (76))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (46)) (Prims.of_int (42)) - (Prims.of_int (49)) - (Prims.of_int (42)) - (Prims.of_int (75))) + (Prims.of_int (46)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (46)) + (Prims.of_int (49)) + (Prims.of_int (46)) + (Prims.of_int (75))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (universes_to_ast_string us)) (fun uu___1 -> @@ -266,7 +367,7 @@ let rec (term_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat - (FStar_Reflection_Derived.fv_to_string + (FStar_Reflection_V2_Derived.fv_to_string fv) uu___1)))) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -274,69 +375,95 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_UInst" uu___1)))) - | FStar_Reflection_Data.Tv_App (hd, (a, uu___1)) -> + | FStar_Tactics_NamedView.Tv_App (hd, (a, uu___1)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) (Prims.of_int (36)) - (Prims.of_int (43)) (Prims.of_int (95))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (47)) (Prims.of_int (36)) + (Prims.of_int (47)) (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) (Prims.of_int (42)) - (Prims.of_int (43)) (Prims.of_int (95))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) (Prims.of_int (36)) - (Prims.of_int (43)) (Prims.of_int (95))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) - (Prims.of_int (43)) - (Prims.of_int (43)) - (Prims.of_int (64))) + (Prims.of_int (47)) + (Prims.of_int (42)) + (Prims.of_int (47)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) - (Prims.of_int (42)) - (Prims.of_int (43)) - (Prims.of_int (95))) + (Prims.of_int (47)) + (Prims.of_int (36)) + (Prims.of_int (47)) + (Prims.of_int (95))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (47)) + (Prims.of_int (43)) + (Prims.of_int (47)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (47)) + (Prims.of_int (42)) + (Prims.of_int (47)) + (Prims.of_int (95))))) (Obj.magic (term_to_ast_string hd)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (43)) - (Prims.of_int (67)) - (Prims.of_int (43)) - (Prims.of_int (94))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (43)) - (Prims.of_int (74)) - (Prims.of_int (43)) - (Prims.of_int (94))) + (Prims.of_int (47)) + (Prims.of_int (67)) + (Prims.of_int (47)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (47)) + (Prims.of_int (74)) + (Prims.of_int (47)) + (Prims.of_int (94))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string a)) (fun uu___3 -> @@ -355,71 +482,97 @@ let rec (term_to_ast_string : (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> Prims.strcat "Tv_App " uu___2)))) - | FStar_Reflection_Data.Tv_Abs (x, e) -> + | FStar_Tactics_NamedView.Tv_Abs (x, e) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) (Prims.of_int (30)) - (Prims.of_int (44)) (Prims.of_int (86))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (48)) (Prims.of_int (30)) + (Prims.of_int (48)) (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) (Prims.of_int (36)) - (Prims.of_int (44)) (Prims.of_int (86))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) (Prims.of_int (30)) - (Prims.of_int (44)) (Prims.of_int (86))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) - (Prims.of_int (37)) - (Prims.of_int (44)) - (Prims.of_int (55))) + (Prims.of_int (48)) + (Prims.of_int (36)) + (Prims.of_int (48)) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) - (Prims.of_int (36)) - (Prims.of_int (44)) - (Prims.of_int (86))) + (Prims.of_int (48)) + (Prims.of_int (30)) + (Prims.of_int (48)) + (Prims.of_int (86))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (48)) + (Prims.of_int (37)) + (Prims.of_int (48)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (48)) + (Prims.of_int (36)) + (Prims.of_int (48)) + (Prims.of_int (86))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V2_Derived.binder_to_string x)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (44)) - (Prims.of_int (58)) - (Prims.of_int (44)) - (Prims.of_int (85))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (44)) - (Prims.of_int (65)) - (Prims.of_int (44)) - (Prims.of_int (85))) + (Prims.of_int (48)) + (Prims.of_int (58)) + (Prims.of_int (48)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (48)) + (Prims.of_int (65)) + (Prims.of_int (48)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string e)) (fun uu___2 -> @@ -438,71 +591,97 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Abs " uu___1)))) - | FStar_Reflection_Data.Tv_Arrow (x, c) -> + | FStar_Tactics_NamedView.Tv_Arrow (x, c) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) (Prims.of_int (34)) - (Prims.of_int (45)) (Prims.of_int (90))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (49)) (Prims.of_int (34)) + (Prims.of_int (49)) (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) (Prims.of_int (40)) - (Prims.of_int (45)) (Prims.of_int (90))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) (Prims.of_int (34)) - (Prims.of_int (45)) (Prims.of_int (90))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) - (Prims.of_int (41)) - (Prims.of_int (45)) - (Prims.of_int (59))) + (Prims.of_int (49)) + (Prims.of_int (40)) + (Prims.of_int (49)) + (Prims.of_int (90))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) - (Prims.of_int (40)) - (Prims.of_int (45)) - (Prims.of_int (90))) + (Prims.of_int (49)) + (Prims.of_int (34)) + (Prims.of_int (49)) + (Prims.of_int (90))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (49)) + (Prims.of_int (41)) + (Prims.of_int (49)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (49)) + (Prims.of_int (40)) + (Prims.of_int (49)) + (Prims.of_int (90))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string + (FStar_Tactics_V2_Derived.binder_to_string x)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (45)) - (Prims.of_int (62)) - (Prims.of_int (45)) - (Prims.of_int (89))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (45)) - (Prims.of_int (69)) - (Prims.of_int (45)) - (Prims.of_int (89))) + (Prims.of_int (49)) + (Prims.of_int (62)) + (Prims.of_int (49)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (49)) + (Prims.of_int (69)) + (Prims.of_int (49)) + (Prims.of_int (89))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (comp_to_ast_string c)) (fun uu___2 -> @@ -521,24 +700,38 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Arrow " uu___1)))) - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Tactics_NamedView.Tv_Type u -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (46)) (Prims.of_int (26)) - (Prims.of_int (46)) (Prims.of_int (58))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (50)) (Prims.of_int (26)) + (Prims.of_int (50)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (46)) (Prims.of_int (32)) - (Prims.of_int (46)) (Prims.of_int (58))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (46)) (Prims.of_int (26)) - (Prims.of_int (46)) (Prims.of_int (58))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (50)) + (Prims.of_int (32)) + (Prims.of_int (50)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (50)) + (Prims.of_int (26)) + (Prims.of_int (50)) + (Prims.of_int (58))))) (Obj.magic (universe_to_ast_string u)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -546,137 +739,99 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Type" uu___1)))) - | FStar_Reflection_Data.Tv_Refine (x, sort, e) -> + | FStar_Tactics_NamedView.Tv_Refine (x, e) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) (Prims.of_int (41)) - (Prims.of_int (47)) (Prims.of_int (125))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (51)) (Prims.of_int (36)) + (Prims.of_int (51)) (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) (Prims.of_int (47)) - (Prims.of_int (47)) (Prims.of_int (125))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) (Prims.of_int (41)) - (Prims.of_int (47)) (Prims.of_int (125))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (48)) - (Prims.of_int (47)) - (Prims.of_int (62))) + (Prims.of_int (51)) + (Prims.of_int (42)) + (Prims.of_int (51)) + (Prims.of_int (92))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (47)) - (Prims.of_int (47)) - (Prims.of_int (125))) + (Prims.of_int (51)) + (Prims.of_int (36)) + (Prims.of_int (51)) + (Prims.of_int (92))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (51)) + (Prims.of_int (43)) + (Prims.of_int (51)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (51)) + (Prims.of_int (42)) + (Prims.of_int (51)) + (Prims.of_int (92))))) (Obj.magic - (FStar_Tactics_Derived.bv_to_string x)) + (FStar_Tactics_V2_Derived.binder_to_string + x)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (65)) - (Prims.of_int (47)) - (Prims.of_int (124))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (72)) - (Prims.of_int (47)) - (Prims.of_int (124))) + (Prims.of_int (51)) + (Prims.of_int (64)) + (Prims.of_int (51)) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (72)) - (Prims.of_int (47)) - (Prims.of_int (95))) + (Prims.of_int (51)) + (Prims.of_int (71)) + (Prims.of_int (51)) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (72)) - (Prims.of_int (47)) - (Prims.of_int (124))) - (Obj.magic - (term_to_ast_string - sort)) - (fun uu___2 -> - (fun uu___2 -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (97)) - (Prims.of_int (47)) - (Prims.of_int (124))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (47)) - (Prims.of_int (104)) - (Prims.of_int (47)) - (Prims.of_int (124))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (term_to_ast_string - e)) - (fun - uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___4 -> - Prims.strcat - ", " - uu___3)))) - (fun - uu___3 -> - FStar_Tactics_Effect.lift_div_tac - (fun - uu___4 -> - Prims.strcat - uu___2 - uu___3)))) - uu___2))) + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (term_to_ast_string e)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -693,284 +848,362 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Refine " uu___1)))) - | FStar_Reflection_Data.Tv_Const c -> + | FStar_Tactics_NamedView.Tv_Const c -> Obj.magic (Obj.repr (const_to_ast_string c)) - | FStar_Reflection_Data.Tv_Uvar (i, uu___1) -> + | FStar_Tactics_NamedView.Tv_Uvar (i, uu___1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Uvar " (Prims.string_of_int i)))) - | FStar_Reflection_Data.Tv_Let (recf, uu___1, x, uu___2, e1, e2) - -> + | FStar_Tactics_NamedView.Tv_Let (recf, uu___1, x, e1, e2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (51)) (Prims.of_int (23)) - (Prims.of_int (54)) (Prims.of_int (52))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (55)) (Prims.of_int (23)) + (Prims.of_int (58)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (51)) (Prims.of_int (29)) - (Prims.of_int (54)) (Prims.of_int (52))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (51)) (Prims.of_int (23)) - (Prims.of_int (54)) (Prims.of_int (52))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (51)) - (Prims.of_int (52)) - (Prims.of_int (54)) - (Prims.of_int (51))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (55)) + (Prims.of_int (29)) + (Prims.of_int (58)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (55)) + (Prims.of_int (23)) + (Prims.of_int (58)) + (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (55)) (Prims.of_int (52)) - (Prims.of_int (30)) - (Prims.of_int (54)) - (Prims.of_int (51))) + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (52)) + (Prims.of_int (56)) (Prims.of_int (30)) - (Prims.of_int (52)) - (Prims.of_int (44))) + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (52)) - (Prims.of_int (30)) - (Prims.of_int (54)) - (Prims.of_int (51))) + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (56)) + (Prims.of_int (30)) + (Prims.of_int (56)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (56)) + (Prims.of_int (30)) + (Prims.of_int (58)) + (Prims.of_int (51))))) (Obj.magic - (FStar_Tactics_Derived.bv_to_string + (FStar_Tactics_V2_Derived.binder_to_string x)) - (fun uu___3 -> - (fun uu___3 -> + (fun uu___2 -> + (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (52)) - (Prims.of_int (47)) - (Prims.of_int (54)) - (Prims.of_int (51))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (56)) + (Prims.of_int (51)) + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (53)) + (Prims.of_int (57)) (Prims.of_int (30)) - (Prims.of_int (54)) - (Prims.of_int (51))) - (FStar_Range.mk_range + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic ( FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (53)) + (Prims.of_int (57)) (Prims.of_int (30)) - (Prims.of_int (53)) - (Prims.of_int (51))) + (Prims.of_int (57)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (53)) + (Prims.of_int (57)) (Prims.of_int (30)) - (Prims.of_int (54)) - (Prims.of_int (51))) + (Prims.of_int (58)) + (Prims.of_int (51))))) (Obj.magic (term_to_ast_string e1)) (fun - uu___4 -> + uu___3 -> (fun - uu___4 -> + uu___3 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (53)) - (Prims.of_int (54)) + (Prims.of_int (57)) (Prims.of_int (54)) - (Prims.of_int (51))) + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (54)) + (Prims.of_int (58)) (Prims.of_int (30)) - (Prims.of_int (54)) - (Prims.of_int (51))) + (Prims.of_int (58)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string e2)) (fun - uu___5 -> + uu___4 -> FStar_Tactics_Effect.lift_div_tac (fun - uu___6 -> + uu___5 -> Prims.strcat ", " - uu___5)))) + uu___4)))) (fun - uu___5 -> + uu___4 -> FStar_Tactics_Effect.lift_div_tac (fun - uu___6 -> + uu___5 -> Prims.strcat - uu___4 - uu___5)))) - uu___4))) - (fun uu___4 + uu___3 + uu___4)))) + uu___3))) + (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac (fun - uu___5 -> + uu___4 -> Prims.strcat ", " - uu___4)))) - (fun uu___4 -> + uu___3)))) + (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___5 + (fun uu___4 -> Prims.strcat - uu___3 - uu___4)))) - uu___3))) - (fun uu___3 -> + uu___2 + uu___3)))) + uu___2))) + (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> - Prims.strcat ", " uu___3)))) - (fun uu___3 -> + (fun uu___3 -> + Prims.strcat ", " uu___2)))) + (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> + (fun uu___3 -> Prims.strcat (Prims.string_of_bool recf) - uu___3)))) - (fun uu___3 -> + uu___2)))) + (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> paren uu___3)))) - (fun uu___3 -> + (fun uu___3 -> paren uu___2)))) + (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___4 -> Prims.strcat "Tv_Let " uu___3)))) - | FStar_Reflection_Data.Tv_Match (e, ret_opt, brs) -> + (fun uu___3 -> Prims.strcat "Tv_Let " uu___2)))) + | FStar_Tactics_NamedView.Tv_Match (e, ret_opt, brs) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (57)) (Prims.of_int (6)) - (Prims.of_int (62)) (Prims.of_int (35))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (61)) (Prims.of_int (6)) + (Prims.of_int (66)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (57)) (Prims.of_int (12)) - (Prims.of_int (62)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (57)) (Prims.of_int (6)) - (Prims.of_int (62)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (58)) (Prims.of_int (8)) - (Prims.of_int (58)) - (Prims.of_int (28))) + (Prims.of_int (61)) + (Prims.of_int (12)) + (Prims.of_int (66)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (57)) - (Prims.of_int (12)) - (Prims.of_int (62)) - (Prims.of_int (35))) + (Prims.of_int (61)) (Prims.of_int (6)) + (Prims.of_int (66)) + (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (62)) + (Prims.of_int (8)) + (Prims.of_int (62)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (61)) + (Prims.of_int (12)) + (Prims.of_int (66)) + (Prims.of_int (35))))) (Obj.magic (term_to_ast_string e)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (59)) - (Prims.of_int (8)) - (Prims.of_int (62)) - (Prims.of_int (34))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (60)) + (Prims.of_int (63)) (Prims.of_int (8)) - (Prims.of_int (62)) - (Prims.of_int (34))) + (Prims.of_int (66)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (60)) + (Prims.of_int (64)) (Prims.of_int (8)) - (Prims.of_int (60)) - (Prims.of_int (39))) + (Prims.of_int (66)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (60)) - (Prims.of_int (8)) - (Prims.of_int (62)) - (Prims.of_int (34))) + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (64)) + (Prims.of_int (8)) + (Prims.of_int (64)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (64)) + (Prims.of_int (8)) + (Prims.of_int (66)) + (Prims.of_int (34))))) (Obj.magic (match_returns_to_string ret_opt)) @@ -978,32 +1211,40 @@ let rec (term_to_ast_string : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (61)) + (Prims.of_int (65)) (Prims.of_int (8)) - (Prims.of_int (62)) - (Prims.of_int (34))) + (Prims.of_int (66)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (62)) + (Prims.of_int (66)) (Prims.of_int (8)) - (Prims.of_int (62)) - (Prims.of_int (34))) + (Prims.of_int (66)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic (branches_to_ast_string brs)) @@ -1040,83 +1281,113 @@ let rec (term_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Tv_Match " uu___1)))) - | FStar_Reflection_Data.Tv_AscribedT (e, t1, uu___1, use_eq) -> + | FStar_Tactics_NamedView.Tv_AscribedT (e, t1, uu___1, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) (Prims.of_int (51)) - (Prims.of_int (63)) (Prims.of_int (140))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (67)) (Prims.of_int (51)) + (Prims.of_int (67)) (Prims.of_int (140))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) (Prims.of_int (57)) - (Prims.of_int (63)) (Prims.of_int (140))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) (Prims.of_int (51)) - (Prims.of_int (63)) (Prims.of_int (140))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) - (Prims.of_int (58)) - (Prims.of_int (63)) - (Prims.of_int (78))) + (Prims.of_int (67)) + (Prims.of_int (57)) + (Prims.of_int (67)) + (Prims.of_int (140))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) - (Prims.of_int (57)) - (Prims.of_int (63)) - (Prims.of_int (140))) + (Prims.of_int (67)) + (Prims.of_int (51)) + (Prims.of_int (67)) + (Prims.of_int (140))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (67)) + (Prims.of_int (58)) + (Prims.of_int (67)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (67)) + (Prims.of_int (57)) + (Prims.of_int (67)) + (Prims.of_int (140))))) (Obj.magic (term_to_ast_string e)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (63)) - (Prims.of_int (81)) - (Prims.of_int (63)) - (Prims.of_int (139))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) - (Prims.of_int (88)) - (Prims.of_int (63)) - (Prims.of_int (139))) + (Prims.of_int (67)) + (Prims.of_int (81)) + (Prims.of_int (67)) + (Prims.of_int (139))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (63)) + (Prims.of_int (67)) (Prims.of_int (88)) - (Prims.of_int (63)) - (Prims.of_int (108))) + (Prims.of_int (67)) + (Prims.of_int (139))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (67)) + (Prims.of_int (88)) + (Prims.of_int (67)) + (Prims.of_int (108))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string t1)) @@ -1147,83 +1418,113 @@ let rec (term_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> Prims.strcat "Tv_AscribedT " uu___2)))) - | FStar_Reflection_Data.Tv_AscribedC (e, c, uu___1, use_eq) -> + | FStar_Tactics_NamedView.Tv_AscribedC (e, c, uu___1, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) (Prims.of_int (51)) - (Prims.of_int (64)) (Prims.of_int (140))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (68)) (Prims.of_int (51)) + (Prims.of_int (68)) (Prims.of_int (140))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) (Prims.of_int (57)) - (Prims.of_int (64)) (Prims.of_int (140))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) (Prims.of_int (51)) - (Prims.of_int (64)) (Prims.of_int (140))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) - (Prims.of_int (58)) - (Prims.of_int (64)) - (Prims.of_int (78))) + (Prims.of_int (68)) + (Prims.of_int (57)) + (Prims.of_int (68)) + (Prims.of_int (140))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) - (Prims.of_int (57)) - (Prims.of_int (64)) - (Prims.of_int (140))) + (Prims.of_int (68)) + (Prims.of_int (51)) + (Prims.of_int (68)) + (Prims.of_int (140))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (68)) + (Prims.of_int (58)) + (Prims.of_int (68)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (68)) + (Prims.of_int (57)) + (Prims.of_int (68)) + (Prims.of_int (140))))) (Obj.magic (term_to_ast_string e)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (64)) - (Prims.of_int (81)) - (Prims.of_int (64)) - (Prims.of_int (139))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) - (Prims.of_int (88)) - (Prims.of_int (64)) - (Prims.of_int (139))) + (Prims.of_int (68)) + (Prims.of_int (81)) + (Prims.of_int (68)) + (Prims.of_int (139))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (64)) + (Prims.of_int (68)) (Prims.of_int (88)) - (Prims.of_int (64)) - (Prims.of_int (108))) + (Prims.of_int (68)) + (Prims.of_int (139))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (68)) + (Prims.of_int (88)) + (Prims.of_int (68)) + (Prims.of_int (108))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (comp_to_ast_string c)) @@ -1254,26 +1555,32 @@ let rec (term_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> Prims.strcat "Tv_AscribedC " uu___2)))) - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Tactics_NamedView.Tv_Unknown -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> "_"))) - | FStar_Reflection_Data.Tv_Unsupp -> + | FStar_Tactics_NamedView.Tv_Unsupp -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> "")))) uu___) and (match_returns_to_string : - FStar_Reflection_Types.match_returns_ascription + FStar_Tactics_NamedView.match_returns_ascription FStar_Pervasives_Native.option -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun ret_opt -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (70)) - (Prims.of_int (4)) (Prims.of_int (72)) (Prims.of_int (51))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (73)) - (Prims.of_int (2)) (Prims.of_int (80)) (Prims.of_int (78))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (74)) (Prims.of_int (4)) (Prims.of_int (76)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (77)) (Prims.of_int (2)) (Prims.of_int (84)) + (Prims.of_int (78))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> fun uu___ -> @@ -1289,13 +1596,21 @@ and (match_returns_to_string : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (72)) (Prims.of_int (27)) - (Prims.of_int (72)) (Prims.of_int (51))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (76)) + (Prims.of_int (27)) + (Prims.of_int (76)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string tac)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1312,22 +1627,34 @@ and (match_returns_to_string : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (76)) (Prims.of_int (4)) - (Prims.of_int (76)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (76)) (Prims.of_int (4)) - (Prims.of_int (80)) (Prims.of_int (78))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (80)) (Prims.of_int (4)) + (Prims.of_int (80)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (80)) (Prims.of_int (4)) + (Prims.of_int (84)) (Prims.of_int (78))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (76)) (Prims.of_int (5)) - (Prims.of_int (76)) (Prims.of_int (23))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (80)) (Prims.of_int (5)) + (Prims.of_int (80)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Derived.binder_to_string b)) + (FStar_Tactics_V2_Derived.binder_to_string b)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat uu___ " ")))) @@ -1335,50 +1662,64 @@ and (match_returns_to_string : (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (78)) (Prims.of_int (4)) - (Prims.of_int (80)) (Prims.of_int (78))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (82)) + (Prims.of_int (4)) + (Prims.of_int (84)) + (Prims.of_int (78))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (match asc with | (FStar_Pervasives.Inl t, tacopt, uu___1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (79)) - (Prims.of_int (27)) - (Prims.of_int (79)) - (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (79)) - (Prims.of_int (27)) - (Prims.of_int (79)) - (Prims.of_int (77))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (83)) + (Prims.of_int (27)) + (Prims.of_int (83)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (83)) + (Prims.of_int (27)) + (Prims.of_int (83)) + (Prims.of_int (77))))) (Obj.magic (term_to_ast_string t)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (79)) - (Prims.of_int (52)) - (Prims.of_int (79)) - (Prims.of_int (77))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (83)) + (Prims.of_int (52)) + (Prims.of_int (83)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (tacopt_to_string tacopt)) @@ -1393,36 +1734,44 @@ and (match_returns_to_string : uu___1) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (80)) - (Prims.of_int (27)) - (Prims.of_int (80)) - (Prims.of_int (49))) - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (80)) - (Prims.of_int (27)) - (Prims.of_int (80)) - (Prims.of_int (77))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (84)) + (Prims.of_int (27)) + (Prims.of_int (84)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (84)) + (Prims.of_int (27)) + (Prims.of_int (84)) + (Prims.of_int (77))))) (Obj.magic (comp_to_ast_string c)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (80)) - (Prims.of_int (52)) - (Prims.of_int (80)) - (Prims.of_int (77))) - (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (84)) + (Prims.of_int (52)) + (Prims.of_int (84)) + (Prims.of_int (77))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (tacopt_to_string tacopt)) @@ -1439,19 +1788,25 @@ and (match_returns_to_string : Prims.strcat uu___ uu___1)))) uu___)))) uu___) and (branches_to_ast_string : - FStar_Reflection_Data.branch Prims.list -> + FStar_Tactics_NamedView.branch Prims.list -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun brs -> print_list branch_to_ast_string brs and (branch_to_ast_string : - FStar_Reflection_Data.branch -> + FStar_Tactics_NamedView.branch -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun b -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (86)) - (Prims.of_int (13)) (Prims.of_int (86)) (Prims.of_int (14))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (85)) - (Prims.of_int (50)) (Prims.of_int (87)) (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (90)) (Prims.of_int (13)) (Prims.of_int (90)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (89)) (Prims.of_int (50)) (Prims.of_int (91)) + (Prims.of_int (41))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> b)) (fun uu___ -> (fun uu___ -> @@ -1459,20 +1814,29 @@ and (branch_to_ast_string : | (p, e) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (87)) (Prims.of_int (8)) - (Prims.of_int (87)) (Prims.of_int (41))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (87)) (Prims.of_int (2)) - (Prims.of_int (87)) (Prims.of_int (41))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (91)) (Prims.of_int (8)) + (Prims.of_int (91)) (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (91)) (Prims.of_int (2)) + (Prims.of_int (91)) (Prims.of_int (41))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (87)) (Prims.of_int (20)) - (Prims.of_int (87)) (Prims.of_int (40))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (91)) (Prims.of_int (20)) + (Prims.of_int (91)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) (Obj.magic (term_to_ast_string e)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -1481,65 +1845,98 @@ and (branch_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> paren uu___1)))) uu___) and (comp_to_ast_string : - FStar_Reflection_Types.comp -> + FStar_Tactics_NamedView.comp -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> + match FStar_Tactics_NamedView.inspect_comp c with + | FStar_Reflection_V2_Data.C_Total t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (91)) - (Prims.of_int (26)) (Prims.of_int (91)) (Prims.of_int (46))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (term_to_ast_string t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (95)) (Prims.of_int (26)) + (Prims.of_int (95)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "Tot " uu___)) - | FStar_Reflection_Data.C_GTotal t -> + | FStar_Reflection_V2_Data.C_GTotal t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (92)) - (Prims.of_int (28)) (Prims.of_int (92)) (Prims.of_int (48))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic (term_to_ast_string t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (96)) (Prims.of_int (28)) + (Prims.of_int (96)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> Prims.strcat "GTot " uu___)) - | FStar_Reflection_Data.C_Lemma (pre, post, uu___) -> + | FStar_Reflection_V2_Data.C_Lemma (pre, post, uu___) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (93)) - (Prims.of_int (37)) (Prims.of_int (93)) (Prims.of_int (91))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (97)) (Prims.of_int (37)) + (Prims.of_int (97)) (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (93)) (Prims.of_int (37)) - (Prims.of_int (93)) (Prims.of_int (59))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (93)) (Prims.of_int (37)) - (Prims.of_int (93)) (Prims.of_int (91))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (97)) (Prims.of_int (37)) + (Prims.of_int (97)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (97)) (Prims.of_int (37)) + (Prims.of_int (97)) (Prims.of_int (91))))) (Obj.magic (term_to_ast_string pre)) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (93)) (Prims.of_int (62)) - (Prims.of_int (93)) (Prims.of_int (91))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (93)) (Prims.of_int (68)) - (Prims.of_int (93)) (Prims.of_int (91))) + (Prims.of_int (97)) (Prims.of_int (62)) + (Prims.of_int (97)) (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (97)) + (Prims.of_int (68)) + (Prims.of_int (97)) + (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string post)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -1551,95 +1948,134 @@ and (comp_to_ast_string : (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> Prims.strcat "Lemma " uu___1)) - | FStar_Reflection_Data.C_Eff (us, eff, res, uu___, uu___1) -> + | FStar_Reflection_V2_Data.C_Eff (us, eff, res, uu___, uu___1) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" (Prims.of_int (95)) - (Prims.of_int (15)) (Prims.of_int (95)) (Prims.of_int (111))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) (Prims.of_int (21)) - (Prims.of_int (95)) (Prims.of_int (111))) + (Prims.of_int (99)) (Prims.of_int (15)) + (Prims.of_int (99)) (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (99)) (Prims.of_int (21)) + (Prims.of_int (99)) (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) (Prims.of_int (21)) - (Prims.of_int (95)) (Prims.of_int (47))) - (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) (Prims.of_int (21)) - (Prims.of_int (95)) (Prims.of_int (111))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (99)) (Prims.of_int (21)) + (Prims.of_int (99)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Print.fst" + (Prims.of_int (99)) (Prims.of_int (21)) + (Prims.of_int (99)) (Prims.of_int (111))))) (Obj.magic (universes_to_ast_string us)) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (95)) (Prims.of_int (50)) - (Prims.of_int (95)) (Prims.of_int (111))) - (FStar_Range.mk_range "prims.fst" - (Prims.of_int (590)) (Prims.of_int (19)) - (Prims.of_int (590)) (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) - (Prims.of_int (57)) - (Prims.of_int (95)) - (Prims.of_int (111))) + (Prims.of_int (99)) + (Prims.of_int (50)) + (Prims.of_int (99)) + (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Print.fst" - (Prims.of_int (95)) - (Prims.of_int (63)) - (Prims.of_int (95)) - (Prims.of_int (111))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) + (Prims.of_int (99)) (Prims.of_int (57)) - (Prims.of_int (95)) - (Prims.of_int (111))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (Prims.of_int (99)) + (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) - (Prims.of_int (81)) - (Prims.of_int (95)) - (Prims.of_int (110))) + (Prims.of_int (99)) + (Prims.of_int (63)) + (Prims.of_int (99)) + (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range - "prims.fst" - (Prims.of_int (590)) - (Prims.of_int (19)) - (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + "FStar.Tactics.Print.fst" + (Prims.of_int (99)) + (Prims.of_int (57)) + (Prims.of_int (99)) + (Prims.of_int (111))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Print.fst" - (Prims.of_int (95)) - (Prims.of_int (88)) - (Prims.of_int (95)) - (Prims.of_int (110))) + (Prims.of_int (99)) + (Prims.of_int (81)) + (Prims.of_int (99)) + (Prims.of_int (110))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Print.fst" + (Prims.of_int (99)) + (Prims.of_int (88)) + (Prims.of_int (99)) + (Prims.of_int (110))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) (Obj.magic (term_to_ast_string res)) @@ -1653,7 +2089,7 @@ and (comp_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> Prims.strcat - (FStar_Reflection_Builtins.implode_qn + (FStar_Reflection_V2_Builtins.implode_qn eff) uu___3)))) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac @@ -1674,7 +2110,7 @@ and (comp_to_ast_string : FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> Prims.strcat "Effect" uu___2)) and (const_to_ast_string : - FStar_Reflection_Data.vconst -> + FStar_Reflection_V2_Data.vconst -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> @@ -1683,15 +2119,15 @@ and (const_to_ast_string : (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> match c with - | FStar_Reflection_Data.C_Unit -> "C_Unit" - | FStar_Reflection_Data.C_Int i -> + | FStar_Reflection_V2_Data.C_Unit -> "C_Unit" + | FStar_Reflection_V2_Data.C_Int i -> Prims.strcat "C_Int " (Prims.string_of_int i) - | FStar_Reflection_Data.C_True -> "C_True" - | FStar_Reflection_Data.C_False -> "C_False" - | FStar_Reflection_Data.C_String s -> + | FStar_Reflection_V2_Data.C_True -> "C_True" + | FStar_Reflection_V2_Data.C_False -> "C_False" + | FStar_Reflection_V2_Data.C_String s -> Prims.strcat "C_String " s - | FStar_Reflection_Data.C_Range uu___1 -> "C_Range _" - | FStar_Reflection_Data.C_Reify -> "C_Reify" - | FStar_Reflection_Data.C_Reflect name -> + | FStar_Reflection_V2_Data.C_Range uu___1 -> "C_Range _" + | FStar_Reflection_V2_Data.C_Reify -> "C_Reify" + | FStar_Reflection_V2_Data.C_Reflect name -> Prims.strcat "C_Reflect " - (FStar_Reflection_Builtins.implode_qn name)))) uu___ \ No newline at end of file + (FStar_Reflection_V2_Builtins.implode_qn name)))) uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_SMT.ml b/ocaml/fstar-lib/generated/FStar_Tactics_SMT.ml new file mode 100644 index 00000000000..4e9d25afdea --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_SMT.ml @@ -0,0 +1,718 @@ +open Prims +let (smt_sync : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (8)) + (Prims.of_int (40)) (Prims.of_int (8)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (8)) + (Prims.of_int (29)) (Prims.of_int (8)) (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V2_Builtins.t_smt_sync uu___1)) uu___1) +let (smt_sync' : + Prims.nat -> Prims.nat -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun fuel -> + fun ifuel -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (12)) (Prims.of_int (15)) (Prims.of_int (12)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (12)) (Prims.of_int (32)) (Prims.of_int (16)) + (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + (fun vcfg -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (13)) (Prims.of_int (18)) + (Prims.of_int (14)) (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (16)) (Prims.of_int (4)) + (Prims.of_int (16)) (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + FStar_VConfig.initial_fuel = fuel; + FStar_VConfig.max_fuel = fuel; + FStar_VConfig.initial_ifuel = ifuel; + FStar_VConfig.max_ifuel = ifuel; + FStar_VConfig.detail_errors = + (vcfg.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (vcfg.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (vcfg.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = + (vcfg.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = + (vcfg.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (vcfg.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (vcfg.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (vcfg.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (vcfg.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (vcfg.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (vcfg.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (vcfg.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (vcfg.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (vcfg.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (vcfg.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = + (vcfg.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = + (vcfg.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (vcfg.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = + (vcfg.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (vcfg.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (vcfg.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (vcfg.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (vcfg.FStar_VConfig.reuse_hint_for) + })) + (fun uu___ -> + (fun vcfg' -> + Obj.magic + (FStar_Tactics_V2_Builtins.t_smt_sync vcfg')) + uu___))) uu___) +let (get_rlimit : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (20)) + (Prims.of_int (45)) (Prims.of_int (20)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (20)) + (Prims.of_int (45)) (Prims.of_int (20)) (Prims.of_int (69))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___1.FStar_VConfig.z3rlimit)) +let (set_rlimit : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (21)) + (Prims.of_int (59)) (Prims.of_int (21)) (Prims.of_int (91))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (21)) + (Prims.of_int (45)) (Prims.of_int (21)) (Prims.of_int (93))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (21)) (Prims.of_int (59)) + (Prims.of_int (21)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (21)) (Prims.of_int (59)) + (Prims.of_int (21)) (Prims.of_int (91))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = + (uu___.FStar_VConfig.initial_fuel); + FStar_VConfig.max_fuel = (uu___.FStar_VConfig.max_fuel); + FStar_VConfig.initial_ifuel = + (uu___.FStar_VConfig.initial_ifuel); + FStar_VConfig.max_ifuel = + (uu___.FStar_VConfig.max_ifuel); + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = v; + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (get_initial_fuel : + unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (23)) + (Prims.of_int (45)) (Prims.of_int (23)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (23)) + (Prims.of_int (45)) (Prims.of_int (23)) (Prims.of_int (74))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___1.FStar_VConfig.initial_fuel)) +let (get_initial_ifuel : + unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (24)) + (Prims.of_int (45)) (Prims.of_int (24)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (24)) + (Prims.of_int (45)) (Prims.of_int (24)) (Prims.of_int (75))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___1.FStar_VConfig.initial_ifuel)) +let (get_max_fuel : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (25)) + (Prims.of_int (45)) (Prims.of_int (25)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (25)) + (Prims.of_int (45)) (Prims.of_int (25)) (Prims.of_int (70))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___1.FStar_VConfig.max_fuel)) +let (get_max_ifuel : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (26)) + (Prims.of_int (45)) (Prims.of_int (26)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (26)) + (Prims.of_int (45)) (Prims.of_int (26)) (Prims.of_int (71))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___1.FStar_VConfig.max_ifuel)) +let (set_initial_fuel : + Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (28)) + (Prims.of_int (59)) (Prims.of_int (28)) (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (28)) + (Prims.of_int (45)) (Prims.of_int (28)) (Prims.of_int (98))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (28)) (Prims.of_int (59)) + (Prims.of_int (28)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (28)) (Prims.of_int (59)) + (Prims.of_int (28)) (Prims.of_int (96))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = v; + FStar_VConfig.max_fuel = (uu___.FStar_VConfig.max_fuel); + FStar_VConfig.initial_ifuel = + (uu___.FStar_VConfig.initial_ifuel); + FStar_VConfig.max_ifuel = + (uu___.FStar_VConfig.max_ifuel); + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (set_initial_ifuel : + Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (29)) + (Prims.of_int (59)) (Prims.of_int (29)) (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (29)) + (Prims.of_int (45)) (Prims.of_int (29)) (Prims.of_int (98))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (29)) (Prims.of_int (59)) + (Prims.of_int (29)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (29)) (Prims.of_int (59)) + (Prims.of_int (29)) (Prims.of_int (96))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = + (uu___.FStar_VConfig.initial_fuel); + FStar_VConfig.max_fuel = (uu___.FStar_VConfig.max_fuel); + FStar_VConfig.initial_ifuel = v; + FStar_VConfig.max_ifuel = + (uu___.FStar_VConfig.max_ifuel); + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (set_max_fuel : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (30)) + (Prims.of_int (59)) (Prims.of_int (30)) (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (30)) + (Prims.of_int (45)) (Prims.of_int (30)) (Prims.of_int (98))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (30)) (Prims.of_int (59)) + (Prims.of_int (30)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (30)) (Prims.of_int (59)) + (Prims.of_int (30)) (Prims.of_int (96))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = + (uu___.FStar_VConfig.initial_fuel); + FStar_VConfig.max_fuel = v; + FStar_VConfig.initial_ifuel = + (uu___.FStar_VConfig.initial_ifuel); + FStar_VConfig.max_ifuel = + (uu___.FStar_VConfig.max_ifuel); + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (set_max_ifuel : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (31)) + (Prims.of_int (59)) (Prims.of_int (31)) (Prims.of_int (96))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (31)) + (Prims.of_int (45)) (Prims.of_int (31)) (Prims.of_int (98))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (31)) (Prims.of_int (59)) + (Prims.of_int (31)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (31)) (Prims.of_int (59)) + (Prims.of_int (31)) (Prims.of_int (96))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = + (uu___.FStar_VConfig.initial_fuel); + FStar_VConfig.max_fuel = (uu___.FStar_VConfig.max_fuel); + FStar_VConfig.initial_ifuel = + (uu___.FStar_VConfig.initial_ifuel); + FStar_VConfig.max_ifuel = v; + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (set_fuel : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (34)) + (Prims.of_int (59)) (Prims.of_int (34)) (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (34)) + (Prims.of_int (45)) (Prims.of_int (34)) (Prims.of_int (113))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (34)) (Prims.of_int (59)) + (Prims.of_int (34)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (34)) (Prims.of_int (59)) + (Prims.of_int (34)) (Prims.of_int (111))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = v; + FStar_VConfig.max_fuel = v; + FStar_VConfig.initial_ifuel = + (uu___.FStar_VConfig.initial_ifuel); + FStar_VConfig.max_ifuel = + (uu___.FStar_VConfig.max_ifuel); + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) +let (set_ifuel : Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun v -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (35)) + (Prims.of_int (59)) (Prims.of_int (35)) (Prims.of_int (111))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" (Prims.of_int (35)) + (Prims.of_int (45)) (Prims.of_int (35)) (Prims.of_int (113))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (35)) (Prims.of_int (59)) + (Prims.of_int (35)) (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.SMT.fst" + (Prims.of_int (35)) (Prims.of_int (59)) + (Prims.of_int (35)) (Prims.of_int (111))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_VConfig.initial_fuel = + (uu___.FStar_VConfig.initial_fuel); + FStar_VConfig.max_fuel = (uu___.FStar_VConfig.max_fuel); + FStar_VConfig.initial_ifuel = v; + FStar_VConfig.max_ifuel = v; + FStar_VConfig.detail_errors = + (uu___.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (uu___.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (uu___.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = (uu___.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = (uu___.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (uu___.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (uu___.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (uu___.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (uu___.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (uu___.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (uu___.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (uu___.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (uu___.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (uu___.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (uu___.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = (uu___.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = (uu___.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (uu___.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = (uu___.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (uu___.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (uu___.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (uu___.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (uu___.FStar_VConfig.reuse_hint_for) + })))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V2_Builtins.set_vconfig uu___)) uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml index af00c575a01..5718a86c10a 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml @@ -1,35 +1,39 @@ open Prims let (tiff : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "lem_iff_refl"]))) let (step : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "lem_iff_trans"]))) let (is_true : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (161)) (Prims.of_int (16)) (Prims.of_int (161)) - (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (161)) (Prims.of_int (10)) (Prims.of_int (174)) - (Prims.of_int (14))) - (Obj.magic (FStar_Reflection_Formula.term_as_formula' t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (159)) (Prims.of_int (16)) (Prims.of_int (159)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (159)) (Prims.of_int (10)) (Prims.of_int (172)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Reflection_V2_Formula.term_as_formula' t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Formula.True_ -> + | FStar_Reflection_V2_Formula.True_ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> true))) @@ -37,57 +41,71 @@ let (is_true : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (163)) (Prims.of_int (23)) - (Prims.of_int (163)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (163)) (Prims.of_int (17)) - (Prims.of_int (173)) (Prims.of_int (23))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (161)) (Prims.of_int (23)) + (Prims.of_int (161)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (161)) (Prims.of_int (17)) + (Prims.of_int (171)) (Prims.of_int (23))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Data.Tv_App (l, r) -> + | FStar_Tactics_NamedView.Tv_App (l, r) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (165)) - (Prims.of_int (24)) - (Prims.of_int (165)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (165)) - (Prims.of_int (18)) - (Prims.of_int (171)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (163)) + (Prims.of_int (24)) + (Prims.of_int (163)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (163)) + (Prims.of_int (18)) + (Prims.of_int (169)) + (Prims.of_int (24))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect l)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Tv_Abs + | FStar_Tactics_NamedView.Tv_Abs (b, t1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (167)) - (Prims.of_int (28)) - (Prims.of_int (167)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (167)) - (Prims.of_int (22)) - (Prims.of_int (169)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (165)) + (Prims.of_int (28)) + (Prims.of_int (165)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (165)) + (Prims.of_int (22)) + (Prims.of_int (167)) + (Prims.of_int (28))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula' + (FStar_Reflection_V2_Formula.term_as_formula' t1)) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -96,7 +114,7 @@ let (is_true : match uu___4 with | - FStar_Reflection_Formula.True_ + FStar_Reflection_V2_Formula.True_ -> true | uu___6 -> @@ -115,22 +133,26 @@ let (is_true : (fun uu___4 -> false)))) uu___2)))) uu___) let (is_false : - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (179)) (Prims.of_int (16)) (Prims.of_int (179)) - (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (179)) (Prims.of_int (10)) (Prims.of_int (192)) - (Prims.of_int (14))) - (Obj.magic (FStar_Reflection_Formula.term_as_formula' t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (177)) (Prims.of_int (16)) (Prims.of_int (177)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (177)) (Prims.of_int (10)) (Prims.of_int (190)) + (Prims.of_int (14))))) + (Obj.magic (FStar_Reflection_V2_Formula.term_as_formula' t)) (fun uu___ -> (fun uu___ -> match uu___ with - | FStar_Reflection_Formula.False_ -> + | FStar_Reflection_V2_Formula.False_ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> true))) @@ -138,57 +160,71 @@ let (is_false : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (181)) (Prims.of_int (23)) - (Prims.of_int (181)) (Prims.of_int (32))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (181)) (Prims.of_int (17)) - (Prims.of_int (191)) (Prims.of_int (23))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (179)) (Prims.of_int (23)) + (Prims.of_int (179)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (179)) (Prims.of_int (17)) + (Prims.of_int (189)) (Prims.of_int (23))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___2 -> (fun uu___2 -> match uu___2 with - | FStar_Reflection_Data.Tv_App (l, r) -> + | FStar_Tactics_NamedView.Tv_App (l, r) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (183)) - (Prims.of_int (24)) - (Prims.of_int (183)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (183)) - (Prims.of_int (18)) - (Prims.of_int (189)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (181)) + (Prims.of_int (24)) + (Prims.of_int (181)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (181)) + (Prims.of_int (18)) + (Prims.of_int (187)) + (Prims.of_int (24))))) (Obj.magic - (FStar_Tactics_Builtins.inspect + (FStar_Tactics_NamedView.inspect l)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Tv_Abs + | FStar_Tactics_NamedView.Tv_Abs (b, t1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (185)) - (Prims.of_int (28)) - (Prims.of_int (185)) - (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (185)) - (Prims.of_int (22)) - (Prims.of_int (187)) - (Prims.of_int (28))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (183)) + (Prims.of_int (28)) + (Prims.of_int (183)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (183)) + (Prims.of_int (22)) + (Prims.of_int (185)) + (Prims.of_int (28))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula' + (FStar_Reflection_V2_Formula.term_as_formula' t1)) (fun uu___4 -> FStar_Tactics_Effect.lift_div_tac @@ -197,7 +233,7 @@ let (is_false : match uu___4 with | - FStar_Reflection_Formula.False_ + FStar_Reflection_V2_Formula.False_ -> true | uu___6 -> @@ -218,45 +254,58 @@ let (is_false : let (inhabit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (197)) (Prims.of_int (12)) (Prims.of_int (197)) - (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (198)) (Prims.of_int (4)) (Prims.of_int (205)) - (Prims.of_int (18))) (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (195)) (Prims.of_int (12)) (Prims.of_int (195)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (196)) (Prims.of_int (4)) (Prims.of_int (203)) + (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun t -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (198)) (Prims.of_int (10)) - (Prims.of_int (198)) (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (198)) (Prims.of_int (4)) - (Prims.of_int (205)) (Prims.of_int (18))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (196)) (Prims.of_int (10)) + (Prims.of_int (196)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (196)) (Prims.of_int (4)) + (Prims.of_int (203)) (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) (fun uu___1 -> (fun uu___1 -> match uu___1 with - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Tactics_NamedView.Tv_FVar fv -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (200)) - (Prims.of_int (17)) - (Prims.of_int (200)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (201)) - (Prims.of_int (13)) - (Prims.of_int (204)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (198)) + (Prims.of_int (17)) + (Prims.of_int (198)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (199)) + (Prims.of_int (13)) + (Prims.of_int (202)) + (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Builtins.inspect_fv + FStar_Reflection_V2_Builtins.inspect_fv fv)) (fun uu___2 -> (fun qn -> @@ -266,10 +315,10 @@ let (inhabit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = then Obj.magic (Obj.repr - (FStar_Tactics_Derived.exact - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - (FStar_Reflection_Data.C_Int + (FStar_Tactics_V2_Derived.exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + (FStar_Reflection_V2_Data.C_Int (Prims.of_int (42))))))) else Obj.magic @@ -279,10 +328,10 @@ let (inhabit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = FStar_Reflection_Const.bool_lid then Obj.repr - (FStar_Tactics_Derived.exact - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_True))) + (FStar_Tactics_V2_Derived.exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_True))) else Obj.repr (if @@ -290,114 +339,138 @@ let (inhabit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = FStar_Reflection_Const.unit_lid then Obj.repr - (FStar_Tactics_Derived.exact - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_Const - FStar_Reflection_Data.C_Unit))) + (FStar_Tactics_V2_Derived.exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit))) else Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail ""))))) uu___2))) | uu___2 -> Obj.magic - (Obj.repr (FStar_Tactics_Derived.fail ""))) + (Obj.repr (FStar_Tactics_V2_Derived.fail ""))) uu___1))) uu___1) let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (211)) (Prims.of_int (4)) (Prims.of_int (211)) - (Prims.of_int (14))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (212)) (Prims.of_int (4)) (Prims.of_int (266)) - (Prims.of_int (81))) (Obj.magic (recurse ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (209)) (Prims.of_int (4)) (Prims.of_int (209)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (210)) (Prims.of_int (4)) (Prims.of_int (264)) + (Prims.of_int (81))))) (Obj.magic (recurse ())) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (212)) (Prims.of_int (4)) - (Prims.of_int (212)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (212)) (Prims.of_int (12)) - (Prims.of_int (266)) (Prims.of_int (81))) - (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (210)) (Prims.of_int (4)) + (Prims.of_int (210)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (210)) (Prims.of_int (12)) + (Prims.of_int (264)) (Prims.of_int (81))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (213)) (Prims.of_int (12)) - (Prims.of_int (213)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (213)) (Prims.of_int (26)) - (Prims.of_int (266)) (Prims.of_int (81))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (211)) (Prims.of_int (12)) + (Prims.of_int (211)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (211)) (Prims.of_int (26)) + (Prims.of_int (264)) (Prims.of_int (81))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___3 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (214)) - (Prims.of_int (12)) - (Prims.of_int (214)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (215)) - (Prims.of_int (4)) - (Prims.of_int (266)) - (Prims.of_int (81))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (212)) + (Prims.of_int (12)) + (Prims.of_int (212)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (213)) + (Prims.of_int (4)) + (Prims.of_int (264)) + (Prims.of_int (81))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___3 -> (fun f -> match f with - | FStar_Reflection_Formula.Iff + | FStar_Reflection_V2_Formula.Iff (l, r) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (217)) - (Prims.of_int (20)) - (Prims.of_int (217)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (217)) - (Prims.of_int (14)) - (Prims.of_int (264)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (215)) + (Prims.of_int (20)) + (Prims.of_int (215)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (215)) + (Prims.of_int (14)) + (Prims.of_int (262)) + (Prims.of_int (22))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula' + (FStar_Reflection_V2_Formula.term_as_formula' l)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Formula.And + | FStar_Reflection_V2_Formula.And (p, q) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (219)) + (Prims.of_int (217)) (Prims.of_int (20)) - (Prims.of_int (219)) - (Prims.of_int (29))) + (Prims.of_int (217)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (219)) + (Prims.of_int (217)) (Prims.of_int (17)) - (Prims.of_int (223)) - (Prims.of_int (24))) + (Prims.of_int (221)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -408,10 +481,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -419,18 +492,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (220)) + (Prims.of_int (218)) (Prims.of_int (20)) - (Prims.of_int (220)) - (Prims.of_int (29))) + (Prims.of_int (218)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (220)) + (Prims.of_int (218)) (Prims.of_int (17)) - (Prims.of_int (223)) - (Prims.of_int (24))) + (Prims.of_int (221)) + (Prims.of_int (24))))) (Obj.magic (is_true q)) @@ -441,10 +518,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -452,18 +529,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (221)) + (Prims.of_int (219)) (Prims.of_int (20)) - (Prims.of_int (221)) - (Prims.of_int (30))) + (Prims.of_int (219)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (221)) + (Prims.of_int (219)) (Prims.of_int (17)) - (Prims.of_int (223)) - (Prims.of_int (24))) + (Prims.of_int (221)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -474,10 +555,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___8 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -485,18 +566,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (222)) + (Prims.of_int (220)) (Prims.of_int (20)) - (Prims.of_int (222)) - (Prims.of_int (30))) + (Prims.of_int (220)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (222)) + (Prims.of_int (220)) (Prims.of_int (17)) - (Prims.of_int (223)) - (Prims.of_int (24))) + (Prims.of_int (221)) + (Prims.of_int (24))))) (Obj.magic (is_false q)) @@ -510,10 +595,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___10 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -525,22 +610,26 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___8))) uu___6))) uu___4)) - | FStar_Reflection_Formula.Or + | FStar_Reflection_V2_Formula.Or (p, q) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (226)) + (Prims.of_int (224)) (Prims.of_int (20)) - (Prims.of_int (226)) - (Prims.of_int (29))) + (Prims.of_int (224)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (226)) + (Prims.of_int (224)) (Prims.of_int (17)) - (Prims.of_int (230)) - (Prims.of_int (24))) + (Prims.of_int (228)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -551,10 +640,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -562,18 +651,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (227)) + (Prims.of_int (225)) (Prims.of_int (20)) - (Prims.of_int (227)) - (Prims.of_int (29))) + (Prims.of_int (225)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (227)) + (Prims.of_int (225)) (Prims.of_int (17)) - (Prims.of_int (230)) - (Prims.of_int (24))) + (Prims.of_int (228)) + (Prims.of_int (24))))) (Obj.magic (is_true q)) @@ -584,10 +677,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -595,18 +688,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (228)) + (Prims.of_int (226)) (Prims.of_int (20)) - (Prims.of_int (228)) - (Prims.of_int (30))) + (Prims.of_int (226)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (228)) + (Prims.of_int (226)) (Prims.of_int (17)) - (Prims.of_int (230)) - (Prims.of_int (24))) + (Prims.of_int (228)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -617,10 +714,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___8 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -628,18 +725,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (229)) + (Prims.of_int (227)) (Prims.of_int (20)) - (Prims.of_int (229)) - (Prims.of_int (30))) + (Prims.of_int (227)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (229)) + (Prims.of_int (227)) (Prims.of_int (17)) - (Prims.of_int (230)) - (Prims.of_int (24))) + (Prims.of_int (228)) + (Prims.of_int (24))))) (Obj.magic (is_false q)) @@ -653,10 +754,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___10 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -668,22 +769,26 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___8))) uu___6))) uu___4)) - | FStar_Reflection_Formula.Implies + | FStar_Reflection_V2_Formula.Implies (p, q) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (233)) + (Prims.of_int (231)) (Prims.of_int (20)) - (Prims.of_int (233)) - (Prims.of_int (29))) + (Prims.of_int (231)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (233)) + (Prims.of_int (231)) (Prims.of_int (17)) - (Prims.of_int (236)) - (Prims.of_int (24))) + (Prims.of_int (234)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -694,10 +799,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -705,18 +810,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (234)) + (Prims.of_int (232)) (Prims.of_int (20)) - (Prims.of_int (234)) - (Prims.of_int (29))) + (Prims.of_int (232)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (234)) + (Prims.of_int (232)) (Prims.of_int (17)) - (Prims.of_int (236)) - (Prims.of_int (24))) + (Prims.of_int (234)) + (Prims.of_int (24))))) (Obj.magic (is_true q)) @@ -727,10 +836,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -738,18 +847,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (235)) + (Prims.of_int (233)) (Prims.of_int (20)) - (Prims.of_int (235)) - (Prims.of_int (30))) + (Prims.of_int (233)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (235)) + (Prims.of_int (233)) (Prims.of_int (17)) - (Prims.of_int (236)) - (Prims.of_int (24))) + (Prims.of_int (234)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -760,10 +873,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___8 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -774,24 +887,28 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___8))) uu___6))) uu___4)) - | FStar_Reflection_Formula.Forall + | FStar_Reflection_V2_Formula.Forall (_b, _sort, p) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (239)) + (Prims.of_int (237)) (Prims.of_int (20)) - (Prims.of_int (239)) - (Prims.of_int (29))) + (Prims.of_int (237)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (239)) + (Prims.of_int (237)) (Prims.of_int (17)) - (Prims.of_int (241)) - (Prims.of_int (24))) + (Prims.of_int (239)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -802,10 +919,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -813,18 +930,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (240)) + (Prims.of_int (238)) (Prims.of_int (20)) - (Prims.of_int (240)) - (Prims.of_int (30))) + (Prims.of_int (238)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (240)) + (Prims.of_int (238)) (Prims.of_int (17)) - (Prims.of_int (241)) - (Prims.of_int (24))) + (Prims.of_int (239)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -835,27 +956,31 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.or_else + (FStar_Tactics_V2_Derived.or_else (fun uu___7 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (240)) + (Prims.of_int (238)) (Prims.of_int (55)) - (Prims.of_int (240)) - (Prims.of_int (82))) + (Prims.of_int (238)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (240)) + (Prims.of_int (238)) (Prims.of_int (84)) - (Prims.of_int (240)) - (Prims.of_int (94))) + (Prims.of_int (238)) + (Prims.of_int (94))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -874,24 +999,28 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) (tiff ())) uu___6))) uu___4)) - | FStar_Reflection_Formula.Exists + | FStar_Reflection_V2_Formula.Exists (_b, _sort, p) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (244)) + (Prims.of_int (242)) (Prims.of_int (20)) - (Prims.of_int (244)) - (Prims.of_int (30))) + (Prims.of_int (242)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (244)) + (Prims.of_int (242)) (Prims.of_int (17)) - (Prims.of_int (246)) - (Prims.of_int (24))) + (Prims.of_int (244)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -902,10 +1031,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -913,18 +1042,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (245)) + (Prims.of_int (243)) (Prims.of_int (20)) - (Prims.of_int (245)) - (Prims.of_int (30))) + (Prims.of_int (243)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (245)) + (Prims.of_int (243)) (Prims.of_int (17)) - (Prims.of_int (246)) - (Prims.of_int (24))) + (Prims.of_int (244)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -935,27 +1068,31 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.or_else + (FStar_Tactics_V2_Derived.or_else (fun uu___7 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (245)) + (Prims.of_int (243)) (Prims.of_int (55)) - (Prims.of_int (245)) - (Prims.of_int (81))) + (Prims.of_int (243)) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (245)) + (Prims.of_int (243)) (Prims.of_int (83)) - (Prims.of_int (245)) - (Prims.of_int (93))) + (Prims.of_int (243)) + (Prims.of_int (93))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -974,22 +1111,26 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) (tiff ())) uu___6))) uu___4)) - | FStar_Reflection_Formula.Not + | FStar_Reflection_V2_Formula.Not p -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (249)) + (Prims.of_int (247)) (Prims.of_int (20)) - (Prims.of_int (249)) - (Prims.of_int (29))) + (Prims.of_int (247)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (249)) + (Prims.of_int (247)) (Prims.of_int (17)) - (Prims.of_int (251)) - (Prims.of_int (24))) + (Prims.of_int (249)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -1000,10 +1141,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___4 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1011,18 +1152,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (250)) + (Prims.of_int (248)) (Prims.of_int (20)) - (Prims.of_int (250)) - (Prims.of_int (30))) + (Prims.of_int (248)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (250)) + (Prims.of_int (248)) (Prims.of_int (17)) - (Prims.of_int (251)) - (Prims.of_int (24))) + (Prims.of_int (249)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -1033,10 +1178,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___6 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1046,22 +1191,26 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) (tiff ())) uu___6))) uu___4)) - | FStar_Reflection_Formula.Iff + | FStar_Reflection_V2_Formula.Iff (p, q) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (256)) + (Prims.of_int (254)) (Prims.of_int (12)) - (Prims.of_int (256)) - (Prims.of_int (19))) + (Prims.of_int (254)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (257)) + (Prims.of_int (255)) (Prims.of_int (17)) - (Prims.of_int (262)) - (Prims.of_int (29))) + (Prims.of_int (260)) + (Prims.of_int (29))))) (Obj.magic (step ())) (fun @@ -1070,32 +1219,40 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (257)) + (Prims.of_int (255)) (Prims.of_int (17)) - (Prims.of_int (261)) - (Prims.of_int (24))) + (Prims.of_int (259)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (262)) + (Prims.of_int (260)) (Prims.of_int (12)) - (Prims.of_int (262)) - (Prims.of_int (29))) + (Prims.of_int (260)) + (Prims.of_int (29))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (257)) + (Prims.of_int (255)) (Prims.of_int (20)) - (Prims.of_int (257)) - (Prims.of_int (29))) + (Prims.of_int (255)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (257)) + (Prims.of_int (255)) (Prims.of_int (17)) - (Prims.of_int (261)) - (Prims.of_int (24))) + (Prims.of_int (259)) + (Prims.of_int (24))))) (Obj.magic (is_true p)) @@ -1106,10 +1263,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___5 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1117,18 +1274,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (258)) + (Prims.of_int (256)) (Prims.of_int (20)) - (Prims.of_int (258)) - (Prims.of_int (29))) + (Prims.of_int (256)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (258)) + (Prims.of_int (256)) (Prims.of_int (17)) - (Prims.of_int (261)) - (Prims.of_int (24))) + (Prims.of_int (259)) + (Prims.of_int (24))))) (Obj.magic (is_true q)) @@ -1139,10 +1300,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___7 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1150,18 +1311,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (259)) + (Prims.of_int (257)) (Prims.of_int (20)) - (Prims.of_int (259)) - (Prims.of_int (30))) + (Prims.of_int (257)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (259)) + (Prims.of_int (257)) (Prims.of_int (17)) - (Prims.of_int (261)) - (Prims.of_int (24))) + (Prims.of_int (259)) + (Prims.of_int (24))))) (Obj.magic (is_false p)) @@ -1172,10 +1337,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) if uu___9 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1183,18 +1348,22 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) else Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (260)) + (Prims.of_int (258)) (Prims.of_int (20)) - (Prims.of_int (260)) - (Prims.of_int (30))) + (Prims.of_int (258)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (260)) + (Prims.of_int (258)) (Prims.of_int (17)) - (Prims.of_int (261)) - (Prims.of_int (24))) + (Prims.of_int (259)) + (Prims.of_int (24))))) (Obj.magic (is_false q)) @@ -1208,10 +1377,10 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) uu___11 then Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1239,164 +1408,188 @@ let rec (simplify_point : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) | uu___3 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "simplify_point: failed precondition: goal should be `g <==> ?u`"))) uu___3))) uu___3))) uu___2))) uu___1) and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (269)) (Prims.of_int (4)) (Prims.of_int (269)) - (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (270)) (Prims.of_int (4)) (Prims.of_int (304)) - (Prims.of_int (74))) (Obj.magic (step ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (267)) (Prims.of_int (4)) (Prims.of_int (267)) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (268)) (Prims.of_int (4)) (Prims.of_int (302)) + (Prims.of_int (74))))) (Obj.magic (step ())) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (270)) (Prims.of_int (4)) - (Prims.of_int (270)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (270)) (Prims.of_int (12)) - (Prims.of_int (304)) (Prims.of_int (74))) - (Obj.magic (FStar_Tactics_Builtins.norm [])) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (268)) (Prims.of_int (4)) + (Prims.of_int (268)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (268)) (Prims.of_int (12)) + (Prims.of_int (302)) (Prims.of_int (74))))) + (Obj.magic (FStar_Tactics_V2_Builtins.norm [])) (fun uu___2 -> (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (271)) (Prims.of_int (12)) - (Prims.of_int (271)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (271)) (Prims.of_int (26)) - (Prims.of_int (304)) (Prims.of_int (74))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (269)) (Prims.of_int (12)) + (Prims.of_int (269)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (269)) (Prims.of_int (26)) + (Prims.of_int (302)) (Prims.of_int (74))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___3 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (272)) - (Prims.of_int (12)) - (Prims.of_int (272)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (273)) - (Prims.of_int (4)) - (Prims.of_int (304)) - (Prims.of_int (74))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (270)) + (Prims.of_int (12)) + (Prims.of_int (270)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (271)) + (Prims.of_int (4)) + (Prims.of_int (302)) + (Prims.of_int (74))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula + (FStar_Reflection_V2_Formula.term_as_formula g)) (fun uu___3 -> (fun f -> match f with - | FStar_Reflection_Formula.Iff + | FStar_Reflection_V2_Formula.Iff (l, r) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (275)) - (Prims.of_int (20)) - (Prims.of_int (275)) - (Prims.of_int (38))) - (FStar_Range.mk_range - "FStar.Tactics.Simplifier.fst" - (Prims.of_int (275)) - (Prims.of_int (14)) - (Prims.of_int (302)) - (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (273)) + (Prims.of_int (20)) + (Prims.of_int (273)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Simplifier.fst" + (Prims.of_int (273)) + (Prims.of_int (14)) + (Prims.of_int (300)) + (Prims.of_int (22))))) (Obj.magic - (FStar_Reflection_Formula.term_as_formula' + (FStar_Reflection_V2_Formula.term_as_formula' l)) (fun uu___3 -> (fun uu___3 -> match uu___3 with - | FStar_Reflection_Formula.And + | FStar_Reflection_V2_Formula.And (uu___4, uu___5) -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq (fun uu___6 -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "and_cong"])))) simplify_point) - | FStar_Reflection_Formula.Or + | FStar_Reflection_V2_Formula.Or (uu___4, uu___5) -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq (fun uu___6 -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "or_cong"])))) simplify_point) - | FStar_Reflection_Formula.Implies + | FStar_Reflection_V2_Formula.Implies (uu___4, uu___5) -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq (fun uu___6 -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "imp_cong"])))) simplify_point) - | FStar_Reflection_Formula.Forall + | FStar_Reflection_V2_Formula.Forall (uu___4, uu___5, uu___6) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (286)) + (Prims.of_int (284)) (Prims.of_int (12)) - (Prims.of_int (286)) - (Prims.of_int (34))) + (Prims.of_int (284)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (286)) + (Prims.of_int (284)) (Prims.of_int (35)) - (Prims.of_int (288)) - (Prims.of_int (29))) + (Prims.of_int (286)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1407,20 +1600,24 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (287)) + (Prims.of_int (285)) (Prims.of_int (20)) - (Prims.of_int (287)) - (Prims.of_int (28))) + (Prims.of_int (285)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (288)) + (Prims.of_int (286)) (Prims.of_int (12)) - (Prims.of_int (288)) - (Prims.of_int (29))) + (Prims.of_int (286)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Builtins.intro + (FStar_Tactics_V2_Builtins.intro ())) (fun uu___8 -> @@ -1431,30 +1628,34 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = ())) uu___8))) uu___7)) - | FStar_Reflection_Formula.Exists + | FStar_Reflection_V2_Formula.Exists (uu___4, uu___5, uu___6) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (291)) + (Prims.of_int (289)) (Prims.of_int (12)) - (Prims.of_int (291)) - (Prims.of_int (34))) + (Prims.of_int (289)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (291)) + (Prims.of_int (289)) (Prims.of_int (35)) - (Prims.of_int (293)) - (Prims.of_int (29))) + (Prims.of_int (291)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1465,20 +1666,24 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (292)) + (Prims.of_int (290)) (Prims.of_int (20)) - (Prims.of_int (292)) - (Prims.of_int (28))) + (Prims.of_int (290)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (293)) + (Prims.of_int (291)) (Prims.of_int (12)) - (Prims.of_int (293)) - (Prims.of_int (29))) + (Prims.of_int (291)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Builtins.intro + (FStar_Tactics_V2_Builtins.intro ())) (fun uu___8 -> @@ -1489,27 +1694,31 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = ())) uu___8))) uu___7)) - | FStar_Reflection_Formula.Not + | FStar_Reflection_V2_Formula.Not uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (296)) + (Prims.of_int (294)) (Prims.of_int (12)) - (Prims.of_int (296)) - (Prims.of_int (35))) + (Prims.of_int (294)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (297)) + (Prims.of_int (295)) (Prims.of_int (12)) - (Prims.of_int (297)) - (Prims.of_int (29))) + (Prims.of_int (295)) + (Prims.of_int (29))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1522,18 +1731,18 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = (simplify_point ())) uu___5)) - | FStar_Reflection_Formula.Iff + | FStar_Reflection_V2_Formula.Iff (uu___4, uu___5) -> Obj.magic - (FStar_Tactics_Derived.seq + (FStar_Tactics_V2_Derived.seq (fun uu___6 -> - FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; @@ -1546,23 +1755,27 @@ and (recurse : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = | uu___3 -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "recurse: failed precondition: goal should be `g <==> ?u`"))) uu___3))) uu___3))) uu___2))) uu___1) let (simplify : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (310)) (Prims.of_int (4)) (Prims.of_int (310)) - (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" - (Prims.of_int (311)) (Prims.of_int (4)) (Prims.of_int (311)) - (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (308)) (Prims.of_int (4)) (Prims.of_int (308)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Simplifier.fst" + (Prims.of_int (309)) (Prims.of_int (4)) (Prims.of_int (309)) + (Prims.of_int (21))))) (Obj.magic - (FStar_Tactics_Derived.apply_lemma - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Simplifier"; "equiv"]))))) (fun uu___1 -> (fun uu___1 -> Obj.magic (simplify_point ())) uu___1) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml b/ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml index f0d37e4cffe..e8306abedb2 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml @@ -1,436 +1 @@ -open Prims -let rec (collect_arr' : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.comp -> - ((FStar_Reflection_Types.binder Prims.list * - FStar_Reflection_Types.comp), - unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun bs -> - fun c -> - match FStar_Reflection_Builtins.inspect_comp c with - | FStar_Reflection_Data.C_Total t -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (14)) (Prims.of_int (20)) - (Prims.of_int (14)) (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (14)) (Prims.of_int (14)) - (Prims.of_int (18)) (Prims.of_int (19))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_Arrow (b, c1) -> - Obj.magic - (Obj.repr (collect_arr' (b :: bs) c1)) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (bs, c))))) uu___))) - | uu___ -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> (bs, c))))) uu___1 uu___ -let (collect_arr_bs : - FStar_Reflection_Types.typ -> - ((FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.comp), - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (25)) (Prims.of_int (18)) (Prims.of_int (25)) - (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (24)) (Prims.of_int (22)) (Prims.of_int (26)) - (Prims.of_int (29))) - (Obj.magic - (collect_arr' [] - (FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total t)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - match uu___ with | (bs, c) -> ((FStar_List_Tot_Base.rev bs), c))) -let (collect_arr : - FStar_Reflection_Types.typ -> - ((FStar_Reflection_Types.typ Prims.list * FStar_Reflection_Types.comp), - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (30)) (Prims.of_int (18)) (Prims.of_int (30)) - (Prims.of_int (57))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (29)) (Prims.of_int (19)) (Prims.of_int (32)) - (Prims.of_int (29))) - (Obj.magic - (collect_arr' [] - (FStar_Reflection_Builtins.pack_comp - (FStar_Reflection_Data.C_Total t)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - match uu___ with - | (bs, c) -> - ((FStar_List_Tot_Base.rev - (FStar_List_Tot_Base.map - FStar_Reflection_Derived.type_of_binder bs)), c))) -let rec (collect_abs' : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.binder Prims.list * - FStar_Reflection_Types.term), - unit) FStar_Tactics_Effect.tac_repr) - = - fun bs -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (36)) (Prims.of_int (10)) (Prims.of_int (36)) - (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (36)) (Prims.of_int (4)) (Prims.of_int (39)) - (Prims.of_int (18))) - (Obj.magic (FStar_Tactics_Builtins.inspect t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_Abs (b, t') -> - Obj.magic (Obj.repr (collect_abs' (b :: bs) t')) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (bs, t))))) uu___) -let (collect_abs : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.term), - unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (43)) (Prims.of_int (19)) (Prims.of_int (43)) - (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (42)) (Prims.of_int (19)) (Prims.of_int (44)) - (Prims.of_int (30))) (Obj.magic (collect_abs' [] t)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - match uu___ with - | (bs, t') -> ((FStar_List_Tot_Base.rev bs), t'))) -let fail : 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = - fun uu___ -> - (fun m -> - Obj.magic - (FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m))) - uu___ -let rec (mk_arr : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.comp -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun bs -> - fun cod -> - match bs with - | [] -> fail "mk_arr, empty binders" - | b::[] -> - FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Arrow (b, cod)) - | b::bs1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (11)) (Prims.of_int (55)) - (Prims.of_int (61))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (6)) (Prims.of_int (55)) - (Prims.of_int (61))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (23)) - (Prims.of_int (55)) (Prims.of_int (60))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (11)) - (Prims.of_int (55)) (Prims.of_int (61))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (34)) - (Prims.of_int (55)) (Prims.of_int (59))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (23)) - (Prims.of_int (55)) (Prims.of_int (60))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (43)) - (Prims.of_int (55)) (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (55)) (Prims.of_int (34)) - (Prims.of_int (55)) (Prims.of_int (59))) - (Obj.magic (mk_arr bs1 cod)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.C_Total uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.pack_comp uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.Tv_Arrow (b, uu___))))) - (fun uu___ -> - (fun uu___ -> Obj.magic (FStar_Tactics_Builtins.pack uu___)) - uu___) -let rec (mk_arr_curried : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.comp -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun bs -> - fun cod -> - match bs with - | [] -> fail "mk_arr, empty binders" - | b::[] -> - FStar_Tactics_Builtins.pack_curried - (FStar_Reflection_Data.Tv_Arrow (b, cod)) - | b::bs1 -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (30)) (Prims.of_int (61)) - (Prims.of_int (88))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (17)) (Prims.of_int (61)) - (Prims.of_int (88))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (42)) - (Prims.of_int (61)) (Prims.of_int (87))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (30)) - (Prims.of_int (61)) (Prims.of_int (88))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (53)) - (Prims.of_int (61)) (Prims.of_int (86))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (42)) - (Prims.of_int (61)) (Prims.of_int (87))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (62)) - (Prims.of_int (61)) (Prims.of_int (85))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (61)) (Prims.of_int (53)) - (Prims.of_int (61)) (Prims.of_int (86))) - (Obj.magic (mk_arr_curried bs1 cod)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.C_Total uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.pack_comp uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.Tv_Arrow (b, uu___))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Builtins.pack_curried uu___)) - uu___) -let rec (mk_tot_arr : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) - = - fun uu___1 -> - fun uu___ -> - (fun bs -> - fun cod -> - match bs with - | [] -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> cod))) - | b::bs1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (11)) - (Prims.of_int (67)) (Prims.of_int (65))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (6)) - (Prims.of_int (67)) (Prims.of_int (65))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (23)) - (Prims.of_int (67)) (Prims.of_int (64))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (11)) - (Prims.of_int (67)) (Prims.of_int (65))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (34)) - (Prims.of_int (67)) (Prims.of_int (63))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) (Prims.of_int (23)) - (Prims.of_int (67)) (Prims.of_int (64))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) - (Prims.of_int (43)) - (Prims.of_int (67)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (67)) - (Prims.of_int (34)) - (Prims.of_int (67)) - (Prims.of_int (63))) - (Obj.magic (mk_tot_arr bs1 cod)) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.C_Total - uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Builtins.pack_comp - uu___)))) - (fun uu___ -> - FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.Tv_Arrow - (b, uu___))))) - (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Builtins.pack uu___)) - uu___)))) uu___1 uu___ -let (lookup_lb_view : - FStar_Reflection_Types.letbinding Prims.list -> - FStar_Reflection_Types.name -> - (FStar_Reflection_Data.lb_view, unit) FStar_Tactics_Effect.tac_repr) - = - fun lbs -> - fun nm -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (70)) (Prims.of_int (10)) (Prims.of_int (74)) - (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (76)) (Prims.of_int (2)) (Prims.of_int (78)) - (Prims.of_int (56))) - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_List_Tot_Base.find - (fun lb -> - (FStar_Reflection_Builtins.inspect_fv - (FStar_Reflection_Builtins.inspect_lb lb).FStar_Reflection_Data.lb_fv) - = nm) lbs)) - (fun uu___ -> - (fun o -> - match o with - | FStar_Pervasives_Native.Some lb -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> - FStar_Reflection_Builtins.inspect_lb lb))) - | FStar_Pervasives_Native.None -> - Obj.magic - (Obj.repr (fail "lookup_lb_view: Name not in let group"))) - uu___) -let rec (inspect_unascribe : - FStar_Reflection_Types.term -> - (FStar_Reflection_Data.term_view, unit) FStar_Tactics_Effect.tac_repr) - = - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (81)) (Prims.of_int (8)) (Prims.of_int (81)) - (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (81)) (Prims.of_int (2)) (Prims.of_int (85)) - (Prims.of_int (12))) (Obj.magic (FStar_Tactics_Builtins.inspect t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_AscribedT (t1, uu___1, uu___2, uu___3) - -> Obj.magic (Obj.repr (inspect_unascribe t1)) - | FStar_Reflection_Data.Tv_AscribedC (t1, uu___1, uu___2, uu___3) - -> Obj.magic (Obj.repr (inspect_unascribe t1)) - | tv -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) - uu___) -let rec (collect_app' : - FStar_Reflection_Data.argv Prims.list -> - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list), - unit) FStar_Tactics_Effect.tac_repr) - = - fun args -> - fun t -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (90)) (Prims.of_int (10)) (Prims.of_int (90)) - (Prims.of_int (29))) - (FStar_Range.mk_range "FStar.Tactics.SyntaxHelpers.fst" - (Prims.of_int (90)) (Prims.of_int (4)) (Prims.of_int (93)) - (Prims.of_int (20))) (Obj.magic (inspect_unascribe t)) - (fun uu___ -> - (fun uu___ -> - match uu___ with - | FStar_Reflection_Data.Tv_App (l, r) -> - Obj.magic (Obj.repr (collect_app' (r :: args) l)) - | uu___1 -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (t, args))))) uu___) -let (collect_app : - FStar_Reflection_Types.term -> - ((FStar_Reflection_Types.term * FStar_Reflection_Data.argv Prims.list), - unit) FStar_Tactics_Effect.tac_repr) - = collect_app' [] \ No newline at end of file +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml index 0f49e07b897..aa681595afb 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml @@ -1,4 +1,8 @@ open Prims +let op_At : + 'uuuuu . + unit -> 'uuuuu Prims.list -> 'uuuuu Prims.list -> 'uuuuu Prims.list + = fun uu___ -> FStar_List_Tot_Base.op_At let rec first : 'a 'b . ('a -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> @@ -10,76 +14,100 @@ let rec first : fun l -> match l with | [] -> - Obj.magic (Obj.repr (FStar_Tactics_Derived.fail "no cands")) + Obj.magic + (Obj.repr (FStar_Tactics_V2_Derived.fail "no cands")) | x::xs -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.or_else (fun uu___ -> f x) + (FStar_Tactics_V2_Derived.or_else (fun uu___ -> f x) (fun uu___ -> first f xs)))) uu___1 uu___ let rec (tcresolve' : - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> Prims.int -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun seen -> fun fuel -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (43)) (Prims.of_int (4)) (Prims.of_int (44)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (45)) (Prims.of_int (4)) (Prims.of_int (50)) - (Prims.of_int (137))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (52)) (Prims.of_int (4)) (Prims.of_int (53)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (54)) (Prims.of_int (4)) (Prims.of_int (59)) + (Prims.of_int (137))))) (if fuel <= Prims.int_zero - then FStar_Tactics_Derived.fail "out of fuel" + then FStar_Tactics_V2_Derived.fail "out of fuel" else FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (45)) (Prims.of_int (4)) - (Prims.of_int (45)) (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (45)) (Prims.of_int (43)) - (Prims.of_int (50)) (Prims.of_int (137))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (54)) (Prims.of_int (4)) + (Prims.of_int (54)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (54)) (Prims.of_int (43)) + (Prims.of_int (59)) (Prims.of_int (137))))) (Obj.magic - (FStar_Tactics_Derived.debug + (FStar_Tactics_V2_Derived.debug (Prims.strcat "fuel = " (Prims.string_of_int fuel)))) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (46)) (Prims.of_int (12)) - (Prims.of_int (46)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (47)) (Prims.of_int (4)) - (Prims.of_int (50)) (Prims.of_int (137))) - (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (55)) + (Prims.of_int (12)) + (Prims.of_int (55)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (56)) (Prims.of_int (4)) + (Prims.of_int (59)) + (Prims.of_int (137))))) + (Obj.magic + (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___2 -> (fun g -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (47)) - (Prims.of_int (4)) - (Prims.of_int (48)) - (Prims.of_int (17))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (48)) - (Prims.of_int (18)) - (Prims.of_int (50)) - (Prims.of_int (137))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (56)) + (Prims.of_int (4)) + (Prims.of_int (57)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (57)) + (Prims.of_int (18)) + (Prims.of_int (59)) + (Prims.of_int (137))))) (if FStar_List_Tot_Base.existsb - (FStar_Reflection_Builtins.term_eq + (FStar_Reflection_V2_Builtins.term_eq g) seen then - FStar_Tactics_Derived.fail "loop" + FStar_Tactics_V2_Derived.fail + "loop" else FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> ())) @@ -87,29 +115,33 @@ let rec (tcresolve' : (fun uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (49)) - (Prims.of_int (15)) - (Prims.of_int (49)) - (Prims.of_int (24))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (50)) - (Prims.of_int (4)) - (Prims.of_int (50)) - (Prims.of_int (137))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (58)) + (Prims.of_int (15)) + (Prims.of_int (58)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (59)) + (Prims.of_int (4)) + (Prims.of_int (59)) + (Prims.of_int (137))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> g :: seen)) (fun uu___3 -> (fun seen1 -> Obj.magic - (FStar_Tactics_Derived.or_else + (FStar_Tactics_V2_Derived.or_else (local seen1 fuel) (fun uu___3 -> - FStar_Tactics_Derived.or_else + FStar_Tactics_V2_Derived.or_else ( global seen1 @@ -118,34 +150,42 @@ let rec (tcresolve' : fun uu___4 -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (50)) + (Prims.of_int (59)) (Prims.of_int (84)) - (Prims.of_int (50)) - (Prims.of_int (135))) + (Prims.of_int (59)) + (Prims.of_int (135))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (50)) + (Prims.of_int (59)) (Prims.of_int (79)) - (Prims.of_int (50)) - (Prims.of_int (135))) + (Prims.of_int (59)) + (Prims.of_int (135))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (50)) + (Prims.of_int (59)) (Prims.of_int (118)) - (Prims.of_int (50)) - (Prims.of_int (134))) + (Prims.of_int (59)) + (Prims.of_int (134))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) + (Prims.of_int (31))))) (Obj.magic - (FStar_Tactics_Builtins.term_to_string + (FStar_Tactics_V2_Builtins.term_to_string g)) (fun uu___5 -> @@ -157,89 +197,93 @@ let rec (tcresolve' : uu___5)))) (fun uu___5 -> - FStar_Tactics_Derived.fail + FStar_Tactics_V2_Derived.fail uu___5))))) uu___3))) uu___2))) uu___2))) uu___1))) uu___) and (local : - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> Prims.int -> unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun seen -> fun fuel -> fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (52)) (Prims.of_int (13)) (Prims.of_int (52)) - (Prims.of_int (40))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (53)) (Prims.of_int (4)) (Prims.of_int (53)) - (Prims.of_int (74))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (52)) (Prims.of_int (28)) - (Prims.of_int (52)) (Prims.of_int (40))) + (Prims.of_int (61)) (Prims.of_int (13)) + (Prims.of_int (61)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (52)) (Prims.of_int (13)) - (Prims.of_int (52)) (Prims.of_int (40))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) + (Prims.of_int (62)) (Prims.of_int (4)) (Prims.of_int (62)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (61)) (Prims.of_int (25)) + (Prims.of_int (61)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (61)) (Prims.of_int (13)) + (Prims.of_int (61)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Builtins.binders_of_env uu___1)))) + FStar_Reflection_V2_Builtins.vars_of_env uu___1)))) (fun uu___1 -> (fun bs -> Obj.magic (first (fun b -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (53)) (Prims.of_int (38)) - (Prims.of_int (53)) (Prims.of_int (70))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (53)) (Prims.of_int (20)) - (Prims.of_int (53)) (Prims.of_int (70))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_Var - (FStar_Reflection_Derived.bv_of_binder b)))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic (trywith seen fuel uu___1)) uu___1)) - bs)) uu___1) + trywith seen fuel + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binding_to_namedv + b)))) bs)) uu___1) and (global : - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> Prims.int -> unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun seen -> fun fuel -> fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (55)) (Prims.of_int (16)) (Prims.of_int (55)) - (Prims.of_int (54))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (56)) (Prims.of_int (4)) (Prims.of_int (56)) - (Prims.of_int (65))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (55)) (Prims.of_int (42)) - (Prims.of_int (55)) (Prims.of_int (54))) + (Prims.of_int (64)) (Prims.of_int (16)) + (Prims.of_int (64)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (55)) (Prims.of_int (16)) - (Prims.of_int (55)) (Prims.of_int (54))) - (Obj.magic (FStar_Tactics_Derived.cur_env ())) + (Prims.of_int (65)) (Prims.of_int (4)) (Prims.of_int (65)) + (Prims.of_int (65))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (64)) (Prims.of_int (42)) + (Prims.of_int (64)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (64)) (Prims.of_int (16)) + (Prims.of_int (64)) (Prims.of_int (54))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> - FStar_Reflection_Builtins.lookup_attr - (FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.lookup_attr + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Typeclasses"; @@ -249,55 +293,56 @@ and (global : Obj.magic (first (fun fv -> - FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (56)) (Prims.of_int (39)) - (Prims.of_int (56)) (Prims.of_int (58))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (56)) (Prims.of_int (21)) - (Prims.of_int (56)) (Prims.of_int (58))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar fv))) - (fun uu___1 -> - (fun uu___1 -> - Obj.magic (trywith seen fuel uu___1)) uu___1)) - cands)) uu___1) + trywith seen fuel + (FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar fv))) cands)) + uu___1) and (trywith : - FStar_Reflection_Types.term Prims.list -> + FStar_Tactics_NamedView.term Prims.list -> Prims.int -> - FStar_Reflection_Types.term -> + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun seen -> fun fuel -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (58)) (Prims.of_int (4)) (Prims.of_int (58)) - (Prims.of_int (70))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (59)) (Prims.of_int (4)) (Prims.of_int (59)) - (Prims.of_int (73))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (58)) (Prims.of_int (10)) - (Prims.of_int (58)) (Prims.of_int (70))) + (Prims.of_int (67)) (Prims.of_int (4)) (Prims.of_int (67)) + (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (58)) (Prims.of_int (4)) (Prims.of_int (58)) - (Prims.of_int (70))) + (Prims.of_int (68)) (Prims.of_int (4)) (Prims.of_int (68)) + (Prims.of_int (73))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (67)) (Prims.of_int (10)) + (Prims.of_int (67)) (Prims.of_int (70))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (67)) (Prims.of_int (4)) + (Prims.of_int (67)) (Prims.of_int (70))))) (Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (58)) (Prims.of_int (53)) - (Prims.of_int (58)) (Prims.of_int (69))) - (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) - (Prims.of_int (19)) (Prims.of_int (590)) - (Prims.of_int (31))) - (Obj.magic (FStar_Tactics_Builtins.term_to_string t)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (67)) (Prims.of_int (53)) + (Prims.of_int (67)) (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic (FStar_Tactics_V2_Builtins.term_to_string t)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> @@ -305,47 +350,65 @@ and (trywith : "Trying to apply hypothesis/instance: " uu___)))) (fun uu___ -> (fun uu___ -> - Obj.magic (FStar_Tactics_Derived.debug uu___)) uu___))) + Obj.magic (FStar_Tactics_V2_Derived.debug uu___)) uu___))) (fun uu___ -> (fun uu___ -> Obj.magic - (FStar_Tactics_Derived.seq - (fun uu___1 -> FStar_Tactics_Derived.apply_noinst t) + (FStar_Tactics_V2_Derived.seq + (fun uu___1 -> FStar_Tactics_V2_Derived.apply_noinst t) (fun uu___1 -> tcresolve' seen (fuel - Prims.int_one)))) uu___) let rec (maybe_intros : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (62)) (Prims.of_int (10)) (Prims.of_int (62)) - (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (63)) (Prims.of_int (2)) (Prims.of_int (67)) - (Prims.of_int (11))) (Obj.magic (FStar_Tactics_Derived.cur_goal ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (72)) (Prims.of_int (10)) (Prims.of_int (72)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (73)) (Prims.of_int (2)) (Prims.of_int (77)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) (fun uu___1 -> (fun g -> - match FStar_Reflection_Builtins.inspect_ln g with - | FStar_Reflection_Data.Tv_Arrow (uu___1, uu___2) -> + match FStar_Reflection_V2_Builtins.inspect_ln g with + | FStar_Reflection_V2_Data.Tv_Arrow (uu___1, uu___2) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (65)) (Prims.of_int (4)) - (Prims.of_int (65)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (66)) (Prims.of_int (4)) - (Prims.of_int (66)) (Prims.of_int (19))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (65)) (Prims.of_int (11)) - (Prims.of_int (65)) (Prims.of_int (21))) + (Prims.of_int (75)) (Prims.of_int (4)) + (Prims.of_int (75)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (65)) (Prims.of_int (4)) - (Prims.of_int (65)) (Prims.of_int (21))) - (Obj.magic (FStar_Tactics_Builtins.intro ())) + (Prims.of_int (76)) (Prims.of_int (4)) + (Prims.of_int (76)) (Prims.of_int (19))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (75)) + (Prims.of_int (11)) + (Prims.of_int (75)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (75)) (Prims.of_int (4)) + (Prims.of_int (75)) + (Prims.of_int (21))))) + (Obj.magic (FStar_Tactics_V2_Builtins.intro ())) (fun uu___3 -> FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> ())))) @@ -359,16 +422,20 @@ let rec (maybe_intros : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = let (tcresolve : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = fun uu___ -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (74)) (Prims.of_int (4)) (Prims.of_int (74)) - (Prims.of_int (19))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (75)) (Prims.of_int (4)) (Prims.of_int (78)) - (Prims.of_int (18))) (Obj.magic (maybe_intros ())) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (84)) (Prims.of_int (4)) (Prims.of_int (84)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (85)) (Prims.of_int (4)) (Prims.of_int (88)) + (Prims.of_int (18))))) (Obj.magic (maybe_intros ())) (fun uu___1 -> (fun uu___1 -> Obj.magic - (FStar_Tactics_Derived.try_with + (FStar_Tactics_V2_Derived.try_with (fun uu___2 -> match () with | () -> tcresolve' [] (Prims.of_int (16))) (fun uu___2 -> @@ -376,7 +443,7 @@ let (tcresolve : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = match uu___2 with | FStar_Tactics_Common.TacticFailure s -> Obj.magic - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail (Prims.strcat "Typeclass resolution failed: " s)) | e -> Obj.magic (FStar_Tactics_Effect.raise e)) @@ -387,15 +454,14 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_1 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 (FStar_Tactics_Native.from_tactic_1 tcresolve) FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit psc ncb args) -let solve : 'a . 'a -> 'a = fun ev -> ev let rec (mk_abs : - FStar_Reflection_Types.binder Prims.list -> - FStar_Reflection_Types.term -> - (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) = fun uu___1 -> fun uu___ -> @@ -410,31 +476,40 @@ let rec (mk_abs : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (89)) (Prims.of_int (20)) - (Prims.of_int (89)) (Prims.of_int (47))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (89)) (Prims.of_int (15)) - (Prims.of_int (89)) (Prims.of_int (47))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (89)) (Prims.of_int (30)) - (Prims.of_int (89)) (Prims.of_int (46))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (89)) (Prims.of_int (20)) - (Prims.of_int (89)) (Prims.of_int (47))) + (Prims.of_int (97)) (Prims.of_int (20)) + (Prims.of_int (97)) (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (97)) (Prims.of_int (30)) + (Prims.of_int (97)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (97)) (Prims.of_int (20)) + (Prims.of_int (97)) (Prims.of_int (47))))) (Obj.magic (mk_abs bs1 body)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Data.Tv_Abs (b, uu___))))) + FStar_Tactics_NamedView.Tv_Abs + (b, uu___))))) (fun uu___ -> - (fun uu___ -> - Obj.magic (FStar_Tactics_Builtins.pack uu___)) - uu___)))) uu___1 uu___ + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Tactics_NamedView.pack uu___))))) + uu___1 uu___ let rec last : 'a . 'a Prims.list -> ('a, unit) FStar_Tactics_Effect.tac_repr = fun uu___ -> @@ -442,96 +517,131 @@ let rec last : 'a . 'a Prims.list -> ('a, unit) FStar_Tactics_Effect.tac_repr match l with | [] -> Obj.magic - (Obj.repr (FStar_Tactics_Derived.fail "last: empty list")) + (Obj.repr (FStar_Tactics_V2_Derived.fail "last: empty list")) | x::[] -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> x))) | uu___::xs -> Obj.magic (Obj.repr (last xs))) uu___ let (filter_no_method_binders : - FStar_Reflection_Types.binders -> FStar_Reflection_Types.binders) = + FStar_Tactics_NamedView.binders -> FStar_Tactics_NamedView.binders) = fun bs -> let has_no_method_attr b = - let attrs = - (FStar_Reflection_Builtins.inspect_binder b).FStar_Reflection_Data.binder_attrs in + let attrs = b.FStar_Tactics_NamedView.attrs in let is_no_method t = - match FStar_Reflection_Builtins.inspect_ln t with - | FStar_Reflection_Data.Tv_FVar fv -> + match FStar_Reflection_V2_Builtins.inspect_ln t with + | FStar_Reflection_V2_Data.Tv_FVar fv -> let n = - FStar_Reflection_Derived.flatten_name - (FStar_Reflection_Builtins.inspect_fv fv) in + FStar_Reflection_V2_Derived.flatten_name + (FStar_Reflection_V2_Builtins.inspect_fv fv) in n = "FStar.Tactics.Typeclasses.no_method" | uu___ -> false in FStar_List_Tot_Base.existsb is_no_method attrs in FStar_List_Tot_Base.filter (fun b -> Prims.op_Negation (has_no_method_attr b)) bs +let (binder_set_meta : + FStar_Tactics_NamedView.binder -> + FStar_Tactics_NamedView.term -> FStar_Tactics_NamedView.binder) + = + fun b -> + fun t -> + { + FStar_Tactics_NamedView.uniq = (b.FStar_Tactics_NamedView.uniq); + FStar_Tactics_NamedView.ppname = (b.FStar_Tactics_NamedView.ppname); + FStar_Tactics_NamedView.sort = (b.FStar_Tactics_NamedView.sort); + FStar_Tactics_NamedView.qual = (FStar_Reflection_V2_Data.Q_Meta t); + FStar_Tactics_NamedView.attrs = (b.FStar_Tactics_NamedView.attrs) + } let (mk_class : Prims.string -> - (FStar_Reflection_Data.decls, unit) FStar_Tactics_Effect.tac_repr) + (FStar_Reflection_Types.decls, unit) FStar_Tactics_Effect.tac_repr) = fun nm -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (116)) (Prims.of_int (13)) (Prims.of_int (116)) - (Prims.of_int (26))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (116)) (Prims.of_int (29)) (Prims.of_int (206)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (130)) (Prims.of_int (13)) (Prims.of_int (130)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (130)) (Prims.of_int (29)) (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.explode_qn nm)) + (fun uu___ -> FStar_Reflection_V2_Builtins.explode_qn nm)) (fun uu___ -> (fun ns -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (117)) (Prims.of_int (12)) - (Prims.of_int (117)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (118)) (Prims.of_int (4)) - (Prims.of_int (206)) (Prims.of_int (35))) - (Obj.magic - (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (117)) (Prims.of_int (23)) - (Prims.of_int (117)) (Prims.of_int (35))) + (Prims.of_int (131)) (Prims.of_int (12)) + (Prims.of_int (131)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (117)) (Prims.of_int (12)) - (Prims.of_int (117)) (Prims.of_int (38))) - (Obj.magic (FStar_Tactics_Builtins.top_env ())) + (Prims.of_int (132)) (Prims.of_int (4)) + (Prims.of_int (218)) (Prims.of_int (35))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (131)) (Prims.of_int (23)) + (Prims.of_int (131)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (131)) (Prims.of_int (12)) + (Prims.of_int (131)) (Prims.of_int (38))))) + (Obj.magic (FStar_Tactics_V2_Builtins.top_env ())) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> - FStar_Reflection_Builtins.lookup_typ uu___ ns)))) + FStar_Reflection_V2_Builtins.lookup_typ uu___ + ns)))) (fun uu___ -> (fun r -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (118)) (Prims.of_int (4)) - (Prims.of_int (118)) (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (118)) (Prims.of_int (20)) - (Prims.of_int (206)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (132)) (Prims.of_int (4)) + (Prims.of_int (132)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (132)) (Prims.of_int (20)) + (Prims.of_int (218)) (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.guard + (FStar_Tactics_V2_Derived.guard (FStar_Pervasives_Native.uu___is_Some r))) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (119)) - (Prims.of_int (18)) - (Prims.of_int (119)) - (Prims.of_int (19))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (118)) - (Prims.of_int (20)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (133)) + (Prims.of_int (18)) + (Prims.of_int (133)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (132)) + (Prims.of_int (20)) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> r)) (fun uu___1 -> @@ -541,53 +651,61 @@ let (mk_class : se -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (120)) - (Prims.of_int (23)) - (Prims.of_int (120)) - (Prims.of_int (122))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (120)) - (Prims.of_int (125)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (134)) + (Prims.of_int (23)) + (Prims.of_int (134)) + (Prims.of_int (115))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (134)) + (Prims.of_int (118)) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> FStar_List_Tot_Base.filter (fun uu___3 -> match uu___3 with - | FStar_Reflection_Data.Inline_for_extraction + | FStar_Reflection_V2_Data.Inline_for_extraction -> true - | FStar_Reflection_Data.NoExtract + | FStar_Reflection_V2_Data.NoExtract -> true | uu___4 -> false) - (FStar_Reflection_Builtins.sigelt_quals + (FStar_Reflection_V2_Builtins.sigelt_quals se))) (fun uu___2 -> (fun to_propagate -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (121)) + (Prims.of_int (135)) (Prims.of_int (13)) - (Prims.of_int (121)) - (Prims.of_int (30))) - (FStar_Range.mk_range + (Prims.of_int (135)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (122)) + (Prims.of_int (136)) (Prims.of_int (4)) - (Prims.of_int (206)) - (Prims.of_int (35))) - (FStar_Tactics_Effect.lift_div_tac + (Prims.of_int (218)) + (Prims.of_int (35))))) + (Obj.magic ( - fun - uu___2 -> - FStar_Reflection_Builtins.inspect_sigelt + FStar_Tactics_NamedView.inspect_sigelt se)) (fun uu___2 -> @@ -595,21 +713,25 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (122)) + (Prims.of_int (136)) (Prims.of_int (4)) - (Prims.of_int (122)) - (Prims.of_int (28))) + (Prims.of_int (136)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (122)) + (Prims.of_int (136)) (Prims.of_int (29)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.guard - (FStar_Reflection_Data.uu___is_Sg_Inductive + (FStar_Tactics_V2_Derived.guard + (FStar_Tactics_NamedView.uu___is_Sg_Inductive sv))) (fun uu___2 -> @@ -617,18 +739,22 @@ let (mk_class : uu___2 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (123)) - (Prims.of_int (47)) - (Prims.of_int (123)) - (Prims.of_int (49))) + (Prims.of_int (137)) + (Prims.of_int (63)) + (Prims.of_int (137)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (122)) + (Prims.of_int (136)) (Prims.of_int (29)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> @@ -640,26 +766,37 @@ let (mk_class : match uu___3 with | - FStar_Reflection_Data.Sg_Inductive - (name, - us, - params, - ty, - ctors) -> + FStar_Tactics_NamedView.Sg_Inductive + { + FStar_Tactics_NamedView.nm + = name; + FStar_Tactics_NamedView.univs1 + = us; + FStar_Tactics_NamedView.params + = params; + FStar_Tactics_NamedView.typ + = ity; + FStar_Tactics_NamedView.ctors + = ctors;_} + -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (126)) + (Prims.of_int (141)) (Prims.of_int (20)) - (Prims.of_int (126)) - (Prims.of_int (29))) + (Prims.of_int (141)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (128)) + (Prims.of_int (143)) (Prims.of_int (4)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (Obj.magic (last name)) @@ -670,20 +807,24 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (128)) + (Prims.of_int (143)) (Prims.of_int (4)) - (Prims.of_int (128)) - (Prims.of_int (42))) + (Prims.of_int (143)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (128)) - (Prims.of_int (43)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (143)) + (Prims.of_int (31)) + (Prims.of_int (218)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.guard + (FStar_Tactics_V2_Derived.guard ((FStar_List_Tot_Base.length ctors) = Prims.int_one))) @@ -693,18 +834,22 @@ let (mk_class : uu___4 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (129)) + (Prims.of_int (144)) (Prims.of_int (25)) - (Prims.of_int (129)) - (Prims.of_int (30))) + (Prims.of_int (144)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (128)) - (Prims.of_int (43)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (143)) + (Prims.of_int (31)) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___5 -> @@ -717,25 +862,29 @@ let (mk_class : with | (c_name, - ty1)::[] + ty)::[] -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (131)) + (Prims.of_int (146)) (Prims.of_int (18)) - (Prims.of_int (131)) - (Prims.of_int (35))) + (Prims.of_int (146)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (129)) + (Prims.of_int (144)) (Prims.of_int (33)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_arr_bs - ty1)) + (FStar_Tactics_V2_SyntaxHelpers.collect_arr_bs + ty)) (fun uu___6 -> (fun @@ -747,22 +896,26 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (132)) + (Prims.of_int (147)) (Prims.of_int (12)) - (Prims.of_int (132)) - (Prims.of_int (28))) + (Prims.of_int (147)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (133)) + (Prims.of_int (148)) (Prims.of_int (4)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___7 -> - FStar_Reflection_Builtins.inspect_comp + FStar_Tactics_NamedView.inspect_comp cod)) (fun uu___7 -> @@ -770,21 +923,25 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (133)) + (Prims.of_int (148)) (Prims.of_int (4)) - (Prims.of_int (133)) - (Prims.of_int (22))) + (Prims.of_int (148)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (133)) + (Prims.of_int (148)) (Prims.of_int (23)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (Obj.magic - (FStar_Tactics_Derived.guard - (FStar_Reflection_Data.uu___is_C_Total + (FStar_Tactics_V2_Derived.guard + (FStar_Reflection_V2_Data.uu___is_C_Total r1))) (fun uu___7 -> @@ -792,18 +949,22 @@ let (mk_class : uu___7 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (134)) + (Prims.of_int (149)) (Prims.of_int (22)) - (Prims.of_int (134)) - (Prims.of_int (23))) + (Prims.of_int (149)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (133)) + (Prims.of_int (148)) (Prims.of_int (23)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___8 -> @@ -815,22 +976,26 @@ let (mk_class : match uu___8 with | - FStar_Reflection_Data.C_Total + FStar_Reflection_V2_Data.C_Total cod1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (138)) + (Prims.of_int (158)) (Prims.of_int (24)) - (Prims.of_int (138)) - (Prims.of_int (61))) + (Prims.of_int (158)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (141)) + (Prims.of_int (161)) (Prims.of_int (4)) - (Prims.of_int (206)) - (Prims.of_int (35))) + (Prims.of_int (218)) + (Prims.of_int (35))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> @@ -847,40 +1012,48 @@ let (mk_class : (FStar_Tactics_Util.map (fun b -> FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (143)) + (Prims.of_int (162)) (Prims.of_int (26)) - (Prims.of_int (143)) - (Prims.of_int (42))) + (Prims.of_int (162)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (143)) + (Prims.of_int (162)) (Prims.of_int (45)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.name_of_binder + (FStar_Tactics_V2_Derived.name_of_binder b)) (fun uu___9 -> (fun s -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (145)) + (Prims.of_int (163)) (Prims.of_int (27)) - (Prims.of_int (145)) - (Prims.of_int (40))) + (Prims.of_int (163)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (145)) + (Prims.of_int (163)) (Prims.of_int (43)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Derived.cur_module + (FStar_Tactics_V2_Derived.cur_module ())) (fun uu___9 -> @@ -888,24 +1061,28 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (146)) + (Prims.of_int (164)) (Prims.of_int (28)) - (Prims.of_int (146)) - (Prims.of_int (46))) + (Prims.of_int (164)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (146)) + (Prims.of_int (164)) (Prims.of_int (49)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Reflection_Builtins.pack_fv - (FStar_List_Tot_Base.op_At - ns1 + FStar_Reflection_V2_Builtins.pack_fv + ((op_At + ()) ns1 [s]))) (fun uu___9 -> @@ -913,20 +1090,24 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (147)) + (Prims.of_int (165)) (Prims.of_int (28)) - (Prims.of_int (147)) - (Prims.of_int (46))) + (Prims.of_int (165)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (147)) - (Prims.of_int (49)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (165)) + (Prims.of_int (53)) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Builtins.fresh_bv_named + (FStar_Tactics_V2_Derived.fresh_namedv_named "d")) (fun uu___9 -> @@ -934,24 +1115,28 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (148)) + (Prims.of_int (166)) (Prims.of_int (28)) - (Prims.of_int (148)) - (Prims.of_int (40))) + (Prims.of_int (166)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (148)) + (Prims.of_int (166)) (Prims.of_int (43)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Reflection_Builtins.pack_ln - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["FStar"; "Tactics"; "Typeclasses"; @@ -962,68 +1147,107 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (149)) - (Prims.of_int (31)) - (Prims.of_int (154)) - (Prims.of_int (19))) + (Prims.of_int (168)) + (Prims.of_int (20)) + (Prims.of_int (172)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (154)) + (Prims.of_int (173)) (Prims.of_int (22)) - (Prims.of_int (205)) - (Prims.of_int (20))) - (FStar_Tactics_Effect.lift_div_tac + (Prims.of_int (217)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (170)) + (Prims.of_int (29)) + (Prims.of_int (170)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (168)) + (Prims.of_int (20)) + (Prims.of_int (172)) + (Prims.of_int (32))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.fresh + ())) (fun uu___9 -> - FStar_Reflection_Builtins.pack_binder + FStar_Tactics_Effect.lift_div_tac + (fun + uu___10 + -> { - FStar_Reflection_Data.binder_bv - = dbv; - FStar_Reflection_Data.binder_qual + FStar_Tactics_NamedView.uniq + = uu___9; + FStar_Tactics_NamedView.ppname = - (FStar_Reflection_Data.Q_Meta + (FStar_Sealed.seal + "dict"); + FStar_Tactics_NamedView.sort + = cod1; + FStar_Tactics_NamedView.qual + = + (FStar_Reflection_V2_Data.Q_Meta tcr); - FStar_Reflection_Data.binder_attrs - = []; - FStar_Reflection_Data.binder_sort - = cod1 - })) + FStar_Tactics_NamedView.attrs + = [] + })))) (fun uu___9 -> (fun tcdict -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (155)) + (Prims.of_int (174)) (Prims.of_int (34)) - (Prims.of_int (155)) - (Prims.of_int (60))) + (Prims.of_int (174)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (155)) + (Prims.of_int (174)) (Prims.of_int (63)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (155)) + (Prims.of_int (174)) (Prims.of_int (34)) - (Prims.of_int (155)) - (Prims.of_int (47))) + (Prims.of_int (174)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (155)) + (Prims.of_int (174)) (Prims.of_int (34)) - (Prims.of_int (155)) - (Prims.of_int (60))) + (Prims.of_int (174)) + (Prims.of_int (60))))) (Obj.magic - (FStar_Tactics_Derived.cur_module + (FStar_Tactics_V2_Derived.cur_module ())) (fun uu___9 -> @@ -1031,7 +1255,7 @@ let (mk_class : (fun uu___10 -> - FStar_List_Tot_Base.op_At + (op_At ()) uu___9 [ Prims.strcat @@ -1043,22 +1267,28 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (156)) + (Prims.of_int (175)) (Prims.of_int (29)) - (Prims.of_int (156)) - (Prims.of_int (63))) + (Prims.of_int (175)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (156)) + (Prims.of_int (175)) (Prims.of_int (66)) - (Prims.of_int (205)) - (Prims.of_int (20))) - (Obj.magic - (FStar_Tactics_Builtins.pack - (FStar_Reflection_Data.Tv_FVar - (FStar_Reflection_Builtins.pack_fv + (Prims.of_int (217)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___9 -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv proj_name)))) (fun uu___9 -> @@ -1066,48 +1296,60 @@ let (mk_class : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (159)) + (Prims.of_int (178)) (Prims.of_int (20)) - (Prims.of_int (167)) - (Prims.of_int (62))) + (Prims.of_int (183)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (168)) + (Prims.of_int (184)) (Prims.of_int (20)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (159)) + (Prims.of_int (178)) (Prims.of_int (26)) - (Prims.of_int (159)) - (Prims.of_int (59))) + (Prims.of_int (178)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (159)) + (Prims.of_int (178)) (Prims.of_int (20)) - (Prims.of_int (167)) - (Prims.of_int (62))) + (Prims.of_int (183)) + (Prims.of_int (62))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (159)) + (Prims.of_int (178)) (Prims.of_int (37)) - (Prims.of_int (159)) - (Prims.of_int (49))) + (Prims.of_int (178)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (159)) + (Prims.of_int (178)) (Prims.of_int (26)) - (Prims.of_int (159)) - (Prims.of_int (59))) + (Prims.of_int (178)) + (Prims.of_int (59))))) (Obj.magic - (FStar_Tactics_Builtins.top_env + (FStar_Tactics_V2_Builtins.top_env ())) (fun uu___9 -> @@ -1115,7 +1357,7 @@ let (mk_class : (fun uu___10 -> - FStar_Reflection_Builtins.lookup_typ + FStar_Reflection_V2_Builtins.lookup_typ uu___9 proj_name)))) (fun @@ -1129,102 +1371,107 @@ let (mk_class : -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "mk_class: proj not found?")) | FStar_Pervasives_Native.Some se1 -> Obj.magic (Obj.repr - (match - FStar_Reflection_Builtins.inspect_sigelt - se1 - with - | - FStar_Reflection_Data.Sg_Let - (uu___10, - lbs) -> - Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (165)) - (Prims.of_int (26)) - (Prims.of_int (165)) - (Prims.of_int (54))) + (Prims.of_int (181)) + (Prims.of_int (28)) + (Prims.of_int (181)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (163)) - (Prims.of_int (46)) - (Prims.of_int (165)) - (Prims.of_int (61))) + (Prims.of_int (181)) + (Prims.of_int (22)) + (Prims.of_int (183)) + (Prims.of_int (62))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.lookup_lb_view - lbs - proj_name)) + (FStar_Tactics_NamedView.inspect_sigelt + se1)) (fun - uu___11 + uu___10 -> - FStar_Tactics_Effect.lift_div_tac (fun - uu___12 + uu___10 -> - match uu___11 + match uu___10 with | + FStar_Tactics_NamedView.Sg_Let { - FStar_Reflection_Data.lb_fv - = uu___13; - FStar_Reflection_Data.lb_us - = uu___14; - FStar_Reflection_Data.lb_typ - = typ; - FStar_Reflection_Data.lb_def - = uu___15;_} - -> typ))) + FStar_Tactics_NamedView.isrec + = uu___11; + FStar_Tactics_NamedView.lbs + = lbs;_} + -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_SyntaxHelpers.lookup_lb + lbs + proj_name)) | - uu___10 + uu___11 -> - Obj.repr - (FStar_Tactics_Derived.fail - "mk_class: proj not Sg_Let?")))) + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mk_class: proj not Sg_Let?"))) + uu___10)))) uu___9))) (fun uu___9 -> (fun - proj_ty + proj_lb -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (170)) + (Prims.of_int (187)) (Prims.of_int (26)) - (Prims.of_int (183)) - (Prims.of_int (57))) + (Prims.of_int (194)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (184)) + (Prims.of_int (195)) (Prims.of_int (20)) - (Prims.of_int (205)) - (Prims.of_int (20))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (171)) + (Prims.of_int (188)) (Prims.of_int (34)) - (Prims.of_int (171)) - (Prims.of_int (56))) + (Prims.of_int (188)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (170)) + (Prims.of_int (187)) (Prims.of_int (26)) - (Prims.of_int (183)) - (Prims.of_int (57))) + (Prims.of_int (194)) + (Prims.of_int (49))))) (Obj.magic - (FStar_Tactics_SyntaxHelpers.collect_arr_bs - proj_ty)) + (FStar_Tactics_V2_SyntaxHelpers.collect_arr_bs + proj_lb.FStar_Tactics_NamedView.lb_typ)) (fun uu___9 -> (fun @@ -1236,18 +1483,22 @@ let (mk_class : cod2) -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (172)) + (Prims.of_int (189)) (Prims.of_int (33)) - (Prims.of_int (172)) - (Prims.of_int (87))) + (Prims.of_int (189)) + (Prims.of_int (87))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (171)) - (Prims.of_int (59)) - (Prims.of_int (183)) - (Prims.of_int (57))) + (Prims.of_int (188)) + (Prims.of_int (66)) + (Prims.of_int (194)) + (Prims.of_int (49))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___10 @@ -1273,7 +1524,7 @@ let (mk_class : [] -> Obj.magic (Obj.repr - (FStar_Tactics_Derived.fail + (FStar_Tactics_V2_Derived.fail "mk_class: impossible, no binders")) | b1::bs' @@ -1281,247 +1532,343 @@ let (mk_class : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (176)) - (Prims.of_int (33)) - (Prims.of_int (176)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (176)) - (Prims.of_int (65)) - (Prims.of_int (183)) - (Prims.of_int (57))) - (FStar_Tactics_Effect.lift_div_tac - (fun - uu___11 - -> - (FStar_Reflection_Builtins.inspect_binder - b1).FStar_Reflection_Data.binder_bv)) - (fun - uu___11 - -> - (fun bv - -> - Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (177)) + (Prims.of_int (193)) (Prims.of_int (33)) - (Prims.of_int (182)) - (Prims.of_int (25))) + (Prims.of_int (193)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (183)) + (Prims.of_int (194)) (Prims.of_int (24)) - (Prims.of_int (183)) - (Prims.of_int (57))) + (Prims.of_int (194)) + (Prims.of_int (49))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___11 -> - FStar_Reflection_Builtins.pack_binder - { - FStar_Reflection_Data.binder_bv - = bv; - FStar_Reflection_Data.binder_qual - = - (FStar_Reflection_Data.Q_Meta - tcr); - FStar_Reflection_Data.binder_attrs - = []; - FStar_Reflection_Data.binder_sort - = - ((FStar_Reflection_Builtins.inspect_binder - b1).FStar_Reflection_Data.binder_sort) - })) + binder_set_meta + b1 tcr)) (fun uu___11 -> (fun b11 -> Obj.magic - (FStar_Tactics_SyntaxHelpers.mk_arr_curried - (FStar_List_Tot_Base.op_At - ps (b11 - :: bs')) + (FStar_Tactics_V2_SyntaxHelpers.mk_arr + ((op_At + ()) ps + (b11 :: + bs')) cod2)) - uu___11))) uu___11))))) uu___10))) uu___9))) (fun uu___9 -> - (fun ty2 + (fun ty1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (186)) - (Prims.of_int (34)) - (Prims.of_int (189)) - (Prims.of_int (69))) - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (203)) + (Prims.of_int (196)) (Prims.of_int (27)) (Prims.of_int (203)) - (Prims.of_int (52))) + (Prims.of_int (50))))) + (FStar_Sealed.seal (Obj.magic - (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (187)) - (Prims.of_int (29)) - (Prims.of_int (188)) - (Prims.of_int (46))) (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) + (Prims.of_int (204)) (Prims.of_int (20)) - (Prims.of_int (189)) - (Prims.of_int (69))) + (Prims.of_int (217)) + (Prims.of_int (20))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (187)) - (Prims.of_int (29)) - (Prims.of_int (187)) - (Prims.of_int (81))) + (Prims.of_int (197)) + (Prims.of_int (35)) + (Prims.of_int (197)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (187)) - (Prims.of_int (29)) - (Prims.of_int (188)) - (Prims.of_int (46))) + (Prims.of_int (196)) + (Prims.of_int (27)) + (Prims.of_int (203)) + (Prims.of_int (50))))) (Obj.magic - (FStar_Tactics_Util.map + (FStar_Tactics_V2_SyntaxHelpers.collect_abs + proj_lb.FStar_Tactics_NamedView.lb_def)) (fun uu___9 -> - (fun b1 - -> - Obj.magic - (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Reflection_Derived.binder_set_qual - FStar_Reflection_Data.Q_Implicit - b1))) - uu___9) - params)) + match uu___9 + with + | + (bs1, + body) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (198)) + (Prims.of_int (33)) + (Prims.of_int (198)) + (Prims.of_int (87))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (197)) + (Prims.of_int (64)) + (Prims.of_int (203)) + (Prims.of_int (50))))) + (FStar_Tactics_Effect.lift_div_tac (fun - uu___9 -> - FStar_Tactics_Effect.lift_div_tac + uu___10 + -> + FStar_List_Tot_Base.splitAt + (FStar_List_Tot_Base.length + params) + bs1)) (fun uu___10 -> - FStar_List_Tot_Base.op_At - uu___9 - [tcdict])))) (fun - uu___9 -> - (fun bs1 + uu___10 -> + match uu___10 + with + | + (ps, bs2) + -> + (match bs2 + with + | + [] -> Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "mk_class: impossible, no binders")) + | + b1::bs' + -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (30)) - (Prims.of_int (189)) - (Prims.of_int (69))) + (Prims.of_int (202)) + (Prims.of_int (33)) + (Prims.of_int (202)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (20)) - (Prims.of_int (189)) - (Prims.of_int (69))) - (Obj.magic + (Prims.of_int (203)) + (Prims.of_int (24)) + (Prims.of_int (203)) + (Prims.of_int (50))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___11 + -> + binder_set_meta + b1 tcr)) + (fun + uu___11 + -> + (fun b11 + -> + Obj.magic + (mk_abs + ((op_At + ()) ps + (b11 :: + bs')) + body)) + uu___11))))) + uu___10))) + uu___9))) + (fun + uu___9 -> + (fun def + -> + Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (45)) - (Prims.of_int (189)) - (Prims.of_int (68))) + (Prims.of_int (208)) + (Prims.of_int (34)) + (Prims.of_int (208)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (30)) - (Prims.of_int (189)) - (Prims.of_int (69))) - (Obj.magic + (Prims.of_int (208)) + (Prims.of_int (39)) + (Prims.of_int (217)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___9 -> + ty1)) + (fun + uu___9 -> + (fun ty2 + -> + Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (46)) - (Prims.of_int (189)) - (Prims.of_int (67))) + (Prims.of_int (209)) + (Prims.of_int (35)) + (Prims.of_int (209)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Typeclasses.fst" - (Prims.of_int (189)) - (Prims.of_int (45)) - (Prims.of_int (189)) - (Prims.of_int (68))) - (Obj.magic - (FStar_Tactics_Derived.binder_to_term - tcdict)) + (Prims.of_int (209)) + (Prims.of_int (41)) + (Prims.of_int (217)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Tactics_Effect.lift_div_tac + def)) (fun - uu___10 + uu___9 -> + (fun def1 -> - [uu___9])))) + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (210)) + (Prims.of_int (33)) + (Prims.of_int (210)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (210)) + (Prims.of_int (39)) + (Prims.of_int (217)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Tactics_Effect.lift_div_tac + sfv)) (fun - uu___10 + uu___9 -> + (fun sfv1 -> - FStar_Reflection_Derived.mk_e_app - proj - uu___9)))) + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (212)) + (Prims.of_int (29)) + (Prims.of_int (212)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (212)) + (Prims.of_int (87)) + (Prims.of_int (217)) + (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> + { + FStar_Tactics_NamedView.lb_fv + = sfv1; + FStar_Tactics_NamedView.lb_us + = + (proj_lb.FStar_Tactics_NamedView.lb_us); + FStar_Tactics_NamedView.lb_typ + = ty2; + FStar_Tactics_NamedView.lb_def + = def1 + })) (fun uu___9 -> + (fun lb + -> Obj.magic - (mk_abs - bs1 - uu___9)) - uu___9))) - uu___9))) - (fun def + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (213)) + (Prims.of_int (27)) + (Prims.of_int (213)) + (Prims.of_int (71))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Typeclasses.fst" + (Prims.of_int (215)) + (Prims.of_int (27)) + (Prims.of_int (215)) + (Prims.of_int (54))))) + (Obj.magic + (FStar_Tactics_NamedView.pack_sigelt + (FStar_Tactics_NamedView.Sg_Let + { + FStar_Tactics_NamedView.isrec + = false; + FStar_Tactics_NamedView.lbs + = [lb] + }))) + (fun se1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___9 -> - FStar_Reflection_Builtins.set_sigelt_attrs - (FStar_Reflection_Builtins.inspect_binder - b).FStar_Reflection_Data.binder_attrs - (FStar_Reflection_Builtins.set_sigelt_quals + FStar_Reflection_V2_Builtins.set_sigelt_attrs + b.FStar_Tactics_NamedView.attrs + (FStar_Reflection_V2_Builtins.set_sigelt_quals to_propagate - (FStar_Reflection_Builtins.pack_sigelt - (FStar_Reflection_Data.Sg_Let - (false, - [ - FStar_Reflection_Builtins.pack_lb - { - FStar_Reflection_Data.lb_fv - = sfv; - FStar_Reflection_Data.lb_us - = us; - FStar_Reflection_Data.lb_typ - = ty2; - FStar_Reflection_Data.lb_def - = def - }])))))))) + se1))))) + uu___9))) + uu___9))) + uu___9))) + uu___9))) + uu___9))) uu___9))) uu___9))) uu___9))) @@ -1553,8 +1900,9 @@ let _ = (fun psc -> fun ncb -> fun args -> - FStar_Tactics_InterpFuns.mk_tactic_interpretation_1 + FStar_Tactics_V2_InterpFuns.mk_tactic_interpretation_1 (FStar_Tactics_Native.from_tactic_1 mk_class) FStar_Syntax_Embeddings.e_string (FStar_Syntax_Embeddings.e_list - FStar_Reflection_Embeddings.e_sigelt) psc ncb args) \ No newline at end of file + FStar_Reflection_V2_Embeddings.e_sigelt) psc ncb args) +let solve : 'a . 'a -> 'a = fun ev -> ev \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Types.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Types.ml index 0061c9cc13a..03982dbf46a 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Types.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Types.ml @@ -269,6 +269,8 @@ let (goal_of_implicit : FStar_TypeChecker_Env.nosynth = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -483,4 +485,9 @@ type tot_or_ghost = let (uu___is_E_Total : tot_or_ghost -> Prims.bool) = fun projectee -> match projectee with | E_Total -> true | uu___ -> false let (uu___is_E_Ghost : tot_or_ghost -> Prims.bool) = - fun projectee -> match projectee with | E_Ghost -> true | uu___ -> false \ No newline at end of file + fun projectee -> match projectee with | E_Ghost -> true | uu___ -> false +type ('g, 't0, 't1) subtyping_token = unit +type ('g, 't0, 't1) equiv_token = unit +type ('g, 'e, 'c) typing_token = unit +type ('g, 'sc, 't, 'pats) match_complete_token = unit +type issues = FStar_Issue.issue Prims.list \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Util.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Util.ml index ca2fa5a562d..db4dbfb9319 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Util.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Util.ml @@ -17,25 +17,37 @@ let rec map : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (25)) (Prims.of_int (13)) - (Prims.of_int (25)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (25)) (Prims.of_int (13)) - (Prims.of_int (25)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (25)) (Prims.of_int (13)) + (Prims.of_int (25)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (25)) (Prims.of_int (13)) + (Prims.of_int (25)) (Prims.of_int (26))))) (Obj.magic (f a1)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (25)) (Prims.of_int (18)) - (Prims.of_int (25)) (Prims.of_int (26))) - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (25)) (Prims.of_int (13)) - (Prims.of_int (25)) (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (25)) + (Prims.of_int (18)) + (Prims.of_int (25)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (25)) + (Prims.of_int (13)) + (Prims.of_int (25)) + (Prims.of_int (26))))) (Obj.magic (map f tl)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac @@ -62,29 +74,39 @@ let rec __mapi : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (30)) (Prims.of_int (13)) - (Prims.of_int (30)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (30)) (Prims.of_int (13)) - (Prims.of_int (30)) (Prims.of_int (37))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (30)) (Prims.of_int (13)) + (Prims.of_int (30)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (30)) (Prims.of_int (13)) + (Prims.of_int (30)) (Prims.of_int (37))))) (Obj.magic (f i a1)) (fun uu___ -> (fun uu___ -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (30)) - (Prims.of_int (20)) - (Prims.of_int (30)) - (Prims.of_int (37))) - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (30)) - (Prims.of_int (13)) - (Prims.of_int (30)) - (Prims.of_int (37))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (30)) + (Prims.of_int (20)) + (Prims.of_int (30)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (30)) + (Prims.of_int (13)) + (Prims.of_int (30)) + (Prims.of_int (37))))) (Obj.magic (__mapi (i + Prims.int_one) f tl)) (fun uu___1 -> @@ -114,12 +136,16 @@ let rec iter : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (38)) (Prims.of_int (13)) - (Prims.of_int (38)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (38)) (Prims.of_int (18)) - (Prims.of_int (38)) (Prims.of_int (27))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (38)) (Prims.of_int (13)) + (Prims.of_int (38)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (38)) (Prims.of_int (18)) + (Prims.of_int (38)) (Prims.of_int (27))))) (Obj.magic (f a1)) (fun uu___ -> (fun uu___ -> Obj.magic (iter f tl)) uu___)))) @@ -145,12 +171,18 @@ let rec iteri_aux : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (43)) (Prims.of_int (13)) - (Prims.of_int (43)) (Prims.of_int (18))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (43)) (Prims.of_int (20)) - (Prims.of_int (43)) (Prims.of_int (40))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (43)) (Prims.of_int (13)) + (Prims.of_int (43)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (43)) (Prims.of_int (20)) + (Prims.of_int (43)) (Prims.of_int (40))))) (Obj.magic (f i a1)) (fun uu___ -> (fun uu___ -> @@ -182,12 +214,18 @@ let rec fold_left : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (51)) (Prims.of_int (26)) - (Prims.of_int (51)) (Prims.of_int (34))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (51)) (Prims.of_int (14)) - (Prims.of_int (51)) (Prims.of_int (37))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (51)) (Prims.of_int (26)) + (Prims.of_int (51)) (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (51)) (Prims.of_int (14)) + (Prims.of_int (51)) (Prims.of_int (37))))) (Obj.magic (f x hd)) (fun uu___ -> (fun uu___ -> Obj.magic (fold_left f uu___ tl)) @@ -212,12 +250,18 @@ let rec fold_right : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (56)) (Prims.of_int (19)) - (Prims.of_int (56)) (Prims.of_int (38))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (56)) (Prims.of_int (14)) - (Prims.of_int (56)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (56)) (Prims.of_int (19)) + (Prims.of_int (56)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (56)) (Prims.of_int (14)) + (Prims.of_int (56)) (Prims.of_int (38))))) (Obj.magic (fold_right f tl x)) (fun uu___ -> (fun uu___ -> Obj.magic (f hd uu___)) uu___)))) @@ -237,12 +281,16 @@ let rec zip : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (61)) (Prims.of_int (31)) - (Prims.of_int (61)) (Prims.of_int (42))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (61)) (Prims.of_int (22)) - (Prims.of_int (61)) (Prims.of_int (42))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (61)) (Prims.of_int (31)) + (Prims.of_int (61)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (61)) (Prims.of_int (22)) + (Prims.of_int (61)) (Prims.of_int (42))))) (Obj.magic (zip xs ys)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -270,12 +318,16 @@ let rec filter : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (67)) (Prims.of_int (17)) - (Prims.of_int (67)) (Prims.of_int (21))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (67)) (Prims.of_int (14)) - (Prims.of_int (67)) (Prims.of_int (61))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (67)) (Prims.of_int (17)) + (Prims.of_int (67)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (67)) (Prims.of_int (14)) + (Prims.of_int (67)) (Prims.of_int (61))))) (Obj.magic (f hd)) (fun uu___1 -> (fun uu___1 -> @@ -283,18 +335,22 @@ let rec filter : then Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (67)) - (Prims.of_int (31)) - (Prims.of_int (67)) - (Prims.of_int (44))) - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (67)) - (Prims.of_int (27)) - (Prims.of_int (67)) - (Prims.of_int (44))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (67)) + (Prims.of_int (31)) + (Prims.of_int (67)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (67)) + (Prims.of_int (27)) + (Prims.of_int (67)) + (Prims.of_int (44))))) (Obj.magic (filter f tl)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -326,12 +382,18 @@ let rec filter_map_acc : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (75)) (Prims.of_int (12)) - (Prims.of_int (75)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (75)) (Prims.of_int (6)) - (Prims.of_int (79)) (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (75)) (Prims.of_int (12)) + (Prims.of_int (75)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (75)) (Prims.of_int (6)) + (Prims.of_int (79)) (Prims.of_int (33))))) (Obj.magic (f hd)) (fun uu___ -> (fun uu___ -> @@ -373,12 +435,16 @@ let rec tryPick : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (88)) (Prims.of_int (13)) - (Prims.of_int (88)) (Prims.of_int (17))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (88)) (Prims.of_int (7)) - (Prims.of_int (90)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (88)) (Prims.of_int (13)) + (Prims.of_int (88)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (88)) (Prims.of_int (7)) + (Prims.of_int (90)) (Prims.of_int (31))))) (Obj.magic (f hd)) (fun uu___ -> (fun uu___ -> @@ -413,12 +479,16 @@ let map_opt : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (95)) (Prims.of_int (19)) - (Prims.of_int (95)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (95)) (Prims.of_int (14)) - (Prims.of_int (95)) (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (95)) (Prims.of_int (19)) + (Prims.of_int (95)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (95)) (Prims.of_int (14)) + (Prims.of_int (95)) (Prims.of_int (24))))) (Obj.magic (f x1)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac @@ -443,25 +513,37 @@ let rec repeatn : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (101)) (Prims.of_int (9)) - (Prims.of_int (101)) (Prims.of_int (13))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (101)) (Prims.of_int (9)) - (Prims.of_int (101)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (101)) (Prims.of_int (9)) + (Prims.of_int (101)) (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (101)) (Prims.of_int (9)) + (Prims.of_int (101)) (Prims.of_int (34))))) (Obj.magic (t ())) (fun uu___1 -> (fun uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (101)) (Prims.of_int (17)) - (Prims.of_int (101)) (Prims.of_int (34))) - (FStar_Range.mk_range - "FStar.Tactics.Util.fst" - (Prims.of_int (101)) (Prims.of_int (9)) - (Prims.of_int (101)) (Prims.of_int (34))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (101)) + (Prims.of_int (17)) + (Prims.of_int (101)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (101)) + (Prims.of_int (9)) + (Prims.of_int (101)) + (Prims.of_int (34))))) (Obj.magic (repeatn (n - Prims.int_one) t)) (fun uu___2 -> FStar_Tactics_Effect.lift_div_tac @@ -485,12 +567,16 @@ let rec tryFind : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (107)) (Prims.of_int (7)) - (Prims.of_int (107)) (Prims.of_int (11))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (107)) (Prims.of_int (4)) - (Prims.of_int (108)) (Prims.of_int (21))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (107)) (Prims.of_int (7)) + (Prims.of_int (107)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (107)) (Prims.of_int (4)) + (Prims.of_int (108)) (Prims.of_int (21))))) (Obj.magic (f hd)) (fun uu___ -> (fun uu___ -> @@ -527,14 +613,100 @@ let rec fold_left2 : Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (117)) (Prims.of_int (17)) - (Prims.of_int (117)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Util.fst" - (Prims.of_int (117)) (Prims.of_int (4)) - (Prims.of_int (117)) (Prims.of_int (38))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (117)) + (Prims.of_int (17)) + (Prims.of_int (117)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (117)) + (Prims.of_int (4)) + (Prims.of_int (117)) + (Prims.of_int (38))))) (Obj.magic (f x hd1 hd2)) (fun uu___ -> (fun uu___ -> Obj.magic (fold_left2 f uu___ tl1 tl2)) - uu___)))) uu___3 uu___2 uu___1 uu___ \ No newline at end of file + uu___)))) uu___3 uu___2 uu___1 uu___ +let rec string_of_list : + 'a . + ('a -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr) -> + 'a Prims.list -> (Prims.string, unit) FStar_Tactics_Effect.tac_repr + = + fun uu___1 -> + fun uu___ -> + (fun f -> + fun l -> + match l with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ""))) + | x::xs -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (122)) (Prims.of_int (13)) + (Prims.of_int (122)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Util.fst" + (Prims.of_int (122)) (Prims.of_int (13)) + (Prims.of_int (122)) (Prims.of_int (44))))) + (Obj.magic (f x)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (122)) + (Prims.of_int (19)) + (Prims.of_int (122)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Util.fst" + (Prims.of_int (122)) + (Prims.of_int (25)) + (Prims.of_int (122)) + (Prims.of_int (44))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic (string_of_list f xs)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat ";" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___ uu___1)))) uu___)))) + uu___1 uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1.ml new file mode 100644 index 00000000000..e8306abedb2 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1.ml @@ -0,0 +1 @@ +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Basic.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Basic.ml similarity index 95% rename from ocaml/fstar-lib/generated/FStar_Tactics_Basic.ml rename to ocaml/fstar-lib/generated/FStar_Tactics_V1_Basic.ml index 82360063c1c..6a7e862c243 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Basic.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Basic.ml @@ -60,7 +60,7 @@ let (normalize : fun e -> fun t -> FStar_TypeChecker_Normalize.normalize_with_primitive_steps - FStar_Reflection_Interpreter.reflection_primops s e t + FStar_Reflection_V1_Interpreter.reflection_primops s e t let (bnorm : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) @@ -653,6 +653,8 @@ let (tc_unifier_solved_implicits : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1307,6 +1309,8 @@ let (__tc : FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1448,6 +1452,8 @@ let (__tc_ghost : FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1550,6 +1556,8 @@ let (__tc_ghost : (e1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1700,6 +1708,8 @@ let (__tc_lax : FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1802,6 +1812,8 @@ let (__tc_lax : (e1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1905,6 +1917,8 @@ let (__tc_lax : (e2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -2388,9 +2402,7 @@ let (intro_rec : tts uu___5 uu___6 in fail1 "intro_rec: goal is not an arrow (%s)" uu___4)) let (norm : - FStar_Syntax_Embeddings.norm_step Prims.list -> - unit FStar_Tactics_Monad.tac) - = + FStar_Pervasives.norm_step Prims.list -> unit FStar_Tactics_Monad.tac) = fun s -> FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal (fun goal -> @@ -2416,7 +2428,7 @@ let (norm : FStar_Tactics_Monad.replace_cur uu___2)) let (norm_term_env : env -> - FStar_Syntax_Embeddings.norm_step Prims.list -> + FStar_Pervasives.norm_step Prims.list -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = @@ -2648,8 +2660,7 @@ let (t_exact : (fun uu___6 -> let uu___7 = let uu___8 = - let uu___9 = - norm [FStar_Syntax_Embeddings.Delta] in + let uu___9 = norm [FStar_Pervasives.Delta] in FStar_Tactics_Monad.op_let_Bang uu___9 (fun uu___10 -> let uu___11 = refine_intro () in @@ -3864,7 +3875,7 @@ let (binder_retype : FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "binder_retype") uu___ let (norm_binder_type : - FStar_Syntax_Embeddings.norm_step Prims.list -> + FStar_Pervasives.norm_step Prims.list -> FStar_Syntax_Syntax.binder -> unit FStar_Tactics_Monad.tac) = fun s -> @@ -4213,6 +4224,8 @@ let (_t_trefl : (uu___12.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___12.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___12.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___12.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -4594,6 +4607,8 @@ let (join_goals : (uu___7.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___7.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___7.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___7.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -4984,6 +4999,8 @@ let (unshelve : FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) = (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -5933,6 +5950,9 @@ let (t_destruct : FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); @@ -6208,7 +6228,7 @@ let rec init : 'a . 'a Prims.list -> 'a Prims.list = | x::xs -> let uu___ = init xs in x :: uu___ let rec (inspect : FStar_Syntax_Syntax.term -> - FStar_Reflection_Data.term_view FStar_Tactics_Monad.tac) + FStar_Reflection_V1_Data.term_view FStar_Tactics_Monad.tac) = fun t -> let uu___ = @@ -6224,13 +6244,13 @@ let rec (inspect : -> inspect t3 | FStar_Syntax_Syntax.Tm_name bv -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Var bv) + (FStar_Reflection_V1_Data.Tv_Var bv) | FStar_Syntax_Syntax.Tm_bvar bv -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_BVar bv) + (FStar_Reflection_V1_Data.Tv_BVar bv) | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_FVar fv) + (FStar_Reflection_V1_Data.Tv_FVar fv) | FStar_Syntax_Syntax.Tm_uinst (t3, us) -> let uu___2 = let uu___3 = @@ -6243,7 +6263,7 @@ let rec (inspect : (match uu___2 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_UInst (fv, us)) + (FStar_Reflection_V1_Data.Tv_UInst (fv, us)) | uu___3 -> failwith "Tac::inspect: Tm_uinst head not an fvar") | FStar_Syntax_Syntax.Tm_ascribed @@ -6253,7 +6273,7 @@ let rec (inspect : FStar_Syntax_Syntax.eff_opt = uu___2;_} -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_AscribedT (t3, ty, tacopt, eq)) + (FStar_Reflection_V1_Data.Tv_AscribedT (t3, ty, tacopt, eq)) | FStar_Syntax_Syntax.Tm_ascribed { FStar_Syntax_Syntax.tm = t3; FStar_Syntax_Syntax.asc = @@ -6261,7 +6281,7 @@ let rec (inspect : FStar_Syntax_Syntax.eff_opt = uu___2;_} -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_AscribedC (t3, cty, tacopt, eq)) + (FStar_Reflection_V1_Data.Tv_AscribedC (t3, cty, tacopt, eq)) | FStar_Syntax_Syntax.Tm_app { FStar_Syntax_Syntax.hd = uu___2; FStar_Syntax_Syntax.args = [];_} @@ -6273,7 +6293,7 @@ let rec (inspect : let uu___2 = last args in (match uu___2 with | (a, q) -> - let q' = FStar_Reflection_Basic.inspect_aqual q in + let q' = FStar_Reflection_V1_Builtins.inspect_aqual q in let uu___3 = let uu___4 = let uu___5 = @@ -6281,7 +6301,7 @@ let rec (inspect : FStar_Syntax_Syntax.mk_Tm_app hd uu___6 t2.FStar_Syntax_Syntax.pos in (uu___5, (a, q')) in - FStar_Reflection_Data.Tv_App uu___4 in + FStar_Reflection_V1_Data.Tv_App uu___4 in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___3) | FStar_Syntax_Syntax.Tm_abs @@ -6303,12 +6323,12 @@ let rec (inspect : let uu___4 = let uu___5 = FStar_Syntax_Util.abs bs2 t4 k in (b, uu___5) in - FStar_Reflection_Data.Tv_Abs uu___4 in + FStar_Reflection_V1_Data.Tv_Abs uu___4 in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___3)) | FStar_Syntax_Syntax.Tm_type u -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Type u) + (FStar_Reflection_V1_Data.Tv_Type u) | FStar_Syntax_Syntax.Tm_arrow { FStar_Syntax_Syntax.bs1 = []; FStar_Syntax_Syntax.comp = uu___2;_} @@ -6318,7 +6338,7 @@ let rec (inspect : (match uu___3 with | FStar_Pervasives_Native.Some (b, c) -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Arrow (b, c)) + (FStar_Reflection_V1_Data.Tv_Arrow (b, c)) | FStar_Pervasives_Native.None -> failwith "impossible") | FStar_Syntax_Syntax.Tm_refine { FStar_Syntax_Syntax.b = bv; FStar_Syntax_Syntax.phi = t3;_} @@ -6332,14 +6352,14 @@ let rec (inspect : | b'1::[] -> b'1 | uu___3 -> failwith "impossible" in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Refine + (FStar_Reflection_V1_Data.Tv_Refine ((b1.FStar_Syntax_Syntax.binder_bv), ((b1.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort), t4))) | FStar_Syntax_Syntax.Tm_constant c -> let uu___2 = - let uu___3 = FStar_Reflection_Basic.inspect_const c in - FStar_Reflection_Data.Tv_Const uu___3 in + let uu___3 = FStar_Reflection_V1_Builtins.inspect_const c in + FStar_Reflection_V1_Data.Tv_Const uu___3 in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___2 | FStar_Syntax_Syntax.Tm_uvar (ctx_u, s) -> @@ -6351,7 +6371,7 @@ let rec (inspect : ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in FStar_BigInt.of_int_fs uu___5 in (uu___4, (ctx_u, s)) in - FStar_Reflection_Data.Tv_Uvar uu___3 in + FStar_Reflection_V1_Data.Tv_Uvar uu___3 in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___2 | FStar_Syntax_Syntax.Tm_let @@ -6361,13 +6381,13 @@ let rec (inspect : if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp else (match lb.FStar_Syntax_Syntax.lbname with | FStar_Pervasives.Inr uu___3 -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp | FStar_Pervasives.Inl bv -> let b = FStar_Syntax_Syntax.mk_binder bv in let uu___3 = FStar_Syntax_Subst.open_term [b] t21 in @@ -6381,7 +6401,7 @@ let rec (inspect : "impossible: open_term returned different amount of binders" in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Let + (FStar_Reflection_V1_Data.Tv_Let (false, (lb.FStar_Syntax_Syntax.lbattrs), (b1.FStar_Syntax_Syntax.binder_bv), (bv.FStar_Syntax_Syntax.sort), @@ -6393,13 +6413,13 @@ let rec (inspect : if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp else (match lb.FStar_Syntax_Syntax.lbname with | FStar_Pervasives.Inr uu___3 -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp | FStar_Pervasives.Inl bv -> let uu___3 = FStar_Syntax_Subst.open_let_rec [lb] t21 in (match uu___3 with @@ -6409,11 +6429,11 @@ let rec (inspect : (match lb1.FStar_Syntax_Syntax.lbname with | FStar_Pervasives.Inr uu___4 -> FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp + FStar_Reflection_V1_Data.Tv_Unsupp | FStar_Pervasives.Inl bv1 -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Let + (FStar_Reflection_V1_Data.Tv_Let (true, (lb1.FStar_Syntax_Syntax.lbattrs), bv1, @@ -6432,8 +6452,9 @@ let rec (inspect : let rec inspect_pat p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> - let uu___3 = FStar_Reflection_Basic.inspect_const c in - FStar_Reflection_Data.Pat_Constant uu___3 + let uu___3 = + FStar_Reflection_V1_Builtins.inspect_const c in + FStar_Reflection_V1_Data.Pat_Constant uu___3 | FStar_Syntax_Syntax.Pat_cons (fv, us_opt, ps) -> let uu___3 = let uu___4 = @@ -6444,12 +6465,12 @@ let rec (inspect : let uu___6 = inspect_pat p1 in (uu___6, b)) ps in (fv, us_opt, uu___4) in - FStar_Reflection_Data.Pat_Cons uu___3 + FStar_Reflection_V1_Data.Pat_Cons uu___3 | FStar_Syntax_Syntax.Pat_var bv -> - FStar_Reflection_Data.Pat_Var + FStar_Reflection_V1_Data.Pat_Var (bv, (bv.FStar_Syntax_Syntax.sort)) | FStar_Syntax_Syntax.Pat_dot_term eopt -> - FStar_Reflection_Data.Pat_Dot_Term eopt in + FStar_Reflection_V1_Data.Pat_Dot_Term eopt in let brs1 = FStar_Compiler_List.map FStar_Syntax_Subst.open_branch brs in let brs2 = @@ -6459,10 +6480,10 @@ let rec (inspect : | (pat, uu___4, t4) -> let uu___5 = inspect_pat pat in (uu___5, t4)) brs1 in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - (FStar_Reflection_Data.Tv_Match (t3, ret_opt, brs2)) + (FStar_Reflection_V1_Data.Tv_Match (t3, ret_opt, brs2)) | FStar_Syntax_Syntax.Tm_unknown -> FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unknown + FStar_Reflection_V1_Data.Tv_Unknown | uu___2 -> ((let uu___4 = let uu___5 = @@ -6474,38 +6495,38 @@ let rec (inspect : (FStar_Errors_Codes.Warning_CantInspect, uu___5) in FStar_Errors.log_issue t2.FStar_Syntax_Syntax.pos uu___4); FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret - FStar_Reflection_Data.Tv_Unsupp)) in + FStar_Reflection_V1_Data.Tv_Unsupp)) in FStar_Tactics_Monad.wrap_err "inspect" uu___ let (pack' : - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> Prims.bool -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = fun tv -> fun leave_curried -> match tv with - | FStar_Reflection_Data.Tv_Var bv -> + | FStar_Reflection_V1_Data.Tv_Var bv -> let uu___ = FStar_Syntax_Syntax.bv_to_name bv in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_BVar bv -> + | FStar_Reflection_V1_Data.Tv_BVar bv -> let uu___ = FStar_Syntax_Syntax.bv_to_tm bv in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_FVar fv -> + | FStar_Reflection_V1_Data.Tv_FVar fv -> let uu___ = FStar_Syntax_Syntax.fv_to_tm fv in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_UInst (fv, us) -> + | FStar_Reflection_V1_Data.Tv_UInst (fv, us) -> let uu___ = let uu___1 = FStar_Syntax_Syntax.fv_to_tm fv in FStar_Syntax_Syntax.mk_Tm_uinst uu___1 us in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_App (l, (r, q)) -> - let q' = FStar_Reflection_Basic.pack_aqual q in + | FStar_Reflection_V1_Data.Tv_App (l, (r, q)) -> + let q' = FStar_Reflection_V1_Builtins.pack_aqual q in let uu___ = FStar_Syntax_Util.mk_app l [(r, q')] in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Abs (b, t) -> + | FStar_Reflection_V1_Data.Tv_Abs (b, t) -> let uu___ = FStar_Syntax_Util.abs [b] t FStar_Pervasives_Native.None in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_V1_Data.Tv_Arrow (b, c) -> let uu___ = if leave_curried then FStar_Syntax_Util.arrow [b] c @@ -6513,12 +6534,12 @@ let (pack' : (let uu___2 = FStar_Syntax_Util.arrow [b] c in FStar_Syntax_Util.canon_arrow uu___2) in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Reflection_V1_Data.Tv_Type u -> let uu___ = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Refine (bv, sort, t) -> + | FStar_Reflection_V1_Data.Tv_Refine (bv, sort, t) -> let bv1 = { FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); @@ -6527,20 +6548,20 @@ let (pack' : } in let uu___ = FStar_Syntax_Util.refine bv1 t in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Const c -> + | FStar_Reflection_V1_Data.Tv_Const c -> let uu___ = let uu___1 = - let uu___2 = FStar_Reflection_Basic.pack_const c in + let uu___2 = FStar_Reflection_V1_Builtins.pack_const c in FStar_Syntax_Syntax.Tm_constant uu___2 in FStar_Syntax_Syntax.mk uu___1 FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Uvar (_u, ctx_u_s) -> + | FStar_Reflection_V1_Data.Tv_Uvar (_u, ctx_u_s) -> let uu___ = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ctx_u_s) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Let (false, attrs, bv, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (false, attrs, bv, ty, t1, t2) -> let bv1 = { FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); @@ -6567,7 +6588,7 @@ let (pack' : FStar_Syntax_Syntax.mk uu___1 FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Let (true, attrs, bv, ty, t1, t2) -> + | FStar_Reflection_V1_Data.Tv_Let (true, attrs, bv, ty, t1, t2) -> let bv1 = { FStar_Syntax_Syntax.ppname = (bv.FStar_Syntax_Syntax.ppname); @@ -6590,7 +6611,7 @@ let (pack' : }) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___1) - | FStar_Reflection_Data.Tv_Match (t, ret_opt, brs) -> + | FStar_Reflection_V1_Data.Tv_Match (t, ret_opt, brs) -> let wrap v = { FStar_Syntax_Syntax.v = v; @@ -6598,12 +6619,12 @@ let (pack' : } in let rec pack_pat p = match p with - | FStar_Reflection_Data.Pat_Constant c -> + | FStar_Reflection_V1_Data.Pat_Constant c -> let uu___ = - let uu___1 = FStar_Reflection_Basic.pack_const c in + let uu___1 = FStar_Reflection_V1_Builtins.pack_const c in FStar_Syntax_Syntax.Pat_constant uu___1 in FStar_Compiler_Effect.op_Less_Bar wrap uu___ - | FStar_Reflection_Data.Pat_Cons (fv, us_opt, ps) -> + | FStar_Reflection_V1_Data.Pat_Cons (fv, us_opt, ps) -> let uu___ = let uu___1 = let uu___2 = @@ -6615,10 +6636,10 @@ let (pack' : (fv, us_opt, uu___2) in FStar_Syntax_Syntax.Pat_cons uu___1 in FStar_Compiler_Effect.op_Less_Bar wrap uu___ - | FStar_Reflection_Data.Pat_Var (bv, _sort) -> + | FStar_Reflection_V1_Data.Pat_Var (bv, _sort) -> FStar_Compiler_Effect.op_Less_Bar wrap (FStar_Syntax_Syntax.Pat_var bv) - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + | FStar_Reflection_V1_Data.Pat_Dot_Term eopt -> FStar_Compiler_Effect.op_Less_Bar wrap (FStar_Syntax_Syntax.Pat_dot_term eopt) in let brs1 = @@ -6640,7 +6661,7 @@ let (pack' : FStar_Syntax_Syntax.rc_opt1 = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedT (e, t, tacopt, use_eq) -> let uu___ = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed @@ -6651,7 +6672,7 @@ let (pack' : FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> + | FStar_Reflection_V1_Data.Tv_AscribedC (e, c, tacopt, use_eq) -> let uu___ = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed @@ -6662,19 +6683,19 @@ let (pack' : FStar_Syntax_Syntax.eff_opt = FStar_Pervasives_Native.None }) FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_V1_Data.Tv_Unknown -> let uu___ = FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Compiler_Range_Type.dummyRange in FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret uu___ - | FStar_Reflection_Data.Tv_Unsupp -> + | FStar_Reflection_V1_Data.Tv_Unsupp -> FStar_Tactics_Monad.fail "cannot pack Tv_Unsupp" let (pack : - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = fun tv -> pack' tv false let (pack_curried : - FStar_Reflection_Data.term_view -> + FStar_Reflection_V1_Data.term_view -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = fun tv -> pack' tv true let (lget : @@ -6876,10 +6897,9 @@ let (t_commute_applied_match : unit -> unit FStar_Tactics_Monad.tac) = solve g FStar_Syntax_Util.exp_unit) else failwith - "internal error: _t_refl: guard is not trivial" - | uu___7 -> - FStar_Tactics_Monad.fail - "lhs is not a match"))) + "internal error: _t_refl: guard is not trivial") + | uu___5 -> + FStar_Tactics_Monad.fail "lhs is not a match")) | FStar_Pervasives_Native.None -> FStar_Tactics_Monad.fail "not an equality") in FStar_Compiler_Effect.op_Less_Bar @@ -6981,6 +7001,8 @@ let (push_bv_dsenv : (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -7163,7 +7185,25 @@ let refl_typing_builtin_wrapper : = fun f -> let tx = FStar_Syntax_Unionfind.new_transaction () in - let uu___ = FStar_Errors.catch_errors_and_ignore_rest f in + let uu___ = + try + (fun uu___1 -> + match () with | () -> FStar_Errors.catch_errors_and_ignore_rest f) + () + with + | uu___1 -> + let issue = + let uu___2 = FStar_Compiler_Util.print_exn uu___1 in + let uu___3 = FStar_Errors.get_ctx () in + { + FStar_Errors.issue_msg = uu___2; + FStar_Errors.issue_level = FStar_Errors.EError; + FStar_Errors.issue_range = FStar_Pervasives_Native.None; + FStar_Errors.issue_number = + (FStar_Pervasives_Native.Some (Prims.of_int (17))); + FStar_Errors.issue_ctx = uu___3 + } in + ([issue], FStar_Pervasives_Native.None) in match uu___ with | (errs, r) -> (FStar_Syntax_Unionfind.rollback tx; @@ -7546,6 +7586,8 @@ let (refl_tc_term : (g.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (g.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (g.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -7648,6 +7690,8 @@ let (refl_tc_term : (g1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (g1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (g1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -7994,6 +8038,8 @@ let (refl_instantiate_implicits : (g.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (g.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (g.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -8209,6 +8255,8 @@ let (push_open_namespace : FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -8308,6 +8356,8 @@ let (push_module_abbrev : FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -8368,387 +8418,4 @@ let (resolve_name : let l = FStar_Ident.lid_of_path n FStar_Compiler_Range_Type.dummyRange in let uu___ = FStar_Syntax_DsEnv.resolve_name e.FStar_TypeChecker_Env.dsenv l in - FStar_Tactics_Monad.ret uu___ -let (tac_env : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = - fun env1 -> - let uu___ = FStar_TypeChecker_Env.clear_expected_typ env1 in - match uu___ with - | (env2, uu___1) -> - let env3 = - { - FStar_TypeChecker_Env.solver = - (env2.FStar_TypeChecker_Env.solver); - FStar_TypeChecker_Env.range = (env2.FStar_TypeChecker_Env.range); - FStar_TypeChecker_Env.curmodule = - (env2.FStar_TypeChecker_Env.curmodule); - FStar_TypeChecker_Env.gamma = (env2.FStar_TypeChecker_Env.gamma); - FStar_TypeChecker_Env.gamma_sig = - (env2.FStar_TypeChecker_Env.gamma_sig); - FStar_TypeChecker_Env.gamma_cache = - (env2.FStar_TypeChecker_Env.gamma_cache); - FStar_TypeChecker_Env.modules = - (env2.FStar_TypeChecker_Env.modules); - FStar_TypeChecker_Env.expected_typ = - (env2.FStar_TypeChecker_Env.expected_typ); - FStar_TypeChecker_Env.sigtab = - (env2.FStar_TypeChecker_Env.sigtab); - FStar_TypeChecker_Env.attrtab = - (env2.FStar_TypeChecker_Env.attrtab); - FStar_TypeChecker_Env.instantiate_imp = false; - FStar_TypeChecker_Env.effects = - (env2.FStar_TypeChecker_Env.effects); - FStar_TypeChecker_Env.generalize = - (env2.FStar_TypeChecker_Env.generalize); - FStar_TypeChecker_Env.letrecs = - (env2.FStar_TypeChecker_Env.letrecs); - FStar_TypeChecker_Env.top_level = - (env2.FStar_TypeChecker_Env.top_level); - FStar_TypeChecker_Env.check_uvars = - (env2.FStar_TypeChecker_Env.check_uvars); - FStar_TypeChecker_Env.use_eq_strict = - (env2.FStar_TypeChecker_Env.use_eq_strict); - FStar_TypeChecker_Env.is_iface = - (env2.FStar_TypeChecker_Env.is_iface); - FStar_TypeChecker_Env.admit = (env2.FStar_TypeChecker_Env.admit); - FStar_TypeChecker_Env.lax = (env2.FStar_TypeChecker_Env.lax); - FStar_TypeChecker_Env.lax_universes = - (env2.FStar_TypeChecker_Env.lax_universes); - FStar_TypeChecker_Env.phase1 = - (env2.FStar_TypeChecker_Env.phase1); - FStar_TypeChecker_Env.failhard = - (env2.FStar_TypeChecker_Env.failhard); - FStar_TypeChecker_Env.nosynth = - (env2.FStar_TypeChecker_Env.nosynth); - FStar_TypeChecker_Env.uvar_subtyping = - (env2.FStar_TypeChecker_Env.uvar_subtyping); - FStar_TypeChecker_Env.tc_term = - (env2.FStar_TypeChecker_Env.tc_term); - FStar_TypeChecker_Env.typeof_tot_or_gtot_term = - (env2.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); - FStar_TypeChecker_Env.universe_of = - (env2.FStar_TypeChecker_Env.universe_of); - FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = - (env2.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); - FStar_TypeChecker_Env.teq_nosmt_force = - (env2.FStar_TypeChecker_Env.teq_nosmt_force); - FStar_TypeChecker_Env.subtype_nosmt_force = - (env2.FStar_TypeChecker_Env.subtype_nosmt_force); - FStar_TypeChecker_Env.qtbl_name_and_index = - (env2.FStar_TypeChecker_Env.qtbl_name_and_index); - FStar_TypeChecker_Env.normalized_eff_names = - (env2.FStar_TypeChecker_Env.normalized_eff_names); - FStar_TypeChecker_Env.fv_delta_depths = - (env2.FStar_TypeChecker_Env.fv_delta_depths); - FStar_TypeChecker_Env.proof_ns = - (env2.FStar_TypeChecker_Env.proof_ns); - FStar_TypeChecker_Env.synth_hook = - (env2.FStar_TypeChecker_Env.synth_hook); - FStar_TypeChecker_Env.try_solve_implicits_hook = - (env2.FStar_TypeChecker_Env.try_solve_implicits_hook); - FStar_TypeChecker_Env.splice = - (env2.FStar_TypeChecker_Env.splice); - FStar_TypeChecker_Env.mpreprocess = - (env2.FStar_TypeChecker_Env.mpreprocess); - FStar_TypeChecker_Env.postprocess = - (env2.FStar_TypeChecker_Env.postprocess); - FStar_TypeChecker_Env.identifier_info = - (env2.FStar_TypeChecker_Env.identifier_info); - FStar_TypeChecker_Env.tc_hooks = - (env2.FStar_TypeChecker_Env.tc_hooks); - FStar_TypeChecker_Env.dsenv = (env2.FStar_TypeChecker_Env.dsenv); - FStar_TypeChecker_Env.nbe = (env2.FStar_TypeChecker_Env.nbe); - FStar_TypeChecker_Env.strict_args_tab = - (env2.FStar_TypeChecker_Env.strict_args_tab); - FStar_TypeChecker_Env.erasable_types_tab = - (env2.FStar_TypeChecker_Env.erasable_types_tab); - FStar_TypeChecker_Env.enable_defer_to_tac = - (env2.FStar_TypeChecker_Env.enable_defer_to_tac); - FStar_TypeChecker_Env.unif_allow_ref_guards = - (env2.FStar_TypeChecker_Env.unif_allow_ref_guards); - FStar_TypeChecker_Env.erase_erasable_args = - (env2.FStar_TypeChecker_Env.erase_erasable_args); - FStar_TypeChecker_Env.core_check = - (env2.FStar_TypeChecker_Env.core_check) - } in - let env4 = - { - FStar_TypeChecker_Env.solver = - (env3.FStar_TypeChecker_Env.solver); - FStar_TypeChecker_Env.range = (env3.FStar_TypeChecker_Env.range); - FStar_TypeChecker_Env.curmodule = - (env3.FStar_TypeChecker_Env.curmodule); - FStar_TypeChecker_Env.gamma = (env3.FStar_TypeChecker_Env.gamma); - FStar_TypeChecker_Env.gamma_sig = - (env3.FStar_TypeChecker_Env.gamma_sig); - FStar_TypeChecker_Env.gamma_cache = - (env3.FStar_TypeChecker_Env.gamma_cache); - FStar_TypeChecker_Env.modules = - (env3.FStar_TypeChecker_Env.modules); - FStar_TypeChecker_Env.expected_typ = - (env3.FStar_TypeChecker_Env.expected_typ); - FStar_TypeChecker_Env.sigtab = - (env3.FStar_TypeChecker_Env.sigtab); - FStar_TypeChecker_Env.attrtab = - (env3.FStar_TypeChecker_Env.attrtab); - FStar_TypeChecker_Env.instantiate_imp = - (env3.FStar_TypeChecker_Env.instantiate_imp); - FStar_TypeChecker_Env.effects = - (env3.FStar_TypeChecker_Env.effects); - FStar_TypeChecker_Env.generalize = - (env3.FStar_TypeChecker_Env.generalize); - FStar_TypeChecker_Env.letrecs = - (env3.FStar_TypeChecker_Env.letrecs); - FStar_TypeChecker_Env.top_level = - (env3.FStar_TypeChecker_Env.top_level); - FStar_TypeChecker_Env.check_uvars = - (env3.FStar_TypeChecker_Env.check_uvars); - FStar_TypeChecker_Env.use_eq_strict = - (env3.FStar_TypeChecker_Env.use_eq_strict); - FStar_TypeChecker_Env.is_iface = - (env3.FStar_TypeChecker_Env.is_iface); - FStar_TypeChecker_Env.admit = (env3.FStar_TypeChecker_Env.admit); - FStar_TypeChecker_Env.lax = (env3.FStar_TypeChecker_Env.lax); - FStar_TypeChecker_Env.lax_universes = - (env3.FStar_TypeChecker_Env.lax_universes); - FStar_TypeChecker_Env.phase1 = - (env3.FStar_TypeChecker_Env.phase1); - FStar_TypeChecker_Env.failhard = true; - FStar_TypeChecker_Env.nosynth = - (env3.FStar_TypeChecker_Env.nosynth); - FStar_TypeChecker_Env.uvar_subtyping = - (env3.FStar_TypeChecker_Env.uvar_subtyping); - FStar_TypeChecker_Env.tc_term = - (env3.FStar_TypeChecker_Env.tc_term); - FStar_TypeChecker_Env.typeof_tot_or_gtot_term = - (env3.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); - FStar_TypeChecker_Env.universe_of = - (env3.FStar_TypeChecker_Env.universe_of); - FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = - (env3.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); - FStar_TypeChecker_Env.teq_nosmt_force = - (env3.FStar_TypeChecker_Env.teq_nosmt_force); - FStar_TypeChecker_Env.subtype_nosmt_force = - (env3.FStar_TypeChecker_Env.subtype_nosmt_force); - FStar_TypeChecker_Env.qtbl_name_and_index = - (env3.FStar_TypeChecker_Env.qtbl_name_and_index); - FStar_TypeChecker_Env.normalized_eff_names = - (env3.FStar_TypeChecker_Env.normalized_eff_names); - FStar_TypeChecker_Env.fv_delta_depths = - (env3.FStar_TypeChecker_Env.fv_delta_depths); - FStar_TypeChecker_Env.proof_ns = - (env3.FStar_TypeChecker_Env.proof_ns); - FStar_TypeChecker_Env.synth_hook = - (env3.FStar_TypeChecker_Env.synth_hook); - FStar_TypeChecker_Env.try_solve_implicits_hook = - (env3.FStar_TypeChecker_Env.try_solve_implicits_hook); - FStar_TypeChecker_Env.splice = - (env3.FStar_TypeChecker_Env.splice); - FStar_TypeChecker_Env.mpreprocess = - (env3.FStar_TypeChecker_Env.mpreprocess); - FStar_TypeChecker_Env.postprocess = - (env3.FStar_TypeChecker_Env.postprocess); - FStar_TypeChecker_Env.identifier_info = - (env3.FStar_TypeChecker_Env.identifier_info); - FStar_TypeChecker_Env.tc_hooks = - (env3.FStar_TypeChecker_Env.tc_hooks); - FStar_TypeChecker_Env.dsenv = (env3.FStar_TypeChecker_Env.dsenv); - FStar_TypeChecker_Env.nbe = (env3.FStar_TypeChecker_Env.nbe); - FStar_TypeChecker_Env.strict_args_tab = - (env3.FStar_TypeChecker_Env.strict_args_tab); - FStar_TypeChecker_Env.erasable_types_tab = - (env3.FStar_TypeChecker_Env.erasable_types_tab); - FStar_TypeChecker_Env.enable_defer_to_tac = - (env3.FStar_TypeChecker_Env.enable_defer_to_tac); - FStar_TypeChecker_Env.unif_allow_ref_guards = - (env3.FStar_TypeChecker_Env.unif_allow_ref_guards); - FStar_TypeChecker_Env.erase_erasable_args = - (env3.FStar_TypeChecker_Env.erase_erasable_args); - FStar_TypeChecker_Env.core_check = - (env3.FStar_TypeChecker_Env.core_check) - } in - let env5 = - { - FStar_TypeChecker_Env.solver = - (env4.FStar_TypeChecker_Env.solver); - FStar_TypeChecker_Env.range = (env4.FStar_TypeChecker_Env.range); - FStar_TypeChecker_Env.curmodule = - (env4.FStar_TypeChecker_Env.curmodule); - FStar_TypeChecker_Env.gamma = (env4.FStar_TypeChecker_Env.gamma); - FStar_TypeChecker_Env.gamma_sig = - (env4.FStar_TypeChecker_Env.gamma_sig); - FStar_TypeChecker_Env.gamma_cache = - (env4.FStar_TypeChecker_Env.gamma_cache); - FStar_TypeChecker_Env.modules = - (env4.FStar_TypeChecker_Env.modules); - FStar_TypeChecker_Env.expected_typ = - (env4.FStar_TypeChecker_Env.expected_typ); - FStar_TypeChecker_Env.sigtab = - (env4.FStar_TypeChecker_Env.sigtab); - FStar_TypeChecker_Env.attrtab = - (env4.FStar_TypeChecker_Env.attrtab); - FStar_TypeChecker_Env.instantiate_imp = - (env4.FStar_TypeChecker_Env.instantiate_imp); - FStar_TypeChecker_Env.effects = - (env4.FStar_TypeChecker_Env.effects); - FStar_TypeChecker_Env.generalize = - (env4.FStar_TypeChecker_Env.generalize); - FStar_TypeChecker_Env.letrecs = - (env4.FStar_TypeChecker_Env.letrecs); - FStar_TypeChecker_Env.top_level = - (env4.FStar_TypeChecker_Env.top_level); - FStar_TypeChecker_Env.check_uvars = - (env4.FStar_TypeChecker_Env.check_uvars); - FStar_TypeChecker_Env.use_eq_strict = - (env4.FStar_TypeChecker_Env.use_eq_strict); - FStar_TypeChecker_Env.is_iface = - (env4.FStar_TypeChecker_Env.is_iface); - FStar_TypeChecker_Env.admit = (env4.FStar_TypeChecker_Env.admit); - FStar_TypeChecker_Env.lax = (env4.FStar_TypeChecker_Env.lax); - FStar_TypeChecker_Env.lax_universes = - (env4.FStar_TypeChecker_Env.lax_universes); - FStar_TypeChecker_Env.phase1 = - (env4.FStar_TypeChecker_Env.phase1); - FStar_TypeChecker_Env.failhard = - (env4.FStar_TypeChecker_Env.failhard); - FStar_TypeChecker_Env.nosynth = - (env4.FStar_TypeChecker_Env.nosynth); - FStar_TypeChecker_Env.uvar_subtyping = - (env4.FStar_TypeChecker_Env.uvar_subtyping); - FStar_TypeChecker_Env.tc_term = - (env4.FStar_TypeChecker_Env.tc_term); - FStar_TypeChecker_Env.typeof_tot_or_gtot_term = - (env4.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); - FStar_TypeChecker_Env.universe_of = - (env4.FStar_TypeChecker_Env.universe_of); - FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = - (env4.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); - FStar_TypeChecker_Env.teq_nosmt_force = - (env4.FStar_TypeChecker_Env.teq_nosmt_force); - FStar_TypeChecker_Env.subtype_nosmt_force = - (env4.FStar_TypeChecker_Env.subtype_nosmt_force); - FStar_TypeChecker_Env.qtbl_name_and_index = - (env4.FStar_TypeChecker_Env.qtbl_name_and_index); - FStar_TypeChecker_Env.normalized_eff_names = - (env4.FStar_TypeChecker_Env.normalized_eff_names); - FStar_TypeChecker_Env.fv_delta_depths = - (env4.FStar_TypeChecker_Env.fv_delta_depths); - FStar_TypeChecker_Env.proof_ns = - (env4.FStar_TypeChecker_Env.proof_ns); - FStar_TypeChecker_Env.synth_hook = - (env4.FStar_TypeChecker_Env.synth_hook); - FStar_TypeChecker_Env.try_solve_implicits_hook = - (env4.FStar_TypeChecker_Env.try_solve_implicits_hook); - FStar_TypeChecker_Env.splice = - (env4.FStar_TypeChecker_Env.splice); - FStar_TypeChecker_Env.mpreprocess = - (env4.FStar_TypeChecker_Env.mpreprocess); - FStar_TypeChecker_Env.postprocess = - (env4.FStar_TypeChecker_Env.postprocess); - FStar_TypeChecker_Env.identifier_info = - (env4.FStar_TypeChecker_Env.identifier_info); - FStar_TypeChecker_Env.tc_hooks = - (env4.FStar_TypeChecker_Env.tc_hooks); - FStar_TypeChecker_Env.dsenv = (env4.FStar_TypeChecker_Env.dsenv); - FStar_TypeChecker_Env.nbe = (env4.FStar_TypeChecker_Env.nbe); - FStar_TypeChecker_Env.strict_args_tab = - (env4.FStar_TypeChecker_Env.strict_args_tab); - FStar_TypeChecker_Env.erasable_types_tab = - (env4.FStar_TypeChecker_Env.erasable_types_tab); - FStar_TypeChecker_Env.enable_defer_to_tac = false; - FStar_TypeChecker_Env.unif_allow_ref_guards = - (env4.FStar_TypeChecker_Env.unif_allow_ref_guards); - FStar_TypeChecker_Env.erase_erasable_args = - (env4.FStar_TypeChecker_Env.erase_erasable_args); - FStar_TypeChecker_Env.core_check = - (env4.FStar_TypeChecker_Env.core_check) - } in - env5 -let (proofstate_of_goals : - FStar_Compiler_Range_Type.range -> - env -> - FStar_Tactics_Types.goal Prims.list -> - FStar_TypeChecker_Common.implicit Prims.list -> - FStar_Tactics_Types.proofstate) - = - fun rng -> - fun env1 -> - fun goals -> - fun imps -> - let env2 = tac_env env1 in - let ps = - let uu___ = - FStar_TypeChecker_Env.debug env2 - (FStar_Options.Other "TacVerbose") in - let uu___1 = FStar_Compiler_Util.psmap_empty () in - { - FStar_Tactics_Types.main_context = env2; - FStar_Tactics_Types.all_implicits = imps; - FStar_Tactics_Types.goals = goals; - FStar_Tactics_Types.smt_goals = []; - FStar_Tactics_Types.depth = Prims.int_zero; - FStar_Tactics_Types.__dump = - FStar_Tactics_Printing.do_dump_proofstate; - 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.int_zero; - FStar_Tactics_Types.tac_verb_dbg = uu___; - FStar_Tactics_Types.local_state = uu___1; - FStar_Tactics_Types.urgency = Prims.int_one - } in - ps -let (proofstate_of_goal_ty : - FStar_Compiler_Range_Type.range -> - env -> - FStar_Syntax_Syntax.typ -> - (FStar_Tactics_Types.proofstate * FStar_Syntax_Syntax.term)) - = - fun rng -> - fun env1 -> - fun typ -> - let env2 = tac_env env1 in - let uu___ = FStar_Tactics_Types.goal_of_goal_ty env2 typ in - match uu___ with - | (g, g_u) -> - let ps = - proofstate_of_goals rng env2 [g] - g_u.FStar_TypeChecker_Common.implicits in - let uu___1 = FStar_Tactics_Types.goal_witness g in (ps, uu___1) -let (proofstate_of_all_implicits : - FStar_Compiler_Range_Type.range -> - env -> - implicits -> - (FStar_Tactics_Types.proofstate * FStar_Syntax_Syntax.term)) - = - fun rng -> - fun env1 -> - fun imps -> - let env2 = tac_env env1 in - let goals = - FStar_Compiler_List.map (FStar_Tactics_Types.goal_of_implicit env2) - imps in - let w = - let uu___ = FStar_Compiler_List.hd goals in - FStar_Tactics_Types.goal_witness uu___ in - let ps = - let uu___ = - FStar_TypeChecker_Env.debug env2 - (FStar_Options.Other "TacVerbose") in - let uu___1 = FStar_Compiler_Util.psmap_empty () in - { - FStar_Tactics_Types.main_context = env2; - FStar_Tactics_Types.all_implicits = imps; - FStar_Tactics_Types.goals = goals; - FStar_Tactics_Types.smt_goals = []; - FStar_Tactics_Types.depth = Prims.int_zero; - FStar_Tactics_Types.__dump = - FStar_Tactics_Printing.do_dump_proofstate; - 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.int_zero; - FStar_Tactics_Types.tac_verb_dbg = uu___; - FStar_Tactics_Types.local_state = uu___1; - FStar_Tactics_Types.urgency = Prims.int_one - } in - (ps, w) \ No newline at end of file + FStar_Tactics_Monad.ret uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Derived.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Derived.ml new file mode 100644 index 00000000000..b7e5f3fe7b3 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Derived.ml @@ -0,0 +1,5499 @@ +open Prims +let op_At : + 'uuuuu . + unit -> 'uuuuu Prims.list -> 'uuuuu Prims.list -> 'uuuuu Prims.list + = fun uu___ -> FStar_List_Tot_Base.op_At +let (name_of_bv : + FStar_Reflection_Types.bv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun bv -> + FStar_Tactics_Unseal.unseal + (FStar_Reflection_V1_Builtins.inspect_bv bv).FStar_Reflection_V1_Data.bv_ppname +let (bv_to_string : + FStar_Reflection_Types.bv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun bv -> name_of_bv bv +let (name_of_binder : + FStar_Reflection_Types.binder -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun b -> name_of_bv (FStar_Reflection_V1_Derived.bv_of_binder b) +let (binder_to_string : + FStar_Reflection_Types.binder -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun b -> bv_to_string (FStar_Reflection_V1_Derived.bv_of_binder b) +exception Goal_not_trivial +let (uu___is_Goal_not_trivial : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | Goal_not_trivial -> true | uu___ -> false +let (goals : + unit -> + (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (47)) (Prims.of_int (42)) (Prims.of_int (47)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (47)) (Prims.of_int (33)) (Prims.of_int (47)) + (Prims.of_int (50))))) (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)) +let (smt_goals : + unit -> + (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (48)) (Prims.of_int (50)) (Prims.of_int (48)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (48)) (Prims.of_int (37)) (Prims.of_int (48)) + (Prims.of_int (58))))) (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.smt_goals_of uu___1)) +let fail : 'a . Prims.string -> ('a, Obj.t) FStar_Tactics_Effect.tac_repr = + fun m -> FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m) +let fail_silently : + 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = + fun m -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (56)) (Prims.of_int (4)) (Prims.of_int (56)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (57)) (Prims.of_int (4)) (Prims.of_int (57)) + (Prims.of_int (30))))) + (Obj.magic (FStar_Tactics_V1_Builtins.set_urgency Prims.int_zero)) + (fun uu___ -> + FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m)) +let (_cur_goal : + unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (61)) (Prims.of_int (10)) (Prims.of_int (61)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (61)) (Prims.of_int (4)) (Prims.of_int (63)) + (Prims.of_int (15))))) (Obj.magic (goals ())) + (fun uu___1 -> + match uu___1 with + | [] -> fail "no more goals" + | g::uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> g)) +let (cur_env : + unit -> (FStar_Reflection_Types.env, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (66)) (Prims.of_int (36)) (Prims.of_int (66)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (66)) (Prims.of_int (27)) (Prims.of_int (66)) + (Prims.of_int (50))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_env uu___1)) +let (cur_goal : + unit -> (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (69)) (Prims.of_int (38)) (Prims.of_int (69)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (69)) (Prims.of_int (28)) (Prims.of_int (69)) + (Prims.of_int (52))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_type uu___1)) +let (cur_witness : + unit -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (72)) (Prims.of_int (45)) (Prims.of_int (72)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (72)) (Prims.of_int (32)) (Prims.of_int (72)) + (Prims.of_int (59))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_witness uu___1)) +let (cur_goal_safe : + unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (79)) (Prims.of_int (9)) (Prims.of_int (79)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (79)) (Prims.of_int (3)) (Prims.of_int (80)) + (Prims.of_int (16))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (79)) (Prims.of_int (18)) + (Prims.of_int (79)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (79)) (Prims.of_int (9)) + (Prims.of_int (79)) (Prims.of_int (26))))) + (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> match uu___1 with | g::uu___3 -> g)) +let (cur_binders : + unit -> + (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (84)) (Prims.of_int (19)) (Prims.of_int (84)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (84)) (Prims.of_int (4)) (Prims.of_int (84)) + (Prims.of_int (31))))) (Obj.magic (cur_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Reflection_V1_Builtins.binders_of_env uu___1)) +let with_policy : + 'a . + FStar_Tactics_Types.guard_policy -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun pol -> + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (88)) (Prims.of_int (18)) (Prims.of_int (88)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (89)) (Prims.of_int (4)) (Prims.of_int (92)) + (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Builtins.get_guard_policy ())) + (fun uu___ -> + (fun old_pol -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (89)) (Prims.of_int (4)) + (Prims.of_int (89)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (89)) (Prims.of_int (25)) + (Prims.of_int (92)) (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_guard_policy pol)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (90)) + (Prims.of_int (12)) + (Prims.of_int (90)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (91)) (Prims.of_int (4)) + (Prims.of_int (92)) (Prims.of_int (5))))) + (Obj.magic (f ())) + (fun uu___1 -> + (fun r -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (91)) + (Prims.of_int (4)) + (Prims.of_int (91)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (90)) + (Prims.of_int (8)) + (Prims.of_int (90)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_guard_policy + old_pol)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> r)))) uu___1))) + uu___))) uu___) +let (exact : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.SMT + (fun uu___ -> FStar_Tactics_V1_Builtins.t_exact true false t) +let (exact_with_ref : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.SMT + (fun uu___ -> FStar_Tactics_V1_Builtins.t_exact true true t) +let (trivial : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (106)) (Prims.of_int (2)) (Prims.of_int (106)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (106)) (Prims.of_int (62)) (Prims.of_int (110)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.iota; + FStar_Pervasives.zeta; + FStar_Pervasives.reify_; + FStar_Pervasives.delta; + FStar_Pervasives.primops; + FStar_Pervasives.simplify; + FStar_Pervasives.unmeta])) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (107)) (Prims.of_int (10)) + (Prims.of_int (107)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (108)) (Prims.of_int (2)) + (Prims.of_int (110)) (Prims.of_int (31))))) + (Obj.magic (cur_goal ())) + (fun uu___2 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (108)) (Prims.of_int (8)) + (Prims.of_int (108)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (108)) (Prims.of_int (2)) + (Prims.of_int (110)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula g)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V1_Formula.True_ -> + Obj.magic + (Obj.repr + (exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)))) + | uu___3 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + Goal_not_trivial))) uu___2))) + uu___2))) uu___1) +let (dismiss : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (122)) (Prims.of_int (10)) (Prims.of_int (122)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (122)) (Prims.of_int (4)) (Prims.of_int (124)) + (Prims.of_int (27))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | [] -> Obj.magic (Obj.repr (fail "dismiss: no more goals")) + | uu___2::gs -> + Obj.magic (Obj.repr (FStar_Tactics_V1_Builtins.set_goals gs))) + uu___1) +let (flip : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (128)) (Prims.of_int (13)) (Prims.of_int (128)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (129)) (Prims.of_int (4)) (Prims.of_int (131)) + (Prims.of_int (42))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun gs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (129)) (Prims.of_int (10)) + (Prims.of_int (129)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (129)) (Prims.of_int (4)) + (Prims.of_int (131)) (Prims.of_int (42))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | [] -> + Obj.magic + (Obj.repr (fail "flip: less than two goals")) + | uu___2::[] -> + Obj.magic + (Obj.repr (fail "flip: less than two goals")) + | g1::g2::gs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Builtins.set_goals (g2 :: + g1 :: gs1)))) uu___1))) uu___1) +let (qed : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (135)) (Prims.of_int (10)) (Prims.of_int (135)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (135)) (Prims.of_int (4)) (Prims.of_int (137)) + (Prims.of_int (32))))) (Obj.magic (goals ())) + (fun uu___1 -> + match uu___1 with + | [] -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()) + | uu___2 -> fail "qed: not done!") +let (debug : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun m -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (143)) (Prims.of_int (7)) (Prims.of_int (143)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (143)) (Prims.of_int (4)) (Prims.of_int (143)) + (Prims.of_int (32))))) + (Obj.magic (FStar_Tactics_V1_Builtins.debugging ())) + (fun uu___ -> + (fun uu___ -> + if uu___ + then Obj.magic (Obj.repr (FStar_Tactics_V1_Builtins.print m)) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())))) + uu___) +let (smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (10)) (Prims.of_int (150)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (4)) (Prims.of_int (156)) + (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (10)) + (Prims.of_int (150)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (10)) + (Prims.of_int (150)) (Prims.of_int (32))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (20)) + (Prims.of_int (150)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (150)) (Prims.of_int (10)) + (Prims.of_int (150)) (Prims.of_int (32))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | ([], uu___2) -> + Obj.magic (Obj.repr (fail "smt: no active goals")) + | (g::gs, gs') -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (154)) (Prims.of_int (8)) + (Prims.of_int (154)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (155)) (Prims.of_int (8)) + (Prims.of_int (155)) (Prims.of_int (32))))) + (Obj.magic (FStar_Tactics_V1_Builtins.set_goals gs)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals (g + :: gs'))) uu___2)))) uu___1) +let (idtac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + uu___ +let (later : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (162)) (Prims.of_int (10)) (Prims.of_int (162)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (162)) (Prims.of_int (4)) (Prims.of_int (164)) + (Prims.of_int (33))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | g::gs -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Builtins.set_goals ((op_At ()) gs [g]))) + | uu___2 -> Obj.magic (Obj.repr (fail "later: no goals"))) uu___1) +let (apply : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply true false false t +let (apply_noinst : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply true true false t +let (apply_lemma : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply_lemma false false t +let (trefl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V1_Builtins.t_trefl false +let (trefl_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V1_Builtins.t_trefl true +let (commute_applied_match : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V1_Builtins.t_commute_applied_match () +let (apply_lemma_noinst : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply_lemma true false t +let (apply_lemma_rw : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply_lemma false true t +let (apply_raw : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V1_Builtins.t_apply false false false t +let (exact_guard : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.Goal + (fun uu___ -> FStar_Tactics_V1_Builtins.t_exact true false t) +let (t_pointwise : + FStar_Tactics_Types.direction -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun d -> + fun tau -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (223)) (Prims.of_int (4)) (Prims.of_int (223)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (224)) (Prims.of_int (4)) (Prims.of_int (228)) + (Prims.of_int (24))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + fun uu___ -> + (fun uu___ -> + fun t -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (true, FStar_Tactics_Types.Continue)))) + uu___1 uu___)) + (fun uu___ -> + (fun ctrl -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (226)) (Prims.of_int (4)) + (Prims.of_int (226)) (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (228)) (Prims.of_int (2)) + (Prims.of_int (228)) (Prims.of_int (24))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> fun uu___1 -> tau ())) + (fun uu___ -> + (fun rw -> + Obj.magic + (FStar_Tactics_V1_Builtins.ctrl_rewrite d ctrl rw)) + uu___))) uu___) +let (topdown_rewrite : + (FStar_Reflection_Types.term -> + ((Prims.bool * Prims.int), unit) FStar_Tactics_Effect.tac_repr) + -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun ctrl -> + fun rw -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (252)) (Prims.of_int (49)) + (Prims.of_int (261)) (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (263)) (Prims.of_int (4)) (Prims.of_int (263)) + (Prims.of_int (33))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (253)) (Prims.of_int (17)) + (Prims.of_int (253)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (252)) (Prims.of_int (49)) + (Prims.of_int (261)) (Prims.of_int (10))))) + (Obj.magic (ctrl t)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (b, i) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (255)) + (Prims.of_int (8)) + (Prims.of_int (259)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (261)) + (Prims.of_int (6)) + (Prims.of_int (261)) + (Prims.of_int (10))))) + (match i with + | uu___2 when uu___2 = Prims.int_zero -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Continue) + | uu___2 when uu___2 = Prims.int_one -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Skip) + | uu___2 when uu___2 = (Prims.of_int (2)) + -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Abort) + | uu___2 -> + fail + "topdown_rewrite: bad value from ctrl") + (fun f -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (b, f))))) uu___1))) + (fun uu___ -> + (fun ctrl' -> + Obj.magic + (FStar_Tactics_V1_Builtins.ctrl_rewrite + FStar_Tactics_Types.TopDown ctrl' rw)) uu___) +let (pointwise : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun tau -> t_pointwise FStar_Tactics_Types.BottomUp tau +let (pointwise' : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun tau -> t_pointwise FStar_Tactics_Types.TopDown tau +let (cur_module : + unit -> (FStar_Reflection_Types.name, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (269)) (Prims.of_int (13)) (Prims.of_int (269)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (269)) (Prims.of_int (4)) (Prims.of_int (269)) + (Prims.of_int (25))))) + (Obj.magic (FStar_Tactics_V1_Builtins.top_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Reflection_V1_Builtins.moduleof uu___1)) +let (open_modules : + unit -> + (FStar_Reflection_Types.name Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (272)) (Prims.of_int (21)) (Prims.of_int (272)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (272)) (Prims.of_int (4)) (Prims.of_int (272)) + (Prims.of_int (33))))) + (Obj.magic (FStar_Tactics_V1_Builtins.top_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Builtins.env_open_modules uu___1)) +let (fresh_uvar : + FStar_Reflection_Types.typ FStar_Pervasives_Native.option -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun o -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (275)) (Prims.of_int (12)) (Prims.of_int (275)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (276)) (Prims.of_int (4)) (Prims.of_int (276)) + (Prims.of_int (16))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V1_Builtins.uvar_env e o)) uu___) +let (unify : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (279)) (Prims.of_int (12)) + (Prims.of_int (279)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (280)) (Prims.of_int (4)) (Prims.of_int (280)) + (Prims.of_int (21))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V1_Builtins.unify_env e t1 t2)) + uu___) +let (unify_guard : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (283)) (Prims.of_int (12)) + (Prims.of_int (283)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (284)) (Prims.of_int (4)) (Prims.of_int (284)) + (Prims.of_int (27))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> + Obj.magic (FStar_Tactics_V1_Builtins.unify_guard_env e t1 t2)) + uu___) +let (tmatch : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (287)) (Prims.of_int (12)) + (Prims.of_int (287)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (288)) (Prims.of_int (4)) (Prims.of_int (288)) + (Prims.of_int (21))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V1_Builtins.match_env e t1 t2)) + uu___) +let divide : + 'a 'b . + Prims.int -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> + (('a * 'b), unit) FStar_Tactics_Effect.tac_repr + = + fun n -> + fun l -> + fun r -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (294)) (Prims.of_int (4)) + (Prims.of_int (295)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (295)) (Prims.of_int (32)) + (Prims.of_int (308)) (Prims.of_int (10))))) + (if n < Prims.int_zero + then fail "divide: negative n" + else FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) (Prims.of_int (18)) + (Prims.of_int (296)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (295)) (Prims.of_int (32)) + (Prims.of_int (308)) (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) (Prims.of_int (18)) + (Prims.of_int (296)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) (Prims.of_int (18)) + (Prims.of_int (296)) (Prims.of_int (40))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) + (Prims.of_int (28)) + (Prims.of_int (296)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) + (Prims.of_int (18)) + (Prims.of_int (296)) + (Prims.of_int (40))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (297)) + (Prims.of_int (19)) + (Prims.of_int (297)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (296)) + (Prims.of_int (43)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_List_Tot_Base.splitAt n gs)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | (gs1, gs2) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (299)) + (Prims.of_int (4)) + (Prims.of_int (299)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (299)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + gs1)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (299)) + (Prims.of_int (19)) + (Prims.of_int (299)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (299)) + (Prims.of_int (36)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + [])) + (fun uu___4 -> + (fun uu___4 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (300)) + (Prims.of_int (12)) + (Prims.of_int (300)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (300)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (l ())) + (fun + uu___5 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (301)) + (Prims.of_int (20)) + (Prims.of_int (301)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (300)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (301)) + (Prims.of_int (20)) + (Prims.of_int (301)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (301)) + (Prims.of_int (20)) + (Prims.of_int (301)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun + uu___5 -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (301)) + (Prims.of_int (30)) + (Prims.of_int (301)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (301)) + (Prims.of_int (20)) + (Prims.of_int (301)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___6 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___7 -> + (uu___5, + uu___6))))) + uu___5))) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + (gsl, + sgsl) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (303)) + (Prims.of_int (4)) + (Prims.of_int (303)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (303)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + gs2)) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (303)) + (Prims.of_int (19)) + (Prims.of_int (303)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (303)) + (Prims.of_int (36)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + [])) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (304)) + (Prims.of_int (12)) + (Prims.of_int (304)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (304)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (r ())) + (fun + uu___8 -> + (fun y -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (305)) + (Prims.of_int (20)) + (Prims.of_int (305)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (304)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (305)) + (Prims.of_int (20)) + (Prims.of_int (305)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (305)) + (Prims.of_int (20)) + (Prims.of_int (305)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun + uu___8 -> + (fun + uu___8 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (305)) + (Prims.of_int (30)) + (Prims.of_int (305)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (305)) + (Prims.of_int (20)) + (Prims.of_int (305)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___9 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___10 + -> + (uu___8, + uu___9))))) + uu___8))) + (fun + uu___8 -> + (fun + uu___8 -> + match uu___8 + with + | + (gsr, + sgsr) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (4)) + (Prims.of_int (307)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (27)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + ((op_At + ()) gsl + gsr))) + (fun + uu___9 -> + (fun + uu___9 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (27)) + (Prims.of_int (307)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (308)) + (Prims.of_int (4)) + (Prims.of_int (308)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + ((op_At + ()) sgs + ((op_At + ()) sgsl + sgsr)))) + (fun + uu___10 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___11 + -> (x, y))))) + uu___9))) + uu___8))) + uu___8))) + uu___7))) + uu___6))) + uu___5))) + uu___5))) + uu___4))) + uu___3))) uu___2))) + uu___1))) uu___) +let rec (iseq : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun ts -> + match ts with + | t::ts1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (312)) (Prims.of_int (23)) + (Prims.of_int (312)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (312)) (Prims.of_int (57)) + (Prims.of_int (312)) (Prims.of_int (59))))) + (Obj.magic + (divide Prims.int_one t (fun uu___ -> iseq ts1))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())))) + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ())))) + uu___ +let focus : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (318)) (Prims.of_int (10)) (Prims.of_int (318)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (318)) (Prims.of_int (4)) (Prims.of_int (325)) + (Prims.of_int (9))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "focus: no goals")) + | g::gs -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (321)) (Prims.of_int (18)) + (Prims.of_int (321)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (322)) (Prims.of_int (8)) + (Prims.of_int (325)) (Prims.of_int (9))))) + (Obj.magic (smt_goals ())) + (fun uu___1 -> + (fun sgs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (322)) + (Prims.of_int (8)) + (Prims.of_int (322)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (322)) + (Prims.of_int (23)) + (Prims.of_int (325)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + [g])) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (322)) + (Prims.of_int (23)) + (Prims.of_int (322)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (322)) + (Prims.of_int (40)) + (Prims.of_int (325)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (323)) + (Prims.of_int (16)) + (Prims.of_int (323)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (8)) + (Prims.of_int (325)) + (Prims.of_int (9))))) + (Obj.magic (t ())) + (fun uu___3 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (8)) + (Prims.of_int (324)) + (Prims.of_int (33))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (35)) + (Prims.of_int (325)) + (Prims.of_int (9))))) + ( + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (18)) + (Prims.of_int (324)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (8)) + (Prims.of_int (324)) + (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (19)) + (Prims.of_int (324)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (18)) + (Prims.of_int (324)) + (Prims.of_int (33))))) + (Obj.magic + (goals ())) + (fun + uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___4 -> + (op_At ()) + uu___3 gs)))) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + uu___3)) + uu___3))) + ( + fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (35)) + (Prims.of_int (324)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (323)) + (Prims.of_int (12)) + (Prims.of_int (323)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (49)) + (Prims.of_int (324)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (35)) + (Prims.of_int (324)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (50)) + (Prims.of_int (324)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (324)) + (Prims.of_int (49)) + (Prims.of_int (324)) + (Prims.of_int (69))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + (op_At ()) + uu___4 + sgs)))) + (fun + uu___4 -> + (fun + uu___4 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + uu___4)) + uu___4))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + x)))) + uu___3))) + uu___3))) + uu___2))) uu___1))) uu___1)))) + uu___) +let (dump1 : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun m -> focus (fun uu___ -> FStar_Tactics_V1_Builtins.dump m) +let rec mapAll : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (331)) (Prims.of_int (10)) (Prims.of_int (331)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (331)) (Prims.of_int (4)) (Prims.of_int (333)) + (Prims.of_int (66))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> []))) + | uu___1::uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (333)) (Prims.of_int (27)) + (Prims.of_int (333)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (333)) (Prims.of_int (13)) + (Prims.of_int (333)) (Prims.of_int (66))))) + (Obj.magic + (divide Prims.int_one t (fun uu___3 -> mapAll t))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> + match uu___3 with | (h, t1) -> h :: t1))))) + uu___) +let rec (iterAll : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (337)) (Prims.of_int (10)) (Prims.of_int (337)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (337)) (Prims.of_int (4)) (Prims.of_int (339)) + (Prims.of_int (60))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + | uu___1::uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (339)) (Prims.of_int (22)) + (Prims.of_int (339)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (339)) (Prims.of_int (58)) + (Prims.of_int (339)) (Prims.of_int (60))))) + (Obj.magic + (divide Prims.int_one t (fun uu___3 -> iterAll t))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ()))))) uu___) +let (iterAllSMT : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (18)) (Prims.of_int (342)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (341)) (Prims.of_int (50)) (Prims.of_int (348)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (18)) + (Prims.of_int (342)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (18)) + (Prims.of_int (342)) (Prims.of_int (40))))) + (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (28)) + (Prims.of_int (342)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (18)) + (Prims.of_int (342)) (Prims.of_int (40))))) + (Obj.magic (smt_goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (uu___, uu___1))))) uu___))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (343)) (Prims.of_int (4)) + (Prims.of_int (343)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (344)) (Prims.of_int (4)) + (Prims.of_int (348)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V1_Builtins.set_goals sgs)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (344)) + (Prims.of_int (4)) + (Prims.of_int (344)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (345)) + (Prims.of_int (4)) + (Prims.of_int (348)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (345)) + (Prims.of_int (4)) + (Prims.of_int (345)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (345)) + (Prims.of_int (14)) + (Prims.of_int (348)) + (Prims.of_int (28))))) + (Obj.magic (iterAll t)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (346)) + (Prims.of_int (20)) + (Prims.of_int (346)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (345)) + (Prims.of_int (14)) + (Prims.of_int (348)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (346)) + (Prims.of_int (20)) + (Prims.of_int (346)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (346)) + (Prims.of_int (20)) + (Prims.of_int (346)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (346)) + (Prims.of_int (30)) + (Prims.of_int (346)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (346)) + (Prims.of_int (20)) + (Prims.of_int (346)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___5 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___6 -> + (uu___4, + uu___5))))) + uu___4))) + (fun uu___4 -> + (fun uu___4 -> + match uu___4 with + | (gs', sgs') -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (347)) + (Prims.of_int (4)) + (Prims.of_int (347)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (348)) + (Prims.of_int (4)) + (Prims.of_int (348)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals + gs)) + (fun + uu___5 -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + ((op_At + ()) gs' + sgs'))) + uu___5))) + uu___4))) uu___3))) + uu___2))) uu___1))) uu___) +let (seq : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun f -> + fun g -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (354)) (Prims.of_int (21)) + (Prims.of_int (354)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (354)) (Prims.of_int (27)) + (Prims.of_int (354)) (Prims.of_int (36))))) + (Obj.magic (f ())) + (fun uu___1 -> (fun uu___1 -> Obj.magic (iterAll g)) uu___1)) +let (exact_args : + FStar_Reflection_V1_Data.aqualv Prims.list -> + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun qs -> + fun t -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (358)) (Prims.of_int (16)) + (Prims.of_int (358)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (358)) (Prims.of_int (42)) + (Prims.of_int (364)) (Prims.of_int (44))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_List_Tot_Base.length qs)) + (fun uu___1 -> + (fun n -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (359)) (Prims.of_int (18)) + (Prims.of_int (359)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (359)) (Prims.of_int (58)) + (Prims.of_int (364)) (Prims.of_int (44))))) + (Obj.magic + (FStar_Tactics_Util.repeatn n + (fun uu___1 -> + fresh_uvar FStar_Pervasives_Native.None))) + (fun uu___1 -> + (fun uvs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (360)) + (Prims.of_int (17)) + (Prims.of_int (360)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (361)) + (Prims.of_int (8)) + (Prims.of_int (364)) + (Prims.of_int (44))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (360)) + (Prims.of_int (26)) + (Prims.of_int (360)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (360)) + (Prims.of_int (17)) + (Prims.of_int (360)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Util.zip uvs qs)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Derived.mk_app + t uu___1)))) + (fun uu___1 -> + (fun t' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (361)) + (Prims.of_int (8)) + (Prims.of_int (361)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (362)) + (Prims.of_int (8)) + (Prims.of_int (364)) + (Prims.of_int (44))))) + (Obj.magic (exact t')) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Util.iter + (fun uu___2 -> + (fun uv -> + if + FStar_Reflection_V1_Derived.is_uvar + uv + then + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Builtins.unshelve + uv)) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + ())))) + uu___2) + (FStar_List_Tot_Base.rev + uvs))) uu___1))) + uu___1))) uu___1))) uu___1)) +let (exact_n : + Prims.int -> + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun n -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (368)) (Prims.of_int (15)) + (Prims.of_int (368)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (368)) (Prims.of_int (4)) (Prims.of_int (368)) + (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Util.repeatn n + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Reflection_V1_Data.Q_Explicit))) + uu___))) + (fun uu___ -> (fun uu___ -> Obj.magic (exact_args uu___ t)) uu___) +let (ngoals : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (371)) (Prims.of_int (47)) (Prims.of_int (371)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (371)) (Prims.of_int (26)) (Prims.of_int (371)) + (Prims.of_int (57))))) (Obj.magic (goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) +let (ngoals_smt : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (374)) (Prims.of_int (51)) (Prims.of_int (374)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (374)) (Prims.of_int (30)) (Prims.of_int (374)) + (Prims.of_int (65))))) (Obj.magic (smt_goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) +let (fresh_bv : + unit -> (FStar_Reflection_Types.bv, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (382)) (Prims.of_int (12)) (Prims.of_int (382)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (383)) (Prims.of_int (4)) (Prims.of_int (383)) + (Prims.of_int (42))))) + (Obj.magic (FStar_Tactics_V1_Builtins.fresh ())) + (fun uu___1 -> + (fun i -> + Obj.magic + (FStar_Tactics_V1_Builtins.fresh_bv_named + (Prims.strcat "x" (Prims.string_of_int i)))) uu___1) +let (fresh_binder_named : + Prims.string -> + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun nm -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (386)) (Prims.of_int (14)) + (Prims.of_int (386)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (386)) (Prims.of_int (4)) (Prims.of_int (386)) + (Prims.of_int (35))))) + (Obj.magic (FStar_Tactics_V1_Builtins.fresh_bv_named nm)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Reflection_V1_Derived.mk_binder uu___ t)) +let (fresh_binder : + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (390)) (Prims.of_int (12)) (Prims.of_int (390)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (391)) (Prims.of_int (4)) (Prims.of_int (391)) + (Prims.of_int (48))))) + (Obj.magic (FStar_Tactics_V1_Builtins.fresh ())) + (fun uu___ -> + (fun i -> + Obj.magic + (fresh_binder_named (Prims.strcat "x" (Prims.string_of_int i)) + t)) uu___) +let (fresh_implicit_binder_named : + Prims.string -> + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun nm -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (394)) (Prims.of_int (23)) + (Prims.of_int (394)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (394)) (Prims.of_int (4)) (Prims.of_int (394)) + (Prims.of_int (44))))) + (Obj.magic (FStar_Tactics_V1_Builtins.fresh_bv_named nm)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Derived.mk_implicit_binder uu___ t)) +let (fresh_implicit_binder : + FStar_Reflection_Types.typ -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (398)) (Prims.of_int (12)) (Prims.of_int (398)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (399)) (Prims.of_int (4)) (Prims.of_int (399)) + (Prims.of_int (57))))) + (Obj.magic (FStar_Tactics_V1_Builtins.fresh ())) + (fun uu___ -> + (fun i -> + Obj.magic + (fresh_implicit_binder_named + (Prims.strcat "x" (Prims.string_of_int i)) t)) uu___) +let (guard : Prims.bool -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun b -> + if Prims.op_Negation b + then Obj.magic (fail "guard failed") + else Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + uu___ +let try_with : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (Prims.exn -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + fun h -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (412)) (Prims.of_int (10)) + (Prims.of_int (412)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (412)) (Prims.of_int (4)) (Prims.of_int (414)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V1_Builtins.catch f)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives.Inl e -> Obj.magic (Obj.repr (h e)) + | FStar_Pervasives.Inr x -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) + uu___) +let trytac : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (417)) (Prims.of_int (13)) + (Prims.of_int (417)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (417)) (Prims.of_int (8)) + (Prims.of_int (417)) (Prims.of_int (19))))) + (Obj.magic (t ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Pervasives_Native.Some uu___1))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Pervasives_Native.None))) uu___) +let or_else : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t1 -> + fun t2 -> + try_with (fun uu___ -> match () with | () -> t1 ()) + (fun uu___ -> t2 ()) +let op_Less_Bar_Greater : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + unit -> ('a, unit) FStar_Tactics_Effect.tac_repr + = fun t1 -> fun t2 -> fun uu___ -> or_else t1 t2 +let first : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun ts -> + FStar_List_Tot_Base.fold_right op_Less_Bar_Greater ts + (fun uu___ -> (fun uu___ -> Obj.magic (fail "no tactics to try")) uu___) + () +let rec repeat : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (434)) (Prims.of_int (10)) (Prims.of_int (434)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (434)) (Prims.of_int (4)) (Prims.of_int (436)) + (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V1_Builtins.catch t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives.Inl uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> []))) + | FStar_Pervasives.Inr x -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (436)) (Prims.of_int (20)) + (Prims.of_int (436)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (436)) (Prims.of_int (15)) + (Prims.of_int (436)) (Prims.of_int (28))))) + (Obj.magic (repeat t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> x :: uu___1))))) uu___) +let repeat1 : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (439)) (Prims.of_int (4)) (Prims.of_int (439)) + (Prims.of_int (8))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (439)) (Prims.of_int (4)) (Prims.of_int (439)) + (Prims.of_int (20))))) (Obj.magic (t ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (439)) (Prims.of_int (12)) + (Prims.of_int (439)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (439)) (Prims.of_int (4)) + (Prims.of_int (439)) (Prims.of_int (20))))) + (Obj.magic (repeat t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___ :: uu___1)))) uu___) +let repeat' : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (442)) (Prims.of_int (12)) (Prims.of_int (442)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (442)) (Prims.of_int (24)) (Prims.of_int (442)) + (Prims.of_int (26))))) (Obj.magic (repeat f)) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (norm_term : + FStar_Pervasives.norm_step Prims.list -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (446)) (Prims.of_int (8)) (Prims.of_int (447)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (449)) (Prims.of_int (4)) (Prims.of_int (449)) + (Prims.of_int (23))))) + (Obj.magic + (try_with (fun uu___ -> match () with | () -> cur_env ()) + (fun uu___ -> FStar_Tactics_V1_Builtins.top_env ()))) + (fun uu___ -> + (fun e -> + Obj.magic (FStar_Tactics_V1_Builtins.norm_term_env e s t)) + uu___) +let (join_all_smt_goals : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (456)) (Prims.of_int (16)) (Prims.of_int (456)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (455)) (Prims.of_int (27)) (Prims.of_int (462)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (456)) (Prims.of_int (16)) + (Prims.of_int (456)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (456)) (Prims.of_int (16)) + (Prims.of_int (456)) (Prims.of_int (38))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (456)) (Prims.of_int (26)) + (Prims.of_int (456)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (456)) (Prims.of_int (16)) + (Prims.of_int (456)) (Prims.of_int (38))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (457)) (Prims.of_int (2)) + (Prims.of_int (457)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (458)) (Prims.of_int (2)) + (Prims.of_int (462)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V1_Builtins.set_smt_goals [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (458)) + (Prims.of_int (2)) + (Prims.of_int (458)) + (Prims.of_int (15))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (459)) + (Prims.of_int (2)) + (Prims.of_int (462)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.set_goals sgs)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (459)) + (Prims.of_int (2)) + (Prims.of_int (459)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (459)) + (Prims.of_int (15)) + (Prims.of_int (462)) + (Prims.of_int (20))))) + (Obj.magic + (repeat' + FStar_Tactics_V1_Builtins.join)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (460)) + (Prims.of_int (13)) + (Prims.of_int (460)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (461)) + (Prims.of_int (2)) + (Prims.of_int (462)) + (Prims.of_int (20))))) + (Obj.magic (goals ())) + (fun uu___5 -> + (fun sgs' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (461)) + (Prims.of_int (2)) + (Prims.of_int (461)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (462)) + (Prims.of_int (2)) + (Prims.of_int (462)) + (Prims.of_int (20))))) + (Obj.magic + ( + FStar_Tactics_V1_Builtins.set_goals + gs)) + (fun uu___5 + -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_smt_goals + sgs')) + uu___5))) + uu___5))) uu___4))) + uu___3))) uu___2))) uu___1) +let discard : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun tau -> + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (465)) (Prims.of_int (22)) + (Prims.of_int (465)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (465)) (Prims.of_int (32)) + (Prims.of_int (465)) (Prims.of_int (34))))) + (Obj.magic (tau ())) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let rec repeatseq : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (469)) (Prims.of_int (12)) (Prims.of_int (469)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (469)) (Prims.of_int (86)) (Prims.of_int (469)) + (Prims.of_int (88))))) + (Obj.magic + (trytac + (fun uu___ -> + seq (discard t) (discard (fun uu___1 -> repeatseq t))))) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (tadmit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Builtins.tadmit_t + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_Unit)) +let (admit1 : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> tadmit () +let (admit_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (477)) (Prims.of_int (12)) (Prims.of_int (477)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (478)) (Prims.of_int (4)) (Prims.of_int (478)) + (Prims.of_int (6))))) (Obj.magic (repeat tadmit)) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (is_guard : unit -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (482)) (Prims.of_int (27)) (Prims.of_int (482)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (482)) (Prims.of_int (4)) (Prims.of_int (482)) + (Prims.of_int (41))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.is_guard uu___1)) +let (skip_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (485)) (Prims.of_int (7)) (Prims.of_int (485)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (485)) (Prims.of_int (4)) (Prims.of_int (487)) + (Prims.of_int (16))))) (Obj.magic (is_guard ())) + (fun uu___1 -> + (fun uu___1 -> + if uu___1 + then Obj.magic (Obj.repr (smt ())) + else Obj.magic (Obj.repr (fail ""))) uu___1) +let (guards_to_smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (490)) (Prims.of_int (12)) (Prims.of_int (490)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (4)) (Prims.of_int (491)) + (Prims.of_int (6))))) (Obj.magic (repeat skip_guard)) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (simpl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.simplify; FStar_Pervasives.primops] +let (whnf : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.weak; + FStar_Pervasives.hnf; + FStar_Pervasives.primops; + FStar_Pervasives.delta] +let (compute : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.primops; + FStar_Pervasives.iota; + FStar_Pervasives.delta; + FStar_Pervasives.zeta] +let (intros : + unit -> + (FStar_Reflection_Types.binder Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> repeat FStar_Tactics_V1_Builtins.intro +let (intros' : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (499)) (Prims.of_int (36)) (Prims.of_int (499)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (499)) (Prims.of_int (49)) (Prims.of_int (499)) + (Prims.of_int (51))))) (Obj.magic (intros ())) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (destruct : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (500)) (Prims.of_int (37)) (Prims.of_int (500)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (500)) (Prims.of_int (54)) (Prims.of_int (500)) + (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V1_Builtins.t_destruct tm)) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (destruct_intros : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + seq + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (501)) (Prims.of_int (59)) + (Prims.of_int (501)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (501)) (Prims.of_int (76)) + (Prims.of_int (501)) (Prims.of_int (78))))) + (Obj.magic (FStar_Tactics_V1_Builtins.t_destruct tm)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))) intros' +let __cut : 'a 'b . ('a -> 'b) -> 'a -> 'b = fun f -> fun x -> f x +let (tcut : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (507)) (Prims.of_int (12)) (Prims.of_int (507)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (507)) (Prims.of_int (26)) (Prims.of_int (510)) + (Prims.of_int (12))))) (Obj.magic (cur_goal ())) + (fun uu___ -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (508)) (Prims.of_int (13)) + (Prims.of_int (508)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (509)) (Prims.of_int (4)) + (Prims.of_int (510)) (Prims.of_int (12))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V1_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "__cut"]))) [t; g])) + (fun uu___ -> + (fun tt -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (509)) (Prims.of_int (4)) + (Prims.of_int (509)) (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (510)) (Prims.of_int (4)) + (Prims.of_int (510)) (Prims.of_int (12))))) + (Obj.magic (apply tt)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_V1_Builtins.intro ())) + uu___))) uu___))) uu___) +let (pose : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (513)) (Prims.of_int (4)) (Prims.of_int (513)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (514)) (Prims.of_int (4)) (Prims.of_int (516)) + (Prims.of_int (12))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Derived"; "__cut"]))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (514)) (Prims.of_int (4)) + (Prims.of_int (514)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (515)) (Prims.of_int (4)) + (Prims.of_int (516)) (Prims.of_int (12))))) + (Obj.magic (flip ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (515)) (Prims.of_int (4)) + (Prims.of_int (515)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (516)) (Prims.of_int (4)) + (Prims.of_int (516)) (Prims.of_int (12))))) + (Obj.magic (exact t)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Builtins.intro ())) + uu___2))) uu___1))) uu___) +let (intro_as : + Prims.string -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (519)) (Prims.of_int (12)) (Prims.of_int (519)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (520)) (Prims.of_int (4)) (Prims.of_int (520)) + (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V1_Builtins.rename_to b s)) uu___) +let (pose_as : + Prims.string -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (523)) (Prims.of_int (12)) + (Prims.of_int (523)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (524)) (Prims.of_int (4)) (Prims.of_int (524)) + (Prims.of_int (17))))) (Obj.magic (pose t)) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V1_Builtins.rename_to b s)) + uu___) +let for_each_binder : + 'a . + (FStar_Reflection_Types.binder -> + ('a, unit) FStar_Tactics_Effect.tac_repr) + -> ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (527)) (Prims.of_int (10)) (Prims.of_int (527)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (527)) (Prims.of_int (4)) (Prims.of_int (527)) + (Prims.of_int (26))))) (Obj.magic (cur_binders ())) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_Util.map f uu___)) uu___) +let rec (revert_all : + FStar_Reflection_Types.binders -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | uu___::tl -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (532)) (Prims.of_int (15)) + (Prims.of_int (532)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (533)) (Prims.of_int (15)) + (Prims.of_int (533)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V1_Builtins.revert ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (revert_all tl)) uu___1)))) + uu___ +let (bv_to_term : + FStar_Reflection_Types.bv -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun bv -> + FStar_Tactics_V1_Builtins.pack (FStar_Reflection_V1_Data.Tv_Var bv) +let (binder_to_term : + FStar_Reflection_Types.binder -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (540)) (Prims.of_int (14)) (Prims.of_int (540)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (541)) (Prims.of_int (2)) (Prims.of_int (541)) + (Prims.of_int (28))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V1_Builtins.inspect_binder b)) + (fun uu___ -> + (fun bview -> + Obj.magic (bv_to_term bview.FStar_Reflection_V1_Data.binder_bv)) + uu___) +let (binder_sort : + FStar_Reflection_Types.binder -> + (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + (FStar_Reflection_V1_Builtins.inspect_binder b).FStar_Reflection_V1_Data.binder_sort))) + uu___ +let rec (__assumption_aux : + FStar_Reflection_Types.binders -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> Obj.magic (Obj.repr (fail "no assumption matches goal")) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (553)) (Prims.of_int (16)) + (Prims.of_int (553)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (554)) (Prims.of_int (8)) + (Prims.of_int (557)) (Prims.of_int (27))))) + (Obj.magic (binder_to_term b)) + (fun uu___ -> + (fun t -> + Obj.magic + (try_with + (fun uu___ -> match () with | () -> exact t) + (fun uu___ -> + try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (555)) + (Prims.of_int (13)) + (Prims.of_int (555)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (556)) + (Prims.of_int (13)) + (Prims.of_int (556)) + (Prims.of_int (20))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Squash"; + "return_squash"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic (exact t)) uu___2)) + (fun uu___1 -> __assumption_aux bs1)))) + uu___)))) uu___ +let (assumption : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (560)) (Prims.of_int (21)) (Prims.of_int (560)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (560)) (Prims.of_int (4)) (Prims.of_int (560)) + (Prims.of_int (37))))) (Obj.magic (cur_binders ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (__assumption_aux uu___1)) uu___1) +let (destruct_equality_implication : + FStar_Reflection_Types.term -> + ((FStar_Reflection_V1_Formula.formula * FStar_Reflection_Types.term) + FStar_Pervasives_Native.option, + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (563)) (Prims.of_int (10)) (Prims.of_int (563)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (563)) (Prims.of_int (4)) (Prims.of_int (570)) + (Prims.of_int (15))))) + (Obj.magic (FStar_Reflection_V1_Formula.term_as_formula t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Formula.Implies (lhs, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (565)) (Prims.of_int (18)) + (Prims.of_int (565)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (566)) (Prims.of_int (14)) + (Prims.of_int (568)) (Prims.of_int (19))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' lhs)) + (fun lhs1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match lhs1 with + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq uu___2, + uu___3, uu___4) + -> + FStar_Pervasives_Native.Some (lhs1, rhs) + | uu___2 -> FStar_Pervasives_Native.None)))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Pervasives_Native.None)))) uu___) +let (rewrite' : + FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + op_Less_Bar_Greater + (op_Less_Bar_Greater (fun uu___ -> FStar_Tactics_V1_Builtins.rewrite b) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (579)) (Prims.of_int (20)) + (Prims.of_int (579)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (580)) (Prims.of_int (20)) + (Prims.of_int (581)) (Prims.of_int (29))))) + (Obj.magic (FStar_Tactics_V1_Builtins.binder_retype b)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (580)) (Prims.of_int (20)) + (Prims.of_int (580)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (581)) (Prims.of_int (20)) + (Prims.of_int (581)) (Prims.of_int (29))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "__eq_sym"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Builtins.rewrite b)) + uu___2))) uu___1))) + (fun uu___ -> (fun uu___ -> Obj.magic (fail "rewrite' failed")) uu___) + () +let rec (try_rewrite_equality : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.binders -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun x -> + fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | x_t::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (589)) (Prims.of_int (20)) + (Prims.of_int (589)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (589)) (Prims.of_int (14)) + (Prims.of_int (595)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula + (FStar_Reflection_V1_Derived.type_of_binder x_t))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq uu___1, y, + uu___2) + -> + if FStar_Reflection_V1_Builtins.term_eq x y + then + Obj.magic + (FStar_Tactics_V1_Builtins.rewrite x_t) + else Obj.magic (try_rewrite_equality x bs1) + | uu___1 -> + Obj.magic (try_rewrite_equality x bs1)) + uu___)))) uu___1 uu___ +let rec (rewrite_all_context_equalities : + FStar_Reflection_Types.binders -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | x_t::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (602)) (Prims.of_int (8)) + (Prims.of_int (602)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (603)) (Prims.of_int (8)) + (Prims.of_int (603)) (Prims.of_int (41))))) + (Obj.magic + (try_with + (fun uu___ -> + match () with + | () -> FStar_Tactics_V1_Builtins.rewrite x_t) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> ()))) uu___))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (rewrite_all_context_equalities bs1)) + uu___)))) uu___ +let (rewrite_eqs_from_context : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (607)) (Prims.of_int (35)) (Prims.of_int (607)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (607)) (Prims.of_int (4)) (Prims.of_int (607)) + (Prims.of_int (51))))) (Obj.magic (cur_binders ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (rewrite_all_context_equalities uu___1)) + uu___1) +let (rewrite_equality : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (610)) (Prims.of_int (27)) (Prims.of_int (610)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (610)) (Prims.of_int (4)) (Prims.of_int (610)) + (Prims.of_int (43))))) (Obj.magic (cur_binders ())) + (fun uu___ -> + (fun uu___ -> Obj.magic (try_rewrite_equality t uu___)) uu___) +let (unfold_def : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (613)) (Prims.of_int (10)) (Prims.of_int (613)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (613)) (Prims.of_int (4)) (Prims.of_int (617)) + (Prims.of_int (46))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (615)) (Prims.of_int (16)) + (Prims.of_int (615)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (616)) (Prims.of_int (8)) + (Prims.of_int (616)) (Prims.of_int (30))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Builtins.implode_qn + (FStar_Reflection_V1_Builtins.inspect_fv fv))) + (fun uu___1 -> + (fun n -> + Obj.magic + (FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.delta_fully [n]])) + uu___1))) + | uu___1 -> + Obj.magic (Obj.repr (fail "unfold_def: term is not a fv"))) + uu___) +let (l_to_r : + FStar_Reflection_Types.term Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun lems -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (624)) (Prims.of_int (8)) (Prims.of_int (627)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (628)) (Prims.of_int (4)) (Prims.of_int (628)) + (Prims.of_int (28))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (624)) (Prims.of_int (8)) + (Prims.of_int (627)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (624)) (Prims.of_int (8)) + (Prims.of_int (627)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___3 -> + fun uu___2 -> + (fun k -> + fun l -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + fun uu___3 -> + or_else + (fun uu___4 -> apply_lemma_rw l) + k))) uu___3 uu___2) trefl lems)) + (fun uu___2 -> (fun uu___2 -> Obj.magic (uu___2 ())) uu___2))) + (fun uu___ -> + (fun first_or_trefl -> Obj.magic (pointwise first_or_trefl)) uu___) +let (mk_squash : FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun t -> + let sq = + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.squash_qn)) in + FStar_Reflection_V1_Derived.mk_e_app sq [t] +let (mk_sq_eq : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> FStar_Reflection_Types.term) + = + fun t1 -> + fun t2 -> + let eq = + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_FVar + (FStar_Reflection_V1_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) in + mk_squash (FStar_Reflection_V1_Derived.mk_e_app eq [t1; t2]) +let (grewrite : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (641)) (Prims.of_int (12)) + (Prims.of_int (641)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (641)) (Prims.of_int (36)) + (Prims.of_int (655)) (Prims.of_int (44))))) + (Obj.magic (tcut (mk_sq_eq t1 t2))) + (fun uu___ -> + (fun e -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (642)) (Prims.of_int (12)) + (Prims.of_int (642)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (643)) (Prims.of_int (4)) + (Prims.of_int (655)) (Prims.of_int (44))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder e)))) + (fun uu___ -> + (fun e1 -> + Obj.magic + (pointwise + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (646)) + (Prims.of_int (8)) + (Prims.of_int (651)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (653)) + (Prims.of_int (6)) + (Prims.of_int (655)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (646)) + (Prims.of_int (14)) + (Prims.of_int (646)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (646)) + (Prims.of_int (8)) + (Prims.of_int (651)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (646)) + (Prims.of_int (30)) + (Prims.of_int (646)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (646)) + (Prims.of_int (14)) + (Prims.of_int (646)) + (Prims.of_int (42))))) + (Obj.magic (cur_goal ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula + uu___1)) uu___1))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + match uu___1 with + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq + uu___3, lhs, rhs) + -> + (match FStar_Reflection_V1_Builtins.inspect_ln + lhs + with + | FStar_Reflection_V1_Data.Tv_Uvar + (uu___4, uu___5) -> + true + | uu___4 -> false) + | uu___3 -> false)))) + (fun uu___1 -> + (fun is_uvar -> + if is_uvar + then Obj.magic (trefl ()) + else + Obj.magic + (try_with + (fun uu___2 -> + match () with + | () -> exact e1) + (fun uu___2 -> trefl ()))) + uu___1)))) uu___))) uu___) +let (grewrite_eq : + FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (662)) (Prims.of_int (8)) (Prims.of_int (662)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (662)) (Prims.of_int (2)) (Prims.of_int (674)) + (Prims.of_int (7))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula + (FStar_Reflection_V1_Derived.type_of_binder b))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq uu___1, l, r) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (664)) (Prims.of_int (4)) + (Prims.of_int (664)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (665)) (Prims.of_int (4)) + (Prims.of_int (665)) (Prims.of_int (54))))) + (Obj.magic (grewrite l r)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (iseq + [idtac; + (fun uu___3 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (665)) + (Prims.of_int (34)) + (Prims.of_int (665)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (665)) + (Prims.of_int (28)) + (Prims.of_int (665)) + (Prims.of_int (52))))) + (Obj.magic (binder_to_term b)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic (exact uu___4)) uu___4))])) + uu___2)) + | uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (667)) (Prims.of_int (16)) + (Prims.of_int (667)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (667)) (Prims.of_int (10)) + (Prims.of_int (673)) (Prims.of_int (56))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' + (FStar_Reflection_V1_Derived.type_of_binder b))) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V1_Formula.Comp + (FStar_Reflection_V1_Formula.Eq uu___3, l, r) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (669)) + (Prims.of_int (6)) + (Prims.of_int (669)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (670)) + (Prims.of_int (6)) + (Prims.of_int (671)) + (Prims.of_int (56))))) + (Obj.magic (grewrite l r)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (iseq + [idtac; + (fun uu___5 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (670)) + (Prims.of_int (30)) + (Prims.of_int (670)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (30)) + (Prims.of_int (671)) + (Prims.of_int (54))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "__un_sq_eq"]))))) + (fun uu___6 -> + (fun uu___6 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (36)) + (Prims.of_int (671)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (30)) + (Prims.of_int (671)) + (Prims.of_int (54))))) + (Obj.magic + (binder_to_term + b)) + (fun uu___7 + -> + (fun + uu___7 -> + Obj.magic + (exact + uu___7)) + uu___7))) + uu___6))])) + uu___4))) + | uu___3 -> + Obj.magic + (Obj.repr + (fail + "grewrite_eq: binder type is not an equality"))) + uu___2))) uu___) +let rec (apply_squash_or_lem : + Prims.nat -> + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun d -> + fun t -> + try_with (fun uu___ -> match () with | () -> apply t) + (fun uu___ -> + try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (696)) (Prims.of_int (8)) + (Prims.of_int (696)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (696)) (Prims.of_int (45)) + (Prims.of_int (696)) (Prims.of_int (52))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Squash"; "return_squash"]))))) + (fun uu___2 -> + (fun uu___2 -> Obj.magic (apply t)) uu___2)) + (fun uu___1 -> + try_with (fun uu___2 -> match () with | () -> apply_lemma t) + (fun uu___2 -> + (fun uu___2 -> + if d <= Prims.int_zero + then + Obj.magic (Obj.repr (fail "mapply: out of fuel")) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (702)) + (Prims.of_int (13)) + (Prims.of_int (702)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (702)) + (Prims.of_int (33)) + (Prims.of_int (751)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (702)) + (Prims.of_int (16)) + (Prims.of_int (702)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (702)) + (Prims.of_int (13)) + (Prims.of_int (702)) + (Prims.of_int (30))))) + (Obj.magic (cur_env ())) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_V1_Builtins.tc + uu___4 t)) uu___4))) + (fun uu___4 -> + (fun ty -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (703)) + (Prims.of_int (17)) + (Prims.of_int (703)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (702)) + (Prims.of_int (33)) + (Prims.of_int (751)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Tactics_V1_SyntaxHelpers.collect_arr + ty)) + (fun uu___4 -> + (fun uu___4 -> + match uu___4 with + | (tys, c) -> + (match FStar_Reflection_V1_Builtins.inspect_comp + c + with + | FStar_Reflection_V1_Data.C_Lemma + (pre, post, + uu___5) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (707)) + (Prims.of_int (18)) + (Prims.of_int (707)) + (Prims.of_int (32))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (707)) + (Prims.of_int (35)) + (Prims.of_int (716)) + (Prims.of_int (41))))) + ( + FStar_Tactics_Effect.lift_div_tac + (fun + uu___6 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (post, + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit))))) + ( + fun + uu___6 -> + (fun + post1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (708)) + (Prims.of_int (18)) + (Prims.of_int (708)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (710)) + (Prims.of_int (7)) + (Prims.of_int (716)) + (Prims.of_int (41))))) + (Obj.magic + (norm_term + [] post1)) + (fun + uu___6 -> + (fun + post2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (710)) + (Prims.of_int (13)) + (Prims.of_int (710)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (710)) + (Prims.of_int (7)) + (Prims.of_int (716)) + (Prims.of_int (41))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' + post2)) + (fun + uu___6 -> + (fun + uu___6 -> + match uu___6 + with + | + FStar_Reflection_V1_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (712)) + (Prims.of_int (11)) + (Prims.of_int (712)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (713)) + (Prims.of_int (11)) + (Prims.of_int (713)) + (Prims.of_int (38))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "push1"]))))) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___7))) + | + uu___7 -> + Obj.magic + (Obj.repr + (fail + "mapply: can't apply (1)"))) + uu___6))) + uu___6))) + uu___6))) + | FStar_Reflection_V1_Data.C_Total + rt -> + Obj.magic + (Obj.repr + (match + FStar_Reflection_V1_Derived.unsquash_term + rt + with + | FStar_Pervasives_Native.Some + rt1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (724)) + (Prims.of_int (18)) + (Prims.of_int (724)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (726)) + (Prims.of_int (9)) + (Prims.of_int (732)) + (Prims.of_int (43))))) + (Obj.magic + (norm_term + [] rt1)) + (fun + uu___5 -> + (fun rt2 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (726)) + (Prims.of_int (15)) + (Prims.of_int (726)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (726)) + (Prims.of_int (9)) + (Prims.of_int (732)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' + rt2)) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + FStar_Reflection_V1_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (728)) + (Prims.of_int (13)) + (Prims.of_int (728)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (729)) + (Prims.of_int (13)) + (Prims.of_int (729)) + (Prims.of_int (40))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "push1"]))))) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___6))) + | + uu___6 -> + Obj.magic + (Obj.repr + (fail + "mapply: can't apply (1)"))) + uu___5))) + uu___5) + | FStar_Pervasives_Native.None + -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (739)) + (Prims.of_int (18)) + (Prims.of_int (739)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (741)) + (Prims.of_int (9)) + (Prims.of_int (748)) + (Prims.of_int (20))))) + (Obj.magic + (norm_term + [] rt)) + (fun + uu___5 -> + (fun rt1 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (741)) + (Prims.of_int (15)) + (Prims.of_int (741)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (741)) + (Prims.of_int (9)) + (Prims.of_int (748)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' + rt1)) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + FStar_Reflection_V1_Formula.Implies + (p, q) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (743)) + (Prims.of_int (13)) + (Prims.of_int (743)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (744)) + (Prims.of_int (13)) + (Prims.of_int (744)) + (Prims.of_int (40))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Derived"; + "push1"]))))) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (apply_squash_or_lem + (d - + Prims.int_one) + t)) + uu___6)) + | + uu___6 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (747)) + (Prims.of_int (13)) + (Prims.of_int (747)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (748)) + (Prims.of_int (13)) + (Prims.of_int (748)) + (Prims.of_int (20))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Squash"; + "return_squash"]))))) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (apply t)) + uu___7))) + uu___5))) + uu___5))) + | uu___5 -> + Obj.magic + (Obj.repr + (fail + "mapply: can't apply (2)")))) + uu___4))) uu___4)))) uu___2))) +let (mapply : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> apply_squash_or_lem (Prims.of_int (10)) t +let (admit_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (761)) (Prims.of_int (2)) (Prims.of_int (761)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (762)) (Prims.of_int (2)) (Prims.of_int (762)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V1_Builtins.dump "Admitting")) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "admit"]))))) uu___1) +let admit_dump : 'a . (unit -> 'a) -> unit -> 'a = fun x -> fun uu___ -> x () +let (magic_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (769)) (Prims.of_int (2)) (Prims.of_int (769)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (770)) (Prims.of_int (2)) (Prims.of_int (772)) + (Prims.of_int (4))))) + (Obj.magic (FStar_Tactics_V1_Builtins.dump "Admitting")) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (770)) (Prims.of_int (2)) + (Prims.of_int (770)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (771)) (Prims.of_int (2)) + (Prims.of_int (772)) (Prims.of_int (4))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "magic"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (771)) (Prims.of_int (2)) + (Prims.of_int (771)) (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (772)) (Prims.of_int (2)) + (Prims.of_int (772)) (Prims.of_int (4))))) + (Obj.magic + (exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ())))) uu___2))) uu___1) +let magic_dump : 'a . 'a -> unit -> 'a = fun x -> fun uu___ -> x +let (change_with : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (779)) (Prims.of_int (8)) + (Prims.of_int (779)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (780)) (Prims.of_int (8)) + (Prims.of_int (780)) (Prims.of_int (29))))) + (Obj.magic (grewrite t1 t2)) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (iseq [idtac; trivial])) uu___1)) +let (change_sq : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + FStar_Tactics_V1_Builtins.change + (FStar_Reflection_V1_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "squash"]))) + [t1]) +let finish_by : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (787)) (Prims.of_int (12)) (Prims.of_int (787)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (788)) (Prims.of_int (4)) (Prims.of_int (789)) + (Prims.of_int (5))))) (Obj.magic (t ())) + (fun uu___ -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (788)) (Prims.of_int (4)) + (Prims.of_int (788)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (787)) (Prims.of_int (8)) + (Prims.of_int (787)) (Prims.of_int (9))))) + (Obj.magic + (or_else qed + (fun uu___ -> + (fun uu___ -> + Obj.magic (fail "finish_by: not finished")) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) + uu___) +let solve_then : + 'a 'b . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> + ('b, unit) FStar_Tactics_Effect.tac_repr + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (792)) (Prims.of_int (4)) (Prims.of_int (792)) + (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (792)) (Prims.of_int (11)) + (Prims.of_int (796)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V1_Builtins.dup ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (793)) (Prims.of_int (12)) + (Prims.of_int (793)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (793)) (Prims.of_int (45)) + (Prims.of_int (796)) (Prims.of_int (5))))) + (Obj.magic (focus (fun uu___1 -> finish_by t1))) + (fun uu___1 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (794)) + (Prims.of_int (12)) + (Prims.of_int (794)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (795)) + (Prims.of_int (4)) + (Prims.of_int (796)) + (Prims.of_int (5))))) + (Obj.magic (t2 x)) + (fun uu___1 -> + (fun y -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (795)) + (Prims.of_int (4)) + (Prims.of_int (795)) + (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (794)) + (Prims.of_int (8)) + (Prims.of_int (794)) + (Prims.of_int (9))))) + (Obj.magic (trefl ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> y)))) uu___1))) + uu___1))) uu___) +let add_elem : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (799)) (Prims.of_int (4)) + (Prims.of_int (799)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (800)) (Prims.of_int (4)) + (Prims.of_int (804)) (Prims.of_int (5))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "Cons"]))))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (focus + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (801)) (Prims.of_int (14)) + (Prims.of_int (801)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (802)) (Prims.of_int (6)) + (Prims.of_int (803)) (Prims.of_int (7))))) + (Obj.magic (t ())) + (fun uu___3 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (802)) + (Prims.of_int (6)) + (Prims.of_int (802)) + (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (801)) + (Prims.of_int (10)) + (Prims.of_int (801)) + (Prims.of_int (11))))) + (Obj.magic (qed ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> x)))) uu___3)))) + uu___1)) +let specialize : + 'a . + 'a -> + Prims.string Prims.list -> + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + fun l -> + fun uu___ -> + solve_then + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (823)) (Prims.of_int (42)) + (Prims.of_int (823)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (823)) (Prims.of_int (36)) + (Prims.of_int (823)) (Prims.of_int (51))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (failwith + "Cannot evaluate open quotation at runtime")) + uu___2)) + (fun uu___2 -> (fun uu___2 -> Obj.magic (exact uu___2)) uu___2)) + (fun uu___1 -> + FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.delta_only l; + FStar_Pervasives.iota; + FStar_Pervasives.zeta]) +let (tlabel : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun l -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (826)) (Prims.of_int (10)) (Prims.of_int (826)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (826)) (Prims.of_int (4)) (Prims.of_int (829)) + (Prims.of_int (38))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "tlabel: no goals")) + | h::t -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Builtins.set_goals + ((FStar_Tactics_Types.set_label l h) :: t)))) uu___) +let (tlabel' : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun l -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (832)) (Prims.of_int (10)) (Prims.of_int (832)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (832)) (Prims.of_int (4)) (Prims.of_int (836)) + (Prims.of_int (26))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "tlabel': no goals")) + | h::t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (835)) (Prims.of_int (16)) + (Prims.of_int (835)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (836)) (Prims.of_int (8)) + (Prims.of_int (836)) (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_Types.set_label + (Prims.strcat l + (FStar_Tactics_Types.get_label h)) h)) + (fun uu___1 -> + (fun h1 -> + Obj.magic + (FStar_Tactics_V1_Builtins.set_goals (h1 :: + t))) uu___1)))) uu___) +let (focus_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) (Prims.of_int (4)) (Prims.of_int (839)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (840)) (Prims.of_int (4)) (Prims.of_int (840)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) (Prims.of_int (14)) + (Prims.of_int (839)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) (Prims.of_int (4)) + (Prims.of_int (839)) (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) (Prims.of_int (15)) + (Prims.of_int (839)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) (Prims.of_int (14)) + (Prims.of_int (839)) (Prims.of_int (39))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) + (Prims.of_int (26)) + (Prims.of_int (839)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (839)) + (Prims.of_int (14)) + (Prims.of_int (839)) + (Prims.of_int (39))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (op_At ()) uu___1 uu___2)))) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V1_Builtins.set_goals uu___1)) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V1_Builtins.set_smt_goals [])) uu___1) +let rec extract_nth : + 'a . + Prims.nat -> + 'a Prims.list -> ('a * 'a Prims.list) FStar_Pervasives_Native.option + = + fun n -> + fun l -> + match (n, l) with + | (uu___, []) -> FStar_Pervasives_Native.None + | (uu___, hd::tl) when uu___ = Prims.int_zero -> + FStar_Pervasives_Native.Some (hd, tl) + | (uu___, hd::tl) -> + (match extract_nth (n - Prims.int_one) tl with + | FStar_Pervasives_Native.Some (hd', tl') -> + FStar_Pervasives_Native.Some (hd', (hd :: tl')) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) +let (bump_nth : Prims.pos -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun n -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (855)) (Prims.of_int (8)) (Prims.of_int (855)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (855)) (Prims.of_int (2)) (Prims.of_int (857)) + (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (855)) (Prims.of_int (28)) + (Prims.of_int (855)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (855)) (Prims.of_int (8)) + (Prims.of_int (855)) (Prims.of_int (38))))) + (Obj.magic (goals ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> extract_nth (n - Prims.int_one) uu___)))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives_Native.None -> + Obj.magic (Obj.repr (fail "bump_nth: not that many goals")) + | FStar_Pervasives_Native.Some (h, t) -> + Obj.magic + (Obj.repr (FStar_Tactics_V1_Builtins.set_goals (h :: t)))) + uu___) +let rec (destruct_list : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (860)) (Prims.of_int (21)) (Prims.of_int (860)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (859)) (Prims.of_int (52)) (Prims.of_int (872)) + (Prims.of_int (27))))) + (Obj.magic (FStar_Tactics_V1_SyntaxHelpers.collect_app t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (head, args) -> + (match ((FStar_Reflection_V1_Builtins.inspect_ln head), args) + with + | (FStar_Reflection_V1_Data.Tv_FVar fv, + (a1, FStar_Reflection_V1_Data.Q_Explicit)::(a2, + FStar_Reflection_V1_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.cons_qn + then + Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (865)) + (Prims.of_int (17)) + (Prims.of_int (865)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (865)) + (Prims.of_int (11)) + (Prims.of_int (865)) + (Prims.of_int (33))))) + (Obj.magic (destruct_list a2)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> a1 :: uu___1))) + else + Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral))) + | (FStar_Reflection_V1_Data.Tv_FVar fv, + (uu___1, FStar_Reflection_V1_Data.Q_Implicit)::(a1, + FStar_Reflection_V1_Data.Q_Explicit):: + (a2, FStar_Reflection_V1_Data.Q_Explicit)::[]) -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.cons_qn + then + Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (865)) + (Prims.of_int (17)) + (Prims.of_int (865)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (865)) + (Prims.of_int (11)) + (Prims.of_int (865)) + (Prims.of_int (33))))) + (Obj.magic (destruct_list a2)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> a1 :: uu___2))) + else + Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral))) + | (FStar_Reflection_V1_Data.Tv_FVar fv, uu___1) -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V1_Builtins.inspect_fv fv) = + FStar_Reflection_Const.nil_qn + then + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> []) + else + FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral)))) uu___) +let (get_match_body : + unit -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (875)) (Prims.of_int (8)) (Prims.of_int (875)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (875)) (Prims.of_int (2)) (Prims.of_int (879)) + (Prims.of_int (46))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (875)) (Prims.of_int (22)) + (Prims.of_int (875)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (875)) (Prims.of_int (8)) + (Prims.of_int (875)) (Prims.of_int (35))))) + (Obj.magic (cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Derived.unsquash_term uu___1)))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Pervasives_Native.None -> Obj.magic (Obj.repr (fail "")) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (877)) (Prims.of_int (20)) + (Prims.of_int (877)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (877)) (Prims.of_int (14)) + (Prims.of_int (879)) (Prims.of_int (46))))) + (Obj.magic + (FStar_Tactics_V1_SyntaxHelpers.inspect_unascribe + t)) + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V1_Data.Tv_Match + (sc, uu___3, uu___4) -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___5 -> sc) + | uu___3 -> fail "Goal is not a match")))) uu___1) +let rec last : 'a . 'a Prims.list -> ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun uu___ -> + (fun x -> + match x with + | [] -> Obj.magic (Obj.repr (fail "last: empty list")) + | x1::[] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> x1))) + | uu___::xs -> Obj.magic (Obj.repr (last xs))) uu___ +let (branch_on_match : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + focus + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (892)) (Prims.of_int (14)) + (Prims.of_int (892)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (892)) (Prims.of_int (34)) + (Prims.of_int (898)) (Prims.of_int (20))))) + (Obj.magic (get_match_body ())) + (fun uu___2 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (893)) (Prims.of_int (14)) + (Prims.of_int (893)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (894)) (Prims.of_int (6)) + (Prims.of_int (898)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V1_Builtins.t_destruct x)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (iterAll + (fun uu___3 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (895)) + (Prims.of_int (17)) + (Prims.of_int (895)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (895)) + (Prims.of_int (32)) + (Prims.of_int (898)) + (Prims.of_int (19))))) + (Obj.magic + (repeat + FStar_Tactics_V1_Builtins.intro)) + (fun uu___4 -> + (fun bs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (896)) + (Prims.of_int (16)) + (Prims.of_int (896)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (897)) + (Prims.of_int (8)) + (Prims.of_int (898)) + (Prims.of_int (19))))) + (Obj.magic (last bs)) + (fun uu___4 -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (897)) + (Prims.of_int (8)) + (Prims.of_int (897)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (898)) + (Prims.of_int (8)) + (Prims.of_int (898)) + (Prims.of_int (19))))) + (Obj.magic + (grewrite_eq b)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + ( + FStar_Tactics_V1_Builtins.norm + [FStar_Pervasives.iota])) + uu___4))) + uu___4))) uu___4)))) + uu___2))) uu___2)) +let (nth_binder : + Prims.int -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun i -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (907)) (Prims.of_int (11)) (Prims.of_int (907)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (907)) (Prims.of_int (28)) (Prims.of_int (912)) + (Prims.of_int (15))))) (Obj.magic (cur_binders ())) + (fun uu___ -> + (fun bs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (908)) (Prims.of_int (16)) + (Prims.of_int (908)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (908)) (Prims.of_int (68)) + (Prims.of_int (912)) (Prims.of_int (15))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + if i >= Prims.int_zero + then i + else (FStar_List_Tot_Base.length bs) + i)) + (fun uu___ -> + (fun k -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (909)) (Prims.of_int (16)) + (Prims.of_int (909)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (910)) (Prims.of_int (2)) + (Prims.of_int (912)) (Prims.of_int (15))))) + (if k < Prims.int_zero + then fail "not enough binders" + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> k)) + (fun k1 -> + match FStar_List_Tot_Base.nth bs k1 with + | FStar_Pervasives_Native.None -> + fail "not enough binders" + | FStar_Pervasives_Native.Some b -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> b)))) uu___))) uu___) +exception Appears +let (uu___is_Appears : Prims.exn -> Prims.bool) = + fun projectee -> match projectee with | Appears -> true | uu___ -> false +let (name_appears_in : + FStar_Reflection_Types.name -> + FStar_Reflection_Types.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun nm -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (920)) (Prims.of_int (4)) (Prims.of_int (925)) + (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (927)) (Prims.of_int (2)) (Prims.of_int (929)) + (Prims.of_int (16))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + fun uu___ -> + (fun uu___ -> + fun t1 -> + match FStar_Reflection_V1_Builtins.inspect_ln t1 with + | FStar_Reflection_V1_Data.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (922)) + (Prims.of_int (6)) + (Prims.of_int (923)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (919)) + (Prims.of_int (10)) + (Prims.of_int (919)) + (Prims.of_int (11))))) + (if + (FStar_Reflection_V1_Builtins.inspect_fv + fv) + = nm + then FStar_Tactics_Effect.raise Appears + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> t1)))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> t1)))) uu___1 uu___)) + (fun uu___ -> + (fun ff -> + Obj.magic + (try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (927)) (Prims.of_int (6)) + (Prims.of_int (927)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (927)) (Prims.of_int (32)) + (Prims.of_int (927)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (927)) + (Prims.of_int (13)) + (Prims.of_int (927)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (927)) + (Prims.of_int (6)) + (Prims.of_int (927)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Visit.visit_tm ff t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> ())))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> false))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | Appears -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> true)) + | e -> Obj.magic (FStar_Tactics_Effect.raise e)) + uu___))) uu___) +let rec (mk_abs : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun args -> + fun t -> + match args with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + | a::args' -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (936)) (Prims.of_int (13)) + (Prims.of_int (936)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (937)) (Prims.of_int (4)) + (Prims.of_int (937)) (Prims.of_int (22))))) + (Obj.magic (mk_abs args' t)) + (fun uu___ -> + (fun t' -> + Obj.magic + (FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Abs (a, t')))) + uu___)))) uu___1 uu___ +let (string_to_term_with_lb : + (Prims.string * FStar_Reflection_Types.term) Prims.list -> + FStar_Reflection_Types.env -> + Prims.string -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun letbindings -> + fun e -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (945)) (Prims.of_int (14)) + (Prims.of_int (945)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (945)) (Prims.of_int (35)) + (Prims.of_int (951)) (Prims.of_int (75))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown)) + (fun uu___ -> + (fun unk -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (946)) (Prims.of_int (20)) + (Prims.of_int (949)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (945)) (Prims.of_int (35)) + (Prims.of_int (951)) (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___ -> + fun uu___1 -> + match (uu___, uu___1) with + | ((e1, lb_bvs), (i, v)) -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (947)) + (Prims.of_int (20)) + (Prims.of_int (947)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (946)) + (Prims.of_int (56)) + (Prims.of_int (948)) + (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.push_bv_dsenv + e1 i)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + match uu___2 with + | (e2, bv) -> + (e2, ((v, bv) :: lb_bvs))))) + (e, []) letbindings)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (e1, lb_bvs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (950)) + (Prims.of_int (12)) + (Prims.of_int (950)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Derived.fst" + (Prims.of_int (951)) + (Prims.of_int (4)) + (Prims.of_int (951)) + (Prims.of_int (75))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.string_to_term + e1 t)) + (fun uu___1 -> + (fun t1 -> + Obj.magic + (FStar_Tactics_Util.fold_left + (fun t2 -> + fun uu___1 -> + match uu___1 with + | (i, bv) -> + FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Let + (false, [], bv, + unk, i, t2))) + t1 lb_bvs)) uu___1))) uu___))) + uu___) +let (trans : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Derived"; "lem_trans"]))) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_InterpFuns.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_InterpFuns.ml similarity index 93% rename from ocaml/fstar-lib/generated/FStar_Tactics_InterpFuns.ml rename to ocaml/fstar-lib/generated/FStar_Tactics_V1_InterpFuns.ml index 3b9050f0b00..61aebd69e0a 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_InterpFuns.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_InterpFuns.ml @@ -1,26 +1,23 @@ open Prims let unembed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> 'uuuuu FStar_Pervasives_Native.option - = - fun e -> - fun t -> - fun n -> - let uu___ = FStar_Syntax_Embeddings.unembed e t in uu___ true n + = fun e -> fun t -> fun n -> FStar_Syntax_Embeddings_Base.unembed e t n let embed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> - 'uuuuu -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.term + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term = fun e -> fun rng -> fun t -> fun n -> - let uu___ = FStar_Syntax_Embeddings.embed e t in + let uu___ = FStar_Syntax_Embeddings_Base.embed e t in uu___ rng FStar_Pervasives_Native.None n let rec drop : 'uuuuu . Prims.int -> 'uuuuu Prims.list -> 'uuuuu Prims.list = fun n -> @@ -49,7 +46,7 @@ let (mk : Prims.int -> Prims.int -> (FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) -> @@ -63,7 +60,8 @@ let (mk : fun nunivs -> fun interp -> fun nbe_interp -> - let nm1 = FStar_Parser_Const.fstar_tactics_lid' ["Builtins"; nm] in + let nm1 = + FStar_Parser_Const.fstar_tactics_lid' ["V1"; "Builtins"; nm] in { FStar_TypeChecker_Cfg.name = nm1; FStar_TypeChecker_Cfg.arity = arity; @@ -86,7 +84,7 @@ let (mkt : Prims.int -> Prims.int -> (FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) -> @@ -100,7 +98,8 @@ let (mkt : fun nunivs -> fun interp -> fun nbe_interp -> - let nm1 = FStar_Parser_Const.fstar_tactics_lid' ["Builtins"; nm] in + let nm1 = + FStar_Parser_Const.fstar_tactics_lid' ["V1"; "Builtins"; nm] in { FStar_TypeChecker_Cfg.name = nm1; FStar_TypeChecker_Cfg.arity = arity; @@ -121,10 +120,10 @@ let (mkt : let mk_total_interpretation_1_psc : 'r 't1 . (FStar_TypeChecker_Cfg.psc -> 't1 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -173,8 +172,8 @@ let mk_total_step_1_psc : Prims.int -> Prims.string -> (FStar_TypeChecker_Cfg.psc -> 'a -> 'r) -> - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> (FStar_TypeChecker_Cfg.psc -> 'na -> 'nr) -> 'na FStar_TypeChecker_NBETerm.embedding -> 'nr FStar_TypeChecker_NBETerm.embedding -> @@ -199,10 +198,10 @@ let (max_tac_arity : Prims.int) = (Prims.of_int (20)) let mk_tactic_interpretation_1 : 'r 't1 . ('t1 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -236,11 +235,11 @@ let mk_tactic_interpretation_1 : let mk_tactic_interpretation_2 : 'r 't1 't2 . ('t1 -> 't2 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -280,12 +279,12 @@ let mk_tactic_interpretation_2 : let mk_tactic_interpretation_3 : 'r 't1 't2 't3 . ('t1 -> 't2 -> 't3 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -335,13 +334,13 @@ let mk_tactic_interpretation_3 : let mk_tactic_interpretation_4 : 'r 't1 't2 't3 't4 . ('t1 -> 't2 -> 't3 -> 't4 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -399,14 +398,14 @@ let mk_tactic_interpretation_4 : let mk_tactic_interpretation_5 : 'r 't1 't2 't3 't4 't5 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -471,15 +470,15 @@ let mk_tactic_interpretation_5 : let mk_tactic_interpretation_6 : 'r 't1 't2 't3 't4 't5 't6 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -562,16 +561,16 @@ let mk_tactic_interpretation_7 : ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -665,17 +664,17 @@ let mk_tactic_interpretation_8 : 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -784,18 +783,18 @@ let mk_tactic_interpretation_9 : 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -916,19 +915,19 @@ let mk_tactic_interpretation_10 : 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1064,20 +1063,20 @@ let mk_tactic_interpretation_11 : 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1230,21 +1229,21 @@ let mk_tactic_interpretation_12 : 't9 -> 't10 -> 't11 -> 't12 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1411,22 +1410,22 @@ let mk_tactic_interpretation_13 : 't10 -> 't11 -> 't12 -> 't13 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1608,23 +1607,25 @@ let mk_tactic_interpretation_14 : 't11 -> 't12 -> 't13 -> 't14 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1820,24 +1821,28 @@ let mk_tactic_interpretation_15 : 't13 -> 't14 -> 't15 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb + -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -2049,25 +2054,32 @@ let mk_tactic_interpretation_16 : 't14 -> 't15 -> 't16 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb + -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -2294,28 +2306,34 @@ let mk_tactic_interpretation_17 : 't15 -> 't16 -> 't17 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> - 'r FStar_Syntax_Embeddings.embedding + 'r + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -2561,32 +2579,37 @@ let mk_tactic_interpretation_18 : 't17 -> 't18 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -2848,35 +2871,40 @@ let mk_tactic_interpretation_19 : 't18 -> 't19 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -3151,38 +3179,43 @@ let mk_tactic_interpretation_20 : 't19 -> 't20 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't20 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> @@ -6615,10 +6648,10 @@ let mk_tactic_nbe_interpretation_20 : let mk_total_interpretation_1 : 'r 't1 . ('t1 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -6642,11 +6675,11 @@ let mk_total_interpretation_1 : let mk_total_interpretation_2 : 'r 't1 't2 . ('t1 -> 't2 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -6675,12 +6708,12 @@ let mk_total_interpretation_2 : let mk_total_interpretation_3 : 'r 't1 't2 't3 . ('t1 -> 't2 -> 't3 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -6713,13 +6746,13 @@ let mk_total_interpretation_3 : let mk_total_interpretation_4 : 'r 't1 't2 't3 't4 . ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = @@ -6759,14 +6792,14 @@ let mk_total_interpretation_4 : let mk_total_interpretation_5 : 'r 't1 't2 't3 't4 't5 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -6813,15 +6846,15 @@ let mk_total_interpretation_5 : let mk_total_interpretation_6 : 'r 't1 't2 't3 't4 't5 't6 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -6879,16 +6912,16 @@ let mk_total_interpretation_6 : let mk_total_interpretation_7 : 'r 't1 't2 't3 't4 't5 't6 't7 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -6958,17 +6991,17 @@ let mk_total_interpretation_7 : let mk_total_interpretation_8 : 'r 't1 't2 't3 't4 't5 't6 't7 't8 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7049,18 +7082,18 @@ let mk_total_interpretation_8 : let mk_total_interpretation_9 : 'r 't1 't2 't3 't4 't5 't6 't7 't8 't9 . ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7155,19 +7188,19 @@ let mk_total_interpretation_10 : ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7276,20 +7309,20 @@ let mk_total_interpretation_11 : 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7414,21 +7447,21 @@ let mk_total_interpretation_12 : 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7568,22 +7601,22 @@ let mk_total_interpretation_13 : 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7739,23 +7772,25 @@ let mk_total_interpretation_14 : 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -7925,24 +7960,28 @@ let mk_total_interpretation_15 : 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb + -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -8127,25 +8166,32 @@ let mk_total_interpretation_16 : 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb + -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -8346,28 +8392,34 @@ let mk_total_interpretation_17 : 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> - 'r FStar_Syntax_Embeddings.embedding + 'r + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -8585,32 +8637,37 @@ let mk_total_interpretation_18 : 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -8845,35 +8902,40 @@ let mk_total_interpretation_19 : 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term @@ -9121,38 +9183,43 @@ let mk_total_interpretation_20 : 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding -> - 't16 FStar_Syntax_Embeddings.embedding -> - 't17 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't20 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> FStar_TypeChecker_Cfg.psc -> - FStar_Syntax_Embeddings.norm_cb + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.args -> @@ -12150,8 +12217,8 @@ let mk_tac_step_1 : Prims.int -> Prims.string -> ('t1 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nr FStar_Tactics_Monad.tac) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nr FStar_TypeChecker_NBETerm.embedding -> @@ -12176,9 +12243,9 @@ let mk_tac_step_2 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nr FStar_Tactics_Monad.tac) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -12207,10 +12274,10 @@ let mk_tac_step_3 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nr FStar_Tactics_Monad.tac) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -12242,11 +12309,11 @@ let mk_tac_step_4 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nr FStar_Tactics_Monad.tac) -> @@ -12283,12 +12350,12 @@ let mk_tac_step_5 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12332,13 +12399,13 @@ let mk_tac_step_6 : Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12391,14 +12458,14 @@ let mk_tac_step_7 : 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12463,15 +12530,15 @@ let mk_tac_step_8 : 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12550,16 +12617,16 @@ let mk_tac_step_9 : 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12648,17 +12715,17 @@ let mk_tac_step_10 : 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12762,18 +12829,18 @@ let mk_tac_step_11 : 't8 -> 't9 -> 't10 -> 't11 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -12890,19 +12957,21 @@ let mk_tac_step_12 : 't9 -> 't10 -> 't11 -> 't12 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -13033,20 +13102,23 @@ let mk_tac_step_13 : 't11 -> 't12 -> 't13 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -13187,21 +13259,27 @@ let mk_tac_step_14 : 't12 -> 't13 -> 't14 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -13352,23 +13430,29 @@ let mk_tac_step_15 : 't13 -> 't14 -> 't15 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> - 'r FStar_Syntax_Embeddings.embedding + 'r + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -13530,27 +13614,32 @@ let mk_tac_step_16 : 't15 -> 't16 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -13723,30 +13812,35 @@ let mk_tac_step_17 : 't16 -> 't17 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -13928,33 +14022,38 @@ let mk_tac_step_18 : 't17 -> 't18 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -14148,36 +14247,41 @@ let mk_tac_step_19 : 't19 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -14380,39 +14484,44 @@ let mk_tac_step_20 : 't20 -> 'r FStar_Tactics_Monad.tac) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't20 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -14602,8 +14711,8 @@ let mk_total_step_1 : Prims.int -> Prims.string -> ('t1 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nr FStar_TypeChecker_NBETerm.embedding -> @@ -14628,9 +14737,9 @@ let mk_total_step_2 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -14659,10 +14768,10 @@ let mk_total_step_3 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -14694,11 +14803,11 @@ let mk_total_step_4 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -14733,12 +14842,12 @@ let mk_total_step_5 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> 'nt2 FStar_TypeChecker_NBETerm.embedding -> @@ -14777,13 +14886,13 @@ let mk_total_step_6 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nr) -> 'nt1 FStar_TypeChecker_NBETerm.embedding -> @@ -14829,14 +14938,14 @@ let mk_total_step_7 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nr) @@ -14893,15 +15002,15 @@ let mk_total_step_8 : Prims.int -> Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -14971,16 +15080,16 @@ let mk_total_step_9 : Prims.string -> ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15060,17 +15169,17 @@ let mk_total_step_10 : ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15165,18 +15274,18 @@ let mk_total_step_11 : 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15286,19 +15395,21 @@ let mk_total_step_12 : 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15422,20 +15533,23 @@ let mk_total_step_13 : 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15570,21 +15684,27 @@ let mk_total_step_14 : 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> ('nt1 -> 'nt2 -> 'nt3 -> @@ -15730,23 +15850,29 @@ let mk_total_step_15 : 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> - 'r FStar_Syntax_Embeddings.embedding + 'r + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -15903,27 +16029,32 @@ let mk_total_step_16 : 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -16091,30 +16222,35 @@ let mk_total_step_17 : 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -16291,33 +16427,38 @@ let mk_total_step_18 : 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -16506,36 +16647,41 @@ let mk_total_step_19 : 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> @@ -16733,39 +16879,44 @@ let mk_total_step_20 : 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) -> - 't1 FStar_Syntax_Embeddings.embedding -> - 't2 FStar_Syntax_Embeddings.embedding -> - 't3 FStar_Syntax_Embeddings.embedding -> - 't4 FStar_Syntax_Embeddings.embedding -> - 't5 FStar_Syntax_Embeddings.embedding -> - 't6 FStar_Syntax_Embeddings.embedding -> - 't7 FStar_Syntax_Embeddings.embedding -> - 't8 FStar_Syntax_Embeddings.embedding -> - 't9 FStar_Syntax_Embeddings.embedding -> - 't10 FStar_Syntax_Embeddings.embedding -> - 't11 FStar_Syntax_Embeddings.embedding -> - 't12 FStar_Syntax_Embeddings.embedding -> - 't13 FStar_Syntax_Embeddings.embedding -> - 't14 FStar_Syntax_Embeddings.embedding -> - 't15 FStar_Syntax_Embeddings.embedding + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding -> 't16 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't17 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't18 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't19 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 't20 - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> 'r - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding -> ('nt1 -> 'nt2 -> diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Interpreter.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Interpreter.ml new file mode 100644 index 00000000000..a5eb547add8 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Interpreter.ml @@ -0,0 +1,2519 @@ +open Prims +let (tacdbg : Prims.bool FStar_Compiler_Effect.ref) = + FStar_Compiler_Util.mk_ref false +let unembed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 'uuuuu FStar_Pervasives_Native.option + = + fun ea -> + fun a -> fun norm_cb -> FStar_Syntax_Embeddings_Base.unembed ea a norm_cb +let embed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Compiler_Range_Type.range -> + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term + = + fun ea -> + fun r -> + fun x -> + fun norm_cb -> + let uu___ = FStar_Syntax_Embeddings_Base.embed ea x in + uu___ r FStar_Pervasives_Native.None norm_cb +let (native_tactics_steps : + unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = + fun uu___ -> + let step_from_native_step s = + { + FStar_TypeChecker_Cfg.name = (s.FStar_Tactics_Native.name); + FStar_TypeChecker_Cfg.arity = (s.FStar_Tactics_Native.arity); + FStar_TypeChecker_Cfg.univ_arity = Prims.int_zero; + FStar_TypeChecker_Cfg.auto_reflect = + (FStar_Pervasives_Native.Some + (s.FStar_Tactics_Native.arity - Prims.int_one)); + FStar_TypeChecker_Cfg.strong_reduction_ok = + (s.FStar_Tactics_Native.strong_reduction_ok); + FStar_TypeChecker_Cfg.requires_binder_substitution = false; + FStar_TypeChecker_Cfg.interpretation = + (fun psc -> + fun cb -> + fun _us -> fun t -> s.FStar_Tactics_Native.tactic psc cb t); + FStar_TypeChecker_Cfg.interpretation_nbe = + (fun _cb -> + fun _us -> + FStar_TypeChecker_NBETerm.dummy_interp + s.FStar_Tactics_Native.name) + } in + let uu___1 = FStar_Tactics_Native.list_all () in + FStar_Compiler_List.map step_from_native_step uu___1 +let mk_total_step_1' : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 . + Prims.int -> + Prims.string -> + ('uuuuu -> 'uuuuu1) -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> + ('uuuuu2 -> 'uuuuu3) -> + 'uuuuu2 FStar_TypeChecker_NBETerm.embedding -> + 'uuuuu3 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 -> + let uu___ = + FStar_Tactics_V1_InterpFuns.mk_total_step_1 uarity nm f + ea er nf ena enr in + let uu___1 = + FStar_Ident.lid_of_str + (Prims.op_Hat "FStar.Tactics.Types." nm) in + { + FStar_TypeChecker_Cfg.name = uu___1; + FStar_TypeChecker_Cfg.arity = + (uu___.FStar_TypeChecker_Cfg.arity); + FStar_TypeChecker_Cfg.univ_arity = + (uu___.FStar_TypeChecker_Cfg.univ_arity); + FStar_TypeChecker_Cfg.auto_reflect = + (uu___.FStar_TypeChecker_Cfg.auto_reflect); + FStar_TypeChecker_Cfg.strong_reduction_ok = + (uu___.FStar_TypeChecker_Cfg.strong_reduction_ok); + FStar_TypeChecker_Cfg.requires_binder_substitution = + (uu___.FStar_TypeChecker_Cfg.requires_binder_substitution); + FStar_TypeChecker_Cfg.interpretation = + (uu___.FStar_TypeChecker_Cfg.interpretation); + FStar_TypeChecker_Cfg.interpretation_nbe = + (uu___.FStar_TypeChecker_Cfg.interpretation_nbe) + } +let mk_total_step_1'_psc : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 . + Prims.int -> + Prims.string -> + (FStar_TypeChecker_Cfg.psc -> 'uuuuu -> 'uuuuu1) -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> + (FStar_TypeChecker_Cfg.psc -> 'uuuuu2 -> 'uuuuu3) -> + 'uuuuu2 FStar_TypeChecker_NBETerm.embedding -> + 'uuuuu3 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 -> + let uu___ = + FStar_Tactics_V1_InterpFuns.mk_total_step_1_psc uarity nm + f ea er nf ena enr in + let uu___1 = + FStar_Ident.lid_of_str + (Prims.op_Hat "FStar.Tactics.Types." nm) in + { + FStar_TypeChecker_Cfg.name = uu___1; + FStar_TypeChecker_Cfg.arity = + (uu___.FStar_TypeChecker_Cfg.arity); + FStar_TypeChecker_Cfg.univ_arity = + (uu___.FStar_TypeChecker_Cfg.univ_arity); + FStar_TypeChecker_Cfg.auto_reflect = + (uu___.FStar_TypeChecker_Cfg.auto_reflect); + FStar_TypeChecker_Cfg.strong_reduction_ok = + (uu___.FStar_TypeChecker_Cfg.strong_reduction_ok); + FStar_TypeChecker_Cfg.requires_binder_substitution = + (uu___.FStar_TypeChecker_Cfg.requires_binder_substitution); + FStar_TypeChecker_Cfg.interpretation = + (uu___.FStar_TypeChecker_Cfg.interpretation); + FStar_TypeChecker_Cfg.interpretation_nbe = + (uu___.FStar_TypeChecker_Cfg.interpretation_nbe) + } +let mk_total_step_2' : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 'uuuuu4 'uuuuu5 . + Prims.int -> + Prims.string -> + ('uuuuu -> 'uuuuu1 -> 'uuuuu2) -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu2 FStar_Syntax_Embeddings_Base.embedding -> + ('uuuuu3 -> 'uuuuu4 -> 'uuuuu5) -> + 'uuuuu3 FStar_TypeChecker_NBETerm.embedding -> + 'uuuuu4 FStar_TypeChecker_NBETerm.embedding -> + 'uuuuu5 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 -> + let uu___ = + FStar_Tactics_V1_InterpFuns.mk_total_step_2 uarity nm + f ea eb er nf ena enb enr in + let uu___1 = + FStar_Ident.lid_of_str + (Prims.op_Hat "FStar.Tactics.Types." nm) in + { + FStar_TypeChecker_Cfg.name = uu___1; + FStar_TypeChecker_Cfg.arity = + (uu___.FStar_TypeChecker_Cfg.arity); + FStar_TypeChecker_Cfg.univ_arity = + (uu___.FStar_TypeChecker_Cfg.univ_arity); + FStar_TypeChecker_Cfg.auto_reflect = + (uu___.FStar_TypeChecker_Cfg.auto_reflect); + FStar_TypeChecker_Cfg.strong_reduction_ok = + (uu___.FStar_TypeChecker_Cfg.strong_reduction_ok); + FStar_TypeChecker_Cfg.requires_binder_substitution = + (uu___.FStar_TypeChecker_Cfg.requires_binder_substitution); + FStar_TypeChecker_Cfg.interpretation = + (uu___.FStar_TypeChecker_Cfg.interpretation); + FStar_TypeChecker_Cfg.interpretation_nbe = + (uu___.FStar_TypeChecker_Cfg.interpretation_nbe) + } +let (primitive_steps : + unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = + fun uu___ -> FStar_Tactics_V2_Interpreter.primitive_steps () +let rec (t_head_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = + fun t -> + let uu___ = + let uu___1 = FStar_Syntax_Subst.compress t in + uu___1.FStar_Syntax_Syntax.n in + match uu___ with + | FStar_Syntax_Syntax.Tm_app uu___1 -> + let uu___2 = FStar_Syntax_Util.head_and_args_full t in + (match uu___2 with + | (h, args) -> + let h1 = FStar_Syntax_Util.unmeta h in + let uu___3 = + let uu___4 = FStar_Syntax_Subst.compress h1 in + uu___4.FStar_Syntax_Syntax.n in + (match uu___3 with + | FStar_Syntax_Syntax.Tm_uinst uu___4 -> t + | FStar_Syntax_Syntax.Tm_fvar uu___4 -> t + | FStar_Syntax_Syntax.Tm_bvar uu___4 -> t + | FStar_Syntax_Syntax.Tm_name uu___4 -> t + | FStar_Syntax_Syntax.Tm_constant uu___4 -> t + | uu___4 -> t_head_of h1)) + | FStar_Syntax_Syntax.Tm_match + { FStar_Syntax_Syntax.scrutinee = t1; + FStar_Syntax_Syntax.ret_opt = uu___1; + FStar_Syntax_Syntax.brs = uu___2; + FStar_Syntax_Syntax.rc_opt1 = uu___3;_} + -> t_head_of t1 + | FStar_Syntax_Syntax.Tm_ascribed + { FStar_Syntax_Syntax.tm = t1; FStar_Syntax_Syntax.asc = uu___1; + FStar_Syntax_Syntax.eff_opt = uu___2;_} + -> t_head_of t1 + | FStar_Syntax_Syntax.Tm_meta + { FStar_Syntax_Syntax.tm2 = t1; FStar_Syntax_Syntax.meta = uu___1;_} + -> t_head_of t1 + | uu___1 -> t +let unembed_tactic_0 : + 'b . + 'b FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> 'b FStar_Tactics_Monad.tac + = + fun eb -> + fun embedded_tac_b -> + fun ncb -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.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 + (FStar_Pervasives_Native.Some + FStar_Parser_Const.effect_TAC_lid) in + let tm = + let uu___ = + let uu___1 = + let uu___2 = + embed FStar_Tactics_Embedding.e_proofstate rng + proof_state ncb in + FStar_Syntax_Syntax.as_arg uu___2 in + [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app embedded_tac_b1 uu___ rng in + let steps = + [FStar_TypeChecker_Env.Weak; + FStar_TypeChecker_Env.Reify; + FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.UnfoldTac; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Unascribe] in + let norm_f = + let uu___ = FStar_Options.tactics_nbe () in + if uu___ + then FStar_TypeChecker_NBE.normalize + else + FStar_TypeChecker_Normalize.normalize_with_primitive_steps in + let result = + let uu___ = primitive_steps () in + norm_f uu___ steps + proof_state.FStar_Tactics_Types.main_context tm in + let res = + let uu___ = FStar_Tactics_Embedding.e_result eb in + unembed uu___ result ncb in + match res with + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success + (b1, ps)) -> + let uu___ = FStar_Tactics_Monad.set ps in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> FStar_Tactics_Monad.ret b1) + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed + (e, ps)) -> + let uu___ = FStar_Tactics_Monad.set ps in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> FStar_Tactics_Monad.traise e) + | FStar_Pervasives_Native.None -> + let h_result = t_head_of result in + let maybe_admit_tip = + let has_admit = FStar_Compiler_Util.mk_ref false in + let uu___ = + FStar_Syntax_Visit.visit_term + (fun t -> + match t.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_fvar fv when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.admit_lid + -> + (FStar_Compiler_Effect.op_Colon_Equals + has_admit true; + FStar_Syntax_Syntax.tun) + | uu___1 -> FStar_Syntax_Syntax.tun) h_result in + let uu___1 = FStar_Compiler_Effect.op_Bang has_admit in + if uu___1 + then + "\nThe term contains an `admit`, which will not reduce. Did you mean `tadmit()`?" + else "" in + let uu___ = + let uu___1 = + let uu___2 = FStar_Syntax_Print.term_to_string h_result in + FStar_Compiler_Util.format2 + "Tactic got stuck!\nReduction stopped at: %s%s" uu___2 + maybe_admit_tip in + (FStar_Errors_Codes.Fatal_TacticGotStuck, uu___1) in + FStar_Errors.raise_error uu___ + (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range) +let unembed_tactic_nbe_0 : + 'b . + 'b FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.t -> 'b FStar_Tactics_Monad.tac + = + fun eb -> + fun cb -> + fun embedded_tac_b -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun proof_state -> + let result = + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.embed + FStar_Tactics_Embedding.e_proofstate_nbe cb + proof_state in + FStar_TypeChecker_NBETerm.as_arg uu___2 in + [uu___1] in + FStar_TypeChecker_NBETerm.iapp_cb cb embedded_tac_b uu___ in + let res = + let uu___ = FStar_Tactics_Embedding.e_result_nbe eb in + FStar_TypeChecker_NBETerm.unembed uu___ cb result in + match res with + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success + (b1, ps)) -> + let uu___ = FStar_Tactics_Monad.set ps in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> FStar_Tactics_Monad.ret b1) + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed + (e, ps)) -> + let uu___ = FStar_Tactics_Monad.set ps in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> FStar_Tactics_Monad.traise e) + | FStar_Pervasives_Native.None -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_TypeChecker_NBETerm.t_to_string result in + FStar_Compiler_Util.format1 + "Tactic got stuck (in NBE)! Please file a bug report with a minimal reproduction of this issue.\n%s" + uu___2 in + (FStar_Errors_Codes.Fatal_TacticGotStuck, uu___1) in + FStar_Errors.raise_error uu___ + (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range) +let unembed_tactic_1 : + 'a 'r . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 'a -> 'r FStar_Tactics_Monad.tac + = + fun ea -> + fun er -> + fun f -> + fun ncb -> + fun x -> + let rng = FStar_Compiler_Range_Type.dummyRange in + let x_tm = embed ea rng x ncb in + let app = + let uu___ = + let uu___1 = FStar_Syntax_Syntax.as_arg x_tm in [uu___1] in + FStar_Syntax_Syntax.mk_Tm_app f uu___ rng in + unembed_tactic_0 er app ncb +let unembed_tactic_nbe_1 : + 'a 'r . + 'a FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.t -> 'a -> 'r FStar_Tactics_Monad.tac + = + 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___ = + let uu___1 = FStar_TypeChecker_NBETerm.as_arg x_tm in + [uu___1] in + FStar_TypeChecker_NBETerm.iapp_cb cb f uu___ in + unembed_tactic_nbe_0 er cb app +let e_tactic_thunk : + 'r . + 'r FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Tactics_Monad.tac FStar_Syntax_Embeddings_Base.embedding + = + fun er -> + let uu___ = + FStar_Syntax_Embeddings_Base.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings_Base.mk_emb + (fun uu___1 -> + fun uu___2 -> + fun uu___3 -> + fun uu___4 -> failwith "Impossible: embedding tactic (thunk)?") + (fun t -> + fun cb -> + let uu___1 = + let uu___2 = + unembed_tactic_1 FStar_Syntax_Embeddings.e_unit er t cb in + uu___2 () in + FStar_Pervasives_Native.Some uu___1) uu___ +let e_tactic_nbe_thunk : + 'r . + 'r FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_Tactics_Monad.tac FStar_TypeChecker_NBETerm.embedding + = + fun er -> + let uu___ = + FStar_TypeChecker_NBETerm.mk_t + (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) in + let uu___1 = + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_TypeChecker_NBETerm.mk_emb + (fun cb -> + fun uu___2 -> failwith "Impossible: NBE embedding tactic (thunk)?") + (fun cb -> + fun t -> + let uu___2 = + let uu___3 = + unembed_tactic_nbe_1 FStar_TypeChecker_NBETerm.e_unit er cb t in + uu___3 () in + FStar_Pervasives_Native.Some uu___2) uu___ uu___1 +let e_tactic_1 : + 'a 'r . + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('a -> 'r FStar_Tactics_Monad.tac) + FStar_Syntax_Embeddings_Base.embedding + = + fun ea -> + fun er -> + let uu___ = + FStar_Syntax_Embeddings_Base.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings_Base.mk_emb + (fun uu___1 -> + fun uu___2 -> + fun uu___3 -> + fun uu___4 -> failwith "Impossible: embedding tactic (1)?") + (fun t -> + fun cb -> + let uu___1 = unembed_tactic_1 ea er t cb in + FStar_Pervasives_Native.Some uu___1) uu___ +let e_tactic_nbe_1 : + 'a 'r . + 'a FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + ('a -> 'r FStar_Tactics_Monad.tac) + FStar_TypeChecker_NBETerm.embedding + = + fun ea -> + fun er -> + let uu___ = + FStar_TypeChecker_NBETerm.mk_t + (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) in + let uu___1 = + FStar_Syntax_Embeddings_Base.emb_typ_of + FStar_Syntax_Embeddings.e_unit in + FStar_TypeChecker_NBETerm.mk_emb + (fun cb -> + fun uu___2 -> failwith "Impossible: NBE embedding tactic (1)?") + (fun cb -> + fun t -> + let uu___2 = unembed_tactic_nbe_1 ea er cb t in + FStar_Pervasives_Native.Some uu___2) uu___ uu___1 +let (uu___187 : unit) = + let uu___ = + let uu___1 = + mk_total_step_1'_psc Prims.int_zero "tracepoint" + FStar_Tactics_Types.tracepoint_with_psc + FStar_Tactics_Embedding.e_proofstate FStar_Syntax_Embeddings.e_bool + FStar_Tactics_Types.tracepoint_with_psc + FStar_Tactics_Embedding.e_proofstate_nbe + FStar_TypeChecker_NBETerm.e_bool in + let uu___2 = + let uu___3 = + mk_total_step_2' Prims.int_zero "set_proofstate_range" + FStar_Tactics_Types.set_proofstate_range + FStar_Tactics_Embedding.e_proofstate + FStar_Syntax_Embeddings.e_range + FStar_Tactics_Embedding.e_proofstate + FStar_Tactics_Types.set_proofstate_range + FStar_Tactics_Embedding.e_proofstate_nbe + FStar_TypeChecker_NBETerm.e_range + FStar_Tactics_Embedding.e_proofstate_nbe in + let uu___4 = + let uu___5 = + mk_total_step_1' Prims.int_zero "incr_depth" + FStar_Tactics_Types.incr_depth + FStar_Tactics_Embedding.e_proofstate + FStar_Tactics_Embedding.e_proofstate + FStar_Tactics_Types.incr_depth + FStar_Tactics_Embedding.e_proofstate_nbe + FStar_Tactics_Embedding.e_proofstate_nbe in + let uu___6 = + let uu___7 = + mk_total_step_1' Prims.int_zero "decr_depth" + FStar_Tactics_Types.decr_depth + FStar_Tactics_Embedding.e_proofstate + FStar_Tactics_Embedding.e_proofstate + FStar_Tactics_Types.decr_depth + FStar_Tactics_Embedding.e_proofstate_nbe + FStar_Tactics_Embedding.e_proofstate_nbe in + let uu___8 = + let uu___9 = + let uu___10 = + FStar_Syntax_Embeddings.e_list FStar_Tactics_Embedding.e_goal in + let uu___11 = + FStar_TypeChecker_NBETerm.e_list + FStar_Tactics_Embedding.e_goal_nbe in + mk_total_step_1' Prims.int_zero "goals_of" + FStar_Tactics_Types.goals_of + FStar_Tactics_Embedding.e_proofstate uu___10 + FStar_Tactics_Types.goals_of + FStar_Tactics_Embedding.e_proofstate_nbe uu___11 in + let uu___10 = + let uu___11 = + let uu___12 = + FStar_Syntax_Embeddings.e_list + FStar_Tactics_Embedding.e_goal in + let uu___13 = + FStar_TypeChecker_NBETerm.e_list + FStar_Tactics_Embedding.e_goal_nbe in + mk_total_step_1' Prims.int_zero "smt_goals_of" + FStar_Tactics_Types.smt_goals_of + FStar_Tactics_Embedding.e_proofstate uu___12 + FStar_Tactics_Types.smt_goals_of + FStar_Tactics_Embedding.e_proofstate_nbe uu___13 in + let uu___12 = + let uu___13 = + mk_total_step_1' Prims.int_zero "goal_env" + FStar_Tactics_Types.goal_env + FStar_Tactics_Embedding.e_goal + FStar_Reflection_V1_Embeddings.e_env + FStar_Tactics_Types.goal_env + FStar_Tactics_Embedding.e_goal_nbe + FStar_Reflection_V1_NBEEmbeddings.e_env in + let uu___14 = + let uu___15 = + mk_total_step_1' Prims.int_zero "goal_type" + FStar_Tactics_Types.goal_type + FStar_Tactics_Embedding.e_goal + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_Types.goal_type + FStar_Tactics_Embedding.e_goal_nbe + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___16 = + let uu___17 = + mk_total_step_1' Prims.int_zero "goal_witness" + FStar_Tactics_Types.goal_witness + FStar_Tactics_Embedding.e_goal + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_Types.goal_witness + FStar_Tactics_Embedding.e_goal_nbe + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___18 = + let uu___19 = + mk_total_step_1' Prims.int_zero "is_guard" + FStar_Tactics_Types.is_guard + FStar_Tactics_Embedding.e_goal + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_Types.is_guard + FStar_Tactics_Embedding.e_goal_nbe + FStar_TypeChecker_NBETerm.e_bool in + let uu___20 = + let uu___21 = + mk_total_step_1' Prims.int_zero "get_label" + FStar_Tactics_Types.get_label + FStar_Tactics_Embedding.e_goal + FStar_Syntax_Embeddings.e_string + FStar_Tactics_Types.get_label + FStar_Tactics_Embedding.e_goal_nbe + FStar_TypeChecker_NBETerm.e_string in + let uu___22 = + let uu___23 = + mk_total_step_2' Prims.int_zero "set_label" + FStar_Tactics_Types.set_label + FStar_Syntax_Embeddings.e_string + FStar_Tactics_Embedding.e_goal + FStar_Tactics_Embedding.e_goal + FStar_Tactics_Types.set_label + FStar_TypeChecker_NBETerm.e_string + FStar_Tactics_Embedding.e_goal_nbe + FStar_Tactics_Embedding.e_goal_nbe in + let uu___24 = + let uu___25 = + let uu___26 = + FStar_Syntax_Embeddings.e_list + FStar_Tactics_Embedding.e_goal in + let uu___27 = + FStar_TypeChecker_NBETerm.e_list + FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "set_goals" + FStar_Tactics_Monad.set_goals uu___26 + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_Monad.set_goals uu___27 + FStar_TypeChecker_NBETerm.e_unit in + let uu___26 = + let uu___27 = + let uu___28 = + FStar_Syntax_Embeddings.e_list + FStar_Tactics_Embedding.e_goal in + let uu___29 = + FStar_TypeChecker_NBETerm.e_list + FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "set_smt_goals" + FStar_Tactics_Monad.set_smt_goals uu___28 + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_Monad.set_smt_goals uu___29 + FStar_TypeChecker_NBETerm.e_unit in + let uu___28 = + let uu___29 = + let uu___30 = + e_tactic_thunk + FStar_Syntax_Embeddings.e_any in + let uu___31 = + FStar_Syntax_Embeddings.e_either + FStar_Tactics_Embedding.e_exn + FStar_Syntax_Embeddings.e_any in + let uu___32 = + e_tactic_nbe_thunk + FStar_TypeChecker_NBETerm.e_any in + let uu___33 = + FStar_TypeChecker_NBETerm.e_either + FStar_Tactics_Embedding.e_exn_nbe + FStar_TypeChecker_NBETerm.e_any in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_one "catch" + (fun uu___34 -> FStar_Tactics_Monad.catch) + FStar_Syntax_Embeddings.e_any uu___30 + uu___31 + (fun uu___34 -> FStar_Tactics_Monad.catch) + FStar_TypeChecker_NBETerm.e_any uu___32 + uu___33 in + let uu___30 = + let uu___31 = + let uu___32 = + e_tactic_thunk + FStar_Syntax_Embeddings.e_any in + let uu___33 = + FStar_Syntax_Embeddings.e_either + FStar_Tactics_Embedding.e_exn + FStar_Syntax_Embeddings.e_any in + let uu___34 = + e_tactic_nbe_thunk + FStar_TypeChecker_NBETerm.e_any in + let uu___35 = + FStar_TypeChecker_NBETerm.e_either + FStar_Tactics_Embedding.e_exn_nbe + FStar_TypeChecker_NBETerm.e_any in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_one "recover" + (fun uu___36 -> + FStar_Tactics_Monad.recover) + FStar_Syntax_Embeddings.e_any uu___32 + uu___33 + (fun uu___36 -> + FStar_Tactics_Monad.recover) + FStar_TypeChecker_NBETerm.e_any uu___34 + uu___35 in + let uu___32 = + let uu___33 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "intro" + FStar_Tactics_V1_Basic.intro + FStar_Syntax_Embeddings.e_unit + FStar_Reflection_V1_Embeddings.e_binder + FStar_Tactics_V1_Basic.intro + FStar_TypeChecker_NBETerm.e_unit + FStar_Reflection_V1_NBEEmbeddings.e_binder in + let uu___34 = + let uu___35 = + let uu___36 = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V1_Embeddings.e_binder + FStar_Reflection_V1_Embeddings.e_binder in + let uu___37 = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_Reflection_V1_NBEEmbeddings.e_binder in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "intro_rec" + FStar_Tactics_V1_Basic.intro_rec + FStar_Syntax_Embeddings.e_unit + uu___36 + FStar_Tactics_V1_Basic.intro_rec + FStar_TypeChecker_NBETerm.e_unit + uu___37 in + let uu___36 = + let uu___37 = + let uu___38 = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_norm_step in + let uu___39 = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_norm_step in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "norm" + FStar_Tactics_V1_Basic.norm + uu___38 + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.norm + uu___39 + FStar_TypeChecker_NBETerm.e_unit in + let uu___38 = + let uu___39 = + let uu___40 = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_norm_step in + let uu___41 = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_norm_step in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero "norm_term_env" + FStar_Tactics_V1_Basic.norm_term_env + FStar_Reflection_V1_Embeddings.e_env + uu___40 + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.norm_term_env + FStar_Reflection_V1_NBEEmbeddings.e_env + uu___41 + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___40 = + let uu___41 = + let uu___42 = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_norm_step in + let uu___43 = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_norm_step in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "norm_binder_type" + FStar_Tactics_V1_Basic.norm_binder_type + uu___42 + FStar_Reflection_V1_Embeddings.e_binder + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.norm_binder_type + uu___43 + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_TypeChecker_NBETerm.e_unit in + let uu___42 = + let uu___43 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero "rename_to" + FStar_Tactics_V1_Basic.rename_to + FStar_Reflection_V1_Embeddings.e_binder + FStar_Syntax_Embeddings.e_string + FStar_Reflection_V1_Embeddings.e_binder + FStar_Tactics_V1_Basic.rename_to + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_TypeChecker_NBETerm.e_string + FStar_Reflection_V1_NBEEmbeddings.e_binder in + let uu___44 = + let uu___45 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "binder_retype" + FStar_Tactics_V1_Basic.binder_retype + FStar_Reflection_V1_Embeddings.e_binder + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.binder_retype + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_TypeChecker_NBETerm.e_unit in + let uu___46 = + let uu___47 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero "revert" + FStar_Tactics_V1_Basic.revert + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.revert + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___48 = + let uu___49 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "clear_top" + FStar_Tactics_V1_Basic.clear_top + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.clear_top + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___50 = + let uu___51 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "clear" + FStar_Tactics_V1_Basic.clear + FStar_Reflection_V1_Embeddings.e_binder + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.clear + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_TypeChecker_NBETerm.e_unit in + let uu___52 = + let uu___53 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "rewrite" + FStar_Tactics_V1_Basic.rewrite + FStar_Reflection_V1_Embeddings.e_binder + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.rewrite + FStar_Reflection_V1_NBEEmbeddings.e_binder + FStar_TypeChecker_NBETerm.e_unit in + let uu___54 = + let uu___55 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "refine_intro" + FStar_Tactics_V1_Basic.refine_intro + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.refine_intro + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___56 = + let uu___57 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "t_exact" + FStar_Tactics_V1_Basic.t_exact + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_bool + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_exact + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_bool + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___58 = + let uu___59 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_4 + Prims.int_zero + "t_apply" + FStar_Tactics_V1_Basic.t_apply + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_bool + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_apply + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_bool + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___60 = + let uu___61 = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "t_apply_lemma" + FStar_Tactics_V1_Basic.t_apply_lemma + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_bool + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_apply_lemma + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_bool + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___62 = + let uu___63 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "set_options" + FStar_Tactics_V1_Basic.set_options + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.set_options + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___64 + = + let uu___65 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "tcc" + FStar_Tactics_V1_Basic.tcc + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_comp + FStar_Tactics_V1_Basic.tcc + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_comp in + let uu___66 + = + let uu___67 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "tc" + FStar_Tactics_V1_Basic.tc + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.tc + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___68 + = + let uu___69 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "unshelve" + FStar_Tactics_V1_Basic.unshelve + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.unshelve + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___70 + = + let uu___71 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_one + "unquote" + FStar_Tactics_V1_Basic.unquote + FStar_Syntax_Embeddings.e_any + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_any + (fun + uu___72 + -> + fun + uu___73 + -> + failwith + "NBE unquote") + FStar_TypeChecker_NBETerm.e_any + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_any in + let uu___72 + = + let uu___73 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "prune" + FStar_Tactics_V1_Basic.prune + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.prune + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___74 + = + let uu___75 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "addns" + FStar_Tactics_V1_Basic.addns + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.addns + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___76 + = + let uu___77 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "print" + FStar_Tactics_V1_Basic.print + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.print + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___78 + = + let uu___79 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "debugging" + FStar_Tactics_V1_Basic.debugging + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.debugging + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_bool in + let uu___80 + = + let uu___81 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "dump" + FStar_Tactics_V1_Basic.dump + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.dump + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___82 + = + let uu___83 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "dump_all" + FStar_Tactics_V1_Basic.dump_all + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.dump_all + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___84 + = + let uu___85 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "dump_uvars_of" + FStar_Tactics_V1_Basic.dump_uvars_of + FStar_Tactics_Embedding.e_goal + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.dump_uvars_of + FStar_Tactics_Embedding.e_goal_nbe + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_unit in + let uu___86 + = + let uu___87 + = + let uu___88 + = + let uu___89 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_Embedding.e_ctrl_flag in + e_tactic_1 + FStar_Reflection_V1_Embeddings.e_term + uu___89 in + let uu___89 + = + e_tactic_thunk + FStar_Syntax_Embeddings.e_unit in + let uu___90 + = + let uu___91 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_TypeChecker_NBETerm.e_bool + FStar_Tactics_Embedding.e_ctrl_flag_nbe in + e_tactic_nbe_1 + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___91 in + let uu___91 + = + e_tactic_nbe_thunk + FStar_TypeChecker_NBETerm.e_unit in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "ctrl_rewrite" + FStar_Tactics_CtrlRewrite.ctrl_rewrite + FStar_Tactics_Embedding.e_direction + uu___88 + uu___89 + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_CtrlRewrite.ctrl_rewrite + FStar_Tactics_Embedding.e_direction_nbe + uu___90 + uu___91 + FStar_TypeChecker_NBETerm.e_unit in + let uu___88 + = + let uu___89 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "t_trefl" + FStar_Tactics_V1_Basic.t_trefl + FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_trefl + FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_unit in + let uu___90 + = + let uu___91 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "dup" + FStar_Tactics_V1_Basic.dup + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.dup + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___92 + = + let uu___93 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "tadmit_t" + FStar_Tactics_V1_Basic.tadmit_t + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.tadmit_t + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___94 + = + let uu___95 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "join" + FStar_Tactics_V1_Basic.join + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.join + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___96 + = + let uu___97 + = + let uu___98 + = + let uu___99 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V1_Embeddings.e_fv + FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings.e_list + uu___99 in + let uu___99 + = + let uu___100 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V1_NBEEmbeddings.e_fv + FStar_TypeChecker_NBETerm.e_int in + FStar_TypeChecker_NBETerm.e_list + uu___100 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "t_destruct" + FStar_Tactics_V1_Basic.t_destruct + FStar_Reflection_V1_Embeddings.e_term + uu___98 + FStar_Tactics_V1_Basic.t_destruct + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___99 in + let uu___98 + = + let uu___99 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "top_env" + FStar_Tactics_V1_Basic.top_env + FStar_Syntax_Embeddings.e_unit + FStar_Reflection_V1_Embeddings.e_env + FStar_Tactics_V1_Basic.top_env + FStar_TypeChecker_NBETerm.e_unit + FStar_Reflection_V1_NBEEmbeddings.e_env in + let uu___100 + = + let uu___101 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "inspect" + FStar_Tactics_V1_Basic.inspect + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term_view + FStar_Tactics_V1_Basic.inspect + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term_view in + let uu___102 + = + let uu___103 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "pack" + FStar_Tactics_V1_Basic.pack + FStar_Reflection_V1_Embeddings.e_term_view + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.pack + FStar_Reflection_V1_NBEEmbeddings.e_term_view + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___104 + = + let uu___105 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "pack_curried" + FStar_Tactics_V1_Basic.pack_curried + FStar_Reflection_V1_Embeddings.e_term_view + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.pack_curried + FStar_Reflection_V1_NBEEmbeddings.e_term_view + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___106 + = + let uu___107 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "fresh" + FStar_Tactics_V1_Basic.fresh + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_int + FStar_Tactics_V1_Basic.fresh + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_int in + let uu___108 + = + let uu___109 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "curms" + FStar_Tactics_V1_Basic.curms + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_int + FStar_Tactics_V1_Basic.curms + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_int in + let uu___110 + = + let uu___111 + = + let uu___112 + = + FStar_Syntax_Embeddings.e_option + FStar_Reflection_V1_Embeddings.e_term in + let uu___113 + = + FStar_TypeChecker_NBETerm.e_option + FStar_Reflection_V1_NBEEmbeddings.e_term in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "uvar_env" + FStar_Tactics_V1_Basic.uvar_env + FStar_Reflection_V1_Embeddings.e_env + uu___112 + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.uvar_env + FStar_Reflection_V1_NBEEmbeddings.e_env + uu___113 + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___112 + = + let uu___113 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "ghost_uvar_env" + FStar_Tactics_V1_Basic.ghost_uvar_env + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.ghost_uvar_env + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___114 + = + let uu___115 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "fresh_universe_uvar" + FStar_Tactics_V1_Basic.fresh_universe_uvar + FStar_Syntax_Embeddings.e_unit + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.fresh_universe_uvar + FStar_TypeChecker_NBETerm.e_unit + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___116 + = + let uu___117 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "unify_env" + FStar_Tactics_V1_Basic.unify_env + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.unify_env + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_bool in + let uu___118 + = + let uu___119 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "unify_guard_env" + FStar_Tactics_V1_Basic.unify_guard_env + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.unify_guard_env + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_bool in + let uu___120 + = + let uu___121 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "match_env" + FStar_Tactics_V1_Basic.match_env + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.match_env + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_bool in + let uu___122 + = + let uu___123 + = + let uu___124 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string in + let uu___125 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_string in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "launch_process" + FStar_Tactics_V1_Basic.launch_process + FStar_Syntax_Embeddings.e_string + uu___124 + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_string + FStar_Tactics_V1_Basic.launch_process + FStar_TypeChecker_NBETerm.e_string + uu___125 + FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_string in + let uu___124 + = + let uu___125 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "fresh_bv_named" + FStar_Tactics_V1_Basic.fresh_bv_named + FStar_Syntax_Embeddings.e_string + FStar_Reflection_V1_Embeddings.e_bv + FStar_Tactics_V1_Basic.fresh_bv_named + FStar_TypeChecker_NBETerm.e_string + FStar_Reflection_V1_NBEEmbeddings.e_bv in + let uu___126 + = + let uu___127 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "change" + FStar_Tactics_V1_Basic.change + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.change + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_unit in + let uu___128 + = + let uu___129 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "get_guard_policy" + FStar_Tactics_V1_Basic.get_guard_policy + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_Embedding.e_guard_policy + FStar_Tactics_V1_Basic.get_guard_policy + FStar_TypeChecker_NBETerm.e_unit + FStar_Tactics_Embedding.e_guard_policy_nbe in + let uu___130 + = + let uu___131 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "set_guard_policy" + FStar_Tactics_V1_Basic.set_guard_policy + FStar_Tactics_Embedding.e_guard_policy + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.set_guard_policy + FStar_Tactics_Embedding.e_guard_policy_nbe + FStar_TypeChecker_NBETerm.e_unit in + let uu___132 + = + let uu___133 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "lax_on" + FStar_Tactics_V1_Basic.lax_on + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.lax_on + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_bool in + let uu___134 + = + let uu___135 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_one + "lget" + FStar_Tactics_V1_Basic.lget + FStar_Syntax_Embeddings.e_any + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_any + (fun + uu___136 + -> + fun + uu___137 + -> + FStar_Tactics_Monad.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___136 + = + let uu___137 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_one + "lset" + FStar_Tactics_V1_Basic.lset + FStar_Syntax_Embeddings.e_any + FStar_Syntax_Embeddings.e_string + FStar_Syntax_Embeddings.e_any + FStar_Syntax_Embeddings.e_unit + (fun + uu___138 + -> + fun + uu___139 + -> + fun + uu___140 + -> + FStar_Tactics_Monad.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 + let uu___138 + = + let uu___139 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_one + "set_urgency" + FStar_Tactics_V1_Basic.set_urgency + FStar_Syntax_Embeddings.e_int + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.set_urgency + FStar_TypeChecker_NBETerm.e_int + FStar_TypeChecker_NBETerm.e_unit in + let uu___140 + = + let uu___141 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_one + "t_commute_applied_match" + FStar_Tactics_V1_Basic.t_commute_applied_match + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_commute_applied_match + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___142 + = + let uu___143 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "gather_or_solve_explicit_guards_for_resolved_goals" + FStar_Tactics_V1_Basic.gather_explicit_guards_for_resolved_goals + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.gather_explicit_guards_for_resolved_goals + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_unit in + let uu___144 + = + let uu___145 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "string_to_term" + FStar_Tactics_V1_Basic.string_to_term + FStar_Reflection_V1_Embeddings.e_env + FStar_Syntax_Embeddings.e_string + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_V1_Basic.string_to_term + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___146 + = + let uu___147 + = + let uu___148 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_bv in + let uu___149 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_bv in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "push_bv_dsenv" + FStar_Tactics_V1_Basic.push_bv_dsenv + FStar_Reflection_V1_Embeddings.e_env + FStar_Syntax_Embeddings.e_string + uu___148 + FStar_Tactics_V1_Basic.push_bv_dsenv + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string + uu___149 in + let uu___148 + = + let uu___149 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "term_to_string" + FStar_Tactics_V1_Basic.term_to_string + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_string + FStar_Tactics_V1_Basic.term_to_string + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_string in + let uu___150 + = + let uu___151 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "comp_to_string" + FStar_Tactics_V1_Basic.comp_to_string + FStar_Reflection_V1_Embeddings.e_comp + FStar_Syntax_Embeddings.e_string + FStar_Tactics_V1_Basic.comp_to_string + FStar_Reflection_V1_NBEEmbeddings.e_comp + FStar_TypeChecker_NBETerm.e_string in + let uu___152 + = + let uu___153 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "range_to_string" + FStar_Tactics_V1_Basic.range_to_string + FStar_Syntax_Embeddings.e_range + FStar_Syntax_Embeddings.e_string + FStar_Tactics_V1_Basic.range_to_string + FStar_TypeChecker_NBETerm.e_range + FStar_TypeChecker_NBETerm.e_string in + let uu___154 + = + let uu___155 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "term_eq_old" + FStar_Tactics_V1_Basic.term_eq_old + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Syntax_Embeddings.e_bool + FStar_Tactics_V1_Basic.term_eq_old + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_bool in + let uu___156 + = + let uu___157 + = + let uu___158 + = + e_tactic_thunk + FStar_Syntax_Embeddings.e_any in + let uu___159 + = + e_tactic_nbe_thunk + FStar_TypeChecker_NBETerm.e_any in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_one + "with_compat_pre_core" + (fun + uu___160 + -> + FStar_Tactics_V1_Basic.with_compat_pre_core) + FStar_Syntax_Embeddings.e_any + FStar_Syntax_Embeddings.e_int + uu___158 + FStar_Syntax_Embeddings.e_any + (fun + uu___160 + -> + FStar_Tactics_V1_Basic.with_compat_pre_core) + FStar_TypeChecker_NBETerm.e_any + FStar_TypeChecker_NBETerm.e_int + uu___159 + FStar_TypeChecker_NBETerm.e_any in + let uu___158 + = + let uu___159 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "get_vconfig" + FStar_Tactics_V1_Basic.get_vconfig + FStar_Syntax_Embeddings.e_unit + FStar_Syntax_Embeddings.e_vconfig + FStar_Tactics_V1_Basic.get_vconfig + FStar_TypeChecker_NBETerm.e_unit + FStar_TypeChecker_NBETerm.e_vconfig in + let uu___160 + = + let uu___161 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "set_vconfig" + FStar_Tactics_V1_Basic.set_vconfig + FStar_Syntax_Embeddings.e_vconfig + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.set_vconfig + FStar_TypeChecker_NBETerm.e_vconfig + FStar_TypeChecker_NBETerm.e_unit in + let uu___162 + = + let uu___163 + = + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "t_smt_sync" + FStar_Tactics_V1_Basic.t_smt_sync + FStar_Syntax_Embeddings.e_vconfig + FStar_Syntax_Embeddings.e_unit + FStar_Tactics_V1_Basic.t_smt_sync + FStar_TypeChecker_NBETerm.e_vconfig + FStar_TypeChecker_NBETerm.e_unit in + let uu___164 + = + let uu___165 + = + let uu___166 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_int in + let uu___167 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_int in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "free_uvars" + FStar_Tactics_V1_Basic.free_uvars + FStar_Reflection_V1_Embeddings.e_term + uu___166 + FStar_Tactics_V1_Basic.free_uvars + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___167 in + let uu___166 + = + let uu___167 + = + let uu___168 + = + let uu___169 + = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in + let uu___170 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___169 + uu___170 in + let uu___169 + = + let uu___170 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in + let uu___171 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___170 + uu___171 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "check_subtyping" + FStar_Tactics_V1_Basic.refl_check_subtyping + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + uu___168 + FStar_Tactics_V1_Basic.refl_check_subtyping + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___169 in + let uu___168 + = + let uu___169 + = + let uu___170 + = + let uu___171 + = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in + let uu___172 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___171 + uu___172 in + let uu___171 + = + let uu___172 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in + let uu___173 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___172 + uu___173 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "check_equiv" + FStar_Tactics_V1_Basic.refl_check_equiv + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + uu___170 + FStar_Tactics_V1_Basic.refl_check_equiv + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___171 in + let uu___170 + = + let uu___171 + = + let uu___172 + = + let uu___173 + = + FStar_Syntax_Embeddings.e_option + FStar_Reflection_V1_Embeddings.e_term in + let uu___174 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___173 + uu___174 in + let uu___173 + = + let uu___174 + = + FStar_TypeChecker_NBETerm.e_option + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___175 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___174 + uu___175 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "core_compute_term_type" + FStar_Tactics_V1_Basic.refl_core_compute_term_type + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost + uu___172 + FStar_Tactics_V1_Basic.refl_core_compute_term_type + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost_nbe + uu___173 in + let uu___172 + = + let uu___173 + = + let uu___174 + = + let uu___175 + = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in + let uu___176 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___175 + uu___176 in + let uu___175 + = + let uu___176 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in + let uu___177 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___176 + uu___177 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_4 + Prims.int_zero + "core_check_term" + FStar_Tactics_V1_Basic.refl_core_check_term + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost + uu___174 + FStar_Tactics_V1_Basic.refl_core_check_term + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost_nbe + uu___175 in + let uu___174 + = + let uu___175 + = + let uu___176 + = + let uu___177 + = + let uu___178 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term in + FStar_Syntax_Embeddings.e_option + uu___178 in + let uu___178 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___177 + uu___178 in + let uu___177 + = + let uu___178 + = + let uu___179 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term in + FStar_TypeChecker_NBETerm.e_option + uu___179 in + let uu___179 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___178 + uu___179 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "tc_term" + FStar_Tactics_V1_Basic.refl_tc_term + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost + uu___176 + FStar_Tactics_V1_Basic.refl_tc_term + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost_nbe + uu___177 in + let uu___176 + = + let uu___177 + = + let uu___178 + = + let uu___179 + = + FStar_Syntax_Embeddings.e_option + FStar_Reflection_V1_Embeddings.e_universe in + let uu___180 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___179 + uu___180 in + let uu___179 + = + let uu___180 + = + FStar_TypeChecker_NBETerm.e_option + FStar_Reflection_V1_NBEEmbeddings.e_universe in + let uu___181 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___180 + uu___181 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "universe_of" + FStar_Tactics_V1_Basic.refl_universe_of + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + uu___178 + FStar_Tactics_V1_Basic.refl_universe_of + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___179 in + let uu___178 + = + let uu___179 + = + let uu___180 + = + let uu___181 + = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in + let uu___182 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___181 + uu___182 in + let uu___181 + = + let uu___182 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in + let uu___183 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___182 + uu___183 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "check_prop_validity" + FStar_Tactics_V1_Basic.refl_check_prop_validity + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + uu___180 + FStar_Tactics_V1_Basic.refl_check_prop_validity + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___181 in + let uu___180 + = + let uu___181 + = + let uu___182 + = + let uu___183 + = + let uu___184 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term in + FStar_Syntax_Embeddings.e_option + uu___184 in + let uu___184 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___183 + uu___184 in + let uu___183 + = + let uu___184 + = + let uu___185 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term in + FStar_TypeChecker_NBETerm.e_option + uu___185 in + let uu___185 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___184 + uu___185 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "instantiate_implicits" + FStar_Tactics_V1_Basic.refl_instantiate_implicits + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + uu___182 + FStar_Tactics_V1_Basic.refl_instantiate_implicits + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___183 in + let uu___182 + = + let uu___183 + = + let uu___184 + = + let uu___185 + = + FStar_Syntax_Embeddings.e_option + FStar_Tactics_Embedding.e_unfold_side in + let uu___186 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___185 + uu___186 in + let uu___185 + = + let uu___186 + = + FStar_TypeChecker_NBETerm.e_option + FStar_Tactics_Embedding.e_unfold_side_nbe in + let uu___188 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___186 + uu___188 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "maybe_relate_after_unfolding" + FStar_Tactics_V1_Basic.refl_maybe_relate_after_unfolding + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + FStar_Reflection_V1_Embeddings.e_term + uu___184 + FStar_Tactics_V1_Basic.refl_maybe_relate_after_unfolding + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___185 in + let uu___184 + = + let uu___185 + = + let uu___186 + = + let uu___188 + = + FStar_Syntax_Embeddings.e_option + FStar_Reflection_V1_Embeddings.e_term in + let uu___189 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___188 + uu___189 in + let uu___188 + = + let uu___189 + = + FStar_TypeChecker_NBETerm.e_option + FStar_Reflection_V1_NBEEmbeddings.e_term in + let uu___190 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___189 + uu___190 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "maybe_unfold_head" + FStar_Tactics_V1_Basic.refl_maybe_unfold_head + FStar_Reflection_V1_Embeddings.e_env + FStar_Reflection_V1_Embeddings.e_term + uu___186 + FStar_Tactics_V1_Basic.refl_maybe_unfold_head + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_Reflection_V1_NBEEmbeddings.e_term + uu___188 in + let uu___186 + = + let uu___188 + = + let uu___189 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string in + let uu___190 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_string in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "push_open_namespace" + FStar_Tactics_V1_Basic.push_open_namespace + FStar_Reflection_V1_Embeddings.e_env + uu___189 + FStar_Reflection_V1_Embeddings.e_env + FStar_Tactics_V1_Basic.push_open_namespace + FStar_Reflection_V1_NBEEmbeddings.e_env + uu___190 + FStar_Reflection_V1_NBEEmbeddings.e_env in + let uu___189 + = + let uu___190 + = + let uu___191 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string in + let uu___192 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_string in + FStar_Tactics_V1_InterpFuns.mk_tac_step_3 + Prims.int_zero + "push_module_abbrev" + FStar_Tactics_V1_Basic.push_module_abbrev + FStar_Reflection_V1_Embeddings.e_env + FStar_Syntax_Embeddings.e_string + uu___191 + FStar_Reflection_V1_Embeddings.e_env + FStar_Tactics_V1_Basic.push_module_abbrev + FStar_Reflection_V1_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string + uu___192 + FStar_Reflection_V1_NBEEmbeddings.e_env in + let uu___191 + = + let uu___192 + = + let uu___193 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string in + let uu___194 + = + let uu___195 + = + FStar_Syntax_Embeddings.e_either + FStar_Reflection_V1_Embeddings.e_bv + FStar_Reflection_V1_Embeddings.e_fv in + FStar_Syntax_Embeddings.e_option + uu___195 in + let uu___195 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_string in + let uu___196 + = + let uu___197 + = + FStar_TypeChecker_NBETerm.e_either + FStar_Reflection_V1_NBEEmbeddings.e_bv + FStar_Reflection_V1_NBEEmbeddings.e_fv in + FStar_TypeChecker_NBETerm.e_option + uu___197 in + FStar_Tactics_V1_InterpFuns.mk_tac_step_2 + Prims.int_zero + "resolve_name" + FStar_Tactics_V1_Basic.resolve_name + FStar_Reflection_V1_Embeddings.e_env + uu___193 + uu___194 + FStar_Tactics_V1_Basic.resolve_name + FStar_Reflection_V1_NBEEmbeddings.e_env + uu___195 + uu___196 in + let uu___193 + = + let uu___194 + = + let uu___195 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + let uu___196 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_Tactics_V1_InterpFuns.mk_tac_step_1 + Prims.int_zero + "log_issues" + (fun is + -> + FStar_Errors.add_issues + is; + FStar_Tactics_Monad.ret + ()) + uu___195 + FStar_Syntax_Embeddings.e_unit + (fun is + -> + FStar_Errors.add_issues + is; + FStar_Tactics_Monad.ret + ()) + uu___196 + FStar_TypeChecker_NBETerm.e_unit in + [uu___194] in + uu___192 + :: + uu___193 in + uu___190 + :: + uu___191 in + uu___188 + :: + uu___189 in + uu___185 + :: + uu___186 in + uu___183 + :: + uu___184 in + uu___181 + :: + uu___182 in + uu___179 + :: + uu___180 in + uu___177 + :: + uu___178 in + uu___175 + :: + uu___176 in + uu___173 + :: + uu___174 in + uu___171 + :: + uu___172 in + uu___169 + :: + uu___170 in + uu___167 + :: + uu___168 in + uu___165 + :: + uu___166 in + uu___163 + :: + uu___164 in + uu___161 + :: + uu___162 in + uu___159 + :: + uu___160 in + uu___157 + :: + uu___158 in + uu___155 + :: + uu___156 in + uu___153 + :: + uu___154 in + uu___151 + :: + uu___152 in + uu___149 + :: + uu___150 in + uu___147 + :: + uu___148 in + uu___145 + :: + uu___146 in + uu___143 + :: + uu___144 in + uu___141 + :: + uu___142 in + uu___139 + :: + uu___140 in + uu___137 + :: + uu___138 in + uu___135 + :: + uu___136 in + uu___133 + :: + uu___134 in + uu___131 + :: + uu___132 in + uu___129 + :: + uu___130 in + uu___127 + :: + uu___128 in + uu___125 + :: + uu___126 in + uu___123 + :: + uu___124 in + uu___121 + :: + uu___122 in + uu___119 + :: + uu___120 in + uu___117 + :: + uu___118 in + uu___115 + :: + uu___116 in + uu___113 + :: + uu___114 in + uu___111 + :: + uu___112 in + uu___109 + :: + uu___110 in + uu___107 + :: + uu___108 in + uu___105 + :: + uu___106 in + uu___103 + :: + uu___104 in + uu___101 + :: + uu___102 in + uu___99 + :: + uu___100 in + uu___97 + :: + uu___98 in + uu___95 + :: + uu___96 in + uu___93 + :: + uu___94 in + uu___91 + :: + uu___92 in + uu___89 + :: + uu___90 in + uu___87 + :: + uu___88 in + uu___85 + :: + uu___86 in + uu___83 + :: + uu___84 in + uu___81 + :: + uu___82 in + uu___79 + :: + uu___80 in + uu___77 + :: + uu___78 in + uu___75 + :: + uu___76 in + uu___73 + :: + uu___74 in + uu___71 + :: + uu___72 in + uu___69 + :: + uu___70 in + uu___67 + :: + uu___68 in + uu___65 + :: + uu___66 in + uu___63 :: + uu___64 in + uu___61 :: + uu___62 in + uu___59 :: + uu___60 in + uu___57 :: + uu___58 in + uu___55 :: uu___56 in + uu___53 :: uu___54 in + uu___51 :: uu___52 in + uu___49 :: uu___50 in + uu___47 :: uu___48 in + uu___45 :: uu___46 in + uu___43 :: uu___44 in + uu___41 :: uu___42 in + uu___39 :: uu___40 in + uu___37 :: uu___38 in + uu___35 :: uu___36 in + uu___33 :: uu___34 in + uu___31 :: uu___32 in + uu___29 :: uu___30 in + uu___27 :: uu___28 in + uu___25 :: uu___26 in + uu___23 :: uu___24 in + uu___21 :: uu___22 in + uu___19 :: uu___20 in + uu___17 :: uu___18 in + uu___15 :: uu___16 in + uu___13 :: uu___14 in + uu___11 :: uu___12 in + uu___9 :: uu___10 in + uu___7 :: uu___8 in + uu___5 :: uu___6 in + uu___3 :: uu___4 in + uu___1 :: uu___2 in + FStar_Compiler_List.iter + FStar_Tactics_V2_Interpreter.register_tactic_primitive_step uu___ \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic.ml new file mode 100644 index 00000000000..43ab9b41e93 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic.ml @@ -0,0 +1,1989 @@ +open Prims +let (cur_formula : + unit -> + (FStar_Reflection_V1_Formula.formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (26)) (Prims.of_int (51)) (Prims.of_int (26)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (26)) (Prims.of_int (35)) (Prims.of_int (26)) + (Prims.of_int (64))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Reflection_V1_Formula.term_as_formula uu___1)) + uu___1) +let (l_revert : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (35)) (Prims.of_int (4)) (Prims.of_int (35)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (36)) (Prims.of_int (4)) (Prims.of_int (36)) + (Prims.of_int (26))))) + (Obj.magic (FStar_Tactics_V1_Builtins.revert ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_V1_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "revert_squash"]))))) uu___1) +let rec (l_revert_all : + FStar_Reflection_Types.binders -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | uu___::tl -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (42)) (Prims.of_int (21)) + (Prims.of_int (42)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (42)) (Prims.of_int (34)) + (Prims.of_int (42)) (Prims.of_int (49))))) + (Obj.magic (l_revert ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (l_revert_all tl)) uu___1)))) + uu___ +let (forall_intro : + unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (50)) (Prims.of_int (4)) (Prims.of_int (50)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (51)) (Prims.of_int (4)) (Prims.of_int (51)) + (Prims.of_int (12))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "fa_intro_lem"]))))) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + uu___1) +let (forall_intro_as : + Prims.string -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (55)) (Prims.of_int (4)) (Prims.of_int (55)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (56)) (Prims.of_int (4)) (Prims.of_int (56)) + (Prims.of_int (14))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "fa_intro_lem"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V1_Derived.intro_as s)) uu___) +let (forall_intros : + unit -> + (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V1_Derived.repeat1 forall_intro +let (split : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "split_lem"])))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V1_Derived.fail "Could not split goal")) + uu___1) +let (implies_intro : + unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (78)) (Prims.of_int (4)) (Prims.of_int (78)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (79)) (Prims.of_int (4)) (Prims.of_int (79)) + (Prims.of_int (12))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "imp_intro_lem"]))))) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + uu___1) +let (implies_intro_as : + Prims.string -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (82)) (Prims.of_int (4)) (Prims.of_int (82)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (83)) (Prims.of_int (4)) (Prims.of_int (83)) + (Prims.of_int (14))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "imp_intro_lem"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V1_Derived.intro_as s)) uu___) +let (implies_intros : + unit -> + (FStar_Reflection_Types.binders, unit) FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V1_Derived.repeat1 implies_intro +let (l_intro : + unit -> (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V1_Derived.or_else forall_intro implies_intro +let (l_intros : + unit -> + (FStar_Reflection_Types.binder Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V1_Derived.repeat l_intro +let (squash_intro : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Squash"; "return_squash"]))) +let (l_exact : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V1_Derived.try_with + (fun uu___ -> match () with | () -> FStar_Tactics_V1_Derived.exact t) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (99)) (Prims.of_int (12)) + (Prims.of_int (99)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (99)) (Prims.of_int (29)) + (Prims.of_int (99)) (Prims.of_int (36))))) + (Obj.magic (squash_intro ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V1_Derived.exact t)) + uu___1)) +let (hyp : + FStar_Reflection_Types.binder -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (101)) (Prims.of_int (40)) (Prims.of_int (101)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (101)) (Prims.of_int (32)) (Prims.of_int (101)) + (Prims.of_int (58))))) + (Obj.magic (FStar_Tactics_V1_Derived.binder_to_term b)) + (fun uu___ -> (fun uu___ -> Obj.magic (l_exact uu___)) uu___) +let (pose_lemma : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (108)) (Prims.of_int (10)) (Prims.of_int (108)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (108)) (Prims.of_int (31)) (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (108)) (Prims.of_int (14)) + (Prims.of_int (108)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (108)) (Prims.of_int (10)) + (Prims.of_int (108)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_env ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V1_Builtins.tcc uu___ t)) uu___))) + (fun uu___ -> + (fun c -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (110)) (Prims.of_int (4)) + (Prims.of_int (112)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (108)) (Prims.of_int (31)) + (Prims.of_int (126)) (Prims.of_int (5))))) + (match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Lemma (pre, post, uu___) -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (pre, post)) + | uu___ -> FStar_Tactics_V1_Derived.fail "") + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (pre, post) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (114)) + (Prims.of_int (13)) + (Prims.of_int (114)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (114)) + (Prims.of_int (30)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (post, + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + (fun post1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (115)) + (Prims.of_int (13)) + (Prims.of_int (115)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (117)) + (Prims.of_int (2)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V1_Derived.norm_term + [] post1)) + (fun uu___1 -> + (fun post2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (117)) + (Prims.of_int (8)) + (Prims.of_int (117)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (117)) + (Prims.of_int (2)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula' + pre)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Reflection_V1_Formula.True_ + -> + Obj.magic + (FStar_Tactics_V1_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__lemma_to_squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Implicit)))), + (post2, + FStar_Reflection_V2_Data.Q_Implicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs + ((FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 + = + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "unit"]))); + FStar_Reflection_V2_Data.qual + = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs + = []; + FStar_Reflection_V2_Data.ppname2 + = + (FStar_Sealed.seal + "uu___") + }), t))), + FStar_Reflection_V2_Data.Q_Explicit))))) + | uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (121)) + (Prims.of_int (15)) + (Prims.of_int (121)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (121)) + (Prims.of_int (40)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V1_Derived.tcut + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun + uu___3 -> + (fun reqb + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (12)) + (Prims.of_int (123)) + (Prims.of_int (102))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (124)) + (Prims.of_int (4)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (17)) + (Prims.of_int (123)) + (Prims.of_int (102))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (12)) + (Prims.of_int (123)) + (Prims.of_int (102))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (97)) + (Prims.of_int (123)) + (Prims.of_int (98))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (17)) + (Prims.of_int (123)) + (Prims.of_int (102))))) + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + t)) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (60)) + (Prims.of_int (123)) + (Prims.of_int (81))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (17)) + (Prims.of_int (123)) + (Prims.of_int (102))))) + (Obj.magic + (FStar_Tactics_V1_Derived.binder_to_term + reqb)) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__lemma_to_squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Implicit)))), + (post2, + FStar_Reflection_V2_Data.Q_Implicit)))), + (uu___4, + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs + ((FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 + = + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "unit"]))); + FStar_Reflection_V2_Data.qual + = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs + = []; + FStar_Reflection_V2_Data.ppname2 + = + (FStar_Sealed.seal + "uu___") + }), + uu___3))), + FStar_Reflection_V2_Data.Q_Explicit))))))) + uu___3))) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_V1_Derived.pose + uu___3)) + uu___3))) + (fun + uu___3 -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (124)) + (Prims.of_int (4)) + (Prims.of_int (124)) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (4)) + (Prims.of_int (126)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V1_Derived.flip + ())) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (4)) + (Prims.of_int (125)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (123)) + (Prims.of_int (8)) + (Prims.of_int (123)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (11)) + (Prims.of_int (125)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (4)) + (Prims.of_int (125)) + (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_V1_Derived.trytac + FStar_Tactics_V1_Derived.trivial)) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + ())))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + b)))) + uu___3))) + uu___3))) + uu___3))) + uu___1))) uu___1))) + uu___1))) uu___))) uu___) +let (explode : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (129)) (Prims.of_int (11)) (Prims.of_int (131)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (129)) (Prims.of_int (4)) (Prims.of_int (131)) + (Prims.of_int (64))))) + (Obj.magic + (FStar_Tactics_V1_Derived.repeatseq + (fun uu___1 -> + FStar_Tactics_V1_Derived.first + [(fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (130)) (Prims.of_int (50)) + (Prims.of_int (130)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (130)) (Prims.of_int (43)) + (Prims.of_int (130)) (Prims.of_int (62))))) + (Obj.magic (l_intro ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ()))); + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (131)) (Prims.of_int (50)) + (Prims.of_int (131)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (131)) (Prims.of_int (43)) + (Prims.of_int (131)) (Prims.of_int (60))))) + (Obj.magic (split ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> ())))]))) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let rec (visit : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun callback -> + FStar_Tactics_V1_Derived.focus + (fun uu___ -> + FStar_Tactics_V1_Derived.or_else callback + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (137)) (Prims.of_int (28)) + (Prims.of_int (137)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (138)) (Prims.of_int (20)) + (Prims.of_int (148)) (Prims.of_int (26))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) + (fun uu___2 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (138)) (Prims.of_int (26)) + (Prims.of_int (138)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (138)) (Prims.of_int (20)) + (Prims.of_int (148)) (Prims.of_int (26))))) + (Obj.magic + (FStar_Reflection_V1_Formula.term_as_formula g)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V1_Formula.Forall + (_b, _sort, _phi) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (140)) + (Prims.of_int (38)) + (Prims.of_int (140)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (141)) + (Prims.of_int (24)) + (Prims.of_int (141)) + (Prims.of_int (87))))) + (Obj.magic (forall_intros ())) + (fun uu___3 -> + (fun binders -> + Obj.magic + (FStar_Tactics_V1_Derived.seq + (fun uu___3 -> + visit callback) + (fun uu___3 -> + l_revert_all + binders))) + uu___3))) + | FStar_Reflection_V1_Formula.And (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Derived.seq split + (fun uu___3 -> visit callback))) + | FStar_Reflection_V1_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (145)) + (Prims.of_int (32)) + (Prims.of_int (145)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (146)) + (Prims.of_int (24)) + (Prims.of_int (146)) + (Prims.of_int (63))))) + (Obj.magic (implies_intro ())) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_V1_Derived.seq + (fun uu___4 -> + visit callback) + l_revert)) uu___3))) + | uu___3 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ())))) uu___2))) + uu___2))) +let rec (simplify_eq_implication : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (153)) (Prims.of_int (12)) (Prims.of_int (153)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (153)) (Prims.of_int (25)) (Prims.of_int (163)) + (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_env ())) + (fun uu___1 -> + (fun e -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (154)) (Prims.of_int (12)) + (Prims.of_int (154)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (154)) (Prims.of_int (26)) + (Prims.of_int (163)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) + (fun uu___1 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (155)) (Prims.of_int (12)) + (Prims.of_int (155)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (156)) (Prims.of_int (4)) + (Prims.of_int (163)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_V1_Derived.destruct_equality_implication + g)) + (fun uu___1 -> + (fun r -> + match r with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Derived.fail + "Not an equality implication")) + | FStar_Pervasives_Native.Some + (uu___1, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (160)) + (Prims.of_int (19)) + (Prims.of_int (160)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (161)) + (Prims.of_int (8)) + (Prims.of_int (163)) + (Prims.of_int (37))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + (fun eq_h -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (161)) + (Prims.of_int (8)) + (Prims.of_int (161)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (162)) + (Prims.of_int (8)) + (Prims.of_int (163)) + (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.rewrite + eq_h)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (162)) + (Prims.of_int (8)) + (Prims.of_int (162)) + (Prims.of_int (20))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (163)) + (Prims.of_int (8)) + (Prims.of_int (163)) + (Prims.of_int (37))))) + ( + Obj.magic + (FStar_Tactics_V1_Builtins.clear_top + ())) + ( + fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (visit + simplify_eq_implication)) + uu___3))) + uu___2))) + uu___2)))) uu___1))) + uu___1))) uu___1) +let (rewrite_all_equalities : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> visit simplify_eq_implication +let rec (unfold_definition_and_simplify_eq : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (169)) (Prims.of_int (12)) (Prims.of_int (169)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (170)) (Prims.of_int (4)) (Prims.of_int (184)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_goal ())) + (fun uu___ -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (170)) (Prims.of_int (10)) + (Prims.of_int (170)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (170)) (Prims.of_int (4)) + (Prims.of_int (184)) (Prims.of_int (11))))) + (Obj.magic (FStar_Reflection_V1_Formula.term_as_formula g)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Formula.App (hd, arg) -> + Obj.magic + (Obj.repr + (if + FStar_Reflection_V1_Builtins.term_eq hd tm + then + Obj.repr + (FStar_Tactics_V1_Derived.trivial ()) + else + Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> ())))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (176)) + (Prims.of_int (16)) + (Prims.of_int (176)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (177)) + (Prims.of_int (8)) + (Prims.of_int (183)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V1_Derived.destruct_equality_implication + g)) + (fun uu___2 -> + (fun r -> + match r with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_V1_Derived.fail + "Not an equality implication")) + | FStar_Pervasives_Native.Some + (uu___2, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (180)) + (Prims.of_int (23)) + (Prims.of_int (180)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (181)) + (Prims.of_int (12)) + (Prims.of_int (183)) + (Prims.of_int (66))))) + (Obj.magic + (implies_intro ())) + (fun uu___3 -> + (fun eq_h -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (181)) + (Prims.of_int (12)) + (Prims.of_int (181)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (182)) + (Prims.of_int (12)) + (Prims.of_int (183)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.rewrite + eq_h)) + (fun uu___3 + -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (182)) + (Prims.of_int (12)) + (Prims.of_int (182)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (183)) + (Prims.of_int (12)) + (Prims.of_int (183)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.clear_top + ())) + (fun + uu___4 -> + (fun + uu___4 -> + Obj.magic + (visit + (fun + uu___5 -> + unfold_definition_and_simplify_eq + tm))) + uu___4))) + uu___3))) + uu___3)))) uu___2)))) + uu___))) uu___) +let (unsquash : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (192)) (Prims.of_int (12)) (Prims.of_int (192)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (193)) (Prims.of_int (4)) (Prims.of_int (195)) + (Prims.of_int (37))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "vbind"])))) + (fun uu___ -> + (fun v -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (193)) (Prims.of_int (4)) + (Prims.of_int (193)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (193)) (Prims.of_int (33)) + (Prims.of_int (195)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V1_Derived.mk_e_app v [t]))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (194)) (Prims.of_int (12)) + (Prims.of_int (194)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (195)) (Prims.of_int (4)) + (Prims.of_int (195)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + (fun b -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Builtins.pack_ln + (FStar_Reflection_V1_Data.Tv_Var + (FStar_Reflection_V1_Derived.bv_of_binder + b)))))) uu___))) uu___) +let (cases_or : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun o -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V1_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "or_ind"]))) [o]) +let (cases_bool : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (213)) (Prims.of_int (13)) (Prims.of_int (213)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (214)) (Prims.of_int (4)) (Prims.of_int (215)) + (Prims.of_int (104))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "bool_ind"])))) + (fun uu___ -> + (fun bi -> + Obj.magic + (FStar_Tactics_V1_Derived.seq + (fun uu___ -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V1_Derived.mk_e_app bi [b])) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) (Prims.of_int (27)) + (Prims.of_int (215)) (Prims.of_int (97))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) (Prims.of_int (101)) + (Prims.of_int (215)) (Prims.of_int (103))))) + (Obj.magic + (FStar_Tactics_V1_Derived.trytac + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) + (Prims.of_int (53)) + (Prims.of_int (215)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) + (Prims.of_int (73)) + (Prims.of_int (215)) + (Prims.of_int (96))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + (fun b1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) + (Prims.of_int (73)) + (Prims.of_int (215)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (215)) + (Prims.of_int (84)) + (Prims.of_int (215)) + (Prims.of_int (96))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.rewrite + b1)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Builtins.clear_top + ())) uu___2))) uu___2)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))))) + uu___) +let (left : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "or_intro_1"]))) +let (right : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "or_intro_2"]))) +let (and_elim : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V1_Derived.try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__and_elim"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "__and_elim'"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) +let (destruct_and : + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.binder * FStar_Reflection_Types.binder), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (248)) (Prims.of_int (4)) (Prims.of_int (248)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (249)) (Prims.of_int (4)) (Prims.of_int (249)) + (Prims.of_int (40))))) (Obj.magic (and_elim t)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (249)) (Prims.of_int (5)) + (Prims.of_int (249)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (249)) (Prims.of_int (4)) + (Prims.of_int (249)) (Prims.of_int (40))))) + (Obj.magic (implies_intro ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (249)) (Prims.of_int (23)) + (Prims.of_int (249)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (249)) (Prims.of_int (4)) + (Prims.of_int (249)) (Prims.of_int (40))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + uu___) +let (witness : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (255)) (Prims.of_int (4)) (Prims.of_int (255)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (256)) (Prims.of_int (4)) (Prims.of_int (256)) + (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_raw + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "__witness"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V1_Derived.exact t)) uu___) +let (elim_exists : + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.binder * FStar_Reflection_Types.binder), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (265)) (Prims.of_int (2)) (Prims.of_int (265)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (265)) (Prims.of_int (42)) (Prims.of_int (268)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__elim_exists'"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (266)) (Prims.of_int (10)) + (Prims.of_int (266)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (266)) (Prims.of_int (21)) + (Prims.of_int (268)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + (fun uu___1 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (267)) (Prims.of_int (11)) + (Prims.of_int (267)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (268)) (Prims.of_int (2)) + (Prims.of_int (268)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V1_Builtins.intro ())) + (fun pf -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (x, pf))))) uu___1))) uu___) +let (instantiate : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun fa -> + fun x -> + FStar_Tactics_V1_Derived.try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_V1_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__forall_inst_sq"]))), + (fa, FStar_Reflection_V2_Data.Q_Explicit)))), + (x, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V1_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_V1_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "__forall_inst"]))), + (fa, + FStar_Reflection_V2_Data.Q_Explicit)))), + (x, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_V1_Derived.fail "could not instantiate")) + uu___1)) +let (instantiate_as : + FStar_Reflection_Types.term -> + FStar_Reflection_Types.term -> + Prims.string -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun fa -> + fun x -> + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (285)) (Prims.of_int (12)) + (Prims.of_int (285)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (286)) (Prims.of_int (4)) + (Prims.of_int (286)) (Prims.of_int (17))))) + (Obj.magic (instantiate fa x)) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V1_Builtins.rename_to b s)) + uu___) +let rec (sk_binder' : + FStar_Reflection_Types.binders -> + FStar_Reflection_Types.binder -> + ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder), + unit) FStar_Tactics_Effect.tac_repr) + = + fun acc -> + fun b -> + FStar_Tactics_V1_Derived.focus + (fun uu___ -> + FStar_Tactics_V1_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (297)) (Prims.of_int (6)) + (Prims.of_int (297)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) (Prims.of_int (6)) + (Prims.of_int (302)) (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (297)) (Prims.of_int (18)) + (Prims.of_int (297)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (297)) (Prims.of_int (6)) + (Prims.of_int (297)) (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (297)) + (Prims.of_int (31)) + (Prims.of_int (297)) + (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (297)) + (Prims.of_int (18)) + (Prims.of_int (297)) + (Prims.of_int (52))))) + (Obj.magic + (FStar_Tactics_V1_Derived.binder_to_term + b)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "sklem0"]))), + (uu___2, + FStar_Reflection_V2_Data.Q_Explicit))))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Derived.apply_lemma + uu___2)) uu___2))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) + (Prims.of_int (6)) + (Prims.of_int (298)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (299)) + (Prims.of_int (6)) + (Prims.of_int (302)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) + (Prims.of_int (9)) + (Prims.of_int (298)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) + (Prims.of_int (6)) + (Prims.of_int (298)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) + (Prims.of_int (9)) + (Prims.of_int (298)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (298)) + (Prims.of_int (9)) + (Prims.of_int (298)) + (Prims.of_int (23))))) + (Obj.magic + (FStar_Tactics_V1_Derived.ngoals + ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> + uu___3 <> Prims.int_one)))) + (fun uu___3 -> + if uu___3 + then + FStar_Tactics_V1_Derived.fail + "no" + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___5 -> ())))) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (299)) + (Prims.of_int (6)) + (Prims.of_int (299)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (299)) + (Prims.of_int (14)) + (Prims.of_int (302)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_V1_Builtins.clear + b)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (300)) + (Prims.of_int (15)) + (Prims.of_int (300)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (300)) + (Prims.of_int (33)) + (Prims.of_int (302)) + (Prims.of_int (29))))) + (Obj.magic + (forall_intro ())) + (fun uu___5 -> + (fun bx -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (301)) + (Prims.of_int (15)) + (Prims.of_int (301)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (302)) + (Prims.of_int (6)) + (Prims.of_int (302)) + (Prims.of_int (29))))) + (Obj.magic + (implies_intro + ())) + (fun uu___5 + -> + (fun b' + -> + Obj.magic + (sk_binder' + (bx :: + acc) b')) + uu___5))) + uu___5))) uu___4))) + uu___3))) uu___2)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (acc, b)))) uu___1)) +let (sk_binder : + FStar_Reflection_Types.binder -> + ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder), + unit) FStar_Tactics_Effect.tac_repr) + = fun b -> sk_binder' [] b +let (skolem : + unit -> + ((FStar_Reflection_Types.binders * FStar_Reflection_Types.binder) + Prims.list, + unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (311)) (Prims.of_int (11)) (Prims.of_int (311)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (312)) (Prims.of_int (2)) (Prims.of_int (312)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (311)) (Prims.of_int (26)) + (Prims.of_int (311)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (311)) (Prims.of_int (11)) + (Prims.of_int (311)) (Prims.of_int (38))))) + (Obj.magic (FStar_Tactics_V1_Derived.cur_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V1_Builtins.binders_of_env uu___1)))) + (fun uu___1 -> + (fun bs -> Obj.magic (FStar_Tactics_Util.map sk_binder bs)) uu___1) +let (easy_fill : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (321)) (Prims.of_int (12)) (Prims.of_int (321)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (321)) (Prims.of_int (27)) (Prims.of_int (324)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Derived.repeat FStar_Tactics_V1_Builtins.intro)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (323)) (Prims.of_int (12)) + (Prims.of_int (323)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (324)) (Prims.of_int (4)) + (Prims.of_int (324)) (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V1_Derived.trytac + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (323)) (Prims.of_int (30)) + (Prims.of_int (323)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.Logic.fst" + (Prims.of_int (323)) (Prims.of_int (58)) + (Prims.of_int (323)) (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V1_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "lemma_from_squash"]))))) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_V1_Builtins.intro ())) + uu___3)))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic (FStar_Tactics_V1_Derived.smt ())) uu___2))) + uu___1) +let easy : 'a . 'a -> 'a = fun x -> x +let (using_lemma : + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V1_Derived.try_with + (fun uu___ -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V1"; "Logic"; "lem1_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V1_Derived.try_with + (fun uu___1 -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "lem2_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + FStar_Tactics_V1_Derived.try_with + (fun uu___2 -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V1"; + "Logic"; + "lem3_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V1_Derived.fail + "using_lemma: failed to instantiate")) uu___2))) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml new file mode 100644 index 00000000000..f6b107beba1 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml @@ -0,0 +1,536 @@ +open Prims +let rec (collect_arr' : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.comp -> + ((FStar_Reflection_Types.binder Prims.list * + FStar_Reflection_Types.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun c -> + match FStar_Reflection_V1_Builtins.inspect_comp c with + | FStar_Reflection_V1_Data.C_Total t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (14)) (Prims.of_int (20)) + (Prims.of_int (14)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (14)) (Prims.of_int (14)) + (Prims.of_int (18)) (Prims.of_int (19))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_Arrow (b, c1) -> + Obj.magic + (Obj.repr (collect_arr' (b :: bs) c1)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (bs, c))))) uu___))) + | uu___ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (bs, c))))) uu___1 uu___ +let (collect_arr_bs : + FStar_Reflection_Types.typ -> + ((FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (25)) (Prims.of_int (18)) (Prims.of_int (25)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (24)) (Prims.of_int (22)) (Prims.of_int (26)) + (Prims.of_int (29))))) + (Obj.magic + (collect_arr' [] + (FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total t)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with | (bs, c) -> ((FStar_List_Tot_Base.rev bs), c))) +let (collect_arr : + FStar_Reflection_Types.typ -> + ((FStar_Reflection_Types.typ Prims.list * FStar_Reflection_Types.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (30)) (Prims.of_int (18)) (Prims.of_int (30)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (29)) (Prims.of_int (19)) (Prims.of_int (32)) + (Prims.of_int (29))))) + (Obj.magic + (collect_arr' [] + (FStar_Reflection_V1_Builtins.pack_comp + (FStar_Reflection_V1_Data.C_Total t)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (bs, c) -> + ((FStar_List_Tot_Base.rev + (FStar_List_Tot_Base.map + FStar_Reflection_V1_Derived.type_of_binder bs)), c))) +let rec (collect_abs' : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.binder Prims.list * + FStar_Reflection_Types.term), + unit) FStar_Tactics_Effect.tac_repr) + = + fun bs -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (36)) (Prims.of_int (10)) (Prims.of_int (36)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (36)) (Prims.of_int (4)) (Prims.of_int (39)) + (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_Abs (b, t') -> + Obj.magic (Obj.repr (collect_abs' (b :: bs) t')) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (bs, t))))) uu___) +let (collect_abs : + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.binder Prims.list * FStar_Reflection_Types.term), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (43)) (Prims.of_int (19)) (Prims.of_int (43)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (42)) (Prims.of_int (19)) (Prims.of_int (44)) + (Prims.of_int (30))))) (Obj.magic (collect_abs' [] t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (bs, t') -> ((FStar_List_Tot_Base.rev bs), t'))) +let fail : 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = + fun uu___ -> + (fun m -> + Obj.magic + (FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m))) + uu___ +let rec (mk_arr : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.comp -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun bs -> + fun cod -> + match bs with + | [] -> fail "mk_arr, empty binders" + | b::[] -> + FStar_Tactics_V1_Builtins.pack + (FStar_Reflection_V1_Data.Tv_Arrow (b, cod)) + | b::bs1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (11)) + (Prims.of_int (55)) (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (6)) + (Prims.of_int (55)) (Prims.of_int (61))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (23)) + (Prims.of_int (55)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (11)) + (Prims.of_int (55)) (Prims.of_int (61))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (34)) + (Prims.of_int (55)) (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) (Prims.of_int (23)) + (Prims.of_int (55)) (Prims.of_int (60))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) + (Prims.of_int (43)) + (Prims.of_int (55)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (55)) + (Prims.of_int (34)) + (Prims.of_int (55)) + (Prims.of_int (59))))) + (Obj.magic (mk_arr bs1 cod)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.C_Total uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Builtins.pack_comp uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.Tv_Arrow (b, uu___))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V1_Builtins.pack uu___)) + uu___) +let rec (mk_arr_curried : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.comp -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun bs -> + fun cod -> + match bs with + | [] -> fail "mk_arr, empty binders" + | b::[] -> + FStar_Tactics_V1_Builtins.pack_curried + (FStar_Reflection_V1_Data.Tv_Arrow (b, cod)) + | b::bs1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (30)) + (Prims.of_int (61)) (Prims.of_int (88))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (17)) + (Prims.of_int (61)) (Prims.of_int (88))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (42)) + (Prims.of_int (61)) (Prims.of_int (87))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (30)) + (Prims.of_int (61)) (Prims.of_int (88))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (53)) + (Prims.of_int (61)) (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) (Prims.of_int (42)) + (Prims.of_int (61)) (Prims.of_int (87))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) + (Prims.of_int (62)) + (Prims.of_int (61)) + (Prims.of_int (85))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (61)) + (Prims.of_int (53)) + (Prims.of_int (61)) + (Prims.of_int (86))))) + (Obj.magic (mk_arr_curried bs1 cod)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.C_Total uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Builtins.pack_comp uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.Tv_Arrow (b, uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V1_Builtins.pack_curried uu___)) + uu___) +let rec (mk_tot_arr : + FStar_Reflection_Types.binder Prims.list -> + FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun cod -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> cod))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) (Prims.of_int (11)) + (Prims.of_int (67)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) (Prims.of_int (6)) + (Prims.of_int (67)) (Prims.of_int (65))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) (Prims.of_int (23)) + (Prims.of_int (67)) (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) (Prims.of_int (11)) + (Prims.of_int (67)) (Prims.of_int (65))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) + (Prims.of_int (34)) + (Prims.of_int (67)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) + (Prims.of_int (23)) + (Prims.of_int (67)) + (Prims.of_int (64))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) + (Prims.of_int (43)) + (Prims.of_int (67)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (67)) + (Prims.of_int (34)) + (Prims.of_int (67)) + (Prims.of_int (63))))) + (Obj.magic (mk_tot_arr bs1 cod)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.C_Total + uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Builtins.pack_comp + uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V1_Data.Tv_Arrow + (b, uu___))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_V1_Builtins.pack uu___)) + uu___)))) uu___1 uu___ +let (lookup_lb_view : + FStar_Reflection_Types.letbinding Prims.list -> + FStar_Reflection_Types.name -> + (FStar_Reflection_V1_Data.lb_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun lbs -> + fun nm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (70)) (Prims.of_int (10)) (Prims.of_int (74)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (76)) (Prims.of_int (2)) (Prims.of_int (78)) + (Prims.of_int (56))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_List_Tot_Base.find + (fun lb -> + (FStar_Reflection_V1_Builtins.inspect_fv + (FStar_Reflection_V1_Builtins.inspect_lb lb).FStar_Reflection_V1_Data.lb_fv) + = nm) lbs)) + (fun uu___ -> + (fun o -> + match o with + | FStar_Pervasives_Native.Some lb -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V1_Builtins.inspect_lb lb))) + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr (fail "lookup_lb_view: Name not in let group"))) + uu___) +let rec (inspect_unascribe : + FStar_Reflection_Types.term -> + (FStar_Reflection_V1_Data.term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (81)) (Prims.of_int (8)) (Prims.of_int (81)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (81)) (Prims.of_int (2)) (Prims.of_int (85)) + (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_V1_Builtins.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_AscribedT + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | FStar_Reflection_V1_Data.Tv_AscribedC + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | tv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) + uu___) +let rec (collect_app' : + FStar_Reflection_V1_Data.argv Prims.list -> + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = + fun args -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (90)) (Prims.of_int (10)) (Prims.of_int (90)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V1.SyntaxHelpers.fst" + (Prims.of_int (90)) (Prims.of_int (4)) (Prims.of_int (93)) + (Prims.of_int (20))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V1_Data.Tv_App (l, r) -> + Obj.magic (Obj.repr (collect_app' (r :: args) l)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (t, args))))) uu___) +let (collect_app : + FStar_Reflection_Types.term -> + ((FStar_Reflection_Types.term * FStar_Reflection_V1_Data.argv Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = collect_app' [] \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2.ml new file mode 100644 index 00000000000..e8306abedb2 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2.ml @@ -0,0 +1 @@ +open Prims \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_Basic.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Basic.ml new file mode 100644 index 00000000000..779f4f77a49 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Basic.ml @@ -0,0 +1,8530 @@ +open Prims +let (compress : + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun t -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let uu___1 = FStar_Syntax_Subst.compress t in + FStar_Tactics_Monad.ret uu___1) +let (core_check : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + Prims.bool -> + (FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option, + FStar_TypeChecker_Core.error) FStar_Pervasives.either) + = + fun env -> + fun sol -> + fun t -> + fun must_tot -> + let uu___ = + let uu___1 = FStar_Options.compat_pre_core_should_check () in + Prims.op_Negation uu___1 in + if uu___ + then FStar_Pervasives.Inl FStar_Pervasives_Native.None + else + (let debug f = + let uu___2 = FStar_Options.debug_any () in + if uu___2 then f () else () in + let uu___2 = + FStar_TypeChecker_Core.check_term env sol t must_tot in + match uu___2 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) -> + FStar_Pervasives.Inl FStar_Pervasives_Native.None + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some g) -> + let uu___3 = FStar_Options.compat_pre_core_set () in + if uu___3 + then FStar_Pervasives.Inl FStar_Pervasives_Native.None + else FStar_Pervasives.Inl (FStar_Pervasives_Native.Some g) + | FStar_Pervasives.Inr err -> + (debug + (fun uu___4 -> + let uu___5 = + let uu___6 = FStar_TypeChecker_Env.get_range env in + FStar_Compiler_Range_Ops.string_of_range uu___6 in + let uu___6 = + FStar_TypeChecker_Core.print_error_short err in + let uu___7 = FStar_Syntax_Print.term_to_string sol in + let uu___8 = FStar_Syntax_Print.term_to_string t in + let uu___9 = FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.print5 + "(%s) Core checking failed (%s) on term %s and type %s\n%s\n" + uu___5 uu___6 uu___7 uu___8 uu___9); + FStar_Pervasives.Inr err)) +type name = FStar_Syntax_Syntax.bv +type env = FStar_TypeChecker_Env.env +type implicits = FStar_TypeChecker_Env.implicits +let (rangeof : FStar_Tactics_Types.goal -> FStar_Compiler_Range_Type.range) = + fun g -> + (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_range +let (normalize : + FStar_TypeChecker_Env.steps -> + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) + = + fun s -> + fun e -> + fun t -> + FStar_TypeChecker_Normalize.normalize_with_primitive_steps + FStar_Reflection_V2_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 +let (whnf : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) + = fun e -> fun t -> FStar_TypeChecker_Normalize.unfold_whnf e t +let (tts : + FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> Prims.string) = + FStar_TypeChecker_Normalize.term_to_string +let (set_uvar_expected_typ : + FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.typ -> unit) = + fun u -> + fun t -> + let dec = + FStar_Syntax_Unionfind.find_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.change_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head + { + FStar_Syntax_Syntax.uvar_decoration_typ = t; + FStar_Syntax_Syntax.uvar_decoration_typedness_depends_on = + (dec.FStar_Syntax_Syntax.uvar_decoration_typedness_depends_on); + FStar_Syntax_Syntax.uvar_decoration_should_check = + (dec.FStar_Syntax_Syntax.uvar_decoration_should_check) + } +let (mark_uvar_with_should_check_tag : + FStar_Syntax_Syntax.ctx_uvar -> + FStar_Syntax_Syntax.should_check_uvar -> unit) + = + fun u -> + fun sc -> + let dec = + FStar_Syntax_Unionfind.find_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.change_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head + { + FStar_Syntax_Syntax.uvar_decoration_typ = + (dec.FStar_Syntax_Syntax.uvar_decoration_typ); + FStar_Syntax_Syntax.uvar_decoration_typedness_depends_on = + (dec.FStar_Syntax_Syntax.uvar_decoration_typedness_depends_on); + FStar_Syntax_Syntax.uvar_decoration_should_check = sc + } +let (mark_uvar_as_already_checked : FStar_Syntax_Syntax.ctx_uvar -> unit) = + fun u -> + mark_uvar_with_should_check_tag u FStar_Syntax_Syntax.Already_checked +let (mark_goal_implicit_already_checked : FStar_Tactics_Types.goal -> unit) = + fun g -> mark_uvar_as_already_checked g.FStar_Tactics_Types.goal_ctx_uvar +let (goal_with_type : + FStar_Tactics_Types.goal -> + FStar_Syntax_Syntax.typ -> FStar_Tactics_Types.goal) + = + fun g -> + fun t -> + let u = g.FStar_Tactics_Types.goal_ctx_uvar in + set_uvar_expected_typ u t; g +let (bnorm_goal : FStar_Tactics_Types.goal -> FStar_Tactics_Types.goal) = + fun g -> + let uu___ = + let uu___1 = FStar_Tactics_Types.goal_env g in + let uu___2 = FStar_Tactics_Types.goal_type g in bnorm uu___1 uu___2 in + goal_with_type g uu___ +let (tacprint : Prims.string -> unit) = + fun s -> FStar_Compiler_Util.print1 "TAC>> %s\n" s +let (tacprint1 : Prims.string -> Prims.string -> unit) = + fun s -> + fun x -> + let uu___ = FStar_Compiler_Util.format1 s x in + FStar_Compiler_Util.print1 "TAC>> %s\n" uu___ +let (tacprint2 : Prims.string -> Prims.string -> Prims.string -> unit) = + fun s -> + fun x -> + fun y -> + let uu___ = FStar_Compiler_Util.format2 s x y in + FStar_Compiler_Util.print1 "TAC>> %s\n" uu___ +let (tacprint3 : + Prims.string -> Prims.string -> Prims.string -> Prims.string -> unit) = + fun s -> + fun x -> + fun y -> + fun z -> + let uu___ = FStar_Compiler_Util.format3 s x y z in + FStar_Compiler_Util.print1 "TAC>> %s\n" uu___ +let (print : Prims.string -> unit FStar_Tactics_Monad.tac) = + fun msg -> + (let uu___1 = + let uu___2 = FStar_Options.silent () in Prims.op_Negation uu___2 in + if uu___1 then tacprint msg else ()); + FStar_Tactics_Monad.ret () +let (debugging : unit -> Prims.bool FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = + FStar_TypeChecker_Env.debug ps.FStar_Tactics_Types.main_context + (FStar_Options.Other "Tac") in + FStar_Tactics_Monad.ret uu___1) +let (do_dump_ps : Prims.string -> FStar_Tactics_Types.proofstate -> unit) = + fun msg -> + fun ps -> + let psc = ps.FStar_Tactics_Types.psc in + let subst = FStar_TypeChecker_Cfg.psc_subst psc in + FStar_Tactics_Printing.do_dump_proofstate ps msg +let (dump : Prims.string -> unit FStar_Tactics_Monad.tac) = + fun msg -> + FStar_Tactics_Monad.mk_tac + (fun ps -> do_dump_ps msg ps; FStar_Tactics_Result.Success ((), ps)) +let (dump_all : Prims.bool -> Prims.string -> unit FStar_Tactics_Monad.tac) = + fun print_resolved -> + fun msg -> + FStar_Tactics_Monad.mk_tac + (fun ps -> + let gs = + FStar_Compiler_List.map + (fun i -> + FStar_Tactics_Types.goal_of_implicit + ps.FStar_Tactics_Types.main_context i) + ps.FStar_Tactics_Types.all_implicits in + let gs1 = + if print_resolved + then gs + else + FStar_Compiler_List.filter + (fun g -> + let uu___1 = FStar_Tactics_Types.check_goal_solved g in + Prims.op_Negation uu___1) gs in + let ps' = + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = gs1; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = (ps.FStar_Tactics_Types.urgency) + } in + do_dump_ps msg ps'; FStar_Tactics_Result.Success ((), ps)) +let (dump_uvars_of : + FStar_Tactics_Types.goal -> Prims.string -> unit FStar_Tactics_Monad.tac) = + fun g -> + fun msg -> + FStar_Tactics_Monad.mk_tac + (fun ps -> + let uvs = + let uu___ = + let uu___1 = FStar_Tactics_Types.goal_type g in + FStar_Syntax_Free.uvars uu___1 in + FStar_Compiler_Effect.op_Bar_Greater uu___ + FStar_Compiler_Util.set_elements in + let gs = + FStar_Compiler_List.map (FStar_Tactics_Types.goal_of_ctx_uvar g) + uvs in + let gs1 = + FStar_Compiler_List.filter + (fun g1 -> + let uu___ = FStar_Tactics_Types.check_goal_solved g1 in + Prims.op_Negation uu___) gs in + let ps' = + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = gs1; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = (ps.FStar_Tactics_Types.urgency) + } in + do_dump_ps msg ps'; FStar_Tactics_Result.Success ((), ps)) +let fail1 : + 'uuuuu . Prims.string -> Prims.string -> 'uuuuu FStar_Tactics_Monad.tac = + fun msg -> + fun x -> + let uu___ = FStar_Compiler_Util.format1 msg x in + FStar_Tactics_Monad.fail uu___ +let fail2 : + 'uuuuu . + Prims.string -> + Prims.string -> Prims.string -> 'uuuuu FStar_Tactics_Monad.tac + = + fun msg -> + fun x -> + fun y -> + let uu___ = FStar_Compiler_Util.format2 msg x y in + FStar_Tactics_Monad.fail uu___ +let fail3 : + 'uuuuu . + Prims.string -> + Prims.string -> + Prims.string -> Prims.string -> 'uuuuu FStar_Tactics_Monad.tac + = + fun msg -> + fun x -> + fun y -> + fun z -> + let uu___ = FStar_Compiler_Util.format3 msg x y z in + FStar_Tactics_Monad.fail uu___ +let fail4 : + 'uuuuu . + Prims.string -> + Prims.string -> + Prims.string -> + Prims.string -> Prims.string -> 'uuuuu FStar_Tactics_Monad.tac + = + fun msg -> + fun x -> + fun y -> + fun z -> + fun w -> + let uu___ = FStar_Compiler_Util.format4 msg x y z w in + FStar_Tactics_Monad.fail uu___ +let (destruct_eq' : + FStar_Syntax_Syntax.typ -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) + FStar_Pervasives_Native.option) + = + fun typ -> + let uu___ = FStar_Syntax_Util.destruct_typ_as_formula typ in + match uu___ with + | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn + (l, + uu___1::(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___1 -> + let uu___2 = FStar_Syntax_Util.unb2t typ in + (match uu___2 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some t -> + let uu___3 = FStar_Syntax_Util.head_and_args t in + (match uu___3 with + | (hd, args) -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Subst.compress hd in + uu___6.FStar_Syntax_Syntax.n in + (uu___5, args) in + (match uu___4 with + | (FStar_Syntax_Syntax.Tm_fvar fv, + (uu___5, FStar_Pervasives_Native.Some + { FStar_Syntax_Syntax.aqual_implicit = true; + FStar_Syntax_Syntax.aqual_attributes = uu___6;_}):: + (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___5 -> FStar_Pervasives_Native.None))) +let (destruct_eq : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.typ -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) + FStar_Pervasives_Native.option) + = + fun env1 -> + fun typ -> + let typ1 = whnf env1 typ in + let uu___ = destruct_eq' typ1 in + match uu___ with + | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some t + | FStar_Pervasives_Native.None -> + let uu___1 = FStar_Syntax_Util.un_squash typ1 in + (match uu___1 with + | FStar_Pervasives_Native.Some typ2 -> + let typ3 = whnf env1 typ2 in destruct_eq' typ3 + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) +let (get_guard_policy : + unit -> FStar_Tactics_Types.guard_policy FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> FStar_Tactics_Monad.ret ps.FStar_Tactics_Types.guard_policy) +let (set_guard_policy : + FStar_Tactics_Types.guard_policy -> unit FStar_Tactics_Monad.tac) = + fun pol -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.set + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = (ps.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = pol; + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = (ps.FStar_Tactics_Types.urgency) + }) +let with_policy : + 'a . + FStar_Tactics_Types.guard_policy -> + 'a FStar_Tactics_Monad.tac -> 'a FStar_Tactics_Monad.tac + = + fun pol -> + fun t -> + let uu___ = get_guard_policy () in + FStar_Tactics_Monad.bind uu___ + (fun old_pol -> + let uu___1 = set_guard_policy pol in + FStar_Tactics_Monad.bind uu___1 + (fun uu___2 -> + FStar_Tactics_Monad.bind t + (fun r -> + let uu___3 = set_guard_policy old_pol in + FStar_Tactics_Monad.bind uu___3 + (fun uu___4 -> FStar_Tactics_Monad.ret r)))) +let (proc_guard' : + Prims.bool -> + Prims.string -> + env -> + FStar_TypeChecker_Common.guard_t -> + FStar_Syntax_Syntax.should_check_uvar + FStar_Pervasives_Native.option -> + FStar_Compiler_Range_Type.range -> unit FStar_Tactics_Monad.tac) + = + fun simplify -> + fun reason -> + fun e -> + fun g -> + fun sc_opt -> + fun rng -> + FStar_Tactics_Monad.mlog + (fun uu___ -> + let uu___1 = FStar_TypeChecker_Rel.guard_to_string e g in + FStar_Compiler_Util.print2 "Processing guard (%s:%s)\n" + reason uu___1) + (fun uu___ -> + (match sc_opt with + | FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Allow_untyped r) -> + FStar_Compiler_List.iter + (fun imp -> + mark_uvar_with_should_check_tag + imp.FStar_TypeChecker_Common.imp_uvar + (FStar_Syntax_Syntax.Allow_untyped r)) + g.FStar_TypeChecker_Common.implicits + | uu___2 -> ()); + (let uu___2 = + FStar_Tactics_Monad.add_implicits + g.FStar_TypeChecker_Common.implicits in + FStar_Tactics_Monad.op_let_Bang uu___2 + (fun uu___3 -> + let guard_f = + if simplify + then + let uu___4 = + FStar_TypeChecker_Rel.simplify_guard e g in + uu___4.FStar_TypeChecker_Common.guard_f + else g.FStar_TypeChecker_Common.guard_f in + match guard_f with + | FStar_TypeChecker_Common.Trivial -> + FStar_Tactics_Monad.ret () + | FStar_TypeChecker_Common.NonTrivial f -> + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.get + (fun ps -> + match ps.FStar_Tactics_Types.guard_policy + with + | FStar_Tactics_Types.Drop -> + ((let uu___5 = + let uu___6 = + let uu___7 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.format1 + "Tactics admitted guard <%s>\n\n" + uu___7 in + (FStar_Errors_Codes.Warning_TacAdmit, + uu___6) in + FStar_Errors.log_issue + e.FStar_TypeChecker_Env.range + uu___5); + FStar_Tactics_Monad.ret ()) + | FStar_Tactics_Types.Goal -> + FStar_Tactics_Monad.mlog + (fun uu___4 -> + let uu___5 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.print2 + "Making guard (%s:%s) into a goal\n" + reason uu___5) + (fun uu___4 -> + let uu___5 = + FStar_Tactics_Monad.goal_of_guard + reason e f sc_opt rng in + FStar_Tactics_Monad.op_let_Bang + uu___5 + (fun g1 -> + FStar_Tactics_Monad.push_goals + [g1])) + | FStar_Tactics_Types.SMT -> + FStar_Tactics_Monad.mlog + (fun uu___4 -> + let uu___5 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.print2 + "Sending guard (%s:%s) to SMT goal\n" + reason uu___5) + (fun uu___4 -> + let uu___5 = + FStar_Tactics_Monad.goal_of_guard + reason e f sc_opt rng in + FStar_Tactics_Monad.op_let_Bang + uu___5 + (fun g1 -> + FStar_Tactics_Monad.push_smt_goals + [g1])) + | FStar_Tactics_Types.Force -> + FStar_Tactics_Monad.mlog + (fun uu___4 -> + let uu___5 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.print2 + "Forcing guard (%s:%s)\n" reason + uu___5) + (fun uu___4 -> + try + (fun uu___5 -> + match () with + | () -> + let uu___6 = + let uu___7 = + let uu___8 = + FStar_TypeChecker_Rel.discharge_guard_no_smt + e g in + FStar_Compiler_Effect.op_Less_Bar + FStar_TypeChecker_Env.is_trivial + uu___8 in + Prims.op_Negation + uu___7 in + if uu___6 + then + FStar_Tactics_Monad.mlog + (fun uu___7 -> + let uu___8 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.print1 + "guard = %s\n" + uu___8) + (fun uu___7 -> + fail1 + "Forcing the guard failed (%s)" + reason) + else + FStar_Tactics_Monad.ret + ()) () + with + | uu___5 -> + FStar_Tactics_Monad.mlog + (fun uu___6 -> + let uu___7 = + FStar_TypeChecker_Rel.guard_to_string + e g in + FStar_Compiler_Util.print1 + "guard = %s\n" uu___7) + (fun uu___6 -> + fail1 + "Forcing the guard failed (%s)" + reason)))))) +let (proc_guard : + Prims.string -> + env -> + FStar_TypeChecker_Common.guard_t -> + FStar_Syntax_Syntax.should_check_uvar FStar_Pervasives_Native.option + -> FStar_Compiler_Range_Type.range -> unit FStar_Tactics_Monad.tac) + = proc_guard' true +let (tc_unifier_solved_implicits : + FStar_TypeChecker_Env.env -> + Prims.bool -> + Prims.bool -> + FStar_Syntax_Syntax.ctx_uvar Prims.list -> + unit FStar_Tactics_Monad.tac) + = + fun env1 -> + fun must_tot -> + fun allow_guards -> + fun uvs -> + let aux u = + let dec = + FStar_Syntax_Unionfind.find_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head in + let sc = dec.FStar_Syntax_Syntax.uvar_decoration_should_check in + match sc with + | FStar_Syntax_Syntax.Allow_untyped uu___ -> + FStar_Tactics_Monad.ret () + | FStar_Syntax_Syntax.Already_checked -> + FStar_Tactics_Monad.ret () + | uu___ -> + let uu___1 = + FStar_Syntax_Unionfind.find + u.FStar_Syntax_Syntax.ctx_uvar_head in + (match uu___1 with + | FStar_Pervasives_Native.None -> FStar_Tactics_Monad.ret () + | FStar_Pervasives_Native.Some sol -> + let env2 = + { + FStar_TypeChecker_Env.solver = + (env1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (env1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (env1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (u.FStar_Syntax_Syntax.ctx_uvar_gamma); + FStar_TypeChecker_Env.gamma_sig = + (env1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (env1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (env1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (env1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (env1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (env1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (env1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (env1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (env1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (env1.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (env1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (env1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (env1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (env1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (env1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (env1.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (env1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (env1.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (env1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (env1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (env1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (env1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (env1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (env1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (env1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (env1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (env1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (env1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (env1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (env1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (env1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (env1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (env1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (env1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (env1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (env1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (env1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (env1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (env1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (env1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (env1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (env1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (env1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (env1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (env1.FStar_TypeChecker_Env.core_check) + } in + let must_tot1 = + must_tot && + (Prims.op_Negation + (FStar_Syntax_Syntax.uu___is_Allow_ghost + dec.FStar_Syntax_Syntax.uvar_decoration_should_check)) in + let uu___2 = + let uu___3 = FStar_Syntax_Util.ctx_uvar_typ u in + core_check env2 sol uu___3 must_tot1 in + (match uu___2 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) + -> + (mark_uvar_as_already_checked u; + FStar_Tactics_Monad.ret ()) + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some g) + -> + let guard = + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial g); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + } in + let guard1 = + FStar_TypeChecker_Rel.simplify_guard env2 guard in + let uu___3 = + ((FStar_Options.disallow_unification_guards ()) + && (Prims.op_Negation allow_guards)) + && + (FStar_TypeChecker_Common.uu___is_NonTrivial + guard1.FStar_TypeChecker_Common.guard_f) in + if uu___3 + then + let uu___4 = + FStar_Syntax_Print.uvar_to_string + u.FStar_Syntax_Syntax.ctx_uvar_head in + let uu___5 = + FStar_Syntax_Print.term_to_string sol in + let uu___6 = FStar_Syntax_Print.term_to_string g in + fail3 + "Could not typecheck unifier solved implicit %s to %s since it produced a guard and guards were not allowed;guard is\n%s" + uu___4 uu___5 uu___6 + else + (let uu___5 = + proc_guard' false "guard for implicit" env2 + guard1 (FStar_Pervasives_Native.Some sc) + u.FStar_Syntax_Syntax.ctx_uvar_range in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + mark_uvar_as_already_checked u; + FStar_Tactics_Monad.ret ())) + | FStar_Pervasives.Inr failed -> + let uu___3 = + FStar_Syntax_Print.uvar_to_string + u.FStar_Syntax_Syntax.ctx_uvar_head in + let uu___4 = FStar_Syntax_Print.term_to_string sol in + let uu___5 = + FStar_TypeChecker_Core.print_error failed in + fail3 + "Could not typecheck unifier solved implicit %s to %s because %s" + uu___3 uu___4 uu___5)) in + if env1.FStar_TypeChecker_Env.phase1 + then FStar_Tactics_Monad.ret () + else + FStar_Compiler_Effect.op_Bar_Greater uvs + (FStar_Tactics_Monad.iter_tac aux) +type check_unifier_solved_implicits_side = + | Check_none + | Check_left_only + | Check_right_only + | Check_both +let (uu___is_Check_none : check_unifier_solved_implicits_side -> Prims.bool) + = + fun projectee -> match projectee with | Check_none -> true | uu___ -> false +let (uu___is_Check_left_only : + check_unifier_solved_implicits_side -> Prims.bool) = + fun projectee -> + match projectee with | Check_left_only -> true | uu___ -> false +let (uu___is_Check_right_only : + check_unifier_solved_implicits_side -> Prims.bool) = + fun projectee -> + match projectee with | Check_right_only -> true | uu___ -> false +let (uu___is_Check_both : check_unifier_solved_implicits_side -> Prims.bool) + = + fun projectee -> match projectee with | Check_both -> true | uu___ -> false +let (__do_unify_wflags : + Prims.bool -> + Prims.bool -> + Prims.bool -> + check_unifier_solved_implicits_side -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + FStar_TypeChecker_Common.guard_t + FStar_Pervasives_Native.option FStar_Tactics_Monad.tac) + = + fun dbg -> + fun allow_guards -> + fun must_tot -> + fun check_side -> + fun env1 -> + fun t1 -> + fun t2 -> + if dbg + then + (let uu___1 = FStar_Syntax_Print.term_to_string t1 in + let uu___2 = FStar_Syntax_Print.term_to_string t2 in + FStar_Compiler_Util.print2 "%%%%%%%%do_unify %s =? %s\n" + uu___1 uu___2) + else (); + (let all_uvars = + let uu___1 = + match check_side with + | Check_none -> FStar_Syntax_Free.new_uv_set () + | Check_left_only -> FStar_Syntax_Free.uvars t1 + | Check_right_only -> FStar_Syntax_Free.uvars t2 + | Check_both -> + let uu___2 = FStar_Syntax_Free.uvars t1 in + let uu___3 = FStar_Syntax_Free.uvars t2 in + FStar_Compiler_Util.set_union uu___2 uu___3 in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + FStar_Compiler_Util.set_elements in + let uu___1 = + let uu___2 = + let uu___3 = + FStar_Tactics_Monad.trytac + FStar_Tactics_Monad.cur_goal in + FStar_Tactics_Monad.bind uu___3 + (fun gopt -> + try + (fun uu___4 -> + match () with + | () -> + let res = + if allow_guards + then + FStar_TypeChecker_Rel.try_teq true + env1 t1 t2 + else + FStar_TypeChecker_Rel.teq_nosmt env1 + t1 t2 in + (if dbg + then + (let uu___6 = + FStar_Common.string_of_option + (FStar_TypeChecker_Rel.guard_to_string + env1) res in + let uu___7 = + FStar_Syntax_Print.term_to_string t1 in + let uu___8 = + FStar_Syntax_Print.term_to_string t2 in + FStar_Compiler_Util.print3 + "%%%%%%%%do_unify (RESULT %s) %s =? %s\n" + uu___6 uu___7 uu___8) + else (); + (match res with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.ret + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some g -> + let uu___6 = + tc_unifier_solved_implicits env1 + must_tot allow_guards all_uvars in + FStar_Tactics_Monad.op_let_Bang + uu___6 + (fun uu___7 -> + let uu___8 = + FStar_Tactics_Monad.add_implicits + g.FStar_TypeChecker_Common.implicits in + FStar_Tactics_Monad.op_let_Bang + uu___8 + (fun uu___9 -> + FStar_Tactics_Monad.ret + (FStar_Pervasives_Native.Some + g)))))) () + with + | FStar_Errors.Err (uu___5, msg, uu___6) -> + FStar_Tactics_Monad.mlog + (fun uu___7 -> + FStar_Compiler_Util.print1 + ">> do_unify error, (%s)\n" msg) + (fun uu___7 -> + FStar_Tactics_Monad.ret + FStar_Pervasives_Native.None) + | FStar_Errors.Error (uu___5, msg, r, uu___6) -> + FStar_Tactics_Monad.mlog + (fun uu___7 -> + let uu___8 = + FStar_Compiler_Range_Ops.string_of_range + r in + FStar_Compiler_Util.print2 + ">> do_unify error, (%s) at (%s)\n" msg + uu___8) + (fun uu___7 -> + FStar_Tactics_Monad.ret + FStar_Pervasives_Native.None)) in + FStar_Tactics_Monad.catch uu___2 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | FStar_Pervasives.Inl exn -> + FStar_Tactics_Monad.traise exn + | FStar_Pervasives.Inr v -> FStar_Tactics_Monad.ret v)) +let (__do_unify : + Prims.bool -> + Prims.bool -> + check_unifier_solved_implicits_side -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + FStar_TypeChecker_Common.guard_t FStar_Pervasives_Native.option + FStar_Tactics_Monad.tac) + = + fun allow_guards -> + fun must_tot -> + fun check_side -> + fun env1 -> + fun t1 -> + fun t2 -> + let dbg = + FStar_TypeChecker_Env.debug env1 + (FStar_Options.Other "TacUnify") in + FStar_Tactics_Monad.bind FStar_Tactics_Monad.idtac + (fun uu___ -> + if dbg + then + (FStar_Options.push (); + (let uu___3 = + FStar_Options.set_options + "--debug_level Rel --debug_level RelCheck" in + ())) + else (); + (let uu___2 = + __do_unify_wflags dbg allow_guards must_tot check_side + env1 t1 t2 in + FStar_Tactics_Monad.bind uu___2 + (fun r -> + if dbg then FStar_Options.pop () else (); + FStar_Tactics_Monad.ret r))) +let (do_unify_aux : + Prims.bool -> + check_unifier_solved_implicits_side -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun must_tot -> + fun check_side -> + fun env1 -> + fun t1 -> + fun t2 -> + let uu___ = __do_unify false must_tot check_side env1 t1 t2 in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.ret false + | FStar_Pervasives_Native.Some g -> + ((let uu___3 = + let uu___4 = + FStar_TypeChecker_Env.is_trivial_guard_formula g in + Prims.op_Negation uu___4 in + if uu___3 + then + failwith + "internal error: do_unify: guard is not trivial" + else ()); + FStar_Tactics_Monad.ret true)) +let (do_unify : + Prims.bool -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun must_tot -> + fun env1 -> + fun t1 -> fun t2 -> do_unify_aux must_tot Check_both env1 t1 t2 +let (do_unify_maybe_guards : + Prims.bool -> + Prims.bool -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + FStar_TypeChecker_Common.guard_t FStar_Pervasives_Native.option + FStar_Tactics_Monad.tac) + = + fun allow_guards -> + fun must_tot -> + fun env1 -> + fun t1 -> + fun t2 -> __do_unify allow_guards must_tot Check_both env1 t1 t2 +let (do_match : + Prims.bool -> + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun must_tot -> + fun env1 -> + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.mk_tac + (fun ps -> + let tx = FStar_Syntax_Unionfind.new_transaction () in + FStar_Tactics_Result.Success (tx, ps)) in + FStar_Tactics_Monad.bind uu___ + (fun tx -> + let uvs1 = FStar_Syntax_Free.uvars_uncached t1 in + let uu___1 = do_unify_aux must_tot Check_right_only env1 t1 t2 in + FStar_Tactics_Monad.bind uu___1 + (fun r -> + if r + then + let uvs2 = FStar_Syntax_Free.uvars_uncached t1 in + let uu___2 = + let uu___3 = FStar_Compiler_Util.set_eq uvs1 uvs2 in + Prims.op_Negation uu___3 in + (if uu___2 + then + (FStar_Syntax_Unionfind.rollback tx; + FStar_Tactics_Monad.ret false) + else FStar_Tactics_Monad.ret true) + else FStar_Tactics_Monad.ret false)) +let (do_match_on_lhs : + Prims.bool -> + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun must_tot -> + fun env1 -> + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.mk_tac + (fun ps -> + let tx = FStar_Syntax_Unionfind.new_transaction () in + FStar_Tactics_Result.Success (tx, ps)) in + FStar_Tactics_Monad.bind uu___ + (fun tx -> + let uu___1 = destruct_eq env1 t1 in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "do_match_on_lhs: not an eq" + | FStar_Pervasives_Native.Some (lhs, uu___2) -> + let uvs1 = FStar_Syntax_Free.uvars_uncached lhs in + let uu___3 = + do_unify_aux must_tot Check_right_only env1 t1 t2 in + FStar_Tactics_Monad.bind uu___3 + (fun r -> + if r + then + let uvs2 = FStar_Syntax_Free.uvars_uncached lhs in + let uu___4 = + let uu___5 = FStar_Compiler_Util.set_eq uvs1 uvs2 in + Prims.op_Negation uu___5 in + (if uu___4 + then + (FStar_Syntax_Unionfind.rollback tx; + FStar_Tactics_Monad.ret false) + else FStar_Tactics_Monad.ret true) + else FStar_Tactics_Monad.ret false)) +let (set_solution : + FStar_Tactics_Types.goal -> + FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun goal -> + fun solution -> + let uu___ = + FStar_Syntax_Unionfind.find + (goal.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head in + match uu___ with + | FStar_Pervasives_Native.Some uu___1 -> + let uu___2 = + let uu___3 = FStar_Tactics_Printing.goal_to_string_verbose goal in + FStar_Compiler_Util.format1 "Goal %s is already solved" uu___3 in + FStar_Tactics_Monad.fail uu___2 + | FStar_Pervasives_Native.None -> + (FStar_Syntax_Unionfind.change + (goal.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head + solution; + mark_goal_implicit_already_checked goal; + FStar_Tactics_Monad.ret ()) +let (trysolve : + FStar_Tactics_Types.goal -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun goal -> + fun solution -> + let must_tot = true in + let uu___ = FStar_Tactics_Types.goal_env goal in + let uu___1 = FStar_Tactics_Types.goal_witness goal in + do_unify must_tot uu___ solution uu___1 +let (solve : + FStar_Tactics_Types.goal -> + FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun goal -> + fun solution -> + let e = FStar_Tactics_Types.goal_env goal in + FStar_Tactics_Monad.mlog + (fun uu___ -> + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_witness goal in + FStar_Syntax_Print.term_to_string uu___2 in + let uu___2 = FStar_Syntax_Print.term_to_string solution in + FStar_Compiler_Util.print2 "solve %s := %s\n" uu___1 uu___2) + (fun uu___ -> + let uu___1 = trysolve goal solution in + FStar_Tactics_Monad.bind uu___1 + (fun b -> + if b + then + FStar_Tactics_Monad.bind FStar_Tactics_Monad.dismiss + (fun uu___2 -> FStar_Tactics_Monad.remove_solved_goals) + else + (let uu___3 = + let uu___4 = + let uu___5 = FStar_Tactics_Types.goal_env goal in + tts uu___5 solution in + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env goal in + let uu___7 = FStar_Tactics_Types.goal_witness goal in + tts uu___6 uu___7 in + let uu___6 = + let uu___7 = FStar_Tactics_Types.goal_env goal in + let uu___8 = FStar_Tactics_Types.goal_type goal in + tts uu___7 uu___8 in + FStar_Compiler_Util.format3 "%s does not solve %s : %s" + uu___4 uu___5 uu___6 in + FStar_Tactics_Monad.fail uu___3))) +let (solve' : + FStar_Tactics_Types.goal -> + FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun goal -> + fun solution -> + let uu___ = set_solution goal solution in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.dismiss + (fun uu___2 -> FStar_Tactics_Monad.remove_solved_goals)) +let (is_true : FStar_Syntax_Syntax.term -> Prims.bool) = + fun t -> + let t1 = FStar_Syntax_Util.unascribe t in + let uu___ = FStar_Syntax_Util.un_squash t1 in + match uu___ with + | FStar_Pervasives_Native.Some t' -> + let t'1 = FStar_Syntax_Util.unascribe t' in + let uu___1 = + let uu___2 = FStar_Syntax_Subst.compress t'1 in + uu___2.FStar_Syntax_Syntax.n in + (match uu___1 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.true_lid + | uu___2 -> false) + | uu___1 -> false +let (is_false : FStar_Syntax_Syntax.term -> Prims.bool) = + fun t -> + let uu___ = FStar_Syntax_Util.un_squash t in + match uu___ with + | FStar_Pervasives_Native.Some t' -> + let uu___1 = + let uu___2 = FStar_Syntax_Subst.compress t' in + uu___2.FStar_Syntax_Syntax.n in + (match uu___1 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.false_lid + | uu___2 -> false) + | uu___1 -> false +let (tadmit_t : FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) = + fun t -> + let uu___ = + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.cur_goal + (fun g -> + (let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_type g in + uu___3.FStar_Syntax_Syntax.pos in + let uu___3 = + let uu___4 = + let uu___5 = + FStar_Tactics_Printing.goal_to_string "" + FStar_Pervasives_Native.None ps g in + FStar_Compiler_Util.format1 + "Tactics admitted goal <%s>\n\n" uu___5 in + (FStar_Errors_Codes.Warning_TacAdmit, uu___4) in + FStar_Errors.log_issue uu___2 uu___3); + solve' g t)) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "tadmit_t") uu___ +let (fresh : unit -> FStar_BigInt.t FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + let n = ps.FStar_Tactics_Types.freshness in + let ps1 = + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = (ps.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = (n + Prims.int_one); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = (ps.FStar_Tactics_Types.urgency) + } in + let uu___1 = FStar_Tactics_Monad.set ps1 in + FStar_Tactics_Monad.bind uu___1 + (fun uu___2 -> + let uu___3 = FStar_BigInt.of_int_fs n in + FStar_Tactics_Monad.ret uu___3)) +let (curms : unit -> FStar_BigInt.t FStar_Tactics_Monad.tac) = + fun uu___ -> + let uu___1 = + let uu___2 = FStar_Compiler_Util.now_ms () in + FStar_Compiler_Effect.op_Bar_Greater uu___2 FStar_BigInt.of_int_fs in + FStar_Tactics_Monad.ret uu___1 +let (__tc : + env -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ * + FStar_TypeChecker_Common.guard_t) FStar_Tactics_Monad.tac) + = + fun e -> + fun t -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.mlog + (fun uu___ -> + let uu___1 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.print1 "Tac> __tc(%s)\n" uu___1) + (fun uu___ -> + let e1 = + { + FStar_TypeChecker_Env.solver = + (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + } in + try + (fun uu___1 -> + match () with + | () -> + let uu___2 = + FStar_TypeChecker_TcTerm.typeof_tot_or_gtot_term + e1 t true in + FStar_Tactics_Monad.ret uu___2) () + with + | FStar_Errors.Err (uu___2, msg, uu___3) -> + let uu___4 = tts e1 t in + let uu___5 = + let uu___6 = FStar_TypeChecker_Env.all_binders e1 in + FStar_Compiler_Effect.op_Bar_Greater uu___6 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (1) %s in context (%s). Error = (%s)" + uu___4 uu___5 msg + | FStar_Errors.Error (uu___2, msg, uu___3, uu___4) -> + let uu___5 = tts e1 t in + let uu___6 = + let uu___7 = FStar_TypeChecker_Env.all_binders e1 in + FStar_Compiler_Effect.op_Bar_Greater uu___7 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (1) %s in context (%s). Error = (%s)" + uu___5 uu___6 msg)) +let (__tc_ghost : + env -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ * + FStar_TypeChecker_Common.guard_t) FStar_Tactics_Monad.tac) + = + fun e -> + fun t -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.mlog + (fun uu___ -> + let uu___1 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.print1 "Tac> __tc_ghost(%s)\n" uu___1) + (fun uu___ -> + let e1 = + { + FStar_TypeChecker_Env.solver = + (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + } in + let e2 = + { + FStar_TypeChecker_Env.solver = + (e1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e1.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = []; + FStar_TypeChecker_Env.top_level = + (e1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (e1.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e1.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (e1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e1.FStar_TypeChecker_Env.core_check) + } in + try + (fun uu___1 -> + match () with + | () -> + let uu___2 = + FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term e2 t in + (match uu___2 with + | (t1, lc, g) -> + FStar_Tactics_Monad.ret + (t1, (lc.FStar_TypeChecker_Common.res_typ), + g))) () + with + | FStar_Errors.Err (uu___2, msg, uu___3) -> + let uu___4 = tts e2 t in + let uu___5 = + let uu___6 = FStar_TypeChecker_Env.all_binders e2 in + FStar_Compiler_Effect.op_Bar_Greater uu___6 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (2) %s in context (%s). Error = (%s)" + uu___4 uu___5 msg + | FStar_Errors.Error (uu___2, msg, uu___3, uu___4) -> + let uu___5 = tts e2 t in + let uu___6 = + let uu___7 = FStar_TypeChecker_Env.all_binders e2 in + FStar_Compiler_Effect.op_Bar_Greater uu___7 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (2) %s in context (%s). Error = (%s)" + uu___5 uu___6 msg)) +let (__tc_lax : + env -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.term * FStar_TypeChecker_Common.lcomp * + FStar_TypeChecker_Common.guard_t) FStar_Tactics_Monad.tac) + = + fun e -> + fun t -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.mlog + (fun uu___ -> + let uu___1 = FStar_Syntax_Print.term_to_string t in + let uu___2 = + let uu___3 = FStar_TypeChecker_Env.all_binders e in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + (FStar_Syntax_Print.binders_to_string ", ") in + FStar_Compiler_Util.print2 "Tac> __tc_lax(%s)(Context:%s)\n" + uu___1 uu___2) + (fun uu___ -> + let e1 = + { + FStar_TypeChecker_Env.solver = + (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = false; + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + } in + let e2 = + { + FStar_TypeChecker_Env.solver = + (e1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e1.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (e1.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = true; + FStar_TypeChecker_Env.lax_universes = + (e1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e1.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (e1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e1.FStar_TypeChecker_Env.core_check) + } in + let e3 = + { + FStar_TypeChecker_Env.solver = + (e2.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (e2.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e2.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (e2.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e2.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e2.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e2.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e2.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e2.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e2.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e2.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e2.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e2.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = []; + FStar_TypeChecker_Env.top_level = + (e2.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e2.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e2.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e2.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (e2.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (e2.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e2.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e2.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e2.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e2.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e2.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e2.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e2.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e2.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (e2.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e2.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e2.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e2.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e2.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e2.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e2.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e2.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e2.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e2.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e2.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e2.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e2.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e2.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (e2.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (e2.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e2.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e2.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e2.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e2.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e2.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e2.FStar_TypeChecker_Env.core_check) + } in + try + (fun uu___1 -> + match () with + | () -> + let uu___2 = FStar_TypeChecker_TcTerm.tc_term e3 t in + FStar_Tactics_Monad.ret uu___2) () + with + | FStar_Errors.Err (uu___2, msg, uu___3) -> + let uu___4 = tts e3 t in + let uu___5 = + let uu___6 = FStar_TypeChecker_Env.all_binders e3 in + FStar_Compiler_Effect.op_Bar_Greater uu___6 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (3) %s in context (%s). Error = (%s)" + uu___4 uu___5 msg + | FStar_Errors.Error (uu___2, msg, uu___3, uu___4) -> + let uu___5 = tts e3 t in + let uu___6 = + let uu___7 = FStar_TypeChecker_Env.all_binders e3 in + FStar_Compiler_Effect.op_Bar_Greater uu___7 + (FStar_Syntax_Print.binders_to_string ", ") in + fail3 "Cannot type (3) %s in context (%s). Error = (%s)" + uu___5 uu___6 msg)) +let (tcc : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.comp FStar_Tactics_Monad.tac) + = + fun e -> + fun t -> + let uu___ = + let uu___1 = __tc_lax e t in + FStar_Tactics_Monad.bind uu___1 + (fun uu___2 -> + match uu___2 with + | (uu___3, lc, uu___4) -> + let uu___5 = + let uu___6 = FStar_TypeChecker_Common.lcomp_comp lc in + FStar_Compiler_Effect.op_Bar_Greater uu___6 + FStar_Pervasives_Native.fst in + FStar_Tactics_Monad.ret uu___5) in + FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "tcc") + uu___ +let (tc : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.typ FStar_Tactics_Monad.tac) + = + fun e -> + fun t -> + let uu___ = + let uu___1 = tcc e t in + FStar_Tactics_Monad.bind uu___1 + (fun c -> FStar_Tactics_Monad.ret (FStar_Syntax_Util.comp_result c)) in + FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "tc") + uu___ +let divide : + 'a 'b . + FStar_BigInt.t -> + 'a FStar_Tactics_Monad.tac -> + 'b FStar_Tactics_Monad.tac -> ('a * 'b) FStar_Tactics_Monad.tac + = + fun n -> + fun l -> + fun r -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun p -> + let uu___ = + try + (fun uu___1 -> + match () with + | () -> + let uu___2 = + let uu___3 = FStar_BigInt.to_int_fs n in + FStar_Compiler_List.splitAt uu___3 + p.FStar_Tactics_Types.goals in + FStar_Tactics_Monad.ret uu___2) () + with + | uu___1 -> + FStar_Tactics_Monad.fail "divide: not enough goals" in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> + match uu___1 with + | (lgs, rgs) -> + let lp = + { + FStar_Tactics_Types.main_context = + (p.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (p.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = lgs; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = + (p.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = + (p.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = + (p.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (p.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (p.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (p.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (p.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (p.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = + (p.FStar_Tactics_Types.urgency) + } in + let uu___2 = FStar_Tactics_Monad.set lp in + FStar_Tactics_Monad.bind uu___2 + (fun uu___3 -> + FStar_Tactics_Monad.bind l + (fun a1 -> + FStar_Tactics_Monad.bind + FStar_Tactics_Monad.get + (fun lp' -> + let rp = + { + FStar_Tactics_Types.main_context = + (lp'.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (lp'.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = rgs; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = + (lp'.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = + (lp'.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = + (lp'.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (lp'.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (lp'.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (lp'.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (lp'.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (lp'.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = + (lp'.FStar_Tactics_Types.urgency) + } in + let uu___4 = FStar_Tactics_Monad.set rp in + FStar_Tactics_Monad.bind uu___4 + (fun uu___5 -> + FStar_Tactics_Monad.bind r + (fun b1 -> + FStar_Tactics_Monad.bind + FStar_Tactics_Monad.get + (fun rp' -> + let p' = + { + FStar_Tactics_Types.main_context + = + (rp'.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits + = + (rp'.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals + = + (FStar_Compiler_List.op_At + lp'.FStar_Tactics_Types.goals + rp'.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals + = + (FStar_Compiler_List.op_At + lp'.FStar_Tactics_Types.smt_goals + (FStar_Compiler_List.op_At + rp'.FStar_Tactics_Types.smt_goals + p.FStar_Tactics_Types.smt_goals)); + FStar_Tactics_Types.depth + = + (rp'.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump + = + (rp'.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc + = + (rp'.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range + = + (rp'.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy + = + (rp'.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness + = + (rp'.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg + = + (rp'.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state + = + (rp'.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency + = + (rp'.FStar_Tactics_Types.urgency) + } in + let uu___6 = + FStar_Tactics_Monad.set + p' in + FStar_Tactics_Monad.bind + uu___6 + (fun uu___7 -> + FStar_Tactics_Monad.bind + FStar_Tactics_Monad.remove_solved_goals + (fun uu___8 -> + FStar_Tactics_Monad.ret + (a1, b1))))))))))) +let focus : 'a . 'a FStar_Tactics_Monad.tac -> 'a FStar_Tactics_Monad.tac = + fun f -> + let uu___ = divide FStar_BigInt.one f FStar_Tactics_Monad.idtac in + FStar_Tactics_Monad.bind uu___ + (fun uu___1 -> + match uu___1 with | (a1, ()) -> FStar_Tactics_Monad.ret a1) +let rec map : + 'a . 'a FStar_Tactics_Monad.tac -> 'a Prims.list FStar_Tactics_Monad.tac = + fun tau -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun p -> + match p.FStar_Tactics_Types.goals with + | [] -> FStar_Tactics_Monad.ret [] + | uu___::uu___1 -> + let uu___2 = + let uu___3 = map tau in divide FStar_BigInt.one tau uu___3 in + FStar_Tactics_Monad.bind uu___2 + (fun uu___3 -> + match uu___3 with + | (h, t) -> FStar_Tactics_Monad.ret (h :: t))) +let (seq : + unit FStar_Tactics_Monad.tac -> + unit FStar_Tactics_Monad.tac -> unit FStar_Tactics_Monad.tac) + = + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.bind t1 + (fun uu___1 -> + let uu___2 = map t2 in + FStar_Tactics_Monad.bind uu___2 + (fun uu___3 -> FStar_Tactics_Monad.ret ())) in + focus uu___ +let (should_check_goal_uvar : + FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.should_check_uvar) = + fun g -> + FStar_Syntax_Util.ctx_uvar_should_check + g.FStar_Tactics_Types.goal_ctx_uvar +let (goal_typedness_deps : + FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.ctx_uvar Prims.list) = + fun g -> + FStar_Syntax_Util.ctx_uvar_typedness_deps + g.FStar_Tactics_Types.goal_ctx_uvar +let (bnorm_and_replace : + FStar_Tactics_Types.goal -> unit FStar_Tactics_Monad.tac) = + fun g -> let uu___ = bnorm_goal g in FStar_Tactics_Monad.replace_cur uu___ +let (bv_to_binding : + FStar_Syntax_Syntax.bv -> FStar_Reflection_V2_Data.binding) = + fun bv -> + let uu___ = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in + let uu___1 = FStar_Ident.string_of_id bv.FStar_Syntax_Syntax.ppname in + { + FStar_Reflection_V2_Data.uniq1 = uu___; + FStar_Reflection_V2_Data.sort3 = (bv.FStar_Syntax_Syntax.sort); + FStar_Reflection_V2_Data.ppname3 = uu___1 + } +let (binder_to_binding : + FStar_Syntax_Syntax.binder -> FStar_Reflection_V2_Data.binding) = + fun b -> bv_to_binding b.FStar_Syntax_Syntax.binder_bv +let (binding_to_string : FStar_Reflection_V2_Data.binding -> Prims.string) = + fun b -> + let uu___ = + let uu___1 = + let uu___2 = FStar_BigInt.to_int_fs b.FStar_Reflection_V2_Data.uniq1 in + FStar_Compiler_Util.string_of_int uu___2 in + Prims.op_Hat "#" uu___1 in + Prims.op_Hat b.FStar_Reflection_V2_Data.ppname3 uu___ +let (binding_to_bv : + FStar_Reflection_V2_Data.binding -> FStar_Syntax_Syntax.bv) = + fun b -> + let uu___ = + FStar_Ident.mk_ident + ((b.FStar_Reflection_V2_Data.ppname3), + FStar_Compiler_Range_Type.dummyRange) in + let uu___1 = FStar_BigInt.to_int_fs b.FStar_Reflection_V2_Data.uniq1 in + { + FStar_Syntax_Syntax.ppname = uu___; + FStar_Syntax_Syntax.index = uu___1; + FStar_Syntax_Syntax.sort = (b.FStar_Reflection_V2_Data.sort3) + } +let (binding_to_binder : + FStar_Reflection_V2_Data.binding -> FStar_Syntax_Syntax.binder) = + fun b -> let bv = binding_to_bv b in FStar_Syntax_Syntax.mk_binder bv +let (arrow_one : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> + (FStar_TypeChecker_Env.env * FStar_Syntax_Syntax.binder * + FStar_Syntax_Syntax.comp) FStar_Pervasives_Native.option) + = + fun env1 -> + fun t -> + let uu___ = FStar_Syntax_Util.arrow_one_ln t in + match uu___ with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (b, c) -> + let uu___1 = FStar_TypeChecker_Core.open_binders_in_comp env1 [b] c in + (match uu___1 with + | (env2, b1::[], c1) -> + FStar_Pervasives_Native.Some (env2, b1, c1)) +let (intro : + unit -> FStar_Reflection_V2_Data.binding FStar_Tactics_Monad.tac) = + fun uu___ -> + let uu___1 = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_env goal in + let uu___4 = + let uu___5 = FStar_Tactics_Types.goal_env goal in + let uu___6 = FStar_Tactics_Types.goal_type goal in + whnf uu___5 uu___6 in + arrow_one uu___3 uu___4 in + match uu___2 with + | FStar_Pervasives_Native.Some (env', b, c) -> + let uu___3 = + let uu___4 = FStar_Syntax_Util.is_total_comp c in + Prims.op_Negation uu___4 in + if uu___3 + then FStar_Tactics_Monad.fail "Codomain is effectful" + else + (let typ' = FStar_Syntax_Util.comp_result c in + let uu___5 = + let uu___6 = + let uu___7 = should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___7 in + let uu___7 = goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar "intro" env' typ' uu___6 + uu___7 (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + match uu___6 with + | (body, ctx_uvar) -> + let sol = + let uu___7 = + let uu___8 = + FStar_Syntax_Util.residual_comp_of_comp c in + FStar_Pervasives_Native.Some uu___8 in + FStar_Syntax_Util.abs [b] body uu___7 in + let uu___7 = set_solution goal sol in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + 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___9 = bnorm_and_replace g in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + let uu___11 = binder_to_binding b in + FStar_Tactics_Monad.ret uu___11)))) + | FStar_Pervasives_Native.None -> + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env goal in + let uu___5 = FStar_Tactics_Types.goal_type goal in + tts uu___4 uu___5 in + fail1 "goal is not an arrow (%s)" uu___3) in + FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "intro") + uu___1 +let (intro_rec : + unit -> + (FStar_Reflection_V2_Data.binding * FStar_Reflection_V2_Data.binding) + FStar_Tactics_Monad.tac) + = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + FStar_Compiler_Util.print_string + "WARNING (intro_rec): calling this is known to cause normalizer loops\n"; + FStar_Compiler_Util.print_string + "WARNING (intro_rec): proceed at your own risk...\n"; + (let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env goal in + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env goal in + let uu___7 = FStar_Tactics_Types.goal_type goal in + whnf uu___6 uu___7 in + arrow_one uu___4 uu___5 in + match uu___3 with + | FStar_Pervasives_Native.Some (env', b, c) -> + let uu___4 = + let uu___5 = FStar_Syntax_Util.is_total_comp c in + Prims.op_Negation uu___5 in + if uu___4 + then FStar_Tactics_Monad.fail "Codomain is effectful" + else + (let bv = + let uu___6 = FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Syntax.gen_bv "__recf" + FStar_Pervasives_Native.None uu___6 in + let uu___6 = + let uu___7 = + let uu___8 = should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___8 in + let uu___8 = goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar "intro_rec" env' + (FStar_Syntax_Util.comp_result c) uu___7 uu___8 + (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + match uu___7 with + | (u, ctx_uvar_u) -> + let lb = + let uu___8 = FStar_Tactics_Types.goal_type goal in + let uu___9 = + FStar_Syntax_Util.abs [b] u + FStar_Pervasives_Native.None in + FStar_Syntax_Util.mk_letbinding + (FStar_Pervasives.Inl bv) [] uu___8 + FStar_Parser_Const.effect_Tot_lid uu___9 [] + FStar_Compiler_Range_Type.dummyRange in + let body = FStar_Syntax_Syntax.bv_to_name bv in + let uu___8 = + FStar_Syntax_Subst.close_let_rec [lb] body in + (match uu___8 with + | (lbs, body1) -> + let tm = + let uu___9 = + let uu___10 = + FStar_Tactics_Types.goal_witness goal in + uu___10.FStar_Syntax_Syntax.pos in + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_let + { + FStar_Syntax_Syntax.lbs = (true, lbs); + FStar_Syntax_Syntax.body1 = body1 + }) uu___9 in + let uu___9 = set_solution goal tm in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + let uu___11 = + bnorm_and_replace + { + FStar_Tactics_Types.goal_main_env = + (goal.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar = + ctx_uvar_u; + FStar_Tactics_Types.opts = + (goal.FStar_Tactics_Types.opts); + FStar_Tactics_Types.is_guard = + (goal.FStar_Tactics_Types.is_guard); + FStar_Tactics_Types.label = + (goal.FStar_Tactics_Types.label) + } in + FStar_Tactics_Monad.op_let_Bang uu___11 + (fun uu___12 -> + let uu___13 = + let uu___14 = + let uu___15 = + FStar_Syntax_Syntax.mk_binder + bv in + binder_to_binding uu___15 in + let uu___15 = binder_to_binding b in + (uu___14, uu___15) in + FStar_Tactics_Monad.ret uu___13))))) + | FStar_Pervasives_Native.None -> + let uu___4 = + let uu___5 = FStar_Tactics_Types.goal_env goal in + let uu___6 = FStar_Tactics_Types.goal_type goal in + tts uu___5 uu___6 in + fail1 "intro_rec: goal is not an arrow (%s)" uu___4)) +let (norm : + FStar_Pervasives.norm_step Prims.list -> unit FStar_Tactics_Monad.tac) = + fun s -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___ = + FStar_Tactics_Monad.if_verbose + (fun uu___1 -> + let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_witness goal in + FStar_Syntax_Print.term_to_string uu___3 in + FStar_Compiler_Util.print1 "norm: witness = %s\n" uu___2) in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + let steps = + let uu___2 = FStar_TypeChecker_Cfg.translate_norm_steps s in + FStar_Compiler_List.op_At + [FStar_TypeChecker_Env.Reify; + FStar_TypeChecker_Env.UnfoldTac] uu___2 in + let t = + let uu___2 = FStar_Tactics_Types.goal_env goal in + let uu___3 = FStar_Tactics_Types.goal_type goal in + normalize steps uu___2 uu___3 in + let uu___2 = goal_with_type goal t in + FStar_Tactics_Monad.replace_cur uu___2)) +let (norm_term_env : + env -> + FStar_Pervasives.norm_step Prims.list -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun e -> + fun s -> + fun t -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.print1 "norm_term_env: t = %s\n" + uu___3) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + let uu___3 = __tc_lax e t in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (t1, uu___5, uu___6) -> + let steps = + let uu___7 = + FStar_TypeChecker_Cfg.translate_norm_steps s in + FStar_Compiler_List.op_At + [FStar_TypeChecker_Env.Reify; + FStar_TypeChecker_Env.UnfoldTac] uu___7 in + let t2 = + normalize steps + ps.FStar_Tactics_Types.main_context t1 in + let uu___7 = + FStar_Tactics_Monad.if_verbose + (fun uu___8 -> + let uu___9 = + FStar_Syntax_Print.term_to_string t2 in + FStar_Compiler_Util.print1 + "norm_term_env: t' = %s\n" uu___9) in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> FStar_Tactics_Monad.ret t2)))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "norm_term") uu___ +let (refine_intro : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + let uu___1 = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_env g in + let uu___4 = FStar_Tactics_Types.goal_type g in + FStar_TypeChecker_Rel.base_and_refinement uu___3 uu___4 in + match uu___2 with + | (uu___3, FStar_Pervasives_Native.None) -> + FStar_Tactics_Monad.fail "not a refinement" + | (t, FStar_Pervasives_Native.Some (bv, phi)) -> + (mark_goal_implicit_already_checked g; + (let g1 = goal_with_type g t in + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = FStar_Syntax_Syntax.mk_binder bv in + [uu___7] in + FStar_Syntax_Subst.open_term uu___6 phi in + match uu___5 with + | (bvs, phi1) -> + let uu___6 = + let uu___7 = FStar_Compiler_List.hd bvs in + uu___7.FStar_Syntax_Syntax.binder_bv in + (uu___6, phi1) in + match uu___4 with + | (bv1, phi1) -> + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env g in + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = + FStar_Tactics_Types.goal_witness g in + (bv1, uu___11) in + FStar_Syntax_Syntax.NT uu___10 in + [uu___9] in + FStar_Syntax_Subst.subst uu___8 phi1 in + let uu___8 = + let uu___9 = should_check_goal_uvar g in + FStar_Pervasives_Native.Some uu___9 in + FStar_Tactics_Monad.mk_irrelevant_goal + "refine_intro refinement" uu___6 uu___7 uu___8 + (rangeof g) g.FStar_Tactics_Types.opts + g.FStar_Tactics_Types.label in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun g2 -> + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.dismiss + (fun uu___6 -> + FStar_Tactics_Monad.add_goals [g1; g2]))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "refine_intro") uu___1 +let (__exact_now : + Prims.bool -> FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) = + fun set_expected_typ -> + fun t -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let env1 = + if set_expected_typ + then + let uu___ = FStar_Tactics_Types.goal_env goal in + let uu___1 = FStar_Tactics_Types.goal_type goal in + FStar_TypeChecker_Env.set_expected_typ uu___ uu___1 + else FStar_Tactics_Types.goal_env goal in + let uu___ = __tc env1 t in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + match uu___1 with + | (t1, typ, guard) -> + let uu___2 = + FStar_Tactics_Monad.if_verbose + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string typ in + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Rel.guard_to_string uu___6 + guard in + FStar_Compiler_Util.print2 + "__exact_now: got type %s\n__exact_now: and guard %s\n" + uu___4 uu___5) in + FStar_Tactics_Monad.op_let_Bang uu___2 + (fun uu___3 -> + let uu___4 = + let uu___5 = FStar_Tactics_Types.goal_env goal in + let uu___6 = + let uu___7 = should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___7 in + proc_guard "__exact typing" uu___5 guard uu___6 + (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___4 + (fun uu___5 -> + let uu___6 = + FStar_Tactics_Monad.if_verbose + (fun uu___7 -> + let uu___8 = + FStar_Syntax_Print.term_to_string typ in + let uu___9 = + let uu___10 = + FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Print.term_to_string + uu___10 in + FStar_Compiler_Util.print2 + "__exact_now: unifying %s and %s\n" + uu___8 uu___9) in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + let uu___8 = + let uu___9 = + FStar_Tactics_Types.goal_env goal in + let uu___10 = + FStar_Tactics_Types.goal_type goal in + do_unify true uu___9 typ uu___10 in + FStar_Tactics_Monad.op_let_Bang uu___8 + (fun b -> + if b + then + (mark_goal_implicit_already_checked + goal; + solve goal t1) + else + (let uu___10 = + let uu___11 = + let uu___12 = + FStar_Tactics_Types.goal_env + goal in + tts uu___12 in + let uu___12 = + FStar_Tactics_Types.goal_type + goal in + FStar_TypeChecker_Err.print_discrepancy + uu___11 typ uu___12 in + match uu___10 with + | (typ1, goalt) -> + let uu___11 = + let uu___12 = + FStar_Tactics_Types.goal_env + goal in + tts uu___12 t1 in + let uu___12 = + let uu___13 = + FStar_Tactics_Types.goal_env + goal in + let uu___14 = + FStar_Tactics_Types.goal_witness + goal in + tts uu___13 uu___14 in + fail4 + "%s : %s does not exactly solve the goal %s (witness = %s)" + uu___11 typ1 goalt uu___12))))))) +let (t_exact : + Prims.bool -> + Prims.bool -> FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun try_refine -> + fun set_expected_typ -> + fun tm -> + let uu___ = + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Syntax_Print.term_to_string tm in + FStar_Compiler_Util.print1 "t_exact: tm = %s\n" uu___3) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + let uu___3 = + let uu___4 = __exact_now set_expected_typ tm in + FStar_Tactics_Monad.catch uu___4 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | FStar_Pervasives.Inr r -> FStar_Tactics_Monad.ret () + | FStar_Pervasives.Inl e when + Prims.op_Negation try_refine -> + FStar_Tactics_Monad.traise e + | FStar_Pervasives.Inl e -> + let uu___5 = + FStar_Tactics_Monad.if_verbose + (fun uu___6 -> + FStar_Compiler_Util.print_string + "__exact_now failed, trying refine...\n") in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let uu___7 = + let uu___8 = + let uu___9 = norm [FStar_Pervasives.Delta] in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + let uu___11 = refine_intro () in + FStar_Tactics_Monad.op_let_Bang uu___11 + (fun uu___12 -> + __exact_now set_expected_typ tm)) in + FStar_Tactics_Monad.catch uu___8 in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + match uu___8 with + | FStar_Pervasives.Inr r -> + let uu___9 = + FStar_Tactics_Monad.if_verbose + (fun uu___10 -> + FStar_Compiler_Util.print_string + "__exact_now: failed after refining too\n") in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + FStar_Tactics_Monad.ret ()) + | FStar_Pervasives.Inl uu___9 -> + let uu___10 = + FStar_Tactics_Monad.if_verbose + (fun uu___11 -> + FStar_Compiler_Util.print_string + "__exact_now: was not a refinement\n") in + FStar_Tactics_Monad.op_let_Bang uu___10 + (fun uu___11 -> + FStar_Tactics_Monad.traise e))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "exact") uu___ +let (try_unify_by_application : + FStar_Syntax_Syntax.should_check_uvar FStar_Pervasives_Native.option -> + Prims.bool -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + FStar_Compiler_Range_Type.range -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * + FStar_Syntax_Syntax.ctx_uvar) Prims.list + FStar_Tactics_Monad.tac) + = + fun should_check -> + fun only_match -> + fun e -> + fun ty1 -> + fun ty2 -> + fun rng -> + let f = if only_match then do_match else do_unify in + let must_tot = true in + let rec aux acc typedness_deps ty11 = + let uu___ = f must_tot e ty2 ty11 in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + if uu___1 + then FStar_Tactics_Monad.ret acc + else + (let uu___2 = FStar_Syntax_Util.arrow_one ty11 in + match uu___2 with + | FStar_Pervasives_Native.None -> + let uu___3 = tts e ty11 in + let uu___4 = tts e ty2 in + fail2 "Could not instantiate, %s to %s" uu___3 + uu___4 + | FStar_Pervasives_Native.Some (b, c) -> + let uu___3 = + let uu___4 = FStar_Syntax_Util.is_total_comp c in + Prims.op_Negation uu___4 in + if uu___3 + then + FStar_Tactics_Monad.fail + "Codomain is effectful" + else + (let uu___5 = + FStar_Tactics_Monad.new_uvar "apply arg" e + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort + should_check typedness_deps rng in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + match uu___6 with + | (uvt, uv) -> + let uu___7 = + FStar_Tactics_Monad.if_verbose + (fun uu___8 -> + let uu___9 = + FStar_Syntax_Print.ctx_uvar_to_string + uv in + FStar_Compiler_Util.print1 + "t_apply: generated uvar %s\n" + uu___9) in + FStar_Tactics_Monad.op_let_Bang + uu___7 + (fun uu___8 -> + let typ = + FStar_Syntax_Util.comp_result + c in + let typ' = + FStar_Syntax_Subst.subst + [FStar_Syntax_Syntax.NT + ((b.FStar_Syntax_Syntax.binder_bv), + uvt)] typ in + let uu___9 = + let uu___10 = + let uu___11 = + FStar_Syntax_Util.aqual_of_binder + b in + (uvt, uu___11, uv) in + uu___10 :: acc in + aux uu___9 (uv :: + typedness_deps) typ'))))) in + aux [] [] ty1 +let (apply_implicits_as_goals : + FStar_TypeChecker_Env.env -> + FStar_Tactics_Types.goal FStar_Pervasives_Native.option -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.ctx_uvar) Prims.list -> + FStar_Tactics_Types.goal Prims.list Prims.list + FStar_Tactics_Monad.tac) + = + fun env1 -> + fun gl -> + fun imps -> + let one_implicit_as_goal uu___ = + match uu___ with + | (term, ctx_uvar) -> + let uu___1 = FStar_Syntax_Util.head_and_args term in + (match uu___1 with + | (hd, uu___2) -> + let uu___3 = + let uu___4 = FStar_Syntax_Subst.compress hd in + uu___4.FStar_Syntax_Syntax.n in + (match uu___3 with + | FStar_Syntax_Syntax.Tm_uvar (ctx_uvar1, uu___4) -> + let gl1 = + match gl with + | FStar_Pervasives_Native.None -> + let uu___5 = FStar_Options.peek () in + FStar_Tactics_Types.mk_goal env1 ctx_uvar1 + uu___5 true "goal for unsolved implicit" + | FStar_Pervasives_Native.Some gl2 -> + { + FStar_Tactics_Types.goal_main_env = + (gl2.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar = ctx_uvar1; + FStar_Tactics_Types.opts = + (gl2.FStar_Tactics_Types.opts); + FStar_Tactics_Types.is_guard = + (gl2.FStar_Tactics_Types.is_guard); + FStar_Tactics_Types.label = + (gl2.FStar_Tactics_Types.label) + } in + let gl2 = bnorm_goal gl1 in + FStar_Tactics_Monad.ret [gl2] + | uu___4 -> FStar_Tactics_Monad.ret [])) in + FStar_Compiler_Effect.op_Bar_Greater imps + (FStar_Tactics_Monad.mapM one_implicit_as_goal) +let (t_apply : + Prims.bool -> + Prims.bool -> + Prims.bool -> FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun uopt -> + fun only_match -> + fun tc_resolved_uvars -> + fun tm -> + let uu___ = + let tc_resolved_uvars1 = true in + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Compiler_Util.string_of_bool uopt in + let uu___4 = FStar_Compiler_Util.string_of_bool only_match in + let uu___5 = + FStar_Compiler_Util.string_of_bool tc_resolved_uvars1 in + let uu___6 = FStar_Syntax_Print.term_to_string tm in + FStar_Compiler_Util.print4 + "t_apply: uopt %s, only_match %s, tc_resolved_uvars %s, tm = %s\n" + uu___3 uu___4 uu___5 uu___6) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.cur_goal + (fun goal -> + let e = FStar_Tactics_Types.goal_env goal in + let should_check = should_check_goal_uvar goal in + FStar_Tactics_Monad.register_goal goal; + (let uu___4 = __tc e tm in + FStar_Tactics_Monad.op_let_Bang uu___4 + (fun uu___5 -> + match uu___5 with + | (tm1, typ, guard) -> + let uu___6 = + FStar_Tactics_Monad.if_verbose + (fun uu___7 -> + let uu___8 = + FStar_Syntax_Print.term_to_string + tm1 in + let uu___9 = + FStar_Tactics_Printing.goal_to_string_verbose + goal in + let uu___10 = + FStar_TypeChecker_Env.print_gamma + e.FStar_TypeChecker_Env.gamma in + let uu___11 = + FStar_Syntax_Print.term_to_string + typ in + let uu___12 = + FStar_TypeChecker_Rel.guard_to_string + e guard in + FStar_Compiler_Util.print5 + "t_apply: tm = %s\nt_apply: goal = %s\nenv.gamma=%s\ntyp=%s\nguard=%s\n" + uu___8 uu___9 uu___10 uu___11 + uu___12) in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + let typ1 = bnorm e typ in + let uu___8 = + let uu___9 = + FStar_Tactics_Types.goal_type + goal in + try_unify_by_application + (FStar_Pervasives_Native.Some + should_check) only_match e + typ1 uu___9 (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang + uu___8 + (fun uvs -> + let uu___9 = + FStar_Tactics_Monad.if_verbose + (fun uu___10 -> + let uu___11 = + (FStar_Common.string_of_list + ()) + (fun uu___12 -> + match uu___12 + with + | (t, uu___13, + uu___14) -> + FStar_Syntax_Print.term_to_string + t) uvs in + FStar_Compiler_Util.print1 + "t_apply: found args = %s\n" + uu___11) in + FStar_Tactics_Monad.op_let_Bang + uu___9 + (fun uu___10 -> + let w = + FStar_Compiler_List.fold_right + (fun uu___11 -> + fun w1 -> + match uu___11 + with + | (uvt, q, + uu___12) -> + FStar_Syntax_Util.mk_app + w1 + [(uvt, q)]) + uvs tm1 in + let uvset = + let uu___11 = + FStar_Syntax_Free.new_uv_set + () in + FStar_Compiler_List.fold_right + (fun uu___12 -> + fun s -> + match uu___12 + with + | (uu___13, + uu___14, uv) + -> + let uu___15 + = + let uu___16 + = + FStar_Syntax_Util.ctx_uvar_typ + uv in + FStar_Syntax_Free.uvars + uu___16 in + FStar_Compiler_Util.set_union + s uu___15) + uvs uu___11 in + let free_in_some_goal uv + = + FStar_Compiler_Util.set_mem + uv uvset in + let uu___11 = + solve' goal w in + FStar_Tactics_Monad.op_let_Bang + uu___11 + (fun uu___12 -> + let uvt_uv_l = + FStar_Compiler_Effect.op_Bar_Greater + uvs + (FStar_Compiler_List.map + (fun uu___13 + -> + match uu___13 + with + | + (uvt, _q, + uv) -> + (uvt, uv))) in + let uu___13 = + apply_implicits_as_goals + e + (FStar_Pervasives_Native.Some + goal) + uvt_uv_l in + FStar_Tactics_Monad.op_let_Bang + uu___13 + (fun sub_goals -> + let sub_goals1 + = + let uu___14 = + let uu___15 + = + FStar_Compiler_Effect.op_Bar_Greater + (FStar_Compiler_List.flatten + sub_goals) + (FStar_Compiler_List.filter + (fun g -> + let uu___16 + = + uopt && + (free_in_some_goal + g.FStar_Tactics_Types.goal_ctx_uvar) in + Prims.op_Negation + uu___16)) in + FStar_Compiler_Effect.op_Bar_Greater + uu___15 + ( + FStar_Compiler_List.map + bnorm_goal) in + FStar_Compiler_Effect.op_Bar_Greater + uu___14 + FStar_Compiler_List.rev in + let uu___14 = + FStar_Tactics_Monad.add_goals + sub_goals1 in + FStar_Tactics_Monad.op_let_Bang + uu___14 + (fun uu___15 + -> + proc_guard + "apply guard" + e guard + (FStar_Pervasives_Native.Some + should_check) + (rangeof + goal)))))))))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "apply") uu___ +let (lemma_or_sq : + FStar_Syntax_Syntax.comp -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) + FStar_Pervasives_Native.option) + = + fun c -> + let uu___ = FStar_Syntax_Util.comp_eff_name_res_and_args c in + match uu___ with + | (eff_name, res, args) -> + let uu___1 = + FStar_Ident.lid_equals eff_name FStar_Parser_Const.effect_Lemma_lid in + if uu___1 + then + let uu___2 = + match args with + | pre::post::uu___3 -> + ((FStar_Pervasives_Native.fst pre), + (FStar_Pervasives_Native.fst post)) + | uu___3 -> failwith "apply_lemma: impossible: not a lemma" in + (match uu___2 with + | (pre, post) -> + let post1 = + let uu___3 = + let uu___4 = + FStar_Syntax_Syntax.as_arg FStar_Syntax_Util.exp_unit in + [uu___4] in + FStar_Syntax_Util.mk_app post uu___3 in + FStar_Pervasives_Native.Some (pre, post1)) + else + (let uu___3 = + (FStar_Syntax_Util.is_pure_effect eff_name) || + (FStar_Syntax_Util.is_ghost_effect eff_name) in + if uu___3 + then + let uu___4 = FStar_Syntax_Util.un_squash res in + FStar_Compiler_Util.map_opt uu___4 + (fun post -> (FStar_Syntax_Util.t_true, post)) + else FStar_Pervasives_Native.None) +let rec fold_left : + 'a 'b . + ('a -> 'b -> 'b FStar_Tactics_Monad.tac) -> + 'b -> 'a Prims.list -> 'b FStar_Tactics_Monad.tac + = + fun f -> + fun e -> + fun xs -> + match xs with + | [] -> FStar_Tactics_Monad.ret e + | x::xs1 -> + let uu___ = f x e in + FStar_Tactics_Monad.bind uu___ (fun e' -> fold_left f e' xs1) +let (t_apply_lemma : + Prims.bool -> + Prims.bool -> FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun noinst -> + fun noinst_lhs -> + fun tm -> + let uu___ = + let uu___1 = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___2 = + FStar_Tactics_Monad.if_verbose + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string tm in + FStar_Compiler_Util.print1 "apply_lemma: tm = %s\n" + uu___4) in + FStar_Tactics_Monad.op_let_Bang uu___2 + (fun uu___3 -> + let is_unit_t t = + let uu___4 = + let uu___5 = FStar_Syntax_Subst.compress t in + uu___5.FStar_Syntax_Syntax.n in + match uu___4 with + | FStar_Syntax_Syntax.Tm_fvar fv when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.unit_lid + -> true + | uu___5 -> false in + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.cur_goal + (fun goal -> + let env1 = FStar_Tactics_Types.goal_env goal in + FStar_Tactics_Monad.register_goal goal; + (let uu___5 = __tc env1 tm in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + match uu___6 with + | (tm1, t, guard) -> + let uu___7 = + FStar_Syntax_Util.arrow_formals_comp t in + (match uu___7 with + | (bs, comp) -> + let uu___8 = lemma_or_sq comp in + (match uu___8 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "not a lemma or squashed function" + | FStar_Pervasives_Native.Some + (pre, post) -> + let uu___9 = + fold_left + (fun uu___10 -> + fun uu___11 -> + match (uu___10, + uu___11) + with + | ({ + FStar_Syntax_Syntax.binder_bv + = b; + FStar_Syntax_Syntax.binder_qual + = aq; + FStar_Syntax_Syntax.binder_positivity + = uu___12; + FStar_Syntax_Syntax.binder_attrs + = uu___13;_}, + (uvs, deps, imps, + subst)) -> + let b_t = + FStar_Syntax_Subst.subst + subst + b.FStar_Syntax_Syntax.sort in + let uu___14 = + is_unit_t b_t in + if uu___14 + then + FStar_Compiler_Effect.op_Less_Bar + FStar_Tactics_Monad.ret + (((FStar_Syntax_Util.exp_unit, + aq) :: + uvs), deps, + imps, + ((FStar_Syntax_Syntax.NT + (b, + FStar_Syntax_Util.exp_unit)) + :: subst)) + else + (let uu___16 = + let uu___17 + = + let uu___18 + = + let uu___19 + = + FStar_Compiler_Effect.op_Bar_Greater + goal + should_check_goal_uvar in + FStar_Compiler_Effect.op_Bar_Greater + uu___19 + (fun + uu___20 + -> + match uu___20 + with + | + FStar_Syntax_Syntax.Strict + -> + FStar_Syntax_Syntax.Allow_ghost + "apply lemma uvar" + | + x -> x) in + FStar_Compiler_Effect.op_Bar_Greater + uu___18 + (fun + uu___19 + -> + FStar_Pervasives_Native.Some + uu___19) in + FStar_Tactics_Monad.new_uvar + "apply_lemma" + env1 b_t + uu___17 + deps + (rangeof + goal) in + FStar_Tactics_Monad.op_let_Bang + uu___16 + (fun uu___17 + -> + match uu___17 + with + | + (t1, u) + -> + (( + let uu___19 + = + FStar_Compiler_Effect.op_Less_Bar + (FStar_TypeChecker_Env.debug + env1) + (FStar_Options.Other + "2635") in + if + uu___19 + then + let uu___20 + = + FStar_Syntax_Print.ctx_uvar_to_string + u in + let uu___21 + = + FStar_Syntax_Print.term_to_string + tm1 in + FStar_Compiler_Util.print2 + "Apply lemma created a new uvar %s while applying %s\n" + uu___20 + uu___21 + else ()); + FStar_Tactics_Monad.ret + (((t1, + aq) :: + uvs), (u + :: deps), + ((t1, u) + :: imps), + ((FStar_Syntax_Syntax.NT + (b, t1)) + :: + subst)))))) + ([], [], [], []) bs in + FStar_Tactics_Monad.op_let_Bang + uu___9 + (fun uu___10 -> + match uu___10 with + | (uvs, uu___11, + implicits1, subst) -> + let implicits2 = + FStar_Compiler_List.rev + implicits1 in + let uvs1 = + FStar_Compiler_List.rev + uvs in + let pre1 = + FStar_Syntax_Subst.subst + subst pre in + let post1 = + FStar_Syntax_Subst.subst + subst post in + let post_u = + env1.FStar_TypeChecker_Env.universe_of + env1 post1 in + let cmp_func = + if noinst + then do_match + else + if noinst_lhs + then + do_match_on_lhs + else do_unify in + let uu___12 = + let must_tot = + false in + let uu___13 = + FStar_Tactics_Types.goal_type + goal in + let uu___14 = + FStar_Syntax_Util.mk_squash + post_u post1 in + cmp_func must_tot + env1 uu___13 + uu___14 in + FStar_Tactics_Monad.op_let_Bang + uu___12 + (fun b -> + if + Prims.op_Negation + b + then + let uu___13 = + let uu___14 + = + FStar_Syntax_Util.mk_squash + post_u + post1 in + let uu___15 + = + FStar_Tactics_Types.goal_type + goal in + FStar_TypeChecker_Err.print_discrepancy + (tts env1) + uu___14 + uu___15 in + match uu___13 + with + | (post2, + goalt) -> + let uu___14 + = + tts env1 + tm1 in + fail3 + "Cannot instantiate lemma %s (with postcondition: %s) to match goal (%s)" + uu___14 + post2 + goalt + else + (let goal_sc = + should_check_goal_uvar + goal in + let uu___14 = + solve' goal + FStar_Syntax_Util.exp_unit in + FStar_Tactics_Monad.op_let_Bang + uu___14 + (fun + uu___15 + -> + let is_free_uvar + uv t1 = + let free_uvars + = + let uu___16 + = + let uu___17 + = + FStar_Syntax_Free.uvars + t1 in + FStar_Compiler_Util.set_elements + uu___17 in + FStar_Compiler_List.map + (fun x -> + x.FStar_Syntax_Syntax.ctx_uvar_head) + uu___16 in + FStar_Compiler_List.existsML + (fun u -> + FStar_Syntax_Unionfind.equiv + u uv) + free_uvars in + let appears + uv goals + = + FStar_Compiler_List.existsML + (fun g' + -> + let uu___16 + = + FStar_Tactics_Types.goal_type + g' in + is_free_uvar + uv + uu___16) + goals in + let checkone + t1 goals + = + let uu___16 + = + FStar_Syntax_Util.head_and_args + t1 in + match uu___16 + with + | + (hd, + uu___17) + -> + (match + hd.FStar_Syntax_Syntax.n + with + | + FStar_Syntax_Syntax.Tm_uvar + (uv, + uu___18) + -> + appears + uv.FStar_Syntax_Syntax.ctx_uvar_head + goals + | + uu___18 + -> false) in + let must_tot + = false in + let uu___16 + = + apply_implicits_as_goals + env1 + (FStar_Pervasives_Native.Some + goal) + implicits2 in + FStar_Tactics_Monad.op_let_Bang + uu___16 + (fun + sub_goals + -> + let sub_goals1 + = + FStar_Compiler_List.flatten + sub_goals in + let rec filter' + f xs = + match xs + with + | + [] -> [] + | + x::xs1 -> + let uu___17 + = f x xs1 in + if + uu___17 + then + let uu___18 + = + filter' f + xs1 in x + :: + uu___18 + else + filter' f + xs1 in + let sub_goals2 + = + filter' + (fun g -> + fun goals + -> + let uu___17 + = + let uu___18 + = + FStar_Tactics_Types.goal_witness + g in + checkone + uu___18 + goals in + Prims.op_Negation + uu___17) + sub_goals1 in + let uu___17 + = + proc_guard + "apply_lemma guard" + env1 + guard + (FStar_Pervasives_Native.Some + goal_sc) + (rangeof + goal) in + FStar_Tactics_Monad.op_let_Bang + uu___17 + (fun + uu___18 + -> + let pre_u + = + env1.FStar_TypeChecker_Env.universe_of + env1 pre1 in + let uu___19 + = + let uu___20 + = + let uu___21 + = + let uu___22 + = + FStar_TypeChecker_Env.guard_of_guard_formula + (FStar_TypeChecker_Common.NonTrivial + pre1) in + FStar_TypeChecker_Rel.simplify_guard + env1 + uu___22 in + uu___21.FStar_TypeChecker_Common.guard_f in + match uu___20 + with + | + FStar_TypeChecker_Common.Trivial + -> + FStar_Tactics_Monad.ret + () + | + FStar_TypeChecker_Common.NonTrivial + uu___21 + -> + FStar_Tactics_Monad.add_irrelevant_goal + goal + "apply_lemma precondition" + env1 pre1 + (FStar_Pervasives_Native.Some + goal_sc) in + FStar_Tactics_Monad.op_let_Bang + uu___19 + (fun + uu___20 + -> + FStar_Tactics_Monad.add_goals + sub_goals2)))))))))))))) in + focus uu___1 in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "apply_lemma") uu___ +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 -> + let rec aux e1 = + let uu___ = FStar_TypeChecker_Env.pop_bv e1 in + match uu___ with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (bv', e') -> + let uu___1 = FStar_Syntax_Syntax.bv_eq bvar bv' in + if uu___1 + then FStar_Pervasives_Native.Some (e', bv', []) + else + (let uu___3 = aux e' in + FStar_Compiler_Util.map_opt uu___3 + (fun uu___4 -> + match uu___4 with + | (e'', bv, bvs) -> (e'', bv, (bv' :: bvs)))) in + let uu___ = aux e in + FStar_Compiler_Util.map_opt uu___ + (fun uu___1 -> + match uu___1 with + | (e', bv, bvs) -> (e', bv, (FStar_Compiler_List.rev bvs))) +let (subst_goal : + FStar_Syntax_Syntax.bv -> + FStar_Syntax_Syntax.bv -> + FStar_Tactics_Types.goal -> + (FStar_Syntax_Syntax.bv * FStar_Tactics_Types.goal) + FStar_Pervasives_Native.option FStar_Tactics_Monad.tac) + = + fun b1 -> + fun b2 -> + fun g -> + let uu___ = + let uu___1 = FStar_Tactics_Types.goal_env g in split_env b1 uu___1 in + match uu___ with + | FStar_Pervasives_Native.Some (e0, b11, bvs) -> + let bs = + FStar_Compiler_List.map FStar_Syntax_Syntax.mk_binder (b11 :: + bvs) in + let t = FStar_Tactics_Types.goal_type g in + let uu___1 = + let uu___2 = FStar_Syntax_Subst.close_binders bs in + let uu___3 = FStar_Syntax_Subst.close bs t in (uu___2, uu___3) in + (match uu___1 with + | (bs', t') -> + let bs'1 = + let uu___2 = FStar_Syntax_Syntax.mk_binder b2 in + let uu___3 = FStar_Compiler_List.tail bs' in uu___2 :: + uu___3 in + let uu___2 = + FStar_TypeChecker_Core.open_binders_in_term e0 bs'1 t' in + (match uu___2 with + | (new_env, bs'', t'') -> + let b21 = + let uu___3 = FStar_Compiler_List.hd bs'' in + uu___3.FStar_Syntax_Syntax.binder_bv in + let uu___3 = + let uu___4 = + let uu___5 = should_check_goal_uvar g in + FStar_Pervasives_Native.Some uu___5 in + let uu___5 = goal_typedness_deps g in + FStar_Tactics_Monad.new_uvar "subst_goal" new_env t'' + uu___4 uu___5 (rangeof g) in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (uvt, uv) -> + let goal' = + FStar_Tactics_Types.mk_goal new_env uv + g.FStar_Tactics_Types.opts + g.FStar_Tactics_Types.is_guard + g.FStar_Tactics_Types.label in + let sol = + let uu___5 = + FStar_Syntax_Util.abs bs'' uvt + FStar_Pervasives_Native.None in + let uu___6 = + FStar_Compiler_List.map + (fun uu___7 -> + match uu___7 with + | { + FStar_Syntax_Syntax.binder_bv = + bv; + FStar_Syntax_Syntax.binder_qual = + q; + FStar_Syntax_Syntax.binder_positivity + = uu___8; + FStar_Syntax_Syntax.binder_attrs + = uu___9;_} + -> + let uu___10 = + FStar_Syntax_Syntax.bv_to_name + bv in + FStar_Syntax_Syntax.as_arg + uu___10) bs in + FStar_Syntax_Util.mk_app uu___5 uu___6 in + let uu___5 = set_solution g sol in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + FStar_Tactics_Monad.ret + (FStar_Pervasives_Native.Some + (b21, goal')))))) + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.ret FStar_Pervasives_Native.None +let (rewrite : + FStar_Reflection_V2_Data.binding -> unit FStar_Tactics_Monad.tac) = + fun hh -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let h = binding_to_binder hh in + let bv = h.FStar_Syntax_Syntax.binder_bv in + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Syntax_Print.bv_to_string bv in + let uu___4 = + FStar_Syntax_Print.term_to_string + bv.FStar_Syntax_Syntax.sort in + FStar_Compiler_Util.print2 "+++Rewrite %s : %s\n" uu___3 + uu___4) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env goal in + split_env bv uu___4 in + match uu___3 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "binder not found in environment" + | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> + let uu___4 = destruct_eq e0 bv1.FStar_Syntax_Syntax.sort in + (match uu___4 with + | FStar_Pervasives_Native.Some (x, e) -> + let uu___5 = + let uu___6 = FStar_Syntax_Subst.compress x in + uu___6.FStar_Syntax_Syntax.n in + (match uu___5 with + | FStar_Syntax_Syntax.Tm_name x1 -> + let s = [FStar_Syntax_Syntax.NT (x1, e)] in + let t = FStar_Tactics_Types.goal_type goal in + let bs = + FStar_Compiler_List.map + FStar_Syntax_Syntax.mk_binder bvs in + let uu___6 = + let uu___7 = + FStar_Syntax_Subst.close_binders bs in + let uu___8 = FStar_Syntax_Subst.close bs t in + (uu___7, uu___8) in + (match uu___6 with + | (bs', t') -> + let uu___7 = + let uu___8 = + FStar_Syntax_Subst.subst_binders s bs' in + let uu___9 = + FStar_Syntax_Subst.subst s t' in + (uu___8, uu___9) in + (match uu___7 with + | (bs'1, t'1) -> + let e01 = + FStar_TypeChecker_Env.push_bvs e0 + [bv1] in + let uu___8 = + FStar_TypeChecker_Core.open_binders_in_term + e01 bs'1 t'1 in + (match uu___8 with + | (new_env, bs'', t'') -> + let uu___9 = + let uu___10 = + let uu___11 = + should_check_goal_uvar + goal in + FStar_Pervasives_Native.Some + uu___11 in + let uu___11 = + goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar + "rewrite" new_env t'' + uu___10 uu___11 + (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang + uu___9 + (fun uu___10 -> + match uu___10 with + | (uvt, uv) -> + let goal' = + FStar_Tactics_Types.mk_goal + new_env uv + goal.FStar_Tactics_Types.opts + goal.FStar_Tactics_Types.is_guard + goal.FStar_Tactics_Types.label in + let sol = + let uu___11 = + FStar_Syntax_Util.abs + bs'' uvt + FStar_Pervasives_Native.None in + let uu___12 = + FStar_Compiler_List.map + (fun uu___13 -> + match uu___13 + with + | { + FStar_Syntax_Syntax.binder_bv + = bv2; + FStar_Syntax_Syntax.binder_qual + = uu___14; + FStar_Syntax_Syntax.binder_positivity + = uu___15; + FStar_Syntax_Syntax.binder_attrs + = uu___16;_} + -> + let uu___17 + = + FStar_Syntax_Syntax.bv_to_name + bv2 in + FStar_Syntax_Syntax.as_arg + uu___17) + bs in + FStar_Syntax_Util.mk_app + uu___11 uu___12 in + let uu___11 = + set_solution goal sol in + FStar_Tactics_Monad.op_let_Bang + uu___11 + (fun uu___12 -> + FStar_Tactics_Monad.replace_cur + goal'))))) + | uu___6 -> + FStar_Tactics_Monad.fail + "Not an equality hypothesis with a variable on the LHS") + | uu___5 -> + FStar_Tactics_Monad.fail + "Not an equality hypothesis"))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "rewrite") uu___ +let (rename_to : + FStar_Reflection_V2_Data.binding -> + Prims.string -> FStar_Reflection_V2_Data.binding FStar_Tactics_Monad.tac) + = + fun b -> + fun s -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let bv = binding_to_bv b in + let bv' = + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = + FStar_Ident.range_of_id bv.FStar_Syntax_Syntax.ppname in + (s, uu___4) in + FStar_Ident.mk_ident uu___3 in + { + FStar_Syntax_Syntax.ppname = uu___2; + FStar_Syntax_Syntax.index = (bv.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = (bv.FStar_Syntax_Syntax.sort) + } in + FStar_Syntax_Syntax.freshen_bv uu___1 in + let uu___1 = subst_goal bv bv' goal in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "binder not found in environment" + | FStar_Pervasives_Native.Some (bv'1, goal1) -> + let uu___3 = FStar_Tactics_Monad.replace_cur goal1 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + let uniq = + FStar_BigInt.of_int_fs + bv'1.FStar_Syntax_Syntax.index in + FStar_Tactics_Monad.ret + { + FStar_Reflection_V2_Data.uniq1 = uniq; + FStar_Reflection_V2_Data.sort3 = + (b.FStar_Reflection_V2_Data.sort3); + FStar_Reflection_V2_Data.ppname3 = s + }))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "rename_to") uu___ +let (var_retype : + FStar_Reflection_V2_Data.binding -> unit FStar_Tactics_Monad.tac) = + fun b -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let bv = binding_to_bv b in + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env goal in + split_env bv uu___2 in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "binder is not present in environment" + | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> + let uu___2 = FStar_Syntax_Util.type_u () in + (match uu___2 with + | (ty, u) -> + let goal_sc = should_check_goal_uvar goal in + let uu___3 = + let uu___4 = goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar "binder_retype" e0 ty + (FStar_Pervasives_Native.Some goal_sc) uu___4 + (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (t', u_t') -> + let bv'' = + { + FStar_Syntax_Syntax.ppname = + (bv1.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = + (bv1.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = t' + } in + let s = + let uu___5 = + let uu___6 = + let uu___7 = + FStar_Syntax_Syntax.bv_to_name bv'' in + (bv1, uu___7) in + FStar_Syntax_Syntax.NT uu___6 in + [uu___5] in + let bvs1 = + FStar_Compiler_List.map + (fun b1 -> + let uu___5 = + FStar_Syntax_Subst.subst s + b1.FStar_Syntax_Syntax.sort in + { + FStar_Syntax_Syntax.ppname = + (b1.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = + (b1.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu___5 + }) bvs in + let env' = + FStar_TypeChecker_Env.push_bvs e0 (bv'' :: + bvs1) in + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.dismiss + (fun uu___5 -> + let new_goal = + let uu___6 = + FStar_Tactics_Types.goal_with_env goal + env' in + let uu___7 = + let uu___8 = + FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Subst.subst s uu___8 in + goal_with_type uu___6 uu___7 in + let uu___6 = + FStar_Tactics_Monad.add_goals [new_goal] in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + let uu___8 = + FStar_Syntax_Util.mk_eq2 + (FStar_Syntax_Syntax.U_succ u) ty + bv1.FStar_Syntax_Syntax.sort t' in + FStar_Tactics_Monad.add_irrelevant_goal + goal "binder_retype equation" e0 + uu___8 + (FStar_Pervasives_Native.Some + goal_sc)))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "binder_retype") uu___ +let (norm_binding_type : + FStar_Pervasives.norm_step Prims.list -> + FStar_Reflection_V2_Data.binding -> unit FStar_Tactics_Monad.tac) + = + fun s -> + fun b -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let bv = binding_to_bv b in + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env goal in + split_env bv uu___2 in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "binder is not present in environment" + | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> + let steps = + let uu___2 = FStar_TypeChecker_Cfg.translate_norm_steps s in + FStar_Compiler_List.op_At + [FStar_TypeChecker_Env.Reify; + FStar_TypeChecker_Env.UnfoldTac] uu___2 in + let sort' = normalize steps e0 bv1.FStar_Syntax_Syntax.sort in + let bv' = + { + FStar_Syntax_Syntax.ppname = + (bv1.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = + (bv1.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = sort' + } in + let env' = FStar_TypeChecker_Env.push_bvs e0 (bv' :: bvs) in + let uu___2 = FStar_Tactics_Types.goal_with_env goal env' in + FStar_Tactics_Monad.replace_cur uu___2) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "norm_binding_type") uu___ +let (revert : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.pop_bv uu___2 in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "Cannot revert; empty context" + | FStar_Pervasives_Native.Some (x, env') -> + let typ' = + let uu___2 = + let uu___3 = FStar_Syntax_Syntax.mk_binder x in [uu___3] in + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Syntax.mk_Total uu___4 in + FStar_Syntax_Util.arrow uu___2 uu___3 in + let uu___2 = + let uu___3 = + let uu___4 = should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___4 in + let uu___4 = goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar "revert" env' typ' uu___3 uu___4 + (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___2 + (fun uu___3 -> + match uu___3 with + | (r, u_r) -> + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.as_arg uu___8 in + [uu___7] in + let uu___7 = + let uu___8 = FStar_Tactics_Types.goal_type goal in + uu___8.FStar_Syntax_Syntax.pos in + FStar_Syntax_Syntax.mk_Tm_app r uu___6 uu___7 in + set_solution goal uu___5 in + FStar_Tactics_Monad.op_let_Bang uu___4 + (fun uu___5 -> + 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 + FStar_Tactics_Monad.replace_cur g))) +let (free_in : + FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> Prims.bool) = + fun bv -> + fun t -> + let uu___ = FStar_Syntax_Free.names t in + FStar_Compiler_Util.set_mem bv uu___ +let (clear : + FStar_Reflection_V2_Data.binding -> unit FStar_Tactics_Monad.tac) = + fun b -> + let bv = binding_to_bv b in + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___ = + FStar_Tactics_Monad.if_verbose + (fun uu___1 -> + let uu___2 = binding_to_string b in + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.all_binders uu___6 in + FStar_Compiler_Effect.op_Bar_Greater uu___5 + FStar_Compiler_List.length in + FStar_Compiler_Effect.op_Bar_Greater uu___4 + FStar_Compiler_Util.string_of_int in + FStar_Compiler_Util.print2 + "Clear of (%s), env has %s binders\n" uu___2 uu___3) in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_env goal in + split_env bv uu___3 in + match uu___2 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "Cannot clear; binder not in environment" + | FStar_Pervasives_Native.Some (e', bv1, bvs) -> + let rec check bvs1 = + match bvs1 with + | [] -> FStar_Tactics_Monad.ret () + | bv'::bvs2 -> + let uu___3 = free_in bv1 bv'.FStar_Syntax_Syntax.sort in + if uu___3 + then + let uu___4 = + let uu___5 = FStar_Syntax_Print.bv_to_string bv' in + FStar_Compiler_Util.format1 + "Cannot clear; binder present in the type of %s" + uu___5 in + FStar_Tactics_Monad.fail uu___4 + else check bvs2 in + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_type goal in + free_in bv1 uu___4 in + if uu___3 + then + FStar_Tactics_Monad.fail + "Cannot clear; binder present in goal" + else + (let uu___5 = check bvs in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let env' = FStar_TypeChecker_Env.push_bvs e' bvs in + let uu___7 = + let uu___8 = FStar_Tactics_Types.goal_type goal in + let uu___9 = + let uu___10 = should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___10 in + let uu___10 = goal_typedness_deps goal in + FStar_Tactics_Monad.new_uvar "clear.witness" env' + uu___8 uu___9 uu___10 (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + match uu___8 with + | (ut, uvar_ut) -> + let uu___9 = set_solution goal ut in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + let uu___11 = + 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 + FStar_Tactics_Monad.replace_cur + uu___11)))))) +let (clear_top : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.pop_bv uu___2 in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "Cannot clear; empty context" + | FStar_Pervasives_Native.Some (x, uu___2) -> + let uu___3 = bv_to_binding x in clear uu___3) +let (prune : Prims.string -> unit FStar_Tactics_Monad.tac) = + fun s -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let ctx = FStar_Tactics_Types.goal_env g in + let ctx' = + let uu___ = FStar_Ident.path_of_text s in + FStar_TypeChecker_Env.rem_proof_ns ctx uu___ in + let g' = FStar_Tactics_Types.goal_with_env g ctx' in + FStar_Tactics_Monad.replace_cur g') +let (addns : Prims.string -> unit FStar_Tactics_Monad.tac) = + fun s -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let ctx = FStar_Tactics_Types.goal_env g in + let ctx' = + let uu___ = FStar_Ident.path_of_text s in + FStar_TypeChecker_Env.add_proof_ns ctx uu___ in + let g' = FStar_Tactics_Types.goal_with_env g ctx' in + FStar_Tactics_Monad.replace_cur g') +let (guard_formula : + FStar_TypeChecker_Common.guard_t -> FStar_Syntax_Syntax.term) = + fun g -> + match g.FStar_TypeChecker_Common.guard_f with + | FStar_TypeChecker_Common.Trivial -> FStar_Syntax_Util.t_true + | FStar_TypeChecker_Common.NonTrivial f -> f +let (_t_trefl : + Prims.bool -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun allow_guards -> + fun l -> + fun r -> + let should_register_trefl g = + let should_register = true in + let skip_register = false in + let uu___ = + let uu___1 = FStar_Options.compat_pre_core_should_register () in + Prims.op_Negation uu___1 in + if uu___ + then skip_register + else + (let is_uvar_untyped_or_already_checked u = + let dec = + FStar_Syntax_Unionfind.find_decoration + u.FStar_Syntax_Syntax.ctx_uvar_head in + match dec.FStar_Syntax_Syntax.uvar_decoration_should_check + with + | FStar_Syntax_Syntax.Allow_untyped uu___2 -> true + | FStar_Syntax_Syntax.Already_checked -> true + | uu___2 -> false in + let is_uvar t = + let head = FStar_Syntax_Util.leftmost_head t in + let uu___2 = + let uu___3 = FStar_Syntax_Subst.compress head in + uu___3.FStar_Syntax_Syntax.n in + match uu___2 with + | FStar_Syntax_Syntax.Tm_uvar (u, uu___3) -> + FStar_Pervasives.Inl (u, head, t) + | uu___3 -> FStar_Pervasives.Inr t in + let is_allow_untyped_uvar t = + let uu___2 = is_uvar t in + match uu___2 with + | FStar_Pervasives.Inr uu___3 -> false + | FStar_Pervasives.Inl (u, uu___3, uu___4) -> + is_uvar_untyped_or_already_checked u in + let t = + FStar_Syntax_Util.ctx_uvar_typ + g.FStar_Tactics_Types.goal_ctx_uvar in + let uvars = + let uu___2 = FStar_Syntax_Free.uvars t in + FStar_Compiler_Util.set_elements uu___2 in + let uu___2 = + FStar_Compiler_Util.for_all is_uvar_untyped_or_already_checked + uvars in + if uu___2 + then skip_register + else + (let uu___4 = + let t1 = + let uu___5 = FStar_Syntax_Util.un_squash t in + match uu___5 with + | FStar_Pervasives_Native.None -> t + | FStar_Pervasives_Native.Some t2 -> t2 in + FStar_Syntax_Util.leftmost_head_and_args t1 in + match uu___4 with + | (head, args) -> + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = FStar_Syntax_Util.un_uinst head in + FStar_Syntax_Subst.compress uu___8 in + uu___7.FStar_Syntax_Syntax.n in + (uu___6, args) in + (match uu___5 with + | (FStar_Syntax_Syntax.Tm_fvar fv, + (ty, uu___6)::(t1, uu___7)::(t2, uu___8)::[]) when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.eq2_lid + -> + let uu___9 = + (is_allow_untyped_uvar t1) || + (is_allow_untyped_uvar t2) in + if uu___9 + then skip_register + else + (let uu___11 = + FStar_Tactics_Monad.is_goal_safe_as_well_typed + g in + if uu___11 + then + let check_uvar_subtype u t3 = + let env1 = + let uu___12 = + FStar_Tactics_Types.goal_env g in + { + FStar_TypeChecker_Env.solver = + (uu___12.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___12.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___12.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + ((g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___12.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___12.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___12.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___12.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___12.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___12.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (uu___12.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___12.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___12.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___12.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___12.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___12.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (uu___12.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (uu___12.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___12.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___12.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___12.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___12.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___12.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___12.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___12.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___12.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (uu___12.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term + = + (uu___12.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (uu___12.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (uu___12.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (uu___12.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force + = + (uu___12.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index + = + (uu___12.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names + = + (uu___12.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___12.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (uu___12.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (uu___12.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook + = + (uu___12.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (uu___12.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (uu___12.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (uu___12.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (uu___12.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___12.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___12.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___12.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (uu___12.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab + = + (uu___12.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac + = + (uu___12.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards + = + (uu___12.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args + = + (uu___12.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (uu___12.FStar_TypeChecker_Env.core_check) + } in + let uu___12 = + FStar_TypeChecker_Core.compute_term_type_handle_guards + env1 t3 false + (fun uu___13 -> fun uu___14 -> true) in + match uu___12 with + | FStar_Pervasives.Inr uu___13 -> false + | FStar_Pervasives.Inl t_ty -> + let uu___13 = + FStar_TypeChecker_Core.check_term_subtyping + env1 ty t_ty in + (match uu___13 with + | FStar_Pervasives.Inl + (FStar_Pervasives_Native.None) -> + (mark_uvar_as_already_checked u; + true) + | uu___14 -> false) in + let uu___12 = + let uu___13 = is_uvar t1 in + let uu___14 = is_uvar t2 in + (uu___13, uu___14) in + match uu___12 with + | (FStar_Pervasives.Inl (u, uu___13, tu), + FStar_Pervasives.Inr uu___14) -> + let uu___15 = check_uvar_subtype u tu in + (if uu___15 + then skip_register + else should_register) + | (FStar_Pervasives.Inr uu___13, + FStar_Pervasives.Inl (u, uu___14, tu)) -> + let uu___15 = check_uvar_subtype u tu in + (if uu___15 + then skip_register + else should_register) + | uu___13 -> should_register + else should_register) + | uu___6 -> should_register))) in + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let should_check = should_check_goal_uvar g in + (let uu___1 = should_register_trefl g in + if uu___1 then FStar_Tactics_Monad.register_goal g else ()); + (let must_tot = true in + let attempt l1 r1 = + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env g in + do_unify_maybe_guards allow_guards must_tot uu___2 l1 r1 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.ret false + | FStar_Pervasives_Native.Some guard -> + let uu___3 = solve' g FStar_Syntax_Util.exp_unit in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + if allow_guards + then + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env g in + let uu___7 = guard_formula guard in + FStar_Tactics_Monad.goal_of_guard "t_trefl" + uu___6 uu___7 + (FStar_Pervasives_Native.Some + should_check) (rangeof g) in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun goal -> + let uu___6 = + FStar_Tactics_Monad.push_goals [goal] in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + FStar_Tactics_Monad.ret true)) + else + (let uu___6 = + FStar_TypeChecker_Env.is_trivial_guard_formula + guard in + if uu___6 + then FStar_Tactics_Monad.ret true + else + failwith + "internal error: _t_refl: guard is not trivial"))) in + let uu___1 = attempt l r in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + if uu___2 + then FStar_Tactics_Monad.ret () + else + (let norm1 = + let uu___3 = 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___3 in + let uu___3 = + let uu___4 = norm1 l in + let uu___5 = norm1 r in attempt uu___4 uu___5 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + if uu___4 + then FStar_Tactics_Monad.ret () + else + (let uu___5 = + let uu___6 = + let uu___7 = FStar_Tactics_Types.goal_env g in + tts uu___7 in + FStar_TypeChecker_Err.print_discrepancy + uu___6 l r in + match uu___5 with + | (ls, rs) -> + fail2 "cannot unify (%s) and (%s)" ls rs)))))) +let (t_trefl : Prims.bool -> unit FStar_Tactics_Monad.tac) = + fun allow_guards -> + let uu___ = + let uu___1 = + let uu___2 = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env g in + let uu___5 = FStar_Tactics_Types.goal_type g in + destruct_eq uu___4 uu___5 in + match uu___3 with + | FStar_Pervasives_Native.Some (l, r) -> + _t_trefl allow_guards l r + | FStar_Pervasives_Native.None -> + let uu___4 = + let uu___5 = FStar_Tactics_Types.goal_env g in + let uu___6 = FStar_Tactics_Types.goal_type g in + tts uu___5 uu___6 in + fail1 "not an equality (%s)" uu___4) in + FStar_Tactics_Monad.catch uu___2 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | FStar_Pervasives.Inr v -> FStar_Tactics_Monad.ret () + | FStar_Pervasives.Inl exn -> FStar_Tactics_Monad.traise exn) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "t_trefl") uu___ +let (dup : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let goal_sc = should_check_goal_uvar g in + let env1 = FStar_Tactics_Types.goal_env g in + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_type g in + let uu___3 = + let uu___4 = should_check_goal_uvar g in + FStar_Pervasives_Native.Some uu___4 in + let uu___4 = goal_typedness_deps g in + FStar_Tactics_Monad.new_uvar "dup" env1 uu___2 uu___3 uu___4 + (rangeof g) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (u, u_uvar) -> + (mark_uvar_as_already_checked + g.FStar_Tactics_Types.goal_ctx_uvar; + (let g' = + { + FStar_Tactics_Types.goal_main_env = + (g.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar = u_uvar; + FStar_Tactics_Types.opts = + (g.FStar_Tactics_Types.opts); + FStar_Tactics_Types.is_guard = + (g.FStar_Tactics_Types.is_guard); + FStar_Tactics_Types.label = + (g.FStar_Tactics_Types.label) + } in + FStar_Tactics_Monad.op_let_Bang + FStar_Tactics_Monad.dismiss + (fun uu___4 -> + let t_eq = + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_type g in + env1.FStar_TypeChecker_Env.universe_of env1 + uu___6 in + let uu___6 = FStar_Tactics_Types.goal_type g in + let uu___7 = FStar_Tactics_Types.goal_witness g in + FStar_Syntax_Util.mk_eq2 uu___5 uu___6 u uu___7 in + let uu___5 = + FStar_Tactics_Monad.add_irrelevant_goal g + "dup equation" env1 t_eq + (FStar_Pervasives_Native.Some goal_sc) in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> FStar_Tactics_Monad.add_goals [g'])))))) +let 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 -> + let rec aux acc l11 l21 = + match (l11, l21) with + | (x::xs, y::ys) -> + let uu___ = f x y in + if uu___ then aux (x :: acc) xs ys else (acc, xs, ys) + | uu___ -> (acc, l11, l21) in + let uu___ = aux [] l1 l2 in + match uu___ with + | (pr, t1, t2) -> ((FStar_Compiler_List.rev pr), t1, t2) +let (join_goals : + FStar_Tactics_Types.goal -> + FStar_Tactics_Types.goal -> + FStar_Tactics_Types.goal FStar_Tactics_Monad.tac) + = + fun g1 -> + fun g2 -> + let close_forall_no_univs bs f = + FStar_Compiler_List.fold_right + (fun b -> + fun f1 -> + FStar_Syntax_Util.mk_forall_no_univ + b.FStar_Syntax_Syntax.binder_bv f1) bs f in + let uu___ = FStar_Tactics_Types.get_phi g1 in + match uu___ with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "goal 1 is not irrelevant" + | FStar_Pervasives_Native.Some phi1 -> + let uu___1 = FStar_Tactics_Types.get_phi g2 in + (match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.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 + let gamma2 = + (g2.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma in + let uu___2 = + longest_prefix FStar_Syntax_Syntax.eq_binding + (FStar_Compiler_List.rev gamma1) + (FStar_Compiler_List.rev gamma2) in + (match uu___2 with + | (gamma, r1, r2) -> + let t1 = + let uu___3 = + FStar_TypeChecker_Env.binders_of_bindings + (FStar_Compiler_List.rev r1) in + close_forall_no_univs uu___3 phi1 in + let t2 = + let uu___3 = + FStar_TypeChecker_Env.binders_of_bindings + (FStar_Compiler_List.rev r2) in + close_forall_no_univs uu___3 phi2 in + let goal_sc = + let uu___3 = + let uu___4 = should_check_goal_uvar g1 in + let uu___5 = should_check_goal_uvar g2 in + (uu___4, uu___5) in + match uu___3 with + | (FStar_Syntax_Syntax.Allow_untyped reason1, + FStar_Syntax_Syntax.Allow_untyped uu___4) -> + FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Allow_untyped reason1) + | uu___4 -> FStar_Pervasives_Native.None in + let uu___3 = set_solution g1 FStar_Syntax_Util.exp_unit in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + let uu___5 = + set_solution g2 FStar_Syntax_Util.exp_unit in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let ng = FStar_Syntax_Util.mk_conj t1 t2 in + let nenv = + let uu___7 = FStar_Tactics_Types.goal_env g1 in + { + FStar_TypeChecker_Env.solver = + (uu___7.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___7.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___7.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (FStar_Compiler_List.rev gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___7.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___7.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___7.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___7.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___7.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___7.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (uu___7.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___7.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___7.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___7.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___7.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___7.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (uu___7.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (uu___7.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___7.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___7.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___7.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___7.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___7.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___7.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___7.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___7.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (uu___7.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term + = + (uu___7.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (uu___7.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (uu___7.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (uu___7.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (uu___7.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___7.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names + = + (uu___7.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___7.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (uu___7.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (uu___7.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook + = + (uu___7.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (uu___7.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (uu___7.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (uu___7.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (uu___7.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___7.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___7.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___7.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (uu___7.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (uu___7.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (uu___7.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards + = + (uu___7.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (uu___7.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (uu___7.FStar_TypeChecker_Env.core_check) + } in + let uu___7 = + FStar_Tactics_Monad.mk_irrelevant_goal + "joined" nenv ng goal_sc (rangeof g1) + g1.FStar_Tactics_Types.opts + g1.FStar_Tactics_Types.label in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun goal -> + let uu___8 = + FStar_Tactics_Monad.if_verbose + (fun uu___9 -> + let uu___10 = + FStar_Tactics_Printing.goal_to_string_verbose + g1 in + let uu___11 = + FStar_Tactics_Printing.goal_to_string_verbose + g2 in + let uu___12 = + FStar_Tactics_Printing.goal_to_string_verbose + goal in + FStar_Compiler_Util.print3 + "join_goals of\n(%s)\nand\n(%s)\n= (%s)\n" + uu___10 uu___11 uu___12) in + FStar_Tactics_Monad.op_let_Bang uu___8 + (fun uu___9 -> + FStar_Tactics_Monad.ret goal)))))) +let (join : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + match ps.FStar_Tactics_Types.goals with + | g1::g2::gs -> + let uu___1 = + FStar_Tactics_Monad.set + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = gs; + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = + (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = + (ps.FStar_Tactics_Types.urgency) + } in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + let uu___3 = join_goals g1 g2 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun g12 -> FStar_Tactics_Monad.add_goals [g12])) + | uu___1 -> FStar_Tactics_Monad.fail "join: less than 2 goals") +let (set_options : Prims.string -> unit FStar_Tactics_Monad.tac) = + fun s -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + FStar_Options.push (); + (let uu___3 = + FStar_Compiler_Util.smap_copy g.FStar_Tactics_Types.opts in + FStar_Options.set uu___3); + (let res = FStar_Options.set_options s in + let opts' = FStar_Options.peek () in + FStar_Options.pop (); + (match res with + | FStar_Getopt.Success -> + let g' = + { + FStar_Tactics_Types.goal_main_env = + (g.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar = + (g.FStar_Tactics_Types.goal_ctx_uvar); + FStar_Tactics_Types.opts = opts'; + FStar_Tactics_Types.is_guard = + (g.FStar_Tactics_Types.is_guard); + FStar_Tactics_Types.label = + (g.FStar_Tactics_Types.label) + } in + FStar_Tactics_Monad.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_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "set_options") uu___ +let (top_env : unit -> env FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.bind FStar_Tactics_Monad.get + (fun ps -> + FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret + ps.FStar_Tactics_Types.main_context) +let (lax_on : unit -> Prims.bool FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___1 = + (FStar_Options.lax ()) || + (let uu___2 = FStar_Tactics_Types.goal_env g in + uu___2.FStar_TypeChecker_Env.lax) in + FStar_Tactics_Monad.ret uu___1) +let (unquote : + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun ty -> + fun tm -> + let uu___ = + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Syntax_Print.term_to_string tm in + FStar_Compiler_Util.print1 "unquote: tm = %s\n" uu___3) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let env1 = + let uu___3 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.set_expected_typ uu___3 ty in + let uu___3 = __tc_ghost env1 tm in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (tm1, typ, guard) -> + let uu___5 = + FStar_Tactics_Monad.if_verbose + (fun uu___6 -> + let uu___7 = + FStar_Syntax_Print.term_to_string tm1 in + FStar_Compiler_Util.print1 + "unquote: tm' = %s\n" uu___7) in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let uu___7 = + FStar_Tactics_Monad.if_verbose + (fun uu___8 -> + let uu___9 = + FStar_Syntax_Print.term_to_string + typ in + FStar_Compiler_Util.print1 + "unquote: typ = %s\n" uu___9) in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + let uu___9 = + let uu___10 = + let uu___11 = + should_check_goal_uvar goal in + FStar_Pervasives_Native.Some uu___11 in + proc_guard "unquote" env1 guard + uu___10 (rangeof goal) in + FStar_Tactics_Monad.op_let_Bang uu___9 + (fun uu___10 -> + FStar_Tactics_Monad.ret tm1)))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "unquote") uu___ +let (uvar_env : + env -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option -> + FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun env1 -> + fun ty -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___ = + match ty with + | FStar_Pervasives_Native.Some ty1 -> + let env2 = + let uu___1 = + let uu___2 = FStar_Syntax_Util.type_u () in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + FStar_Pervasives_Native.fst in + FStar_TypeChecker_Env.set_expected_typ env1 uu___1 in + let uu___1 = __tc_ghost env2 ty1 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (ty2, uu___3, g) -> + FStar_Tactics_Monad.ret + (ty2, g, (ty2.FStar_Syntax_Syntax.pos))) + | FStar_Pervasives_Native.None -> + let uu___1 = + let uu___2 = + let uu___3 = FStar_Syntax_Util.type_u () in + FStar_Compiler_Effect.op_Less_Bar + FStar_Pervasives_Native.fst uu___3 in + FStar_Tactics_Monad.new_uvar "uvar_env.2" env1 uu___2 + FStar_Pervasives_Native.None [] + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (typ, uvar_typ) -> + FStar_Tactics_Monad.ret + (typ, FStar_TypeChecker_Env.trivial_guard, + FStar_Compiler_Range_Type.dummyRange)) in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + match uu___1 with + | (typ, g, r) -> + let uu___2 = + proc_guard "uvar_env_typ" env1 g + FStar_Pervasives_Native.None r in + FStar_Tactics_Monad.op_let_Bang uu___2 + (fun uu___3 -> + let uu___4 = + FStar_Tactics_Monad.new_uvar "uvar_env" env1 typ + FStar_Pervasives_Native.None [] + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___4 + (fun uu___5 -> + match uu___5 with + | (t, uvar_t) -> FStar_Tactics_Monad.ret t)))) +let (ghost_uvar_env : + env -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun env1 -> + fun ty -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___ = __tc_ghost env1 ty in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + match uu___1 with + | (typ, uu___2, g) -> + let uu___3 = + proc_guard "ghost_uvar_env_typ" env1 g + FStar_Pervasives_Native.None + ty.FStar_Syntax_Syntax.pos in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + let uu___5 = + FStar_Tactics_Monad.new_uvar "uvar_env" env1 typ + (FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Allow_ghost + "User ghost uvar")) [] + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + match uu___6 with + | (t, uvar_t) -> FStar_Tactics_Monad.ret t)))) +let (fresh_universe_uvar : + unit -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = + fun uu___ -> + let uu___1 = + let uu___2 = FStar_Syntax_Util.type_u () in + FStar_Compiler_Effect.op_Bar_Greater uu___2 FStar_Pervasives_Native.fst in + FStar_Compiler_Effect.op_Bar_Greater uu___1 FStar_Tactics_Monad.ret +let (unshelve : FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) = + fun t -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let env1 = ps.FStar_Tactics_Types.main_context in + let opts = + match ps.FStar_Tactics_Types.goals with + | g::uu___1 -> g.FStar_Tactics_Types.opts + | uu___1 -> FStar_Options.peek () in + let uu___1 = FStar_Syntax_Util.head_and_args t in + match uu___1 with + | ({ + FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar + (ctx_uvar, uu___2); + FStar_Syntax_Syntax.pos = uu___3; + FStar_Syntax_Syntax.vars = uu___4; + FStar_Syntax_Syntax.hash_code = uu___5;_}, + uu___6) -> + let env2 = + { + FStar_TypeChecker_Env.solver = + (env1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (env1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (env1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_gamma); + FStar_TypeChecker_Env.gamma_sig = + (env1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (env1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (env1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (env1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (env1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (env1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (env1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (env1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (env1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (env1.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (env1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (env1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (env1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (env1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (env1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (env1.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (env1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (env1.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (env1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (env1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (env1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (env1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (env1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (env1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (env1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (env1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (env1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (env1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (env1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (env1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (env1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (env1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (env1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (env1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (env1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (env1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (env1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (env1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (env1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (env1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (env1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (env1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (env1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (env1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (env1.FStar_TypeChecker_Env.core_check) + } in + let g = + FStar_Tactics_Types.mk_goal env2 ctx_uvar opts false "" in + let g1 = bnorm_goal g in FStar_Tactics_Monad.add_goals [g1] + | uu___2 -> FStar_Tactics_Monad.fail "not a uvar") in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "unshelve") uu___ +let (tac_and : + Prims.bool FStar_Tactics_Monad.tac -> + Prims.bool FStar_Tactics_Monad.tac -> Prims.bool FStar_Tactics_Monad.tac) + = + fun t1 -> + fun t2 -> + let comp = + FStar_Tactics_Monad.op_let_Bang t1 + (fun uu___ -> + if uu___ + then + FStar_Tactics_Monad.op_let_Bang t2 + (fun uu___1 -> + if uu___1 + then FStar_Tactics_Monad.ret true + else FStar_Tactics_Monad.fail "") + else FStar_Tactics_Monad.fail "") in + let uu___ = FStar_Tactics_Monad.trytac comp in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun uu___1 -> + match uu___1 with + | FStar_Pervasives_Native.Some (true) -> + FStar_Tactics_Monad.ret true + | FStar_Pervasives_Native.Some (false) -> failwith "impossible" + | FStar_Pervasives_Native.None -> FStar_Tactics_Monad.ret false) +let (match_env : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun e -> + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = __tc e t1 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (t11, ty1, g1) -> + let uu___3 = __tc e t2 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (t21, ty2, g2) -> + let uu___5 = + proc_guard "match_env g1" e g1 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let uu___7 = + proc_guard "match_env g2" e g2 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + let must_tot = true in + let uu___9 = + do_match must_tot e ty1 ty2 in + let uu___10 = + do_match must_tot e t11 t21 in + tac_and uu___9 uu___10))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "match_env") uu___ +let (unify_env : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun e -> + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = __tc e t1 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (t11, ty1, g1) -> + let uu___3 = __tc e t2 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (t21, ty2, g2) -> + let uu___5 = + proc_guard "unify_env g1" e g1 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let uu___7 = + proc_guard "unify_env g2" e g2 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + let must_tot = true in + let uu___9 = + do_unify must_tot e ty1 ty2 in + let uu___10 = + do_unify must_tot e t11 t21 in + tac_and uu___9 uu___10))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "unify_env") uu___ +let (unify_guard_env : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun e -> + fun t1 -> + fun t2 -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = __tc e t1 in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (t11, ty1, g1) -> + let uu___3 = __tc e t2 in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (t21, ty2, g2) -> + let uu___5 = + proc_guard "unify_guard_env g1" e g1 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + let uu___7 = + proc_guard "unify_guard_env g2" e g2 + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang uu___7 + (fun uu___8 -> + let must_tot = true in + let uu___9 = + do_unify_maybe_guards true + must_tot e ty1 ty2 in + FStar_Tactics_Monad.op_let_Bang + uu___9 + (fun uu___10 -> + match uu___10 with + | FStar_Pervasives_Native.None + -> + FStar_Tactics_Monad.ret + false + | FStar_Pervasives_Native.Some + g11 -> + let uu___11 = + do_unify_maybe_guards + true must_tot e t11 + t21 in + FStar_Tactics_Monad.op_let_Bang + uu___11 + (fun uu___12 -> + match uu___12 with + | FStar_Pervasives_Native.None + -> + FStar_Tactics_Monad.ret + false + | FStar_Pervasives_Native.Some + g21 -> + let formula = + let uu___13 = + guard_formula + g11 in + let uu___14 = + guard_formula + g21 in + FStar_Syntax_Util.mk_conj + uu___13 + uu___14 in + let uu___13 = + FStar_Tactics_Monad.goal_of_guard + "unify_guard_env.g2" + e formula + FStar_Pervasives_Native.None + ps.FStar_Tactics_Types.entry_range in + FStar_Tactics_Monad.op_let_Bang + uu___13 + (fun goal -> + let uu___14 + = + FStar_Tactics_Monad.push_goals + [goal] in + FStar_Tactics_Monad.op_let_Bang + uu___14 + ( + fun + uu___15 + -> + FStar_Tactics_Monad.ret + true))))))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "unify_guard_env") uu___ +let (launch_process : + Prims.string -> + Prims.string Prims.list -> + Prims.string -> Prims.string FStar_Tactics_Monad.tac) + = + fun prog -> + fun args -> + fun input -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let uu___1 = FStar_Options.unsafe_tactic_exec () in + if uu___1 + then + let s = + FStar_Compiler_Util.run_process "tactic_launch" prog args + (FStar_Pervasives_Native.Some input) in + FStar_Tactics_Monad.ret s + else + FStar_Tactics_Monad.fail + "launch_process: will not run anything unless --unsafe_tactic_exec is provided") +let (fresh_bv_named : + Prims.string -> FStar_Syntax_Syntax.bv FStar_Tactics_Monad.tac) = + fun nm -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let uu___1 = + FStar_Syntax_Syntax.gen_bv nm FStar_Pervasives_Native.None + FStar_Syntax_Syntax.tun in + FStar_Tactics_Monad.ret uu___1) +let (change : FStar_Syntax_Syntax.typ -> unit FStar_Tactics_Monad.tac) = + fun ty -> + let uu___ = + let uu___1 = + FStar_Tactics_Monad.if_verbose + (fun uu___2 -> + let uu___3 = FStar_Syntax_Print.term_to_string ty in + FStar_Compiler_Util.print1 "change: ty = %s\n" uu___3) in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env g in + __tc uu___4 ty in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + match uu___4 with + | (ty1, uu___5, guard) -> + let uu___6 = + let uu___7 = FStar_Tactics_Types.goal_env g in + let uu___8 = + let uu___9 = should_check_goal_uvar g in + FStar_Pervasives_Native.Some uu___9 in + proc_guard "change" uu___7 guard uu___8 + (rangeof g) in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + let must_tot = true in + let uu___8 = + let uu___9 = FStar_Tactics_Types.goal_env g in + let uu___10 = FStar_Tactics_Types.goal_type g in + do_unify must_tot uu___9 uu___10 ty1 in + FStar_Tactics_Monad.op_let_Bang uu___8 + (fun bb -> + if bb + then + let uu___9 = goal_with_type g ty1 in + FStar_Tactics_Monad.replace_cur uu___9 + else + (let steps = + [FStar_TypeChecker_Env.AllowUnboundUniverses; + FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops] in + let ng = + let uu___10 = + FStar_Tactics_Types.goal_env g in + let uu___11 = + FStar_Tactics_Types.goal_type g in + normalize steps uu___10 uu___11 in + let nty = + let uu___10 = + FStar_Tactics_Types.goal_env g in + normalize steps uu___10 ty1 in + let uu___10 = + let uu___11 = + FStar_Tactics_Types.goal_env g in + do_unify must_tot uu___11 ng nty in + FStar_Tactics_Monad.op_let_Bang uu___10 + (fun b -> + if b + then + let uu___11 = + goal_with_type g ty1 in + FStar_Tactics_Monad.replace_cur + uu___11 + else + FStar_Tactics_Monad.fail + "not convertible"))))))) in + FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "change") + uu___ +let (failwhen : Prims.bool -> Prims.string -> unit FStar_Tactics_Monad.tac) = + fun b -> + fun msg -> + if b then FStar_Tactics_Monad.fail msg else FStar_Tactics_Monad.ret () +let (t_destruct : + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.fv * FStar_BigInt.t) Prims.list + FStar_Tactics_Monad.tac) + = + fun s_tm -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___1 = + let uu___2 = FStar_Tactics_Types.goal_env g in __tc uu___2 s_tm in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (s_tm1, s_ty, guard) -> + let uu___3 = + let uu___4 = FStar_Tactics_Types.goal_env g in + let uu___5 = + let uu___6 = should_check_goal_uvar g in + FStar_Pervasives_Native.Some uu___6 in + proc_guard "destruct" uu___4 guard uu___5 (rangeof g) in + FStar_Tactics_Monad.op_let_Bang uu___3 + (fun uu___4 -> + let s_ty1 = + let uu___5 = FStar_Tactics_Types.goal_env g in + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.UnfoldTac; + FStar_TypeChecker_Env.Weak; + FStar_TypeChecker_Env.HNF; + FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant] uu___5 + s_ty in + let uu___5 = + let uu___6 = FStar_Syntax_Util.unrefine s_ty1 in + FStar_Syntax_Util.head_and_args_full uu___6 in + match uu___5 with + | (h, args) -> + let uu___6 = + let uu___7 = + let uu___8 = FStar_Syntax_Subst.compress h in + uu___8.FStar_Syntax_Syntax.n in + match uu___7 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Tactics_Monad.ret (fv, []) + | FStar_Syntax_Syntax.Tm_uinst (h', us) -> + let uu___8 = + let uu___9 = + FStar_Syntax_Subst.compress h' in + uu___9.FStar_Syntax_Syntax.n in + (match uu___8 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Tactics_Monad.ret (fv, us) + | uu___9 -> + failwith + "impossible: uinst over something that's not an fvar") + | uu___8 -> + FStar_Tactics_Monad.fail + "type is not an fv" in + FStar_Tactics_Monad.op_let_Bang uu___6 + (fun uu___7 -> + match uu___7 with + | (fv, a_us) -> + let t_lid = + FStar_Syntax_Syntax.lid_of_fv fv in + let uu___8 = + let uu___9 = + FStar_Tactics_Types.goal_env g in + FStar_TypeChecker_Env.lookup_sigelt + uu___9 t_lid in + (match uu___8 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "type not found in environment" + | FStar_Pervasives_Native.Some se -> + (match se.FStar_Syntax_Syntax.sigel + with + | FStar_Syntax_Syntax.Sig_inductive_typ + { + FStar_Syntax_Syntax.lid = + uu___9; + FStar_Syntax_Syntax.us = + t_us; + FStar_Syntax_Syntax.params + = t_ps; + FStar_Syntax_Syntax.num_uniform_params + = uu___10; + FStar_Syntax_Syntax.t = + t_ty; + FStar_Syntax_Syntax.mutuals + = mut; + FStar_Syntax_Syntax.ds = + c_lids;_} + -> + let erasable = + FStar_Syntax_Util.has_attribute + se.FStar_Syntax_Syntax.sigattrs + FStar_Parser_Const.erasable_attr in + let uu___11 = + let uu___12 = + erasable && + (let uu___13 = + FStar_Tactics_Types.is_irrelevant + g in + Prims.op_Negation + uu___13) in + failwhen uu___12 + "cannot destruct erasable type to solve proof-relevant goal" in + FStar_Tactics_Monad.op_let_Bang + uu___11 + (fun uu___12 -> + let uu___13 = + failwhen + ((FStar_Compiler_List.length + a_us) + <> + (FStar_Compiler_List.length + t_us)) + "t_us don't match?" in + FStar_Tactics_Monad.op_let_Bang + uu___13 + (fun uu___14 -> + let uu___15 = + FStar_Syntax_Subst.open_term + t_ps t_ty in + match uu___15 with + | (t_ps1, t_ty1) -> + let uu___16 = + FStar_Tactics_Monad.mapM + (fun c_lid + -> + let uu___17 + = + let uu___18 + = + FStar_Tactics_Types.goal_env + g in + FStar_TypeChecker_Env.lookup_sigelt + uu___18 + c_lid in + match uu___17 + with + | + FStar_Pervasives_Native.None + -> + FStar_Tactics_Monad.fail + "ctor not found?" + | + FStar_Pervasives_Native.Some + se1 -> + (match + se1.FStar_Syntax_Syntax.sigel + with + | + FStar_Syntax_Syntax.Sig_datacon + { + FStar_Syntax_Syntax.lid1 + = uu___18; + FStar_Syntax_Syntax.us1 + = c_us; + FStar_Syntax_Syntax.t1 + = c_ty; + FStar_Syntax_Syntax.ty_lid + = uu___19; + FStar_Syntax_Syntax.num_ty_params + = nparam; + FStar_Syntax_Syntax.mutuals1 + = mut1;_} + -> + let fv1 = + FStar_Syntax_Syntax.lid_as_fv + c_lid + (FStar_Pervasives_Native.Some + FStar_Syntax_Syntax.Data_ctor) in + let uu___20 + = + failwhen + ((FStar_Compiler_List.length + a_us) <> + (FStar_Compiler_List.length + c_us)) + "t_us don't match?" in + FStar_Tactics_Monad.op_let_Bang + uu___20 + (fun + uu___21 + -> + let s = + FStar_TypeChecker_Env.mk_univ_subst + c_us a_us in + let c_ty1 + = + FStar_Syntax_Subst.subst + s c_ty in + let uu___22 + = + FStar_TypeChecker_Env.inst_tscheme + (c_us, + c_ty1) in + match uu___22 + with + | + (c_us1, + c_ty2) -> + let uu___23 + = + FStar_Syntax_Util.arrow_formals_comp + c_ty2 in + (match uu___23 + with + | + (bs, + comp) -> + let uu___24 + = + let rename_bv + bv = + let ppname + = + bv.FStar_Syntax_Syntax.ppname in + let ppname1 + = + let uu___25 + = + let uu___26 + = + let uu___27 + = + FStar_Ident.string_of_id + ppname in + Prims.op_Hat + "a" + uu___27 in + let uu___27 + = + FStar_Ident.range_of_id + ppname in + (uu___26, + uu___27) in + FStar_Ident.mk_ident + uu___25 in + FStar_Syntax_Syntax.freshen_bv + { + FStar_Syntax_Syntax.ppname + = ppname1; + FStar_Syntax_Syntax.index + = + (bv.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort + = + (bv.FStar_Syntax_Syntax.sort) + } in + let bs' = + FStar_Compiler_List.map + (fun b -> + let uu___25 + = + rename_bv + b.FStar_Syntax_Syntax.binder_bv in + { + FStar_Syntax_Syntax.binder_bv + = uu___25; + FStar_Syntax_Syntax.binder_qual + = + (b.FStar_Syntax_Syntax.binder_qual); + FStar_Syntax_Syntax.binder_positivity + = + (b.FStar_Syntax_Syntax.binder_positivity); + FStar_Syntax_Syntax.binder_attrs + = + (b.FStar_Syntax_Syntax.binder_attrs) + }) bs in + let subst + = + FStar_Compiler_List.map2 + (fun + uu___25 + -> + fun + uu___26 + -> + match + (uu___25, + uu___26) + with + | + ({ + FStar_Syntax_Syntax.binder_bv + = bv; + FStar_Syntax_Syntax.binder_qual + = uu___27; + FStar_Syntax_Syntax.binder_positivity + = uu___28; + FStar_Syntax_Syntax.binder_attrs + = uu___29;_}, + { + FStar_Syntax_Syntax.binder_bv + = bv'; + FStar_Syntax_Syntax.binder_qual + = uu___30; + FStar_Syntax_Syntax.binder_positivity + = uu___31; + FStar_Syntax_Syntax.binder_attrs + = uu___32;_}) + -> + let uu___33 + = + let uu___34 + = + FStar_Syntax_Syntax.bv_to_name + bv' in + (bv, + uu___34) in + FStar_Syntax_Syntax.NT + uu___33) + bs bs' in + let uu___25 + = + FStar_Syntax_Subst.subst_binders + subst bs' in + let uu___26 + = + FStar_Syntax_Subst.subst_comp + subst + comp in + (uu___25, + uu___26) in + (match uu___24 + with + | + (bs1, + comp1) -> + let uu___25 + = + FStar_Compiler_List.splitAt + nparam + bs1 in + (match uu___25 + with + | + (d_ps, + bs2) -> + let uu___26 + = + let uu___27 + = + let uu___28 + = + FStar_Syntax_Util.is_total_comp + comp1 in + Prims.op_Negation + uu___28 in + failwhen + uu___27 + "not total?" in + FStar_Tactics_Monad.op_let_Bang + uu___26 + (fun + uu___27 + -> + let mk_pat + p = + { + FStar_Syntax_Syntax.v + = p; + FStar_Syntax_Syntax.p + = + (s_tm1.FStar_Syntax_Syntax.pos) + } in + let is_imp + uu___28 = + match uu___28 + with + | + FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + uu___29) + -> true + | + uu___29 + -> false in + let uu___28 + = + FStar_Compiler_List.splitAt + nparam + args in + match uu___28 + with + | + (a_ps, + a_is) -> + let uu___29 + = + failwhen + ((FStar_Compiler_List.length + a_ps) <> + (FStar_Compiler_List.length + d_ps)) + "params not match?" in + FStar_Tactics_Monad.op_let_Bang + uu___29 + (fun + uu___30 + -> + let d_ps_a_ps + = + FStar_Compiler_List.zip + d_ps a_ps in + let subst + = + FStar_Compiler_List.map + (fun + uu___31 + -> + match uu___31 + with + | + ({ + FStar_Syntax_Syntax.binder_bv + = bv; + FStar_Syntax_Syntax.binder_qual + = uu___32; + FStar_Syntax_Syntax.binder_positivity + = uu___33; + FStar_Syntax_Syntax.binder_attrs + = uu___34;_}, + (t, + uu___35)) + -> + FStar_Syntax_Syntax.NT + (bv, t)) + d_ps_a_ps in + let bs3 = + FStar_Syntax_Subst.subst_binders + subst bs2 in + let subpats_1 + = + FStar_Compiler_List.map + (fun + uu___31 + -> + match uu___31 + with + | + ({ + FStar_Syntax_Syntax.binder_bv + = bv; + FStar_Syntax_Syntax.binder_qual + = uu___32; + FStar_Syntax_Syntax.binder_positivity + = uu___33; + FStar_Syntax_Syntax.binder_attrs + = uu___34;_}, + (t, + uu___35)) + -> + ((mk_pat + (FStar_Syntax_Syntax.Pat_dot_term + (FStar_Pervasives_Native.Some + t))), + true)) + d_ps_a_ps in + let subpats_2 + = + FStar_Compiler_List.map + (fun + uu___31 + -> + match uu___31 + with + | + { + FStar_Syntax_Syntax.binder_bv + = bv; + FStar_Syntax_Syntax.binder_qual + = bq; + FStar_Syntax_Syntax.binder_positivity + = uu___32; + FStar_Syntax_Syntax.binder_attrs + = uu___33;_} + -> + ((mk_pat + (FStar_Syntax_Syntax.Pat_var + bv)), + (is_imp + bq))) bs3 in + let subpats + = + FStar_Compiler_List.op_At + subpats_1 + subpats_2 in + let pat = + mk_pat + (FStar_Syntax_Syntax.Pat_cons + (fv1, + (FStar_Pervasives_Native.Some + a_us), + subpats)) in + let env1 + = + FStar_Tactics_Types.goal_env + g in + let cod = + FStar_Tactics_Types.goal_type + g in + let equ = + env1.FStar_TypeChecker_Env.universe_of + env1 + s_ty1 in + let uu___31 + = + FStar_TypeChecker_TcTerm.tc_pat + { + FStar_TypeChecker_Env.solver + = + (env1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range + = + (env1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule + = + (env1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma + = + (env1.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig + = + (env1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache + = + (env1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules + = + (env1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ + = + (env1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab + = + (env1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab + = + (env1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp + = + (env1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects + = + (env1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize + = + (env1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs + = + (env1.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level + = + (env1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars + = + (env1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict + = + (env1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface + = + (env1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit + = + (env1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax + = true; + FStar_TypeChecker_Env.lax_universes + = + (env1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 + = + (env1.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard + = + (env1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth + = + (env1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping + = + (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (env1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term + = + (env1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term + = + (env1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of + = + (env1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (env1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force + = + (env1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force + = + (env1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index + = + (env1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names + = + (env1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths + = + (env1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns + = + (env1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook + = + (env1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook + = + (env1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice + = + (env1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess + = + (env1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess + = + (env1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info + = + (env1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks + = + (env1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv + = + (env1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe + = + (env1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab + = + (env1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab + = + (env1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac + = + (env1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards + = + (env1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args + = + (env1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check + = + (env1.FStar_TypeChecker_Env.core_check) + } s_ty1 + pat in + match uu___31 + with + | + (uu___32, + uu___33, + uu___34, + uu___35, + pat_t, + uu___36, + _guard_pat, + _erasable) + -> + let eq_b + = + let uu___37 + = + let uu___38 + = + FStar_Syntax_Util.mk_eq2 + equ s_ty1 + s_tm1 + pat_t in + FStar_Syntax_Util.mk_squash + FStar_Syntax_Syntax.U_zero + uu___38 in + FStar_Syntax_Syntax.gen_bv + "breq" + FStar_Pervasives_Native.None + uu___37 in + let cod1 + = + let uu___37 + = + let uu___38 + = + FStar_Syntax_Syntax.mk_binder + eq_b in + [uu___38] in + let uu___38 + = + FStar_Syntax_Syntax.mk_Total + cod in + FStar_Syntax_Util.arrow + uu___37 + uu___38 in + let nty = + let uu___37 + = + FStar_Syntax_Syntax.mk_Total + cod1 in + FStar_Syntax_Util.arrow + bs3 + uu___37 in + let uu___37 + = + let uu___38 + = + goal_typedness_deps + g in + FStar_Tactics_Monad.new_uvar + "destruct branch" + env1 nty + FStar_Pervasives_Native.None + uu___38 + (rangeof + g) in + FStar_Tactics_Monad.op_let_Bang + uu___37 + (fun + uu___38 + -> + match uu___38 + with + | + (uvt, uv) + -> + let g' = + FStar_Tactics_Types.mk_goal + env1 uv + g.FStar_Tactics_Types.opts + false + g.FStar_Tactics_Types.label in + let brt = + FStar_Syntax_Util.mk_app_binders + uvt bs3 in + let brt1 + = + let uu___39 + = + let uu___40 + = + FStar_Syntax_Syntax.as_arg + FStar_Syntax_Util.exp_unit in + [uu___40] in + FStar_Syntax_Util.mk_app + brt + uu___39 in + let br = + FStar_Syntax_Subst.close_branch + (pat, + FStar_Pervasives_Native.None, + brt1) in + let uu___39 + = + let uu___40 + = + let uu___41 + = + FStar_BigInt.of_int_fs + (FStar_Compiler_List.length + bs3) in + (fv1, + uu___41) in + (g', br, + uu___40) in + FStar_Tactics_Monad.ret + uu___39))))))) + | + uu___18 + -> + FStar_Tactics_Monad.fail + "impossible: not a ctor")) + c_lids in + FStar_Tactics_Monad.op_let_Bang + uu___16 + (fun goal_brs + -> + let uu___17 + = + FStar_Compiler_List.unzip3 + goal_brs in + match uu___17 + with + | + (goals, + brs, + infos) -> + let w = + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_match + { + FStar_Syntax_Syntax.scrutinee + = s_tm1; + FStar_Syntax_Syntax.ret_opt + = + FStar_Pervasives_Native.None; + FStar_Syntax_Syntax.brs + = brs; + FStar_Syntax_Syntax.rc_opt1 + = + FStar_Pervasives_Native.None + }) + s_tm1.FStar_Syntax_Syntax.pos in + let uu___18 + = + solve' g + w in + FStar_Tactics_Monad.op_let_Bang + uu___18 + (fun + uu___19 + -> + mark_goal_implicit_already_checked + g; + ( + let uu___21 + = + FStar_Tactics_Monad.add_goals + goals in + FStar_Tactics_Monad.op_let_Bang + uu___21 + (fun + uu___22 + -> + FStar_Tactics_Monad.ret + infos)))))) + | uu___9 -> + FStar_Tactics_Monad.fail + "not an inductive type")))))) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "destruct") uu___ +let (gather_explicit_guards_for_resolved_goals : + unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> FStar_Tactics_Monad.ret () +let rec last : 'a . 'a Prims.list -> 'a = + fun l -> + match l with + | [] -> failwith "last: empty list" + | x::[] -> x + | uu___::xs -> last xs +let rec init : 'a . 'a Prims.list -> 'a Prims.list = + fun l -> + match l with + | [] -> failwith "init: empty list" + | x::[] -> [] + | x::xs -> let uu___ = init xs in x :: uu___ +let (binder_bv : + FStar_Syntax_Syntax.binder -> + FStar_Syntax_Syntax.bv FStar_Tactics_Monad.tac) + = + fun b -> + FStar_Compiler_Effect.op_Less_Bar FStar_Tactics_Monad.ret + b.FStar_Syntax_Syntax.binder_bv +let (lget : + FStar_Syntax_Syntax.typ -> + Prims.string -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) + = + fun ty -> + fun k -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let uu___1 = + FStar_Compiler_Util.psmap_try_find + ps.FStar_Tactics_Types.local_state k in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "not found" + | FStar_Pervasives_Native.Some t -> unquote ty t) in + FStar_Compiler_Effect.op_Less_Bar (FStar_Tactics_Monad.wrap_err "lget") + uu___ +let (lset : + FStar_Syntax_Syntax.typ -> + Prims.string -> FStar_Syntax_Syntax.term -> unit FStar_Tactics_Monad.tac) + = + fun _ty -> + fun k -> + fun t -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let ps1 = + let uu___1 = + FStar_Compiler_Util.psmap_add + ps.FStar_Tactics_Types.local_state k t in + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = (ps.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = + (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = uu___1; + FStar_Tactics_Types.urgency = + (ps.FStar_Tactics_Types.urgency) + } in + FStar_Tactics_Monad.set ps1) in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "lset") uu___ +let (set_urgency : FStar_BigInt.t -> unit FStar_Tactics_Monad.tac) = + fun u -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + let ps1 = + let uu___ = FStar_BigInt.to_int_fs u in + { + FStar_Tactics_Types.main_context = + (ps.FStar_Tactics_Types.main_context); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = (ps.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = uu___ + } in + FStar_Tactics_Monad.set ps1) +let (t_commute_applied_match : unit -> unit FStar_Tactics_Monad.tac) = + fun uu___ -> + let uu___1 = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let uu___2 = + let uu___3 = FStar_Tactics_Types.goal_env g in + let uu___4 = FStar_Tactics_Types.goal_type g in + destruct_eq uu___3 uu___4 in + match uu___2 with + | FStar_Pervasives_Native.Some (l, r) -> + let uu___3 = FStar_Syntax_Util.head_and_args_full l in + (match uu___3 with + | (lh, las) -> + let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Util.unascribe lh in + FStar_Syntax_Subst.compress uu___6 in + uu___5.FStar_Syntax_Syntax.n in + (match uu___4 with + | FStar_Syntax_Syntax.Tm_match + { FStar_Syntax_Syntax.scrutinee = e; + FStar_Syntax_Syntax.ret_opt = asc_opt; + FStar_Syntax_Syntax.brs = brs; + FStar_Syntax_Syntax.rc_opt1 = lopt;_} + -> + let brs' = + FStar_Compiler_List.map + (fun uu___5 -> + match uu___5 with + | (p, w, e1) -> + let uu___6 = + FStar_Syntax_Util.mk_app e1 las in + (p, w, uu___6)) brs in + let lopt' = + FStar_Compiler_Effect.op_Bar_Greater lopt + (FStar_Compiler_Util.map_option + (fun rc -> + let uu___5 = + FStar_Compiler_Effect.op_Bar_Greater + rc.FStar_Syntax_Syntax.residual_typ + (FStar_Compiler_Util.map_option + (fun t -> + let uu___6 = + let uu___7 = + FStar_Tactics_Types.goal_env + g in + FStar_TypeChecker_Normalize.get_n_binders + uu___7 + (FStar_Compiler_List.length + las) t in + match uu___6 with + | (bs, c) -> + let uu___7 = + FStar_Syntax_Subst.open_comp + bs c in + (match uu___7 with + | (bs1, c1) -> + let ss = + FStar_Compiler_List.map2 + (fun b -> + fun a -> + FStar_Syntax_Syntax.NT + ((b.FStar_Syntax_Syntax.binder_bv), + (FStar_Pervasives_Native.fst + a))) bs1 + las in + let c2 = + FStar_Syntax_Subst.subst_comp + ss c1 in + FStar_Syntax_Util.comp_result + c2))) in + { + FStar_Syntax_Syntax.residual_effect = + (rc.FStar_Syntax_Syntax.residual_effect); + FStar_Syntax_Syntax.residual_typ = + uu___5; + FStar_Syntax_Syntax.residual_flags = + (rc.FStar_Syntax_Syntax.residual_flags) + })) in + let l' = + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_match + { + FStar_Syntax_Syntax.scrutinee = e; + FStar_Syntax_Syntax.ret_opt = asc_opt; + FStar_Syntax_Syntax.brs = brs'; + FStar_Syntax_Syntax.rc_opt1 = lopt' + }) l.FStar_Syntax_Syntax.pos in + let must_tot = true in + let uu___5 = + let uu___6 = FStar_Tactics_Types.goal_env g in + do_unify_maybe_guards false must_tot uu___6 l' r in + FStar_Tactics_Monad.op_let_Bang uu___5 + (fun uu___6 -> + match uu___6 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail + "discharging the equality failed" + | FStar_Pervasives_Native.Some guard -> + let uu___7 = + FStar_TypeChecker_Env.is_trivial_guard_formula + guard in + if uu___7 + then + (mark_uvar_as_already_checked + g.FStar_Tactics_Types.goal_ctx_uvar; + solve g FStar_Syntax_Util.exp_unit) + else + failwith + "internal error: _t_refl: guard is not trivial" + | uu___7 -> + FStar_Tactics_Monad.fail + "lhs is not a match"))) + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "not an equality") in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "t_commute_applied_match") uu___1 +let (string_to_term : + env -> Prims.string -> FStar_Syntax_Syntax.term FStar_Tactics_Monad.tac) = + fun e -> + fun s -> + let frag_of_text s1 = + { + FStar_Parser_ParseIt.frag_fname = ""; + FStar_Parser_ParseIt.frag_text = s1; + FStar_Parser_ParseIt.frag_line = Prims.int_one; + FStar_Parser_ParseIt.frag_col = Prims.int_zero + } in + let uu___ = + FStar_Parser_ParseIt.parse + (FStar_Parser_ParseIt.Fragment (frag_of_text s)) in + match uu___ with + | FStar_Parser_ParseIt.Term t -> + let dsenv = + let uu___1 = FStar_TypeChecker_Env.current_module e in + FStar_Syntax_DsEnv.set_current_module + e.FStar_TypeChecker_Env.dsenv uu___1 in + (try + (fun uu___1 -> + match () with + | () -> + let uu___2 = FStar_ToSyntax_ToSyntax.desugar_term dsenv t in + FStar_Tactics_Monad.ret uu___2) () + with + | FStar_Errors.Error (uu___2, e1, uu___3, uu___4) -> + FStar_Tactics_Monad.fail (Prims.op_Hat "string_of_term: " e1) + | uu___2 -> + FStar_Tactics_Monad.fail "string_of_term: Unknown error") + | FStar_Parser_ParseIt.ASTFragment uu___1 -> + FStar_Tactics_Monad.fail + "string_of_term: expected a Term as a result, got an ASTFragment" + | FStar_Parser_ParseIt.ParseError (uu___1, err, uu___2) -> + FStar_Tactics_Monad.fail + (Prims.op_Hat "string_of_term: got error " err) +let (push_bv_dsenv : + env -> + Prims.string -> + (env * FStar_Reflection_V2_Data.binding) FStar_Tactics_Monad.tac) + = + fun e -> + fun i -> + let ident = + FStar_Ident.mk_ident (i, FStar_Compiler_Range_Type.dummyRange) in + let uu___ = + FStar_Syntax_DsEnv.push_bv e.FStar_TypeChecker_Env.dsenv ident in + match uu___ with + | (dsenv, bv) -> + let uu___1 = + let uu___2 = bv_to_binding bv in + ({ + FStar_TypeChecker_Env.solver = + (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = dsenv; + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + }, uu___2) in + FStar_Tactics_Monad.ret uu___1 +let (term_to_string : + FStar_Syntax_Syntax.term -> Prims.string FStar_Tactics_Monad.tac) = + fun t -> + let uu___ = top_env () in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun g -> + let s = + FStar_Syntax_Print.term_to_string' g.FStar_TypeChecker_Env.dsenv t in + FStar_Tactics_Monad.ret s) +let (comp_to_string : + FStar_Syntax_Syntax.comp -> Prims.string FStar_Tactics_Monad.tac) = + fun c -> + let uu___ = top_env () in + FStar_Tactics_Monad.op_let_Bang uu___ + (fun g -> + let s = + FStar_Syntax_Print.comp_to_string' g.FStar_TypeChecker_Env.dsenv c in + FStar_Tactics_Monad.ret s) +let (range_to_string : + FStar_Compiler_Range_Type.range -> Prims.string FStar_Tactics_Monad.tac) = + fun r -> + let uu___ = FStar_Compiler_Range_Ops.string_of_range r in + FStar_Tactics_Monad.ret uu___ +let (term_eq_old : + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> Prims.bool FStar_Tactics_Monad.tac) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let uu___1 = FStar_Syntax_Util.term_eq t1 t2 in + FStar_Tactics_Monad.ret uu___1) +let with_compat_pre_core : + 'a . + FStar_BigInt.t -> + 'a FStar_Tactics_Monad.tac -> 'a FStar_Tactics_Monad.tac + = + fun n -> + fun f -> + FStar_Tactics_Monad.mk_tac + (fun ps -> + FStar_Options.with_saved_options + (fun uu___ -> + let _res = FStar_Options.set_options "--compat_pre_core 0" in + FStar_Tactics_Monad.run f ps)) +let (get_vconfig : unit -> FStar_VConfig.vconfig FStar_Tactics_Monad.tac) = + fun uu___ -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let vcfg = + FStar_Options.with_saved_options + (fun uu___1 -> + (let uu___3 = + FStar_Compiler_Util.smap_copy g.FStar_Tactics_Types.opts in + FStar_Options.set uu___3); + FStar_Options.get_vconfig ()) in + FStar_Tactics_Monad.ret vcfg) +let (set_vconfig : FStar_VConfig.vconfig -> unit FStar_Tactics_Monad.tac) = + fun vcfg -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun g -> + let opts' = + FStar_Options.with_saved_options + (fun uu___ -> + (let uu___2 = + FStar_Compiler_Util.smap_copy g.FStar_Tactics_Types.opts in + FStar_Options.set uu___2); + FStar_Options.set_vconfig vcfg; + FStar_Options.peek ()) in + let g' = + { + FStar_Tactics_Types.goal_main_env = + (g.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar = + (g.FStar_Tactics_Types.goal_ctx_uvar); + FStar_Tactics_Types.opts = opts'; + FStar_Tactics_Types.is_guard = (g.FStar_Tactics_Types.is_guard); + FStar_Tactics_Types.label = (g.FStar_Tactics_Types.label) + } in + FStar_Tactics_Monad.replace_cur g') +let (t_smt_sync : FStar_VConfig.vconfig -> unit FStar_Tactics_Monad.tac) = + fun vcfg -> + let uu___ = + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.cur_goal + (fun goal -> + let uu___1 = FStar_Tactics_Types.get_phi goal in + match uu___1 with + | FStar_Pervasives_Native.None -> + FStar_Tactics_Monad.fail "Goal is not irrelevant" + | FStar_Pervasives_Native.Some phi -> + let e = FStar_Tactics_Types.goal_env goal in + let ans = + FStar_Options.with_saved_options + (fun uu___2 -> + FStar_Options.set_vconfig vcfg; + (e.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.solve_sync + FStar_Pervasives_Native.None e phi) in + if ans + then + (mark_uvar_as_already_checked + goal.FStar_Tactics_Types.goal_ctx_uvar; + solve goal FStar_Syntax_Util.exp_unit) + else FStar_Tactics_Monad.fail "SMT did not solve this goal") in + FStar_Compiler_Effect.op_Less_Bar + (FStar_Tactics_Monad.wrap_err "t_smt_sync") uu___ +let (free_uvars : + FStar_Syntax_Syntax.term -> + FStar_BigInt.t Prims.list FStar_Tactics_Monad.tac) + = + fun tm -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let uvs = + let uu___1 = + let uu___2 = FStar_Syntax_Free.uvars_uncached tm in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + FStar_Compiler_Util.set_elements in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + (FStar_Compiler_List.map + (fun u -> + let uu___2 = + FStar_Syntax_Unionfind.uvar_id + u.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_BigInt.of_int_fs uu___2)) in + FStar_Tactics_Monad.ret uvs) +let (dbg_refl : env -> (unit -> Prims.string) -> unit) = + fun g -> + fun msg -> + let uu___ = + FStar_Compiler_Effect.op_Less_Bar (FStar_TypeChecker_Env.debug g) + (FStar_Options.Other "ReflTc") in + if uu___ + then let uu___1 = msg () in FStar_Compiler_Util.print_string uu___1 + else () +type issues = FStar_Errors.issue Prims.list +let refl_typing_builtin_wrapper : + 'a . + (unit -> 'a) -> + ('a FStar_Pervasives_Native.option * issues) FStar_Tactics_Monad.tac + = + fun f -> + let tx = FStar_Syntax_Unionfind.new_transaction () in + let uu___ = + try + (fun uu___1 -> + match () with | () -> FStar_Errors.catch_errors_and_ignore_rest f) + () + with + | uu___1 -> + let issue = + let uu___2 = FStar_Compiler_Util.print_exn uu___1 in + let uu___3 = FStar_Errors.get_ctx () in + { + FStar_Errors.issue_msg = uu___2; + FStar_Errors.issue_level = FStar_Errors.EError; + FStar_Errors.issue_range = FStar_Pervasives_Native.None; + FStar_Errors.issue_number = + (FStar_Pervasives_Native.Some (Prims.of_int (17))); + FStar_Errors.issue_ctx = uu___3 + } in + ([issue], FStar_Pervasives_Native.None) in + match uu___ with + | (errs, r) -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.get + (fun ps -> + FStar_TypeChecker_Env.promote_id_info + ps.FStar_Tactics_Types.main_context + (FStar_TypeChecker_Tc.compress_and_norm + ps.FStar_Tactics_Types.main_context); + FStar_Syntax_Unionfind.rollback tx; + if (FStar_Compiler_List.length errs) > Prims.int_zero + then + FStar_Tactics_Monad.ret (FStar_Pervasives_Native.None, errs) + else FStar_Tactics_Monad.ret (r, errs)) +let (no_uvars_in_term : FStar_Syntax_Syntax.term -> Prims.bool) = + fun t -> + (let uu___ = + FStar_Compiler_Effect.op_Bar_Greater t FStar_Syntax_Free.uvars in + FStar_Compiler_Effect.op_Bar_Greater uu___ + FStar_Compiler_Util.set_is_empty) + && + (let uu___ = + FStar_Compiler_Effect.op_Bar_Greater t FStar_Syntax_Free.univs in + FStar_Compiler_Effect.op_Bar_Greater uu___ + FStar_Compiler_Util.set_is_empty) +let (no_uvars_in_g : env -> Prims.bool) = + fun g -> + FStar_Compiler_Effect.op_Bar_Greater g.FStar_TypeChecker_Env.gamma + (FStar_Compiler_Util.for_all + (fun uu___ -> + match uu___ with + | FStar_Syntax_Syntax.Binding_var bv -> + no_uvars_in_term bv.FStar_Syntax_Syntax.sort + | uu___1 -> true)) +type relation = + | Subtyping + | Equality +let (uu___is_Subtyping : relation -> Prims.bool) = + fun projectee -> match projectee with | Subtyping -> true | uu___ -> false +let (uu___is_Equality : relation -> Prims.bool) = + fun projectee -> match projectee with | Equality -> true | uu___ -> false +let (unexpected_uvars_issue : + FStar_Compiler_Range_Type.range -> FStar_Errors.issue) = + fun r -> + let i = + let uu___ = + let uu___1 = + FStar_Errors.errno + FStar_Errors_Codes.Error_UnexpectedUnresolvedUvar in + FStar_Pervasives_Native.Some uu___1 in + { + FStar_Errors.issue_msg = "Cannot check relation with uvars"; + FStar_Errors.issue_level = FStar_Errors.EError; + FStar_Errors.issue_range = (FStar_Pervasives_Native.Some r); + FStar_Errors.issue_number = uu___; + FStar_Errors.issue_ctx = [] + } in + i +let (refl_check_relation : + env -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ -> + relation -> + (unit FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun t0 -> + fun t1 -> + fun rel -> + let uu___ = + ((no_uvars_in_g g) && (no_uvars_in_term t0)) && + (no_uvars_in_term t1) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string t0 in + let uu___5 = FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format3 + "refl_check_relation: %s %s %s\n" uu___4 + (if rel = Subtyping then "<:?" else "=?=") uu___5); + (let f = + if rel = Subtyping + then FStar_TypeChecker_Core.check_term_subtyping + else FStar_TypeChecker_Core.check_term_equality in + let uu___3 = f g t0 t1 in + match uu___3 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) -> + dbg_refl g + (fun uu___5 -> + "refl_check_relation: succeeded (no guard)") + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some + guard_f) -> + (FStar_TypeChecker_Rel.force_trivial_guard g + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard_f); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + }; + dbg_refl g + (fun uu___5 -> "refl_check_relation: succeeded")) + | FStar_Pervasives.Inr err -> + (dbg_refl g + (fun uu___5 -> + let uu___6 = + FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_check_relation failed: %s\n" uu___6); + (let uu___5 = + let uu___6 = + let uu___7 = + FStar_TypeChecker_Core.print_error err in + Prims.op_Hat "check_relation failed: " uu___7 in + (FStar_Errors_Codes.Fatal_IllTyped, uu___6) in + FStar_Errors.raise_error uu___5 + FStar_Compiler_Range_Type.dummyRange)))) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_check_subtyping : + env -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ -> + (unit FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = fun g -> fun t0 -> fun t1 -> refl_check_relation g t0 t1 Subtyping +let (refl_check_equiv : + env -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ -> + (unit FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = fun g -> fun t0 -> fun t1 -> refl_check_relation g t0 t1 Equality +let (to_must_tot : FStar_Tactics_Types.tot_or_ghost -> Prims.bool) = + fun eff -> + match eff with + | FStar_Tactics_Types.E_Total -> true + | FStar_Tactics_Types.E_Ghost -> false +let (refl_norm_type : + env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = + fun g -> + fun t -> + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta] g t +let (refl_core_compute_term_type : + env -> + FStar_Syntax_Syntax.term -> + FStar_Tactics_Types.tot_or_ghost -> + (FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + fun eff -> + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 + "refl_core_compute_term_type: %s\n" uu___4); + (let must_tot = to_must_tot eff in + let gh g1 guard = + FStar_TypeChecker_Rel.force_trivial_guard g1 + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + }; + true in + let uu___3 = + FStar_TypeChecker_Core.compute_term_type_handle_guards g e + must_tot gh in + match uu___3 with + | FStar_Pervasives.Inl t -> + let t1 = refl_norm_type g t in + (dbg_refl g + (fun uu___5 -> + let uu___6 = FStar_Syntax_Print.term_to_string e in + let uu___7 = FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format2 + "refl_core_compute_term_type for %s computed type %s\n" + uu___6 uu___7); + t1) + | FStar_Pervasives.Inr err -> + (dbg_refl g + (fun uu___5 -> + let uu___6 = FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_core_compute_term_type: %s\n" uu___6); + (let uu___5 = + let uu___6 = + let uu___7 = FStar_TypeChecker_Core.print_error err in + Prims.op_Hat "core_compute_term_type failed: " + uu___7 in + (FStar_Errors_Codes.Fatal_IllTyped, uu___6) in + FStar_Errors.raise_error uu___5 + FStar_Compiler_Range_Type.dummyRange)))) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_core_check_term : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.typ -> + FStar_Tactics_Types.tot_or_ghost -> + (unit FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + fun t -> + fun eff -> + let uu___ = + ((no_uvars_in_g g) && (no_uvars_in_term e)) && + (no_uvars_in_term t) in + if uu___ + then + Obj.magic + (Obj.repr + (refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + let uu___5 = FStar_Syntax_Print.term_to_string t in + FStar_Compiler_Util.format2 + "refl_core_check_term: term: %s, type: %s\n" + uu___4 uu___5); + (let must_tot = to_must_tot eff in + let uu___3 = + FStar_TypeChecker_Core.check_term g e t must_tot in + match uu___3 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) + -> + (dbg_refl g + (fun uu___5 -> + "refl_core_check_term: succeeded with no guard\n"); + FStar_Tactics_Monad.ret ()) + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some + guard) -> + (dbg_refl g + (fun uu___5 -> + "refl_core_check_term: succeeded with guard\n"); + FStar_TypeChecker_Rel.force_trivial_guard g + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + }; + FStar_Tactics_Monad.ret ()) + | FStar_Pervasives.Inr err -> + (dbg_refl g + (fun uu___5 -> + let uu___6 = + FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_core_check_term failed: %s\n" + uu___6); + (let uu___5 = + let uu___6 = + let uu___7 = + FStar_TypeChecker_Core.print_error err in + Prims.op_Hat + "refl_core_check_term failed: " uu___7 in + (FStar_Errors_Codes.Fatal_IllTyped, uu___6) in + FStar_Errors.raise_error uu___5 + FStar_Compiler_Range_Type.dummyRange)))))) + else + Obj.magic + (Obj.repr + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2)) +let (refl_tc_term : + env -> + FStar_Syntax_Syntax.term -> + FStar_Tactics_Types.tot_or_ghost -> + ((FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ) + FStar_Pervasives_Native.option * issues) FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + fun eff -> + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 "refl_tc_term: %s\n" uu___4); + dbg_refl g (fun uu___4 -> "refl_tc_term: starting tc {\n"); + (let must_tot = to_must_tot eff in + let g1 = + { + FStar_TypeChecker_Env.solver = + (g.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (g.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (g.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (g.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (g.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (g.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (g.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (g.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (g.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (g.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = false; + FStar_TypeChecker_Env.effects = + (g.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (g.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (g.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (g.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (g.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (g.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (g.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (g.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (g.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (g.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (g.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (g.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (g.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (g.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (g.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (g.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (g.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (g.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (g.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (g.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (g.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (g.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (g.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (g.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (g.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (g.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (g.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (g.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (g.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (g.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (g.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (g.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (g.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (g.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (g.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (g.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (g.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (g.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (g.FStar_TypeChecker_Env.core_check) + } in + let e1 = + let g2 = + { + FStar_TypeChecker_Env.solver = + (g1.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (g1.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (g1.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (g1.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (g1.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (g1.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (g1.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (g1.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (g1.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (g1.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (g1.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (g1.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (g1.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (g1.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (g1.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (g1.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (g1.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (g1.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (g1.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = true; + FStar_TypeChecker_Env.lax_universes = + (g1.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = true; + FStar_TypeChecker_Env.failhard = + (g1.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (g1.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (g1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g1.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (g1.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (g1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (g1.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (g1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (g1.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (g1.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (g1.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (g1.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (g1.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (g1.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (g1.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (g1.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (g1.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (g1.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (g1.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (g1.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (g1.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (g1.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (g1.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (g1.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (g1.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (g1.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (g1.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (g1.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (g1.FStar_TypeChecker_Env.core_check) + } in + let uu___4 = + g2.FStar_TypeChecker_Env.typeof_tot_or_gtot_term g2 e + must_tot in + match uu___4 with + | (e2, uu___5, guard) -> + (FStar_TypeChecker_Rel.force_trivial_guard g2 guard; e2) in + try + (fun uu___4 -> + match () with + | () -> + let e2 = + FStar_Syntax_Compress.deep_compress false e1 in + (dbg_refl g1 + (fun uu___6 -> + let uu___7 = + FStar_Syntax_Print.term_to_string e2 in + FStar_Compiler_Util.format1 + "} finished tc with e = %s\n" uu___7); + (let gh g2 guard = + FStar_TypeChecker_Rel.force_trivial_guard g2 + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + }; + true in + let uu___6 = + FStar_TypeChecker_Core.compute_term_type_handle_guards + g1 e2 must_tot gh in + match uu___6 with + | FStar_Pervasives.Inl t -> + let t1 = refl_norm_type g1 t in + (dbg_refl g1 + (fun uu___8 -> + let uu___9 = + FStar_Syntax_Print.term_to_string e2 in + let uu___10 = + FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format2 + "refl_tc_term for %s computed type %s\n" + uu___9 uu___10); + (e2, t1)) + | FStar_Pervasives.Inr err -> + (dbg_refl g1 + (fun uu___8 -> + let uu___9 = + FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_tc_term failed: %s\n" uu___9); + (let uu___8 = + let uu___9 = + let uu___10 = + FStar_TypeChecker_Core.print_error err in + Prims.op_Hat "tc_term callback failed: " + uu___10 in + (FStar_Errors_Codes.Fatal_IllTyped, + uu___9) in + FStar_Errors.raise_error uu___8 + e2.FStar_Syntax_Syntax.pos))))) () + with + | FStar_Errors.Error + (FStar_Errors_Codes.Error_UnexpectedUnresolvedUvar, + uu___5, uu___6, uu___7) + -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_IllTyped, + "UVars remaing in term after tc_term callback") + e1.FStar_Syntax_Syntax.pos)) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_universe_of : + env -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + let check_univ_var_resolved u = + let uu___ = FStar_Syntax_Subst.compress_univ u in + match uu___ with + | FStar_Syntax_Syntax.U_unif uu___1 -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_IllTyped, + "Unresolved variable in universe_of callback") + FStar_Compiler_Range_Type.dummyRange + | u1 -> u1 in + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + let uu___2 = FStar_Syntax_Util.type_u () in + match uu___2 with + | (t, u) -> + let must_tot = false in + let uu___3 = + FStar_TypeChecker_Core.check_term g e t must_tot in + (match uu___3 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) -> + check_univ_var_resolved u + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some guard) + -> + (FStar_TypeChecker_Rel.force_trivial_guard g + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + }; + check_univ_var_resolved u) + | FStar_Pervasives.Inr err -> + let msg = + let uu___4 = FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_universe_of failed: %s\n" uu___4 in + (dbg_refl g (fun uu___5 -> msg); + (let uu___5 = + let uu___6 = + let uu___7 = + FStar_TypeChecker_Core.print_error err in + Prims.op_Hat "universe_of failed: " uu___7 in + (FStar_Errors_Codes.Fatal_IllTyped, uu___6) in + FStar_Errors.raise_error uu___5 + FStar_Compiler_Range_Type.dummyRange)))) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_check_prop_validity : + env -> + FStar_Syntax_Syntax.term -> + (unit FStar_Pervasives_Native.option * issues) FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 + "refl_check_prop_validity: %s\n" uu___4); + (let must_tot = false in + (let uu___4 = + let uu___5 = + FStar_Syntax_Util.fvar_const FStar_Parser_Const.prop_lid in + FStar_TypeChecker_Core.check_term g e uu___5 must_tot in + match uu___4 with + | FStar_Pervasives.Inl (FStar_Pervasives_Native.None) -> () + | FStar_Pervasives.Inl (FStar_Pervasives_Native.Some guard) -> + FStar_TypeChecker_Rel.force_trivial_guard g + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial guard); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + } + | FStar_Pervasives.Inr err -> + let msg = + let uu___5 = FStar_TypeChecker_Core.print_error err in + FStar_Compiler_Util.format1 + "refl_check_prop_validity failed (not a prop): %s\n" + uu___5 in + (dbg_refl g (fun uu___6 -> msg); + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_IllTyped, msg) + FStar_Compiler_Range_Type.dummyRange)); + FStar_TypeChecker_Rel.force_trivial_guard g + { + FStar_TypeChecker_Common.guard_f = + (FStar_TypeChecker_Common.NonTrivial e); + FStar_TypeChecker_Common.deferred_to_tac = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred_to_tac); + FStar_TypeChecker_Common.deferred = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.deferred); + FStar_TypeChecker_Common.univ_ineqs = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); + FStar_TypeChecker_Common.implicits = + (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.implicits) + })) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_check_match_complete : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + FStar_Reflection_V2_Data.pattern Prims.list -> + (FStar_Reflection_V2_Data.pattern Prims.list * + FStar_Reflection_V2_Data.binding Prims.list Prims.list) + FStar_Pervasives_Native.option FStar_Tactics_Monad.tac) + = + fun g -> + fun sc -> + fun scty -> + fun pats -> + FStar_Tactics_Monad.op_let_Bang FStar_Tactics_Monad.idtac + (fun uu___ -> + let one = FStar_Syntax_Util.exp_int "1" in + let brs = + FStar_Compiler_List.map + (fun p -> + let p1 = FStar_Reflection_V2_Builtins.pack_pat p in + (p1, FStar_Pervasives_Native.None, one)) pats in + let mm = + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_match + { + FStar_Syntax_Syntax.scrutinee = sc; + FStar_Syntax_Syntax.ret_opt = + FStar_Pervasives_Native.None; + FStar_Syntax_Syntax.brs = brs; + FStar_Syntax_Syntax.rc_opt1 = + FStar_Pervasives_Native.None + }) sc.FStar_Syntax_Syntax.pos in + let env1 = g in + let env2 = + FStar_TypeChecker_Env.set_expected_typ env1 + FStar_Syntax_Syntax.t_int in + let uu___1 = __tc env2 mm in + FStar_Tactics_Monad.op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (mm1, uu___3, g1) -> + let uu___4 = + FStar_Errors.catch_errors_and_ignore_rest + (fun uu___5 -> + let uu___6 = + FStar_TypeChecker_Rel.discharge_guard env2 + g1 in + FStar_Compiler_Effect.op_Less_Bar + FStar_TypeChecker_Env.is_trivial uu___6) in + (match uu___4 with + | (errs, b) -> + (match (errs, b) with + | ([], FStar_Pervasives_Native.Some (true)) -> + let get_pats t = + let uu___5 = + let uu___6 = FStar_Syntax_Util.unmeta t in + uu___6.FStar_Syntax_Syntax.n in + match uu___5 with + | FStar_Syntax_Syntax.Tm_match + { + FStar_Syntax_Syntax.scrutinee = + uu___6; + FStar_Syntax_Syntax.ret_opt = + uu___7; + FStar_Syntax_Syntax.brs = brs1; + FStar_Syntax_Syntax.rc_opt1 = + uu___8;_} + -> + FStar_Compiler_List.map + (fun uu___9 -> + match uu___9 with + | (p, uu___10, uu___11) -> p) + brs1 + | uu___6 -> + failwith + "refl_check_match_complete: not a match?" in + let pats1 = get_pats mm1 in + let rec bnds_for_pat p = + match p.FStar_Syntax_Syntax.v with + | FStar_Syntax_Syntax.Pat_constant uu___5 + -> [] + | FStar_Syntax_Syntax.Pat_cons + (fv, uu___5, pats2) -> + FStar_Compiler_List.concatMap + (fun uu___6 -> + match uu___6 with + | (p1, uu___7) -> + bnds_for_pat p1) pats2 + | FStar_Syntax_Syntax.Pat_var bv -> + let uu___5 = bv_to_binding bv in + [uu___5] + | FStar_Syntax_Syntax.Pat_dot_term uu___5 + -> [] in + let uu___5 = + let uu___6 = + let uu___7 = + FStar_Compiler_List.map + FStar_Reflection_V2_Builtins.inspect_pat + pats1 in + let uu___8 = + FStar_Compiler_List.map bnds_for_pat + pats1 in + (uu___7, uu___8) in + FStar_Pervasives_Native.Some uu___6 in + FStar_Tactics_Monad.ret uu___5 + | uu___5 -> + FStar_Tactics_Monad.ret + FStar_Pervasives_Native.None)))) +let (refl_instantiate_implicits : + env -> + FStar_Syntax_Syntax.term -> + ((FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ) + FStar_Pervasives_Native.option * issues) FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 + "refl_instantiate_implicits: %s\n" uu___4); + dbg_refl g + (fun uu___4 -> "refl_instantiate_implicits: starting tc {\n"); + (let must_tot = true in + let g1 = + { + FStar_TypeChecker_Env.solver = + (g.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (g.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (g.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (g.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (g.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (g.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (g.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (g.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (g.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (g.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = false; + FStar_TypeChecker_Env.effects = + (g.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (g.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (g.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (g.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (g.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (g.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (g.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (g.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = true; + FStar_TypeChecker_Env.lax_universes = + (g.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = true; + FStar_TypeChecker_Env.failhard = + (g.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (g.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (g.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (g.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (g.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (g.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (g.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (g.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (g.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (g.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (g.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (g.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (g.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (g.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (g.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (g.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (g.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (g.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (g.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (g.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (g.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (g.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (g.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (g.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (g.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (g.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (g.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (g.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (g.FStar_TypeChecker_Env.core_check) + } in + let uu___4 = + g1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term g1 e + must_tot in + match uu___4 with + | (e1, t, guard) -> + (FStar_TypeChecker_Rel.force_trivial_guard g1 guard; + (let e2 = FStar_Syntax_Compress.deep_compress false e1 in + let t1 = + let uu___6 = + FStar_Compiler_Effect.op_Bar_Greater t + (refl_norm_type g1) in + FStar_Compiler_Effect.op_Bar_Greater uu___6 + (FStar_Syntax_Compress.deep_compress false) in + dbg_refl g1 + (fun uu___7 -> + let uu___8 = FStar_Syntax_Print.term_to_string e2 in + let uu___9 = FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format2 + "} finished tc with e = %s and t = %s\n" uu___8 + uu___9); + (e2, t1))))) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_maybe_relate_after_unfolding : + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + (FStar_TypeChecker_Core.side FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun t0 -> + fun t1 -> + let uu___ = + ((no_uvars_in_g g) && (no_uvars_in_term t0)) && + (no_uvars_in_term t1) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string t0 in + let uu___5 = FStar_Syntax_Print.term_to_string t1 in + FStar_Compiler_Util.format2 + "refl_maybe_relate_after_unfolding: %s and %s {\n" + uu___4 uu___5); + (let s = + FStar_TypeChecker_Core.maybe_relate_after_unfolding g t0 t1 in + dbg_refl g + (fun uu___4 -> + let uu___5 = FStar_TypeChecker_Core.side_to_string s in + FStar_Compiler_Util.format1 "} returning side: %s\n" + uu___5); + s)) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (refl_maybe_unfold_head : + env -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * issues) + FStar_Tactics_Monad.tac) + = + fun g -> + fun e -> + let uu___ = (no_uvars_in_g g) && (no_uvars_in_term e) in + if uu___ + then + refl_typing_builtin_wrapper + (fun uu___1 -> + dbg_refl g + (fun uu___3 -> + let uu___4 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 + "refl_maybe_unfold_head: %s {\n" uu___4); + (let eopt = FStar_TypeChecker_Normalize.maybe_unfold_head g e in + dbg_refl g + (fun uu___4 -> + let uu___5 = + match eopt with + | FStar_Pervasives_Native.None -> "none" + | FStar_Pervasives_Native.Some e1 -> + FStar_Syntax_Print.term_to_string e1 in + FStar_Compiler_Util.format1 "} eopt = %s\n" uu___5); + if eopt = FStar_Pervasives_Native.None + then + (let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Print.term_to_string e in + FStar_Compiler_Util.format1 + "Could not unfold head: %s\n" uu___6 in + (FStar_Errors_Codes.Fatal_UnexpectedTerm, uu___5) in + FStar_Errors.raise_error uu___4 e.FStar_Syntax_Syntax.pos) + else + FStar_Compiler_Effect.op_Bar_Greater eopt + FStar_Compiler_Util.must)) + else + (let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStar_TypeChecker_Env.get_range g in + unexpected_uvars_issue uu___5 in + [uu___4] in + (FStar_Pervasives_Native.None, uu___3) in + FStar_Tactics_Monad.ret uu___2) +let (push_open_namespace : + env -> Prims.string Prims.list -> env FStar_Tactics_Monad.tac) = + fun e -> + fun ns -> + let lid = + FStar_Ident.lid_of_path ns FStar_Compiler_Range_Type.dummyRange in + let uu___ = + let uu___1 = + FStar_Syntax_DsEnv.push_namespace e.FStar_TypeChecker_Env.dsenv lid in + { + FStar_TypeChecker_Env.solver = (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = uu___1; + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + } in + FStar_Tactics_Monad.ret uu___ +let (push_module_abbrev : + env -> + Prims.string -> Prims.string Prims.list -> env FStar_Tactics_Monad.tac) + = + fun e -> + fun n -> + fun m -> + let mlid = + FStar_Ident.lid_of_path m FStar_Compiler_Range_Type.dummyRange in + let ident = FStar_Ident.id_of_text n in + let uu___ = + let uu___1 = + FStar_Syntax_DsEnv.push_module_abbrev + e.FStar_TypeChecker_Env.dsenv ident mlid in + { + FStar_TypeChecker_Env.solver = (e.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (e.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (e.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (e.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (e.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (e.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = (e.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (e.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = (e.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = (e.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (e.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = (e.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (e.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = (e.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (e.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (e.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (e.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (e.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (e.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (e.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (e.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = (e.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (e.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = (e.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (e.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (e.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = (e.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (e.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (e.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (e.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (e.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (e.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (e.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (e.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (e.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (e.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (e.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = (e.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (e.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (e.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (e.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (e.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = uu___1; + FStar_TypeChecker_Env.nbe = (e.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (e.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (e.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (e.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (e.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (e.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (e.FStar_TypeChecker_Env.core_check) + } in + FStar_Tactics_Monad.ret uu___ +let (resolve_name : + env -> + Prims.string Prims.list -> + (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) + FStar_Pervasives.either FStar_Pervasives_Native.option + FStar_Tactics_Monad.tac) + = + fun e -> + fun n -> + let l = FStar_Ident.lid_of_path n FStar_Compiler_Range_Type.dummyRange in + let uu___ = + FStar_Syntax_DsEnv.resolve_name e.FStar_TypeChecker_Env.dsenv l in + FStar_Tactics_Monad.ret uu___ +let (tac_env : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = + fun env1 -> + let uu___ = FStar_TypeChecker_Env.clear_expected_typ env1 in + match uu___ with + | (env2, uu___1) -> + let env3 = + { + FStar_TypeChecker_Env.solver = + (env2.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (env2.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (env2.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (env2.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (env2.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (env2.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (env2.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (env2.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (env2.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (env2.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = false; + FStar_TypeChecker_Env.effects = + (env2.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (env2.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (env2.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (env2.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (env2.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (env2.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (env2.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (env2.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (env2.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (env2.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (env2.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (env2.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (env2.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (env2.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (env2.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (env2.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (env2.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (env2.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (env2.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (env2.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (env2.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (env2.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (env2.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (env2.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (env2.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (env2.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (env2.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (env2.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (env2.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (env2.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = (env2.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (env2.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (env2.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (env2.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (env2.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (env2.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (env2.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (env2.FStar_TypeChecker_Env.core_check) + } in + let env4 = + { + FStar_TypeChecker_Env.solver = + (env3.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (env3.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (env3.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (env3.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (env3.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (env3.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (env3.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (env3.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (env3.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (env3.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (env3.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (env3.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (env3.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (env3.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (env3.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (env3.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (env3.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (env3.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (env3.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (env3.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (env3.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (env3.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = true; + FStar_TypeChecker_Env.nosynth = + (env3.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (env3.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env3.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (env3.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (env3.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (env3.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (env3.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (env3.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (env3.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (env3.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (env3.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (env3.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (env3.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (env3.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (env3.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (env3.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (env3.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (env3.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (env3.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (env3.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = (env3.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (env3.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (env3.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (env3.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (env3.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (env3.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (env3.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (env3.FStar_TypeChecker_Env.core_check) + } in + let env5 = + { + FStar_TypeChecker_Env.solver = + (env4.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = (env4.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (env4.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = (env4.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (env4.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (env4.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (env4.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (env4.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (env4.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (env4.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (env4.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (env4.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (env4.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (env4.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (env4.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (env4.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (env4.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (env4.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = (env4.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = (env4.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (env4.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (env4.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (env4.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (env4.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (env4.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env4.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term = + (env4.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (env4.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (env4.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = + (env4.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (env4.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (env4.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (env4.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (env4.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (env4.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (env4.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (env4.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (env4.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (env4.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (env4.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (env4.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (env4.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (env4.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = (env4.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = (env4.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (env4.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (env4.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = false; + FStar_TypeChecker_Env.unif_allow_ref_guards = + (env4.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (env4.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (env4.FStar_TypeChecker_Env.core_check) + } in + env5 +let (proofstate_of_goals : + FStar_Compiler_Range_Type.range -> + env -> + FStar_Tactics_Types.goal Prims.list -> + FStar_TypeChecker_Common.implicit Prims.list -> + FStar_Tactics_Types.proofstate) + = + fun rng -> + fun env1 -> + fun goals -> + fun imps -> + let env2 = tac_env env1 in + let ps = + let uu___ = + FStar_TypeChecker_Env.debug env2 + (FStar_Options.Other "TacVerbose") in + let uu___1 = FStar_Compiler_Util.psmap_empty () in + { + FStar_Tactics_Types.main_context = env2; + FStar_Tactics_Types.all_implicits = imps; + FStar_Tactics_Types.goals = goals; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = Prims.int_zero; + FStar_Tactics_Types.__dump = + FStar_Tactics_Printing.do_dump_proofstate; + 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.int_zero; + FStar_Tactics_Types.tac_verb_dbg = uu___; + FStar_Tactics_Types.local_state = uu___1; + FStar_Tactics_Types.urgency = Prims.int_one + } in + ps +let (proofstate_of_goal_ty : + FStar_Compiler_Range_Type.range -> + env -> + FStar_Syntax_Syntax.typ -> + (FStar_Tactics_Types.proofstate * FStar_Syntax_Syntax.term)) + = + fun rng -> + fun env1 -> + fun typ -> + let env2 = tac_env env1 in + let uu___ = FStar_Tactics_Types.goal_of_goal_ty env2 typ in + match uu___ with + | (g, g_u) -> + let ps = + proofstate_of_goals rng env2 [g] + g_u.FStar_TypeChecker_Common.implicits in + let uu___1 = FStar_Tactics_Types.goal_witness g in (ps, uu___1) +let (proofstate_of_all_implicits : + FStar_Compiler_Range_Type.range -> + env -> + implicits -> + (FStar_Tactics_Types.proofstate * FStar_Syntax_Syntax.term)) + = + fun rng -> + fun env1 -> + fun imps -> + let env2 = tac_env env1 in + let goals = + FStar_Compiler_List.map (FStar_Tactics_Types.goal_of_implicit env2) + imps in + let w = + let uu___ = FStar_Compiler_List.hd goals in + FStar_Tactics_Types.goal_witness uu___ in + let ps = + let uu___ = + FStar_TypeChecker_Env.debug env2 + (FStar_Options.Other "TacVerbose") in + let uu___1 = FStar_Compiler_Util.psmap_empty () in + { + FStar_Tactics_Types.main_context = env2; + FStar_Tactics_Types.all_implicits = imps; + FStar_Tactics_Types.goals = goals; + FStar_Tactics_Types.smt_goals = []; + FStar_Tactics_Types.depth = Prims.int_zero; + FStar_Tactics_Types.__dump = + FStar_Tactics_Printing.do_dump_proofstate; + 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.int_zero; + FStar_Tactics_Types.tac_verb_dbg = uu___; + FStar_Tactics_Types.local_state = uu___1; + FStar_Tactics_Types.urgency = Prims.int_one + } in + (ps, w) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_Derived.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Derived.ml new file mode 100644 index 00000000000..66a19686c78 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Derived.ml @@ -0,0 +1,5329 @@ +open Prims +let op_At : + 'uuuuu . + unit -> 'uuuuu Prims.list -> 'uuuuu Prims.list -> 'uuuuu Prims.list + = fun uu___ -> FStar_List_Tot_Base.op_At +let (name_of_bv : + FStar_Tactics_NamedView.bv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun bv -> + FStar_Tactics_Unseal.unseal + (FStar_Tactics_NamedView.inspect_bv bv).FStar_Reflection_V2_Data.ppname1 +let (bv_to_string : + FStar_Tactics_NamedView.bv -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun bv -> name_of_bv bv +let (name_of_binder : + FStar_Tactics_NamedView.binder -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun b -> FStar_Tactics_Unseal.unseal b.FStar_Tactics_NamedView.ppname +let (binder_to_string : + FStar_Tactics_NamedView.binder -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) (Prims.of_int (2)) (Prims.of_int (46)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) (Prims.of_int (2)) (Prims.of_int (46)) + (Prims.of_int (86))))) (Obj.magic (name_of_binder b)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) (Prims.of_int (21)) + (Prims.of_int (46)) (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" (Prims.of_int (590)) + (Prims.of_int (19)) (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) (Prims.of_int (28)) + (Prims.of_int (46)) (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) (Prims.of_int (19)) + (Prims.of_int (590)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) (Prims.of_int (51)) + (Prims.of_int (46)) (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) + (Prims.of_int (59)) + (Prims.of_int (46)) + (Prims.of_int (86))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (46)) + (Prims.of_int (59)) + (Prims.of_int (46)) + (Prims.of_int (80))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "prims.fst" + (Prims.of_int (590)) + (Prims.of_int (19)) + (Prims.of_int (590)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.term_to_string + b.FStar_Tactics_NamedView.sort)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat uu___1 ")")))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat "::(" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + Prims.strcat + (Prims.string_of_int + b.FStar_Tactics_NamedView.uniq) + uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> Prims.strcat "@@" uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> Prims.strcat uu___ uu___1)))) uu___) +let (binding_to_string : + FStar_Tactics_NamedView.binding -> + (Prims.string, unit) FStar_Tactics_Effect.tac_repr) + = fun b -> FStar_Tactics_Unseal.unseal b.FStar_Reflection_V2_Data.ppname3 +let (type_of_var : + FStar_Tactics_NamedView.namedv -> + (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) + = + fun x -> + FStar_Tactics_Unseal.unseal + (FStar_Tactics_NamedView.inspect_namedv x).FStar_Reflection_V2_Data.sort +let (type_of_binding : + FStar_Tactics_NamedView.binding -> FStar_Reflection_Types.typ) = + fun x -> x.FStar_Reflection_V2_Data.sort3 +exception Goal_not_trivial +let (uu___is_Goal_not_trivial : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | Goal_not_trivial -> true | uu___ -> false +let (goals : + unit -> + (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (59)) (Prims.of_int (42)) (Prims.of_int (59)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (59)) (Prims.of_int (33)) (Prims.of_int (59)) + (Prims.of_int (50))))) (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)) +let (smt_goals : + unit -> + (FStar_Tactics_Types.goal Prims.list, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (60)) (Prims.of_int (50)) (Prims.of_int (60)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (60)) (Prims.of_int (37)) (Prims.of_int (60)) + (Prims.of_int (58))))) (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.smt_goals_of uu___1)) +let fail : 'a . Prims.string -> ('a, Obj.t) FStar_Tactics_Effect.tac_repr = + fun m -> FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m) +let fail_silently : + 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = + fun m -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (68)) (Prims.of_int (4)) (Prims.of_int (68)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (69)) (Prims.of_int (4)) (Prims.of_int (69)) + (Prims.of_int (30))))) + (Obj.magic (FStar_Tactics_V2_Builtins.set_urgency Prims.int_zero)) + (fun uu___ -> + FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m)) +let (_cur_goal : + unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (73)) (Prims.of_int (10)) (Prims.of_int (73)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (73)) (Prims.of_int (4)) (Prims.of_int (75)) + (Prims.of_int (15))))) (Obj.magic (goals ())) + (fun uu___1 -> + match uu___1 with + | [] -> fail "no more goals" + | g::uu___2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___3 -> g)) +let (cur_env : + unit -> (FStar_Reflection_Types.env, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (78)) (Prims.of_int (36)) (Prims.of_int (78)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (78)) (Prims.of_int (27)) (Prims.of_int (78)) + (Prims.of_int (50))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_env uu___1)) +let (cur_goal : + unit -> (FStar_Reflection_Types.typ, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (81)) (Prims.of_int (38)) (Prims.of_int (81)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (81)) (Prims.of_int (28)) (Prims.of_int (81)) + (Prims.of_int (52))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_type uu___1)) +let (cur_witness : + unit -> (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (84)) (Prims.of_int (45)) (Prims.of_int (84)) + (Prims.of_int (59))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (84)) (Prims.of_int (32)) (Prims.of_int (84)) + (Prims.of_int (59))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goal_witness uu___1)) +let (cur_goal_safe : + unit -> (FStar_Tactics_Types.goal, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (91)) (Prims.of_int (9)) (Prims.of_int (91)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (91)) (Prims.of_int (3)) (Prims.of_int (92)) + (Prims.of_int (16))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (91)) (Prims.of_int (18)) + (Prims.of_int (91)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (91)) (Prims.of_int (9)) + (Prims.of_int (91)) (Prims.of_int (26))))) + (FStar_Tactics_Effect.get ()) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.goals_of uu___1)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> match uu___1 with | g::uu___3 -> g)) +let (cur_vars : + unit -> + (FStar_Tactics_NamedView.binding Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (95)) (Prims.of_int (16)) (Prims.of_int (95)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (95)) (Prims.of_int (4)) (Prims.of_int (95)) + (Prims.of_int (28))))) (Obj.magic (cur_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Reflection_V2_Builtins.vars_of_env uu___1)) +let with_policy : + 'a . + FStar_Tactics_Types.guard_policy -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun pol -> + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (99)) (Prims.of_int (18)) (Prims.of_int (99)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (100)) (Prims.of_int (4)) (Prims.of_int (103)) + (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_guard_policy ())) + (fun uu___ -> + (fun old_pol -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (100)) (Prims.of_int (4)) + (Prims.of_int (100)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (100)) (Prims.of_int (25)) + (Prims.of_int (103)) (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_guard_policy pol)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (101)) + (Prims.of_int (12)) + (Prims.of_int (101)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (102)) + (Prims.of_int (4)) + (Prims.of_int (103)) + (Prims.of_int (5))))) + (Obj.magic (f ())) + (fun uu___1 -> + (fun r -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (102)) + (Prims.of_int (4)) + (Prims.of_int (102)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (101)) + (Prims.of_int (8)) + (Prims.of_int (101)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_guard_policy + old_pol)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> r)))) uu___1))) + uu___))) uu___) +let (exact : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.SMT + (fun uu___ -> FStar_Tactics_V2_Builtins.t_exact true false t) +let (exact_with_ref : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.SMT + (fun uu___ -> FStar_Tactics_V2_Builtins.t_exact true true t) +let (trivial : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (117)) (Prims.of_int (2)) (Prims.of_int (117)) + (Prims.of_int (61))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (117)) (Prims.of_int (62)) (Prims.of_int (121)) + (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.iota; + FStar_Pervasives.zeta; + FStar_Pervasives.reify_; + FStar_Pervasives.delta; + FStar_Pervasives.primops; + FStar_Pervasives.simplify; + FStar_Pervasives.unmeta])) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (118)) (Prims.of_int (10)) + (Prims.of_int (118)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (119)) (Prims.of_int (2)) + (Prims.of_int (121)) (Prims.of_int (31))))) + (Obj.magic (cur_goal ())) + (fun uu___2 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (119)) (Prims.of_int (8)) + (Prims.of_int (119)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (119)) (Prims.of_int (2)) + (Prims.of_int (121)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula g)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V2_Formula.True_ -> + Obj.magic + (Obj.repr + (exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)))) + | uu___3 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + Goal_not_trivial))) uu___2))) + uu___2))) uu___1) +let (dismiss : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (133)) (Prims.of_int (10)) (Prims.of_int (133)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (133)) (Prims.of_int (4)) (Prims.of_int (135)) + (Prims.of_int (27))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | [] -> Obj.magic (Obj.repr (fail "dismiss: no more goals")) + | uu___2::gs -> + Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.set_goals gs))) + uu___1) +let (flip : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (139)) (Prims.of_int (13)) (Prims.of_int (139)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (140)) (Prims.of_int (4)) (Prims.of_int (142)) + (Prims.of_int (42))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun gs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (140)) (Prims.of_int (10)) + (Prims.of_int (140)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (140)) (Prims.of_int (4)) + (Prims.of_int (142)) (Prims.of_int (42))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | [] -> + Obj.magic + (Obj.repr (fail "flip: less than two goals")) + | uu___2::[] -> + Obj.magic + (Obj.repr (fail "flip: less than two goals")) + | g1::g2::gs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Builtins.set_goals (g2 :: + g1 :: gs1)))) uu___1))) uu___1) +let (qed : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (146)) (Prims.of_int (10)) (Prims.of_int (146)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (146)) (Prims.of_int (4)) (Prims.of_int (148)) + (Prims.of_int (32))))) (Obj.magic (goals ())) + (fun uu___1 -> + match uu___1 with + | [] -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()) + | uu___2 -> fail "qed: not done!") +let (debug : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun m -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (154)) (Prims.of_int (7)) (Prims.of_int (154)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (154)) (Prims.of_int (4)) (Prims.of_int (154)) + (Prims.of_int (32))))) + (Obj.magic (FStar_Tactics_V2_Builtins.debugging ())) + (fun uu___ -> + (fun uu___ -> + if uu___ + then Obj.magic (Obj.repr (FStar_Tactics_V2_Builtins.print m)) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())))) + uu___) +let (smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (10)) (Prims.of_int (161)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (4)) (Prims.of_int (167)) + (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (10)) + (Prims.of_int (161)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (10)) + (Prims.of_int (161)) (Prims.of_int (32))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (20)) + (Prims.of_int (161)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (161)) (Prims.of_int (10)) + (Prims.of_int (161)) (Prims.of_int (32))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | ([], uu___2) -> + Obj.magic (Obj.repr (fail "smt: no active goals")) + | (g::gs, gs') -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (165)) (Prims.of_int (8)) + (Prims.of_int (165)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (166)) (Prims.of_int (8)) + (Prims.of_int (166)) (Prims.of_int (32))))) + (Obj.magic (FStar_Tactics_V2_Builtins.set_goals gs)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals (g + :: gs'))) uu___2)))) uu___1) +let (idtac : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun uu___ -> + Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + uu___ +let (later : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (173)) (Prims.of_int (10)) (Prims.of_int (173)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (173)) (Prims.of_int (4)) (Prims.of_int (175)) + (Prims.of_int (33))))) (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | g::gs -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Builtins.set_goals ((op_At ()) gs [g]))) + | uu___2 -> Obj.magic (Obj.repr (fail "later: no goals"))) uu___1) +let (apply : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply true false false t +let (apply_noinst : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply true true false t +let (apply_lemma : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply_lemma false false t +let (trefl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V2_Builtins.t_trefl false +let (trefl_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V2_Builtins.t_trefl true +let (commute_applied_match : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> FStar_Tactics_V2_Builtins.t_commute_applied_match () +let (apply_lemma_noinst : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply_lemma true false t +let (apply_lemma_rw : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply_lemma false true t +let (apply_raw : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun t -> FStar_Tactics_V2_Builtins.t_apply false false false t +let (exact_guard : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + with_policy FStar_Tactics_Types.Goal + (fun uu___ -> FStar_Tactics_V2_Builtins.t_exact true false t) +let (t_pointwise : + FStar_Tactics_Types.direction -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun d -> + fun tau -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (234)) (Prims.of_int (4)) (Prims.of_int (234)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (235)) (Prims.of_int (4)) (Prims.of_int (239)) + (Prims.of_int (24))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + fun uu___ -> + (fun uu___ -> + fun t -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (true, FStar_Tactics_Types.Continue)))) + uu___1 uu___)) + (fun uu___ -> + (fun ctrl -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (237)) (Prims.of_int (4)) + (Prims.of_int (237)) (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (239)) (Prims.of_int (2)) + (Prims.of_int (239)) (Prims.of_int (24))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> fun uu___1 -> tau ())) + (fun uu___ -> + (fun rw -> + Obj.magic + (FStar_Tactics_V2_Builtins.ctrl_rewrite d ctrl rw)) + uu___))) uu___) +let (topdown_rewrite : + (FStar_Tactics_NamedView.term -> + ((Prims.bool * Prims.int), unit) FStar_Tactics_Effect.tac_repr) + -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun ctrl -> + fun rw -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (263)) (Prims.of_int (49)) + (Prims.of_int (272)) (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (274)) (Prims.of_int (4)) (Prims.of_int (274)) + (Prims.of_int (33))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (264)) (Prims.of_int (17)) + (Prims.of_int (264)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (263)) (Prims.of_int (49)) + (Prims.of_int (272)) (Prims.of_int (10))))) + (Obj.magic (ctrl t)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (b, i) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (266)) + (Prims.of_int (8)) + (Prims.of_int (270)) + (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (272)) + (Prims.of_int (6)) + (Prims.of_int (272)) + (Prims.of_int (10))))) + (match i with + | uu___2 when uu___2 = Prims.int_zero -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Continue) + | uu___2 when uu___2 = Prims.int_one -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Skip) + | uu___2 when uu___2 = (Prims.of_int (2)) + -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + FStar_Tactics_Types.Abort) + | uu___2 -> + fail + "topdown_rewrite: bad value from ctrl") + (fun f -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (b, f))))) uu___1))) + (fun uu___ -> + (fun ctrl' -> + Obj.magic + (FStar_Tactics_V2_Builtins.ctrl_rewrite + FStar_Tactics_Types.TopDown ctrl' rw)) uu___) +let (pointwise : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun tau -> t_pointwise FStar_Tactics_Types.BottomUp tau +let (pointwise' : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun tau -> t_pointwise FStar_Tactics_Types.TopDown tau +let (cur_module : + unit -> (FStar_Reflection_Types.name, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (280)) (Prims.of_int (13)) (Prims.of_int (280)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (280)) (Prims.of_int (4)) (Prims.of_int (280)) + (Prims.of_int (25))))) + (Obj.magic (FStar_Tactics_V2_Builtins.top_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Reflection_V2_Builtins.moduleof uu___1)) +let (open_modules : + unit -> + (FStar_Reflection_Types.name Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (283)) (Prims.of_int (21)) (Prims.of_int (283)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (283)) (Prims.of_int (4)) (Prims.of_int (283)) + (Prims.of_int (33))))) + (Obj.magic (FStar_Tactics_V2_Builtins.top_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V2_Builtins.env_open_modules uu___1)) +let (fresh_uvar : + FStar_Reflection_Types.typ FStar_Pervasives_Native.option -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun o -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (286)) (Prims.of_int (12)) (Prims.of_int (286)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (287)) (Prims.of_int (4)) (Prims.of_int (287)) + (Prims.of_int (16))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V2_Builtins.uvar_env e o)) uu___) +let (unify : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (290)) (Prims.of_int (12)) + (Prims.of_int (290)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (291)) (Prims.of_int (4)) (Prims.of_int (291)) + (Prims.of_int (21))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V2_Builtins.unify_env e t1 t2)) + uu___) +let (unify_guard : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (294)) (Prims.of_int (12)) + (Prims.of_int (294)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (295)) (Prims.of_int (4)) (Prims.of_int (295)) + (Prims.of_int (27))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> + Obj.magic (FStar_Tactics_V2_Builtins.unify_guard_env e t1 t2)) + uu___) +let (tmatch : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (298)) (Prims.of_int (12)) + (Prims.of_int (298)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (299)) (Prims.of_int (4)) (Prims.of_int (299)) + (Prims.of_int (21))))) (Obj.magic (cur_env ())) + (fun uu___ -> + (fun e -> Obj.magic (FStar_Tactics_V2_Builtins.match_env e t1 t2)) + uu___) +let divide : + 'a 'b . + Prims.int -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> + (('a * 'b), unit) FStar_Tactics_Effect.tac_repr + = + fun n -> + fun l -> + fun r -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (305)) (Prims.of_int (4)) + (Prims.of_int (306)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (306)) (Prims.of_int (32)) + (Prims.of_int (319)) (Prims.of_int (10))))) + (if n < Prims.int_zero + then fail "divide: negative n" + else FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) (Prims.of_int (18)) + (Prims.of_int (307)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (306)) (Prims.of_int (32)) + (Prims.of_int (319)) (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) (Prims.of_int (18)) + (Prims.of_int (307)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) (Prims.of_int (18)) + (Prims.of_int (307)) (Prims.of_int (40))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (28)) + (Prims.of_int (307)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (18)) + (Prims.of_int (307)) + (Prims.of_int (40))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (308)) + (Prims.of_int (19)) + (Prims.of_int (308)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (307)) + (Prims.of_int (43)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_List_Tot_Base.splitAt n gs)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | (gs1, gs2) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (310)) + (Prims.of_int (4)) + (Prims.of_int (310)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (310)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + gs1)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (310)) + (Prims.of_int (19)) + (Prims.of_int (310)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + ( + FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (310)) + (Prims.of_int (36)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + [])) + (fun uu___4 -> + (fun uu___4 + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (311)) + (Prims.of_int (12)) + (Prims.of_int (311)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (311)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (l ())) + (fun + uu___5 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (312)) + (Prims.of_int (20)) + (Prims.of_int (312)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (311)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (312)) + (Prims.of_int (20)) + (Prims.of_int (312)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (312)) + (Prims.of_int (20)) + (Prims.of_int (312)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun + uu___5 -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (312)) + (Prims.of_int (30)) + (Prims.of_int (312)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (312)) + (Prims.of_int (20)) + (Prims.of_int (312)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___6 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___7 -> + (uu___5, + uu___6))))) + uu___5))) + (fun + uu___5 -> + (fun + uu___5 -> + match uu___5 + with + | + (gsl, + sgsl) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (314)) + (Prims.of_int (4)) + (Prims.of_int (314)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (314)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + gs2)) + (fun + uu___6 -> + (fun + uu___6 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (314)) + (Prims.of_int (19)) + (Prims.of_int (314)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (314)) + (Prims.of_int (36)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + [])) + (fun + uu___7 -> + (fun + uu___7 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (315)) + (Prims.of_int (12)) + (Prims.of_int (315)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (315)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (r ())) + (fun + uu___8 -> + (fun y -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (316)) + (Prims.of_int (20)) + (Prims.of_int (316)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (315)) + (Prims.of_int (19)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (316)) + (Prims.of_int (20)) + (Prims.of_int (316)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (316)) + (Prims.of_int (20)) + (Prims.of_int (316)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun + uu___8 -> + (fun + uu___8 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (316)) + (Prims.of_int (30)) + (Prims.of_int (316)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (316)) + (Prims.of_int (20)) + (Prims.of_int (316)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___9 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___10 + -> + (uu___8, + uu___9))))) + uu___8))) + (fun + uu___8 -> + (fun + uu___8 -> + match uu___8 + with + | + (gsr, + sgsr) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (318)) + (Prims.of_int (4)) + (Prims.of_int (318)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (318)) + (Prims.of_int (27)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + ((op_At + ()) gsl + gsr))) + (fun + uu___9 -> + (fun + uu___9 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (318)) + (Prims.of_int (27)) + (Prims.of_int (318)) + (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (319)) + (Prims.of_int (4)) + (Prims.of_int (319)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + ((op_At + ()) sgs + ((op_At + ()) sgsl + sgsr)))) + (fun + uu___10 + -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___11 + -> (x, y))))) + uu___9))) + uu___8))) + uu___8))) + uu___7))) + uu___6))) + uu___5))) + uu___5))) + uu___4))) + uu___3))) uu___2))) + uu___1))) uu___) +let rec (iseq : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun ts -> + match ts with + | t::ts1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (323)) (Prims.of_int (23)) + (Prims.of_int (323)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (323)) (Prims.of_int (57)) + (Prims.of_int (323)) (Prims.of_int (59))))) + (Obj.magic + (divide Prims.int_one t (fun uu___ -> iseq ts1))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())))) + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ())))) + uu___ +let focus : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (329)) (Prims.of_int (10)) (Prims.of_int (329)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (329)) (Prims.of_int (4)) (Prims.of_int (336)) + (Prims.of_int (9))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "focus: no goals")) + | g::gs -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (332)) (Prims.of_int (18)) + (Prims.of_int (332)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (333)) (Prims.of_int (8)) + (Prims.of_int (336)) (Prims.of_int (9))))) + (Obj.magic (smt_goals ())) + (fun uu___1 -> + (fun sgs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (333)) + (Prims.of_int (8)) + (Prims.of_int (333)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (333)) + (Prims.of_int (23)) + (Prims.of_int (336)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + [g])) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (333)) + (Prims.of_int (23)) + (Prims.of_int (333)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (333)) + (Prims.of_int (40)) + (Prims.of_int (336)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (334)) + (Prims.of_int (16)) + (Prims.of_int (334)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (8)) + (Prims.of_int (336)) + (Prims.of_int (9))))) + (Obj.magic (t ())) + (fun uu___3 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (8)) + (Prims.of_int (335)) + (Prims.of_int (33))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (35)) + (Prims.of_int (336)) + (Prims.of_int (9))))) + ( + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (18)) + (Prims.of_int (335)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (8)) + (Prims.of_int (335)) + (Prims.of_int (33))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (19)) + (Prims.of_int (335)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (18)) + (Prims.of_int (335)) + (Prims.of_int (33))))) + (Obj.magic + (goals ())) + (fun + uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___4 -> + (op_At ()) + uu___3 gs)))) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + uu___3)) + uu___3))) + ( + fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (35)) + (Prims.of_int (335)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (334)) + (Prims.of_int (12)) + (Prims.of_int (334)) + (Prims.of_int (13))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (49)) + (Prims.of_int (335)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (35)) + (Prims.of_int (335)) + (Prims.of_int (69))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (50)) + (Prims.of_int (335)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (335)) + (Prims.of_int (49)) + (Prims.of_int (335)) + (Prims.of_int (69))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + (op_At ()) + uu___4 + sgs)))) + (fun + uu___4 -> + (fun + uu___4 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + uu___4)) + uu___4))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + x)))) + uu___3))) + uu___3))) + uu___2))) uu___1))) uu___1)))) + uu___) +let (dump1 : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun m -> focus (fun uu___ -> FStar_Tactics_V2_Builtins.dump m) +let rec mapAll : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (10)) (Prims.of_int (342)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (342)) (Prims.of_int (4)) (Prims.of_int (344)) + (Prims.of_int (66))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> []))) + | uu___1::uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (344)) (Prims.of_int (27)) + (Prims.of_int (344)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (344)) (Prims.of_int (13)) + (Prims.of_int (344)) (Prims.of_int (66))))) + (Obj.magic + (divide Prims.int_one t (fun uu___3 -> mapAll t))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> + match uu___3 with | (h, t1) -> h :: t1))))) + uu___) +let rec (iterAll : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (348)) (Prims.of_int (10)) (Prims.of_int (348)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (348)) (Prims.of_int (4)) (Prims.of_int (350)) + (Prims.of_int (60))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + | uu___1::uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (350)) (Prims.of_int (22)) + (Prims.of_int (350)) (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (350)) (Prims.of_int (58)) + (Prims.of_int (350)) (Prims.of_int (60))))) + (Obj.magic + (divide Prims.int_one t (fun uu___3 -> iterAll t))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ()))))) uu___) +let (iterAllSMT : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (353)) (Prims.of_int (18)) (Prims.of_int (353)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (352)) (Prims.of_int (50)) (Prims.of_int (359)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (353)) (Prims.of_int (18)) + (Prims.of_int (353)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (353)) (Prims.of_int (18)) + (Prims.of_int (353)) (Prims.of_int (40))))) + (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (353)) (Prims.of_int (28)) + (Prims.of_int (353)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (353)) (Prims.of_int (18)) + (Prims.of_int (353)) (Prims.of_int (40))))) + (Obj.magic (smt_goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (uu___, uu___1))))) uu___))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (354)) (Prims.of_int (4)) + (Prims.of_int (354)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (355)) (Prims.of_int (4)) + (Prims.of_int (359)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V2_Builtins.set_goals sgs)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (355)) + (Prims.of_int (4)) + (Prims.of_int (355)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (356)) + (Prims.of_int (4)) + (Prims.of_int (359)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (356)) + (Prims.of_int (4)) + (Prims.of_int (356)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (356)) + (Prims.of_int (14)) + (Prims.of_int (359)) + (Prims.of_int (28))))) + (Obj.magic (iterAll t)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (357)) + (Prims.of_int (20)) + (Prims.of_int (357)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (356)) + (Prims.of_int (14)) + (Prims.of_int (359)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (357)) + (Prims.of_int (20)) + (Prims.of_int (357)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (357)) + (Prims.of_int (20)) + (Prims.of_int (357)) + (Prims.of_int (42))))) + (Obj.magic + (goals ())) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + ( + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (357)) + (Prims.of_int (30)) + (Prims.of_int (357)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (357)) + (Prims.of_int (20)) + (Prims.of_int (357)) + (Prims.of_int (42))))) + (Obj.magic + (smt_goals + ())) + (fun + uu___5 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___6 -> + (uu___4, + uu___5))))) + uu___4))) + (fun uu___4 -> + (fun uu___4 -> + match uu___4 with + | (gs', sgs') -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (358)) + (Prims.of_int (4)) + (Prims.of_int (358)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (359)) + (Prims.of_int (4)) + (Prims.of_int (359)) + (Prims.of_int (28))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals + gs)) + (fun + uu___5 -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + ((op_At + ()) gs' + sgs'))) + uu___5))) + uu___4))) uu___3))) + uu___2))) uu___1))) uu___) +let (seq : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun f -> + fun g -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (365)) (Prims.of_int (21)) + (Prims.of_int (365)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (365)) (Prims.of_int (27)) + (Prims.of_int (365)) (Prims.of_int (36))))) + (Obj.magic (f ())) + (fun uu___1 -> (fun uu___1 -> Obj.magic (iterAll g)) uu___1)) +let (exact_args : + FStar_Reflection_V2_Data.aqualv Prims.list -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun qs -> + fun t -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (369)) (Prims.of_int (16)) + (Prims.of_int (369)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (369)) (Prims.of_int (42)) + (Prims.of_int (375)) (Prims.of_int (44))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_List_Tot_Base.length qs)) + (fun uu___1 -> + (fun n -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (370)) (Prims.of_int (18)) + (Prims.of_int (370)) (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (370)) (Prims.of_int (58)) + (Prims.of_int (375)) (Prims.of_int (44))))) + (Obj.magic + (FStar_Tactics_Util.repeatn n + (fun uu___1 -> + fresh_uvar FStar_Pervasives_Native.None))) + (fun uu___1 -> + (fun uvs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (371)) + (Prims.of_int (17)) + (Prims.of_int (371)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (372)) + (Prims.of_int (8)) + (Prims.of_int (375)) + (Prims.of_int (44))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (371)) + (Prims.of_int (26)) + (Prims.of_int (371)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (371)) + (Prims.of_int (17)) + (Prims.of_int (371)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Util.zip uvs qs)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V2_Derived.mk_app + t uu___1)))) + (fun uu___1 -> + (fun t' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (372)) + (Prims.of_int (8)) + (Prims.of_int (372)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (373)) + (Prims.of_int (8)) + (Prims.of_int (375)) + (Prims.of_int (44))))) + (Obj.magic (exact t')) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Util.iter + (fun uu___2 -> + (fun uv -> + if + FStar_Reflection_V2_Derived.is_uvar + uv + then + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Builtins.unshelve + uv)) + else + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun + uu___3 -> + ())))) + uu___2) + (FStar_List_Tot_Base.rev + uvs))) uu___1))) + uu___1))) uu___1))) uu___1)) +let (exact_n : + Prims.int -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun n -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (379)) (Prims.of_int (15)) + (Prims.of_int (379)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (379)) (Prims.of_int (4)) (Prims.of_int (379)) + (Prims.of_int (51))))) + (Obj.magic + (FStar_Tactics_Util.repeatn n + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Reflection_V2_Data.Q_Explicit))) + uu___))) + (fun uu___ -> (fun uu___ -> Obj.magic (exact_args uu___ t)) uu___) +let (ngoals : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (382)) (Prims.of_int (47)) (Prims.of_int (382)) + (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (382)) (Prims.of_int (26)) (Prims.of_int (382)) + (Prims.of_int (57))))) (Obj.magic (goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) +let (ngoals_smt : unit -> (Prims.int, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (385)) (Prims.of_int (51)) (Prims.of_int (385)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (385)) (Prims.of_int (30)) (Prims.of_int (385)) + (Prims.of_int (65))))) (Obj.magic (smt_goals ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_List_Tot_Base.length uu___1)) +let (fresh_namedv_named : + Prims.string -> + (FStar_Tactics_NamedView.namedv, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (389)) (Prims.of_int (10)) (Prims.of_int (389)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (390)) (Prims.of_int (2)) (Prims.of_int (394)) + (Prims.of_int (4))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack_namedv + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown)); + FStar_Reflection_V2_Data.ppname = (FStar_Sealed.seal s) + })) +let (fresh_namedv : + unit -> + (FStar_Tactics_NamedView.namedv, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (399)) (Prims.of_int (10)) (Prims.of_int (399)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (400)) (Prims.of_int (2)) (Prims.of_int (404)) + (Prims.of_int (4))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.pack_namedv + { + FStar_Reflection_V2_Data.uniq = n; + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal + (FStar_Reflection_V2_Builtins.pack_ln + FStar_Reflection_V2_Data.Tv_Unknown)); + FStar_Reflection_V2_Data.ppname = + (FStar_Sealed.seal + (Prims.strcat "x" (Prims.string_of_int n))) + })) +let (fresh_binder_named : + Prims.string -> + FStar_Reflection_Types.typ -> + (FStar_Tactics_NamedView.simple_binder, unit) + FStar_Tactics_Effect.tac_repr) + = + fun s -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (407)) (Prims.of_int (10)) + (Prims.of_int (407)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (409)) (Prims.of_int (4)) (Prims.of_int (413)) + (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + FStar_Tactics_NamedView.uniq = n; + FStar_Tactics_NamedView.ppname = (FStar_Sealed.seal s); + FStar_Tactics_NamedView.sort = t; + FStar_Tactics_NamedView.qual = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Tactics_NamedView.attrs = [] + })) +let (fresh_binder : + FStar_Reflection_Types.typ -> + (FStar_Tactics_NamedView.simple_binder, unit) + FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (417)) (Prims.of_int (10)) (Prims.of_int (417)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (419)) (Prims.of_int (4)) (Prims.of_int (423)) + (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + FStar_Tactics_NamedView.uniq = n; + FStar_Tactics_NamedView.ppname = + (FStar_Sealed.seal + (Prims.strcat "x" (Prims.string_of_int n))); + FStar_Tactics_NamedView.sort = t; + FStar_Tactics_NamedView.qual = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Tactics_NamedView.attrs = [] + })) +let (fresh_implicit_binder : + FStar_Reflection_Types.typ -> + (FStar_Tactics_NamedView.binder, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (427)) (Prims.of_int (10)) (Prims.of_int (427)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (429)) (Prims.of_int (4)) (Prims.of_int (433)) + (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V2_Builtins.fresh ())) + (fun n -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + FStar_Tactics_NamedView.uniq = n; + FStar_Tactics_NamedView.ppname = + (FStar_Sealed.seal + (Prims.strcat "x" (Prims.string_of_int n))); + FStar_Tactics_NamedView.sort = t; + FStar_Tactics_NamedView.qual = + FStar_Reflection_V2_Data.Q_Implicit; + FStar_Tactics_NamedView.attrs = [] + })) +let (guard : Prims.bool -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + (fun b -> + if Prims.op_Negation b + then Obj.magic (fail "guard failed") + else Obj.magic (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ()))) + uu___ +let try_with : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (Prims.exn -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + fun h -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (447)) (Prims.of_int (10)) + (Prims.of_int (447)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (447)) (Prims.of_int (4)) (Prims.of_int (449)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V2_Builtins.catch f)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives.Inl e -> Obj.magic (Obj.repr (h e)) + | FStar_Pervasives.Inr x -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) + uu___) +let trytac : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a FStar_Pervasives_Native.option, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (452)) (Prims.of_int (13)) + (Prims.of_int (452)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (452)) (Prims.of_int (8)) + (Prims.of_int (452)) (Prims.of_int (19))))) + (Obj.magic (t ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Pervasives_Native.Some uu___1))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Pervasives_Native.None))) uu___) +let or_else : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t1 -> + fun t2 -> + try_with (fun uu___ -> match () with | () -> t1 ()) + (fun uu___ -> t2 ()) +let op_Less_Bar_Greater : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + unit -> ('a, unit) FStar_Tactics_Effect.tac_repr + = fun t1 -> fun t2 -> fun uu___ -> or_else t1 t2 +let first : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) Prims.list -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun ts -> + FStar_List_Tot_Base.fold_right op_Less_Bar_Greater ts + (fun uu___ -> (fun uu___ -> Obj.magic (fail "no tactics to try")) uu___) + () +let rec repeat : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (469)) (Prims.of_int (10)) (Prims.of_int (469)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (469)) (Prims.of_int (4)) (Prims.of_int (471)) + (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V2_Builtins.catch t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives.Inl uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> []))) + | FStar_Pervasives.Inr x -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (471)) (Prims.of_int (20)) + (Prims.of_int (471)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (471)) (Prims.of_int (15)) + (Prims.of_int (471)) (Prims.of_int (28))))) + (Obj.magic (repeat t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> x :: uu___1))))) uu___) +let repeat1 : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (474)) (Prims.of_int (4)) (Prims.of_int (474)) + (Prims.of_int (8))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (474)) (Prims.of_int (4)) (Prims.of_int (474)) + (Prims.of_int (20))))) (Obj.magic (t ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (474)) (Prims.of_int (12)) + (Prims.of_int (474)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (474)) (Prims.of_int (4)) + (Prims.of_int (474)) (Prims.of_int (20))))) + (Obj.magic (repeat t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> uu___ :: uu___1)))) uu___) +let repeat' : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (477)) (Prims.of_int (12)) (Prims.of_int (477)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (477)) (Prims.of_int (24)) (Prims.of_int (477)) + (Prims.of_int (26))))) (Obj.magic (repeat f)) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (norm_term : + FStar_Pervasives.norm_step Prims.list -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (481)) (Prims.of_int (8)) (Prims.of_int (482)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (484)) (Prims.of_int (4)) (Prims.of_int (484)) + (Prims.of_int (23))))) + (Obj.magic + (try_with (fun uu___ -> match () with | () -> cur_env ()) + (fun uu___ -> FStar_Tactics_V2_Builtins.top_env ()))) + (fun uu___ -> + (fun e -> + Obj.magic (FStar_Tactics_V2_Builtins.norm_term_env e s t)) + uu___) +let (join_all_smt_goals : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (16)) (Prims.of_int (491)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (490)) (Prims.of_int (27)) (Prims.of_int (497)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (16)) + (Prims.of_int (491)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (16)) + (Prims.of_int (491)) (Prims.of_int (38))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (26)) + (Prims.of_int (491)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (491)) (Prims.of_int (16)) + (Prims.of_int (491)) (Prims.of_int (38))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (gs, sgs) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (492)) (Prims.of_int (2)) + (Prims.of_int (492)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (493)) (Prims.of_int (2)) + (Prims.of_int (497)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V2_Builtins.set_smt_goals [])) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (493)) + (Prims.of_int (2)) + (Prims.of_int (493)) + (Prims.of_int (15))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (494)) + (Prims.of_int (2)) + (Prims.of_int (497)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.set_goals sgs)) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (494)) + (Prims.of_int (2)) + (Prims.of_int (494)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (494)) + (Prims.of_int (15)) + (Prims.of_int (497)) + (Prims.of_int (20))))) + (Obj.magic + (repeat' + FStar_Tactics_V2_Builtins.join)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (495)) + (Prims.of_int (13)) + (Prims.of_int (495)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (496)) + (Prims.of_int (2)) + (Prims.of_int (497)) + (Prims.of_int (20))))) + (Obj.magic (goals ())) + (fun uu___5 -> + (fun sgs' -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (496)) + (Prims.of_int (2)) + (Prims.of_int (496)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + ( + Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (497)) + (Prims.of_int (2)) + (Prims.of_int (497)) + (Prims.of_int (20))))) + (Obj.magic + ( + FStar_Tactics_V2_Builtins.set_goals + gs)) + (fun uu___5 + -> + (fun + uu___5 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_smt_goals + sgs')) + uu___5))) + uu___5))) uu___4))) + uu___3))) uu___2))) uu___1) +let discard : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun tau -> + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (500)) (Prims.of_int (22)) + (Prims.of_int (500)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (500)) (Prims.of_int (32)) + (Prims.of_int (500)) (Prims.of_int (34))))) + (Obj.magic (tau ())) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let rec repeatseq : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (504)) (Prims.of_int (12)) (Prims.of_int (504)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (504)) (Prims.of_int (86)) (Prims.of_int (504)) + (Prims.of_int (88))))) + (Obj.magic + (trytac + (fun uu___ -> + seq (discard t) (discard (fun uu___1 -> repeatseq t))))) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (tadmit : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Builtins.tadmit_t + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const FStar_Reflection_V2_Data.C_Unit)) +let (admit1 : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> tadmit () +let (admit_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (512)) (Prims.of_int (12)) (Prims.of_int (512)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (513)) (Prims.of_int (4)) (Prims.of_int (513)) + (Prims.of_int (6))))) (Obj.magic (repeat tadmit)) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (is_guard : unit -> (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (517)) (Prims.of_int (27)) (Prims.of_int (517)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (517)) (Prims.of_int (4)) (Prims.of_int (517)) + (Prims.of_int (41))))) (Obj.magic (_cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Tactics_Types.is_guard uu___1)) +let (skip_guard : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (520)) (Prims.of_int (7)) (Prims.of_int (520)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (520)) (Prims.of_int (4)) (Prims.of_int (522)) + (Prims.of_int (16))))) (Obj.magic (is_guard ())) + (fun uu___1 -> + (fun uu___1 -> + if uu___1 + then Obj.magic (Obj.repr (smt ())) + else Obj.magic (Obj.repr (fail ""))) uu___1) +let (guards_to_smt : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (525)) (Prims.of_int (12)) (Prims.of_int (525)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (526)) (Prims.of_int (4)) (Prims.of_int (526)) + (Prims.of_int (6))))) (Obj.magic (repeat skip_guard)) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (simpl : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.simplify; FStar_Pervasives.primops] +let (whnf : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.weak; + FStar_Pervasives.hnf; + FStar_Pervasives.primops; + FStar_Pervasives.delta] +let (compute : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.primops; + FStar_Pervasives.iota; + FStar_Pervasives.delta; + FStar_Pervasives.zeta] +let (intros : + unit -> + (FStar_Tactics_NamedView.binding Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> repeat FStar_Tactics_V2_Builtins.intro +let (intros' : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (534)) (Prims.of_int (36)) (Prims.of_int (534)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (534)) (Prims.of_int (49)) (Prims.of_int (534)) + (Prims.of_int (51))))) (Obj.magic (intros ())) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let (destruct : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (535)) (Prims.of_int (37)) (Prims.of_int (535)) + (Prims.of_int (50))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (535)) (Prims.of_int (54)) (Prims.of_int (535)) + (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V2_Builtins.t_destruct tm)) + (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> ())) +let (destruct_intros : + FStar_Reflection_Types.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + seq + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (536)) (Prims.of_int (59)) + (Prims.of_int (536)) (Prims.of_int (72))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (536)) (Prims.of_int (76)) + (Prims.of_int (536)) (Prims.of_int (78))))) + (Obj.magic (FStar_Tactics_V2_Builtins.t_destruct tm)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))) intros' +let __cut : 'a 'b . ('a -> 'b) -> 'a -> 'b = fun f -> fun x -> f x +let (tcut : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (542)) (Prims.of_int (12)) (Prims.of_int (542)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (542)) (Prims.of_int (26)) (Prims.of_int (545)) + (Prims.of_int (12))))) (Obj.magic (cur_goal ())) + (fun uu___ -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (543)) (Prims.of_int (13)) + (Prims.of_int (543)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (544)) (Prims.of_int (4)) + (Prims.of_int (545)) (Prims.of_int (12))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Derived"; + "__cut"]))) [t; g])) + (fun uu___ -> + (fun tt -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (544)) (Prims.of_int (4)) + (Prims.of_int (544)) (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (545)) (Prims.of_int (4)) + (Prims.of_int (545)) (Prims.of_int (12))))) + (Obj.magic (apply tt)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_V2_Builtins.intro ())) + uu___))) uu___))) uu___) +let (pose : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (548)) (Prims.of_int (4)) (Prims.of_int (548)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (549)) (Prims.of_int (4)) (Prims.of_int (551)) + (Prims.of_int (12))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Derived"; "__cut"]))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (549)) (Prims.of_int (4)) + (Prims.of_int (549)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (550)) (Prims.of_int (4)) + (Prims.of_int (551)) (Prims.of_int (12))))) + (Obj.magic (flip ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (550)) (Prims.of_int (4)) + (Prims.of_int (550)) (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (551)) (Prims.of_int (4)) + (Prims.of_int (551)) (Prims.of_int (12))))) + (Obj.magic (exact t)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.intro ())) + uu___2))) uu___1))) uu___) +let (intro_as : + Prims.string -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (554)) (Prims.of_int (12)) (Prims.of_int (554)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (555)) (Prims.of_int (4)) (Prims.of_int (555)) + (Prims.of_int (17))))) + (Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V2_Builtins.rename_to b s)) uu___) +let (pose_as : + Prims.string -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (558)) (Prims.of_int (12)) + (Prims.of_int (558)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (559)) (Prims.of_int (4)) (Prims.of_int (559)) + (Prims.of_int (17))))) (Obj.magic (pose t)) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V2_Builtins.rename_to b s)) + uu___) +let for_each_binding : + 'a . + (FStar_Tactics_NamedView.binding -> + ('a, unit) FStar_Tactics_Effect.tac_repr) + -> ('a Prims.list, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (562)) (Prims.of_int (10)) (Prims.of_int (562)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (562)) (Prims.of_int (4)) (Prims.of_int (562)) + (Prims.of_int (23))))) (Obj.magic (cur_vars ())) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_Util.map f uu___)) uu___) +let rec (revert_all : + FStar_Tactics_NamedView.binding Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | uu___::tl -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (567)) (Prims.of_int (15)) + (Prims.of_int (567)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (568)) (Prims.of_int (13)) + (Prims.of_int (568)) (Prims.of_int (26))))) + (Obj.magic (FStar_Tactics_V2_Builtins.revert ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (revert_all tl)) uu___1)))) + uu___ +let (binder_sort : + FStar_Tactics_NamedView.binder -> FStar_Reflection_Types.typ) = + fun b -> b.FStar_Tactics_NamedView.sort +let rec (__assumption_aux : + FStar_Tactics_NamedView.binding Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun xs -> + match xs with + | [] -> Obj.magic (Obj.repr (fail "no assumption matches goal")) + | b::bs -> + Obj.magic + (Obj.repr + (try_with + (fun uu___ -> + match () with + | () -> + exact + (FStar_Tactics_V2_SyntaxCoercions.binding_to_term + b)) + (fun uu___ -> + try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (580)) + (Prims.of_int (13)) + (Prims.of_int (580)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (581)) + (Prims.of_int (13)) + (Prims.of_int (581)) + (Prims.of_int (20))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Squash"; + "return_squash"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (exact + (FStar_Tactics_V2_SyntaxCoercions.binding_to_term + b))) uu___2)) + (fun uu___1 -> __assumption_aux bs))))) uu___ +let (assumption : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (585)) (Prims.of_int (21)) (Prims.of_int (585)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (585)) (Prims.of_int (4)) (Prims.of_int (585)) + (Prims.of_int (34))))) (Obj.magic (cur_vars ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (__assumption_aux uu___1)) uu___1) +let (destruct_equality_implication : + FStar_Tactics_NamedView.term -> + ((FStar_Reflection_V2_Formula.formula * FStar_Tactics_NamedView.term) + FStar_Pervasives_Native.option, + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (588)) (Prims.of_int (10)) (Prims.of_int (588)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (588)) (Prims.of_int (4)) (Prims.of_int (595)) + (Prims.of_int (15))))) + (Obj.magic (FStar_Reflection_V2_Formula.term_as_formula t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V2_Formula.Implies (lhs, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (590)) (Prims.of_int (18)) + (Prims.of_int (590)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (591)) (Prims.of_int (14)) + (Prims.of_int (593)) (Prims.of_int (19))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' lhs)) + (fun lhs1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match lhs1 with + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___2, + uu___3, uu___4) + -> + FStar_Pervasives_Native.Some (lhs1, rhs) + | uu___2 -> FStar_Pervasives_Native.None)))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> FStar_Pervasives_Native.None)))) uu___) +let (rewrite' : + FStar_Tactics_NamedView.binding -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun x -> + op_Less_Bar_Greater + (op_Less_Bar_Greater (fun uu___ -> FStar_Tactics_V2_Builtins.rewrite x) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (604)) (Prims.of_int (20)) + (Prims.of_int (604)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (605)) (Prims.of_int (20)) + (Prims.of_int (606)) (Prims.of_int (29))))) + (Obj.magic (FStar_Tactics_V2_Builtins.var_retype x)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (605)) (Prims.of_int (20)) + (Prims.of_int (605)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (606)) (Prims.of_int (20)) + (Prims.of_int (606)) (Prims.of_int (29))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Derived"; + "__eq_sym"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.rewrite x)) + uu___2))) uu___1))) + (fun uu___ -> (fun uu___ -> Obj.magic (fail "rewrite' failed")) uu___) + () +let rec (try_rewrite_equality : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.binding Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun x -> + fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | x_t::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (614)) (Prims.of_int (20)) + (Prims.of_int (614)) (Prims.of_int (57))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (614)) (Prims.of_int (14)) + (Prims.of_int (620)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula + (type_of_binding x_t))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___1, y, + uu___2) + -> + if FStar_Reflection_V2_Builtins.term_eq x y + then + Obj.magic + (FStar_Tactics_V2_Builtins.rewrite x_t) + else Obj.magic (try_rewrite_equality x bs1) + | uu___1 -> + Obj.magic (try_rewrite_equality x bs1)) + uu___)))) uu___1 uu___ +let rec (rewrite_all_context_equalities : + FStar_Tactics_NamedView.binding Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | x_t::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (627)) (Prims.of_int (8)) + (Prims.of_int (627)) (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (628)) (Prims.of_int (8)) + (Prims.of_int (628)) (Prims.of_int (41))))) + (Obj.magic + (try_with + (fun uu___ -> + match () with + | () -> FStar_Tactics_V2_Builtins.rewrite x_t) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> ()))) uu___))) + (fun uu___ -> + (fun uu___ -> + Obj.magic (rewrite_all_context_equalities bs1)) + uu___)))) uu___ +let (rewrite_eqs_from_context : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (632)) (Prims.of_int (35)) (Prims.of_int (632)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (632)) (Prims.of_int (4)) (Prims.of_int (632)) + (Prims.of_int (48))))) (Obj.magic (cur_vars ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (rewrite_all_context_equalities uu___1)) + uu___1) +let (rewrite_equality : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (635)) (Prims.of_int (27)) (Prims.of_int (635)) + (Prims.of_int (40))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (635)) (Prims.of_int (4)) (Prims.of_int (635)) + (Prims.of_int (40))))) (Obj.magic (cur_vars ())) + (fun uu___ -> + (fun uu___ -> Obj.magic (try_rewrite_equality t uu___)) uu___) +let (unfold_def : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (638)) (Prims.of_int (10)) (Prims.of_int (638)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (638)) (Prims.of_int (4)) (Prims.of_int (642)) + (Prims.of_int (46))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (640)) (Prims.of_int (16)) + (Prims.of_int (640)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (641)) (Prims.of_int (8)) + (Prims.of_int (641)) (Prims.of_int (30))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.implode_qn + (FStar_Reflection_V2_Builtins.inspect_fv fv))) + (fun uu___1 -> + (fun n -> + Obj.magic + (FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.delta_fully [n]])) + uu___1))) + | uu___1 -> + Obj.magic (Obj.repr (fail "unfold_def: term is not a fv"))) + uu___) +let (l_to_r : + FStar_Tactics_NamedView.term Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun lems -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (649)) (Prims.of_int (8)) (Prims.of_int (652)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (653)) (Prims.of_int (4)) (Prims.of_int (653)) + (Prims.of_int (28))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (649)) (Prims.of_int (8)) + (Prims.of_int (652)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (649)) (Prims.of_int (8)) + (Prims.of_int (652)) (Prims.of_int (31))))) + (Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___3 -> + fun uu___2 -> + (fun k -> + fun l -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + fun uu___3 -> + or_else + (fun uu___4 -> apply_lemma_rw l) + k))) uu___3 uu___2) trefl lems)) + (fun uu___2 -> (fun uu___2 -> Obj.magic (uu___2 ())) uu___2))) + (fun uu___ -> + (fun first_or_trefl -> Obj.magic (pointwise first_or_trefl)) uu___) +let (mk_squash : + FStar_Tactics_NamedView.term -> FStar_Tactics_NamedView.term) = + fun t -> + let sq = + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.squash_qn)) in + FStar_Reflection_V2_Derived.mk_e_app sq [t] +let (mk_sq_eq : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> FStar_Tactics_NamedView.term) + = + fun t1 -> + fun t2 -> + let eq = + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + FStar_Reflection_Const.eq2_qn)) in + mk_squash (FStar_Reflection_V2_Derived.mk_e_app eq [t1; t2]) +let (grewrite : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (666)) (Prims.of_int (12)) + (Prims.of_int (666)) (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (666)) (Prims.of_int (36)) + (Prims.of_int (680)) (Prims.of_int (44))))) + (Obj.magic (tcut (mk_sq_eq t1 t2))) + (fun uu___ -> + (fun e -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (667)) (Prims.of_int (12)) + (Prims.of_int (667)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (668)) (Prims.of_int (4)) + (Prims.of_int (680)) (Prims.of_int (44))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binding_to_namedv + e)))) + (fun uu___ -> + (fun e1 -> + Obj.magic + (pointwise + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (8)) + (Prims.of_int (676)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (678)) + (Prims.of_int (6)) + (Prims.of_int (680)) + (Prims.of_int (43))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (14)) + (Prims.of_int (671)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (8)) + (Prims.of_int (676)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (30)) + (Prims.of_int (671)) + (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (671)) + (Prims.of_int (14)) + (Prims.of_int (671)) + (Prims.of_int (42))))) + (Obj.magic (cur_goal ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula + uu___1)) uu___1))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq + uu___2, lhs, rhs) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (673)) + (Prims.of_int (17)) + (Prims.of_int (673)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (673)) + (Prims.of_int (10)) + (Prims.of_int (675)) + (Prims.of_int (24))))) + (Obj.magic + (FStar_Tactics_NamedView.inspect + lhs)) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 + -> + match uu___3 + with + | + FStar_Tactics_NamedView.Tv_Uvar + (uu___5, + uu___6) + -> true + | + uu___5 -> + false)))) + | uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + false)))) + uu___1))) + (fun uu___1 -> + (fun is_uvar -> + if is_uvar + then Obj.magic (trefl ()) + else + Obj.magic + (try_with + (fun uu___2 -> + match () with + | () -> exact e1) + (fun uu___2 -> trefl ()))) + uu___1)))) uu___))) uu___) +let (grewrite_eq : + FStar_Tactics_NamedView.binding -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (687)) (Prims.of_int (8)) (Prims.of_int (687)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (687)) (Prims.of_int (2)) (Prims.of_int (699)) + (Prims.of_int (7))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula (type_of_binding b))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___1, l, r) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (689)) (Prims.of_int (4)) + (Prims.of_int (689)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (690)) (Prims.of_int (4)) + (Prims.of_int (690)) (Prims.of_int (37))))) + (Obj.magic (grewrite l r)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (iseq + [idtac; + (fun uu___3 -> + exact + (FStar_Tactics_V2_SyntaxCoercions.binding_to_term + b))])) uu___2)) + | uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (692)) (Prims.of_int (16)) + (Prims.of_int (692)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (692)) (Prims.of_int (10)) + (Prims.of_int (698)) (Prims.of_int (56))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' + (type_of_binding b))) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V2_Formula.Comp + (FStar_Reflection_V2_Formula.Eq uu___3, l, r) + -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (694)) + (Prims.of_int (6)) + (Prims.of_int (694)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (695)) + (Prims.of_int (6)) + (Prims.of_int (696)) + (Prims.of_int (39))))) + (Obj.magic (grewrite l r)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (iseq + [idtac; + (fun uu___5 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (695)) + (Prims.of_int (30)) + (Prims.of_int (695)) + (Prims.of_int (55))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (696)) + (Prims.of_int (30)) + (Prims.of_int (696)) + (Prims.of_int (37))))) + (Obj.magic + (apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Derived"; + "__un_sq_eq"]))))) + (fun uu___6 -> + (fun uu___6 -> + Obj.magic + (exact + (FStar_Tactics_V2_SyntaxCoercions.binding_to_term + b))) + uu___6))])) + uu___4))) + | uu___3 -> + Obj.magic + (Obj.repr + (fail + "grewrite_eq: binder type is not an equality"))) + uu___2))) uu___) +let (admit_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (703)) (Prims.of_int (2)) (Prims.of_int (703)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (704)) (Prims.of_int (2)) (Prims.of_int (704)) + (Prims.of_int (16))))) + (Obj.magic (FStar_Tactics_V2_Builtins.dump "Admitting")) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "admit"]))))) uu___1) +let admit_dump : 'a . (unit -> 'a) -> unit -> 'a = fun x -> fun uu___ -> x () +let (magic_dump_t : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (711)) (Prims.of_int (2)) (Prims.of_int (711)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (712)) (Prims.of_int (2)) (Prims.of_int (714)) + (Prims.of_int (4))))) + (Obj.magic (FStar_Tactics_V2_Builtins.dump "Admitting")) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (712)) (Prims.of_int (2)) + (Prims.of_int (712)) (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (713)) (Prims.of_int (2)) + (Prims.of_int (714)) (Prims.of_int (4))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "magic"]))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (713)) (Prims.of_int (2)) + (Prims.of_int (713)) (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (714)) (Prims.of_int (2)) + (Prims.of_int (714)) (Prims.of_int (4))))) + (Obj.magic + (exact + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)))) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ())))) uu___2))) uu___1) +let magic_dump : 'a . 'a -> unit -> 'a = fun x -> fun uu___ -> x +let (change_with : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + fun t2 -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (721)) (Prims.of_int (8)) + (Prims.of_int (721)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (722)) (Prims.of_int (8)) + (Prims.of_int (722)) (Prims.of_int (29))))) + (Obj.magic (grewrite t1 t2)) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (iseq [idtac; trivial])) uu___1)) +let (change_sq : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t1 -> + FStar_Tactics_V2_Builtins.change + (FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv ["Prims"; "squash"]))) + [t1]) +let finish_by : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (729)) (Prims.of_int (12)) (Prims.of_int (729)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (730)) (Prims.of_int (4)) (Prims.of_int (731)) + (Prims.of_int (5))))) (Obj.magic (t ())) + (fun uu___ -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (730)) (Prims.of_int (4)) + (Prims.of_int (730)) (Prims.of_int (58))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (729)) (Prims.of_int (8)) + (Prims.of_int (729)) (Prims.of_int (9))))) + (Obj.magic + (or_else qed + (fun uu___ -> + (fun uu___ -> + Obj.magic (fail "finish_by: not finished")) + uu___))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> x)))) + uu___) +let solve_then : + 'a 'b . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a -> ('b, unit) FStar_Tactics_Effect.tac_repr) -> + ('b, unit) FStar_Tactics_Effect.tac_repr + = + fun t1 -> + fun t2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (734)) (Prims.of_int (4)) (Prims.of_int (734)) + (Prims.of_int (10))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (734)) (Prims.of_int (11)) + (Prims.of_int (738)) (Prims.of_int (5))))) + (Obj.magic (FStar_Tactics_V2_Builtins.dup ())) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (735)) (Prims.of_int (12)) + (Prims.of_int (735)) (Prims.of_int (42))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (735)) (Prims.of_int (45)) + (Prims.of_int (738)) (Prims.of_int (5))))) + (Obj.magic (focus (fun uu___1 -> finish_by t1))) + (fun uu___1 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (736)) + (Prims.of_int (12)) + (Prims.of_int (736)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (737)) + (Prims.of_int (4)) + (Prims.of_int (738)) + (Prims.of_int (5))))) + (Obj.magic (t2 x)) + (fun uu___1 -> + (fun y -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (737)) + (Prims.of_int (4)) + (Prims.of_int (737)) + (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (736)) + (Prims.of_int (8)) + (Prims.of_int (736)) + (Prims.of_int (9))))) + (Obj.magic (trefl ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> y)))) uu___1))) + uu___1))) uu___) +let add_elem : + 'a . + (unit -> ('a, unit) FStar_Tactics_Effect.tac_repr) -> + ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun t -> + focus + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (741)) (Prims.of_int (4)) + (Prims.of_int (741)) (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (742)) (Prims.of_int (4)) + (Prims.of_int (746)) (Prims.of_int (5))))) + (Obj.magic + (apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; "Cons"]))))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (focus + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (743)) (Prims.of_int (14)) + (Prims.of_int (743)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (744)) (Prims.of_int (6)) + (Prims.of_int (745)) (Prims.of_int (7))))) + (Obj.magic (t ())) + (fun uu___3 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (744)) + (Prims.of_int (6)) + (Prims.of_int (744)) + (Prims.of_int (12))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (743)) + (Prims.of_int (10)) + (Prims.of_int (743)) + (Prims.of_int (11))))) + (Obj.magic (qed ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> x)))) uu___3)))) + uu___1)) +let specialize : + 'a . + 'a -> + Prims.string Prims.list -> + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr + = + fun f -> + fun l -> + fun uu___ -> + solve_then + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (765)) (Prims.of_int (42)) + (Prims.of_int (765)) (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (765)) (Prims.of_int (36)) + (Prims.of_int (765)) (Prims.of_int (51))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (failwith + "Cannot evaluate open quotation at runtime")) + uu___2)) + (fun uu___2 -> (fun uu___2 -> Obj.magic (exact uu___2)) uu___2)) + (fun uu___1 -> + FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.delta_only l; + FStar_Pervasives.iota; + FStar_Pervasives.zeta]) +let (tlabel : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun l -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (768)) (Prims.of_int (10)) (Prims.of_int (768)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (768)) (Prims.of_int (4)) (Prims.of_int (771)) + (Prims.of_int (38))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "tlabel: no goals")) + | h::t -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Builtins.set_goals + ((FStar_Tactics_Types.set_label l h) :: t)))) uu___) +let (tlabel' : Prims.string -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun l -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (774)) (Prims.of_int (10)) (Prims.of_int (774)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (774)) (Prims.of_int (4)) (Prims.of_int (778)) + (Prims.of_int (26))))) (Obj.magic (goals ())) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | [] -> Obj.magic (Obj.repr (fail "tlabel': no goals")) + | h::t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (777)) (Prims.of_int (16)) + (Prims.of_int (777)) (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (778)) (Prims.of_int (8)) + (Prims.of_int (778)) (Prims.of_int (26))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_Types.set_label + (Prims.strcat l + (FStar_Tactics_Types.get_label h)) h)) + (fun uu___1 -> + (fun h1 -> + Obj.magic + (FStar_Tactics_V2_Builtins.set_goals (h1 :: + t))) uu___1)))) uu___) +let (focus_all : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) (Prims.of_int (4)) (Prims.of_int (781)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (782)) (Prims.of_int (4)) (Prims.of_int (782)) + (Prims.of_int (20))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) (Prims.of_int (14)) + (Prims.of_int (781)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) (Prims.of_int (4)) + (Prims.of_int (781)) (Prims.of_int (39))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) (Prims.of_int (15)) + (Prims.of_int (781)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) (Prims.of_int (14)) + (Prims.of_int (781)) (Prims.of_int (39))))) + (Obj.magic (goals ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) + (Prims.of_int (26)) + (Prims.of_int (781)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (781)) + (Prims.of_int (14)) + (Prims.of_int (781)) + (Prims.of_int (39))))) + (Obj.magic (smt_goals ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (op_At ()) uu___1 uu___2)))) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V2_Builtins.set_goals uu___1)) + uu___1))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V2_Builtins.set_smt_goals [])) uu___1) +let rec extract_nth : + 'a . + Prims.nat -> + 'a Prims.list -> ('a * 'a Prims.list) FStar_Pervasives_Native.option + = + fun n -> + fun l -> + match (n, l) with + | (uu___, []) -> FStar_Pervasives_Native.None + | (uu___, hd::tl) when uu___ = Prims.int_zero -> + FStar_Pervasives_Native.Some (hd, tl) + | (uu___, hd::tl) -> + (match extract_nth (n - Prims.int_one) tl with + | FStar_Pervasives_Native.Some (hd', tl') -> + FStar_Pervasives_Native.Some (hd', (hd :: tl')) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) +let (bump_nth : Prims.pos -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun n -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (797)) (Prims.of_int (8)) (Prims.of_int (797)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (797)) (Prims.of_int (2)) (Prims.of_int (799)) + (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (797)) (Prims.of_int (28)) + (Prims.of_int (797)) (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (797)) (Prims.of_int (8)) + (Prims.of_int (797)) (Prims.of_int (38))))) + (Obj.magic (goals ())) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> extract_nth (n - Prims.int_one) uu___)))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Pervasives_Native.None -> + Obj.magic (Obj.repr (fail "bump_nth: not that many goals")) + | FStar_Pervasives_Native.Some (h, t) -> + Obj.magic + (Obj.repr (FStar_Tactics_V2_Builtins.set_goals (h :: t)))) + uu___) +let rec (destruct_list : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (802)) (Prims.of_int (21)) (Prims.of_int (802)) + (Prims.of_int (34))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (801)) (Prims.of_int (52)) (Prims.of_int (814)) + (Prims.of_int (27))))) + (Obj.magic (FStar_Tactics_V2_SyntaxHelpers.collect_app t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (head, args) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (803)) (Prims.of_int (10)) + (Prims.of_int (803)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (803)) (Prims.of_int (4)) + (Prims.of_int (814)) (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (803)) (Prims.of_int (10)) + (Prims.of_int (803)) (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (803)) (Prims.of_int (10)) + (Prims.of_int (803)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_NamedView.inspect head)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (uu___1, args))))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | (FStar_Tactics_NamedView.Tv_FVar fv, + (a1, FStar_Reflection_V2_Data.Q_Explicit):: + (a2, FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = FStar_Reflection_Const.cons_qn + then + Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (807)) + (Prims.of_int (17)) + (Prims.of_int (807)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (807)) + (Prims.of_int (11)) + (Prims.of_int (807)) + (Prims.of_int (33))))) + (Obj.magic (destruct_list a2)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> a1 :: uu___2))) + else + Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral))) + | (FStar_Tactics_NamedView.Tv_FVar fv, + (uu___2, FStar_Reflection_V2_Data.Q_Implicit):: + (a1, FStar_Reflection_V2_Data.Q_Explicit):: + (a2, FStar_Reflection_V2_Data.Q_Explicit)::[]) + -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = FStar_Reflection_Const.cons_qn + then + Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (807)) + (Prims.of_int (17)) + (Prims.of_int (807)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (807)) + (Prims.of_int (11)) + (Prims.of_int (807)) + (Prims.of_int (33))))) + (Obj.magic (destruct_list a2)) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> a1 :: uu___3))) + else + Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral))) + | (FStar_Tactics_NamedView.Tv_FVar fv, uu___2) -> + Obj.magic + (Obj.repr + (if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = FStar_Reflection_Const.nil_qn + then + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> []) + else + FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral)) + | uu___2 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.raise + FStar_Tactics_Common.NotAListLiteral))) + uu___1))) uu___) +let (get_match_body : + unit -> (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (817)) (Prims.of_int (8)) (Prims.of_int (817)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (817)) (Prims.of_int (2)) (Prims.of_int (821)) + (Prims.of_int (46))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (817)) (Prims.of_int (22)) + (Prims.of_int (817)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (817)) (Prims.of_int (8)) + (Prims.of_int (817)) (Prims.of_int (35))))) + (Obj.magic (cur_goal ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V2_Derived.unsquash_term uu___1)))) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Pervasives_Native.None -> Obj.magic (Obj.repr (fail "")) + | FStar_Pervasives_Native.Some t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (819)) (Prims.of_int (20)) + (Prims.of_int (819)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (819)) (Prims.of_int (14)) + (Prims.of_int (821)) (Prims.of_int (46))))) + (Obj.magic + (FStar_Tactics_V2_SyntaxHelpers.inspect_unascribe + t)) + (fun uu___2 -> + match uu___2 with + | FStar_Tactics_NamedView.Tv_Match + (sc, uu___3, uu___4) -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___5 -> sc) + | uu___3 -> fail "Goal is not a match")))) uu___1) +let rec last : 'a . 'a Prims.list -> ('a, unit) FStar_Tactics_Effect.tac_repr + = + fun uu___ -> + (fun x -> + match x with + | [] -> Obj.magic (Obj.repr (fail "last: empty list")) + | x1::[] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> x1))) + | uu___::xs -> Obj.magic (Obj.repr (last xs))) uu___ +let (branch_on_match : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + focus + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (834)) (Prims.of_int (14)) + (Prims.of_int (834)) (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (834)) (Prims.of_int (34)) + (Prims.of_int (840)) (Prims.of_int (20))))) + (Obj.magic (get_match_body ())) + (fun uu___2 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (835)) (Prims.of_int (14)) + (Prims.of_int (835)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (836)) (Prims.of_int (6)) + (Prims.of_int (840)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V2_Builtins.t_destruct x)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (iterAll + (fun uu___3 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (837)) + (Prims.of_int (17)) + (Prims.of_int (837)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (837)) + (Prims.of_int (32)) + (Prims.of_int (840)) + (Prims.of_int (19))))) + (Obj.magic + (repeat + FStar_Tactics_V2_Builtins.intro)) + (fun uu___4 -> + (fun bs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (838)) + (Prims.of_int (16)) + (Prims.of_int (838)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (839)) + (Prims.of_int (8)) + (Prims.of_int (840)) + (Prims.of_int (19))))) + (Obj.magic (last bs)) + (fun uu___4 -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (839)) + (Prims.of_int (8)) + (Prims.of_int (839)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (840)) + (Prims.of_int (8)) + (Prims.of_int (840)) + (Prims.of_int (19))))) + (Obj.magic + (grewrite_eq b)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + ( + FStar_Tactics_V2_Builtins.norm + [FStar_Pervasives.iota])) + uu___4))) + uu___4))) uu___4)))) + uu___2))) uu___2)) +let (nth_var : + Prims.int -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun i -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (849)) (Prims.of_int (11)) (Prims.of_int (849)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (849)) (Prims.of_int (25)) (Prims.of_int (854)) + (Prims.of_int (15))))) (Obj.magic (cur_vars ())) + (fun uu___ -> + (fun bs -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (850)) (Prims.of_int (16)) + (Prims.of_int (850)) (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (850)) (Prims.of_int (68)) + (Prims.of_int (854)) (Prims.of_int (15))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + if i >= Prims.int_zero + then i + else (FStar_List_Tot_Base.length bs) + i)) + (fun uu___ -> + (fun k -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (851)) (Prims.of_int (16)) + (Prims.of_int (851)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (852)) (Prims.of_int (2)) + (Prims.of_int (854)) (Prims.of_int (15))))) + (if k < Prims.int_zero + then fail "not enough binders" + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> k)) + (fun k1 -> + match FStar_List_Tot_Base.nth bs k1 with + | FStar_Pervasives_Native.None -> + fail "not enough binders" + | FStar_Pervasives_Native.Some b -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> b)))) uu___))) uu___) +exception Appears +let (uu___is_Appears : Prims.exn -> Prims.bool) = + fun projectee -> match projectee with | Appears -> true | uu___ -> false +let (name_appears_in : + FStar_Reflection_Types.name -> + FStar_Tactics_NamedView.term -> + (Prims.bool, unit) FStar_Tactics_Effect.tac_repr) + = + fun nm -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (862)) (Prims.of_int (4)) (Prims.of_int (867)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (869)) (Prims.of_int (2)) (Prims.of_int (871)) + (Prims.of_int (16))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + fun t1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (862)) (Prims.of_int (10)) + (Prims.of_int (862)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (862)) (Prims.of_int (4)) + (Prims.of_int (867)) (Prims.of_int (19))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t1)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Tactics_NamedView.Tv_FVar fv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (864)) + (Prims.of_int (6)) + (Prims.of_int (865)) + (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (861)) + (Prims.of_int (10)) + (Prims.of_int (861)) + (Prims.of_int (11))))) + (if + (FStar_Reflection_V2_Builtins.inspect_fv + fv) + = nm + then FStar_Tactics_Effect.raise Appears + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> t1)))) + | tv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Tactics_NamedView.pack tv)))) + uu___1))) + (fun uu___ -> + (fun ff -> + Obj.magic + (try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (869)) (Prims.of_int (6)) + (Prims.of_int (869)) (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (869)) (Prims.of_int (32)) + (Prims.of_int (869)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (869)) + (Prims.of_int (13)) + (Prims.of_int (869)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (869)) + (Prims.of_int (6)) + (Prims.of_int (869)) + (Prims.of_int (30))))) + (Obj.magic + (FStar_Tactics_Visit.visit_tm ff t)) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> ())))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> false))) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | Appears -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> true)) + | e -> Obj.magic (FStar_Tactics_Effect.raise e)) + uu___))) uu___) +let rec (mk_abs : + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun args -> + fun t -> + match args with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> t))) + | a::args' -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (878)) (Prims.of_int (13)) + (Prims.of_int (878)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero Prims.int_zero))) + (Obj.magic (mk_abs args' t)) + (fun t' -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Abs (a, t'))))))) + uu___1 uu___ +let (namedv_to_simple_binder : + FStar_Tactics_NamedView.namedv -> + (FStar_Tactics_NamedView.simple_binder, unit) + FStar_Tactics_Effect.tac_repr) + = + fun n -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (883)) (Prims.of_int (11)) (Prims.of_int (883)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (885)) (Prims.of_int (4)) (Prims.of_int (889)) + (Prims.of_int (16))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Tactics_NamedView.inspect_namedv n)) + (fun uu___ -> + (fun nv -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (887)) (Prims.of_int (13)) + (Prims.of_int (887)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (885)) (Prims.of_int (4)) + (Prims.of_int (889)) (Prims.of_int (16))))) + (Obj.magic + (FStar_Tactics_Unseal.unseal + nv.FStar_Reflection_V2_Data.sort)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_Tactics_NamedView.uniq = + (nv.FStar_Reflection_V2_Data.uniq); + FStar_Tactics_NamedView.ppname = + (nv.FStar_Reflection_V2_Data.ppname); + FStar_Tactics_NamedView.sort = uu___; + FStar_Tactics_NamedView.qual = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Tactics_NamedView.attrs = [] + })))) uu___) +let (binding_to_simple_binder : + FStar_Tactics_NamedView.binding -> FStar_Tactics_NamedView.simple_binder) = + fun b -> + { + FStar_Tactics_NamedView.uniq = (b.FStar_Reflection_V2_Data.uniq1); + FStar_Tactics_NamedView.ppname = (b.FStar_Reflection_V2_Data.ppname3); + FStar_Tactics_NamedView.sort = (b.FStar_Reflection_V2_Data.sort3); + FStar_Tactics_NamedView.qual = FStar_Reflection_V2_Data.Q_Explicit; + FStar_Tactics_NamedView.attrs = [] + } +let (string_to_term_with_lb : + (Prims.string * FStar_Tactics_NamedView.term) Prims.list -> + FStar_Reflection_Types.env -> + Prims.string -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun letbindings -> + fun e -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (909)) (Prims.of_int (6)) + (Prims.of_int (912)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (908)) (Prims.of_int (3)) + (Prims.of_int (916)) (Prims.of_int (21))))) + (Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___ -> + fun uu___1 -> + match (uu___, uu___1) with + | ((e1, lb_bvs), (i, v)) -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (910)) (Prims.of_int (19)) + (Prims.of_int (910)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (909)) (Prims.of_int (42)) + (Prims.of_int (911)) (Prims.of_int (25))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.push_bv_dsenv e1 i)) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + match uu___2 with + | (e2, b) -> (e2, ((v, b) :: lb_bvs))))) + (e, []) letbindings)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (e1, lb_bindings) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (912)) (Prims.of_int (30)) + (Prims.of_int (916)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (912)) (Prims.of_int (30)) + (Prims.of_int (916)) (Prims.of_int (21))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> uu___)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (913)) + (Prims.of_int (12)) + (Prims.of_int (913)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (914)) + (Prims.of_int (4)) + (Prims.of_int (916)) + (Prims.of_int (21))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.string_to_term + e1 t)) + (fun uu___2 -> + (fun t1 -> + Obj.magic + (FStar_Tactics_Util.fold_left + (fun uu___3 -> + fun uu___2 -> + (fun t2 -> + fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> + match uu___2 + with + | (i, b) -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Let + (false, + [], + (binding_to_simple_binder + b), i, + t2))))) + uu___3 uu___2) t1 + lb_bindings)) uu___2))) uu___1))) + uu___) +let (trans : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Derived"; "lem_trans"]))) +let (smt_sync : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (928)) (Prims.of_int (40)) (Prims.of_int (928)) + (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (928)) (Prims.of_int (29)) (Prims.of_int (928)) + (Prims.of_int (56))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V2_Builtins.t_smt_sync uu___1)) uu___1) +let (smt_sync' : + Prims.nat -> Prims.nat -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun fuel -> + fun ifuel -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (932)) (Prims.of_int (15)) + (Prims.of_int (932)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (932)) (Prims.of_int (32)) + (Prims.of_int (936)) (Prims.of_int (20))))) + (Obj.magic (FStar_Tactics_V2_Builtins.get_vconfig ())) + (fun uu___ -> + (fun vcfg -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (933)) (Prims.of_int (18)) + (Prims.of_int (934)) (Prims.of_int (68))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Derived.fst" + (Prims.of_int (936)) (Prims.of_int (4)) + (Prims.of_int (936)) (Prims.of_int (20))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + { + FStar_VConfig.initial_fuel = fuel; + FStar_VConfig.max_fuel = fuel; + FStar_VConfig.initial_ifuel = ifuel; + FStar_VConfig.max_ifuel = ifuel; + FStar_VConfig.detail_errors = + (vcfg.FStar_VConfig.detail_errors); + FStar_VConfig.detail_hint_replay = + (vcfg.FStar_VConfig.detail_hint_replay); + FStar_VConfig.no_smt = (vcfg.FStar_VConfig.no_smt); + FStar_VConfig.quake_lo = + (vcfg.FStar_VConfig.quake_lo); + FStar_VConfig.quake_hi = + (vcfg.FStar_VConfig.quake_hi); + FStar_VConfig.quake_keep = + (vcfg.FStar_VConfig.quake_keep); + FStar_VConfig.retry = (vcfg.FStar_VConfig.retry); + FStar_VConfig.smtencoding_elim_box = + (vcfg.FStar_VConfig.smtencoding_elim_box); + FStar_VConfig.smtencoding_nl_arith_repr = + (vcfg.FStar_VConfig.smtencoding_nl_arith_repr); + FStar_VConfig.smtencoding_l_arith_repr = + (vcfg.FStar_VConfig.smtencoding_l_arith_repr); + FStar_VConfig.smtencoding_valid_intro = + (vcfg.FStar_VConfig.smtencoding_valid_intro); + FStar_VConfig.smtencoding_valid_elim = + (vcfg.FStar_VConfig.smtencoding_valid_elim); + FStar_VConfig.tcnorm = (vcfg.FStar_VConfig.tcnorm); + FStar_VConfig.no_plugins = + (vcfg.FStar_VConfig.no_plugins); + FStar_VConfig.no_tactics = + (vcfg.FStar_VConfig.no_tactics); + FStar_VConfig.z3cliopt = + (vcfg.FStar_VConfig.z3cliopt); + FStar_VConfig.z3smtopt = + (vcfg.FStar_VConfig.z3smtopt); + FStar_VConfig.z3refresh = + (vcfg.FStar_VConfig.z3refresh); + FStar_VConfig.z3rlimit = + (vcfg.FStar_VConfig.z3rlimit); + FStar_VConfig.z3rlimit_factor = + (vcfg.FStar_VConfig.z3rlimit_factor); + FStar_VConfig.z3seed = (vcfg.FStar_VConfig.z3seed); + FStar_VConfig.trivial_pre_for_unannotated_effectful_fns + = + (vcfg.FStar_VConfig.trivial_pre_for_unannotated_effectful_fns); + FStar_VConfig.reuse_hint_for = + (vcfg.FStar_VConfig.reuse_hint_for) + })) + (fun uu___ -> + (fun vcfg' -> + Obj.magic + (FStar_Tactics_V2_Builtins.t_smt_sync vcfg')) + uu___))) uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_InterpFuns.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_InterpFuns.ml new file mode 100644 index 00000000000..b22e25bed63 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_InterpFuns.ml @@ -0,0 +1,17102 @@ +open Prims +let unembed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Embeddings_Base.norm_cb -> + 'uuuuu FStar_Pervasives_Native.option + = fun e -> fun t -> fun n -> FStar_Syntax_Embeddings_Base.unembed e t n +let embed : + 'uuuuu . + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + FStar_Compiler_Range_Type.range -> + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term + = + fun e -> + fun rng -> + fun t -> + fun n -> + let uu___ = FStar_Syntax_Embeddings_Base.embed e t in + uu___ rng FStar_Pervasives_Native.None n +let rec drop : 'uuuuu . Prims.int -> 'uuuuu Prims.list -> 'uuuuu Prims.list = + fun n -> + fun l -> + if n = Prims.int_zero + then l + else + (match l with + | [] -> failwith "drop: impossible" + | uu___1::xs -> drop (n - Prims.int_one) xs) +let timing_int : + 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 . + FStar_Ident.lid -> + ('uuuuu -> 'uuuuu1 -> 'uuuuu2 -> 'uuuuu3) -> + 'uuuuu -> 'uuuuu1 -> 'uuuuu2 -> 'uuuuu3 + = + fun l -> + fun f -> fun psc -> fun cb -> fun args -> let r = f psc cb args in r +let timing_nbe : + 'uuuuu 'uuuuu1 'uuuuu2 . + FStar_Ident.lid -> + ('uuuuu -> 'uuuuu1 -> 'uuuuu2) -> 'uuuuu -> 'uuuuu1 -> 'uuuuu2 + = fun l -> fun f -> fun nbe_cbs -> fun args -> let r = f nbe_cbs args in r +let (mk : + Prims.string -> + Prims.int -> + Prims.int -> + (FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + -> + (FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) + -> FStar_TypeChecker_Cfg.primitive_step) + = + fun nm -> + fun arity -> + fun nunivs -> + fun interp -> + fun nbe_interp -> + let nm1 = + FStar_Parser_Const.fstar_tactics_lid' ["V2"; "Builtins"; nm] in + { + FStar_TypeChecker_Cfg.name = nm1; + FStar_TypeChecker_Cfg.arity = arity; + FStar_TypeChecker_Cfg.univ_arity = nunivs; + FStar_TypeChecker_Cfg.auto_reflect = + (FStar_Pervasives_Native.Some (arity - Prims.int_one)); + FStar_TypeChecker_Cfg.strong_reduction_ok = true; + FStar_TypeChecker_Cfg.requires_binder_substitution = true; + FStar_TypeChecker_Cfg.interpretation = + (fun psc -> + fun cbs -> + fun _us -> + fun args -> timing_int nm1 interp psc cbs args); + FStar_TypeChecker_Cfg.interpretation_nbe = + (fun cbs -> + fun _us -> fun args -> timing_nbe nm1 nbe_interp cbs args) + } +let (mkt : + Prims.string -> + Prims.int -> + Prims.int -> + (FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) + -> + (FStar_TypeChecker_NBETerm.nbe_cbs -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) + -> FStar_TypeChecker_Cfg.primitive_step) + = + fun nm -> + fun arity -> + fun nunivs -> + fun interp -> + fun nbe_interp -> + let nm1 = + FStar_Parser_Const.fstar_tactics_lid' ["V2"; "Builtins"; nm] in + { + FStar_TypeChecker_Cfg.name = nm1; + FStar_TypeChecker_Cfg.arity = arity; + FStar_TypeChecker_Cfg.univ_arity = nunivs; + FStar_TypeChecker_Cfg.auto_reflect = + FStar_Pervasives_Native.None; + FStar_TypeChecker_Cfg.strong_reduction_ok = true; + FStar_TypeChecker_Cfg.requires_binder_substitution = true; + FStar_TypeChecker_Cfg.interpretation = + (fun psc -> + fun cbs -> + fun _us -> + fun args -> timing_int nm1 interp psc cbs args); + FStar_TypeChecker_Cfg.interpretation_nbe = + (fun cbs -> + fun _us -> fun args -> timing_nbe nm1 nbe_interp cbs args) + } +let mk_total_interpretation_1_psc : + 'r 't1 . + (FStar_TypeChecker_Cfg.psc -> 't1 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___1 + (fun a11 -> + let r1 = f psc a11 in + let uu___2 = + let uu___3 = FStar_TypeChecker_Cfg.psc_range psc in + embed er uu___3 r1 ncb in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_1_psc : + 'r 't1 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + (FStar_TypeChecker_Cfg.psc -> 't1 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___1 + (fun a11 -> + let r1 = f FStar_TypeChecker_Cfg.null_psc a11 in + let uu___2 = FStar_TypeChecker_NBETerm.embed er cb r1 in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_step_1_psc : + 'a 'na 'nr 'r . + Prims.int -> + Prims.string -> + (FStar_TypeChecker_Cfg.psc -> 'a -> 'r) -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + (FStar_TypeChecker_Cfg.psc -> 'na -> 'nr) -> + 'na FStar_TypeChecker_NBETerm.embedding -> + '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 -> + mkt name Prims.int_one nunivs + (mk_total_interpretation_1_psc f ea er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_1_psc cb nf nea ner + uu___) +let (max_tac_arity : Prims.int) = (Prims.of_int (20)) +let mk_tactic_interpretation_1 : + 'r 't1 . + ('t1 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::[] -> + let uu___2 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___2 + (fun a11 -> + let uu___3 = + unembed FStar_Tactics_Embedding.e_proofstate a2 ncb in + FStar_Compiler_Util.bind_opt uu___3 + (fun ps -> + let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in + let r1 = + let uu___4 = t a11 in + FStar_Tactics_Monad.run_safe uu___4 ps1 in + let uu___4 = + let uu___5 = + FStar_Tactics_Embedding.e_result er in + let uu___6 = + FStar_TypeChecker_Cfg.psc_range psc in + embed uu___5 uu___6 r1 ncb in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_2 : + 'r 't1 't2 . + ('t1 -> 't2 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::[] -> + let uu___3 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___3 + (fun a11 -> + let uu___4 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___4 + (fun a21 -> + let uu___5 = + unembed FStar_Tactics_Embedding.e_proofstate + a3 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc psc ps in + let r1 = + let uu___6 = t a11 a21 in + FStar_Tactics_Monad.run_safe uu___6 ps1 in + let uu___6 = + let uu___7 = + FStar_Tactics_Embedding.e_result er in + let uu___8 = + FStar_TypeChecker_Cfg.psc_range psc in + embed uu___7 uu___8 r1 ncb in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_3 : + 'r 't1 't2 't3 . + ('t1 -> 't2 -> 't3 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3)::[] + -> + let uu___4 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___4 + (fun a11 -> + let uu___5 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun a21 -> + let uu___6 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a31 -> + let uu___7 = + unembed + FStar_Tactics_Embedding.e_proofstate + a4 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___8 = t a11 a21 a31 in + FStar_Tactics_Monad.run_safe + uu___8 ps1 in + let uu___8 = + let uu___9 = + FStar_Tactics_Embedding.e_result + er in + let uu___10 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed uu___9 uu___10 r1 ncb in + FStar_Pervasives_Native.Some uu___8)))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_4 : + 'r 't1 't2 't3 't4 . + ('t1 -> 't2 -> 't3 -> 't4 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::[] -> + let uu___5 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun a11 -> + let uu___6 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a21 -> + let uu___7 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a31 -> + let uu___8 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a41 -> + let uu___9 = + unembed + FStar_Tactics_Embedding.e_proofstate + a5 ncb in + FStar_Compiler_Util.bind_opt + uu___9 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___10 = + t a11 a21 a31 a41 in + FStar_Tactics_Monad.run_safe + uu___10 ps1 in + let uu___10 = + let uu___11 = + FStar_Tactics_Embedding.e_result + er in + let uu___12 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed uu___11 uu___12 r1 + ncb in + FStar_Pervasives_Native.Some + uu___10))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_5 : + 'r 't1 't2 't3 't4 't5 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5)::[] -> + let uu___6 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a11 -> + let uu___7 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a21 -> + let uu___8 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a31 -> + let uu___9 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a41 -> + let uu___10 = unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a51 -> + let uu___11 = + unembed + FStar_Tactics_Embedding.e_proofstate + a6 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___12 = + t a11 a21 a31 a41 + a51 in + FStar_Tactics_Monad.run_safe + uu___12 ps1 in + let uu___12 = + let uu___13 = + FStar_Tactics_Embedding.e_result + er in + let uu___14 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed uu___13 + uu___14 r1 ncb in + FStar_Pervasives_Native.Some + uu___12)))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_6 : + 'r 't1 't2 't3 't4 't5 't6 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, uu___5)::(a7, uu___6)::[] -> + let uu___7 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a11 -> + let uu___8 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a21 -> + let uu___9 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a31 -> + let uu___10 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a41 -> + let uu___11 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a51 -> + let uu___12 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a61 -> + let uu___13 = + unembed + FStar_Tactics_Embedding.e_proofstate + a7 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___14 + = + t a11 a21 + a31 a41 + a51 a61 in + FStar_Tactics_Monad.run_safe + uu___14 + ps1 in + let uu___14 = + let uu___15 + = + FStar_Tactics_Embedding.e_result + er in + let uu___16 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___15 + uu___16 r1 + ncb in + FStar_Pervasives_Native.Some + uu___14))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_7 : + 'r 't1 't2 't3 't4 't5 't6 't7 . + ('t1 -> + 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::[] -> + let uu___8 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a11 -> + let uu___9 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a21 -> + let uu___10 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___10 + (fun a31 -> + let uu___11 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a41 -> + let uu___12 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a51 -> + let uu___13 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a61 -> + let uu___14 = + unembed e7 a7 + ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a71 -> + let uu___15 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a8 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun ps -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___16 + = + t a11 a21 + a31 a41 + a51 a61 + a71 in + FStar_Tactics_Monad.run_safe + uu___16 + ps1 in + let uu___16 + = + let uu___17 + = + FStar_Tactics_Embedding.e_result + er in + let uu___18 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___17 + uu___18 + r1 ncb in + FStar_Pervasives_Native.Some + uu___16)))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_8 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 . + ('t1 -> + 't2 -> + 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8)::[] + -> + let uu___9 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a11 -> + let uu___10 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___10 + (fun a21 -> + let uu___11 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a31 -> + let uu___12 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a41 -> + let uu___13 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a51 -> + let uu___14 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a61 -> + let uu___15 = + unembed e7 a7 + ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a71 -> + let uu___16 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a81 + -> + let uu___17 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a9 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___18 + = + t a11 a21 + a31 a41 + a51 a61 + a71 a81 in + FStar_Tactics_Monad.run_safe + uu___18 + ps1 in + let uu___18 + = + let uu___19 + = + FStar_Tactics_Embedding.e_result + er in + let uu___20 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___19 + uu___20 + r1 ncb in + FStar_Pervasives_Native.Some + uu___18))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_9 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::[] -> + let uu___10 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___10 + (fun a11 -> + let uu___11 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___11 + (fun a21 -> + let uu___12 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a31 -> + let uu___13 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a41 -> + let uu___14 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a51 -> + let uu___15 = + unembed e6 a6 + ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a61 -> + let uu___16 = + unembed e7 + a7 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a71 -> + let uu___17 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a81 + -> + let uu___18 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a91 + -> + let uu___19 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a10 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___20 + = + t a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 in + FStar_Tactics_Monad.run_safe + uu___20 + ps1 in + let uu___20 + = + let uu___21 + = + FStar_Tactics_Embedding.e_result + er in + let uu___22 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___21 + uu___22 + r1 ncb in + FStar_Pervasives_Native.Some + uu___20)))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_10 : + 'r 't1 't10 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10)::[] -> + let uu___11 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___11 + (fun a12 -> + let uu___12 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___12 + (fun a21 -> + let uu___13 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a31 -> + let uu___14 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a41 -> + let uu___15 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a51 -> + let uu___16 = + unembed e6 a6 + ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a61 -> + let uu___17 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + ( + fun a71 + -> + let uu___18 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a81 + -> + let uu___19 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a91 + -> + let uu___20 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a101 + -> + let uu___21 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a11 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___22 + = + t a12 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 in + FStar_Tactics_Monad.run_safe + uu___22 + ps1 in + let uu___22 + = + let uu___23 + = + FStar_Tactics_Embedding.e_result + er in + let uu___24 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___23 + uu___24 + r1 ncb in + FStar_Pervasives_Native.Some + uu___22))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_11 : + 'r 't1 't10 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> 't9 -> 't10 -> 't11 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::[] -> + let uu___12 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___12 + (fun a13 -> + let uu___13 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a21 -> + let uu___14 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a31 -> + let uu___15 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a41 -> + let uu___16 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a51 -> + let uu___17 = + unembed e6 + a6 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a61 -> + let uu___18 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a71 + -> + let uu___19 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a81 + -> + let uu___20 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a91 + -> + let uu___21 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a101 + -> + let uu___22 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a111 + -> + let uu___23 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a12 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___24 + = + t a13 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 in + FStar_Tactics_Monad.run_safe + uu___24 + ps1 in + let uu___24 + = + let uu___25 + = + FStar_Tactics_Embedding.e_result + er in + let uu___26 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___25 + uu___26 + r1 ncb in + FStar_Pervasives_Native.Some + uu___24)))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_12 : + 'r 't1 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12)::[] -> + let uu___13 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___13 + (fun a14 -> + let uu___14 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a21 -> + let uu___15 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a31 -> + let uu___16 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a41 -> + let uu___17 = + unembed e5 a5 + ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a51 -> + let uu___18 + = + unembed e6 + a6 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a61 + -> + let uu___19 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a71 + -> + let uu___20 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a81 + -> + let uu___21 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a91 + -> + let uu___22 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a101 + -> + let uu___23 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a111 + -> + let uu___24 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a121 + -> + let uu___25 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a13 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___26 + = + t a14 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 in + FStar_Tactics_Monad.run_safe + uu___26 + ps1 in + let uu___26 + = + let uu___27 + = + FStar_Tactics_Embedding.e_result + er in + let uu___28 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___27 + uu___28 + r1 ncb in + FStar_Pervasives_Native.Some + uu___26))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_13 : + 'r 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> 't12 -> 't13 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, + uu___2):: + (a4, uu___3)::(a5, uu___4):: + (a6, uu___5)::(a7, uu___6):: + (a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12):: + (a14, uu___13)::[] -> + let uu___14 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a15 -> + let uu___15 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a21 -> + let uu___16 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a31 -> + let uu___17 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a41 -> + let uu___18 = + unembed e5 a5 + ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a51 -> + let uu___19 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a61 + -> + let uu___20 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a71 + -> + let uu___21 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a81 + -> + let uu___22 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a91 + -> + let uu___23 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a101 + -> + let uu___24 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a111 + -> + let uu___25 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a121 + -> + let uu___26 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a131 + -> + let uu___27 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a14 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___28 + = + t a15 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 in + FStar_Tactics_Monad.run_safe + uu___28 + ps1 in + let uu___28 + = + let uu___29 + = + FStar_Tactics_Embedding.e_result + er in + let uu___30 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___29 + uu___30 + r1 ncb in + FStar_Pervasives_Native.Some + uu___28)))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_interpretation_14 : + 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> 't13 -> 't14 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::[] -> + let uu___15 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a16 -> + let uu___16 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a21 -> + let uu___17 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a31 -> + let uu___18 = + unembed e4 a4 + ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a41 -> + let uu___19 = + unembed e5 + a5 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a51 -> + let uu___20 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a61 + -> + let uu___21 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a71 + -> + let uu___22 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a81 + -> + let uu___23 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a91 + -> + let uu___24 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a101 + -> + let uu___25 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a111 + -> + let uu___26 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a121 + -> + let uu___27 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a131 + -> + let uu___28 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a141 + -> + let uu___29 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a15 ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___30 + = + t a16 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 in + FStar_Tactics_Monad.run_safe + uu___30 + ps1 in + let uu___30 + = + let uu___31 + = + FStar_Tactics_Embedding.e_result + er in + let uu___32 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___31 + uu___32 + r1 ncb in + FStar_Pervasives_Native.Some + uu___30))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_15 : + 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::(a16, uu___15)::[] + -> + let uu___16 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a17 -> + let uu___17 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a21 -> + let uu___18 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a31 -> + let uu___19 = + unembed e4 a4 + ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a41 -> + let uu___20 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + ( + fun a51 + -> + let uu___21 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a61 + -> + let uu___22 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a71 + -> + let uu___23 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a81 + -> + let uu___24 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a91 + -> + let uu___25 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a101 + -> + let uu___26 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a111 + -> + let uu___27 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a121 + -> + let uu___28 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a131 + -> + let uu___29 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a141 + -> + let uu___30 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a151 + -> + let uu___31 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a16 ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___32 + = + t a17 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 in + FStar_Tactics_Monad.run_safe + uu___32 + ps1 in + let uu___32 + = + let uu___33 + = + FStar_Tactics_Embedding.e_result + er in + let uu___34 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___33 + uu___34 + r1 ncb in + FStar_Pervasives_Native.Some + uu___32)))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_16 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> 't16 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::[] -> + let uu___17 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a18 -> + let uu___18 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a21 -> + let uu___19 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a31 -> + let uu___20 = + unembed e4 + a4 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a41 -> + let uu___21 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a51 + -> + let uu___22 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a61 + -> + let uu___23 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a71 + -> + let uu___24 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a81 + -> + let uu___25 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a91 + -> + let uu___26 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a101 + -> + let uu___27 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a111 + -> + let uu___28 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a121 + -> + let uu___29 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a131 + -> + let uu___30 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a141 + -> + let uu___31 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a151 + -> + let uu___32 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a161 + -> + let uu___33 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a17 ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___34 + = + t a18 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 in + FStar_Tactics_Monad.run_safe + uu___34 + ps1 in + let uu___34 + = + let uu___35 + = + FStar_Tactics_Embedding.e_result + er in + let uu___36 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___35 + uu___36 + r1 ncb in + FStar_Pervasives_Native.Some + uu___34))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_17 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't2 't3 't4 't5 't6 't7 't8 + 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> 't17 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17)::[] + -> + let uu___18 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a19 -> + let uu___19 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a21 -> + let uu___20 = + unembed e3 a3 + ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a31 -> + let uu___21 + = + unembed e4 + a4 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a41 + -> + let uu___22 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a51 + -> + let uu___23 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a61 + -> + let uu___24 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a71 + -> + let uu___25 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a81 + -> + let uu___26 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a91 + -> + let uu___27 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a101 + -> + let uu___28 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a111 + -> + let uu___29 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a121 + -> + let uu___30 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a131 + -> + let uu___31 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a141 + -> + let uu___32 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a151 + -> + let uu___33 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a161 + -> + let uu___34 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a171 + -> + let uu___35 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a18 ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___36 + = + t a19 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 in + FStar_Tactics_Monad.run_safe + uu___36 + ps1 in + let uu___36 + = + let uu___37 + = + FStar_Tactics_Embedding.e_result + er in + let uu___38 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___37 + uu___38 + r1 ncb in + FStar_Pervasives_Native.Some + uu___36)))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_18 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't2 't3 't4 't5 't6 't7 + 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17):: + (a19, uu___18)::[] -> + let uu___19 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a110 -> + let uu___20 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a21 -> + let uu___21 = + unembed e3 a3 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a31 -> + let uu___22 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a41 + -> + let uu___23 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a51 + -> + let uu___24 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a61 + -> + let uu___25 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a71 + -> + let uu___26 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a81 + -> + let uu___27 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a91 + -> + let uu___28 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a101 + -> + let uu___29 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a111 + -> + let uu___30 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a121 + -> + let uu___31 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a131 + -> + let uu___32 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a141 + -> + let uu___33 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a151 + -> + let uu___34 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a161 + -> + let uu___35 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a171 + -> + let uu___36 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a181 + -> + let uu___37 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a19 ncb in + FStar_Compiler_Util.bind_opt + uu___37 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___38 + = + t a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 in + FStar_Tactics_Monad.run_safe + uu___38 + ps1 in + let uu___38 + = + let uu___39 + = + FStar_Tactics_Embedding.e_result + er in + let uu___40 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___39 + uu___40 + r1 ncb in + FStar_Pervasives_Native.Some + uu___38))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_19 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't3 't4 't5 + 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18):: + (a20, uu___19)::[] -> + let uu___20 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a110 -> + let uu___21 = + unembed e2 a2 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a21 -> + let uu___22 = + unembed e3 + a3 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a31 -> + let uu___23 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a41 + -> + let uu___24 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a51 + -> + let uu___25 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a61 + -> + let uu___26 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a71 + -> + let uu___27 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a81 + -> + let uu___28 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a91 + -> + let uu___29 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a101 + -> + let uu___30 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a111 + -> + let uu___31 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a121 + -> + let uu___32 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a131 + -> + let uu___33 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a141 + -> + let uu___34 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a151 + -> + let uu___35 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a161 + -> + let uu___36 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a171 + -> + let uu___37 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a181 + -> + let uu___38 + = + unembed + e19 a19 + ncb in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a191 + -> + let uu___39 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a20 ncb in + FStar_Compiler_Util.bind_opt + uu___39 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___40 + = + t a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 in + FStar_Tactics_Monad.run_safe + uu___40 + ps1 in + let uu___40 + = + let uu___41 + = + FStar_Tactics_Embedding.e_result + er in + let uu___42 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___41 + uu___42 + r1 ncb in + FStar_Pervasives_Native.Some + uu___40)))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_interpretation_20 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't20 't3 't4 + 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> + 't20 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 't20 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args + -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, + uu___1):: + (a3, uu___2):: + (a4, uu___3):: + (a5, uu___4):: + (a6, uu___5):: + (a7, uu___6):: + (a8, uu___7):: + (a9, uu___8):: + (a10, uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18):: + (a20, uu___19):: + (a21, uu___20)::[] -> + let uu___21 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a110 -> + let uu___22 = + unembed e2 a2 + ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a22 -> + let uu___23 + = + unembed + e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + ( + fun a31 + -> + let uu___24 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a41 + -> + let uu___25 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a51 + -> + let uu___26 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a61 + -> + let uu___27 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a71 + -> + let uu___28 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a81 + -> + let uu___29 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a91 + -> + let uu___30 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a101 + -> + let uu___31 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a111 + -> + let uu___32 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a121 + -> + let uu___33 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a131 + -> + let uu___34 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a141 + -> + let uu___35 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a151 + -> + let uu___36 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a161 + -> + let uu___37 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a171 + -> + let uu___38 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a181 + -> + let uu___39 + = + unembed + e19 a19 + ncb in + FStar_Compiler_Util.bind_opt + uu___39 + (fun a191 + -> + let uu___40 + = + unembed + e20 a20 + ncb in + FStar_Compiler_Util.bind_opt + uu___40 + (fun a201 + -> + let uu___41 + = + unembed + FStar_Tactics_Embedding.e_proofstate + a21 ncb in + FStar_Compiler_Util.bind_opt + uu___41 + (fun ps + -> + let ps1 = + FStar_Tactics_Types.set_ps_psc + psc ps in + let r1 = + let uu___42 + = + t a110 + a22 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 + a201 in + FStar_Tactics_Monad.run_safe + uu___42 + ps1 in + let uu___42 + = + let uu___43 + = + FStar_Tactics_Embedding.e_result + er in + let uu___44 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed + uu___43 + uu___44 + r1 ncb in + FStar_Pervasives_Native.Some + uu___42))))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_1 : + 'r 't1 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::[] -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___2 + (fun a11 -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe cb a2 in + FStar_Compiler_Util.bind_opt uu___3 + (fun ps -> + let r1 = + let uu___4 = t a11 in + FStar_Tactics_Monad.run_safe uu___4 ps in + let uu___4 = + let uu___5 = + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu___5 cb r1 in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_2 : + 'r 't1 't2 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::[] -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___3 + (fun a11 -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___4 + (fun a21 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe cb + a3 in + FStar_Compiler_Util.bind_opt uu___5 + (fun ps -> + let r1 = + let uu___6 = t a11 a21 in + FStar_Tactics_Monad.run_safe uu___6 ps in + let uu___6 = + let uu___7 = + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu___7 cb + r1 in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_3 : + 'r 't1 't2 't3 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3)::[] + -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun a11 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___5 + (fun a21 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a31 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a4 in + FStar_Compiler_Util.bind_opt uu___7 + (fun ps -> + let r1 = + let uu___8 = t a11 a21 a31 in + FStar_Tactics_Monad.run_safe uu___8 + ps in + let uu___8 = + let uu___9 = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___9 cb r1 in + FStar_Pervasives_Native.Some uu___8)))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_4 : + 'r 't1 't2 't3 't4 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::[] -> + let uu___5 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___5 + (fun a11 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a21 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a31 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e4 + cb a4 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a41 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a5 in + FStar_Compiler_Util.bind_opt uu___9 + (fun ps -> + let r1 = + let uu___10 = + t a11 a21 a31 a41 in + FStar_Tactics_Monad.run_safe + uu___10 ps in + let uu___10 = + let uu___11 = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___11 cb r1 in + FStar_Pervasives_Native.Some + uu___10))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_5 : + 'r 't1 't2 't3 't4 't5 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5)::[] -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a11 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a21 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e3 cb + a3 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a31 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e4 + cb a4 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a41 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a51 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a6 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun ps -> + let r1 = + let uu___12 = + t a11 a21 a31 a41 + a51 in + FStar_Tactics_Monad.run_safe + uu___12 ps in + let uu___12 = + let uu___13 = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___13 cb r1 in + FStar_Pervasives_Native.Some + uu___12)))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_6 : + 'r 't1 't2 't3 't4 't5 't6 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5)::(a7, uu___6)::[] -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a11 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a21 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e3 cb + a3 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a31 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a41 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a51 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a61 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a7 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun ps -> + let r1 = + let uu___14 = + t a11 a21 + a31 a41 + a51 a61 in + FStar_Tactics_Monad.run_safe + uu___14 ps in + let uu___14 = + let uu___15 = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___15 cb + r1 in + FStar_Pervasives_Native.Some + uu___14))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_7 : + 'r 't1 't2 't3 't4 't5 't6 't7 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, uu___5)::(a7, uu___6):: + (a8, uu___7)::[] -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a11 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a21 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e3 + cb a3 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a31 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a41 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a51 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a61 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a71 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a8 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun ps -> + let r1 = + let uu___16 + = + t a11 a21 + a31 a41 + a51 a61 + a71 in + FStar_Tactics_Monad.run_safe + uu___16 + ps in + let uu___16 + = + let uu___17 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___17 + cb r1 in + FStar_Pervasives_Native.Some + uu___16)))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_8 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8)::[] -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a11 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e2 cb + a2 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a21 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___11 + (fun a31 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a41 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a51 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a61 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a71 -> + let uu___16 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a81 + -> + let uu___17 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a9 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun ps + -> + let r1 = + let uu___18 + = + t a11 a21 + a31 a41 + a51 a61 + a71 a81 in + FStar_Tactics_Monad.run_safe + uu___18 + ps in + let uu___18 + = + let uu___19 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___19 + cb r1 in + FStar_Pervasives_Native.Some + uu___18))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_9 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::[] -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a11 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed e2 + cb a2 in + FStar_Compiler_Util.bind_opt uu___11 + (fun a21 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a31 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a41 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a51 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a61 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a71 -> + let uu___17 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a81 + -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a91 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a10 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun ps + -> + let r1 = + let uu___20 + = + t a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 in + FStar_Tactics_Monad.run_safe + uu___20 + ps in + let uu___20 + = + let uu___21 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___21 + cb r1 in + FStar_Pervasives_Native.Some + uu___20)))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_10 : + 'r 't1 't10 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> 't8 -> 't9 -> 't10 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10)::[] -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed e1 cb + a1 in + FStar_Compiler_Util.bind_opt uu___11 + (fun a12 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed e2 + cb a2 in + FStar_Compiler_Util.bind_opt uu___12 + (fun a21 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a31 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a41 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a51 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a61 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a71 -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a81 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a91 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a101 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a11 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun ps + -> + let r1 = + let uu___22 + = + t a12 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 in + FStar_Tactics_Monad.run_safe + uu___22 + ps in + let uu___22 + = + let uu___23 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___23 + cb r1 in + FStar_Pervasives_Native.Some + uu___22))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_11 : + 'r 't1 't10 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> 't9 -> 't10 -> 't11 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10)::(a12, + uu___11)::[] + -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed e1 cb + a1 in + FStar_Compiler_Util.bind_opt uu___12 + (fun a13 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___13 + (fun a21 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a31 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a41 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a51 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a61 -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___18 + ( + fun a71 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a81 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a91 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a101 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a111 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a12 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun ps + -> + let r1 = + let uu___24 + = + t a13 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 in + FStar_Tactics_Monad.run_safe + uu___24 + ps in + let uu___24 + = + let uu___25 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___25 + cb r1 in + FStar_Pervasives_Native.Some + uu___24)))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_12 : + 'r 't1 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12)::[] -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed e1 + cb a1 in + FStar_Compiler_Util.bind_opt uu___13 + (fun a14 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a21 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a31 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a41 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a51 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a61 -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a71 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a81 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a91 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a101 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a111 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a121 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a13 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun ps + -> + let r1 = + let uu___26 + = + t a14 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 in + FStar_Tactics_Monad.run_safe + uu___26 + ps in + let uu___26 + = + let uu___27 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___27 + cb r1 in + FStar_Pervasives_Native.Some + uu___26))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_13 : + 'r 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> 't12 -> 't13 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12):: + (a14, uu___13)::[] -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___14 + (fun a15 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a21 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a31 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a41 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a51 -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a61 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a71 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a81 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a91 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a101 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a111 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a121 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a131 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a14 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun ps + -> + let r1 = + let uu___28 + = + t a15 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 in + FStar_Tactics_Monad.run_safe + uu___28 + ps in + let uu___28 + = + let uu___29 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___29 + cb r1 in + FStar_Pervasives_Native.Some + uu___28)))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_14 : + 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> 't14 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, + uu___2):: + (a4, uu___3)::(a5, uu___4):: + (a6, uu___5)::(a7, uu___6):: + (a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12):: + (a14, uu___13)::(a15, uu___14)::[] + -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a16 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a21 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a31 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a41 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a51 -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a61 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a71 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a81 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a91 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a101 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a111 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a121 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a131 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a141 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a15 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun ps + -> + let r1 = + let uu___30 + = + t a16 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 in + FStar_Tactics_Monad.run_safe + uu___30 + ps in + let uu___30 + = + let uu___31 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___31 + cb r1 in + FStar_Pervasives_Native.Some + uu___30))))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_15 : + 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 'r FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::(a16, uu___15)::[] + -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a17 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a21 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a31 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a41 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a51 -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a61 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a71 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a81 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a91 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a101 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a111 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a121 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a131 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a141 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a151 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a16 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun ps + -> + let r1 = + let uu___32 + = + t a17 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 in + FStar_Tactics_Monad.run_safe + uu___32 + ps in + let uu___32 + = + let uu___33 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___33 + cb r1 in + FStar_Pervasives_Native.Some + uu___32)))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_16 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> 't16 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::(a16, uu___15):: + (a17, uu___16)::[] -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a18 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a21 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a31 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a41 -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___21 + ( + fun a51 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a61 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a71 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a81 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a91 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a101 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a111 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a121 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a131 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a141 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a151 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a161 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a17 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun ps + -> + let r1 = + let uu___34 + = + t a18 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 in + FStar_Tactics_Monad.run_safe + uu___34 + ps in + let uu___34 + = + let uu___35 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___35 + cb r1 in + FStar_Pervasives_Native.Some + uu___34))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_17 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't2 't3 't4 't5 't6 't7 't8 + 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17)::[] + -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a19 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a21 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a31 -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a41 -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a51 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a61 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a71 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a81 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a91 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a101 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a111 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a121 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a131 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a141 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a151 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a161 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a171 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a18 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun ps + -> + let r1 = + let uu___36 + = + t a19 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 in + FStar_Tactics_Monad.run_safe + uu___36 + ps in + let uu___36 + = + let uu___37 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___37 + cb r1 in + FStar_Pervasives_Native.Some + uu___36)))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_18 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't2 't3 't4 't5 't6 't7 + 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17):: + (a19, uu___18)::[] -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a110 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a21 -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a31 -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a41 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a51 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a61 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a71 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a81 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a91 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a101 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a111 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a121 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a131 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a141 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a151 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a161 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a171 + -> + let uu___36 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a181 + -> + let uu___37 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a19 in + FStar_Compiler_Util.bind_opt + uu___37 + (fun ps + -> + let r1 = + let uu___38 + = + t a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 in + FStar_Tactics_Monad.run_safe + uu___38 + ps in + let uu___38 + = + let uu___39 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___39 + cb r1 in + FStar_Pervasives_Native.Some + uu___38))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_19 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't3 't4 't5 + 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 't19 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17):: + (a19, uu___18)::(a20, + uu___19)::[] + -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a110 -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a21 -> + let uu___22 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a31 -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a41 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a51 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a61 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a71 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a81 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a91 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a101 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a111 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a121 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a131 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a141 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a151 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a161 + -> + let uu___36 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a171 + -> + let uu___37 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a181 + -> + let uu___38 + = + FStar_TypeChecker_NBETerm.unembed + e19 cb + a19 in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a191 + -> + let uu___39 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a20 in + FStar_Compiler_Util.bind_opt + uu___39 + (fun ps + -> + let r1 = + let uu___40 + = + t a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 in + FStar_Tactics_Monad.run_safe + uu___40 + ps in + let uu___40 + = + let uu___41 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___41 + cb r1 in + FStar_Pervasives_Native.Some + uu___40)))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tactic_nbe_interpretation_20 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't20 't3 't4 + 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> + 't20 -> + 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 't19 + FStar_TypeChecker_NBETerm.embedding + -> + 't20 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18):: + (a20, uu___19):: + (a21, uu___20)::[] -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a110 -> + let uu___22 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a22 -> + let uu___23 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a31 -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a41 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a51 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a61 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a71 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a81 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a91 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a101 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a111 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a121 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a131 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a141 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a151 + -> + let uu___36 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a161 + -> + let uu___37 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a171 + -> + let uu___38 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a181 + -> + let uu___39 + = + FStar_TypeChecker_NBETerm.unembed + e19 cb + a19 in + FStar_Compiler_Util.bind_opt + uu___39 + (fun a191 + -> + let uu___40 + = + FStar_TypeChecker_NBETerm.unembed + e20 cb + a20 in + FStar_Compiler_Util.bind_opt + uu___40 + (fun a201 + -> + let uu___41 + = + FStar_TypeChecker_NBETerm.unembed + FStar_Tactics_Embedding.e_proofstate_nbe + cb a21 in + FStar_Compiler_Util.bind_opt + uu___41 + (fun ps + -> + let r1 = + let uu___42 + = + t a110 + a22 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 + a201 in + FStar_Tactics_Monad.run_safe + uu___42 + ps in + let uu___42 + = + let uu___43 + = + FStar_Tactics_Embedding.e_result_nbe + er in + FStar_TypeChecker_NBETerm.embed + uu___43 + cb r1 in + FStar_Pervasives_Native.Some + uu___42))))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_1 : + 'r 't1 . + ('t1 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___1 + (fun a11 -> + let r1 = f a11 in + let uu___2 = + let uu___3 = FStar_TypeChecker_Cfg.psc_range psc in + embed er uu___3 r1 ncb in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_2 : + 'r 't1 't2 . + ('t1 -> 't2 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::[] -> + let uu___2 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___2 + (fun a11 -> + let uu___3 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___3 + (fun a21 -> + let r1 = f a11 a21 in + let uu___4 = + let uu___5 = + FStar_TypeChecker_Cfg.psc_range psc in + embed er uu___5 r1 ncb in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_3 : + 'r 't1 't2 't3 . + ('t1 -> 't2 -> 't3 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::[] -> + let uu___3 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___3 + (fun a11 -> + let uu___4 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___4 + (fun a21 -> + let uu___5 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun a31 -> + let r1 = f a11 a21 a31 in + let uu___6 = + let uu___7 = + FStar_TypeChecker_Cfg.psc_range psc in + embed er uu___7 r1 ncb in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_4 : + 'r 't1 't2 't3 't4 . + ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3)::[] + -> + let uu___4 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___4 + (fun a11 -> + let uu___5 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun a21 -> + let uu___6 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a31 -> + let uu___7 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a41 -> + let r1 = f a11 a21 a31 a41 in + let uu___8 = + let uu___9 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er uu___9 r1 ncb in + FStar_Pervasives_Native.Some + uu___8)))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_5 : + 'r 't1 't2 't3 't4 't5 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::[] -> + let uu___5 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___5 + (fun a11 -> + let uu___6 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a21 -> + let uu___7 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a31 -> + let uu___8 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a41 -> + let uu___9 = unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___9 + (fun a51 -> + let r1 = + f a11 a21 a31 a41 a51 in + let uu___10 = + let uu___11 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er uu___11 r1 ncb in + FStar_Pervasives_Native.Some + uu___10))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_6 : + 'r 't1 't2 't3 't4 't5 't6 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, uu___5)::[] -> + let uu___6 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___6 + (fun a11 -> + let uu___7 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a21 -> + let uu___8 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a31 -> + let uu___9 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___9 + (fun a41 -> + let uu___10 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a51 -> + let uu___11 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a61 -> + let r1 = + f a11 a21 a31 a41 + a51 a61 in + let uu___12 = + let uu___13 = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er uu___13 + r1 ncb in + FStar_Pervasives_Native.Some + uu___12)))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_7 : + 'r 't1 't2 't3 't4 't5 't6 't7 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::[] -> + let uu___7 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___7 + (fun a11 -> + let uu___8 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a21 -> + let uu___9 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a31 -> + let uu___10 = unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a41 -> + let uu___11 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a51 -> + let uu___12 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a61 -> + let uu___13 = + unembed e7 a7 + ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a71 -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 in + let uu___14 + = + let uu___15 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___15 + r1 ncb in + FStar_Pervasives_Native.Some + uu___14))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_8 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::[] -> + let uu___8 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___8 + (fun a11 -> + let uu___9 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a21 -> + let uu___10 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a31 -> + let uu___11 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a41 -> + let uu___12 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a51 -> + let uu___13 = + unembed e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a61 -> + let uu___14 = + unembed e7 a7 + ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a71 -> + let uu___15 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a81 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 in + let uu___16 + = + let uu___17 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___17 + r1 ncb in + FStar_Pervasives_Native.Some + uu___16)))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_9 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8)::[] + -> + let uu___9 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___9 + (fun a11 -> + let uu___10 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___10 + (fun a21 -> + let uu___11 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a31 -> + let uu___12 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a41 -> + let uu___13 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a51 -> + let uu___14 = + unembed e6 a6 + ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a61 -> + let uu___15 = + unembed e7 + a7 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a71 -> + let uu___16 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a81 + -> + let uu___17 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a91 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 in + let uu___18 + = + let uu___19 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___19 + r1 ncb in + FStar_Pervasives_Native.Some + uu___18))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_10 : + 'r 't1 't10 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::[] -> + let uu___10 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___10 + (fun a11 -> + let uu___11 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt uu___11 + (fun a21 -> + let uu___12 = unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a31 -> + let uu___13 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a41 -> + let uu___14 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a51 -> + let uu___15 = + unembed e6 a6 + ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a61 -> + let uu___16 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + ( + fun a71 + -> + let uu___17 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a81 + -> + let uu___18 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a91 + -> + let uu___19 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a101 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 in + let uu___20 + = + let uu___21 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___21 + r1 ncb in + FStar_Pervasives_Native.Some + uu___20)))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_11 : + 'r 't1 't10 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10)::[] -> + let uu___11 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___11 + (fun a12 -> + let uu___12 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a21 -> + let uu___13 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a31 -> + let uu___14 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a41 -> + let uu___15 = + unembed e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a51 -> + let uu___16 = + unembed e6 + a6 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a61 -> + let uu___17 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a71 + -> + let uu___18 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a81 + -> + let uu___19 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a91 + -> + let uu___20 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a101 + -> + let uu___21 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a111 + -> + let r1 = + f a12 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 in + let uu___22 + = + let uu___23 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___23 + r1 ncb in + FStar_Pervasives_Native.Some + uu___22))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_12 : + 'r 't1 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::[] -> + let uu___12 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt uu___12 + (fun a13 -> + let uu___13 = unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a21 -> + let uu___14 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a31 -> + let uu___15 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a41 -> + let uu___16 = + unembed e5 a5 + ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a51 -> + let uu___17 + = + unembed e6 + a6 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a61 + -> + let uu___18 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a71 + -> + let uu___19 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a81 + -> + let uu___20 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a91 + -> + let uu___21 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a101 + -> + let uu___22 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a111 + -> + let uu___23 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a121 + -> + let r1 = + f a13 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 in + let uu___24 + = + let uu___25 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___25 + r1 ncb in + FStar_Pervasives_Native.Some + uu___24)))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_13 : + 'r 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, + uu___2):: + (a4, uu___3)::(a5, uu___4):: + (a6, uu___5)::(a7, uu___6):: + (a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12)::[] + -> + let uu___13 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a14 -> + let uu___14 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a21 -> + let uu___15 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a31 -> + let uu___16 = + unembed e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a41 -> + let uu___17 = + unembed e5 a5 + ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a51 -> + let uu___18 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a61 + -> + let uu___19 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a71 + -> + let uu___20 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a81 + -> + let uu___21 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a91 + -> + let uu___22 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a101 + -> + let uu___23 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a111 + -> + let uu___24 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a121 + -> + let uu___25 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a131 + -> + let r1 = + f a14 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 in + let uu___26 + = + let uu___27 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___27 + r1 ncb in + FStar_Pervasives_Native.Some + uu___26))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_interpretation_14 : + 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13)::[] + -> + let uu___14 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a15 -> + let uu___15 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a21 -> + let uu___16 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a31 -> + let uu___17 = + unembed e4 a4 + ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a41 -> + let uu___18 = + unembed e5 + a5 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a51 -> + let uu___19 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a61 + -> + let uu___20 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a71 + -> + let uu___21 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a81 + -> + let uu___22 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a91 + -> + let uu___23 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a101 + -> + let uu___24 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a111 + -> + let uu___25 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a121 + -> + let uu___26 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a131 + -> + let uu___27 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a141 + -> + let r1 = + f a15 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 in + let uu___28 + = + let uu___29 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___29 + r1 ncb in + FStar_Pervasives_Native.Some + uu___28)))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_15 : + 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::[] -> + let uu___15 = unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a16 -> + let uu___16 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a21 -> + let uu___17 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a31 -> + let uu___18 = + unembed e4 a4 + ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a41 -> + let uu___19 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + ( + fun a51 + -> + let uu___20 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a61 + -> + let uu___21 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a71 + -> + let uu___22 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a81 + -> + let uu___23 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a91 + -> + let uu___24 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a101 + -> + let uu___25 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a111 + -> + let uu___26 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a121 + -> + let uu___27 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a131 + -> + let uu___28 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a141 + -> + let uu___29 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a151 + -> + let r1 = + f a16 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 in + let uu___30 + = + let uu___31 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___31 + r1 ncb in + FStar_Pervasives_Native.Some + uu___30))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_16 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15)::[] + -> + let uu___16 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a17 -> + let uu___17 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a21 -> + let uu___18 = + unembed e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a31 -> + let uu___19 = + unembed e4 + a4 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a41 -> + let uu___20 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a51 + -> + let uu___21 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a61 + -> + let uu___22 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a71 + -> + let uu___23 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a81 + -> + let uu___24 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a91 + -> + let uu___25 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a101 + -> + let uu___26 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a111 + -> + let uu___27 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a121 + -> + let uu___28 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a131 + -> + let uu___29 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a141 + -> + let uu___30 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a151 + -> + let uu___31 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a161 + -> + let r1 = + f a17 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 in + let uu___32 + = + let uu___33 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___33 + r1 ncb in + FStar_Pervasives_Native.Some + uu___32)))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_17 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't2 't3 't4 't5 't6 't7 't8 + 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::[] -> + let uu___17 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a18 -> + let uu___18 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a21 -> + let uu___19 = + unembed e3 a3 + ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a31 -> + let uu___20 + = + unembed e4 + a4 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a41 + -> + let uu___21 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a51 + -> + let uu___22 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a61 + -> + let uu___23 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a71 + -> + let uu___24 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a81 + -> + let uu___25 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a91 + -> + let uu___26 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a101 + -> + let uu___27 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a111 + -> + let uu___28 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a121 + -> + let uu___29 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a131 + -> + let uu___30 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a141 + -> + let uu___31 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a151 + -> + let uu___32 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a161 + -> + let uu___33 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a171 + -> + let r1 = + f a18 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 in + let uu___34 + = + let uu___35 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___35 + r1 ncb in + FStar_Pervasives_Native.Some + uu___34))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_18 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't2 't3 't4 't5 't6 't7 + 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17)::[] + -> + let uu___18 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a19 -> + let uu___19 = + unembed e2 a2 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a21 -> + let uu___20 = + unembed e3 a3 + ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a31 -> + let uu___21 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a41 + -> + let uu___22 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a51 + -> + let uu___23 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a61 + -> + let uu___24 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a71 + -> + let uu___25 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a81 + -> + let uu___26 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a91 + -> + let uu___27 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a101 + -> + let uu___28 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a111 + -> + let uu___29 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a121 + -> + let uu___30 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a131 + -> + let uu___31 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a141 + -> + let uu___32 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a151 + -> + let uu___33 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a161 + -> + let uu___34 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a171 + -> + let uu___35 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a181 + -> + let r1 = + f a19 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 a181 in + let uu___36 + = + let uu___37 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___37 + r1 ncb in + FStar_Pervasives_Native.Some + uu___36)))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_19 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't3 't4 't5 + 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18)::[] -> + let uu___19 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a110 -> + let uu___20 = + unembed e2 a2 + ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a21 -> + let uu___21 = + unembed e3 + a3 ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a31 -> + let uu___22 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a41 + -> + let uu___23 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a51 + -> + let uu___24 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a61 + -> + let uu___25 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a71 + -> + let uu___26 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a81 + -> + let uu___27 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a91 + -> + let uu___28 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a101 + -> + let uu___29 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a111 + -> + let uu___30 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a121 + -> + let uu___31 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a131 + -> + let uu___32 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a141 + -> + let uu___33 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a151 + -> + let uu___34 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a161 + -> + let uu___35 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a171 + -> + let uu___36 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a181 + -> + let uu___37 + = + unembed + e19 a19 + ncb in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a191 + -> + let r1 = + f a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 in + let uu___38 + = + let uu___39 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___39 + r1 ncb in + FStar_Pervasives_Native.Some + uu___38))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_interpretation_20 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't20 't3 't4 + 't5 't6 't7 't8 't9 . + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding -> + 't13 FStar_Syntax_Embeddings_Base.embedding -> + 't14 FStar_Syntax_Embeddings_Base.embedding + -> + 't15 FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 't20 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + FStar_TypeChecker_Cfg.psc -> + FStar_Syntax_Embeddings_Base.norm_cb + -> + FStar_Syntax_Syntax.args + -> + FStar_Syntax_Syntax.term + FStar_Pervasives_Native.option + = + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + match args with + | (a1, uu___)::(a2, + uu___1):: + (a3, uu___2):: + (a4, uu___3):: + (a5, uu___4):: + (a6, uu___5):: + (a7, uu___6):: + (a8, uu___7):: + (a9, uu___8):: + (a10, uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18):: + (a20, uu___19)::[] -> + let uu___20 = + unembed e1 a1 ncb in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a110 -> + let uu___21 = + unembed e2 a2 + ncb in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a21 -> + let uu___22 + = + unembed + e3 a3 ncb in + FStar_Compiler_Util.bind_opt + uu___22 + ( + fun a31 + -> + let uu___23 + = + unembed + e4 a4 ncb in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a41 + -> + let uu___24 + = + unembed + e5 a5 ncb in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a51 + -> + let uu___25 + = + unembed + e6 a6 ncb in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a61 + -> + let uu___26 + = + unembed + e7 a7 ncb in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a71 + -> + let uu___27 + = + unembed + e8 a8 ncb in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a81 + -> + let uu___28 + = + unembed + e9 a9 ncb in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a91 + -> + let uu___29 + = + unembed + e10 a10 + ncb in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a101 + -> + let uu___30 + = + unembed + e11 a11 + ncb in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a111 + -> + let uu___31 + = + unembed + e12 a12 + ncb in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a121 + -> + let uu___32 + = + unembed + e13 a13 + ncb in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a131 + -> + let uu___33 + = + unembed + e14 a14 + ncb in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a141 + -> + let uu___34 + = + unembed + e15 a15 + ncb in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a151 + -> + let uu___35 + = + unembed + e16 a16 + ncb in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a161 + -> + let uu___36 + = + unembed + e17 a17 + ncb in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a171 + -> + let uu___37 + = + unembed + e18 a18 + ncb in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a181 + -> + let uu___38 + = + unembed + e19 a19 + ncb in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a191 + -> + let uu___39 + = + unembed + e20 a20 + ncb in + FStar_Compiler_Util.bind_opt + uu___39 + (fun a201 + -> + let r1 = + f a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 + a201 in + let uu___40 + = + let uu___41 + = + FStar_TypeChecker_Cfg.psc_range + psc in + embed er + uu___41 + r1 ncb in + FStar_Pervasives_Native.Some + uu___40)))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_1 : + 'r 't1 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::[] -> + let uu___1 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___1 + (fun a11 -> + let r1 = f a11 in + let uu___2 = FStar_TypeChecker_NBETerm.embed er cb r1 in + FStar_Pervasives_Native.Some uu___2) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_2 : + 'r 't1 't2 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::[] -> + let uu___2 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___2 + (fun a11 -> + let uu___3 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___3 + (fun a21 -> + let r1 = f a11 a21 in + let uu___4 = + FStar_TypeChecker_NBETerm.embed er cb r1 in + FStar_Pervasives_Native.Some uu___4)) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_3 : + 'r 't1 't2 't3 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::[] -> + let uu___3 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___3 + (fun a11 -> + let uu___4 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___4 + (fun a21 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___5 + (fun a31 -> + let r1 = f a11 a21 a31 in + let uu___6 = + FStar_TypeChecker_NBETerm.embed er cb r1 in + FStar_Pervasives_Native.Some uu___6))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_4 : + 'r 't1 't2 't3 't4 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3)::[] + -> + let uu___4 = FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___4 + (fun a11 -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___5 + (fun a21 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a31 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e4 + cb a4 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a41 -> + let r1 = f a11 a21 a31 a41 in + let uu___8 = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some uu___8)))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_5 : + 'r 't1 't2 't3 't4 't5 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::[] -> + let uu___5 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___5 + (fun a11 -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a21 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e3 cb + a3 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a31 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e4 + cb a4 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a41 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___9 + (fun a51 -> + let r1 = + f a11 a21 a31 a41 a51 in + let uu___10 = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___10))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_6 : + 'r 't1 't2 't3 't4 't5 't6 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5)::[] -> + let uu___6 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___6 + (fun a11 -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a21 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e3 cb + a3 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a31 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a41 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a51 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a61 -> + let r1 = + f a11 a21 a31 a41 + a51 a61 in + let uu___12 = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___12)))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_7 : + 'r 't1 't2 't3 't4 't5 't6 't7 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, uu___5)::(a7, uu___6)::[] -> + let uu___7 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___7 + (fun a11 -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a21 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e3 + cb a3 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a31 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___10 + (fun a41 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a51 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a61 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a71 -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 in + let uu___14 = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___14))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_8 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::[] -> + let uu___8 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___8 + (fun a11 -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e2 cb + a2 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a21 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a31 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a41 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a51 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a61 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a71 -> + let uu___15 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a81 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 in + let uu___16 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___16)))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_9 : + 'r 't1 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8)::[] + -> + let uu___9 = + FStar_TypeChecker_NBETerm.unembed e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___9 + (fun a11 -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e2 + cb a2 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a21 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___11 + (fun a31 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a41 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a51 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a61 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a71 -> + let uu___16 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a81 + -> + let uu___17 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a91 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 in + let uu___18 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___18))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_10 : + 'r 't1 't10 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::[] -> + let uu___10 = + FStar_TypeChecker_NBETerm.unembed e1 cb + a1 in + FStar_Compiler_Util.bind_opt uu___10 + (fun a11 -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed e2 + cb a2 in + FStar_Compiler_Util.bind_opt uu___11 + (fun a21 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___12 + (fun a31 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a41 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a51 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a61 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a71 -> + let uu___17 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a81 + -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a91 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a101 + -> + let r1 = + f a11 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 in + let uu___20 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___20)))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_11 : + 'r 't1 't10 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10)::[] -> + let uu___11 = + FStar_TypeChecker_NBETerm.unembed e1 cb + a1 in + FStar_Compiler_Util.bind_opt uu___11 + (fun a12 -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt uu___12 + (fun a21 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a31 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a41 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a51 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a61 -> + let uu___17 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___17 + ( + fun a71 + -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a81 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a91 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a101 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a111 + -> + let r1 = + f a12 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 in + let uu___22 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___22))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_12 : + 'r 't1 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::[] -> + let uu___12 = + FStar_TypeChecker_NBETerm.unembed e1 + cb a1 in + FStar_Compiler_Util.bind_opt uu___12 + (fun a13 -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___13 + (fun a21 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a31 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a41 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a51 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a61 -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a71 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a81 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a91 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a101 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a111 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a121 + -> + let r1 = + f a13 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 in + let uu___24 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___24)))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_13 : + 'r 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, uu___2):: + (a4, uu___3)::(a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, uu___7)::(a9, + uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12)::[] -> + let uu___13 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt uu___13 + (fun a14 -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a21 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a31 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a41 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a51 -> + let uu___18 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a61 + -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a71 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a81 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a91 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a101 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a111 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a121 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a131 + -> + let r1 = + f a14 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 in + let uu___26 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___26))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_14 : + 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 'r FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1)::(a3, + uu___2):: + (a4, uu___3)::(a5, uu___4):: + (a6, uu___5)::(a7, uu___6):: + (a8, uu___7)::(a9, uu___8):: + (a10, uu___9)::(a11, uu___10):: + (a12, uu___11)::(a13, uu___12):: + (a14, uu___13)::[] -> + let uu___14 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___14 + (fun a15 -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a21 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a31 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a41 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a51 -> + let uu___19 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a61 + -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a71 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a81 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a91 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a101 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a111 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a121 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a131 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a141 + -> + let r1 = + f a15 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 in + let uu___28 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___28)))))))))))))) + | uu___ -> FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_15 : + 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 'r FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::[] -> + let uu___15 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___15 + (fun a16 -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a21 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a31 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a41 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a51 -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a61 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a71 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a81 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a91 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a101 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a111 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a121 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a131 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a141 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a151 + -> + let r1 = + f a16 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 in + let uu___30 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___30))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_16 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, uu___11):: + (a13, uu___12)::(a14, uu___13):: + (a15, uu___14)::(a16, uu___15)::[] + -> + let uu___16 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___16 + (fun a17 -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a21 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a31 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a41 -> + let uu___20 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___20 + ( + fun a51 + -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a61 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a71 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a81 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a91 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a101 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a111 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a121 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a131 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a141 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a151 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a161 + -> + let r1 = + f a17 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 in + let uu___32 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___32)))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_17 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't2 't3 't4 't5 't6 't7 't8 + 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::[] -> + let uu___17 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___17 + (fun a18 -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a21 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a31 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a41 -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a51 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a61 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a71 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a81 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a91 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a101 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a111 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a121 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a131 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a141 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a151 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a161 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a171 + -> + let r1 = + f a18 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 in + let uu___34 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___34))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_18 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't2 't3 't4 't5 't6 't7 + 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, uu___3):: + (a5, uu___4)::(a6, uu___5):: + (a7, uu___6)::(a8, uu___7):: + (a9, uu___8)::(a10, uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17)::[] + -> + let uu___18 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___18 + (fun a19 -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a21 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a31 -> + let uu___21 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a41 + -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a51 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a61 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a71 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a81 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a91 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a101 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a111 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a121 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a131 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a141 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a151 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a161 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a171 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a181 + -> + let r1 = + f a19 a21 + a31 a41 + a51 a61 + a71 a81 + a91 a101 + a111 a121 + a131 a141 + a151 a161 + a171 a181 in + let uu___36 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___36)))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_19 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't3 't4 't5 + 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 't19 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10)::(a12, + uu___11):: + (a13, uu___12)::(a14, + uu___13):: + (a15, uu___14)::(a16, + uu___15):: + (a17, uu___16)::(a18, + uu___17):: + (a19, uu___18)::[] -> + let uu___19 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___19 + (fun a110 -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a21 -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a31 -> + let uu___22 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a41 + -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a51 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a61 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a71 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a81 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a91 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a101 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a111 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a121 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a131 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a141 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a151 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a161 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a171 + -> + let uu___36 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a181 + -> + let uu___37 + = + FStar_TypeChecker_NBETerm.unembed + e19 cb + a19 in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a191 + -> + let r1 = + f a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 in + let uu___38 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___38))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_total_nbe_interpretation_20 : + 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 't18 't19 't2 't20 't3 't4 + 't5 't6 't7 't8 't9 . + FStar_TypeChecker_NBETerm.nbe_cbs -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> 't18 -> 't19 -> 't20 -> 'r) + -> + 't1 FStar_TypeChecker_NBETerm.embedding -> + 't2 FStar_TypeChecker_NBETerm.embedding -> + 't3 FStar_TypeChecker_NBETerm.embedding -> + 't4 FStar_TypeChecker_NBETerm.embedding -> + 't5 FStar_TypeChecker_NBETerm.embedding -> + 't6 FStar_TypeChecker_NBETerm.embedding -> + 't7 FStar_TypeChecker_NBETerm.embedding -> + 't8 FStar_TypeChecker_NBETerm.embedding -> + 't9 FStar_TypeChecker_NBETerm.embedding -> + 't10 FStar_TypeChecker_NBETerm.embedding -> + 't11 FStar_TypeChecker_NBETerm.embedding -> + 't12 FStar_TypeChecker_NBETerm.embedding -> + 't13 FStar_TypeChecker_NBETerm.embedding -> + 't14 FStar_TypeChecker_NBETerm.embedding -> + 't15 FStar_TypeChecker_NBETerm.embedding + -> + 't16 + FStar_TypeChecker_NBETerm.embedding + -> + 't17 + FStar_TypeChecker_NBETerm.embedding + -> + 't18 + FStar_TypeChecker_NBETerm.embedding + -> + 't19 + FStar_TypeChecker_NBETerm.embedding + -> + 't20 + FStar_TypeChecker_NBETerm.embedding + -> + 'r + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_NBETerm.args + -> + FStar_TypeChecker_NBETerm.t + FStar_Pervasives_Native.option + = + fun cb -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun args -> + match args with + | (a1, uu___)::(a2, uu___1):: + (a3, uu___2)::(a4, + uu___3):: + (a5, uu___4)::(a6, + uu___5):: + (a7, uu___6)::(a8, + uu___7):: + (a9, uu___8)::(a10, + uu___9):: + (a11, uu___10):: + (a12, uu___11):: + (a13, uu___12):: + (a14, uu___13):: + (a15, uu___14):: + (a16, uu___15):: + (a17, uu___16):: + (a18, uu___17):: + (a19, uu___18):: + (a20, uu___19)::[] -> + let uu___20 = + FStar_TypeChecker_NBETerm.unembed + e1 cb a1 in + FStar_Compiler_Util.bind_opt + uu___20 + (fun a110 -> + let uu___21 = + FStar_TypeChecker_NBETerm.unembed + e2 cb a2 in + FStar_Compiler_Util.bind_opt + uu___21 + (fun a21 -> + let uu___22 = + FStar_TypeChecker_NBETerm.unembed + e3 cb a3 in + FStar_Compiler_Util.bind_opt + uu___22 + (fun a31 -> + let uu___23 + = + FStar_TypeChecker_NBETerm.unembed + e4 cb a4 in + FStar_Compiler_Util.bind_opt + uu___23 + (fun a41 + -> + let uu___24 + = + FStar_TypeChecker_NBETerm.unembed + e5 cb a5 in + FStar_Compiler_Util.bind_opt + uu___24 + (fun a51 + -> + let uu___25 + = + FStar_TypeChecker_NBETerm.unembed + e6 cb a6 in + FStar_Compiler_Util.bind_opt + uu___25 + (fun a61 + -> + let uu___26 + = + FStar_TypeChecker_NBETerm.unembed + e7 cb a7 in + FStar_Compiler_Util.bind_opt + uu___26 + (fun a71 + -> + let uu___27 + = + FStar_TypeChecker_NBETerm.unembed + e8 cb a8 in + FStar_Compiler_Util.bind_opt + uu___27 + (fun a81 + -> + let uu___28 + = + FStar_TypeChecker_NBETerm.unembed + e9 cb a9 in + FStar_Compiler_Util.bind_opt + uu___28 + (fun a91 + -> + let uu___29 + = + FStar_TypeChecker_NBETerm.unembed + e10 cb + a10 in + FStar_Compiler_Util.bind_opt + uu___29 + (fun a101 + -> + let uu___30 + = + FStar_TypeChecker_NBETerm.unembed + e11 cb + a11 in + FStar_Compiler_Util.bind_opt + uu___30 + (fun a111 + -> + let uu___31 + = + FStar_TypeChecker_NBETerm.unembed + e12 cb + a12 in + FStar_Compiler_Util.bind_opt + uu___31 + (fun a121 + -> + let uu___32 + = + FStar_TypeChecker_NBETerm.unembed + e13 cb + a13 in + FStar_Compiler_Util.bind_opt + uu___32 + (fun a131 + -> + let uu___33 + = + FStar_TypeChecker_NBETerm.unembed + e14 cb + a14 in + FStar_Compiler_Util.bind_opt + uu___33 + (fun a141 + -> + let uu___34 + = + FStar_TypeChecker_NBETerm.unembed + e15 cb + a15 in + FStar_Compiler_Util.bind_opt + uu___34 + (fun a151 + -> + let uu___35 + = + FStar_TypeChecker_NBETerm.unembed + e16 cb + a16 in + FStar_Compiler_Util.bind_opt + uu___35 + (fun a161 + -> + let uu___36 + = + FStar_TypeChecker_NBETerm.unembed + e17 cb + a17 in + FStar_Compiler_Util.bind_opt + uu___36 + (fun a171 + -> + let uu___37 + = + FStar_TypeChecker_NBETerm.unembed + e18 cb + a18 in + FStar_Compiler_Util.bind_opt + uu___37 + (fun a181 + -> + let uu___38 + = + FStar_TypeChecker_NBETerm.unembed + e19 cb + a19 in + FStar_Compiler_Util.bind_opt + uu___38 + (fun a191 + -> + let uu___39 + = + FStar_TypeChecker_NBETerm.unembed + e20 cb + a20 in + FStar_Compiler_Util.bind_opt + uu___39 + (fun a201 + -> + let r1 = + f a110 + a21 a31 + a41 a51 + a61 a71 + a81 a91 + a101 a111 + a121 a131 + a141 a151 + a161 a171 + a181 a191 + a201 in + let uu___40 + = + FStar_TypeChecker_NBETerm.embed + er cb r1 in + FStar_Pervasives_Native.Some + uu___40)))))))))))))))))))) + | uu___ -> + FStar_Pervasives_Native.None +let mk_tac_step_1 : + 'nr 'nt1 'r 't1 . + Prims.int -> + Prims.string -> + ('t1 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nr FStar_Tactics_Monad.tac) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun er -> + fun nt -> + fun ne1 -> + fun ner -> + mk name (Prims.of_int (2)) nunivs + (mk_tactic_interpretation_1 t e1 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_1 cb nt ne1 ner uu___) +let mk_tac_step_2 : + 'nr 'nt1 'nt2 'r 't1 't2 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nr FStar_Tactics_Monad.tac) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ner -> + mk name (Prims.of_int (3)) nunivs + (mk_tactic_interpretation_2 t e1 e2 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_2 cb nt ne1 ne2 ner + uu___) +let mk_tac_step_3 : + 'nr 'nt1 'nt2 'nt3 'r 't1 't2 't3 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nr FStar_Tactics_Monad.tac) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ner -> + mk name (Prims.of_int (4)) nunivs + (mk_tactic_interpretation_3 t e1 e2 e3 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_3 cb nt ne1 ne2 + ne3 ner uu___) +let mk_tac_step_4 : + 'nr 'nt1 'nt2 'nt3 'nt4 'r 't1 't2 't3 't4 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> 'nt3 -> 'nt4 -> 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ner -> + mk name (Prims.of_int (5)) nunivs + (mk_tactic_interpretation_4 t e1 e2 e3 e4 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_4 cb nt ne1 + ne2 ne3 ne4 ner uu___) +let mk_tac_step_5 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'r 't1 't2 't3 't4 't5 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r FStar_Tactics_Monad.tac) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> 'nt5 -> 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ner -> + mk name (Prims.of_int (6)) nunivs + (mk_tactic_interpretation_5 t e1 e2 e3 e4 + e5 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_5 cb nt + ne1 ne2 ne3 ne4 ne5 ner uu___) +let mk_tac_step_6 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'r 't1 't2 't3 't4 't5 't6 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> 'nt6 -> 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding -> + 'nt6 FStar_TypeChecker_NBETerm.embedding + -> + 'nr FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ner -> + mk name (Prims.of_int (7)) nunivs + (mk_tactic_interpretation_6 t e1 e2 + e3 e4 e5 e6 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_6 + cb nt ne1 ne2 ne3 ne4 ne5 ne6 + ner uu___) +let mk_tac_step_7 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'r 't1 't2 't3 't4 't5 't6 't7 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ner -> + mk name (Prims.of_int (8)) nunivs + (mk_tactic_interpretation_7 t e1 + e2 e3 e4 e5 e6 e7 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_tactic_nbe_interpretation_7 + cb nt ne1 ne2 ne3 ne4 ne5 + ne6 ne7 ner uu___) +let mk_tac_step_8 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'r 't1 't2 't3 't4 't5 't6 't7 + 't8 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ner -> + mk name (Prims.of_int (9)) + nunivs + (mk_tactic_interpretation_8 t + e1 e2 e3 e4 e5 e6 e7 e8 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs args in + mk_tactic_nbe_interpretation_8 + cb nt ne1 ne2 ne3 ne4 + ne5 ne6 ne7 ne8 ner + uu___) +let mk_tac_step_9 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't2 't3 't4 't5 't6 + 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> 't7 -> 't8 -> 't9 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nr FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ner -> + mk name (Prims.of_int (10)) + nunivs + (mk_tactic_interpretation_9 + t e1 e2 e3 e4 e5 e6 e7 + e8 e9 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs args in + mk_tactic_nbe_interpretation_9 + cb nt ne1 ne2 ne3 + ne4 ne5 ne6 ne7 + ne8 ne9 ner uu___) +let mk_tac_step_10 : + 'nr 'nt1 'nt10 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't2 't3 + 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> 't8 -> 't9 -> 't10 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ner -> + mk name + (Prims.of_int (11)) + nunivs + (mk_tactic_interpretation_10 + t e1 e2 e3 e4 e5 + e6 e7 e8 e9 e10 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs + args in + mk_tactic_nbe_interpretation_10 + cb nt ne1 ne2 + ne3 ne4 ne5 + ne6 ne7 ne8 + ne9 ne10 ner + uu___) +let mk_tac_step_11 : + 'nr 'nt1 'nt10 'nt11 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 + 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> 't10 -> 't11 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ner -> + mk name + (Prims.of_int (12)) + nunivs + (mk_tactic_interpretation_11 + t e1 e2 e3 e4 + e5 e6 e7 e8 e9 + e10 e11 er) + (fun cb -> + fun args -> + let uu___ = + drop + nunivs + args in + mk_tactic_nbe_interpretation_11 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ner uu___) +let mk_tac_step_12 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 + 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ner -> + mk name + (Prims.of_int (13)) + nunivs + (mk_tactic_interpretation_12 + t e1 e2 e3 + e4 e5 e6 + e7 e8 e9 + e10 e11 + e12 er) + (fun cb -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_12 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ner + uu___) +let mk_tac_step_13 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r + 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> 't13 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ner -> + mk name + (Prims.of_int (14)) + nunivs + ( + mk_tactic_interpretation_13 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 er) + ( + fun cb -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_13 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ner uu___) +let mk_tac_step_14 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 + 'nt9 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> 't14 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ne14 -> + fun ner + -> + mk name + (Prims.of_int (15)) + nunivs + (mk_tactic_interpretation_14 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_14 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ner + uu___) +let mk_tac_step_15 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 + 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 + 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ne14 + -> + fun ne15 + -> + fun ner + -> + mk name + (Prims.of_int (16)) + nunivs + (mk_tactic_interpretation_15 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_15 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ner uu___) +let mk_tac_step_16 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt2 'nt3 'nt4 'nt5 'nt6 + 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 + 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ner + -> + mk name + (Prims.of_int (17)) + nunivs + (mk_tactic_interpretation_16 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_16 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ner + uu___) +let mk_tac_step_17 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt2 'nt3 'nt4 + 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 + 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ner + -> + mk name + (Prims.of_int (18)) + nunivs + (mk_tactic_interpretation_17 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_17 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ner uu___) +let mk_tac_step_18 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt2 'nt3 + 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 + 't17 't18 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ner + -> + mk name + (Prims.of_int (19)) + nunivs + (mk_tactic_interpretation_18 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_18 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ner + uu___) +let mk_tac_step_19 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt19 'nt2 + 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 + 't16 't17 't18 't19 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> + 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nt19 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt19 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 + -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ne19 + -> + fun ner + -> + mk name + (Prims.of_int (20)) + nunivs + (mk_tactic_interpretation_19 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + e19 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_19 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ne19 + ner uu___) +let mk_tac_step_20 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt19 'nt2 + 'nt20 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 + 't15 't16 't17 't18 't19 't2 't20 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> + 't18 -> + 't19 -> + 't20 -> + 'r FStar_Tactics_Monad.tac) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 't20 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nt19 -> + 'nt20 -> + 'nr + FStar_Tactics_Monad.tac) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt19 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt20 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun t -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun nt -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 + -> + fun ne10 + -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ne19 + -> + fun ne20 + -> + fun ner + -> + mk name + (Prims.of_int (21)) + nunivs + (mk_tactic_interpretation_20 + t e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + e19 e20 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_tactic_nbe_interpretation_20 + cb nt ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ne19 + ne20 ner + uu___) +let mk_total_step_1 : + 'nr 'nt1 'r 't1 . + Prims.int -> + Prims.string -> + ('t1 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nr) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun er -> + fun nf -> + fun ne1 -> + fun ner -> + mk name Prims.int_one nunivs + (mk_total_interpretation_1 f e1 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_1 cb nf ne1 ner uu___) +let mk_total_step_2 : + 'nr 'nt1 'nt2 'r 't1 't2 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nr) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ner -> + mk name (Prims.of_int (2)) nunivs + (mk_total_interpretation_2 f e1 e2 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_2 cb nf ne1 ne2 ner + uu___) +let mk_total_step_3 : + 'nr 'nt1 'nt2 'nt3 'r 't1 't2 't3 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nr) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ner -> + mk name (Prims.of_int (3)) nunivs + (mk_total_interpretation_3 f e1 e2 e3 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_3 cb nf ne1 ne2 + ne3 ner uu___) +let mk_total_step_4 : + 'nr 'nt1 'nt2 'nt3 'nt4 'r 't1 't2 't3 't4 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nr) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ner -> + mk name (Prims.of_int (4)) nunivs + (mk_total_interpretation_4 f e1 e2 e3 e4 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_4 cb nf ne1 + ne2 ne3 ne4 ner uu___) +let mk_total_step_5 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'r 't1 't2 't3 't4 't5 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nr) -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding -> + 'nr FStar_TypeChecker_NBETerm.embedding -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ner -> + mk name (Prims.of_int (5)) nunivs + (mk_total_interpretation_5 f e1 e2 e3 e4 + e5 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_5 cb nf + ne1 ne2 ne3 ne4 ne5 ner uu___) +let mk_total_step_6 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'r 't1 't2 't3 't4 't5 't6 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding -> + 'nt6 FStar_TypeChecker_NBETerm.embedding + -> + 'nr FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ner -> + mk name (Prims.of_int (6)) nunivs + (mk_total_interpretation_6 f e1 e2 e3 + e4 e5 e6 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_6 cb + nf ne1 ne2 ne3 ne4 ne5 ne6 ner + uu___) +let mk_total_step_7 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'r 't1 't2 't3 't4 't5 't6 't7 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding -> + 'nt5 FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ner -> + mk name (Prims.of_int (7)) nunivs + (mk_total_interpretation_7 f e1 + e2 e3 e4 e5 e6 e7 er) + (fun cb -> + fun args -> + let uu___ = drop nunivs args in + mk_total_nbe_interpretation_7 + cb nf ne1 ne2 ne3 ne4 ne5 + ne6 ne7 ner uu___) +let mk_total_step_8 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'r 't1 't2 't3 't4 't5 't6 't7 + 't8 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding -> + 'nt4 FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ner -> + mk name (Prims.of_int (8)) + nunivs + (mk_total_interpretation_8 f + e1 e2 e3 e4 e5 e6 e7 e8 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs args in + mk_total_nbe_interpretation_8 + cb nf ne1 ne2 ne3 ne4 + ne5 ne6 ne7 ne8 ner + uu___) +let mk_total_step_9 : + 'nr 'nt1 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't2 't3 't4 't5 't6 + 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding -> + 'nt3 FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ner -> + mk name (Prims.of_int (9)) + nunivs + (mk_total_interpretation_9 + f e1 e2 e3 e4 e5 e6 e7 + e8 e9 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs args in + mk_total_nbe_interpretation_9 + cb nf ne1 ne2 ne3 + ne4 ne5 ne6 ne7 + ne8 ne9 ner uu___) +let mk_total_step_10 : + 'nr 'nt1 'nt10 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't2 't3 + 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> 'nt9 -> 'nt10 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding -> + 'nt2 FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ner -> + mk name + (Prims.of_int (10)) + nunivs + (mk_total_interpretation_10 + f e1 e2 e3 e4 e5 + e6 e7 e8 e9 e10 er) + (fun cb -> + fun args -> + let uu___ = + drop nunivs + args in + mk_total_nbe_interpretation_10 + cb nf ne1 ne2 + ne3 ne4 ne5 + ne6 ne7 ne8 + ne9 ne10 ner + uu___) +let mk_total_step_11 : + 'nr 'nt1 'nt10 'nt11 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 + 't11 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> 'nt11 -> 'nr) + -> + 'nt1 FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ner -> + mk name + (Prims.of_int (11)) + nunivs + (mk_total_interpretation_11 + f e1 e2 e3 e4 + e5 e6 e7 e8 e9 + e10 e11 er) + (fun cb -> + fun args -> + let uu___ = + drop + nunivs + args in + mk_total_nbe_interpretation_11 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ner uu___) +let mk_total_step_12 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 + 't10 't11 't12 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ner -> + mk name + (Prims.of_int (12)) + nunivs + (mk_total_interpretation_12 + f e1 e2 e3 + e4 e5 e6 + e7 e8 e9 + e10 e11 + e12 er) + (fun cb -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_12 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ner + uu___) +let mk_total_step_13 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r + 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 'r FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ner -> + mk name + (Prims.of_int (13)) + nunivs + ( + mk_total_interpretation_13 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 er) + ( + fun cb -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_13 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ner uu___) +let mk_total_step_14 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 + 'nt9 'r 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ne14 -> + fun ner + -> + mk name + (Prims.of_int (14)) + nunivs + (mk_total_interpretation_14 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_14 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ner + uu___) +let mk_total_step_15 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt2 'nt3 'nt4 'nt5 'nt6 'nt7 + 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't2 't3 't4 't5 't6 't7 + 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 -> + fun ne14 + -> + fun ne15 + -> + fun ner + -> + mk name + (Prims.of_int (15)) + nunivs + (mk_total_interpretation_15 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_15 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ner uu___) +let mk_total_step_16 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt2 'nt3 'nt4 'nt5 'nt6 + 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 't2 't3 't4 't5 + 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ner + -> + mk name + (Prims.of_int (16)) + nunivs + (mk_total_interpretation_16 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_16 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ner + uu___) +let mk_total_step_17 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt2 'nt3 'nt4 + 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 't17 + 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ner + -> + mk name + (Prims.of_int (17)) + nunivs + (mk_total_interpretation_17 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_17 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ner uu___) +let mk_total_step_18 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt2 'nt3 + 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 't16 + 't17 't18 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ner + -> + mk name + (Prims.of_int (18)) + nunivs + (mk_total_interpretation_18 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_18 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ner + uu___) +let mk_total_step_19 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt19 'nt2 + 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 't15 + 't16 't17 't18 't19 't2 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> 't17 -> 't18 -> 't19 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nt19 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt19 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 -> + fun ne10 + -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ne19 + -> + fun ner + -> + mk name + (Prims.of_int (19)) + nunivs + (mk_total_interpretation_19 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + e19 er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_19 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ne19 + ner uu___) +let mk_total_step_20 : + 'nr 'nt1 'nt10 'nt11 'nt12 'nt13 'nt14 'nt15 'nt16 'nt17 'nt18 'nt19 'nt2 + 'nt20 'nt3 'nt4 'nt5 'nt6 'nt7 'nt8 'nt9 'r 't1 't10 't11 't12 't13 't14 + 't15 't16 't17 't18 't19 't2 't20 't3 't4 't5 't6 't7 't8 't9 . + Prims.int -> + Prims.string -> + ('t1 -> + 't2 -> + 't3 -> + 't4 -> + 't5 -> + 't6 -> + 't7 -> + 't8 -> + 't9 -> + 't10 -> + 't11 -> + 't12 -> + 't13 -> + 't14 -> + 't15 -> + 't16 -> + 't17 -> 't18 -> 't19 -> 't20 -> 'r) + -> + 't1 FStar_Syntax_Embeddings_Base.embedding -> + 't2 FStar_Syntax_Embeddings_Base.embedding -> + 't3 FStar_Syntax_Embeddings_Base.embedding -> + 't4 FStar_Syntax_Embeddings_Base.embedding -> + 't5 FStar_Syntax_Embeddings_Base.embedding -> + 't6 FStar_Syntax_Embeddings_Base.embedding -> + 't7 FStar_Syntax_Embeddings_Base.embedding -> + 't8 FStar_Syntax_Embeddings_Base.embedding -> + 't9 FStar_Syntax_Embeddings_Base.embedding -> + 't10 FStar_Syntax_Embeddings_Base.embedding -> + 't11 FStar_Syntax_Embeddings_Base.embedding -> + 't12 FStar_Syntax_Embeddings_Base.embedding + -> + 't13 FStar_Syntax_Embeddings_Base.embedding + -> + 't14 + FStar_Syntax_Embeddings_Base.embedding + -> + 't15 + FStar_Syntax_Embeddings_Base.embedding + -> + 't16 + FStar_Syntax_Embeddings_Base.embedding + -> + 't17 + FStar_Syntax_Embeddings_Base.embedding + -> + 't18 + FStar_Syntax_Embeddings_Base.embedding + -> + 't19 + FStar_Syntax_Embeddings_Base.embedding + -> + 't20 + FStar_Syntax_Embeddings_Base.embedding + -> + 'r + FStar_Syntax_Embeddings_Base.embedding + -> + ('nt1 -> + 'nt2 -> + 'nt3 -> + 'nt4 -> + 'nt5 -> + 'nt6 -> + 'nt7 -> + 'nt8 -> + 'nt9 -> + 'nt10 -> + 'nt11 -> + 'nt12 -> + 'nt13 -> + 'nt14 -> + 'nt15 -> + 'nt16 -> + 'nt17 -> + 'nt18 -> + 'nt19 -> + 'nt20 -> + 'nr) + -> + 'nt1 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt2 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt3 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt4 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt5 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt6 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt7 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt8 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt9 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt10 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt11 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt12 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt13 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt14 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt15 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt16 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt17 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt18 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt19 + FStar_TypeChecker_NBETerm.embedding + -> + 'nt20 + FStar_TypeChecker_NBETerm.embedding + -> + 'nr + FStar_TypeChecker_NBETerm.embedding + -> + FStar_TypeChecker_Cfg.primitive_step + = + fun nunivs -> + fun name -> + fun f -> + fun e1 -> + fun e2 -> + fun e3 -> + fun e4 -> + fun e5 -> + fun e6 -> + fun e7 -> + fun e8 -> + fun e9 -> + fun e10 -> + fun e11 -> + fun e12 -> + fun e13 -> + fun e14 -> + fun e15 -> + fun e16 -> + fun e17 -> + fun e18 -> + fun e19 -> + fun e20 -> + fun er -> + fun nf -> + fun ne1 -> + fun ne2 -> + fun ne3 -> + fun ne4 -> + fun ne5 -> + fun ne6 -> + fun ne7 -> + fun ne8 -> + fun ne9 + -> + fun ne10 + -> + fun ne11 + -> + fun ne12 + -> + fun ne13 + -> + fun ne14 + -> + fun ne15 + -> + fun ne16 + -> + fun ne17 + -> + fun ne18 + -> + fun ne19 + -> + fun ne20 + -> + fun ner + -> + mk name + (Prims.of_int (20)) + nunivs + (mk_total_interpretation_20 + f e1 e2 + e3 e4 e5 + e6 e7 e8 + e9 e10 + e11 e12 + e13 e14 + e15 e16 + e17 e18 + e19 e20 + er) + (fun cb + -> + fun args + -> + let uu___ + = + drop + nunivs + args in + mk_total_nbe_interpretation_20 + cb nf ne1 + ne2 ne3 + ne4 ne5 + ne6 ne7 + ne8 ne9 + ne10 ne11 + ne12 ne13 + ne14 ne15 + ne16 ne17 + ne18 ne19 + ne20 ner + uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Interpreter.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Interpreter.ml similarity index 82% rename from ocaml/fstar-lib/generated/FStar_Tactics_Interpreter.ml rename to ocaml/fstar-lib/generated/FStar_Tactics_V2_Interpreter.ml index ea7cc1aba40..e2b24be28ab 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Interpreter.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Interpreter.ml @@ -3,27 +3,25 @@ let (tacdbg : Prims.bool FStar_Compiler_Effect.ref) = FStar_Compiler_Util.mk_ref false let unembed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> 'uuuuu FStar_Pervasives_Native.option = fun ea -> - fun a -> - fun norm_cb -> - let uu___ = FStar_Syntax_Embeddings.unembed ea a in - uu___ true norm_cb + fun a -> fun norm_cb -> FStar_Syntax_Embeddings_Base.unembed ea a norm_cb let embed : 'uuuuu . - 'uuuuu FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> - 'uuuuu -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.term + 'uuuuu -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.term = fun ea -> fun r -> fun x -> fun norm_cb -> - let uu___ = FStar_Syntax_Embeddings.embed ea x in + let uu___ = FStar_Syntax_Embeddings_Base.embed ea x in uu___ r FStar_Pervasives_Native.None norm_cb let (native_tactics_steps : unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = @@ -56,8 +54,8 @@ let mk_total_step_1' : Prims.int -> Prims.string -> ('uuuuu -> 'uuuuu1) -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - 'uuuuu1 FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> ('uuuuu2 -> 'uuuuu3) -> 'uuuuu2 FStar_TypeChecker_NBETerm.embedding -> 'uuuuu3 FStar_TypeChecker_NBETerm.embedding -> @@ -72,8 +70,8 @@ let mk_total_step_1' : fun ena -> fun enr -> let uu___ = - FStar_Tactics_InterpFuns.mk_total_step_1 uarity nm f ea - er nf ena enr in + FStar_Tactics_V2_InterpFuns.mk_total_step_1 uarity nm f + ea er nf ena enr in let uu___1 = FStar_Ident.lid_of_str (Prims.op_Hat "FStar.Tactics.Types." nm) in @@ -99,8 +97,8 @@ let mk_total_step_1'_psc : Prims.int -> Prims.string -> (FStar_TypeChecker_Cfg.psc -> 'uuuuu -> 'uuuuu1) -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - 'uuuuu1 FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> (FStar_TypeChecker_Cfg.psc -> 'uuuuu2 -> 'uuuuu3) -> 'uuuuu2 FStar_TypeChecker_NBETerm.embedding -> 'uuuuu3 FStar_TypeChecker_NBETerm.embedding -> @@ -115,8 +113,8 @@ let mk_total_step_1'_psc : fun ena -> fun enr -> let uu___ = - FStar_Tactics_InterpFuns.mk_total_step_1_psc uarity nm f - ea er nf ena enr in + FStar_Tactics_V2_InterpFuns.mk_total_step_1_psc uarity nm + f ea er nf ena enr in let uu___1 = FStar_Ident.lid_of_str (Prims.op_Hat "FStar.Tactics.Types." nm) in @@ -142,9 +140,9 @@ let mk_total_step_2' : Prims.int -> Prims.string -> ('uuuuu -> 'uuuuu1 -> 'uuuuu2) -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - 'uuuuu1 FStar_Syntax_Embeddings.embedding -> - 'uuuuu2 FStar_Syntax_Embeddings.embedding -> + 'uuuuu FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu1 FStar_Syntax_Embeddings_Base.embedding -> + 'uuuuu2 FStar_Syntax_Embeddings_Base.embedding -> ('uuuuu3 -> 'uuuuu4 -> 'uuuuu5) -> 'uuuuu3 FStar_TypeChecker_NBETerm.embedding -> 'uuuuu4 FStar_TypeChecker_NBETerm.embedding -> @@ -162,8 +160,8 @@ let mk_total_step_2' : fun enb -> fun enr -> let uu___ = - FStar_Tactics_InterpFuns.mk_total_step_2 uarity nm f - ea eb er nf ena enb enr in + FStar_Tactics_V2_InterpFuns.mk_total_step_2 uarity nm + f ea eb er nf ena enb enr in let uu___1 = FStar_Ident.lid_of_str (Prims.op_Hat "FStar.Tactics.Types." nm) in @@ -185,17 +183,21 @@ let mk_total_step_2' : (uu___.FStar_TypeChecker_Cfg.interpretation_nbe) } let (__primitive_steps_ref : - FStar_TypeChecker_Cfg.primitive_step Prims.list - FStar_Pervasives_Native.option FStar_Compiler_Effect.ref) - = FStar_Compiler_Util.mk_ref FStar_Pervasives_Native.None + FStar_TypeChecker_Cfg.primitive_step Prims.list FStar_Compiler_Effect.ref) + = FStar_Compiler_Util.mk_ref [] let (primitive_steps : unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = fun uu___ -> - let uu___1 = - let uu___2 = FStar_Compiler_Effect.op_Bang __primitive_steps_ref in - FStar_Compiler_Util.must uu___2 in + let uu___1 = FStar_Compiler_Effect.op_Bang __primitive_steps_ref in let uu___2 = native_tactics_steps () in FStar_Compiler_List.op_At uu___1 uu___2 +let (register_tactic_primitive_step : + FStar_TypeChecker_Cfg.primitive_step -> unit) = + fun s -> + let uu___ = + let uu___1 = FStar_Compiler_Effect.op_Bang __primitive_steps_ref in s + :: uu___1 in + FStar_Compiler_Effect.op_Colon_Equals __primitive_steps_ref uu___ let rec (t_head_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = fun t -> let uu___ = @@ -233,9 +235,9 @@ let rec (t_head_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = | uu___1 -> t let unembed_tactic_0 : 'b . - 'b FStar_Syntax_Embeddings.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> 'b FStar_Tactics_Monad.tac + FStar_Syntax_Embeddings_Base.norm_cb -> 'b FStar_Tactics_Monad.tac = fun eb -> fun embedded_tac_b -> @@ -366,10 +368,11 @@ let unembed_tactic_nbe_0 : (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range) let unembed_tactic_1 : 'a 'r . - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> 'a -> 'r FStar_Tactics_Monad.tac + FStar_Syntax_Embeddings_Base.norm_cb -> + 'a -> 'r FStar_Tactics_Monad.tac = fun ea -> fun er -> @@ -404,24 +407,24 @@ let unembed_tactic_nbe_1 : unembed_tactic_nbe_0 er cb app let e_tactic_thunk : 'r . - 'r FStar_Syntax_Embeddings.embedding -> - 'r FStar_Tactics_Monad.tac FStar_Syntax_Embeddings.embedding + 'r FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Tactics_Monad.tac FStar_Syntax_Embeddings_Base.embedding = fun er -> - let uu___ = FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Embeddings.mk_emb + let uu___ = + FStar_Syntax_Embeddings_Base.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings_Base.mk_emb (fun uu___1 -> fun uu___2 -> fun uu___3 -> fun uu___4 -> failwith "Impossible: embedding tactic (thunk)?") (fun t -> - fun w -> - fun cb -> - let uu___1 = - let uu___2 = - unembed_tactic_1 FStar_Syntax_Embeddings.e_unit er t cb in - uu___2 () in - FStar_Pervasives_Native.Some uu___1) uu___ + fun cb -> + let uu___1 = + let uu___2 = + unembed_tactic_1 FStar_Syntax_Embeddings.e_unit er t cb in + uu___2 () in + FStar_Pervasives_Native.Some uu___1) uu___ let e_tactic_nbe_thunk : 'r . 'r FStar_TypeChecker_NBETerm.embedding -> @@ -432,7 +435,7 @@ let e_tactic_nbe_thunk : FStar_TypeChecker_NBETerm.mk_t (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_unit in FStar_TypeChecker_NBETerm.mk_emb (fun cb -> fun uu___2 -> failwith "Impossible: NBE embedding tactic (thunk)?") @@ -445,24 +448,24 @@ let e_tactic_nbe_thunk : FStar_Pervasives_Native.Some uu___2) uu___ uu___1 let e_tactic_1 : 'a 'r . - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> - ('a -> 'r FStar_Tactics_Monad.tac) FStar_Syntax_Embeddings.embedding + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> + ('a -> 'r FStar_Tactics_Monad.tac) + FStar_Syntax_Embeddings_Base.embedding = fun ea -> fun er -> let uu___ = - FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Embeddings.mk_emb + FStar_Syntax_Embeddings_Base.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings_Base.mk_emb (fun uu___1 -> fun uu___2 -> fun uu___3 -> fun uu___4 -> failwith "Impossible: embedding tactic (1)?") (fun t -> - fun w -> - fun cb -> - let uu___1 = unembed_tactic_1 ea er t cb in - FStar_Pervasives_Native.Some uu___1) uu___ + fun cb -> + let uu___1 = unembed_tactic_1 ea er t cb in + FStar_Pervasives_Native.Some uu___1) uu___ let e_tactic_nbe_1 : 'a 'r . 'a FStar_TypeChecker_NBETerm.embedding -> @@ -476,7 +479,8 @@ let e_tactic_nbe_1 : FStar_TypeChecker_NBETerm.mk_t (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings_Base.emb_typ_of + FStar_Syntax_Embeddings.e_unit in FStar_TypeChecker_NBETerm.mk_emb (fun cb -> fun uu___2 -> failwith "Impossible: NBE embedding tactic (1)?") @@ -486,33 +490,42 @@ let e_tactic_nbe_1 : FStar_Pervasives_Native.Some uu___2) uu___ uu___1 let unseal : 'uuuuu 'a . 'uuuuu -> 'a -> 'a FStar_Tactics_Monad.tac = fun _typ -> fun x -> FStar_Tactics_Monad.ret x -let uu___192 : - 'uuuuu 'uuuuu1 'uuuuu2 'uuuuu3 'uuuuu4 'uuuuu5 . - unit -> - Prims.int -> - Prims.string -> - ('uuuuu -> 'uuuuu1 -> 'uuuuu2 FStar_Tactics_Monad.tac) -> - 'uuuuu FStar_Syntax_Embeddings.embedding -> - 'uuuuu1 FStar_Syntax_Embeddings.embedding -> - 'uuuuu2 FStar_Syntax_Embeddings.embedding -> - ('uuuuu3 -> 'uuuuu4 -> 'uuuuu5 FStar_Tactics_Monad.tac) -> - 'uuuuu3 FStar_TypeChecker_NBETerm.embedding -> - 'uuuuu4 FStar_TypeChecker_NBETerm.embedding -> - 'uuuuu5 FStar_TypeChecker_NBETerm.embedding -> - FStar_TypeChecker_Cfg.primitive_step - = fun uu___ -> FStar_Tactics_InterpFuns.mk_tac_step_2 +let (unseal_step : FStar_TypeChecker_Cfg.primitive_step) = + let s = + let uu___ = + FStar_Syntax_Embeddings.e_sealed FStar_Syntax_Embeddings.e_any in + let uu___1 = + FStar_TypeChecker_NBETerm.e_sealed FStar_TypeChecker_NBETerm.e_any in + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_one "unseal" unseal + FStar_Syntax_Embeddings.e_any uu___ FStar_Syntax_Embeddings.e_any + unseal FStar_TypeChecker_NBETerm.e_any uu___1 + FStar_TypeChecker_NBETerm.e_any in + { + FStar_TypeChecker_Cfg.name = FStar_Parser_Const.unseal_lid; + FStar_TypeChecker_Cfg.arity = (s.FStar_TypeChecker_Cfg.arity); + FStar_TypeChecker_Cfg.univ_arity = (s.FStar_TypeChecker_Cfg.univ_arity); + FStar_TypeChecker_Cfg.auto_reflect = + (s.FStar_TypeChecker_Cfg.auto_reflect); + FStar_TypeChecker_Cfg.strong_reduction_ok = + (s.FStar_TypeChecker_Cfg.strong_reduction_ok); + FStar_TypeChecker_Cfg.requires_binder_substitution = + (s.FStar_TypeChecker_Cfg.requires_binder_substitution); + FStar_TypeChecker_Cfg.interpretation = + (s.FStar_TypeChecker_Cfg.interpretation); + FStar_TypeChecker_Cfg.interpretation_nbe = + (s.FStar_TypeChecker_Cfg.interpretation_nbe) + } let (uu___193 : unit) = let uu___ = let uu___1 = let uu___2 = - let uu___3 = - FStar_Syntax_Embeddings.e_sealed FStar_Syntax_Embeddings.e_any in - let uu___4 = - FStar_TypeChecker_NBETerm.e_sealed FStar_TypeChecker_NBETerm.e_any in - FStar_Tactics_InterpFuns.mk_tac_step_2 Prims.int_one "unseal" unseal - FStar_Syntax_Embeddings.e_any uu___3 FStar_Syntax_Embeddings.e_any - unseal FStar_TypeChecker_NBETerm.e_any uu___4 - FStar_TypeChecker_NBETerm.e_any in + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "compress" + FStar_Tactics_V2_Basic.compress + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.compress + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___3 = let uu___4 = mk_total_step_1'_psc Prims.int_zero "tracepoint" @@ -582,28 +595,28 @@ let (uu___193 : unit) = mk_total_step_1' Prims.int_zero "goal_env" FStar_Tactics_Types.goal_env FStar_Tactics_Embedding.e_goal - FStar_Reflection_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_env FStar_Tactics_Types.goal_env FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_env in + FStar_Reflection_V2_NBEEmbeddings.e_env in let uu___17 = let uu___18 = mk_total_step_1' Prims.int_zero "goal_type" FStar_Tactics_Types.goal_type FStar_Tactics_Embedding.e_goal - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Tactics_Types.goal_type FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___19 = let uu___20 = mk_total_step_1' Prims.int_zero "goal_witness" FStar_Tactics_Types.goal_witness FStar_Tactics_Embedding.e_goal - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Tactics_Types.goal_witness FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___21 = let uu___22 = mk_total_step_1' Prims.int_zero "is_guard" @@ -641,7 +654,7 @@ let (uu___193 : unit) = let uu___30 = FStar_TypeChecker_NBETerm.e_list FStar_Tactics_Embedding.e_goal_nbe in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "set_goals" FStar_Tactics_Monad.set_goals uu___29 FStar_Syntax_Embeddings.e_unit @@ -655,7 +668,7 @@ let (uu___193 : unit) = let uu___32 = FStar_TypeChecker_NBETerm.e_list FStar_Tactics_Embedding.e_goal_nbe in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "set_smt_goals" FStar_Tactics_Monad.set_smt_goals uu___31 FStar_Syntax_Embeddings.e_unit @@ -678,7 +691,7 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_either FStar_Tactics_Embedding.e_exn_nbe FStar_TypeChecker_NBETerm.e_any in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_one "catch" (fun uu___37 -> FStar_Tactics_Monad.catch) @@ -704,7 +717,7 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_either FStar_Tactics_Embedding.e_exn_nbe FStar_TypeChecker_NBETerm.e_any in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_one "recover" (fun uu___39 -> FStar_Tactics_Monad.recover) @@ -716,30 +729,30 @@ let (uu___193 : unit) = uu___37 uu___38 in let uu___35 = let uu___36 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "intro" - FStar_Tactics_Basic.intro + FStar_Tactics_V2_Basic.intro FStar_Syntax_Embeddings.e_unit - FStar_Reflection_Embeddings.e_binder - FStar_Tactics_Basic.intro + FStar_Reflection_V2_Embeddings.e_binding + FStar_Tactics_V2_Basic.intro FStar_TypeChecker_NBETerm.e_unit - FStar_Reflection_NBEEmbeddings.e_binder in + FStar_Reflection_V2_NBEEmbeddings.e_binding in let uu___37 = let uu___38 = let uu___39 = FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_binder - FStar_Reflection_Embeddings.e_binder in + FStar_Reflection_V2_Embeddings.e_binding + FStar_Reflection_V2_Embeddings.e_binding in let uu___40 = FStar_TypeChecker_NBETerm.e_tuple2 - FStar_Reflection_NBEEmbeddings.e_binder - FStar_Reflection_NBEEmbeddings.e_binder in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Reflection_V2_NBEEmbeddings.e_binding + FStar_Reflection_V2_NBEEmbeddings.e_binding in + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "intro_rec" - FStar_Tactics_Basic.intro_rec + FStar_Tactics_V2_Basic.intro_rec FStar_Syntax_Embeddings.e_unit uu___39 - FStar_Tactics_Basic.intro_rec + FStar_Tactics_V2_Basic.intro_rec FStar_TypeChecker_NBETerm.e_unit uu___40 in let uu___39 = @@ -750,12 +763,12 @@ let (uu___193 : unit) = let uu___42 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_norm_step in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "norm" - FStar_Tactics_Basic.norm + FStar_Tactics_V2_Basic.norm uu___41 FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.norm + FStar_Tactics_V2_Basic.norm uu___42 FStar_TypeChecker_NBETerm.e_unit in let uu___41 = @@ -766,19 +779,19 @@ let (uu___193 : unit) = let uu___44 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_norm_step in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "norm_term_env" - FStar_Tactics_Basic.norm_term_env - FStar_Reflection_Embeddings.e_env + FStar_Tactics_V2_Basic.norm_term_env + FStar_Reflection_V2_Embeddings.e_env uu___43 - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.norm_term_env - FStar_Reflection_NBEEmbeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.norm_term_env + FStar_Reflection_V2_NBEEmbeddings.e_env uu___44 - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___43 = let uu___44 = let uu___45 = @@ -787,212 +800,212 @@ let (uu___193 : unit) = let uu___46 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_norm_step in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "norm_binder_type" - FStar_Tactics_Basic.norm_binder_type + "norm_binding_type" + FStar_Tactics_V2_Basic.norm_binding_type uu___45 - FStar_Reflection_Embeddings.e_binder + FStar_Reflection_V2_Embeddings.e_binding FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.norm_binder_type + FStar_Tactics_V2_Basic.norm_binding_type uu___46 - FStar_Reflection_NBEEmbeddings.e_binder + FStar_Reflection_V2_NBEEmbeddings.e_binding FStar_TypeChecker_NBETerm.e_unit in let uu___45 = let uu___46 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "rename_to" - FStar_Tactics_Basic.rename_to - FStar_Reflection_Embeddings.e_binder + FStar_Tactics_V2_Basic.rename_to + FStar_Reflection_V2_Embeddings.e_binding FStar_Syntax_Embeddings.e_string - FStar_Reflection_Embeddings.e_binder - FStar_Tactics_Basic.rename_to - FStar_Reflection_NBEEmbeddings.e_binder + FStar_Reflection_V2_Embeddings.e_binding + FStar_Tactics_V2_Basic.rename_to + FStar_Reflection_V2_NBEEmbeddings.e_binding FStar_TypeChecker_NBETerm.e_string - FStar_Reflection_NBEEmbeddings.e_binder in + FStar_Reflection_V2_NBEEmbeddings.e_binding in let uu___47 = let uu___48 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero - "binder_retype" - FStar_Tactics_Basic.binder_retype - FStar_Reflection_Embeddings.e_binder + "var_retype" + FStar_Tactics_V2_Basic.var_retype + FStar_Reflection_V2_Embeddings.e_binding FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.binder_retype - FStar_Reflection_NBEEmbeddings.e_binder + FStar_Tactics_V2_Basic.var_retype + FStar_Reflection_V2_NBEEmbeddings.e_binding FStar_TypeChecker_NBETerm.e_unit in let uu___49 = let uu___50 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "revert" - FStar_Tactics_Basic.revert + FStar_Tactics_V2_Basic.revert FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.revert + FStar_Tactics_V2_Basic.revert FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in let uu___51 = let uu___52 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "clear_top" - FStar_Tactics_Basic.clear_top + FStar_Tactics_V2_Basic.clear_top FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.clear_top + FStar_Tactics_V2_Basic.clear_top FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in let uu___53 = let uu___54 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "clear" - FStar_Tactics_Basic.clear - FStar_Reflection_Embeddings.e_binder + FStar_Tactics_V2_Basic.clear + FStar_Reflection_V2_Embeddings.e_binding FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.clear - FStar_Reflection_NBEEmbeddings.e_binder + FStar_Tactics_V2_Basic.clear + FStar_Reflection_V2_NBEEmbeddings.e_binding FStar_TypeChecker_NBETerm.e_unit in let uu___55 = let uu___56 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "rewrite" - FStar_Tactics_Basic.rewrite - FStar_Reflection_Embeddings.e_binder + FStar_Tactics_V2_Basic.rewrite + FStar_Reflection_V2_Embeddings.e_binding FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.rewrite - FStar_Reflection_NBEEmbeddings.e_binder + FStar_Tactics_V2_Basic.rewrite + FStar_Reflection_V2_NBEEmbeddings.e_binding FStar_TypeChecker_NBETerm.e_unit in let uu___57 = let uu___58 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "refine_intro" - FStar_Tactics_Basic.refine_intro + FStar_Tactics_V2_Basic.refine_intro FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.refine_intro + FStar_Tactics_V2_Basic.refine_intro FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in let uu___59 = let uu___60 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "t_exact" - FStar_Tactics_Basic.t_exact + FStar_Tactics_V2_Basic.t_exact FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_exact + FStar_Tactics_V2_Basic.t_exact FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_bool - FStar_Reflection_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in let uu___61 = let uu___62 = - FStar_Tactics_InterpFuns.mk_tac_step_4 + FStar_Tactics_V2_InterpFuns.mk_tac_step_4 Prims.int_zero "t_apply" - FStar_Tactics_Basic.t_apply + FStar_Tactics_V2_Basic.t_apply FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_apply + FStar_Tactics_V2_Basic.t_apply FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_bool - FStar_Reflection_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in let uu___63 = let uu___64 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "t_apply_lemma" - FStar_Tactics_Basic.t_apply_lemma + FStar_Tactics_V2_Basic.t_apply_lemma FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_bool - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_apply_lemma + FStar_Tactics_V2_Basic.t_apply_lemma FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_bool - FStar_Reflection_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in let uu___65 = let uu___66 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "set_options" - FStar_Tactics_Basic.set_options + FStar_Tactics_V2_Basic.set_options FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.set_options + FStar_Tactics_V2_Basic.set_options FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in let uu___67 = let uu___68 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "tcc" - FStar_Tactics_Basic.tcc - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_comp - FStar_Tactics_Basic.tcc - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_comp in + FStar_Tactics_V2_Basic.tcc + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_comp + FStar_Tactics_V2_Basic.tcc + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_comp in let uu___69 = let uu___70 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "tc" - FStar_Tactics_Basic.tc - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.tc - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Tactics_V2_Basic.tc + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.tc + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___71 = let uu___72 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "unshelve" - FStar_Tactics_Basic.unshelve - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.unshelve + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.unshelve - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.unshelve + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in let uu___73 = let uu___74 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_one "unquote" - FStar_Tactics_Basic.unquote + FStar_Tactics_V2_Basic.unquote FStar_Syntax_Embeddings.e_any - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_any (fun uu___75 @@ -1003,85 +1016,85 @@ let (uu___193 : unit) = failwith "NBE unquote") FStar_TypeChecker_NBETerm.e_any - FStar_Reflection_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_any in let uu___75 = let uu___76 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "prune" - FStar_Tactics_Basic.prune + FStar_Tactics_V2_Basic.prune FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.prune + FStar_Tactics_V2_Basic.prune FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in let uu___77 = let uu___78 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "addns" - FStar_Tactics_Basic.addns + FStar_Tactics_V2_Basic.addns FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.addns + FStar_Tactics_V2_Basic.addns FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in let uu___79 = let uu___80 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "print" - FStar_Tactics_Basic.print + FStar_Tactics_V2_Basic.print FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.print + FStar_Tactics_V2_Basic.print FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in let uu___81 = let uu___82 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "debugging" - FStar_Tactics_Basic.debugging + FStar_Tactics_V2_Basic.debugging FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.debugging + FStar_Tactics_V2_Basic.debugging FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_bool in let uu___83 = let uu___84 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "dump" - FStar_Tactics_Basic.dump + FStar_Tactics_V2_Basic.dump FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.dump + FStar_Tactics_V2_Basic.dump FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in let uu___85 = let uu___86 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "dump_all" - FStar_Tactics_Basic.dump_all + FStar_Tactics_V2_Basic.dump_all FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.dump_all + FStar_Tactics_V2_Basic.dump_all FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in @@ -1089,14 +1102,14 @@ let (uu___193 : unit) = = let uu___88 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "dump_uvars_of" - FStar_Tactics_Basic.dump_uvars_of + FStar_Tactics_V2_Basic.dump_uvars_of FStar_Tactics_Embedding.e_goal FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.dump_uvars_of + FStar_Tactics_V2_Basic.dump_uvars_of FStar_Tactics_Embedding.e_goal_nbe FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_unit in @@ -1112,7 +1125,7 @@ let (uu___193 : unit) = FStar_Syntax_Embeddings.e_bool FStar_Tactics_Embedding.e_ctrl_flag in e_tactic_1 - FStar_Reflection_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term uu___92 in let uu___92 = @@ -1126,13 +1139,13 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_bool FStar_Tactics_Embedding.e_ctrl_flag_nbe in e_tactic_nbe_1 - FStar_Reflection_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term uu___94 in let uu___94 = e_tactic_nbe_thunk FStar_TypeChecker_NBETerm.e_unit in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "ctrl_rewrite" FStar_Tactics_CtrlRewrite.ctrl_rewrite @@ -1149,52 +1162,52 @@ let (uu___193 : unit) = = let uu___92 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "t_trefl" - FStar_Tactics_Basic.t_trefl + FStar_Tactics_V2_Basic.t_trefl FStar_Syntax_Embeddings.e_bool FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_trefl + FStar_Tactics_V2_Basic.t_trefl FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_unit in let uu___93 = let uu___94 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "dup" - FStar_Tactics_Basic.dup + FStar_Tactics_V2_Basic.dup FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.dup + FStar_Tactics_V2_Basic.dup FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in let uu___95 = let uu___96 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "tadmit_t" - FStar_Tactics_Basic.tadmit_t - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.tadmit_t + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.tadmit_t - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.tadmit_t + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in let uu___97 = let uu___98 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "join" - FStar_Tactics_Basic.join + FStar_Tactics_V2_Basic.join FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.join + FStar_Tactics_V2_Basic.join FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in let uu___99 @@ -1206,7 +1219,7 @@ let (uu___193 : unit) = let uu___102 = FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_fv + FStar_Reflection_V2_Embeddings.e_fv FStar_Syntax_Embeddings.e_int in FStar_Syntax_Embeddings.e_list uu___102 in @@ -1215,331 +1228,305 @@ let (uu___193 : unit) = let uu___103 = FStar_TypeChecker_NBETerm.e_tuple2 - FStar_Reflection_NBEEmbeddings.e_fv + FStar_Reflection_V2_NBEEmbeddings.e_fv FStar_TypeChecker_NBETerm.e_int in FStar_TypeChecker_NBETerm.e_list uu___103 in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "t_destruct" - FStar_Tactics_Basic.t_destruct - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.t_destruct + FStar_Reflection_V2_Embeddings.e_term uu___101 - FStar_Tactics_Basic.t_destruct - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.t_destruct + FStar_Reflection_V2_NBEEmbeddings.e_term uu___102 in let uu___101 = let uu___102 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "top_env" - FStar_Tactics_Basic.top_env + FStar_Tactics_V2_Basic.top_env FStar_Syntax_Embeddings.e_unit - FStar_Reflection_Embeddings.e_env - FStar_Tactics_Basic.top_env + FStar_Reflection_V2_Embeddings.e_env + FStar_Tactics_V2_Basic.top_env FStar_TypeChecker_NBETerm.e_unit - FStar_Reflection_NBEEmbeddings.e_env in + FStar_Reflection_V2_NBEEmbeddings.e_env in let uu___103 = let uu___104 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero - "inspect" - FStar_Tactics_Basic.inspect - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term_view - FStar_Tactics_Basic.inspect - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term_view in + "binder_bv" + FStar_Tactics_V2_Basic.binder_bv + FStar_Reflection_V2_Embeddings.e_binder + FStar_Reflection_V2_Embeddings.e_bv + FStar_Tactics_V2_Basic.binder_bv + FStar_Reflection_V2_NBEEmbeddings.e_binder + FStar_Reflection_V2_NBEEmbeddings.e_bv in let uu___105 = let uu___106 = - FStar_Tactics_InterpFuns.mk_tac_step_1 - Prims.int_zero - "pack" - FStar_Tactics_Basic.pack - FStar_Reflection_Embeddings.e_term_view - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.pack - FStar_Reflection_NBEEmbeddings.e_term_view - FStar_Reflection_NBEEmbeddings.e_term in - let uu___107 - = - let uu___108 - = - FStar_Tactics_InterpFuns.mk_tac_step_1 - Prims.int_zero - "pack_curried" - FStar_Tactics_Basic.pack_curried - FStar_Reflection_Embeddings.e_term_view - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.pack_curried - FStar_Reflection_NBEEmbeddings.e_term_view - FStar_Reflection_NBEEmbeddings.e_term in - let uu___109 - = - let uu___110 - = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "fresh" - FStar_Tactics_Basic.fresh + FStar_Tactics_V2_Basic.fresh FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_int - FStar_Tactics_Basic.fresh + FStar_Tactics_V2_Basic.fresh FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_int in - let uu___111 + let uu___107 = - let uu___112 + let uu___108 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "curms" - FStar_Tactics_Basic.curms + FStar_Tactics_V2_Basic.curms FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_int - FStar_Tactics_Basic.curms + FStar_Tactics_V2_Basic.curms FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_int in - let uu___113 + let uu___109 = - let uu___114 + let uu___110 = - let uu___115 + let uu___111 = FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_term in - let uu___116 + FStar_Reflection_V2_Embeddings.e_term in + let uu___112 = FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_term in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Reflection_V2_NBEEmbeddings.e_term in + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "uvar_env" - FStar_Tactics_Basic.uvar_env - FStar_Reflection_Embeddings.e_env - uu___115 - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.uvar_env - FStar_Reflection_NBEEmbeddings.e_env - uu___116 - FStar_Reflection_NBEEmbeddings.e_term in - let uu___115 + FStar_Tactics_V2_Basic.uvar_env + FStar_Reflection_V2_Embeddings.e_env + uu___111 + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.uvar_env + FStar_Reflection_V2_NBEEmbeddings.e_env + uu___112 + FStar_Reflection_V2_NBEEmbeddings.e_term in + let uu___111 = - let uu___116 + let uu___112 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "ghost_uvar_env" - FStar_Tactics_Basic.ghost_uvar_env - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.ghost_uvar_env - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in - let uu___117 + FStar_Tactics_V2_Basic.ghost_uvar_env + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.ghost_uvar_env + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in + let uu___113 = - let uu___118 + let uu___114 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "fresh_universe_uvar" - FStar_Tactics_Basic.fresh_universe_uvar + FStar_Tactics_V2_Basic.fresh_universe_uvar FStar_Syntax_Embeddings.e_unit - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.fresh_universe_uvar + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.fresh_universe_uvar FStar_TypeChecker_NBETerm.e_unit - FStar_Reflection_NBEEmbeddings.e_term in - let uu___119 + FStar_Reflection_V2_NBEEmbeddings.e_term in + let uu___115 = - let uu___120 + let uu___116 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "unify_env" - FStar_Tactics_Basic.unify_env - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.unify_env + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.unify_env - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.unify_env + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_bool in - let uu___121 + let uu___117 = - let uu___122 + let uu___118 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "unify_guard_env" - FStar_Tactics_Basic.unify_guard_env - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.unify_guard_env + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.unify_guard_env - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.unify_guard_env + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_bool in - let uu___123 + let uu___119 = - let uu___124 + let uu___120 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "match_env" - FStar_Tactics_Basic.match_env - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.match_env + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.match_env - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.match_env + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_bool in - let uu___125 + let uu___121 = - let uu___126 + let uu___122 = - let uu___127 + let uu___123 = FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in - let uu___128 + let uu___124 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero "launch_process" - FStar_Tactics_Basic.launch_process + FStar_Tactics_V2_Basic.launch_process FStar_Syntax_Embeddings.e_string - uu___127 + uu___123 FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_string - FStar_Tactics_Basic.launch_process + FStar_Tactics_V2_Basic.launch_process FStar_TypeChecker_NBETerm.e_string - uu___128 + uu___124 FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_string in - let uu___127 + let uu___123 = - let uu___128 + let uu___124 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "fresh_bv_named" - FStar_Tactics_Basic.fresh_bv_named + FStar_Tactics_V2_Basic.fresh_bv_named FStar_Syntax_Embeddings.e_string - FStar_Reflection_Embeddings.e_bv - FStar_Tactics_Basic.fresh_bv_named + FStar_Reflection_V2_Embeddings.e_bv + FStar_Tactics_V2_Basic.fresh_bv_named FStar_TypeChecker_NBETerm.e_string - FStar_Reflection_NBEEmbeddings.e_bv in - let uu___129 + FStar_Reflection_V2_NBEEmbeddings.e_bv in + let uu___125 = - let uu___130 + let uu___126 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "change" - FStar_Tactics_Basic.change - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.change + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.change - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.change + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_unit in - let uu___131 + let uu___127 = - let uu___132 + let uu___128 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "get_guard_policy" - FStar_Tactics_Basic.get_guard_policy + FStar_Tactics_V2_Basic.get_guard_policy FStar_Syntax_Embeddings.e_unit FStar_Tactics_Embedding.e_guard_policy - FStar_Tactics_Basic.get_guard_policy + FStar_Tactics_V2_Basic.get_guard_policy FStar_TypeChecker_NBETerm.e_unit FStar_Tactics_Embedding.e_guard_policy_nbe in - let uu___133 + let uu___129 = - let uu___134 + let uu___130 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "set_guard_policy" - FStar_Tactics_Basic.set_guard_policy + FStar_Tactics_V2_Basic.set_guard_policy FStar_Tactics_Embedding.e_guard_policy FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.set_guard_policy + FStar_Tactics_V2_Basic.set_guard_policy FStar_Tactics_Embedding.e_guard_policy_nbe FStar_TypeChecker_NBETerm.e_unit in - let uu___135 + let uu___131 = - let uu___136 + let uu___132 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "lax_on" - FStar_Tactics_Basic.lax_on + FStar_Tactics_V2_Basic.lax_on FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.lax_on + FStar_Tactics_V2_Basic.lax_on FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_bool in - let uu___137 + let uu___133 = - let uu___138 + let uu___134 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_one "lget" - FStar_Tactics_Basic.lget + FStar_Tactics_V2_Basic.lget FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_any (fun - uu___139 + uu___135 -> fun - uu___140 + uu___136 -> FStar_Tactics_Monad.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___139 + let uu___135 = - let uu___140 + let uu___136 = - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_one "lset" - FStar_Tactics_Basic.lset + FStar_Tactics_V2_Basic.lset FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_unit (fun - uu___141 + uu___137 -> fun - uu___142 + uu___138 -> fun - uu___143 + uu___139 -> FStar_Tactics_Monad.fail "sorry, `lset` does not work in NBE") @@ -1547,229 +1534,315 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_any FStar_TypeChecker_NBETerm.e_unit in - let uu___141 + let uu___137 = - let uu___142 + let uu___138 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_one "set_urgency" - FStar_Tactics_Basic.set_urgency + FStar_Tactics_V2_Basic.set_urgency FStar_Syntax_Embeddings.e_int FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.set_urgency + FStar_Tactics_V2_Basic.set_urgency FStar_TypeChecker_NBETerm.e_int FStar_TypeChecker_NBETerm.e_unit in - let uu___143 + let uu___139 = - let uu___144 + let uu___140 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_one "t_commute_applied_match" - FStar_Tactics_Basic.t_commute_applied_match + FStar_Tactics_V2_Basic.t_commute_applied_match FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_commute_applied_match + FStar_Tactics_V2_Basic.t_commute_applied_match FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in - let uu___145 + let uu___141 = - let uu___146 + let uu___142 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "gather_or_solve_explicit_guards_for_resolved_goals" - FStar_Tactics_Basic.gather_explicit_guards_for_resolved_goals + FStar_Tactics_V2_Basic.gather_explicit_guards_for_resolved_goals FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.gather_explicit_guards_for_resolved_goals + FStar_Tactics_V2_Basic.gather_explicit_guards_for_resolved_goals FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_unit in - let uu___147 + let uu___143 = - let uu___148 + let uu___144 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "string_to_term" - FStar_Tactics_Basic.string_to_term - FStar_Reflection_Embeddings.e_env + FStar_Tactics_V2_Basic.string_to_term + FStar_Reflection_V2_Embeddings.e_env FStar_Syntax_Embeddings.e_string - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Basic.string_to_term - FStar_Reflection_NBEEmbeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_V2_Basic.string_to_term + FStar_Reflection_V2_NBEEmbeddings.e_env FStar_TypeChecker_NBETerm.e_string - FStar_Reflection_NBEEmbeddings.e_term in - let uu___149 + FStar_Reflection_V2_NBEEmbeddings.e_term in + let uu___145 = - let uu___150 + let uu___146 = - let uu___151 + let uu___147 = FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_bv in - let uu___152 + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_binding in + let uu___148 = FStar_TypeChecker_NBETerm.e_tuple2 - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_bv in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_binding in + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "push_bv_dsenv" - FStar_Tactics_Basic.push_bv_dsenv - FStar_Reflection_Embeddings.e_env + FStar_Tactics_V2_Basic.push_bv_dsenv + FStar_Reflection_V2_Embeddings.e_env FStar_Syntax_Embeddings.e_string - uu___151 - FStar_Tactics_Basic.push_bv_dsenv - FStar_Reflection_NBEEmbeddings.e_env + uu___147 + FStar_Tactics_V2_Basic.push_bv_dsenv + FStar_Reflection_V2_NBEEmbeddings.e_env FStar_TypeChecker_NBETerm.e_string - uu___152 in - let uu___151 + uu___148 in + let uu___147 = - let uu___152 + let uu___148 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "term_to_string" - FStar_Tactics_Basic.term_to_string - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.term_to_string + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_string - FStar_Tactics_Basic.term_to_string - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.term_to_string + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_string in - let uu___153 + let uu___149 = - let uu___154 + let uu___150 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "comp_to_string" - FStar_Tactics_Basic.comp_to_string - FStar_Reflection_Embeddings.e_comp + FStar_Tactics_V2_Basic.comp_to_string + FStar_Reflection_V2_Embeddings.e_comp FStar_Syntax_Embeddings.e_string - FStar_Tactics_Basic.comp_to_string - FStar_Reflection_NBEEmbeddings.e_comp + FStar_Tactics_V2_Basic.comp_to_string + FStar_Reflection_V2_NBEEmbeddings.e_comp FStar_TypeChecker_NBETerm.e_string in - let uu___155 + let uu___151 = - let uu___156 + let uu___152 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "range_to_string" - FStar_Tactics_Basic.range_to_string + FStar_Tactics_V2_Basic.range_to_string FStar_Syntax_Embeddings.e_range FStar_Syntax_Embeddings.e_string - FStar_Tactics_Basic.range_to_string + FStar_Tactics_V2_Basic.range_to_string FStar_TypeChecker_NBETerm.e_range FStar_TypeChecker_NBETerm.e_string in - let uu___157 + let uu___153 = - let uu___158 + let uu___154 = - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "term_eq_old" - FStar_Tactics_Basic.term_eq_old - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + FStar_Tactics_V2_Basic.term_eq_old + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term FStar_Syntax_Embeddings.e_bool - FStar_Tactics_Basic.term_eq_old - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.term_eq_old + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_TypeChecker_NBETerm.e_bool in - let uu___159 + let uu___155 = - let uu___160 + let uu___156 = - let uu___161 + let uu___157 = e_tactic_thunk FStar_Syntax_Embeddings.e_any in - let uu___162 + let uu___158 = e_tactic_nbe_thunk FStar_TypeChecker_NBETerm.e_any in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_one "with_compat_pre_core" (fun - uu___163 + uu___159 -> - FStar_Tactics_Basic.with_compat_pre_core) + FStar_Tactics_V2_Basic.with_compat_pre_core) FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_int - uu___161 + uu___157 FStar_Syntax_Embeddings.e_any (fun - uu___163 + uu___159 -> - FStar_Tactics_Basic.with_compat_pre_core) + FStar_Tactics_V2_Basic.with_compat_pre_core) FStar_TypeChecker_NBETerm.e_any FStar_TypeChecker_NBETerm.e_int - uu___162 + uu___158 FStar_TypeChecker_NBETerm.e_any in - let uu___161 + let uu___157 = - let uu___162 + let uu___158 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "get_vconfig" - FStar_Tactics_Basic.get_vconfig + FStar_Tactics_V2_Basic.get_vconfig FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_vconfig - FStar_Tactics_Basic.get_vconfig + FStar_Tactics_V2_Basic.get_vconfig FStar_TypeChecker_NBETerm.e_unit FStar_TypeChecker_NBETerm.e_vconfig in - let uu___163 + let uu___159 = - let uu___164 + let uu___160 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "set_vconfig" - FStar_Tactics_Basic.set_vconfig + FStar_Tactics_V2_Basic.set_vconfig FStar_Syntax_Embeddings.e_vconfig FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.set_vconfig + FStar_Tactics_V2_Basic.set_vconfig FStar_TypeChecker_NBETerm.e_vconfig FStar_TypeChecker_NBETerm.e_unit in - let uu___165 + let uu___161 = - let uu___166 + let uu___162 = - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "t_smt_sync" - FStar_Tactics_Basic.t_smt_sync + FStar_Tactics_V2_Basic.t_smt_sync FStar_Syntax_Embeddings.e_vconfig FStar_Syntax_Embeddings.e_unit - FStar_Tactics_Basic.t_smt_sync + FStar_Tactics_V2_Basic.t_smt_sync FStar_TypeChecker_NBETerm.e_vconfig FStar_TypeChecker_NBETerm.e_unit in + let uu___163 + = + let uu___164 + = + let uu___165 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_int in + let uu___166 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_int in + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 + Prims.int_zero + "free_uvars" + FStar_Tactics_V2_Basic.free_uvars + FStar_Reflection_V2_Embeddings.e_term + uu___165 + FStar_Tactics_V2_Basic.free_uvars + FStar_Reflection_V2_NBEEmbeddings.e_term + uu___166 in + let uu___165 + = + let uu___166 + = let uu___167 = let uu___168 = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in let uu___169 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___168 + uu___169 in + let uu___168 + = + let uu___169 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in let uu___170 = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_int in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___169 + uu___170 in + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero - "free_uvars" - FStar_Tactics_Basic.free_uvars - FStar_Reflection_Embeddings.e_term + "check_subtyping" + FStar_Tactics_V2_Basic.refl_check_subtyping + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + uu___167 + FStar_Tactics_V2_Basic.refl_check_subtyping + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term + uu___168 in + let uu___167 + = + let uu___168 + = + let uu___169 + = + let uu___170 + = + FStar_Syntax_Embeddings.e_option + FStar_Syntax_Embeddings.e_unit in + let uu___171 + = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings.e_tuple2 + uu___170 + uu___171 in + let uu___170 + = + let uu___171 + = + FStar_TypeChecker_NBETerm.e_option + FStar_TypeChecker_NBETerm.e_unit in + let uu___172 + = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_issue in + FStar_TypeChecker_NBETerm.e_tuple2 + uu___171 + uu___172 in + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 + Prims.int_zero + "check_equiv" + FStar_Tactics_V2_Basic.refl_check_equiv + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term uu___169 - FStar_Tactics_Basic.free_uvars - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_check_equiv + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term uu___170 in let uu___169 = @@ -1780,7 +1853,7 @@ let (uu___193 : unit) = let uu___172 = FStar_Syntax_Embeddings.e_option - FStar_Syntax_Embeddings.e_unit in + FStar_Reflection_V2_Embeddings.e_term in let uu___173 = FStar_Syntax_Embeddings.e_list @@ -1793,7 +1866,7 @@ let (uu___193 : unit) = let uu___173 = FStar_TypeChecker_NBETerm.e_option - FStar_TypeChecker_NBETerm.e_unit in + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___174 = FStar_TypeChecker_NBETerm.e_list @@ -1801,18 +1874,18 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___173 uu___174 in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero - "check_subtyping" - FStar_Tactics_Basic.refl_check_subtyping - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + "core_compute_term_type" + FStar_Tactics_V2_Basic.refl_core_compute_term_type + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost uu___171 - FStar_Tactics_Basic.refl_check_subtyping - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_core_compute_term_type + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost_nbe uu___172 in let uu___171 = @@ -1844,18 +1917,20 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___175 uu___176 in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_4 Prims.int_zero - "check_equiv" - FStar_Tactics_Basic.refl_check_equiv - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + "core_check_term" + FStar_Tactics_V2_Basic.refl_core_check_term + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost uu___173 - FStar_Tactics_Basic.refl_check_equiv - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_core_check_term + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Tactics_Embedding.e_tot_or_ghost_nbe uu___174 in let uu___173 = @@ -1865,8 +1940,13 @@ let (uu___193 : unit) = = let uu___176 = + let uu___177 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term in FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_term in + uu___177 in let uu___177 = FStar_Syntax_Embeddings.e_list @@ -1878,8 +1958,13 @@ let (uu___193 : unit) = = let uu___177 = + let uu___178 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_term in + uu___178 in let uu___178 = FStar_TypeChecker_NBETerm.e_list @@ -1887,17 +1972,17 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___177 uu___178 in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero - "core_compute_term_type" - FStar_Tactics_Basic.refl_core_compute_term_type - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term + "tc_term" + FStar_Tactics_V2_Basic.refl_tc_term + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term FStar_Tactics_Embedding.e_tot_or_ghost uu___175 - FStar_Tactics_Basic.refl_core_compute_term_type - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_tc_term + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term FStar_Tactics_Embedding.e_tot_or_ghost_nbe uu___176 in let uu___175 @@ -1909,7 +1994,7 @@ let (uu___193 : unit) = let uu___178 = FStar_Syntax_Embeddings.e_option - FStar_Syntax_Embeddings.e_unit in + FStar_Reflection_V2_Embeddings.e_universe in let uu___179 = FStar_Syntax_Embeddings.e_list @@ -1922,7 +2007,7 @@ let (uu___193 : unit) = let uu___179 = FStar_TypeChecker_NBETerm.e_option - FStar_TypeChecker_NBETerm.e_unit in + FStar_Reflection_V2_NBEEmbeddings.e_universe in let uu___180 = FStar_TypeChecker_NBETerm.e_list @@ -1930,20 +2015,16 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___179 uu___180 in - FStar_Tactics_InterpFuns.mk_tac_step_4 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "core_check_term" - FStar_Tactics_Basic.refl_core_check_term - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Embedding.e_tot_or_ghost + "universe_of" + FStar_Tactics_V2_Basic.refl_universe_of + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term uu___177 - FStar_Tactics_Basic.refl_core_check_term - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term - FStar_Tactics_Embedding.e_tot_or_ghost_nbe + FStar_Tactics_V2_Basic.refl_universe_of + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term uu___178 in let uu___177 = @@ -1953,13 +2034,8 @@ let (uu___193 : unit) = = let uu___180 = - let uu___181 - = - FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term in FStar_Syntax_Embeddings.e_option - uu___181 in + FStar_Syntax_Embeddings.e_unit in let uu___181 = FStar_Syntax_Embeddings.e_list @@ -1971,13 +2047,8 @@ let (uu___193 : unit) = = let uu___181 = - let uu___182 - = - FStar_TypeChecker_NBETerm.e_tuple2 - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in FStar_TypeChecker_NBETerm.e_option - uu___182 in + FStar_TypeChecker_NBETerm.e_unit in let uu___182 = FStar_TypeChecker_NBETerm.e_list @@ -1985,18 +2056,16 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___181 uu___182 in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "tc_term" - FStar_Tactics_Basic.refl_tc_term - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Tactics_Embedding.e_tot_or_ghost + "check_prop_validity" + FStar_Tactics_V2_Basic.refl_check_prop_validity + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term uu___179 - FStar_Tactics_Basic.refl_tc_term - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Tactics_Embedding.e_tot_or_ghost_nbe + FStar_Tactics_V2_Basic.refl_check_prop_validity + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term uu___180 in let uu___179 = @@ -2004,41 +2073,69 @@ let (uu___193 : unit) = = let uu___181 = + FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_pattern in let uu___182 = - FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_universe in let uu___183 = + let uu___184 + = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_issue in + FStar_Reflection_V2_Embeddings.e_pattern in + let uu___185 + = + let uu___186 + = + FStar_Syntax_Embeddings.e_list + FStar_Reflection_V2_Embeddings.e_binding in + FStar_Syntax_Embeddings.e_list + uu___186 in FStar_Syntax_Embeddings.e_tuple2 - uu___182 + uu___184 + uu___185 in + FStar_Syntax_Embeddings.e_option uu___183 in - let uu___182 - = let uu___183 = - FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_universe in + FStar_TypeChecker_NBETerm.e_list + FStar_Reflection_V2_NBEEmbeddings.e_pattern in let uu___184 = + let uu___185 + = + let uu___186 + = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_issue in + FStar_Reflection_V2_NBEEmbeddings.e_pattern in + let uu___187 + = + let uu___188 + = + FStar_TypeChecker_NBETerm.e_list + FStar_Reflection_V2_NBEEmbeddings.e_binding in + FStar_TypeChecker_NBETerm.e_list + uu___188 in FStar_TypeChecker_NBETerm.e_tuple2 - uu___183 - uu___184 in - FStar_Tactics_InterpFuns.mk_tac_step_2 + uu___186 + uu___187 in + FStar_TypeChecker_NBETerm.e_option + uu___185 in + FStar_Tactics_V2_InterpFuns.mk_tac_step_4 Prims.int_zero - "universe_of" - FStar_Tactics_Basic.refl_universe_of - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term + "check_match_complete" + FStar_Tactics_V2_Basic.refl_check_match_complete + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term uu___181 - FStar_Tactics_Basic.refl_universe_of - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - uu___182 in + uu___182 + FStar_Tactics_V2_Basic.refl_check_match_complete + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term + uu___183 + uu___184 in let uu___181 = let uu___182 @@ -2047,8 +2144,13 @@ let (uu___193 : unit) = = let uu___184 = + let uu___185 + = + FStar_Syntax_Embeddings.e_tuple2 + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term in FStar_Syntax_Embeddings.e_option - FStar_Syntax_Embeddings.e_unit in + uu___185 in let uu___185 = FStar_Syntax_Embeddings.e_list @@ -2060,8 +2162,13 @@ let (uu___193 : unit) = = let uu___185 = + let uu___186 + = + FStar_TypeChecker_NBETerm.e_tuple2 + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term in FStar_TypeChecker_NBETerm.e_option - FStar_TypeChecker_NBETerm.e_unit in + uu___186 in let uu___186 = FStar_TypeChecker_NBETerm.e_list @@ -2069,16 +2176,16 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___185 uu___186 in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "check_prop_validity" - FStar_Tactics_Basic.refl_check_prop_validity - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term + "instantiate_implicits" + FStar_Tactics_V2_Basic.refl_instantiate_implicits + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term uu___183 - FStar_Tactics_Basic.refl_check_prop_validity - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_instantiate_implicits + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term uu___184 in let uu___183 = @@ -2088,13 +2195,8 @@ let (uu___193 : unit) = = let uu___186 = - let uu___187 - = - FStar_Syntax_Embeddings.e_tuple2 - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term in FStar_Syntax_Embeddings.e_option - uu___187 in + FStar_Tactics_Embedding.e_unfold_side in let uu___187 = FStar_Syntax_Embeddings.e_list @@ -2106,13 +2208,8 @@ let (uu___193 : unit) = = let uu___187 = - let uu___188 - = - FStar_TypeChecker_NBETerm.e_tuple2 - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in FStar_TypeChecker_NBETerm.e_option - uu___188 in + FStar_Tactics_Embedding.e_unfold_side_nbe in let uu___188 = FStar_TypeChecker_NBETerm.e_list @@ -2120,16 +2217,18 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___187 uu___188 in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero - "instantiate_implicits" - FStar_Tactics_Basic.refl_instantiate_implicits - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term + "maybe_relate_after_unfolding" + FStar_Tactics_V2_Basic.refl_maybe_relate_after_unfolding + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term + FStar_Reflection_V2_Embeddings.e_term uu___185 - FStar_Tactics_Basic.refl_instantiate_implicits - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_maybe_relate_after_unfolding + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term + FStar_Reflection_V2_NBEEmbeddings.e_term uu___186 in let uu___185 = @@ -2140,7 +2239,7 @@ let (uu___193 : unit) = let uu___188 = FStar_Syntax_Embeddings.e_option - FStar_Tactics_Embedding.e_unfold_side in + FStar_Reflection_V2_Embeddings.e_term in let uu___189 = FStar_Syntax_Embeddings.e_list @@ -2153,7 +2252,7 @@ let (uu___193 : unit) = let uu___189 = FStar_TypeChecker_NBETerm.e_option - FStar_Tactics_Embedding.e_unfold_side_nbe in + FStar_Reflection_V2_NBEEmbeddings.e_term in let uu___190 = FStar_TypeChecker_NBETerm.e_list @@ -2161,18 +2260,16 @@ let (uu___193 : unit) = FStar_TypeChecker_NBETerm.e_tuple2 uu___189 uu___190 in - FStar_Tactics_InterpFuns.mk_tac_step_3 + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "maybe_relate_after_unfolding" - FStar_Tactics_Basic.refl_maybe_relate_after_unfolding - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term + "maybe_unfold_head" + FStar_Tactics_V2_Basic.refl_maybe_unfold_head + FStar_Reflection_V2_Embeddings.e_env + FStar_Reflection_V2_Embeddings.e_term uu___187 - FStar_Tactics_Basic.refl_maybe_relate_after_unfolding - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term + FStar_Tactics_V2_Basic.refl_maybe_unfold_head + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_Reflection_V2_NBEEmbeddings.e_term uu___188 in let uu___187 = @@ -2180,41 +2277,23 @@ let (uu___193 : unit) = = let uu___189 = - let uu___190 - = - FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_term in - let uu___191 - = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_issue in - FStar_Syntax_Embeddings.e_tuple2 - uu___190 - uu___191 in + FStar_Syntax_Embeddings.e_string in let uu___190 = - let uu___191 - = - FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_term in - let uu___194 - = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_issue in - FStar_TypeChecker_NBETerm.e_tuple2 - uu___191 - uu___194 in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_TypeChecker_NBETerm.e_string in + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero - "maybe_unfold_head" - FStar_Tactics_Basic.refl_maybe_unfold_head - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_term + "push_open_namespace" + FStar_Tactics_V2_Basic.push_open_namespace + FStar_Reflection_V2_Embeddings.e_env uu___189 - FStar_Tactics_Basic.refl_maybe_unfold_head - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_term - uu___190 in + FStar_Reflection_V2_Embeddings.e_env + FStar_Tactics_V2_Basic.push_open_namespace + FStar_Reflection_V2_NBEEmbeddings.e_env + uu___190 + FStar_Reflection_V2_NBEEmbeddings.e_env in let uu___189 = let uu___190 @@ -2223,100 +2302,77 @@ let (uu___193 : unit) = = FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in - let uu___194 + let uu___192 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string in - FStar_Tactics_InterpFuns.mk_tac_step_2 + FStar_Tactics_V2_InterpFuns.mk_tac_step_3 Prims.int_zero - "push_open_namespace" - FStar_Tactics_Basic.push_open_namespace - FStar_Reflection_Embeddings.e_env + "push_module_abbrev" + FStar_Tactics_V2_Basic.push_module_abbrev + FStar_Reflection_V2_Embeddings.e_env + FStar_Syntax_Embeddings.e_string uu___191 - FStar_Reflection_Embeddings.e_env - FStar_Tactics_Basic.push_open_namespace - FStar_Reflection_NBEEmbeddings.e_env - uu___194 - FStar_Reflection_NBEEmbeddings.e_env in + FStar_Reflection_V2_Embeddings.e_env + FStar_Tactics_V2_Basic.push_module_abbrev + FStar_Reflection_V2_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string + uu___192 + FStar_Reflection_V2_NBEEmbeddings.e_env in let uu___191 = - let uu___194 + let uu___192 = - let uu___195 + let uu___194 = FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in - let uu___196 - = - FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_string in - FStar_Tactics_InterpFuns.mk_tac_step_3 - Prims.int_zero - "push_module_abbrev" - FStar_Tactics_Basic.push_module_abbrev - FStar_Reflection_Embeddings.e_env - FStar_Syntax_Embeddings.e_string - uu___195 - FStar_Reflection_Embeddings.e_env - FStar_Tactics_Basic.push_module_abbrev - FStar_Reflection_NBEEmbeddings.e_env - FStar_TypeChecker_NBETerm.e_string - uu___196 - FStar_Reflection_NBEEmbeddings.e_env in let uu___195 = let uu___196 = - let uu___197 - = - FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string in - let uu___198 - = - let uu___199 - = FStar_Syntax_Embeddings.e_either - FStar_Reflection_Embeddings.e_bv - FStar_Reflection_Embeddings.e_fv in + FStar_Reflection_V2_Embeddings.e_bv + FStar_Reflection_V2_Embeddings.e_fv in FStar_Syntax_Embeddings.e_option - uu___199 in - let uu___199 + uu___196 in + let uu___196 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string in - let uu___200 + let uu___197 = - let uu___201 + let uu___198 = FStar_TypeChecker_NBETerm.e_either - FStar_Reflection_NBEEmbeddings.e_bv - FStar_Reflection_NBEEmbeddings.e_fv in + FStar_Reflection_V2_NBEEmbeddings.e_bv + FStar_Reflection_V2_NBEEmbeddings.e_fv in FStar_TypeChecker_NBETerm.e_option - uu___201 in - FStar_Tactics_InterpFuns.mk_tac_step_2 + uu___198 in + FStar_Tactics_V2_InterpFuns.mk_tac_step_2 Prims.int_zero "resolve_name" - FStar_Tactics_Basic.resolve_name - FStar_Reflection_Embeddings.e_env - uu___197 - uu___198 - FStar_Tactics_Basic.resolve_name - FStar_Reflection_NBEEmbeddings.e_env - uu___199 - uu___200 in - let uu___197 + FStar_Tactics_V2_Basic.resolve_name + FStar_Reflection_V2_Embeddings.e_env + uu___194 + uu___195 + FStar_Tactics_V2_Basic.resolve_name + FStar_Reflection_V2_NBEEmbeddings.e_env + uu___196 + uu___197 in + let uu___194 = - let uu___198 + let uu___195 = - let uu___199 + let uu___196 = FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_issue in - let uu___200 + let uu___197 = FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_issue in - FStar_Tactics_InterpFuns.mk_tac_step_1 + FStar_Tactics_V2_InterpFuns.mk_tac_step_1 Prims.int_zero "log_issues" (fun is @@ -2325,7 +2381,7 @@ let (uu___193 : unit) = is; FStar_Tactics_Monad.ret ()) - uu___199 + uu___196 FStar_Syntax_Embeddings.e_unit (fun is -> @@ -2333,15 +2389,12 @@ let (uu___193 : unit) = is; FStar_Tactics_Monad.ret ()) - uu___200 + uu___197 FStar_TypeChecker_NBETerm.e_unit in - [uu___198] in - uu___196 - :: - uu___197 in - uu___194 + [uu___195] in + uu___192 :: - uu___195 in + uu___194 in uu___190 :: uu___191 in @@ -2569,15 +2622,14 @@ let (uu___193 : unit) = uu___6 :: uu___7 in uu___4 :: uu___5 in uu___2 :: uu___3 in - FStar_Compiler_Effect.op_Less_Bar - (fun uu___2 -> FStar_Pervasives_Native.Some uu___2) uu___1 in - FStar_Compiler_Effect.op_Colon_Equals __primitive_steps_ref uu___ + unseal_step :: uu___1 in + FStar_Compiler_List.iter register_tactic_primitive_step uu___ let unembed_tactic_1_alt : 'a 'r . - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> ('a -> 'r FStar_Tactics_Monad.tac) FStar_Pervasives_Native.option = fun ea -> @@ -2595,17 +2647,17 @@ let unembed_tactic_1_alt : unembed_tactic_0 er app ncb) let e_tactic_1_alt : 'a 'r . - 'a FStar_Syntax_Embeddings.embedding -> - 'r FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> + 'r FStar_Syntax_Embeddings_Base.embedding -> ('a -> FStar_Tactics_Types.proofstate -> 'r FStar_Tactics_Result.__result) - FStar_Syntax_Embeddings.embedding + FStar_Syntax_Embeddings_Base.embedding = fun ea -> fun er -> let em uu___ uu___1 uu___2 uu___3 = failwith "Impossible: embedding tactic (1)?" in - let un t0 w n = + let un t0 n = let uu___ = unembed_tactic_1_alt ea er t0 n in match uu___ with | FStar_Pervasives_Native.Some f -> @@ -2613,8 +2665,8 @@ let e_tactic_1_alt : ((fun x -> let uu___1 = f x in FStar_Tactics_Monad.run uu___1)) | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in let uu___ = - FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Embeddings.mk_emb em un uu___ + FStar_Syntax_Embeddings_Base.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings_Base.mk_emb em un uu___ let (report_implicits : FStar_Compiler_Range_Type.range -> FStar_TypeChecker_Rel.tagged_implicits -> unit) @@ -2690,9 +2742,9 @@ let run_tactic_on_ps' : FStar_Compiler_Range_Type.range -> FStar_Compiler_Range_Type.range -> Prims.bool -> - 'a FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> 'a -> - 'b FStar_Syntax_Embeddings.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> Prims.bool -> FStar_Tactics_Types.proofstate -> @@ -2707,7 +2759,140 @@ let run_tactic_on_ps' : fun tactic -> fun tactic_already_typed -> fun ps -> - let env = ps.FStar_Tactics_Types.main_context in + let ps1 = + { + FStar_Tactics_Types.main_context = + (let uu___ = ps.FStar_Tactics_Types.main_context in + { + FStar_TypeChecker_Env.solver = + (uu___.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (uu___.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp = + (uu___.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict = + (uu___.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface = + (uu___.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = true; + FStar_TypeChecker_Env.tc_term = + (uu___.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term = + (uu___.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of = + (uu___.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (uu___.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force = + (uu___.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force = + (uu___.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (uu___.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = + (uu___.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook = + (uu___.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook = + (uu___.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice = + (uu___.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess = + (uu___.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess = + (uu___.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info = + (uu___.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab = + (uu___.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab = + (uu___.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac = + (uu___.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards = + (uu___.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args = + (uu___.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check = + (uu___.FStar_TypeChecker_Env.core_check) + }); + FStar_Tactics_Types.all_implicits = + (ps.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = + (ps.FStar_Tactics_Types.goals); + FStar_Tactics_Types.smt_goals = + (ps.FStar_Tactics_Types.smt_goals); + FStar_Tactics_Types.depth = + (ps.FStar_Tactics_Types.depth); + FStar_Tactics_Types.__dump = + (ps.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = + (ps.FStar_Tactics_Types.psc); + FStar_Tactics_Types.entry_range = + (ps.FStar_Tactics_Types.entry_range); + FStar_Tactics_Types.guard_policy = + (ps.FStar_Tactics_Types.guard_policy); + FStar_Tactics_Types.freshness = + (ps.FStar_Tactics_Types.freshness); + FStar_Tactics_Types.tac_verb_dbg = + (ps.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = + (ps.FStar_Tactics_Types.local_state); + FStar_Tactics_Types.urgency = + (ps.FStar_Tactics_Types.urgency) + } in + let env = ps1.FStar_Tactics_Types.main_context in (let uu___1 = FStar_Compiler_Effect.op_Bang tacdbg in if uu___1 then @@ -2725,9 +2910,9 @@ let run_tactic_on_ps' : else (let uu___2 = let uu___3 = - FStar_Syntax_Embeddings.type_of e_arg in + FStar_Syntax_Embeddings_Base.type_of e_arg in let uu___4 = - FStar_Syntax_Embeddings.type_of e_res in + FStar_Syntax_Embeddings_Base.type_of e_res in FStar_TypeChecker_TcTerm.tc_tactic uu___3 uu___4 env tactic in match uu___2 with | (uu___3, uu___4, g1) -> g1) in @@ -2739,33 +2924,33 @@ let run_tactic_on_ps' : FStar_Errors.stop_if_err (); (let tau = unembed_tactic_1 e_arg e_res tactic - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.id_norm_cb in let res = let uu___4 = let uu___5 = let uu___6 = FStar_TypeChecker_Env.current_module - ps.FStar_Tactics_Types.main_context in + ps1.FStar_Tactics_Types.main_context in FStar_Ident.string_of_lid uu___6 in FStar_Pervasives_Native.Some uu___5 in FStar_Profiling.profile (fun uu___5 -> let uu___6 = tau arg in - FStar_Tactics_Monad.run_safe uu___6 ps) uu___4 + FStar_Tactics_Monad.run_safe uu___6 ps1) uu___4 "FStar.Tactics.Interpreter.run_safe" in (let uu___5 = FStar_Compiler_Effect.op_Bang tacdbg in if uu___5 then FStar_Compiler_Util.print_string "}\n" else ()); (match res with - | FStar_Tactics_Result.Success (ret, ps1) -> + | FStar_Tactics_Result.Success (ret, ps2) -> let remaining_smt_goals = FStar_Compiler_List.op_At - ps1.FStar_Tactics_Types.goals - ps1.FStar_Tactics_Types.smt_goals in + ps2.FStar_Tactics_Types.goals + ps2.FStar_Tactics_Types.smt_goals in (FStar_Compiler_List.iter (fun g1 -> - FStar_Tactics_Basic.mark_goal_implicit_already_checked + FStar_Tactics_V2_Basic.mark_goal_implicit_already_checked g1; (let uu___7 = FStar_Tactics_Types.is_irrelevant g1 in @@ -2817,7 +3002,7 @@ let run_tactic_on_ps' : (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Common.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps2.FStar_Tactics_Types.all_implicits in FStar_Compiler_Util.print1 "About to check tactic implicits: %s\n" uu___8 @@ -2833,7 +3018,7 @@ let run_tactic_on_ps' : FStar_TypeChecker_Common.univ_ineqs = (FStar_TypeChecker_Env.trivial_guard.FStar_TypeChecker_Common.univ_ineqs); FStar_TypeChecker_Common.implicits = - (ps1.FStar_Tactics_Types.all_implicits) + (ps2.FStar_Tactics_Types.all_implicits) } in let g2 = FStar_TypeChecker_Rel.solve_deferred_constraints @@ -2845,13 +3030,13 @@ let run_tactic_on_ps' : let uu___9 = FStar_Compiler_Util.string_of_int (FStar_Compiler_List.length - ps1.FStar_Tactics_Types.all_implicits) in + ps2.FStar_Tactics_Types.all_implicits) in let uu___10 = (FStar_Common.string_of_list ()) (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Common.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps2.FStar_Tactics_Types.all_implicits in FStar_Compiler_Util.print2 "Checked %s implicits (1): %s\n" uu___9 uu___10 @@ -2866,13 +3051,13 @@ let run_tactic_on_ps' : let uu___10 = FStar_Compiler_Util.string_of_int (FStar_Compiler_List.length - ps1.FStar_Tactics_Types.all_implicits) in + ps2.FStar_Tactics_Types.all_implicits) in let uu___11 = (FStar_Common.string_of_list ()) (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Common.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps2.FStar_Tactics_Types.all_implicits in FStar_Compiler_Util.print2 "Checked %s implicits (2): %s\n" uu___10 uu___11 @@ -2883,13 +3068,13 @@ let run_tactic_on_ps' : if uu___11 then FStar_Tactics_Printing.do_dump_proofstate - ps1 "at the finish line" + ps2 "at the finish line" else ()); ((FStar_Compiler_List.op_At - ps1.FStar_Tactics_Types.goals - ps1.FStar_Tactics_Types.smt_goals), ret)))) - | FStar_Tactics_Result.Failed (e, ps1) -> - (FStar_Tactics_Printing.do_dump_proofstate ps1 + ps2.FStar_Tactics_Types.goals + ps2.FStar_Tactics_Types.smt_goals), ret)))) + | FStar_Tactics_Result.Failed (e, ps2) -> + (FStar_Tactics_Printing.do_dump_proofstate ps2 "at the time of failure"; (let texn_to_string e1 = match e1 with @@ -2902,11 +3087,11 @@ let run_tactic_on_ps' : let rng = if background then - match ps1.FStar_Tactics_Types.goals with + match ps2.FStar_Tactics_Types.goals with | g1::uu___6 -> (g1.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_range | uu___6 -> rng_call - else ps1.FStar_Tactics_Types.entry_range in + else ps2.FStar_Tactics_Types.entry_range in let uu___6 = let uu___7 = let uu___8 = texn_to_string e in @@ -2920,9 +3105,9 @@ let run_tactic_on_ps : FStar_Compiler_Range_Type.range -> FStar_Compiler_Range_Type.range -> Prims.bool -> - 'a FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> 'a -> - 'b FStar_Syntax_Embeddings.embedding -> + 'b FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> Prims.bool -> FStar_Tactics_Types.proofstate -> diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_Logic.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Logic.ml new file mode 100644 index 00000000000..05125381bf1 --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_Logic.ml @@ -0,0 +1,1865 @@ +open Prims +let (cur_formula : + unit -> + (FStar_Reflection_V2_Formula.formula, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (28)) (Prims.of_int (51)) (Prims.of_int (28)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (28)) (Prims.of_int (35)) (Prims.of_int (28)) + (Prims.of_int (64))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Reflection_V2_Formula.term_as_formula uu___1)) + uu___1) +let (l_revert : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (37)) (Prims.of_int (4)) (Prims.of_int (37)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (38)) (Prims.of_int (4)) (Prims.of_int (38)) + (Prims.of_int (26))))) + (Obj.magic (FStar_Tactics_V2_Builtins.revert ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "revert_squash"]))))) uu___1) +let rec (l_revert_all : + FStar_Tactics_NamedView.binding Prims.list -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + (fun bs -> + match bs with + | [] -> + Obj.magic + (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> ()))) + | uu___::tl -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (44)) (Prims.of_int (21)) + (Prims.of_int (44)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (44)) (Prims.of_int (34)) + (Prims.of_int (44)) (Prims.of_int (49))))) + (Obj.magic (l_revert ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (l_revert_all tl)) uu___1)))) + uu___ +let (forall_intro : + unit -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (52)) (Prims.of_int (4)) (Prims.of_int (52)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (53)) (Prims.of_int (4)) (Prims.of_int (53)) + (Prims.of_int (12))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "fa_intro_lem"]))))) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + uu___1) +let (forall_intro_as : + Prims.string -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (57)) (Prims.of_int (4)) (Prims.of_int (57)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (58)) (Prims.of_int (4)) (Prims.of_int (58)) + (Prims.of_int (14))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "fa_intro_lem"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V2_Derived.intro_as s)) uu___) +let (forall_intros : + unit -> + (FStar_Tactics_NamedView.binding Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V2_Derived.repeat1 forall_intro +let (split : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "split_lem"])))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic (FStar_Tactics_V2_Derived.fail "Could not split goal")) + uu___1) +let (implies_intro : + unit -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (80)) (Prims.of_int (4)) (Prims.of_int (80)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (81)) (Prims.of_int (4)) (Prims.of_int (81)) + (Prims.of_int (12))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "imp_intro_lem"]))))) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + uu___1) +let (implies_intro_as : + Prims.string -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (84)) (Prims.of_int (4)) (Prims.of_int (84)) + (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (85)) (Prims.of_int (4)) (Prims.of_int (85)) + (Prims.of_int (14))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "imp_intro_lem"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V2_Derived.intro_as s)) uu___) +let (implies_intros : + unit -> + (FStar_Tactics_NamedView.binding Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V2_Derived.repeat1 implies_intro +let (l_intro : + unit -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V2_Derived.or_else forall_intro implies_intro +let (l_intros : + unit -> + (FStar_Tactics_NamedView.binding Prims.list, unit) + FStar_Tactics_Effect.tac_repr) + = fun uu___ -> FStar_Tactics_V2_Derived.repeat l_intro +let (squash_intro : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Squash"; "return_squash"]))) +let (l_exact : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V2_Derived.try_with + (fun uu___ -> match () with | () -> FStar_Tactics_V2_Derived.exact t) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (101)) (Prims.of_int (12)) + (Prims.of_int (101)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (101)) (Prims.of_int (29)) + (Prims.of_int (101)) (Prims.of_int (36))))) + (Obj.magic (squash_intro ())) + (fun uu___1 -> + (fun uu___1 -> Obj.magic (FStar_Tactics_V2_Derived.exact t)) + uu___1)) +let (hyp : + FStar_Tactics_NamedView.namedv -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = fun x -> l_exact (FStar_Tactics_V2_SyntaxCoercions.namedv_to_term x) +let (pose_lemma : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (112)) (Prims.of_int (10)) (Prims.of_int (112)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (112)) (Prims.of_int (31)) (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (112)) (Prims.of_int (14)) + (Prims.of_int (112)) (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (112)) (Prims.of_int (10)) + (Prims.of_int (112)) (Prims.of_int (28))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_NamedView.tcc uu___ t)) + uu___))) + (fun uu___ -> + (fun c -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (114)) (Prims.of_int (4)) + (Prims.of_int (116)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (112)) (Prims.of_int (31)) + (Prims.of_int (130)) (Prims.of_int (5))))) + (match c with + | FStar_Reflection_V2_Data.C_Lemma (pre, post, uu___) -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (pre, post)) + | uu___ -> FStar_Tactics_V2_Derived.fail "") + (fun uu___ -> + (fun uu___ -> + match uu___ with + | (pre, post) -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (118)) + (Prims.of_int (13)) + (Prims.of_int (118)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (118)) + (Prims.of_int (30)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + (post, + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + (fun post1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (119)) + (Prims.of_int (13)) + (Prims.of_int (119)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (121)) + (Prims.of_int (2)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V2_Derived.norm_term + [] post1)) + (fun uu___1 -> + (fun post2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (121)) + (Prims.of_int (8)) + (Prims.of_int (121)) + (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (121)) + (Prims.of_int (2)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula' + pre)) + (fun uu___1 -> + (fun uu___1 -> + match uu___1 with + | FStar_Reflection_V2_Formula.True_ + -> + Obj.magic + (FStar_Tactics_V2_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__lemma_to_squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Implicit)))), + (post2, + FStar_Reflection_V2_Data.Q_Implicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Const + FStar_Reflection_V2_Data.C_Unit)), + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs + ((FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 + = + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "unit"]))); + FStar_Reflection_V2_Data.qual + = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs + = []; + FStar_Reflection_V2_Data.ppname2 + = + (FStar_Sealed.seal + "uu___") + }), t))), + FStar_Reflection_V2_Data.Q_Explicit))))) + | uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (15)) + (Prims.of_int (125)) + (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (125)) + (Prims.of_int (40)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V2_Derived.tcut + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun + uu___3 -> + (fun reqb + -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (127)) + (Prims.of_int (12)) + (Prims.of_int (127)) + (Prims.of_int (95))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (128)) + (Prims.of_int (4)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V2_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__lemma_to_squash"]))), + (pre, + FStar_Reflection_V2_Data.Q_Implicit)))), + (post2, + FStar_Reflection_V2_Data.Q_Implicit)))), + ((FStar_Tactics_V2_SyntaxCoercions.binding_to_term + reqb), + FStar_Reflection_V2_Data.Q_Explicit)))), + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_Abs + ((FStar_Reflection_V2_Builtins.pack_binder + { + FStar_Reflection_V2_Data.sort2 + = + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["Prims"; + "unit"]))); + FStar_Reflection_V2_Data.qual + = + FStar_Reflection_V2_Data.Q_Explicit; + FStar_Reflection_V2_Data.attrs + = []; + FStar_Reflection_V2_Data.ppname2 + = + (FStar_Sealed.seal + "uu___") + }), t))), + FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun + uu___3 -> + (fun b -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (128)) + (Prims.of_int (4)) + (Prims.of_int (128)) + (Prims.of_int (11))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (129)) + (Prims.of_int (4)) + (Prims.of_int (130)) + (Prims.of_int (5))))) + (Obj.magic + (FStar_Tactics_V2_Derived.flip + ())) + (fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (129)) + (Prims.of_int (4)) + (Prims.of_int (129)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (127)) + (Prims.of_int (8)) + (Prims.of_int (127)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (129)) + (Prims.of_int (11)) + (Prims.of_int (129)) + (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (129)) + (Prims.of_int (4)) + (Prims.of_int (129)) + (Prims.of_int (27))))) + (Obj.magic + (FStar_Tactics_V2_Derived.trytac + FStar_Tactics_V2_Derived.trivial)) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + ())))) + (fun + uu___4 -> + FStar_Tactics_Effect.lift_div_tac + (fun + uu___5 -> + b)))) + uu___3))) + uu___3))) + uu___3))) + uu___1))) uu___1))) + uu___1))) uu___))) uu___) +let (explode : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (133)) (Prims.of_int (11)) (Prims.of_int (135)) + (Prims.of_int (64))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (133)) (Prims.of_int (4)) (Prims.of_int (135)) + (Prims.of_int (64))))) + (Obj.magic + (FStar_Tactics_V2_Derived.repeatseq + (fun uu___1 -> + FStar_Tactics_V2_Derived.first + [(fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (134)) (Prims.of_int (50)) + (Prims.of_int (134)) (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (134)) (Prims.of_int (43)) + (Prims.of_int (134)) (Prims.of_int (62))))) + (Obj.magic (l_intro ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ()))); + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (135)) (Prims.of_int (50)) + (Prims.of_int (135)) (Prims.of_int (60))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (135)) (Prims.of_int (43)) + (Prims.of_int (135)) (Prims.of_int (60))))) + (Obj.magic (split ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___4 -> ())))]))) + (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ())) +let rec (visit : + (unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) -> + (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun callback -> + FStar_Tactics_V2_Derived.focus + (fun uu___ -> + FStar_Tactics_V2_Derived.or_else callback + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (141)) (Prims.of_int (28)) + (Prims.of_int (141)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (142)) (Prims.of_int (20)) + (Prims.of_int (152)) (Prims.of_int (26))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) + (fun uu___2 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (142)) (Prims.of_int (26)) + (Prims.of_int (142)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (142)) (Prims.of_int (20)) + (Prims.of_int (152)) (Prims.of_int (26))))) + (Obj.magic + (FStar_Reflection_V2_Formula.term_as_formula g)) + (fun uu___2 -> + (fun uu___2 -> + match uu___2 with + | FStar_Reflection_V2_Formula.Forall + (_b, _sort, _phi) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (144)) + (Prims.of_int (38)) + (Prims.of_int (144)) + (Prims.of_int (54))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (145)) + (Prims.of_int (24)) + (Prims.of_int (145)) + (Prims.of_int (87))))) + (Obj.magic (forall_intros ())) + (fun uu___3 -> + (fun binders -> + Obj.magic + (FStar_Tactics_V2_Derived.seq + (fun uu___3 -> + visit callback) + (fun uu___3 -> + l_revert_all + binders))) + uu___3))) + | FStar_Reflection_V2_Formula.And (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.seq split + (fun uu___3 -> visit callback))) + | FStar_Reflection_V2_Formula.Implies + (p, q) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (149)) + (Prims.of_int (32)) + (Prims.of_int (149)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (150)) + (Prims.of_int (24)) + (Prims.of_int (150)) + (Prims.of_int (63))))) + (Obj.magic (implies_intro ())) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_V2_Derived.seq + (fun uu___4 -> + visit callback) + l_revert)) uu___3))) + | uu___3 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> ())))) uu___2))) + uu___2))) +let rec (simplify_eq_implication : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (157)) (Prims.of_int (12)) (Prims.of_int (157)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (157)) (Prims.of_int (25)) (Prims.of_int (167)) + (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) + (fun uu___1 -> + (fun e -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (158)) (Prims.of_int (12)) + (Prims.of_int (158)) (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (158)) (Prims.of_int (26)) + (Prims.of_int (167)) (Prims.of_int (37))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) + (fun uu___1 -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (159)) (Prims.of_int (12)) + (Prims.of_int (159)) (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (160)) (Prims.of_int (4)) + (Prims.of_int (167)) (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_V2_Derived.destruct_equality_implication + g)) + (fun uu___1 -> + (fun r -> + match r with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "Not an equality implication")) + | FStar_Pervasives_Native.Some + (uu___1, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (164)) + (Prims.of_int (19)) + (Prims.of_int (164)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (165)) + (Prims.of_int (8)) + (Prims.of_int (167)) + (Prims.of_int (37))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + (fun eq_h -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (165)) + (Prims.of_int (8)) + (Prims.of_int (165)) + (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (166)) + (Prims.of_int (8)) + (Prims.of_int (167)) + (Prims.of_int (37))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.rewrite + eq_h)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (166)) + (Prims.of_int (8)) + (Prims.of_int (166)) + (Prims.of_int (20))))) + ( + FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (167)) + (Prims.of_int (8)) + (Prims.of_int (167)) + (Prims.of_int (37))))) + ( + Obj.magic + (FStar_Tactics_V2_Builtins.clear_top + ())) + ( + fun + uu___3 -> + (fun + uu___3 -> + Obj.magic + (visit + simplify_eq_implication)) + uu___3))) + uu___2))) + uu___2)))) uu___1))) + uu___1))) uu___1) +let (rewrite_all_equalities : + unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> visit simplify_eq_implication +let rec (unfold_definition_and_simplify_eq : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun tm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (173)) (Prims.of_int (12)) (Prims.of_int (173)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (174)) (Prims.of_int (4)) (Prims.of_int (188)) + (Prims.of_int (11))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_goal ())) + (fun uu___ -> + (fun g -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (174)) (Prims.of_int (10)) + (Prims.of_int (174)) (Prims.of_int (27))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (174)) (Prims.of_int (4)) + (Prims.of_int (188)) (Prims.of_int (11))))) + (Obj.magic (FStar_Reflection_V2_Formula.term_as_formula g)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Reflection_V2_Formula.App (hd, arg) -> + Obj.magic + (Obj.repr + (if + FStar_Reflection_V2_Builtins.term_eq hd tm + then + Obj.repr + (FStar_Tactics_V2_Derived.trivial ()) + else + Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> ())))) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (180)) + (Prims.of_int (16)) + (Prims.of_int (180)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (181)) + (Prims.of_int (8)) + (Prims.of_int (187)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V2_Derived.destruct_equality_implication + g)) + (fun uu___2 -> + (fun r -> + match r with + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (FStar_Tactics_V2_Derived.fail + "Not an equality implication")) + | FStar_Pervasives_Native.Some + (uu___2, rhs) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (184)) + (Prims.of_int (23)) + (Prims.of_int (184)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (185)) + (Prims.of_int (12)) + (Prims.of_int (187)) + (Prims.of_int (66))))) + (Obj.magic + (implies_intro ())) + (fun uu___3 -> + (fun eq_h -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (185)) + (Prims.of_int (12)) + (Prims.of_int (185)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (186)) + (Prims.of_int (12)) + (Prims.of_int (187)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.rewrite + eq_h)) + (fun uu___3 + -> + (fun + uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (186)) + (Prims.of_int (12)) + (Prims.of_int (186)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (187)) + (Prims.of_int (12)) + (Prims.of_int (187)) + (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.clear_top + ())) + (fun + uu___4 -> + (fun + uu___4 -> + Obj.magic + (visit + (fun + uu___5 -> + unfold_definition_and_simplify_eq + tm))) + uu___4))) + uu___3))) + uu___3)))) uu___2)))) + uu___))) uu___) +let (unsquash : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (206)) (Prims.of_int (12)) (Prims.of_int (206)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (207)) (Prims.of_int (4)) (Prims.of_int (209)) + (Prims.of_int (19))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "vbind"])))) + (fun uu___ -> + (fun v -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (207)) (Prims.of_int (4)) + (Prims.of_int (207)) (Prims.of_int (32))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (207)) (Prims.of_int (33)) + (Prims.of_int (209)) (Prims.of_int (19))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Derived.mk_e_app v [t]))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (208)) (Prims.of_int (12)) + (Prims.of_int (208)) (Prims.of_int (20))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" + Prims.int_zero Prims.int_zero + Prims.int_zero Prims.int_zero))) + (Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + (fun b -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var + (FStar_Tactics_V2_SyntaxCoercions.binding_to_namedv + b)))))) uu___))) uu___) +let (cases_or : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun o -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Derived.mk_e_app + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "or_ind"]))) [o]) +let (cases_bool : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (227)) (Prims.of_int (13)) (Prims.of_int (227)) + (Prims.of_int (22))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (228)) (Prims.of_int (4)) (Prims.of_int (229)) + (Prims.of_int (104))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "bool_ind"])))) + (fun uu___ -> + (fun bi -> + Obj.magic + (FStar_Tactics_V2_Derived.seq + (fun uu___ -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Derived.mk_e_app bi [b])) + (fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) (Prims.of_int (27)) + (Prims.of_int (229)) (Prims.of_int (97))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) (Prims.of_int (101)) + (Prims.of_int (229)) (Prims.of_int (103))))) + (Obj.magic + (FStar_Tactics_V2_Derived.trytac + (fun uu___1 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) + (Prims.of_int (53)) + (Prims.of_int (229)) + (Prims.of_int (69))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) + (Prims.of_int (73)) + (Prims.of_int (229)) + (Prims.of_int (96))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + (fun b1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) + (Prims.of_int (73)) + (Prims.of_int (229)) + (Prims.of_int (82))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (229)) + (Prims.of_int (84)) + (Prims.of_int (229)) + (Prims.of_int (96))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.rewrite + b1)) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Builtins.clear_top + ())) uu___2))) uu___2)))) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> ()))))) + uu___) +let (left : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "or_intro_1"]))) +let (right : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "or_intro_2"]))) +let (and_elim : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V2_Derived.try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__and_elim"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "__and_elim'"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) +let (destruct_and : + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.binding * FStar_Tactics_NamedView.binding), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (262)) (Prims.of_int (4)) (Prims.of_int (262)) + (Prims.of_int (14))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (263)) (Prims.of_int (4)) (Prims.of_int (263)) + (Prims.of_int (40))))) (Obj.magic (and_elim t)) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (263)) (Prims.of_int (5)) + (Prims.of_int (263)) (Prims.of_int (21))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (263)) (Prims.of_int (4)) + (Prims.of_int (263)) (Prims.of_int (40))))) + (Obj.magic (implies_intro ())) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (263)) (Prims.of_int (23)) + (Prims.of_int (263)) (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (263)) (Prims.of_int (4)) + (Prims.of_int (263)) (Prims.of_int (40))))) + (Obj.magic (implies_intro ())) + (fun uu___2 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___3 -> (uu___1, uu___2))))) uu___1))) + uu___) +let (witness : + FStar_Tactics_NamedView.term -> (unit, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (269)) (Prims.of_int (4)) (Prims.of_int (269)) + (Prims.of_int (26))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (270)) (Prims.of_int (4)) (Prims.of_int (270)) + (Prims.of_int (11))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_raw + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "__witness"]))))) + (fun uu___ -> + (fun uu___ -> Obj.magic (FStar_Tactics_V2_Derived.exact t)) uu___) +let (elim_exists : + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.binding * FStar_Tactics_NamedView.binding), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (279)) (Prims.of_int (2)) (Prims.of_int (279)) + (Prims.of_int (41))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (279)) (Prims.of_int (42)) (Prims.of_int (282)) + (Prims.of_int (9))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__elim_exists'"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun uu___ -> + (fun uu___ -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (280)) (Prims.of_int (10)) + (Prims.of_int (280)) (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (280)) (Prims.of_int (21)) + (Prims.of_int (282)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + (fun uu___1 -> + (fun x -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (281)) (Prims.of_int (11)) + (Prims.of_int (281)) (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (282)) (Prims.of_int (2)) + (Prims.of_int (282)) (Prims.of_int (9))))) + (Obj.magic (FStar_Tactics_V2_Builtins.intro ())) + (fun pf -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (x, pf))))) uu___1))) uu___) +let (instantiate : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun fa -> + fun x -> + FStar_Tactics_V2_Derived.try_with + (fun uu___ -> + match () with + | () -> + FStar_Tactics_V2_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__forall_inst_sq"]))), + (fa, FStar_Reflection_V2_Data.Q_Explicit)))), + (x, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V2_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_V2_Derived.pose + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "__forall_inst"]))), + (fa, + FStar_Reflection_V2_Data.Q_Explicit)))), + (x, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_V2_Derived.fail "could not instantiate")) + uu___1)) +let (instantiate_as : + FStar_Tactics_NamedView.term -> + FStar_Tactics_NamedView.term -> + Prims.string -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun fa -> + fun x -> + fun s -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (299)) (Prims.of_int (12)) + (Prims.of_int (299)) (Prims.of_int (28))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (300)) (Prims.of_int (4)) + (Prims.of_int (300)) (Prims.of_int (17))))) + (Obj.magic (instantiate fa x)) + (fun uu___ -> + (fun b -> Obj.magic (FStar_Tactics_V2_Builtins.rename_to b s)) + uu___) +let rec (sk_binder' : + FStar_Tactics_NamedView.binding Prims.list -> + FStar_Tactics_NamedView.binding -> + ((FStar_Tactics_NamedView.binding Prims.list * + FStar_Tactics_NamedView.binding), + unit) FStar_Tactics_Effect.tac_repr) + = + fun acc -> + fun b -> + FStar_Tactics_V2_Derived.focus + (fun uu___ -> + FStar_Tactics_V2_Derived.try_with + (fun uu___1 -> + match () with + | () -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (311)) (Prims.of_int (6)) + (Prims.of_int (311)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) (Prims.of_int (6)) + (Prims.of_int (316)) (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "sklem0"]))), + ((FStar_Tactics_V2_SyntaxCoercions.binding_to_term + b), + FStar_Reflection_V2_Data.Q_Explicit)))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) + (Prims.of_int (6)) + (Prims.of_int (312)) + (Prims.of_int (38))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (313)) + (Prims.of_int (6)) + (Prims.of_int (316)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) + (Prims.of_int (9)) + (Prims.of_int (312)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) + (Prims.of_int (6)) + (Prims.of_int (312)) + (Prims.of_int (38))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) + (Prims.of_int (9)) + (Prims.of_int (312)) + (Prims.of_int (18))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (312)) + (Prims.of_int (9)) + (Prims.of_int (312)) + (Prims.of_int (23))))) + (Obj.magic + (FStar_Tactics_V2_Derived.ngoals + ())) + (fun uu___3 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___4 -> + uu___3 <> Prims.int_one)))) + (fun uu___3 -> + if uu___3 + then + FStar_Tactics_V2_Derived.fail + "no" + else + FStar_Tactics_Effect.lift_div_tac + (fun uu___5 -> ())))) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (313)) + (Prims.of_int (6)) + (Prims.of_int (313)) + (Prims.of_int (13))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (313)) + (Prims.of_int (14)) + (Prims.of_int (316)) + (Prims.of_int (29))))) + (Obj.magic + (FStar_Tactics_V2_Builtins.clear + b)) + (fun uu___4 -> + (fun uu___4 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (314)) + (Prims.of_int (15)) + (Prims.of_int (314)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (314)) + (Prims.of_int (33)) + (Prims.of_int (316)) + (Prims.of_int (29))))) + (Obj.magic + (forall_intro ())) + (fun uu___5 -> + (fun bx -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (315)) + (Prims.of_int (15)) + (Prims.of_int (315)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (316)) + (Prims.of_int (6)) + (Prims.of_int (316)) + (Prims.of_int (29))))) + (Obj.magic + (implies_intro + ())) + (fun uu___5 + -> + (fun b' + -> + Obj.magic + (sk_binder' + (bx :: + acc) b')) + uu___5))) + uu___5))) uu___4))) + uu___3))) uu___2)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (acc, b)))) uu___1)) +let (sk_binder : + FStar_Tactics_NamedView.binding -> + ((FStar_Tactics_NamedView.binding Prims.list * + FStar_Tactics_NamedView.binding), + unit) FStar_Tactics_Effect.tac_repr) + = fun b -> sk_binder' [] b +let (skolem : + unit -> + ((FStar_Tactics_NamedView.binding Prims.list * + FStar_Tactics_NamedView.binding) Prims.list, + unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (325)) (Prims.of_int (11)) (Prims.of_int (325)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (326)) (Prims.of_int (2)) (Prims.of_int (326)) + (Prims.of_int (18))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (325)) (Prims.of_int (23)) + (Prims.of_int (325)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (325)) (Prims.of_int (11)) + (Prims.of_int (325)) (Prims.of_int (35))))) + (Obj.magic (FStar_Tactics_V2_Derived.cur_env ())) + (fun uu___1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> + FStar_Reflection_V2_Builtins.vars_of_env uu___1)))) + (fun uu___1 -> + (fun bs -> Obj.magic (FStar_Tactics_Util.map sk_binder bs)) uu___1) +let (easy_fill : unit -> (unit, unit) FStar_Tactics_Effect.tac_repr) = + fun uu___ -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (335)) (Prims.of_int (12)) (Prims.of_int (335)) + (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (335)) (Prims.of_int (27)) (Prims.of_int (338)) + (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Derived.repeat FStar_Tactics_V2_Builtins.intro)) + (fun uu___1 -> + (fun uu___1 -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (337)) (Prims.of_int (12)) + (Prims.of_int (337)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (338)) (Prims.of_int (4)) + (Prims.of_int (338)) (Prims.of_int (10))))) + (Obj.magic + (FStar_Tactics_V2_Derived.trytac + (fun uu___2 -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (337)) (Prims.of_int (30)) + (Prims.of_int (337)) (Prims.of_int (56))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.Logic.fst" + (Prims.of_int (337)) (Prims.of_int (58)) + (Prims.of_int (337)) (Prims.of_int (66))))) + (Obj.magic + (FStar_Tactics_V2_Derived.apply + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "lemma_from_squash"]))))) + (fun uu___3 -> + (fun uu___3 -> + Obj.magic + (FStar_Tactics_V2_Builtins.intro ())) + uu___3)))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic (FStar_Tactics_V2_Derived.smt ())) uu___2))) + uu___1) +let easy : 'a . 'a -> 'a = fun x -> x +let (using_lemma : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.binding, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_V2_Derived.try_with + (fun uu___ -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; "Tactics"; "V2"; "Logic"; "lem1_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___ -> + FStar_Tactics_V2_Derived.try_with + (fun uu___1 -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "lem2_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___1 -> + FStar_Tactics_V2_Derived.try_with + (fun uu___2 -> + match () with + | () -> + pose_lemma + (FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_App + ((FStar_Reflection_V2_Builtins.pack_ln + (FStar_Reflection_V2_Data.Tv_FVar + (FStar_Reflection_V2_Builtins.pack_fv + ["FStar"; + "Tactics"; + "V2"; + "Logic"; + "lem3_fa"]))), + (t, FStar_Reflection_V2_Data.Q_Explicit))))) + (fun uu___2 -> + (fun uu___2 -> + Obj.magic + (FStar_Tactics_V2_Derived.fail + "using_lemma: failed to instantiate")) uu___2))) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml new file mode 100644 index 00000000000..360a884bedf --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml @@ -0,0 +1,30 @@ +open Prims +let (namedv_to_term : + FStar_Tactics_NamedView.namedv -> FStar_Tactics_NamedView.term) = + fun x -> FStar_Tactics_NamedView.pack (FStar_Tactics_NamedView.Tv_Var x) +let (binder_to_namedv : + FStar_Tactics_NamedView.binder -> FStar_Tactics_NamedView.namedv) = + fun b -> + { + FStar_Reflection_V2_Data.uniq = (b.FStar_Tactics_NamedView.uniq); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal b.FStar_Tactics_NamedView.sort); + FStar_Reflection_V2_Data.ppname = (b.FStar_Tactics_NamedView.ppname) + } +let (binder_to_term : + FStar_Tactics_NamedView.binder -> FStar_Tactics_NamedView.term) = + fun b -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Var (binder_to_namedv b)) +let (binding_to_namedv : + FStar_Tactics_NamedView.binding -> FStar_Tactics_NamedView.namedv) = + fun b -> + { + FStar_Reflection_V2_Data.uniq = (b.FStar_Reflection_V2_Data.uniq1); + FStar_Reflection_V2_Data.sort = + (FStar_Sealed.seal b.FStar_Reflection_V2_Data.sort3); + FStar_Reflection_V2_Data.ppname = (b.FStar_Reflection_V2_Data.ppname3) + } +let (binding_to_term : + FStar_Tactics_NamedView.binding -> FStar_Tactics_NamedView.term) = + fun x -> namedv_to_term (binding_to_namedv x) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml b/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml new file mode 100644 index 00000000000..e49d7d7ae9e --- /dev/null +++ b/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml @@ -0,0 +1,414 @@ +open Prims +let rec (collect_arr' : + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.comp -> + ((FStar_Tactics_NamedView.binder Prims.list * + FStar_Tactics_NamedView.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun c -> + match c with + | FStar_Reflection_V2_Data.C_Total t -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (15)) (Prims.of_int (20)) + (Prims.of_int (15)) (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (15)) (Prims.of_int (14)) + (Prims.of_int (19)) (Prims.of_int (19))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_Arrow (b, c1) -> + Obj.magic + (Obj.repr (collect_arr' (b :: bs) c1)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (bs, c))))) uu___))) + | uu___ -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> (bs, c))))) uu___1 uu___ +let (collect_arr_bs : + FStar_Reflection_Types.typ -> + ((FStar_Tactics_NamedView.binder Prims.list * + FStar_Tactics_NamedView.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (26)) (Prims.of_int (18)) (Prims.of_int (26)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (25)) (Prims.of_int (22)) (Prims.of_int (27)) + (Prims.of_int (29))))) + (Obj.magic (collect_arr' [] (FStar_Reflection_V2_Data.C_Total t))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with | (bs, c) -> ((FStar_List_Tot_Base.rev bs), c))) +let (collect_arr : + FStar_Reflection_Types.typ -> + ((FStar_Reflection_Types.typ Prims.list * FStar_Tactics_NamedView.comp), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (31)) (Prims.of_int (18)) (Prims.of_int (31)) + (Prims.of_int (45))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (30)) (Prims.of_int (19)) (Prims.of_int (33)) + (Prims.of_int (29))))) + (Obj.magic (collect_arr' [] (FStar_Reflection_V2_Data.C_Total t))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (bs, c) -> + ((FStar_List_Tot_Base.rev + (FStar_List_Tot_Base.map + (fun b -> b.FStar_Tactics_NamedView.sort) bs)), c))) +let rec (collect_abs' : + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.binder Prims.list * + FStar_Tactics_NamedView.term), + unit) FStar_Tactics_Effect.tac_repr) + = + fun bs -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (37)) (Prims.of_int (10)) (Prims.of_int (37)) + (Prims.of_int (19))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (37)) (Prims.of_int (4)) (Prims.of_int (40)) + (Prims.of_int (18))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_Abs (b, t') -> + Obj.magic (Obj.repr (collect_abs' (b :: bs) t')) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (bs, t))))) uu___) +let (collect_abs : + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.binder Prims.list * + FStar_Tactics_NamedView.term), + unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (44)) (Prims.of_int (19)) (Prims.of_int (44)) + (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (43)) (Prims.of_int (19)) (Prims.of_int (45)) + (Prims.of_int (30))))) (Obj.magic (collect_abs' [] t)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + match uu___ with + | (bs, t') -> ((FStar_List_Tot_Base.rev bs), t'))) +let fail : 'a . Prims.string -> ('a, unit) FStar_Tactics_Effect.tac_repr = + fun uu___ -> + (fun m -> + Obj.magic + (FStar_Tactics_Effect.raise (FStar_Tactics_Common.TacticFailure m))) + uu___ +let rec (mk_arr : + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.comp -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun cod -> + match bs with + | [] -> Obj.magic (Obj.repr (fail "mk_arr, empty binders")) + | b::[] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Tactics_NamedView.pack + (FStar_Tactics_NamedView.Tv_Arrow (b, cod))))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (56)) (Prims.of_int (11)) + (Prims.of_int (56)) (Prims.of_int (49))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (56)) (Prims.of_int (23)) + (Prims.of_int (56)) (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (56)) (Prims.of_int (11)) + (Prims.of_int (56)) (Prims.of_int (49))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (56)) + (Prims.of_int (32)) + (Prims.of_int (56)) + (Prims.of_int (47))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (56)) + (Prims.of_int (23)) + (Prims.of_int (56)) + (Prims.of_int (48))))) + (Obj.magic (mk_arr bs1 cod)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Data.C_Total + uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.Tv_Arrow + (b, uu___))))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Tactics_NamedView.pack uu___))))) + uu___1 uu___ +let rec (mk_tot_arr : + FStar_Tactics_NamedView.binder Prims.list -> + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term, unit) FStar_Tactics_Effect.tac_repr) + = + fun uu___1 -> + fun uu___ -> + (fun bs -> + fun cod -> + match bs with + | [] -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> cod))) + | b::bs1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (62)) (Prims.of_int (11)) + (Prims.of_int (62)) (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range " dummy" Prims.int_zero + Prims.int_zero Prims.int_zero Prims.int_zero))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (62)) (Prims.of_int (23)) + (Prims.of_int (62)) (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (62)) (Prims.of_int (11)) + (Prims.of_int (62)) (Prims.of_int (53))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (62)) + (Prims.of_int (32)) + (Prims.of_int (62)) + (Prims.of_int (51))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (62)) + (Prims.of_int (23)) + (Prims.of_int (62)) + (Prims.of_int (52))))) + (Obj.magic (mk_tot_arr bs1 cod)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Reflection_V2_Data.C_Total + uu___)))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + FStar_Tactics_NamedView.Tv_Arrow + (b, uu___))))) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> FStar_Tactics_NamedView.pack uu___))))) + uu___1 uu___ +let (lookup_lb : + FStar_Tactics_NamedView.letbinding Prims.list -> + FStar_Reflection_Types.name -> + (FStar_Tactics_NamedView.letbinding, unit) + FStar_Tactics_Effect.tac_repr) + = + fun lbs -> + fun nm -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (65)) (Prims.of_int (10)) (Prims.of_int (67)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (69)) (Prims.of_int (2)) (Prims.of_int (71)) + (Prims.of_int (59))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_List_Tot_Base.find + (fun lb -> + (FStar_Reflection_V2_Builtins.inspect_fv + lb.FStar_Tactics_NamedView.lb_fv) + = nm) lbs)) + (fun uu___ -> + (fun o -> + match o with + | FStar_Pervasives_Native.Some lb -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> lb))) + | FStar_Pervasives_Native.None -> + Obj.magic + (Obj.repr + (fail "lookup_letbinding: Name not in let group"))) + uu___) +let rec (inspect_unascribe : + FStar_Tactics_NamedView.term -> + (FStar_Tactics_NamedView.term_view, unit) FStar_Tactics_Effect.tac_repr) + = + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (74)) (Prims.of_int (8)) (Prims.of_int (74)) + (Prims.of_int (17))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (74)) (Prims.of_int (2)) (Prims.of_int (78)) + (Prims.of_int (12))))) + (Obj.magic (FStar_Tactics_NamedView.inspect t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_AscribedT + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | FStar_Tactics_NamedView.Tv_AscribedC + (t1, uu___1, uu___2, uu___3) -> + Obj.magic (Obj.repr (inspect_unascribe t1)) + | tv -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv)))) + uu___) +let rec (collect_app' : + FStar_Reflection_V2_Data.argv Prims.list -> + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.term * FStar_Reflection_V2_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = + fun args -> + fun t -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (83)) (Prims.of_int (10)) (Prims.of_int (83)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.V2.SyntaxHelpers.fst" + (Prims.of_int (83)) (Prims.of_int (4)) (Prims.of_int (86)) + (Prims.of_int (20))))) (Obj.magic (inspect_unascribe t)) + (fun uu___ -> + (fun uu___ -> + match uu___ with + | FStar_Tactics_NamedView.Tv_App (l, r) -> + Obj.magic (Obj.repr (collect_app' (r :: args) l)) + | uu___1 -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___2 -> (t, args))))) uu___) +let (collect_app : + FStar_Tactics_NamedView.term -> + ((FStar_Tactics_NamedView.term * FStar_Reflection_V2_Data.argv + Prims.list), + unit) FStar_Tactics_Effect.tac_repr) + = collect_app' [] \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml b/ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml index 18ee19188bd..283e2e20d5b 100644 --- a/ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml +++ b/ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml @@ -9,48 +9,132 @@ let (on_sort_binder : fun f -> fun b -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (26)) - (Prims.of_int (14)) (Prims.of_int (26)) (Prims.of_int (30))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (26)) - (Prims.of_int (33)) (Prims.of_int (28)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (26)) (Prims.of_int (14)) (Prims.of_int (26)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (26)) (Prims.of_int (33)) (Prims.of_int (28)) + (Prims.of_int (19))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_binder b)) + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_binder b)) (fun uu___ -> (fun bview -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (27)) (Prims.of_int (16)) - (Prims.of_int (27)) (Prims.of_int (60))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (28)) (Prims.of_int (2)) - (Prims.of_int (28)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (27)) (Prims.of_int (16)) + (Prims.of_int (27)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (28)) (Prims.of_int (2)) + (Prims.of_int (28)) (Prims.of_int (19))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (27)) (Prims.of_int (34)) + (Prims.of_int (27)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (27)) (Prims.of_int (16)) + (Prims.of_int (27)) (Prims.of_int (46))))) + (Obj.magic (f bview.FStar_Reflection_V2_Data.sort2)) + (fun uu___ -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___1 -> + { + FStar_Reflection_V2_Data.sort2 = uu___; + FStar_Reflection_V2_Data.qual = + (bview.FStar_Reflection_V2_Data.qual); + FStar_Reflection_V2_Data.attrs = + (bview.FStar_Reflection_V2_Data.attrs); + FStar_Reflection_V2_Data.ppname2 = + (bview.FStar_Reflection_V2_Data.ppname2) + })))) + (fun bview1 -> + FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_binder bview1)))) + uu___) +let (on_sort_simple_binder : + (FStar_Reflection_Types.term -> + (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) + -> + FStar_Reflection_V2_Data.simple_binder -> + (FStar_Reflection_V2_Data.simple_binder, unit) + FStar_Tactics_Effect.tac_repr) + = + fun f -> + fun b -> + FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (32)) (Prims.of_int (14)) (Prims.of_int (32)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (32)) (Prims.of_int (33)) (Prims.of_int (35)) + (Prims.of_int (19))))) + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_binder b)) + (fun uu___ -> + (fun bview -> + Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (27)) (Prims.of_int (41)) - (Prims.of_int (27)) (Prims.of_int (60))) + (Prims.of_int (33)) (Prims.of_int (16)) + (Prims.of_int (33)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (27)) (Prims.of_int (16)) - (Prims.of_int (27)) (Prims.of_int (60))) - (Obj.magic - (f bview.FStar_Reflection_Data.binder_sort)) + (Prims.of_int (35)) (Prims.of_int (2)) + (Prims.of_int (35)) (Prims.of_int (19))))) + (Obj.magic + (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (33)) (Prims.of_int (34)) + (Prims.of_int (33)) (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (33)) (Prims.of_int (16)) + (Prims.of_int (33)) (Prims.of_int (46))))) + (Obj.magic (f bview.FStar_Reflection_V2_Data.sort2)) (fun uu___ -> FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> { - FStar_Reflection_Data.binder_bv = - (bview.FStar_Reflection_Data.binder_bv); - FStar_Reflection_Data.binder_qual = - (bview.FStar_Reflection_Data.binder_qual); - FStar_Reflection_Data.binder_attrs = - (bview.FStar_Reflection_Data.binder_attrs); - FStar_Reflection_Data.binder_sort = uu___ + FStar_Reflection_V2_Data.sort2 = uu___; + FStar_Reflection_V2_Data.qual = + (bview.FStar_Reflection_V2_Data.qual); + FStar_Reflection_V2_Data.attrs = + (bview.FStar_Reflection_V2_Data.attrs); + FStar_Reflection_V2_Data.ppname2 = + (bview.FStar_Reflection_V2_Data.ppname2) })))) (fun bview1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Builtins.pack_binder bview1)))) + FStar_Reflection_V2_Builtins.pack_binder bview1)))) uu___) let rec (visit_tm : (FStar_Reflection_Types.term -> @@ -62,315 +146,409 @@ let rec (visit_tm : fun ff -> fun t -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (31)) - (Prims.of_int (11)) (Prims.of_int (31)) (Prims.of_int (23))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (31)) - (Prims.of_int (26)) (Prims.of_int (86)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (38)) (Prims.of_int (11)) (Prims.of_int (38)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (38)) (Prims.of_int (26)) (Prims.of_int (93)) + (Prims.of_int (18))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_ln t)) + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_ln t)) (fun uu___ -> (fun tv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (33)) (Prims.of_int (4)) - (Prims.of_int (84)) (Prims.of_int (36))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (86)) (Prims.of_int (2)) - (Prims.of_int (86)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (40)) (Prims.of_int (4)) + (Prims.of_int (91)) (Prims.of_int (36))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (93)) (Prims.of_int (2)) + (Prims.of_int (93)) (Prims.of_int (18))))) (match tv with - | FStar_Reflection_Data.Tv_FVar uu___ -> + | FStar_Reflection_V2_Data.Tv_FVar uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv))) - | FStar_Reflection_Data.Tv_Var uu___ -> + | FStar_Reflection_V2_Data.Tv_Var uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv))) - | FStar_Reflection_Data.Tv_BVar uu___ -> + | FStar_Reflection_V2_Data.Tv_BVar uu___ -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> tv))) - | FStar_Reflection_Data.Tv_UInst (uu___, uu___1) -> + | FStar_Reflection_V2_Data.Tv_UInst (uu___, uu___1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___2 -> tv))) - | FStar_Reflection_Data.Tv_Type u -> + | FStar_Reflection_V2_Data.Tv_Type u -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Data.Tv_Type u))) - | FStar_Reflection_Data.Tv_Const c -> + (fun uu___ -> + FStar_Reflection_V2_Data.Tv_Type u))) + | FStar_Reflection_V2_Data.Tv_Const c -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Const c))) - | FStar_Reflection_Data.Tv_Uvar (i, u) -> + FStar_Reflection_V2_Data.Tv_Const c))) + | FStar_Reflection_V2_Data.Tv_Uvar (i, u) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Uvar (i, u)))) - | FStar_Reflection_Data.Tv_Unknown -> + FStar_Reflection_V2_Data.Tv_Uvar (i, u)))) + | FStar_Reflection_V2_Data.Tv_Unknown -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Unknown))) - | FStar_Reflection_Data.Tv_Unsupp -> + FStar_Reflection_V2_Data.Tv_Unknown))) + | FStar_Reflection_V2_Data.Tv_Unsupp -> Obj.magic (Obj.repr (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Data.Tv_Unsupp))) - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + (fun uu___ -> + FStar_Reflection_V2_Data.Tv_Unsupp))) + | FStar_Reflection_V2_Data.Tv_Arrow (b, c) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (45)) (Prims.of_int (16)) - (Prims.of_int (45)) (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (45)) (Prims.of_int (49)) - (Prims.of_int (47)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (52)) + (Prims.of_int (16)) + (Prims.of_int (52)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (52)) + (Prims.of_int (49)) + (Prims.of_int (54)) + (Prims.of_int (20))))) (Obj.magic (on_sort_binder (visit_tm ff) b)) (fun uu___ -> (fun b1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (46)) - (Prims.of_int (16)) - (Prims.of_int (46)) - (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (47)) - (Prims.of_int (8)) - (Prims.of_int (47)) - (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (53)) + (Prims.of_int (16)) + (Prims.of_int (53)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (54)) + (Prims.of_int (8)) + (Prims.of_int (54)) + (Prims.of_int (20))))) (Obj.magic (visit_comp ff c)) (fun c1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Arrow + FStar_Reflection_V2_Data.Tv_Arrow (b1, c1))))) uu___))) - | FStar_Reflection_Data.Tv_Abs (b, t1) -> + | FStar_Reflection_V2_Data.Tv_Abs (b, t1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (49)) (Prims.of_int (16)) - (Prims.of_int (49)) (Prims.of_int (46))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (49)) (Prims.of_int (49)) - (Prims.of_int (51)) (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (56)) + (Prims.of_int (16)) + (Prims.of_int (56)) + (Prims.of_int (46))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (56)) + (Prims.of_int (49)) + (Prims.of_int (58)) + (Prims.of_int (18))))) (Obj.magic (on_sort_binder (visit_tm ff) b)) (fun uu___ -> (fun b1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (50)) - (Prims.of_int (16)) - (Prims.of_int (50)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (51)) - (Prims.of_int (8)) - (Prims.of_int (51)) - (Prims.of_int (18))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (57)) + (Prims.of_int (16)) + (Prims.of_int (57)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (58)) + (Prims.of_int (8)) + (Prims.of_int (58)) + (Prims.of_int (18))))) (Obj.magic (visit_tm ff t1)) (fun t2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Abs + FStar_Reflection_V2_Data.Tv_Abs (b1, t2))))) uu___))) - | FStar_Reflection_Data.Tv_App (l, (r, q)) -> + | FStar_Reflection_V2_Data.Tv_App (l, (r, q)) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (53)) (Prims.of_int (17)) - (Prims.of_int (53)) (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (53)) (Prims.of_int (33)) - (Prims.of_int (55)) (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (60)) + (Prims.of_int (17)) + (Prims.of_int (60)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (60)) + (Prims.of_int (33)) + (Prims.of_int (62)) + (Prims.of_int (24))))) (Obj.magic (visit_tm ff l)) (fun uu___ -> (fun l1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (54)) - (Prims.of_int (17)) - (Prims.of_int (54)) - (Prims.of_int (30))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (55)) - (Prims.of_int (9)) - (Prims.of_int (55)) - (Prims.of_int (24))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (61)) + (Prims.of_int (17)) + (Prims.of_int (61)) + (Prims.of_int (30))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (62)) + (Prims.of_int (9)) + (Prims.of_int (62)) + (Prims.of_int (24))))) (Obj.magic (visit_tm ff r)) (fun r1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_App + FStar_Reflection_V2_Data.Tv_App (l1, (r1, q)))))) uu___))) - | FStar_Reflection_Data.Tv_Refine (b, sort, r) -> + | FStar_Reflection_V2_Data.Tv_Refine (b, r) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (57)) (Prims.of_int (19)) - (Prims.of_int (57)) (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (57)) (Prims.of_int (38)) - (Prims.of_int (59)) (Prims.of_int (26))) - (Obj.magic (visit_tm ff sort)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (64)) + (Prims.of_int (16)) + (Prims.of_int (64)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (64)) + (Prims.of_int (56)) + (Prims.of_int (66)) + (Prims.of_int (21))))) + (Obj.magic + (on_sort_simple_binder (visit_tm ff) b)) (fun uu___ -> - (fun sort1 -> + (fun b1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (58)) - (Prims.of_int (16)) - (Prims.of_int (58)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (59)) - (Prims.of_int (8)) - (Prims.of_int (59)) - (Prims.of_int (26))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (65)) + (Prims.of_int (16)) + (Prims.of_int (65)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (66)) + (Prims.of_int (8)) + (Prims.of_int (66)) + (Prims.of_int (21))))) (Obj.magic (visit_tm ff r)) (fun r1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Refine - (b, sort1, r1))))) uu___))) - | FStar_Reflection_Data.Tv_Let (r, attrs, b, ty, def, t1) + FStar_Reflection_V2_Data.Tv_Refine + (b1, r1))))) uu___))) + | FStar_Reflection_V2_Data.Tv_Let (r, attrs, b, def, t1) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (61)) (Prims.of_int (17)) - (Prims.of_int (61)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (61)) (Prims.of_int (34)) - (Prims.of_int (64)) (Prims.of_int (33))) - (Obj.magic (visit_tm ff ty)) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (68)) + (Prims.of_int (16)) + (Prims.of_int (68)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (68)) + (Prims.of_int (56)) + (Prims.of_int (71)) + (Prims.of_int (30))))) + (Obj.magic + (on_sort_simple_binder (visit_tm ff) b)) (fun uu___ -> - (fun ty1 -> + (fun b1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (62)) - (Prims.of_int (18)) - (Prims.of_int (62)) - (Prims.of_int (33))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (62)) - (Prims.of_int (36)) - (Prims.of_int (64)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (69)) + (Prims.of_int (18)) + (Prims.of_int (69)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (69)) + (Prims.of_int (36)) + (Prims.of_int (71)) + (Prims.of_int (30))))) (Obj.magic (visit_tm ff def)) (fun uu___ -> (fun def1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (63)) - (Prims.of_int (16)) - (Prims.of_int (63)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (64)) - (Prims.of_int (8)) - (Prims.of_int (64)) - (Prims.of_int (33))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (70)) + (Prims.of_int (16)) + (Prims.of_int (70)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (71)) + (Prims.of_int (8)) + (Prims.of_int (71)) + (Prims.of_int (30))))) (Obj.magic (visit_tm ff t1)) (fun t2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Let - (r, attrs, b, - ty1, def1, + FStar_Reflection_V2_Data.Tv_Let + (r, attrs, + b1, def1, t2))))) uu___))) uu___))) - | FStar_Reflection_Data.Tv_Match (sc, ret_opt, brs) -> + | FStar_Reflection_V2_Data.Tv_Match (sc, ret_opt, brs) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (66)) (Prims.of_int (17)) - (Prims.of_int (66)) (Prims.of_int (31))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (66)) (Prims.of_int (34)) - (Prims.of_int (77)) (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (73)) + (Prims.of_int (17)) + (Prims.of_int (73)) + (Prims.of_int (31))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (73)) + (Prims.of_int (34)) + (Prims.of_int (84)) + (Prims.of_int (31))))) (Obj.magic (visit_tm ff sc)) (fun uu___ -> (fun sc1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (67)) - (Prims.of_int (22)) - (Prims.of_int (75)) - (Prims.of_int (25))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (75)) - (Prims.of_int (28)) - (Prims.of_int (77)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (74)) + (Prims.of_int (22)) + (Prims.of_int (82)) + (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (82)) + (Prims.of_int (28)) + (Prims.of_int (84)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.map_opt (fun uu___ -> match uu___ with | (b, asc) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (68)) - (Prims.of_int (18)) - (Prims.of_int (68)) - (Prims.of_int (48))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (68)) - (Prims.of_int (51)) - (Prims.of_int (75)) - (Prims.of_int (16))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (75)) + (Prims.of_int (18)) + (Prims.of_int (75)) + (Prims.of_int (48))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (75)) + (Prims.of_int (51)) + (Prims.of_int (82)) + (Prims.of_int (16))))) (Obj.magic (on_sort_binder (visit_tm ff) @@ -379,18 +557,22 @@ let rec (visit_tm : (fun b1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (70)) + (Prims.of_int (77)) (Prims.of_int (12)) - (Prims.of_int (74)) - (Prims.of_int (73))) + (Prims.of_int (81)) + (Prims.of_int (73))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (75)) + (Prims.of_int (82)) (Prims.of_int (10)) - (Prims.of_int (75)) - (Prims.of_int (16))) + (Prims.of_int (82)) + (Prims.of_int (16))))) (match asc with | @@ -401,32 +583,40 @@ let rec (visit_tm : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (14)) - (Prims.of_int (72)) - (Prims.of_int (33))) + (Prims.of_int (79)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (14)) - (Prims.of_int (72)) - (Prims.of_int (71))) + (Prims.of_int (79)) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (18)) - (Prims.of_int (72)) - (Prims.of_int (33))) + (Prims.of_int (79)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (14)) - (Prims.of_int (72)) - (Prims.of_int (33))) + (Prims.of_int (79)) + (Prims.of_int (33))))) (Obj.magic (visit_tm ff t1)) @@ -443,18 +633,22 @@ let rec (visit_tm : uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (35)) - (Prims.of_int (72)) - (Prims.of_int (63))) + (Prims.of_int (79)) + (Prims.of_int (63))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (72)) + (Prims.of_int (79)) (Prims.of_int (14)) - (Prims.of_int (72)) - (Prims.of_int (71))) + (Prims.of_int (79)) + (Prims.of_int (71))))) (Obj.magic (FStar_Tactics_Util.map_opt (visit_tm @@ -477,32 +671,40 @@ let rec (visit_tm : -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (14)) - (Prims.of_int (74)) - (Prims.of_int (35))) + (Prims.of_int (81)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (14)) - (Prims.of_int (74)) - (Prims.of_int (73))) + (Prims.of_int (81)) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (18)) - (Prims.of_int (74)) - (Prims.of_int (35))) + (Prims.of_int (81)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (14)) - (Prims.of_int (74)) - (Prims.of_int (35))) + (Prims.of_int (81)) + (Prims.of_int (35))))) (Obj.magic (visit_comp ff c)) @@ -519,18 +721,22 @@ let rec (visit_tm : uu___1 -> Obj.magic (FStar_Tactics_Effect.tac_bind + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (37)) - (Prims.of_int (74)) - (Prims.of_int (65))) + (Prims.of_int (81)) + (Prims.of_int (65))))) + (FStar_Sealed.seal + (Obj.magic (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (74)) + (Prims.of_int (81)) (Prims.of_int (14)) - (Prims.of_int (74)) - (Prims.of_int (73))) + (Prims.of_int (81)) + (Prims.of_int (73))))) (Obj.magic (FStar_Tactics_Util.map_opt (visit_tm @@ -558,104 +764,134 @@ let rec (visit_tm : (fun ret_opt1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (76)) - (Prims.of_int (18)) - (Prims.of_int (76)) - (Prims.of_int (39))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (77)) - (Prims.of_int (8)) - (Prims.of_int (77)) - (Prims.of_int (31))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (83)) + (Prims.of_int (18)) + (Prims.of_int (83)) + (Prims.of_int (39))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (84)) + (Prims.of_int (8)) + (Prims.of_int (84)) + (Prims.of_int (31))))) (Obj.magic (FStar_Tactics_Util.map (visit_br ff) brs)) (fun brs1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_Match + FStar_Reflection_V2_Data.Tv_Match (sc1, ret_opt1, brs1))))) uu___))) uu___))) - | FStar_Reflection_Data.Tv_AscribedT + | FStar_Reflection_V2_Data.Tv_AscribedT (e, t1, topt, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (79)) (Prims.of_int (16)) - (Prims.of_int (79)) (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (79)) (Prims.of_int (32)) - (Prims.of_int (81)) (Prims.of_int (36))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (86)) + (Prims.of_int (16)) + (Prims.of_int (86)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (86)) + (Prims.of_int (32)) + (Prims.of_int (88)) + (Prims.of_int (36))))) (Obj.magic (visit_tm ff e)) (fun uu___ -> (fun e1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (80)) - (Prims.of_int (16)) - (Prims.of_int (80)) - (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (81)) - (Prims.of_int (8)) - (Prims.of_int (81)) - (Prims.of_int (36))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (87)) + (Prims.of_int (16)) + (Prims.of_int (87)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (88)) + (Prims.of_int (8)) + (Prims.of_int (88)) + (Prims.of_int (36))))) (Obj.magic (visit_tm ff t1)) (fun t2 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_AscribedT + FStar_Reflection_V2_Data.Tv_AscribedT (e1, t2, topt, use_eq))))) uu___))) - | FStar_Reflection_Data.Tv_AscribedC (e, c, topt, use_eq) - -> + | FStar_Reflection_V2_Data.Tv_AscribedC + (e, c, topt, use_eq) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (83)) (Prims.of_int (16)) - (Prims.of_int (83)) (Prims.of_int (29))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (84)) (Prims.of_int (8)) - (Prims.of_int (84)) (Prims.of_int (36))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (90)) + (Prims.of_int (16)) + (Prims.of_int (90)) + (Prims.of_int (29))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (91)) + (Prims.of_int (8)) + (Prims.of_int (91)) + (Prims.of_int (36))))) (Obj.magic (visit_tm ff e)) (fun e1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Tv_AscribedC + FStar_Reflection_V2_Data.Tv_AscribedC (e1, c, topt, use_eq)))))) (fun uu___ -> (fun tv' -> Obj.magic - (ff (FStar_Reflection_Builtins.pack_ln tv'))) + (ff (FStar_Reflection_V2_Builtins.pack_ln tv'))) uu___))) uu___) and (visit_br : (FStar_Reflection_Types.term -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Data.branch -> - (FStar_Reflection_Data.branch, unit) FStar_Tactics_Effect.tac_repr) + FStar_Reflection_V2_Data.branch -> + (FStar_Reflection_V2_Data.branch, unit) FStar_Tactics_Effect.tac_repr) = fun ff -> fun b -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (88)) - (Prims.of_int (15)) (Prims.of_int (88)) (Prims.of_int (16))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (87)) - (Prims.of_int (62)) (Prims.of_int (91)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (95)) (Prims.of_int (15)) (Prims.of_int (95)) + (Prims.of_int (16))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (94)) (Prims.of_int (62)) (Prims.of_int (98)) + (Prims.of_int (8))))) (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> b)) (fun uu___ -> (fun uu___ -> @@ -663,25 +899,37 @@ and (visit_br : | (p, t) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (89)) (Prims.of_int (10)) - (Prims.of_int (89)) (Prims.of_int (24))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (89)) (Prims.of_int (27)) - (Prims.of_int (91)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (96)) (Prims.of_int (10)) + (Prims.of_int (96)) (Prims.of_int (24))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (96)) (Prims.of_int (27)) + (Prims.of_int (98)) (Prims.of_int (8))))) (Obj.magic (visit_pat ff p)) (fun uu___1 -> (fun p1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (90)) (Prims.of_int (10)) - (Prims.of_int (90)) (Prims.of_int (23))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (91)) (Prims.of_int (2)) - (Prims.of_int (91)) (Prims.of_int (8))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (97)) + (Prims.of_int (10)) + (Prims.of_int (97)) + (Prims.of_int (23))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (98)) + (Prims.of_int (2)) + (Prims.of_int (98)) + (Prims.of_int (8))))) (Obj.magic (visit_tm ff t)) (fun t1 -> FStar_Tactics_Effect.lift_div_tac @@ -691,75 +939,89 @@ and (visit_pat : (FStar_Reflection_Types.term -> (FStar_Reflection_Types.term, unit) FStar_Tactics_Effect.tac_repr) -> - FStar_Reflection_Data.pattern -> - (FStar_Reflection_Data.pattern, unit) FStar_Tactics_Effect.tac_repr) + FStar_Reflection_V2_Data.pattern -> + (FStar_Reflection_V2_Data.pattern, unit) FStar_Tactics_Effect.tac_repr) = fun uu___1 -> fun uu___ -> (fun ff -> fun p -> match p with - | FStar_Reflection_Data.Pat_Constant c -> + | FStar_Reflection_V2_Data.Pat_Constant uu___ -> Obj.magic (Obj.repr - (FStar_Tactics_Effect.lift_div_tac (fun uu___ -> p))) - | FStar_Reflection_Data.Pat_Cons (fv, us, l) -> + (FStar_Tactics_Effect.lift_div_tac (fun uu___1 -> p))) + | FStar_Reflection_V2_Data.Pat_Var (v, s) -> + Obj.magic + (Obj.repr + (FStar_Tactics_Effect.lift_div_tac + (fun uu___ -> FStar_Reflection_V2_Data.Pat_Var (v, s)))) + | FStar_Reflection_V2_Data.Pat_Cons (head, univs, subpats) -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (96)) (Prims.of_int (14)) - (Prims.of_int (96)) (Prims.of_int (55))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (97)) (Prims.of_int (6)) - (Prims.of_int (97)) (Prims.of_int (22))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (104)) (Prims.of_int (20)) + (Prims.of_int (104)) (Prims.of_int (67))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (105)) (Prims.of_int (6)) + (Prims.of_int (105)) (Prims.of_int (33))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (p1, b) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (96)) - (Prims.of_int (33)) - (Prims.of_int (96)) - (Prims.of_int (47))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (96)) - (Prims.of_int (32)) - (Prims.of_int (96)) - (Prims.of_int (51))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (104)) + (Prims.of_int (39)) + (Prims.of_int (104)) + (Prims.of_int (53))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (104)) + (Prims.of_int (38)) + (Prims.of_int (104)) + (Prims.of_int (57))))) (Obj.magic (visit_pat ff p1)) (fun uu___1 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___2 -> (uu___1, b)))) l)) - (fun l1 -> + (fun uu___2 -> (uu___1, b)))) + subpats)) + (fun subpats1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.Pat_Cons (fv, us, l1))))) - | FStar_Reflection_Data.Pat_Var (bv, st) -> - Obj.magic - (Obj.repr - (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Data.Pat_Var (bv, st)))) - | FStar_Reflection_Data.Pat_Dot_Term eopt -> + FStar_Reflection_V2_Data.Pat_Cons + (head, univs, subpats1))))) + | FStar_Reflection_V2_Data.Pat_Dot_Term t -> Obj.magic (Obj.repr (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (100)) (Prims.of_int (19)) - (Prims.of_int (100)) (Prims.of_int (47))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (100)) (Prims.of_int (6)) - (Prims.of_int (100)) (Prims.of_int (47))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (107)) (Prims.of_int (14)) + (Prims.of_int (107)) (Prims.of_int (37))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (108)) (Prims.of_int (6)) + (Prims.of_int (108)) (Prims.of_int (20))))) (Obj.magic - (FStar_Tactics_Util.map_opt (visit_tm ff) eopt)) - (fun uu___ -> + (FStar_Tactics_Util.map_opt (visit_tm ff) t)) + (fun t1 -> FStar_Tactics_Effect.lift_div_tac - (fun uu___1 -> - FStar_Reflection_Data.Pat_Dot_Term uu___))))) + (fun uu___ -> + FStar_Reflection_V2_Data.Pat_Dot_Term t1))))) uu___1 uu___ and (visit_comp : (FStar_Reflection_Types.term -> @@ -771,148 +1033,212 @@ and (visit_comp : fun ff -> fun c -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (102)) - (Prims.of_int (11)) (Prims.of_int (102)) (Prims.of_int (25))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" (Prims.of_int (102)) - (Prims.of_int (28)) (Prims.of_int (125)) (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (111)) (Prims.of_int (11)) + (Prims.of_int (111)) (Prims.of_int (25))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (111)) (Prims.of_int (28)) + (Prims.of_int (134)) (Prims.of_int (15))))) (FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.inspect_comp c)) + (fun uu___ -> FStar_Reflection_V2_Builtins.inspect_comp c)) (fun uu___ -> (fun cv -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (104)) (Prims.of_int (4)) - (Prims.of_int (123)) (Prims.of_int (35))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (125)) (Prims.of_int (2)) - (Prims.of_int (125)) (Prims.of_int (15))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (113)) (Prims.of_int (4)) + (Prims.of_int (132)) (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range "FStar.Tactics.Visit.fst" + (Prims.of_int (134)) (Prims.of_int (2)) + (Prims.of_int (134)) (Prims.of_int (15))))) (match cv with - | FStar_Reflection_Data.C_Total ret -> + | FStar_Reflection_V2_Data.C_Total ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (106)) (Prims.of_int (18)) - (Prims.of_int (106)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (107)) (Prims.of_int (8)) - (Prims.of_int (107)) (Prims.of_int (19))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (115)) + (Prims.of_int (18)) + (Prims.of_int (115)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (116)) (Prims.of_int (8)) + (Prims.of_int (116)) + (Prims.of_int (19))))) (Obj.magic (visit_tm ff ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.C_Total ret1))) - | FStar_Reflection_Data.C_GTotal ret -> + FStar_Reflection_V2_Data.C_Total ret1))) + | FStar_Reflection_V2_Data.C_GTotal ret -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (110)) (Prims.of_int (18)) - (Prims.of_int (110)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (111)) (Prims.of_int (8)) - (Prims.of_int (111)) (Prims.of_int (20))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (119)) + (Prims.of_int (18)) + (Prims.of_int (119)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (120)) (Prims.of_int (8)) + (Prims.of_int (120)) + (Prims.of_int (20))))) (Obj.magic (visit_tm ff ret)) (fun ret1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.C_GTotal ret1))) - | FStar_Reflection_Data.C_Lemma (pre, post, pats) -> + FStar_Reflection_V2_Data.C_GTotal ret1))) + | FStar_Reflection_V2_Data.C_Lemma (pre, post, pats) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (114)) (Prims.of_int (18)) - (Prims.of_int (114)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (114)) (Prims.of_int (36)) - (Prims.of_int (117)) (Prims.of_int (29))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (123)) + (Prims.of_int (18)) + (Prims.of_int (123)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (123)) + (Prims.of_int (36)) + (Prims.of_int (126)) + (Prims.of_int (29))))) (Obj.magic (visit_tm ff pre)) (fun uu___ -> (fun pre1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (115)) - (Prims.of_int (19)) - (Prims.of_int (115)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (115)) - (Prims.of_int (38)) - (Prims.of_int (117)) - (Prims.of_int (29))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (124)) + (Prims.of_int (19)) + (Prims.of_int (124)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (124)) + (Prims.of_int (38)) + (Prims.of_int (126)) + (Prims.of_int (29))))) (Obj.magic (visit_tm ff post)) (fun uu___ -> (fun post1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (116)) - (Prims.of_int (19)) - (Prims.of_int (116)) - (Prims.of_int (35))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (117)) - (Prims.of_int (8)) - (Prims.of_int (117)) - (Prims.of_int (29))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (125)) + (Prims.of_int (19)) + (Prims.of_int (125)) + (Prims.of_int (35))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (126)) + (Prims.of_int (8)) + (Prims.of_int (126)) + (Prims.of_int (29))))) (Obj.magic (visit_tm ff pats)) (fun pats1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.C_Lemma + FStar_Reflection_V2_Data.C_Lemma (pre1, post1, pats1))))) uu___))) uu___)) - | FStar_Reflection_Data.C_Eff (us, eff, res, args, decrs) - -> + | FStar_Reflection_V2_Data.C_Eff + (us, eff, res, args, decrs) -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (120)) (Prims.of_int (18)) - (Prims.of_int (120)) (Prims.of_int (33))) - (FStar_Range.mk_range "FStar.Tactics.Visit.fst" - (Prims.of_int (120)) (Prims.of_int (36)) - (Prims.of_int (123)) (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (129)) + (Prims.of_int (18)) + (Prims.of_int (129)) + (Prims.of_int (33))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (129)) + (Prims.of_int (36)) + (Prims.of_int (132)) + (Prims.of_int (35))))) (Obj.magic (visit_tm ff res)) (fun uu___ -> (fun res1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (121)) - (Prims.of_int (19)) - (Prims.of_int (121)) - (Prims.of_int (62))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (121)) - (Prims.of_int (65)) - (Prims.of_int (123)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (130)) + (Prims.of_int (19)) + (Prims.of_int (130)) + (Prims.of_int (62))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (130)) + (Prims.of_int (65)) + (Prims.of_int (132)) + (Prims.of_int (35))))) (Obj.magic (FStar_Tactics_Util.map (fun uu___ -> match uu___ with | (a, q) -> FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (121)) - (Prims.of_int (39)) - (Prims.of_int (121)) - (Prims.of_int (52))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (121)) - (Prims.of_int (38)) - (Prims.of_int (121)) - (Prims.of_int (56))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (130)) + (Prims.of_int (39)) + (Prims.of_int (130)) + (Prims.of_int (52))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (130)) + (Prims.of_int (38)) + (Prims.of_int (130)) + (Prims.of_int (56))))) (Obj.magic (visit_tm ff a)) (fun uu___1 -> @@ -924,29 +1250,34 @@ and (visit_comp : (fun args1 -> Obj.magic (FStar_Tactics_Effect.tac_bind - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (122)) - (Prims.of_int (20)) - (Prims.of_int (122)) - (Prims.of_int (43))) - (FStar_Range.mk_range - "FStar.Tactics.Visit.fst" - (Prims.of_int (123)) - (Prims.of_int (8)) - (Prims.of_int (123)) - (Prims.of_int (35))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (131)) + (Prims.of_int (20)) + (Prims.of_int (131)) + (Prims.of_int (43))))) + (FStar_Sealed.seal + (Obj.magic + (FStar_Range.mk_range + "FStar.Tactics.Visit.fst" + (Prims.of_int (132)) + (Prims.of_int (8)) + (Prims.of_int (132)) + (Prims.of_int (35))))) (Obj.magic (FStar_Tactics_Util.map (visit_tm ff) decrs)) (fun decrs1 -> FStar_Tactics_Effect.lift_div_tac (fun uu___ -> - FStar_Reflection_Data.C_Eff + FStar_Reflection_V2_Data.C_Eff (us, eff, res1, args1, decrs1))))) uu___))) uu___))) (fun cv' -> FStar_Tactics_Effect.lift_div_tac - (fun uu___ -> FStar_Reflection_Builtins.pack_comp cv')))) + (fun uu___ -> + FStar_Reflection_V2_Builtins.pack_comp cv')))) uu___) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_ToSyntax_Interleave.ml b/ocaml/fstar-lib/generated/FStar_ToSyntax_Interleave.ml index 2af16a5afdb..879b1aade9e 100644 --- a/ocaml/fstar-lib/generated/FStar_ToSyntax_Interleave.ml +++ b/ocaml/fstar-lib/generated/FStar_ToSyntax_Interleave.ml @@ -74,7 +74,9 @@ let rec (prefix_with_iface_decls : (impl1.FStar_Parser_AST.attrs)) } in match iface with - | [] -> ([], [qualify_karamel_private impl]) + | [] -> + let uu___ = let uu___1 = qualify_karamel_private impl in [uu___1] in + ([], uu___) | iface_hd::iface_tl -> (match iface_hd.FStar_Parser_AST.d with | FStar_Parser_AST.Tycon (uu___, uu___1, tys) when @@ -124,7 +126,10 @@ let rec (prefix_with_iface_decls : (FStar_Errors_Codes.Fatal_WrongDefinitionOrder, uu___2) in FStar_Errors.raise_error uu___1 impl.FStar_Parser_AST.drange - else (iface, [qualify_karamel_private impl])) + else + (let uu___2 = + let uu___3 = qualify_karamel_private impl in [uu___3] in + (iface, uu___2))) else (let mutually_defined_with_x = FStar_Compiler_Effect.op_Bar_Greater def_ids diff --git a/ocaml/fstar-lib/generated/FStar_ToSyntax_ToSyntax.ml b/ocaml/fstar-lib/generated/FStar_ToSyntax_ToSyntax.ml index e7427c2c520..94f709ed519 100644 --- a/ocaml/fstar-lib/generated/FStar_ToSyntax_ToSyntax.ml +++ b/ocaml/fstar-lib/generated/FStar_ToSyntax_ToSyntax.ml @@ -747,13 +747,16 @@ let (close_fun : match uu___1 with | FStar_Parser_AST.Product uu___2 -> t | uu___2 -> - FStar_Parser_AST.mk_term - (FStar_Parser_AST.App - ((FStar_Parser_AST.mk_term - (FStar_Parser_AST.Name - 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 + let uu___3 = + let uu___4 = + let uu___5 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Name + FStar_Parser_Const.effect_Tot_lid) + t.FStar_Parser_AST.range t.FStar_Parser_AST.level in + (uu___5, t, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu___4 in + FStar_Parser_AST.mk_term uu___3 t.FStar_Parser_AST.range t.FStar_Parser_AST.level in let result = FStar_Parser_AST.mk_term (FStar_Parser_AST.Product (binders, t1)) @@ -793,13 +796,18 @@ let (replace_unit_pattern : fun p -> match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatConst (FStar_Const.Const_unit) -> - FStar_Parser_AST.mk_pattern - (FStar_Parser_AST.PatAscribed - ((FStar_Parser_AST.mk_pattern - (FStar_Parser_AST.PatWild (FStar_Pervasives_Native.None, [])) - p.FStar_Parser_AST.prange), - ((unit_ty p.FStar_Parser_AST.prange), - FStar_Pervasives_Native.None))) p.FStar_Parser_AST.prange + let uu___ = + let uu___1 = + let uu___2 = + FStar_Parser_AST.mk_pattern + (FStar_Parser_AST.PatWild (FStar_Pervasives_Native.None, [])) + p.FStar_Parser_AST.prange in + let uu___3 = + let uu___4 = unit_ty p.FStar_Parser_AST.prange in + (uu___4, FStar_Pervasives_Native.None) in + (uu___2, uu___3) in + FStar_Parser_AST.PatAscribed uu___1 in + FStar_Parser_AST.mk_pattern uu___ p.FStar_Parser_AST.prange | uu___ -> p let rec (destruct_app_pattern : env_t -> @@ -1656,10 +1664,11 @@ let rec (hoist_pat_ascription' : } in let uu___4 = let uu___5 = - let uu___6 = + let uu___6 = mk type_lid in + let uu___7 = FStar_Compiler_List.map (fun t -> (t, FStar_Parser_AST.Nothing)) terms1 in - FStar_Parser_AST.mkApp (mk type_lid) uu___6 + FStar_Parser_AST.mkApp uu___6 uu___7 pat.FStar_Parser_AST.prange in FStar_Pervasives_Native.Some uu___5 in (uu___3, uu___4)) in @@ -2876,11 +2885,12 @@ and (desugar_term_maybe_top : let uu___2 = let uu___3 = let uu___4 = + let uu___5 = + 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 FStar_Compiler_Effect.op_Less_Bar - (fun uu___5 -> FStar_Pervasives.Inl uu___5) - (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 + (fun uu___6 -> FStar_Pervasives.Inl uu___6) uu___5 in [uu___4] in FStar_Compiler_List.op_At binders uu___3 in FStar_Compiler_List.fold_left @@ -3337,12 +3347,14 @@ and (desugar_term_maybe_top : (FStar_Parser_AST.PatWild (FStar_Pervasives_Native.None, [])) t1.FStar_Parser_AST.range in let p1 = - FStar_Parser_AST.mk_pattern - (FStar_Parser_AST.PatAscribed - (p, - ((unit_ty p.FStar_Parser_AST.prange), - FStar_Pervasives_Native.None))) - p.FStar_Parser_AST.prange in + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = unit_ty p.FStar_Parser_AST.prange in + (uu___4, FStar_Pervasives_Native.None) in + (p, uu___3) in + FStar_Parser_AST.PatAscribed uu___2 in + FStar_Parser_AST.mk_pattern uu___1 p.FStar_Parser_AST.prange in let t = FStar_Parser_AST.mk_term (FStar_Parser_AST.Let @@ -3411,16 +3423,17 @@ and (desugar_term_maybe_top : let uu___1 = let uu___2 = let uu___3 = + mk_pattern (FStar_Parser_AST.PatName constrname) in + let uu___4 = FStar_Compiler_List.map - (fun uu___4 -> - match uu___4 with - | (field, uu___5) -> + (fun uu___5 -> + match uu___5 with + | (field, uu___6) -> mk_pattern (FStar_Parser_AST.PatVar (field, FStar_Pervasives_Native.None, []))) record.FStar_Syntax_DsEnv.fields in - ((mk_pattern (FStar_Parser_AST.PatName constrname)), - uu___3) in + (uu___3, uu___4) in FStar_Parser_AST.PatApp uu___2 in mk_pattern uu___1 in let branch = (pat, FStar_Pervasives_Native.None, e) in @@ -3500,56 +3513,58 @@ and (desugar_term_maybe_top : destruct_app_pattern env top_level p in (attr_opt, uu___4, def) else - (match FStar_Parser_AST.un_function p def with + (let uu___5 = + FStar_Parser_AST.un_function p def in + match uu___5 with | FStar_Pervasives_Native.Some (p1, def1) -> - let uu___5 = + let uu___6 = destruct_app_pattern env top_level p1 in - (attr_opt, uu___5, def1) - | uu___5 -> + (attr_opt, uu___6, def1) + | uu___6 -> (match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatAscribed ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (id, uu___6, uu___7); - FStar_Parser_AST.prange = uu___8;_}, + (id, uu___7, uu___8); + FStar_Parser_AST.prange = uu___9;_}, t) -> if top_level then - let uu___9 = - let uu___10 = - let uu___11 = + let uu___10 = + let uu___11 = + let uu___12 = FStar_Syntax_DsEnv.qualify env id in - FStar_Pervasives.Inr uu___11 in - (uu___10, [], + FStar_Pervasives.Inr uu___12 in + (uu___11, [], (FStar_Pervasives_Native.Some t)) in - (attr_opt, uu___9, def) + (attr_opt, uu___10, def) else (attr_opt, ((FStar_Pervasives.Inl id), [], (FStar_Pervasives_Native.Some t)), def) | FStar_Parser_AST.PatVar - (id, uu___6, uu___7) -> + (id, uu___7, uu___8) -> if top_level then - let uu___8 = - let uu___9 = - let uu___10 = + let uu___9 = + let uu___10 = + let uu___11 = FStar_Syntax_DsEnv.qualify env id in - FStar_Pervasives.Inr uu___10 in - (uu___9, [], + FStar_Pervasives.Inr uu___11 in + (uu___10, [], FStar_Pervasives_Native.None) in - (attr_opt, uu___8, def) + (attr_opt, uu___9, def) else (attr_opt, ((FStar_Pervasives.Inl id), [], FStar_Pervasives_Native.None), def) - | uu___6 -> + | uu___7 -> FStar_Errors.raise_error (FStar_Errors_Codes.Fatal_UnexpectedLetBinding, "Unexpected let binding") @@ -3653,8 +3668,9 @@ and (desugar_term_maybe_top : match args1 with | [] -> def1 | uu___5 -> - FStar_Parser_AST.mk_term - (FStar_Parser_AST.un_curry_abs args1 def1) + let uu___6 = + FStar_Parser_AST.un_curry_abs args1 def1 in + FStar_Parser_AST.mk_term uu___6 top.FStar_Parser_AST.range top.FStar_Parser_AST.level in let uu___5 = desugar_term_aq env1 def2 in @@ -3998,10 +4014,14 @@ and (desugar_term_maybe_top : 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 uu___1 = + let uu___2 = + let uu___3 = + FStar_Parser_AST.mk_pattern + (FStar_Parser_AST.PatConst FStar_Const.Const_unit) r in + (uu___3, FStar_Pervasives_Native.None, e) in + [uu___2] in + FStar_Parser_AST.mk_function uu___1 r r in let try_with_lid = FStar_Ident.lid_of_path ["try_with"] r in let try_with = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var try_with_lid) r @@ -4415,14 +4435,19 @@ and (desugar_term_maybe_top : FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar y) 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 + let uu___1 = + FStar_Parser_AST.mk_pattern + (FStar_Parser_AST.PatVar + (x, FStar_Pervasives_Native.None, [])) + rel1.FStar_Parser_AST.range in + let uu___2 = + let uu___3 = + FStar_Parser_AST.mk_pattern + (FStar_Parser_AST.PatVar + (y, FStar_Pervasives_Native.None, [])) + rel1.FStar_Parser_AST.range in + [uu___3] in + uu___1 :: uu___2 in let uu___1 = let uu___2 = let uu___3 = @@ -4470,10 +4495,11 @@ and (desugar_term_maybe_top : (FStar_Parser_AST.Var FStar_Parser_Const.calc_step_lid) r FStar_Parser_AST.Expr in let finish = - 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) + let uu___1 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Var FStar_Parser_Const.calc_finish_lid) + top.FStar_Parser_AST.range FStar_Parser_AST.Expr in + FStar_Parser_AST.mkApp uu___1 [(rel1, FStar_Parser_AST.Nothing)] top.FStar_Parser_AST.range in let e = FStar_Parser_AST.mkApp init @@ -4491,45 +4517,48 @@ and (desugar_term_maybe_top : if uu___4 then let uu___5 = - let uu___6 = - let uu___7 = FStar_Parser_AST.thunk just in - (uu___7, FStar_Parser_AST.Nothing) in - [uu___6] in - FStar_Parser_AST.mkApp - (push_impl just.FStar_Parser_AST.range) uu___5 + push_impl just.FStar_Parser_AST.range in + let uu___6 = + let uu___7 = + let uu___8 = FStar_Parser_AST.thunk just in + (uu___8, FStar_Parser_AST.Nothing) in + [uu___7] in + FStar_Parser_AST.mkApp uu___5 uu___6 just.FStar_Parser_AST.range else just in let pf = - let uu___4 = - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = eta_and_annot rel2 in - (uu___9, FStar_Parser_AST.Nothing) in - let uu___9 = - let uu___10 = - let uu___11 = - let uu___12 = + let uu___4 = step rel2.FStar_Parser_AST.range in + let uu___5 = + let uu___6 = + let uu___7 = wild rel2.FStar_Parser_AST.range in + (uu___7, FStar_Parser_AST.Hash) in + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = eta_and_annot rel2 in + (uu___11, FStar_Parser_AST.Nothing) in + let uu___11 = + let uu___12 = + let uu___13 = + let uu___14 = FStar_Parser_AST.thunk e1 in - (uu___12, FStar_Parser_AST.Nothing) in - let uu___12 = - let uu___13 = - let uu___14 = + (uu___14, FStar_Parser_AST.Nothing) in + let uu___14 = + let uu___15 = + let uu___16 = FStar_Parser_AST.thunk just1 in - (uu___14, + (uu___16, FStar_Parser_AST.Nothing) in - [uu___13] in - uu___11 :: uu___12 in + [uu___15] in + uu___13 :: uu___14 in (next_expr, FStar_Parser_AST.Nothing) :: - uu___10 in - uu___8 :: uu___9 in - (prev, FStar_Parser_AST.Hash) :: uu___7 in - (init_expr, FStar_Parser_AST.Hash) :: uu___6 in - ((wild rel2.FStar_Parser_AST.range), - FStar_Parser_AST.Hash) :: uu___5 in - FStar_Parser_AST.mkApp - (step rel2.FStar_Parser_AST.range) uu___4 + uu___12 in + uu___10 :: uu___11 in + (prev, FStar_Parser_AST.Hash) :: uu___9 in + (init_expr, FStar_Parser_AST.Hash) :: uu___8 in + uu___6 :: uu___7 in + FStar_Parser_AST.mkApp uu___4 uu___5 FStar_Compiler_Range_Type.dummyRange in (pf, next_expr)) (e, init_expr) steps in (match uu___1 with @@ -5251,29 +5280,34 @@ and (desugar_comp : FStar_Ident.string_of_id uu___2 in uu___1 = "Lemma" -> let unit_tm = - ((FStar_Parser_AST.mk_term + let uu___1 = + FStar_Parser_AST.mk_term (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.Type_level in + (uu___1, FStar_Parser_AST.Nothing) in let nil_pat = - ((FStar_Parser_AST.mk_term + let uu___1 = + 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 + t1.FStar_Parser_AST.range FStar_Parser_AST.Expr in + (uu___1, FStar_Parser_AST.Nothing) in let req_true = let req = - FStar_Parser_AST.Requires - ((FStar_Parser_AST.mk_term + let uu___1 = + let uu___2 = + FStar_Parser_AST.mk_term (FStar_Parser_AST.Name FStar_Parser_Const.true_lid) t1.FStar_Parser_AST.range - FStar_Parser_AST.Formula), - FStar_Pervasives_Native.None) in - ((FStar_Parser_AST.mk_term req + FStar_Parser_AST.Formula in + (uu___2, FStar_Pervasives_Native.None) in + FStar_Parser_AST.Requires uu___1 in + let uu___1 = + FStar_Parser_AST.mk_term req t1.FStar_Parser_AST.range - FStar_Parser_AST.Type_level), - FStar_Parser_AST.Nothing) in + FStar_Parser_AST.Type_level in + (uu___1, FStar_Parser_AST.Nothing) in let thunk_ens uu___1 = match uu___1 with | (e, i) -> @@ -5990,10 +6024,11 @@ and (trans_bqual : FStar_Pervasives_Native.Some uu___1 | FStar_Pervasives_Native.Some (FStar_Parser_AST.TypeClassArg) -> let tcresolve = - desugar_term env - (FStar_Parser_AST.mk_term - (FStar_Parser_AST.Var FStar_Parser_Const.tcresolve_lid) - FStar_Compiler_Range_Type.dummyRange FStar_Parser_AST.Expr) in + let uu___1 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Var FStar_Parser_Const.tcresolve_lid) + FStar_Compiler_Range_Type.dummyRange FStar_Parser_AST.Expr in + desugar_term env uu___1 in FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta tcresolve) | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None let (typars_of_binders : @@ -6087,53 +6122,57 @@ let (binder_idents : 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) + FStar_Ident.lident Prims.list -> + FStar_Syntax_Syntax.attribute Prims.list -> + FStar_Syntax_Syntax.sigelt Prims.list) = fun quals -> fun env -> fun datas -> - let quals1 = - FStar_Compiler_Effect.op_Bar_Greater quals - (FStar_Compiler_List.filter - (fun uu___ -> - match uu___ with - | FStar_Syntax_Syntax.NoExtract -> true - | FStar_Syntax_Syntax.Private -> true - | uu___1 -> false)) in - let quals2 q = - let uu___ = - (let uu___1 = FStar_Syntax_DsEnv.iface env in - Prims.op_Negation uu___1) || - (FStar_Syntax_DsEnv.admitted_iface env) in - if uu___ - then - FStar_Compiler_List.op_At (FStar_Syntax_Syntax.Assumption :: q) - quals1 - else FStar_Compiler_List.op_At q quals1 in - FStar_Compiler_Effect.op_Bar_Greater datas - (FStar_Compiler_List.map - (fun d -> - let disc_name = FStar_Syntax_Util.mk_discriminator d in - let uu___ = FStar_Ident.range_of_lid disc_name in - let uu___1 = - quals2 - [FStar_Syntax_Syntax.OnlyName; - FStar_Syntax_Syntax.Discriminator d] in - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_declare_typ - { - FStar_Syntax_Syntax.lid2 = disc_name; - FStar_Syntax_Syntax.us2 = []; - FStar_Syntax_Syntax.t2 = FStar_Syntax_Syntax.tun - }); - FStar_Syntax_Syntax.sigrng = uu___; - FStar_Syntax_Syntax.sigquals = uu___1; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None - })) + fun attrs -> + let quals1 = + FStar_Compiler_Effect.op_Bar_Greater quals + (FStar_Compiler_List.filter + (fun uu___ -> + match uu___ with + | FStar_Syntax_Syntax.NoExtract -> true + | FStar_Syntax_Syntax.Private -> true + | uu___1 -> false)) in + let quals2 q = + let uu___ = + (let uu___1 = FStar_Syntax_DsEnv.iface env in + Prims.op_Negation uu___1) || + (FStar_Syntax_DsEnv.admitted_iface env) in + if uu___ + then + FStar_Compiler_List.op_At (FStar_Syntax_Syntax.Assumption :: q) + quals1 + else FStar_Compiler_List.op_At q quals1 in + FStar_Compiler_Effect.op_Bar_Greater datas + (FStar_Compiler_List.map + (fun d -> + let disc_name = FStar_Syntax_Util.mk_discriminator d in + let uu___ = FStar_Ident.range_of_lid disc_name in + let uu___1 = + quals2 + [FStar_Syntax_Syntax.OnlyName; + FStar_Syntax_Syntax.Discriminator d] in + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_declare_typ + { + FStar_Syntax_Syntax.lid2 = disc_name; + FStar_Syntax_Syntax.us2 = []; + FStar_Syntax_Syntax.t2 = FStar_Syntax_Syntax.tun + }); + FStar_Syntax_Syntax.sigrng = uu___; + FStar_Syntax_Syntax.sigquals = uu___1; + FStar_Syntax_Syntax.sigmeta = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = attrs; + FStar_Syntax_Syntax.sigopts = + FStar_Pervasives_Native.None + })) let (mk_indexed_projector_names : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.fv_qual -> @@ -6202,7 +6241,7 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.sigquals = quals1; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -6257,7 +6296,7 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.sigquals = quals1; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -6331,8 +6370,10 @@ let (mk_typ_abbrev : fun quals -> fun rng -> let attrs = - FStar_Compiler_List.map (desugar_term env) - d.FStar_Parser_AST.attrs in + let uu___ = + FStar_Compiler_List.map (desugar_term env) + d.FStar_Parser_AST.attrs in + FStar_Syntax_Util.deduplicate_terms uu___ in let val_attrs = let uu___ = FStar_Syntax_DsEnv.lookup_letbinding_quals_and_attrs @@ -6367,6 +6408,9 @@ let (mk_typ_abbrev : FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = rng } in + let uu___ = + FStar_Syntax_Util.deduplicate_terms + (FStar_Compiler_List.op_At val_attrs attrs) in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let @@ -6378,998 +6422,1090 @@ let (mk_typ_abbrev : FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = - (FStar_Compiler_List.op_At val_attrs attrs); + FStar_Syntax_Syntax.sigattrs = uu___; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } let rec (desugar_tycon : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> - FStar_Syntax_Syntax.qualifier Prims.list -> - FStar_Parser_AST.tycon Prims.list -> - (env_t * FStar_Syntax_Syntax.sigelts)) + FStar_Syntax_Syntax.term Prims.list -> + FStar_Syntax_Syntax.qualifier Prims.list -> + 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 - let tycon_id uu___ = - match uu___ with - | FStar_Parser_AST.TyconAbstract (id, uu___1, uu___2) -> id - | FStar_Parser_AST.TyconAbbrev (id, uu___1, uu___2, uu___3) -> id - | FStar_Parser_AST.TyconRecord - (id, uu___1, uu___2, uu___3, uu___4) -> id - | FStar_Parser_AST.TyconVariant (id, uu___1, uu___2, uu___3) -> - id in - let binder_to_term b = - match b.FStar_Parser_AST.b with - | FStar_Parser_AST.Annotated (x, uu___) -> - let uu___1 = - let uu___2 = FStar_Ident.lid_of_ids [x] in - FStar_Parser_AST.Var uu___2 in - let uu___2 = FStar_Ident.range_of_id x in - FStar_Parser_AST.mk_term uu___1 uu___2 FStar_Parser_AST.Expr - | FStar_Parser_AST.Variable x -> - let uu___ = - let uu___1 = FStar_Ident.lid_of_ids [x] in - FStar_Parser_AST.Var uu___1 in - let uu___1 = FStar_Ident.range_of_id x in - FStar_Parser_AST.mk_term uu___ uu___1 FStar_Parser_AST.Expr - | FStar_Parser_AST.TAnnotated (a, uu___) -> - let uu___1 = FStar_Ident.range_of_id a in - FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) uu___1 - FStar_Parser_AST.Type_level - | FStar_Parser_AST.TVariable a -> - let uu___ = FStar_Ident.range_of_id a in - FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) uu___ - FStar_Parser_AST.Type_level - | FStar_Parser_AST.NoName t -> t in - let desugar_tycon_variant_record uu___ = - match uu___ with - | FStar_Parser_AST.TyconVariant (id, bds, k, variants) -> - let uu___1 = - let uu___2 = - FStar_Compiler_List.map - (fun uu___3 -> - match uu___3 with - | (cid, payload, attrs) -> - (match payload with - | FStar_Pervasives_Native.Some - (FStar_Parser_AST.VpRecord (r, k1)) -> - let record_id = - let uu___4 = - let uu___5 = + fun d_attrs -> + fun quals -> + fun tcs -> + let rng = d.FStar_Parser_AST.drange in + let tycon_id uu___ = + match uu___ with + | FStar_Parser_AST.TyconAbstract (id, uu___1, uu___2) -> id + | FStar_Parser_AST.TyconAbbrev (id, uu___1, uu___2, uu___3) -> + id + | FStar_Parser_AST.TyconRecord + (id, uu___1, uu___2, uu___3, uu___4) -> id + | FStar_Parser_AST.TyconVariant (id, uu___1, uu___2, uu___3) -> + id in + let binder_to_term b = + match b.FStar_Parser_AST.b with + | FStar_Parser_AST.Annotated (x, uu___) -> + let uu___1 = + let uu___2 = FStar_Ident.lid_of_ids [x] in + FStar_Parser_AST.Var uu___2 in + let uu___2 = FStar_Ident.range_of_id x in + FStar_Parser_AST.mk_term uu___1 uu___2 + FStar_Parser_AST.Expr + | FStar_Parser_AST.Variable x -> + let uu___ = + let uu___1 = FStar_Ident.lid_of_ids [x] in + FStar_Parser_AST.Var uu___1 in + let uu___1 = FStar_Ident.range_of_id x in + FStar_Parser_AST.mk_term uu___ uu___1 FStar_Parser_AST.Expr + | FStar_Parser_AST.TAnnotated (a, uu___) -> + let uu___1 = FStar_Ident.range_of_id a in + FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) uu___1 + FStar_Parser_AST.Type_level + | FStar_Parser_AST.TVariable a -> + let uu___ = FStar_Ident.range_of_id a in + FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) uu___ + FStar_Parser_AST.Type_level + | FStar_Parser_AST.NoName t -> t in + let desugar_tycon_variant_record uu___ = + match uu___ with + | FStar_Parser_AST.TyconVariant (id, bds, k, variants) -> + let uu___1 = + let uu___2 = + FStar_Compiler_List.map + (fun uu___3 -> + match uu___3 with + | (cid, payload, attrs) -> + (match payload with + | FStar_Pervasives_Native.Some + (FStar_Parser_AST.VpRecord (r, k1)) -> + let record_id = + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Ident.string_of_id id in + let uu___7 = + let uu___8 = + let uu___9 = + FStar_Ident.string_of_id cid in + Prims.op_Hat uu___9 "__payload" in + Prims.op_Hat "__" uu___8 in + Prims.op_Hat uu___6 uu___7 in let uu___6 = - FStar_Ident.string_of_id id in - let uu___7 = - let uu___8 = - let uu___9 = - FStar_Ident.string_of_id cid in - Prims.op_Hat uu___9 "__payload" in - Prims.op_Hat "__" uu___8 in - Prims.op_Hat uu___6 uu___7 in - let uu___6 = + FStar_Ident.range_of_id cid in + (uu___5, uu___6) in + FStar_Ident.mk_ident uu___4 in + let record_id_t = + let uu___4 = + let uu___5 = + FStar_Ident.lid_of_ns_and_id [] + record_id in + FStar_Compiler_Effect.op_Bar_Greater + uu___5 + (fun uu___6 -> + FStar_Parser_AST.Var uu___6) in + let uu___5 = FStar_Ident.range_of_id cid in - (uu___5, uu___6) in - FStar_Ident.mk_ident uu___4 in - let record_id_t = - let uu___4 = + { + FStar_Parser_AST.tm = uu___4; + FStar_Parser_AST.range = uu___5; + FStar_Parser_AST.level = + FStar_Parser_AST.Type_level + } in + let payload_typ = + let uu___4 = + FStar_Compiler_List.map + (fun bd -> + let uu___5 = binder_to_term bd in + (uu___5, + FStar_Parser_AST.Nothing)) bds in let uu___5 = - FStar_Ident.lid_of_ns_and_id [] - record_id in - FStar_Compiler_Effect.op_Bar_Greater - uu___5 - (fun uu___6 -> - FStar_Parser_AST.Var uu___6) in - let uu___5 = FStar_Ident.range_of_id cid in - { - FStar_Parser_AST.tm = uu___4; - FStar_Parser_AST.range = uu___5; - FStar_Parser_AST.level = - FStar_Parser_AST.Type_level - } in - let payload_typ = + FStar_Ident.range_of_id record_id in + FStar_Parser_AST.mkApp record_id_t + uu___4 uu___5 in let uu___4 = - FStar_Compiler_List.map - (fun bd -> - let uu___5 = binder_to_term bd in - (uu___5, FStar_Parser_AST.Nothing)) - bds in + FStar_Compiler_Effect.op_Bar_Greater + (FStar_Parser_AST.TyconRecord + (record_id, bds, + FStar_Pervasives_Native.None, + attrs, r)) + (fun uu___5 -> + FStar_Pervasives_Native.Some + uu___5) in let uu___5 = - FStar_Ident.range_of_id record_id in - FStar_Parser_AST.mkApp record_id_t uu___4 - uu___5 in - let uu___4 = - FStar_Compiler_Effect.op_Bar_Greater - (FStar_Parser_AST.TyconRecord - (record_id, bds, - FStar_Pervasives_Native.None, - attrs, r)) - (fun uu___5 -> - FStar_Pervasives_Native.Some uu___5) in - let uu___5 = - let uu___6 = - let uu___7 = - match k1 with - | FStar_Pervasives_Native.None -> - FStar_Parser_AST.VpOfNotation - payload_typ - | FStar_Pervasives_Native.Some k2 -> - let uu___8 = - let uu___9 = - let uu___10 = - let uu___11 = - let uu___12 = - let uu___13 = - FStar_Ident.range_of_id - record_id in - FStar_Parser_AST.mk_binder - (FStar_Parser_AST.NoName - payload_typ) - uu___13 - FStar_Parser_AST.Type_level - FStar_Pervasives_Native.None in - [uu___12] in - (uu___11, k2) in - FStar_Parser_AST.Product - uu___10 in - { - FStar_Parser_AST.tm = uu___9; - FStar_Parser_AST.range = - (payload_typ.FStar_Parser_AST.range); - FStar_Parser_AST.level = - FStar_Parser_AST.Type_level - } in - FStar_Parser_AST.VpArbitrary - uu___8 in - FStar_Pervasives_Native.Some uu___7 in - (cid, uu___6, attrs) in - (uu___4, uu___5) - | uu___4 -> - (FStar_Pervasives_Native.None, - (cid, payload, attrs)))) variants in - FStar_Compiler_Effect.op_Bar_Greater uu___2 - FStar_Compiler_List.unzip in - (match uu___1 with - | (additional_records, variants1) -> - let concat_options = - FStar_Compiler_List.filter_map (fun r -> r) in - let uu___2 = concat_options additional_records in - FStar_Compiler_List.op_At uu___2 - [FStar_Parser_AST.TyconVariant (id, bds, k, variants1)]) - | tycon -> [tycon] in - let tcs1 = - FStar_Compiler_List.concatMap desugar_tycon_variant_record tcs in - let tot = - FStar_Parser_AST.mk_term - (FStar_Parser_AST.Name FStar_Parser_Const.effect_Tot_lid) rng - 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 - 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_Parser_AST.Hash - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta uu___) -> - FStar_Parser_AST.Hash - | FStar_Pervasives_Native.Some (FStar_Parser_AST.TypeClassArg) - -> FStar_Parser_AST.Hash - | uu___ -> FStar_Parser_AST.Nothing in - FStar_Compiler_List.fold_left - (fun out -> - fun b -> - let uu___ = - let uu___1 = - let uu___2 = binder_to_term b in - (out, uu___2, (imp_of_aqual b)) in - FStar_Parser_AST.App uu___1 in - FStar_Parser_AST.mk_term uu___ out.FStar_Parser_AST.range - out.FStar_Parser_AST.level) t binders in - let tycon_record_as_variant uu___ = - match uu___ with - | FStar_Parser_AST.TyconRecord (id, parms, kopt, attrs, fields) - -> - let constrName = - let uu___1 = - let uu___2 = - let uu___3 = FStar_Ident.string_of_id id in - Prims.op_Hat "Mk" uu___3 in - let uu___3 = FStar_Ident.range_of_id id in - (uu___2, uu___3) in - FStar_Ident.mk_ident uu___1 in - let mfields = - FStar_Compiler_List.map - (fun uu___1 -> - match uu___1 with - | (x, q, attrs1, t) -> - let uu___2 = FStar_Ident.range_of_id x in - FStar_Parser_AST.mk_binder_with_attrs - (FStar_Parser_AST.Annotated (x, t)) uu___2 - FStar_Parser_AST.Expr q attrs1) fields in - let result = - let uu___1 = - let uu___2 = - let uu___3 = FStar_Ident.lid_of_ids [id] in - FStar_Parser_AST.Var uu___3 in - let uu___3 = FStar_Ident.range_of_id id in - FStar_Parser_AST.mk_term uu___2 uu___3 - FStar_Parser_AST.Type_level in - apply_binders uu___1 parms in - let constrTyp = - let uu___1 = FStar_Ident.range_of_id id in - FStar_Parser_AST.mk_term - (FStar_Parser_AST.Product - (mfields, (with_constructor_effect result))) uu___1 - FStar_Parser_AST.Type_level in - let names = let uu___1 = binder_idents parms in id :: uu___1 in - (FStar_Compiler_List.iter - (fun uu___2 -> - match uu___2 with - | (f, uu___3, uu___4, uu___5) -> - let uu___6 = - FStar_Compiler_Util.for_some - (fun i -> FStar_Ident.ident_equals f i) names in - if uu___6 - then - let uu___7 = - let uu___8 = - let uu___9 = FStar_Ident.string_of_id f in - FStar_Compiler_Util.format1 - "Field %s shadows the record's name or a parameter of it, please rename it" - uu___9 in - (FStar_Errors_Codes.Error_FieldShadow, uu___8) in - let uu___8 = FStar_Ident.range_of_id f in - FStar_Errors.raise_error uu___7 uu___8 - else ()) fields; - (let uu___2 = - FStar_Compiler_Effect.op_Bar_Greater fields - (FStar_Compiler_List.map - (fun uu___3 -> - match uu___3 with - | (f, uu___4, uu___5, uu___6) -> f)) in - ((FStar_Parser_AST.TyconVariant - (id, parms, kopt, - [(constrName, - (FStar_Pervasives_Native.Some - (FStar_Parser_AST.VpArbitrary constrTyp)), - attrs)])), uu___2))) - | uu___1 -> failwith "impossible" in - let desugar_abstract_tc quals1 _env mutuals uu___ = - match uu___ with - | FStar_Parser_AST.TyconAbstract (id, binders, kopt) -> - let uu___1 = typars_of_binders _env binders in - (match uu___1 with - | (_env', typars) -> - let k = - match kopt with - | FStar_Pervasives_Native.None -> - FStar_Syntax_Util.ktype - | FStar_Pervasives_Native.Some k1 -> - desugar_term _env' k1 in - let tconstr = - let uu___2 = - let uu___3 = - let uu___4 = FStar_Ident.lid_of_ids [id] in - FStar_Parser_AST.Var uu___4 in - let uu___4 = FStar_Ident.range_of_id id in - FStar_Parser_AST.mk_term uu___3 uu___4 - FStar_Parser_AST.Type_level in - apply_binders uu___2 binders in - let qlid = FStar_Syntax_DsEnv.qualify _env id 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 = - (FStar_Syntax_Syntax.Sig_inductive_typ - { - FStar_Syntax_Syntax.lid = qlid; - FStar_Syntax_Syntax.us = []; - FStar_Syntax_Syntax.params = typars1; - FStar_Syntax_Syntax.num_uniform_params = - FStar_Pervasives_Native.None; - FStar_Syntax_Syntax.t = k1; - FStar_Syntax_Syntax.mutuals = mutuals; - FStar_Syntax_Syntax.ds = [] - }); - FStar_Syntax_Syntax.sigrng = rng; - FStar_Syntax_Syntax.sigquals = quals1; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None - } in - let uu___2 = - FStar_Syntax_DsEnv.push_top_level_rec_binding _env id - FStar_Syntax_Syntax.delta_constant in - (match uu___2 with - | (_env1, uu___3) -> - let uu___4 = - FStar_Syntax_DsEnv.push_top_level_rec_binding - _env' id FStar_Syntax_Syntax.delta_constant in - (match uu___4 with - | (_env2, uu___5) -> (_env1, _env2, se, tconstr)))) - | uu___1 -> failwith "Unexpected tycon" in - let push_tparams env1 bs = - let uu___ = + let uu___6 = + let uu___7 = + match k1 with + | FStar_Pervasives_Native.None -> + FStar_Parser_AST.VpOfNotation + payload_typ + | FStar_Pervasives_Native.Some k2 + -> + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = + let uu___12 = + let uu___13 = + FStar_Ident.range_of_id + record_id in + FStar_Parser_AST.mk_binder + (FStar_Parser_AST.NoName + payload_typ) + uu___13 + FStar_Parser_AST.Type_level + FStar_Pervasives_Native.None in + [uu___12] in + (uu___11, k2) in + FStar_Parser_AST.Product + uu___10 in + { + FStar_Parser_AST.tm = + uu___9; + FStar_Parser_AST.range = + (payload_typ.FStar_Parser_AST.range); + FStar_Parser_AST.level = + FStar_Parser_AST.Type_level + } in + FStar_Parser_AST.VpArbitrary + uu___8 in + FStar_Pervasives_Native.Some uu___7 in + (cid, uu___6, attrs) in + (uu___4, uu___5) + | uu___4 -> + (FStar_Pervasives_Native.None, + (cid, payload, attrs)))) variants in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + FStar_Compiler_List.unzip in + (match uu___1 with + | (additional_records, variants1) -> + let concat_options = + FStar_Compiler_List.filter_map (fun r -> r) in + let uu___2 = concat_options additional_records in + FStar_Compiler_List.op_At uu___2 + [FStar_Parser_AST.TyconVariant + (id, bds, k, variants1)]) + | tycon -> [tycon] in + let tcs1 = + FStar_Compiler_List.concatMap desugar_tycon_variant_record tcs in + let tot = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Name FStar_Parser_Const.effect_Tot_lid) rng + 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 + 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_Parser_AST.Hash + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta uu___) + -> FStar_Parser_AST.Hash + | FStar_Pervasives_Native.Some + (FStar_Parser_AST.TypeClassArg) -> FStar_Parser_AST.Hash + | uu___ -> FStar_Parser_AST.Nothing in FStar_Compiler_List.fold_left - (fun uu___1 -> + (fun out -> fun b -> - match uu___1 with - | (env2, tps) -> + let uu___ = + let uu___1 = + let uu___2 = binder_to_term b in + (out, uu___2, (imp_of_aqual b)) in + FStar_Parser_AST.App uu___1 in + FStar_Parser_AST.mk_term uu___ + out.FStar_Parser_AST.range out.FStar_Parser_AST.level) + t binders in + let tycon_record_as_variant uu___ = + match uu___ with + | FStar_Parser_AST.TyconRecord (id, parms, kopt, attrs, fields) + -> + let constrName = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Ident.string_of_id id in + Prims.op_Hat "Mk" uu___3 in + let uu___3 = FStar_Ident.range_of_id id in + (uu___2, uu___3) in + FStar_Ident.mk_ident uu___1 in + let mfields = + FStar_Compiler_List.map + (fun uu___1 -> + match uu___1 with + | (x, q, attrs1, t) -> + let uu___2 = FStar_Ident.range_of_id x in + FStar_Parser_AST.mk_binder_with_attrs + (FStar_Parser_AST.Annotated (x, t)) uu___2 + FStar_Parser_AST.Expr q attrs1) fields in + let result = + let uu___1 = + let uu___2 = + let uu___3 = FStar_Ident.lid_of_ids [id] in + FStar_Parser_AST.Var uu___3 in + let uu___3 = FStar_Ident.range_of_id id in + FStar_Parser_AST.mk_term uu___2 uu___3 + FStar_Parser_AST.Type_level in + apply_binders uu___1 parms in + let constrTyp = + let uu___1 = + let uu___2 = + let uu___3 = with_constructor_effect result in + (mfields, uu___3) in + FStar_Parser_AST.Product uu___2 in + let uu___2 = FStar_Ident.range_of_id id in + FStar_Parser_AST.mk_term uu___1 uu___2 + FStar_Parser_AST.Type_level in + let names = + let uu___1 = binder_idents parms in id :: uu___1 in + (FStar_Compiler_List.iter + (fun uu___2 -> + match uu___2 with + | (f, uu___3, uu___4, uu___5) -> + let uu___6 = + FStar_Compiler_Util.for_some + (fun i -> FStar_Ident.ident_equals f i) names in + if uu___6 + then + let uu___7 = + let uu___8 = + let uu___9 = FStar_Ident.string_of_id f in + FStar_Compiler_Util.format1 + "Field %s shadows the record's name or a parameter of it, please rename it" + uu___9 in + (FStar_Errors_Codes.Error_FieldShadow, + uu___8) in + let uu___8 = FStar_Ident.range_of_id f in + FStar_Errors.raise_error uu___7 uu___8 + else ()) fields; + (let uu___2 = + FStar_Compiler_Effect.op_Bar_Greater fields + (FStar_Compiler_List.map + (fun uu___3 -> + match uu___3 with + | (f, uu___4, uu___5, uu___6) -> f)) in + ((FStar_Parser_AST.TyconVariant + (id, parms, kopt, + [(constrName, + (FStar_Pervasives_Native.Some + (FStar_Parser_AST.VpArbitrary constrTyp)), + attrs)])), uu___2))) + | uu___1 -> failwith "impossible" in + let desugar_abstract_tc quals1 _env mutuals uu___ = + match uu___ with + | FStar_Parser_AST.TyconAbstract (id, binders, kopt) -> + let uu___1 = typars_of_binders _env binders in + (match uu___1 with + | (_env', typars) -> + let k = + match kopt with + | FStar_Pervasives_Native.None -> + FStar_Syntax_Util.ktype + | FStar_Pervasives_Native.Some k1 -> + desugar_term _env' k1 in + let tconstr = let uu___2 = - FStar_Syntax_DsEnv.push_bv env2 - (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in - (match uu___2 with - | (env3, y) -> - let uu___3 = - let uu___4 = - mk_binder_with_attrs y - b.FStar_Syntax_Syntax.binder_qual - b.FStar_Syntax_Syntax.binder_attrs in - uu___4 :: tps in - (env3, uu___3))) (env1, []) bs in - match uu___ with - | (env2, bs1) -> (env2, (FStar_Compiler_List.rev bs1)) in - match tcs1 with - | (FStar_Parser_AST.TyconAbstract (id, bs, kopt))::[] -> - let kopt1 = - match kopt with - | FStar_Pervasives_Native.None -> - let uu___ = - let uu___1 = FStar_Ident.range_of_id id in - tm_type_z uu___1 in - FStar_Pervasives_Native.Some uu___ - | uu___ -> kopt in - let tc = FStar_Parser_AST.TyconAbstract (id, bs, kopt1) in - let uu___ = desugar_abstract_tc quals env [] tc in - (match uu___ with - | (uu___1, uu___2, se, uu___3) -> - let se1 = - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ - { FStar_Syntax_Syntax.lid = l; - FStar_Syntax_Syntax.us = uu___4; - FStar_Syntax_Syntax.params = typars; - FStar_Syntax_Syntax.num_uniform_params = uu___5; - FStar_Syntax_Syntax.t = k; - FStar_Syntax_Syntax.mutuals = []; - FStar_Syntax_Syntax.ds = [];_} - -> - let quals1 = se.FStar_Syntax_Syntax.sigquals in - let quals2 = - if - FStar_Compiler_List.contains - FStar_Syntax_Syntax.Assumption quals1 - then quals1 - else - ((let uu___8 = - let uu___9 = FStar_Options.ml_ish () in - Prims.op_Negation uu___9 in - if uu___8 - then - let uu___9 = - let uu___10 = - let uu___11 = - FStar_Syntax_Print.lid_to_string l in - FStar_Compiler_Util.format1 - "Adding an implicit 'assume new' qualifier on %s" - uu___11 in - (FStar_Errors_Codes.Warning_AddImplicitAssumeNewQualifier, - uu___10) in - FStar_Errors.log_issue - se.FStar_Syntax_Syntax.sigrng uu___9 - else ()); - FStar_Syntax_Syntax.Assumption - :: - FStar_Syntax_Syntax.New - :: - quals1) in - let t = - match typars with - | [] -> k - | uu___6 -> - let uu___7 = - let uu___8 = - let uu___9 = - FStar_Syntax_Syntax.mk_Total k in - { - FStar_Syntax_Syntax.bs1 = typars; - FStar_Syntax_Syntax.comp = uu___9 - } in - FStar_Syntax_Syntax.Tm_arrow uu___8 in - FStar_Syntax_Syntax.mk uu___7 - se.FStar_Syntax_Syntax.sigrng in + let uu___3 = + let uu___4 = FStar_Ident.lid_of_ids [id] in + FStar_Parser_AST.Var uu___4 in + let uu___4 = FStar_Ident.range_of_id id in + FStar_Parser_AST.mk_term uu___3 uu___4 + FStar_Parser_AST.Type_level in + apply_binders uu___2 binders in + let qlid = FStar_Syntax_DsEnv.qualify _env id 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 = - (FStar_Syntax_Syntax.Sig_declare_typ + (FStar_Syntax_Syntax.Sig_inductive_typ { - FStar_Syntax_Syntax.lid2 = l; - FStar_Syntax_Syntax.us2 = []; - FStar_Syntax_Syntax.t2 = t + FStar_Syntax_Syntax.lid = qlid; + FStar_Syntax_Syntax.us = []; + FStar_Syntax_Syntax.params = typars1; + FStar_Syntax_Syntax.num_uniform_params = + FStar_Pervasives_Native.None; + FStar_Syntax_Syntax.t = k1; + FStar_Syntax_Syntax.mutuals = mutuals; + FStar_Syntax_Syntax.ds = [] }); - FStar_Syntax_Syntax.sigrng = - (se.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = quals2; + FStar_Syntax_Syntax.sigrng = rng; + FStar_Syntax_Syntax.sigquals = quals1; FStar_Syntax_Syntax.sigmeta = - (se.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = - (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = d_attrs; FStar_Syntax_Syntax.sigopts = - (se.FStar_Syntax_Syntax.sigopts) - } - | uu___4 -> failwith "Impossible" in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se1 in - (env1, [se1])) - | (FStar_Parser_AST.TyconAbbrev (id, binders, kopt, t))::[] -> - let uu___ = typars_of_binders env binders in - (match uu___ with - | (env', typars) -> - let kopt1 = - match kopt with - | FStar_Pervasives_Native.None -> - let uu___1 = - FStar_Compiler_Util.for_some - (fun uu___2 -> - match uu___2 with - | FStar_Syntax_Syntax.Effect -> true - | uu___3 -> false) quals in - if uu___1 - then - FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.teff - else FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some k -> - let uu___1 = desugar_term env' k in - FStar_Pervasives_Native.Some uu___1 in - let t0 = t in - let quals1 = - let uu___1 = - FStar_Compiler_Effect.op_Bar_Greater quals - (FStar_Compiler_Util.for_some - (fun uu___2 -> - match uu___2 with - | FStar_Syntax_Syntax.Logic -> true - | uu___3 -> false)) in - if uu___1 - 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 id in - let se = - let uu___1 = - FStar_Compiler_Effect.op_Bar_Greater quals1 - (FStar_Compiler_List.contains - FStar_Syntax_Syntax.Effect) in - if uu___1 - then + FStar_Pervasives_Native.None + } in let uu___2 = - let uu___3 = - let uu___4 = unparen t in - uu___4.FStar_Parser_AST.tm in - match uu___3 with - | FStar_Parser_AST.Construct (head, args) -> - let uu___4 = - match FStar_Compiler_List.rev args with - | (last_arg, uu___5)::args_rev -> - let uu___6 = - let uu___7 = unparen last_arg in - uu___7.FStar_Parser_AST.tm in - (match uu___6 with - | FStar_Parser_AST.Attributes ts -> - (ts, - (FStar_Compiler_List.rev args_rev)) - | uu___7 -> ([], args)) - | uu___5 -> ([], args) in - (match uu___4 with - | (cattributes, args1) -> - let uu___5 = - desugar_attributes env cattributes in - ((FStar_Parser_AST.mk_term - (FStar_Parser_AST.Construct - (head, args1)) - t.FStar_Parser_AST.range - t.FStar_Parser_AST.level), uu___5)) - | uu___4 -> (t, []) in - match uu___2 with - | (t1, cattributes) -> - let c = - desugar_comp t1.FStar_Parser_AST.range false - env' t1 in - let typars1 = - FStar_Syntax_Subst.close_binders typars in - let c1 = FStar_Syntax_Subst.close_comp typars1 c in - let quals2 = - FStar_Compiler_Effect.op_Bar_Greater quals1 - (FStar_Compiler_List.filter - (fun uu___3 -> - match uu___3 with - | FStar_Syntax_Syntax.Effect -> false - | uu___4 -> true)) in - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_effect_abbrev - { - FStar_Syntax_Syntax.lid4 = qlid; - FStar_Syntax_Syntax.us4 = []; - FStar_Syntax_Syntax.bs2 = typars1; - FStar_Syntax_Syntax.comp1 = c1; - FStar_Syntax_Syntax.cflags = - (FStar_Compiler_List.op_At cattributes - (FStar_Syntax_Util.comp_flags c1)) - }); - FStar_Syntax_Syntax.sigrng = rng; - FStar_Syntax_Syntax.sigquals = quals2; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None + FStar_Syntax_DsEnv.push_top_level_rec_binding _env + id FStar_Syntax_Syntax.delta_constant in + (match uu___2 with + | (_env1, uu___3) -> + let uu___4 = + FStar_Syntax_DsEnv.push_top_level_rec_binding + _env' id FStar_Syntax_Syntax.delta_constant in + (match uu___4 with + | (_env2, uu___5) -> (_env1, _env2, se, tconstr)))) + | uu___1 -> failwith "Unexpected tycon" in + let push_tparams env1 bs = + let uu___ = + FStar_Compiler_List.fold_left + (fun uu___1 -> + fun b -> + match uu___1 with + | (env2, tps) -> + let uu___2 = + FStar_Syntax_DsEnv.push_bv env2 + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in + (match uu___2 with + | (env3, y) -> + let uu___3 = + let uu___4 = + mk_binder_with_attrs y + b.FStar_Syntax_Syntax.binder_qual + b.FStar_Syntax_Syntax.binder_attrs in + uu___4 :: tps in + (env3, uu___3))) (env1, []) bs in + match uu___ with + | (env2, bs1) -> (env2, (FStar_Compiler_List.rev bs1)) in + match tcs1 with + | (FStar_Parser_AST.TyconAbstract (id, bs, kopt))::[] -> + let kopt1 = + match kopt with + | FStar_Pervasives_Native.None -> + let uu___ = + let uu___1 = FStar_Ident.range_of_id id in + tm_type_z uu___1 in + FStar_Pervasives_Native.Some uu___ + | uu___ -> kopt in + let tc = FStar_Parser_AST.TyconAbstract (id, bs, kopt1) in + let uu___ = desugar_abstract_tc quals env [] tc in + (match uu___ with + | (uu___1, uu___2, se, uu___3) -> + let se1 = + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = l; + FStar_Syntax_Syntax.us = uu___4; + FStar_Syntax_Syntax.params = typars; + FStar_Syntax_Syntax.num_uniform_params = uu___5; + FStar_Syntax_Syntax.t = k; + FStar_Syntax_Syntax.mutuals = []; + FStar_Syntax_Syntax.ds = [];_} + -> + let quals1 = se.FStar_Syntax_Syntax.sigquals in + let quals2 = + if + FStar_Compiler_List.contains + FStar_Syntax_Syntax.Assumption quals1 + then quals1 + else + ((let uu___8 = + let uu___9 = FStar_Options.ml_ish () in + Prims.op_Negation uu___9 in + if uu___8 + then + let uu___9 = + let uu___10 = + let uu___11 = + FStar_Syntax_Print.lid_to_string l in + FStar_Compiler_Util.format1 + "Adding an implicit 'assume new' qualifier on %s" + uu___11 in + (FStar_Errors_Codes.Warning_AddImplicitAssumeNewQualifier, + uu___10) in + FStar_Errors.log_issue + se.FStar_Syntax_Syntax.sigrng uu___9 + else ()); + FStar_Syntax_Syntax.Assumption + :: + FStar_Syntax_Syntax.New + :: + quals1) in + let t = + match typars with + | [] -> k + | uu___6 -> + let uu___7 = + let uu___8 = + let uu___9 = + FStar_Syntax_Syntax.mk_Total k in + { + FStar_Syntax_Syntax.bs1 = typars; + FStar_Syntax_Syntax.comp = uu___9 + } in + FStar_Syntax_Syntax.Tm_arrow uu___8 in + FStar_Syntax_Syntax.mk uu___7 + se.FStar_Syntax_Syntax.sigrng in + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_declare_typ + { + FStar_Syntax_Syntax.lid2 = l; + FStar_Syntax_Syntax.us2 = []; + FStar_Syntax_Syntax.t2 = t + }); + FStar_Syntax_Syntax.sigrng = + (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = quals2; + FStar_Syntax_Syntax.sigmeta = + (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = + (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.sigopts = + (se.FStar_Syntax_Syntax.sigopts) } - else - (let t1 = desugar_typ env' t in - mk_typ_abbrev env d qlid [] typars kopt1 t1 [qlid] - quals1 rng) in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se in - (env1, [se])) - | (FStar_Parser_AST.TyconRecord uu___)::[] -> - let trec = FStar_Compiler_List.hd tcs1 in - let uu___1 = tycon_record_as_variant trec in - (match uu___1 with - | (t, fs) -> - let uu___2 = - let uu___3 = - let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_DsEnv.current_module env in - FStar_Ident.ids_of_lid uu___6 in - (uu___5, fs) in - FStar_Syntax_Syntax.RecordType uu___4 in - uu___3 :: quals in - desugar_tycon env d uu___2 [t]) - | uu___::uu___1 -> - let env0 = env in - let mutuals = - FStar_Compiler_List.map - (fun x -> - FStar_Compiler_Effect.op_Less_Bar - (FStar_Syntax_DsEnv.qualify env) (tycon_id x)) tcs1 in - let rec collect_tcs quals1 et tc = - let uu___2 = et in - match uu___2 with - | (env1, tcs2) -> - (match tc with - | FStar_Parser_AST.TyconRecord uu___3 -> - let trec = tc in - let uu___4 = tycon_record_as_variant trec in - (match uu___4 with - | (t, fs) -> - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - FStar_Syntax_DsEnv.current_module - env1 in - FStar_Ident.ids_of_lid uu___9 in - (uu___8, fs) in - FStar_Syntax_Syntax.RecordType uu___7 in - uu___6 :: quals1 in - collect_tcs uu___5 (env1, tcs2) t) - | FStar_Parser_AST.TyconVariant - (id, binders, kopt, constructors) -> - let uu___3 = - desugar_abstract_tc quals1 env1 mutuals - (FStar_Parser_AST.TyconAbstract - (id, binders, kopt)) in - (match uu___3 with - | (env2, uu___4, se, tconstr) -> - (env2, - ((FStar_Pervasives.Inl - (se, constructors, tconstr, quals1)) :: - tcs2))) - | FStar_Parser_AST.TyconAbbrev (id, binders, kopt, t) -> - let uu___3 = - desugar_abstract_tc quals1 env1 mutuals - (FStar_Parser_AST.TyconAbstract - (id, binders, kopt)) in - (match uu___3 with - | (env2, uu___4, se, tconstr) -> - (env2, - ((FStar_Pervasives.Inr - (se, binders, t, quals1)) :: tcs2))) - | uu___3 -> - FStar_Errors.raise_error - (FStar_Errors_Codes.Fatal_NonInductiveInMutuallyDefinedType, - "Mutually defined type contains a non-inductive element") - rng) in - let uu___2 = - FStar_Compiler_List.fold_left (collect_tcs quals) (env, []) - tcs1 in - (match uu___2 with - | (env1, tcs2) -> - let tcs3 = FStar_Compiler_List.rev tcs2 in - let tps_sigelts = - FStar_Compiler_Effect.op_Bar_Greater tcs3 - (FStar_Compiler_List.collect - (fun uu___3 -> - match uu___3 with - | FStar_Pervasives.Inr - ({ - FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_inductive_typ - { FStar_Syntax_Syntax.lid = id; - FStar_Syntax_Syntax.us = uvs; - FStar_Syntax_Syntax.params = tpars; - FStar_Syntax_Syntax.num_uniform_params - = uu___4; - FStar_Syntax_Syntax.t = k; - FStar_Syntax_Syntax.mutuals = uu___5; - FStar_Syntax_Syntax.ds = uu___6;_}; - FStar_Syntax_Syntax.sigrng = uu___7; - FStar_Syntax_Syntax.sigquals = uu___8; - FStar_Syntax_Syntax.sigmeta = uu___9; - FStar_Syntax_Syntax.sigattrs = uu___10; - FStar_Syntax_Syntax.sigopts = uu___11;_}, - binders, t, quals1) - -> - let t1 = + | uu___4 -> failwith "Impossible" in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se1 in + (env1, [se1])) + | (FStar_Parser_AST.TyconAbbrev (id, binders, kopt, t))::[] -> + let uu___ = typars_of_binders env binders in + (match uu___ with + | (env', typars) -> + let kopt1 = + match kopt with + | FStar_Pervasives_Native.None -> + let uu___1 = + FStar_Compiler_Util.for_some + (fun uu___2 -> + match uu___2 with + | FStar_Syntax_Syntax.Effect -> true + | uu___3 -> false) quals in + if uu___1 + then + FStar_Pervasives_Native.Some + FStar_Syntax_Syntax.teff + else FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some k -> + let uu___1 = desugar_term env' k in + FStar_Pervasives_Native.Some uu___1 in + let t0 = t in + let quals1 = + let uu___1 = + FStar_Compiler_Effect.op_Bar_Greater quals + (FStar_Compiler_Util.for_some + (fun uu___2 -> + match uu___2 with + | FStar_Syntax_Syntax.Logic -> true + | uu___3 -> false)) in + if uu___1 + 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 id in + let se = + let uu___1 = + FStar_Compiler_Effect.op_Bar_Greater quals1 + (FStar_Compiler_List.contains + FStar_Syntax_Syntax.Effect) in + if uu___1 + then + let uu___2 = + let uu___3 = + let uu___4 = unparen t in + uu___4.FStar_Parser_AST.tm in + match uu___3 with + | FStar_Parser_AST.Construct (head, args) -> + let uu___4 = + match FStar_Compiler_List.rev args with + | (last_arg, uu___5)::args_rev -> + let uu___6 = + let uu___7 = unparen last_arg in + uu___7.FStar_Parser_AST.tm in + (match uu___6 with + | FStar_Parser_AST.Attributes ts -> + (ts, + (FStar_Compiler_List.rev args_rev)) + | uu___7 -> ([], args)) + | uu___5 -> ([], args) in + (match uu___4 with + | (cattributes, args1) -> + let uu___5 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Construct + (head, args1)) + t.FStar_Parser_AST.range + t.FStar_Parser_AST.level in + let uu___6 = + desugar_attributes env cattributes in + (uu___5, uu___6)) + | uu___4 -> (t, []) in + match uu___2 with + | (t1, cattributes) -> + let c = + desugar_comp t1.FStar_Parser_AST.range false + env' t1 in + let typars1 = + FStar_Syntax_Subst.close_binders typars in + let c1 = FStar_Syntax_Subst.close_comp typars1 c in + let quals2 = + FStar_Compiler_Effect.op_Bar_Greater quals1 + (FStar_Compiler_List.filter + (fun uu___3 -> + match uu___3 with + | FStar_Syntax_Syntax.Effect -> false + | uu___4 -> true)) in + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_effect_abbrev + { + FStar_Syntax_Syntax.lid4 = qlid; + FStar_Syntax_Syntax.us4 = []; + FStar_Syntax_Syntax.bs2 = typars1; + FStar_Syntax_Syntax.comp1 = c1; + FStar_Syntax_Syntax.cflags = + (FStar_Compiler_List.op_At + cattributes + (FStar_Syntax_Util.comp_flags c1)) + }); + FStar_Syntax_Syntax.sigrng = rng; + FStar_Syntax_Syntax.sigquals = quals2; + FStar_Syntax_Syntax.sigmeta = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigopts = + FStar_Pervasives_Native.None + } + else + (let t1 = desugar_typ env' t in + mk_typ_abbrev env d qlid [] typars kopt1 t1 + [qlid] quals1 rng) in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se in + (env1, [se])) + | (FStar_Parser_AST.TyconRecord uu___)::[] -> + let trec = FStar_Compiler_List.hd tcs1 in + let uu___1 = tycon_record_as_variant trec in + (match uu___1 with + | (t, fs) -> + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Syntax_DsEnv.current_module env in + FStar_Ident.ids_of_lid uu___6 in + (uu___5, fs) in + FStar_Syntax_Syntax.RecordType uu___4 in + uu___3 :: quals in + desugar_tycon env d d_attrs uu___2 [t]) + | uu___::uu___1 -> + let env0 = env in + let mutuals = + FStar_Compiler_List.map + (fun x -> + FStar_Compiler_Effect.op_Less_Bar + (FStar_Syntax_DsEnv.qualify env) (tycon_id x)) tcs1 in + let rec collect_tcs quals1 et tc = + let uu___2 = et in + match uu___2 with + | (env1, tcs2) -> + (match tc with + | FStar_Parser_AST.TyconRecord uu___3 -> + let trec = tc in + let uu___4 = tycon_record_as_variant trec in + (match uu___4 with + | (t, fs) -> + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + FStar_Syntax_DsEnv.current_module + env1 in + FStar_Ident.ids_of_lid uu___9 in + (uu___8, fs) in + FStar_Syntax_Syntax.RecordType uu___7 in + uu___6 :: quals1 in + collect_tcs uu___5 (env1, tcs2) t) + | FStar_Parser_AST.TyconVariant + (id, binders, kopt, constructors) -> + let uu___3 = + desugar_abstract_tc quals1 env1 mutuals + (FStar_Parser_AST.TyconAbstract + (id, binders, kopt)) in + (match uu___3 with + | (env2, uu___4, se, tconstr) -> + (env2, + ((FStar_Pervasives.Inl + (se, constructors, tconstr, quals1)) :: + tcs2))) + | FStar_Parser_AST.TyconAbbrev (id, binders, kopt, t) + -> + let uu___3 = + desugar_abstract_tc quals1 env1 mutuals + (FStar_Parser_AST.TyconAbstract + (id, binders, kopt)) in + (match uu___3 with + | (env2, uu___4, se, tconstr) -> + (env2, + ((FStar_Pervasives.Inr + (se, binders, t, quals1)) :: tcs2))) + | uu___3 -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_NonInductiveInMutuallyDefinedType, + "Mutually defined type contains a non-inductive element") + rng) in + let uu___2 = + FStar_Compiler_List.fold_left (collect_tcs quals) (env, []) + tcs1 in + (match uu___2 with + | (env1, tcs2) -> + let tcs3 = FStar_Compiler_List.rev tcs2 in + let tps_sigelts = + FStar_Compiler_Effect.op_Bar_Greater tcs3 + (FStar_Compiler_List.collect + (fun uu___3 -> + match uu___3 with + | FStar_Pervasives.Inr + ({ + FStar_Syntax_Syntax.sigel = + FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = id; + FStar_Syntax_Syntax.us = uvs; + FStar_Syntax_Syntax.params = tpars; + FStar_Syntax_Syntax.num_uniform_params + = uu___4; + FStar_Syntax_Syntax.t = k; + FStar_Syntax_Syntax.mutuals = + uu___5; + FStar_Syntax_Syntax.ds = uu___6;_}; + FStar_Syntax_Syntax.sigrng = uu___7; + FStar_Syntax_Syntax.sigquals = uu___8; + FStar_Syntax_Syntax.sigmeta = uu___9; + FStar_Syntax_Syntax.sigattrs = uu___10; + FStar_Syntax_Syntax.sigopts = uu___11;_}, + binders, t, quals1) + -> + let t1 = + let uu___12 = + typars_of_binders env1 binders in + match uu___12 with + | (env2, tpars1) -> + let uu___13 = + push_tparams env2 tpars1 in + (match uu___13 with + | (env_tps, tpars2) -> + let t2 = desugar_typ env_tps t in + let tpars3 = + FStar_Syntax_Subst.close_binders + tpars2 in + FStar_Syntax_Subst.close tpars3 + t2) in let uu___12 = - typars_of_binders env1 binders in - match uu___12 with - | (env2, tpars1) -> - let uu___13 = push_tparams env2 tpars1 in - (match uu___13 with - | (env_tps, tpars2) -> - let t2 = desugar_typ env_tps t in - let tpars3 = - FStar_Syntax_Subst.close_binders - tpars2 in - FStar_Syntax_Subst.close tpars3 - t2) in - let uu___12 = - let uu___13 = - mk_typ_abbrev env1 d id uvs tpars - (FStar_Pervasives_Native.Some k) t1 - [id] quals1 rng in - ([], uu___13) in - [uu___12] - | FStar_Pervasives.Inl - ({ - FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_inductive_typ - { FStar_Syntax_Syntax.lid = tname; - FStar_Syntax_Syntax.us = univs; - FStar_Syntax_Syntax.params = tpars; - FStar_Syntax_Syntax.num_uniform_params - = num_uniform; - FStar_Syntax_Syntax.t = k; - FStar_Syntax_Syntax.mutuals = - mutuals1; - FStar_Syntax_Syntax.ds = uu___4;_}; - FStar_Syntax_Syntax.sigrng = uu___5; - FStar_Syntax_Syntax.sigquals = - tname_quals; - FStar_Syntax_Syntax.sigmeta = uu___6; - FStar_Syntax_Syntax.sigattrs = uu___7; - FStar_Syntax_Syntax.sigopts = uu___8;_}, - constrs, tconstr, quals1) - -> - let mk_tot t = - let tot1 = + let uu___13 = + mk_typ_abbrev env1 d id uvs tpars + (FStar_Pervasives_Native.Some k) t1 + [id] quals1 rng in + ([], uu___13) in + [uu___12] + | FStar_Pervasives.Inl + ({ + FStar_Syntax_Syntax.sigel = + FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = tname; + FStar_Syntax_Syntax.us = univs; + FStar_Syntax_Syntax.params = tpars; + FStar_Syntax_Syntax.num_uniform_params + = num_uniform; + FStar_Syntax_Syntax.t = k; + FStar_Syntax_Syntax.mutuals = + mutuals1; + FStar_Syntax_Syntax.ds = uu___4;_}; + FStar_Syntax_Syntax.sigrng = uu___5; + FStar_Syntax_Syntax.sigquals = + tname_quals; + FStar_Syntax_Syntax.sigmeta = uu___6; + FStar_Syntax_Syntax.sigattrs = uu___7; + FStar_Syntax_Syntax.sigopts = uu___8;_}, + constrs, tconstr, quals1) + -> + let mk_tot t = + let tot1 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Name + FStar_Parser_Const.effect_Tot_lid) + t.FStar_Parser_AST.range + t.FStar_Parser_AST.level in FStar_Parser_AST.mk_term - (FStar_Parser_AST.Name - FStar_Parser_Const.effect_Tot_lid) + (FStar_Parser_AST.App + (tot1, t, FStar_Parser_AST.Nothing)) t.FStar_Parser_AST.range 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___9 = push_tparams env1 tpars in - (match uu___9 with - | (env_tps, tps) -> - let data_tpars = - FStar_Compiler_List.map - (fun tp -> - { - FStar_Syntax_Syntax.binder_bv - = - (tp.FStar_Syntax_Syntax.binder_bv); - FStar_Syntax_Syntax.binder_qual - = - (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit - true)); - FStar_Syntax_Syntax.binder_positivity - = - (tp.FStar_Syntax_Syntax.binder_positivity); - FStar_Syntax_Syntax.binder_attrs - = - (tp.FStar_Syntax_Syntax.binder_attrs) - }) tps in - let tot_tconstr = mk_tot tconstr in - let attrs = - FStar_Compiler_List.map - (desugar_term env1) - d.FStar_Parser_AST.attrs in - let val_attrs = - let uu___10 = - FStar_Syntax_DsEnv.lookup_letbinding_quals_and_attrs - env1 tname in - FStar_Compiler_Effect.op_Bar_Greater - uu___10 FStar_Pervasives_Native.snd in - let uu___10 = - let uu___11 = + let tycon = (tname, tpars, k) in + let uu___9 = push_tparams env1 tpars in + (match uu___9 with + | (env_tps, tps) -> + let data_tpars = + FStar_Compiler_List.map + (fun tp -> + { + FStar_Syntax_Syntax.binder_bv + = + (tp.FStar_Syntax_Syntax.binder_bv); + FStar_Syntax_Syntax.binder_qual + = + (FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + true)); + FStar_Syntax_Syntax.binder_positivity + = + (tp.FStar_Syntax_Syntax.binder_positivity); + FStar_Syntax_Syntax.binder_attrs + = + (tp.FStar_Syntax_Syntax.binder_attrs) + }) tps in + let tot_tconstr = mk_tot tconstr in + let val_attrs = + let uu___10 = + FStar_Syntax_DsEnv.lookup_letbinding_quals_and_attrs + env0 tname in FStar_Compiler_Effect.op_Bar_Greater - constrs - (FStar_Compiler_List.map - (fun uu___12 -> - match uu___12 with - | (id, payload, cons_attrs) - -> - let t = - match payload with - | FStar_Pervasives_Native.Some - (FStar_Parser_AST.VpArbitrary - t1) -> t1 - | FStar_Pervasives_Native.Some - (FStar_Parser_AST.VpOfNotation - t1) -> - FStar_Parser_AST.mk_term - (FStar_Parser_AST.Product - ([FStar_Parser_AST.mk_binder + uu___10 + FStar_Pervasives_Native.snd in + let uu___10 = + let uu___11 = + FStar_Compiler_Effect.op_Bar_Greater + constrs + (FStar_Compiler_List.map + (fun uu___12 -> + match uu___12 with + | (id, payload, + cons_attrs) -> + let t = + match payload with + | FStar_Pervasives_Native.Some + (FStar_Parser_AST.VpArbitrary + t1) -> t1 + | FStar_Pervasives_Native.Some + (FStar_Parser_AST.VpOfNotation + t1) -> + let uu___13 = + let uu___14 = + let uu___15 + = + let uu___16 + = + FStar_Parser_AST.mk_binder (FStar_Parser_AST.NoName t1) t1.FStar_Parser_AST.range t1.FStar_Parser_AST.level - FStar_Pervasives_Native.None], - tot_tconstr)) - t1.FStar_Parser_AST.range - t1.FStar_Parser_AST.level - | FStar_Pervasives_Native.Some - (FStar_Parser_AST.VpRecord - uu___13) -> - failwith - "Impossible: [VpRecord _] should have disappeared after [desugar_tycon_variant_record]" - | FStar_Pervasives_Native.None - -> tconstr in - let t1 = - let uu___13 = - close env_tps t in - desugar_term env_tps - uu___13 in - let name = - FStar_Syntax_DsEnv.qualify - env1 id in - let quals2 = - FStar_Compiler_Effect.op_Bar_Greater - tname_quals - (FStar_Compiler_List.collect - (fun uu___13 -> - match uu___13 - with - | FStar_Syntax_Syntax.RecordType + FStar_Pervasives_Native.None in + [uu___16] in + (uu___15, + tot_tconstr) in + FStar_Parser_AST.Product + uu___14 in + FStar_Parser_AST.mk_term + uu___13 + t1.FStar_Parser_AST.range + t1.FStar_Parser_AST.level + | FStar_Pervasives_Native.Some + (FStar_Parser_AST.VpRecord + uu___13) -> + failwith + "Impossible: [VpRecord _] should have disappeared after [desugar_tycon_variant_record]" + | FStar_Pervasives_Native.None + -> tconstr in + let t1 = + let uu___13 = + close env_tps t in + desugar_term + env_tps uu___13 in + let name = + FStar_Syntax_DsEnv.qualify + env1 id in + let quals2 = + FStar_Compiler_Effect.op_Bar_Greater + tname_quals + (FStar_Compiler_List.collect + (fun uu___13 + -> + match uu___13 + with + | FStar_Syntax_Syntax.RecordType fns -> [ FStar_Syntax_Syntax.RecordConstructor fns] - | uu___14 -> - [])) in - let ntps = - FStar_Compiler_List.length - data_tpars in - let uu___13 = - let uu___14 = - let uu___15 = + | uu___14 + -> [])) in + let ntps = + FStar_Compiler_List.length + data_tpars in + let uu___13 = + let uu___14 = + let uu___15 = + let uu___16 = + let uu___17 = + let uu___18 + = + let uu___19 + = + FStar_Compiler_Effect.op_Bar_Greater + t1 + FStar_Syntax_Util.name_function_binders in + FStar_Syntax_Syntax.mk_Total + uu___19 in + FStar_Syntax_Util.arrow + data_tpars + uu___18 in + { + FStar_Syntax_Syntax.lid1 + = name; + FStar_Syntax_Syntax.us1 + = univs; + FStar_Syntax_Syntax.t1 + = uu___17; + FStar_Syntax_Syntax.ty_lid + = tname; + FStar_Syntax_Syntax.num_ty_params + = ntps; + FStar_Syntax_Syntax.mutuals1 + = + mutuals1 + } in + FStar_Syntax_Syntax.Sig_datacon + uu___16 in let uu___16 = let uu___17 = let uu___18 = let uu___19 = - FStar_Compiler_Effect.op_Bar_Greater - t1 - FStar_Syntax_Util.name_function_binders in - FStar_Syntax_Syntax.mk_Total + FStar_Compiler_List.map + (desugar_term + env1) + cons_attrs in + FStar_Compiler_List.op_At + d_attrs uu___19 in - FStar_Syntax_Util.arrow - data_tpars + FStar_Compiler_List.op_At + val_attrs uu___18 in - { - FStar_Syntax_Syntax.lid1 - = name; - FStar_Syntax_Syntax.us1 - = univs; - FStar_Syntax_Syntax.t1 - = uu___17; - FStar_Syntax_Syntax.ty_lid - = tname; - FStar_Syntax_Syntax.num_ty_params - = ntps; - FStar_Syntax_Syntax.mutuals1 - = mutuals1 - } in - FStar_Syntax_Syntax.Sig_datacon - uu___16 in - let uu___16 = - let uu___17 = - let uu___18 = - FStar_Compiler_List.map - (desugar_term - env1) - cons_attrs in - FStar_Compiler_List.op_At - attrs uu___18 in - FStar_Compiler_List.op_At - val_attrs - uu___17 in + FStar_Syntax_Util.deduplicate_terms + uu___17 in + { + FStar_Syntax_Syntax.sigel + = uu___15; + FStar_Syntax_Syntax.sigrng + = rng; + FStar_Syntax_Syntax.sigquals + = quals2; + FStar_Syntax_Syntax.sigmeta + = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs + = uu___16; + FStar_Syntax_Syntax.sigopts + = + FStar_Pervasives_Native.None + } in + (tps, uu___14) in + (name, uu___13))) in + FStar_Compiler_Effect.op_Less_Bar + FStar_Compiler_List.split uu___11 in + (match uu___10 with + | (constrNames, constrs1) -> + ((let uu___12 = + FStar_Options.debug_at_level_no_module + (FStar_Options.Other + "attrs") in + if uu___12 + then + let uu___13 = + FStar_Ident.string_of_lid + tname in + let uu___14 = + let uu___15 = + FStar_Compiler_List.map + FStar_Syntax_Print.term_to_string + val_attrs in + FStar_String.concat ", " + uu___15 in + let uu___15 = + let uu___16 = + FStar_Compiler_List.map + FStar_Syntax_Print.term_to_string + d_attrs in + FStar_String.concat ", " + uu___16 in + FStar_Compiler_Util.print3 + "Adding attributes to type %s: val_attrs=[@@%s] attrs=[@@%s]\n" + uu___13 uu___14 uu___15 + else ()); + (let uu___12 = + let uu___13 = + let uu___14 = + FStar_Syntax_Util.deduplicate_terms + (FStar_Compiler_List.op_At + val_attrs d_attrs) in + { + FStar_Syntax_Syntax.sigel + = + (FStar_Syntax_Syntax.Sig_inductive_typ { - FStar_Syntax_Syntax.sigel - = uu___15; - FStar_Syntax_Syntax.sigrng - = rng; - FStar_Syntax_Syntax.sigquals - = quals2; - FStar_Syntax_Syntax.sigmeta - = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs - = uu___16; - FStar_Syntax_Syntax.sigopts - = - FStar_Pervasives_Native.None - } in - (tps, uu___14) in - (name, uu___13))) in - FStar_Compiler_Effect.op_Less_Bar - FStar_Compiler_List.split uu___11 in - (match uu___10 with - | (constrNames, constrs1) -> - ([], - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_inductive_typ - { - FStar_Syntax_Syntax.lid - = tname; - FStar_Syntax_Syntax.us - = univs; - FStar_Syntax_Syntax.params - = tpars; - FStar_Syntax_Syntax.num_uniform_params - = num_uniform; - FStar_Syntax_Syntax.t = - k; - FStar_Syntax_Syntax.mutuals - = mutuals1; - FStar_Syntax_Syntax.ds - = constrNames - }); - FStar_Syntax_Syntax.sigrng = - rng; - FStar_Syntax_Syntax.sigquals = - tname_quals; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = - (FStar_Compiler_List.op_At - val_attrs attrs); - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None - }) - :: constrs1)) - | uu___4 -> failwith "impossible")) in - let sigelts = - FStar_Compiler_Effect.op_Bar_Greater tps_sigelts - (FStar_Compiler_List.map - (fun uu___3 -> - match uu___3 with | (uu___4, se) -> se)) in - let uu___3 = - let uu___4 = - FStar_Compiler_List.collect - FStar_Syntax_Util.lids_of_sigelt sigelts in - FStar_Syntax_MutRecTy.disentangle_abbrevs_from_bundle - sigelts quals uu___4 rng in - (match uu___3 with - | (bundle, abbrevs) -> - let env2 = FStar_Syntax_DsEnv.push_sigelt env0 bundle in - let env3 = - FStar_Compiler_List.fold_left - FStar_Syntax_DsEnv.push_sigelt env2 abbrevs in - let data_ops = - FStar_Compiler_Effect.op_Bar_Greater tps_sigelts - (FStar_Compiler_List.collect - (fun uu___4 -> - match uu___4 with - | (tps, se) -> - mk_data_projector_names quals env3 se)) in - let discs = - FStar_Compiler_Effect.op_Bar_Greater sigelts - (FStar_Compiler_List.collect - (fun se -> - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ - { FStar_Syntax_Syntax.lid = tname; - FStar_Syntax_Syntax.us = uu___4; - FStar_Syntax_Syntax.params = tps; - FStar_Syntax_Syntax.num_uniform_params - = uu___5; - FStar_Syntax_Syntax.t = k; - FStar_Syntax_Syntax.mutuals = uu___6; - FStar_Syntax_Syntax.ds = constrs;_} - -> - let quals1 = - se.FStar_Syntax_Syntax.sigquals in - let uu___7 = - FStar_Compiler_Effect.op_Bar_Greater - constrs - (FStar_Compiler_List.filter - (fun data_lid -> - let data_quals = - let data_se = - let uu___8 = - FStar_Compiler_Effect.op_Bar_Greater - sigelts - (FStar_Compiler_List.find - (fun se1 -> - match se1.FStar_Syntax_Syntax.sigel - with - | FStar_Syntax_Syntax.Sig_datacon - { + FStar_Syntax_Syntax.lid + = tname; + FStar_Syntax_Syntax.us + = univs; + FStar_Syntax_Syntax.params + = tpars; + FStar_Syntax_Syntax.num_uniform_params + = num_uniform; + FStar_Syntax_Syntax.t + = k; + FStar_Syntax_Syntax.mutuals + = mutuals1; + FStar_Syntax_Syntax.ds + = constrNames + }); + FStar_Syntax_Syntax.sigrng + = rng; + FStar_Syntax_Syntax.sigquals + = tname_quals; + FStar_Syntax_Syntax.sigmeta + = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs + = uu___14; + FStar_Syntax_Syntax.sigopts + = + FStar_Pervasives_Native.None + } in + ([], uu___13) in + uu___12 :: constrs1)))) + | uu___4 -> failwith "impossible")) in + let sigelts = + FStar_Compiler_Effect.op_Bar_Greater tps_sigelts + (FStar_Compiler_List.map + (fun uu___3 -> + match uu___3 with | (uu___4, se) -> se)) in + let uu___3 = + let uu___4 = + FStar_Compiler_List.collect + FStar_Syntax_Util.lids_of_sigelt sigelts in + FStar_Syntax_MutRecTy.disentangle_abbrevs_from_bundle + sigelts quals uu___4 rng in + (match uu___3 with + | (bundle, abbrevs) -> + ((let uu___5 = + FStar_Options.debug_at_level_no_module + (FStar_Options.Other "attrs") in + if uu___5 + then + let uu___6 = + FStar_Syntax_Print.sigelt_to_string bundle in + FStar_Compiler_Util.print1 + "After disentangling: %s\n" uu___6 + else ()); + (let env2 = + FStar_Syntax_DsEnv.push_sigelt env0 bundle in + let env3 = + FStar_Compiler_List.fold_left + FStar_Syntax_DsEnv.push_sigelt env2 abbrevs in + let data_ops = + FStar_Compiler_Effect.op_Bar_Greater + tps_sigelts + (FStar_Compiler_List.collect + (fun uu___5 -> + match uu___5 with + | (tps, se) -> + mk_data_projector_names quals env3 + se)) in + let discs = + FStar_Compiler_Effect.op_Bar_Greater sigelts + (FStar_Compiler_List.collect + (fun se -> + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = tname; + FStar_Syntax_Syntax.us = uu___5; + FStar_Syntax_Syntax.params = tps; + FStar_Syntax_Syntax.num_uniform_params + = uu___6; + FStar_Syntax_Syntax.t = k; + FStar_Syntax_Syntax.mutuals = + uu___7; + FStar_Syntax_Syntax.ds = constrs;_} + -> + let quals1 = + se.FStar_Syntax_Syntax.sigquals in + let uu___8 = + FStar_Compiler_Effect.op_Bar_Greater + constrs + (FStar_Compiler_List.filter + (fun data_lid -> + let data_quals = + let data_se = + let uu___9 = + FStar_Compiler_Effect.op_Bar_Greater + sigelts + (FStar_Compiler_List.find + (fun se1 -> + match + se1.FStar_Syntax_Syntax.sigel + with + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = name; FStar_Syntax_Syntax.us1 - = uu___9; - FStar_Syntax_Syntax.t1 = uu___10; - FStar_Syntax_Syntax.ty_lid + FStar_Syntax_Syntax.t1 = uu___11; - FStar_Syntax_Syntax.num_ty_params + FStar_Syntax_Syntax.ty_lid = uu___12; + FStar_Syntax_Syntax.num_ty_params + = uu___13; FStar_Syntax_Syntax.mutuals1 - = uu___13;_} - -> - FStar_Ident.lid_equals + = uu___14;_} + -> + FStar_Ident.lid_equals name data_lid - | uu___9 -> + | uu___10 + -> false)) in + FStar_Compiler_Effect.op_Bar_Greater + uu___9 + FStar_Compiler_Util.must in + data_se.FStar_Syntax_Syntax.sigquals in + let uu___9 = + FStar_Compiler_Effect.op_Bar_Greater + data_quals + (FStar_Compiler_List.existsb + (fun uu___10 -> + match uu___10 + with + | FStar_Syntax_Syntax.RecordConstructor + uu___11 -> + true + | uu___11 -> false)) in - FStar_Compiler_Effect.op_Bar_Greater - uu___8 - FStar_Compiler_Util.must in - data_se.FStar_Syntax_Syntax.sigquals in - let uu___8 = - FStar_Compiler_Effect.op_Bar_Greater - data_quals - (FStar_Compiler_List.existsb - (fun uu___9 -> - match uu___9 with - | FStar_Syntax_Syntax.RecordConstructor - uu___10 -> true - | uu___10 -> false)) in - Prims.op_Negation uu___8)) in - mk_data_discriminators quals1 env3 - uu___7 - | uu___4 -> [])) in - let ops = FStar_Compiler_List.op_At discs data_ops in - let env4 = - FStar_Compiler_List.fold_left - FStar_Syntax_DsEnv.push_sigelt env3 ops in - (env4, - (FStar_Compiler_List.op_At [bundle] - (FStar_Compiler_List.op_At abbrevs ops))))) - | [] -> failwith "impossible" + Prims.op_Negation uu___9)) in + mk_data_discriminators quals1 env3 + uu___8 + se.FStar_Syntax_Syntax.sigattrs + | uu___5 -> [])) in + let ops = + FStar_Compiler_List.op_At discs data_ops in + let env4 = + FStar_Compiler_List.fold_left + FStar_Syntax_DsEnv.push_sigelt env3 ops in + (env4, + (FStar_Compiler_List.op_At [bundle] + (FStar_Compiler_List.op_At abbrevs ops))))))) + | [] -> failwith "impossible" let (desugar_binders : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.binder Prims.list -> @@ -7480,11 +7616,10 @@ let (parse_attr_with_list : | (a1, uu___2)::[] -> let uu___3 = let uu___4 = - let uu___5 = - FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_int in - FStar_Syntax_Embeddings.unembed uu___5 a1 in - uu___4 true FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_Base.unembed uu___4 a1 + FStar_Syntax_Embeddings_Base.id_norm_cb in (match uu___3 with | FStar_Pervasives_Native.Some es -> let uu___4 = @@ -7564,25 +7699,25 @@ let (lookup_effect_lid : let rec (desugar_effect : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> - FStar_Parser_AST.qualifiers -> - Prims.bool -> - FStar_Ident.ident -> - FStar_Parser_AST.binder Prims.list -> - FStar_Parser_AST.term -> - FStar_Parser_AST.decl Prims.list -> - FStar_Parser_AST.term Prims.list -> + FStar_Syntax_Syntax.term Prims.list -> + FStar_Parser_AST.qualifiers -> + Prims.bool -> + FStar_Ident.ident -> + FStar_Parser_AST.binder Prims.list -> + FStar_Parser_AST.term -> + FStar_Parser_AST.decl Prims.list -> (FStar_Syntax_DsEnv.env * FStar_Syntax_Syntax.sigelt Prims.list)) = fun env -> fun d -> - fun quals -> - fun is_layered -> - fun eff_name -> - fun eff_binders -> - fun eff_typ -> - fun eff_decls -> - fun attrs -> + fun d_attrs -> + fun quals -> + fun is_layered -> + fun eff_name -> + fun eff_binders -> + fun eff_typ -> + fun eff_decls -> let env0 = env in let monad_env = FStar_Syntax_DsEnv.enter_monad_scope env eff_name in @@ -7621,7 +7756,7 @@ let rec (desugar_effect : if is_layered then FStar_Compiler_List.op_At rr_members - ["subcomp"; "if_then_else"] + ["subcomp"; "if_then_else"; "close"] else FStar_Compiler_List.op_At rr_members ["return_wp"; @@ -7871,6 +8006,12 @@ let rec (desugar_effect : name_of_eff_decl decl in uu___6 = "if_then_else") eff_decls in + let has_close = + FStar_Compiler_List.existsb + (fun decl -> + let uu___6 = + name_of_eff_decl decl in + uu___6 = "close") eff_decls in let to_comb uu___6 = match uu___6 with | (us, t) -> @@ -8019,6 +8160,18 @@ let rec (desugar_effect : (dummy_tscheme, dummy_tscheme, FStar_Pervasives_Native.None) in + let uu___14 = + if has_close + then + let uu___15 = + let uu___16 = + lookup "close" in + (uu___16, + dummy_tscheme) in + FStar_Pervasives_Native.Some + uu___15 + else + FStar_Pervasives_Native.None in { FStar_Syntax_Syntax.l_repr = uu___9; @@ -8029,7 +8182,9 @@ let rec (desugar_effect : FStar_Syntax_Syntax.l_subcomp = uu___12; FStar_Syntax_Syntax.l_if_then_else - = uu___13 + = uu___13; + FStar_Syntax_Syntax.l_close + = uu___14 } in FStar_Syntax_Syntax.Layered_eff uu___8 in @@ -8134,10 +8289,7 @@ let rec (desugar_effect : else FStar_Syntax_Syntax.Extract_primitive in let sigel = - let uu___5 = - let uu___6 = - FStar_Compiler_List.map - (desugar_term env2) attrs in + FStar_Syntax_Syntax.Sig_new_effect { FStar_Syntax_Syntax.mname = mname; @@ -8153,12 +8305,10 @@ let rec (desugar_effect : FStar_Syntax_Syntax.actions = actions1; FStar_Syntax_Syntax.eff_attrs = - uu___6; + d_attrs; FStar_Syntax_Syntax.extraction_mode = extraction_mode } in - FStar_Syntax_Syntax.Sig_new_effect - uu___5 in let se = { FStar_Syntax_Syntax.sigel = sigel; @@ -8168,7 +8318,8 @@ let rec (desugar_effect : qualifiers; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = + d_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -8194,242 +8345,255 @@ let rec (desugar_effect : and (desugar_redefine_effect : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> - (FStar_Ident.lident FStar_Pervasives_Native.option -> - FStar_Parser_AST.qualifier -> FStar_Syntax_Syntax.qualifier) - -> - FStar_Parser_AST.qualifier Prims.list -> - FStar_Ident.ident -> - FStar_Parser_AST.binder Prims.list -> - FStar_Parser_AST.term -> - (FStar_Syntax_DsEnv.env * FStar_Syntax_Syntax.sigelt - Prims.list)) + FStar_Syntax_Syntax.attribute Prims.list -> + (FStar_Ident.lident FStar_Pervasives_Native.option -> + FStar_Parser_AST.qualifier -> FStar_Syntax_Syntax.qualifier) + -> + FStar_Parser_AST.qualifier Prims.list -> + FStar_Ident.ident -> + FStar_Parser_AST.binder Prims.list -> + FStar_Parser_AST.term -> + (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___ = desugar_binders env1 eff_binders in - match uu___ with - | (env2, binders) -> - let uu___1 = - let uu___2 = head_and_args defn in - match uu___2 with - | (head, args) -> - let lid = - match head.FStar_Parser_AST.tm with - | FStar_Parser_AST.Name l -> l - | uu___3 -> - let uu___4 = + fun d_attrs -> + 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___ = desugar_binders env1 eff_binders in + match uu___ with + | (env2, binders) -> + let uu___1 = + let uu___2 = head_and_args defn in + match uu___2 with + | (head, args) -> + let lid = + match head.FStar_Parser_AST.tm with + | FStar_Parser_AST.Name l -> l + | uu___3 -> + let uu___4 = + let uu___5 = + let uu___6 = + let uu___7 = + FStar_Parser_AST.term_to_string + head in + Prims.op_Hat uu___7 " not found" in + Prims.op_Hat "Effect " uu___6 in + (FStar_Errors_Codes.Fatal_EffectNotFound, + uu___5) in + FStar_Errors.raise_error uu___4 + d.FStar_Parser_AST.drange in + let ed = + FStar_Syntax_DsEnv.fail_or env2 + (FStar_Syntax_DsEnv.try_lookup_effect_defn + env2) lid in + let uu___3 = + match FStar_Compiler_List.rev args with + | (last_arg, uu___4)::args_rev -> let uu___5 = - let uu___6 = - let uu___7 = - FStar_Parser_AST.term_to_string head in - Prims.op_Hat uu___7 " not found" in - Prims.op_Hat "Effect " uu___6 in - (FStar_Errors_Codes.Fatal_EffectNotFound, - uu___5) in - FStar_Errors.raise_error uu___4 - d.FStar_Parser_AST.drange in - let ed = - FStar_Syntax_DsEnv.fail_or env2 - (FStar_Syntax_DsEnv.try_lookup_effect_defn env2) - lid in - let uu___3 = - match FStar_Compiler_List.rev args with - | (last_arg, uu___4)::args_rev -> - let uu___5 = - let uu___6 = unparen last_arg in - uu___6.FStar_Parser_AST.tm in - (match uu___5 with - | FStar_Parser_AST.Attributes ts -> - (ts, (FStar_Compiler_List.rev args_rev)) - | uu___6 -> ([], args)) - | uu___4 -> ([], args) in - (match uu___3 with - | (cattributes, args1) -> - let uu___4 = desugar_args env2 args1 in - let uu___5 = - desugar_attributes env2 cattributes in - (lid, ed, uu___4, uu___5)) in - (match uu___1 with - | (ed_lid, ed, args, cattributes) -> - let binders1 = - FStar_Syntax_Subst.close_binders binders in - (if - (FStar_Compiler_List.length args) <> - (FStar_Compiler_List.length - ed.FStar_Syntax_Syntax.binders) - then - FStar_Errors.raise_error - (FStar_Errors_Codes.Fatal_ArgumentLengthMismatch, - "Unexpected number of arguments to effect constructor") - defn.FStar_Parser_AST.range - else (); - (let uu___3 = - FStar_Syntax_Subst.open_term' - ed.FStar_Syntax_Syntax.binders - FStar_Syntax_Syntax.t_unit in - match uu___3 with - | (ed_binders, uu___4, ed_binders_opening) -> - let sub' shift_n uu___5 = - match uu___5 with - | (us, x) -> - let x1 = - let uu___6 = - FStar_Syntax_Subst.shift_subst - (shift_n + - (FStar_Compiler_List.length us)) - ed_binders_opening in - FStar_Syntax_Subst.subst uu___6 x in - let s = - FStar_Syntax_Util.subst_of_list - ed_binders args in - let uu___6 = - let uu___7 = - FStar_Syntax_Subst.subst s x1 in - (us, uu___7) in - FStar_Syntax_Subst.close_tscheme - binders1 uu___6 in - let sub = sub' Prims.int_zero in - let mname = - FStar_Syntax_DsEnv.qualify env0 eff_name in - let ed1 = - let uu___5 = - FStar_Syntax_Util.apply_eff_sig sub - ed.FStar_Syntax_Syntax.signature in - let uu___6 = - FStar_Syntax_Util.apply_eff_combinators - sub ed.FStar_Syntax_Syntax.combinators in - let uu___7 = - FStar_Compiler_List.map - (fun action -> - let nparam = - FStar_Compiler_List.length - action.FStar_Syntax_Syntax.action_params in - let uu___8 = - FStar_Syntax_DsEnv.qualify env2 - action.FStar_Syntax_Syntax.action_unqualified_name in - let uu___9 = - let uu___10 = - sub' nparam - ([], - (action.FStar_Syntax_Syntax.action_defn)) in - FStar_Pervasives_Native.snd uu___10 in - let uu___10 = - let uu___11 = - sub' nparam - ([], - (action.FStar_Syntax_Syntax.action_typ)) in - FStar_Pervasives_Native.snd uu___11 in - { - FStar_Syntax_Syntax.action_name = - uu___8; - FStar_Syntax_Syntax.action_unqualified_name - = - (action.FStar_Syntax_Syntax.action_unqualified_name); - FStar_Syntax_Syntax.action_univs = - (action.FStar_Syntax_Syntax.action_univs); - FStar_Syntax_Syntax.action_params = - (action.FStar_Syntax_Syntax.action_params); - FStar_Syntax_Syntax.action_defn = - uu___9; - FStar_Syntax_Syntax.action_typ = - uu___10 - }) ed.FStar_Syntax_Syntax.actions in - { - FStar_Syntax_Syntax.mname = mname; - FStar_Syntax_Syntax.cattributes = - cattributes; - FStar_Syntax_Syntax.univs = - (ed.FStar_Syntax_Syntax.univs); - FStar_Syntax_Syntax.binders = binders1; - FStar_Syntax_Syntax.signature = uu___5; - FStar_Syntax_Syntax.combinators = uu___6; - FStar_Syntax_Syntax.actions = uu___7; - FStar_Syntax_Syntax.eff_attrs = - (ed.FStar_Syntax_Syntax.eff_attrs); - FStar_Syntax_Syntax.extraction_mode = - (ed.FStar_Syntax_Syntax.extraction_mode) - } in - let se = + let uu___6 = unparen last_arg in + uu___6.FStar_Parser_AST.tm in + (match uu___5 with + | FStar_Parser_AST.Attributes ts -> + (ts, + (FStar_Compiler_List.rev args_rev)) + | uu___6 -> ([], args)) + | uu___4 -> ([], args) in + (match uu___3 with + | (cattributes, args1) -> + let uu___4 = desugar_args env2 args1 in let uu___5 = + desugar_attributes env2 cattributes in + (lid, ed, uu___4, uu___5)) in + (match uu___1 with + | (ed_lid, ed, args, cattributes) -> + let binders1 = + FStar_Syntax_Subst.close_binders binders in + (if + (FStar_Compiler_List.length args) <> + (FStar_Compiler_List.length + ed.FStar_Syntax_Syntax.binders) + then + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_ArgumentLengthMismatch, + "Unexpected number of arguments to effect constructor") + defn.FStar_Parser_AST.range + else (); + (let uu___3 = + FStar_Syntax_Subst.open_term' + ed.FStar_Syntax_Syntax.binders + FStar_Syntax_Syntax.t_unit in + match uu___3 with + | (ed_binders, uu___4, ed_binders_opening) -> + let sub' shift_n uu___5 = + match uu___5 with + | (us, x) -> + let x1 = + let uu___6 = + FStar_Syntax_Subst.shift_subst + (shift_n + + (FStar_Compiler_List.length + us)) ed_binders_opening in + FStar_Syntax_Subst.subst uu___6 x in + let s = + FStar_Syntax_Util.subst_of_list + ed_binders args in + let uu___6 = + let uu___7 = + FStar_Syntax_Subst.subst s x1 in + (us, uu___7) in + FStar_Syntax_Subst.close_tscheme + binders1 uu___6 in + let sub = sub' Prims.int_zero in + let mname = + FStar_Syntax_DsEnv.qualify env0 eff_name in + let ed1 = + let uu___5 = + FStar_Syntax_Util.apply_eff_sig sub + ed.FStar_Syntax_Syntax.signature in let uu___6 = - trans_qual1 - (FStar_Pervasives_Native.Some mname) in - FStar_Compiler_List.map uu___6 quals in - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_new_effect ed1); - FStar_Syntax_Syntax.sigrng = - (d.FStar_Parser_AST.drange); - FStar_Syntax_Syntax.sigquals = uu___5; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None - } in - let monad_env = env2 in - let env3 = - FStar_Syntax_DsEnv.push_sigelt env0 se in - let env4 = - FStar_Compiler_Effect.op_Bar_Greater - ed1.FStar_Syntax_Syntax.actions - (FStar_Compiler_List.fold_left - (fun env5 -> - fun a -> - let uu___5 = - FStar_Syntax_Util.action_as_lb - mname a - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in - FStar_Syntax_DsEnv.push_sigelt - env5 uu___5) env3) in - let env5 = - let uu___5 = - FStar_Compiler_Effect.op_Bar_Greater quals - (FStar_Compiler_List.contains - FStar_Parser_AST.Reflectable) in - if uu___5 - then - let reflect_lid = + FStar_Syntax_Util.apply_eff_combinators + sub ed.FStar_Syntax_Syntax.combinators in + let uu___7 = + FStar_Compiler_List.map + (fun action -> + let nparam = + FStar_Compiler_List.length + action.FStar_Syntax_Syntax.action_params in + let uu___8 = + FStar_Syntax_DsEnv.qualify env2 + action.FStar_Syntax_Syntax.action_unqualified_name in + let uu___9 = + let uu___10 = + sub' nparam + ([], + (action.FStar_Syntax_Syntax.action_defn)) in + FStar_Pervasives_Native.snd + uu___10 in + let uu___10 = + let uu___11 = + sub' nparam + ([], + (action.FStar_Syntax_Syntax.action_typ)) in + FStar_Pervasives_Native.snd + uu___11 in + { + FStar_Syntax_Syntax.action_name = + uu___8; + FStar_Syntax_Syntax.action_unqualified_name + = + (action.FStar_Syntax_Syntax.action_unqualified_name); + FStar_Syntax_Syntax.action_univs + = + (action.FStar_Syntax_Syntax.action_univs); + FStar_Syntax_Syntax.action_params + = + (action.FStar_Syntax_Syntax.action_params); + FStar_Syntax_Syntax.action_defn = + uu___9; + FStar_Syntax_Syntax.action_typ = + uu___10 + }) ed.FStar_Syntax_Syntax.actions in + { + FStar_Syntax_Syntax.mname = mname; + FStar_Syntax_Syntax.cattributes = + cattributes; + FStar_Syntax_Syntax.univs = + (ed.FStar_Syntax_Syntax.univs); + FStar_Syntax_Syntax.binders = binders1; + FStar_Syntax_Syntax.signature = uu___5; + FStar_Syntax_Syntax.combinators = uu___6; + FStar_Syntax_Syntax.actions = uu___7; + FStar_Syntax_Syntax.eff_attrs = + (ed.FStar_Syntax_Syntax.eff_attrs); + FStar_Syntax_Syntax.extraction_mode = + (ed.FStar_Syntax_Syntax.extraction_mode) + } in + let se = + let uu___5 = let uu___6 = - FStar_Ident.id_of_text "reflect" in + trans_qual1 + (FStar_Pervasives_Native.Some mname) in + FStar_Compiler_List.map uu___6 quals in + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_new_effect + ed1); + FStar_Syntax_Syntax.sigrng = + (d.FStar_Parser_AST.drange); + FStar_Syntax_Syntax.sigquals = uu___5; + FStar_Syntax_Syntax.sigmeta = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = d_attrs; + FStar_Syntax_Syntax.sigopts = + FStar_Pervasives_Native.None + } in + let monad_env = env2 in + let env3 = + FStar_Syntax_DsEnv.push_sigelt env0 se in + let env4 = + FStar_Compiler_Effect.op_Bar_Greater + ed1.FStar_Syntax_Syntax.actions + (FStar_Compiler_List.fold_left + (fun env5 -> + fun a -> + let uu___5 = + FStar_Syntax_Util.action_as_lb + mname a + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + FStar_Syntax_DsEnv.push_sigelt + env5 uu___5) env3) in + let env5 = + let uu___5 = FStar_Compiler_Effect.op_Bar_Greater - uu___6 - (FStar_Syntax_DsEnv.qualify monad_env) in - let quals1 = - [FStar_Syntax_Syntax.Assumption; - FStar_Syntax_Syntax.Reflectable mname] in - let refl_decl = - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_declare_typ - { - FStar_Syntax_Syntax.lid2 = - reflect_lid; - FStar_Syntax_Syntax.us2 = []; - FStar_Syntax_Syntax.t2 = - FStar_Syntax_Syntax.tun - }); - FStar_Syntax_Syntax.sigrng = - (d.FStar_Parser_AST.drange); - FStar_Syntax_Syntax.sigquals = quals1; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None - } in - FStar_Syntax_DsEnv.push_sigelt env4 - refl_decl - else env4 in - (env5, [se])))) -and (desugar_decl_aux : + quals + (FStar_Compiler_List.contains + FStar_Parser_AST.Reflectable) in + if uu___5 + then + let reflect_lid = + let uu___6 = + FStar_Ident.id_of_text "reflect" in + FStar_Compiler_Effect.op_Bar_Greater + uu___6 + (FStar_Syntax_DsEnv.qualify + monad_env) in + let quals1 = + [FStar_Syntax_Syntax.Assumption; + FStar_Syntax_Syntax.Reflectable mname] in + let refl_decl = + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_declare_typ + { + FStar_Syntax_Syntax.lid2 = + reflect_lid; + FStar_Syntax_Syntax.us2 = []; + FStar_Syntax_Syntax.t2 = + FStar_Syntax_Syntax.tun + }); + FStar_Syntax_Syntax.sigrng = + (d.FStar_Parser_AST.drange); + FStar_Syntax_Syntax.sigquals = + quals1; + FStar_Syntax_Syntax.sigmeta = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigopts = + FStar_Pervasives_Native.None + } in + FStar_Syntax_DsEnv.push_sigelt env4 + refl_decl + else env4 in + (env5, [se])))) +and (desugar_decl_maybe_fail_attr : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = @@ -8444,9 +8608,12 @@ and (desugar_decl_aux : let uu___ = FStar_Syntax_DsEnv.snapshot env in FStar_Compiler_Effect.op_Bar_Greater uu___ FStar_Pervasives_Native.snd in - let attrs = - FStar_Compiler_List.map (desugar_term env) d.FStar_Parser_AST.attrs in let uu___ = + let attrs = + let uu___1 = + FStar_Compiler_List.map (desugar_term env) + d.FStar_Parser_AST.attrs in + FStar_Syntax_Util.deduplicate_terms uu___1 in let uu___1 = get_fail_attr false attrs in match uu___1 with | FStar_Pervasives_Native.Some (expected_errs, lax) -> @@ -8461,7 +8628,7 @@ and (desugar_decl_aux : FStar_Errors.catch_errors (fun uu___3 -> FStar_Options.with_saved_options - (fun uu___4 -> desugar_decl_noattrs attrs env d1)) in + (fun uu___4 -> desugar_decl_core env attrs d1)) in (match uu___2 with | (errs, r) -> (match (errs, r) with @@ -8497,7 +8664,7 @@ and (desugar_decl_aux : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -8543,97 +8710,26 @@ and (desugar_decl_aux : FStar_Errors.log_issue d1.FStar_Parser_AST.drange uu___7); (env0, []))))) - | FStar_Pervasives_Native.None -> desugar_decl_noattrs attrs env d in - match uu___ with - | (env1, sigelts) -> - let rec val_attrs ses = - match ses with - | { - FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - uu___1; - FStar_Syntax_Syntax.sigrng = uu___2; - FStar_Syntax_Syntax.sigquals = uu___3; - FStar_Syntax_Syntax.sigmeta = uu___4; - FStar_Syntax_Syntax.sigattrs = uu___5; - FStar_Syntax_Syntax.sigopts = uu___6;_}::[] -> - let uu___7 = - let uu___8 = FStar_Compiler_List.hd sigelts in - FStar_Syntax_Util.lids_of_sigelt uu___8 in - FStar_Compiler_Effect.op_Bar_Greater uu___7 - (FStar_Compiler_List.collect - (fun nm -> - let uu___8 = - FStar_Syntax_DsEnv.lookup_letbinding_quals_and_attrs - env0 nm in - FStar_Pervasives_Native.snd uu___8)) - | { - FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_inductive_typ uu___1; - FStar_Syntax_Syntax.sigrng = uu___2; - FStar_Syntax_Syntax.sigquals = uu___3; - FStar_Syntax_Syntax.sigmeta = uu___4; - FStar_Syntax_Syntax.sigattrs = uu___5; - FStar_Syntax_Syntax.sigopts = uu___6;_}::uu___7 -> - let uu___8 = - let uu___9 = FStar_Compiler_List.hd sigelts in - FStar_Syntax_Util.lids_of_sigelt uu___9 in - FStar_Compiler_Effect.op_Bar_Greater uu___8 - (FStar_Compiler_List.collect - (fun nm -> - let uu___9 = - FStar_Syntax_DsEnv.lookup_letbinding_quals_and_attrs - env0 nm in - FStar_Pervasives_Native.snd uu___9)) - | { - FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_fail - { FStar_Syntax_Syntax.errs = uu___1; - FStar_Syntax_Syntax.fail_in_lax = uu___2; - FStar_Syntax_Syntax.ses1 = ses1;_}; - FStar_Syntax_Syntax.sigrng = uu___3; - FStar_Syntax_Syntax.sigquals = uu___4; - FStar_Syntax_Syntax.sigmeta = uu___5; - FStar_Syntax_Syntax.sigattrs = uu___6; - FStar_Syntax_Syntax.sigopts = uu___7;_}::[] -> - FStar_Compiler_List.collect (fun se -> val_attrs [se]) ses1 - | uu___1 -> [] in - let attrs1 = - let uu___1 = val_attrs sigelts in - FStar_Compiler_List.op_At attrs uu___1 in - let uu___1 = - FStar_Compiler_List.map - (fun sigelt -> - { - FStar_Syntax_Syntax.sigel = - (sigelt.FStar_Syntax_Syntax.sigel); - FStar_Syntax_Syntax.sigrng = - (sigelt.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (sigelt.FStar_Syntax_Syntax.sigquals); - FStar_Syntax_Syntax.sigmeta = - (sigelt.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = attrs1; - FStar_Syntax_Syntax.sigopts = - (sigelt.FStar_Syntax_Syntax.sigopts) - }) sigelts in - (env1, uu___1) + | FStar_Pervasives_Native.None -> desugar_decl_core env attrs d in + match uu___ with | (env1, sigelts) -> (env1, sigelts) and (desugar_decl : env_t -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = fun env -> fun d -> - let uu___ = desugar_decl_aux env d in + let uu___ = desugar_decl_maybe_fail_attr env d in match uu___ with | (env1, ses) -> let uu___1 = FStar_Compiler_Effect.op_Bar_Greater ses (FStar_Compiler_List.map generalize_annotated_univs) in (env1, uu___1) -and (desugar_decl_noattrs : - FStar_Syntax_Syntax.term Prims.list -> - FStar_Syntax_DsEnv.env -> +and (desugar_decl_core : + FStar_Syntax_DsEnv.env -> + FStar_Syntax_Syntax.term Prims.list -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = - fun top_attrs -> - fun env -> + fun env -> + fun d_attrs -> fun d -> let trans_qual1 = trans_qual d.FStar_Parser_AST.drange in match d.FStar_Parser_AST.d with @@ -8648,7 +8744,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = d_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in (env, [se]))) @@ -8729,223 +8825,246 @@ and (desugar_decl_noattrs : let uu___1 = FStar_Compiler_List.map (trans_qual1 FStar_Pervasives_Native.None) quals2 in - desugar_tycon env d uu___1 tcs in + desugar_tycon env d d_attrs uu___1 tcs in (match uu___ with | (env1, ses) -> - let mkclass lid = - let r = FStar_Ident.range_of_lid lid in - let uu___1 = + ((let uu___2 = + FStar_Options.debug_at_level_no_module + (FStar_Options.Other "attrs") in + if uu___2 + then + let uu___3 = FStar_Parser_AST.decl_to_string d in + let uu___4 = + let uu___5 = + FStar_Compiler_List.map + FStar_Syntax_Print.sigelt_to_string ses in + FStar_String.concat "\n" uu___5 in + FStar_Compiler_Util.print2 + "Desugared tycon from {%s} to {%s}\n" uu___3 uu___4 + else ()); + (let mkclass lid = + let r = FStar_Ident.range_of_lid lid in let uu___2 = let uu___3 = - let uu___4 = tun_r r in - FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some r) uu___4 in - FStar_Syntax_Syntax.mk_binder uu___3 in - [uu___2] in - let uu___2 = + let uu___4 = + let uu___5 = tun_r r in + FStar_Syntax_Syntax.new_bv + (FStar_Pervasives_Native.Some r) uu___5 in + FStar_Syntax_Syntax.mk_binder uu___4 in + [uu___3] in let uu___3 = - FStar_Syntax_Syntax.tabbrev - FStar_Parser_Const.mk_class_lid in - let uu___4 = + let uu___4 = + FStar_Syntax_Syntax.tabbrev + FStar_Parser_Const.mk_class_lid in let uu___5 = let uu___6 = - let uu___7 = FStar_Ident.string_of_lid lid in - FStar_Syntax_Util.exp_string uu___7 in - FStar_Syntax_Syntax.as_arg uu___6 in - [uu___5] in - FStar_Syntax_Util.mk_app uu___3 uu___4 in - FStar_Syntax_Util.abs uu___1 uu___2 - FStar_Pervasives_Native.None in - let get_meths se = - let rec get_fname quals3 = - match quals3 with - | (FStar_Syntax_Syntax.Projector (uu___1, id))::uu___2 - -> FStar_Pervasives_Native.Some id - | uu___1::quals4 -> get_fname quals4 - | [] -> FStar_Pervasives_Native.None in - let uu___1 = get_fname se.FStar_Syntax_Syntax.sigquals in - match uu___1 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some id -> - let uu___2 = FStar_Syntax_DsEnv.qualify env1 id in - [uu___2] in - let formals = - let bndl = - FStar_Compiler_Util.try_find - (fun uu___1 -> - match uu___1 with - | { - FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_bundle uu___2; - FStar_Syntax_Syntax.sigrng = uu___3; - FStar_Syntax_Syntax.sigquals = uu___4; - FStar_Syntax_Syntax.sigmeta = uu___5; - FStar_Syntax_Syntax.sigattrs = uu___6; - FStar_Syntax_Syntax.sigopts = uu___7;_} -> true - | uu___2 -> false) ses in - match bndl with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some bndl1 -> - (match bndl1.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle - { FStar_Syntax_Syntax.ses = ses1; - FStar_Syntax_Syntax.lids = uu___1;_} - -> - FStar_Compiler_Util.find_map ses1 - (fun se -> - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_datacon - { FStar_Syntax_Syntax.lid1 = uu___2; - FStar_Syntax_Syntax.us1 = uu___3; - FStar_Syntax_Syntax.t1 = t; - FStar_Syntax_Syntax.ty_lid = uu___4; - FStar_Syntax_Syntax.num_ty_params = - uu___5; - FStar_Syntax_Syntax.mutuals1 = uu___6;_} - -> - let uu___7 = - FStar_Syntax_Util.arrow_formals t in - (match uu___7 with - | (formals1, uu___8) -> - FStar_Pervasives_Native.Some - formals1) - | uu___2 -> FStar_Pervasives_Native.None) - | uu___1 -> FStar_Pervasives_Native.None) in - let rec splice_decl meths se = - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle - { FStar_Syntax_Syntax.ses = ses1; - FStar_Syntax_Syntax.lids = uu___1;_} - -> - FStar_Compiler_List.concatMap (splice_decl meths) ses1 - | FStar_Syntax_Syntax.Sig_inductive_typ - { FStar_Syntax_Syntax.lid = lid; - FStar_Syntax_Syntax.us = uu___1; - FStar_Syntax_Syntax.params = uu___2; - FStar_Syntax_Syntax.num_uniform_params = uu___3; - FStar_Syntax_Syntax.t = ty; - FStar_Syntax_Syntax.mutuals = uu___4; - FStar_Syntax_Syntax.ds = uu___5;_} - -> - let formals1 = - match formals with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some formals2 -> formals2 in - let has_no_method_attr meth = - let i = FStar_Ident.ident_of_lid meth in - FStar_Compiler_Util.for_some - (fun formal -> - let uu___6 = - FStar_Ident.ident_equals i - (formal.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in - if uu___6 - then - FStar_Compiler_Util.for_some - (fun attr -> - let uu___7 = + let uu___7 = + let uu___8 = FStar_Ident.string_of_lid lid in + FStar_Syntax_Util.exp_string uu___8 in + FStar_Syntax_Syntax.as_arg uu___7 in + [uu___6] in + FStar_Syntax_Util.mk_app uu___4 uu___5 in + FStar_Syntax_Util.abs uu___2 uu___3 + FStar_Pervasives_Native.None in + let get_meths se = + let rec get_fname quals3 = + match quals3 with + | (FStar_Syntax_Syntax.Projector (uu___2, id))::uu___3 + -> FStar_Pervasives_Native.Some id + | uu___2::quals4 -> get_fname quals4 + | [] -> FStar_Pervasives_Native.None in + let uu___2 = get_fname se.FStar_Syntax_Syntax.sigquals in + match uu___2 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some id -> + let uu___3 = FStar_Syntax_DsEnv.qualify env1 id in + [uu___3] in + let formals = + let bndl = + FStar_Compiler_Util.try_find + (fun uu___2 -> + match uu___2 with + | { + FStar_Syntax_Syntax.sigel = + FStar_Syntax_Syntax.Sig_bundle uu___3; + FStar_Syntax_Syntax.sigrng = uu___4; + FStar_Syntax_Syntax.sigquals = uu___5; + FStar_Syntax_Syntax.sigmeta = uu___6; + FStar_Syntax_Syntax.sigattrs = uu___7; + FStar_Syntax_Syntax.sigopts = uu___8;_} -> + true + | uu___3 -> false) ses in + match bndl with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some bndl1 -> + (match bndl1.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_bundle + { FStar_Syntax_Syntax.ses = ses1; + FStar_Syntax_Syntax.lids = uu___2;_} + -> + FStar_Compiler_Util.find_map ses1 + (fun se -> + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = uu___3; + FStar_Syntax_Syntax.us1 = uu___4; + FStar_Syntax_Syntax.t1 = t; + FStar_Syntax_Syntax.ty_lid = uu___5; + FStar_Syntax_Syntax.num_ty_params = + uu___6; + FStar_Syntax_Syntax.mutuals1 = + uu___7;_} + -> let uu___8 = - FStar_Syntax_Subst.compress attr in - uu___8.FStar_Syntax_Syntax.n in - match uu___7 with - | FStar_Syntax_Syntax.Tm_fvar fv -> - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.no_method_lid - | uu___8 -> false) - formal.FStar_Syntax_Syntax.binder_attrs - else false) formals1 in - let meths1 = - FStar_Compiler_List.filter - (fun x -> - let uu___6 = has_no_method_attr x in - Prims.op_Negation uu___6) meths in - let is_typed = false in - let uu___6 = + FStar_Syntax_Util.arrow_formals t in + (match uu___8 with + | (formals1, uu___9) -> + FStar_Pervasives_Native.Some + formals1) + | uu___3 -> FStar_Pervasives_Native.None) + | uu___2 -> FStar_Pervasives_Native.None) in + let rec splice_decl meths se = + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_bundle + { FStar_Syntax_Syntax.ses = ses1; + FStar_Syntax_Syntax.lids = uu___2;_} + -> + FStar_Compiler_List.concatMap (splice_decl meths) + ses1 + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = lid; + FStar_Syntax_Syntax.us = uu___2; + FStar_Syntax_Syntax.params = uu___3; + FStar_Syntax_Syntax.num_uniform_params = uu___4; + FStar_Syntax_Syntax.t = ty; + FStar_Syntax_Syntax.mutuals = uu___5; + FStar_Syntax_Syntax.ds = uu___6;_} + -> + let formals1 = + match formals with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some formals2 -> + formals2 in + let has_no_method_attr meth = + let i = FStar_Ident.ident_of_lid meth in + FStar_Compiler_Util.for_some + (fun formal -> + let uu___7 = + FStar_Ident.ident_equals i + (formal.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.ppname in + if uu___7 + then + FStar_Compiler_Util.for_some + (fun attr -> + let uu___8 = + let uu___9 = + FStar_Syntax_Subst.compress attr in + uu___9.FStar_Syntax_Syntax.n in + match uu___8 with + | FStar_Syntax_Syntax.Tm_fvar fv -> + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.no_method_lid + | uu___9 -> false) + formal.FStar_Syntax_Syntax.binder_attrs + else false) formals1 in + let meths1 = + FStar_Compiler_List.filter + (fun x -> + let uu___7 = has_no_method_attr x in + Prims.op_Negation uu___7) meths in + let is_typed = false in let uu___7 = let uu___8 = - let uu___9 = mkclass lid in - { - FStar_Syntax_Syntax.is_typed = is_typed; - FStar_Syntax_Syntax.lids2 = meths1; - FStar_Syntax_Syntax.tac = uu___9 - } in - FStar_Syntax_Syntax.Sig_splice uu___8 in - { - FStar_Syntax_Syntax.sigel = uu___7; - FStar_Syntax_Syntax.sigrng = - (d.FStar_Parser_AST.drange); - FStar_Syntax_Syntax.sigquals = []; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; - FStar_Syntax_Syntax.sigopts = - FStar_Pervasives_Native.None - } in - [uu___6] - | uu___1 -> [] in - let uu___1 = - if typeclass - then - let meths = FStar_Compiler_List.concatMap get_meths ses in - let rec add_class_attr se = - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle - { FStar_Syntax_Syntax.ses = ses1; - FStar_Syntax_Syntax.lids = lids;_} - -> - let ses2 = - FStar_Compiler_List.map add_class_attr ses1 in + let uu___9 = + let uu___10 = mkclass lid in + { + FStar_Syntax_Syntax.is_typed = is_typed; + FStar_Syntax_Syntax.lids2 = meths1; + FStar_Syntax_Syntax.tac = uu___10 + } in + FStar_Syntax_Syntax.Sig_splice uu___9 in { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_bundle - { - FStar_Syntax_Syntax.ses = ses2; - FStar_Syntax_Syntax.lids = lids - }); + FStar_Syntax_Syntax.sigel = uu___8; FStar_Syntax_Syntax.sigrng = - (se.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (se.FStar_Syntax_Syntax.sigquals); + (d.FStar_Parser_AST.drange); + FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = - (se.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = - (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = []; FStar_Syntax_Syntax.sigopts = - (se.FStar_Syntax_Syntax.sigopts) - } - | FStar_Syntax_Syntax.Sig_inductive_typ uu___2 -> - let uu___3 = + FStar_Pervasives_Native.None + } in + [uu___7] + | uu___2 -> [] in + let uu___2 = + if typeclass + then + let meths = + FStar_Compiler_List.concatMap get_meths ses in + let rec add_class_attr se = + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_bundle + { FStar_Syntax_Syntax.ses = ses1; + FStar_Syntax_Syntax.lids = lids;_} + -> + let ses2 = + FStar_Compiler_List.map add_class_attr ses1 in + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_bundle + { + FStar_Syntax_Syntax.ses = ses2; + FStar_Syntax_Syntax.lids = lids + }); + FStar_Syntax_Syntax.sigrng = + (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = + (se.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta = + (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = + (se.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.sigopts = + (se.FStar_Syntax_Syntax.sigopts) + } + | FStar_Syntax_Syntax.Sig_inductive_typ uu___3 -> let uu___4 = - FStar_Syntax_Syntax.fvar_with_dd - FStar_Parser_Const.tcclass_lid - FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - uu___4 :: (se.FStar_Syntax_Syntax.sigattrs) in - { - FStar_Syntax_Syntax.sigel = - (se.FStar_Syntax_Syntax.sigel); - FStar_Syntax_Syntax.sigrng = - (se.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (se.FStar_Syntax_Syntax.sigquals); - FStar_Syntax_Syntax.sigmeta = - (se.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = uu___3; - FStar_Syntax_Syntax.sigopts = - (se.FStar_Syntax_Syntax.sigopts) - } - | uu___2 -> se in - let uu___2 = FStar_Compiler_List.map add_class_attr ses in - let uu___3 = - FStar_Compiler_List.concatMap (splice_decl meths) ses in - (uu___2, uu___3) - else (ses, []) in - (match uu___1 with - | (ses1, extra) -> - let env2 = - FStar_Compiler_List.fold_left - FStar_Syntax_DsEnv.push_sigelt env1 extra in - (env2, (FStar_Compiler_List.op_At ses1 extra)))) + let uu___5 = + let uu___6 = + FStar_Syntax_Syntax.fvar_with_dd + FStar_Parser_Const.tcclass_lid + FStar_Syntax_Syntax.delta_constant + FStar_Pervasives_Native.None in + uu___6 :: (se.FStar_Syntax_Syntax.sigattrs) in + FStar_Syntax_Util.deduplicate_terms uu___5 in + { + FStar_Syntax_Syntax.sigel = + (se.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigrng = + (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = + (se.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta = + (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = uu___4; + FStar_Syntax_Syntax.sigopts = + (se.FStar_Syntax_Syntax.sigopts) + } + | uu___3 -> se in + let uu___3 = + FStar_Compiler_List.map add_class_attr ses in + let uu___4 = + FStar_Compiler_List.concatMap (splice_decl meths) + ses in + (uu___3, uu___4) + else (ses, []) in + match uu___2 with + | (ses1, extra) -> + let env2 = + FStar_Compiler_List.fold_left + FStar_Syntax_DsEnv.push_sigelt env1 extra in + (env2, (FStar_Compiler_List.op_At ses1 extra))))) | FStar_Parser_AST.TopLevelLet (isrec, lets) -> let quals = d.FStar_Parser_AST.quals in let expand_toplevel_pattern = @@ -8985,13 +9104,16 @@ and (desugar_decl_noattrs : FStar_Compiler_List.map (fun x -> (FStar_Pervasives_Native.None, x)) lets in let as_inner_let = - FStar_Parser_AST.mk_term - (FStar_Parser_AST.Let - (isrec, lets1, - (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___ = + let uu___1 = + let uu___2 = + FStar_Parser_AST.mk_term + (FStar_Parser_AST.Const FStar_Const.Const_unit) + d.FStar_Parser_AST.drange FStar_Parser_AST.Expr in + (isrec, lets1, uu___2) in + FStar_Parser_AST.Let uu___1 in + FStar_Parser_AST.mk_term uu___ d.FStar_Parser_AST.drange + FStar_Parser_AST.Expr in let uu___ = desugar_term_maybe_top true env as_inner_let in (match uu___ with | (ds_lets, aq) -> @@ -9030,6 +9152,7 @@ and (desugar_decl_noattrs : ats)))) fvs ([], []) in (match uu___4 with | (val_quals, val_attrs) -> + let top_attrs = d_attrs in let lbs1 = let uu___5 = lbs in match uu___5 with @@ -9039,6 +9162,12 @@ and (desugar_decl_noattrs : lbs0 (FStar_Compiler_List.map (fun lb -> + let uu___6 = + FStar_Syntax_Util.deduplicate_terms + (FStar_Compiler_List.op_At + lb.FStar_Syntax_Syntax.lbattrs + (FStar_Compiler_List.op_At + val_attrs top_attrs)) in { FStar_Syntax_Syntax.lbname = (lb.FStar_Syntax_Syntax.lbname); @@ -9051,10 +9180,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.lbdef = (lb.FStar_Syntax_Syntax.lbdef); FStar_Syntax_Syntax.lbattrs = - (FStar_Compiler_List.op_At - lb.FStar_Syntax_Syntax.lbattrs - (FStar_Compiler_List.op_At - val_attrs top_attrs)); + uu___6; FStar_Syntax_Syntax.lbpos = (lb.FStar_Syntax_Syntax.lbpos) })) in @@ -9084,6 +9210,10 @@ and (desugar_decl_noattrs : (fun fv -> (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) in let s = + let uu___5 = + FStar_Syntax_Util.deduplicate_terms + (FStar_Compiler_List.op_At val_attrs + top_attrs) in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let @@ -9096,9 +9226,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = quals2; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = - (FStar_Compiler_List.op_At val_attrs - top_attrs); + FStar_Syntax_Syntax.sigattrs = uu___5; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -9280,7 +9408,7 @@ and (desugar_decl_noattrs : [FStar_Syntax_Syntax.Assumption]; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = d_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None }]) | FStar_Parser_AST.Val (id, t) -> @@ -9292,9 +9420,6 @@ and (desugar_decl_noattrs : (FStar_Syntax_DsEnv.admitted_iface env) in if uu___ then FStar_Parser_AST.Assumption :: quals else quals in let lid = FStar_Syntax_DsEnv.qualify env id in - let attrs = - FStar_Compiler_List.map (desugar_term env) - d.FStar_Parser_AST.attrs in let se = let uu___ = FStar_Compiler_List.map @@ -9311,7 +9436,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = uu___; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = attrs; + FStar_Syntax_Syntax.sigattrs = d_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in let env1 = FStar_Syntax_DsEnv.push_sigelt env se in (env1, [se]) @@ -9337,6 +9462,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Util.arrow uu___ uu___1 in let l = FStar_Syntax_DsEnv.qualify env id in let qual = [FStar_Syntax_Syntax.ExceptionConstructor] in + let top_attrs = d_attrs in let se = { FStar_Syntax_Syntax.sigel = @@ -9355,7 +9481,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = qual; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in let se' = @@ -9370,12 +9496,12 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = qual; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in let data_ops = mk_data_projector_names [] env1 se in - let discs = mk_data_discriminators [] env1 [l] in + let discs = mk_data_discriminators [] env1 [l] top_attrs in let env2 = FStar_Compiler_List.fold_left FStar_Syntax_DsEnv.push_sigelt env1 (FStar_Compiler_List.op_At discs data_ops) in @@ -9383,20 +9509,18 @@ and (desugar_decl_noattrs : | FStar_Parser_AST.NewEffect (FStar_Parser_AST.RedefineEffect (eff_name, eff_binders, defn)) -> let quals = d.FStar_Parser_AST.quals in - desugar_redefine_effect env d trans_qual1 quals eff_name + desugar_redefine_effect env d d_attrs 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 - desugar_effect env d quals false eff_name eff_binders eff_typ - eff_decls attrs + desugar_effect env d d_attrs quals false eff_name eff_binders + eff_typ eff_decls | FStar_Parser_AST.LayeredEffect (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 - desugar_effect env d quals true eff_name eff_binders eff_typ - eff_decls attrs + desugar_effect env d d_attrs quals true eff_name eff_binders + eff_typ eff_decls | FStar_Parser_AST.LayeredEffect (FStar_Parser_AST.RedefineEffect uu___) -> failwith @@ -9408,6 +9532,7 @@ and (desugar_decl_noattrs : let dst_ed = lookup_effect_lid env l.FStar_Parser_AST.mdest d.FStar_Parser_AST.drange in + let top_attrs = d_attrs in let uu___ = let uu___1 = (FStar_Syntax_Util.is_layered src_ed) || @@ -9460,7 +9585,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in @@ -9493,7 +9618,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None }]) @@ -9504,6 +9629,7 @@ and (desugar_decl_noattrs : let m = lookup_effect_lid env m_eff d.FStar_Parser_AST.drange in let n = lookup_effect_lid env n_eff d.FStar_Parser_AST.drange in let p = lookup_effect_lid env p_eff d.FStar_Parser_AST.drange in + let top_attrs = d_attrs in let uu___ = let uu___1 = let uu___2 = @@ -9529,7 +9655,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in [uu___1] in @@ -9537,6 +9663,7 @@ and (desugar_decl_noattrs : | FStar_Parser_AST.Polymonadic_subcomp (m_eff, n_eff, subcomp) -> let m = lookup_effect_lid env m_eff d.FStar_Parser_AST.drange in let n = lookup_effect_lid env n_eff d.FStar_Parser_AST.drange in + let top_attrs = d_attrs in let uu___ = let uu___1 = let uu___2 = @@ -9561,13 +9688,14 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in [uu___1] in (env, uu___) | FStar_Parser_AST.Splice (is_typed, ids, t) -> let t1 = desugar_term env t in + let top_attrs = d_attrs in let se = let uu___ = let uu___1 = @@ -9590,33 +9718,33 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigquals = uu___1; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = []; + FStar_Syntax_Syntax.sigattrs = top_attrs; FStar_Syntax_Syntax.sigopts = FStar_Pervasives_Native.None } in let env1 = FStar_Syntax_DsEnv.push_sigelt env se in (env1, [se]) - | FStar_Parser_AST.DeclSyntaxExtension (extension_name, code, range) - -> + | FStar_Parser_AST.DeclSyntaxExtension + (extension_name, code, uu___, range) -> let extension_parser = FStar_Parser_AST_Util.lookup_extension_parser extension_name in (match extension_parser with | FStar_Pervasives_Native.None -> - let uu___ = - let uu___1 = + let uu___1 = + let uu___2 = FStar_Compiler_Util.format1 "Unknown syntax extension %s" extension_name in - (FStar_Errors_Codes.Fatal_SyntaxError, uu___1) in - FStar_Errors.raise_error uu___ range + (FStar_Errors_Codes.Fatal_SyntaxError, uu___2) in + FStar_Errors.raise_error uu___1 range | FStar_Pervasives_Native.Some parser -> let opens = - let uu___ = + let uu___1 = FStar_Syntax_DsEnv.open_modules_and_namespaces env in - let uu___1 = FStar_Syntax_DsEnv.module_abbrevs env in + let uu___2 = FStar_Syntax_DsEnv.module_abbrevs env in { - FStar_Parser_AST_Util.open_namespaces = uu___; - FStar_Parser_AST_Util.module_abbreviations = uu___1 + FStar_Parser_AST_Util.open_namespaces = uu___1; + FStar_Parser_AST_Util.module_abbreviations = uu___2 } in - let uu___ = parser opens code range in - (match uu___ with + let uu___1 = parser opens code range in + (match uu___1 with | FStar_Pervasives.Inl error -> FStar_Errors.raise_error (FStar_Errors_Codes.Fatal_SyntaxError, @@ -9629,7 +9757,7 @@ and (desugar_decl_noattrs : let attrs = FStar_Compiler_List.op_At d'.FStar_Parser_AST.attrs d.FStar_Parser_AST.attrs in - desugar_decl_aux env + desugar_decl_maybe_fail_attr env { FStar_Parser_AST.d = (d'.FStar_Parser_AST.d); FStar_Parser_AST.drange = diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Cfg.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Cfg.ml index 14a35804712..874eafcd4e8 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Cfg.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Cfg.ml @@ -1707,7 +1707,7 @@ type primitive_step = requires_binder_substitution: Prims.bool ; interpretation: psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.universes -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option @@ -1762,7 +1762,7 @@ let (__proj__Mkprimitive_step__item__requires_binder_substitution : let (__proj__Mkprimitive_step__item__interpretation : primitive_step -> psc -> - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_Syntax_Syntax.universes -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) @@ -1991,24 +1991,24 @@ let (log_nbe : cfg -> (unit -> unit) -> unit) = fun cfg1 -> fun f -> if (cfg1.debug).debug_nbe then f () else () let embed_simple : 'a . - 'a FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> FStar_Compiler_Range_Type.range -> 'a -> FStar_Syntax_Syntax.term = fun emb -> fun r -> fun x -> - let uu___ = FStar_Syntax_Embeddings.embed emb x in + let uu___ = FStar_Syntax_Embeddings_Base.embed emb x in uu___ r FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb + FStar_Syntax_Embeddings_Base.id_norm_cb let try_unembed_simple : 'a . - 'a FStar_Syntax_Embeddings.embedding -> + 'a FStar_Syntax_Embeddings_Base.embedding -> FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option = fun emb -> fun x -> - let uu___ = FStar_Syntax_Embeddings.unembed emb x in - uu___ false FStar_Syntax_Embeddings.id_norm_cb + FStar_Syntax_Embeddings_Base.try_unembed emb x + FStar_Syntax_Embeddings_Base.id_norm_cb let (built_in_primitive_steps : primitive_step FStar_Compiler_Util.psmap) = let arg_as_int a = FStar_Compiler_Effect.op_Bar_Greater (FStar_Pervasives_Native.fst a) @@ -3657,7 +3657,7 @@ let (built_in_primitive_steps : primitive_step FStar_Compiler_Util.psmap) = let uu___4 = let uu___5 = let uu___6 = - FStar_Syntax_Embeddings.emb_typ_of + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_any in emb_typ uu___6 in let uu___6 = @@ -3720,7 +3720,7 @@ let (built_in_primitive_steps : primitive_step FStar_Compiler_Util.psmap) = let uu___4 = let uu___5 = let uu___6 = - FStar_Syntax_Embeddings.emb_typ_of + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_any in emb_typ uu___6 in (blob, uu___5) in @@ -3842,10 +3842,9 @@ let (built_in_primitive_steps : primitive_step FStar_Compiler_Util.psmap) = let issue_ops = let mk_lid l = FStar_Parser_Const.p2l ["FStar"; "Issue"; l] in let arg_as_issue x = - let uu___ = - FStar_Syntax_Embeddings.unembed FStar_Syntax_Embeddings.e_issue - (FStar_Pervasives_Native.fst x) in - uu___ false FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.try_unembed + FStar_Syntax_Embeddings.e_issue (FStar_Pervasives_Native.fst x) + FStar_Syntax_Embeddings_Base.id_norm_cb in let option_int_as_option_z oi = match oi with | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None @@ -3974,8 +3973,8 @@ let (built_in_primitive_steps : primitive_step FStar_Compiler_Util.psmap) = uu___14):: (number, uu___15)::(context, uu___16)::[] -> let try_unembed e x = - FStar_Syntax_Embeddings.try_unembed e x - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.try_unembed e x + FStar_Syntax_Embeddings_Base.id_norm_cb in let uu___17 = let uu___18 = try_unembed @@ -4405,21 +4404,20 @@ let (should_reduce_local_let : (Prims.op_Negation (cfg1.steps).pure_subterms_within_computations))) let (translate_norm_step : - FStar_Syntax_Embeddings.norm_step -> FStar_TypeChecker_Env.step Prims.list) - = + FStar_Pervasives.norm_step -> FStar_TypeChecker_Env.step Prims.list) = fun uu___ -> match uu___ with - | FStar_Syntax_Embeddings.Zeta -> [FStar_TypeChecker_Env.Zeta] - | FStar_Syntax_Embeddings.ZetaFull -> [FStar_TypeChecker_Env.ZetaFull] - | FStar_Syntax_Embeddings.Iota -> [FStar_TypeChecker_Env.Iota] - | FStar_Syntax_Embeddings.Delta -> + | FStar_Pervasives.Zeta -> [FStar_TypeChecker_Env.Zeta] + | FStar_Pervasives.ZetaFull -> [FStar_TypeChecker_Env.ZetaFull] + | FStar_Pervasives.Iota -> [FStar_TypeChecker_Env.Iota] + | FStar_Pervasives.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.UnfoldOnly names -> + | FStar_Pervasives.Simpl -> [FStar_TypeChecker_Env.Simplify] + | FStar_Pervasives.Weak -> [FStar_TypeChecker_Env.Weak] + | FStar_Pervasives.HNF -> [FStar_TypeChecker_Env.HNF] + | FStar_Pervasives.Primops -> [FStar_TypeChecker_Env.Primops] + | FStar_Pervasives.Reify -> [FStar_TypeChecker_Env.Reify] + | FStar_Pervasives.UnfoldOnly names -> let uu___1 = let uu___2 = let uu___3 = FStar_Compiler_List.map FStar_Ident.lid_of_str names in @@ -4427,7 +4425,7 @@ let (translate_norm_step : [uu___2] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu___1 - | FStar_Syntax_Embeddings.UnfoldFully names -> + | FStar_Pervasives.UnfoldFully names -> let uu___1 = let uu___2 = let uu___3 = FStar_Compiler_List.map FStar_Ident.lid_of_str names in @@ -4435,7 +4433,7 @@ let (translate_norm_step : [uu___2] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu___1 - | FStar_Syntax_Embeddings.UnfoldAttr names -> + | FStar_Pervasives.UnfoldAttr names -> let uu___1 = let uu___2 = let uu___3 = FStar_Compiler_List.map FStar_Ident.lid_of_str names in @@ -4443,17 +4441,17 @@ let (translate_norm_step : [uu___2] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu___1 - | FStar_Syntax_Embeddings.UnfoldQual names -> + | FStar_Pervasives.UnfoldQual names -> [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.UnfoldQual names] - | FStar_Syntax_Embeddings.UnfoldNamespace names -> + | FStar_Pervasives.UnfoldNamespace names -> [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.UnfoldNamespace names] - | FStar_Syntax_Embeddings.Unascribe -> [FStar_TypeChecker_Env.Unascribe] - | FStar_Syntax_Embeddings.NBE -> [FStar_TypeChecker_Env.NBE] - | FStar_Syntax_Embeddings.Unmeta -> [FStar_TypeChecker_Env.Unmeta] + | FStar_Pervasives.Unascribe -> [FStar_TypeChecker_Env.Unascribe] + | FStar_Pervasives.NBE -> [FStar_TypeChecker_Env.NBE] + | FStar_Pervasives.Unmeta -> [FStar_TypeChecker_Env.Unmeta] let (translate_norm_steps : - FStar_Syntax_Embeddings.norm_step Prims.list -> + FStar_Pervasives.norm_step Prims.list -> FStar_TypeChecker_Env.step Prims.list) = fun s -> diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Common.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Common.ml index 5c4f1e09809..d3ff4dbe044 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Common.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Common.ml @@ -323,7 +323,9 @@ let (print_identifier_info : identifier_info -> Prims.string) = let uu___2 = FStar_Syntax_Print.term_to_string info.identifier_ty in FStar_Compiler_Util.format3 "id info { %s, %s : %s}" uu___ uu___1 uu___2 let (id_info__insert : - (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> + (FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) + -> (Prims.int * identifier_info) Prims.list FStar_Compiler_Util.pimap FStar_Compiler_Util.psmap -> identifier_info -> @@ -341,30 +343,34 @@ let (id_info__insert : match info.identifier with | FStar_Pervasives.Inr uu___ -> ty_map info.identifier_ty | FStar_Pervasives.Inl x -> ty_map info.identifier_ty in - let info1 = - { - identifier = (info.identifier); - identifier_ty = id_ty; - identifier_range = use_range - } in - let fn = FStar_Compiler_Range_Ops.file_of_range use_range in - let start = FStar_Compiler_Range_Ops.start_of_range use_range in - let uu___ = - let uu___1 = FStar_Compiler_Range_Ops.line_of_pos start in - let uu___2 = FStar_Compiler_Range_Ops.col_of_pos start in - (uu___1, uu___2) in - match uu___ with - | (row, col) -> - let rows = - let uu___1 = FStar_Compiler_Util.pimap_empty () in - FStar_Compiler_Util.psmap_find_default db fn uu___1 in - let cols = FStar_Compiler_Util.pimap_find_default rows row [] in - let uu___1 = - let uu___2 = insert_col_info col info1 cols in - FStar_Compiler_Effect.op_Bar_Greater uu___2 - (FStar_Compiler_Util.pimap_add rows row) in - FStar_Compiler_Effect.op_Bar_Greater uu___1 - (FStar_Compiler_Util.psmap_add db fn) + match id_ty with + | FStar_Pervasives_Native.None -> db + | FStar_Pervasives_Native.Some id_ty1 -> + let info1 = + { + identifier = (info.identifier); + identifier_ty = id_ty1; + identifier_range = use_range + } in + let fn = FStar_Compiler_Range_Ops.file_of_range use_range in + let start = FStar_Compiler_Range_Ops.start_of_range use_range in + let uu___ = + let uu___1 = FStar_Compiler_Range_Ops.line_of_pos start in + let uu___2 = FStar_Compiler_Range_Ops.col_of_pos start in + (uu___1, uu___2) in + (match uu___ with + | (row, col) -> + let rows = + let uu___1 = FStar_Compiler_Util.pimap_empty () in + FStar_Compiler_Util.psmap_find_default db fn uu___1 in + let cols = + FStar_Compiler_Util.pimap_find_default rows row [] in + let uu___1 = + let uu___2 = insert_col_info col info1 cols in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + (FStar_Compiler_Util.pimap_add rows row) in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + (FStar_Compiler_Util.psmap_add db fn)) let (id_info_insert : id_info_table -> (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Pervasives.either @@ -417,7 +423,9 @@ let (id_info_toggle : id_info_table -> Prims.bool -> id_info_table) = } let (id_info_promote : id_info_table -> - (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> id_info_table) + (FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) + -> id_info_table) = fun table -> fun ty_map -> diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Core.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Core.ml index 53333dbb75a..4c08ce40749 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Core.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Core.ml @@ -831,8 +831,32 @@ let (check_aqual : FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.aqual_implicit = b1; FStar_Syntax_Syntax.aqual_attributes = uu___1;_}) - -> if b0 = b1 then return () else fail "Unequal arg qualifiers" - | uu___ -> fail "Unequal arg qualifiers" + -> + if b0 = b1 + then return () + else + (let uu___3 = + let uu___4 = FStar_Compiler_Util.string_of_bool b0 in + let uu___5 = FStar_Compiler_Util.string_of_bool b1 in + FStar_Compiler_Util.format2 + "Unequal arg qualifiers: lhs implicit=%s and rhs implicit=%s" + uu___4 uu___5 in + fail uu___3) + | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some + { FStar_Syntax_Syntax.aqual_implicit = false; + FStar_Syntax_Syntax.aqual_attributes = uu___;_}) + -> return () + | (FStar_Pervasives_Native.Some + { FStar_Syntax_Syntax.aqual_implicit = false; + FStar_Syntax_Syntax.aqual_attributes = uu___;_}, + FStar_Pervasives_Native.None) -> return () + | uu___ -> + let uu___1 = + let uu___2 = FStar_Syntax_Print.aqual_to_string a0 in + let uu___3 = FStar_Syntax_Print.aqual_to_string a1 in + FStar_Compiler_Util.format2 + "Unequal arg qualifiers: lhs %s and rhs %s" uu___2 uu___3 in + fail uu___1 let (check_positivity_qual : relation -> FStar_Syntax_Syntax.positivity_qualifier FStar_Pervasives_Native.option @@ -1541,25 +1565,23 @@ let rec (check_relation : let maybe_unfold t01 t11 = let uu___1 = which_side_to_unfold t01 t11 in maybe_unfold_side uu___1 t01 t11 in + let emit_guard t01 t11 = + let uu___1 = check' g t01 in + op_let_Bang uu___1 + (fun uu___2 -> + match uu___2 with + | (uu___3, t_typ) -> + let uu___4 = universe_of g t_typ in + op_let_Bang uu___4 + (fun u -> + let uu___5 = + FStar_Syntax_Util.mk_eq2 u t_typ t01 t11 in + guard uu___5)) in let fallback t01 t11 = if guard_ok then let uu___1 = (equatable g t01) || (equatable g t11) in - (if uu___1 - then - let uu___2 = check' g t01 in - op_let_Bang uu___2 - (fun uu___3 -> - match uu___3 with - | (uu___4, t_typ) -> - let uu___5 = universe_of g t_typ in - op_let_Bang uu___5 - (fun u -> - let uu___6 = - FStar_Syntax_Util.mk_eq2 u t_typ t01 - t11 in - guard uu___6)) - else err ()) + (if uu___1 then emit_guard t01 t11 else err ()) else err () in let maybe_unfold_side_and_retry side1 t01 t11 = let uu___1 = maybe_unfold_side side1 t01 t11 in @@ -1940,17 +1962,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (FStar_Syntax_Syntax.Tm_fvar uu___3, uu___4) -> let head_matches1 = head_matches t01 t11 in let uu___5 = @@ -1968,17 +2004,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (FStar_Syntax_Syntax.Tm_app uu___3, uu___4) -> let head_matches1 = head_matches t01 t11 in let uu___5 = @@ -1996,17 +2046,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (uu___3, FStar_Syntax_Syntax.Tm_uinst uu___4) -> let head_matches1 = head_matches t01 t11 in let uu___5 = @@ -2024,17 +2088,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (uu___3, FStar_Syntax_Syntax.Tm_fvar uu___4) -> let head_matches1 = head_matches t01 t11 in let uu___5 = @@ -2052,17 +2130,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (uu___3, FStar_Syntax_Syntax.Tm_app uu___4) -> let head_matches1 = head_matches t01 t11 in let uu___5 = @@ -2080,17 +2172,31 @@ let rec (check_relation : (FStar_Compiler_List.length args1))) then maybe_unfold_and_retry t01 t11 else - (let uu___8 = + (let compare_head_and_args uu___8 = let uu___9 = - check_relation1 g EQUALITY head0 head1 in - op_let_Bang uu___9 + let uu___10 = + check_relation1 g EQUALITY head0 + head1 in + op_let_Bang uu___10 + (fun uu___11 -> + check_relation_args g EQUALITY + args0 args1) in + handle_with uu___9 (fun uu___10 -> - check_relation_args g EQUALITY - args0 args1) in - handle_with uu___8 - (fun uu___9 -> - maybe_unfold_side_and_retry Both t01 - t11)))) + maybe_unfold_side_and_retry Both + t01 t11) in + let uu___8 = + (guard_ok && (rel = EQUALITY)) && + ((equatable g t01) || + (equatable g t11)) in + if uu___8 + then + let uu___9 = + let uu___10 = compare_head_and_args () in + no_guard uu___10 in + handle_with uu___9 + (fun uu___10 -> emit_guard t01 t11) + else compare_head_and_args ()))) | (FStar_Syntax_Syntax.Tm_abs { FStar_Syntax_Syntax.bs = b0::b1::bs; FStar_Syntax_Syntax.body = body; diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_DeferredImplicits.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_DeferredImplicits.ml index e072ddf8975..8ef608f2f80 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_DeferredImplicits.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_DeferredImplicits.ml @@ -416,6 +416,8 @@ let solve_goals_with_tac : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -542,6 +544,8 @@ let (solve_deferred_to_tactic_goals : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -645,6 +649,8 @@ let (solve_deferred_to_tactic_goals : (env2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Env.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Env.ml index d881736436a..82cf52df57e 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Env.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Env.ml @@ -278,6 +278,7 @@ and env = failhard: Prims.bool ; nosynth: Prims.bool ; uvar_subtyping: Prims.bool ; + intactics: Prims.bool ; tc_term: env -> FStar_Syntax_Syntax.term -> @@ -304,8 +305,8 @@ and env = subtype_nosmt_force: env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool ; qtbl_name_and_index: - (Prims.int FStar_Compiler_Util.smap * (FStar_Ident.lident * Prims.int) - FStar_Pervasives_Native.option) + ((FStar_Ident.lident * FStar_Syntax_Syntax.typ * Prims.int) + FStar_Pervasives_Native.option * Prims.int FStar_Compiler_Util.smap) ; normalized_eff_names: FStar_Ident.lident FStar_Compiler_Util.smap ; fv_delta_depths: FStar_Syntax_Syntax.delta_depth FStar_Compiler_Util.smap ; @@ -485,7 +486,7 @@ let (__proj__Mkenv__item__solver : env -> solver_t) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -499,7 +500,7 @@ let (__proj__Mkenv__item__range : env -> FStar_Compiler_Range_Type.range) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -513,7 +514,7 @@ let (__proj__Mkenv__item__curmodule : env -> FStar_Ident.lident) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -529,7 +530,7 @@ let (__proj__Mkenv__item__gamma : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -543,7 +544,7 @@ let (__proj__Mkenv__item__gamma_sig : env -> sig_binding Prims.list) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -559,7 +560,7 @@ let (__proj__Mkenv__item__gamma_cache : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -575,7 +576,7 @@ let (__proj__Mkenv__item__modules : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -592,7 +593,7 @@ let (__proj__Mkenv__item__expected_typ : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -608,7 +609,7 @@ let (__proj__Mkenv__item__sigtab : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -623,7 +624,7 @@ let (__proj__Mkenv__item__attrtab : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -637,7 +638,7 @@ let (__proj__Mkenv__item__instantiate_imp : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -652,7 +653,7 @@ let (__proj__Mkenv__item__effects : env -> effects) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -666,7 +667,7 @@ let (__proj__Mkenv__item__generalize : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -685,7 +686,7 @@ let (__proj__Mkenv__item__letrecs : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -699,7 +700,7 @@ let (__proj__Mkenv__item__top_level : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -714,7 +715,7 @@ let (__proj__Mkenv__item__check_uvars : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -729,7 +730,7 @@ let (__proj__Mkenv__item__use_eq_strict : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -744,7 +745,7 @@ let (__proj__Mkenv__item__is_iface : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -758,7 +759,7 @@ let (__proj__Mkenv__item__admit : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -772,7 +773,7 @@ let (__proj__Mkenv__item__lax : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -786,7 +787,7 @@ let (__proj__Mkenv__item__lax_universes : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -801,7 +802,7 @@ let (__proj__Mkenv__item__phase1 : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -815,7 +816,7 @@ let (__proj__Mkenv__item__failhard : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -829,7 +830,7 @@ let (__proj__Mkenv__item__nosynth : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -843,7 +844,7 @@ let (__proj__Mkenv__item__uvar_subtyping : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -851,6 +852,21 @@ let (__proj__Mkenv__item__uvar_subtyping : env -> Prims.bool) = dsenv; nbe; strict_args_tab; erasable_types_tab; enable_defer_to_tac; unif_allow_ref_guards; erase_erasable_args; core_check;_} -> uvar_subtyping +let (__proj__Mkenv__item__intactics : env -> Prims.bool) = + fun projectee -> + match projectee with + | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; + expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; + generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; + admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; + typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; + subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; + fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; + splice; mpreprocess; postprocess; identifier_info; tc_hooks; + dsenv; nbe; strict_args_tab; erasable_types_tab; enable_defer_to_tac; + unif_allow_ref_guards; erase_erasable_args; core_check;_} -> + intactics let (__proj__Mkenv__item__tc_term : env -> env -> @@ -864,7 +880,7 @@ let (__proj__Mkenv__item__tc_term : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -885,7 +901,7 @@ let (__proj__Mkenv__item__typeof_tot_or_gtot_term : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -901,7 +917,7 @@ let (__proj__Mkenv__item__universe_of : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -922,7 +938,7 @@ let (__proj__Mkenv__item__typeof_well_typed_tot_or_gtot_term : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -940,7 +956,7 @@ let (__proj__Mkenv__item__teq_nosmt_force : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -958,7 +974,7 @@ let (__proj__Mkenv__item__subtype_nosmt_force : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -968,8 +984,8 @@ let (__proj__Mkenv__item__subtype_nosmt_force : subtype_nosmt_force let (__proj__Mkenv__item__qtbl_name_and_index : env -> - (Prims.int FStar_Compiler_Util.smap * (FStar_Ident.lident * Prims.int) - FStar_Pervasives_Native.option)) + ((FStar_Ident.lident * FStar_Syntax_Syntax.typ * Prims.int) + FStar_Pervasives_Native.option * Prims.int FStar_Compiler_Util.smap)) = fun projectee -> match projectee with @@ -977,7 +993,7 @@ let (__proj__Mkenv__item__qtbl_name_and_index : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -993,7 +1009,7 @@ let (__proj__Mkenv__item__normalized_eff_names : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1009,7 +1025,7 @@ let (__proj__Mkenv__item__fv_delta_depths : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1024,7 +1040,7 @@ let (__proj__Mkenv__item__proof_ns : env -> proof_namespace) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1043,7 +1059,7 @@ let (__proj__Mkenv__item__synth_hook : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1062,7 +1078,7 @@ let (__proj__Mkenv__item__try_solve_implicits_hook : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1085,7 +1101,7 @@ let (__proj__Mkenv__item__splice : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1104,7 +1120,7 @@ let (__proj__Mkenv__item__mpreprocess : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1125,7 +1141,7 @@ let (__proj__Mkenv__item__postprocess : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1141,7 +1157,7 @@ let (__proj__Mkenv__item__identifier_info : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1156,7 +1172,7 @@ let (__proj__Mkenv__item__tc_hooks : env -> tcenv_hooks) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1170,7 +1186,7 @@ let (__proj__Mkenv__item__dsenv : env -> FStar_Syntax_DsEnv.env) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1188,7 +1204,7 @@ let (__proj__Mkenv__item__nbe : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1206,7 +1222,7 @@ let (__proj__Mkenv__item__strict_args_tab : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1222,7 +1238,7 @@ let (__proj__Mkenv__item__erasable_types_tab : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1237,7 +1253,7 @@ let (__proj__Mkenv__item__enable_defer_to_tac : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1252,7 +1268,7 @@ let (__proj__Mkenv__item__unif_allow_ref_guards : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1267,7 +1283,7 @@ let (__proj__Mkenv__item__erase_erasable_args : env -> Prims.bool) = expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1290,7 +1306,7 @@ let (__proj__Mkenv__item__core_check : expected_typ; sigtab; attrtab; instantiate_imp; effects = effects1; generalize; letrecs; top_level; check_uvars; use_eq_strict; is_iface; admit; lax; lax_universes; phase1; failhard; nosynth; uvar_subtyping; - tc_term; typeof_tot_or_gtot_term; universe_of; + intactics; tc_term; typeof_tot_or_gtot_term; universe_of; typeof_well_typed_tot_or_gtot_term; teq_nosmt_force; subtype_nosmt_force; qtbl_name_and_index; normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; try_solve_implicits_hook; @@ -1512,6 +1528,7 @@ let (rename_env : FStar_Syntax_Syntax.subst_t -> env -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -1571,6 +1588,7 @@ let (set_tc_hooks : env -> tcenv_hooks -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -1629,6 +1647,7 @@ let (set_dep_graph : env -> FStar_Parser_Dep.deps -> env) = failhard = (e.failhard); nosynth = (e.nosynth); uvar_subtyping = (e.uvar_subtyping); + intactics = (e.intactics); tc_term = (e.tc_term); typeof_tot_or_gtot_term = (e.typeof_tot_or_gtot_term); universe_of = (e.universe_of); @@ -1734,7 +1753,7 @@ let (initial_env : let uu___4 = FStar_Compiler_Util.smap_create (Prims.of_int (10)) in - (uu___4, FStar_Pervasives_Native.None) in + (FStar_Pervasives_Native.None, uu___4) in let uu___4 = FStar_Compiler_Util.smap_create (Prims.of_int (20)) in let uu___5 = @@ -1781,6 +1800,7 @@ let (initial_env : failhard = false; nosynth = false; uvar_subtyping = true; + intactics = false; tc_term; typeof_tot_or_gtot_term; universe_of; @@ -1909,13 +1929,13 @@ let (push_stack : env -> env) = let uu___3 = FStar_Compiler_Util.smap_copy (attrtab env1) in let uu___4 = let uu___5 = - let uu___6 = - FStar_Compiler_Effect.op_Bar_Greater env1.qtbl_name_and_index - FStar_Pervasives_Native.fst in - FStar_Compiler_Util.smap_copy uu___6 in - let uu___6 = FStar_Compiler_Effect.op_Bar_Greater env1.qtbl_name_and_index - FStar_Pervasives_Native.snd in + FStar_Pervasives_Native.fst in + let uu___6 = + let uu___7 = + FStar_Compiler_Effect.op_Bar_Greater env1.qtbl_name_and_index + FStar_Pervasives_Native.snd in + FStar_Compiler_Util.smap_copy uu___7 in (uu___5, uu___6) in let uu___5 = FStar_Compiler_Util.smap_copy env1.normalized_eff_names in let uu___6 = FStar_Compiler_Util.smap_copy env1.fv_delta_depths in @@ -1950,6 +1970,7 @@ let (push_stack : env -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -2032,6 +2053,7 @@ let (snapshot : env -> Prims.string -> (tcenv_depth_t * env)) = failhard = (env2.failhard); nosynth = (env2.nosynth); uvar_subtyping = (env2.uvar_subtyping); + intactics = (env2.intactics); tc_term = (env2.tc_term); typeof_tot_or_gtot_term = (env2.typeof_tot_or_gtot_term); @@ -2118,8 +2140,8 @@ let (incr_query_index : env -> env) = fun env1 -> let qix = peek_query_indices () in match env1.qtbl_name_and_index with - | (uu___, FStar_Pervasives_Native.None) -> env1 - | (tbl, FStar_Pervasives_Native.Some (l, n)) -> + | (FStar_Pervasives_Native.None, uu___) -> env1 + | (FStar_Pervasives_Native.Some (l, typ, n), tbl) -> let uu___ = FStar_Compiler_Effect.op_Bar_Greater qix (FStar_Compiler_List.tryFind @@ -2158,6 +2180,7 @@ let (incr_query_index : env -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -2166,7 +2189,7 @@ let (incr_query_index : env -> env) = teq_nosmt_force = (env1.teq_nosmt_force); subtype_nosmt_force = (env1.subtype_nosmt_force); qtbl_name_and_index = - (tbl, (FStar_Pervasives_Native.Some (l, next))); + ((FStar_Pervasives_Native.Some (l, typ, next)), tbl); normalized_eff_names = (env1.normalized_eff_names); fv_delta_depths = (env1.fv_delta_depths); proof_ns = (env1.proof_ns); @@ -2217,6 +2240,7 @@ let (incr_query_index : env -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -2225,7 +2249,7 @@ let (incr_query_index : env -> env) = teq_nosmt_force = (env1.teq_nosmt_force); subtype_nosmt_force = (env1.subtype_nosmt_force); qtbl_name_and_index = - (tbl, (FStar_Pervasives_Native.Some (l, next))); + ((FStar_Pervasives_Native.Some (l, typ, next)), tbl); normalized_eff_names = (env1.normalized_eff_names); fv_delta_depths = (env1.fv_delta_depths); proof_ns = (env1.proof_ns); @@ -2282,6 +2306,7 @@ let (set_range : env -> FStar_Compiler_Range_Type.range -> env) = failhard = (e.failhard); nosynth = (e.nosynth); uvar_subtyping = (e.uvar_subtyping); + intactics = (e.intactics); tc_term = (e.tc_term); typeof_tot_or_gtot_term = (e.typeof_tot_or_gtot_term); universe_of = (e.universe_of); @@ -2336,7 +2361,11 @@ let (insert_fv_info : FStar_TypeChecker_Common.id_info_insert_fv uu___1 fv ty in FStar_Compiler_Effect.op_Colon_Equals env1.identifier_info uu___ let (promote_id_info : - env -> (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> unit) = + env -> + (FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) + -> unit) + = fun env1 -> fun ty_map -> let uu___ = @@ -2375,6 +2404,7 @@ let (set_current_module : env -> FStar_Ident.lident -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5011,6 +5041,7 @@ let (push_sigelt : env -> FStar_Syntax_Syntax.sigelt -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5086,6 +5117,7 @@ let (push_new_effect : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5535,6 +5567,7 @@ let (update_effect_lattice : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5607,6 +5640,7 @@ let (add_polymonadic_bind : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5682,6 +5716,7 @@ let (add_polymonadic_subcomp : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5738,6 +5773,7 @@ let (push_local_binding : env -> FStar_Syntax_Syntax.binding -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5806,6 +5842,7 @@ let (pop_bv : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5918,6 +5955,7 @@ let (set_expected_typ : env -> FStar_Syntax_Syntax.typ -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -5976,6 +6014,7 @@ let (set_expected_typ_maybe_eq : failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -6044,6 +6083,7 @@ let (clear_expected_typ : failhard = (env_.failhard); nosynth = (env_.nosynth); uvar_subtyping = (env_.uvar_subtyping); + intactics = (env_.intactics); tc_term = (env_.tc_term); typeof_tot_or_gtot_term = (env_.typeof_tot_or_gtot_term); universe_of = (env_.universe_of); @@ -6115,6 +6155,7 @@ let (finish_module : env -> FStar_Syntax_Syntax.modul -> env) = failhard = (env1.failhard); nosynth = (env1.nosynth); uvar_subtyping = (env1.uvar_subtyping); + intactics = (env1.intactics); tc_term = (env1.tc_term); typeof_tot_or_gtot_term = (env1.typeof_tot_or_gtot_term); universe_of = (env1.universe_of); @@ -6305,6 +6346,7 @@ let (cons_proof_ns : Prims.bool -> env -> name_prefix -> env) = failhard = (e.failhard); nosynth = (e.nosynth); uvar_subtyping = (e.uvar_subtyping); + intactics = (e.intactics); tc_term = (e.tc_term); typeof_tot_or_gtot_term = (e.typeof_tot_or_gtot_term); universe_of = (e.universe_of); @@ -6366,6 +6408,7 @@ let (set_proof_ns : proof_namespace -> env -> env) = failhard = (e.failhard); nosynth = (e.nosynth); uvar_subtyping = (e.uvar_subtyping); + intactics = (e.intactics); tc_term = (e.tc_term); typeof_tot_or_gtot_term = (e.typeof_tot_or_gtot_term); universe_of = (e.universe_of); diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_NBETerm.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_NBETerm.ml index 55ae06595bd..a9b8bdcd44b 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_NBETerm.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_NBETerm.ml @@ -898,7 +898,7 @@ let (e_unit : unit embedding) = let un _cb t1 = FStar_Pervasives_Native.Some () in let uu___ = lid_as_typ FStar_Parser_Const.unit_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_unit in mk_emb' em un uu___ uu___1 let (e_bool : Prims.bool embedding) = let em _cb a = Constant (Bool a) in @@ -908,7 +908,7 @@ let (e_bool : Prims.bool embedding) = | uu___ -> FStar_Pervasives_Native.None in let uu___ = lid_as_typ FStar_Parser_Const.bool_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_unit in mk_emb' em un uu___ uu___1 let (e_char : FStar_Char.char embedding) = let em _cb c = Constant (Char c) in @@ -918,7 +918,7 @@ let (e_char : FStar_Char.char embedding) = | uu___ -> FStar_Pervasives_Native.None in let uu___ = lid_as_typ FStar_Parser_Const.char_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_char in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_char in mk_emb' em un uu___ uu___1 let (e_string : Prims.string embedding) = let em _cb s = Constant (String (s, FStar_Compiler_Range_Type.dummyRange)) in @@ -928,7 +928,7 @@ let (e_string : Prims.string embedding) = | uu___ -> FStar_Pervasives_Native.None in let uu___ = lid_as_typ FStar_Parser_Const.string_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_string in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_string in mk_emb' em un uu___ uu___1 let (e_int : FStar_BigInt.t embedding) = let em _cb c = Constant (Int c) in @@ -938,7 +938,7 @@ let (e_int : FStar_BigInt.t embedding) = | uu___ -> FStar_Pervasives_Native.None in let uu___ = lid_as_typ FStar_Parser_Const.int_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_int in mk_emb' em un uu___ uu___1 let e_option : 'a . 'a embedding -> 'a FStar_Pervasives_Native.option embedding = @@ -1213,13 +1213,13 @@ let (e_range : FStar_Compiler_Range_Type.range embedding) = match t1 with | Constant (Range r) -> FStar_Pervasives_Native.Some r | uu___ -> FStar_Pervasives_Native.None in - let uu___ = lid_as_typ FStar_Parser_Const.range_lid [] [] in + let uu___ = lid_as_typ FStar_Parser_Const.__range_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_range in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_range in mk_emb' em un uu___ uu___1 let (e_issue : FStar_Errors.issue embedding) = let t_issue = - FStar_Syntax_Embeddings.type_of FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings_Base.type_of FStar_Syntax_Embeddings.e_issue in let li blob rng = let uu___ = FStar_Compiler_Dyn.mkdyn blob in { @@ -1252,14 +1252,14 @@ let (e_issue : FStar_Errors.issue embedding) = | uu___ -> FStar_Pervasives_Native.None in let uu___ = lid_as_typ FStar_Parser_Const.issue_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_issue in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_issue in mk_emb' em un uu___ uu___1 let (e_vconfig : FStar_VConfig.vconfig embedding) = let em cb r = failwith "e_vconfig NBE" in let un cb t1 = failwith "e_vconfig NBE" in let uu___ = lid_as_typ FStar_Parser_Const.vconfig_lid [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_vconfig in + FStar_Syntax_Embeddings_Base.emb_typ_of FStar_Syntax_Embeddings.e_vconfig in mk_emb' em un uu___ uu___1 let e_list : 'a . 'a embedding -> 'a Prims.list embedding = fun ea -> @@ -1383,55 +1383,61 @@ let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = let uu___2 = let uu___3 = type_of eb in as_iarg uu___3 in make_arrow1 uu___1 uu___2 in mk_emb em un uu___ etyp -let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = +let e_unsupported : 'a . unit -> 'a embedding = + fun uu___ -> + let em _cb a1 = failwith "Unsupported NBE embedding" in + let un _cb t1 = failwith "Unsupported NBE embedding" in + let uu___1 = lid_as_typ FStar_Parser_Const.term_lid [] [] in + mk_emb em un uu___1 FStar_Syntax_Syntax.ET_abstract +let (e_norm_step : FStar_Pervasives.norm_step embedding) = let em cb n = match n with - | FStar_Syntax_Embeddings.Simpl -> + | FStar_Pervasives.Simpl -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_simpl FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Weak -> + | FStar_Pervasives.Weak -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_weak FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.HNF -> + | FStar_Pervasives.HNF -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_hnf FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Primops -> + | FStar_Pervasives.Primops -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_primops FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Delta -> + | FStar_Pervasives.Delta -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_delta FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Zeta -> + | FStar_Pervasives.Zeta -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_zeta FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Iota -> + | FStar_Pervasives.Iota -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_iota FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Reify -> + | FStar_Pervasives.Reify -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_reify FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.NBE -> + | FStar_Pervasives.NBE -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_nbe FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.UnfoldOnly l -> + | FStar_Pervasives.UnfoldOnly l -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldonly FStar_Pervasives_Native.None in @@ -1441,7 +1447,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = as_arg uu___3 in [uu___2] in mkFV uu___ [] uu___1 - | FStar_Syntax_Embeddings.UnfoldFully l -> + | FStar_Pervasives.UnfoldFully l -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldfully FStar_Pervasives_Native.None in @@ -1451,7 +1457,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = as_arg uu___3 in [uu___2] in mkFV uu___ [] uu___1 - | FStar_Syntax_Embeddings.UnfoldAttr l -> + | FStar_Pervasives.UnfoldAttr l -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldattr FStar_Pervasives_Native.None in @@ -1461,7 +1467,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = as_arg uu___3 in [uu___2] in mkFV uu___ [] uu___1 - | FStar_Syntax_Embeddings.UnfoldQual l -> + | FStar_Pervasives.UnfoldQual l -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldqual FStar_Pervasives_Native.None in @@ -1471,7 +1477,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = as_arg uu___3 in [uu___2] in mkFV uu___ [] uu___1 - | FStar_Syntax_Embeddings.UnfoldNamespace l -> + | FStar_Pervasives.UnfoldNamespace l -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldnamespace @@ -1482,12 +1488,12 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = as_arg uu___3 in [uu___2] in mkFV uu___ [] uu___1 - | FStar_Syntax_Embeddings.ZetaFull -> + | FStar_Pervasives.ZetaFull -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_zeta_full FStar_Pervasives_Native.None in mkFV uu___ [] [] - | FStar_Syntax_Embeddings.Unascribe -> + | FStar_Pervasives.Unascribe -> let uu___ = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unascribe FStar_Pervasives_Native.None in @@ -1496,37 +1502,37 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = match t0.nbe_t with | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_simpl -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Simpl + FStar_Pervasives_Native.Some FStar_Pervasives.Simpl | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_weak -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Weak + FStar_Pervasives_Native.Some FStar_Pervasives.Weak | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_hnf -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.HNF + FStar_Pervasives_Native.Some FStar_Pervasives.HNF | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_primops -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Primops + FStar_Pervasives_Native.Some FStar_Pervasives.Primops | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_delta -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Delta + FStar_Pervasives_Native.Some FStar_Pervasives.Delta | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_zeta -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Zeta + FStar_Pervasives_Native.Some FStar_Pervasives.Zeta | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_iota -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Iota + FStar_Pervasives_Native.Some FStar_Pervasives.Iota | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_nbe -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.NBE + FStar_Pervasives_Native.Some FStar_Pervasives.NBE | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_reify -> - FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Reify + FStar_Pervasives_Native.Some FStar_Pervasives.Reify | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_zeta_full - -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.ZetaFull + -> FStar_Pervasives_Native.Some FStar_Pervasives.ZetaFull | FV (fv, uu___, []) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unascribe - -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Unascribe + -> FStar_Pervasives_Native.Some FStar_Pervasives.Unascribe | FV (fv, uu___, (l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldonly -> @@ -1535,7 +1541,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Syntax_Embeddings.UnfoldOnly ss)) + (FStar_Pervasives.UnfoldOnly ss)) | FV (fv, uu___, (l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldfully -> @@ -1544,7 +1550,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Syntax_Embeddings.UnfoldFully ss)) + (FStar_Pervasives.UnfoldFully ss)) | FV (fv, uu___, (l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldattr -> @@ -1553,7 +1559,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Syntax_Embeddings.UnfoldAttr ss)) + (FStar_Pervasives.UnfoldAttr ss)) | FV (fv, uu___, (l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldqual -> @@ -1562,7 +1568,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Syntax_Embeddings.UnfoldQual ss)) + (FStar_Pervasives.UnfoldQual ss)) | FV (fv, uu___, (l, uu___1)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldnamespace @@ -1572,7 +1578,7 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = (fun ss -> FStar_Compiler_Effect.op_Less_Bar (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) - (FStar_Syntax_Embeddings.UnfoldNamespace ss)) + (FStar_Pervasives.UnfoldNamespace ss)) | uu___ -> ((let uu___2 = let uu___3 = @@ -1588,7 +1594,8 @@ let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = FStar_Pervasives_Native.None in mkFV uu___1 [] [] in let uu___1 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_norm_step in + FStar_Syntax_Embeddings_Base.emb_typ_of + FStar_Syntax_Embeddings.e_norm_step in mk_emb em un uu___ uu___1 let e_sealed : 'a . 'a embedding -> 'a embedding = fun ea -> diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Normalize.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Normalize.ml index 408aaa4e581..5e765d0aae1 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Normalize.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Normalize.ml @@ -1297,7 +1297,7 @@ let (closure_as_term : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = fun cfg -> fun env1 -> fun t -> non_tail_inline_closure_env cfg env1 t let (unembed_binder_knot : - FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings.embedding + FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings_Base.embedding FStar_Pervasives_Native.option FStar_Compiler_Effect.ref) = FStar_Compiler_Util.mk_ref FStar_Pervasives_Native.None let (unembed_binder : @@ -1308,8 +1308,8 @@ let (unembed_binder : let uu___ = FStar_Compiler_Effect.op_Bang unembed_binder_knot in match uu___ with | FStar_Pervasives_Native.Some e -> - let uu___1 = FStar_Syntax_Embeddings.unembed e t in - uu___1 false FStar_Syntax_Embeddings.id_norm_cb + FStar_Syntax_Embeddings_Base.try_unembed e t + FStar_Syntax_Embeddings_Base.id_norm_cb | FStar_Pervasives_Native.None -> (FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos (FStar_Errors_Codes.Warning_UnembedBinderKnot, @@ -1387,7 +1387,7 @@ let (mk_psc_subst : b_for_x :: subst1) | uu___1 -> subst)) env1 [] let (reduce_primops : - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_TypeChecker_Cfg.cfg -> (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list -> @@ -1554,7 +1554,7 @@ let (reduce_primops : | uu___4 -> tm)) | uu___3 -> tm))) let (reduce_equality : - FStar_Syntax_Embeddings.norm_cb -> + FStar_Syntax_Embeddings_Base.norm_cb -> FStar_TypeChecker_Cfg.cfg -> (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list -> @@ -2677,7 +2677,10 @@ let (should_unfold : "Unexpected unfolding result: %s" uu___3 in FStar_Compiler_Effect.op_Less_Bar failwith uu___2 in (let uu___2 = - (((cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_tac + ((((cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_tac + && + (let uu___3 = FStar_Options.no_plugins () in + Prims.op_Negation uu___3)) && (r <> Should_unfold_no)) && (FStar_Compiler_Util.for_some @@ -5888,8 +5891,8 @@ and (maybe_simplify : else "NOT ") uu___1 uu___2) else (); tm' -and (norm_cb : FStar_TypeChecker_Cfg.cfg -> FStar_Syntax_Embeddings.norm_cb) - = +and (norm_cb : + FStar_TypeChecker_Cfg.cfg -> FStar_Syntax_Embeddings_Base.norm_cb) = fun cfg -> fun uu___ -> match uu___ with @@ -8926,6 +8929,8 @@ let (eta_expand : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -9038,6 +9043,8 @@ let (eta_expand : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Rel.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Rel.ml index fe73dfcd393..8df40492563 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Rel.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Rel.ml @@ -371,6 +371,8 @@ let (copy_uvar : (uu___.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -695,6 +697,8 @@ let (p_env : FStar_TypeChecker_Env.nosynth = (uu___.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (uu___.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (uu___.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (uu___.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -6525,6 +6529,8 @@ and (solve_t_flex_rigid_eq : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -6865,6 +6871,9 @@ and (solve_t_flex_rigid_eq : FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); @@ -10167,26 +10176,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10300,26 +10312,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10433,26 +10448,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10566,26 +10584,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10699,26 +10720,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10832,26 +10856,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -10965,26 +10992,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -11098,26 +11128,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -11231,26 +11264,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -11364,26 +11400,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -11497,26 +11536,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -11630,26 +11672,29 @@ and (solve_t' : tprob -> worklist -> solution) = uu___11 else ()); (let equal t11 t21 = - (let uu___10 = FStar_Syntax_Util.eq_tm t11 t21 in - uu___10 = FStar_Syntax_Util.Equal) || - (let steps = - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in - let env = p_env wl orig in - let t12 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.2" steps - env t11 in - let t22 = - norm_with_steps - "FStar.TypeChecker.Rel.norm_with_steps.3" steps - env t21 in - let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in - uu___10 = FStar_Syntax_Util.Equal) in + let r = FStar_Syntax_Util.eq_tm t11 t21 in + match r with + | FStar_Syntax_Util.Equal -> true + | FStar_Syntax_Util.NotEqual -> false + | FStar_Syntax_Util.Unknown -> + let steps = + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.Eager_unfolding; + FStar_TypeChecker_Env.Iota] in + let env = p_env wl orig in + let t12 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.2" steps + env t11 in + let t22 = + norm_with_steps + "FStar.TypeChecker.Rel.norm_with_steps.3" steps + env t21 in + let uu___10 = FStar_Syntax_Util.eq_tm t12 t22 in + uu___10 = FStar_Syntax_Util.Equal in let uu___10 = ((FStar_TypeChecker_Env.is_interpreted wl.tcenv head1) || (FStar_TypeChecker_Env.is_interpreted wl.tcenv head2)) @@ -14351,6 +14396,8 @@ let (check_implicit_solution_and_discharge_guard : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -14827,6 +14874,8 @@ let (resolve_implicits' : FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Tc.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Tc.ml index 11e21168032..5708665de21 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Tc.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Tc.ml @@ -1,4 +1,32 @@ open Prims +let (sigelt_typ : + FStar_Syntax_Syntax.sigelt -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) + = + fun se -> + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + { FStar_Syntax_Syntax.lid = uu___; FStar_Syntax_Syntax.us = uu___1; + FStar_Syntax_Syntax.params = uu___2; + FStar_Syntax_Syntax.num_uniform_params = uu___3; + FStar_Syntax_Syntax.t = t; FStar_Syntax_Syntax.mutuals = uu___4; + FStar_Syntax_Syntax.ds = uu___5;_} + -> FStar_Pervasives_Native.Some t + | FStar_Syntax_Syntax.Sig_datacon + { FStar_Syntax_Syntax.lid1 = uu___; FStar_Syntax_Syntax.us1 = uu___1; + FStar_Syntax_Syntax.t1 = t; FStar_Syntax_Syntax.ty_lid = uu___2; + FStar_Syntax_Syntax.num_ty_params = uu___3; + FStar_Syntax_Syntax.mutuals1 = uu___4;_} + -> FStar_Pervasives_Native.Some t + | FStar_Syntax_Syntax.Sig_declare_typ + { FStar_Syntax_Syntax.lid2 = uu___; FStar_Syntax_Syntax.us2 = uu___1; + FStar_Syntax_Syntax.t2 = t;_} + -> FStar_Pervasives_Native.Some t + | FStar_Syntax_Syntax.Sig_let + { FStar_Syntax_Syntax.lbs1 = (uu___, lb::uu___1); + FStar_Syntax_Syntax.lids1 = uu___2;_} + -> FStar_Pervasives_Native.Some (lb.FStar_Syntax_Syntax.lbtyp) + | uu___ -> FStar_Pervasives_Native.None let (set_hint_correlator : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> FStar_TypeChecker_Env.env) @@ -8,7 +36,7 @@ let (set_hint_correlator : let tbl = FStar_Compiler_Effect.op_Bar_Greater env.FStar_TypeChecker_Env.qtbl_name_and_index - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.snd in let get_n lid = let n_opt = let uu___ = FStar_Ident.string_of_lid lid in @@ -17,6 +45,11 @@ let (set_hint_correlator : then FStar_Compiler_Effect.op_Bar_Greater n_opt FStar_Compiler_Util.must else Prims.int_zero in + let typ = + let uu___ = sigelt_typ se in + match uu___ with + | FStar_Pervasives_Native.Some t -> t + | uu___1 -> FStar_Syntax_Syntax.tun in let uu___ = FStar_Options.reuse_hint_for () in match uu___ with | FStar_Pervasives_Native.Some l -> @@ -25,9 +58,9 @@ let (set_hint_correlator : FStar_Ident.lid_add_suffix uu___1 l in let uu___1 = let uu___2 = - let uu___3 = let uu___4 = get_n lid in (lid, uu___4) in + let uu___3 = let uu___4 = get_n lid in (lid, typ, uu___4) in FStar_Pervasives_Native.Some uu___3 in - (tbl, uu___2) in + (uu___2, tbl) in { FStar_TypeChecker_Env.solver = (env.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = (env.FStar_TypeChecker_Env.range); @@ -72,6 +105,8 @@ let (set_hint_correlator : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -133,9 +168,9 @@ let (set_hint_correlator : | l::uu___1 -> l in let uu___1 = let uu___2 = - let uu___3 = let uu___4 = get_n lid in (lid, uu___4) in + let uu___3 = let uu___4 = get_n lid in (lid, typ, uu___4) in FStar_Pervasives_Native.Some uu___3 in - (tbl, uu___2) in + (uu___2, tbl) in { FStar_TypeChecker_Env.solver = (env.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = (env.FStar_TypeChecker_Env.range); @@ -180,6 +215,8 @@ let (set_hint_correlator : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -703,10 +740,9 @@ let proc_check_with : | FStar_Pervasives_Native.Some ((a1, FStar_Pervasives_Native.None)::[]) -> let uu___1 = - let uu___2 = - FStar_Syntax_Embeddings.unembed - FStar_Syntax_Embeddings.e_vconfig a1 in - uu___2 true FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings_Base.unembed + FStar_Syntax_Embeddings.e_vconfig a1 + FStar_Syntax_Embeddings_Base.id_norm_cb in (match uu___1 with | FStar_Pervasives_Native.None -> failwith "nah" | FStar_Pervasives_Native.Some vcfg -> @@ -1156,6 +1192,8 @@ let (tc_sig_let : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1371,6 +1409,8 @@ let (tc_sig_let : FStar_TypeChecker_Env.uvar_subtyping = (env'.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env'.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env'.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -1531,9 +1571,39 @@ let (tc_sig_let : FStar_Syntax_Syntax.lbpos = (lb.FStar_Syntax_Syntax.lbpos) } in + let env'1 = + let uu___4 = + let uu___5 = FStar_Syntax_Subst.compress e1 in + uu___5.FStar_Syntax_Syntax.n in + match uu___4 with + | FStar_Syntax_Syntax.Tm_let + { FStar_Syntax_Syntax.lbs = lbs1; + FStar_Syntax_Syntax.body1 = uu___5;_} + -> + let se3 = + { + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_let + { + FStar_Syntax_Syntax.lbs1 = lbs1; + FStar_Syntax_Syntax.lids1 = lids + }); + FStar_Syntax_Syntax.sigrng = + (se2.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = + (se2.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta = + (se2.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = + (se2.FStar_Syntax_Syntax.sigattrs); + FStar_Syntax_Syntax.sigopts = + (se2.FStar_Syntax_Syntax.sigopts) + } in + set_hint_correlator env' se3 + | uu___5 -> failwith "no way, not a let?" in let r1 = let should_generalize1 = - let uu___4 = do_two_phases env' in + let uu___4 = do_two_phases env'1 in Prims.op_Negation uu___4 in let uu___4 = let uu___5 = @@ -1546,115 +1616,117 @@ let (tc_sig_let : FStar_TypeChecker_TcTerm.tc_maybe_toplevel_term { FStar_TypeChecker_Env.solver = - (env'.FStar_TypeChecker_Env.solver); + (env'1.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (env'.FStar_TypeChecker_Env.range); + (env'1.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (env'.FStar_TypeChecker_Env.curmodule); + (env'1.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (env'.FStar_TypeChecker_Env.gamma); + (env'1.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (env'.FStar_TypeChecker_Env.gamma_sig); + (env'1.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (env'.FStar_TypeChecker_Env.gamma_cache); + (env'1.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (env'.FStar_TypeChecker_Env.modules); + (env'1.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (env'.FStar_TypeChecker_Env.expected_typ); + (env'1.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (env'.FStar_TypeChecker_Env.sigtab); + (env'1.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (env'.FStar_TypeChecker_Env.attrtab); + (env'1.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.instantiate_imp = - (env'.FStar_TypeChecker_Env.instantiate_imp); + (env'1.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (env'.FStar_TypeChecker_Env.effects); + (env'1.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = should_generalize1; FStar_TypeChecker_Env.letrecs = - (env'.FStar_TypeChecker_Env.letrecs); + (env'1.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (env'.FStar_TypeChecker_Env.top_level); + (env'1.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (env'.FStar_TypeChecker_Env.check_uvars); + (env'1.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq_strict = - (env'.FStar_TypeChecker_Env.use_eq_strict); + (env'1.FStar_TypeChecker_Env.use_eq_strict); FStar_TypeChecker_Env.is_iface = - (env'.FStar_TypeChecker_Env.is_iface); + (env'1.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (env'.FStar_TypeChecker_Env.admit); + (env'1.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (env'.FStar_TypeChecker_Env.lax); + (env'1.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (env'.FStar_TypeChecker_Env.lax_universes); + (env'1.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (env'.FStar_TypeChecker_Env.phase1); + (env'1.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (env'.FStar_TypeChecker_Env.failhard); + (env'1.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (env'.FStar_TypeChecker_Env.nosynth); + (env'1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (env'.FStar_TypeChecker_Env.uvar_subtyping); + (env'1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env'1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = - (env'.FStar_TypeChecker_Env.tc_term); + (env'1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = - (env'.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + (env'1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); FStar_TypeChecker_Env.universe_of = - (env'.FStar_TypeChecker_Env.universe_of); + (env'1.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = - (env'.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + (env'1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); FStar_TypeChecker_Env.teq_nosmt_force = - (env'.FStar_TypeChecker_Env.teq_nosmt_force); + (env'1.FStar_TypeChecker_Env.teq_nosmt_force); FStar_TypeChecker_Env.subtype_nosmt_force = - (env'.FStar_TypeChecker_Env.subtype_nosmt_force); + (env'1.FStar_TypeChecker_Env.subtype_nosmt_force); FStar_TypeChecker_Env.qtbl_name_and_index = - (env'.FStar_TypeChecker_Env.qtbl_name_and_index); + (env'1.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (env'.FStar_TypeChecker_Env.normalized_eff_names); + (env'1.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (env'.FStar_TypeChecker_Env.fv_delta_depths); + (env'1.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (env'.FStar_TypeChecker_Env.proof_ns); + (env'1.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (env'.FStar_TypeChecker_Env.synth_hook); + (env'1.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.try_solve_implicits_hook = - (env'.FStar_TypeChecker_Env.try_solve_implicits_hook); + (env'1.FStar_TypeChecker_Env.try_solve_implicits_hook); FStar_TypeChecker_Env.splice = - (env'.FStar_TypeChecker_Env.splice); + (env'1.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.mpreprocess = - (env'.FStar_TypeChecker_Env.mpreprocess); + (env'1.FStar_TypeChecker_Env.mpreprocess); FStar_TypeChecker_Env.postprocess = - (env'.FStar_TypeChecker_Env.postprocess); + (env'1.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.identifier_info = - (env'.FStar_TypeChecker_Env.identifier_info); + (env'1.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (env'.FStar_TypeChecker_Env.tc_hooks); + (env'1.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (env'.FStar_TypeChecker_Env.dsenv); + (env'1.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (env'.FStar_TypeChecker_Env.nbe); + (env'1.FStar_TypeChecker_Env.nbe); FStar_TypeChecker_Env.strict_args_tab = - (env'.FStar_TypeChecker_Env.strict_args_tab); + (env'1.FStar_TypeChecker_Env.strict_args_tab); FStar_TypeChecker_Env.erasable_types_tab = - (env'.FStar_TypeChecker_Env.erasable_types_tab); + (env'1.FStar_TypeChecker_Env.erasable_types_tab); FStar_TypeChecker_Env.enable_defer_to_tac = - (env'.FStar_TypeChecker_Env.enable_defer_to_tac); + (env'1.FStar_TypeChecker_Env.enable_defer_to_tac); FStar_TypeChecker_Env.unif_allow_ref_guards = - (env'.FStar_TypeChecker_Env.unif_allow_ref_guards); + (env'1.FStar_TypeChecker_Env.unif_allow_ref_guards); FStar_TypeChecker_Env.erase_erasable_args = - (env'.FStar_TypeChecker_Env.erase_erasable_args); + (env'1.FStar_TypeChecker_Env.erase_erasable_args); FStar_TypeChecker_Env.core_check = - (env'.FStar_TypeChecker_Env.core_check) + (env'1.FStar_TypeChecker_Env.core_check) } e1) uu___4 "FStar.TypeChecker.Tc.tc_sig_let-tc-phase2" in let uu___4 = @@ -1730,124 +1802,126 @@ let (tc_sig_let : FStar_Parser_Const.no_subtping_attr_lid in if uu___6 then - let env'1 = + let env'2 = { FStar_TypeChecker_Env.solver = - (env'.FStar_TypeChecker_Env.solver); + (env'1.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (env'.FStar_TypeChecker_Env.range); + (env'1.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (env'.FStar_TypeChecker_Env.curmodule); + (env'1.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (env'.FStar_TypeChecker_Env.gamma); + (env'1.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (env'.FStar_TypeChecker_Env.gamma_sig); + (env'1.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (env'.FStar_TypeChecker_Env.gamma_cache); + (env'1.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (env'.FStar_TypeChecker_Env.modules); + (env'1.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (env'.FStar_TypeChecker_Env.expected_typ); + (env'1.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (env'.FStar_TypeChecker_Env.sigtab); + (env'1.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (env'.FStar_TypeChecker_Env.attrtab); + (env'1.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.instantiate_imp = - (env'.FStar_TypeChecker_Env.instantiate_imp); + (env'1.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (env'.FStar_TypeChecker_Env.effects); + (env'1.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (env'.FStar_TypeChecker_Env.generalize); + (env'1.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (env'.FStar_TypeChecker_Env.letrecs); + (env'1.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (env'.FStar_TypeChecker_Env.top_level); + (env'1.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (env'.FStar_TypeChecker_Env.check_uvars); + (env'1.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq_strict = true; FStar_TypeChecker_Env.is_iface = - (env'.FStar_TypeChecker_Env.is_iface); + (env'1.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (env'.FStar_TypeChecker_Env.admit); + (env'1.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (env'.FStar_TypeChecker_Env.lax); + (env'1.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (env'.FStar_TypeChecker_Env.lax_universes); + (env'1.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (env'.FStar_TypeChecker_Env.phase1); + (env'1.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (env'.FStar_TypeChecker_Env.failhard); + (env'1.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (env'.FStar_TypeChecker_Env.nosynth); + (env'1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (env'.FStar_TypeChecker_Env.uvar_subtyping); + (env'1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env'1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = - (env'.FStar_TypeChecker_Env.tc_term); + (env'1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = - (env'.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + (env'1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); FStar_TypeChecker_Env.universe_of = - (env'.FStar_TypeChecker_Env.universe_of); + (env'1.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term = - (env'.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + (env'1.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); FStar_TypeChecker_Env.teq_nosmt_force = - (env'.FStar_TypeChecker_Env.teq_nosmt_force); + (env'1.FStar_TypeChecker_Env.teq_nosmt_force); FStar_TypeChecker_Env.subtype_nosmt_force = - (env'.FStar_TypeChecker_Env.subtype_nosmt_force); + (env'1.FStar_TypeChecker_Env.subtype_nosmt_force); FStar_TypeChecker_Env.qtbl_name_and_index = - (env'.FStar_TypeChecker_Env.qtbl_name_and_index); + (env'1.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (env'.FStar_TypeChecker_Env.normalized_eff_names); + (env'1.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (env'.FStar_TypeChecker_Env.fv_delta_depths); + (env'1.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (env'.FStar_TypeChecker_Env.proof_ns); + (env'1.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (env'.FStar_TypeChecker_Env.synth_hook); + (env'1.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.try_solve_implicits_hook = - (env'.FStar_TypeChecker_Env.try_solve_implicits_hook); + (env'1.FStar_TypeChecker_Env.try_solve_implicits_hook); FStar_TypeChecker_Env.splice = - (env'.FStar_TypeChecker_Env.splice); + (env'1.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.mpreprocess = - (env'.FStar_TypeChecker_Env.mpreprocess); + (env'1.FStar_TypeChecker_Env.mpreprocess); FStar_TypeChecker_Env.postprocess = - (env'.FStar_TypeChecker_Env.postprocess); + (env'1.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.identifier_info = - (env'.FStar_TypeChecker_Env.identifier_info); + (env'1.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (env'.FStar_TypeChecker_Env.tc_hooks); + (env'1.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (env'.FStar_TypeChecker_Env.dsenv); + (env'1.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (env'.FStar_TypeChecker_Env.nbe); + (env'1.FStar_TypeChecker_Env.nbe); FStar_TypeChecker_Env.strict_args_tab = - (env'.FStar_TypeChecker_Env.strict_args_tab); + (env'1.FStar_TypeChecker_Env.strict_args_tab); FStar_TypeChecker_Env.erasable_types_tab = - (env'.FStar_TypeChecker_Env.erasable_types_tab); + (env'1.FStar_TypeChecker_Env.erasable_types_tab); FStar_TypeChecker_Env.enable_defer_to_tac = - (env'.FStar_TypeChecker_Env.enable_defer_to_tac); + (env'1.FStar_TypeChecker_Env.enable_defer_to_tac); FStar_TypeChecker_Env.unif_allow_ref_guards = - (env'.FStar_TypeChecker_Env.unif_allow_ref_guards); + (env'1.FStar_TypeChecker_Env.unif_allow_ref_guards); FStar_TypeChecker_Env.erase_erasable_args = - (env'.FStar_TypeChecker_Env.erase_erasable_args); + (env'1.FStar_TypeChecker_Env.erase_erasable_args); FStar_TypeChecker_Env.core_check = - (env'.FStar_TypeChecker_Env.core_check) + (env'1.FStar_TypeChecker_Env.core_check) } in let err s pos = FStar_Errors.raise_error @@ -1931,7 +2005,7 @@ let (tc_sig_let : let uu___14 = let uu___15 = FStar_TypeChecker_Env.push_univ_vars - env'1 uvs in + env'2 uvs in FStar_TypeChecker_TcTerm.tc_check_tot_or_gtot_term uu___15 lbtyp t @@ -1941,7 +2015,7 @@ let (tc_sig_let : | (uu___15, uu___16, g) -> FStar_TypeChecker_Rel.force_trivial_guard - env'1 g)))))) + env'2 g)))))) else ()); FStar_Compiler_Effect.op_Bar_Greater (FStar_Pervasives_Native.snd lbs1) @@ -2088,6 +2162,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -2298,6 +2374,8 @@ let (tc_decl' : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -2574,6 +2652,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -2792,6 +2872,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -3013,6 +3095,8 @@ let (tc_decl' : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -3189,6 +3273,8 @@ let (tc_decl' : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -3387,6 +3473,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -3531,6 +3619,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -3769,6 +3859,8 @@ let (tc_decl' : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -4083,6 +4175,8 @@ let (add_sigelt_to_env : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4191,6 +4285,8 @@ let (add_sigelt_to_env : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4299,6 +4395,8 @@ let (add_sigelt_to_env : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4407,6 +4505,8 @@ let (add_sigelt_to_env : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4518,6 +4618,28 @@ let (add_sigelt_to_env : FStar_TypeChecker_Env.add_polymonadic_subcomp env1 m n uu___3 | uu___2 -> env1)) +let (compress_and_norm : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) + = + fun env -> + fun t -> + let uu___ = FStar_Syntax_Compress.deep_compress_if_no_uvars t in + match uu___ with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some t1 -> + let uu___1 = + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.AllowUnboundUniverses; + FStar_TypeChecker_Env.CheckNoUvars; + FStar_TypeChecker_Env.Beta; + FStar_TypeChecker_Env.DoNotUnfoldPureLets; + FStar_TypeChecker_Env.CompressUvars; + FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; + FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Iota; + FStar_TypeChecker_Env.NoFullNorm] env t1 in + FStar_Pervasives_Native.Some uu___1 let (tc_decls : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt Prims.list -> @@ -4595,38 +4717,8 @@ let (tc_decls : uu___9 else ()); FStar_TypeChecker_Normalize.elim_uvars env2 se1)) in - ((let uu___8 = - let uu___9 = - let uu___10 = - FStar_TypeChecker_Env.current_module env2 in - FStar_Ident.string_of_lid uu___10 in - FStar_Pervasives_Native.Some uu___9 in - FStar_Profiling.profile - (fun uu___9 -> - FStar_TypeChecker_Env.promote_id_info env2 - (fun t -> - (let uu___11 = - FStar_TypeChecker_Env.debug env2 - (FStar_Options.Other "UF") in - if uu___11 - then - let uu___12 = - FStar_Syntax_Print.term_to_string t in - FStar_Compiler_Util.print1 - "check uvars %s\n" uu___12 - else ()); - FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.AllowUnboundUniverses; - FStar_TypeChecker_Env.CheckNoUvars; - FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.DoNotUnfoldPureLets; - FStar_TypeChecker_Env.CompressUvars; - FStar_TypeChecker_Env.Exclude - FStar_TypeChecker_Env.Zeta; - FStar_TypeChecker_Env.Exclude - FStar_TypeChecker_Env.Iota; - FStar_TypeChecker_Env.NoFullNorm] env2 t)) - uu___8 "FStar.TypeChecker.Tc.chec_uvars"); + (FStar_TypeChecker_Env.promote_id_info env2 + (compress_and_norm env2); (let ses'2 = FStar_Compiler_Effect.op_Bar_Greater ses'1 (FStar_Compiler_List.map @@ -4678,9 +4770,7 @@ let (tc_decls : | (uu___2, env1) -> let r = let uu___3 = - let uu___4 = - let uu___5 = FStar_TypeChecker_Env.current_module env1 in - FStar_Ident.string_of_lid uu___5 in + let uu___4 = FStar_Syntax_Print.sigelt_to_string_short se in FStar_Pervasives_Native.Some uu___4 in FStar_Profiling.profile (fun uu___4 -> process_one_decl acc se) uu___3 @@ -4706,7 +4796,7 @@ let (tc_decls : ([], env) ses) in match uu___ with | (ses1, env1) -> ((FStar_Compiler_List.rev_append ses1 []), env1) -let (uu___875 : unit) = +let (uu___904 : unit) = FStar_Compiler_Effect.op_Colon_Equals tc_decls_knot (FStar_Pervasives_Native.Some tc_decls) let (snapshot_context : @@ -4818,6 +4908,8 @@ let (tc_partial_modul : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4932,7 +5024,7 @@ let (finish_partial_modul : (let uu___1 = FStar_Compiler_Effect.op_Bar_Greater env.FStar_TypeChecker_Env.qtbl_name_and_index - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.snd in FStar_Compiler_Effect.op_Bar_Greater uu___1 FStar_Compiler_Util.smap_clear); (let uu___2 = @@ -5080,6 +5172,8 @@ let (check_module : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcEffect.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcEffect.ml index a8e102b2b88..e58fc6f8330 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcEffect.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcEffect.ml @@ -3413,6 +3413,220 @@ let (validate_indexed_effect_ite_shape : uu___6 else ()); (k1, kind))))) +let (validate_indexed_effect_close_shape : + FStar_TypeChecker_Env.env -> + FStar_Ident.lident -> + FStar_Syntax_Syntax.tscheme -> + FStar_Syntax_Syntax.tscheme -> + FStar_Syntax_Syntax.univ_name -> + FStar_Syntax_Syntax.univ_name -> + FStar_Syntax_Syntax.term -> + Prims.int -> + FStar_Compiler_Range_Type.range -> FStar_Syntax_Syntax.term) + = + fun env -> + fun eff_name -> + fun sig_ts -> + fun repr_ts -> + fun u_a -> + fun u_b -> + fun close_tm -> + fun num_effect_params -> + fun r -> + let close_name = + let uu___ = FStar_Ident.string_of_lid eff_name in + FStar_Compiler_Util.format1 "close_%s" uu___ in + let b_b = + let uu___ = + let uu___1 = + let uu___2 = + FStar_Compiler_Effect.op_Bar_Greater u_b + (fun uu___3 -> + FStar_Syntax_Syntax.U_name uu___3) in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + FStar_Syntax_Util.type_with_u in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + (FStar_Syntax_Syntax.gen_bv "b" + FStar_Pervasives_Native.None) in + FStar_Compiler_Effect.op_Bar_Greater uu___ + FStar_Syntax_Syntax.mk_binder in + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + FStar_TypeChecker_Env.inst_tscheme_with sig_ts + [FStar_Syntax_Syntax.U_name u_a] in + FStar_Compiler_Effect.op_Bar_Greater uu___3 + FStar_Pervasives_Native.snd in + FStar_Compiler_Effect.op_Bar_Greater uu___2 + FStar_Syntax_Util.arrow_formals in + FStar_Compiler_Effect.op_Bar_Greater uu___1 + FStar_Pervasives_Native.fst in + match uu___ with + | a_b::sig_bs -> + let uu___1 = + FStar_Compiler_List.splitAt num_effect_params + sig_bs in + (match uu___1 with + | (eff_params_bs, sig_bs1) -> + let bs = + FStar_Compiler_List.map + (fun b -> + let x_b = + let uu___2 = + let uu___3 = + FStar_Syntax_Syntax.bv_to_name + b_b.FStar_Syntax_Syntax.binder_bv in + FStar_Syntax_Syntax.gen_bv "x" + FStar_Pervasives_Native.None uu___3 in + FStar_Compiler_Effect.op_Bar_Greater + uu___2 FStar_Syntax_Syntax.mk_binder in + let uu___2 = + let uu___3 = + b.FStar_Syntax_Syntax.binder_bv in + let uu___4 = + let uu___5 = + FStar_Syntax_Syntax.mk_Total + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort in + FStar_Syntax_Util.arrow [x_b] uu___5 in + { + FStar_Syntax_Syntax.ppname = + (uu___3.FStar_Syntax_Syntax.ppname); + FStar_Syntax_Syntax.index = + (uu___3.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu___4 + } in + { + FStar_Syntax_Syntax.binder_bv = uu___2; + FStar_Syntax_Syntax.binder_qual = + (b.FStar_Syntax_Syntax.binder_qual); + FStar_Syntax_Syntax.binder_positivity = + (b.FStar_Syntax_Syntax.binder_positivity); + FStar_Syntax_Syntax.binder_attrs = + (b.FStar_Syntax_Syntax.binder_attrs) + }) sig_bs1 in + let f_b = + let uu___2 = + FStar_TypeChecker_Env.inst_tscheme_with + repr_ts [FStar_Syntax_Syntax.U_name u_a] in + match uu___2 with + | (uu___3, repr_t) -> + let x_b = + let uu___4 = + let uu___5 = + FStar_Syntax_Syntax.bv_to_name + b_b.FStar_Syntax_Syntax.binder_bv in + FStar_Syntax_Syntax.gen_bv "x" + FStar_Pervasives_Native.None uu___5 in + FStar_Compiler_Effect.op_Bar_Greater + uu___4 FStar_Syntax_Syntax.mk_binder in + let is_args = + FStar_Compiler_List.map + (fun uu___4 -> + match uu___4 with + | { + FStar_Syntax_Syntax.binder_bv = + binder_bv; + FStar_Syntax_Syntax.binder_qual + = uu___5; + FStar_Syntax_Syntax.binder_positivity + = uu___6; + FStar_Syntax_Syntax.binder_attrs + = uu___7;_} + -> + let uu___8 = + let uu___9 = + FStar_Syntax_Syntax.bv_to_name + binder_bv in + let uu___10 = + let uu___11 = + let uu___12 = + FStar_Compiler_Effect.op_Bar_Greater + x_b.FStar_Syntax_Syntax.binder_bv + FStar_Syntax_Syntax.bv_to_name in + FStar_Compiler_Effect.op_Bar_Greater + uu___12 + FStar_Syntax_Syntax.as_arg in + [uu___11] in + FStar_Syntax_Syntax.mk_Tm_app + uu___9 uu___10 + FStar_Compiler_Range_Type.dummyRange in + FStar_Compiler_Effect.op_Bar_Greater + uu___8 + FStar_Syntax_Syntax.as_arg) + bs in + let repr_app = + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Compiler_Effect.op_Bar_Greater + a_b.FStar_Syntax_Syntax.binder_bv + FStar_Syntax_Syntax.bv_to_name in + FStar_Compiler_Effect.op_Bar_Greater + uu___6 FStar_Syntax_Syntax.as_arg in + uu___5 :: is_args in + FStar_Syntax_Syntax.mk_Tm_app repr_t + uu___4 + FStar_Compiler_Range_Type.dummyRange in + let f_sort = + let uu___4 = + FStar_Syntax_Syntax.mk_Total repr_app in + FStar_Syntax_Util.arrow [x_b] uu___4 in + let uu___4 = + FStar_Syntax_Syntax.gen_bv "f" + FStar_Pervasives_Native.None f_sort in + FStar_Compiler_Effect.op_Bar_Greater + uu___4 FStar_Syntax_Syntax.mk_binder in + let env1 = + FStar_TypeChecker_Env.push_binders env (a_b :: + b_b :: + (FStar_Compiler_List.op_At eff_params_bs bs)) in + let uu___2 = + let uu___3 = + FStar_Compiler_Effect.op_Bar_Greater + a_b.FStar_Syntax_Syntax.binder_bv + FStar_Syntax_Syntax.bv_to_name in + FStar_TypeChecker_Util.fresh_effect_repr env1 + r eff_name sig_ts + (FStar_Pervasives_Native.Some repr_ts) + (FStar_Syntax_Syntax.U_name u_a) uu___3 in + (match uu___2 with + | (body_tm, g_body) -> + let k = + FStar_Syntax_Util.abs (a_b :: b_b :: + (FStar_Compiler_List.op_At + eff_params_bs + (FStar_Compiler_List.op_At bs [f_b]))) + body_tm FStar_Pervasives_Native.None in + let g_eq = + let uu___3 = + FStar_TypeChecker_Rel.teq_nosmt env1 + close_tm k in + match uu___3 with + | FStar_Pervasives_Native.None -> + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Syntax_Print.term_to_string + close_tm in + FStar_Compiler_Util.format2 + "Unexpected term for %s (%s)\n" + close_name uu___6 in + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + uu___5) in + FStar_Errors.raise_error uu___4 r + | FStar_Pervasives_Native.Some g -> g in + ((let uu___4 = + FStar_TypeChecker_Env.conj_guard g_body + g_eq in + FStar_TypeChecker_Rel.force_trivial_guard + env1 uu___4); + (let uu___4 = + FStar_Compiler_Effect.op_Bar_Greater k + (FStar_TypeChecker_Normalize.remove_uvar_solutions + env1) in + FStar_Compiler_Effect.op_Bar_Greater + uu___4 FStar_Syntax_Subst.compress)))) let (lift_combinator_kind : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> @@ -5251,346 +5465,735 @@ let (tc_layered_eff_decl : env1 (g_b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort ite_soundness_tac_attr)))))); - (let tc_action env act = - let env01 = env in - let r = - (act.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in - if - (FStar_Compiler_List.length - act.FStar_Syntax_Syntax.action_params) - <> Prims.int_zero - then - (let uu___15 = - let uu___16 = - let uu___17 = - FStar_Ident.string_of_lid - ed.FStar_Syntax_Syntax.mname in - let uu___18 = - FStar_Ident.string_of_lid - act.FStar_Syntax_Syntax.action_name in - let uu___19 = - FStar_Syntax_Print.binders_to_string - "; " - act.FStar_Syntax_Syntax.action_params in - FStar_Compiler_Util.format3 - "Action %s:%s has non-empty action params (%s)" - uu___17 uu___18 uu___19 in - (FStar_Errors_Codes.Fatal_MalformedActionDeclaration, - uu___16) in - FStar_Errors.raise_error - uu___15 r) - else (); - (let uu___15 = - let uu___16 = - FStar_Syntax_Subst.univ_var_opening - act.FStar_Syntax_Syntax.action_univs in - match uu___16 with - | (usubst, us) -> - let uu___17 = - FStar_TypeChecker_Env.push_univ_vars - env us in - let uu___18 = - let uu___19 = - FStar_Syntax_Subst.subst - usubst - act.FStar_Syntax_Syntax.action_defn in - let uu___20 = - FStar_Syntax_Subst.subst - usubst - act.FStar_Syntax_Syntax.action_typ in - { - FStar_Syntax_Syntax.action_name - = - (act.FStar_Syntax_Syntax.action_name); - FStar_Syntax_Syntax.action_unqualified_name - = - (act.FStar_Syntax_Syntax.action_unqualified_name); - FStar_Syntax_Syntax.action_univs - = us; - FStar_Syntax_Syntax.action_params - = - (act.FStar_Syntax_Syntax.action_params); - FStar_Syntax_Syntax.action_defn - = uu___19; - FStar_Syntax_Syntax.action_typ - = uu___20 - } in - (uu___17, uu___18) in - match uu___15 with - | (env1, act1) -> - let act_typ = - let uu___16 = - let uu___17 = - FStar_Syntax_Subst.compress - act1.FStar_Syntax_Syntax.action_typ in - uu___17.FStar_Syntax_Syntax.n in - match uu___16 with - | FStar_Syntax_Syntax.Tm_arrow - { - FStar_Syntax_Syntax.bs1 - = bs; - FStar_Syntax_Syntax.comp - = c;_} + (let close_ = + let ts_opt = + FStar_Compiler_Effect.op_Bar_Greater + ed + FStar_Syntax_Util.get_layered_close_combinator in + match ts_opt with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some + close_ts -> + let r = + (FStar_Pervasives_Native.snd + close_ts).FStar_Syntax_Syntax.pos in + let uu___14 = + check_and_gen1 "close" + (Prims.of_int (2)) + close_ts in + (match uu___14 with + | (close_us, close_t, + close_ty) -> + let uu___15 = + FStar_Syntax_Subst.open_univ_vars + close_us close_t in + (match uu___15 with + | (us, t) -> + let env = + FStar_TypeChecker_Env.push_univ_vars + env0 us in + let k = + let sig_ts = + let uu___16 = + signature in + match uu___16 + with + | (us1, t1, + uu___17) -> + (us1, t1) in + let repr_ts = + let uu___16 = + repr in + match uu___16 + with + | (us1, t1, + uu___17) -> + (us1, t1) in + let uu___16 = us in + match uu___16 + with + | u_a::u_b::[] -> + validate_indexed_effect_close_shape + env + ed.FStar_Syntax_Syntax.mname + sig_ts + repr_ts u_a + u_b t + num_effect_params + r in + let uu___16 = + let uu___17 = + FStar_Compiler_Effect.op_Bar_Greater + k + (FStar_Syntax_Subst.close_univ_vars + close_us) in + (close_us, + uu___17, + close_ty) in + FStar_Pervasives_Native.Some + uu___16)) in + (match close_ with + | FStar_Pervasives_Native.None -> + () + | FStar_Pervasives_Native.Some + close_1 -> + let uu___14 = close_1 in + (match uu___14 with + | (us, close_tm, uu___15) -> + let r = + close_tm.FStar_Syntax_Syntax.pos in + ((let supported_subcomp = + match subcomp_kind + with + | FStar_Syntax_Syntax.Substitutive_combinator + l -> + Prims.op_Negation + (FStar_Compiler_List.contains + FStar_Syntax_Syntax.Ad_hoc_binder + l) + | uu___17 -> false in + if + Prims.op_Negation + supported_subcomp + then + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + "close combinator is only allowed for effects with substitutive subcomp") + r + else ()); + (let uu___17 = + FStar_Syntax_Subst.open_univ_vars + us close_tm in + match uu___17 with + | (us1, close_tm1) -> + let uu___18 = + FStar_Syntax_Util.abs_formals + close_tm1 in + (match uu___18 with + | (close_bs, + close_body, + uu___19) -> + let uu___20 = + close_bs in + (match uu___20 + with + | a_b::b_b::close_bs1 + -> + let uu___21 + = + FStar_Compiler_List.splitAt + ((FStar_Compiler_List.length + close_bs1) + - + Prims.int_one) + close_bs1 in + (match uu___21 + with + | + (is_bs, + uu___22) + -> + let x_bv + = + let uu___23 + = + FStar_Syntax_Syntax.bv_to_name + b_b.FStar_Syntax_Syntax.binder_bv in + FStar_Syntax_Syntax.gen_bv + "x" + FStar_Pervasives_Native.None + uu___23 in + let args1 + = + FStar_Compiler_List.map + (fun i_b + -> + let uu___23 + = + FStar_Syntax_Syntax.bv_to_name + i_b.FStar_Syntax_Syntax.binder_bv in + let uu___24 + = + let uu___25 + = + let uu___26 + = + FStar_Syntax_Syntax.bv_to_name + x_bv in + FStar_Syntax_Syntax.as_arg + uu___26 in + [uu___25] in + FStar_Syntax_Syntax.mk_Tm_app + uu___23 + uu___24 r) + is_bs in + let args2 + = + let uu___23 + = + let uu___24 + = + FStar_Syntax_Subst.compress + close_body in + uu___24.FStar_Syntax_Syntax.n in + match uu___23 + with + | + FStar_Syntax_Syntax.Tm_app + { + FStar_Syntax_Syntax.hd + = uu___24; + FStar_Syntax_Syntax.args + = a::args;_} + -> + FStar_Compiler_Effect.op_Bar_Greater + args + (FStar_Compiler_List.map + FStar_Pervasives_Native.fst) + | + uu___24 + -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + "close combinator body not a repr") + r in + let env = + let uu___23 + = + let uu___24 + = + let uu___25 + = + FStar_Compiler_Effect.op_Bar_Greater + x_bv + FStar_Syntax_Syntax.mk_binder in + [uu___25] in + FStar_Compiler_List.op_At + (a_b :: + b_b :: + is_bs) + uu___24 in + FStar_TypeChecker_Env.push_binders + env0 + uu___23 in + let subcomp_ts + = + let uu___23 + = + stronger_repr in + match uu___23 + with + | + (us2, + uu___24, + t) -> + (us2, t) in + let uu___23 + = + let uu___24 + = + let uu___25 + = + let uu___26 + = + FStar_Compiler_List.hd + us1 in + FStar_Compiler_Effect.op_Bar_Greater + uu___26 + (fun + uu___27 + -> + FStar_Syntax_Syntax.U_name + uu___27) in + [uu___25] in + FStar_TypeChecker_Env.inst_tscheme_with + subcomp_ts + uu___24 in + (match uu___23 + with + | + (uu___24, + subcomp_t) + -> + let uu___25 + = + FStar_Syntax_Util.arrow_formals_comp + subcomp_t in + (match uu___25 + with + | + (a_b_subcomp::subcomp_bs, + subcomp_c) + -> + let subcomp_substs + = + let uu___26 + = + let uu___27 + = + let uu___28 + = + FStar_Compiler_Effect.op_Bar_Greater + a_b.FStar_Syntax_Syntax.binder_bv + FStar_Syntax_Syntax.bv_to_name in + ((a_b_subcomp.FStar_Syntax_Syntax.binder_bv), + uu___28) in + FStar_Syntax_Syntax.NT + uu___27 in + [uu___26] in + let uu___26 + = + FStar_Compiler_List.splitAt + (FStar_Compiler_List.length + args1) + subcomp_bs in + (match uu___26 + with + | + (subcomp_f_bs, + subcomp_bs1) + -> + let subcomp_substs1 + = + let uu___27 + = + FStar_Compiler_List.map2 + (fun b -> + fun arg1 + -> + FStar_Syntax_Syntax.NT + ((b.FStar_Syntax_Syntax.binder_bv), + arg1)) + subcomp_f_bs + args1 in + FStar_Compiler_List.op_At + subcomp_substs + uu___27 in + let uu___27 + = + FStar_Compiler_List.splitAt + (FStar_Compiler_List.length + args2) + subcomp_bs1 in + (match uu___27 + with + | + (subcomp_g_bs, + uu___28) + -> + let subcomp_substs2 + = + let uu___29 + = + FStar_Compiler_List.map2 + (fun b -> + fun arg2 + -> + FStar_Syntax_Syntax.NT + ((b.FStar_Syntax_Syntax.binder_bv), + arg2)) + subcomp_g_bs + args2 in + FStar_Compiler_List.op_At + subcomp_substs1 + uu___29 in + let subcomp_c1 + = + let uu___29 + = + FStar_Syntax_Subst.subst_comp + subcomp_substs2 + subcomp_c in + FStar_Compiler_Effect.op_Bar_Greater + uu___29 + (FStar_TypeChecker_Env.unfold_effect_abbrev + env) in + let fml = + let uu___29 + = + FStar_Compiler_List.hd + subcomp_c1.FStar_Syntax_Syntax.comp_univs in + let uu___30 + = + let uu___31 + = + FStar_Compiler_Effect.op_Bar_Greater + subcomp_c1.FStar_Syntax_Syntax.effect_args + FStar_Compiler_List.hd in + FStar_Compiler_Effect.op_Bar_Greater + uu___31 + FStar_Pervasives_Native.fst in + FStar_TypeChecker_Env.pure_precondition_for_trivial_post + env + uu___29 + subcomp_c1.FStar_Syntax_Syntax.result_typ + uu___30 r in + let uu___29 + = + let uu___30 + = + FStar_Compiler_Effect.op_Bar_Greater + fml + (fun + uu___31 + -> + FStar_TypeChecker_Common.NonTrivial + uu___31) in + FStar_Compiler_Effect.op_Bar_Greater + uu___30 + FStar_TypeChecker_Env.guard_of_guard_formula in + FStar_TypeChecker_Rel.force_trivial_guard + env + uu___29))))))))))); + (let tc_action env act = + let env01 = env in + let r = + (act.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + if + (FStar_Compiler_List.length + act.FStar_Syntax_Syntax.action_params) + <> Prims.int_zero + then + (let uu___15 = + let uu___16 = + let uu___17 = + FStar_Ident.string_of_lid + ed.FStar_Syntax_Syntax.mname in + let uu___18 = + FStar_Ident.string_of_lid + act.FStar_Syntax_Syntax.action_name in + let uu___19 = + FStar_Syntax_Print.binders_to_string + "; " + act.FStar_Syntax_Syntax.action_params in + FStar_Compiler_Util.format3 + "Action %s:%s has non-empty action params (%s)" + uu___17 uu___18 uu___19 in + (FStar_Errors_Codes.Fatal_MalformedActionDeclaration, + uu___16) in + FStar_Errors.raise_error + uu___15 r) + else (); + (let uu___15 = + let uu___16 = + FStar_Syntax_Subst.univ_var_opening + act.FStar_Syntax_Syntax.action_univs in + match uu___16 with + | (usubst, us) -> + let uu___17 = + FStar_TypeChecker_Env.push_univ_vars + env us in + let uu___18 = + let uu___19 = + FStar_Syntax_Subst.subst + usubst + act.FStar_Syntax_Syntax.action_defn in + let uu___20 = + FStar_Syntax_Subst.subst + usubst + act.FStar_Syntax_Syntax.action_typ in + { + FStar_Syntax_Syntax.action_name + = + (act.FStar_Syntax_Syntax.action_name); + FStar_Syntax_Syntax.action_unqualified_name + = + (act.FStar_Syntax_Syntax.action_unqualified_name); + FStar_Syntax_Syntax.action_univs + = us; + FStar_Syntax_Syntax.action_params + = + (act.FStar_Syntax_Syntax.action_params); + FStar_Syntax_Syntax.action_defn + = uu___19; + FStar_Syntax_Syntax.action_typ + = uu___20 + } in + (uu___17, uu___18) in + match uu___15 with + | (env1, act1) -> + let act_typ = + let uu___16 = + let uu___17 = + FStar_Syntax_Subst.compress + act1.FStar_Syntax_Syntax.action_typ in + uu___17.FStar_Syntax_Syntax.n in + match uu___16 with + | FStar_Syntax_Syntax.Tm_arrow + { + FStar_Syntax_Syntax.bs1 + = bs; + FStar_Syntax_Syntax.comp + = c;_} + -> + let ct = + FStar_TypeChecker_Env.comp_to_comp_typ + env1 c in + let uu___17 = + FStar_Ident.lid_equals + ct.FStar_Syntax_Syntax.effect_name + ed.FStar_Syntax_Syntax.mname in + if uu___17 + then + let repr_ts = + let uu___18 = + repr in + match uu___18 + with + | (us, t, + uu___19) -> + (us, t) in + let repr1 = + let uu___18 = + FStar_TypeChecker_Env.inst_tscheme_with + repr_ts + ct.FStar_Syntax_Syntax.comp_univs in + FStar_Compiler_Effect.op_Bar_Greater + uu___18 + FStar_Pervasives_Native.snd in + let repr2 = + let uu___18 = + let uu___19 = + FStar_Syntax_Syntax.as_arg + ct.FStar_Syntax_Syntax.result_typ in + uu___19 :: + (ct.FStar_Syntax_Syntax.effect_args) in + FStar_Syntax_Syntax.mk_Tm_app + repr1 uu___18 r in + let c1 = + FStar_Syntax_Syntax.mk_Total + repr2 in + FStar_Syntax_Util.arrow + bs c1 + else + act1.FStar_Syntax_Syntax.action_typ + | uu___17 -> + act1.FStar_Syntax_Syntax.action_typ in + let uu___16 = + FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term + env1 act_typ in + (match uu___16 with + | (act_typ1, uu___17, g_t) -> - let ct = - FStar_TypeChecker_Env.comp_to_comp_typ - env1 c in - let uu___17 = - FStar_Ident.lid_equals - ct.FStar_Syntax_Syntax.effect_name - ed.FStar_Syntax_Syntax.mname in - if uu___17 - then - let repr_ts = - let uu___18 = repr in - match uu___18 with - | (us, t, uu___19) - -> (us, t) in - let repr1 = - let uu___18 = - FStar_TypeChecker_Env.inst_tscheme_with - repr_ts - ct.FStar_Syntax_Syntax.comp_univs in - FStar_Compiler_Effect.op_Bar_Greater - uu___18 - FStar_Pervasives_Native.snd in - let repr2 = - let uu___18 = - let uu___19 = - FStar_Syntax_Syntax.as_arg - ct.FStar_Syntax_Syntax.result_typ in - uu___19 :: - (ct.FStar_Syntax_Syntax.effect_args) in - FStar_Syntax_Syntax.mk_Tm_app - repr1 uu___18 r in - let c1 = - FStar_Syntax_Syntax.mk_Total - repr2 in - FStar_Syntax_Util.arrow - bs c1 - else - act1.FStar_Syntax_Syntax.action_typ - | uu___17 -> - act1.FStar_Syntax_Syntax.action_typ in - let uu___16 = - FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env1 act_typ in - (match uu___16 with - | (act_typ1, uu___17, g_t) - -> - let uu___18 = - let uu___19 = - let uu___20 = - FStar_TypeChecker_Env.set_expected_typ - env1 act_typ1 in - { - FStar_TypeChecker_Env.solver - = - (uu___20.FStar_TypeChecker_Env.solver); - FStar_TypeChecker_Env.range - = - (uu___20.FStar_TypeChecker_Env.range); - FStar_TypeChecker_Env.curmodule - = - (uu___20.FStar_TypeChecker_Env.curmodule); - FStar_TypeChecker_Env.gamma - = - (uu___20.FStar_TypeChecker_Env.gamma); - FStar_TypeChecker_Env.gamma_sig - = - (uu___20.FStar_TypeChecker_Env.gamma_sig); - FStar_TypeChecker_Env.gamma_cache - = - (uu___20.FStar_TypeChecker_Env.gamma_cache); - FStar_TypeChecker_Env.modules - = - (uu___20.FStar_TypeChecker_Env.modules); - FStar_TypeChecker_Env.expected_typ - = - (uu___20.FStar_TypeChecker_Env.expected_typ); - FStar_TypeChecker_Env.sigtab - = - (uu___20.FStar_TypeChecker_Env.sigtab); - FStar_TypeChecker_Env.attrtab - = - (uu___20.FStar_TypeChecker_Env.attrtab); - FStar_TypeChecker_Env.instantiate_imp - = false; - FStar_TypeChecker_Env.effects - = - (uu___20.FStar_TypeChecker_Env.effects); - FStar_TypeChecker_Env.generalize - = - (uu___20.FStar_TypeChecker_Env.generalize); - FStar_TypeChecker_Env.letrecs - = - (uu___20.FStar_TypeChecker_Env.letrecs); - FStar_TypeChecker_Env.top_level - = - (uu___20.FStar_TypeChecker_Env.top_level); - FStar_TypeChecker_Env.check_uvars - = - (uu___20.FStar_TypeChecker_Env.check_uvars); - FStar_TypeChecker_Env.use_eq_strict - = - (uu___20.FStar_TypeChecker_Env.use_eq_strict); - FStar_TypeChecker_Env.is_iface - = - (uu___20.FStar_TypeChecker_Env.is_iface); - FStar_TypeChecker_Env.admit - = - (uu___20.FStar_TypeChecker_Env.admit); - FStar_TypeChecker_Env.lax - = - (uu___20.FStar_TypeChecker_Env.lax); - FStar_TypeChecker_Env.lax_universes - = - (uu___20.FStar_TypeChecker_Env.lax_universes); - FStar_TypeChecker_Env.phase1 - = - (uu___20.FStar_TypeChecker_Env.phase1); - FStar_TypeChecker_Env.failhard - = - (uu___20.FStar_TypeChecker_Env.failhard); - FStar_TypeChecker_Env.nosynth - = - (uu___20.FStar_TypeChecker_Env.nosynth); - FStar_TypeChecker_Env.uvar_subtyping - = - (uu___20.FStar_TypeChecker_Env.uvar_subtyping); - FStar_TypeChecker_Env.tc_term - = - (uu___20.FStar_TypeChecker_Env.tc_term); - FStar_TypeChecker_Env.typeof_tot_or_gtot_term - = - (uu___20.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); - FStar_TypeChecker_Env.universe_of - = - (uu___20.FStar_TypeChecker_Env.universe_of); - FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term - = - (uu___20.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); - FStar_TypeChecker_Env.teq_nosmt_force - = - (uu___20.FStar_TypeChecker_Env.teq_nosmt_force); - FStar_TypeChecker_Env.subtype_nosmt_force - = - (uu___20.FStar_TypeChecker_Env.subtype_nosmt_force); - FStar_TypeChecker_Env.qtbl_name_and_index - = - (uu___20.FStar_TypeChecker_Env.qtbl_name_and_index); - FStar_TypeChecker_Env.normalized_eff_names - = - (uu___20.FStar_TypeChecker_Env.normalized_eff_names); - FStar_TypeChecker_Env.fv_delta_depths - = - (uu___20.FStar_TypeChecker_Env.fv_delta_depths); - FStar_TypeChecker_Env.proof_ns - = - (uu___20.FStar_TypeChecker_Env.proof_ns); - FStar_TypeChecker_Env.synth_hook - = - (uu___20.FStar_TypeChecker_Env.synth_hook); - FStar_TypeChecker_Env.try_solve_implicits_hook - = - (uu___20.FStar_TypeChecker_Env.try_solve_implicits_hook); - FStar_TypeChecker_Env.splice - = - (uu___20.FStar_TypeChecker_Env.splice); - FStar_TypeChecker_Env.mpreprocess - = - (uu___20.FStar_TypeChecker_Env.mpreprocess); - FStar_TypeChecker_Env.postprocess - = - (uu___20.FStar_TypeChecker_Env.postprocess); - FStar_TypeChecker_Env.identifier_info - = - (uu___20.FStar_TypeChecker_Env.identifier_info); - FStar_TypeChecker_Env.tc_hooks - = - (uu___20.FStar_TypeChecker_Env.tc_hooks); - FStar_TypeChecker_Env.dsenv - = - (uu___20.FStar_TypeChecker_Env.dsenv); - FStar_TypeChecker_Env.nbe - = - (uu___20.FStar_TypeChecker_Env.nbe); - FStar_TypeChecker_Env.strict_args_tab - = - (uu___20.FStar_TypeChecker_Env.strict_args_tab); - FStar_TypeChecker_Env.erasable_types_tab - = - (uu___20.FStar_TypeChecker_Env.erasable_types_tab); - FStar_TypeChecker_Env.enable_defer_to_tac - = - (uu___20.FStar_TypeChecker_Env.enable_defer_to_tac); - FStar_TypeChecker_Env.unif_allow_ref_guards - = - (uu___20.FStar_TypeChecker_Env.unif_allow_ref_guards); - FStar_TypeChecker_Env.erase_erasable_args - = - (uu___20.FStar_TypeChecker_Env.erase_erasable_args); - FStar_TypeChecker_Env.core_check - = - (uu___20.FStar_TypeChecker_Env.core_check) - } in - FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - uu___19 - act1.FStar_Syntax_Syntax.action_defn in - (match uu___18 with - | (act_defn, uu___19, - g_d) -> - ((let uu___21 = - FStar_Compiler_Effect.op_Less_Bar - (FStar_TypeChecker_Env.debug + let uu___18 = + let uu___19 = + let uu___20 = + FStar_TypeChecker_Env.set_expected_typ + env1 act_typ1 in + { + FStar_TypeChecker_Env.solver + = + (uu___20.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range + = + (uu___20.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule + = + (uu___20.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma + = + (uu___20.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig + = + (uu___20.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache + = + (uu___20.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules + = + (uu___20.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ + = + (uu___20.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab + = + (uu___20.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab + = + (uu___20.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.instantiate_imp + = false; + FStar_TypeChecker_Env.effects + = + (uu___20.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize + = + (uu___20.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs + = + (uu___20.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level + = + (uu___20.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars + = + (uu___20.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq_strict + = + (uu___20.FStar_TypeChecker_Env.use_eq_strict); + FStar_TypeChecker_Env.is_iface + = + (uu___20.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit + = + (uu___20.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax + = + (uu___20.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes + = + (uu___20.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 + = + (uu___20.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard + = + (uu___20.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth + = + (uu___20.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping + = + (uu___20.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (uu___20.FStar_TypeChecker_Env.intactics); + FStar_TypeChecker_Env.tc_term + = + (uu___20.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.typeof_tot_or_gtot_term + = + (uu___20.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); + FStar_TypeChecker_Env.universe_of + = + (uu___20.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term + = + (uu___20.FStar_TypeChecker_Env.typeof_well_typed_tot_or_gtot_term); + FStar_TypeChecker_Env.teq_nosmt_force + = + (uu___20.FStar_TypeChecker_Env.teq_nosmt_force); + FStar_TypeChecker_Env.subtype_nosmt_force + = + (uu___20.FStar_TypeChecker_Env.subtype_nosmt_force); + FStar_TypeChecker_Env.qtbl_name_and_index + = + (uu___20.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names + = + (uu___20.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths + = + (uu___20.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns + = + (uu___20.FStar_TypeChecker_Env.proof_ns); + FStar_TypeChecker_Env.synth_hook + = + (uu___20.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.try_solve_implicits_hook + = + (uu___20.FStar_TypeChecker_Env.try_solve_implicits_hook); + FStar_TypeChecker_Env.splice + = + (uu___20.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.mpreprocess + = + (uu___20.FStar_TypeChecker_Env.mpreprocess); + FStar_TypeChecker_Env.postprocess + = + (uu___20.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.identifier_info + = + (uu___20.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks + = + (uu___20.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv + = + (uu___20.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe + = + (uu___20.FStar_TypeChecker_Env.nbe); + FStar_TypeChecker_Env.strict_args_tab + = + (uu___20.FStar_TypeChecker_Env.strict_args_tab); + FStar_TypeChecker_Env.erasable_types_tab + = + (uu___20.FStar_TypeChecker_Env.erasable_types_tab); + FStar_TypeChecker_Env.enable_defer_to_tac + = + (uu___20.FStar_TypeChecker_Env.enable_defer_to_tac); + FStar_TypeChecker_Env.unif_allow_ref_guards + = + (uu___20.FStar_TypeChecker_Env.unif_allow_ref_guards); + FStar_TypeChecker_Env.erase_erasable_args + = + (uu___20.FStar_TypeChecker_Env.erase_erasable_args); + FStar_TypeChecker_Env.core_check + = + (uu___20.FStar_TypeChecker_Env.core_check) + } in + FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term + uu___19 + act1.FStar_Syntax_Syntax.action_defn in + (match uu___18 with + | (act_defn, uu___19, + g_d) -> + ((let uu___21 = + FStar_Compiler_Effect.op_Less_Bar + (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other + (FStar_Options.Other "LayeredEffectsTc") in - if uu___21 - then - let uu___22 = - FStar_Syntax_Print.term_to_string - act_defn in - let uu___23 = - FStar_Syntax_Print.term_to_string - act_typ1 in - FStar_Compiler_Util.print2 - "Typechecked action definition: %s and action type: %s\n" - uu___22 - uu___23 - else ()); - (let uu___21 = - let act_typ2 = - FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta] - env1 - act_typ1 in - let uu___22 = - let uu___23 - = - FStar_Syntax_Subst.compress + if uu___21 + then + let uu___22 = + FStar_Syntax_Print.term_to_string + act_defn in + let uu___23 = + FStar_Syntax_Print.term_to_string + act_typ1 in + FStar_Compiler_Util.print2 + "Typechecked action definition: %s and action type: %s\n" + uu___22 + uu___23 + else ()); + (let uu___21 = + let act_typ2 + = + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.Beta] + env1 + act_typ1 in + let uu___22 = + let uu___23 + = + FStar_Syntax_Subst.compress act_typ2 in - uu___23.FStar_Syntax_Syntax.n in - match uu___22 - with - | FStar_Syntax_Syntax.Tm_arrow - { + uu___23.FStar_Syntax_Syntax.n in + match uu___22 + with + | FStar_Syntax_Syntax.Tm_arrow + { FStar_Syntax_Syntax.bs1 = bs; FStar_Syntax_Syntax.comp = uu___23;_} - -> - let bs1 = + -> + let bs1 = FStar_Syntax_Subst.open_binders bs in - let env2 = + let env2 + = FStar_TypeChecker_Env.push_binders env1 bs1 in - let uu___24 + let uu___24 = FStar_Syntax_Util.type_u () in - (match uu___24 + (match uu___24 with | (t, u) -> @@ -5644,8 +6247,8 @@ let (tc_layered_eff_decl : g g_tm in (uu___28, uu___29)))) - | uu___23 -> - let uu___24 + | uu___23 -> + let uu___24 = let uu___25 = @@ -5668,20 +6271,21 @@ let (tc_layered_eff_decl : uu___28 in (FStar_Errors_Codes.Fatal_ActionMustHaveFunctionType, uu___25) in - FStar_Errors.raise_error + FStar_Errors.raise_error uu___24 r in - match uu___21 - with - | (k, g_k) -> - ((let uu___23 + match uu___21 + with + | (k, g_k) -> + ((let uu___23 = FStar_Compiler_Effect.op_Less_Bar (FStar_TypeChecker_Env.debug env1) (FStar_Options.Other "LayeredEffectsTc") in - if uu___23 - then + if + uu___23 + then let uu___24 = FStar_Syntax_Print.term_to_string @@ -5689,20 +6293,21 @@ let (tc_layered_eff_decl : FStar_Compiler_Util.print1 "Expected action type: %s\n" uu___24 - else ()); - (let g = + else ()); + (let g = FStar_TypeChecker_Rel.teq env1 act_typ1 k in - FStar_Compiler_List.iter + FStar_Compiler_List.iter (FStar_TypeChecker_Rel.force_trivial_guard env1) [g_t; g_d; g_k; g]; - (let uu___25 + ( + let uu___25 = FStar_Compiler_Effect.op_Less_Bar (FStar_TypeChecker_Env.debug @@ -5720,7 +6325,8 @@ let (tc_layered_eff_decl : "Expected action type after unification: %s\n" uu___26 else ()); - (let act_typ2 + ( + let act_typ2 = let err_msg t = @@ -6012,212 +6618,226 @@ let (tc_layered_eff_decl : FStar_Errors.raise_error uu___30 r)) in act2))))))))) in - let extraction_mode = - let has_primitive_extraction = - FStar_Syntax_Util.has_attribute - ed.FStar_Syntax_Syntax.eff_attrs - FStar_Parser_Const.primitive_extraction_attr in - let is_reifiable = - FStar_Compiler_List.contains - FStar_Syntax_Syntax.Reifiable - quals in - if - has_primitive_extraction && - is_reifiable - then - let uu___14 = - let uu___15 = - let uu___16 = - FStar_Ident.string_of_lid - ed.FStar_Syntax_Syntax.mname in - FStar_Compiler_Util.format1 - "Effect %s is declared to be both primitive extraction and reifiable" - uu___16 in - (FStar_Errors_Codes.Fatal_UnexpectedEffect, - uu___15) in - let uu___15 = - FStar_Ident.range_of_lid - ed.FStar_Syntax_Syntax.mname in - FStar_Errors.raise_error - uu___14 uu___15 - else - if has_primitive_extraction - then - FStar_Syntax_Syntax.Extract_primitive - else - (let uu___16 = - let uu___17 = - let uu___18 = signature in - match uu___18 with - | (us, t, uu___19) -> - (us, t) in - match uu___17 with - | (us, t) -> - let uu___18 = - let uu___19 = - FStar_Syntax_Subst.compress - t in - uu___19.FStar_Syntax_Syntax.n in - (match uu___18 with - | FStar_Syntax_Syntax.Tm_arrow - { - FStar_Syntax_Syntax.bs1 - = bs; - FStar_Syntax_Syntax.comp - = uu___19;_} - -> - let uu___20 = - FStar_Syntax_Subst.open_binders - bs in - (match uu___20 - with - | a_b::rest_bs - -> - (us, a_b, - rest_bs)) - | uu___19 -> - failwith - "Impossible!") in - match uu___16 with - | (us, a_b, rest_bs) -> - let env = - FStar_TypeChecker_Env.push_univ_vars - env0 us in - let env1 = - FStar_TypeChecker_Env.push_binders - env [a_b] in - let uu___17 = - FStar_Compiler_List.fold_left - (fun uu___18 -> - fun b -> - match uu___18 + let extraction_mode = + let has_primitive_extraction = + FStar_Syntax_Util.has_attribute + ed.FStar_Syntax_Syntax.eff_attrs + FStar_Parser_Const.primitive_extraction_attr in + let is_reifiable = + FStar_Compiler_List.contains + FStar_Syntax_Syntax.Reifiable + quals in + if + has_primitive_extraction && + is_reifiable + then + let uu___14 = + let uu___15 = + let uu___16 = + FStar_Ident.string_of_lid + ed.FStar_Syntax_Syntax.mname in + FStar_Compiler_Util.format1 + "Effect %s is declared to be both primitive extraction and reifiable" + uu___16 in + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + uu___15) in + let uu___15 = + FStar_Ident.range_of_lid + ed.FStar_Syntax_Syntax.mname in + FStar_Errors.raise_error + uu___14 uu___15 + else + if has_primitive_extraction + then + FStar_Syntax_Syntax.Extract_primitive + else + (let uu___16 = + let uu___17 = + let uu___18 = signature in + match uu___18 with + | (us, t, uu___19) -> + (us, t) in + match uu___17 with + | (us, t) -> + let uu___18 = + let uu___19 = + FStar_Syntax_Subst.compress + t in + uu___19.FStar_Syntax_Syntax.n in + (match uu___18 with + | FStar_Syntax_Syntax.Tm_arrow + { + FStar_Syntax_Syntax.bs1 + = bs; + FStar_Syntax_Syntax.comp + = uu___19;_} + -> + let uu___20 = + FStar_Syntax_Subst.open_binders + bs in + (match uu___20 with - | (env2, r) -> - let r1 = + | a_b::rest_bs + -> + (us, a_b, + rest_bs)) + | uu___19 -> + failwith + "Impossible!") in + match uu___16 with + | (us, a_b, rest_bs) -> + let env = + FStar_TypeChecker_Env.push_univ_vars + env0 us in + let env1 = + FStar_TypeChecker_Env.push_binders + env [a_b] in + let uu___17 = + FStar_Compiler_List.fold_left + (fun uu___18 -> + fun b -> + match uu___18 + with + | (env2, r) -> + let r1 = r && (FStar_TypeChecker_Normalize.non_info_norm env2 (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort) in - let uu___19 + let uu___19 = FStar_TypeChecker_Env.push_binders env2 [b] in - (uu___19, + (uu___19, r1)) - (env1, true) rest_bs in - (match uu___17 with - | (uu___18, r) -> - let uu___19 = - (r && - (FStar_Syntax_Syntax.uu___is_Substitutive_combinator - bind_kind)) - && - (is_reifiable - || - (FStar_Ident.lid_equals + (env1, true) + rest_bs in + (match uu___17 with + | (uu___18, r) -> + let uu___19 = + (r && + (FStar_Syntax_Syntax.uu___is_Substitutive_combinator + bind_kind)) + && + (is_reifiable + || + (FStar_Ident.lid_equals ed.FStar_Syntax_Syntax.mname FStar_Parser_Const.effect_TAC_lid)) in - if uu___19 - then - FStar_Syntax_Syntax.Extract_reify - else - (let m = - if - Prims.op_Negation - r - then - "one or more effect indices are informative" - else - if - Prims.op_Negation + if uu___19 + then + FStar_Syntax_Syntax.Extract_reify + else + (let m = + if + Prims.op_Negation + r + then + "one or more effect indices are informative" + else + if + Prims.op_Negation (FStar_Syntax_Syntax.uu___is_Substitutive_combinator bind_kind) - then - "bind is not substitutive" - else - "the effect is not reifiable" in - FStar_Syntax_Syntax.Extract_none - m))) in - (let uu___15 = - FStar_Compiler_Effect.op_Less_Bar - (FStar_TypeChecker_Env.debug - env0) - (FStar_Options.Other - "LayeredEffectsTc") in - if uu___15 - then - let uu___16 = - FStar_Ident.string_of_lid - ed.FStar_Syntax_Syntax.mname in - let uu___17 = - FStar_Syntax_Print.eff_extraction_mode_to_string - extraction_mode in - FStar_Compiler_Util.print2 - "Effect %s has extraction mode %s\n" - uu___16 uu___17 - else ()); - (let tschemes_of uu___15 k = - match uu___15 with - | (us, t, ty) -> - ((us, t), (us, ty), k) in - let tschemes_of2 uu___15 = - match uu___15 with - | (us, t, ty) -> - ((us, t), (us, ty)) in - let combinators = - FStar_Syntax_Syntax.Layered_eff - { - FStar_Syntax_Syntax.l_repr = - (tschemes_of2 repr); - FStar_Syntax_Syntax.l_return - = - (tschemes_of2 return_repr); - FStar_Syntax_Syntax.l_bind = - (tschemes_of bind_repr - (FStar_Pervasives_Native.Some - bind_kind)); - FStar_Syntax_Syntax.l_subcomp - = - (tschemes_of stronger_repr - (FStar_Pervasives_Native.Some - subcomp_kind)); - FStar_Syntax_Syntax.l_if_then_else - = - (tschemes_of if_then_else - (FStar_Pervasives_Native.Some - ite_kind)) - } in - let uu___15 = - FStar_Compiler_List.map - (tc_action env0) - ed.FStar_Syntax_Syntax.actions in - { - FStar_Syntax_Syntax.mname = - (ed.FStar_Syntax_Syntax.mname); - FStar_Syntax_Syntax.cattributes - = - (ed.FStar_Syntax_Syntax.cattributes); - FStar_Syntax_Syntax.univs = - (ed.FStar_Syntax_Syntax.univs); - FStar_Syntax_Syntax.binders = - (ed.FStar_Syntax_Syntax.binders); - FStar_Syntax_Syntax.signature = - (FStar_Syntax_Syntax.Layered_eff_sig - (num_effect_params, - (let uu___16 = signature in - match uu___16 with - | (us, t, uu___17) -> - (us, t)))); - FStar_Syntax_Syntax.combinators - = combinators; - FStar_Syntax_Syntax.actions = - uu___15; - FStar_Syntax_Syntax.eff_attrs = - (ed.FStar_Syntax_Syntax.eff_attrs); - FStar_Syntax_Syntax.extraction_mode - = extraction_mode - }))))))))))))) + then + "bind is not substitutive" + else + "the effect is not reifiable" in + FStar_Syntax_Syntax.Extract_none + m))) in + (let uu___15 = + FStar_Compiler_Effect.op_Less_Bar + (FStar_TypeChecker_Env.debug + env0) + (FStar_Options.Other + "LayeredEffectsTc") in + if uu___15 + then + let uu___16 = + FStar_Ident.string_of_lid + ed.FStar_Syntax_Syntax.mname in + let uu___17 = + FStar_Syntax_Print.eff_extraction_mode_to_string + extraction_mode in + FStar_Compiler_Util.print2 + "Effect %s has extraction mode %s\n" + uu___16 uu___17 + else ()); + (let tschemes_of uu___15 k = + match uu___15 with + | (us, t, ty) -> + ((us, t), (us, ty), k) in + let tschemes_of2 uu___15 = + match uu___15 with + | (us, t, ty) -> + ((us, t), (us, ty)) in + let combinators = + FStar_Syntax_Syntax.Layered_eff + { + FStar_Syntax_Syntax.l_repr + = (tschemes_of2 repr); + FStar_Syntax_Syntax.l_return + = + (tschemes_of2 return_repr); + FStar_Syntax_Syntax.l_bind + = + (tschemes_of bind_repr + (FStar_Pervasives_Native.Some + bind_kind)); + FStar_Syntax_Syntax.l_subcomp + = + (tschemes_of + stronger_repr + (FStar_Pervasives_Native.Some + subcomp_kind)); + FStar_Syntax_Syntax.l_if_then_else + = + (tschemes_of if_then_else + (FStar_Pervasives_Native.Some + ite_kind)); + FStar_Syntax_Syntax.l_close + = + (match close_ with + | FStar_Pervasives_Native.None + -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some + (us, t, ty) -> + FStar_Pervasives_Native.Some + ((us, t), + (us, ty))) + } in + let uu___15 = + FStar_Compiler_List.map + (tc_action env0) + ed.FStar_Syntax_Syntax.actions in + { + FStar_Syntax_Syntax.mname = + (ed.FStar_Syntax_Syntax.mname); + FStar_Syntax_Syntax.cattributes + = + (ed.FStar_Syntax_Syntax.cattributes); + FStar_Syntax_Syntax.univs = + (ed.FStar_Syntax_Syntax.univs); + FStar_Syntax_Syntax.binders = + (ed.FStar_Syntax_Syntax.binders); + FStar_Syntax_Syntax.signature = + (FStar_Syntax_Syntax.Layered_eff_sig + (num_effect_params, + (let uu___16 = signature in + match uu___16 with + | (us, t, uu___17) -> + (us, t)))); + FStar_Syntax_Syntax.combinators + = combinators; + FStar_Syntax_Syntax.actions = + uu___15; + FStar_Syntax_Syntax.eff_attrs = + (ed.FStar_Syntax_Syntax.eff_attrs); + FStar_Syntax_Syntax.extraction_mode + = extraction_mode + })))))))))))))) let (tc_non_layered_eff_decl : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.eff_decl -> @@ -7529,6 +8149,9 @@ let (tc_non_layered_eff_decl : FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); @@ -7812,6 +8435,9 @@ let (tc_non_layered_eff_decl : FStar_TypeChecker_Env.uvar_subtyping = (uu___24.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (uu___24.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___24.FStar_TypeChecker_Env.tc_term); @@ -8144,6 +8770,9 @@ let (tc_non_layered_eff_decl : FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); @@ -8981,6 +9610,8 @@ let (tc_lift : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcInductive.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcInductive.ml index 56959a55bec..d8f76998e26 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcInductive.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcInductive.ml @@ -344,8 +344,9 @@ let (tc_data : FStar_TypeChecker_Normalize.whnf_steps [FStar_TypeChecker_Env.AllowUnboundUniverses]) env2 t1 in + let t3 = FStar_Syntax_Util.canon_arrow t2 in let uu___4 = - let uu___5 = FStar_Syntax_Subst.compress t2 in + let uu___5 = FStar_Syntax_Subst.compress t3 in uu___5.FStar_Syntax_Syntax.n in match uu___4 with | FStar_Syntax_Syntax.Tm_arrow @@ -356,13 +357,13 @@ let (tc_data : FStar_Compiler_Util.first_N ntps bs in (match uu___5 with | (uu___6, bs') -> - let t3 = + let t4 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow { FStar_Syntax_Syntax.bs1 = bs'; FStar_Syntax_Syntax.comp = res - }) t2.FStar_Syntax_Syntax.pos in + }) t3.FStar_Syntax_Syntax.pos in let subst = FStar_Compiler_Effect.op_Bar_Greater tps @@ -386,7 +387,7 @@ let (tc_data : i)), x))) in let uu___7 = let uu___8 = - FStar_Syntax_Subst.subst subst t3 in + FStar_Syntax_Subst.subst subst t4 in FStar_Syntax_Util.arrow_formals_comp uu___8 in (match uu___7 with @@ -409,7 +410,7 @@ let (tc_data : (FStar_Errors_Codes.Fatal_UnexpectedConstructorType, "Constructors cannot have effects") uu___10))) - | uu___5 -> ([], t2) in + | uu___5 -> ([], t3) in (match uu___3 with | (arguments, result) -> ((let uu___5 = @@ -3134,8 +3135,32 @@ let (mk_discriminator_and_indexed_projectors : else [decl; impl])))) in FStar_Compiler_Effect.op_Bar_Greater uu___ FStar_Compiler_List.flatten in - FStar_Compiler_List.op_At discriminator_ses - projectors_ses + let no_plugin se = + let not_plugin_attr t = + let h = FStar_Syntax_Util.head_of t in + let uu___ = + FStar_Syntax_Util.is_fvar + FStar_Parser_Const.plugin_attr h in + Prims.op_Negation uu___ in + let uu___ = + FStar_Compiler_List.filter not_plugin_attr + se.FStar_Syntax_Syntax.sigattrs in + { + FStar_Syntax_Syntax.sigel = + (se.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigrng = + (se.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = + (se.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta = + (se.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs = uu___; + FStar_Syntax_Syntax.sigopts = + (se.FStar_Syntax_Syntax.sigopts) + } in + FStar_Compiler_List.map no_plugin + (FStar_Compiler_List.op_At discriminator_ses + projectors_ses) let (mk_data_operations : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.attribute Prims.list -> diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcTerm.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcTerm.ml index 597ecee6d8d..788b7405895 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_TcTerm.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_TcTerm.ml @@ -35,6 +35,7 @@ let (instantiate_both : FStar_TypeChecker_Env.nosynth = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -115,6 +116,7 @@ let (no_inst : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -1090,6 +1092,8 @@ let (guard_letrecs : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1685,6 +1689,8 @@ let rec (tc_term : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -1799,10 +1805,10 @@ and (tc_maybe_toplevel_term : uu___4 uu___5 else ()); (match top.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_bvar uu___2 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_delayed uu___2 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_uinst uu___2 -> tc_value env1 e | FStar_Syntax_Syntax.Tm_uvar uu___2 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_bvar uu___2 -> tc_value env1 e | FStar_Syntax_Syntax.Tm_name uu___2 -> tc_value env1 e | FStar_Syntax_Syntax.Tm_fvar uu___2 -> tc_value env1 e | FStar_Syntax_Syntax.Tm_constant uu___2 -> tc_value env1 e @@ -1996,6 +2002,8 @@ and (tc_maybe_toplevel_term : (env'.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env'.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env'.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env'.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -3576,12 +3584,40 @@ and (tc_match : (match uu___2 with | (e11, c1, g1) -> let uu___3 = - let uu___4 = FStar_TypeChecker_Util.coerce_views env e11 c1 in - match uu___4 with - | FStar_Pervasives_Native.Some (e12, c11) -> (e12, c11) - | FStar_Pervasives_Native.None -> (e11, c1) in + match eqns with + | (p, uu___4, uu___5)::uu___6 -> + (match p.FStar_Syntax_Syntax.v with + | FStar_Syntax_Syntax.Pat_cons (fv, uu___7, uu___8) -> + let r = + try + (fun uu___9 -> + match () with + | () -> + let uu___10 = + FStar_TypeChecker_Env.lookup_datacon + env + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + FStar_Pervasives_Native.Some uu___10) () + with | uu___10 -> FStar_Pervasives_Native.None in + (match r with + | FStar_Pervasives_Native.Some (us, t) -> + let uu___9 = + FStar_Syntax_Util.arrow_formals_comp t in + (match uu___9 with + | (bs, c) -> + let env' = + FStar_TypeChecker_Env.push_binders env + bs in + FStar_TypeChecker_Util.maybe_coerce_lc + env' e11 c1 + (FStar_Syntax_Util.comp_result c)) + | FStar_Pervasives_Native.None -> + (e11, c1, FStar_TypeChecker_Env.trivial_guard)) + | uu___7 -> + (e11, c1, FStar_TypeChecker_Env.trivial_guard)) + | uu___4 -> (e11, c1, FStar_TypeChecker_Env.trivial_guard) in (match uu___3 with - | (e12, c11) -> + | (e12, c11, g_c) -> let uu___4 = match ret_opt with | FStar_Pervasives_Native.None -> @@ -4081,7 +4117,10 @@ and (tc_match : else ()); (let uu___8 = FStar_TypeChecker_Env.conj_guards - [g11; g_branches; g_expected_type] in + [g_c; + g11; + g_branches; + g_expected_type] in (e2, cres2, uu___8)))))))) | uu___1 -> let uu___2 = @@ -4250,6 +4289,8 @@ and (tc_tactic : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -4937,6 +4978,8 @@ and (tc_comp : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -5442,6 +5485,8 @@ and (tc_abs_expected_function_typ : (envbody.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (envbody.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (envbody.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (envbody.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -5599,6 +5644,8 @@ and (tc_abs_expected_function_typ : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -5708,6 +5755,8 @@ and (tc_abs_expected_function_typ : (envbody1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (envbody1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (envbody1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (envbody1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -6298,6 +6347,8 @@ and (tc_abs : (envbody2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (envbody2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (envbody2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (envbody2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -9691,20 +9742,30 @@ and (tc_eqn : g_branch in (match uu___13 with | (c1, g_branch1) -> - let branch_has_layered_effect + let close_branch_with_substitutions = - let uu___14 = + let m = FStar_Compiler_Effect.op_Bar_Greater c1.FStar_TypeChecker_Common.eff_name (FStar_TypeChecker_Env.norm_eff_name env) in - FStar_Compiler_Effect.op_Bar_Greater - uu___14 - (FStar_TypeChecker_Env.is_layered_effect - env) in + (FStar_TypeChecker_Env.is_layered_effect + env m) + && + (let uu___14 = + let uu___15 = + FStar_Compiler_Effect.op_Bar_Greater + m + (FStar_TypeChecker_Env.get_effect_decl + env) in + FStar_Compiler_Effect.op_Bar_Greater + uu___15 + FStar_Syntax_Util.get_layered_close_combinator in + FStar_Pervasives_Native.uu___is_None + uu___14) in let uu___14 = if - branch_has_layered_effect + close_branch_with_substitutions then let c2 = let uu___15 = @@ -9819,7 +9880,7 @@ and (tc_eqn : c_weak else c_weak in if - branch_has_layered_effect + close_branch_with_substitutions then ((let uu___16 = @@ -9936,6 +9997,9 @@ and (tc_eqn : FStar_TypeChecker_Env.uvar_subtyping = (uu___16.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics + = + (uu___16.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (uu___16.FStar_TypeChecker_Env.tc_term); @@ -10155,7 +10219,7 @@ and (tc_eqn : FStar_TypeChecker_Env.push_bv env scrutinee in - FStar_TypeChecker_Util.close_layered_lcomp + FStar_TypeChecker_Util.close_layered_lcomp_with_substitutions uu___19 pat_bvs pat_bv_tms2 in @@ -10164,13 +10228,38 @@ and (tc_eqn : uu___18))) else (let uu___16 = - FStar_TypeChecker_Env.push_bv + let uu___17 + = + FStar_Compiler_Effect.op_Bar_Greater + c_weak1.FStar_TypeChecker_Common.eff_name + (FStar_TypeChecker_Env.norm_eff_name + env) in + FStar_Compiler_Effect.op_Bar_Greater + uu___17 + ( + FStar_TypeChecker_Env.is_layered_effect + env) in + if uu___16 + then + let uu___17 + = + FStar_TypeChecker_Env.push_bv env scrutinee in - FStar_TypeChecker_Util.close_wp_lcomp - uu___16 - pat_bvs - c_weak1) in + FStar_TypeChecker_Util.close_layered_lcomp_with_combinator + uu___17 + pat_bvs + c_weak1 + else + (let uu___18 + = + FStar_TypeChecker_Env.push_bv + env + scrutinee in + FStar_TypeChecker_Util.close_wp_lcomp + uu___18 + pat_bvs + c_weak1)) in let uu___15 = FStar_TypeChecker_Env.close_guard env binders @@ -10463,6 +10552,8 @@ and (check_inner_let : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -11253,6 +11344,8 @@ and (build_let_rec_env : (env01.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env01.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env01.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env01.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -11439,6 +11532,8 @@ and (build_let_rec_env : FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term @@ -11731,6 +11826,8 @@ and (check_let_bound_def : (env11.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env11.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env11.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env11.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -12234,6 +12331,8 @@ let (typeof_tot_or_gtot_term : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -12409,6 +12508,8 @@ let (level_of_type : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -12804,6 +12905,8 @@ let rec (universe_of_aux : (env2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_TypeChecker_Util.ml b/ocaml/fstar-lib/generated/FStar_TypeChecker_Util.ml index 3a7f12603d2..872eca19b0e 100644 --- a/ocaml/fstar-lib/generated/FStar_TypeChecker_Util.ml +++ b/ocaml/fstar-lib/generated/FStar_TypeChecker_Util.ml @@ -1165,7 +1165,190 @@ let (close_wp_lcomp : (FStar_TypeChecker_Env.close_guard env bs) in FStar_Compiler_Effect.op_Bar_Greater uu___ (close_guard_implicits env false bs))) -let (close_layered_lcomp : +let (substitutive_indexed_close_substs : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.binders -> + FStar_Syntax_Syntax.typ -> + FStar_Syntax_Syntax.bv -> + FStar_Syntax_Syntax.args -> + Prims.int -> + FStar_Compiler_Range_Type.range -> + FStar_Syntax_Syntax.subst_elt Prims.list) + = + fun env -> + fun close_bs -> + fun a -> + fun b_bv -> + fun ct_args -> + fun num_effect_params -> + fun r -> + let debug = + FStar_Compiler_Effect.op_Less_Bar + (FStar_TypeChecker_Env.debug env) + (FStar_Options.Other "LayeredEffectsApp") in + let uu___ = + let uu___1 = close_bs in + match uu___1 with + | a_b::b_b::close_bs1 -> + (close_bs1, + [FStar_Syntax_Syntax.NT + ((a_b.FStar_Syntax_Syntax.binder_bv), a); + FStar_Syntax_Syntax.NT + ((b_b.FStar_Syntax_Syntax.binder_bv), + (b_bv.FStar_Syntax_Syntax.sort))]) in + match uu___ with + | (close_bs1, subst) -> + let uu___1 = + let uu___2 = + FStar_Compiler_List.splitAt num_effect_params + close_bs1 in + match uu___2 with + | (eff_params_bs, close_bs2) -> + let uu___3 = + FStar_Compiler_List.splitAt num_effect_params + ct_args in + (match uu___3 with + | (ct_eff_params_args, ct_args1) -> + let uu___4 = + let uu___5 = + FStar_Compiler_List.map2 + (fun b -> + fun uu___6 -> + match uu___6 with + | (arg, uu___7) -> + FStar_Syntax_Syntax.NT + ((b.FStar_Syntax_Syntax.binder_bv), + arg)) eff_params_bs + ct_eff_params_args in + FStar_Compiler_List.op_At subst uu___5 in + (close_bs2, uu___4, ct_args1)) in + (match uu___1 with + | (close_bs2, subst1, ct_args1) -> + let uu___2 = + FStar_Compiler_List.splitAt + ((FStar_Compiler_List.length close_bs2) - + Prims.int_one) close_bs2 in + (match uu___2 with + | (close_bs3, uu___3) -> + FStar_Compiler_List.fold_left2 + (fun ss -> + fun b -> + fun uu___4 -> + match uu___4 with + | (ct_arg, uu___5) -> + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + let uu___10 = + let uu___11 = + FStar_Compiler_Effect.op_Bar_Greater + b_bv + FStar_Syntax_Syntax.mk_binder in + [uu___11] in + FStar_Syntax_Util.abs + uu___10 ct_arg + FStar_Pervasives_Native.None in + ((b.FStar_Syntax_Syntax.binder_bv), + uu___9) in + FStar_Syntax_Syntax.NT uu___8 in + [uu___7] in + FStar_Compiler_List.op_At ss + uu___6) subst1 close_bs3 + ct_args1)) +let (close_layered_comp_with_combinator : + 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 r = c.FStar_Syntax_Syntax.pos in + let env_bvs = FStar_TypeChecker_Env.push_bvs env bvs in + let ct = FStar_TypeChecker_Env.unfold_effect_abbrev env_bvs c in + let ed = + FStar_TypeChecker_Env.get_effect_decl env_bvs + ct.FStar_Syntax_Syntax.effect_name in + let num_effect_params = + match ed.FStar_Syntax_Syntax.signature with + | FStar_Syntax_Syntax.Layered_eff_sig (n, uu___) -> n + | uu___ -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + "mk_indexed_close called with a non-indexed effect") r in + let close_ts = + let uu___ = FStar_Syntax_Util.get_layered_close_combinator ed in + FStar_Compiler_Effect.op_Bar_Greater uu___ FStar_Compiler_Util.must in + let effect_args = + FStar_Compiler_List.fold_right + (fun x -> + fun args -> + let u_a = + FStar_Compiler_List.hd ct.FStar_Syntax_Syntax.comp_univs in + let u_b = + env.FStar_TypeChecker_Env.universe_of env_bvs + x.FStar_Syntax_Syntax.sort in + let uu___ = + FStar_TypeChecker_Env.inst_tscheme_with close_ts + [u_a; u_b] in + match uu___ with + | (uu___1, close_t) -> + let uu___2 = FStar_Syntax_Util.abs_formals close_t in + (match uu___2 with + | (close_bs, close_body, uu___3) -> + let ss = + substitutive_indexed_close_substs env_bvs + close_bs ct.FStar_Syntax_Syntax.result_typ x + args num_effect_params r in + let uu___4 = + let uu___5 = + let uu___6 = + FStar_Syntax_Subst.subst ss close_body in + FStar_Syntax_Subst.compress uu___6 in + uu___5.FStar_Syntax_Syntax.n in + (match uu___4 with + | FStar_Syntax_Syntax.Tm_app + { FStar_Syntax_Syntax.hd = uu___5; + FStar_Syntax_Syntax.args = uu___6::args1;_} + -> args1 + | uu___5 -> + FStar_Errors.raise_error + (FStar_Errors_Codes.Fatal_UnexpectedEffect, + "Unexpected close combinator shape") r))) + bvs ct.FStar_Syntax_Syntax.effect_args in + FStar_Syntax_Syntax.mk_Comp + { + FStar_Syntax_Syntax.comp_univs = + (ct.FStar_Syntax_Syntax.comp_univs); + FStar_Syntax_Syntax.effect_name = + (ct.FStar_Syntax_Syntax.effect_name); + FStar_Syntax_Syntax.result_typ = + (ct.FStar_Syntax_Syntax.result_typ); + FStar_Syntax_Syntax.effect_args = effect_args; + FStar_Syntax_Syntax.flags = (ct.FStar_Syntax_Syntax.flags) + } +let (close_layered_lcomp_with_combinator : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.bv Prims.list -> + FStar_TypeChecker_Common.lcomp -> FStar_TypeChecker_Common.lcomp) + = + fun env -> + fun bvs -> + fun lc -> + let bs = + FStar_Compiler_Effect.op_Bar_Greater bvs + (FStar_Compiler_List.map FStar_Syntax_Syntax.mk_binder) in + FStar_Compiler_Effect.op_Bar_Greater lc + (FStar_TypeChecker_Common.apply_lcomp + (close_layered_comp_with_combinator env bvs) + (fun g -> + let uu___ = + FStar_Compiler_Effect.op_Bar_Greater g + (FStar_TypeChecker_Env.close_guard env bs) in + FStar_Compiler_Effect.op_Bar_Greater uu___ + (close_guard_implicits env false bs))) +let (close_layered_lcomp_with_substitutions : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.term Prims.list -> @@ -4849,130 +5032,124 @@ let (coerce_with : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_TypeChecker_Common.lcomp -> - FStar_Syntax_Syntax.typ -> - FStar_Ident.lident -> - FStar_Syntax_Syntax.universes -> - FStar_Syntax_Syntax.args -> - (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp) -> - (FStar_Syntax_Syntax.term * FStar_TypeChecker_Common.lcomp)) + FStar_Ident.lident -> + FStar_Syntax_Syntax.universes -> + FStar_Syntax_Syntax.args -> + FStar_Syntax_Syntax.comp -> + (FStar_Syntax_Syntax.term * FStar_TypeChecker_Common.lcomp)) = fun env -> fun e -> fun lc -> - fun ty -> - fun f -> - fun us -> - fun eargs -> - fun mkcomp -> - let uu___ = FStar_TypeChecker_Env.try_lookup_lid env f in - match uu___ with - | FStar_Pervasives_Native.Some uu___1 -> - ((let uu___3 = - FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Coercions") in + fun f -> + fun us -> + fun eargs -> + fun comp2 -> + let uu___ = FStar_TypeChecker_Env.try_lookup_lid env f in + match uu___ with + | FStar_Pervasives_Native.Some uu___1 -> + ((let uu___3 = + FStar_TypeChecker_Env.debug env + (FStar_Options.Other "Coercions") in + if uu___3 + then + let uu___4 = FStar_Ident.string_of_lid f in + FStar_Compiler_Util.print1 "Coercing with %s!\n" + uu___4 + else ()); + (let lc2 = + FStar_Compiler_Effect.op_Less_Bar + FStar_TypeChecker_Common.lcomp_of_comp comp2 in + let lc_res = + bind e.FStar_Syntax_Syntax.pos env + (FStar_Pervasives_Native.Some e) lc + (FStar_Pervasives_Native.None, lc2) in + let coercion = + let uu___3 = + FStar_Ident.set_lid_range f + e.FStar_Syntax_Syntax.pos in + FStar_Syntax_Syntax.fvar uu___3 + FStar_Pervasives_Native.None in + let coercion1 = + FStar_Syntax_Syntax.mk_Tm_uinst coercion us in + let e1 = + let uu___3 = + FStar_TypeChecker_Common.is_pure_or_ghost_lcomp lc in if uu___3 then - let uu___4 = FStar_Ident.string_of_lid f in - FStar_Compiler_Util.print1 "Coercing with %s!\n" - uu___4 - else ()); - (let lc2 = - let uu___3 = mkcomp ty in - FStar_Compiler_Effect.op_Less_Bar - FStar_TypeChecker_Common.lcomp_of_comp uu___3 in - let lc_res = - bind e.FStar_Syntax_Syntax.pos env - (FStar_Pervasives_Native.Some e) lc - (FStar_Pervasives_Native.None, lc2) in - let coercion = - let uu___3 = - FStar_Ident.set_lid_range f - e.FStar_Syntax_Syntax.pos in - FStar_Syntax_Syntax.fvar uu___3 - FStar_Pervasives_Native.None in - let coercion1 = - FStar_Syntax_Syntax.mk_Tm_uinst coercion us in - let e1 = - let uu___3 = - FStar_TypeChecker_Common.is_pure_or_ghost_lcomp - lc in - if uu___3 - then - let uu___4 = - let uu___5 = - let uu___6 = FStar_Syntax_Syntax.as_arg e in - [uu___6] in - FStar_Compiler_List.op_At eargs uu___5 in - FStar_Syntax_Syntax.mk_Tm_app coercion1 uu___4 - e.FStar_Syntax_Syntax.pos - else - (let x = - FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some - (e.FStar_Syntax_Syntax.pos)) - lc.FStar_TypeChecker_Common.res_typ in - let e2 = - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - FStar_Compiler_Effect.op_Bar_Greater x - FStar_Syntax_Syntax.bv_to_name in - FStar_Compiler_Effect.op_Bar_Greater - uu___8 FStar_Syntax_Syntax.as_arg in - [uu___7] in - FStar_Compiler_List.op_At eargs uu___6 in - FStar_Syntax_Syntax.mk_Tm_app coercion1 uu___5 - e.FStar_Syntax_Syntax.pos in - let e3 = - maybe_lift env e - lc.FStar_TypeChecker_Common.eff_name - lc_res.FStar_TypeChecker_Common.eff_name - lc.FStar_TypeChecker_Common.res_typ in - let e21 = - let uu___5 = - FStar_TypeChecker_Env.push_bv env x in - maybe_lift uu___5 e2 - lc2.FStar_TypeChecker_Common.eff_name - lc_res.FStar_TypeChecker_Common.eff_name ty in - let lb = - FStar_Syntax_Util.mk_letbinding - (FStar_Pervasives.Inl x) [] - lc.FStar_TypeChecker_Common.res_typ - lc_res.FStar_TypeChecker_Common.eff_name e3 - [] e3.FStar_Syntax_Syntax.pos in - let e4 = - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - FStar_Syntax_Syntax.mk_binder x in - [uu___9] in - FStar_Syntax_Subst.close uu___8 e21 in - { - FStar_Syntax_Syntax.lbs = (false, [lb]); - FStar_Syntax_Syntax.body1 = uu___7 - } in - FStar_Syntax_Syntax.Tm_let uu___6 in - FStar_Syntax_Syntax.mk uu___5 - e3.FStar_Syntax_Syntax.pos in - maybe_monadic env e4 + let uu___4 = + let uu___5 = + let uu___6 = FStar_Syntax_Syntax.as_arg e in + [uu___6] in + FStar_Compiler_List.op_At eargs uu___5 in + FStar_Syntax_Syntax.mk_Tm_app coercion1 uu___4 + e.FStar_Syntax_Syntax.pos + else + (let x = + FStar_Syntax_Syntax.new_bv + (FStar_Pervasives_Native.Some + (e.FStar_Syntax_Syntax.pos)) + lc.FStar_TypeChecker_Common.res_typ in + let e2 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + FStar_Compiler_Effect.op_Bar_Greater x + FStar_Syntax_Syntax.bv_to_name in + FStar_Compiler_Effect.op_Bar_Greater + uu___8 FStar_Syntax_Syntax.as_arg in + [uu___7] in + FStar_Compiler_List.op_At eargs uu___6 in + FStar_Syntax_Syntax.mk_Tm_app coercion1 uu___5 + e.FStar_Syntax_Syntax.pos in + let e3 = + maybe_lift env e + lc.FStar_TypeChecker_Common.eff_name lc_res.FStar_TypeChecker_Common.eff_name - lc_res.FStar_TypeChecker_Common.res_typ) in - (e1, lc_res))) - | FStar_Pervasives_Native.None -> - ((let uu___2 = - let uu___3 = - let uu___4 = FStar_Ident.string_of_lid f in - FStar_Compiler_Util.format1 - "Coercion %s was not found in the environment, not coercing." - uu___4 in - (FStar_Errors_Codes.Warning_CoercionNotFound, - uu___3) in - FStar_Errors.log_issue e.FStar_Syntax_Syntax.pos - uu___2); - (e, lc)) + lc.FStar_TypeChecker_Common.res_typ in + let e21 = + let uu___5 = FStar_TypeChecker_Env.push_bv env x in + maybe_lift uu___5 e2 + lc2.FStar_TypeChecker_Common.eff_name + lc_res.FStar_TypeChecker_Common.eff_name + lc2.FStar_TypeChecker_Common.res_typ in + let lb = + FStar_Syntax_Util.mk_letbinding + (FStar_Pervasives.Inl x) [] + lc.FStar_TypeChecker_Common.res_typ + lc_res.FStar_TypeChecker_Common.eff_name e3 [] + e3.FStar_Syntax_Syntax.pos in + let e4 = + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + FStar_Syntax_Syntax.mk_binder x in + [uu___9] in + FStar_Syntax_Subst.close uu___8 e21 in + { + FStar_Syntax_Syntax.lbs = (false, [lb]); + FStar_Syntax_Syntax.body1 = uu___7 + } in + FStar_Syntax_Syntax.Tm_let uu___6 in + FStar_Syntax_Syntax.mk uu___5 + e3.FStar_Syntax_Syntax.pos in + maybe_monadic env e4 + lc_res.FStar_TypeChecker_Common.eff_name + lc_res.FStar_TypeChecker_Common.res_typ) in + (e1, lc_res))) + | FStar_Pervasives_Native.None -> + ((let uu___2 = + let uu___3 = + let uu___4 = FStar_Ident.string_of_lid f in + FStar_Compiler_Util.format1 + "Coercion %s was not found in the environment, not coercing." + uu___4 in + (FStar_Errors_Codes.Warning_CoercionNotFound, uu___3) in + FStar_Errors.log_issue e.FStar_Syntax_Syntax.pos uu___2); + (e, lc)) type isErased = | Yes of FStar_Syntax_Syntax.term | Maybe @@ -5059,6 +5236,151 @@ let rec (check_erased : | uu___10 -> Maybe))) No) | uu___2 -> No in r +let rec first_opt : + 'a 'b . + ('a -> 'b FStar_Pervasives_Native.option) -> + 'a Prims.list -> 'b FStar_Pervasives_Native.option + = + fun f -> + fun xs -> + match xs with + | [] -> FStar_Pervasives_Native.None + | x::xs1 -> + let uu___ = f x in + FStar_Compiler_Util.catch_opt uu___ (fun uu___1 -> first_opt f xs1) +let (find_coercion : + FStar_TypeChecker_Env.env -> + FStar_TypeChecker_Common.lcomp -> + FStar_Syntax_Syntax.typ -> + (FStar_Ident.lid * FStar_Syntax_Syntax.comp) + FStar_Pervasives_Native.option) + = + fun env -> + fun checked -> + fun exp_t -> + FStar_Errors.with_ctx "find_coercion" + (fun uu___ -> + let is_type t = + let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in + let t2 = FStar_Syntax_Util.unrefine t1 in + let uu___1 = + let uu___2 = FStar_Syntax_Subst.compress t2 in + uu___2.FStar_Syntax_Syntax.n in + match uu___1 with + | FStar_Syntax_Syntax.Tm_type uu___2 -> true + | uu___2 -> false in + let in_scope lid = + let uu___1 = FStar_TypeChecker_Env.try_lookup_lid env lid in + FStar_Pervasives_Native.uu___is_Some uu___1 in + let res_typ = + FStar_Syntax_Util.unrefine + checked.FStar_TypeChecker_Common.res_typ in + let uu___1 = FStar_Syntax_Util.head_and_args res_typ in + match uu___1 with + | (head, args) -> + let uu___2 = + let uu___3 = + let uu___4 = FStar_Syntax_Util.un_uinst head in + uu___4.FStar_Syntax_Syntax.n in + (uu___3, args) in + (match uu___2 with + | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + (FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.bool_lid) + && (is_type exp_t) + -> + let uu___3 = + let uu___4 = + FStar_Syntax_Syntax.mk_Total + FStar_Syntax_Util.ktype0 in + (FStar_Parser_Const.b2t_lid, uu___4) in + FStar_Pervasives_Native.Some uu___3 + | uu___3 -> + let op_let_Question = FStar_Compiler_Util.bind_opt in + let candidates = + FStar_TypeChecker_Env.lookup_attr env + "FStar.Pervasives.coercion" in + if Prims.uu___is_Cons candidates + then + FStar_Compiler_Effect.op_Bar_Greater candidates + (first_opt + (fun se -> + let uu___4 = + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_let + { + FStar_Syntax_Syntax.lbs1 = + (uu___5, lb::[]); + FStar_Syntax_Syntax.lids1 = uu___6;_} + -> + let uu___7 = + let uu___8 = + let uu___9 = + FStar_Compiler_Util.right + lb.FStar_Syntax_Syntax.lbname in + FStar_Syntax_Syntax.lid_of_fv + uu___9 in + (uu___8, + (lb.FStar_Syntax_Syntax.lbtyp)) in + FStar_Pervasives_Native.Some uu___7 + | FStar_Syntax_Syntax.Sig_declare_typ + { FStar_Syntax_Syntax.lid2 = lid; + FStar_Syntax_Syntax.us2 = uu___5; + FStar_Syntax_Syntax.t2 = t;_} + -> + FStar_Pervasives_Native.Some (lid, t) + | uu___5 -> FStar_Pervasives_Native.None in + op_let_Question uu___4 + (fun uu___5 -> + match uu___5 with + | (name, typ) -> + let uu___6 = + FStar_Syntax_Util.arrow_formals_comp + typ in + (match uu___6 with + | (bs, c) -> + if + (FStar_Compiler_List.length + bs) + <> Prims.int_one + then + FStar_Pervasives_Native.None + else + (let uu___8 = bs in + match uu___8 with + | b::[] -> + let c_checked = + FStar_TypeChecker_Normalize.unfold_whnf + env + (FStar_Syntax_Util.comp_result + c) in + let c_expected = + FStar_TypeChecker_Normalize.unfold_whnf + env exp_t in + let b_expected = + FStar_TypeChecker_Normalize.unfold_whnf + env + (b.FStar_Syntax_Syntax.binder_bv).FStar_Syntax_Syntax.sort in + let b_checked = + FStar_TypeChecker_Normalize.unfold_whnf + env + checked.FStar_TypeChecker_Common.res_typ in + let uu___9 = + (FStar_Syntax_Util.term_eq + b_checked + b_expected) + && + (FStar_Syntax_Util.term_eq + c_checked + c_expected) in + if uu___9 + then + FStar_Pervasives_Native.Some + (name, c) + else + FStar_Pervasives_Native.None))))) + else FStar_Pervasives_Native.None + | uu___3 -> FStar_Pervasives_Native.None)) let (maybe_coerce_lc : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -5078,191 +5400,67 @@ let (maybe_coerce_lc : if Prims.op_Negation should_coerce then (e, lc, FStar_TypeChecker_Env.trivial_guard) else - (let is_t_term t = - let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in - let uu___1 = - let uu___2 = FStar_Syntax_Subst.compress t1 in - uu___2.FStar_Syntax_Syntax.n in - match uu___1 with - | FStar_Syntax_Syntax.Tm_fvar fv -> - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.term_lid - | uu___2 -> false in - let is_t_term_view t = - let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in - let uu___1 = - let uu___2 = FStar_Syntax_Subst.compress t1 in - uu___2.FStar_Syntax_Syntax.n in - match uu___1 with - | FStar_Syntax_Syntax.Tm_fvar fv -> - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.term_view_lid - | uu___2 -> false in - let is_type t = - let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in - let t2 = FStar_Syntax_Util.unrefine t1 in - let uu___1 = - let uu___2 = FStar_Syntax_Subst.compress t2 in - uu___2.FStar_Syntax_Syntax.n in - match uu___1 with - | FStar_Syntax_Syntax.Tm_type uu___2 -> true - | uu___2 -> false in - let res_typ = - FStar_Syntax_Util.unrefine lc.FStar_TypeChecker_Common.res_typ in - let uu___1 = FStar_Syntax_Util.head_and_args res_typ in - match uu___1 with - | (head, args) -> - ((let uu___3 = - FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Coercions") in - if uu___3 - then - let uu___4 = - FStar_Compiler_Range_Ops.string_of_range - e.FStar_Syntax_Syntax.pos in - let uu___5 = FStar_Syntax_Print.term_to_string e in - let uu___6 = FStar_Syntax_Print.term_to_string res_typ in - let uu___7 = FStar_Syntax_Print.term_to_string exp_t in - FStar_Compiler_Util.print4 - "(%s) Trying to coerce %s from type (%s) to type (%s)\n" - uu___4 uu___5 uu___6 uu___7 - else ()); - (let mk_erased u t = - let uu___3 = - let uu___4 = - fvar_env env FStar_Parser_Const.erased_lid in - FStar_Syntax_Syntax.mk_Tm_uinst uu___4 [u] in - let uu___4 = - let uu___5 = FStar_Syntax_Syntax.as_arg t in [uu___5] in - FStar_Syntax_Util.mk_app uu___3 uu___4 in - let uu___3 = - let uu___4 = - let uu___5 = FStar_Syntax_Util.un_uinst head in - uu___5.FStar_Syntax_Syntax.n in - (uu___4, args) in - match uu___3 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - (FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.bool_lid) - && (is_type exp_t) - -> - let uu___4 = - coerce_with env e lc FStar_Syntax_Util.ktype0 - FStar_Parser_Const.b2t_lid [] [] - FStar_Syntax_Syntax.mk_Total in - (match uu___4 with - | (e1, lc1) -> - (e1, lc1, FStar_TypeChecker_Env.trivial_guard)) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - (FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.term_lid) - && (is_t_term_view exp_t) - -> - let uu___4 = - coerce_with env e lc FStar_Syntax_Syntax.t_term_view - FStar_Parser_Const.inspect [] [] - FStar_Syntax_Syntax.mk_Tac in - (match uu___4 with - | (e1, lc1) -> - (e1, lc1, FStar_TypeChecker_Env.trivial_guard)) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - (FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.term_view_lid) - && (is_t_term exp_t) - -> + ((let uu___2 = + FStar_TypeChecker_Env.debug env + (FStar_Options.Other "Coercions") in + if uu___2 + then + let uu___3 = + FStar_Compiler_Range_Ops.string_of_range + e.FStar_Syntax_Syntax.pos in + let uu___4 = FStar_Syntax_Print.term_to_string e in + let uu___5 = + FStar_Syntax_Print.term_to_string + lc.FStar_TypeChecker_Common.res_typ in + let uu___6 = FStar_Syntax_Print.term_to_string exp_t in + FStar_Compiler_Util.print4 + "(%s) Trying to coerce %s from type (%s) to type (%s)\n" + uu___3 uu___4 uu___5 uu___6 + else ()); + (let uu___2 = find_coercion env lc exp_t in + match uu___2 with + | FStar_Pervasives_Native.Some (f, c) -> + let uu___3 = coerce_with env e lc f [] [] c in + (match uu___3 with + | (e1, lc1) -> + (e1, lc1, FStar_TypeChecker_Env.trivial_guard)) + | FStar_Pervasives_Native.None -> + let uu___3 = + let uu___4 = + check_erased env lc.FStar_TypeChecker_Common.res_typ in + let uu___5 = check_erased env exp_t in (uu___4, uu___5) in + (match uu___3 with + | (No, Yes ty) -> + let u = env.FStar_TypeChecker_Env.universe_of env ty in let uu___4 = - coerce_with env e lc FStar_Syntax_Syntax.t_term - FStar_Parser_Const.pack [] [] - FStar_Syntax_Syntax.mk_Tac in + FStar_TypeChecker_Rel.get_subtyping_predicate env + lc.FStar_TypeChecker_Common.res_typ ty in (match uu___4 with - | (e1, lc1) -> - (e1, lc1, FStar_TypeChecker_Env.trivial_guard)) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - (FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.binder_lid) - && (is_t_term exp_t) - -> + | FStar_Pervasives_Native.None -> + (e, lc, FStar_TypeChecker_Env.trivial_guard) + | FStar_Pervasives_Native.Some g -> + let g1 = FStar_TypeChecker_Env.apply_guard g e in + let uu___5 = + let uu___6 = + let uu___7 = FStar_Syntax_Syntax.iarg ty in + [uu___7] in + let uu___7 = FStar_Syntax_Syntax.mk_Total exp_t in + coerce_with env e lc FStar_Parser_Const.hide + [u] uu___6 uu___7 in + (match uu___5 with | (e1, lc1) -> (e1, lc1, g1))) + | (Yes ty, No) -> + let u = env.FStar_TypeChecker_Env.universe_of env ty in let uu___4 = - coerce_with env e lc FStar_Syntax_Syntax.t_term - FStar_Parser_Const.binder_to_term [] [] - FStar_Syntax_Syntax.mk_Tac in + let uu___5 = + let uu___6 = FStar_Syntax_Syntax.iarg ty in + [uu___6] in + let uu___6 = FStar_Syntax_Syntax.mk_GTotal ty in + coerce_with env e lc FStar_Parser_Const.reveal + [u] uu___5 uu___6 in (match uu___4 with | (e1, lc1) -> (e1, lc1, FStar_TypeChecker_Env.trivial_guard)) - | uu___4 -> - let uu___5 = - let uu___6 = check_erased env res_typ in - let uu___7 = check_erased env exp_t in - (uu___6, uu___7) in - (match uu___5 with - | (No, Yes ty) -> - let u = - env.FStar_TypeChecker_Env.universe_of env ty in - let uu___6 = - FStar_TypeChecker_Rel.get_subtyping_predicate - env res_typ ty in - (match uu___6 with - | FStar_Pervasives_Native.None -> - (e, lc, FStar_TypeChecker_Env.trivial_guard) - | FStar_Pervasives_Native.Some g -> - let g1 = - FStar_TypeChecker_Env.apply_guard g e in - let uu___7 = - let uu___8 = - let uu___9 = FStar_Syntax_Syntax.iarg ty in - [uu___9] in - coerce_with env e lc exp_t - FStar_Parser_Const.hide [u] uu___8 - FStar_Syntax_Syntax.mk_Total in - (match uu___7 with - | (e1, lc1) -> (e1, lc1, g1))) - | (Yes ty, No) -> - let u = - env.FStar_TypeChecker_Env.universe_of env ty in - let uu___6 = - let uu___7 = - let uu___8 = FStar_Syntax_Syntax.iarg ty in - [uu___8] in - coerce_with env e lc ty - FStar_Parser_Const.reveal [u] uu___7 - FStar_Syntax_Syntax.mk_GTotal in - (match uu___6 with - | (e1, lc1) -> - (e1, lc1, - FStar_TypeChecker_Env.trivial_guard)) - | uu___6 -> - (e, lc, FStar_TypeChecker_Env.trivial_guard))))) -let (coerce_views : - FStar_TypeChecker_Env.env -> - FStar_Syntax_Syntax.term -> - FStar_TypeChecker_Common.lcomp -> - (FStar_Syntax_Syntax.term * FStar_TypeChecker_Common.lcomp) - FStar_Pervasives_Native.option) - = - fun env -> - fun e -> - fun lc -> - let rt = lc.FStar_TypeChecker_Common.res_typ in - let rt1 = FStar_Syntax_Util.unrefine rt in - let uu___ = FStar_Syntax_Util.head_and_args rt1 in - match uu___ with - | (hd, args) -> - let uu___1 = - let uu___2 = - let uu___3 = FStar_Syntax_Subst.compress hd in - uu___3.FStar_Syntax_Syntax.n in - (uu___2, args) in - (match uu___1 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when - FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.term_lid - -> - let uu___2 = - coerce_with env e lc FStar_Syntax_Syntax.t_term_view - FStar_Parser_Const.inspect [] [] - FStar_Syntax_Syntax.mk_Tac in - FStar_Compiler_Effect.op_Less_Bar - (fun uu___3 -> FStar_Pervasives_Native.Some uu___3) uu___2 - | uu___2 -> FStar_Pervasives_Native.None) + | uu___4 -> (e, lc, FStar_TypeChecker_Env.trivial_guard)))) let (weaken_result_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -7968,6 +8166,8 @@ let (update_env_sub_eff : (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -8062,6 +8262,8 @@ let (update_env_sub_eff : (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = diff --git a/ocaml/fstar-lib/generated/FStar_Universal.ml b/ocaml/fstar-lib/generated/FStar_Universal.ml index 3b0b1fef37e..3bed806e0b6 100644 --- a/ocaml/fstar-lib/generated/FStar_Universal.ml +++ b/ocaml/fstar-lib/generated/FStar_Universal.ml @@ -65,6 +65,8 @@ let with_dsenv_of_tcenv : (tcenv.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (tcenv.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (tcenv.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (tcenv.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -269,7 +271,10 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = } in let env = let uu___ = - let uu___1 = FStar_Tactics_Interpreter.primitive_steps () in + let uu___1 = + let uu___2 = FStar_Tactics_V1_Interpreter.primitive_steps () in + let uu___3 = FStar_Tactics_V2_Interpreter.primitive_steps () in + FStar_Compiler_List.op_At uu___2 uu___3 in FStar_TypeChecker_NBE.normalize uu___1 in FStar_TypeChecker_Env.initial_env deps FStar_TypeChecker_TcTerm.tc_term FStar_TypeChecker_TcTerm.typeof_tot_or_gtot_term @@ -316,6 +321,8 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -400,6 +407,8 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env1.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env1.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env1.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env1.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env1.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -487,6 +496,8 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env2.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -574,6 +585,8 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env3.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env3.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env3.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env3.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env3.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -660,6 +673,8 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.nosynth = (env4.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env4.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env4.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env4.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (env4.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); diff --git a/ocaml/fstar-tests/generated/FStar_Tests_Pars.ml b/ocaml/fstar-tests/generated/FStar_Tests_Pars.ml index 77ff9a995ba..0f6ccebc172 100644 --- a/ocaml/fstar-tests/generated/FStar_Tests_Pars.ml +++ b/ocaml/fstar-tests/generated/FStar_Tests_Pars.ml @@ -142,6 +142,8 @@ let (init_once : unit -> unit) = (env.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -246,6 +248,8 @@ let (init_once : unit -> unit) = (env2.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (env2.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (env2.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (env2.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = @@ -397,6 +401,8 @@ let (tc' : FStar_TypeChecker_Env.nosynth = (tcenv.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (tcenv.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (tcenv.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (tcenv.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (tcenv.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -494,6 +500,8 @@ let (tc_term : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = FStar_TypeChecker_Env.nosynth = (tcenv.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = (tcenv.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.intactics = + (tcenv.FStar_TypeChecker_Env.intactics); FStar_TypeChecker_Env.tc_term = (tcenv.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.typeof_tot_or_gtot_term = (tcenv.FStar_TypeChecker_Env.typeof_tot_or_gtot_term); @@ -626,63 +634,105 @@ let (test_hashes : unit -> unit) = aux (Prims.of_int (100)); FStar_Options.init ()) let (parse_incremental_decls : unit -> unit) = fun uu___ -> - let source = - "module Demo\nlet f x = match x with | Some x -> true | None -> false\nlet test y = if Some? y then f y else true\nlet some junk )(" in - let input = + let source0 = + "module Demo\nlet f x = match x with | Some x -> true | None -> false\nlet test y = if Some? y then f y else true\n```pulse\nfn f() {}\n```\n```pulse\nfn g() {}\n```\nlet something = more\nlet >< junk" in + let source1 = + "module Demo\nlet f x = match x with | Some x -> true | None -> false\nlet test y = if Some? y then f y else true\n```pulse\nfn f() {}\n```\n\n```pulse\nfn g() {}\n```\nlet something = more\nlet >< junk" in + let input0 = FStar_Parser_ParseIt.Incremental { FStar_Parser_ParseIt.frag_fname = "Demo.fst"; - FStar_Parser_ParseIt.frag_text = source; - FStar_Parser_ParseIt.frag_line = Prims.int_zero; + FStar_Parser_ParseIt.frag_text = source0; + FStar_Parser_ParseIt.frag_line = Prims.int_one; FStar_Parser_ParseIt.frag_col = Prims.int_zero } in - let uu___1 = FStar_Parser_ParseIt.parse input in + let input1 = + FStar_Parser_ParseIt.Incremental + { + FStar_Parser_ParseIt.frag_fname = "Demo.fst"; + FStar_Parser_ParseIt.frag_text = source1; + FStar_Parser_ParseIt.frag_line = Prims.int_one; + FStar_Parser_ParseIt.frag_col = Prims.int_zero + } in + let uu___1 = + let uu___2 = FStar_Parser_ParseIt.parse input0 in + let uu___3 = FStar_Parser_ParseIt.parse input1 in (uu___2, uu___3) in match uu___1 with - | FStar_Parser_ParseIt.IncrementalFragment (decls, uu___2, parse_err) -> - ((match parse_err with - | FStar_Pervasives_Native.None -> + | (FStar_Parser_ParseIt.IncrementalFragment (decls0, uu___2, parse_err0), + FStar_Parser_ParseIt.IncrementalFragment (decls1, uu___3, parse_err1)) + -> + let check_range r l c = + let p = FStar_Compiler_Range_Ops.start_of_range r in + let uu___4 = + (let uu___5 = FStar_Compiler_Range_Ops.line_of_pos p in + uu___5 = l) && + (let uu___5 = FStar_Compiler_Range_Ops.col_of_pos p in + uu___5 = c) in + if uu___4 + then () + else + (let uu___6 = + let uu___7 = FStar_Compiler_Util.string_of_int l in + let uu___8 = FStar_Compiler_Util.string_of_int c in + let uu___9 = + let uu___10 = FStar_Compiler_Range_Ops.line_of_pos p in + FStar_Compiler_Util.string_of_int uu___10 in + let uu___10 = + let uu___11 = FStar_Compiler_Range_Ops.col_of_pos p in + FStar_Compiler_Util.string_of_int uu___11 in + FStar_Compiler_Util.format4 + "Incremental parsing failed: Expected syntax error at (%s, %s), got error at (%s, %s)" + uu___7 uu___8 uu___9 uu___10 in + failwith uu___6) in + ((match (parse_err0, parse_err1) with + | (FStar_Pervasives_Native.None, uu___5) -> failwith - "Incremental parsing failed: Expected syntax error at (3,15), got no error" - | FStar_Pervasives_Native.Some (uu___4, uu___5, rng) -> - let p = FStar_Compiler_Range_Ops.start_of_range rng in - let uu___6 = - (let uu___7 = FStar_Compiler_Range_Ops.line_of_pos p in - uu___7 = (Prims.of_int (3))) && - (let uu___7 = FStar_Compiler_Range_Ops.col_of_pos p in - uu___7 = (Prims.of_int (15))) in - if uu___6 + "Incremental parsing failed: Expected syntax error at (8, 6), got no error" + | (uu___5, FStar_Pervasives_Native.None) -> + failwith + "Incremental parsing failed: Expected syntax error at (9, 6), got no error" + | (FStar_Pervasives_Native.Some (uu___5, uu___6, rng0), + FStar_Pervasives_Native.Some (uu___7, uu___8, rng1)) -> + (check_range rng0 (Prims.of_int (11)) (Prims.of_int (6)); + check_range rng1 (Prims.of_int (12)) (Prims.of_int (6)))); + (match (decls0, decls1) with + | (d0::d1::d2::d3::d4::d5::[], e0::e1::e2::e3::e4::e5::[]) -> + let uu___5 = + FStar_Compiler_List.forall2 + (fun uu___6 -> + fun uu___7 -> + match (uu___6, uu___7) with + | ((x, uu___8), (y, uu___9)) -> + FStar_Parser_AST_Util.eq_decl x y) decls0 decls1 in + if uu___5 then () else - (let uu___8 = - let uu___9 = - let uu___10 = FStar_Compiler_Range_Ops.line_of_pos p in - FStar_Compiler_Util.string_of_int uu___10 in - let uu___10 = - let uu___11 = FStar_Compiler_Range_Ops.col_of_pos p in - FStar_Compiler_Util.string_of_int uu___11 in - FStar_Compiler_Util.format2 - "Incremental parsing failed: Expected syntax error at (3,15), got error at (%s, %s)" - uu___9 uu___10 in - failwith uu___8)); - (match decls with - | d0::d1::d2::[] -> () - | uu___4 -> - let uu___5 = - let uu___6 = + failwith + "Incremental parsing failed; unexpected change in a decl" + | uu___5 -> + let uu___6 = + let uu___7 = FStar_Compiler_Util.string_of_int - (FStar_Compiler_List.length decls) in - FStar_Compiler_Util.format1 - "Incremental parsing failed; expected 3 decls got %s\n" - uu___6 in - failwith uu___5)) - | FStar_Parser_ParseIt.ParseError (code, message, range) -> + (FStar_Compiler_List.length decls0) in + let uu___8 = + FStar_Compiler_Util.string_of_int + (FStar_Compiler_List.length decls1) in + FStar_Compiler_Util.format2 + "Incremental parsing failed; expected 6 decls got %s and %s\n" + uu___7 uu___8 in + failwith uu___6)) + | (FStar_Parser_ParseIt.ParseError (code, message, range), uu___2) -> + let msg = + let uu___3 = FStar_Compiler_Range_Ops.string_of_range range in + FStar_Compiler_Util.format2 + "Incremental parsing failed: Syntax error @ %s: %s" uu___3 + message in + failwith msg + | (uu___2, FStar_Parser_ParseIt.ParseError (code, message, range)) -> let msg = - let uu___2 = FStar_Compiler_Range_Ops.string_of_range range in + let uu___3 = FStar_Compiler_Range_Ops.string_of_range range in FStar_Compiler_Util.format2 - "Incremental parsing failed: Syntax error @ %s: %s" uu___2 + "Incremental parsing failed: Syntax error @ %s: %s" uu___3 message in failwith msg - | FStar_Parser_ParseIt.ASTFragment uu___2 -> - failwith "Incremental parsing failed: Unexpected output" - | FStar_Parser_ParseIt.Term uu___2 -> - failwith "Incremental parsing failed: Unexpected output" \ No newline at end of file + | uu___2 -> failwith "Incremental parsing failed: Unexpected output" \ No newline at end of file diff --git a/ocaml/fstar/main.ml b/ocaml/fstar/main.ml index f86e3acc6bf..162e889f0b2 100644 --- a/ocaml/fstar/main.ml +++ b/ocaml/fstar/main.ml @@ -1,4 +1,11 @@ let x = + (* If we write to a pipe that tries to send something to a + process that died, we receive a SIGPIPE signal which + by defaults will terminate F*, and we won't get an exception + or anything. So, block them, and instead rely on OCaml exceptions + to detect this. *) + Unix.sigprocmask Unix.SIG_BLOCK [Sys.sigpipe]; + Printexc.record_backtrace true; Gc.set { (Gc.get()) with Gc.minor_heap_size = 1048576; Gc.major_heap_increment = 4194304; Gc.space_overhead = 150; }; FStar_Main.main () diff --git a/src/Makefile b/src/Makefile index 5a80798e360..4471d884b9f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -8,6 +8,9 @@ MAKEFLAGS += --no-builtin-rules .PHONY: clean boot ocaml +all: + $(error src/Makefile: Need to specify a rule) + clean: clean-ocaml # -------------------------------------------------------------------- @@ -34,38 +37,50 @@ clean-ocaml: clean_boot # Testing # -------------------------------------------------------------------- +.PHONY: ocaml-unit-tests ocaml-unit-tests: $(BIN)/fstar_tests.exe +.PHONY: ulib-in-fsharp ulib-in-fsharp: $(MAKE) -C ../ulib ulib-in-fsharp -# Getting parallelism from this target .PHONY: uregressions uregressions: ulib-extra tutorial utests uexamples -# Getting parallelism from this target as well # This is a hook for nightly builds (on Linux) # But, at the moment, it tests the same files as get tested on every push # We may add more nightly tests here in the future .PHONY: uregressions-ulong uregressions-ulong: uregressions +.PHONY: ulib-extra ulib-extra: +$(MAKE) -C ../ulib extra +.PHONY: tutorial tutorial: +$(MAKE) -C ../doc/tutorial regressions +$(MAKE) -C ../doc/book/code +.PHONY: utests utests: +$(MAKE) -C ../tests all -uexamples: +.PHONY: uexamples +uexamples: examples-all native_tactics-all semiring-all + +.PHONY: examples-all +examples-all: +$(MAKE) -C ../examples all + +.PHONY: native_tactics-all +native_tactics-all: +$(MAKE) -C ../examples native_tactics.all + +.PHONY: semiring-all +semiring-all: +$(MAKE) -C ../examples semiring.all ctags: ctags --exclude=boot_fsts --exclude=boot_fstis --exclude=ocaml-output -R . - diff --git a/src/Makefile.boot b/src/Makefile.boot index 2f0d1aaed81..e168785c325 100644 --- a/src/Makefile.boot +++ b/src/Makefile.boot @@ -29,13 +29,13 @@ OUTPUT_DIRECTORY_FOR = $(if $(findstring FStar_Tests_,$(1)),$(DUNE_SNAPSHOT)/fst EXTRACT_NAMESPACES=FStar.Extraction FStar.Parser \ FStar.Reflection FStar.SMTEncoding FStar.Syntax \ FStar.Tactics FStar.Tests FStar.ToSyntax \ - FStar.TypeChecker FStar.Profiling + FStar.TypeChecker FStar.Profiling FStar.Compiler # Except some files that want to extract are not within a particularly # specific namespace. So, we mention extracting those explicitly. # TODO: Do we really need this anymore? Which (implementation) modules # from src/basic are *not* extracted? -EXTRACT_MODULES=FStar.Pervasives FStar.Common FStar.Compiler.Range FStar.Thunk \ +EXTRACT_MODULES=FStar.Pervasives FStar.Common FStar.Thunk \ FStar.VConfig FStar.Options FStar.Ident FStar.Errors FStar.Errors.Codes FStar.Const \ FStar.Order FStar.Dependencies \ FStar.Interactive.CompletionTable \ @@ -44,14 +44,13 @@ EXTRACT_MODULES=FStar.Pervasives FStar.Common FStar.Compiler.Range FStar.Thunk FStar.Interactive.Ide FStar.Interactive.Ide.Types \ FStar.Interactive.Incremental FStar.Interactive.Legacy \ FStar.CheckedFiles FStar.Universal FStar.Prettyprint \ - FStar.Main FStar.Compiler.List FStar.Compiler.Option \ - FStar.Compiler.Dyn FStar.Json FStar.Compiler.Range.Type \ - FStar.Compiler.Range.Ops FStar.GenSym + FStar.Main FStar.Json FStar.GenSym # And there are a few specific files that should not be extracted at # all, despite being in one of the EXTRACT_NAMESPACES NO_EXTRACT=FStar.Tactics.Native FStar.Tactics.Load \ - FStar.Extraction.ML.PrintML FStar.Compiler.List + FStar.Extraction.ML.PrintML FStar.Compiler.List \ + FStar.Compiler.Effect EXTRACT = $(addprefix --extract_module , $(EXTRACT_MODULES)) \ $(addprefix --extract_namespace , $(EXTRACT_NAMESPACES)) \ diff --git a/src/basic/FStar.Compiler.List.fsti b/src/basic/FStar.Compiler.List.fsti index dddd860b22b..2dd349d85f9 100644 --- a/src/basic/FStar.Compiler.List.fsti +++ b/src/basic/FStar.Compiler.List.fsti @@ -75,3 +75,4 @@ val contains: #a:eqtype -> a -> (list a) -> Tot bool val unique: #a:eqtype -> list a -> list a val index: #a:eqtype -> (a -> bool) -> list a -> int val span: #a:eqtype -> (a -> bool) -> list a -> Tot ((list a) * (list a)) +val deduplicate (f: 'a -> 'a -> bool) (s: list 'a) : list 'a \ No newline at end of file diff --git a/src/basic/FStar.Compiler.Util.fsti b/src/basic/FStar.Compiler.Util.fsti index 9768330cbec..889eebe01ca 100644 --- a/src/basic/FStar.Compiler.Util.fsti +++ b/src/basic/FStar.Compiler.Util.fsti @@ -132,6 +132,7 @@ val colorize: string -> (string * string) -> string val colorize_bold: string -> string val colorize_red: string -> string val colorize_cyan: string -> string +val colorize_green: string -> string type out_channel @@ -140,6 +141,7 @@ val stderr: out_channel val stdout: out_channel val open_file_for_writing : string -> out_channel +val open_file_for_appending : string -> out_channel val close_out_channel : out_channel -> unit val flush: out_channel -> unit @@ -426,4 +428,4 @@ val unmarshal: string -> 'a val print_array (f: 'a -> string) (s:FStar.ImmutableArray.Base.t 'a) : string val array_length (s:FStar.ImmutableArray.Base.t 'a) : FStar.BigInt.t -val array_index (s:FStar.ImmutableArray.Base.t 'a) (i:FStar.BigInt.t) : 'a +val array_index (s:FStar.ImmutableArray.Base.t 'a) (i:FStar.BigInt.t) : 'a \ No newline at end of file diff --git a/src/basic/FStar.Errors.Codes.fst b/src/basic/FStar.Errors.Codes.fst index 8ba0f50c395..e47b52b11fa 100644 --- a/src/basic/FStar.Errors.Codes.fst +++ b/src/basic/FStar.Errors.Codes.fst @@ -256,7 +256,7 @@ let default_settings : list error_setting = Unused01 , CFatal, 237; Warning_PluginNotImplemented , CError, 238; Warning_AddImplicitAssumeNewQualifier , CWarning, 239; - Warning_AdmitWithoutDefinition , CWarning, 240; + Error_AdmitWithoutDefinition , CError, 240; Warning_CachedFile , CWarning, 241; Warning_DefinitionNotTranslated , CWarning, 242; Warning_DependencyFound , CWarning, 243; diff --git a/src/basic/FStar.Errors.Codes.fsti b/src/basic/FStar.Errors.Codes.fsti index 612580d5a64..d9866258730 100644 --- a/src/basic/FStar.Errors.Codes.fsti +++ b/src/basic/FStar.Errors.Codes.fsti @@ -266,7 +266,7 @@ type raw_error = | Fatal_WhenClauseNotSupported | Unused01 | Warning_AddImplicitAssumeNewQualifier - | Warning_AdmitWithoutDefinition + | Error_AdmitWithoutDefinition | Warning_CachedFile | Warning_DefinitionNotTranslated | Warning_DependencyFound diff --git a/src/basic/FStar.Errors.fst b/src/basic/FStar.Errors.fst index 726dfa11138..834d91c95ad 100644 --- a/src/basic/FStar.Errors.fst +++ b/src/basic/FStar.Errors.fst @@ -96,7 +96,9 @@ let update_flags (l:list (error_flag * string)) in flag, (l, h) in - let error_range_settings = List.map compute_range l in + // NOTE: Rev below so when we handle things like '@0..100-50' + // the -50 overrides the @0..100. + let error_range_settings = List.map compute_range (List.rev l) in List.collect set_flag_for_range error_range_settings @ default_settings @@ -470,14 +472,24 @@ let catch_errors_aux (f : unit -> 'a) : list issue & list issue & option 'a = let newh = mk_default_handler false in let old = !current_handler in current_handler := newh; + let finally_restore () = + let all_issues = newh.eh_report() in //de-duplicated already + current_handler := old; + let errs, rest = List.partition (fun i -> i.issue_level = EError) all_issues in + errs, rest + in let r = try Some (f ()) - with | ex -> err_exn ex; None + with + | ex when handleable ex -> + err_exn ex; + None + | ex -> + let _ = finally_restore() in + raise ex in - let all_issues = newh.eh_report() in //de-duplicated already - current_handler := old; - let errs, rest = List.partition (fun i -> i.issue_level = EError) all_issues in + let errs, rest = finally_restore() in errs, rest, r - + let no_ctx (f : unit -> 'a) : 'a = let save = error_context.get () in error_context.clear (); diff --git a/src/basic/FStar.Options.fst b/src/basic/FStar.Options.fst index d8b324b0179..ef4e5803709 100644 --- a/src/basic/FStar.Options.fst +++ b/src/basic/FStar.Options.fst @@ -169,6 +169,7 @@ let defaults = ("extract_namespace" , List []); ("full_context_dependency" , Bool true); ("hide_uvar_nums" , Bool false); + ("hint_hook" , Unset); ("hint_info" , Bool false); ("hint_dir" , Unset); ("hint_file" , Unset); @@ -356,6 +357,7 @@ let get_extract_module () = lookup_opt "extract_module" let get_extract_namespace () = lookup_opt "extract_namespace" (as_list as_string) let get_force () = lookup_opt "force" as_bool let get_hide_uvar_nums () = lookup_opt "hide_uvar_nums" as_bool +let get_hint_hook () = lookup_opt "hint_hook" (as_option as_string) let get_hint_info () = lookup_opt "hint_info" as_bool let get_hint_dir () = lookup_opt "hint_dir" (as_option as_string) let get_hint_file () = lookup_opt "hint_file" (as_option as_string) @@ -798,6 +800,14 @@ let rec specs_with_types warn_unsafe : list (char * string * opt_type * string) PathStr "path", "Read/write hints to path (instead of module-specific hints files; overrides hint_dir)"); + ( noshort, + "hint_hook", + SimpleStr "command", + "Use to generate hints for definitions which do not have them. The command will\n\t\ + receive a JSON representation of the query, the type of the top-level definition involved,\n\t\ + and the full SMT theory, and must output a comma separated list\n\t\ + of facts to be used."); + ( noshort, "hint_info", Const (Bool true), @@ -1283,7 +1293,7 @@ let rec specs_with_types warn_unsafe : list (char * string * opt_type * string) ( noshort, "warn_error", - Accumulated (SimpleStr ("")), + ReverseAccumulated (SimpleStr ("")), "The [-warn_error] option follows the OCaml syntax, namely:\n\t\t\ - [r] is a range of warnings (either a number [n], or a range [n..n])\n\t\t\ - [-r] silences range [r]\n\t\t\ @@ -1727,6 +1737,7 @@ let expose_interfaces () = get_expose_interfaces () let force () = get_force () let full_context_dependency () = true let hide_uvar_nums () = get_hide_uvar_nums () +let hint_hook () = get_hint_hook () let hint_info () = get_hint_info () || get_query_stats () let hint_dir () = get_hint_dir () diff --git a/src/basic/FStar.Options.fsti b/src/basic/FStar.Options.fsti index 05d6d9e4721..eb9fb9c0043 100644 --- a/src/basic/FStar.Options.fsti +++ b/src/basic/FStar.Options.fsti @@ -136,6 +136,7 @@ val fstar_bin_directory : string val get_option : string -> option_val val full_context_dependency : unit -> bool val hide_uvar_nums : unit -> bool +val hint_hook : unit -> option string val hint_info : unit -> bool val hint_file_for_src : string -> string val ide : unit -> bool diff --git a/src/extraction/FStar.Extraction.ML.Modul.fst b/src/extraction/FStar.Extraction.ML.Modul.fst index 4c2a10e03a5..9b6e49acb9c 100644 --- a/src/extraction/FStar.Extraction.ML.Modul.fst +++ b/src/extraction/FStar.Extraction.ML.Modul.fst @@ -14,37 +14,40 @@ limitations under the License. *) module FStar.Extraction.ML.Modul -open FStar.Pervasives -open FStar.Compiler.Effect -open FStar.Compiler.List + open FStar open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Compiler.List open FStar.Compiler.Util -open FStar.Syntax.Syntax open FStar.Const open FStar.Extraction.ML -open FStar.Extraction.ML.Syntax +open FStar.Extraction.ML.RegEmb open FStar.Extraction.ML.UEnv open FStar.Extraction.ML.Util open FStar.Ident +open FStar.Pervasives open FStar.Syntax -module Term = FStar.Extraction.ML.Term -module Print = FStar.Syntax.Print -module MLS = FStar.Extraction.ML.Syntax -module BU = FStar.Compiler.Util -module S = FStar.Syntax.Syntax -module SS = FStar.Syntax.Subst -module UF = FStar.Syntax.Unionfind -module U = FStar.Syntax.Util -module TC = FStar.TypeChecker.Tc -module N = FStar.TypeChecker.Normalize -module PC = FStar.Parser.Const -module Util = FStar.Extraction.ML.Util -module Env = FStar.TypeChecker.Env +open FStar.Syntax.Syntax +open FStar.Extraction.ML.Syntax (* Intentionally shadows part of Syntax.Syntax *) + +module Term = FStar.Extraction.ML.Term +module Print = FStar.Syntax.Print +module MLS = FStar.Extraction.ML.Syntax +module BU = FStar.Compiler.Util +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module UF = FStar.Syntax.Unionfind +module U = FStar.Syntax.Util +module TC = FStar.TypeChecker.Tc +module N = FStar.TypeChecker.Normalize +module PC = FStar.Parser.Const +module Util = FStar.Extraction.ML.Util +module Env = FStar.TypeChecker.Env module TcUtil = FStar.TypeChecker.Util -module EMB=FStar.Syntax.Embeddings -module Cfg = FStar.TypeChecker.Cfg +module EMB = FStar.Syntax.Embeddings +module Cfg = FStar.TypeChecker.Cfg type env_t = UEnv.uenv @@ -83,10 +86,10 @@ let as_pair = function | [a;b] -> (a,b) | _ -> failwith "Expected a list with 2 elements" -let flag_of_qual = function - | Assumption -> Some Assumed - | S.Private -> Some Private - | S.NoExtract -> Some NoExtract +let flag_of_qual : S.qualifier -> option meta = function + | S.Assumption -> Some Assumed + | S.Private -> Some Private + | S.NoExtract -> Some NoExtract | _ -> None (*****************************************************************************) @@ -96,7 +99,7 @@ let flag_of_qual = function // So far, we recognize only a couple special attributes; they are encoded as // type constructors for an inductive defined in Pervasives, to provide a minimal // amount of typo-checking via desugaring. -let rec extract_meta x = +let rec extract_meta x : option meta = match SS.compress x with | { n = Tm_fvar fv } -> begin match string_of_lid (lid_of_fv fv) with @@ -326,7 +329,7 @@ let extract_typ_abbrev env quals attrs lb * list mlmodule1 = let tcenv, (lbdef, lbtyp) = let tcenv, _, def_typ = - FStar.TypeChecker.Env.open_universes_in (tcenv_of_uenv env) lb.lbunivs [lb.lbdef; lb.lbtyp] + Env.open_universes_in (tcenv_of_uenv env) lb.lbunivs [lb.lbdef; lb.lbtyp] in tcenv, as_pair def_typ in @@ -672,7 +675,7 @@ let get_noextract_to (se:sigelt) (backend:option Options.codegen_t) : bool = let hd, args = U.head_and_args attr in match (SS.compress hd).n, args with | Tm_fvar fv, [(a, _)] when S.fv_eq_lid fv PC.noextract_to_attr -> - begin match EMB.unembed EMB.e_string a false EMB.id_norm_cb with + begin match EMB.try_unembed EMB.e_string a EMB.id_norm_cb with | Some s -> Option.isSome backend && Options.parse_codegen s = backend | None -> @@ -924,56 +927,6 @@ let extract_bundle env se = | _ -> failwith "Unexpected signature element" - - -(* When extracting a plugin, each top-level definition marked with a `@plugin` attribute - is extracted along with an invocation to FStar.Tactics.Native.register_tactic or register_plugin, - which installs the compiled term as a primitive step in the normalizer - *) -let maybe_register_plugin (g:env_t) (se:sigelt) : list mlmodule1 = - let w = with_ty MLTY_Top in - let plugin_with_arity attrs = - BU.find_map attrs (fun t -> - let head, args = U.head_and_args t in - if not (U.is_fvar PC.plugin_attr head) - then None - else match args with - | [({n=Tm_constant (Const_int(s, _))}, _)] -> - Some (Some (BU.int_of_string s)) - | _ -> Some None) - in - if Options.codegen() <> Some Options.Plugin then [] - else match plugin_with_arity se.sigattrs with - | None -> [] - | Some arity_opt -> - // BU.print2 "Got plugin with attrs = %s; arity_opt=%s" - // (List.map Print.term_to_string se.sigattrs |> String.concat " ") - // (match arity_opt with None -> "None" | Some x -> "Some " ^ string_of_int x); - begin - match se.sigel with - | Sig_let {lbs} -> - let mk_registration lb : list mlmodule1 = - let fv = right lb.lbname in - let fv_lid = fv.fv_name.v in - let fv_t = lb.lbtyp in - let ml_name_str = MLE_Const (MLC_String (Ident.string_of_lid fv_lid)) in - match Util.interpret_plugin_as_term_fun g fv fv_t arity_opt ml_name_str with - | Some (interp, nbe_interp, arity, plugin) -> - let register, args = - if plugin - then (["FStar_Tactics_Native"], "register_plugin"), [interp; nbe_interp] - else (["FStar_Tactics_Native"], "register_tactic"), [interp] - in - let h = with_ty MLTY_Top <| MLE_Name register in - let arity = MLE_Const (MLC_Int(string_of_int arity, None)) in - let app = with_ty MLTY_Top <| MLE_App (h, [w ml_name_str; w arity] @ args) in - [MLM_Top app] - | None -> [] - in - List.collect mk_registration (snd lbs) - | _ -> [] - end - let lb_irrelevant (g:env_t) (lb:letbinding) : bool = Env.non_informative (tcenv_of_uenv g) lb.lbtyp && // result type is non informative not (Term.is_arity g lb.lbtyp) && // but not a type definition @@ -996,7 +949,8 @@ let rec extract_sig (g:env_t) (se:sigelt) : env_t * list mlmodule1 = | Sig_bundle _ | Sig_inductive_typ _ | Sig_datacon _ -> - extract_bundle g se + let g, ses = extract_bundle g se in + g, ses @ maybe_register_plugin g se | Sig_new_effect ed when Env.is_reifiable_effect (tcenv_of_uenv g) ed.mname -> let env, _iface, impl = diff --git a/src/extraction/FStar.Extraction.ML.RegEmb.fst b/src/extraction/FStar.Extraction.ML.RegEmb.fst new file mode 100644 index 00000000000..181984f3468 --- /dev/null +++ b/src/extraction/FStar.Extraction.ML.RegEmb.fst @@ -0,0 +1,815 @@ +(* + Copyright 2008-2015 Abhishek Anand, Nikhil Swamy and 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.Extraction.ML.RegEmb + +(* This module handles registering plugins and generating +embeddings for their types. *) + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Compiler.List +open FStar.Const +open FStar.Extraction.ML.Syntax +open FStar.Extraction.ML.UEnv +open FStar.Syntax.Syntax + +module BU = FStar.Compiler.Util +module Code = FStar.Extraction.ML.Code +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module N = FStar.TypeChecker.Normalize +module NBET = FStar.TypeChecker.NBETerm +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module RC = FStar.Reflection.V2.Constants +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module Term = FStar.Extraction.ML.Term +module U = FStar.Syntax.Util +module Util = FStar.Extraction.ML.Util + +exception NoEmbedding of string +exception Unsupported of string + +(*** ML syntax helpers ***) +let splitlast s = let x::xs = List.rev s in (List.rev xs, x) + +let mk e = with_ty MLTY_Top e + +let ml_name : Ident.lid -> mlexpr = + fun l -> + let s = Ident.path_of_lid l in + let ns, id = splitlast s in + mk (MLE_Name (ns, id)) + +let ml_name' : string -> mlexpr = + fun s -> + ml_name (Ident.lid_of_str s) + +let ml_ctor : Ident.lid -> list mlexpr -> mlexpr = + fun l args -> + let s = Ident.path_of_lid l in + let ns, id = splitlast s in + mk (MLE_CTor ((ns, id), args)) + +let ml_record : Ident.lid -> list (string & mlexpr) -> mlexpr = + fun l args -> + let s = Ident.path_of_lid l in + // [] -> assuming same module + mk (MLE_Record ([], args)) + +let ml_lam nm e = + mk <| MLE_Fun ([(nm, MLTY_Top)], e) + +let ml_none : mlexpr = mk (MLE_Name (["FStar"; "Pervasives"; "Native"], "None")) +let ml_some : mlexpr = mk (MLE_Name (["FStar"; "Pervasives"; "Native"], "Some")) + +let tm_fvar_lid = Ident.lid_of_str "FStar.Syntax.Syntax.Tm_fvar" +let fv_eq_lid_lid = Ident.lid_of_str "FStar.Syntax.Syntax.fv_eq_lid" +let s_tdataconstr_lid = Ident.lid_of_str "FStar.Syntax.Syntax.tdataconstr" +let lid_of_str_lid = Ident.lid_of_str "FStar.Ident.lid_of_str" // :^) +let mk_app_lid = Ident.lid_of_str "FStar.Syntax.Util.mk_app" +let nil_lid = Ident.lid_of_str "Prims.Nil" +let cons_lid = Ident.lid_of_str "Prims.Cons" +let embed_lid = Ident.lid_of_str "FStar.Syntax.Embeddings.Base.extracted_embed" +let unembed_lid = Ident.lid_of_str "FStar.Syntax.Embeddings.Base.extracted_unembed" +let bind_opt_lid = Ident.lid_of_str "FStar.Compiler.Util.bind_opt" + +let ml_nbe_unsupported : mlexpr = + (* extraction thunks this definition *) + let hd = mk (MLE_Name (["FStar"; "TypeChecker"; "NBETerm"], "e_unsupported")) in + mk (MLE_App (hd, [ml_unit])) + +let ml_magic : mlexpr = + mk (MLE_Coerce (ml_unit, MLTY_Top, MLTY_Top)) + +let as_name mlp = with_ty MLTY_Top <| MLE_Name mlp + +let ml_failwith (s:string) : mlexpr = + mk <| MLE_App(as_name ([], "failwith"), [mk <| MLE_Const (MLC_String s)]) + +let rec as_ml_list (ts : list mlexpr) : mlexpr = + match ts with + | [] -> ml_ctor nil_lid [] + | t::ts -> ml_ctor cons_lid [t; as_ml_list ts] + +let rec pats_to_list_pat (vs : list mlpattern) : mlpattern = + match vs with + | [] -> MLP_CTor ((["Prims"], "Nil"), []) + | p::ps -> MLP_CTor ((["Prims"], "Cons"), [p; pats_to_list_pat ps]) +(*** / ML syntax helpers ***) + +let fresh : string -> string = + let r = BU.mk_ref 0 in + fun s -> + let v = !r in + r := v+1; + s^"_"^(string_of_int v) + +let not_implemented_warning (r: Range.range) (t: string) (msg: string) = + Errors.log_issue r + (Errors.Warning_PluginNotImplemented, + BU.format3 "Plugin `%s' can not run natively because %s (use --warn_error -%s to carry on)." + t + msg + (string_of_int <| Errors.error_number (Errors.lookup Errors.Warning_PluginNotImplemented))) + +type embedding_data = { + arity : int; + syn_emb : Ident.lid; (* lid for regular embedding *) + nbe_emb : option Ident.lid; (* nbe embedding, optional! will abort _at runtime_ if None and called *) +} + +(*** List of registered embeddings ***) +let builtin_embeddings : list (Ident.lident & embedding_data) = + let syn_emb_lid s = Ident.lid_of_path ["FStar"; "Syntax"; "Embeddings"; s] Range.dummyRange in + let nbe_emb_lid s = Ident.lid_of_path ["FStar"; "TypeChecker"; "NBETerm"; s] Range.dummyRange in + let refl_emb_lid s = Ident.lid_of_path ["FStar"; "Reflection"; "V2"; "Embeddings"; s] Range.dummyRange in + let nbe_refl_emb_lid s = Ident.lid_of_path ["FStar"; "Reflection"; "V2"; "NBEEmbeddings"; s] Range.dummyRange in + [ + (PC.int_lid, {arity=0; syn_emb=syn_emb_lid "e_int"; nbe_emb=Some(nbe_emb_lid "e_int")}); + (PC.bool_lid, {arity=0; syn_emb=syn_emb_lid "e_bool"; nbe_emb=Some(nbe_emb_lid "e_bool")}); + (PC.unit_lid, {arity=0; syn_emb=syn_emb_lid "e_unit"; nbe_emb=Some(nbe_emb_lid "e_unit")}); + (PC.string_lid, {arity=0; syn_emb=syn_emb_lid "e_string"; nbe_emb=Some(nbe_emb_lid "e_string")}); + (PC.norm_step_lid, {arity=0; syn_emb=syn_emb_lid "e_norm_step"; nbe_emb=Some(nbe_emb_lid "e_norm_step")}); + (PC.__range_lid, {arity=0; syn_emb=syn_emb_lid "e___range"; nbe_emb=Some(nbe_emb_lid "e___range")}); + + (PC.vconfig_lid, {arity=0; syn_emb=syn_emb_lid "e_vconfig"; nbe_emb=Some(nbe_emb_lid "e_vconfig")}); + + (PC.list_lid, {arity=1; syn_emb=syn_emb_lid "e_list"; nbe_emb=Some(nbe_emb_lid "e_list")}); + (PC.option_lid, {arity=1; syn_emb=syn_emb_lid "e_option"; nbe_emb=Some(nbe_emb_lid "e_option")}); + (PC.sealed_lid, {arity=1; syn_emb=syn_emb_lid "e_sealed"; nbe_emb=Some(nbe_emb_lid "e_sealed")}); + + (PC.mk_tuple_lid 2 Range.dummyRange, {arity=2; syn_emb=syn_emb_lid "e_tuple2"; nbe_emb=Some(nbe_emb_lid "e_tuple2")}); + (PC.mk_tuple_lid 3 Range.dummyRange, {arity=3; syn_emb=syn_emb_lid "e_tuple3"; nbe_emb=Some(nbe_emb_lid "e_tuple3")}); + (PC.either_lid, {arity=2; syn_emb=syn_emb_lid "e_either"; nbe_emb=Some(nbe_emb_lid "e_either")}); + + (* Reflection base types *) + (RC.fstar_refl_types_lid "namedv", {arity=0; syn_emb=refl_emb_lid "e_namedv"; nbe_emb=Some(nbe_refl_emb_lid "e_namedv")}); + (RC.fstar_refl_types_lid "bv", {arity=0; syn_emb=refl_emb_lid "e_bv"; nbe_emb=Some(nbe_refl_emb_lid "e_bv")}); + (RC.fstar_refl_types_lid "binder", {arity=0; syn_emb=refl_emb_lid "e_binder"; nbe_emb=Some(nbe_refl_emb_lid "e_binder")}); + (RC.fstar_refl_types_lid "term", {arity=0; syn_emb=refl_emb_lid "e_term"; nbe_emb=Some(nbe_refl_emb_lid "e_term")}); + (RC.fstar_refl_types_lid "env", {arity=0; syn_emb=refl_emb_lid "e_env"; nbe_emb=Some(nbe_refl_emb_lid "e_env")}); + (RC.fstar_refl_types_lid "fv", {arity=0; syn_emb=refl_emb_lid "e_fv"; nbe_emb=Some(nbe_refl_emb_lid "e_fv")}); + (RC.fstar_refl_types_lid "comp", {arity=0; syn_emb=refl_emb_lid "e_comp"; nbe_emb=Some(nbe_refl_emb_lid "e_comp")}); + (RC.fstar_refl_types_lid "sigelt", {arity=0; syn_emb=refl_emb_lid "e_sigelt"; nbe_emb=Some(nbe_refl_emb_lid "e_sigelt")}); + (RC.fstar_refl_types_lid "ctx_uvar_and_subst", {arity=0; syn_emb=refl_emb_lid "e_ctx_uvar_and_subst"; nbe_emb=Some(nbe_refl_emb_lid "e_ctx_uvar_and_subst")}); + (RC.fstar_refl_types_lid "letbinding",{arity=0; syn_emb=refl_emb_lid "e_letbinding";nbe_emb=Some(nbe_refl_emb_lid "e_letbinding")}); + (RC.fstar_refl_types_lid "ident", {arity=0; syn_emb=refl_emb_lid "e_ident"; nbe_emb=Some(nbe_refl_emb_lid "e_ident")}); + (RC.fstar_refl_types_lid "universe_uvar", {arity=0; syn_emb=refl_emb_lid "e_universe_uvar"; nbe_emb=Some(nbe_refl_emb_lid "e_universe_uvar")}); + (RC.fstar_refl_types_lid "universe", {arity=0; syn_emb=refl_emb_lid "e_universe"; nbe_emb=Some(nbe_refl_emb_lid "e_universe")}); + + (* Views and datatypes *) + (RC.fstar_refl_data_lid "vconst", {arity=0; syn_emb=refl_emb_lid "e_vconst"; nbe_emb=Some(nbe_refl_emb_lid "e_vconst")}); + (RC.fstar_refl_data_lid "aqualv", {arity=0; syn_emb=refl_emb_lid "e_aqualv"; nbe_emb=Some(nbe_refl_emb_lid "e_aqualv")}); + (RC.fstar_refl_data_lid "pattern", {arity=0; syn_emb=refl_emb_lid "e_pattern"; nbe_emb=Some(nbe_refl_emb_lid "e_pattern")}); + (RC.fstar_refl_data_lid "namedv_view", {arity=0; syn_emb=refl_emb_lid "e_namedv_view"; nbe_emb=Some(nbe_refl_emb_lid "e_namedv_view")}); + (RC.fstar_refl_data_lid "bv_view", {arity=0; syn_emb=refl_emb_lid "e_bv_view"; nbe_emb=Some(nbe_refl_emb_lid "e_bv_view")}); + (RC.fstar_refl_data_lid "binder_view", {arity=0; syn_emb=refl_emb_lid "e_binder_view"; nbe_emb=Some(nbe_refl_emb_lid "e_binder_view")}); + (RC.fstar_refl_data_lid "binding", {arity=0; syn_emb=refl_emb_lid "e_binding"; nbe_emb=Some(nbe_refl_emb_lid "e_binding")}); + (RC.fstar_refl_data_lid "universe_view", {arity=0; syn_emb=refl_emb_lid "e_universe_view"; nbe_emb=Some(nbe_refl_emb_lid "e_universe_view")}); + (RC.fstar_refl_data_lid "term_view", {arity=0; syn_emb=refl_emb_lid "e_term_view"; nbe_emb=Some(nbe_refl_emb_lid "e_term_view")}); + (RC.fstar_refl_data_lid "comp_view", {arity=0; syn_emb=refl_emb_lid "e_comp_view"; nbe_emb=Some(nbe_refl_emb_lid "e_comp_view")}); + (RC.fstar_refl_data_lid "lb_view", {arity=0; syn_emb=refl_emb_lid "e_lb_view"; nbe_emb=Some(nbe_refl_emb_lid "e_lb_view")}); + (RC.fstar_refl_data_lid "sigelt_view", {arity=0; syn_emb=refl_emb_lid "e_sigelt_view"; nbe_emb=Some(nbe_refl_emb_lid "e_sigelt_view")}); + (RC.fstar_refl_data_lid "qualifier", {arity=0; syn_emb=refl_emb_lid "e_qualifier"; nbe_emb=Some(nbe_refl_emb_lid "e_qualifier")}); + ] + +let local_fv_embeddings : ref (list (Ident.lident & embedding_data)) = BU.mk_ref [] +let register_embedding (l: Ident.lident) (d: embedding_data) : unit = + if Options.debug_at_level_no_module (Options.Other "Plugins") then + BU.print1 "Registering local embedding for %s\n" (Ident.string_of_lid l); + local_fv_embeddings := (l,d) :: !local_fv_embeddings + +let list_local () = !local_fv_embeddings + +let find_fv_embedding' (l: Ident.lident) : option embedding_data = + match List.find (fun (l', _) -> Ident.lid_equals l l') + (!local_fv_embeddings @ builtin_embeddings) + with + | Some (_, data) -> Some data + | None -> None + +let find_fv_embedding (l: Ident.lident) : embedding_data = + match find_fv_embedding' l with + | Some data -> data + | None -> + raise (NoEmbedding ("Embedding not defined for type " ^ Ident.string_of_lid l)) + +(*** /List of registered embeddings ***) + +type embedding_kind = + | SyntaxTerm + | NBETerm + +(*** Make an embedding for a composite type (arrows, tuples, list, etc). The environment +is a mapping from variable names into their embeddings. *) +let rec embedding_for + (tcenv:Env.env) + (mutuals: list Ident.lid) + (k: embedding_kind) + (env:list (bv * string)) + (t: term) +: mlexpr += let str_to_name s = as_name ([], s) in + let emb_arrow e1 e2 = + let comb = + match k with + | SyntaxTerm -> ml_name' (`%EMB.e_arrow) + | NBETerm -> ml_name' (`%NBET.e_arrow) + in + mk (MLE_App (comb, [e1; e2])) + in + let find_env_entry bv (bv', _) = S.bv_eq bv bv' in + (* + * We need the whnf to reduce things like + * ppname_t ~> Inhabited.sealed_ string "" ~> Sealed.sealed string + * If we just unfold variable, we will hit lambdas. + *) + let t = N.unfold_whnf tcenv t in + let t = U.un_uinst t in + let t = SS.compress t in + match t.n with + (* A name, explain (why e_any?) *) + | Tm_name bv when BU.for_some (find_env_entry bv) env -> + let comb = + match k with + | SyntaxTerm -> ml_name' (`%EMB.mk_any_emb) + | NBETerm -> ml_name' (`%NBET.mk_any_emb) + in + let s = snd (BU.must (BU.find_opt (find_env_entry bv) env)) in + mk <| MLE_App(comb, [str_to_name s]) + + (* Refinements are irrelevant for embeddings. *) + | Tm_refine {b=x} -> + embedding_for tcenv mutuals k env x.sort + + (* Ascriptions are irrelevant for embeddings. *) + | Tm_ascribed {tm=t} -> + embedding_for tcenv mutuals k env t + + (* Pure arrow *) + | Tm_arrow {bs=[b]; comp=c} when U.is_pure_comp c -> + let [b], c = FStar.Syntax.Subst.open_comp [b] c in + let t0 = b.binder_bv.sort in + let t1 = U.comp_result c in + emb_arrow (embedding_for tcenv mutuals k env t0) (embedding_for tcenv mutuals k env t1) + + (* More than 1 binder, curry and retry *) + | Tm_arrow {bs=b::more::bs; comp=c} -> + let tail = S.mk (Tm_arrow {bs=more::bs; comp=c}) t.pos in + let t = S.mk (Tm_arrow {bs=[b]; comp=S.mk_Total tail}) t.pos in + embedding_for tcenv mutuals k env t + + | Tm_app _ -> + let head, args = U.head_and_args t in + let e_head = embedding_for tcenv mutuals k env head in + let e_args = List.map (fun (t, _) -> embedding_for tcenv mutuals k env t) args in + mk <| MLE_App (e_head, e_args) + + (* An fv part of the mutual set of inductives that we are making + an embedding for, just point to the recursive binding. There is a catch + though: we want to generate something like: + + let rec e_t1 = mk_emb ... + and e_t2 = mk_emb ... + ... + + but this does not satisfy OCamls's let-rec restrictions. Hence, we thunk + all of them, using a name prefix __knot_e, and later define the e_X at the + top-level by unthunking. + *) + | Tm_fvar fv when List.existsb (Ident.lid_equals fv.fv_name.v) mutuals -> + let head = mk <| MLE_Var ("__knot_e_" ^ Ident.string_of_id (Ident.ident_of_lid fv.fv_name.v)) in + mk (MLE_App (head, [ml_unit])) + + (* An fv for which we have an embedding already registered. *) + | Tm_fvar fv when Some? (find_fv_embedding' fv.fv_name.v) -> + let emb_data = find_fv_embedding fv.fv_name.v in + begin match k with + | SyntaxTerm -> ml_name emb_data.syn_emb + | NBETerm -> + begin match emb_data.nbe_emb with + | Some lid -> ml_name lid + | None -> + ml_nbe_unsupported + end + end + + (* + * An fv which we do not have registered, but has the plugin + * attribute. We assume it must have had an embedding generated + * right next to it in its same module. + *) + | Tm_fvar fv when Env.fv_has_attr tcenv fv PC.plugin_attr -> + begin match k with + | SyntaxTerm -> + let lid = fv.fv_name.v in + as_name (List.map Ident.string_of_id (Ident.ns_of_lid lid), + "e_" ^ Ident.string_of_id (Ident.ident_of_lid lid)) + | NBETerm -> + ml_nbe_unsupported + end + + (* An fv which we do not have registered, and did not unfold *) + | Tm_fvar fv -> + raise (NoEmbedding (BU.format1 "Embedding not defined for name `%s'" (Print.term_to_string t))) + + | _ -> + raise (NoEmbedding (BU.format2 "Cannot embed type `%s' (%s)" (Print.term_to_string t) (Print.tag_of_term t))) + +type wrapped_term = mlexpr * mlexpr * int * bool + +let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:option int) (ml_fv:mlexpr') + : option wrapped_term = + let fv_lid = fv.fv_name.v in + let tcenv = UEnv.tcenv_of_uenv env in + let t = N.normalize [ + Env.EraseUniverses; + Env.AllowUnboundUniverses; + Env.UnfoldUntil S.delta_constant; // unfold abbreviations such as nat + Env.ForExtraction + ] tcenv t in + let as_name mlp = with_ty MLTY_Top <| MLE_Name mlp in + let lid_to_name l = with_ty MLTY_Top <| MLE_Name (UEnv.mlpath_of_lident env l) in + let str_to_name s = as_name ([], s) in + let fv_lid_embedded = + with_ty MLTY_Top <| + MLE_App (as_name (["FStar_Ident"],"lid_of_str"), + [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid))]) + in + let mk_tactic_interpretation l arity = + if arity > FStar.Tactics.V2.InterpFuns.max_tac_arity then + raise (NoEmbedding("tactic plugins can only take up to 20 arguments")) + else + let idroot = + match l with + | SyntaxTerm -> "mk_tactic_interpretation_" + | NBETerm -> "mk_nbe_tactic_interpretation_" + in + as_name (["FStar_Tactics_V2_InterpFuns"], idroot^string_of_int arity) + in + let mk_from_tactic l arity = + let idroot = + match l with + | SyntaxTerm -> "from_tactic_" + | NBETerm -> "from_nbe_tactic_" + in + as_name (["FStar_Tactics_Native"], idroot^string_of_int arity) + in + let mk_arrow_as_prim_step k (arity: int) : mlexpr = + let modul = + match k with + | SyntaxTerm -> ["FStar"; "Syntax"; "Embeddings"] + | NBETerm -> ["FStar"; "TypeChecker"; "NBETerm"] + in + as_name (modul, "arrow_as_prim_step_" ^ string_of_int arity) + in + (* Generates the ML syntax of a term of type + `FStar.Syntax.Embeddings.embedding [[t]]` + where [[t]] is the ML denotation of the F* type t + *) + (* abstract_tvars: + body is an implicitly polymorphic function over tvar_names + whose type is of the form `args -> term` + + returns an mlexpr that explicitly abstracts over FStar.Syntax.term + representations of those type arguments + peeling away a prefix of args corresponding to the type arguments + *) + let abstract_tvars tvar_names (body:mlexpr) : mlexpr = + match tvar_names with + | [] -> + let body = + mk <| MLE_App(as_name (["FStar_Syntax_Embeddings"], "debug_wrap"), + [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid)); + ml_lam "_" (mk <| MLE_App(body, [str_to_name "args"]))]) + in + ml_lam "args" body + | _ -> + let args_tail = MLP_Var "args_tail" in + let mk_cons hd_pat tail_pat = + MLP_CTor ((["Prims"], "Cons"), [hd_pat; tail_pat]) + in + let fst_pat v = + MLP_Tuple [MLP_Var v; MLP_Wild] + in + let pattern = + List.fold_right + (fun hd_var -> mk_cons (fst_pat hd_var)) + tvar_names + args_tail + in + let branch = + pattern, + None, + mk <| MLE_App(body, [as_name ([], "args")]) + in + let default_branch = + MLP_Wild, + None, + mk <| MLE_App(str_to_name "failwith", + [mk <| MLE_Const (MLC_String "arity mismatch")]) + in + let body = + mk <| MLE_Match(as_name ([], "args"), [branch; default_branch]) + in + let body = + mk <| MLE_App(as_name (["FStar_Syntax_Embeddings"], "debug_wrap"), + [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid)); + ml_lam "_" body]) + in + ml_lam "args" body + in + (* We're trying to register a plugin or tactic + ml_fv which has source F* type t *) + let bs, c = U.arrow_formals_comp t in + let bs, c = + match arity_opt with + | None -> bs, c + | Some n -> + let n_bs = List.length bs in + if n = n_bs then bs, c + else if n < n_bs + then let bs, rest = BU.first_N n bs in + let c = S.mk_Total <| U.arrow rest c in + bs, c + else // n > bs + let msg = + BU.format3 + "Embedding not defined for %s; expected arity at least %s; got %s" + (Ident.string_of_lid fv_lid) + (BU.string_of_int n) + (BU.string_of_int n_bs) in + raise (NoEmbedding msg) + in + let result_typ = U.comp_result c in + let arity = List.length bs in + let type_vars, bs = + match + BU.prefix_until + (fun ({binder_bv=b}) -> + match (SS.compress b.sort).n with + | Tm_type _ -> false + | _ -> true) + bs + with + | None -> + bs, [] + | Some (tvars, x, rest) -> + tvars, x::rest + in + (* Explicit polymorphism in the source type `t` + is turned into implicit polymorphism in ML. + + `t` is really `forall type_vars. bs -> result_typ` + *) + let tvar_arity = List.length type_vars in + let non_tvar_arity = List.length bs in + let tvar_names = List.mapi (fun i tv -> ("tv_" ^ string_of_int i)) type_vars in + let tvar_context : list (bv * string) = List.map2 (fun b nm -> b.binder_bv, nm) type_vars tvar_names in + // The tvar_context records all the ML type variables in scope + // All their embeddings will be just identity embeddings + + (* aux: The main function that builds the registration code + + accum_embeddings: all the embeddings of the arguments (in reverse order) + bs: the remaining arguments + + returns (mlexpr, //the registration code + int, //the arity of the compiled code (+1 for tactics) + bool) //true if this is a tactic + *) + let rec aux loc (accum_embeddings:list mlexpr) bs : (mlexpr * int * bool) = + match bs with + | [] -> + let arg_unembeddings = List.rev accum_embeddings in + let res_embedding = embedding_for tcenv [] loc tvar_context result_typ in + let fv_lid = fv.fv_name.v in + if U.is_pure_comp c + then begin + let cb = str_to_name "cb" in + let embed_fun_N = mk_arrow_as_prim_step loc non_tvar_arity in + let args = arg_unembeddings + @ [res_embedding; + lid_to_name fv_lid; + with_ty MLTY_Top <| MLE_Const (MLC_Int(string_of_int tvar_arity, None)); + fv_lid_embedded; + cb] + in + let fun_embedding = mk <| MLE_App(embed_fun_N, args) in + let tabs = abstract_tvars tvar_names fun_embedding in + let cb_tabs = ml_lam "cb" tabs in + ((if loc = NBETerm then cb_tabs else ml_lam "_psc" cb_tabs), + arity, + true) + end + else if Ident.lid_equals (FStar.TypeChecker.Env.norm_eff_name tcenv (U.comp_effect_name c)) + PC.effect_TAC_lid + then begin + let h = mk_tactic_interpretation loc non_tvar_arity in + let tac_fun = mk <| MLE_App (mk_from_tactic loc non_tvar_arity, + [lid_to_name fv_lid]) + 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 = + [tac_fun] @ + arg_unembeddings @ + [res_embedding; + psc; + ncb] in + let tabs = + match tvar_names with + | [] -> ml_lam "args" (mk <| MLE_App (h, args@[all_args])) + | _ -> abstract_tvars tvar_names (mk <| MLE_App (h, args)) + in + (ml_lam "psc" (ml_lam "ncb" tabs), + arity + 1, + false) + end + else raise (NoEmbedding("Plugins not defined for type " ^ Print.term_to_string t)) + + | ({binder_bv=b})::bs -> + aux loc (embedding_for tcenv [] loc tvar_context b.sort::accum_embeddings) bs + in + try + let w, a, b = aux SyntaxTerm [] bs in + let w', _, _ = aux NBETerm [] bs in + Some (w, w', a, b) + with + | NoEmbedding msg -> + not_implemented_warning (Ident.range_of_lid fv.fv_name.v) + (FStar.Syntax.Print.fv_to_string fv) + msg; + None + +(* Creates an unembedding function for the type *) +let mk_unembed + (tcenv:Env.env) // tc environment mostly used to lookup fvs + (mutuals : list Ident.lid) // mutual inductives we are defining embedding for + (record_fields : option (list mlpath)) // if this type is a record, these are the (extracted) field names + (ctors: list sigelt) // constructors of the inductive +: mlexpr += let e_branches : ref (list mlbranch) = BU.mk_ref [] in + let arg_v = fresh "tm" in + ctors |> List.iter (fun ctor -> + match ctor.sigel with + | Sig_datacon {lid; us; t; ty_lid; num_ty_params; mutuals=_} -> + let fv = fresh "fv" in + let bs, c = U.arrow_formals t in + let vs = List.map (fun b -> fresh (Ident.string_of_id b.binder_bv.ppname), b.binder_bv.sort) bs in + + let pat_s = MLP_Const (MLC_String (Ident.string_of_lid lid)) in + (* let pat_args = MLP_CTor ((["Prims"], "Nil"), List.map (fun (v, _) -> MLP_Var v) vs) in *) + let pat_args = vs |> List.map (fun (v,_) -> MLP_Var v) |> pats_to_list_pat in + let pat_both = MLP_Tuple [pat_s; pat_args] in + + let ret = + match record_fields with + | Some fields -> + ml_record lid (List.map2 (fun (v, _) fld -> snd fld, mk (MLE_Var v)) vs fields) + | None -> + ml_ctor lid (List.map (fun (v, _) -> mk (MLE_Var v)) vs) + in + let ret = mk (MLE_App (ml_some, [ret])) in // final return + + let body = List.fold_right (fun (v, ty) body -> + let body = mk (MLE_Fun ([(v, MLTY_Top)], body)) in + + mk (MLE_App (ml_name bind_opt_lid, [ + mk (MLE_App (ml_name unembed_lid, [embedding_for tcenv mutuals SyntaxTerm [] ty; mk (MLE_Var v)])); + body; + ])) + ) vs ret + in + let br = (pat_both, None, body) in + + e_branches := br :: !e_branches + | _ -> failwith "impossible, filter above" + ); + let nomatch : mlbranch = (MLP_Wild, None, ml_none) in + let branches = List.rev (nomatch :: !e_branches) in + let sc = mk (MLE_Var arg_v) in + let def = mk (MLE_Match (sc, branches)) in + let lam = mk (MLE_Fun ([arg_v, MLTY_Top], def)) in + lam + +(* Creates an embedding function for the type *) +let mk_embed + (tcenv:Env.env) // tc environment mostly used to lookup fvs + (mutuals : list Ident.lid) // mutual inductives we are defining embedding for + (record_fields : option (list mlpath)) // if this type is a record, these are the (extracted) field names + (ctors: list sigelt) // constructors of the inductive +: mlexpr += let e_branches : ref (list mlbranch) = BU.mk_ref [] in + let arg_v = fresh "tm" in + ctors |> List.iter (fun ctor -> + match ctor.sigel with + | Sig_datacon {lid; us; t; ty_lid; num_ty_params; mutuals=_} -> + let fv = fresh "fv" in + let bs, c = U.arrow_formals t in + let vs = List.map (fun b -> fresh (Ident.string_of_id b.binder_bv.ppname), b.binder_bv.sort) bs in + let pat = + match record_fields with + | Some fields -> + // [] -> assuming same module + MLP_Record ([], List.map2 (fun v fld -> snd fld, MLP_Var (fst v)) vs fields) + | None -> + MLP_CTor (splitlast (Ident.path_of_lid lid), List.map (fun v -> MLP_Var (fst v)) vs) + in + let fvar = ml_name s_tdataconstr_lid in + let lid_of_str = ml_name lid_of_str_lid in + let head = mk (MLE_App (fvar, [ + mk (MLE_App (lid_of_str, [mk (MLE_Const (MLC_String (Ident.string_of_lid lid)))]))])) + in + let mk_mk_app t ts = + // FIXME: all explicit + let ts = List.map (fun t -> mk (MLE_Tuple [t; ml_none])) ts in + mk (MLE_App (ml_name mk_app_lid, [t; as_ml_list ts])) + in + let args = + vs |> List.map (fun (v, ty) -> + let vt = mk (MLE_Var v) in + mk (MLE_App (ml_name embed_lid, [embedding_for tcenv mutuals SyntaxTerm [] ty; vt])) + ) + in + let ret = mk_mk_app head args in + let br = (pat, None, ret) in + + e_branches := br :: !e_branches + | _ -> failwith "impossible, filter above" + ); + let branches = List.rev !e_branches in + let sc = mk (MLE_Var arg_v) in + let def = mk (MLE_Match (sc, branches)) in + let lam = mk (MLE_Fun ([arg_v, MLTY_Top], def)) in + lam + + +let __do_handle_plugin (g: uenv) (arity_opt: option int) (se: sigelt) : list mlmodule1 = + // BU.print2 "Got plugin with attrs = %s; arity_opt=%s" + // (List.map Print.term_to_string se.sigattrs |> String.concat " ") + // (match arity_opt with None -> "None" | Some x -> "Some " ^ string_of_int x); + let r = se.sigrng in + match se.sigel with + | Sig_let {lbs} -> + let mk_registration lb : list mlmodule1 = + let fv = BU.right lb.lbname in + let fv_lid = fv.fv_name.v in + let fv_t = lb.lbtyp in + let ml_name_str = MLE_Const (MLC_String (Ident.string_of_lid fv_lid)) in + match interpret_plugin_as_term_fun g fv fv_t arity_opt ml_name_str with + | Some (interp, nbe_interp, arity, plugin) -> + let register, args = + if plugin + then (["FStar_Tactics_Native"], "register_plugin"), [interp; nbe_interp] + else (["FStar_Tactics_Native"], "register_tactic"), [interp] + in + let h = with_ty MLTY_Top <| MLE_Name register in + let arity = MLE_Const (MLC_Int(string_of_int arity, None)) in + let app = with_ty MLTY_Top <| MLE_App (h, [mk ml_name_str; mk arity] @ args) in + [MLM_Top app] + | None -> [] + in + List.collect mk_registration (snd lbs) + + | Sig_bundle {ses} -> + let mutual_sigelts = List.filter (fun se -> match se.sigel with | Sig_inductive_typ _ -> true | _ -> false) ses in + let mutual_lids = List.map (fun se -> match se.sigel with | Sig_inductive_typ {lid} -> lid ) mutual_sigelts in + let proc_one (typ_sigelt:sigelt) = + let Sig_inductive_typ {lid=tlid; params=ps} = typ_sigelt.sigel in + if List.length ps > 0 then + raise (Unsupported "parameters on inductive"); + let ns = Ident.ns_of_lid tlid in + let name = Ident.string_of_id (List.last (Ident.ids_of_lid tlid)) in + + (* get constructors for this particular mutual *) + let ctors = + List.filter (fun se -> match se.sigel with | Sig_datacon {ty_lid} -> Ident.lid_equals ty_lid tlid | _ -> false) ses + in + let ml_name = mk (MLE_Const (MLC_String (Ident.string_of_lid tlid))) in + + let record_fields = + match List.find (function RecordType _ -> true | _ -> false) typ_sigelt.sigquals with + | Some (RecordType (_, b)) -> + (* Extraction may change the names of fields to disambiguate them, + * query the environment for the extracted names. *) + Some (List.map (fun f -> lookup_record_field_name g (tlid, f)) b) + | _ -> + None + in + + let tcenv = tcenv_of_uenv g in + let ml_unembed = mk_unembed tcenv mutual_lids record_fields ctors in + let ml_embed = mk_embed tcenv mutual_lids record_fields ctors in + let def = mk (MLE_App (mk (MLE_Name (["FStar"; "Syntax"; "Embeddings"; "Base"], "mk_extracted_embedding")), [ + ml_name; + ml_unembed; + ml_embed])) + in + let def = mk (MLE_Fun ([("_", MLTY_Erased)], def)) in // thunk + let lb = { + mllb_name = "__knot_e_" ^ name; + mllb_tysc = None; + mllb_add_unit = false; + mllb_def = def; + mllb_meta = []; + print_typ = false; + } + in + // TODO: parameters + register_embedding tlid { + arity = 0; + syn_emb = Ident.lid_of_ns_and_id ns (Ident.mk_ident ("e_"^name, Range.dummyRange)); + nbe_emb = None; + }; + [lb] + in + let lbs = List.concatMap proc_one mutual_sigelts in + let unthunking : list mlmodule1 = + mutual_sigelts |> List.concatMap (fun se -> + let tlid = (match se.sigel with | Sig_inductive_typ {lid=tlid} -> tlid) in + let name = Ident.string_of_id (List.last (Ident.ids_of_lid tlid)) in + let app = + let head = mk <| MLE_Var ("__knot_e_" ^ name) in + mk (MLE_App (head, [ml_unit])) + in + let lb = { + mllb_name = "e_" ^ name; + mllb_tysc = None; + mllb_add_unit = false; + mllb_def = app; + mllb_meta = []; + print_typ = false; + } + in + [MLM_Let (NonRec, [lb])] + ) + in + // TODO: We always make a let rec, we could check if that's really needed. + [MLM_Let (Rec, lbs)] @ unthunking + + | _ -> [] + +let do_handle_plugin (g: uenv) (arity_opt: option int) (se: sigelt) : list mlmodule1 = + try __do_handle_plugin g arity_opt se with + | Unsupported msg -> + // Change error code? + Errors.log_issue se.sigrng (Errors.Warning_PluginNotImplemented, + BU.format2 "Could not generate a plugin for %s, reason = %s" (Print.sigelt_to_string_short se) msg); + [] + | NoEmbedding msg -> + not_implemented_warning se.sigrng + (Print.sigelt_to_string_short se) + msg; + [] + +(* When extracting a plugin, each top-level definition marked with a `@plugin` attribute + is extracted along with an invocation to FStar.Tactics.Native.register_tactic or register_plugin, + which installs the compiled term as a primitive step in the normalizer + *) +let maybe_register_plugin (g:uenv) (se:sigelt) : list mlmodule1 = + (* The `plugin` attribute takes an optional arity, parse it. + * None: not a plugin + * Some None: plugin without explicit arity + * Some (Some n): plugin with explicit arity n + *) + let plugin_with_arity (attrs: list term) : option (option int) = + BU.find_map attrs (fun t -> + let head, args = U.head_and_args t in + if not (U.is_fvar PC.plugin_attr head) then + None + else match args with + | [(a, _)] -> + (* Try to unembed the argument as an int, warn if not possible. *) + let nopt = EMB.unembed EMB.e_fsint a EMB.id_norm_cb in + Some nopt + | _ -> Some None + ) + in + if Options.codegen() <> Some Options.Plugin then + [] + else match plugin_with_arity se.sigattrs with + | None -> [] + (* ignore projectors and discriminators, they get a @@plugin attribute inherited + from the type, but we should not do anything for them. *) + | Some _ when List.existsb (function Projector _ | Discriminator _ -> true | _ -> false) se.sigquals -> + [] + | Some arity_opt -> + do_handle_plugin g arity_opt se diff --git a/src/extraction/FStar.Extraction.ML.RegEmb.fsti b/src/extraction/FStar.Extraction.ML.RegEmb.fsti new file mode 100644 index 00000000000..333372dfdf8 --- /dev/null +++ b/src/extraction/FStar.Extraction.ML.RegEmb.fsti @@ -0,0 +1,43 @@ + +(* + Copyright 2008-2015 Abhishek Anand, Nikhil Swamy and 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.Extraction.ML.RegEmb + +(* This module handles registering plugins and generating +embeddings for their types. *) + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect + +open FStar.Syntax.Syntax +open FStar.Extraction.ML +open FStar.Extraction.ML.Syntax +open FStar.Extraction.ML.UEnv + +(* When extracting a plugin, each top-level definition marked with a `@plugin` attribute + is extracted along with an invocation to FStar.Tactics.Native.register_tactic or register_plugin, + which installs the compiled term as a primitive step in the normalizer + *) +val maybe_register_plugin (g:uenv) (se:sigelt) : list mlmodule1 + +val interpret_plugin_as_term_fun : + UEnv.uenv + -> fv:fv + -> t:typ + -> arity:option int + -> ml_fv:mlexpr' + -> option (mlexpr * mlexpr * int * bool) diff --git a/src/extraction/FStar.Extraction.ML.Syntax.fst b/src/extraction/FStar.Extraction.ML.Syntax.fst index caeb76b7957..e6161606554 100644 --- a/src/extraction/FStar.Extraction.ML.Syntax.fst +++ b/src/extraction/FStar.Extraction.ML.Syntax.fst @@ -165,7 +165,7 @@ type mlexpr' = | MLE_CTor of mlpath * list mlexpr | MLE_Seq of list mlexpr | MLE_Tuple of list mlexpr -| MLE_Record of list mlsymbol * list (mlsymbol * mlexpr) +| MLE_Record of list mlsymbol * list (mlsymbol * mlexpr) // path of record type, and fields with values | MLE_Proj of mlexpr * mlpath | MLE_If of mlexpr * mlexpr * option mlexpr | MLE_Raise of mlpath * list mlexpr diff --git a/src/extraction/FStar.Extraction.ML.Term.fst b/src/extraction/FStar.Extraction.ML.Term.fst index 44d8c707186..320a5971a4c 100644 --- a/src/extraction/FStar.Extraction.ML.Term.fst +++ b/src/extraction/FStar.Extraction.ML.Term.fst @@ -31,23 +31,22 @@ open FStar.Extraction.ML.Util open FStar.Syntax.Syntax open FStar.Errors -module Code = FStar.Extraction.ML.Code -module BU = FStar.Compiler.Util -module S = FStar.Syntax.Syntax -module SS = FStar.Syntax.Subst -module U = FStar.Syntax.Util -module N = FStar.TypeChecker.Normalize -module PC = FStar.Parser.Const -module TcEnv = FStar.TypeChecker.Env +module BU = FStar.Compiler.Util +module Code = FStar.Extraction.ML.Code +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module N = FStar.TypeChecker.Normalize +module PC = FStar.Parser.Const +module RC = FStar.Reflection.V2.Constants +module RD = FStar.Reflection.V2.Data +module RE = FStar.Reflection.V2.Embeddings +module R = FStar.Reflection.V2.Builtins +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module TcEnv = FStar.TypeChecker.Env module TcTerm = FStar.TypeChecker.TcTerm module TcUtil = FStar.TypeChecker.Util -module R = FStar.Reflection.Basic -module RD = FStar.Reflection.Data -module EMB = FStar.Syntax.Embeddings -module RE = FStar.Reflection.Embeddings -module Env = FStar.TypeChecker.Env - -module RC = FStar.Reflection.Constants +module U = FStar.Syntax.Util exception Un_extractable @@ -856,6 +855,7 @@ let resugar_pat g q p = match p with | Some (Record_ctor (ty, fns)) -> let path = List.map string_of_id (ns_of_lid ty) in let fs = record_fields g ty fns pats in + let path = no_fstar_stubs_ns path in MLP_Record(path, fs) | _ -> p end @@ -1102,6 +1102,7 @@ let maybe_eta_data_and_project_record (g:uenv) (qual : option fv_qual) (residual | MLE_CTor(_, args), Some (Record_ctor(tyname, fields)) -> let path = List.map string_of_id (ns_of_lid tyname) in let fields = record_fields g tyname fields args in + let path = no_fstar_stubs_ns path in with_ty e.mlty <| MLE_Record(path, fields) | _ -> e in diff --git a/src/extraction/FStar.Extraction.ML.UEnv.fst b/src/extraction/FStar.Extraction.ML.UEnv.fst index e7a40267bef..df7a924e19f 100644 --- a/src/extraction/FStar.Extraction.ML.UEnv.fst +++ b/src/extraction/FStar.Extraction.ML.UEnv.fst @@ -246,6 +246,16 @@ let is_fv_type g fv = is_type_name g fv || g.tydefs |> BU.for_some (fun tydef -> fv_eq fv tydef.tydef_fv) +let no_fstar_stubs_ns (ns : list mlsymbol) : list mlsymbol = + match ns with + | "FStar"::"Stubs"::rest -> "FStar"::rest + | _ -> ns + +let no_fstar_stubs (p : mlpath) : mlpath = + let ns, id = p in + let ns = no_fstar_stubs_ns ns in + ns, id + (** Find the ML counterpart of an F* record field identifier - F* Record field names are pairs of a fully qualified *type* name @@ -362,7 +372,9 @@ let find_uniq ml_ident_map root_name is_local_type_variable = (** The ML namespace corresponding to an F* qualified name is just all the identifiers in the F* namespace (as strings) *) -let mlns_of_lid (x:lident) = List.map string_of_id (ns_of_lid x) +let mlns_of_lid (x:lident) = + List.map string_of_id (ns_of_lid x) |> no_fstar_stubs_ns + (**** Extending context with identifiers *) @@ -569,6 +581,7 @@ let extend_record_field_name g (type_name, fn) = let name, fieldname_map = find_uniq g.env_fieldname_map (string_of_id fn) false in let ns = mlns_of_lid type_name in let mlp = ns, name in + let mlp = no_fstar_stubs mlp in let g = { g with env_fieldname_map = fieldname_map; mlpath_of_fieldname = BU.psmap_add g.mlpath_of_fieldname (string_of_lid key) mlp } in diff --git a/src/extraction/FStar.Extraction.ML.UEnv.fsti b/src/extraction/FStar.Extraction.ML.UEnv.fsti index 975911f7954..29db92ff335 100644 --- a/src/extraction/FStar.Extraction.ML.UEnv.fsti +++ b/src/extraction/FStar.Extraction.ML.UEnv.fsti @@ -217,3 +217,6 @@ val extend_with_module_name : (** Mark exiting a module scope *) val exit_module : uenv -> uenv + +val no_fstar_stubs : mlpath -> mlpath +val no_fstar_stubs_ns : list mlsymbol -> list mlsymbol diff --git a/src/extraction/FStar.Extraction.ML.Util.fst b/src/extraction/FStar.Extraction.ML.Util.fst index 1606c81fbad..0e14b0eedd3 100644 --- a/src/extraction/FStar.Extraction.ML.Util.fst +++ b/src/extraction/FStar.Extraction.ML.Util.fst @@ -394,378 +394,3 @@ let rec uncurry_mlty_fun t = let args, res = uncurry_mlty_fun b in a::args, res | _ -> [], t - -(* helper functions used to extract, alongside a tactic, its corresponding call - to FStar.Tactics.Native.register_tactic *) -module RC = FStar.Reflection.Constants -module SEmb = FStar.Syntax.Embeddings -module REmb = FStar.Reflection.Embeddings - -exception NoTacticEmbedding of string - -let not_implemented_warning r t msg = - Errors.log_issue r - (Errors.Warning_PluginNotImplemented, - BU.format3 "Plugin %s can not run natively because %s (use --warn_error -%s to carry on)." - t - msg - (string_of_int <| Errors.error_number (Errors.lookup Errors.Warning_PluginNotImplemented))) - -type emb_loc = - | Syntax_term (* FStar.Syntax.Embeddings *) - | Refl_emb (* FStar.Reflection.Embeddings *) - | NBE_t (* FStar.TypeChecker.NBETerm *) - | NBERefl_emb (* FStar.Reflection.NBEEmbeddings *) - -type wrapped_term = mlexpr * mlexpr * int * bool - -let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:option int) (ml_fv:mlexpr') - : option wrapped_term = - let fv_lid = fv.fv_name.v in - let tcenv = UEnv.tcenv_of_uenv env in - let t = N.normalize [ - Env.EraseUniverses; - Env.AllowUnboundUniverses; - Env.UnfoldUntil S.delta_constant; // unfold abbreviations such as nat - Env.ForExtraction - ] tcenv t in - let w = with_ty MLTY_Top in - let as_name mlp = with_ty MLTY_Top <| MLE_Name mlp in - let lid_to_name l = with_ty MLTY_Top <| MLE_Name (UEnv.mlpath_of_lident env l) in - let str_to_name s = as_name ([], s) in - let fstar_tc_nbe_prefix s = as_name (["FStar_TypeChecker_NBETerm"], s) in - let fstar_syn_emb_prefix s = as_name (["FStar_Syntax_Embeddings"], s) in - let fstar_refl_emb_prefix s = as_name (["FStar_Reflection_Embeddings"], s) in - let fstar_refl_nbeemb_prefix s = as_name (["FStar_Reflection_NBEEmbeddings"], s) in - let fv_lid_embedded = - with_ty MLTY_Top <| - MLE_App (as_name (["FStar_Ident"],"lid_of_str"), - [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid))]) - in - let emb_prefix = function - | 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 arity = - if arity > FStar.Tactics.InterpFuns.max_tac_arity then - raise (NoTacticEmbedding("tactic plugins can only take up to 20 arguments")) - else - let idroot = - match l with - | Syntax_term -> - "mk_tactic_interpretation_" - | _ -> - "mk_nbe_tactic_interpretation_" - in - as_name (["FStar_Tactics_InterpFuns"], idroot^string_of_int arity) - in - let mk_from_tactic l arity = - let idroot = - match l with - | Syntax_term -> "from_tactic_" - | _ -> "from_nbe_tactic_" - in - as_name (["FStar_Tactics_Native"], idroot^string_of_int arity) - in - let mk_basic_embedding (l:emb_loc) (s: string): mlexpr = - if s = "norm_step" (* hack, ignore me *) - then - match l with - | Syntax_term -> as_name (["FStar_Tactics_Builtins"], "e_norm_step'") - | NBE_t -> as_name (["FStar_Tactics_Builtins"], "e_norm_step_nbe'") - | _ -> failwith "impossible: mk_basic_embedding norm_step" - else emb_prefix l ("e_" ^ s) - in - let mk_arrow_as_prim_step l (arity: int): mlexpr = - emb_prefix l ("arrow_as_prim_step_" ^ string_of_int arity) - in - let mk_any_embedding l (s: string): mlexpr = - w <| MLE_App(emb_prefix l "mk_any_emb", [str_to_name s]) - in - let mk_lam nm e = - w <| MLE_Fun ([(nm, MLTY_Top)], e) - in - let emb_arrow l e1 e2 = - w <| MLE_App(emb_prefix l "e_arrow", [e1; e2]) - in - let known_type_constructors = - let term_cs = - [ (PC.int_lid, 0, "int"), Syntax_term; - (PC.bool_lid, 0, "bool"), Syntax_term; - (PC.unit_lid, 0, "unit"), Syntax_term; - (PC.string_lid, 0, "string"), Syntax_term; - (PC.norm_step_lid, 0, "norm_step"), Syntax_term; - (PC.list_lid, 1, "list"), Syntax_term; - (PC.option_lid, 1, "option"), Syntax_term; - (PC.sealed_lid, 1, "sealed"), Syntax_term; - (PC.mk_tuple_lid 2 Range.dummyRange, 2, "tuple2"), Syntax_term; - (RC.fstar_refl_types_lid "term", 0, "term"), Refl_emb; - (RC.fstar_refl_types_lid "sigelt", 0, "sigelt"), Refl_emb; - (RC.fstar_refl_types_lid "fv", 0, "fv"), Refl_emb; - (RC.fstar_refl_types_lid "binder", 0, "binder"), Refl_emb; - (RC.fstar_refl_types_lid "env", 0, "env"), Refl_emb; - (RC.fstar_refl_syntax_lid "binders", 0, "binders"), Refl_emb; - (RC.fstar_refl_data_lid "exp", 0, "exp"), Refl_emb; - ] - in - let nbe_cs = - List.map (function - | x, Syntax_term -> x, NBE_t - | x, Refl_emb -> x, NBERefl_emb - | _ -> failwith "Impossible") - term_cs - in - function - | Syntax_term - | Refl_emb -> term_cs - | _ -> nbe_cs - in - let is_known_type_constructor l (fv:S.fv) (n:int) = - BU.for_some - (fun ((x, args, _), _) -> fv_eq_lid fv x && n = args) - (known_type_constructors l) - in - let find_env_entry bv (bv', _) = S.bv_eq bv bv' in - (* Generates the ML syntax of a term of type - `FStar.Syntax.Embeddings.embedding [[t]]` - where [[t]] is the ML denotation of the F* type t - *) - let rec mk_embedding l (env:list (bv * string)) (t: term): mlexpr = - let t = FStar.TypeChecker.Normalize.unfold_whnf' [Env.ForExtraction] tcenv t in - match (FStar.Syntax.Subst.compress t).n with - | Tm_name bv - when BU.for_some (find_env_entry bv) env -> - mk_any_embedding l <| snd (BU.must (BU.find_opt (find_env_entry bv) env)) - - | Tm_refine {b=x} -> - (* Refinements are irrelevant to generate embeddings. *) - mk_embedding l env x.sort - - | Tm_ascribed {tm=t} -> - mk_embedding l env t - - | Tm_arrow {bs=[b]; comp=c} when U.is_pure_comp c -> - let bs, c = FStar.Syntax.Subst.open_comp [b] c in - let t0 = (List.hd bs).binder_bv.sort in - let t1 = U.comp_result c in - emb_arrow l (mk_embedding l env t0) (mk_embedding l env t1) - - | Tm_arrow {bs=b::more::bs; comp=c} -> - let tail = S.mk (Tm_arrow {bs=more::bs; comp=c}) t.pos in - let t = S.mk (Tm_arrow {bs=[b]; comp=S.mk_Total tail}) t.pos in - mk_embedding l env t - - | Tm_fvar _ - | Tm_uinst _ - | Tm_app _ -> - let head, args = U.head_and_args t in - let n_args = List.length args in - begin - match (U.un_uinst head).n with - | Tm_fvar fv - when is_known_type_constructor l fv n_args -> - begin - let arg_embeddings = - args - |> List.map (fun (t, _) -> mk_embedding l env t) - in - let (_, t_arity, nm), loc_embedding = - BU.find_opt - (fun ((x, _, _), _) -> fv_eq_lid fv x) - (known_type_constructors l) - |> BU.must - in - let head = mk_basic_embedding loc_embedding nm in - match t_arity with - | 0 -> - head - | n -> - w <| MLE_App (head, arg_embeddings) - end - - | _ -> - raise (NoTacticEmbedding("Embedding not defined for type " ^ (Print.term_to_string t))) - end - - | _ -> - raise (NoTacticEmbedding("Embedding not defined for type " ^ (Print.term_to_string t))) - in - (* abstract_tvars: - body is an implicitly polymorphic function over tvar_names - whose type is of the form `args -> term` - - returns an mlexpr that explicitly abstracts over FStar.Syntax.term - representations of those type arguments - peeling away a prefix of args corresponding to the type arguments - *) - let abstract_tvars tvar_names (body:mlexpr) : mlexpr = - match tvar_names with - | [] -> - let body = - w <| MLE_App(as_name (["FStar_Syntax_Embeddings"], "debug_wrap"), - [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid)); - mk_lam "_" (w <| MLE_App(body, [str_to_name "args"]))]) - in - mk_lam "args" body - | _ -> - let args_tail = MLP_Var "args_tail" in - let mk_cons hd_pat tail_pat = - MLP_CTor ((["Prims"], "Cons"), [hd_pat; tail_pat]) - in - let fst_pat v = - MLP_Tuple [MLP_Var v; MLP_Wild] - in - let pattern = - List.fold_right - (fun hd_var -> mk_cons (fst_pat hd_var)) - tvar_names - args_tail - in - let branch = - pattern, - None, - w <| MLE_App(body, [as_name ([], "args")]) - in - let default_branch = - MLP_Wild, - None, - w <| MLE_App(str_to_name "failwith", - [w <| mlexpr_of_const - Range.dummyRange - (FStar.Const.Const_string("arity mismatch", Range.dummyRange))]) - in - let body = - w <| MLE_Match(as_name ([], "args"), [branch; default_branch]) - in - let body = - w <| MLE_App(as_name (["FStar_Syntax_Embeddings"], "debug_wrap"), - [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid)); - mk_lam "_" body]) - in - mk_lam "args" body - in - (* We're trying to register a plugin or tactic - ml_fv which has source F* type t *) - let bs, c = U.arrow_formals_comp t in - let bs, c = - match arity_opt with - | None -> bs, c - | Some n -> - let n_bs = List.length bs in - if n = n_bs then bs, c - else if n < n_bs - then let bs, rest = BU.first_N n bs in - let c = S.mk_Total <| U.arrow rest c in - bs, c - else // n > bs - let msg = - BU.format3 - "Embedding not defined for %s; expected arity at least %s; got %s" - (Ident.string_of_lid fv_lid) - (BU.string_of_int n) - (BU.string_of_int n_bs) in - raise (NoTacticEmbedding msg) - in - let result_typ = U.comp_result c in - let arity = List.length bs in - let type_vars, bs = - match - BU.prefix_until - (fun ({binder_bv=b}) -> - match (Subst.compress b.sort).n with - | Tm_type _ -> false - | _ -> true) - bs - with - | None -> - bs, [] - | Some (tvars, x, rest) -> - tvars, x::rest - in - (* Explicit polymorphism in the source type `t` - is turned into implicit polymorphism in ML. - - `t` is really `forall type_vars. bs -> result_typ` - *) - let tvar_arity = List.length type_vars in - let non_tvar_arity = List.length bs in - let tvar_names = List.mapi (fun i tv -> ("tv_" ^ string_of_int i)) type_vars in - let tvar_context : list (bv * string) = List.map2 (fun b nm -> b.binder_bv, nm) type_vars tvar_names in - // The tvar_context records all the ML type variables in scope - // All their embeddings will be just identity embeddings - - (* aux: The main function that builds the registration code - - accum_embeddings: all the embeddings of the arguments (in reverse order) - bs: the remaining arguments - - returns (mlexpr, //the registration code - int, //the arity of the compiled code (+1 for tactics) - bool) //true if this is a tactic - *) - let rec aux loc (accum_embeddings:list mlexpr) bs : (mlexpr * int * bool) = - match bs with - | [] -> - let arg_unembeddings = List.rev accum_embeddings in - let res_embedding = mk_embedding loc tvar_context result_typ in - let fv_lid = fv.fv_name.v in - if U.is_pure_comp c - then begin - let cb = str_to_name "cb" in - let embed_fun_N = mk_arrow_as_prim_step loc non_tvar_arity in - let args = arg_unembeddings - @ [res_embedding; - lid_to_name fv_lid; - with_ty MLTY_Top <| MLE_Const (MLC_Int(string_of_int tvar_arity, None)); - fv_lid_embedded; - cb] - in - let fun_embedding = w <| MLE_App(embed_fun_N, args) in - let tabs = abstract_tvars tvar_names fun_embedding in - let cb_tabs = mk_lam "cb" tabs in - ((if loc = NBE_t then cb_tabs else mk_lam "_psc" cb_tabs), - arity, - true) - end - else if Ident.lid_equals (FStar.TypeChecker.Env.norm_eff_name tcenv (U.comp_effect_name c)) - PC.effect_TAC_lid - then begin - let h = mk_tactic_interpretation loc non_tvar_arity in - let tac_fun = w <| MLE_App (mk_from_tactic loc non_tvar_arity, - [lid_to_name fv_lid]) - 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 = - [tac_fun] @ - arg_unembeddings @ - [res_embedding; - psc; - ncb] in - let tabs = - match tvar_names with - | [] -> mk_lam "args" (w <| MLE_App (h, args@[all_args])) - | _ -> abstract_tvars tvar_names (w <| MLE_App (h, args)) - in - (mk_lam "psc" (mk_lam "ncb" tabs), - arity + 1, - false) - end - else raise (NoTacticEmbedding("Plugins not defined for type " ^ Print.term_to_string t)) - - | ({binder_bv=b})::bs -> - aux loc (mk_embedding loc tvar_context b.sort::accum_embeddings) bs - in - try - let w, a, b = aux Syntax_term [] bs in - let w', _, _ = aux NBE_t [] bs in - Some (w, w', a, b) - with - | NoTacticEmbedding msg -> - not_implemented_warning (range_of_lid fv.fv_name.v) - (FStar.Syntax.Print.fv_to_string fv) - msg; - None diff --git a/src/extraction/FStar.Extraction.ML.Util.fsti b/src/extraction/FStar.Extraction.ML.Util.fsti index 2a97e349992..30e1572f109 100644 --- a/src/extraction/FStar.Extraction.ML.Util.fsti +++ b/src/extraction/FStar.Extraction.ML.Util.fsti @@ -60,11 +60,3 @@ val mlloc_of_range : r:Range.range -> int * string val doms_and_cod : t:mlty -> list mlty * mlty val argTypes : t:mlty -> list mlty val uncurry_mlty_fun : t:mlty -> list mlty * mlty - -val interpret_plugin_as_term_fun : - UEnv.uenv - -> fv:S.fv - -> t:S.typ - -> arity:option int - -> ml_fv:mlexpr' - -> option (mlexpr * mlexpr * int * bool) diff --git a/src/fstar/FStar.CheckedFiles.fst b/src/fstar/FStar.CheckedFiles.fst index 9b67986677f..ee0247e7132 100644 --- a/src/fstar/FStar.CheckedFiles.fst +++ b/src/fstar/FStar.CheckedFiles.fst @@ -40,7 +40,7 @@ module Dep = FStar.Parser.Dep * detect when loading the cache that the version number is same * It needs to be kept in sync with prims.fst *) -let cache_version_number = 56 +let cache_version_number = 57 (* * Abbreviation for what we store in the checked files (stages as described below) diff --git a/src/fstar/FStar.Interactive.Ide.fst b/src/fstar/FStar.Interactive.Ide.fst index 298908f89e2..b3dba03ac4b 100644 --- a/src/fstar/FStar.Interactive.Ide.fst +++ b/src/fstar/FStar.Interactive.Ide.fst @@ -547,7 +547,7 @@ let run_segment (st: repl_state) (code: string) = ((QueryNOK, JsonList errors), Inl st) | Some decls -> let json_of_decl decl = - JsonAssoc [("def_range", json_of_def_range (Parser.AST.decl_drange decl))] in + JsonAssoc [("def_range", json_of_def_range decl.Parser.AST.drange)] in let js_decls = JsonList <| List.map json_of_decl decls in ((QueryOK, JsonAssoc [("decls", js_decls)]), Inl st) diff --git a/src/fstar/FStar.Main.fst b/src/fstar/FStar.Main.fst index 4a952dcf7ea..d71ea903e07 100644 --- a/src/fstar/FStar.Main.fst +++ b/src/fstar/FStar.Main.fst @@ -22,8 +22,10 @@ open FStar.Ident open FStar.CheckedFiles open FStar.Universal open FStar.Compiler + module E = FStar.Errors module UF = FStar.Syntax.Unionfind +module RE = FStar.Reflection.V2.Embeddings let _ = FStar.Version.dummy () @@ -200,29 +202,35 @@ let go _ = (* This is pretty awful. Now that we have Lazy_embedding, we can get rid of this table. *) let lazy_chooser k i = match k with - | 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.Reflection.Embeddings.unfold_lazy_binder i - | FStar.Syntax.Syntax.Lazy_letbinding -> FStar.Reflection.Embeddings.unfold_lazy_letbinding i - | FStar.Syntax.Syntax.Lazy_optionstate -> FStar.Reflection.Embeddings.unfold_lazy_optionstate i - | FStar.Syntax.Syntax.Lazy_fvar -> FStar.Reflection.Embeddings.unfold_lazy_fvar i - | FStar.Syntax.Syntax.Lazy_comp -> FStar.Reflection.Embeddings.unfold_lazy_comp i - | FStar.Syntax.Syntax.Lazy_env -> FStar.Reflection.Embeddings.unfold_lazy_env i - | FStar.Syntax.Syntax.Lazy_sigelt -> FStar.Reflection.Embeddings.unfold_lazy_sigelt i - | FStar.Syntax.Syntax.Lazy_proofstate -> FStar.Tactics.Embedding.unfold_lazy_proofstate i - | FStar.Syntax.Syntax.Lazy_goal -> FStar.Tactics.Embedding.unfold_lazy_goal i - | FStar.Syntax.Syntax.Lazy_uvar -> FStar.Syntax.Util.exp_string "((uvar))" + (* TODO: explain *) + | FStar.Syntax.Syntax.BadLazy -> failwith "lazy chooser: got a BadLazy" + | FStar.Syntax.Syntax.Lazy_bv -> RE.unfold_lazy_bv i + | FStar.Syntax.Syntax.Lazy_namedv -> RE.unfold_lazy_namedv i + | FStar.Syntax.Syntax.Lazy_binder -> RE.unfold_lazy_binder i + | FStar.Syntax.Syntax.Lazy_letbinding -> RE.unfold_lazy_letbinding i + | FStar.Syntax.Syntax.Lazy_optionstate -> RE.unfold_lazy_optionstate i + | FStar.Syntax.Syntax.Lazy_fvar -> RE.unfold_lazy_fvar i + | FStar.Syntax.Syntax.Lazy_comp -> RE.unfold_lazy_comp i + | FStar.Syntax.Syntax.Lazy_env -> RE.unfold_lazy_env i + | FStar.Syntax.Syntax.Lazy_sigelt -> RE.unfold_lazy_sigelt i + | FStar.Syntax.Syntax.Lazy_universe -> RE.unfold_lazy_universe i + + | FStar.Syntax.Syntax.Lazy_proofstate -> Tactics.Embedding.unfold_lazy_proofstate i + | FStar.Syntax.Syntax.Lazy_goal -> Tactics.Embedding.unfold_lazy_goal i + + | FStar.Syntax.Syntax.Lazy_uvar -> FStar.Syntax.Util.exp_string "((uvar))" + | FStar.Syntax.Syntax.Lazy_universe_uvar -> FStar.Syntax.Util.exp_string "((universe_uvar))" + | FStar.Syntax.Syntax.Lazy_issue -> FStar.Syntax.Util.exp_string "((issue))" + | FStar.Syntax.Syntax.Lazy_ident -> FStar.Syntax.Util.exp_string "((ident))" + | FStar.Syntax.Syntax.Lazy_embedding (_, t) -> Thunk.force t - | FStar.Syntax.Syntax.Lazy_universe -> FStar.Reflection.Embeddings.unfold_lazy_universe i - | FStar.Syntax.Syntax.Lazy_universe_uvar -> FStar.Syntax.Util.exp_string "((universe_uvar))" - | FStar.Syntax.Syntax.Lazy_issue -> FStar.Syntax.Util.exp_string "((issue))" // This is called directly by the Javascript port (it doesn't call Main) let setup_hooks () = FStar.Errors.set_parse_warn_error FStar.Parser.ParseIt.parse_warn_error; FStar.Syntax.Syntax.lazy_chooser := Some lazy_chooser; FStar.Syntax.Util.tts_f := Some FStar.Syntax.Print.term_to_string; - FStar.TypeChecker.Normalize.unembed_binder_knot := Some FStar.Reflection.Embeddings.e_binder; + FStar.TypeChecker.Normalize.unembed_binder_knot := Some RE.e_binder; () let handle_error e = diff --git a/src/fstar/FStar.Universal.fst b/src/fstar/FStar.Universal.fst index 5f5f3d82fd5..906f20160f3 100644 --- a/src/fstar/FStar.Universal.fst +++ b/src/fstar/FStar.Universal.fst @@ -143,7 +143,8 @@ let init_env deps : TcEnv.env = solver Const.prims_lid (NBE.normalize - (FStar.Tactics.Interpreter.primitive_steps ())) + (FStar.Tactics.V1.Interpreter.primitive_steps () @ + FStar.Tactics.V2.Interpreter.primitive_steps ())) core_check in (* Set up some tactics callbacks *) diff --git a/src/parser/FStar.Parser.AST.Util.fst b/src/parser/FStar.Parser.AST.Util.fst index 7f5ebc00203..16e6324a533 100644 --- a/src/parser/FStar.Parser.AST.Util.fst +++ b/src/parser/FStar.Parser.AST.Util.fst @@ -532,6 +532,8 @@ let rec eq_decl' (d1 d2:decl') : bool = is_typed1 = is_typed2 && eq_list eq_ident is1 is2 && eq_term t1 t2 + | DeclSyntaxExtension (s1, t1, _, _), DeclSyntaxExtension (s2, t2, _, _) -> + s1 = s2 && t1 = t2 | _ -> false and eq_effect_decl (t1 t2: effect_decl) = diff --git a/src/parser/FStar.Parser.AST.fst b/src/parser/FStar.Parser.AST.fst index d3fabc68890..8810eca2535 100644 --- a/src/parser/FStar.Parser.AST.fst +++ b/src/parser/FStar.Parser.AST.fst @@ -14,253 +14,19 @@ limitations under the License. *) module FStar.Parser.AST -open FStar.Pervasives + +open FStar +open FStar.Compiler open FStar.Compiler.Effect open FStar.Compiler.List -open FStar.Errors -module C = FStar.Parser.Const open FStar.Compiler.Range -open FStar.Ident -open FStar -open FStar.Compiler open FStar.Compiler.Util open FStar.Const +open FStar.Errors +open FStar.Ident + +module C = FStar.Parser.Const -(* AST produced by the parser, before desugaring - It is not stratified: a single type called "term" containing - expressions, formulas, types, and so on - *) -type level = | Un | Expr | Type_level | Kind | Formula - -type let_qualifier = - | NoLetQualifier - | Rec - -type quote_kind = - | Static - | Dynamic - -type term' = - | Wild - | Const of sconst - | Op of ident * list term - | Tvar of ident - | Uvar of ident (* universe variable *) - | Var of lid // a qualified identifier that starts with a lowercase (Foo.Bar.baz) - | Name of lid // a qualified identifier that starts with an uppercase (Foo.Bar.Baz) - | Projector of lid * ident (* a data constructor followed by one of - its formal parameters, or an effect - followed by one of its actions or - "fields" *) - | Construct of lid * list (term*imp) (* data, type: bool in each arg records an implicit *) - | Abs of list pattern * term - | App of term * term * imp (* aqual marks an explicitly provided implicit parameter *) - | Let of let_qualifier * list (option attributes_ * (pattern * term)) * term - | LetOperator of list (ident * pattern * term) * term - | LetOpen of lid * term - | LetOpenRecord of term * term * term - | Seq of term * term - | Bind of ident * term * term - | If of term * option ident (* is this a regular if or a if operator (i.e. [if*]) *) - * option match_returns_annotation * term * term - | Match of term * option ident (* is this a regular match or a match operator (i.e. [match*]) *) - * option match_returns_annotation * list branch - | TryWith of term * list branch - | Ascribed of term * term * option term * bool (* bool says whether equality ascription $: *) - | Record of option term * list (lid * term) - | Project of term * lid - | Product of list binder * term (* function space *) - | Sum of list (either binder term) * term (* dependent tuple *) - | QForall of list binder * patterns * term - | QExists of list binder * patterns * term - | Refine of binder * term - | NamedTyp of ident * term - | Paren of term - | Requires of term * option string - | Ensures of term * option string - | LexList of list term (* a decreases clause mentions either a lexicographically ordered list, *) - | WFOrder of term * term (* or a well-founded relation or some type and an expression of the same type *) - | Decreases of term * option string - | Labeled of term * string * bool - | Discrim of lid (* Some? (formerly is_Some) *) - | Attributes of list term (* attributes decorating a term *) - | Antiquote of term (* Antiquotation within a quoted term *) - | Quote of term * quote_kind - | VQuote of term (* Quoting an lid, this gets removed by the desugarer *) - | CalcProof of term * term * list calc_step (* A calculational proof with relation, initial expression, and steps *) - | IntroForall of list binder * term * term (* intro_forall x1..xn. P with e *) - | IntroExists of list binder * term * list term * term (* intro_exists x1...xn.P using v1..vn with e *) - | IntroImplies of term * term * binder * term (* intro_implies P Q with x. e *) - | IntroOr of bool * term * term * term (* intro_or_{left ,right} P Q with e *) - | IntroAnd of term * term * term * term (* intro_and P Q with e1 and e2 *) - | ElimForall of list binder * term * list term (* elim_forall x1..xn. P using v1..vn *) - | ElimExists of list binder * term * term * binder * term (* elim_exists x1...xn.P to Q with e *) - | ElimImplies of term * term * term (* elim_implies P Q with e *) - | ElimOr of term * term * term * binder * term * binder * term (* elim_or P Q to R with x.e1 and y.e2 *) - | ElimAnd of term * term * term * binder * binder * term (* elim_and P Q to R with x y. e *) -and term = {tm:term'; range:range; level:level} - -(* (as y)? returns t *) -and match_returns_annotation = option ident * term * bool - -and patterns = list ident * list (list term) - -and calc_step = - | CalcStep of term * term * term (* Relation, justification and next expression *) - -and attributes_ = list term - -and binder' = - | Variable of ident - | TVariable of ident - | Annotated of ident * term - | TAnnotated of ident * term - | NoName of term - -and binder = {b:binder'; brange:range; blevel:level; aqual:aqual; battributes:attributes_} - -and pattern' = - | PatWild of aqual * attributes_ - | PatConst of sconst - | PatApp of pattern * list pattern - | PatVar of ident * aqual * attributes_ - | PatName of lid - | PatTvar of ident * aqual * attributes_ - | PatList of list pattern - | PatTuple of list pattern * bool (* dependent if flag is set *) - | PatRecord of list (lid * pattern) - | PatAscribed of pattern * (term * option term) - | PatOr of list pattern - | PatOp of ident - | PatVQuote of term (* [`%foo], transformed into "X.Y.Z.foo" by the desugarer *) -and pattern = {pat:pattern'; prange:range} - -and branch = (pattern * option term * term) -and arg_qualifier = - | Implicit - | Equality - | Meta of term - | TypeClassArg -and aqual = option arg_qualifier -and imp = - | FsTypApp - | Hash - | UnivApp - | HashBrace of term - | Infix - | Nothing - -type knd = term -type typ = term -type expr = term - -type tycon_record = list (ident * aqual * attributes_ * term) - -(** The different kinds of payload a constructor can carry *) -type constructor_payload - = (** constructor of arity 1 for a type of kind [Type] (e.g. [C of int]) *) - | VpOfNotation of typ - (** constructor of any arity & kind (e.g. [C:int->ind] or [C:'a->'b->ind 'c]) *) - | VpArbitrary of typ - (** constructor whose payload is a record (e.g. [C {a: int}] or [C {x: Type} -> ind x]) *) - | VpRecord of (tycon_record * option typ) - -(* TODO (KM) : it would be useful for the printer to have range information for those *) -type tycon = - | TyconAbstract of ident * list binder * option knd - | TyconAbbrev of ident * list binder * option knd * term - | TyconRecord of ident * list binder * option knd * attributes_ * tycon_record - | TyconVariant of ident * list binder * option knd * list (ident * option constructor_payload * attributes_) - -type qualifier = - | Private - | Noeq - | Unopteq - | Assumption - | DefaultEffect - | TotalEffect - | Effect_qual - | New - | Inline //a definition that *should* always be unfolded by the normalizer - | Visible //a definition that may be unfolded by the normalizer, but only if necessary (default) - | Unfold_for_unification_and_vcgen //a definition that will be unfolded by the normalizer, during unification and for SMT queries - | Inline_for_extraction //a definition that will be inlined only during compilation - | Irreducible //a definition that can never be unfolded by the normalizer - | NoExtract // a definition whose contents won't be extracted (currently, by KaRaMeL only) - | Reifiable - | Reflectable - //old qualifiers - | Opaque - | Logic - -type qualifiers = list qualifier - -type decoration = - | Qualifier of qualifier - | DeclAttributes of list term - -type lift_op = - | NonReifiableLift of term - | ReifiableLift of term * term //lift_wp, lift - | LiftForFree of term - -type lift = { - msource: lid; - mdest: lid; - lift_op: lift_op; - braced: bool; //a detail: for incremental parsing, we need to know if it is delimited by bracces -} - -type pragma = - | SetOptions of string - | ResetOptions of option string - | PushOptions of option string - | PopOptions - | RestartSolver - | PrintEffectsGraph - -type decl' = - | TopLevelModule of lid - | Open of lid - | Friend of lid - | Include of lid - | ModuleAbbrev of ident * lid - | TopLevelLet of let_qualifier * list (pattern * term) - | Tycon of bool * bool * list tycon - (* first bool is for effect *) - (* second bool is for typeclass *) - | Val of ident * term (* bool is for logic val *) - | Exception of ident * option term - | NewEffect of effect_decl - | LayeredEffect of effect_decl - | SubEffect of lift - | Polymonadic_bind of lid * lid * lid * term - | Polymonadic_subcomp of lid * lid * term - | Pragma of pragma - | Assume of ident * term - | Splice of bool * list ident * term (* bool is true for a typed splice *) - | DeclSyntaxExtension of string * string * FStar.Compiler.Range.range - -and decl = { - d:decl'; - drange:range; - quals: qualifiers; - attrs: attributes_ -} -and effect_decl = - (* KM : Is there really need of the generality of decl here instead of e.g. lid * term ? *) - | DefineEffect of ident * list binder * term * list decl - | RedefineEffect of ident * list binder * term - -type modul = - | Module of lid * list decl - | Interface of lid * list decl * bool (* flag to mark admitted interfaces *) -type file = modul -type inputFragment = either file (list decl) - -let decl_drange decl = decl.drange - -(********************************************************************************) let check_id id = let first_char = String.substring (string_of_id id) 0 1 in if String.lowercase first_char = first_char @@ -278,7 +44,14 @@ let mk_decl d r decorations = ) in let attributes_ = Util.dflt [] attributes_ in let qualifiers = List.choose (function Qualifier q -> Some q | _ -> None) decorations in - { d=d; drange=r; quals=qualifiers; attrs=attributes_ } + (* for syntax extensions, take the range stored there rather than the callers + range, which may be inaccurate *) + let range = + match d with + | DeclSyntaxExtension(_, _, r, _) -> r + | _ -> r + in + { d=d; drange=range; quals=qualifiers; attrs=attributes_ } let mk_binder_with_attrs b r l i attrs = {b=b; brange=r; blevel=l; aqual=i; battributes=attrs} let mk_binder b r l i = mk_binder_with_attrs b r l i [] @@ -306,8 +79,6 @@ let un_function p tm = match p.pat, tm.tm with | PatVar _, Abs(pats, body) -> Some (mk_pattern (PatApp(p, pats)) p.prange, body) | _ -> None -let lid_with_range lid r = lid_of_path (path_of_lid lid) r - let consPat r hd tl = PatApp(mk_pattern (PatName C.cons_lid) r, [hd;tl]) let consTerm r hd tl = mk_term (Construct(C.cons_lid, [(hd, Nothing);(tl, Nothing)])) r Expr @@ -972,6 +743,8 @@ let decl_to_string (d:decl) = match d.d with ^ (String.concat ";" <| List.map (fun i -> (string_of_id i)) ids) ^ "] (" ^ term_to_string t ^ ")" | SubEffect _ -> "sub_effect" | Pragma p -> "pragma #" ^ string_of_pragma p + | DeclSyntaxExtension (id, content, _, _) -> + "```" ^ id ^ "\n" ^ content ^ "\n```" let modul_to_string (m:modul) = match m with | Module (_, decls) @@ -998,17 +771,4 @@ let ident_of_binder r b = raise_error (Fatal_MissingQuantifierBinder, "Wildcard binders in quantifiers are not allowed") r -let idents_of_binders bs r = - bs |> List.map (ident_of_binder r) - -let decl_syntax_is_delimited (d:decl) = - match d.d with - | Pragma (ResetOptions None) -> false - | Pragma (PushOptions None) -> false - | Pragma _ - | NewEffect (DefineEffect _) - | LayeredEffect (DefineEffect _) - | SubEffect {braced=true} -> true - | Tycon(_, b, _) -> b - | _ -> false - +let idents_of_binders bs r = bs |> List.map (ident_of_binder r) diff --git a/src/parser/FStar.Parser.AST.fsti b/src/parser/FStar.Parser.AST.fsti new file mode 100644 index 00000000000..1cd625e555d --- /dev/null +++ b/src/parser/FStar.Parser.AST.fsti @@ -0,0 +1,325 @@ +(* + Copyright 2008-2014 Nikhil Swamy and 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.Parser.AST + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Compiler.Range +open FStar.Const +open FStar.Ident + +(* AST produced by the parser, before desugaring + It is not stratified: a single type called "term" containing + expressions, formulas, types, and so on + *) +type level = | Un | Expr | Type_level | Kind | Formula + +type let_qualifier = + | NoLetQualifier + | Rec + +type quote_kind = + | Static + | Dynamic + +type term' = + | Wild + | Const of sconst + | Op of ident * list term + | Tvar of ident + | Uvar of ident (* universe variable *) + | Var of lid // a qualified identifier that starts with a lowercase (Foo.Bar.baz) + | Name of lid // a qualified identifier that starts with an uppercase (Foo.Bar.Baz) + | Projector of lid * ident (* a data constructor followed by one of + its formal parameters, or an effect + followed by one of its actions or + "fields" *) + | Construct of lid * list (term*imp) (* data, type: bool in each arg records an implicit *) + | Abs of list pattern * term + | App of term * term * imp (* aqual marks an explicitly provided implicit parameter *) + | Let of let_qualifier * list (option attributes_ * (pattern * term)) * term + | LetOperator of list (ident * pattern * term) * term + | LetOpen of lid * term + | LetOpenRecord of term * term * term + | Seq of term * term + | Bind of ident * term * term + | If of term * option ident (* is this a regular if or a if operator (i.e. [if*]) *) + * option match_returns_annotation * term * term + | Match of term * option ident (* is this a regular match or a match operator (i.e. [match*]) *) + * option match_returns_annotation * list branch + | TryWith of term * list branch + | Ascribed of term * term * option term * bool (* bool says whether equality ascription $: *) + | Record of option term * list (lid * term) + | Project of term * lid + | Product of list binder * term (* function space *) + | Sum of list (either binder term) * term (* dependent tuple *) + | QForall of list binder * patterns * term + | QExists of list binder * patterns * term + | Refine of binder * term + | NamedTyp of ident * term + | Paren of term + | Requires of term * option string + | Ensures of term * option string + | LexList of list term (* a decreases clause mentions either a lexicographically ordered list, *) + | WFOrder of term * term (* or a well-founded relation or some type and an expression of the same type *) + | Decreases of term * option string + | Labeled of term * string * bool + | Discrim of lid (* Some? (formerly is_Some) *) + | Attributes of list term (* attributes decorating a term *) + | Antiquote of term (* Antiquotation within a quoted term *) + | Quote of term * quote_kind + | VQuote of term (* Quoting an lid, this gets removed by the desugarer *) + | CalcProof of term * term * list calc_step (* A calculational proof with relation, initial expression, and steps *) + | IntroForall of list binder * term * term (* intro_forall x1..xn. P with e *) + | IntroExists of list binder * term * list term * term (* intro_exists x1...xn.P using v1..vn with e *) + | IntroImplies of term * term * binder * term (* intro_implies P Q with x. e *) + | IntroOr of bool * term * term * term (* intro_or_{left ,right} P Q with e *) + | IntroAnd of term * term * term * term (* intro_and P Q with e1 and e2 *) + | ElimForall of list binder * term * list term (* elim_forall x1..xn. P using v1..vn *) + | ElimExists of list binder * term * term * binder * term (* elim_exists x1...xn.P to Q with e *) + | ElimImplies of term * term * term (* elim_implies P Q with e *) + | ElimOr of term * term * term * binder * term * binder * term (* elim_or P Q to R with x.e1 and y.e2 *) + | ElimAnd of term * term * term * binder * binder * term (* elim_and P Q to R with x y. e *) +and term = {tm:term'; range:range; level:level} + +(* (as y)? returns t *) +and match_returns_annotation = option ident * term * bool + +and patterns = list ident * list (list term) + +and calc_step = + | CalcStep of term * term * term (* Relation, justification and next expression *) + +and attributes_ = list term + +and binder' = + | Variable of ident + | TVariable of ident + | Annotated of ident * term + | TAnnotated of ident * term + | NoName of term + +and binder = {b:binder'; brange:range; blevel:level; aqual:aqual; battributes:attributes_} + +and pattern' = + | PatWild of aqual * attributes_ + | PatConst of sconst + | PatApp of pattern * list pattern + | PatVar of ident * aqual * attributes_ + | PatName of lid + | PatTvar of ident * aqual * attributes_ + | PatList of list pattern + | PatTuple of list pattern * bool (* dependent if flag is set *) + | PatRecord of list (lid * pattern) + | PatAscribed of pattern * (term * option term) + | PatOr of list pattern + | PatOp of ident + | PatVQuote of term (* [`%foo], transformed into "X.Y.Z.foo" by the desugarer *) +and pattern = {pat:pattern'; prange:range} + +and branch = (pattern * option term * term) +and arg_qualifier = + | Implicit + | Equality + | Meta of term + | TypeClassArg +and aqual = option arg_qualifier +and imp = + | FsTypApp + | Hash + | UnivApp + | HashBrace of term + | Infix + | Nothing + +type knd = term +type typ = term +type expr = term + +type tycon_record = list (ident * aqual * attributes_ * term) + +(** The different kinds of payload a constructor can carry *) +type constructor_payload + = (** constructor of arity 1 for a type of kind [Type] (e.g. [C of int]) *) + | VpOfNotation of typ + (** constructor of any arity & kind (e.g. [C:int->ind] or [C:'a->'b->ind 'c]) *) + | VpArbitrary of typ + (** constructor whose payload is a record (e.g. [C {a: int}] or [C {x: Type} -> ind x]) *) + | VpRecord of (tycon_record * option typ) + +(* TODO (KM) : it would be useful for the printer to have range information for those *) +type tycon = + | TyconAbstract of ident * list binder * option knd + | TyconAbbrev of ident * list binder * option knd * term + | TyconRecord of ident * list binder * option knd * attributes_ * tycon_record + | TyconVariant of ident * list binder * option knd * list (ident * option constructor_payload * attributes_) + +type qualifier = + | Private + | Noeq + | Unopteq + | Assumption + | DefaultEffect + | TotalEffect + | Effect_qual + | New + | Inline //a definition that *should* always be unfolded by the normalizer + | Visible //a definition that may be unfolded by the normalizer, but only if necessary (default) + | Unfold_for_unification_and_vcgen //a definition that will be unfolded by the normalizer, during unification and for SMT queries + | Inline_for_extraction //a definition that will be inlined only during compilation + | Irreducible //a definition that can never be unfolded by the normalizer + | NoExtract // a definition whose contents won't be extracted (currently, by KaRaMeL only) + | Reifiable + | Reflectable + //old qualifiers + | Opaque + | Logic + +type qualifiers = list qualifier + +type decoration = + | Qualifier of qualifier + | DeclAttributes of list term + +type lift_op = + | NonReifiableLift of term + | ReifiableLift of term * term //lift_wp, lift + | LiftForFree of term + +type lift = { + msource: lid; + mdest: lid; + lift_op: lift_op; + braced: bool; //a detail: for incremental parsing, we need to know if it is delimited by bracces +} + +type pragma = + | SetOptions of string + | ResetOptions of option string + | PushOptions of option string + | PopOptions + | RestartSolver + | PrintEffectsGraph + +type decl' = + | TopLevelModule of lid + | Open of lid + | Friend of lid + | Include of lid + | ModuleAbbrev of ident * lid + | TopLevelLet of let_qualifier * list (pattern * term) + | Tycon of bool * bool * list tycon + (* first bool is for effect *) + (* second bool is for typeclass *) + | Val of ident * term (* bool is for logic val *) + | Exception of ident * option term + | NewEffect of effect_decl + | LayeredEffect of effect_decl + | SubEffect of lift + | Polymonadic_bind of lid * lid * lid * term + | Polymonadic_subcomp of lid * lid * term + | Pragma of pragma + | Assume of ident * term + | Splice of bool * list ident * term (* bool is true for a typed splice *) + (* The first range is the entire range of the blob. + The second range is the start point of the extension syntax itself *) + | DeclSyntaxExtension of string * string * range * range + +and decl = { + d:decl'; + drange:range; + quals: qualifiers; + attrs: attributes_ +} +and effect_decl = + (* KM : Is there really need of the generality of decl here instead of e.g. lid * term ? *) + | DefineEffect of ident * list binder * term * list decl + | RedefineEffect of ident * list binder * term + +type modul = + | Module of lid * list decl + | Interface of lid * list decl * bool (* flag to mark admitted interfaces *) +type file = modul +type inputFragment = either file (list decl) + +(* Smart constructors *) +val mk_decl : decl' -> range -> list decoration -> decl +val mk_binder_with_attrs : binder' -> range -> level -> aqual -> list term -> binder +val mk_binder : binder' -> range -> level -> aqual -> binder +val mk_term : term' -> range -> level -> term + +val mk_uminus : term -> range -> range -> level -> term +val mk_pattern : pattern' -> range -> pattern + +val un_curry_abs : list pattern -> term -> term' +val mk_function : list branch -> range -> range -> term +val un_function : pattern -> term -> option (pattern & term) + +val consPat : range -> pattern -> pattern -> pattern' +val consTerm : range -> term -> term -> term +val mkConsList : range -> list term -> term + +val unit_const : range -> term +val ml_comp : term -> term +val tot_comp : term -> term + +val mkApp : term -> list (term & imp) -> range -> term +val mkExplicitApp : term -> list term -> range -> term + +val mkRefSet : range -> list term -> term + +val focusLetBindings : list (bool & (pattern & term)) -> range -> list (pattern & term) +val focusAttrLetBindings : list (option attributes_ & (bool & (pattern & term))) -> range -> list (option attributes_ & (pattern & term)) + +val mkFsTypApp : term -> list term -> range -> term +val mkTuple : list term -> range -> term +val mkDTuple : list term -> range -> term +val mkRefinedBinder : ident -> term -> bool -> option term -> range -> aqual -> list term -> binder +val mkRefinedPattern : pattern -> term -> bool -> option term -> range -> range -> pattern +val extract_named_refinement : term -> option (ident & term & option term) + +val as_frag : list decl -> inputFragment + +// TODO: Move to something like FStar.Compiler.Util +val strip_prefix : string -> string -> option string + +val compile_op : int -> string -> range -> string +val compile_op' : string -> range -> string +val string_to_op : string -> option (string & option int) + +val string_of_fsdoc : string & list (string & string) -> string +val string_of_let_qualifier : let_qualifier -> string + +val term_to_string : term -> string + +val lids_of_let : list (pattern & term) -> list lident +val id_of_tycon : tycon -> string + +val string_of_pragma : pragma -> string +val pat_to_string : pattern -> string +val binder_to_string : binder -> string +val decl_to_string : decl -> string +val modul_to_string : modul -> string + +val decl_is_val : ident -> decl -> bool + +val thunk : term -> term + +val check_id : ident -> unit + +val ident_of_binder : range -> binder -> ident +val idents_of_binders : list binder -> range -> list ident diff --git a/src/parser/FStar.Parser.Const.fst b/src/parser/FStar.Parser.Const.fst index 2133040988b..843889c5b37 100644 --- a/src/parser/FStar.Parser.Const.fst +++ b/src/parser/FStar.Parser.Const.fst @@ -296,7 +296,8 @@ let hide = p2l ["FStar"; "Ghost"; "hide"] (* FStar.Range *) let labeled_lid = p2l ["FStar"; "Range"; "labeled"] -let range_lid = p2l ["FStar"; "Range"; "range"] +let __range_lid = p2l ["FStar"; "Range"; "__range"] +let range_lid = p2l ["FStar"; "Range"; "range"] (* this is a sealed version of the above *) let range_0 = p2l ["FStar"; "Range"; "range_0"] let guard_free = pconst "guard_free" @@ -463,11 +464,9 @@ let is_name (lid:lident) = let c = U.char_at (string_of_id (ident_of_lid lid)) 0 in U.is_upper c -(* tactic constants *) -let inspect = p2l ["FStar"; "Tactics"; "Builtins"; "inspect"] -let pack = p2l ["FStar"; "Tactics"; "Builtins"; "pack"] -let binder_to_term = p2l ["FStar"; "Tactics"; "Derived"; "binder_to_term"] +let term_view_lid = p2l ["FStar"; "Reflection"; "V1"; "Data"; "term_view"] +(* tactic constants *) let fstar_tactics_lid' s : lid = FStar.Ident.lid_of_path (["FStar"; "Tactics"]@s) FStar.Compiler.Range.dummyRange let fstar_tactics_lid s = fstar_tactics_lid' [s] let tac_lid = fstar_tactics_lid' ["Effect"; "tac"] @@ -496,11 +495,11 @@ let postprocess_with = p2l ["FStar"; "Tactics"; "Effect"; "postprocess_with"] let preprocess_with = p2l ["FStar"; "Tactics"; "Effect"; "preprocess_with"] let postprocess_extr_with = p2l ["FStar"; "Tactics"; "Effect"; "postprocess_for_extraction_with"] let term_lid = p2l ["FStar"; "Reflection"; "Types"; "term"] -let term_view_lid = p2l ["FStar"; "Reflection"; "Data"; "term_view"] -let decls_lid = p2l ["FStar"; "Reflection"; "Data"; "decls"] let ctx_uvar_and_subst_lid = p2l ["FStar"; "Reflection"; "Types"; "ctx_uvar_and_subst"] let universe_uvar_lid = p2l ["FStar"; "Reflection"; "Types"; "universe_uvar"] -let check_with_lid = lid_of_path (["FStar"; "Reflection"; "Builtins"; "check_with"]) FStar.Compiler.Range.dummyRange +let check_with_lid = lid_of_path (["FStar"; "VConfig"; "check_with"]) FStar.Compiler.Range.dummyRange + +let decls_lid = p2l ["FStar"; "Reflection"; "Types"; "decls"] // meta dsl constants let dsl_typing_builtin s = lid_of_path (["FStar"; "Reflection"; "Typing"; "Builtins"]@[s]) FStar.Compiler.Range.dummyRange @@ -554,6 +553,6 @@ let fext_on_dom_g_lid = fext_lid "on_dom_g" let sealed_lid = p2l ["FStar"; "Sealed"; "sealed"] let seal_lid = p2l ["FStar"; "Sealed"; "seal"] -let unseal_lid = p2l ["FStar"; "Tactics"; "Builtins"; "unseal"] +let unseal_lid = p2l ["FStar"; "Tactics"; "Unseal"; "unseal"] let issue_lid = p2l ["FStar"; "Issue"; "issue"] diff --git a/src/parser/FStar.Parser.Dep.fst b/src/parser/FStar.Parser.Dep.fst index 32d2049b8e4..1830065ddc3 100644 --- a/src/parser/FStar.Parser.Dep.fst +++ b/src/parser/FStar.Parser.Dep.fst @@ -513,7 +513,7 @@ let hard_coded_dependencies full_filename = (* The core libraries do not have any implicit dependencies *) if List.mem (module_name_of_file filename) (core_modules ()) then [] - else match (namespace_of_module (lowercase_module_name full_filename)) with + else match namespace_of_module (module_name_of_file full_filename) with | None -> implicit_ns_deps @ implicit_module_deps (* * AR: we open FStar, and then ns @@ -1667,8 +1667,21 @@ let print_full (outc : out_channel) (deps:deps) : unit = pr "\n\n" in let keys = deps_keys deps.dep_graph in + let no_fstar_stubs_file (s:string) : string = + (* If the original filename begins with FStar.Stubs, then remove that, + consistent with what extraction will actually do. *) + let s1 = "FStar.Stubs." in + let s2 = "FStar." in + let l1 = String.length s1 in + if String.length s >= l1 && String.substring s 0 l1 = s1 then + s2 ^ String.substring s l1 (String.length s - l1) + else + s + in let output_file ext fst_file = - let ml_base_name = replace_chars (Option.get (check_and_strip_suffix (BU.basename fst_file))) '.' "_" in + let basename = Option.get (check_and_strip_suffix (BU.basename fst_file)) in + let basename = no_fstar_stubs_file basename in + let ml_base_name = replace_chars basename '.' "_" in Options.prepend_output_dir (ml_base_name ^ ext) in let norm_path s = replace_chars (replace_chars s '\\' "/") ' ' "\\ " in diff --git a/src/reflection/FStar.Reflection.Basic.fst b/src/reflection/FStar.Reflection.V1.Builtins.fst similarity index 95% rename from src/reflection/FStar.Reflection.Basic.fst rename to src/reflection/FStar.Reflection.V1.Builtins.fst index 1030a681842..ffb0128a89f 100644 --- a/src/reflection/FStar.Reflection.Basic.fst +++ b/src/reflection/FStar.Reflection.V1.Builtins.fst @@ -13,13 +13,13 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Basic +module FStar.Reflection.V1.Builtins open FStar open FStar.Compiler open FStar.Pervasives open FStar.Compiler.Effect -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Syntax.Syntax open FStar.Order open FStar.Errors @@ -40,7 +40,7 @@ module Err = FStar.Errors module Z = FStar.BigInt module DsEnv = FStar.Syntax.DsEnv module O = FStar.Options -module RD = FStar.Reflection.Data +module RD = FStar.Reflection.V1.Data module EMB = FStar.Syntax.Embeddings module N = FStar.TypeChecker.Normalize open FStar.VConfig @@ -103,7 +103,7 @@ let pack_aqual (aqv : aqualv) : aqual = match aqv with | Data.Q_Implicit -> S.as_aqual_implicit true | _ -> None - + let inspect_fv (fv:fv) : list string = Ident.path_of_lid (lid_of_fv fv) @@ -481,6 +481,9 @@ let sigelt_attrs (se : sigelt) : list attribute = let set_sigelt_attrs (attrs : list attribute) (se : sigelt) : sigelt = { se with sigattrs = attrs } +let inspect_ident (i:Ident.ident) : ident = Reflection.V2.Builtins.inspect_ident i +let pack_ident (i:ident) : Ident.ident = Reflection.V2.Builtins.pack_ident i + (* PRIVATE, and hacky :-( *) let rd_to_syntax_qual : RD.qualifier -> qualifier = function | RD.Assumption -> Assumption @@ -498,9 +501,9 @@ let rd_to_syntax_qual : RD.qualifier -> qualifier = function | RD.Reifiable -> Reifiable | RD.Reflectable l -> Reflectable l | RD.Discriminator l -> Discriminator l - | RD.Projector (l, i) -> Projector (l, i) - | RD.RecordType (l1, l2) -> RecordType (l1, l2) - | RD.RecordConstructor (l1, l2) -> RecordConstructor (l1, l2) + | RD.Projector (l, i) -> Projector (l, pack_ident i) + | RD.RecordType (l1, l2) -> RecordType (List.map pack_ident l1, List.map pack_ident l2) + | RD.RecordConstructor (l1, l2) -> RecordConstructor (List.map pack_ident l1, List.map pack_ident l2) | RD.Action l -> Action l | RD.ExceptionConstructor -> ExceptionConstructor | RD.HasMaskedEffect -> HasMaskedEffect @@ -523,9 +526,9 @@ let syntax_to_rd_qual = function | Reifiable -> RD.Reifiable | Reflectable l -> RD.Reflectable l | Discriminator l -> RD.Discriminator l - | Projector (l, i) -> RD.Projector (l, i) - | RecordType (l1, l2) -> RD.RecordType (l1, l2) - | RecordConstructor (l1, l2) -> RD.RecordConstructor (l1, l2) + | Projector (l, i) -> RD.Projector (l, inspect_ident i) + | RecordType (l1, l2) -> RD.RecordType (List.map inspect_ident l1, List.map inspect_ident l2) + | RecordConstructor (l1, l2) -> RD.RecordConstructor (List.map inspect_ident l1, List.map inspect_ident l2) | Action l -> RD.Action l | ExceptionConstructor -> RD.ExceptionConstructor | HasMaskedEffect -> RD.HasMaskedEffect @@ -592,12 +595,12 @@ let inspect_sigelt (se : sigelt) : sigelt_view = | _ -> failwith "impossible: inspect_sigelt: did not find ctor" in - Sg_Inductive (nm, us, param_bs, ty, List.map inspect_ctor c_lids) + Sg_Inductive (nm, List.map inspect_ident us, param_bs, ty, List.map inspect_ctor c_lids) | Sig_declare_typ {lid; us; t=ty} -> let nm = Ident.path_of_lid lid in let us, ty = SS.open_univ_vars us ty in - Sg_Val (nm, us, ty) + Sg_Val (nm, List.map inspect_ident us, ty) | _ -> Unk @@ -605,14 +608,14 @@ let inspect_sigelt (se : sigelt) : sigelt_view = let pack_sigelt (sv:sigelt_view) : sigelt = let check_lid lid = if List.length (Ident.path_of_lid lid) <= 1 - then failwith ("pack_sigelt: invalid long identifier \"" - ^ Ident.string_of_lid lid - ^ "\" (did you forget a module path?)") + then failwith ("pack_sigelt: invalid long identifier \"" + ^ Ident.string_of_lid lid + ^ "\" (did you forget a module path?)") in match sv with | Sg_Let (r, lbs) -> let pack_letbinding (lb:letbinding) = - let {lbname=nm;lbunivs=us;lbtyp=typ;lbeff=eff;lbdef=def;lbattrs=attrs;lbpos=pos} = lb in + let {lbname=nm;lbunivs=us;lbtyp=typ;lbeff=eff;lbdef=def;lbattrs=attrs;lbpos=pos} = lb in let lid = match nm with | Inr fv -> lid_of_fv fv | _ -> failwith @@ -625,12 +628,13 @@ let pack_sigelt (sv:sigelt_view) : sigelt = let lb = U.mk_letbinding nm us typ eff def attrs pos in (lid, lb) in - let packed = List.map pack_letbinding lbs in - let lbs = List.map snd packed in - let lids = List.map fst packed in + let packed = List.map pack_letbinding lbs in + let lbs = List.map snd packed in + let lids = List.map fst packed in mk_sigelt <| Sig_let {lbs=(r, lbs); lids} | Sg_Inductive (nm, us_names, param_bs, ty, ctors) -> + let us_names = List.map pack_ident us_names in let ind_lid = Ident.lid_of_path nm Range.dummyRange in check_lid ind_lid; let s = SS.univ_var_closing us_names in @@ -667,6 +671,7 @@ let pack_sigelt (sv:sigelt_view) : sigelt = { se with sigquals = Noeq::se.sigquals } | Sg_Val (nm, us_names, ty) -> + let us_names = List.map pack_ident us_names in let val_lid = Ident.lid_of_path nm Range.dummyRange in check_lid val_lid; let typ = SS.close_univ_vars us_names ty in @@ -681,12 +686,14 @@ let inspect_lb (lb:letbinding) : lb_view = let s, us = SS.univ_var_opening us in let typ = SS.subst s typ in let def = SS.subst s def in + let us = List.map inspect_ident us in match nm with | Inr fv -> {lb_fv = fv; lb_us = us; lb_typ = typ; lb_def = def} | _ -> failwith "Impossible: bv in top-level let binding" let pack_lb (lbv:lb_view) : letbinding = let {lb_fv = fv; lb_us = us; lb_typ = typ; lb_def = def} = lbv in + let us = List.map pack_ident us in let s = SS.univ_var_closing us in let typ = SS.subst s typ in let def = SS.subst s def in @@ -718,7 +725,7 @@ let pack_bv (bvv:bv_view) : bv = sort = S.tun; } -let inspect_binder (b:binder) : binder_view = +let inspect_binder (b:binder) : binder_view = let attrs = U.encode_positivity_attributes b.binder_positivity b.binder_attrs in { binder_bv = b.binder_bv; @@ -727,7 +734,7 @@ let inspect_binder (b:binder) : binder_view = binder_sort = b.binder_bv.sort; } -let pack_binder (bview:binder_view) : binder = +let pack_binder (bview:binder_view) : binder = let pqual, attrs = U.parse_positivity_attributes bview.binder_attrs in { binder_bv= { bview.binder_bv with sort = bview.binder_sort }; diff --git a/src/reflection/FStar.Reflection.Basic.fsti b/src/reflection/FStar.Reflection.V1.Builtins.fsti similarity index 96% rename from src/reflection/FStar.Reflection.Basic.fsti rename to src/reflection/FStar.Reflection.V1.Builtins.fsti index dcfc6373fa5..8879543b693 100644 --- a/src/reflection/FStar.Reflection.Basic.fsti +++ b/src/reflection/FStar.Reflection.V1.Builtins.fsti @@ -13,17 +13,17 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Basic +module FStar.Reflection.V1.Builtins open FStar.Ident open FStar.Syntax.Syntax open FStar.Syntax.Embeddings open FStar.Order module Env = FStar.TypeChecker.Env -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Compiler.Effect module O = FStar.Options -module RD = FStar.Reflection.Data +module RD = FStar.Reflection.V1.Data module EMB = FStar.Syntax.Embeddings module Z = FStar.BigInt open FStar.VConfig diff --git a/src/reflection/FStar.Reflection.Constants.fst b/src/reflection/FStar.Reflection.V1.Constants.fst similarity index 94% rename from src/reflection/FStar.Reflection.Constants.fst rename to src/reflection/FStar.Reflection.V1.Constants.fst index 39a1b7ce535..9591a22f38e 100644 --- a/src/reflection/FStar.Reflection.Constants.fst +++ b/src/reflection/FStar.Reflection.V1.Constants.fst @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Constants +module FStar.Reflection.V1.Constants open FStar.Pervasives @@ -45,10 +45,9 @@ let refl_constant_lid rc = rc.lid let refl_constant_term rc = rc.t let fstar_refl_lid s = Ident.lid_of_path (["FStar"; "Reflection"]@s) Range.dummyRange -let fstar_refl_builtins_lid s = fstar_refl_lid ["Builtins"; s] -let fstar_refl_syntax_lid s = fstar_refl_lid ["Syntax"; s] let fstar_refl_types_lid s = fstar_refl_lid ["Types"; s] -let fstar_refl_data_lid s = fstar_refl_lid ["Data"; s] +let fstar_refl_builtins_lid s = fstar_refl_lid ["V1"; "Builtins"; s] +let fstar_refl_data_lid s = fstar_refl_lid ["V1"; "Data"; s] let fstar_refl_data_const s = let lid = fstar_refl_data_lid s in @@ -59,8 +58,6 @@ let fstar_refl_data_const s = let mk_refl_types_lid_as_term (s:string) = tconst (fstar_refl_types_lid s) let mk_refl_types_lid_as_fv (s:string) = fvconst (fstar_refl_types_lid s) -let mk_refl_syntax_lid_as_term (s:string) = tconst (fstar_refl_syntax_lid s) -let mk_refl_syntax_lid_as_fv (s:string) = fvconst (fstar_refl_syntax_lid s) let mk_refl_data_lid_as_term (s:string) = tconst (fstar_refl_data_lid s) let mk_refl_data_lid_as_fv (s:string) = fvconst (fstar_refl_data_lid s) @@ -129,8 +126,6 @@ let fstar_refl_lb_view = mk_refl_data_lid_as_term "lb_view" let fstar_refl_lb_view_fv = mk_refl_data_lid_as_fv "lb_view" let fstar_refl_sigelt_view = mk_refl_data_lid_as_term "sigelt_view" let fstar_refl_sigelt_view_fv = mk_refl_data_lid_as_fv "sigelt_view" -let fstar_refl_exp = mk_refl_data_lid_as_term "exp" -let fstar_refl_exp_fv = mk_refl_data_lid_as_fv "exp" let fstar_refl_qualifier = mk_refl_data_lid_as_term "qualifier" let fstar_refl_qualifier_fv = mk_refl_data_lid_as_fv "qualifier" let fstar_refl_universe_view = mk_refl_data_lid_as_term "universe_view" @@ -262,12 +257,6 @@ let ref_qual_HasMaskedEffect = fstar_refl_data_const "HasMasked let ref_qual_Effect = fstar_refl_data_const "Effect" let ref_qual_OnlyName = fstar_refl_data_const "OnlyName" -(* exp *) -let ref_E_Unit = fstar_refl_data_const "Unit" -let ref_E_Var = fstar_refl_data_const "Var" -let ref_E_Mult = fstar_refl_data_const "Mult" -let t_exp = tconst (Ident.lid_of_path ["FStar"; "Reflection"; "Data"; "exp"] Range.dummyRange) - (* Should not be here *) let ord_Lt_lid = Ident.lid_of_path (["FStar"; "Order"; "Lt"]) Range.dummyRange let ord_Eq_lid = Ident.lid_of_path (["FStar"; "Order"; "Eq"]) Range.dummyRange diff --git a/src/reflection/FStar.Reflection.Data.fst b/src/reflection/FStar.Reflection.V1.Data.fst similarity index 90% rename from src/reflection/FStar.Reflection.Data.fst rename to src/reflection/FStar.Reflection.V1.Data.fst index b957a916b17..9a93fceadb8 100644 --- a/src/reflection/FStar.Reflection.Data.fst +++ b/src/reflection/FStar.Reflection.V1.Data.fst @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Data +module FStar.Reflection.V1.Data (* NOTE: This file is exactly the same as its .fs/.fsi counterpart. It is only here so the equally-named interface file in ulib/ is not @@ -28,14 +28,14 @@ module Range = FStar.Compiler.Range module Z = FStar.BigInt open FStar.Ident -(* These two functions are in ulib/FStar.Reflection.Data.fsti +(* These two functions are in ulib/FStar.Reflection.V1.Data.fsti But, they are not extracted from there. - Instead, these functions are extraction from this file. It is + Instead, these functions are extraction from this file. It is not sufficient to place these functions in the interface - src/reflection/FStar.Reflection.Data.fsti since this module, like the + src/reflection/FStar.Reflection.V1.Data.fsti since this module, like the rest of the compiler, is extracted in MLish mode. Which means that - functions in the interface are not supported for extraction. So, + functions in the interface are not supported for extraction. So, we include them in this module implementation file to force them to be extracted *) let as_ppname (x:string) : Tot string = x diff --git a/src/reflection/FStar.Reflection.Data.fsti b/src/reflection/FStar.Reflection.V1.Data.fsti similarity index 98% rename from src/reflection/FStar.Reflection.Data.fsti rename to src/reflection/FStar.Reflection.V1.Data.fsti index 81a5e74f3b4..7a8d2bd8db5 100644 --- a/src/reflection/FStar.Reflection.Data.fsti +++ b/src/reflection/FStar.Reflection.V1.Data.fsti @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Data +module FStar.Reflection.V1.Data (* NOTE: This file is exactly the same as its .fs/.fsi counterpart. It is only here so the equally-named interface file in ulib/ is not @@ -31,6 +31,8 @@ open FStar.Ident type name = list string type typ = term type binders = list binder +type ident = string & Range.range +type univ_name = ident type vconst = | C_Unit diff --git a/src/reflection/FStar.Reflection.Embeddings.fst b/src/reflection/FStar.Reflection.V1.Embeddings.fst similarity index 64% rename from src/reflection/FStar.Reflection.Embeddings.fst rename to src/reflection/FStar.Reflection.V1.Embeddings.fst index cf01d11f754..6bacf5f98b9 100644 --- a/src/reflection/FStar.Reflection.Embeddings.fst +++ b/src/reflection/FStar.Reflection.V1.Embeddings.fst @@ -13,37 +13,37 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Embeddings +module FStar.Reflection.V1.Embeddings open FStar.Compiler.Effect -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Syntax.Syntax open FStar.Syntax.Embeddings open FStar.Order open FStar.Errors -module S = FStar.Syntax.Syntax // TODO: remove, it's open - -module I = FStar.Ident -module SS = FStar.Syntax.Subst -module BU = FStar.Compiler.Util -module Range = FStar.Compiler.Range -module U = FStar.Syntax.Util -module Print = FStar.Syntax.Print -module Env = FStar.TypeChecker.Env -module Err = FStar.Errors -module Z = FStar.BigInt -module EMB = FStar.Syntax.Embeddings -open FStar.Reflection.Basic //needed for inspect_fv, but that feels wrong +module BU = FStar.Compiler.Util +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module I = FStar.Ident +module List = FStar.Compiler.List module NBETerm = FStar.TypeChecker.NBETerm -module PC = FStar.Parser.Const -module O = FStar.Options -module RD = FStar.Reflection.Data -module List = FStar.Compiler.List +module O = FStar.Options +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module Range = FStar.Compiler.Range +module RD = FStar.Reflection.V1.Data +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module U = FStar.Syntax.Util +module Z = FStar.BigInt + +module EmbV2 = FStar.Reflection.V2.Embeddings open FStar.Compiler.Dyn - -open FStar.Reflection.Constants +open FStar.Reflection.V1.Builtins //needed for inspect_fv, but that feels wrong +open FStar.Reflection.V1.Constants (* * embed : from compiler to user @@ -57,90 +57,20 @@ let noaqs : antiquotations = (0, []) (* -------------------------------------------------------------------------------------- *) let mk_emb f g t = mk_emb (fun x r _topt _norm -> f r x) - (fun x w _norm -> g w x) + (fun x _norm -> g x) (EMB.term_as_fv t) let embed e r x = embed e x r None id_norm_cb -let unembed' w e x = unembed e x w id_norm_cb - -let e_bv = - let embed_bv (rng:Range.range) (bv:bv) : term = - U.mk_lazy bv fstar_refl_bv Lazy_bv (Some rng) - in - let unembed_bv w (t:term) : option bv = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_bv} -> - Some (undyn b) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded bv: %s" (Print.term_to_string t))); - None - in - mk_emb embed_bv unembed_bv fstar_refl_bv - -let e_binder = - let embed_binder (rng:Range.range) (b:binder) : term = - U.mk_lazy b fstar_refl_binder Lazy_binder (Some rng) - in - let unembed_binder w (t:term) : option binder = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_binder} -> - Some (undyn b) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded binder: %s" (Print.term_to_string t))); - None - in - mk_emb embed_binder unembed_binder fstar_refl_binder - -let rec mapM_opt (f : ('a -> option 'b)) (l : list 'a) : option (list 'b) = - match l with - | [] -> Some [] - | x::xs -> - BU.bind_opt (f x) (fun x -> - BU.bind_opt (mapM_opt f xs) (fun xs -> - Some (x :: xs))) - -let e_term_aq aq = - let embed_term (rng:Range.range) (t:term) : term = - let qi = { qkind = Quote_static; antiquotations = aq } in - S.mk (Tm_quoted (t, qi)) rng - in - let rec unembed_term w (t:term) : option term = - let apply_antiquotations (t:term) (aq:antiquotations) : option term = - let shift, aqs = aq in - let aqs = List.rev aqs in - // Try to unembed all antiquotations - BU.bind_opt (mapM_opt (unembed_term w) aqs) (fun aq_ts -> - // Create a substitution of the DB indices of t for the antiquotations - (* let n = List.length aq_ts - 1 in *) - let subst_open, subst = - aq_ts - |> List.mapi (fun i at -> - let x = S.new_bv None S.t_term in - DB(shift+i, x), NT (x, at)) - |> List.unzip - in - - // Substitute and return - Some (SS.subst subst <| SS.subst subst_open t)) - in - let t = U.unmeta t in - match (SS.compress t).n with - | Tm_quoted (tm, qi) -> - let r = apply_antiquotations tm qi.antiquotations in - (match r with - | None when w -> - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Failed to unembed antiquotations for: %s" (Print.term_to_string t))) - | _ -> ()); - r - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded term: %s" (Print.term_to_string t))); - None - in - mk_emb embed_term unembed_term S.t_term - -let e_term = e_term_aq noaqs +let unembed e x = try_unembed e x id_norm_cb + +(* Abstract, reexport *) +let e_bv = EmbV2.e_bv +let e_binder = EmbV2.e_binder +let e_term_aq = EmbV2.e_term_aq +let e_term = EmbV2.e_term +let e_binders = EmbV2.e_binders +let e_fv = EmbV2.e_fv +let e_comp = EmbV2.e_comp +let e_universe = EmbV2.e_universe let e_aqualv = let embed_aqualv (rng:Range.range) (q : aqualv) : term = @@ -153,77 +83,23 @@ let e_aqualv = Range.dummyRange in { r with pos = rng } in - let unembed_aqualv w (t : term) : option aqualv = + let unembed_aqualv (t : term) : option aqualv = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Q_Explicit.lid -> Some Data.Q_Explicit | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Q_Implicit.lid -> Some Data.Q_Implicit | Tm_fvar fv, [(t, _)] when S.fv_eq_lid fv ref_Q_Meta.lid -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_term t) (fun t -> Some (Data.Q_Meta t)) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded aqualv: %s" (Print.term_to_string t))); None in mk_emb embed_aqualv unembed_aqualv fstar_refl_aqualv -let e_binders = e_list e_binder - -let e_fv = - let embed_fv (rng:Range.range) (fv:fv) : term = - U.mk_lazy fv fstar_refl_fv Lazy_fvar (Some rng) - in - let unembed_fv w (t:term) : option fv = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_fvar} -> - Some (undyn b) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded fvar: %s" (Print.term_to_string t))); - None - in - mk_emb embed_fv unembed_fv fstar_refl_fv - -let e_comp = - let embed_comp (rng:Range.range) (c:comp) : term = - U.mk_lazy c fstar_refl_comp Lazy_comp (Some rng) - in - let unembed_comp w (t:term) : option comp = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_comp} -> - Some (undyn b) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded comp: %s" (Print.term_to_string t))); - None - in - mk_emb embed_comp unembed_comp fstar_refl_comp - -let e_universe = - let embed_universe (rng:Range.range) (u:universe) : term = - U.mk_lazy u fstar_refl_universe Lazy_universe (Some rng) in - let unembed_universe w (t:term) : option universe = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_universe} -> - Some (undyn b) - | _ -> - if w - then Err.log_issue t.pos - (Err.Warning_NotEmbedded, - (BU.format1 "Not an embedded universe: %s" (Print.term_to_string t))); - None - in - mk_emb embed_universe unembed_universe fstar_refl_universe - -let e_ident : embedding I.ident = - let repr = e_tuple2 e_string e_range in - embed_as repr - I.mk_ident - (fun i -> I.string_of_id i, I.range_of_id i) - (Some fstar_refl_ident) +let e_ident : embedding RD.ident = + e_tuple2 e_string e_range let e_universe_view = let embed_universe_view (rng:Range.range) (uv:universe_view) : term = @@ -257,43 +133,37 @@ let e_universe_view = | Uv_Unk -> ref_Uv_Unk.t in - let unembed_universe_view w (t:term) : option universe_view = + let unembed_universe_view (t:term) : option universe_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Uv_Zero.lid -> Some Uv_Zero | Tm_fvar fv, [u, _] when S.fv_eq_lid fv ref_Uv_Succ.lid -> - BU.bind_opt (unembed' w e_universe u) (fun u -> u |> Uv_Succ |> Some) + BU.bind_opt (unembed e_universe u) (fun u -> u |> Uv_Succ |> Some) | Tm_fvar fv, [us, _] when S.fv_eq_lid fv ref_Uv_Max.lid -> - BU.bind_opt (unembed' w (e_list e_universe) us) (fun us -> us |> Uv_Max |> Some) + BU.bind_opt (unembed (e_list e_universe) us) (fun us -> us |> Uv_Max |> Some) | Tm_fvar fv, [n, _] when S.fv_eq_lid fv ref_Uv_BVar.lid -> - BU.bind_opt (unembed' w e_int n) (fun n -> n |> Uv_BVar |> Some) + BU.bind_opt (unembed e_int n) (fun n -> n |> Uv_BVar |> Some) | Tm_fvar fv, [i, _] when S.fv_eq_lid fv ref_Uv_Name.lid -> - BU.bind_opt (unembed' w (e_tuple2 e_string e_range) i) (fun i -> i |> Uv_Name |> Some) + BU.bind_opt (unembed (e_tuple2 e_string e_range) i) (fun i -> i |> Uv_Name |> Some) | Tm_fvar fv, [u, _] when S.fv_eq_lid fv ref_Uv_Unif.lid -> let u : universe_uvar = U.unlazy_as_t Lazy_universe_uvar u in u |> Uv_Unif |> Some | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Uv_Unk.lid -> Some Uv_Unk | _ -> - if w - then Err.log_issue t.pos - (Err.Warning_NotEmbedded, - (BU.format1 "Not an embedded universe view: %s" (Print.term_to_string t))); None in - + mk_emb embed_universe_view unembed_universe_view fstar_refl_universe_view let e_env = let embed_env (rng:Range.range) (e:Env.env) : term = U.mk_lazy e fstar_refl_env Lazy_env (Some rng) in - let unembed_env w (t:term) : option Env.env = + let unembed_env (t:term) : option Env.env = match (SS.compress t).n with | Tm_lazy {blob=b; lkind=Lazy_env} -> Some (undyn b) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded env: %s" (Print.term_to_string t))); None in mk_emb embed_env unembed_env fstar_refl_env @@ -325,7 +195,7 @@ let e_const = in { r with pos = rng } in - let unembed_const w (t:term) : option vconst = + let unembed_const (t:term) : option vconst = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with @@ -339,27 +209,25 @@ let e_const = Some C_False | Tm_fvar fv, [(i, _)] when S.fv_eq_lid fv ref_C_Int.lid -> - BU.bind_opt (unembed' w e_int i) (fun i -> + BU.bind_opt (unembed e_int i) (fun i -> Some <| C_Int i) | Tm_fvar fv, [(s, _)] when S.fv_eq_lid fv ref_C_String.lid -> - BU.bind_opt (unembed' w e_string s) (fun s -> + BU.bind_opt (unembed e_string s) (fun s -> Some <| C_String s) | Tm_fvar fv, [(r, _)] when S.fv_eq_lid fv ref_C_Range.lid -> - BU.bind_opt (unembed' w e_range r) (fun r -> + BU.bind_opt (unembed e_range r) (fun r -> Some <| C_Range r) | Tm_fvar fv, [] when S.fv_eq_lid fv ref_C_Reify.lid -> Some <| C_Reify | Tm_fvar fv, [(ns, _)] when S.fv_eq_lid fv ref_C_Reflect.lid -> - BU.bind_opt (unembed' w e_string_list ns) (fun ns -> + BU.bind_opt (unembed e_string_list ns) (fun ns -> Some <| C_Reflect ns) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded vconst: %s" (Print.term_to_string t))); None in mk_emb embed_const unembed_const fstar_refl_vconst @@ -370,7 +238,7 @@ let rec e_pattern_aq aq = | Pat_Constant c -> S.mk_Tm_app ref_Pat_Constant.t [S.as_arg (embed e_const rng c)] rng | Pat_Cons (fv, us_opt, ps) -> - S.mk_Tm_app ref_Pat_Cons.t + S.mk_Tm_app ref_Pat_Cons.t [S.as_arg (embed e_fv rng fv); S.as_arg (embed (e_option (e_list e_universe)) rng us_opt); S.as_arg (embed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) rng ps)] rng @@ -380,32 +248,30 @@ let rec e_pattern_aq aq = S.mk_Tm_app ref_Pat_Dot_Term.t [S.as_arg (embed (e_option e_term) rng eopt)] rng in - let rec unembed_pattern w (t : term) : option pattern = + let rec unembed_pattern (t : term) : option pattern = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(c, _)] when S.fv_eq_lid fv ref_Pat_Constant.lid -> - BU.bind_opt (unembed' w e_const c) (fun c -> + BU.bind_opt (unembed e_const c) (fun c -> Some <| Pat_Constant c) | Tm_fvar fv, [(f, _); (us_opt, _); (ps, _)] when S.fv_eq_lid fv ref_Pat_Cons.lid -> - BU.bind_opt (unembed' w e_fv f) (fun f -> - BU.bind_opt (unembed' w (e_option (e_list e_universe)) us_opt) (fun us_opt -> - BU.bind_opt (unembed' w (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) ps) (fun ps -> + BU.bind_opt (unembed e_fv f) (fun f -> + BU.bind_opt (unembed (e_option (e_list e_universe)) us_opt) (fun us_opt -> + BU.bind_opt (unembed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) ps) (fun ps -> Some <| Pat_Cons (f, us_opt, ps)))) | Tm_fvar fv, [(bv, _); (sort, _)] when S.fv_eq_lid fv ref_Pat_Var.lid -> - BU.bind_opt (unembed' w e_bv bv) (fun bv -> - BU.bind_opt (unembed' w (e_sealed e_term) sort) (fun sort -> + BU.bind_opt (unembed e_bv bv) (fun bv -> + BU.bind_opt (unembed (e_sealed e_term) sort) (fun sort -> Some <| Pat_Var (bv, sort))) | Tm_fvar fv, [(eopt, _)] when S.fv_eq_lid fv ref_Pat_Dot_Term.lid -> - BU.bind_opt (unembed' w (e_option e_term) eopt) (fun eopt -> + BU.bind_opt (unembed (e_option e_term) eopt) (fun eopt -> Some <| Pat_Dot_Term eopt) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded pattern: %s" (Print.term_to_string t))); None in mk_emb embed_pattern unembed_pattern fstar_refl_pattern @@ -516,88 +382,88 @@ let e_term_view_aq aq = | Tv_Unsupp -> { ref_Tv_Unsupp.t with pos = rng } in - let unembed_term_view w (t:term) : option term_view = + let unembed_term_view (t:term) : option term_view = let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(b, _)] when S.fv_eq_lid fv ref_Tv_Var.lid -> - BU.bind_opt (unembed' w e_bv b) (fun b -> + BU.bind_opt (unembed e_bv b) (fun b -> Some <| Tv_Var b) | Tm_fvar fv, [(b, _)] when S.fv_eq_lid fv ref_Tv_BVar.lid -> - BU.bind_opt (unembed' w e_bv b) (fun b -> + BU.bind_opt (unembed e_bv b) (fun b -> Some <| Tv_BVar b) | Tm_fvar fv, [(f, _)] when S.fv_eq_lid fv ref_Tv_FVar.lid -> - BU.bind_opt (unembed' w e_fv f) (fun f -> + BU.bind_opt (unembed e_fv f) (fun f -> Some <| Tv_FVar f) | Tm_fvar fv, [(f, _); (us, _)] when S.fv_eq_lid fv ref_Tv_UInst.lid -> - BU.bind_opt (unembed' w e_fv f) (fun f -> - BU.bind_opt (unembed' w (e_list e_universe) us) (fun us -> + BU.bind_opt (unembed e_fv f) (fun f -> + BU.bind_opt (unembed (e_list e_universe) us) (fun us -> Some <| Tv_UInst (f, us))) | Tm_fvar fv, [(l, _); (r, _)] when S.fv_eq_lid fv ref_Tv_App.lid -> - BU.bind_opt (unembed' w e_term l) (fun l -> - BU.bind_opt (unembed' w e_argv r) (fun r -> + BU.bind_opt (unembed e_term l) (fun l -> + BU.bind_opt (unembed e_argv r) (fun r -> Some <| Tv_App (l, r))) | Tm_fvar fv, [(b, _); (t, _)] when S.fv_eq_lid fv ref_Tv_Abs.lid -> - BU.bind_opt (unembed' w e_binder b) (fun b -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_binder b) (fun b -> + BU.bind_opt (unembed e_term t) (fun t -> Some <| Tv_Abs (b, t))) | Tm_fvar fv, [(b, _); (t, _)] when S.fv_eq_lid fv ref_Tv_Arrow.lid -> - BU.bind_opt (unembed' w e_binder b) (fun b -> - BU.bind_opt (unembed' w e_comp t) (fun c -> + BU.bind_opt (unembed e_binder b) (fun b -> + BU.bind_opt (unembed e_comp t) (fun c -> Some <| Tv_Arrow (b, c))) | Tm_fvar fv, [(u, _)] when S.fv_eq_lid fv ref_Tv_Type.lid -> - BU.bind_opt (unembed' w e_universe u) (fun u -> + BU.bind_opt (unembed e_universe u) (fun u -> Some <| Tv_Type u) | Tm_fvar fv, [(b, _); (sort, _); (t, _)] when S.fv_eq_lid fv ref_Tv_Refine.lid -> - BU.bind_opt (unembed' w e_bv b) (fun b -> - BU.bind_opt (unembed' w e_term sort) (fun sort -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_bv b) (fun b -> + BU.bind_opt (unembed e_term sort) (fun sort -> + BU.bind_opt (unembed e_term t) (fun t -> Some <| Tv_Refine (b, sort, t)))) | Tm_fvar fv, [(c, _)] when S.fv_eq_lid fv ref_Tv_Const.lid -> - BU.bind_opt (unembed' w e_const c) (fun c -> + BU.bind_opt (unembed e_const c) (fun c -> Some <| Tv_Const c) | Tm_fvar fv, [(u, _); (l, _)] when S.fv_eq_lid fv ref_Tv_Uvar.lid -> - BU.bind_opt (unembed' w e_int u) (fun u -> + BU.bind_opt (unembed e_int u) (fun u -> let ctx_u_s : ctx_uvar_and_subst = U.unlazy_as_t Lazy_uvar l in Some <| Tv_Uvar (u, ctx_u_s)) | Tm_fvar fv, [(r, _); (attrs, _); (b, _); (ty, _); (t1, _); (t2, _)] when S.fv_eq_lid fv ref_Tv_Let.lid -> - BU.bind_opt (unembed' w e_bool r) (fun r -> - BU.bind_opt (unembed' w (e_list e_term) attrs) (fun attrs -> - BU.bind_opt (unembed' w e_bv b) (fun b -> - BU.bind_opt (unembed' w e_term ty) (fun ty-> - BU.bind_opt (unembed' w e_term t1) (fun t1 -> - BU.bind_opt (unembed' w e_term t2) (fun t2 -> + BU.bind_opt (unembed e_bool r) (fun r -> + BU.bind_opt (unembed (e_list e_term) attrs) (fun attrs -> + BU.bind_opt (unembed e_bv b) (fun b -> + BU.bind_opt (unembed e_term ty) (fun ty-> + BU.bind_opt (unembed e_term t1) (fun t1 -> + BU.bind_opt (unembed e_term t2) (fun t2 -> Some <| Tv_Let (r, attrs, b, ty, t1, t2))))))) | Tm_fvar fv, [(t, _); (ret_opt, _); (brs, _)] when S.fv_eq_lid fv ref_Tv_Match.lid -> - BU.bind_opt (unembed' w e_term t) (fun t -> - BU.bind_opt (unembed' w (e_list e_branch) brs) (fun brs -> - BU.bind_opt (unembed' w e_match_returns_annotation ret_opt) (fun ret_opt -> + BU.bind_opt (unembed e_term t) (fun t -> + BU.bind_opt (unembed (e_list e_branch) brs) (fun brs -> + BU.bind_opt (unembed e_match_returns_annotation ret_opt) (fun ret_opt -> Some <| Tv_Match (t, ret_opt, brs)))) | Tm_fvar fv, [(e, _); (t, _); (tacopt, _); (use_eq, _)] when S.fv_eq_lid fv ref_Tv_AscT.lid -> - BU.bind_opt (unembed' w e_term e) (fun e -> - BU.bind_opt (unembed' w e_term t) (fun t -> - BU.bind_opt (unembed' w (e_option e_term) tacopt) (fun tacopt -> - BU.bind_opt (unembed' w e_bool use_eq) (fun use_eq -> + BU.bind_opt (unembed e_term e) (fun e -> + BU.bind_opt (unembed e_term t) (fun t -> + BU.bind_opt (unembed (e_option e_term) tacopt) (fun tacopt -> + BU.bind_opt (unembed e_bool use_eq) (fun use_eq -> Some <| Tv_AscribedT (e, t, tacopt, use_eq))))) | Tm_fvar fv, [(e, _); (c, _); (tacopt, _); (use_eq, _)] when S.fv_eq_lid fv ref_Tv_AscC.lid -> - BU.bind_opt (unembed' w e_term e) (fun e -> - BU.bind_opt (unembed' w e_comp c) (fun c -> - BU.bind_opt (unembed' w (e_option e_term) tacopt) (fun tacopt -> - BU.bind_opt (unembed' w e_bool use_eq) (fun use_eq -> + BU.bind_opt (unembed e_term e) (fun e -> + BU.bind_opt (unembed e_comp c) (fun c -> + BU.bind_opt (unembed (e_option e_term) tacopt) (fun tacopt -> + BU.bind_opt (unembed e_bool use_eq) (fun use_eq -> Some <| Tv_AscribedC (e, c, tacopt, use_eq))))) | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Tv_Unknown.lid -> @@ -607,8 +473,6 @@ let e_term_view_aq aq = Some <| Tv_Unsupp | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded term_view: %s" (Print.term_to_string t))); None in mk_emb embed_term_view unembed_term_view fstar_refl_term_view @@ -620,11 +484,11 @@ let e_lid : embedding I.lid = let embed rng lid : term = embed e_string_list rng (I.path_of_lid lid) in - let unembed w t : option I.lid = - BU.map_opt (unembed' w e_string_list t) (fun p -> I.lid_of_path p t.pos) + let unembed t : option I.lid = + BU.map_opt (unembed e_string_list t) (fun p -> I.lid_of_path p t.pos) in EMB.mk_emb_full (fun x r _ _ -> embed r x) - (fun x w _ -> unembed w x) + (fun x _ -> unembed x) (t_list_of t_string) I.string_of_lid ET_abstract @@ -636,18 +500,16 @@ let e_bv_view = S.as_arg (embed e_int rng bvv.bv_index)] rng in - let unembed_bv_view w (t : term) : option bv_view = + let unembed_bv_view (t : term) : option bv_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(nm, _); (idx, _)] when S.fv_eq_lid fv ref_Mk_bv.lid -> - BU.bind_opt (unembed' w (e_sealed e_string) nm) (fun nm -> - BU.bind_opt (unembed' w e_int idx) (fun idx -> + BU.bind_opt (unembed (e_sealed e_string) nm) (fun nm -> + BU.bind_opt (unembed e_int idx) (fun idx -> Some <| { bv_ppname = nm ; bv_index = idx })) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded bv_view: %s" (Print.term_to_string t))); None in mk_emb embed_bv_view unembed_bv_view fstar_refl_bv_view @@ -664,21 +526,19 @@ let e_binder_view = S.as_arg (embed e_term rng bview.binder_sort)] rng in - let unembed_binder_view w (t:term) : option binder_view = + let unembed_binder_view (t:term) : option binder_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(bv, _); (q, _); (attrs, _); (sort, _)] when S.fv_eq_lid fv ref_Mk_binder.lid -> - BU.bind_opt (unembed' w e_bv bv) (fun bv -> - BU.bind_opt (unembed' w e_aqualv q) (fun q -> - BU.bind_opt (unembed' w e_attributes attrs) (fun attrs -> - BU.bind_opt (unembed' w e_term sort) (fun sort -> + BU.bind_opt (unembed e_bv bv) (fun bv -> + BU.bind_opt (unembed e_aqualv q) (fun q -> + BU.bind_opt (unembed e_attributes attrs) (fun attrs -> + BU.bind_opt (unembed e_term sort) (fun sort -> Some <| RD.({ binder_bv=bv;binder_qual=q; binder_attrs=attrs; binder_sort = sort}))))) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded binder_view: %s" (Print.term_to_string t))); None in mk_emb embed_binder_view unembed_binder_view fstar_refl_binder_view @@ -708,38 +568,36 @@ let e_comp_view = in - let unembed_comp_view w (t : term) : option comp_view = + let unembed_comp_view (t : term) : option comp_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(t, _)] when S.fv_eq_lid fv ref_C_Total.lid -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_term t) (fun t -> Some <| C_Total t) | Tm_fvar fv, [(t, _)] when S.fv_eq_lid fv ref_C_GTotal.lid -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_term t) (fun t -> Some <| C_GTotal t) | Tm_fvar fv, [(pre, _); (post, _); (pats, _)] when S.fv_eq_lid fv ref_C_Lemma.lid -> - BU.bind_opt (unembed' w e_term pre) (fun pre -> - BU.bind_opt (unembed' w e_term post) (fun post -> - BU.bind_opt (unembed' w e_term pats) (fun pats -> + BU.bind_opt (unembed e_term pre) (fun pre -> + BU.bind_opt (unembed e_term post) (fun post -> + BU.bind_opt (unembed e_term pats) (fun pats -> Some <| C_Lemma (pre, post, pats)))) | Tm_fvar fv, [(us, _); (eff, _); (res, _); (args, _); (decrs, _)] when S.fv_eq_lid fv ref_C_Eff.lid -> - BU.bind_opt (unembed' w (e_list e_universe) us) (fun us -> - BU.bind_opt (unembed' w e_string_list eff) (fun eff -> - BU.bind_opt (unembed' w e_term res) (fun res-> - BU.bind_opt (unembed' w (e_list e_argv) args) (fun args -> - BU.bind_opt (unembed' w (e_list e_term) decrs) (fun decrs -> + BU.bind_opt (unembed (e_list e_universe) us) (fun us -> + BU.bind_opt (unembed e_string_list eff) (fun eff -> + BU.bind_opt (unembed e_term res) (fun res-> + BU.bind_opt (unembed (e_list e_argv) args) (fun args -> + BU.bind_opt (unembed (e_list e_term) decrs) (fun decrs -> Some <| C_Eff (us, eff, res, args, decrs)))))) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded comp_view: %s" (Print.term_to_string t))); None in mk_emb embed_comp_view unembed_comp_view fstar_refl_comp_view @@ -755,7 +613,7 @@ let e_order = | Gt -> ord_Gt in { r with pos = rng } in - let unembed_order w (t:term) : option order = + let unembed_order (t:term) : option order = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with @@ -763,8 +621,6 @@ let e_order = | Tm_fvar fv, [] when S.fv_eq_lid fv ord_Eq_lid -> Some Eq | Tm_fvar fv, [] when S.fv_eq_lid fv ord_Gt_lid -> Some Gt | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded order: %s" (Print.term_to_string t))); None in mk_emb embed_order unembed_order S.t_order @@ -773,13 +629,11 @@ let e_sigelt = let embed_sigelt (rng:Range.range) (se:sigelt) : term = U.mk_lazy se fstar_refl_sigelt Lazy_sigelt (Some rng) in - let unembed_sigelt w (t:term) : option sigelt = + let unembed_sigelt (t:term) : option sigelt = match (SS.compress t).n with | Tm_lazy {blob=b; lkind=Lazy_sigelt} -> Some (undyn b) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded sigelt: %s" (Print.term_to_string t))); None in mk_emb embed_sigelt unembed_sigelt fstar_refl_sigelt @@ -795,26 +649,24 @@ let e_lb_view = let embed_lb_view (rng:Range.range) (lbv:lb_view) : term = S.mk_Tm_app ref_Mk_lb.t [S.as_arg (embed e_fv rng lbv.lb_fv); S.as_arg (embed e_univ_names rng lbv.lb_us); - S.as_arg (embed e_term rng lbv.lb_typ); + S.as_arg (embed e_term rng lbv.lb_typ); S.as_arg (embed e_term rng lbv.lb_def)] rng in - let unembed_lb_view w (t : term) : option lb_view = + let unembed_lb_view (t : term) : option lb_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(fv', _); (us, _); (typ, _); (def,_)] - when S.fv_eq_lid fv ref_Mk_lb.lid -> - BU.bind_opt (unembed' w e_fv fv') (fun fv' -> - BU.bind_opt (unembed' w e_univ_names us) (fun us -> - BU.bind_opt (unembed' w e_term typ) (fun typ -> - BU.bind_opt (unembed' w e_term def) (fun def -> + when S.fv_eq_lid fv ref_Mk_lb.lid -> + BU.bind_opt (unembed e_fv fv') (fun fv' -> + BU.bind_opt (unembed e_univ_names us) (fun us -> + BU.bind_opt (unembed e_term typ) (fun typ -> + BU.bind_opt (unembed e_term def) (fun def -> Some <| - { lb_fv = fv'; lb_us = us; lb_typ = typ; lb_def = def })))) + { lb_fv = fv'; lb_us = us; lb_typ = typ; lb_def = def })))) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded lb_view: %s" (Print.term_to_string t))); None in mk_emb embed_lb_view unembed_lb_view fstar_refl_lb_view @@ -823,13 +675,11 @@ let e_letbinding = let embed_letbinding (rng:Range.range) (lb:letbinding) : term = U.mk_lazy lb fstar_refl_letbinding Lazy_letbinding (Some rng) in - let unembed_letbinding w (t : term) : option letbinding = + let unembed_letbinding (t : term) : option letbinding = match (SS.compress t).n with | Tm_lazy {blob=lb; lkind=Lazy_letbinding} -> Some (undyn lb) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded letbinding: %s" (Print.term_to_string t))); None in mk_emb embed_letbinding unembed_letbinding fstar_refl_letbinding @@ -862,75 +712,37 @@ let e_sigelt_view = | Unk -> { ref_Unk.t with pos = rng } in - let unembed_sigelt_view w (t:term) : option sigelt_view = + let unembed_sigelt_view (t:term) : option sigelt_view = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [(nm, _); (us, _); (bs, _); (t, _); (dcs, _)] when S.fv_eq_lid fv ref_Sg_Inductive.lid -> - BU.bind_opt (unembed' w e_string_list nm) (fun nm -> - BU.bind_opt (unembed' w e_univ_names us) (fun us -> - BU.bind_opt (unembed' w e_binders bs) (fun bs -> - BU.bind_opt (unembed' w e_term t) (fun t -> - BU.bind_opt (unembed' w (e_list e_ctor) dcs) (fun dcs -> + BU.bind_opt (unembed e_string_list nm) (fun nm -> + BU.bind_opt (unembed e_univ_names us) (fun us -> + BU.bind_opt (unembed e_binders bs) (fun bs -> + BU.bind_opt (unembed e_term t) (fun t -> + BU.bind_opt (unembed (e_list e_ctor) dcs) (fun dcs -> Some <| Sg_Inductive (nm, us, bs, t, dcs)))))) | Tm_fvar fv, [(r, _); (lbs, _)] when S.fv_eq_lid fv ref_Sg_Let.lid -> - BU.bind_opt (unembed' w e_bool r) (fun r -> - BU.bind_opt (unembed' w (e_list e_letbinding) lbs) (fun lbs -> + BU.bind_opt (unembed e_bool r) (fun r -> + BU.bind_opt (unembed (e_list e_letbinding) lbs) (fun lbs -> Some <| Sg_Let (r, lbs))) | Tm_fvar fv, [(nm, _); (us, _); (t, _)] when S.fv_eq_lid fv ref_Sg_Val.lid -> - BU.bind_opt (unembed' w e_string_list nm) (fun nm -> - BU.bind_opt (unembed' w e_univ_names us) (fun us -> - BU.bind_opt (unembed' w e_term t) (fun t -> + BU.bind_opt (unembed e_string_list nm) (fun nm -> + BU.bind_opt (unembed e_univ_names us) (fun us -> + BU.bind_opt (unembed e_term t) (fun t -> Some <| Sg_Val (nm, us, t)))) | Tm_fvar fv, [] when S.fv_eq_lid fv ref_Unk.lid -> Some Unk | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded sigelt_view: %s " (Print.term_to_string t))); None in mk_emb embed_sigelt_view unembed_sigelt_view fstar_refl_sigelt_view -let e_exp = - let rec embed_exp (rng:Range.range) (e:exp) : term = - let r = - match e with - | Unit -> ref_E_Unit.t - | Var i -> - S.mk_Tm_app ref_E_Var.t [S.as_arg (U.exp_int (Z.string_of_big_int i))] - Range.dummyRange - | Mult (e1, e2) -> - S.mk_Tm_app ref_E_Mult.t [S.as_arg (embed_exp rng e1); S.as_arg (embed_exp rng e2)] - Range.dummyRange - in { r with pos = rng } - in - let rec unembed_exp w (t: term) : option exp = - let t = U.unascribe t in - let hd, args = U.head_and_args t in - match (U.un_uinst hd).n, args with - | Tm_fvar fv, [] when S.fv_eq_lid fv ref_E_Unit.lid -> - Some Unit - - | Tm_fvar fv, [(i, _)] when S.fv_eq_lid fv ref_E_Var.lid -> - BU.bind_opt (unembed' w e_int i) (fun i -> - Some <| Var i) - - | Tm_fvar fv, [(e1, _); (e2, _)] when S.fv_eq_lid fv ref_E_Mult.lid -> - BU.bind_opt (unembed_exp w e1) (fun e1 -> - BU.bind_opt (unembed_exp w e2) (fun e2 -> - Some <| Mult (e1, e2))) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded exp: %s" (Print.term_to_string t))); - None - in - mk_emb embed_exp unembed_exp fstar_refl_exp - - let e_qualifier = let embed (rng:Range.range) (q:RD.qualifier) : term = let r = @@ -979,7 +791,7 @@ let e_qualifier = in { r with pos = rng } in - let unembed w (t: term) : option RD.qualifier = + let unembed (t: term) : option RD.qualifier = let t = U.unascribe t in let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with @@ -1038,32 +850,30 @@ let e_qualifier = Some RD.OnlyName | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv ref_qual_Reflectable.lid -> - BU.bind_opt (unembed' w e_lid l) (fun l -> + BU.bind_opt (unembed e_lid l) (fun l -> Some <| RD.Reflectable l) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv ref_qual_Discriminator.lid -> - BU.bind_opt (unembed' w e_lid l) (fun l -> + BU.bind_opt (unembed e_lid l) (fun l -> Some <| RD.Discriminator l) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv ref_qual_Action.lid -> - BU.bind_opt (unembed' w e_lid l) (fun l -> + BU.bind_opt (unembed e_lid l) (fun l -> Some <| RD.Action l) | Tm_fvar fv, [(payload, _)] when S.fv_eq_lid fv ref_qual_Projector.lid -> - BU.bind_opt (unembed' w (e_tuple2 e_lid e_ident) payload) (fun (l, i) -> + BU.bind_opt (unembed (e_tuple2 e_lid e_ident) payload) (fun (l, i) -> Some <| RD.Projector (l, i)) | Tm_fvar fv, [(payload, _)] when S.fv_eq_lid fv ref_qual_RecordType.lid -> - BU.bind_opt (unembed' w (e_tuple2 (e_list e_ident) (e_list e_ident)) payload) (fun (ids1, ids2) -> + BU.bind_opt (unembed (e_tuple2 (e_list e_ident) (e_list e_ident)) payload) (fun (ids1, ids2) -> Some <| RD.RecordType (ids1, ids2)) | Tm_fvar fv, [(payload, _)] when S.fv_eq_lid fv ref_qual_RecordConstructor.lid -> - BU.bind_opt (unembed' w (e_tuple2 (e_list e_ident) (e_list e_ident)) payload) (fun (ids1, ids2) -> + BU.bind_opt (unembed (e_tuple2 (e_list e_ident) (e_list e_ident)) payload) (fun (ids1, ids2) -> Some <| RD.RecordConstructor (ids1, ids2)) | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded qualifier: %s" (Print.term_to_string t))); None in mk_emb embed unembed fstar_refl_qualifier diff --git a/src/reflection/FStar.Reflection.Embeddings.fsti b/src/reflection/FStar.Reflection.V1.Embeddings.fsti similarity index 88% rename from src/reflection/FStar.Reflection.Embeddings.fsti rename to src/reflection/FStar.Reflection.V1.Embeddings.fsti index e8ea6be56d2..cb29b579a93 100644 --- a/src/reflection/FStar.Reflection.Embeddings.fsti +++ b/src/reflection/FStar.Reflection.V1.Embeddings.fsti @@ -13,16 +13,16 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Embeddings +module FStar.Reflection.V1.Embeddings open FStar open FStar.Compiler open FStar.Syntax.Syntax open FStar.Syntax.Embeddings open FStar.Order open FStar.TypeChecker.Env -open FStar.Reflection.Data +open FStar.Reflection.V1.Data module O = FStar.Options -module RD = FStar.Reflection.Data +module RD = FStar.Reflection.V1.Data (* Embeddings *) val e_bv : embedding bv @@ -46,14 +46,13 @@ val e_letbinding : embedding letbinding val e_lb_view : embedding lb_view val e_sigelt_view : embedding sigelt_view val e_bv_view : embedding bv_view -val e_exp : embedding exp val e_attribute : embedding attribute val e_attributes : embedding (list attribute) (* This seems rather silly, but `attributes` is a keyword *) val e_qualifier : embedding RD.qualifier val e_qualifiers : embedding (list RD.qualifier) -val e_ident : embedding Ident.ident -val e_univ_name : embedding univ_name -val e_univ_names : embedding (list univ_name) +val e_ident : embedding RD.ident (* NOT FStar.Ident.ident *) +val e_univ_name : embedding RD.univ_name (* NOT Syntax.univ_name *) +val e_univ_names : embedding (list RD.univ_name) (* NOT Syntax.univ_name *) val e_universe : embedding universe val e_universe_view : embedding universe_view diff --git a/src/reflection/FStar.Reflection.Interpreter.fst b/src/reflection/FStar.Reflection.V1.Interpreter.fst similarity index 95% rename from src/reflection/FStar.Reflection.Interpreter.fst rename to src/reflection/FStar.Reflection.V1.Interpreter.fst index 637947e5aa1..e4ab4276c45 100644 --- a/src/reflection/FStar.Reflection.Interpreter.fst +++ b/src/reflection/FStar.Reflection.V1.Interpreter.fst @@ -13,27 +13,27 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Interpreter +module FStar.Reflection.V1.Interpreter module BU = FStar.Compiler.Util module Cfg = FStar.TypeChecker.Cfg module EMB = FStar.Syntax.Embeddings module Env = FStar.TypeChecker.Env module NBET = FStar.TypeChecker.NBETerm -module NRE = FStar.Reflection.NBEEmbeddings -module RB = FStar.Reflection.Basic -module RD = FStar.Reflection.Data -module RE = FStar.Reflection.Embeddings +module NRE = FStar.Reflection.V1.NBEEmbeddings +module RB = FStar.Reflection.V1.Builtins +module RD = FStar.Reflection.V1.Data +module RE = FStar.Reflection.V1.Embeddings module Z = FStar.BigInt module Range = FStar.Compiler.Range open FStar.Compiler open FStar.Compiler.List open FStar.Ident open FStar.Syntax.Syntax -open FStar.Reflection.Constants +open FStar.Reflection.V1.Constants -let unembed ea a norm_cb = EMB.unembed ea a true norm_cb -let try_unembed ea a norm_cb = EMB.unembed ea a false norm_cb +let unembed ea a norm_cb = EMB.unembed ea a norm_cb +let try_unembed ea a norm_cb = EMB.try_unembed ea a norm_cb let embed ea r x norm_cb = EMB.embed ea x r None norm_cb (* We use `try_unembed` instead of `unembedding`, since we very well @@ -153,7 +153,7 @@ let e_aqualv : dualemb RD.aqualv = (RE.e_aqualv, NRE.e_aqualv) let e_vconfig : dualemb VConfig.vconfig = (EMB.e_vconfig, NBET.e_vconfig) let e_attributes : dualemb (list attribute) = (RE.e_attributes, NRE.e_attributes) let e_qualifiers : dualemb RD.qualifiers = (RE.e_qualifiers, NRE.e_qualifiers) -let e_range : dualemb Range.range = +let e_range : dualemb Range.range = (FStar.Syntax.Embeddings.e_range, FStar.TypeChecker.NBETerm.e_range) let e_list (e : dualemb 'a) : dualemb (list 'a) = @@ -195,7 +195,7 @@ let mk3 nm (f : 'a -> 'b -> 'c -> 'r) (ea : dualemb 'a) (eb : dualemb 'b) (ec * likely be used to derive a contradiction. * * The way to go about adding new primitives is to implement them in the - * FStar.Reflection.Basic module and implement them using the (internal) + * FStar.Reflection.V1.Builtins module and implement them using the (internal) * inspect_ln and pack_ln functions, which means they should not break * the view abstraction. * @@ -379,7 +379,7 @@ let reflection_primops : list Cfg.primitive_step = [ e_env (e_list e_string_list); - (* See note in ulib/FStar.Reflection.Builints.fsti: we expose these + (* See note in ulib/FStar.Reflection.V1.Builints.fsti: we expose these three to reduce dependencies. *) mk1 "implode_qn" RB.implode_qn diff --git a/src/reflection/FStar.Reflection.Interpreter.fsti b/src/reflection/FStar.Reflection.V1.Interpreter.fsti similarity index 94% rename from src/reflection/FStar.Reflection.Interpreter.fsti rename to src/reflection/FStar.Reflection.V1.Interpreter.fsti index e9123cb44f0..3b44b406ea5 100644 --- a/src/reflection/FStar.Reflection.Interpreter.fsti +++ b/src/reflection/FStar.Reflection.V1.Interpreter.fsti @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Interpreter +module FStar.Reflection.V1.Interpreter module Cfg = FStar.TypeChecker.Cfg diff --git a/src/reflection/FStar.Reflection.NBEEmbeddings.fst b/src/reflection/FStar.Reflection.V1.NBEEmbeddings.fst similarity index 92% rename from src/reflection/FStar.Reflection.NBEEmbeddings.fst rename to src/reflection/FStar.Reflection.V1.NBEEmbeddings.fst index 5d9c934e0f6..bd4bd1c01f8 100644 --- a/src/reflection/FStar.Reflection.NBEEmbeddings.fst +++ b/src/reflection/FStar.Reflection.V1.NBEEmbeddings.fst @@ -13,11 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.NBEEmbeddings +module FStar.Reflection.V1.NBEEmbeddings open FStar.Compiler open FStar.Compiler.Effect open FStar.Pervasives -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Syntax.Syntax open FStar.TypeChecker.NBETerm open FStar.Order @@ -26,25 +26,20 @@ open FStar.Errors module O = FStar.Options module S = FStar.Syntax.Syntax // TODO: remove, it's open -module Thunk = FStar.Thunk -module I = FStar.Ident -module SS = FStar.Syntax.Subst -module BU = FStar.Compiler.Util -module Range = FStar.Compiler.Range -module U = FStar.Syntax.Util -module Print = FStar.Syntax.Print -module Env = FStar.TypeChecker.Env -module Err = FStar.Errors -module Z = FStar.BigInt -open FStar.Reflection.Basic //needed for inspect_fv, but that feels wrong -module PC = FStar.Parser.Const +module BU = FStar.Compiler.Util +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module I = FStar.Ident module NBETerm = FStar.TypeChecker.NBETerm -module RD = FStar.Reflection.Data - +module PC = FStar.Parser.Const +module Range = FStar.Compiler.Range +module RD = FStar.Reflection.V1.Data +module SS = FStar.Syntax.Subst +module Thunk = FStar.Thunk +module U = FStar.Syntax.Util open FStar.Compiler.Dyn - -open FStar.Reflection.Constants +open FStar.Reflection.V1.Constants (* * embed : from compiler to user @@ -126,7 +121,7 @@ let e_term_aq aq = match t.nbe_t with | NBETerm.Quote (tm, qi) -> (* Just reuse the code from Reflection *) - Syntax.Embeddings.unembed (Reflection.Embeddings.e_term_aq (0, [])) (S.mk (Tm_quoted (tm, qi)) Range.dummyRange) false Syntax.Embeddings.id_norm_cb + Syntax.Embeddings.unembed (Reflection.V1.Embeddings.e_term_aq (0, [])) (S.mk (Tm_quoted (tm, qi)) Range.dummyRange) Syntax.Embeddings.id_norm_cb | _ -> None in @@ -273,7 +268,7 @@ let rec e_pattern_aq aq = | Pat_Constant c -> mkConstruct ref_Pat_Constant.fv [] [as_arg (embed e_const cb c)] | Pat_Cons (fv, us_opt, ps) -> - mkConstruct ref_Pat_Cons.fv [] + mkConstruct ref_Pat_Cons.fv [] [as_arg (embed e_fv cb fv); as_arg (embed (e_option (e_list e_universe)) cb us_opt); as_arg (embed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) cb ps)] @@ -290,7 +285,7 @@ let rec e_pattern_aq aq = | Construct (fv, [], [(ps, _); (us_opt, _); (f, _)]) when S.fv_eq_lid fv ref_Pat_Cons.lid -> BU.bind_opt (unembed e_fv cb f) (fun f -> - BU.bind_opt (unembed (e_option (e_list e_universe)) cb us_opt) (fun us -> + BU.bind_opt (unembed (e_option (e_list e_universe)) cb us_opt) (fun us -> BU.bind_opt (unembed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) cb ps) (fun ps -> Some <| Pat_Cons (f, us, ps)))) @@ -329,33 +324,7 @@ let unlazy_as_t k t = | _ -> failwith "Not a Lazy of the expected kind (NBE)" -// TODO: It would be nice to have a -// embed_as : ('a -> 'b) -> ('b -> 'a) -> embedding 'a -> embedding 'b -// so we don't write these things -let e_ident : embedding I.ident = - let repr = e_tuple2 e_range e_string in - let embed_ident cb (i:I.ident) : t = - embed repr cb (I.range_of_id i, I.string_of_id i) - in - let unembed_ident cb (t:t) : option I.ident = - match unembed repr cb t with - | Some (rng, s) -> Some (I.mk_ident (s, rng)) - | None -> None - in - let range_fv = (lid_as_fv PC.range_lid None) in - let string_fv = (lid_as_fv PC.string_lid None) in - let et = - ET_app (FStar.Ident.string_of_lid PC.lid_tuple2, - [fv_as_emb_typ range_fv; - fv_as_emb_typ string_fv]) - in - mk_emb embed_ident unembed_ident (mkFV (lid_as_fv PC.lid_tuple2 None) - [U_zero;U_zero] - [as_arg (mkFV range_fv [] []); - as_arg (mkFV string_fv [] [])]) et - // TODO: again a delta depth issue, should be this - (* fstar_refl_ident *) - +let e_ident : embedding RD.ident = e_tuple2 e_string e_range let e_universe_view = let embed_universe_view cb (uv:universe_view) : t = @@ -408,7 +377,7 @@ let e_universe_view = (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded universe view: %s" (t_to_string t))); None in - + mk_emb' embed_universe_view unembed_universe_view fstar_refl_universe_view_fv let e_term_view_aq aq = @@ -827,32 +796,6 @@ let e_sigelt_view = in mk_emb' embed_sigelt_view unembed_sigelt_view fstar_refl_sigelt_view_fv -let e_exp = - let rec embed_exp cb (e:exp) : t = - match e with - | Data.Unit -> mkConstruct ref_E_Unit.fv [] [] - | Data.Var i -> mkConstruct ref_E_Var.fv [] [as_arg (mk_t (Constant (Int i)))] - | Data.Mult (e1, e2) -> mkConstruct ref_E_Mult.fv [] [as_arg (embed_exp cb e1); as_arg (embed_exp cb e2)] - in - let rec unembed_exp cb (t: t) : option exp = - match t.nbe_t with - | Construct (fv, _, []) when S.fv_eq_lid fv ref_E_Unit.lid -> - Some Data.Unit - - | Construct (fv, _, [(i, _)]) when S.fv_eq_lid fv ref_E_Var.lid -> - BU.bind_opt (unembed e_int cb i) (fun i -> - Some <| Data.Var i) - - | Construct (fv, _, [(e2, _); (e1, _)]) when S.fv_eq_lid fv ref_E_Mult.lid -> - BU.bind_opt (unembed_exp cb e1) (fun e1 -> - BU.bind_opt (unembed_exp cb e2) (fun e2 -> - Some <| Data.Mult (e1, e2))) - | _ -> - Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded exp: %s" (t_to_string t))); - None - in - mk_emb' embed_exp unembed_exp fstar_refl_exp_fv - let e_qualifier = let embed cb (q:RD.qualifier) : t = match q with diff --git a/src/reflection/FStar.Reflection.V1.NBEEmbeddings.fsti b/src/reflection/FStar.Reflection.V1.NBEEmbeddings.fsti new file mode 100644 index 00000000000..3813b40589c --- /dev/null +++ b/src/reflection/FStar.Reflection.V1.NBEEmbeddings.fsti @@ -0,0 +1,59 @@ +(* + Copyright 2008-2022 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.Reflection.V1.NBEEmbeddings + +open FStar +open FStar.Compiler +open FStar.TypeChecker.NBETerm +open FStar.Syntax.Syntax +open FStar.Order +open FStar.TypeChecker.Env +open FStar.Reflection.V1.Data +module RD = FStar.Reflection.V1.Data +module S = FStar.Syntax.Syntax + +(* Embeddings *) +val e_bv : embedding bv +val e_binder : embedding binder +val e_binder_view : embedding binder_view +val e_binders : embedding binders +val e_term : embedding S.term +val e_term_view : embedding term_view +val e_fv : embedding fv +val e_comp : embedding S.comp +val e_comp_view : embedding comp_view +val e_const : embedding vconst +val e_env : embedding FStar.TypeChecker.Env.env +val e_pattern : embedding pattern +val e_branch : embedding Data.branch +val e_aqualv : embedding aqualv +val e_argv : embedding argv +val e_order : embedding order +val e_sigelt : embedding sigelt +val e_letbinding : embedding letbinding +val e_lb_view : embedding lb_view +val e_sigelt_view : embedding sigelt_view +val e_bv_view : embedding bv_view +val e_attribute : embedding attribute +val e_attributes : embedding (list attribute) (* This seems rather silly, but `attributes` is a keyword *) +val e_qualifier : embedding RD.qualifier +val e_qualifiers : embedding (list RD.qualifier) +val e_ident : embedding RD.ident (* NOT FStar.Ident.ident *) +val e_univ_name : embedding RD.univ_name (* NOT Syntax.univ_name *) +val e_univ_names : embedding (list RD.univ_name) (* NOT Syntax.univ_name *) +val e_universe : embedding universe +val e_universe_view : embedding universe_view diff --git a/src/reflection/FStar.Reflection.Placeholder.fst b/src/reflection/FStar.Reflection.V1.Placeholder.fst similarity index 95% rename from src/reflection/FStar.Reflection.Placeholder.fst rename to src/reflection/FStar.Reflection.V1.Placeholder.fst index 8d949108fe2..5a3a91244aa 100644 --- a/src/reflection/FStar.Reflection.Placeholder.fst +++ b/src/reflection/FStar.Reflection.V1.Placeholder.fst @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Placeholder +module FStar.Reflection.V1.Placeholder open FStar open FStar.Compiler open FStar.Compiler.Effect diff --git a/src/reflection/FStar.Reflection.V2.Builtins.fst b/src/reflection/FStar.Reflection.V2.Builtins.fst new file mode 100644 index 00000000000..3493b344b11 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Builtins.fst @@ -0,0 +1,940 @@ +(* + Copyright 2008-2015 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.Reflection.V2.Builtins + +open FStar +open FStar.Compiler +open FStar.Pervasives +open FStar.Compiler.Effect +open FStar.Reflection.V2.Data +open FStar.Syntax.Syntax +open FStar.Order +open FStar.Errors +open FStar.List.Tot.Base + +module S = FStar.Syntax.Syntax // TODO: remove, it's open + +module C = FStar.Const +module PC = FStar.Parser.Const +module SS = FStar.Syntax.Subst +module BU = FStar.Compiler.Util +module Range = FStar.Compiler.Range +module U = FStar.Syntax.Util +module UF = FStar.Syntax.Unionfind +module Print = FStar.Syntax.Print +module Ident = FStar.Ident +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module Z = FStar.BigInt +module DsEnv = FStar.Syntax.DsEnv +module O = FStar.Options +module RD = FStar.Reflection.V2.Data +module EMB = FStar.Syntax.Embeddings +module N = FStar.TypeChecker.Normalize +open FStar.VConfig + +open FStar.Compiler.Dyn + +(* This file provides implementation for reflection primitives in F*. + * + * Users can be exposed to (mostly) raw syntax of terms when working in + * a metaprogramming effect (such as TAC). These effects are irrelevant + * for runtime and cannot, of course, be used for proof (where syntax + * inspection would be completely inconsistent + *) + + (* + * Most of this file is tedious and repetitive. + * We should really allow for some metaprogramming in F*. Oh wait.... + *) + + +(* This is a hack, but it allows to lookup the constructor sigelts when +inspecting a Sig_inductive_typ. + +We need to be careful though. If we use this for, say, `lookup_attr` and +remove its `env` argument, then the normalizer can reduce it eagerly. +Trying to do this right now means calls to `lookup_attr` are evaluated +at extraction time, and will not behave as expected. The root cause is +that all of the reflection operators are taken to be pure and that't not +the case if we remove the `env` in some, like `lookup_attr`. + +In the case of `inspect_sigelt`, however, I think it won't be +noticeable since one obtain a concrete sigelt without running an impure +metaprogram. *) +let get_env () : Env.env = + match !N.reflection_env_hook with + | None -> failwith "impossible: env_hook unset in reflection" + | Some e -> e + +(* private *) +let inspect_bqual (bq : bqual) : aqualv = + match bq with + | Some (Implicit _) -> Data.Q_Implicit + | Some (Meta t) -> Data.Q_Meta t + | Some Equality + | None -> Data.Q_Explicit + +let inspect_aqual (aq : aqual) : aqualv = + match aq with + | Some ({ aqual_implicit = true }) -> Data.Q_Implicit + | _ -> Data.Q_Explicit + +(* private *) +let pack_bqual (aqv : aqualv) : bqual = + match aqv with + | Data.Q_Explicit -> None + | Data.Q_Implicit -> Some (Implicit false) + | Data.Q_Meta t -> Some (Meta t) + +let pack_aqual (aqv : aqualv) : aqual = + match aqv with + | Data.Q_Implicit -> S.as_aqual_implicit true + | _ -> None + +let inspect_fv (fv:fv) : list string = + Ident.path_of_lid (lid_of_fv fv) + +let pack_fv (ns:list string) : fv = + let lid = PC.p2l ns in + let fallback () = + let quals = + (* This an awful hack *) + if Ident.lid_equals lid PC.cons_lid then Some Data_ctor else + if Ident.lid_equals lid PC.nil_lid then Some Data_ctor else + if Ident.lid_equals lid PC.some_lid then Some Data_ctor else + if Ident.lid_equals lid PC.none_lid then Some Data_ctor else + None + in + lid_as_fv (PC.p2l ns) quals + in + match !N.reflection_env_hook with + | None -> fallback () + | Some env -> + let qninfo = Env.lookup_qname env lid in + match qninfo with + | Some (Inr (se, _us), _rng) -> + let quals = DsEnv.fv_qual_of_se se in + lid_as_fv (PC.p2l ns) quals + | _ -> + fallback () + +// TODO: move to library? +let rec last (l:list 'a) : 'a = + match l with + | [] -> failwith "last: empty list" + | [x] -> x + | _::xs -> last xs + +let rec init (l:list 'a) : list 'a = + match l with + | [] -> failwith "init: empty list" + | [x] -> [] + | x::xs -> x :: init xs + +let inspect_const (c:sconst) : vconst = + match c with + | FStar.Const.Const_unit -> C_Unit + | FStar.Const.Const_int (s, _) -> C_Int (Z.big_int_of_string s) + | FStar.Const.Const_bool true -> C_True + | FStar.Const.Const_bool false -> C_False + | FStar.Const.Const_string (s, _) -> C_String s + | FStar.Const.Const_range r -> C_Range r + | FStar.Const.Const_reify _ -> C_Reify + | FStar.Const.Const_reflect l -> C_Reflect (Ident.path_of_lid l) + | _ -> failwith (BU.format1 "unknown constant: %s" (Print.const_to_string c)) + +let inspect_universe u = + match u with + | U_zero -> Uv_Zero + | U_succ u -> Uv_Succ u + | U_max us -> Uv_Max us + | U_bvar n -> Uv_BVar (Z.of_int_fs n) + | U_name i -> Uv_Name i + | U_unif u -> Uv_Unif u + | U_unknown -> Uv_Unk + +let pack_universe uv = + match uv with + | Uv_Zero -> U_zero + | Uv_Succ u -> U_succ u + | Uv_Max us -> U_max us + | Uv_BVar n -> U_bvar (Z.to_int_fs n) + | Uv_Name i -> U_name i + | Uv_Unif u -> U_unif u + | Uv_Unk -> U_unknown + +let rec inspect_pat p = + match p.v with + | Pat_constant c -> Pat_Constant (inspect_const c) + | Pat_cons (fv, us_opt, ps) -> Pat_Cons fv us_opt (List.map (fun (p, b) -> inspect_pat p, b) ps) + | Pat_var bv -> Pat_Var bv.sort (string_of_id bv.ppname) + | Pat_dot_term eopt -> Pat_Dot_Term eopt + +let rec inspect_ln (t:term) : term_view = + // + // Only pushes delayed substitutions, + // doesn't compress uvars + // + let t = t |> SS.compress_subst in + match t.n with + | Tm_meta {tm=t} -> + inspect_ln t + + | Tm_name bv -> + Tv_Var bv + + | Tm_bvar bv -> + Tv_BVar bv + + | Tm_fvar fv -> + Tv_FVar fv + + | Tm_uinst (t, us) -> + (match t.n with + | Tm_fvar fv -> Tv_UInst (fv, us) + | _ -> failwith "Reflection::inspect_ln: uinst for a non-fvar node") + + | Tm_ascribed {tm=t; asc=(Inl ty, tacopt, eq)} -> + Tv_AscribedT (t, ty, tacopt, eq) + + | Tm_ascribed {tm=t; asc=(Inr cty, tacopt, eq)} -> + Tv_AscribedC (t, cty, tacopt, eq) + + | Tm_app {args=[]} -> + failwith "inspect_ln: empty arguments on Tm_app" + + | Tm_app {hd; args} -> + // We split at the last argument, since the term_view does not + // expose n-ary lambdas buy unary ones. + let (a, q) = last args in + let q' = inspect_aqual q in + Tv_App (U.mk_app hd (init args), (a, q')) + + | Tm_abs {bs=[]} -> + failwith "inspect_ln: empty arguments on Tm_abs" + + | Tm_abs {bs=b::bs; body=t; rc_opt=k} -> + let body = + match bs with + | [] -> t + | bs -> S.mk (Tm_abs {bs; body=t; rc_opt=k}) t.pos + in + Tv_Abs (b, body) + + | Tm_type u -> + Tv_Type u + + | Tm_arrow {bs=[]} -> + failwith "inspect_ln: empty binders on arrow" + + | Tm_arrow _ -> + begin match U.arrow_one_ln t with + | Some (b, c) -> Tv_Arrow (b, c) + | None -> failwith "impossible" + end + + | Tm_refine {b=bv; phi=t} -> + Tv_Refine (S.mk_binder bv, t) + + | Tm_constant c -> + Tv_Const (inspect_const c) + + | Tm_uvar (ctx_u, s) -> + // + // Use the unique id of the uvar + // + Tv_Uvar (Z.of_int_fs (UF.uvar_unique_id ctx_u.ctx_uvar_head), + (ctx_u, s)) + + | Tm_let {lbs=(isrec, [lb]); body=t2} -> + if lb.lbunivs <> [] then Tv_Unsupp else + begin match lb.lbname with + | Inr _ -> Tv_Unsupp // no top level lets + | Inl bv -> Tv_Let (isrec, lb.lbattrs, S.mk_binder bv, lb.lbdef, t2) + end + + | Tm_match {scrutinee=t; ret_opt; brs} -> + let brs = List.map (function (pat, _, t) -> (inspect_pat pat, t)) brs in + Tv_Match (t, ret_opt, brs) + + | Tm_unknown -> + Tv_Unknown + + | Tm_lazy i -> + // Not calling U.unlazy_emb since that calls (stateful) SS.compress + i |> U.unfold_lazy |> inspect_ln + + | _ -> + Err.log_issue t.pos (Err.Warning_CantInspect, BU.format2 "inspect_ln: outside of expected syntax (%s, %s)" (Print.tag_of_term t) (Print.term_to_string t)); + Tv_Unsupp + +let inspect_comp (c : comp) : comp_view = + let get_dec (flags : list cflag) : list term = + match List.tryFind (function DECREASES _ -> true | _ -> false) flags with + | None -> [] + | Some (DECREASES (Decreases_lex ts)) -> ts + | Some (DECREASES (Decreases_wf _)) -> + Err.log_issue c.pos (Err.Warning_CantInspect, + BU.format1 "inspect_comp: inspecting comp with wf decreases clause is not yet supported: %s \ + skipping the decreases clause" + (Print.comp_to_string c)); + [] + | _ -> failwith "Impossible!" + in + match c.n with + | Total t -> C_Total t + | GTotal t -> C_GTotal t + | Comp ct -> begin + let uopt = + if List.length ct.comp_univs = 0 + then U_unknown + else ct.comp_univs |> List.hd in + if Ident.lid_equals ct.effect_name PC.effect_Lemma_lid then + match ct.effect_args with + | (pre,_)::(post,_)::(pats,_)::_ -> + C_Lemma (pre, post, pats) + | _ -> + failwith "inspect_comp: Lemma does not have enough arguments?" + else + let inspect_arg (a, q) = (a, inspect_aqual q) in + C_Eff (ct.comp_univs, + Ident.path_of_lid ct.effect_name, + ct.result_typ, + List.map inspect_arg ct.effect_args, + get_dec ct.flags) + end + +let pack_comp (cv : comp_view) : comp = + let urefl_to_univs u = + if u = U_unknown + then [] + else [u] in + let urefl_to_univ_opt u = + if u = U_unknown + then None + else Some u in + match cv with + | C_Total t -> mk_Total t + | C_GTotal t -> mk_GTotal t + | C_Lemma (pre, post, pats) -> + let ct = { comp_univs = [] + ; effect_name = PC.effect_Lemma_lid + ; result_typ = S.t_unit + ; effect_args = [S.as_arg pre; S.as_arg post; S.as_arg pats] + ; flags = [] } in + S.mk_Comp ct + + | C_Eff (us, ef, res, args, decrs) -> + let pack_arg (a, q) = (a, pack_aqual q) in + let flags = + if List.length decrs = 0 + then [] + else [DECREASES (Decreases_lex decrs)] in + let ct = { comp_univs = us + ; effect_name = Ident.lid_of_path ef Range.dummyRange + ; result_typ = res + ; effect_args = List.map pack_arg args + ; flags = flags } in + S.mk_Comp ct + +let pack_const (c:vconst) : sconst = + match c with + | C_Unit -> C.Const_unit + | C_Int i -> C.Const_int (Z.string_of_big_int i, None) + | C_True -> C.Const_bool true + | C_False -> C.Const_bool false + | C_String s -> C.Const_string (s, Range.dummyRange) + | C_Range r -> C.Const_range r + | C_Reify -> C.Const_reify None + | C_Reflect ns -> C.Const_reflect (Ident.lid_of_path ns Range.dummyRange) + +let rec pack_pat p : S.pat = + let wrap v = {v=v;p=Range.dummyRange} in + match p with + | Pat_Constant c -> wrap <| Pat_constant (pack_const c) + | Pat_Cons head univs subpats -> wrap <| Pat_cons (head, univs, List.map (fun (p, b) -> pack_pat p, b) subpats) + | Pat_Var sort ppname -> + let bv = S.gen_bv ppname None sort in + wrap <| Pat_var bv + | Pat_Dot_Term eopt -> wrap <| Pat_dot_term eopt + +// TODO: pass in range? +let pack_ln (tv:term_view) : term = + match tv with + | Tv_Var bv -> + S.bv_to_name { bv with sort = S.tun } + + | Tv_BVar bv -> + S.bv_to_tm { bv with sort = S.tun } + + | Tv_FVar fv -> + S.fv_to_tm fv + + | Tv_UInst (fv, us) -> + mk_Tm_uinst (S.fv_to_tm fv) us + + | Tv_App (l, (r, q)) -> + let q' = pack_aqual q in + U.mk_app l [(r, q')] + + | Tv_Abs (b, t) -> + mk (Tm_abs {bs=[b]; body=t; rc_opt=None}) t.pos // TODO: effect? + + | Tv_Arrow (b, c) -> + mk (Tm_arrow {bs=[b]; comp=c}) c.pos + + | Tv_Type u -> + mk (Tm_type u) Range.dummyRange + + | Tv_Refine (b, t) -> + let bv : S.bv = b.binder_bv in + mk (Tm_refine {b=bv; phi=t}) t.pos + + | Tv_Const c -> + S.mk (Tm_constant (pack_const c)) Range.dummyRange + + | Tv_Uvar (u, ctx_u_s) -> + S.mk (Tm_uvar ctx_u_s) Range.dummyRange + + | Tv_Let (isrec, attrs, b, t1, t2) -> + let bv = b.binder_bv in + let lb = U.mk_letbinding (Inl bv) [] bv.sort PC.effect_Tot_lid t1 attrs Range.dummyRange in + S.mk (Tm_let {lbs=(isrec, [lb]); body=t2}) Range.dummyRange + + | Tv_Match (t, ret_opt, brs) -> + let brs = List.map (function (pat, t) -> (pack_pat pat, None, t)) brs in + S.mk (Tm_match {scrutinee=t; ret_opt; brs; rc_opt=None}) Range.dummyRange + + | Tv_AscribedT(e, t, tacopt, use_eq) -> + S.mk (Tm_ascribed {tm=e; asc=(Inl t, tacopt, use_eq); eff_opt=None}) Range.dummyRange + + | Tv_AscribedC(e, c, tacopt, use_eq) -> + S.mk (Tm_ascribed {tm=e; asc=(Inr c, tacopt, use_eq); eff_opt=None}) Range.dummyRange + + | Tv_Unknown -> + S.mk Tm_unknown Range.dummyRange + + | Tv_Unsupp -> + Err.log_issue Range.dummyRange + (Err.Warning_CantInspect, "packing a Tv_Unsupp into Tm_unknown"); + S.mk Tm_unknown Range.dummyRange + +let compare_bv (x:bv) (y:bv) : order = + let n = S.order_bv x y in + if n < 0 then Lt + else if n = 0 then Eq + else Gt + +// Same as above +let compare_namedv (x:bv) (y:bv) : order = + let n = S.order_bv x y in + if n < 0 then Lt + else if n = 0 then Eq + else Gt + +let lookup_attr (attr:term) (env:Env.env) : list fv = + match (SS.compress_subst attr).n with + | Tm_fvar fv -> + let ses = Env.lookup_attr env (Ident.string_of_lid (lid_of_fv fv)) in + List.concatMap (fun se -> match U.lid_of_sigelt se with + | None -> [] + | Some l -> [S.lid_as_fv l None]) ses + | _ -> [] + +let all_defs_in_env (env:Env.env) : list fv = + List.map (fun l -> S.lid_as_fv l None) (Env.lidents env) // |> take 10 + +let defs_in_module (env:Env.env) (modul:name) : list fv = + 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_id in + if ns = modul + then [S.lid_as_fv l None] + else []) + (Env.lidents env) + +let lookup_typ (env:Env.env) (ns:list string) : option sigelt = + let lid = PC.p2l ns in + Env.lookup_sigelt env lid + +let sigelt_attrs (se : sigelt) : list attribute = + se.sigattrs + +let set_sigelt_attrs (attrs : list attribute) (se : sigelt) : sigelt = + { se with sigattrs = attrs } + +(* PRIVATE, and hacky :-( *) +let rd_to_syntax_qual : RD.qualifier -> qualifier = function + | RD.Assumption -> Assumption + | RD.New -> New + | RD.Private -> Private + | RD.Unfold_for_unification_and_vcgen -> Unfold_for_unification_and_vcgen + | RD.Visible_default -> Visible_default + | RD.Irreducible -> Irreducible + | RD.Inline_for_extraction -> Inline_for_extraction + | RD.NoExtract -> NoExtract + | RD.Noeq -> Noeq + | RD.Unopteq -> Unopteq + | RD.TotalEffect -> TotalEffect + | RD.Logic -> Logic + | RD.Reifiable -> Reifiable + | RD.Reflectable l -> Reflectable l + | RD.Discriminator l -> Discriminator l + | RD.Projector (l, i) -> Projector (l, i) + | RD.RecordType (l1, l2) -> RecordType (l1, l2) + | RD.RecordConstructor (l1, l2) -> RecordConstructor (l1, l2) + | RD.Action l -> Action l + | RD.ExceptionConstructor -> ExceptionConstructor + | RD.HasMaskedEffect -> HasMaskedEffect + | RD.Effect -> S.Effect + | RD.OnlyName -> OnlyName + +let syntax_to_rd_qual = function + | Assumption -> RD.Assumption + | New -> RD.New + | Private -> RD.Private + | Unfold_for_unification_and_vcgen -> RD.Unfold_for_unification_and_vcgen + | Visible_default -> RD.Visible_default + | Irreducible -> RD.Irreducible + | Inline_for_extraction -> RD.Inline_for_extraction + | NoExtract -> RD.NoExtract + | Noeq -> RD.Noeq + | Unopteq -> RD.Unopteq + | TotalEffect -> RD.TotalEffect + | Logic -> RD.Logic + | Reifiable -> RD.Reifiable + | Reflectable l -> RD.Reflectable l + | Discriminator l -> RD.Discriminator l + | Projector (l, i) -> RD.Projector (l, i) + | RecordType (l1, l2) -> RD.RecordType (l1, l2) + | RecordConstructor (l1, l2) -> RD.RecordConstructor (l1, l2) + | Action l -> RD.Action l + | ExceptionConstructor -> RD.ExceptionConstructor + | HasMaskedEffect -> RD.HasMaskedEffect + | S.Effect -> RD.Effect + | OnlyName -> RD.OnlyName + +let inspect_ident (i:ident) : string & Range.range = + (string_of_id i, range_of_id i) + +let pack_ident (i: string & Range.range) : ident = + Ident.mk_ident i + +let sigelt_quals (se : sigelt) : list RD.qualifier = + se.sigquals |> List.map syntax_to_rd_qual + +let set_sigelt_quals (quals : list RD.qualifier) (se : sigelt) : sigelt = + { se with sigquals = List.map rd_to_syntax_qual quals } + +let sigelt_opts (se : sigelt) : option vconfig = se.sigopts + +let embed_vconfig (vcfg : vconfig) : term = + EMB.embed EMB.e_vconfig vcfg Range.dummyRange None EMB.id_norm_cb + +let inspect_sigelt (se : sigelt) : sigelt_view = + match se.sigel with + | Sig_let {lbs=(r, lbs)} -> + Sg_Let (r, lbs) + + | Sig_inductive_typ {lid; us; params=param_bs; t=ty; ds=c_lids} -> + let nm = Ident.path_of_lid lid in + + let inspect_ctor (c_lid:Ident.lid) : ctor = + match Env.lookup_sigelt (get_env ()) c_lid with + | Some ({sigel = Sig_datacon {lid; us; t=cty; num_ty_params=nparam}}) -> + (Ident.path_of_lid lid, cty) + + | _ -> + failwith "impossible: inspect_sigelt: did not find ctor" + in + Sg_Inductive (nm, us, param_bs, ty, List.map inspect_ctor c_lids) + + | Sig_declare_typ {lid; us; t=ty} -> + let nm = Ident.path_of_lid lid in + Sg_Val (nm, us, ty) + + | _ -> + Unk + +let pack_sigelt (sv:sigelt_view) : sigelt = + let check_lid lid = + if List.length (Ident.path_of_lid lid) <= 1 + then failwith ("pack_sigelt: invalid long identifier \"" + ^ Ident.string_of_lid lid + ^ "\" (did you forget a module path?)") + in + match sv with + | Sg_Let (r, lbs) -> + let pack_letbinding (lb:letbinding) = + let {lbname=nm} = lb in + let lid = match nm with + | Inr fv -> lid_of_fv fv + | _ -> failwith + "impossible: pack_sigelt: bv in toplevel let binding" + in + check_lid lid; + (lid, lb) + in + let packed = List.map pack_letbinding lbs in + let lbs = List.map snd packed in + let lids = List.map fst packed in + mk_sigelt <| Sig_let {lbs=(r, lbs); lids} + + | Sg_Inductive (nm, us_names, param_bs, ty, ctors) -> + let ind_lid = Ident.lid_of_path nm Range.dummyRange in + check_lid ind_lid; + let nparam = List.length param_bs in + let pack_ctor (c:ctor) : sigelt = + let (nm, ty) = c in + let lid = Ident.lid_of_path nm Range.dummyRange in + mk_sigelt <| Sig_datacon {lid; us=us_names; t=ty; ty_lid=ind_lid; num_ty_params=nparam; mutuals=[]} + in + + let ctor_ses : list sigelt = List.map pack_ctor ctors in + let c_lids : list Ident.lid = List.map (fun se -> BU.must (U.lid_of_sigelt se)) ctor_ses in + + let ind_se : sigelt = + //We can't trust the assignment of num uniform binders from the reflection API + //So, set it to None; it has to be checked and recomputed + mk_sigelt <| Sig_inductive_typ {lid=ind_lid; + us=us_names; + params=param_bs; + num_uniform_params=None; + t=ty; + mutuals=[]; + ds=c_lids} + in + let se = mk_sigelt <| Sig_bundle {ses=ind_se::ctor_ses; lids=ind_lid::c_lids} in + { se with sigquals = Noeq::se.sigquals } + + | Sg_Val (nm, us_names, ty) -> + let val_lid = Ident.lid_of_path nm Range.dummyRange in + check_lid val_lid; + mk_sigelt <| Sig_declare_typ {lid=val_lid; us=us_names; t=ty} + + | Unk -> failwith "packing Unk, this should never happen" + +let inspect_lb (lb:letbinding) : lb_view = + let {lbname=nm; lbunivs=us; lbtyp=typ; lbeff=_; lbdef=def; lbattrs=_; lbpos=_} = lb in + match nm with + | Inr fv -> {lb_fv = fv; lb_us = us; lb_typ = typ; lb_def = def} + | _ -> failwith "Impossible: bv in top-level let binding" + +let pack_lb (lbv:lb_view) : letbinding = + let {lb_fv = fv; lb_us = us; lb_typ = typ; lb_def = def} = lbv in + U.mk_letbinding (Inr fv) us typ PC.effect_Tot_lid def [] Range.dummyRange + +let inspect_namedv (v:bv) : namedv_view = + if v.index < 0 then ( + Err.log_issue Range.dummyRange + (Err.Warning_CantInspect, BU.format3 "inspect_namedv: uniq is negative (%s : %s), uniq = %s" + (Ident.string_of_id v.ppname) + (Print.term_to_string v.sort) + (string_of_int v.index)) + ); + { + uniq = Z.of_int_fs v.index; + ppname = Ident.string_of_id v.ppname; + sort = v.sort + } + +let pack_namedv (vv:namedv_view) : namedv = + if Z.to_int_fs vv.uniq < 0 then ( + Err.log_issue Range.dummyRange + (Err.Warning_CantInspect, BU.format2 "pack_namedv: uniq is negative (%s), uniq = %s" + vv.ppname + (string_of_int (Z.to_int_fs vv.uniq))) + ); + { + index = Z.to_int_fs vv.uniq; + ppname = Ident.mk_ident (vv.ppname, Range.dummyRange); + sort = vv.sort; + } + +let inspect_bv (bv:bv) : bv_view = + if bv.index < 0 then ( + Err.log_issue Range.dummyRange + (Err.Warning_CantInspect, BU.format3 "inspect_bv: index is negative (%s : %s), index = %s" + (Ident.string_of_id bv.ppname) + (Print.term_to_string bv.sort) + (string_of_int bv.index)) + ); + { + index = Z.of_int_fs bv.index; + ppname = Ident.string_of_id bv.ppname; + sort = bv.sort; + } + +let pack_bv (bvv:bv_view) : bv = + if Z.to_int_fs bvv.index < 0 then ( + Err.log_issue Range.dummyRange + (Err.Warning_CantInspect, BU.format2 "pack_bv: index is negative (%s), index = %s" + bvv.ppname + (string_of_int (Z.to_int_fs bvv.index))) + ); + { + index = Z.to_int_fs bvv.index; + ppname = Ident.mk_ident (bvv.ppname, Range.dummyRange); + sort = bvv.sort; + } + +let inspect_binder (b:binder) : binder_view = + let attrs = U.encode_positivity_attributes b.binder_positivity b.binder_attrs in + { + ppname = Ident.string_of_id b.binder_bv.ppname; + qual = inspect_bqual (b.binder_qual); + attrs = attrs; + sort = b.binder_bv.sort; + } + +let pack_binder (bview:binder_view) : binder = + let pqual, attrs = U.parse_positivity_attributes bview.attrs in + { + binder_bv= { ppname = Ident.mk_ident (bview.ppname, Range.dummyRange) + ; sort = bview.sort + ; index = 0 (* irrelevant, this is a binder *) + }; + binder_qual=pack_bqual (bview.qual); + binder_positivity=pqual; + binder_attrs=attrs + } + +open FStar.TypeChecker.Env +let moduleof (e : Env.env) : list string = + Ident.path_of_lid e.curmodule + +let env_open_modules (e : Env.env) : list name = + List.map (fun (l, m) -> List.map Ident.string_of_id (Ident.ids_of_lid l)) + (DsEnv.open_modules e.dsenv) + +let bv_to_binding (bv : bv) : RD.binding = + { + uniq = Z.of_int_fs bv.index; + sort = bv.sort; + ppname = string_of_id bv.ppname; + } + +let vars_of_env e = FStar.TypeChecker.Env.all_binders e |> List.map (fun b -> bv_to_binding b.binder_bv) + +(* Generic combinators, safe *) +let eqopt = Syntax.Util.eqopt +let eqlist = Syntax.Util.eqlist +let eqprod = Syntax.Util.eqprod + +(* + * Why doesn't this call into Syntax.Util.term_eq? Because that function + * can expose details that are not observable in the userspace view of + * terms, and hence that function cannot be safely exposed if we wish to + * maintain the lemmas stating that pack/inspect are inverses of each + * other. + * + * In other words, we need this function to be implemented consistently + * with the view to make sure it is a _function_ in userspace, and maps + * (propositionally) equal terms to equal results. + * + * So we implement it via inspect_ln, to make sure we don't reveal + * anything inspect_ln does not already reveal. Hence this function + * is really only an optimization of this same implementation done in + * userspace. Also, nothing is guaranted about its result. It if were to + * just return false constantly, that would be safe (though useless). + * + * This same note also applies to comp, and other types that are taken + * as abstract, but have a lemma stating that the view is complete + * (or appear inside a view of one such type). + *) +let rec term_eq (t1:term) (t2:term) : bool = + match inspect_ln t1, inspect_ln t2 with + | Tv_Var bv1, Tv_Var bv2 -> + bv_eq bv1 bv2 + + | Tv_BVar bv1, Tv_BVar bv2 -> + bv_eq bv1 bv2 + + | Tv_FVar fv1, Tv_FVar fv2 -> + (* This should be equivalent to exploding the fv's name comparing *) + S.fv_eq fv1 fv2 + + | Tv_UInst (fv1, us1), Tv_UInst (fv2, us2) -> + S.fv_eq fv1 fv2 && univs_eq us1 us2 + + | Tv_App (h1, arg1), Tv_App (h2, arg2) -> + term_eq h1 h2 && arg_eq arg1 arg2 + + | Tv_Abs (b1, t1), Tv_Abs (b2, t2) -> + binder_eq b1 b2 && term_eq t1 t2 + + | Tv_Arrow (b1, c1), Tv_Arrow (b2, c2) -> + binder_eq b1 b2 && comp_eq c1 c2 + + | Tv_Type u1, Tv_Type u2 -> + univ_eq u1 u2 + + | Tv_Refine (b1, t1), Tv_Refine (b2, t2) -> + (* No need to compare bvs *) + term_eq b1.binder_bv.sort b2.binder_bv.sort && term_eq t1 t2 + + | Tv_Const c1, Tv_Const c2 -> + const_eq c1 c2 + + | Tv_Uvar (n1, uv1), Tv_Uvar (n2, uv2) -> + (* + * The uvs are completely opaque in userspace, so we could do a fancier + * check here without compromising soundness. But.. we cannot really check + * the unionfind graph, I think, since the result could differ as things get + * unified (though it's unclear if that can happen within two calls to this + * function within a *single* definition.. since uvars do not survive across + * top-levels. + * + * Anyway, for now just compare the associated ints. Which are *definitely* + * visible by users. + *) + n1 = n2 + + | Tv_Let (r1, ats1, b1, m1, n1), Tv_Let (r2, ats2, b2, m2, n2) -> + (* no need to compare bvs *) + r1 = r2 && + eqlist term_eq ats1 ats2 && + binder_eq b1 b2 && + term_eq m1 m2 && + term_eq n1 n2 + + | Tv_Match (h1, an1, brs1), Tv_Match (h2, an2, brs2) -> + term_eq h1 h2 && + eqopt match_ret_asc_eq an1 an2 && + eqlist branch_eq brs1 brs2 + + | Tv_AscribedT (e1, t1, topt1, eq1), Tv_AscribedT (e2, t2, topt2, eq2) -> + term_eq e1 e2 && + term_eq t1 t2 && + eqopt term_eq topt1 topt2 && + eq1 = eq2 + + | Tv_AscribedC (e1, c1, topt1, eq1), Tv_AscribedC (e2, c2, topt2, eq2) -> + term_eq e1 e2 && + comp_eq c1 c2 && + eqopt term_eq topt1 topt2 && + eq1 = eq2 + + | Tv_Unknown, Tv_Unknown -> true + | _ -> false + +and arg_eq (arg1 : argv) (arg2 : argv) : bool = + let (a1, aq1) = arg1 in + let (a2, aq2) = arg2 in + term_eq a1 a2 && aqual_eq aq1 aq2 + +and aqual_eq (aq1 : aqualv) (aq2 : aqualv) : bool = + match aq1, aq2 with + | Q_Implicit, Q_Implicit -> true + | Q_Explicit, Q_Explicit -> true + | Q_Meta t1, Q_Meta t2 -> term_eq t1 t2 + | _ -> false + +and binder_eq (b1 : binder) (b2 : binder) : bool = + let bview1 = inspect_binder b1 in + let bview2 = inspect_binder b2 in + term_eq bview1.sort bview2.sort && + aqual_eq bview1.qual bview2.qual && + eqlist term_eq bview1.attrs bview2.attrs + +and bv_eq (bv1 : bv) (bv2 : bv) : bool = + (* + * Just compare the index. Note: this is safe since inspect_bv + * exposes it. We do _not_ compare the sorts. This is already + * what Syntax.Util.term_eq does, and they arguably should not + * be there. + *) + bv1.index = bv2.index + +and comp_eq (c1 : comp) (c2 : comp) : bool = + match inspect_comp c1, inspect_comp c2 with + | C_Total t1, C_Total t2 + | C_GTotal t1, C_GTotal t2 -> + term_eq t1 t2 + + | C_Lemma (pre1, post1, pats1), C_Lemma (pre2, post2, pats2) -> + term_eq pre1 pre2 && term_eq post1 post2 && term_eq pats1 pats2 + + | C_Eff (us1, name1, t1, args1, decrs1), C_Eff (us2, name2, t2, args2, decrs2) -> + univs_eq us1 us2 && + name1 = name2 && + term_eq t1 t2 && + eqlist arg_eq args1 args2 && + eqlist term_eq decrs1 decrs2 + + | _ -> + false + +and match_ret_asc_eq (a1 : match_returns_ascription) (a2 : match_returns_ascription) : bool = + eqprod binder_eq ascription_eq a1 a2 + +and ascription_eq (asc1 : ascription) (asc2 : ascription) : bool = + let (a1, topt1, eq1) = asc1 in + let (a2, topt2, eq2) = asc2 in + (match a1, a2 with + | Inl t1, Inl t2 -> term_eq t1 t2 + | Inr c1, Inr c2 -> comp_eq c1 c2) && + eqopt term_eq topt1 topt2 && + eq1 = eq2 + +and branch_eq (c1 : Data.branch) (c2 : Data.branch) : bool = + eqprod pattern_eq term_eq c1 c2 + +and pattern_eq (p1 : pattern) (p2 : pattern) : bool = + match p1, p2 with + | Pat_Constant c1, Pat_Constant c2 -> + const_eq c1 c2 + | Pat_Cons fv1 us1 subpats1, Pat_Cons fv2 us2 subpats2 -> + S.fv_eq fv1 fv2 && + eqopt (eqlist univ_eq) us1 us2 && + eqlist (eqprod pattern_eq (fun b1 b2 -> b1 = b2)) subpats1 subpats2 + + | Pat_Var _ _, Pat_Var _ _ -> + true + // Should this just be true? Sorts are sealed. + + | Pat_Dot_Term topt1, Pat_Dot_Term topt2 -> + eqopt term_eq topt1 topt2 + + | _ -> false + +and const_eq (c1 : vconst) (c2 : vconst) : bool = + c1 = c2 + +and univ_eq (u1 : universe) (u2 : universe) : bool = + Syntax.Util.eq_univs u1 u2 // FIXME! + +and univs_eq (us1 : list universe) (us2 : list universe) : bool = + eqlist univ_eq us1 us2 + +let implode_qn ns = String.concat "." ns +let explode_qn s = String.split ['.'] s +let compare_string s1 s2 = Z.of_int_fs (String.compare s1 s2) + +let push_binder e b = Env.push_binders e [b] +let push_namedv e b = Env.push_binders e [S.mk_binder b] + +let subst_term (s : list subst_elt) (t : term) : term = + SS.subst s t + +let subst_comp (s : list subst_elt) (c : comp) : comp = + SS.subst_comp s c + +let range_of_term (t:term) = t.pos +let range_of_sigelt (s:sigelt) = s.sigrng + diff --git a/src/reflection/FStar.Reflection.V2.Builtins.fsti b/src/reflection/FStar.Reflection.V2.Builtins.fsti new file mode 100644 index 00000000000..90ddd29d622 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Builtins.fsti @@ -0,0 +1,109 @@ +(* + Copyright 2008-2015 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.Reflection.V2.Builtins + +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Ident +open FStar.Order +open FStar.Reflection.V2.Data +open FStar.Syntax.Embeddings +open FStar.Syntax.Syntax +open FStar.VConfig + +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module O = FStar.Options +module RD = FStar.Reflection.V2.Data +module S = FStar.Syntax.Syntax +module Z = FStar.BigInt + +(* Primitives *) +val compare_bv : bv -> bv -> order +val compare_namedv : namedv -> namedv -> order +val lookup_typ : Env.env -> list string -> option sigelt +val lookup_attr : term -> Env.env -> list fv +val all_defs_in_env : Env.env -> list fv +val defs_in_module : Env.env -> name -> list fv +val vars_of_env : Env.env -> list RD.binding +val moduleof : Env.env -> list string +val term_eq : term -> term -> bool +val env_open_modules : Env.env -> list name +val sigelt_opts : sigelt -> option vconfig +val embed_vconfig : vconfig -> term + +val sigelt_attrs : sigelt -> list attribute +val set_sigelt_attrs : list attribute -> sigelt -> sigelt + +val sigelt_quals : sigelt -> list RD.qualifier +val set_sigelt_quals : list RD.qualifier -> sigelt -> sigelt + +(* Views *) +val inspect_fv : fv -> list string +val pack_fv : list string -> fv + +val inspect_const : sconst -> vconst +val pack_const : vconst -> sconst + +val inspect_ln : term -> term_view +val pack_ln : term_view -> term + +val inspect_comp : comp -> comp_view +val pack_comp : comp_view -> comp + +val inspect_sigelt : sigelt -> sigelt_view +val pack_sigelt : sigelt_view -> sigelt + +val inspect_lb : letbinding -> lb_view +val pack_lb : lb_view -> letbinding + +val inspect_namedv : namedv -> namedv_view +val pack_namedv : namedv_view -> namedv + +val inspect_bv : bv -> bv_view +val pack_bv : bv_view -> bv + +val inspect_binder : binder -> binder_view +val pack_binder : binder_view -> binder + +val inspect_aqual : aqual -> aqualv +val pack_aqual : aqualv -> aqual + +val inspect_universe : universe -> universe_view +val pack_universe : universe_view -> universe + +(* Only used internally by check_match_complete... the pattern +(abstract) type is not really exposed, so the user has no use for these. +Perhaps it is more consistent to introduce a pattern_view... *) +val inspect_pat : S.pat -> pattern +val pack_pat : pattern -> S.pat + +(* We're only taking these as primitives to break the dependency from * +FStar.Tactics into FStar.String, which pulls a LOT of modules. *) +val implode_qn : list string -> string +val explode_qn : string -> list string +val compare_string : string -> string -> Z.t + +val push_namedv : Env.env -> bv -> Env.env + +val range_of_term : term -> Range.range +val range_of_sigelt : sigelt -> Range.range + +val subst_term : list subst_elt -> term -> term +val subst_comp : list subst_elt -> comp -> comp + +val inspect_ident : ident -> string & Range.range +val pack_ident : string & Range.range -> ident diff --git a/src/reflection/FStar.Reflection.V2.Constants.fst b/src/reflection/FStar.Reflection.V2.Constants.fst new file mode 100644 index 00000000000..cb1edb29d6f --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Constants.fst @@ -0,0 +1,336 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Constants + + +open FStar.Pervasives +open FStar.Compiler.Effect +open FStar.Compiler.List + +(* NOTE: This file is exactly the same as its .fs variant. It is only +here so the equally-named interface file in ulib/ is not taken by the +dependency analysis to be the interface of the .fs. We also cannot ditch +the .fs, since out bootstrapping process does not extract any .ml file +from an interface. Hence we keep both, exactly equal to each other. *) + +open FStar.Syntax.Syntax +module Ident = FStar.Ident +module Range = FStar.Compiler.Range +module Z = FStar.BigInt +open FStar.Ident +module PC = FStar.Parser.Const + +(* Contains all lids and terms needed for embedding/unembedding *) + +type refl_constant = { + lid : FStar.Ident.lid; + fv : fv; + t : term; +} + +let refl_constant_lid rc = rc.lid +let refl_constant_term rc = rc.t + +let fstar_syntax_syntax_lid s = Ident.lid_of_path (["FStar"; "Stubs"; "Syntax"; "Syntax"]@s) Range.dummyRange + +let fstar_refl_lid s = Ident.lid_of_path (["FStar"; "Reflection"]@s) Range.dummyRange + +let fstar_refl_types_lid s = fstar_refl_lid ["Types"; s] +let fstar_refl_builtins_lid s = fstar_refl_lid ["V2"; "Builtins"; s] +let fstar_refl_data_lid s = fstar_refl_lid ["V2"; "Data"; s] + +let fstar_syntax_syntax_const s = + let lid = fstar_syntax_syntax_lid s in + { lid = lid + ; fv = lid_as_fv lid (Some Data_ctor) + ; t = tdataconstr lid + } + +let fstar_refl_data_const s = + let lid = fstar_refl_data_lid s in + { lid = lid + ; fv = lid_as_fv lid (Some Data_ctor) + ; t = tdataconstr lid + } + +let mk_refl_types_lid_as_term (s:string) = tconst (fstar_refl_types_lid s) +let mk_refl_types_lid_as_fv (s:string) = fvconst (fstar_refl_types_lid s) +let mk_refl_data_lid_as_term (s:string) = tconst (fstar_refl_data_lid s) +let mk_refl_data_lid_as_fv (s:string) = fvconst (fstar_refl_data_lid s) + +(* FStar.Syntax.Syntax *) +let mk_ss_lid_as_fv (s:string) = fvconst (fstar_syntax_syntax_lid [s]) +let mk_ss_lid_as_term (s:string) = tconst (fstar_syntax_syntax_lid [s]) + +let mk_inspect_pack_pair s = + let inspect_lid = fstar_refl_builtins_lid ("inspect" ^ s) in + let pack_lid = fstar_refl_builtins_lid ("pack" ^ s) in + let inspect_fv = lid_as_fv inspect_lid None in + let pack_fv = lid_as_fv pack_lid None in + let inspect = { lid = inspect_lid ; fv = inspect_fv ; t = fv_to_tm inspect_fv } in + let pack = { lid = pack_lid ; fv = pack_fv ; t = fv_to_tm pack_fv } in + (inspect, pack) + +let fstar_refl_inspect_ln , fstar_refl_pack_ln = mk_inspect_pack_pair "_ln" +let fstar_refl_inspect_fv , fstar_refl_pack_fv = mk_inspect_pack_pair "_fv" +let fstar_refl_inspect_bv , fstar_refl_pack_bv = mk_inspect_pack_pair "_bv" +let fstar_refl_inspect_namedv , fstar_refl_pack_namedv = mk_inspect_pack_pair "_namedv" +let fstar_refl_inspect_binder , fstar_refl_pack_binder = mk_inspect_pack_pair "_binder" +let fstar_refl_inspect_comp , fstar_refl_pack_comp = mk_inspect_pack_pair "_comp" +let fstar_refl_inspect_sigelt , fstar_refl_pack_sigelt = mk_inspect_pack_pair "_sigelt" +let fstar_refl_inspect_lb , fstar_refl_pack_lb = mk_inspect_pack_pair "_lb" +let fstar_refl_inspect_universe, fstar_refl_pack_universe = mk_inspect_pack_pair "_universe" + +(* assumed types *) +let fstar_refl_env = mk_refl_types_lid_as_term "env" +let fstar_refl_env_fv = mk_refl_types_lid_as_fv "env" +let fstar_refl_namedv = mk_refl_types_lid_as_term "namedv" +let fstar_refl_namedv_fv = mk_refl_types_lid_as_fv "namedv" +let fstar_refl_bv = mk_refl_types_lid_as_term "bv" +let fstar_refl_bv_fv = mk_refl_types_lid_as_fv "bv" +let fstar_refl_fv = mk_refl_types_lid_as_term "fv" +let fstar_refl_fv_fv = mk_refl_types_lid_as_fv "fv" +let fstar_refl_comp = mk_refl_types_lid_as_term "comp" +let fstar_refl_comp_fv = mk_refl_types_lid_as_fv "comp" +let fstar_refl_binding = mk_refl_types_lid_as_term "binding" +let fstar_refl_binding_fv = mk_refl_types_lid_as_fv "binding" +let fstar_refl_binder = mk_refl_types_lid_as_term "binder" +let fstar_refl_binder_fv = mk_refl_types_lid_as_fv "binder" +let fstar_refl_sigelt = mk_refl_types_lid_as_term "sigelt" +let fstar_refl_sigelt_fv = mk_refl_types_lid_as_fv "sigelt" +let fstar_refl_term = mk_refl_types_lid_as_term "term" +let fstar_refl_term_fv = mk_refl_types_lid_as_fv "term" +let fstar_refl_letbinding = mk_refl_types_lid_as_term "letbinding" +let fstar_refl_letbinding_fv = mk_refl_types_lid_as_fv "letbinding" +let fstar_refl_ident = mk_refl_types_lid_as_term "ident" +let fstar_refl_ident_fv = mk_refl_types_lid_as_fv "ident" +let fstar_refl_univ_name = mk_refl_types_lid_as_term "univ_name" +let fstar_refl_univ_name_fv = mk_refl_types_lid_as_fv "univ_name" +let fstar_refl_optionstate = mk_refl_types_lid_as_term "optionstate" +let fstar_refl_optionstate_fv = mk_refl_types_lid_as_fv "optionstate" +let fstar_refl_universe = mk_refl_types_lid_as_term "universe" +let fstar_refl_universe_fv = mk_refl_types_lid_as_fv "universe" +let fstar_refl_universe_uvar = mk_refl_types_lid_as_term "universe_uvar" +let fstar_refl_universe_uvar_fv = mk_refl_types_lid_as_fv "universe_uvar" +let fstar_refl_ctx_uvar_and_subst = mk_refl_types_lid_as_term "ctx_uvar_and_subst" +let fstar_refl_ctx_uvar_and_subst_fv = mk_refl_types_lid_as_fv "ctx_uvar_and_subst" + +(* auxiliary types *) +let fstar_refl_aqualv = mk_refl_data_lid_as_term "aqualv" +let fstar_refl_aqualv_fv = mk_refl_data_lid_as_fv "aqualv" +let fstar_refl_comp_view = mk_refl_data_lid_as_term "comp_view" +let fstar_refl_comp_view_fv = mk_refl_data_lid_as_fv "comp_view" +let fstar_refl_term_view = mk_refl_data_lid_as_term "term_view" +let fstar_refl_term_view_fv = mk_refl_data_lid_as_fv "term_view" +let fstar_refl_pattern = mk_refl_data_lid_as_term "pattern" +let fstar_refl_pattern_fv = mk_refl_data_lid_as_fv "pattern" +let fstar_refl_branch = mk_refl_data_lid_as_term "branch" +let fstar_refl_branch_fv = mk_refl_data_lid_as_fv "branch" +let fstar_refl_namedv_view = mk_refl_data_lid_as_term "namedv_view" +let fstar_refl_namedv_view_fv = mk_refl_data_lid_as_fv "namedv_view" +let fstar_refl_bv_view = mk_refl_data_lid_as_term "bv_view" +let fstar_refl_bv_view_fv = mk_refl_data_lid_as_fv "bv_view" +let fstar_refl_binder_view = mk_refl_data_lid_as_term "binder_view" +let fstar_refl_binder_view_fv = mk_refl_data_lid_as_fv "binder_view" +let fstar_refl_vconst = mk_refl_data_lid_as_term "vconst" +let fstar_refl_vconst_fv = mk_refl_data_lid_as_fv "vconst" +let fstar_refl_lb_view = mk_refl_data_lid_as_term "lb_view" +let fstar_refl_lb_view_fv = mk_refl_data_lid_as_fv "lb_view" +let fstar_refl_sigelt_view = mk_refl_data_lid_as_term "sigelt_view" +let fstar_refl_sigelt_view_fv = mk_refl_data_lid_as_fv "sigelt_view" +let fstar_refl_qualifier = mk_refl_data_lid_as_term "qualifier" +let fstar_refl_qualifier_fv = mk_refl_data_lid_as_fv "qualifier" +let fstar_refl_universe_view = mk_refl_data_lid_as_term "universe_view" +let fstar_refl_universe_view_fv = mk_refl_data_lid_as_fv "universe_view" + +let fstar_refl_subst_elt = mk_ss_lid_as_term "subst_elt" +let fstar_refl_subst_elt_fv = mk_ss_lid_as_fv "subst_elt" +let fstar_refl_subst = mk_ss_lid_as_term "subst" +let fstar_refl_subst_fv = mk_ss_lid_as_fv "subst" + + +(* bv_view, this is a record constructor *) + +let ref_Mk_namedv_view = + let lid = fstar_refl_data_lid "Mknamedv_view" in + let attr = Record_ctor (fstar_refl_data_lid "namedv_view", [ + Ident.mk_ident ("uniq" , Range.dummyRange); + Ident.mk_ident ("sort" , Range.dummyRange); + Ident.mk_ident ("ppname", Range.dummyRange); + ]) in + let fv = lid_as_fv lid (Some attr) in + { lid = lid + ; fv = fv + ; t = fv_to_tm fv + } + +let ref_Mk_bv_view = + let lid = fstar_refl_data_lid "Mkbv_view" in + let attr = Record_ctor (fstar_refl_data_lid "bv_view", [ + Ident.mk_ident ("index" , Range.dummyRange); + Ident.mk_ident ("sort" , Range.dummyRange); + Ident.mk_ident ("ppname", Range.dummyRange); + ]) in + let fv = lid_as_fv lid (Some attr) in + { lid = lid + ; fv = fv + ; t = fv_to_tm fv + } + +let ref_Mk_binding = + let lid = fstar_refl_data_lid "Mkbinding" in + let attr = Record_ctor (fstar_refl_data_lid "binding", [ + Ident.mk_ident ("uniq", Range.dummyRange); + Ident.mk_ident ("sort", Range.dummyRange); + Ident.mk_ident ("ppname" , Range.dummyRange); + ]) in + let fv = lid_as_fv lid (Some attr) in + { lid = lid; + fv = fv; + t = fv_to_tm fv } + +let ref_Mk_binder_view = + let lid = fstar_refl_data_lid "Mkbinder_view" in + let attr = Record_ctor (fstar_refl_data_lid "binder_view", [ + Ident.mk_ident ("sort" , Range.dummyRange); + Ident.mk_ident ("qual", Range.dummyRange); + Ident.mk_ident ("attrs", Range.dummyRange); + Ident.mk_ident ("ppname", Range.dummyRange); + ]) in + let fv = lid_as_fv lid (Some attr) in + { lid = lid; + fv = fv; + t = fv_to_tm fv } + +let ref_Mk_lb = + let lid = fstar_refl_data_lid "Mklb_view" in + let attr = Record_ctor (fstar_refl_data_lid "lb_view", [ + Ident.mk_ident ("lb_fv" , Range.dummyRange); + Ident.mk_ident ("lb_us" , Range.dummyRange); + Ident.mk_ident ("lb_typ" , Range.dummyRange); + Ident.mk_ident ("lb_def" , Range.dummyRange) + ]) in + let fv = lid_as_fv lid (Some attr) in + { lid = lid + ; fv = fv + ; t = fv_to_tm fv + } + +(* quals *) +let ref_Q_Explicit = fstar_refl_data_const "Q_Explicit" +let ref_Q_Implicit = fstar_refl_data_const "Q_Implicit" +let ref_Q_Meta = fstar_refl_data_const "Q_Meta" + +(* subst_elt *) +let ref_DB = fstar_syntax_syntax_const ["DB"] +let ref_DT = fstar_syntax_syntax_const ["DT"] +let ref_NM = fstar_syntax_syntax_const ["NM"] +let ref_NT = fstar_syntax_syntax_const ["NT"] +let ref_UN = fstar_syntax_syntax_const ["UN"] +let ref_UD = fstar_syntax_syntax_const ["UD"] + +(* const *) +let ref_C_Unit = fstar_refl_data_const "C_Unit" +let ref_C_True = fstar_refl_data_const "C_True" +let ref_C_False = fstar_refl_data_const "C_False" +let ref_C_Int = fstar_refl_data_const "C_Int" +let ref_C_String = fstar_refl_data_const "C_String" +let ref_C_Range = fstar_refl_data_const "C_Range" +let ref_C_Reify = fstar_refl_data_const "C_Reify" +let ref_C_Reflect = fstar_refl_data_const "C_Reflect" + +(* pattern *) +let ref_Pat_Constant = fstar_refl_data_const "Pat_Constant" +let ref_Pat_Cons = fstar_refl_data_const "Pat_Cons" +let ref_Pat_Var = fstar_refl_data_const "Pat_Var" +let ref_Pat_Dot_Term = fstar_refl_data_const "Pat_Dot_Term" + +(* universe_view *) +let ref_Uv_Zero = fstar_refl_data_const "Uv_Zero" +let ref_Uv_Succ = fstar_refl_data_const "Uv_Succ" +let ref_Uv_Max = fstar_refl_data_const "Uv_Max" +let ref_Uv_BVar = fstar_refl_data_const "Uv_BVar" +let ref_Uv_Name = fstar_refl_data_const "Uv_Name" +let ref_Uv_Unif = fstar_refl_data_const "Uv_Unif" +let ref_Uv_Unk = fstar_refl_data_const "Uv_Unk" + +(* term_view *) +let ref_Tv_Var = fstar_refl_data_const "Tv_Var" +let ref_Tv_BVar = fstar_refl_data_const "Tv_BVar" +let ref_Tv_FVar = fstar_refl_data_const "Tv_FVar" +let ref_Tv_UInst = fstar_refl_data_const "Tv_UInst" +let ref_Tv_App = fstar_refl_data_const "Tv_App" +let ref_Tv_Abs = fstar_refl_data_const "Tv_Abs" +let ref_Tv_Arrow = fstar_refl_data_const "Tv_Arrow" +let ref_Tv_Type = fstar_refl_data_const "Tv_Type" +let ref_Tv_Refine = fstar_refl_data_const "Tv_Refine" +let ref_Tv_Const = fstar_refl_data_const "Tv_Const" +let ref_Tv_Uvar = fstar_refl_data_const "Tv_Uvar" +let ref_Tv_Let = fstar_refl_data_const "Tv_Let" +let ref_Tv_Match = fstar_refl_data_const "Tv_Match" +let ref_Tv_AscT = fstar_refl_data_const "Tv_AscribedT" +let ref_Tv_AscC = fstar_refl_data_const "Tv_AscribedC" +let ref_Tv_Unknown = fstar_refl_data_const "Tv_Unknown" +let ref_Tv_Unsupp = fstar_refl_data_const "Tv_Unsupp" + +(* comp_view *) +let ref_C_Total = fstar_refl_data_const "C_Total" +let ref_C_GTotal = fstar_refl_data_const "C_GTotal" +let ref_C_Lemma = fstar_refl_data_const "C_Lemma" +let ref_C_Eff = fstar_refl_data_const "C_Eff" + +(* inductives & sigelts *) +let ref_Sg_Let = fstar_refl_data_const "Sg_Let" +let ref_Sg_Inductive = fstar_refl_data_const "Sg_Inductive" +let ref_Sg_Val = fstar_refl_data_const "Sg_Val" +let ref_Unk = fstar_refl_data_const "Unk" + +(* qualifiers *) +let ref_qual_Assumption = fstar_refl_data_const "Assumption" +let ref_qual_InternalAssumption = fstar_refl_data_const "InternalAssumption" +let ref_qual_New = fstar_refl_data_const "New" +let ref_qual_Private = fstar_refl_data_const "Private" +let ref_qual_Unfold_for_unification_and_vcgen = fstar_refl_data_const "Unfold_for_unification_and_vcgen" +let ref_qual_Visible_default = fstar_refl_data_const "Visible_default" +let ref_qual_Irreducible = fstar_refl_data_const "Irreducible" +let ref_qual_Inline_for_extraction = fstar_refl_data_const "Inline_for_extraction" +let ref_qual_NoExtract = fstar_refl_data_const "NoExtract" +let ref_qual_Noeq = fstar_refl_data_const "Noeq" +let ref_qual_Unopteq = fstar_refl_data_const "Unopteq" +let ref_qual_TotalEffect = fstar_refl_data_const "TotalEffect" +let ref_qual_Logic = fstar_refl_data_const "Logic" +let ref_qual_Reifiable = fstar_refl_data_const "Reifiable" +let ref_qual_Reflectable = fstar_refl_data_const "Reflectable" +let ref_qual_Discriminator = fstar_refl_data_const "Discriminator" +let ref_qual_Projector = fstar_refl_data_const "Projector" +let ref_qual_RecordType = fstar_refl_data_const "RecordType" +let ref_qual_RecordConstructor = fstar_refl_data_const "RecordConstructor" +let ref_qual_Action = fstar_refl_data_const "Action" +let ref_qual_ExceptionConstructor = fstar_refl_data_const "ExceptionConstructor" +let ref_qual_HasMaskedEffect = fstar_refl_data_const "HasMaskedEffect" +let ref_qual_Effect = fstar_refl_data_const "Effect" +let ref_qual_OnlyName = fstar_refl_data_const "OnlyName" + +(* Should not be here *) +let ord_Lt_lid = Ident.lid_of_path (["FStar"; "Order"; "Lt"]) Range.dummyRange +let ord_Eq_lid = Ident.lid_of_path (["FStar"; "Order"; "Eq"]) Range.dummyRange +let ord_Gt_lid = Ident.lid_of_path (["FStar"; "Order"; "Gt"]) Range.dummyRange +let ord_Lt = tdataconstr ord_Lt_lid +let ord_Eq = tdataconstr ord_Eq_lid +let ord_Gt = tdataconstr ord_Gt_lid +let ord_Lt_fv = lid_as_fv ord_Lt_lid (Some Data_ctor) +let ord_Eq_fv = lid_as_fv ord_Eq_lid (Some Data_ctor) +let ord_Gt_fv = lid_as_fv ord_Gt_lid (Some Data_ctor) diff --git a/src/reflection/FStar.Reflection.V2.Data.fst b/src/reflection/FStar.Reflection.V2.Data.fst new file mode 100644 index 00000000000..a3d04d02cd6 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Data.fst @@ -0,0 +1,47 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Data + +(* NOTE: This file is exactly the same as its .fs/.fsi counterpart. +It is only here so the equally-named interface file in ulib/ is not +taken by the dependency analysis to be the interface of the .fs. We also +cannot ditch the .fs, since out bootstrapping process does not extract +any .ml file from an interface. Hence we keep both, exactly equal to +each other. *) +open FStar.Compiler.List +open FStar.Syntax.Syntax +module Ident = FStar.Ident +module Range = FStar.Compiler.Range +module Z = FStar.BigInt +open FStar.Ident + +(* These two functions are in ulib/FStar.Reflection.V2.Data.fsti + But, they are not extracted from there. + + Instead, these functions are extraction from this file. It is + not sufficient to place these functions in the interface + src/reflection/FStar.Reflection.V2.Data.fsti since this module, like the + rest of the compiler, is extracted in MLish mode. Which means that + functions in the interface are not supported for extraction. So, + we include them in this module implementation file to force them + to be extracted *) +type ppname_t = string +let as_ppname (x:string) : Tot string = x + +let notAscription (tv:term_view) : Tot bool = + not (Tv_AscribedT? tv) && not (Tv_AscribedC? tv) + +type simple_binder = binder diff --git a/src/reflection/FStar.Reflection.V2.Data.fsti b/src/reflection/FStar.Reflection.V2.Data.fsti new file mode 100644 index 00000000000..a8c56a994f4 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Data.fsti @@ -0,0 +1,208 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Data + +(* NOTE: This file is exactly the same as its .fs/.fsi counterpart. +It is only here so the equally-named interface file in ulib/ is not +taken by the dependency analysis to be the interface of the .fs. We also +cannot ditch the .fs, since out bootstrapping process does not extract +any .ml file from an interface. Hence we keep both, exactly equal to +each other. *) +open FStar.Compiler.List +open FStar.Syntax.Syntax +module Ident = FStar.Ident +module Range = FStar.Compiler.Range +module Z = FStar.BigInt +open FStar.Ident + +type name = list string +type typ = term +type binders = list binder + +(* No distinction internally between bvars and named vars *) +type namedv = bv + +type vconst = + | C_Unit + | C_Int of Z.t + | C_True + | C_False + | C_String of string + | C_Range of Range.range + | C_Reify + | C_Reflect of name + +type universes = list universe + +type pattern = + // A built-in constant + | Pat_Constant : + c : vconst -> + pattern + + // A fully applied constructor, each boolean marks whether the + // argument was an explicitly-provided implicit argument + | Pat_Cons : + head : fv -> + univs : option universes -> + subpats : list (pattern * bool) -> + pattern + + // A pattern-bound variable. It has a sealed sort in it (in userland). + // This sort is ignored by the typechecker, but may be useful + // for metaprogram to look at heuristically. There is nothing + // else here but a ppname, the variable is referred to by its DB index. + // This means all Pat_Var are provably equal. + | Pat_Var : + sort : term -> + ppname : string -> + pattern + + // Dot pattern: resolved by other elements in the pattern and type + | Pat_Dot_Term : + t : option term -> + pattern + +type branch = pattern * term + +type aqualv = + | Q_Implicit + | Q_Explicit + | Q_Meta of term + +type argv = term * aqualv + +val as_ppname (s:string) : Tot string + +type namedv_view = { + uniq : Z.t; + sort : typ; + ppname : string; +} + +type bv_view = { + index : Z.t; + sort : typ; + ppname : string; +} + +type binder_view = { + sort : typ; + qual : aqualv; + attrs : list term; + ppname : string; +} + +type binding = { + uniq : Z.t; + sort : typ; + ppname : string; +} +type bindings = list binding + +type universe_view = + | Uv_Zero : universe_view + | Uv_Succ : universe -> universe_view + | Uv_Max : universes -> universe_view + | Uv_BVar : Z.t -> universe_view + | Uv_Name : univ_name -> universe_view + | Uv_Unif : universe_uvar -> universe_view + | Uv_Unk : universe_view + +type term_view = + | Tv_Var of namedv + | Tv_BVar of bv + | Tv_FVar of fv + | Tv_UInst of fv * universes + | Tv_App of term * argv + | Tv_Abs of binder * term + | Tv_Arrow of binder * comp + | Tv_Type of universe + | Tv_Refine of binder * term + | Tv_Const of vconst + | Tv_Uvar of Z.t * ctx_uvar_and_subst + | Tv_Let of bool * list term * binder * term * term + | Tv_Match of term * option match_returns_ascription * list branch + | Tv_AscribedT of term * term * option term * bool //if the boolean flag is true, the ascription is an equality ascription + //see also Syntax + | Tv_AscribedC of term * comp * option term * bool //bool is similar to Tv_AscribedT + | Tv_Unknown + | Tv_Unsupp + +val notAscription (t:term_view) : Tot bool + +type comp_view = + | C_Total of typ + | C_GTotal of typ + | C_Lemma of term * term * term + | C_Eff of universes * name * term * list argv * list term // list term is the decreases clause + +type ctor = name * typ + +type lb_view = { + lb_fv : fv; + lb_us : list univ_name; + lb_typ : typ; + lb_def : term +} + +type sigelt_view = + | Sg_Let of bool * list letbinding + // The bool indicates if it's a let rec + // Non-empty list of (possibly) mutually recursive let-bindings + | Sg_Inductive of name * list univ_name * list binder * typ * list ctor // name, params, type, constructors + | Sg_Val of name * list univ_name * typ + | Unk + + +(* This is a mirror of FStar.Syntax.Syntax.qualifier *) +type qualifier = + | Assumption + | InternalAssumption + | New + | Private + | Unfold_for_unification_and_vcgen + | Visible_default + | Irreducible + | Inline_for_extraction + | NoExtract + | Noeq + | Unopteq + | TotalEffect + | Logic + | Reifiable + | Reflectable of lid + | Discriminator of lid + | Projector of lid * ident + | RecordType of (list ident * list ident) + | RecordConstructor of (list ident * list ident) + | Action of lid + | ExceptionConstructor + | HasMaskedEffect + | Effect + | OnlyName + +type qualifiers = list qualifier + +type var = Z.t + +type exp = + | Unit + | Var of var + | Mult of exp * exp + +(* Needed so this appears in the ocaml output for the fstar tactics library *) +type decls = list sigelt diff --git a/src/reflection/FStar.Reflection.V2.Embeddings.fst b/src/reflection/FStar.Reflection.V2.Embeddings.fst new file mode 100644 index 00000000000..7b658b4fdd6 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Embeddings.fst @@ -0,0 +1,843 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Embeddings + +open FStar.Compiler.Effect +open FStar.Reflection.V2.Data +open FStar.Syntax.Syntax +open FStar.Syntax.Embeddings +open FStar.Order +open FStar.Errors + +module S = FStar.Syntax.Syntax // TODO: remove, it's open + +module I = FStar.Ident +module SS = FStar.Syntax.Subst +module BU = FStar.Compiler.Util +module Range = FStar.Compiler.Range +module U = FStar.Syntax.Util +module Print = FStar.Syntax.Print +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module Z = FStar.BigInt +module EMB = FStar.Syntax.Embeddings +open FStar.Reflection.V2.Builtins //needed for inspect_fv, but that feels wrong +module NBETerm = FStar.TypeChecker.NBETerm +module PC = FStar.Parser.Const +module O = FStar.Options +module RD = FStar.Reflection.V2.Data +module List = FStar.Compiler.List + +open FStar.Compiler.Dyn +open FStar.Syntax.Embeddings.AppEmb + +(* We only use simple embeddings here *) +let mk_emb f g t = + mk_emb (fun x r _topt _norm -> f r x) + (fun x _norm -> g x) + (term_as_fv t) +let embed e r x = embed e x r None id_norm_cb +let try_unembed e x = try_unembed e x id_norm_cb + +open FStar.Reflection.V2.Constants + +let curry f x y = f (x,y) +let curry3 f x y z = f (x,y,z) +let curry4 f x y z w = f (x,y,z,w) +let curry5 f x y z w v = f (x,y,z,w,v) + +let head_fv_and_args (t : term) : option (fv & args) = + let t = U.unascribe t in + let hd, args = U.head_and_args t in + match (U.un_uinst hd).n with + | Tm_fvar fv -> Some (fv, args) + | _ -> None + +let noaqs : antiquotations = (0, []) + +(* -------------------------------------------------------------------------------------- *) +(* ------------------------------------- EMBEDDINGS ------------------------------------- *) +(* -------------------------------------------------------------------------------------- *) + +(* The lazy embeddings: just embedding whatever value as a blob inside a Tm_Lazy node. *) +let e_bv : embedding bv = EMB.e_lazy Lazy_bv fstar_refl_bv +let e_namedv : embedding namedv = EMB.e_lazy Lazy_namedv fstar_refl_namedv +let e_binder : embedding binder = EMB.e_lazy Lazy_binder fstar_refl_binder +let e_fv : embedding fv = EMB.e_lazy Lazy_fvar fstar_refl_fv +let e_comp : embedding comp = EMB.e_lazy Lazy_comp fstar_refl_comp +let e_universe : embedding universe = EMB.e_lazy Lazy_universe fstar_refl_universe +let e_ident : embedding I.ident = EMB.e_lazy Lazy_ident fstar_refl_ident +let e_env : embedding env = EMB.e_lazy Lazy_env fstar_refl_env +let e_ctx_uvar_and_subst : embedding ctx_uvar_and_subst = EMB.e_lazy Lazy_uvar fstar_refl_ctx_uvar_and_subst +let e_sigelt : embedding sigelt = EMB.e_lazy Lazy_sigelt fstar_refl_sigelt +let e_letbinding : embedding letbinding = EMB.e_lazy Lazy_letbinding fstar_refl_letbinding +let e_universe_uvar : embedding universe_uvar = EMB.e_lazy Lazy_universe_uvar fstar_refl_universe_uvar + +let rec mapM_opt (f : ('a -> option 'b)) (l : list 'a) : option (list 'b) = + match l with + | [] -> Some [] + | x::xs -> + BU.bind_opt (f x) (fun x -> + BU.bind_opt (mapM_opt f xs) (fun xs -> + Some (x :: xs))) + +let e_term_aq aq = + let embed_term (rng:Range.range) (t:term) : term = + let qi = { qkind = Quote_static; antiquotations = aq } in + S.mk (Tm_quoted (t, qi)) rng + in + let rec unembed_term (t:term) : option term = + let apply_antiquotations (t:term) (aq:antiquotations) : option term = + let shift, aqs = aq in + let aqs = List.rev aqs in + // Try to unembed all antiquotations + BU.bind_opt (mapM_opt unembed_term aqs) (fun aq_ts -> + // Create a substitution of the DB indices of t for the antiquotations + (* let n = List.length aq_ts - 1 in *) + let subst_open, subst = + aq_ts + |> List.mapi (fun i at -> + let x = S.new_bv None S.t_term in + DB(shift+i, x), NT (x, at)) + |> List.unzip + in + + // Substitute and return + Some (SS.subst subst <| SS.subst subst_open t)) + in + let t = U.unmeta t in + match (SS.compress t).n with + | Tm_quoted (tm, qi) -> + apply_antiquotations tm qi.antiquotations + | _ -> None + in + mk_emb embed_term unembed_term S.t_term + +let e_term = e_term_aq noaqs + +let e_sort : embedding term = e_sealed e_term +let e_ppname : embedding string = e_sealed e_string + +let e_aqualv = + let embed_aqualv (rng:Range.range) (q : aqualv) : term = + let r = + match q with + | Data.Q_Explicit -> ref_Q_Explicit.t + | Data.Q_Implicit -> ref_Q_Implicit.t + | Data.Q_Meta t -> + S.mk_Tm_app ref_Q_Meta.t [S.as_arg (embed e_term rng t)] + Range.dummyRange + in { r with pos = rng } + in + let unembed_aqualv (t : term) : option aqualv = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Q_Explicit.lid -> run args (pure Data.Q_Explicit) + | _ when S.fv_eq_lid fv ref_Q_Implicit.lid -> run args (pure Data.Q_Implicit) + | _ when S.fv_eq_lid fv ref_Q_Meta.lid -> run args (Data.Q_Meta <$$> e_term) + | _ -> None + in + mk_emb embed_aqualv unembed_aqualv fstar_refl_aqualv + +let e_binders = e_list e_binder + +let e_universe_view = + let embed_universe_view (rng:Range.range) (uv:universe_view) : term = + match uv with + | Uv_Zero -> ref_Uv_Zero.t + | Uv_Succ u -> + S.mk_Tm_app + ref_Uv_Succ.t + [S.as_arg (embed e_universe rng u)] + rng + | Uv_Max us -> + S.mk_Tm_app + ref_Uv_Max.t + [S.as_arg (embed (e_list e_universe) rng us)] + rng + | Uv_BVar n -> + S.mk_Tm_app + ref_Uv_BVar.t + [S.as_arg (embed e_int rng n)] + rng + | Uv_Name i -> + S.mk_Tm_app + ref_Uv_Name.t + [S.as_arg (embed e_ident rng i)] + rng + | Uv_Unif u -> + S.mk_Tm_app + ref_Uv_Unif.t + [S.as_arg (embed e_universe_uvar rng u)] + rng + | Uv_Unk -> + ref_Uv_Unk.t in + + let unembed_universe_view (t:term) : option universe_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Uv_Zero.lid -> run args (pure Uv_Zero) + | _ when S.fv_eq_lid fv ref_Uv_Succ.lid -> run args (Uv_Succ <$$> e_universe) + | _ when S.fv_eq_lid fv ref_Uv_Max.lid -> run args (Uv_Max <$$> e_list e_universe) + | _ when S.fv_eq_lid fv ref_Uv_BVar.lid -> run args (Uv_BVar <$$> e_int) + | _ when S.fv_eq_lid fv ref_Uv_Name.lid -> run args (Uv_Name <$$> e_ident) + | _ when S.fv_eq_lid fv ref_Uv_Unif.lid -> run args (Uv_Unif <$$> e_universe_uvar) + | _ when S.fv_eq_lid fv ref_Uv_Unk.lid -> run args (pure Uv_Unk) + | _ -> None + in + + mk_emb embed_universe_view unembed_universe_view fstar_refl_universe_view + +let e_vconst = + let embed_const (rng:Range.range) (c:vconst) : term = + let r = + match c with + | C_Unit -> ref_C_Unit.t + | C_True -> ref_C_True.t + | C_False -> ref_C_False.t + + | C_Int i -> + S.mk_Tm_app ref_C_Int.t [S.as_arg (U.exp_int (Z.string_of_big_int i))] + Range.dummyRange + | C_String s -> + S.mk_Tm_app ref_C_String.t [S.as_arg (embed e_string rng s)] + Range.dummyRange + + | C_Range r -> + S.mk_Tm_app ref_C_Range.t [S.as_arg (embed e_range rng r)] + Range.dummyRange + + | C_Reify -> ref_C_Reify.t + + | C_Reflect ns -> + S.mk_Tm_app ref_C_Reflect.t [S.as_arg (embed e_string_list rng ns)] + Range.dummyRange + + in { r with pos = rng } + in + let unembed_const (t:term) : option vconst = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_C_Unit.lid -> run args (pure C_Unit) + | _ when S.fv_eq_lid fv ref_C_True.lid -> run args (pure C_True) + | _ when S.fv_eq_lid fv ref_C_False.lid -> run args (pure C_False) + | _ when S.fv_eq_lid fv ref_C_Int.lid -> run args (C_Int <$$> e_int) + | _ when S.fv_eq_lid fv ref_C_String.lid -> run args (C_String <$$> e_string) + | _ when S.fv_eq_lid fv ref_C_Range.lid -> run args (C_Range <$$> e_range) + | _ when S.fv_eq_lid fv ref_C_Reify.lid -> run args (pure C_Reify) + | _ when S.fv_eq_lid fv ref_C_Reflect.lid -> run args (C_Reflect <$$> e_string_list) + | _ -> None + in + mk_emb embed_const unembed_const fstar_refl_vconst + +let rec e_pattern_aq aq = + let rec embed_pattern (rng:Range.range) (p : pattern) : term = + match p with + | Pat_Constant c -> + S.mk_Tm_app ref_Pat_Constant.t [S.as_arg (embed e_vconst rng c)] rng + | Pat_Cons head univs subpats -> + S.mk_Tm_app ref_Pat_Cons.t + [S.as_arg (embed e_fv rng head); + S.as_arg (embed (e_option (e_list e_universe)) rng univs); + S.as_arg (embed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) rng subpats)] rng + | Pat_Var sort ppname -> + S.mk_Tm_app ref_Pat_Var.t [ + S.as_arg (embed e_sort rng sort); + S.as_arg (embed e_ppname rng ppname); + ] rng + | Pat_Dot_Term eopt -> + S.mk_Tm_app ref_Pat_Dot_Term.t [S.as_arg (embed (e_option e_term) rng eopt)] + rng + in + let rec unembed_pattern (t : term) : option pattern = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Pat_Constant.lid -> + run args (Pat_Constant <$$> e_vconst) + + | _ when S.fv_eq_lid fv ref_Pat_Cons.lid -> + run args (Pat_Cons <$$> e_fv <**> e_option (e_list e_universe) <**> e_list (e_tuple2 (e_pattern_aq aq) e_bool)) + + | _ when S.fv_eq_lid fv ref_Pat_Var.lid -> + run args (Pat_Var <$$> e_sort <**> e_ppname) + + | _ when S.fv_eq_lid fv ref_Pat_Dot_Term.lid -> + run args (Pat_Dot_Term <$$> e_option e_term) + + | _ -> None + in + mk_emb embed_pattern unembed_pattern fstar_refl_pattern + +let e_pattern = e_pattern_aq noaqs + +let e_branch = e_tuple2 e_pattern e_term +let e_argv = e_tuple2 e_term e_aqualv + +let e_args = e_list e_argv + +let e_branch_aq aq = e_tuple2 (e_pattern_aq aq) (e_term_aq aq) +let e_argv_aq aq = e_tuple2 (e_term_aq aq) e_aqualv + +let e_match_returns_annotation = + e_option (e_tuple2 e_binder + (e_tuple3 (e_either e_term e_comp) (e_option e_term) e_bool)) + +let e_term_view_aq aq = + let push (s, aq) = (s+1, aq) in + let embed_term_view (rng:Range.range) (t:term_view) : term = + match t with + | Tv_FVar fv -> + S.mk_Tm_app ref_Tv_FVar.t [S.as_arg (embed e_fv rng fv)] + rng + + | Tv_BVar fv -> + S.mk_Tm_app ref_Tv_BVar.t [S.as_arg (embed e_bv rng fv)] + rng + + | Tv_Var bv -> + S.mk_Tm_app ref_Tv_Var.t [S.as_arg (embed e_namedv rng bv)] + rng + + | Tv_UInst (fv, us) -> + S.mk_Tm_app + ref_Tv_UInst.t + [S.as_arg (embed e_fv rng fv); + S.as_arg (embed (e_list e_universe) rng us)] + rng + + | Tv_App (hd, a) -> + S.mk_Tm_app ref_Tv_App.t [S.as_arg (embed (e_term_aq aq) rng hd); S.as_arg (embed (e_argv_aq aq) rng a)] + rng + + | Tv_Abs (b, t) -> + S.mk_Tm_app ref_Tv_Abs.t [S.as_arg (embed e_binder rng b); S.as_arg (embed (e_term_aq (push aq)) rng t)] + rng + + | Tv_Arrow (b, c) -> + S.mk_Tm_app ref_Tv_Arrow.t [S.as_arg (embed e_binder rng b); S.as_arg (embed e_comp rng c)] + rng + + | Tv_Type u -> + S.mk_Tm_app ref_Tv_Type.t [S.as_arg (embed e_universe rng u)] + rng + + | Tv_Refine (b, t) -> + S.mk_Tm_app ref_Tv_Refine.t [S.as_arg (embed e_binder rng b); + S.as_arg (embed (e_term_aq (push aq)) rng t)] + rng + + | Tv_Const c -> + S.mk_Tm_app ref_Tv_Const.t [S.as_arg (embed e_vconst rng c)] + rng + + | Tv_Uvar (u, ctx_u) -> + S.mk_Tm_app ref_Tv_Uvar.t + [S.as_arg (embed e_int rng u); + S.as_arg (embed e_ctx_uvar_and_subst rng ctx_u)] + rng + + | Tv_Let (r, attrs, b, t1, t2) -> + S.mk_Tm_app ref_Tv_Let.t [S.as_arg (embed e_bool rng r); + S.as_arg (embed (e_list e_term) rng attrs); + S.as_arg (embed e_binder rng b); + S.as_arg (embed (e_term_aq aq) rng t1); + S.as_arg (embed (e_term_aq (push aq)) rng t2)] + rng + + | Tv_Match (t, ret_opt, brs) -> + S.mk_Tm_app ref_Tv_Match.t [S.as_arg (embed (e_term_aq aq) rng t); + S.as_arg (embed e_match_returns_annotation rng ret_opt); + S.as_arg (embed (e_list (e_branch_aq aq)) rng brs)] + rng + + | Tv_AscribedT (e, t, tacopt, use_eq) -> + S.mk_Tm_app ref_Tv_AscT.t + [S.as_arg (embed (e_term_aq aq) rng e); + S.as_arg (embed (e_term_aq aq) rng t); + S.as_arg (embed (e_option (e_term_aq aq)) rng tacopt); + S.as_arg (embed e_bool rng use_eq)] + rng + + | Tv_AscribedC (e, c, tacopt, use_eq) -> + S.mk_Tm_app ref_Tv_AscC.t + [S.as_arg (embed (e_term_aq aq) rng e); + S.as_arg (embed e_comp rng c); + S.as_arg (embed (e_option (e_term_aq aq)) rng tacopt); + S.as_arg (embed e_bool rng use_eq)] + rng + + | Tv_Unknown -> + { ref_Tv_Unknown.t with pos = rng } + + | Tv_Unsupp -> + { ref_Tv_Unsupp.t with pos = rng } + in + let unembed_term_view (t:term) : option term_view = + let? fv, args = head_fv_and_args t in + let xTv_Let a b c d e = Tv_Let (a,b,c,d,e) in + match () with + | _ when S.fv_eq_lid fv ref_Tv_FVar.lid -> run args (Tv_FVar <$$> e_fv) + | _ when S.fv_eq_lid fv ref_Tv_BVar.lid -> run args (Tv_BVar <$$> e_bv) + | _ when S.fv_eq_lid fv ref_Tv_Var.lid -> run args (Tv_Var <$$> e_namedv) + | _ when S.fv_eq_lid fv ref_Tv_UInst.lid -> run args (curry Tv_UInst <$$> e_fv <**> e_list e_universe) + | _ when S.fv_eq_lid fv ref_Tv_App.lid -> run args (curry Tv_App <$$> e_term_aq aq <**> e_argv_aq aq) + | _ when S.fv_eq_lid fv ref_Tv_Abs.lid -> run args (curry Tv_Abs <$$> e_binder <**> e_term_aq (push aq)) + | _ when S.fv_eq_lid fv ref_Tv_Arrow.lid -> run args (curry Tv_Arrow <$$> e_binder <**> e_comp) + | _ when S.fv_eq_lid fv ref_Tv_Type.lid -> run args (Tv_Type <$$> e_universe) + | _ when S.fv_eq_lid fv ref_Tv_Refine.lid -> run args (curry Tv_Refine <$$> e_binder <**> e_term_aq (push aq)) + | _ when S.fv_eq_lid fv ref_Tv_Const.lid -> run args (Tv_Const <$$> e_vconst) + | _ when S.fv_eq_lid fv ref_Tv_Uvar.lid -> run args (curry Tv_Uvar <$$> e_int <**> e_ctx_uvar_and_subst) + | _ when S.fv_eq_lid fv ref_Tv_Let.lid -> run args (xTv_Let <$$> e_bool <**> e_list e_term <**> e_binder <**> e_term_aq aq <**> e_term_aq (push aq)) + | _ when S.fv_eq_lid fv ref_Tv_Match.lid -> run args (curry3 Tv_Match <$$> e_term_aq aq <**> e_match_returns_annotation <**> e_list (e_branch_aq aq)) + | _ when S.fv_eq_lid fv ref_Tv_AscT.lid -> run args (curry4 Tv_AscribedT <$$> e_term_aq aq <**> e_term_aq aq <**> e_option (e_term_aq aq) <**> e_bool) + | _ when S.fv_eq_lid fv ref_Tv_AscC.lid -> run args (curry4 Tv_AscribedC <$$> e_term_aq aq <**> e_comp <**> e_option (e_term_aq aq) <**> e_bool) + | _ when S.fv_eq_lid fv ref_Tv_Unknown.lid -> run args (pure Tv_Unknown) + | _ when S.fv_eq_lid fv ref_Tv_Unsupp.lid -> run args (pure Tv_Unsupp) + | _ -> None + in + mk_emb embed_term_view unembed_term_view fstar_refl_term_view + +let e_term_view = e_term_view_aq noaqs + +(* embeds as a string list *) +let e_lid : embedding I.lid = + let embed rng lid : term = + embed e_string_list rng (I.path_of_lid lid) + in + let uu t _norm : option I.lid = + BU.map_opt (try_unembed e_string_list t) (fun p -> I.lid_of_path p t.pos) + in + EMB.mk_emb_full (fun x r _ _ -> embed r x) + uu + (t_list_of t_string) + I.string_of_lid + ET_abstract + + +let e_namedv_view = + let embed_namedv_view (rng:Range.range) (namedvv:namedv_view) : term = + S.mk_Tm_app ref_Mk_namedv_view.t [ + S.as_arg (embed e_int rng namedvv.uniq); + S.as_arg (embed e_sort rng namedvv.sort); + S.as_arg (embed e_ppname rng namedvv.ppname); + ] + rng + in + let unembed_namedv_view (t : term) : option namedv_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Mk_namedv_view.lid -> + run args (Mknamedv_view <$$> e_int <**> e_sort <**> e_ppname) + | _ -> None + in + mk_emb embed_namedv_view unembed_namedv_view fstar_refl_namedv_view + +let e_bv_view = + let embed_bv_view (rng:Range.range) (bvv:bv_view) : term = + S.mk_Tm_app ref_Mk_bv_view.t [ + S.as_arg (embed e_int rng bvv.index); + S.as_arg (embed e_sort rng bvv.sort); + S.as_arg (embed e_ppname rng bvv.ppname); + ] + rng + in + let unembed_bv_view (t : term) : option bv_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Mk_bv_view.lid -> + run args (Mkbv_view <$$> e_int <**> e_sort <**> e_ppname) + | _ -> None + in + mk_emb embed_bv_view unembed_bv_view fstar_refl_bv_view + +let e_binding = + let embed (rng:Range.range) (bindingv:RD.binding) : term = + S.mk_Tm_app ref_Mk_binding.t [ + S.as_arg (embed e_int rng bindingv.uniq); + S.as_arg (embed e_term rng bindingv.sort); + S.as_arg (embed e_ppname rng bindingv.ppname); + ] + rng + in + let unembed (t : term) : option RD.binding = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Mk_binding.lid -> + run args (Mkbinding <$$> e_int <**> e_term <**> e_ppname) + | _ -> None + in + mk_emb embed unembed fstar_refl_binding + +let e_attribute = e_term +let e_attributes = e_list e_attribute + +let e_binder_view = + let embed_binder_view (rng:Range.range) (bview:binder_view) : term = + S.mk_Tm_app ref_Mk_binder_view.t [ + S.as_arg (embed e_term rng bview.sort); + S.as_arg (embed e_aqualv rng bview.qual); + S.as_arg (embed e_attributes rng bview.attrs); + S.as_arg (embed e_ppname rng bview.ppname); + ] + rng in + + let unembed_binder_view (t:term) : option binder_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Mk_binder_view.lid -> + run args (Mkbinder_view <$$> e_term <**> e_aqualv <**> e_list e_term <**> e_ppname) + | _ -> None + in + mk_emb embed_binder_view unembed_binder_view fstar_refl_binder_view + +let e_comp_view = + let embed_comp_view (rng:Range.range) (cv : comp_view) : term = + match cv with + | C_Total t -> + S.mk_Tm_app ref_C_Total.t [S.as_arg (embed e_term rng t)] + rng + + | C_GTotal t -> + S.mk_Tm_app ref_C_GTotal.t [S.as_arg (embed e_term rng t)] + rng + + | C_Lemma (pre, post, pats) -> + S.mk_Tm_app ref_C_Lemma.t [S.as_arg (embed e_term rng pre); S.as_arg (embed e_term rng post); S.as_arg (embed e_term rng pats)] + rng + + | C_Eff (us, eff, res, args, decrs) -> + S.mk_Tm_app ref_C_Eff.t + [ S.as_arg (embed (e_list e_universe) rng us) + ; S.as_arg (embed e_string_list rng eff) + ; S.as_arg (embed e_term rng res) + ; S.as_arg (embed (e_list e_argv) rng args) + ; S.as_arg (embed (e_list e_term) rng decrs)] rng + + + in + let unembed_comp_view (t : term) : option comp_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_C_Total.lid -> run args (C_Total <$$> e_term) + | _ when S.fv_eq_lid fv ref_C_GTotal.lid -> run args (C_GTotal <$$> e_term) + | _ when S.fv_eq_lid fv ref_C_Lemma.lid -> + run args (curry3 C_Lemma <$$> e_term <**> e_term <**> e_term) + | _ when S.fv_eq_lid fv ref_C_Eff.lid -> + run args (curry5 C_Eff <$$> e_list e_universe <**> e_string_list <**> e_term <**> e_list e_argv <**> e_list e_term) + | _ -> None + in + mk_emb embed_comp_view unembed_comp_view fstar_refl_comp_view + +(* TODO: move to, Syntax.Embeddings or somewhere better even *) +let e_order = + let embed_order (rng:Range.range) (o:order) : term = + let r = + match o with + | Lt -> ord_Lt + | Eq -> ord_Eq + | Gt -> ord_Gt + in { r with pos = rng } + in + let unembed_order (t:term) : option order = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ord_Lt_lid -> run args (pure Lt) + | _ when S.fv_eq_lid fv ord_Eq_lid -> run args (pure Eq) + | _ when S.fv_eq_lid fv ord_Gt_lid -> run args (pure Gt) + | _ -> None + in + mk_emb embed_order unembed_order S.t_order + +let e_univ_name = e_ident +let e_univ_names = e_list e_univ_name + +let e_subst_elt = + let ee (rng:Range.range) (e:subst_elt) : term = + match e with + | DB (i, x) -> + S.mk_Tm_app ref_DB.t [ + S.as_arg (embed e_fsint rng i); + S.as_arg (embed e_namedv rng x); + ] + rng + + | DT (i, t) -> + S.mk_Tm_app ref_DT.t [ + S.as_arg (embed e_fsint rng i); + S.as_arg (embed e_term rng t); + ] + rng + + | NM (x, i) -> + S.mk_Tm_app ref_NM.t [ + S.as_arg (embed e_namedv rng x); + S.as_arg (embed e_fsint rng i); + ] + rng + + | NT (x, t) -> + S.mk_Tm_app ref_NT.t [ + S.as_arg (embed e_namedv rng x); + S.as_arg (embed e_term rng t); + ] + rng + + | UN (i, u) -> + S.mk_Tm_app ref_UN.t [ + S.as_arg (embed e_fsint rng i); + S.as_arg (embed e_universe rng u); + ] + rng + + | UD (u, i) -> + S.mk_Tm_app ref_UD.t [ + S.as_arg (embed e_ident rng u); + S.as_arg (embed e_fsint rng i); + ] + rng + in + let uu (t:term) : option subst_elt = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_DB.lid -> + run args (curry DB <$$> e_fsint <**> e_namedv) + | _ when S.fv_eq_lid fv ref_DT.lid -> + run args (curry DT <$$> e_fsint <**> e_term) + | _ when S.fv_eq_lid fv ref_NM.lid -> + run args (curry NM <$$> e_namedv <**> e_fsint) + | _ when S.fv_eq_lid fv ref_NT.lid -> + run args (curry NT <$$> e_namedv <**> e_term) + | _ when S.fv_eq_lid fv ref_UN.lid -> + run args (curry UN <$$> e_fsint <**> e_universe) + | _ when S.fv_eq_lid fv ref_UD.lid -> + run args (curry UD <$$> e_ident <**> e_fsint) + | _ -> None + in + mk_emb ee uu fstar_refl_subst_elt + +let e_subst = e_list e_subst_elt +let e_ctor = e_tuple2 (e_string_list) e_term + +let e_lb_view = + let embed_lb_view (rng:Range.range) (lbv:lb_view) : term = + S.mk_Tm_app ref_Mk_lb.t [S.as_arg (embed e_fv rng lbv.lb_fv); + S.as_arg (embed e_univ_names rng lbv.lb_us); + S.as_arg (embed e_term rng lbv.lb_typ); + S.as_arg (embed e_term rng lbv.lb_def)] + rng + in + let unembed_lb_view (t : term) : option lb_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Mk_lb.lid -> + run args (Mklb_view <$$> e_fv <**> e_univ_names <**> e_term <**> e_term) + | _ -> None + in + mk_emb embed_lb_view unembed_lb_view fstar_refl_lb_view + +let e_sigelt_view = + let embed_sigelt_view (rng:Range.range) (sev:sigelt_view) : term = + match sev with + | Sg_Let (r, lbs) -> + S.mk_Tm_app ref_Sg_Let.t + [S.as_arg (embed e_bool rng r); + S.as_arg (embed (e_list e_letbinding) rng lbs)] + rng + + | Sg_Inductive (nm, univs, bs, t, dcs) -> + S.mk_Tm_app ref_Sg_Inductive.t + [S.as_arg (embed e_string_list rng nm); + S.as_arg (embed e_univ_names rng univs); + S.as_arg (embed e_binders rng bs); + S.as_arg (embed e_term rng t); + S.as_arg (embed (e_list e_ctor) rng dcs)] + rng + + | Sg_Val (nm, univs, t) -> + S.mk_Tm_app ref_Sg_Val.t + [S.as_arg (embed e_string_list rng nm); + S.as_arg (embed e_univ_names rng univs); + S.as_arg (embed e_term rng t)] + rng + + | Unk -> + { ref_Unk.t with pos = rng } + in + let unembed_sigelt_view (t:term) : option sigelt_view = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_Sg_Inductive.lid -> + run args (curry5 Sg_Inductive <$$> e_string_list <**> e_univ_names <**> e_binders <**> e_term <**> e_list e_ctor) + | _ when S.fv_eq_lid fv ref_Sg_Let.lid -> + run args (curry Sg_Let <$$> e_bool <**> e_list e_letbinding) + | _ when S.fv_eq_lid fv ref_Sg_Val.lid -> + run args (curry3 Sg_Val <$$> e_string_list <**> e_univ_names <**> e_term) + | _ when S.fv_eq_lid fv ref_Unk.lid -> + run args (pure Unk) + | _ -> None + in + mk_emb embed_sigelt_view unembed_sigelt_view fstar_refl_sigelt_view + +let e_qualifier = + let embed (rng:Range.range) (q:RD.qualifier) : term = + let r = + match q with + | RD.Assumption -> ref_qual_Assumption.t + | RD.InternalAssumption -> ref_qual_InternalAssumption.t + | RD.New -> ref_qual_New.t + | RD.Private -> ref_qual_Private.t + | RD.Unfold_for_unification_and_vcgen -> ref_qual_Unfold_for_unification_and_vcgen.t + | RD.Visible_default -> ref_qual_Visible_default.t + | RD.Irreducible -> ref_qual_Irreducible.t + | RD.Inline_for_extraction -> ref_qual_Inline_for_extraction.t + | RD.NoExtract -> ref_qual_NoExtract.t + | RD.Noeq -> ref_qual_Noeq.t + | RD.Unopteq -> ref_qual_Unopteq.t + | RD.TotalEffect -> ref_qual_TotalEffect.t + | RD.Logic -> ref_qual_Logic.t + | RD.Reifiable -> ref_qual_Reifiable.t + | RD.ExceptionConstructor -> ref_qual_ExceptionConstructor.t + | RD.HasMaskedEffect -> ref_qual_HasMaskedEffect.t + | RD.Effect -> ref_qual_Effect.t + | RD.OnlyName -> ref_qual_OnlyName.t + | RD.Reflectable l -> + S.mk_Tm_app ref_qual_Reflectable.t [S.as_arg (embed e_lid rng l)] + Range.dummyRange + + | RD.Discriminator l -> + S.mk_Tm_app ref_qual_Discriminator.t [S.as_arg (embed e_lid rng l)] + Range.dummyRange + + | RD.Action l -> + S.mk_Tm_app ref_qual_Action.t [S.as_arg (embed e_lid rng l)] + Range.dummyRange + + | RD.Projector (l, i) -> + S.mk_Tm_app ref_qual_Projector.t [S.as_arg (embed (e_tuple2 e_lid e_ident) rng (l, i))] + Range.dummyRange + + | RD.RecordType (ids1, ids2) -> + S.mk_Tm_app ref_qual_RecordType.t [S.as_arg (embed (e_tuple2 (e_list e_ident) (e_list e_ident)) rng (ids1, ids2))] + Range.dummyRange + + | RD.RecordConstructor (ids1, ids2) -> + S.mk_Tm_app ref_qual_RecordConstructor.t [S.as_arg (embed (e_tuple2 (e_list e_ident) (e_list e_ident)) rng (ids1, ids2))] + Range.dummyRange + + in { r with pos = rng } + in + let unembed (t: term) : option RD.qualifier = + let? fv, args = head_fv_and_args t in + match () with + | _ when S.fv_eq_lid fv ref_qual_Assumption.lid -> run args (pure RD.Assumption) + | _ when S.fv_eq_lid fv ref_qual_InternalAssumption.lid -> run args (pure RD.InternalAssumption) + | _ when S.fv_eq_lid fv ref_qual_New.lid -> run args (pure RD.New) + | _ when S.fv_eq_lid fv ref_qual_Private.lid -> run args (pure RD.Private) + | _ when S.fv_eq_lid fv ref_qual_Unfold_for_unification_and_vcgen.lid -> run args (pure RD.Unfold_for_unification_and_vcgen) + | _ when S.fv_eq_lid fv ref_qual_Visible_default.lid -> run args (pure RD.Visible_default) + | _ when S.fv_eq_lid fv ref_qual_Irreducible.lid -> run args (pure RD.Irreducible) + | _ when S.fv_eq_lid fv ref_qual_Inline_for_extraction.lid -> run args (pure RD.Inline_for_extraction) + | _ when S.fv_eq_lid fv ref_qual_NoExtract.lid -> run args (pure RD.NoExtract) + | _ when S.fv_eq_lid fv ref_qual_Noeq.lid -> run args (pure RD.Noeq) + | _ when S.fv_eq_lid fv ref_qual_Unopteq.lid -> run args (pure RD.Unopteq) + | _ when S.fv_eq_lid fv ref_qual_TotalEffect.lid -> run args (pure RD.TotalEffect) + | _ when S.fv_eq_lid fv ref_qual_Logic.lid -> run args (pure RD.Logic) + | _ when S.fv_eq_lid fv ref_qual_Reifiable.lid -> run args (pure RD.Reifiable) + | _ when S.fv_eq_lid fv ref_qual_ExceptionConstructor.lid -> run args (pure RD.ExceptionConstructor) + | _ when S.fv_eq_lid fv ref_qual_HasMaskedEffect.lid -> run args (pure RD.HasMaskedEffect) + | _ when S.fv_eq_lid fv ref_qual_Effect.lid -> run args (pure RD.Effect) + | _ when S.fv_eq_lid fv ref_qual_OnlyName.lid -> run args (pure RD.OnlyName) + | _ when S.fv_eq_lid fv ref_qual_Reflectable.lid -> + run args (RD.Reflectable <$$> e_lid) + | _ when S.fv_eq_lid fv ref_qual_Discriminator.lid -> + run args (RD.Discriminator <$$> e_lid) + | _ when S.fv_eq_lid fv ref_qual_Action.lid -> + run args (RD.Action <$$> e_lid) + | _ when S.fv_eq_lid fv ref_qual_Projector.lid -> + run args (RD.Projector <$$> e_tuple2 e_lid e_ident) + | _ when S.fv_eq_lid fv ref_qual_RecordType.lid -> + run args (RD.RecordType <$$> e_tuple2 (e_list e_ident) (e_list e_ident)) + | _ when S.fv_eq_lid fv ref_qual_RecordConstructor.lid -> + run args (RD.RecordConstructor <$$> e_tuple2 (e_list e_ident) (e_list e_ident)) + | _ -> None + in + mk_emb embed unembed fstar_refl_qualifier + +let e_qualifiers = e_list e_qualifier + +(* -------------------------------------------------------------------------------------- *) +(* ------------------------------------- UNFOLDINGS ------------------------------------- *) +(* -------------------------------------------------------------------------------------- *) + + +(* Note that most of these are never needed during normalization, since + * the types are abstract. + *) + +let unfold_lazy_bv (i : lazyinfo) : term = + let bv : bv = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_bv.t [S.as_arg (embed e_bv_view i.rng (inspect_bv bv))] + i.rng + +let unfold_lazy_namedv (i : lazyinfo) : term = + let namedv : namedv = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_namedv.t [S.as_arg (embed e_namedv_view i.rng (inspect_namedv namedv))] + i.rng + +let unfold_lazy_binder (i : lazyinfo) : term = + let binder : binder = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_binder.t [S.as_arg (embed e_binder_view i.rng (inspect_binder binder))] + i.rng + +let unfold_lazy_letbinding (i : lazyinfo) : term = + let lb : letbinding = undyn i.blob in + let lbv = inspect_lb lb in + S.mk_Tm_app fstar_refl_pack_lb.t + [ + S.as_arg (embed e_fv i.rng lbv.lb_fv); + S.as_arg (embed e_univ_names i.rng lbv.lb_us); + S.as_arg (embed e_term i.rng lbv.lb_typ); + S.as_arg (embed e_term i.rng lbv.lb_def) + ] + i.rng + +let unfold_lazy_fvar (i : lazyinfo) : term = + let fv : fv = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_fv.t [S.as_arg (embed (e_list e_string) i.rng (inspect_fv fv))] + i.rng + +let unfold_lazy_comp (i : lazyinfo) : term = + let comp : comp = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_comp.t [S.as_arg (embed e_comp_view i.rng (inspect_comp comp))] + i.rng + +let unfold_lazy_env (i : lazyinfo) : term = + (* Not needed, metaprograms never see concrete environments. *) + U.exp_unit + +let unfold_lazy_optionstate (i : lazyinfo) : term = + (* Not needed, metaprograms never see concrete optionstates . *) + U.exp_unit + +let unfold_lazy_sigelt (i : lazyinfo) : term = + let sigelt : sigelt = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_sigelt.t [S.as_arg (embed e_sigelt_view i.rng (inspect_sigelt sigelt))] + i.rng + +let unfold_lazy_universe (i : lazyinfo) : term = + let u : universe = undyn i.blob in + S.mk_Tm_app fstar_refl_pack_universe.t [S.as_arg (embed e_universe_view i.rng (inspect_universe u))] + i.rng diff --git a/src/reflection/FStar.Reflection.V2.Embeddings.fsti b/src/reflection/FStar.Reflection.V2.Embeddings.fsti new file mode 100644 index 00000000000..f922aac8779 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Embeddings.fsti @@ -0,0 +1,82 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Embeddings + +open FStar open FStar.Compiler +open FStar.Syntax.Syntax +open FStar.Syntax.Embeddings +open FStar.Order +open FStar.TypeChecker.Env +open FStar.Reflection.V2.Data +module O = FStar.Options +module RD = FStar.Reflection.V2.Data + +(* FIXME: create a Reflection.Types module internally? *) +type namedv = bv + +(* Embeddings *) +val e_bv : embedding bv +val e_namedv : embedding namedv +val e_binding : embedding RD.binding +val e_binder : embedding binder +val e_binder_view : embedding binder_view +val e_binders : embedding binders +val e_term : embedding term +val e_term_view : embedding term_view +val e_fv : embedding fv +val e_comp : embedding comp +val e_comp_view : embedding comp_view +val e_vconst : embedding vconst +val e_env : embedding FStar.TypeChecker.Env.env +val e_pattern : embedding pattern +val e_branch : embedding Data.branch +val e_aqualv : embedding aqualv +val e_argv : embedding argv +val e_order : embedding order +val e_sigelt : embedding sigelt +val e_letbinding : embedding letbinding +val e_lb_view : embedding lb_view +val e_sigelt_view : embedding sigelt_view +val e_namedv_view : embedding namedv_view +val e_bv_view : embedding bv_view +val e_attribute : embedding attribute +val e_attributes : embedding (list attribute) (* This seems rather silly, but `attributes` is a keyword *) +val e_qualifier : embedding RD.qualifier +val e_qualifiers : embedding (list RD.qualifier) +val e_ident : embedding Ident.ident +val e_univ_name : embedding univ_name +val e_univ_names : embedding (list univ_name) +val e_universe : embedding universe +val e_universe_view : embedding universe_view +val e_subst_elt : embedding subst_elt +val e_subst : embedding (list subst_elt) + +(* Useful for embedding antiquoted terms. They are only used for the embedding part, + * so this is a bit hackish. *) +val e_term_aq : antiquotations -> embedding term +val e_term_view_aq : antiquotations -> embedding term_view + +(* Lazy unfoldings *) +val unfold_lazy_bv : lazyinfo -> term +val unfold_lazy_namedv : lazyinfo -> term +val unfold_lazy_fvar : lazyinfo -> term +val unfold_lazy_binder : lazyinfo -> term +val unfold_lazy_optionstate : lazyinfo -> term +val unfold_lazy_comp : lazyinfo -> term +val unfold_lazy_env : lazyinfo -> term +val unfold_lazy_sigelt : lazyinfo -> term +val unfold_lazy_letbinding : lazyinfo -> term +val unfold_lazy_universe : lazyinfo -> term diff --git a/src/reflection/FStar.Reflection.V2.Interpreter.fst b/src/reflection/FStar.Reflection.V2.Interpreter.fst new file mode 100644 index 00000000000..6e191bba99b --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Interpreter.fst @@ -0,0 +1,458 @@ +(* + Copyright 2008-2022 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.Reflection.V2.Interpreter + +module BU = FStar.Compiler.Util +module Cfg = FStar.TypeChecker.Cfg +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module NBET = FStar.TypeChecker.NBETerm +module NRE = FStar.Reflection.V2.NBEEmbeddings +module RB = FStar.Reflection.V2.Builtins +module RD = FStar.Reflection.V2.Data +module RE = FStar.Reflection.V2.Embeddings +module Z = FStar.BigInt +module Range = FStar.Compiler.Range +open FStar.Compiler +open FStar.Compiler.List +open FStar.Ident +open FStar.Syntax.Syntax +open FStar.Reflection.V2.Constants + +let unembed = EMB.unembed +let try_unembed = EMB.try_unembed +let embed ea r x norm_cb = EMB.embed ea x r None norm_cb + +(* We use `try_unembed` instead of `unembedding`, since we very well + * might fail to unembed during the *previous* normalization stages + * of metaprograms. When actually running, we certainly expect + * everything to reduce to proper values and unembed just fine, but + * we cannot ignore this case. So, use `try_` so we don't generate + * spurious warnings. *) + +let int1 (m:lid) (f:'a -> 'r) (ea:EMB.embedding 'a) (er:EMB.embedding 'r) + (psc:Cfg.psc) n (args : args) : option term = + match args with + | [(a, _)] -> + BU.bind_opt (try_unembed ea a n) (fun a -> + Some (embed er (Cfg.psc_range psc) (f a) n)) + | _ -> None + +let int2 (m:lid) (f:'a -> 'b -> 'r) (ea:EMB.embedding 'a) (eb:EMB.embedding 'b) (er:EMB.embedding 'r) + (psc:Cfg.psc) n (args : args) : option term = + match args with + | [(a, _); (b, _)] -> + BU.bind_opt (try_unembed ea a n) (fun a -> + BU.bind_opt (try_unembed eb b n) (fun b -> + Some (embed er (Cfg.psc_range psc) (f a b) n))) + | _ -> None + +let int3 (m:lid) (f:'a -> 'b -> 'c -> 'r) (ea:EMB.embedding 'a) (eb:EMB.embedding 'b) (ec:EMB.embedding 'c) (er:EMB.embedding 'r) + (psc:Cfg.psc) n (args : args) : option term = + match args with + | [(a, _); (b, _); (c, _)] -> + BU.bind_opt (try_unembed ea a n) (fun a -> + BU.bind_opt (try_unembed eb b n) (fun b -> + BU.bind_opt (try_unembed ec c n) (fun c -> + Some (embed er (Cfg.psc_range psc) (f a b c) n)))) + | _ -> None + +let nbe_int1 (m:lid) (f:'a -> 'r) (ea:NBET.embedding 'a) (er:NBET.embedding 'r) + (cb:NBET.nbe_cbs) (args : NBET.args) : option NBET.t = + match args with + | [(a, _)] -> + BU.bind_opt (NBET.unembed ea cb a) (fun a -> + Some (NBET.embed er cb (f a))) + | _ -> None + +let nbe_int2 (m:lid) (f:'a -> 'b -> 'r) (ea:NBET.embedding 'a) (eb:NBET.embedding 'b) (er:NBET.embedding 'r) + (cb:NBET.nbe_cbs) (args : NBET.args) : option NBET.t = + match args with + | [(a, _); (b, _)] -> + BU.bind_opt (NBET.unembed ea cb a) (fun a -> + BU.bind_opt (NBET.unembed eb cb b) (fun b -> + Some (NBET.embed er cb (f a b)))) + | _ -> None + +let nbe_int3 (m:lid) (f:'a -> 'b -> 'c -> 'r) (ea:NBET.embedding 'a) (eb:NBET.embedding 'b) (ec:NBET.embedding 'c) (er:NBET.embedding 'r) + (cb:NBET.nbe_cbs) (args : NBET.args) : option NBET.t = + match args with + | [(a, _); (b, _); (c, _)] -> + BU.bind_opt (NBET.unembed ea cb a) (fun a -> + BU.bind_opt (NBET.unembed eb cb b) (fun b -> + BU.bind_opt (NBET.unembed ec cb c) (fun c -> + Some (NBET.embed er cb (f a b c))))) + | _ -> None + +let mklid (nm : string) : lid = fstar_refl_builtins_lid nm + +let mk_us (l : lid) (u_arity:int) (arity : int) + (fn : Cfg.psc -> EMB.norm_cb -> args -> option term) + (nbe_fn : NBET.nbe_cbs -> NBET.args -> option NBET.t) : Cfg.primitive_step + = + { Cfg.name = l + ; Cfg.arity = arity + ; Cfg.univ_arity = u_arity + ; Cfg.auto_reflect = None + ; Cfg.strong_reduction_ok = true + ; Cfg.requires_binder_substitution = false + ; Cfg.interpretation = (fun psc cbs _us args -> fn psc cbs args) + ; Cfg.interpretation_nbe = (fun cbs _us args -> nbe_fn cbs args) + } + +(* Most primitives are not universe polymorphic. *) +let mk l arity fn nbe_fn = mk_us l 0 arity fn nbe_fn + +(* + ** Packing both regular and NBE embedding in a single type, for brevity + ** in the table below. This should all be unfolded at F* initialization + ** time so it won't be a performance concern. + *) +type dualemb 'a = (EMB.embedding 'a & NBET.embedding 'a) + +let e_int : dualemb Z.t = (EMB.e_int, NBET.e_int) +let e_bool : dualemb bool = (EMB.e_bool, NBET.e_bool) +let e_string : dualemb string = (EMB.e_string, NBET.e_string) +let e_order : dualemb Order.order = (RE.e_order, NRE.e_order) + +let e_term : dualemb term = (RE.e_term, NRE.e_term) +let e_term_view : dualemb RD.term_view = (RE.e_term_view, NRE.e_term_view) +let e_fv : dualemb fv = (RE.e_fv, NRE.e_fv) +let e_bv : dualemb bv = (RE.e_bv, NRE.e_bv) +let e_namedv : dualemb RE.namedv = (RE.e_namedv, NRE.e_namedv) +let e_bv_view : dualemb RD.bv_view = (RE.e_bv_view, NRE.e_bv_view) +let e_namedv_view : dualemb RD.namedv_view = (RE.e_namedv_view, NRE.e_namedv_view) +let e_binding : dualemb RD.binding = (RE.e_binding, NRE.e_binding) +let e_comp : dualemb comp = (RE.e_comp, NRE.e_comp) +let e_comp_view : dualemb RD.comp_view = (RE.e_comp_view, NRE.e_comp_view) +let e_universe : dualemb universe = (RE.e_universe, NRE.e_universe) +let e_universe_view : dualemb RD.universe_view = (RE.e_universe_view, NRE.e_universe_view) +let e_sigelt : dualemb sigelt = (RE.e_sigelt, NRE.e_sigelt) +let e_sigelt_view : dualemb RD.sigelt_view = (RE.e_sigelt_view, NRE.e_sigelt_view) +let e_binder : dualemb binder = (RE.e_binder, NRE.e_binder) +let e_binder_view : dualemb RD.binder_view = (RE.e_binder_view, NRE.e_binder_view) +let e_binders : dualemb binders = (RE.e_binders, NRE.e_binders) + +let e_letbinding : dualemb letbinding = (RE.e_letbinding, NRE.e_letbinding) +let e_lb_view : dualemb RD.lb_view = (RE.e_lb_view, NRE.e_lb_view) +(* ^ Inconsistent naming with these.. but too long otherwise, and userspace has + * lb_view already. Probably not worth the fix. *) + +let e_env : dualemb Env.env = (RE.e_env, NRE.e_env) +let e_aqualv : dualemb RD.aqualv = (RE.e_aqualv, NRE.e_aqualv) +let e_vconfig : dualemb VConfig.vconfig = (EMB.e_vconfig, NBET.e_vconfig) +let e_attributes : dualemb (list attribute) = (RE.e_attributes, NRE.e_attributes) +let e_qualifiers : dualemb RD.qualifiers = (RE.e_qualifiers, NRE.e_qualifiers) +let e_range : dualemb Range.range = + (FStar.Syntax.Embeddings.e_range, FStar.TypeChecker.NBETerm.e_range) + +let nbe_dummy #a : NBET.embedding a = + let open FStar.Compiler.Effect in + NBET.mk_emb + (fun _ _ -> failwith "nbe_dummy embed") + (fun _ _ -> failwith "nbe_dummy unembed") + (NBET.mk_t NBET.Unknown) + ET_abstract + +let e_ident : dualemb Ident.ident = (RE.e_ident, nbe_dummy #Ident.ident) + +let e_subst : dualemb (list subst_elt) = (RE.e_subst, NRE.e_subst) + +let e_list (e : dualemb 'a) : dualemb (list 'a) = + (EMB.e_list (fst e), NBET.e_list (snd e)) + +let e_option (e : dualemb 'a) : dualemb (option 'a) = + (EMB.e_option (fst e), NBET.e_option (snd e)) + +let e_tuple2 (ea : dualemb 'a) (eb : dualemb 'b) : dualemb ('a & 'b) = + (EMB.e_tuple2 (fst ea) (fst eb), NBET.e_tuple2 (snd ea) (snd eb)) + +let e_string_list = e_list e_string + +(** Helpers to create a (total) primitive step from a function and embeddings. *) +let mk1' nm (f : 'a -> 'r) (ea : dualemb 'a) + (er : dualemb 'r): Cfg.primitive_step = + let l = mklid nm in + mk_us l 1 1 (int1 l f (fst ea) (fst er)) + (nbe_int1 l f (snd ea) (snd er)) + +let mk1 nm (f : 'a -> 'r) (ea : dualemb 'a) + (er : dualemb 'r): Cfg.primitive_step = + let l = mklid nm in + mk l 1 (int1 l f (fst ea) (fst er)) + (nbe_int1 l f (snd ea) (snd er)) + +let mk2 nm (f : 'a -> 'b -> 'r) (ea : dualemb 'a) (eb : dualemb 'b) + (er : dualemb 'r): Cfg.primitive_step = + let l = mklid nm in + mk l 2 (int2 l f (fst ea) (fst eb) (fst er)) + (nbe_int2 l f (snd ea) (snd eb) (snd er)) + +let mk3 nm (f : 'a -> 'b -> 'c -> 'r) (ea : dualemb 'a) (eb : dualemb 'b) (ec : dualemb 'c) + (er : dualemb 'r): Cfg.primitive_step = + let l = mklid nm in + mk l 3 (int3 l f (fst ea) (fst eb) (fst ec) (fst er)) + (nbe_int3 l f (snd ea) (snd eb) (snd ec) (snd er)) + +(* + * NOTE: all primitives must be carefully inspected to make sure they + * do not break the abstraction barrier imposed by the term_view. + * Otherwise, the pack_inspect_inv and inspect_pack_inv lemmas could + * likely be used to derive a contradiction. + * + * The way to go about adding new primitives is to implement them in the + * FStar.Reflection.V2.Builtins module and implement them using the (internal) + * inspect_ln and pack_ln functions, which means they should not break + * the view abstraction. + * + * _Any_ call to functions elsewhere, say term_to_string or + * Util.term_eq, will _very likely_ be inconsistent with the view. + * Exceptions to the "way to go" above should be well justified. + *) +let reflection_primops : list Cfg.primitive_step = [ + (****** Inspecting/packing various kinds of syntax ******) + mk1 "inspect_ln" + RB.inspect_ln + e_term + e_term_view; + + mk1 "pack_ln" + RB.pack_ln + e_term_view + e_term; + + mk1 "inspect_fv" + RB.inspect_fv + e_fv + e_string_list; + + mk1 "pack_fv" + RB.pack_fv + e_string_list + e_fv; + + mk1 "inspect_comp" + RB.inspect_comp + e_comp + e_comp_view; + + mk1 "pack_comp" + RB.pack_comp + e_comp_view + e_comp; + + mk1 "inspect_universe" + RB.inspect_universe + e_universe + e_universe_view; + + mk1 "pack_universe" + RB.pack_universe + e_universe_view + e_universe; + + mk1 "inspect_sigelt" + RB.inspect_sigelt + e_sigelt + e_sigelt_view; + + mk1 "pack_sigelt" + RB.pack_sigelt + e_sigelt_view + e_sigelt; + + mk1 "inspect_lb" + RB.inspect_lb + e_letbinding + e_lb_view; + + mk1 "pack_lb" + RB.pack_lb + e_lb_view + e_letbinding; + + mk1 "inspect_namedv" + RB.inspect_namedv + e_namedv + e_namedv_view; + + mk1 "pack_namedv" + RB.pack_namedv + e_namedv_view + e_namedv; + + mk1 "inspect_bv" + RB.inspect_bv + e_bv + e_bv_view; + + mk1 "pack_bv" + RB.pack_bv + e_bv_view + e_bv; + + (* TODO: Make this consistent with others? No good reason for it to be "exploded" *) + mk1 "inspect_binder" + RB.inspect_binder + e_binder + e_binder_view; + + mk1 "pack_binder" + RB.pack_binder + e_binder_view + e_binder; + + (****** Actual primitives ******) + + mk1 "sigelt_opts" + RB.sigelt_opts + e_sigelt + (e_option e_vconfig); + + (* This exposes the embedding of vconfig since it is useful to create attributes *) + mk1 "embed_vconfig" + RB.embed_vconfig + e_vconfig + e_term; + + mk1 "sigelt_attrs" + RB.sigelt_attrs + e_sigelt + e_attributes; + + mk2 "set_sigelt_attrs" + RB.set_sigelt_attrs + e_attributes e_sigelt + e_sigelt; + + mk1 "sigelt_quals" + RB.sigelt_quals + e_sigelt + e_qualifiers; + + mk2 "set_sigelt_quals" + RB.set_sigelt_quals + e_qualifiers e_sigelt + e_sigelt; + + mk2 "subst_term" + RB.subst_term + e_subst e_term e_term; + + mk2 "subst_comp" + RB.subst_comp + e_subst e_comp e_comp; + + mk2 "compare_bv" + RB.compare_bv + e_bv + e_bv + e_order; + + mk2 "compare_namedv" + RB.compare_namedv + e_namedv + e_namedv + e_order; + + mk2 "lookup_attr" + RB.lookup_attr + e_term + e_env + (e_list e_fv); + + mk1 "all_defs_in_env" + RB.all_defs_in_env + e_env + (e_list e_fv); + + mk2 "defs_in_module" + RB.defs_in_module + e_env + e_string_list + (e_list e_fv); + + mk2 "term_eq" + RB.term_eq + e_term e_term + e_bool; + + mk1 "moduleof" + RB.moduleof + e_env + e_string_list; + + mk1 "vars_of_env" + RB.vars_of_env + e_env + (e_list e_binding); + + mk2 "lookup_typ" + RB.lookup_typ + e_env + e_string_list + (e_option e_sigelt); + + mk1 "env_open_modules" + RB.env_open_modules + e_env + (e_list e_string_list); + + (* See note in ulib/FStar.Reflection.V2.Builints.fsti: we expose these + three to reduce dependencies. *) + mk1 "implode_qn" + RB.implode_qn + e_string_list + e_string; + + mk1 "explode_qn" + RB.explode_qn + e_string + e_string_list; + + mk2 "compare_string" + RB.compare_string + e_string e_string + e_int; + + mk2 "push_namedv" + RB.push_namedv + e_env + e_namedv + e_env; + + mk1 "range_of_term" + RB.range_of_term + e_term + e_range; + + mk1 "range_of_sigelt" + RB.range_of_sigelt + e_sigelt + e_range; + + mk1 "inspect_ident" + RB.inspect_ident + e_ident + (e_tuple2 e_string e_range); + + mk1 "pack_ident" + RB.pack_ident + (e_tuple2 e_string e_range) + e_ident; +] + +let _ = List.iter FStar.TypeChecker.Cfg.register_extra_step reflection_primops diff --git a/src/reflection/FStar.Reflection.V2.Interpreter.fsti b/src/reflection/FStar.Reflection.V2.Interpreter.fsti new file mode 100644 index 00000000000..8a0fd4e512c --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.Interpreter.fsti @@ -0,0 +1,20 @@ +(* + Copyright 2008-2022 Microsof 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.Reflection.V2.Interpreter + +module Cfg = FStar.TypeChecker.Cfg + +val reflection_primops : list Cfg.primitive_step diff --git a/src/reflection/FStar.Reflection.V2.NBEEmbeddings.fst b/src/reflection/FStar.Reflection.V2.NBEEmbeddings.fst new file mode 100644 index 00000000000..8ed9b203ae5 --- /dev/null +++ b/src/reflection/FStar.Reflection.V2.NBEEmbeddings.fst @@ -0,0 +1,1005 @@ +(* + Copyright 2008-2022 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.Reflection.V2.NBEEmbeddings +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Pervasives +open FStar.Reflection.V2.Data +open FStar.Syntax.Syntax +open FStar.TypeChecker.NBETerm +open FStar.Order +open FStar.Errors +open FStar.Compiler.Dyn +open FStar.Reflection.V2.Constants + +module BU = FStar.Compiler.Util +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module I = FStar.Ident +module NBETerm = FStar.TypeChecker.NBETerm +module O = FStar.Options +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module Range = FStar.Compiler.Range +module RD = FStar.Reflection.V2.Data +module S = FStar.Syntax.Syntax // TODO: remove, it's open +module SS = FStar.Syntax.Subst +module Thunk = FStar.Thunk +module U = FStar.Syntax.Util +module Z = FStar.BigInt + +(* + * embed : from compiler to user + * unembed : from user to compiler + *) + +let noaqs : antiquotations = (0, []) + +(* -------------------------------------------------------------------------------------- *) +(* ------------------------------------- EMBEDDINGS ------------------------------------- *) +(* -------------------------------------------------------------------------------------- *) + +(* PLEASE NOTE: Construct and FV accumulate their arguments BACKWARDS. That is, + * the expression (f 1 2) is stored as FV (f, [], [Constant (Int 2); Constant (Int 1)]. + * So be careful when calling mkFV/mkConstruct and matching on them. *) + +(* On that note, we use this (inefficient, FIXME) hack in this module *) +let mkFV fv us ts = mkFV fv (List.rev us) (List.rev ts) +let mkConstruct fv us ts = mkConstruct fv (List.rev us) (List.rev ts) +(* ^ We still need to match on them in reverse order though, so this is pretty dumb *) + +let fv_as_emb_typ fv = S.ET_app (FStar.Ident.string_of_lid fv.fv_name.v, []) +let mk_emb' x y fv = mk_emb x y (mkFV fv [] []) (fv_as_emb_typ fv) + +let mk_lazy cb obj ty kind = + let li = { + blob = FStar.Compiler.Dyn.mkdyn obj + ; lkind = kind + ; ltyp = ty + ; rng = Range.dummyRange + } + in + let thunk = Thunk.mk (fun () -> translate_cb cb (U.unfold_lazy li)) in + mk_t (Lazy (Inl li, thunk)) + +let e_bv = + let embed_bv cb (bv:bv) : t = + mk_lazy cb bv fstar_refl_bv Lazy_bv + in + let unembed_bv cb (t:t) : option bv = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_bv}, _) -> + Some <| FStar.Compiler.Dyn.undyn b + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded bv: %s" (t_to_string t))); + None + in + mk_emb' embed_bv unembed_bv fstar_refl_bv_fv + +let e_namedv = + let embed_namedv cb (namedv:namedv) : t = + mk_lazy cb namedv fstar_refl_namedv Lazy_namedv + in + let unembed_namedv cb (t:t) : option namedv = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_namedv}, _) -> + Some <| FStar.Compiler.Dyn.undyn b + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded namedv: %s" (t_to_string t))); + None + in + mk_emb' embed_namedv unembed_namedv fstar_refl_namedv_fv + +let e_binder = + let embed_binder cb (b:binder) : t = + mk_lazy cb b fstar_refl_binder Lazy_binder + in + let unembed_binder cb (t:t) : option binder = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_binder}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded binder: %s" (t_to_string t))); + None + in + mk_emb' embed_binder unembed_binder fstar_refl_binder_fv + +let rec mapM_opt (f : ('a -> option 'b)) (l : list 'a) : option (list 'b) = + match l with + | [] -> Some [] + | x::xs -> + BU.bind_opt (f x) (fun x -> + BU.bind_opt (mapM_opt f xs) (fun xs -> + Some (x :: xs))) + +let e_term_aq aq = + let embed_term cb (t:term) : NBETerm.t = + let qi = { qkind = Quote_static; antiquotations = aq } in + mk_t (NBETerm.Quote (t, qi)) + in + let unembed_term cb (t:NBETerm.t) : option term = + match t.nbe_t with + | NBETerm.Quote (tm, qi) -> + (* Just reuse the code from Reflection *) + Syntax.Embeddings.unembed (Reflection.V2.Embeddings.e_term_aq (0, [])) (S.mk (Tm_quoted (tm, qi)) Range.dummyRange) Syntax.Embeddings.id_norm_cb + | _ -> + None + in + { NBETerm.em = embed_term + ; NBETerm.un = unembed_term + ; NBETerm.typ = mkFV fstar_refl_term_fv [] [] + ; NBETerm.emb_typ = fv_as_emb_typ fstar_refl_term_fv } + +let e_term = e_term_aq (0, []) + +let e_aqualv = + let embed_aqualv cb (q : aqualv) : t = + match q with + | Data.Q_Explicit -> mkConstruct ref_Q_Explicit.fv [] [] + | Data.Q_Implicit -> mkConstruct ref_Q_Implicit.fv [] [] + | Data.Q_Meta t -> mkConstruct ref_Q_Meta.fv [] [as_arg (embed e_term cb t)] + in + let unembed_aqualv cb (t : t) : option aqualv = + match t.nbe_t with + | Construct (fv, [], []) when S.fv_eq_lid fv ref_Q_Explicit.lid -> Some Data.Q_Explicit + | Construct (fv, [], []) when S.fv_eq_lid fv ref_Q_Implicit.lid -> Some Data.Q_Implicit + | Construct (fv, [], [(t, _)]) when S.fv_eq_lid fv ref_Q_Meta.lid -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some (Data.Q_Meta t)) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded aqualv: %s" (t_to_string t))); + None + in + mk_emb embed_aqualv unembed_aqualv + (mkConstruct fstar_refl_aqualv_fv [] []) + (fv_as_emb_typ fstar_refl_aqualv_fv) + +let e_binders = e_list e_binder + +let e_fv = + let embed_fv cb (fv:fv) : t = + mk_lazy cb fv fstar_refl_fv Lazy_fvar + in + let unembed_fv cb (t:t) : option fv = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_fvar}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded fvar: %s" (t_to_string t))); + None + in + mk_emb' embed_fv unembed_fv fstar_refl_fv_fv + +let e_comp = + let embed_comp cb (c:S.comp) : t = + mk_lazy cb c fstar_refl_comp Lazy_comp + in + let unembed_comp cb (t:t) : option S.comp = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_comp}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded comp: %s" (t_to_string t))); + None + in + mk_emb' embed_comp unembed_comp fstar_refl_comp_fv + +let e_env = + let embed_env cb (e:Env.env) : t = + mk_lazy cb e fstar_refl_env Lazy_env + in + let unembed_env cb (t:t) : option Env.env = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_env}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded env: %s" (t_to_string t))); + None + in + mk_emb' embed_env unembed_env fstar_refl_env_fv + +let e_vconst = + let embed_const cb (c:vconst) : t = + match c with + | C_Unit -> mkConstruct ref_C_Unit.fv [] [] + | C_True -> mkConstruct ref_C_True.fv [] [] + | C_False -> mkConstruct ref_C_False.fv [] [] + | C_Int i -> mkConstruct ref_C_Int.fv [] [as_arg (mk_t <| Constant (Int i))] + | C_String s -> mkConstruct ref_C_String.fv [] [as_arg (embed e_string cb s)] + | C_Range r -> mkConstruct ref_C_Range.fv [] [as_arg (embed e_range cb r)] + | C_Reify -> mkConstruct ref_C_Reify.fv [] [] + | C_Reflect ns -> mkConstruct ref_C_Reflect.fv [] [as_arg (embed e_string_list cb ns)] + in + let unembed_const cb (t:t) : option vconst = + match t.nbe_t with + | Construct (fv, [], []) when S.fv_eq_lid fv ref_C_Unit.lid -> + Some C_Unit + + | Construct (fv, [], []) when S.fv_eq_lid fv ref_C_True.lid -> + Some C_True + + | Construct (fv, [], []) when S.fv_eq_lid fv ref_C_False.lid -> + Some C_False + + | Construct (fv, [], [(i, _)]) when S.fv_eq_lid fv ref_C_Int.lid -> + BU.bind_opt (unembed e_int cb i) (fun i -> + Some <| C_Int i) + + | Construct (fv, [], [(s, _)]) when S.fv_eq_lid fv ref_C_String.lid -> + BU.bind_opt (unembed e_string cb s) (fun s -> + Some <| C_String s) + + | Construct (fv, [], [(r, _)]) when S.fv_eq_lid fv ref_C_Range.lid -> + BU.bind_opt (unembed e_range cb r) (fun r -> + Some <| C_Range r) + + | Construct (fv, [], []) when S.fv_eq_lid fv ref_C_Reify.lid -> + Some C_Reify + + | Construct (fv, [], [(ns, _)]) when S.fv_eq_lid fv ref_C_Reflect.lid -> + BU.bind_opt (unembed e_string_list cb ns) (fun ns -> + Some <| C_Reflect ns) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded vconst: %s" (t_to_string t))); + None + in + mk_emb' embed_const unembed_const fstar_refl_vconst_fv + +let e_universe = + let embed_universe cb (u:universe) : t = + mk_lazy cb u fstar_refl_universe Lazy_universe in + let unembed_universe cb (t:t) : option S.universe = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_universe}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange + (Err.Warning_NotEmbedded, + (BU.format1 "Not an embedded universe: %s" (t_to_string t))); + None + in + mk_emb' embed_universe unembed_universe fstar_refl_universe_fv + +let rec e_pattern_aq aq = + let embed_pattern cb (p : pattern) : t = + match p with + | Pat_Constant c -> + mkConstruct ref_Pat_Constant.fv [] [as_arg (embed e_vconst cb c)] + | Pat_Cons fv us_opt ps -> + mkConstruct ref_Pat_Cons.fv [] + [as_arg (embed e_fv cb fv); + as_arg (embed (e_option (e_list e_universe)) cb us_opt); + as_arg (embed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) cb ps)] + | Pat_Var sort ppname -> + mkConstruct ref_Pat_Var.fv [] [as_arg (embed (e_sealed e_term) cb sort); as_arg (embed (e_sealed e_string) cb ppname)] + | Pat_Dot_Term eopt -> + mkConstruct ref_Pat_Dot_Term.fv [] [as_arg (embed (e_option e_term) cb eopt)] + in + let unembed_pattern cb (t : t) : option pattern = + match t.nbe_t with + | Construct (fv, [], [(c, _)]) when S.fv_eq_lid fv ref_Pat_Constant.lid -> + BU.bind_opt (unembed e_vconst cb c) (fun c -> + Some <| Pat_Constant c) + + | Construct (fv, [], [(ps, _); (us_opt, _); (f, _)]) when S.fv_eq_lid fv ref_Pat_Cons.lid -> + BU.bind_opt (unembed e_fv cb f) (fun f -> + BU.bind_opt (unembed (e_option (e_list e_universe)) cb us_opt) (fun us -> + BU.bind_opt (unembed (e_list (e_tuple2 (e_pattern_aq aq) e_bool)) cb ps) (fun ps -> + Some <| Pat_Cons f us ps))) + + | Construct (fv, [], [(ppname, _); (sort, _)]) when S.fv_eq_lid fv ref_Pat_Var.lid -> + BU.bind_opt (unembed (e_sealed e_term) cb sort) (fun sort -> + BU.bind_opt (unembed (e_sealed e_string) cb ppname) (fun ppname -> + Some <| Pat_Var sort ppname)) + + | Construct (fv, [], [(eopt, _)]) when S.fv_eq_lid fv ref_Pat_Dot_Term.lid -> + BU.bind_opt (unembed (e_option e_term) cb eopt) (fun eopt -> + Some <| Pat_Dot_Term eopt) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded pattern: %s" (t_to_string t))); + None + in + mk_emb' embed_pattern unembed_pattern fstar_refl_pattern_fv + +let e_pattern = e_pattern_aq noaqs + +let e_branch = e_tuple2 e_pattern e_term +let e_argv = e_tuple2 e_term e_aqualv + +let e_branch_aq aq = e_tuple2 (e_pattern_aq aq) (e_term_aq aq) +let e_argv_aq aq = e_tuple2 (e_term_aq aq) e_aqualv + +let e_match_returns_annotation = + e_option (e_tuple2 e_binder + (e_tuple3 (e_either e_term e_comp) (e_option e_term) e_bool)) + +let unlazy_as_t k t = + match t.nbe_t with + | Lazy (Inl {lkind=k'; blob=v}, _) + when U.eq_lazy_kind k k' -> + FStar.Compiler.Dyn.undyn v + | _ -> + failwith "Not a Lazy of the expected kind (NBE)" + +let e_ident : embedding I.ident = + let embed_ident cb (se:I.ident) : t = + mk_lazy cb se fstar_refl_ident Lazy_ident + in + let unembed_ident cb (t:t) : option I.ident = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_ident}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded ident: %s" (t_to_string t))); + None + in + mk_emb' embed_ident unembed_ident fstar_refl_ident_fv +let e_univ_name = e_ident +let e_univ_names = e_list e_univ_name + +let e_universe_view = + let embed_universe_view cb (uv:universe_view) : t = + match uv with + | Uv_Zero -> mkConstruct ref_Uv_Zero.fv [] [] + | Uv_Succ u -> + mkConstruct + ref_Uv_Succ.fv + [] + [as_arg (embed e_universe cb u)] + | Uv_Max us -> + mkConstruct + ref_Uv_Max.fv + [] + [as_arg (embed (e_list e_universe) cb us)] + | Uv_BVar n -> + mkConstruct + ref_Uv_BVar.fv + [] + [as_arg (embed e_int cb n)] + | Uv_Name i -> + mkConstruct + ref_Uv_Name.fv + [] + [as_arg (embed e_ident cb i)] + | Uv_Unif u -> + mkConstruct + ref_Uv_Unif.fv + [] + [as_arg (mk_lazy cb u U.t_universe_uvar Lazy_universe_uvar)] + | Uv_Unk -> mkConstruct ref_Uv_Unk.fv [] [] in + + let unembed_universe_view cb (t:t) : option universe_view = + match t.nbe_t with + | Construct (fv, _, []) when S.fv_eq_lid fv ref_Uv_Zero.lid -> Some Uv_Zero + | Construct (fv, _, [u, _]) when S.fv_eq_lid fv ref_Uv_Succ.lid -> + BU.bind_opt (unembed e_universe cb u) (fun u -> u |> Uv_Succ |> Some) + | Construct (fv, _, [us, _]) when S.fv_eq_lid fv ref_Uv_Max.lid -> + BU.bind_opt (unembed (e_list e_universe) cb us) (fun us -> us |> Uv_Max |> Some) + | Construct (fv, _, [n, _]) when S.fv_eq_lid fv ref_Uv_BVar.lid -> + BU.bind_opt (unembed e_int cb n) (fun n -> n |> Uv_BVar |> Some) + | Construct (fv, _, [i, _]) when S.fv_eq_lid fv ref_Uv_Name.lid -> + BU.bind_opt (unembed e_ident cb i) (fun i -> i |> Uv_Name |> Some) + | Construct (fv, _, [u, _]) when S.fv_eq_lid fv ref_Uv_Unif.lid -> + let u : universe_uvar = unlazy_as_t Lazy_universe_uvar u in + u |> Uv_Unif |> Some + | Construct (fv, _, []) when S.fv_eq_lid fv ref_Uv_Unk.lid -> Some Uv_Unk + | _ -> + Err.log_issue Range.dummyRange + (Err.Warning_NotEmbedded, + (BU.format1 "Not an embedded universe view: %s" (t_to_string t))); + None in + + mk_emb' embed_universe_view unembed_universe_view fstar_refl_universe_view_fv + +let e_subst_elt = + let embed_const cb (e:subst_elt) : t = + match e with + | DB (i, x) -> mkConstruct ref_DB.fv [] [as_arg (embed e_int cb (Z.of_int_fs i)); as_arg (embed e_namedv cb x)] + | NM (x, i) -> mkConstruct ref_NM.fv [] [as_arg (embed e_namedv cb x); as_arg (embed e_int cb (Z.of_int_fs i))] + | NT (x, t) -> mkConstruct ref_NT.fv [] [as_arg (embed e_namedv cb x); as_arg (embed e_term cb t)] + | UN (i, u) -> mkConstruct ref_UN.fv [] [as_arg (embed e_int cb (Z.of_int_fs i)); as_arg (embed e_universe cb u)] + | UD (n, i) -> mkConstruct ref_UD.fv [] [as_arg (embed e_univ_name cb n); as_arg (embed e_int cb (Z.of_int_fs i))] + in + let unembed_const cb (t:t) : option subst_elt = + match t.nbe_t with + | Construct (fv, [], [(x, _); (i, _)]) when S.fv_eq_lid fv ref_DB.lid -> + BU.bind_opt (unembed e_int cb i) (fun i -> + BU.bind_opt (unembed e_namedv cb x) (fun x -> + Some <| DB (Z.to_int_fs i, x))) + | Construct (fv, [], [(i, _); (x, _)]) when S.fv_eq_lid fv ref_NM.lid -> + BU.bind_opt (unembed e_namedv cb x) (fun x -> + BU.bind_opt (unembed e_int cb i) (fun i -> + Some <| NM (x, Z.to_int_fs i))) + | Construct (fv, [], [(t, _); (x, _)]) when S.fv_eq_lid fv ref_NT.lid -> + BU.bind_opt (unembed e_namedv cb x) (fun x -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| NT (x, t))) + | Construct (fv, [], [(u, _); (i, _)]) when S.fv_eq_lid fv ref_UN.lid -> + BU.bind_opt (unembed e_int cb i) (fun i -> + BU.bind_opt (unembed e_universe cb u) (fun u -> + Some <| UN (Z.to_int_fs i, u))) + | Construct (fv, [], [(i, _); (n, _)]) when S.fv_eq_lid fv ref_UD.lid -> + BU.bind_opt (unembed e_univ_name cb n) (fun n -> + BU.bind_opt (unembed e_int cb i) (fun i -> + Some <| UD (n, Z.to_int_fs i))) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded vconst: %s" (t_to_string t))); + None + in + mk_emb' embed_const unembed_const fstar_refl_subst_elt_fv + +let e_subst = e_list e_subst_elt + +let e_term_view_aq aq = + let shift (s, aqs) = (s + 1, aqs) in + let embed_term_view cb (tv:term_view) : t = + match tv with + | Tv_FVar fv -> + mkConstruct ref_Tv_FVar.fv [] [as_arg (embed e_fv cb fv)] + + | Tv_BVar bv -> + mkConstruct ref_Tv_BVar.fv [] [as_arg (embed e_bv cb bv)] + + | Tv_Var bv -> + mkConstruct ref_Tv_Var.fv [] [as_arg (embed e_bv cb bv)] + + | Tv_UInst (fv, us) -> + mkConstruct ref_Tv_UInst.fv [] + [as_arg (embed e_fv cb fv); + as_arg (embed (e_list e_universe) cb us)] + + | Tv_App (hd, a) -> + mkConstruct ref_Tv_App.fv [] [as_arg (embed (e_term_aq aq) cb hd); as_arg (embed (e_argv_aq aq) cb a)] + + | Tv_Abs (b, t) -> + mkConstruct ref_Tv_Abs.fv [] [as_arg (embed e_binder cb b); as_arg (embed (e_term_aq (shift aq)) cb t)] + + | Tv_Arrow (b, c) -> + mkConstruct ref_Tv_Arrow.fv [] [as_arg (embed e_binder cb b); as_arg (embed e_comp cb c)] + + | Tv_Type u -> + mkConstruct ref_Tv_Type.fv [] [as_arg (embed e_universe cb u)] + + | Tv_Refine (b, t) -> + mkConstruct ref_Tv_Refine.fv [] [as_arg (embed e_binder cb b); + as_arg (embed (e_term_aq (shift aq)) cb t)] + + | Tv_Const c -> + mkConstruct ref_Tv_Const.fv [] [as_arg (embed e_vconst cb c)] + + | Tv_Uvar (u, d) -> + mkConstruct ref_Tv_Uvar.fv [] [as_arg (embed e_int cb u); as_arg (mk_lazy cb (u,d) U.t_ctx_uvar_and_sust Lazy_uvar)] + + | Tv_Let (r, attrs, b, t1, t2) -> + mkConstruct ref_Tv_Let.fv [] [as_arg (embed e_bool cb r); + as_arg (embed (e_list e_term) cb attrs); + as_arg (embed e_binder cb b); + as_arg (embed (e_term_aq aq) cb t1); + as_arg (embed (e_term_aq (shift aq)) cb t2)] + + | Tv_Match (t, ret_opt, brs) -> + mkConstruct ref_Tv_Match.fv [] [ + as_arg (embed (e_term_aq aq) cb t); + as_arg (embed e_match_returns_annotation cb ret_opt); + as_arg (embed (e_list (e_branch_aq aq)) cb brs)] + + | Tv_AscribedT (e, t, tacopt, use_eq) -> + mkConstruct ref_Tv_AscT.fv [] + [as_arg (embed (e_term_aq aq) cb e); + as_arg (embed (e_term_aq aq) cb t); + as_arg (embed (e_option (e_term_aq aq)) cb tacopt); + as_arg (embed e_bool cb use_eq)] + + | Tv_AscribedC (e, c, tacopt, use_eq) -> + mkConstruct ref_Tv_AscT.fv [] + [as_arg (embed (e_term_aq aq) cb e); + as_arg (embed e_comp cb c); + as_arg (embed (e_option (e_term_aq aq)) cb tacopt); + as_arg (embed e_bool cb use_eq)] + + | Tv_Unknown -> mkConstruct ref_Tv_Unknown.fv [] [] + + | Tv_Unsupp -> mkConstruct ref_Tv_Unsupp.fv [] [] + in + let unembed_term_view cb (t:t) : option term_view = + match t.nbe_t with + | Construct (fv, _, [(b, _)]) when S.fv_eq_lid fv ref_Tv_Var.lid -> + BU.bind_opt (unembed e_bv cb b) (fun b -> + Some <| Tv_Var b) + + | Construct (fv, _, [(b, _)]) when S.fv_eq_lid fv ref_Tv_BVar.lid -> + BU.bind_opt (unembed e_bv cb b) (fun b -> + Some <| Tv_BVar b) + + | Construct (fv, _, [(f, _)]) when S.fv_eq_lid fv ref_Tv_FVar.lid -> + BU.bind_opt (unembed e_fv cb f) (fun f -> + Some <| Tv_FVar f) + + | Construct (fv, _, [(f, _); (us, _)]) when S.fv_eq_lid fv ref_Tv_UInst.lid -> + BU.bind_opt (unembed e_fv cb f) (fun f -> + BU.bind_opt (unembed (e_list e_universe) cb us) (fun us -> + Some <| Tv_UInst (f, us))) + + | Construct (fv, _, [(r, _); (l, _)]) when S.fv_eq_lid fv ref_Tv_App.lid -> + BU.bind_opt (unembed e_term cb l) (fun l -> + BU.bind_opt (unembed e_argv cb r) (fun r -> + Some <| Tv_App (l, r))) + + | Construct (fv, _, [(t, _); (b, _)]) when S.fv_eq_lid fv ref_Tv_Abs.lid -> + BU.bind_opt (unembed e_binder cb b) (fun b -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| Tv_Abs (b, t))) + + | Construct (fv, _, [(t, _); (b, _)]) when S.fv_eq_lid fv ref_Tv_Arrow.lid -> + BU.bind_opt (unembed e_binder cb b) (fun b -> + BU.bind_opt (unembed e_comp cb t) (fun c -> + Some <| Tv_Arrow (b, c))) + + | Construct (fv, _, [(u, _)]) when S.fv_eq_lid fv ref_Tv_Type.lid -> + BU.bind_opt (unembed e_universe cb u) (fun u -> + Some <| Tv_Type u) + + | Construct (fv, _, [(t, _); (b, _)]) when S.fv_eq_lid fv ref_Tv_Refine.lid -> + BU.bind_opt (unembed e_binder cb b) (fun b -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| Tv_Refine (b, t))) + + | Construct (fv, _, [(c, _)]) when S.fv_eq_lid fv ref_Tv_Const.lid -> + BU.bind_opt (unembed e_vconst cb c) (fun c -> + Some <| Tv_Const c) + + | Construct (fv, _, [(l, _); (u, _)]) when S.fv_eq_lid fv ref_Tv_Uvar.lid -> + BU.bind_opt (unembed e_int cb u) (fun u -> + let ctx_u_s : ctx_uvar_and_subst = unlazy_as_t Lazy_uvar l in + Some <| Tv_Uvar (u, ctx_u_s)) + + | Construct (fv, _, [(t2, _); (t1, _); (b, _); (attrs, _); (r, _)]) when S.fv_eq_lid fv ref_Tv_Let.lid -> + BU.bind_opt (unembed e_bool cb r) (fun r -> + BU.bind_opt (unembed (e_list e_term) cb attrs) (fun attrs -> + BU.bind_opt (unembed e_binder cb b) (fun b -> + BU.bind_opt (unembed e_term cb t1) (fun t1 -> + BU.bind_opt (unembed e_term cb t2) (fun t2 -> + Some <| Tv_Let (r, attrs, b, t1, t2)))))) + + | Construct (fv, _, [(brs, _); (ret_opt, _); (t, _)]) when S.fv_eq_lid fv ref_Tv_Match.lid -> + BU.bind_opt (unembed e_term cb t) (fun t -> + BU.bind_opt (unembed (e_list e_branch) cb brs) (fun brs -> + BU.bind_opt (unembed e_match_returns_annotation cb ret_opt) (fun ret_opt -> + Some <| Tv_Match (t, ret_opt, brs)))) + + | Construct (fv, _, [(tacopt, _); (t, _); (e, _); (use_eq, _)]) when S.fv_eq_lid fv ref_Tv_AscT.lid -> + BU.bind_opt (unembed e_term cb e) (fun e -> + BU.bind_opt (unembed e_term cb t) (fun t -> + BU.bind_opt (unembed (e_option e_term) cb tacopt) (fun tacopt -> + BU.bind_opt (unembed e_bool cb use_eq) (fun use_eq -> + Some <| Tv_AscribedT (e, t, tacopt, use_eq))))) + + | Construct (fv, _, [(tacopt, _); (c, _); (e, _); (use_eq, _)]) when S.fv_eq_lid fv ref_Tv_AscC.lid -> + BU.bind_opt (unembed e_term cb e) (fun e -> + BU.bind_opt (unembed e_comp cb c) (fun c -> + BU.bind_opt (unembed (e_option e_term) cb tacopt) (fun tacopt -> + BU.bind_opt (unembed e_bool cb use_eq) (fun use_eq -> + Some <| Tv_AscribedC (e, c, tacopt, use_eq))))) + + | Construct (fv, _, []) when S.fv_eq_lid fv ref_Tv_Unknown.lid -> + Some <| Tv_Unknown + + | Construct (fv, _, []) when S.fv_eq_lid fv ref_Tv_Unsupp.lid -> + Some <| Tv_Unsupp + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded term_view: %s" (t_to_string t))); + None + in + mk_emb' embed_term_view unembed_term_view fstar_refl_term_view_fv + +let e_term_view = e_term_view_aq (0, []) + +let e_namedv_view = + let embed_namedv_view cb (namedvv:namedv_view) : t = + mkConstruct ref_Mk_namedv_view.fv [] [ + as_arg (embed e_int cb namedvv.uniq); + as_arg (embed (e_sealed e_string) cb namedvv.ppname); + as_arg (embed e_term cb namedvv.sort); + ] + in + let unembed_namedv_view cb (t : t) : option namedv_view = + match t.nbe_t with + | Construct (fv, _, [(sort, _); (ppname, _); (uniq, _)]) when S.fv_eq_lid fv ref_Mk_namedv_view.lid -> + BU.bind_opt (unembed e_int cb uniq) (fun uniq -> + BU.bind_opt (unembed (e_sealed e_string) cb ppname) (fun ppname -> + BU.bind_opt (unembed e_term cb sort) (fun sort -> + let r : namedv_view = { ppname = ppname; uniq = uniq ; sort=sort } in + Some r))) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded namedv_view: %s" (t_to_string t))); + None + in + mk_emb' embed_namedv_view unembed_namedv_view fstar_refl_namedv_view_fv + +let e_bv_view = + let embed_bv_view cb (bvv:bv_view) : t = + mkConstruct ref_Mk_bv_view.fv [] [ + as_arg (embed e_int cb bvv.index); + as_arg (embed (e_sealed e_string) cb bvv.ppname); + as_arg (embed e_term cb bvv.sort); + ] + in + let unembed_bv_view cb (t : t) : option bv_view = + match t.nbe_t with + | Construct (fv, _, [(sort, _); (ppname, _); (idx, _)]) when S.fv_eq_lid fv ref_Mk_bv_view.lid -> + BU.bind_opt (unembed e_int cb idx) (fun idx -> + BU.bind_opt (unembed (e_sealed e_string) cb ppname) (fun ppname -> + BU.bind_opt (unembed e_term cb sort) (fun sort -> + let r : bv_view = { ppname = ppname; index = idx; sort=sort } in + Some r))) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded bv_view: %s" (t_to_string t))); + None + in + mk_emb' embed_bv_view unembed_bv_view fstar_refl_bv_view_fv + +let e_attribute = e_term +let e_attributes = e_list e_attribute + +let e_binding = + let embed cb (b:RD.binding) : t = + mkConstruct ref_Mk_binding.fv [] [ + as_arg (embed e_int cb b.uniq); + as_arg (embed e_term cb b.sort); + as_arg (embed (e_sealed e_string) cb b.ppname); + ] + in + let unembed cb (t:t) : option RD.binding = + match t.nbe_t with + | Construct (fv, _, [(ppname, _); (sort, _); (uniq, _)]) + when S.fv_eq_lid fv ref_Mk_binding.lid -> + BU.bind_opt (unembed e_int cb uniq) (fun uniq -> + BU.bind_opt (unembed e_term cb sort) (fun sort -> + BU.bind_opt (unembed (e_sealed e_string) cb ppname) (fun ppname -> + let r : RD.binding = {uniq=uniq; ppname=ppname; sort=sort} in + Some r))) + in + mk_emb' embed unembed fstar_refl_binding_fv + +let e_binder_view = + let embed_binder_view cb (bview:binder_view) : t = + mkConstruct ref_Mk_binder_view.fv [] [ + as_arg (embed e_term cb bview.sort); + as_arg (embed e_aqualv cb bview.qual); + as_arg (embed e_attributes cb bview.attrs); + as_arg (embed (e_sealed e_string) cb bview.ppname); + ] in + + let unembed_binder_view cb (t:t) : option binder_view = + match t.nbe_t with + | Construct (fv, _, [(ppname, _); (attrs, _); (q, _); (sort, _)]) + when S.fv_eq_lid fv ref_Mk_binder_view.lid -> + BU.bind_opt (unembed e_term cb sort) (fun sort -> + BU.bind_opt (unembed e_aqualv cb q) (fun q -> + BU.bind_opt (unembed e_attributes cb attrs) (fun attrs -> + BU.bind_opt (unembed (e_sealed e_string) cb ppname) (fun ppname -> + let r : binder_view = {ppname=ppname; qual=q; attrs=attrs; sort=sort} in + Some r)))) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded binder_view: %s" (t_to_string t))); + None + in + mk_emb' embed_binder_view unembed_binder_view fstar_refl_binder_view_fv + +let e_comp_view = + let embed_comp_view cb (cv : comp_view) : t = + match cv with + | C_Total t -> + mkConstruct ref_C_Total.fv [] [ + as_arg (embed e_term cb t)] + + | C_GTotal t -> + mkConstruct ref_C_GTotal.fv [] [ + as_arg (embed e_term cb t)] + + | C_Lemma (pre, post, pats) -> + mkConstruct ref_C_Lemma.fv [] [as_arg (embed e_term cb pre); as_arg (embed e_term cb post); as_arg (embed e_term cb pats)] + + | C_Eff (us, eff, res, args, decrs) -> + mkConstruct ref_C_Eff.fv [] + [ as_arg (embed (e_list e_universe) cb us) + ; as_arg (embed e_string_list cb eff) + ; as_arg (embed e_term cb res) + ; as_arg (embed (e_list e_argv) cb args) + ; as_arg (embed (e_list e_term) cb decrs)] + in + let unembed_comp_view cb (t : t) : option comp_view = + match t.nbe_t with + | Construct (fv, _, [(t, _)]) + when S.fv_eq_lid fv ref_C_Total.lid -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| C_Total t) + + | Construct (fv, _, [(t, _)]) + when S.fv_eq_lid fv ref_C_GTotal.lid -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| C_GTotal t) + + | Construct (fv, _, [(post, _); (pre, _); (pats, _)]) when S.fv_eq_lid fv ref_C_Lemma.lid -> + BU.bind_opt (unembed e_term cb pre) (fun pre -> + BU.bind_opt (unembed e_term cb post) (fun post -> + BU.bind_opt (unembed e_term cb pats) (fun pats -> + Some <| C_Lemma (pre, post, pats)))) + + | Construct (fv, _, [(decrs, _); (args, _); (res, _); (eff, _); (us, _)]) + when S.fv_eq_lid fv ref_C_Eff.lid -> + BU.bind_opt (unembed (e_list e_universe) cb us) (fun us -> + BU.bind_opt (unembed e_string_list cb eff) (fun eff -> + BU.bind_opt (unembed e_term cb res) (fun res-> + BU.bind_opt (unembed (e_list e_argv) cb args) (fun args -> + BU.bind_opt (unembed (e_list e_term) cb decrs) (fun decrs -> + Some <| C_Eff (us, eff, res, args, decrs)))))) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded comp_view: %s" (t_to_string t))); + None + in + mk_emb' embed_comp_view unembed_comp_view fstar_refl_comp_view_fv + + +(* TODO: move to, Syntax.Embeddings or somewhere better even *) +let e_order = + let embed_order cb (o:order) : t = + match o with + | Lt -> mkConstruct ord_Lt_fv [] [] + | Eq -> mkConstruct ord_Eq_fv [] [] + | Gt -> mkConstruct ord_Gt_fv [] [] + in + let unembed_order cb (t:t) : option order = + match t.nbe_t with + | Construct (fv, _, []) when S.fv_eq_lid fv ord_Lt_lid -> Some Lt + | Construct (fv, _, []) when S.fv_eq_lid fv ord_Eq_lid -> Some Eq + | Construct (fv, _, []) when S.fv_eq_lid fv ord_Gt_lid -> Some Gt + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded order: %s" (t_to_string t))); + None + in + mk_emb' embed_order unembed_order (lid_as_fv PC.order_lid None) + +let e_sigelt = + let embed_sigelt cb (se:sigelt) : t = + mk_lazy cb se fstar_refl_sigelt Lazy_sigelt + in + let unembed_sigelt cb (t:t) : option sigelt = + match t.nbe_t with + | Lazy (Inl {blob=b; lkind=Lazy_sigelt}, _) -> + Some (undyn b) + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded sigelt: %s" (t_to_string t))); + None + in + mk_emb' embed_sigelt unembed_sigelt fstar_refl_sigelt_fv + +let e_string_list = e_list e_string + +let e_ctor = e_tuple2 e_string_list e_term + +let e_lb_view = + let embed_lb_view cb (lbv:lb_view) : t = + mkConstruct ref_Mk_lb.fv [] [as_arg (embed e_fv cb lbv.lb_fv); + as_arg (embed e_univ_names cb lbv.lb_us); + as_arg (embed e_term cb lbv.lb_typ); + as_arg (embed e_term cb lbv.lb_def)] + in + let unembed_lb_view cb (t : t) : option lb_view = + match t.nbe_t with + | Construct (fv, _, [(fv', _); (us, _); (typ, _); (def,_)]) + when S.fv_eq_lid fv ref_Mk_lb.lid -> + BU.bind_opt (unembed e_fv cb fv') (fun fv' -> + BU.bind_opt (unembed e_univ_names cb us) (fun us -> + BU.bind_opt (unembed e_term cb typ) (fun typ -> + BU.bind_opt (unembed e_term cb def) (fun def -> + Some <| + { lb_fv = fv'; lb_us = us; lb_typ = typ; lb_def = def })))) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded lb_view: %s" (t_to_string t))); + None + in + mk_emb' embed_lb_view unembed_lb_view fstar_refl_lb_view_fv + +(* embeds as a string list *) +let e_lid : embedding I.lid = + let embed rng lid : t = + embed e_string_list rng (I.path_of_lid lid) + in + let unembed cb (t : t) : option I.lid = + BU.map_opt (unembed e_string_list cb t) (fun p -> I.lid_of_path p Range.dummyRange) + in + mk_emb embed unembed + (mkConstruct fstar_refl_aqualv_fv [] []) + (fv_as_emb_typ fstar_refl_aqualv_fv) + +let e_letbinding = + let embed_letbinding cb (lb:letbinding) : t = + mk_lazy cb lb fstar_refl_letbinding Lazy_letbinding + in + let unembed_letbinding cb (t : t) : option letbinding = + match t.nbe_t with + | Lazy (Inl {blob=lb; lkind=Lazy_letbinding}, _) -> + Some (undyn lb) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded letbinding: %s" (t_to_string t))); + None + in + mk_emb' embed_letbinding unembed_letbinding fstar_refl_letbinding_fv + +let e_sigelt_view = + let embed_sigelt_view cb (sev:sigelt_view) : t = + match sev with + | Sg_Let (r, lbs) -> + mkConstruct ref_Sg_Let.fv [] [as_arg (embed e_bool cb r); + as_arg (embed (e_list e_letbinding) cb lbs)] + + | Sg_Inductive (nm, univs, bs, t, dcs) -> + mkConstruct ref_Sg_Inductive.fv [] [as_arg (embed e_string_list cb nm); + as_arg (embed e_univ_names cb univs); + as_arg (embed e_binders cb bs); + as_arg (embed e_term cb t); + as_arg (embed (e_list e_ctor) cb dcs)] + + | Sg_Val (nm, univs, t) -> + mkConstruct ref_Sg_Val.fv [] + [as_arg (embed e_string_list cb nm); + as_arg (embed e_univ_names cb univs); + as_arg (embed e_term cb t)] + + | Unk -> + mkConstruct ref_Unk.fv [] [] + in + let unembed_sigelt_view cb (t:t) : option sigelt_view = + match t.nbe_t with + | Construct (fv, _, [(dcs, _); (t, _); (bs, _); (us, _); (nm, _)]) when S.fv_eq_lid fv ref_Sg_Inductive.lid -> + BU.bind_opt (unembed e_string_list cb nm) (fun nm -> + BU.bind_opt (unembed e_univ_names cb us) (fun us -> + BU.bind_opt (unembed e_binders cb bs) (fun bs -> + BU.bind_opt (unembed e_term cb t) (fun t -> + BU.bind_opt (unembed (e_list e_ctor) cb dcs) (fun dcs -> + Some <| Sg_Inductive (nm, us, bs, t, dcs)))))) + + | Construct (fv, _, [(lbs, _); (r, _)]) when S.fv_eq_lid fv ref_Sg_Let.lid -> + BU.bind_opt (unembed e_bool cb r) (fun r -> + BU.bind_opt (unembed (e_list e_letbinding) cb lbs) (fun lbs -> + Some <| Sg_Let (r, lbs))) + + | Construct (fv, _, [(t, _); (us, _); (nm, _)]) when S.fv_eq_lid fv ref_Sg_Val.lid -> + BU.bind_opt (unembed e_string_list cb nm) (fun nm -> + BU.bind_opt (unembed e_univ_names cb us) (fun us -> + BU.bind_opt (unembed e_term cb t) (fun t -> + Some <| Sg_Val(nm, us, t)))) + + | Construct (fv, _, []) when S.fv_eq_lid fv ref_Unk.lid -> + Some Unk + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded sigelt_view: %s" (t_to_string t))); + None + in + mk_emb' embed_sigelt_view unembed_sigelt_view fstar_refl_sigelt_view_fv + +let e_qualifier = + let embed cb (q:RD.qualifier) : t = + match q with + | RD.Assumption -> mkConstruct ref_qual_Assumption.fv [] [] + | RD.New -> mkConstruct ref_qual_New.fv [] [] + | RD.Private -> mkConstruct ref_qual_Private.fv [] [] + | RD.Unfold_for_unification_and_vcgen -> mkConstruct ref_qual_Unfold_for_unification_and_vcgen.fv [] [] + | RD.Visible_default -> mkConstruct ref_qual_Visible_default.fv [] [] + | RD.Irreducible -> mkConstruct ref_qual_Irreducible.fv [] [] + | RD.Inline_for_extraction -> mkConstruct ref_qual_Inline_for_extraction.fv [] [] + | RD.NoExtract -> mkConstruct ref_qual_NoExtract.fv [] [] + | RD.Noeq -> mkConstruct ref_qual_Noeq.fv [] [] + | RD.Unopteq -> mkConstruct ref_qual_Unopteq.fv [] [] + | RD.TotalEffect -> mkConstruct ref_qual_TotalEffect.fv [] [] + | RD.Logic -> mkConstruct ref_qual_Logic.fv [] [] + | RD.Reifiable -> mkConstruct ref_qual_Reifiable.fv [] [] + | RD.ExceptionConstructor -> mkConstruct ref_qual_ExceptionConstructor.fv [] [] + | RD.HasMaskedEffect -> mkConstruct ref_qual_HasMaskedEffect.fv [] [] + | RD.Effect -> mkConstruct ref_qual_Effect.fv [] [] + | RD.OnlyName -> mkConstruct ref_qual_OnlyName.fv [] [] + | RD.Reflectable l -> + mkConstruct ref_qual_Reflectable.fv [] [as_arg (embed e_lid cb l)] + + | RD.Discriminator l -> + mkConstruct ref_qual_Discriminator.fv [] [as_arg (embed e_lid cb l)] + + | RD.Action l -> + mkConstruct ref_qual_Action.fv [] [as_arg (embed e_lid cb l)] + + | RD.Projector li -> + mkConstruct ref_qual_Projector.fv [] [as_arg (embed (e_tuple2 e_lid e_ident) cb li)] + + | RD.RecordType ids12 -> + mkConstruct ref_qual_RecordType.fv [] [as_arg (embed (e_tuple2 (e_list e_ident) (e_list e_ident)) cb ids12)] + + | RD.RecordConstructor ids12 -> + mkConstruct ref_qual_RecordConstructor.fv [] [as_arg (embed (e_tuple2 (e_list e_ident) (e_list e_ident)) cb ids12)] + in + let unembed cb (t:t) : option RD.qualifier = + match t.nbe_t with + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Assumption.lid -> Some RD.Assumption + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_New.lid -> Some RD.New + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Private.lid -> Some RD.Private + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Unfold_for_unification_and_vcgen.lid -> Some RD.Unfold_for_unification_and_vcgen + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Visible_default.lid -> Some RD.Visible_default + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Irreducible.lid -> Some RD.Irreducible + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Inline_for_extraction.lid -> Some RD.Inline_for_extraction + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_NoExtract.lid -> Some RD.NoExtract + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Noeq.lid -> Some RD.Noeq + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Unopteq.lid -> Some RD.Unopteq + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_TotalEffect.lid -> Some RD.TotalEffect + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Logic.lid -> Some RD.Logic + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Reifiable.lid -> Some RD.Reifiable + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_ExceptionConstructor.lid -> Some RD.ExceptionConstructor + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_HasMaskedEffect.lid -> Some RD.HasMaskedEffect + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_Effect.lid -> Some RD.Effect + | Construct (fv, [], []) when S.fv_eq_lid fv ref_qual_OnlyName.lid -> Some RD.OnlyName + + | Construct (fv, [], [(l, _)]) when S.fv_eq_lid fv ref_qual_Reflectable.lid -> + BU.bind_opt (unembed e_lid cb l) (fun l -> + Some (RD.Reflectable l)) + + | Construct (fv, [], [(l, _)]) when S.fv_eq_lid fv ref_qual_Discriminator.lid -> + BU.bind_opt (unembed e_lid cb l) (fun l -> + Some (RD.Discriminator l)) + + | Construct (fv, [], [(l, _)]) when S.fv_eq_lid fv ref_qual_Action.lid -> + BU.bind_opt (unembed e_lid cb l) (fun l -> + Some (RD.Action l)) + + | Construct (fv, [], [(li, _)]) when S.fv_eq_lid fv ref_qual_Projector.lid -> + BU.bind_opt (unembed (e_tuple2 e_lid e_ident) cb li) (fun li -> + Some (RD.Projector li)) + + | Construct (fv, [], [(ids12, _)]) when S.fv_eq_lid fv ref_qual_RecordType.lid -> + BU.bind_opt (unembed (e_tuple2 (e_list e_ident) (e_list e_ident)) cb ids12) (fun ids12 -> + Some (RD.RecordType ids12)) + + | Construct (fv, [], [(ids12, _)]) when S.fv_eq_lid fv ref_qual_RecordConstructor.lid -> + BU.bind_opt (unembed (e_tuple2 (e_list e_ident) (e_list e_ident)) cb ids12) (fun ids12 -> + Some (RD.RecordConstructor ids12)) + + | _ -> + Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded qualifier: %s" (t_to_string t))); + None + in + mk_emb embed unembed + (mkConstruct fstar_refl_qualifier_fv [] []) + (fv_as_emb_typ fstar_refl_qualifier_fv) + +let e_qualifiers = e_list e_qualifier + +let e_vconfig = + let emb cb (o:order) : t = + failwith "emb vconfig NBE" + in + let unemb cb (t:t) : option order = + failwith "unemb vconfig NBE" + in + mk_emb' emb unemb (lid_as_fv PC.vconfig_lid None) diff --git a/src/reflection/FStar.Reflection.NBEEmbeddings.fsti b/src/reflection/FStar.Reflection.V2.NBEEmbeddings.fsti similarity index 85% rename from src/reflection/FStar.Reflection.NBEEmbeddings.fsti rename to src/reflection/FStar.Reflection.V2.NBEEmbeddings.fsti index 76873eb754e..ff05db3d004 100644 --- a/src/reflection/FStar.Reflection.NBEEmbeddings.fsti +++ b/src/reflection/FStar.Reflection.V2.NBEEmbeddings.fsti @@ -14,28 +14,30 @@ limitations under the License. *) -module FStar.Reflection.NBEEmbeddings +module FStar.Reflection.V2.NBEEmbeddings open FStar open FStar.Compiler open FStar.Syntax.Syntax open FStar.TypeChecker.NBETerm open FStar.Order open FStar.TypeChecker.Env -open FStar.Reflection.Data +open FStar.Reflection.V2.Data module O = FStar.Options -module RD = FStar.Reflection.Data +module RD = FStar.Reflection.V2.Data (* Embeddings *) val e_bv : embedding bv +val e_namedv : embedding namedv val e_binder : embedding binder val e_binder_view : embedding binder_view val e_binders : embedding binders +val e_binding : embedding RD.binding val e_term : embedding term val e_term_view : embedding term_view val e_fv : embedding fv val e_comp : embedding FStar.Syntax.Syntax.comp val e_comp_view : embedding comp_view -val e_const : embedding vconst +val e_vconst : embedding vconst val e_env : embedding FStar.TypeChecker.Env.env val e_pattern : embedding pattern val e_branch : embedding Data.branch @@ -47,7 +49,7 @@ val e_letbinding : embedding letbinding val e_lb_view : embedding lb_view val e_sigelt_view : embedding sigelt_view val e_bv_view : embedding bv_view -val e_exp : embedding exp +val e_namedv_view : embedding namedv_view val e_attribute : embedding attribute val e_attributes : embedding (list attribute) (* This seems rather silly, but `attributes` is a keyword *) val e_qualifier : embedding RD.qualifier @@ -57,3 +59,5 @@ val e_univ_name : embedding univ_name val e_univ_names : embedding (list univ_name) val e_universe : embedding universe val e_universe_view : embedding universe_view +val e_subst_elt : embedding subst_elt +val e_subst : embedding (list subst_elt) diff --git a/src/smtencoding/FStar.SMTEncoding.Encode.fst b/src/smtencoding/FStar.SMTEncoding.Encode.fst index 1d3a80928c6..130bddcb18c 100644 --- a/src/smtencoding/FStar.SMTEncoding.Encode.fst +++ b/src/smtencoding/FStar.SMTEncoding.Encode.fst @@ -15,10 +15,10 @@ *) module FStar.SMTEncoding.Encode open Prims +open FStar open FStar.Pervasives open FStar.Compiler.Effect open FStar.Compiler.List -open FStar open FStar.Compiler open FStar.TypeChecker.Env open FStar.Syntax @@ -29,23 +29,18 @@ open FStar.Ident open FStar.Const open FStar.SMTEncoding open FStar.SMTEncoding.Util -module S = FStar.Syntax.Syntax -module SS = FStar.Syntax.Subst -module UF = FStar.Syntax.Unionfind -module N = FStar.TypeChecker.Normalize -module BU = FStar.Compiler.Util -module U = FStar.Syntax.Util -module TcUtil = FStar.TypeChecker.Util -module Const = FStar.Parser.Const -module R = FStar.Reflection.Basic -module RD = FStar.Reflection.Data -module EMB = FStar.Syntax.Embeddings -module RE = FStar.Reflection.Embeddings open FStar.SMTEncoding.Env open FStar.SMTEncoding.EncodeTerm -open FStar.Parser -module Env = FStar.TypeChecker.Env +module BU = FStar.Compiler.Util +module Const = FStar.Parser.Const +module Env = FStar.TypeChecker.Env +module N = FStar.TypeChecker.Normalize +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module TcUtil = FStar.TypeChecker.Util +module UF = FStar.Syntax.Unionfind +module U = FStar.Syntax.Util let norm_before_encoding env t = let steps = [Env.Eager_unfolding; diff --git a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fst b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fst index 25bdb922bae..a5ddc5b959f 100644 --- a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fst +++ b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fst @@ -30,22 +30,21 @@ open FStar.Ident open FStar.Const open FStar.SMTEncoding open FStar.SMTEncoding.Util -module S = FStar.Syntax.Syntax -module SS = FStar.Syntax.Subst -module N = FStar.TypeChecker.Normalize -module BU = FStar.Compiler.Util -module U = FStar.Syntax.Util -module TcUtil = FStar.TypeChecker.Util -module Const = FStar.Parser.Const -module R = FStar.Reflection.Basic -module RD = FStar.Reflection.Data -module EMB = FStar.Syntax.Embeddings -module RE = FStar.Reflection.Embeddings -module Env = FStar.TypeChecker.Env -module SE = FStar.Syntax.Embeddings open FStar.SMTEncoding.Env -module RC = FStar.Reflection.Constants +module BU = FStar.Compiler.Util +module Const = FStar.Parser.Const +module EMB = FStar.Syntax.Embeddings +module Env = FStar.TypeChecker.Env +module N = FStar.TypeChecker.Normalize +module RC = FStar.Reflection.V2.Constants +module RE = FStar.Reflection.V2.Embeddings +module R = FStar.Reflection.V2.Builtins +module SE = FStar.Syntax.Embeddings +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module TcUtil = FStar.TypeChecker.Util +module U = FStar.Syntax.Util (*---------------------------------------------------------------------------------*) (* *) @@ -1502,8 +1501,8 @@ and encode_formula (phi:typ) (env:env_t) : (term * decls_t) = (* expects phi to encode_formula phi env | Tm_fvar fv, [(r, _); (msg, _); (phi, _)] when S.fv_eq_lid fv Const.labeled_lid -> //interpret (labeled r msg t) as Tm_meta(t, Meta_labeled(msg, r, false) - begin match SE.unembed SE.e_range r false SE.id_norm_cb, - SE.unembed SE.e_string msg false SE.id_norm_cb with + begin match SE.try_unembed SE.e_range r SE.id_norm_cb, + SE.try_unembed SE.e_string msg SE.id_norm_cb with | Some r, Some s -> let phi = S.mk (Tm_meta {tm=phi; meta=Meta_labeled(s, r, false)}) r in fallback phi diff --git a/src/smtencoding/FStar.SMTEncoding.Solver.fst b/src/smtencoding/FStar.SMTEncoding.Solver.fst index 31a713a2ab5..c216581ae0f 100644 --- a/src/smtencoding/FStar.SMTEncoding.Solver.fst +++ b/src/smtencoding/FStar.SMTEncoding.Solver.fst @@ -170,12 +170,9 @@ let rec filter_assertions_with_stats (e:env) (core:Z3.unsat_core) (theory:list d decls |> filter_assertions_with_stats e (Some core) |> (fun (decls, _, r, p) -> Module (name, decls)::theory, n_retained + r, n_pruned + p) | _ -> d::theory, n_retained, n_pruned) - ([Caption ("UNSAT CORE: " ^ (core |> String.concat ", "))], 0, 0) theory_rev in //start with the unsat core caption at the end + ([Caption ("UNSAT CORE USED: " ^ (core |> String.concat ", "))], 0, 0) theory_rev in //start with the unsat core caption at the end theory', true, n_retained, n_pruned -let filter_assertions (e:env) (core:Z3.unsat_core) (theory:list decl) = - let (theory, b, _, _) = filter_assertions_with_stats e core theory in theory, b - let filter_facts_without_core (e:env) x = filter_using_facts_from e x, false (***********************************************************************************) @@ -223,6 +220,41 @@ type query_settings = { query_term: FStar.Syntax.Syntax.term; } +let maybe_build_core_from_hook (e:env) (qsettings:option query_settings) (core:Z3.unsat_core) (theory:list decl): Z3.unsat_core = + match qsettings with | None -> core | Some qsettings -> // Only when we have a full query + match core with | Some _ -> core | None -> // No current core/hint + match Options.hint_hook () with | None -> core | Some hint_hook_cmd -> // And a hint_hook set + + let qryid = BU.format2 "(%s, %s)" qsettings.query_name (string_of_int qsettings.query_index) in + let qry = Term.declToSmt_no_caps "" qsettings.query_decl in + let qry = BU.replace_chars qry '\n' "" in + match e.qtbl_name_and_index with + | None, _ -> + // Should not happen + Err.diag qsettings.query_range "maybe_build_core_from_hook: qbtl name unset?"; + core + | Some (lid, typ, ctr), _ -> + (* Err.log_issue qsettings.query_range (Err.Warning_UnexpectedZ3Stderr, *) + (* BU.format3 "will construct hint for queryid=%s, typ=%s, query=%s" *) + (* qryid (Print.term_to_string typ) qry); *) + let open FStar.Json in + let input = JsonAssoc [ + ("query_name", JsonStr qsettings.query_name); + ("query_ctr", JsonInt ctr); + ("type", JsonStr (Print.term_to_string typ)); // TODO: normalize print options, they will affect this output + ("query", JsonStr qry); + ("theory", JsonList (List.map (fun d -> JsonStr (Term.declToSmt_no_caps "" d)) theory)); + ] + in + let input = string_of_json input in + let output = BU.run_process ("hint-hook-"^qryid) hint_hook_cmd [] (Some input) in + let facts = String.split [','] output in + Some facts + +let filter_assertions (e:env) (qsettings:option query_settings) (core:Z3.unsat_core) (theory:list decl) = + let core = maybe_build_core_from_hook e qsettings core theory in + let (theory, b, _, _) = filter_assertions_with_stats e core theory in + theory, b //surround the query with fuel options and various diagnostics let with_fuel_and_diagnostics settings label_assumptions = @@ -286,10 +318,11 @@ let detail_hint_replay settings z3result = | _failed -> let ask_z3 label_assumptions = Z3.ask settings.query_range - (filter_assertions settings.query_env settings.query_hint) + (filter_assertions settings.query_env None settings.query_hint) settings.query_hash settings.query_all_labels (with_fuel_and_diagnostics settings label_assumptions) + (BU.format2 "(%s, %s)" settings.query_name (string_of_int settings.query_index)) None false in @@ -426,6 +459,7 @@ let errors_to_report (settings : query_settings) : list Errors.error = settings.query_hash settings.query_all_labels (with_fuel_and_diagnostics initial_fuel label_assumptions) + (BU.format2 "(%s, %s)" settings.query_name (string_of_int settings.query_index)) None false in @@ -561,8 +595,8 @@ let query_info settings z3result = | Some s -> "@"^s in let tag, core = match z3result.z3result_status with - | UNSAT core -> "succeeded", core - | _ -> "failed {reason-unknown=" ^ status_string ^ "}", None + | UNSAT core -> BU.colorize_green "succeeded", core + | _ -> BU.colorize_red ("failed {reason-unknown=" ^ status_string ^ "}"), None in let range = "(" ^ (Range.string_of_range settings.query_range) ^ at_log_file ^ ")" in let used_hint_tag = if used_hint settings then " (with hint)" else "" in @@ -713,8 +747,8 @@ let make_solver_configs let default_settings, next_hint = let qname, index = match env.qtbl_name_and_index with - | _, None -> failwith "No query name set!" - | _, Some (q, n) -> Ident.string_of_lid q, n + | None, _ -> failwith "No query name set!" + | Some (q, _typ, n), _ -> Ident.string_of_lid q, n in let rlimit = Prims.op_Multiply @@ -797,10 +831,11 @@ let __ask_solver let check_one_config config : z3result = if Options.z3_refresh() then Z3.refresh(); Z3.ask config.query_range - (filter_assertions config.query_env config.query_hint) + (filter_assertions config.query_env (Some config) config.query_hint) config.query_hash config.query_all_labels (with_fuel_and_diagnostics config []) + (BU.format2 "(%s, %s)" config.query_name (string_of_int config.query_index)) (Some (Z3.mk_fresh_scope())) (used_hint config) in @@ -1014,8 +1049,8 @@ let report (env:Env.env) (default_settings : query_settings) (a : answer) : unit * (but not for --retry) *) if quaking then begin (* Get the range of the lid we're checking for the quake error *) - let rng = match snd (env.qtbl_name_and_index) with - | Some (l, _) -> Ident.range_of_lid l + let rng = match fst (env.qtbl_name_and_index) with + | Some (l, _, _) -> Ident.range_of_lid l | _ -> Range.dummyRange in FStar.TypeChecker.Err.log_issue diff --git a/src/smtencoding/FStar.SMTEncoding.Term.fst b/src/smtencoding/FStar.SMTEncoding.Term.fst index 3124d492404..c973fba7a13 100644 --- a/src/smtencoding/FStar.SMTEncoding.Term.fst +++ b/src/smtencoding/FStar.SMTEncoding.Term.fst @@ -693,7 +693,7 @@ let termToSmt let pats_str = match pats with | [[]] - | [] -> ";;no pats" + | [] -> if print_ranges then ";;no pats" else "" | _ -> pats |> List.map (fun pats -> diff --git a/src/smtencoding/FStar.SMTEncoding.Z3.fst b/src/smtencoding/FStar.SMTEncoding.Z3.fst index c37481f7506..8abc72f7900 100644 --- a/src/smtencoding/FStar.SMTEncoding.Z3.fst +++ b/src/smtencoding/FStar.SMTEncoding.Z3.fst @@ -177,7 +177,9 @@ let query_logging = {set_module_name=set_module_name; get_module_name=get_module_name; write_to_log=write_to_log; - close_log=close_log} + append_to_log=append_to_log; + close_log=close_log; + } (* Z3 background process handling *) let z3_cmd_and_args () = @@ -337,7 +339,7 @@ let smt_output_sections (log_file:option string) (r:Range.range) (lines:list str smt_statistics = statistics; smt_labels = labels} -let doZ3Exe (log_file:_) (r:Range.range) (fresh:bool) (input:string) (label_messages:error_labels) : z3status * z3statistics = +let doZ3Exe (log_file:_) (r:Range.range) (fresh:bool) (input:string) (label_messages:error_labels) (queryid:string) : z3status * z3statistics = let parse (z3out:string) = let lines = String.split ['\n'] z3out |> List.map BU.trim_string in let smt_output = smt_output_sections log_file r lines in @@ -407,17 +409,42 @@ let doZ3Exe (log_file:_) (r:Range.range) (fresh:bool) (input:string) (label_mess in status, statistics in - let stdout = - if fresh then - 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 warn_handler in - BU.kill_process proc; - out - else - (!bg_z3_proc).ask input + let log_result fwrite (res, _stats) = + (* If we are logging, write some more information to the + smt2 file, such as the result of the query and the new unsat + core generated. We take a call back to do so, since for the + bg z3 process we must call query_logging.append_to_log, but for + fresh invocations (such as hints) we must reopen the file to write + to it. *) + begin match log_file with + | Some fname -> + fwrite fname ("; QUERY ID: " ^ queryid); + fwrite fname ("; STATUS: " ^ fst (status_string_and_errors res)); + begin match res with + | UNSAT (Some core) -> + fwrite fname ("; UNSAT CORE GENERATED: " ^ String.concat ", " core) + | _ -> () + end + | None -> () + end in - parse (BU.trim_string stdout) + if fresh then + 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 warn_handler in + let r = parse (BU.trim_string out) in + log_result (fun fname s -> + let h = BU.open_file_for_appending fname in + BU.append_to_file h s; + BU.close_out_channel h + ) r; + BU.kill_process proc; + r + else + let out = (!bg_z3_proc).ask input in + let r = parse (BU.trim_string out) in + log_result (fun _fname s -> ignore (query_logging.append_to_log s)) r; + r let z3_options = BU.mk_ref "(set-option :global-decls false)\n\ @@ -582,7 +609,7 @@ let cache_hit else None -let z3_job (log_file:_) (r:Range.range) fresh (label_messages:error_labels) input qhash () : z3result = +let z3_job (log_file:_) (r:Range.range) fresh (label_messages:error_labels) input qhash queryid () : z3result = //This code is a little ugly: //We insert a profiling call to accumulate total time spent in Z3 //But, we also record the time of this particular call so that we can @@ -594,7 +621,7 @@ let z3_job (log_file:_) (r:Range.range) fresh (label_messages:error_labels) inpu Profiling.profile (fun () -> try - BU.record_time (fun () -> doZ3Exe log_file r fresh input label_messages) + BU.record_time (fun () -> doZ3Exe log_file r fresh input label_messages queryid) with e -> refresh(); //refresh the solver but don't handle the exception; it'll be caught upstream raise e) @@ -613,6 +640,7 @@ let ask (cache:option string) (label_messages:error_labels) (qry:list decl) + (queryid:string) (_scope : option scope_t) // GM: This was only used in ask_n_cores (fresh:bool) : z3result = let theory = @@ -626,7 +654,7 @@ let ask let theory, _used_unsat_core = filter_theory theory in let input, qhash, log_file_name = mk_input fresh theory in - let just_ask () = z3_job log_file_name r fresh label_messages input qhash () in + let just_ask () = z3_job log_file_name r fresh label_messages input qhash queryid () in if fresh then match cache_hit log_file_name cache qhash with | Some z3r -> z3r diff --git a/src/smtencoding/FStar.SMTEncoding.Z3.fsti b/src/smtencoding/FStar.SMTEncoding.Z3.fsti index 2293efd9dce..46fffaa6ac5 100644 --- a/src/smtencoding/FStar.SMTEncoding.Z3.fsti +++ b/src/smtencoding/FStar.SMTEncoding.Z3.fsti @@ -43,8 +43,9 @@ type z3result = { type query_log = { get_module_name: unit -> string; set_module_name: string -> unit; - write_to_log: bool -> string -> string; - close_log: unit -> unit + write_to_log: bool -> string -> string; (* returns name of log file written to *) + append_to_log: string -> string; (* idem *) + close_log: unit -> unit; } val status_string_and_errors : z3status -> string * error_labels @@ -56,6 +57,7 @@ val ask: r:Range.range -> cache:(option string) // hash -> label_messages:error_labels -> qry:list decl + -> queryid:string -> scope:option scope_t -> fresh:bool -> z3result diff --git a/src/syntax/FStar.Syntax.Compress.fst b/src/syntax/FStar.Syntax.Compress.fst index 4cf81970967..54ebb333f4d 100644 --- a/src/syntax/FStar.Syntax.Compress.fst +++ b/src/syntax/FStar.Syntax.Compress.fst @@ -71,6 +71,17 @@ let deep_compress (allow_uvars:bool) (tm : term) : term = tm ) +let deep_compress_if_no_uvars (tm : term) : option term = + Err.with_ctx ("While deep-compressing a term") (fun () -> + try + Some (Visit.visit_term_univs + (compress1_t false) + (compress1_u false) + tm) + with + | FStar.Errors.Err (Err.Error_UnexpectedUnresolvedUvar, _, _) -> None + ) + let deep_compress_se (allow_uvars:bool) (se : sigelt) : sigelt = Err.with_ctx (format1 "While deep-compressing %s" (Syntax.Print.sigelt_to_string_short se)) (fun () -> Visit.visit_sigelt diff --git a/src/syntax/FStar.Syntax.Compress.fsti b/src/syntax/FStar.Syntax.Compress.fsti index 808ad0b52f1..c4d6a1bd691 100644 --- a/src/syntax/FStar.Syntax.Compress.fsti +++ b/src/syntax/FStar.Syntax.Compress.fsti @@ -8,4 +8,8 @@ if allow_uvars is false, it raises a hard error if an *unresolved* uvar solutions, as in compress. *) val deep_compress (allow_uvars: bool) (t:term) : term +(* Similar to `deep_compress false t`, except instead of a hard error + this returns None in case an unresolved uvar is found. *) +val deep_compress_if_no_uvars (t:term) : option term + val deep_compress_se (allow_uvars: bool) (se:sigelt) : sigelt diff --git a/src/syntax/FStar.Syntax.DsEnv.fst b/src/syntax/FStar.Syntax.DsEnv.fst index f2b9d6813d5..54399caf357 100644 --- a/src/syntax/FStar.Syntax.DsEnv.fst +++ b/src/syntax/FStar.Syntax.DsEnv.fst @@ -1111,21 +1111,15 @@ let check_admits env m = | _ -> if not (Options.interactive ()) then FStar.Errors.log_issue (range_of_lid l) - (Errors.Warning_AdmitWithoutDefinition, (BU.format1 "Admitting %s without a definition" (Ident.string_of_lid l))); + (Errors.Error_AdmitWithoutDefinition, (BU.format1 "%s is declared but no definition was found; add an 'assume' if this is intentional" (Ident.string_of_lid l))); let quals = Assumption :: se.sigquals in BU.smap_add (sigmap env) (string_of_lid l) ({ se with sigquals = quals }, false); l::lids end | _ -> lids) [] in - //slap on the Assumption qualifier to module declarations that were admitted - //the code above does it just for the sigelts in env - { m with declarations = m.declarations |> List.map (fun s -> - match s.sigel with - | Sig_declare_typ {lid} when List.existsb (fun l -> lid_equals l lid) admitted_sig_lids -> { s with sigquals = Assumption::s.sigquals } - | _ -> s - ) } - + m + let finish env modul = modul.declarations |> List.iter (fun se -> let quals = se.sigquals in diff --git a/src/syntax/FStar.Syntax.Embeddings.AppEmb.fst b/src/syntax/FStar.Syntax.Embeddings.AppEmb.fst new file mode 100644 index 00000000000..c17a9de8733 --- /dev/null +++ b/src/syntax/FStar.Syntax.Embeddings.AppEmb.fst @@ -0,0 +1,51 @@ +module FStar.Syntax.Embeddings.AppEmb + +open FStar.Syntax.Syntax +open FStar.Syntax.Embeddings.Base + +type appemb 'a = + args -> option ('a & args) + +let one (e : embedding 'a) : appemb 'a = + fun args -> + match args with + | (t,_)::xs -> + match try_unembed e t id_norm_cb with + | None -> None + | Some v -> Some (v, xs) + +let (let?) o f = match o with | None -> None | Some v -> f v + +val (<*>) : appemb ('a -> 'b) -> appemb 'a -> appemb 'b +let (<*>) u1 u2 = + fun args -> + let? f, args' = u1 args in + let? v, args'' = u2 args' in + Some (f v, args'') + +val (<**>) : appemb ('a -> 'b) -> embedding 'a -> appemb 'b +let (<**>) u1 u2 = u1 <*> one u2 + +let pure (x : 'a) : appemb 'a = + fun args -> Some (x, args) + +val (<$>) : ('a -> 'b) -> appemb 'a -> appemb 'b +let (<$>) u1 u2 = pure u1 <*> u2 + +val (<$$>) : ('a -> 'b) -> embedding 'a -> appemb 'b +let (<$$>) u1 u2 = pure u1 <*> one u2 + +val run : args -> appemb 'a -> option 'a +let run args u = + match u args with + | Some (r, []) -> Some r + | _ -> None + +val wrap : (term -> option 'a) -> appemb 'a +let wrap f = + fun args -> + match args with + | (t,_)::xs -> + match f t with + | None -> None + | Some v -> Some (v, xs) diff --git a/src/syntax/FStar.Syntax.Embeddings.Base.fst b/src/syntax/FStar.Syntax.Embeddings.Base.fst new file mode 100644 index 00000000000..2588d83c9e4 --- /dev/null +++ b/src/syntax/FStar.Syntax.Embeddings.Base.fst @@ -0,0 +1,298 @@ +(* + Copyright 2008-2014 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.Syntax.Embeddings.Base + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Compiler.Range +open FStar.Pervasives +open FStar.Syntax.Syntax + +module BU = FStar.Compiler.Util +module Err = FStar.Errors +module Ident = FStar.Ident +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module U = FStar.Syntax.Util + +(********************************************************************* + + A NOTE ON FUNCTIONS AND SHADOW TERMS + +Shadow terms exist to acomodate strong reduction of plugins. + +Suppose we have this function, marked as a plugin to accelerate it +during typechecking: + + [@@plugin] + let sort (l : list int) : list int = ... + +(Plugins are usually tactics, but do not have to be. This discussion +is actually not so relevant for tactics as they do not run in open +contexts.) + +Compilation will generate a version that works on _real_ concrete +lists of integers. To call it on a term, as we have to do during +typechecking, we need to wrap it with embeddings: + + sort_term t = embed_intlist (sort (unembed_intlist t)) + +This turns the term `t` into an actual `list int`, calls the native +sort function, and then reconstructs a term for the resulting list. + +After loading the compiled version of that file, `sort_term` is now +loaded as a primitive step in the normalizer (under the name `sort`, of +course), and will be called everytime we find this symbol applied to an +argument. While its argument must have already been reduced (CBV), there +is no guarantee that it is an actual _value_ as we may be in an open +context, e.g. we may be typechecking this formula: + + forall l. sum (sort l) == sum l + +or it can be applied to some abstract lid even in a closed +context, or to a Tm_let that we are not currently reducing (e.g. DIV), +etc. So, we may fail (and often do) to unembed the argument term +to obtain a concrete list, hence sort_term is closer to: + + sort_term t = match unembed_intlist t with + | None -> None + | Some l -> embed_intlist (sort l) + +But, instead of stopping reduction with the None, we can instead +use the definition of sort itself, and call the normalizer with +the unfolded definition applied to the symbolic argument. Shadow +terms are term representations of whatever the embedded thing is, +which can be defaulted to when the embedding does not work. + +(TODO: what does this do for recursive functions? sounds + like it would not unfold? Actually, it seems broken: + + [@@plugin] + let rec mylen (l : list int) : int = + match l with + | [] -> 0 + | x::xs -> 1 + mylen xs + + let test (a b c : int) = + assert (mylen [a;b;c] == mylen [c;b;a]) by begin + dump "1"; + compute (); + dump "2"; + trefl (); + () + end + +this file works when mylen is not loaded as a plugin, but fails +otherwise since reduction is blocked.) + + +*********************************************************************) + +let id_norm_cb : norm_cb = function + | Inr x -> x + | Inl l -> S.fv_to_tm (S.lid_as_fv l None) +exception Embedding_failure +exception Unembedding_failure + +let map_shadow (s:shadow_term) (f:term -> term) : shadow_term = + BU.map_opt s (Thunk.map f) +let force_shadow (s:shadow_term) = BU.map_opt s Thunk.force + +type embedding (a:Type0) = { + em : a -> embed_t; + un : term -> unembed_t a; + typ : typ; + print: printer a; + emb_typ: emb_typ +} +let emb_typ_of e = e.emb_typ + +let unknown_printer typ _ = + BU.format1 "unknown %s" (Print.term_to_string typ) + +let term_as_fv t = + match (SS.compress t).n with + | Tm_fvar fv -> fv + | _ -> failwith (BU.format1 "Embeddings not defined for type %s" (Print.term_to_string t)) + +let mk_emb em un fv = + let typ = S.fv_to_tm fv in + { + em = em ; + un = un ; + typ = typ; + print=unknown_printer typ; + emb_typ=ET_app (S.lid_of_fv fv |> Ident.string_of_lid, []) + } + +let mk_emb_full em un typ printer emb_typ = { + em = em ; + un = un ; + typ = typ; + print = printer; + emb_typ = emb_typ +} + +// +// AR/NS: 04/22/2022: +// In the case of metaprograms, we reduce divergent terms in +// the normalizer, therefore, the final result that we get +// may be wrapped in a Meta_monadic node (e.g. lift, app, etc.) +// Before unembedding the result of such a computation, +// we strip those meta nodes +// In case the term inside is not a result, unembedding would +// anyway fail +// And we strip down only DIV +// Can we get any other effect? Not today, since from the client +// code, we enforce terms to be normalized to be PURE +// + +let rec unmeta_div_results t = + let open FStar.Ident in + match (SS.compress t).n with + | Tm_meta {tm=t'; meta=Meta_monadic_lift (src, dst, _)} -> + if lid_equals src PC.effect_PURE_lid && + lid_equals dst PC.effect_DIV_lid + then unmeta_div_results t' + else t + + | Tm_meta {tm=t'; meta=Meta_monadic (m, _)} -> + if lid_equals m PC.effect_DIV_lid + then unmeta_div_results t' + else t + + | Tm_meta {tm=t'} -> unmeta_div_results t' + + | Tm_ascribed {tm=t'} -> unmeta_div_results t' + + | _ -> t + +let type_of (e:embedding 'a) = e.typ +let printer_of (e:embedding 'a) = e.print +let set_type ty (e:embedding 'a) = { e with typ = ty } + +let embed (e:embedding 'a) = e.em +let try_unembed (e:embedding 'a) t n = + (* Unembed always receives a term without the meta_monadics above, + and also already compressed. *) + let t = unmeta_div_results t in + e.un (SS.compress t) n + +let unembed (e:embedding 'a) t n = + let r = try_unembed e t n in + if None? r then + Err.log_issue t.pos (Err.Warning_NotEmbedded, + BU.format3 "Warning, unembedding failed for type %s (%s); term = %s" + (Print.term_to_string (type_of e)) + (Print.emb_typ_to_string (emb_typ_of e)) + (Print.term_to_string t) + ); + r + + +let embed_as (ea:embedding 'a) (ab : 'a -> 'b) (ba : 'b -> 'a) (o:option typ) = + mk_emb_full (fun (x:'b) -> embed ea (ba x)) + (fun (t:term) cb -> BU.map_opt (try_unembed ea t cb) ab) + (match o with | Some t -> t | _ -> type_of ea) + (fun (x:'b) -> BU.format1 "(embed_as>> %s)\n" (ea.print (ba x))) + ea.emb_typ + +(* A simple lazy embedding, without cancellations nor an expressive type. *) +let e_lazy #a (k:lazy_kind) (ty : typ) : embedding a = + let ee (x:a) rng _topt _norm : term = U.mk_lazy x ty k (Some rng) in + let uu (t:term) _norm : option a = + let t0 = t in + match (SS.compress t).n with + | Tm_lazy {blob=b; lkind=lkind} when U.eq_lazy_kind lkind k -> Some (Dyn.undyn b) + | Tm_lazy {blob=b; lkind=lkind} -> + (* This is very likely a bug, warn! *) + Err.log_issue t0.pos (Err.Warning_NotEmbedded, + BU.format3 "Warning, lazy unembedding failed, tag mismatch.\n\t\ + Expected %s, got %s\n\t\ + t = %s." + (U.lazy_kind_to_string lkind) (U.lazy_kind_to_string k) + (Print.term_to_string t0)); + None + | _ -> + None + in + mk_emb ee uu (term_as_fv ty) + +let lazy_embed (pa:printer 'a) (et:emb_typ) rng ta (x:'a) (f:unit -> term) = + if !Options.debug_embedding + then BU.print3 "Embedding a %s\n\temb_typ=%s\n\tvalue is %s\n" + (Print.term_to_string ta) + (Print.emb_typ_to_string et) + (pa x); + if !Options.eager_embedding + then f() + else let thunk = Thunk.mk f in + U.mk_lazy x S.tun (Lazy_embedding (et, thunk)) (Some rng) + +let lazy_unembed (pa:printer 'a) (et:emb_typ) (x:term) (ta:term) (f:term -> option 'a) : option 'a = + let x = SS.compress x in + match x.n with + | Tm_lazy {blob=b; lkind=Lazy_embedding (et', t)} -> + if et <> et' + || !Options.eager_embedding + then let res = f (Thunk.force t) in + let _ = if !Options.debug_embedding + then BU.print3 "Unembed cancellation failed\n\t%s <> %s\nvalue is %s\n" + (Print.emb_typ_to_string et) + (Print.emb_typ_to_string et') + (match res with None -> "None" | Some x -> "Some " ^ (pa x)) + in + res + else let a = Dyn.undyn b in + let _ = if !Options.debug_embedding + then BU.print2 "Unembed cancelled for %s\n\tvalue is %s\n" + (Print.emb_typ_to_string et) + (pa a) + in + Some a + | _ -> + let aopt = f x in + let _ = if !Options.debug_embedding + then BU.print3 "Unembedding:\n\temb_typ=%s\n\tterm is %s\n\tvalue is %s\n" + (Print.emb_typ_to_string et) + (Print.term_to_string x) + (match aopt with None -> "None" | Some a -> "Some " ^ pa a) in + aopt + +let (let?) o f = BU.bind_opt o f + +let mk_extracted_embedding (name: string) (u: string & list term -> option 'a) (e: 'a -> term) : embedding 'a = + let uu (t:term) _norm : option 'a = + let hd, args = U.head_and_args t in + let? hd_lid = + match (SS.compress (U.un_uinst hd)).n with + | Tm_fvar fv -> Some fv.fv_name.v + | _ -> None + in + u (Ident.string_of_lid hd_lid, List.map fst args) + in + let ee (x:'a) rng _topt _norm : term = e x in + mk_emb ee uu (S.lid_as_fv (Ident.lid_of_str name) None) + +let extracted_embed (e: embedding 'a) (x: 'a) : term = + embed e x Range.dummyRange None id_norm_cb + +let extracted_unembed (e: embedding 'a) (t: term) : option 'a = + try_unembed e t id_norm_cb diff --git a/src/syntax/FStar.Syntax.Embeddings.Base.fsti b/src/syntax/FStar.Syntax.Embeddings.Base.fsti new file mode 100644 index 00000000000..f8cda2d883c --- /dev/null +++ b/src/syntax/FStar.Syntax.Embeddings.Base.fsti @@ -0,0 +1,110 @@ +(* + Copyright 2008-2014 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.Syntax.Embeddings.Base + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Pervasives +open FStar.Syntax.Syntax + +module Range = FStar.Compiler.Range + +type norm_cb = either Ident.lident term -> term // a callback to the normalizer + +type shadow_term = option (Thunk.t term) + +type embed_t = Range.range -> shadow_term -> norm_cb -> term + +type unembed_t 'a = norm_cb -> option 'a // bool = whether we should warn on a failure + +type raw_embedder 'a = 'a -> embed_t +type raw_unembedder 'a = term -> unembed_t 'a +type printer 'a = 'a -> string + +(* + * Unmbedding functions return an option because they might fail + * to interpret the given term as valid data. The `try_` version will + * simply return None in that case, but the unsafe one will also raise a + * warning, and should be used only where we really expect to always be + * able to unembed. + *) + +val id_norm_cb : norm_cb +exception Embedding_failure +exception Unembedding_failure + +val embedding (a:Type0) : Type0 +val emb_typ_of: embedding 'a -> emb_typ +val term_as_fv: term -> fv //partial! +val mk_emb : raw_embedder 'a -> raw_unembedder 'a -> fv -> embedding 'a +val mk_emb_full: raw_embedder 'a + -> raw_unembedder 'a + -> typ + -> ('a -> string) + -> emb_typ + -> embedding 'a + + +(* + * embed: turning a value into a term (compiler internals -> userland) + * unembed: interpreting a term as a value, which can fail (userland -> compiler internals) + * + * Unmbedding functions return an option because they might fail + * to interpret the given term as valid data. The `try_` version will + * simply return None in that case, but the unsafe one will also raise a + * warning, and should be used only where we really expect to always be + * able to unembed. + *) +val embed : embedding 'a -> 'a -> embed_t +val try_unembed : embedding 'a -> term -> norm_cb -> option 'a +val unembed : embedding 'a -> term -> norm_cb -> option 'a + +val type_of : embedding 'a -> typ +val printer_of : embedding 'a -> printer 'a +val set_type : typ -> embedding 'a -> embedding 'a + +val embed_as : embedding 'a -> + ('a -> 'b) -> + ('b -> 'a) -> + option typ -> (* optionally change the type *) + embedding 'b + +(* Construct a simple lazy embedding as a blob. *) +val e_lazy : lazy_kind -> + ty:term -> + embedding 'a + + +(* used from Syntax.Embeddings *) +val unmeta_div_results : term -> term + +(* Helpers for extracted embeddings of inductive types. +Do not use internally. *) +val mk_extracted_embedding : + string -> (* name *) + (string & list term -> option 'a) -> (* unembedding specialized to an applied fvar *) + ('a -> term) -> (* embedding *) + embedding 'a +val extracted_embed : + embedding 'a -> + 'a -> + term +val extracted_unembed : + embedding 'a -> + term -> + option 'a diff --git a/src/syntax/FStar.Syntax.Embeddings.fst b/src/syntax/FStar.Syntax.Embeddings.fst index 4d3aeed0098..dd6e260e86b 100644 --- a/src/syntax/FStar.Syntax.Embeddings.fst +++ b/src/syntax/FStar.Syntax.Embeddings.fst @@ -24,18 +24,22 @@ open FStar.Syntax.Syntax open FStar.Compiler.Range open FStar.VConfig -module Print = FStar.Syntax.Print -module S = FStar.Syntax.Syntax -module C = FStar.Const -module PC = FStar.Parser.Const -module SS = FStar.Syntax.Subst -module BU = FStar.Compiler.Util -module U = FStar.Syntax.Util -module UF = FStar.Syntax.Unionfind +module BU = FStar.Compiler.Util +module C = FStar.Const +module Err = FStar.Errors module Ident = FStar.Ident -module Err = FStar.Errors -module Z = FStar.BigInt -open FStar.Char +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module U = FStar.Syntax.Util +module UF = FStar.Syntax.Unionfind +module Z = FStar.BigInt + +open FStar.Syntax.Embeddings.Base +module AE = FStar.Syntax.Embeddings.AppEmb + +friend FStar.Pervasives (* To expose norm_step *) (********************************************************************* @@ -122,15 +126,6 @@ let force_shadow (s:shadow_term) = BU.map_opt s Thunk.force type printer 'a = 'a -> string -type embedding (a:Type0) = { - em : a -> embed_t; - un : term -> unembed_t a; - typ : typ; - print: printer a; - emb_typ: emb_typ -} -let emb_typ_of e = e.emb_typ - let unknown_printer typ _ = BU.format1 "unknown %s" (Print.term_to_string typ) @@ -139,73 +134,6 @@ let term_as_fv t = | Tm_fvar fv -> fv | _ -> failwith (BU.format1 "Embeddings not defined for type %s" (Print.term_to_string t)) -let mk_emb em un fv = - let typ = S.fv_to_tm fv in - { - em = em ; - un = un ; - typ = typ; - print=unknown_printer typ; - emb_typ=ET_app (S.lid_of_fv fv |> Ident.string_of_lid, []) - } - -let mk_emb_full em un typ printer emb_typ = { - em = em ; - un = un ; - typ = typ; - print = printer; - emb_typ = emb_typ -} - -// -// AR/NS: 04/22/2022: -// In the case of metaprograms, we reduce divergent terms in -// the normalizer, therefore, the final result that we get -// may be wrapped in a Meta_monadic node (e.g. lift, app, etc.) -// Before unembedding the result of such a computation, -// we strip those meta nodes -// In case the term inside is not a result, unembedding would -// anyway fail -// And we strip down only DIV -// Can we get any other effect? Not today, since from the client -// code, we enforce terms to be normalized to be PURE -// - -let rec unmeta_div_results t = - let open FStar.Ident in - match (SS.compress t).n with - | Tm_meta {tm=t'; meta=Meta_monadic_lift (src, dst, _)} -> - if lid_equals src PC.effect_PURE_lid && - lid_equals dst PC.effect_DIV_lid - then unmeta_div_results t' - else t - - | Tm_meta {tm=t'; meta=Meta_monadic (m, _)} -> - if lid_equals m PC.effect_DIV_lid - then unmeta_div_results t' - else t - - | Tm_meta {tm=t'} -> unmeta_div_results t' - - | Tm_ascribed {tm=t'} -> unmeta_div_results t' - - | _ -> t - -(* Eta-expand to make F# happy *) -let embed (e:embedding 'a) x = e.em x -let unembed (e:embedding 'a) t = e.un (unmeta_div_results t) //strip meta first -let warn_unembed (e:embedding 'a) t n = unembed e t true n -let try_unembed (e:embedding 'a) t n = unembed e t false n -let type_of (e:embedding 'a) = e.typ -let set_type ty (e:embedding 'a) = { e with typ = ty } - -let embed_as (ea:embedding 'a) (ab : 'a -> 'b) (ba : 'b -> 'a) (o:option typ) = - mk_emb_full (fun (x:'b) -> embed ea (ba x)) - (fun (t:term) w cb -> BU.map_opt (unembed ea t w cb) ab) - (match o with | Some t -> t | _ -> type_of ea) - (fun (x:'b) -> BU.format1 "(embed_as>> %s)\n" (ea.print (ba x))) - ea.emb_typ - let lazy_embed (pa:printer 'a) (et:emb_typ) rng ta (x:'a) (f:unit -> term) = if !Options.debug_embedding then BU.print3 "Embedding a %s\n\temb_typ=%s\n\tvalue is %s\n" @@ -218,7 +146,7 @@ let lazy_embed (pa:printer 'a) (et:emb_typ) rng ta (x:'a) (f:unit -> term) = U.mk_lazy x S.tun (Lazy_embedding (et, thunk)) (Some rng) let lazy_unembed (pa:printer 'a) (et:emb_typ) (x:term) (ta:term) (f:term -> option 'a) : option 'a = - let x = SS.compress x in + let x = unmeta_div_results x in match x.n with | Tm_lazy {blob=b; lkind=Lazy_embedding (et', t)} -> if et <> et' @@ -231,7 +159,7 @@ let lazy_unembed (pa:printer 'a) (et:emb_typ) (x:term) (ta:term) (f:term -> opti (match res with None -> "None" | Some x -> "Some " ^ (pa x)) in res - else let a = FStar.Compiler.Dyn.undyn b in + else let a = Dyn.undyn b in let _ = if !Options.debug_embedding then BU.print2 "Unembed cancelled for %s\n\tvalue is %s\n" (Print.emb_typ_to_string et) @@ -250,13 +178,13 @@ let lazy_unembed (pa:printer 'a) (et:emb_typ) (x:term) (ta:term) (f:term -> opti let mk_any_emb typ = let em = fun t _r _shadow _norm -> - if !Options.debug_embedding - then BU.print1 "Embedding abstract: %s\n" (unknown_printer typ t); + if !Options.debug_embedding then + BU.print1 "Embedding abstract: %s\n" (unknown_printer typ t); t in - let un = fun t _w _n -> - if !Options.debug_embedding - then BU.print1 "Unembedding abstract: %s\n" (unknown_printer typ t); + let un = fun t _n -> + if !Options.debug_embedding then + BU.print1 "Unembedding abstract: %s\n" (unknown_printer typ t); Some t in mk_emb_full @@ -268,7 +196,7 @@ let mk_any_emb typ = let e_any = let em = fun t _r _shadow _norm -> t in - let un = fun t _w _n -> Some t in + let un = fun t _n -> Some t in mk_emb_full em un @@ -278,14 +206,11 @@ let e_any = let e_unit = let em (u:unit) rng _shadow _norm : term = { U.exp_unit with pos = rng } in - let un (t0:term) (w:bool) _norm : option unit = + let un (t0:term) _norm : option unit = let t = U.unascribe t0 in match t.n with | S.Tm_constant C.Const_unit -> Some () - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, BU.format1 "Not an embedded unit: %s" (Print.term_to_string t)); - None + | _ -> None in mk_emb_full em @@ -299,14 +224,10 @@ let e_bool = let t = if b then U.exp_true_bool else U.exp_false_bool in { t with pos = rng } in - let un (t0:term) (w:bool) _norm : option bool = - let t = unmeta_div_results t0 in - match t.n with + let un (t:term) _norm : option bool = + match (SS.compress t).n with | Tm_constant(FStar.Const.Const_bool b) -> Some b - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, BU.format1 "Not an embedded bool: %s" (Print.term_to_string t0)); - None + | _ -> None in mk_emb_full em @@ -320,14 +241,10 @@ let e_char = let t = U.exp_char c in { t with pos = rng } in - let un (t0:term) (w:bool) _norm : option char = - let t = unmeta_div_results t0 in - match t.n with + let un (t:term) _norm : option char = + match (SS.compress t).n with | Tm_constant(FStar.Const.Const_char c) -> Some c - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, BU.format1 "Not an embedded char: %s" (Print.term_to_string t0)); - None + | _ -> None in mk_emb_full em @@ -348,8 +265,7 @@ let e_int = i (fun () -> U.exp_int (Z.string_of_big_int i)) in - let un (t0:term) (w:bool) _norm : option Z.t = - let t = unmeta_div_results t0 in + let un (t:term) _norm : option Z.t = lazy_unembed BigInt.string_of_big_int emb_t_int @@ -357,12 +273,8 @@ let e_int = ty (fun t -> match t.n with - | Tm_constant(FStar.Const.Const_int (s, _)) -> - Some (Z.big_int_of_string s) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded int: %s" (Print.term_to_string t0))); - None) + | Tm_constant(FStar.Const.Const_int (s, _)) -> Some (Z.big_int_of_string s) + | _ -> None) in mk_emb_full em @@ -379,14 +291,10 @@ let e_string = S.mk (Tm_constant(FStar.Const.Const_string(s, rng))) rng in - let un (t0:term) (w:bool) _norm : option string = - let t = unmeta_div_results t0 in - match t.n with + let un (t:term) _norm : option string = + match (SS.compress t).n with | Tm_constant(FStar.Const.Const_string(s, _)) -> Some s - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded string: %s" (Print.term_to_string t0))); - None + | _ -> None in mk_emb_full em @@ -398,9 +306,9 @@ let e_string = let e_option (ea : embedding 'a) = let typ = S.t_option_of (type_of ea) in let emb_t_option_a = - ET_app(PC.option_lid |> Ident.string_of_lid, [ea.emb_typ]) + ET_app(PC.option_lid |> Ident.string_of_lid, [emb_typ_of ea]) in - let printer = FStar.Common.string_of_option ea.print in + let printer = FStar.Common.string_of_option (printer_of ea) in let em (o:option 'a) (rng:range) shadow norm : term = lazy_embed printer @@ -427,8 +335,7 @@ let e_option (ea : embedding 'a) = [S.iarg (type_of ea); S.as_arg (embed ea a rng shadow_a norm)] rng) in - let un (t0:term) (w:bool) norm : option (option 'a) = - let t = unmeta_div_results t0 in + let un (t:term) norm : option (option 'a) = lazy_unembed printer emb_t_option_a @@ -439,11 +346,8 @@ let e_option (ea : embedding 'a) = match (U.un_uinst hd).n, args with | Tm_fvar fv, _ when S.fv_eq_lid fv PC.none_lid -> Some None | Tm_fvar fv, [_; (a, _)] when S.fv_eq_lid fv PC.some_lid -> - BU.bind_opt (unembed ea a w norm) (fun a -> Some (Some a)) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded option: %s" (Print.term_to_string t0))); - None) + BU.bind_opt (try_unembed ea a norm) (fun a -> Some (Some a)) + | _ -> None) in mk_emb_full em @@ -455,10 +359,10 @@ let e_option (ea : embedding 'a) = let e_tuple2 (ea:embedding 'a) (eb:embedding 'b) = let typ = S.t_tuple2_of (type_of ea) (type_of eb) in let emb_t_pair_a_b = - ET_app(PC.lid_tuple2 |> Ident.string_of_lid, [ea.emb_typ; eb.emb_typ]) + ET_app(PC.lid_tuple2 |> Ident.string_of_lid, [emb_typ_of ea; emb_typ_of eb]) in let printer (x, y) = - BU.format2 "(%s, %s)" (ea.print x) (eb.print y) + BU.format2 "(%s, %s)" (printer_of ea x) (printer_of eb y) in let em (x:('a * 'b)) (rng:range) shadow norm : term = lazy_embed @@ -486,8 +390,7 @@ let e_tuple2 (ea:embedding 'a) (eb:embedding 'b) = S.as_arg (embed eb (snd x) rng shadow_b norm)] rng) in - let un (t0:term) (w:bool) norm : option ('a * 'b) = - let t = unmeta_div_results t0 in + let un (t:term) norm : option ('a * 'b) = lazy_unembed printer emb_t_pair_a_b @@ -497,13 +400,10 @@ let e_tuple2 (ea:embedding 'a) (eb:embedding 'b) = let hd, args = U.head_and_args_full t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [_; _; (a, _); (b, _)] when S.fv_eq_lid fv PC.lid_Mktuple2 -> - BU.bind_opt (unembed ea a w norm) (fun a -> - BU.bind_opt (unembed eb b w norm) (fun b -> + BU.bind_opt (try_unembed ea a norm) (fun a -> + BU.bind_opt (try_unembed eb b norm) (fun b -> Some (a, b))) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded pair: %s" (Print.term_to_string t0))); - None) + | _ -> None) in mk_emb_full em @@ -515,10 +415,10 @@ let e_tuple2 (ea:embedding 'a) (eb:embedding 'b) = let e_tuple3 (ea:embedding 'a) (eb:embedding 'b) (ec:embedding 'c) = let typ = S.t_tuple3_of (type_of ea) (type_of eb) (type_of ec) in let emb_t_pair_a_b_c = - ET_app(PC.lid_tuple3 |> Ident.string_of_lid, [ea.emb_typ; eb.emb_typ; ec.emb_typ]) + ET_app(PC.lid_tuple3 |> Ident.string_of_lid, [emb_typ_of ea; emb_typ_of eb; emb_typ_of ec]) in let printer (x, y, z) = - BU.format3 "(%s, %s, %s)" (ea.print x) (eb.print y) (ec.print z) + BU.format3 "(%s, %s, %s)" (printer_of ea x) (printer_of eb y) (printer_of ec z) in let em ((x1, x2, x3):('a * 'b * 'c)) (rng:range) shadow norm : term = lazy_embed @@ -550,8 +450,7 @@ let e_tuple3 (ea:embedding 'a) (eb:embedding 'b) (ec:embedding 'c) = S.as_arg (embed ec x3 rng shadow_c norm)] rng) in - let un (t0:term) (w:bool) norm : option ('a * 'b * 'c) = - let t = unmeta_div_results t0 in + let un (t:term) norm : option ('a * 'b * 'c) = lazy_unembed printer emb_t_pair_a_b_c @@ -561,14 +460,11 @@ let e_tuple3 (ea:embedding 'a) (eb:embedding 'b) (ec:embedding 'c) = let hd, args = U.head_and_args_full t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [_; _; _; (a, _); (b, _); (c, _)] when S.fv_eq_lid fv PC.lid_Mktuple3 -> - BU.bind_opt (unembed ea a w norm) (fun a -> - BU.bind_opt (unembed eb b w norm) (fun b -> - BU.bind_opt (unembed ec c w norm) (fun c -> + BU.bind_opt (try_unembed ea a norm) (fun a -> + BU.bind_opt (try_unembed eb b norm) (fun b -> + BU.bind_opt (try_unembed ec c norm) (fun c -> Some (a, b, c)))) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded pair: %s" (Print.term_to_string t0))); - None) + | _ -> None) in mk_emb_full em @@ -580,12 +476,12 @@ let e_tuple3 (ea:embedding 'a) (eb:embedding 'b) (ec:embedding 'c) = let e_either (ea:embedding 'a) (eb:embedding 'b) = let typ = S.t_either_of (type_of ea) (type_of eb) in let emb_t_sum_a_b = - ET_app(PC.either_lid |> Ident.string_of_lid, [ea.emb_typ; eb.emb_typ]) + ET_app(PC.either_lid |> Ident.string_of_lid, [emb_typ_of ea; emb_typ_of eb]) in let printer s = match s with - | Inl a -> BU.format1 "Inl %s" (ea.print a) - | Inr b -> BU.format1 "Inr %s" (eb.print b) + | Inl a -> BU.format1 "Inl %s" (printer_of ea a) + | Inr b -> BU.format1 "Inr %s" (printer_of eb b) in let em (s:either 'a 'b) (rng:range) shadow norm : term = lazy_embed @@ -628,8 +524,7 @@ let e_either (ea:embedding 'a) (eb:embedding 'b) = rng) ) in - let un (t0:term) (w:bool) norm : option (either 'a 'b) = - let t = unmeta_div_results t0 in + let un (t:term) norm : option (either 'a 'b) = lazy_unembed printer emb_t_sum_a_b @@ -639,14 +534,12 @@ let e_either (ea:embedding 'a) (eb:embedding 'b) = let hd, args = U.head_and_args_full t in match (U.un_uinst hd).n, args with | Tm_fvar fv, [_; _; (a, _)] when S.fv_eq_lid fv PC.inl_lid -> - BU.bind_opt (unembed ea a w norm) (fun a -> + BU.bind_opt (try_unembed ea a norm) (fun a -> Some (Inl a)) | Tm_fvar fv, [_; _; (b, _)] when S.fv_eq_lid fv PC.inr_lid -> - BU.bind_opt (unembed eb b w norm) (fun b -> + BU.bind_opt (try_unembed eb b norm) (fun b -> Some (Inr b)) | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded sum: %s" (Print.term_to_string t0))); None) in mk_emb_full @@ -659,10 +552,10 @@ let e_either (ea:embedding 'a) (eb:embedding 'b) = let e_list (ea:embedding 'a) = let typ = S.t_list_of (type_of ea) in let emb_t_list_a = - ET_app(PC.list_lid |> Ident.string_of_lid, [ea.emb_typ]) + ET_app(PC.list_lid |> Ident.string_of_lid, [emb_typ_of ea]) in let printer = - (fun (l:list 'a) -> "[" ^ (List.map ea.print l |> String.concat "; ") ^ "]") + (fun (l:list 'a) -> "[" ^ (List.map (printer_of ea) l |> String.concat "; ") ^ "]") in let rec em (l:list 'a) (rng:range) shadow_l norm : term = lazy_embed @@ -699,8 +592,7 @@ let e_list (ea:embedding 'a) = S.as_arg (em tl rng shadow_tl norm)] rng) in - let rec un (t0:term) (w:bool) norm : option (list 'a) = - let t = unmeta_div_results t0 in + let rec un (t:term) norm : option (list 'a) = lazy_unembed printer emb_t_list_a @@ -715,12 +607,10 @@ let e_list (ea:embedding 'a) = | Tm_fvar fv, [(_, Some ({aqual_implicit=true})); (hd, None); (tl, None)] | Tm_fvar fv, [(hd, None); (tl, None)] when S.fv_eq_lid fv PC.cons_lid -> - BU.bind_opt (unembed ea hd w norm) (fun hd -> - BU.bind_opt (un tl w norm) (fun tl -> + BU.bind_opt (try_unembed ea hd norm) (fun hd -> + BU.bind_opt (un tl norm) (fun tl -> Some (hd :: tl))) | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, BU.format1 "Not an embedded list: %s" (Print.term_to_string t0)); None) in mk_emb_full @@ -729,7 +619,7 @@ let e_list (ea:embedding 'a) = typ printer emb_t_list_a - + let e_string_list = e_list e_string (* the steps as terms *) @@ -751,11 +641,11 @@ let steps_Unascribe = tconst PC.steps_unascribe let steps_NBE = tconst PC.steps_nbe let steps_Unmeta = tconst PC.steps_unmeta -let e_norm_step = +let e_norm_step : embedding Pervasives.norm_step = let typ = S.t_norm_step in let emb_t_norm_step = ET_app (PC.norm_step_lid |> Ident.string_of_lid, []) in let printer _ = "norm_step" in - let em (n:norm_step) (rng:range) _shadow norm : term = + let em (n:Pervasives.norm_step) (rng:range) _shadow norm : term = lazy_embed printer emb_t_norm_step @@ -803,12 +693,11 @@ let e_norm_step = | UnfoldNamespace l -> S.mk_Tm_app steps_UnfoldNamespace [S.as_arg (embed (e_list e_string) l rng None norm)] rng - + ) in - let un (t0:term) (w:bool) norm : option norm_step = - let t = unmeta_div_results t0 in + let un (t:term) norm : option Pervasives.norm_step = lazy_unembed printer emb_t_norm_step @@ -842,24 +731,21 @@ let e_norm_step = | Tm_fvar fv, [] when S.fv_eq_lid fv PC.steps_reify -> Some Reify | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldonly -> - BU.bind_opt (unembed (e_list e_string) l w norm) (fun ss -> + BU.bind_opt (try_unembed (e_list e_string) l norm) (fun ss -> Some <| UnfoldOnly ss) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldfully -> - BU.bind_opt (unembed (e_list e_string) l w norm) (fun ss -> + BU.bind_opt (try_unembed (e_list e_string) l norm) (fun ss -> Some <| UnfoldFully ss) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldattr -> - BU.bind_opt (unembed (e_list e_string) l w norm) (fun ss -> + BU.bind_opt (try_unembed (e_list e_string) l norm) (fun ss -> Some <| UnfoldAttr ss) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldqual -> - BU.bind_opt (unembed (e_list e_string) l w norm) (fun ss -> + BU.bind_opt (try_unembed (e_list e_string) l norm) (fun ss -> Some <| UnfoldQual ss) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldnamespace -> - BU.bind_opt (unembed (e_list e_string) l w norm) (fun ss -> + BU.bind_opt (try_unembed (e_list e_string) l norm) (fun ss -> Some <| UnfoldNamespace ss) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded norm_step: %s" (Print.term_to_string t0))); - None) + | _ -> None) in mk_emb_full em @@ -868,47 +754,6 @@ let e_norm_step = printer emb_t_norm_step -let e_range = - let em (r:range) (rng:range) _shadow _norm : term = - S.mk (Tm_constant (C.Const_range r)) rng - in - let un (t0:term) (w:bool) _norm : option range = - let t = unmeta_div_results t0 in - match t.n with - | Tm_constant (C.Const_range r) -> Some r - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded range: %s" (Print.term_to_string t0))); - None - in - mk_emb_full - em - un - S.t_range - Range.string_of_range - (ET_app (PC.range_lid |> Ident.string_of_lid, [])) - -let e_issue = - let t_issue = S.fv_to_tm (S.lid_as_fv PC.issue_lid None) in - let em (i:FStar.Errors.issue) (rng:range) _shadow _norm : term = - U.mk_lazy i t_issue Lazy_issue (Some rng) - in - let un (t0:term) (w:bool) _norm : option FStar.Errors.issue = - let t = unmeta_div_results t0 in - match t.n with - | Tm_lazy { lkind = Lazy_issue; blob } -> Some (Dyn.undyn blob) - | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded issue: %s" (Print.term_to_string t0))); - None - in - mk_emb_full - em - un - t_issue - (fun i -> BU.format1 "%s" (FStar.Errors.format_issue i)) - (ET_app (PC.issue_lid |> Ident.string_of_lid, [])) - let e_vconfig = let em (vcfg:vconfig) (rng:Range.range) _shadow norm : term = (* The order is very important here, even if this is a record. *) @@ -933,7 +778,7 @@ let e_vconfig = S.as_arg (embed e_bool vcfg.no_plugins rng None norm); S.as_arg (embed e_bool vcfg.no_tactics rng None norm); S.as_arg (embed e_string_list vcfg.z3cliopt rng None norm); - S.as_arg (embed e_string_list vcfg.z3smtopt rng None norm); + S.as_arg (embed e_string_list vcfg.z3smtopt rng None norm); S.as_arg (embed e_bool vcfg.z3refresh rng None norm); S.as_arg (embed e_fsint vcfg.z3rlimit rng None norm); S.as_arg (embed e_fsint vcfg.z3rlimit_factor rng None norm); @@ -943,8 +788,7 @@ let e_vconfig = ] rng in - let un (t0:term) (w:bool) norm : option vconfig = - let t = U.unascribe t0 in + let un (t:term) norm : option vconfig = let hd, args = U.head_and_args t in match (U.un_uinst hd).n, args with (* Sigh *) @@ -969,7 +813,7 @@ let e_vconfig = (no_plugins, _); (no_tactics, _); (z3cliopt, _); - (z3smtopt, _); + (z3smtopt, _); (z3refresh, _); (z3rlimit, _); (z3rlimit_factor, _); @@ -977,33 +821,33 @@ let e_vconfig = (trivial_pre_for_unannotated_effectful_fns, _); (reuse_hint_for, _) ] when S.fv_eq_lid fv PC.mkvconfig_lid -> - BU.bind_opt (unembed e_fsint initial_fuel w norm) (fun initial_fuel -> - BU.bind_opt (unembed e_fsint max_fuel w norm) (fun max_fuel -> - BU.bind_opt (unembed e_fsint initial_ifuel w norm) (fun initial_ifuel -> - BU.bind_opt (unembed e_fsint max_ifuel w norm) (fun max_ifuel -> - BU.bind_opt (unembed e_bool detail_errors w norm) (fun detail_errors -> - BU.bind_opt (unembed e_bool detail_hint_replay w norm) (fun detail_hint_replay -> - BU.bind_opt (unembed e_bool no_smt w norm) (fun no_smt -> - BU.bind_opt (unembed e_fsint quake_lo w norm) (fun quake_lo -> - BU.bind_opt (unembed e_fsint quake_hi w norm) (fun quake_hi -> - BU.bind_opt (unembed e_bool quake_keep w norm) (fun quake_keep -> - BU.bind_opt (unembed e_bool retry w norm) (fun retry -> - BU.bind_opt (unembed e_bool smtencoding_elim_box w norm) (fun smtencoding_elim_box -> - BU.bind_opt (unembed e_string smtencoding_nl_arith_repr w norm) (fun smtencoding_nl_arith_repr -> - BU.bind_opt (unembed e_string smtencoding_l_arith_repr w norm) (fun smtencoding_l_arith_repr -> - BU.bind_opt (unembed e_bool smtencoding_valid_intro w norm) (fun smtencoding_valid_intro -> - BU.bind_opt (unembed e_bool smtencoding_valid_elim w norm) (fun smtencoding_valid_elim -> - BU.bind_opt (unembed e_bool tcnorm w norm) (fun tcnorm -> - BU.bind_opt (unembed e_bool no_plugins w norm) (fun no_plugins -> - BU.bind_opt (unembed e_bool no_tactics w norm) (fun no_tactics -> - BU.bind_opt (unembed e_string_list z3cliopt w norm) (fun z3cliopt -> - BU.bind_opt (unembed e_string_list z3smtopt w norm) (fun z3smtopt -> - BU.bind_opt (unembed e_bool z3refresh w norm) (fun z3refresh -> - BU.bind_opt (unembed e_fsint z3rlimit w norm) (fun z3rlimit -> - BU.bind_opt (unembed e_fsint z3rlimit_factor w norm) (fun z3rlimit_factor -> - BU.bind_opt (unembed e_fsint z3seed w norm) (fun z3seed -> - BU.bind_opt (unembed e_bool trivial_pre_for_unannotated_effectful_fns w norm) (fun trivial_pre_for_unannotated_effectful_fns -> - BU.bind_opt (unembed (e_option e_string) reuse_hint_for w norm) (fun reuse_hint_for -> + BU.bind_opt (try_unembed e_fsint initial_fuel norm) (fun initial_fuel -> + BU.bind_opt (try_unembed e_fsint max_fuel norm) (fun max_fuel -> + BU.bind_opt (try_unembed e_fsint initial_ifuel norm) (fun initial_ifuel -> + BU.bind_opt (try_unembed e_fsint max_ifuel norm) (fun max_ifuel -> + BU.bind_opt (try_unembed e_bool detail_errors norm) (fun detail_errors -> + BU.bind_opt (try_unembed e_bool detail_hint_replay norm) (fun detail_hint_replay -> + BU.bind_opt (try_unembed e_bool no_smt norm) (fun no_smt -> + BU.bind_opt (try_unembed e_fsint quake_lo norm) (fun quake_lo -> + BU.bind_opt (try_unembed e_fsint quake_hi norm) (fun quake_hi -> + BU.bind_opt (try_unembed e_bool quake_keep norm) (fun quake_keep -> + BU.bind_opt (try_unembed e_bool retry norm) (fun retry -> + BU.bind_opt (try_unembed e_bool smtencoding_elim_box norm) (fun smtencoding_elim_box -> + BU.bind_opt (try_unembed e_string smtencoding_nl_arith_repr norm) (fun smtencoding_nl_arith_repr -> + BU.bind_opt (try_unembed e_string smtencoding_l_arith_repr norm) (fun smtencoding_l_arith_repr -> + BU.bind_opt (try_unembed e_bool smtencoding_valid_intro norm) (fun smtencoding_valid_intro -> + BU.bind_opt (try_unembed e_bool smtencoding_valid_elim norm) (fun smtencoding_valid_elim -> + BU.bind_opt (try_unembed e_bool tcnorm norm) (fun tcnorm -> + BU.bind_opt (try_unembed e_bool no_plugins norm) (fun no_plugins -> + BU.bind_opt (try_unembed e_bool no_tactics norm) (fun no_tactics -> + BU.bind_opt (try_unembed e_string_list z3cliopt norm) (fun z3cliopt -> + BU.bind_opt (try_unembed e_string_list z3smtopt norm) (fun z3smtopt -> + BU.bind_opt (try_unembed e_bool z3refresh norm) (fun z3refresh -> + BU.bind_opt (try_unembed e_fsint z3rlimit norm) (fun z3rlimit -> + BU.bind_opt (try_unembed e_fsint z3rlimit_factor norm) (fun z3rlimit_factor -> + BU.bind_opt (try_unembed e_fsint z3seed norm) (fun z3seed -> + BU.bind_opt (try_unembed e_bool trivial_pre_for_unannotated_effectful_fns norm) (fun trivial_pre_for_unannotated_effectful_fns -> + BU.bind_opt (try_unembed (e_option e_string) reuse_hint_for norm) (fun reuse_hint_for -> Some ({ initial_fuel = initial_fuel; max_fuel = max_fuel; @@ -1034,8 +878,6 @@ let e_vconfig = reuse_hint_for = reuse_hint_for; })))))))))))))))))))))))))))) | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded vconfig: %s" (Print.term_to_string t0))); None in mk_emb_full @@ -1052,11 +894,11 @@ let or_else (f: option 'a) (g:unit -> 'a) = let e_arrow (ea:embedding 'a) (eb:embedding 'b) : embedding ('a -> 'b) = let typ = - S.mk (Tm_arrow {bs=[S.mk_binder (S.null_bv ea.typ)]; - comp=S.mk_Total eb.typ}) + S.mk (Tm_arrow {bs=[S.mk_binder (S.null_bv (type_of ea))]; + comp=S.mk_Total (type_of eb)}) Range.dummyRange in - let emb_t_arr_a_b = ET_fun(ea.emb_typ, eb.emb_typ) in + let emb_t_arr_a_b = ET_fun(emb_typ_of ea, emb_typ_of eb) in let printer (f:'a -> 'b) = "" in let em (f:'a -> 'b) rng shadow_f norm = // let f_wrapped (x:term) = @@ -1093,7 +935,7 @@ let e_arrow (ea:embedding 'a) (eb:embedding 'b) : embedding ('a -> 'b) = (BU.stack_dump()); res) in - let un (f:term) w norm : option ('a -> 'b) = + let un (f:term) norm : option ('a -> 'b) = lazy_unembed printer emb_t_arr_a_b @@ -1107,7 +949,7 @@ let e_arrow (ea:embedding 'a) (eb:embedding 'b) : embedding ('a -> 'b) = (BU.stack_dump()); let a_tm = embed ea a f.pos None norm in let b_tm = norm (Inr (S.mk_Tm_app f [S.as_arg a_tm] f.pos)) in - match unembed eb b_tm w norm with + match unembed eb b_tm norm with | None -> raise Unembedding_failure | Some b -> b in @@ -1123,9 +965,9 @@ let e_arrow (ea:embedding 'a) (eb:embedding 'b) : embedding ('a -> 'b) = let e_sealed (ea : embedding 'a) : embedding 'a = let typ = S.t_sealed_of (type_of ea) in let emb_ty_a = - ET_app(PC.sealed_lid |> Ident.string_of_lid, [ea.emb_typ]) + ET_app(PC.sealed_lid |> Ident.string_of_lid, [emb_typ_of ea]) in - let printer x = "(seal " ^ ea.print x ^ ")" in + let printer x = "(seal " ^ printer_of ea x ^ ")" in let em (a:'a) (rng:range) shadow norm : term = lazy_embed printer @@ -1142,12 +984,11 @@ let e_sealed (ea : embedding 'a) : embedding 'a = [S.iarg (type_of ea); S.as_arg t] rng) in - S.mk_Tm_app (S.mk_Tm_uinst (S.tdataconstr PC.seal_lid) [U_zero]) + S.mk_Tm_app (S.mk_Tm_uinst (U.fvar_const PC.seal_lid) [U_zero]) [S.iarg (type_of ea); S.as_arg (embed ea a rng shadow_a norm)] rng) in - let un (t0:term) (w:bool) norm : option (option 'a) = - let t = unmeta_div_results t0 in + let un (t:term) norm : option (option 'a) = lazy_unembed printer emb_ty_a @@ -1158,10 +999,8 @@ let e_sealed (ea : embedding 'a) : embedding 'a = match (U.un_uinst hd).n, args with | Tm_fvar fv, [_; (a, _)] when S.fv_eq_lid fv PC.seal_lid -> // Just relay it - unembed ea a w norm + try_unembed ea a norm | _ -> - if w then - Err.log_issue t0.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded seal %s" (Print.term_to_string t0))); None) in mk_emb_full @@ -1171,6 +1010,31 @@ let e_sealed (ea : embedding 'a) : embedding 'a = printer emb_ty_a +(* + * Embed a range as a FStar.Range.__range + * The user usually manipulates a FStar.Range.range = sealed __range + * See also e_range below. + *) +let e___range = + let em (r:range) (rng:range) _shadow _norm : term = + S.mk (Tm_constant (C.Const_range r)) rng + in + let un (t:term) _norm : option range = + match (SS.compress t).n with + | Tm_constant (C.Const_range r) -> Some r + | _ -> None + in + mk_emb_full + em + un + S.t___range + Range.string_of_range + (ET_app (PC.range_lid |> Ident.string_of_lid, [])) + +let e_range = e_sealed e___range + +let e_issue : embedding Err.issue = e_lazy Lazy_issue (S.fvar PC.issue_lid None) + ///////////////////////////////////////////////////////////////////// //Registering top-level functions ///////////////////////////////////////////////////////////////////// @@ -1187,7 +1051,7 @@ let arrow_as_prim_step_1 (ea:embedding 'a) (eb:embedding 'b) Some (Thunk.mk (fun () -> S.mk_Tm_app (norm (Inl fv_lid)) args rng)) in match - (BU.map_opt (unembed ea x true norm) (fun x -> + (BU.map_opt (try_unembed ea x norm) (fun x -> embed eb (f x) rng shadow_app norm)) with // NB: this always returns a Some @@ -1208,8 +1072,8 @@ let arrow_as_prim_step_2 (ea:embedding 'a) (eb:embedding 'b) (ec:embedding 'c) Some (Thunk.mk (fun () -> S.mk_Tm_app (norm (Inl fv_lid)) args rng)) in match - (BU.bind_opt (unembed ea x true norm) (fun x -> - BU.bind_opt (unembed eb y true norm) (fun y -> + (BU.bind_opt (try_unembed ea x norm) (fun x -> + BU.bind_opt (try_unembed eb y norm) (fun y -> Some (embed ec (f x y) rng shadow_app norm)))) with // NB: this always returns a Some @@ -1231,9 +1095,9 @@ let arrow_as_prim_step_3 (ea:embedding 'a) (eb:embedding 'b) Some (Thunk.mk (fun () -> S.mk_Tm_app (norm (Inl fv_lid)) args rng)) in match - (BU.bind_opt (unembed ea x true norm) (fun x -> - BU.bind_opt (unembed eb y true norm) (fun y -> - BU.bind_opt (unembed ec z true norm) (fun z -> + (BU.bind_opt (try_unembed ea x norm) (fun x -> + BU.bind_opt (try_unembed eb y norm) (fun y -> + BU.bind_opt (try_unembed ec z norm) (fun z -> Some (embed ed (f x y z) rng shadow_app norm))))) with // NB: this always returns a Some diff --git a/src/syntax/FStar.Syntax.Embeddings.fsti b/src/syntax/FStar.Syntax.Embeddings.fsti index 68d12522f4c..847f0cbb8ad 100644 --- a/src/syntax/FStar.Syntax.Embeddings.fsti +++ b/src/syntax/FStar.Syntax.Embeddings.fsti @@ -16,102 +16,20 @@ module FStar.Syntax.Embeddings -open FStar open FStar.Compiler +open FStar +open FStar.Compiler open FStar.Pervasives open FStar.Compiler.Effect open FStar.Syntax.Syntax open FStar.Char open FStar.VConfig +include FStar.Syntax.Embeddings.Base + module Range = FStar.Compiler.Range module Z = FStar.BigInt module BU = FStar.Compiler.Util -(* TODO: Find a better home for these *) -type norm_step = - | Simpl - | Weak - | HNF - | Primops - | Delta - | Zeta - | ZetaFull - | Iota - | Reify - | UnfoldOnly of list string - | UnfoldFully of list string - | UnfoldAttr of list string - | UnfoldQual of list string - | UnfoldNamespace of list string - | Unascribe - | NBE - | Unmeta - -type norm_cb = either Ident.lident term -> term // a callback to the normalizer - -type shadow_term = option (Thunk.t term) - -type embed_t = FStar.Compiler.Range.range -> shadow_term -> norm_cb -> term -type unembed_t 'a = bool -> norm_cb -> option 'a // bool = whether we should warn on a failure - -type raw_embedder 'a = 'a -> embed_t -type raw_unembedder 'a = term -> unembed_t 'a - -val steps_Simpl : term -val steps_Weak : term -val steps_HNF : term -val steps_Primops : term -val steps_Delta : term -val steps_Zeta : term -val steps_ZetaFull : term -val steps_Iota : term -val steps_Reify : term -val steps_UnfoldOnly : term -val steps_UnfoldFully : term -val steps_UnfoldAttr : term -val steps_Unascribe : term -val steps_NBE : term -val steps_Unmeta : term - -(* - * Unmbedding functions return an option because they might fail - * to interpret the given term as valid data. The `try_` version will - * simply return None in that case, but the unsafe one will also raise a - * warning, and should be used only where we really expect to always be - * able to unembed. - *) - -val id_norm_cb : norm_cb -exception Embedding_failure -exception Unembedding_failure - -val embedding (a:Type0) : Type0 -val emb_typ_of: embedding 'a -> emb_typ -val term_as_fv: term -> fv //partial! -val mk_emb : raw_embedder 'a -> raw_unembedder 'a -> fv -> embedding 'a -val mk_emb_full: raw_embedder 'a - -> raw_unembedder 'a - -> typ - -> ('a -> string) - -> emb_typ - -> embedding 'a - - -// embed: turning a value into a term (compiler internals -> userland) -// unembed: interpreting a term as a value, which can fail (userland -> compiler internals) -val embed : embedding 'a -> 'a -> embed_t -val unembed : embedding 'a -> term -> unembed_t 'a -val warn_unembed : embedding 'a -> term -> norm_cb -> option 'a -val try_unembed : embedding 'a -> term -> norm_cb -> option 'a -val type_of : embedding 'a -> typ -val set_type : typ -> embedding 'a -> embedding 'a - -val embed_as : embedding 'a -> - ('a -> 'b) -> - ('b -> 'a) -> - option typ -> (* optionally change the type *) - embedding 'b - (* Embeddings, both ways and containing type information *) val e_any : embedding term // an identity val e_unit : embedding unit @@ -120,10 +38,8 @@ val e_char : embedding char val e_int : embedding Z.t val e_fsint : embedding int val e_string : embedding string -val e_norm_step : embedding norm_step -val e_range : embedding Range.range +val e_norm_step : embedding Pervasives.norm_step val e_vconfig : embedding vconfig -val e_issue : embedding FStar.Errors.issue val e_option : embedding 'a -> embedding (option 'a) val e_list : embedding 'a -> embedding (list 'a) @@ -134,6 +50,10 @@ val e_string_list : embedding (list string) val e_arrow : embedding 'a -> embedding 'b -> embedding ('a -> 'b) val e_sealed : embedding 'a -> embedding 'a +val e___range : embedding Range.range (* unsealed *) +val e_range : embedding Range.range (* sealed *) +val e_issue : embedding FStar.Errors.issue + val mk_any_emb : typ -> embedding term (* Arity specific raw_embeddings of arrows; used to generate top-level diff --git a/src/syntax/FStar.Syntax.MutRecTy.fst b/src/syntax/FStar.Syntax.MutRecTy.fst index bccd503e7b5..ded1f5e8acc 100644 --- a/src/syntax/FStar.Syntax.MutRecTy.fst +++ b/src/syntax/FStar.Syntax.MutRecTy.fst @@ -45,9 +45,19 @@ let disentangle_abbrevs_from_bundle (rng: FStar.Compiler.Range.range) : sigelt * list sigelt = - (* JP: not the best strategy... TODO think about how we want to merge - * attributes in this case. *) - let sigattrs = List.collect (fun s -> s.sigattrs) sigelts in + (* NS: Attributes on the type constructors and abbreviation are gathered, + and placed on the bundle. + Attributes on the data constructors do not propagate to the bundle. *) + let sigattrs = + List.collect + (fun s -> + match s.sigel with + | Sig_inductive_typ _ + | Sig_let _ -> s.sigattrs + | _ -> []) + sigelts + in + let sigattrs = FStar.Syntax.Util.deduplicate_terms sigattrs in (* Gather the list of type abbrevs *) let type_abbrev_sigelts = sigelts |> List.collect begin fun x -> match x.sigel with diff --git a/src/syntax/FStar.Syntax.Print.fst b/src/syntax/FStar.Syntax.Print.fst index 58276f5f9ad..e57c663a324 100644 --- a/src/syntax/FStar.Syntax.Print.fst +++ b/src/syntax/FStar.Syntax.Print.fst @@ -658,12 +658,17 @@ let layered_eff_combinators_to_string combs = ; l_bind = %s\n\ ; l_subcomp = %s\n\ ; l_if_then_else = %s\n + %s }\n" [ to_str2 combs.l_repr; to_str2 combs.l_return; to_str combs.l_bind; to_str combs.l_subcomp; - to_str combs.l_if_then_else ] + to_str combs.l_if_then_else; + + (if None? combs.l_close then "" + else U.format1 "; l_close = %s\n" (combs.l_close |> must |> to_str2)); + ] let eff_combinators_to_string = function | Primitive_eff combs diff --git a/src/syntax/FStar.Syntax.Subst.fst b/src/syntax/FStar.Syntax.Subst.fst index 1767f7cf927..844dc394c88 100644 --- a/src/syntax/FStar.Syntax.Subst.fst +++ b/src/syntax/FStar.Syntax.Subst.fst @@ -128,6 +128,8 @@ let rec compress_univ u = match u with let subst_bv a s = U.find_map s (function | DB (i, x) when (i=a.index) -> Some (bv_to_name (Syntax.set_range_of_bv x (Syntax.range_of_bv a))) + | DT (i, t) when (i=a.index) -> + Some t | _ -> None) let subst_nm a s = U.find_map s (function | NM (x, i) when bv_eq a x -> Some (bv_to_tm ({a with index=i})) @@ -278,6 +280,7 @@ let subst_ascription' s (asc:ascription) = let shift n s = match s with | DB(i, t) -> DB(i+n, t) + | DT(i, t) -> DT(i+n, t) | UN(i, t) -> UN(i+n, t) | NM(x, i) -> NM(x, i+n) | UD(x, i) -> UD(x, i+n) diff --git a/src/syntax/FStar.Syntax.Syntax.fst b/src/syntax/FStar.Syntax.Syntax.fst index e931909a9b4..e9ad03593ee 100644 --- a/src/syntax/FStar.Syntax.Syntax.fst +++ b/src/syntax/FStar.Syntax.Syntax.fst @@ -175,9 +175,12 @@ let argpos (x:arg) = (fst x).pos let tun : term = mk (Tm_unknown) dummyRange let teff : term = mk (Tm_constant Const_effect) dummyRange + +(* no compress call? *) let is_teff (t:term) = match t.n with | Tm_constant Const_effect -> true | _ -> false +(* no compress call? *) let is_type (t:term) = match t.n with | Tm_type _ -> true | _ -> false @@ -316,6 +319,7 @@ let t_real = tconst PC.real_lid let t_float = tconst PC.float_lid let t_char = tabbrev PC.char_lid let t_range = tconst PC.range_lid +let t___range = tconst PC.__range_lid let t_vconfig = tconst PC.vconfig_lid let t_term = tconst PC.term_lid let t_term_view = tabbrev PC.term_view_lid diff --git a/src/syntax/FStar.Syntax.Syntax.fsti b/src/syntax/FStar.Syntax.Syntax.fsti index 471e89547e4..7baf9ce5a7c 100644 --- a/src/syntax/FStar.Syntax.Syntax.fsti +++ b/src/syntax/FStar.Syntax.Syntax.fsti @@ -344,7 +344,8 @@ and letbindings = bool * list letbinding (* let recs may have more than o and subst_ts = list (list subst_elt) (* A composition of parallel substitutions *) * maybe_set_use_range (* and a maybe range update, Some r, to set the use_range of subterms to r.def_range *) and subst_elt = - | DB of int * bv (* DB i t: replace a bound variable with index i with name bv *) + | DB of int * bv (* DB i bv: replace a bound variable with index i with name bv *) + | DT of int * term (* DT i t: replace a bound variable with index i for term *) | NM of bv * int (* NM x i: replace a local name with a bound variable i *) | NT of bv * term (* NT x t: replace a local name with a term t *) | UN of int * universe (* UN u v: replace universes variable u with universe term v *) @@ -395,6 +396,7 @@ and lazyinfo = { and lazy_kind = | BadLazy | Lazy_bv + | Lazy_namedv | Lazy_binder | Lazy_optionstate | Lazy_fvar @@ -409,6 +411,7 @@ and lazy_kind = | Lazy_universe | Lazy_universe_uvar | Lazy_issue + | Lazy_ident and binding = | Binding_var of bv | Binding_lid of lident * (univ_names * typ) @@ -553,6 +556,10 @@ type wp_eff_combinators = { * * Additionally, bind, subcomp, and if_then_else have a combinator kind, * this is also set to None in desugaring and set during typechecking the effect + * + * The close combinator is optional + * If it is not provided as part of the effect declaration, + * the typechecker also does not synthesize it (unlike if-then-else and subcomp) *) type layered_eff_combinators = { l_repr : (tscheme * tscheme); @@ -560,6 +567,7 @@ type layered_eff_combinators = { l_bind : (tscheme * tscheme * option indexed_effect_combinator_kind); l_subcomp : (tscheme * tscheme * option indexed_effect_combinator_kind); l_if_then_else : (tscheme * tscheme * option indexed_effect_combinator_kind); + l_close : option (tscheme * tscheme) } type eff_combinators = @@ -846,6 +854,7 @@ val t_real : term val t_float : term val t_char : term val t_range : term +val t___range : term val t_vconfig : term val t_norm_step : term val t_term : term diff --git a/src/syntax/FStar.Syntax.Util.fst b/src/syntax/FStar.Syntax.Util.fst index 270b572ad58..9a0ff755b6d 100644 --- a/src/syntax/FStar.Syntax.Util.fst +++ b/src/syntax/FStar.Syntax.Util.fst @@ -468,10 +468,12 @@ let unlazy_emb t = end | _ -> t +(* NOTE: Lazy_embedding compares false to itself, by design. *) let eq_lazy_kind k k' = match k, k' with | BadLazy, BadLazy | Lazy_bv, Lazy_bv + | Lazy_namedv, Lazy_namedv | Lazy_binder, Lazy_binder | Lazy_optionstate, Lazy_optionstate | Lazy_fvar, Lazy_fvar @@ -481,14 +483,21 @@ let eq_lazy_kind k k' = | Lazy_goal, Lazy_goal | Lazy_sigelt, Lazy_sigelt | Lazy_letbinding, Lazy_letbinding - | Lazy_uvar, Lazy_uvar -> true - | Lazy_issue, Lazy_issue -> true - | _ -> false + | Lazy_uvar, Lazy_uvar + | Lazy_universe, Lazy_universe + | Lazy_universe_uvar, Lazy_universe_uvar + | Lazy_issue, Lazy_issue + | Lazy_ident, Lazy_ident + -> true + | Lazy_embedding _, _ + | _, Lazy_embedding _ -> false + | _ -> failwith "FIXME! eq_lazy_kind must be complete" let lazy_kind_to_string k = match k with | BadLazy -> "BadLazy" | Lazy_bv -> "Lazy_bv" + | Lazy_namedv -> "Lazy_namedv" | Lazy_binder -> "Lazy_binder" | Lazy_optionstate -> "Lazy_optionstate" | Lazy_fvar -> "Lazy_fvar" @@ -499,8 +508,12 @@ let lazy_kind_to_string k = | Lazy_sigelt -> "Lazy_sigelt" | Lazy_letbinding -> "Lazy_letbinding" | Lazy_uvar -> "Lazy_uvar" + | Lazy_universe -> "Lazy_universe" + | Lazy_universe_uvar -> "Lazy_universe_uvar" | Lazy_issue -> "Lazy_issue" - | _ -> "Unknown" + | Lazy_ident -> "Lazy_ident" + | Lazy_embedding _ -> "Lazy_embedding _" + | _ -> failwith "FIXME! lazy_kind_to_string must be complete" let unlazy_as_t k t = match (compress t).n with @@ -517,7 +530,7 @@ let mk_lazy (t : 'a) (typ : typ) (k : lazy_kind) (r : option range) : term = let i = { lkind = k; blob = mkdyn t; - ltyp = typ; + ltyp = typ; rng = rng; } in mk (Tm_lazy i) rng @@ -2375,7 +2388,8 @@ let apply_layered_eff_combinators (f:tscheme -> tscheme) (combs:layered_eff_comb l_return = map2 combs.l_return; l_bind = map3 combs.l_bind; l_subcomp = map3 combs.l_subcomp; - l_if_then_else = map3 combs.l_if_then_else } + l_if_then_else = map3 combs.l_if_then_else; + l_close = map_option map2 combs.l_close; } let apply_eff_combinators (f:tscheme -> tscheme) (combs:eff_combinators) : eff_combinators = match combs with @@ -2383,6 +2397,12 @@ let apply_eff_combinators (f:tscheme -> tscheme) (combs:eff_combinators) : eff_c | DM4F_eff combs -> DM4F_eff (apply_wp_eff_combinators f combs) | Layered_eff combs -> Layered_eff (apply_layered_eff_combinators f combs) +let get_layered_close_combinator (ed:eff_decl) : option tscheme = + match ed.combinators with + | Layered_eff {l_close=None} -> None + | Layered_eff {l_close=Some (ts, _)} -> Some ts + | _ -> None + let get_wp_close_combinator (ed:eff_decl) : option tscheme = match ed.combinators with | Primitive_eff combs @@ -2559,3 +2579,6 @@ let is_binder_strictly_positive (b:binder) = let is_binder_unused (b:binder) = b.binder_positivity = Some BinderUnused + +let deduplicate_terms (l:list term) = + FStar.Compiler.List.deduplicate (fun x y -> eq_tm x y = Equal) l \ No newline at end of file diff --git a/src/syntax/FStar.Syntax.Visit.fst b/src/syntax/FStar.Syntax.Visit.fst index 6574a3277b6..a7163a96a0a 100644 --- a/src/syntax/FStar.Syntax.Visit.fst +++ b/src/syntax/FStar.Syntax.Visit.fst @@ -282,11 +282,12 @@ let on_sub_wp_eff_combinators vfs (wpcs : wp_eff_combinators) : wp_eff_combinato let on_sub_layered_eff_combinators vfs (lecs : layered_eff_combinators) : layered_eff_combinators = let f_tscheme = f_tscheme vfs in { - l_repr = on_tuple2 f_tscheme f_tscheme lecs.l_repr; - l_return = on_tuple2 f_tscheme f_tscheme lecs.l_return; - l_bind = on_tuple3 f_tscheme f_tscheme id lecs.l_bind; - l_subcomp = on_tuple3 f_tscheme f_tscheme id lecs.l_subcomp; - l_if_then_else = on_tuple3 f_tscheme f_tscheme id lecs.l_if_then_else; + l_repr = on_tuple2 f_tscheme f_tscheme lecs.l_repr; + l_return = on_tuple2 f_tscheme f_tscheme lecs.l_return; + l_bind = on_tuple3 f_tscheme f_tscheme id lecs.l_bind; + l_subcomp = on_tuple3 f_tscheme f_tscheme id lecs.l_subcomp; + l_if_then_else = on_tuple3 f_tscheme f_tscheme id lecs.l_if_then_else; + l_close = map_option (on_tuple2 f_tscheme f_tscheme) lecs.l_close; } let on_sub_combinators vfs (cbs : eff_combinators) : eff_combinators = diff --git a/src/tactics/FStar.Tactics.CtrlRewrite.fst b/src/tactics/FStar.Tactics.CtrlRewrite.fst index 77153acb517..43311ea8be4 100644 --- a/src/tactics/FStar.Tactics.CtrlRewrite.fst +++ b/src/tactics/FStar.Tactics.CtrlRewrite.fst @@ -21,12 +21,11 @@ open FStar.Compiler.Effect open FStar.Compiler.List open FStar.Compiler open FStar.Compiler.Util -open FStar.Reflection.Data -open FStar.Reflection.Basic +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Builtins open FStar.Tactics.Result open FStar.TypeChecker.Common open FStar.TypeChecker.Env -open FStar.Tactics.Basic open FStar.Tactics.Types open FStar.Tactics.Monad open FStar.Tactics.Common @@ -113,7 +112,7 @@ let __do_rewrite let! ut, uvar_t = new_uvar "do_rewrite.rhs" env typ should_check - (goal_typedness_deps g0) + (FStar.Tactics.V2.Basic.goal_typedness_deps g0) (rangeof g0) in if_verbose (fun () -> @@ -125,7 +124,8 @@ let __do_rewrite env (U.mk_eq2 (env.universe_of env typ) typ tm ut) None ;! - focus rewriter ;! + (* v1 and v2 match *) + FStar.Tactics.V2.Basic.focus rewriter ;! // Try to get rid of all the unification lambdas let ut = N.reduce_uvar_solutions env ut in if_verbose (fun () -> @@ -423,6 +423,6 @@ let ctrl_rewrite BU.print1 "ctrl_rewrite seems to have succeded with %s\n" (Print.term_to_string gt')) ;! push_goals gs ;! - let g = goal_with_type g gt' in + let g = V2.Basic.goal_with_type g gt' in add_goals [g] ) diff --git a/src/tactics/FStar.Tactics.Embedding.fst b/src/tactics/FStar.Tactics.Embedding.fst index 0fe780a9492..e87a461e7ff 100644 --- a/src/tactics/FStar.Tactics.Embedding.fst +++ b/src/tactics/FStar.Tactics.Embedding.fst @@ -15,6 +15,7 @@ *) module FStar.Tactics.Embedding + open FStar open FStar.Compiler open FStar.Pervasives @@ -24,28 +25,18 @@ open FStar.Syntax.Embeddings open FStar.Compiler.Util open FStar.Tactics.Common -module S = FStar.Syntax.Syntax -module SS = FStar.Syntax.Subst -module PC = FStar.Parser.Const -module Env = FStar.TypeChecker.Env -module BU = FStar.Compiler.Util -module C = FStar.Const -module U = FStar.Syntax.Util -module Rel = FStar.TypeChecker.Rel -module Print = FStar.Syntax.Print -module TcUtil = FStar.TypeChecker.Util -module N = FStar.TypeChecker.Normalize -module Err = FStar.Errors -module NBETerm = FStar.TypeChecker.NBETerm -module NBET = FStar.TypeChecker.NBETerm -module NBE = FStar.TypeChecker.NBE - open FStar.Tactics.Types open FStar.Tactics.Result -open FStar.Tactics.Basic -open FStar.Reflection.Basic -open FStar.Reflection.Data +module BU = FStar.Compiler.Util +module Err = FStar.Errors +module NBE = FStar.TypeChecker.NBE +module NBETerm = FStar.TypeChecker.NBETerm +module NBET = FStar.TypeChecker.NBETerm +module PC = FStar.Parser.Const +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module U = FStar.Syntax.Util type name = bv @@ -113,13 +104,13 @@ let fstar_tactics_Force = fstar_tactics_data ["Types"; "Force"] let mk_emb (em: Range.range -> 'a -> term) - (un: bool -> term -> option 'a) + (un: term -> option 'a) (t: term) = mk_emb (fun x r _topt _norm -> em r x) - (fun x w _norm -> un w x) + (fun x _norm -> un x) (FStar.Syntax.Embeddings.term_as_fv t) let embed e r x = FStar.Syntax.Embeddings.embed e x r None id_norm_cb -let unembed' w e x = FStar.Syntax.Embeddings.unembed e x w id_norm_cb +let unembed' e x = FStar.Syntax.Embeddings.unembed e x id_norm_cb let t_result_of t = U.mk_app fstar_tactics_result.t [S.as_arg t] // TODO: uinst on t_result? @@ -128,27 +119,15 @@ let hd'_and_args tm = let hd, args = U.head_and_args tm in (U.un_uinst hd).n, args -let e_proofstate = - let embed_proofstate (rng:Range.range) (ps:proofstate) : term = - U.mk_lazy ps fstar_tactics_proofstate.t Lazy_proofstate (Some rng) - in - let unembed_proofstate w (t:term) : option proofstate = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_proofstate} -> - Some <| FStar.Compiler.Dyn.undyn b - | _ -> - if w then - Err.log_issue t.pos - (Err.Warning_NotEmbedded, - BU.format1 "Not an embedded proofstate: %s\n" - (Print.term_to_string t)); - None - in - mk_emb embed_proofstate unembed_proofstate fstar_tactics_proofstate.t +let e_proofstate : embedding proofstate = e_lazy Lazy_proofstate fstar_tactics_proofstate.t +let e_goal : embedding goal = e_lazy Lazy_goal fstar_tactics_goal.t let unfold_lazy_proofstate (i : lazyinfo) : term = U.exp_string "(((proofstate)))" +let unfold_lazy_goal (i : lazyinfo) : term = + U.exp_string "(((goal)))" + (* PLEASE NOTE: Construct and FV accumulate their arguments BACKWARDS. That is, * the expression (f 1 2) is stored as FV (f, [], [Constant (Int 2); Constant (Int 1)]. * So be careful when calling mkFV/mkConstruct and matching on them. *) @@ -185,24 +164,6 @@ let e_proofstate_nbe = ; NBETerm.typ = mkFV fstar_tactics_proofstate.fv [] [] ; NBETerm.emb_typ = fv_as_emb_typ fstar_tactics_proofstate.fv } -let e_goal = - let embed_goal (rng:Range.range) (g:goal) : term = - U.mk_lazy g fstar_tactics_goal.t Lazy_goal (Some rng) - in - let unembed_goal w (t:term) : option goal = - match (SS.compress t).n with - | Tm_lazy {blob=b; lkind=Lazy_goal} -> - Some <| FStar.Compiler.Dyn.undyn b - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded goal: %s" (Print.term_to_string t))); - None - in - mk_emb embed_goal unembed_goal fstar_tactics_goal.t - -let unfold_lazy_goal (i : lazyinfo) : term = - U.exp_string "(((goal)))" - let e_goal_nbe = let embed_goal _cb (ps:goal) : NBETerm.t = let li = { lkind = Lazy_goal @@ -242,10 +203,10 @@ let e_exn : embedding exn = [S.as_arg (embed e_string rng s)] rng in - let unembed_exn (t:term) w _ : option exn = + let unembed_exn (t:term) _ : option exn = match hd'_and_args t with | Tm_fvar fv, [(s, _)] when S.fv_eq_lid fv fstar_tactics_TacticFailure.lid -> - BU.bind_opt (unembed' w e_string s) (fun s -> + BU.bind_opt (unembed' e_string s) (fun s -> Some (TacticFailure s)) | _ -> @@ -301,22 +262,19 @@ let e_result (ea : embedding 'a) = S.as_arg (embed e_proofstate rng ps)] rng in - let unembed_result (t:term) w _ : option (__result 'a) = + let unembed_result (t:term) _ : option (__result 'a) = match hd'_and_args t with | Tm_fvar fv, [_t; (a, _); (ps, _)] when S.fv_eq_lid fv fstar_tactics_Success.lid -> - BU.bind_opt (unembed' w ea a) (fun a -> - BU.bind_opt (unembed' w e_proofstate ps) (fun ps -> + BU.bind_opt (unembed' ea a) (fun a -> + BU.bind_opt (unembed' e_proofstate ps) (fun ps -> Some (Success (a, ps)))) | Tm_fvar fv, [_t; (e, _); (ps, _)] when S.fv_eq_lid fv fstar_tactics_Failed.lid -> - BU.bind_opt (unembed' w e_exn e) (fun e -> - BU.bind_opt (unembed' w e_proofstate ps) (fun ps -> + BU.bind_opt (unembed' e_exn e) (fun e -> + BU.bind_opt (unembed' e_proofstate ps) (fun ps -> Some (Failed (e, ps)))) - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded tactic result: %s" (Print.term_to_string t))); - None + | _ -> None in mk_emb_full embed_result @@ -367,14 +325,11 @@ let e_direction = | TopDown -> fstar_tactics_topdown.t | BottomUp -> fstar_tactics_bottomup.t in - let unembed_direction w (t : term) : option direction = + let unembed_direction (t : term) : option direction = match (SS.compress t).n with | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_topdown.lid -> Some TopDown | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_bottomup.lid -> Some BottomUp - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded direction: %s" (Print.term_to_string t))); - None + | _ -> None in mk_emb embed_direction unembed_direction fstar_tactics_direction.t @@ -405,15 +360,12 @@ let e_ctrl_flag = | Skip -> fstar_tactics_Skip.t | Abort -> fstar_tactics_Abort.t in - let unembed_ctrl_flag w (t : term) : option ctrl_flag = + let unembed_ctrl_flag (t : term) : option ctrl_flag = match (SS.compress t).n with | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Continue.lid -> Some Continue | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Skip.lid -> Some Skip | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Abort.lid -> Some Abort - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded ctrl_flag: %s" (Print.term_to_string t))); - None + | _ -> None in mk_emb embed_ctrl_flag unembed_ctrl_flag fstar_tactics_ctrl_flag.t @@ -448,16 +400,13 @@ let e_unfold_side = | Both -> fstar_tactics_unfold_side_Both.t | Neither -> fstar_tactics_unfold_side_Neither.t in - let unembed_unfold_side w (t : term) : option side = + let unembed_unfold_side (t : term) : option side = match (SS.compress t).n with | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_unfold_side_Left.lid -> Some Left | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_unfold_side_Right.lid -> Some Right | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_unfold_side_Both.lid -> Some Both | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_unfold_side_Neither.lid -> Some Neither | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, - BU.format1 "Not an embedded unfold_side: %s" (Print.term_to_string t)); None in mk_emb embed_unfold_side unembed_unfold_side fstar_tactics_unfold_side.t @@ -494,15 +443,11 @@ let e_tot_or_ghost = | E_Total -> fstar_tactics_tot_or_ghost_ETotal.t | E_Ghost -> fstar_tactics_tot_or_ghost_EGhost.t in - let unembed_tot_or_ghost w (t : term) : option tot_or_ghost = + let unembed_tot_or_ghost (t : term) : option tot_or_ghost = match (SS.compress t).n with | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_tot_or_ghost_ETotal.lid -> Some E_Total | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_tot_or_ghost_EGhost.lid -> Some E_Ghost - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, - BU.format1 "Not an embedded tot_or_ghost: %s" (Print.term_to_string t)); - None + | _ -> None in mk_emb embed_tot_or_ghost unembed_tot_or_ghost fstar_tactics_tot_or_ghost.t @@ -535,16 +480,13 @@ let e_guard_policy = | Force -> fstar_tactics_Force.t | Drop -> fstar_tactics_Drop.t in - let unembed_guard_policy w (t : term) : option guard_policy = + let unembed_guard_policy (t : term) : option guard_policy = match (SS.compress t).n with | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_SMT.lid -> Some SMT | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Goal.lid -> Some Goal | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Force.lid -> Some Force | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Drop.lid -> Some Drop - | _ -> - if w then - Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded guard_policy: %s" (Print.term_to_string t))); - None + | _ -> None in mk_emb embed_guard_policy unembed_guard_policy fstar_tactics_guard_policy.t diff --git a/src/tactics/FStar.Tactics.Hooks.fst b/src/tactics/FStar.Tactics.Hooks.fst index 18cef1148c1..8d8a7b6b2d0 100644 --- a/src/tactics/FStar.Tactics.Hooks.fst +++ b/src/tactics/FStar.Tactics.Hooks.fst @@ -27,8 +27,8 @@ open FStar.Syntax.Embeddings open FStar.TypeChecker.Env open FStar.TypeChecker.Common open FStar.Tactics.Types -open FStar.Tactics.Basic -open FStar.Tactics.Interpreter +open FStar.Tactics.V1.Interpreter +open FStar.Tactics.V2.Interpreter module BU = FStar.Compiler.Util module Range = FStar.Compiler.Range @@ -44,7 +44,10 @@ module Env = FStar.TypeChecker.Env module TcUtil = FStar.TypeChecker.Util module TcRel = FStar.TypeChecker.Rel module TcTerm = FStar.TypeChecker.TcTerm -module RE = FStar.Reflection.Embeddings + +(* We only use the _abstract_ embeddings from this module, +hence there is no v1/v2 distinction. *) +module RE = FStar.Reflection.V2.Embeddings let run_tactic_on_typ (rng_tac : Range.range) (rng_goal : Range.range) @@ -53,7 +56,7 @@ let run_tactic_on_typ * term // witness = let rng = range_of_rng (use_range rng_goal) (use_range rng_tac) in - let ps, w = proofstate_of_goal_ty rng env typ in + let ps, w = FStar.Tactics.V2.Basic.proofstate_of_goal_ty rng env typ in let tactic_already_typed = false in let gs, _res = run_tactic_on_ps rng_tac rng_goal false e_unit () e_unit tactic tactic_already_typed ps in gs, w @@ -63,7 +66,7 @@ let run_tactic_on_all_implicits (tactic:term) (env:Env.env) (imps:Env.implicits) : list goal // remaining goals = - let ps, _ = proofstate_of_all_implicits rng_goal env imps in + let ps, _ = FStar.Tactics.V2.Basic.proofstate_of_all_implicits rng_goal env imps in let tactic_already_typed = false in let goals, () = run_tactic_on_ps @@ -824,7 +827,7 @@ let splice (env:Env.env) (is_typed:bool) (lids:list Ident.lident) (tau:term) (rn TcRel.force_trivial_guard env g; - let ps = proofstate_of_goals tau.pos env [] [] in + let ps = FStar.Tactics.V2.Basic.proofstate_of_goals tau.pos env [] [] in let tactic_already_typed = true in let gs, sigelts = if is_typed @@ -933,7 +936,7 @@ let mpreprocess (env:Env.env) (tau:term) (tm:term) : term = Errors.with_ctx "While preprocessing a definition with a tactic" (fun () -> if env.nosynth then tm else begin tacdbg := Env.debug env (O.Other "Tac"); - let ps = proofstate_of_goals tm.pos env [] [] in + let ps = FStar.Tactics.V2.Basic.proofstate_of_goals tm.pos env [] [] in let tactic_already_typed = false in let gs, tm = run_tactic_on_ps tau.pos tm.pos false RE.e_term tm RE.e_term tau tactic_already_typed ps in tm diff --git a/src/tactics/FStar.Tactics.Native.fsti b/src/tactics/FStar.Tactics.Native.fsti index 675664d146d..85a8ce15915 100644 --- a/src/tactics/FStar.Tactics.Native.fsti +++ b/src/tactics/FStar.Tactics.Native.fsti @@ -19,7 +19,6 @@ module FStar.Tactics.Native open FStar.Compiler.Range open FStar.Syntax.Syntax open FStar.Tactics.Types -open FStar.Tactics.Basic module Cfg = FStar.TypeChecker.Cfg module N = FStar.TypeChecker.Normalize diff --git a/src/tactics/FStar.Tactics.Types.fst b/src/tactics/FStar.Tactics.Types.fst index ea349bc95a3..6ee62973308 100644 --- a/src/tactics/FStar.Tactics.Types.fst +++ b/src/tactics/FStar.Tactics.Types.fst @@ -110,3 +110,9 @@ let get_phi (g:goal) : option term = let is_irrelevant (g:goal) : bool = Option.isSome (get_phi g) + +let subtyping_token (g:env) (t0 t1:typ) = unit +let equiv_token (g:env) (t0 t1:typ) = unit +let typing_token (g:env) (e:term) (c:tot_or_ghost & typ) = unit +let match_complete_token (g:env) (sc:term) (t:typ) (pats:list pattern) = unit +let issues = list FStar.Issue.issue diff --git a/src/tactics/FStar.Tactics.Types.fsti b/src/tactics/FStar.Tactics.Types.fsti index 04b980aefe0..3e0a34265dc 100644 --- a/src/tactics/FStar.Tactics.Types.fsti +++ b/src/tactics/FStar.Tactics.Types.fsti @@ -127,3 +127,12 @@ type unfold_side = type tot_or_ghost = | E_Total | E_Ghost + + +(*** These are here for userspace, the library has an interface into this module. *) +(* Typing reflection *) +val subtyping_token (g:env) (t0 t1:typ) : Type0 +val equiv_token (g:env) (t0 t1:typ) : Type0 +val typing_token (g:env) (e:term) (c:tot_or_ghost & typ) : Type0 +val match_complete_token (g:env) (sc:term) (t:typ) (pats:list pattern) : Type0 +let issues = list FStar.Issue.issue diff --git a/src/tactics/FStar.Tactics.Basic.fst b/src/tactics/FStar.Tactics.V1.Basic.fst similarity index 96% rename from src/tactics/FStar.Tactics.Basic.fst rename to src/tactics/FStar.Tactics.V1.Basic.fst index 7d5eb04b21c..3280d334541 100644 --- a/src/tactics/FStar.Tactics.Basic.fst +++ b/src/tactics/FStar.Tactics.V1.Basic.fst @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Tactics.Basic +module FStar.Tactics.V1.Basic open FStar open FStar.Compiler @@ -24,8 +24,8 @@ open FStar.Compiler.Util open FStar.Ident open FStar.TypeChecker.Env open FStar.TypeChecker.Common -open FStar.Reflection.Data -open FStar.Reflection.Basic +open FStar.Reflection.V1.Data +open FStar.Reflection.V1.Builtins open FStar.Tactics.Result open FStar.Tactics.Types open FStar.Tactics.Monad @@ -33,6 +33,8 @@ open FStar.Tactics.Printing open FStar.Syntax.Syntax open FStar.VConfig +friend FStar.Pervasives (* to use Delta below *) + module BU = FStar.Compiler.Util module Cfg = FStar.TypeChecker.Cfg module EMB = FStar.Syntax.Embeddings @@ -71,12 +73,12 @@ let core_check env sol t must_tot if Options.compat_pre_core_set () //core check the solution, but drop the guard, pre_core then Inl None else Inl (Some g) - + | Inr err -> - debug (fun _ -> + debug (fun _ -> BU.print5 "(%s) Core checking failed (%s) on term %s and type %s\n%s\n" - (Range.string_of_range (Env.get_range env)) + (Range.string_of_range (Env.get_range env)) (Core.print_error_short err) (Print.term_to_string sol) (Print.term_to_string t) @@ -90,7 +92,7 @@ type implicits = Env.implicits let rangeof g = g.goal_ctx_uvar.ctx_uvar_range // Beta reduce -let normalize s e t = N.normalize_with_primitive_steps FStar.Reflection.Interpreter.reflection_primops s e t +let normalize s e t = N.normalize_with_primitive_steps FStar.Reflection.V1.Interpreter.reflection_primops s e t let bnorm e t = normalize [] e t let whnf e t = N.unfold_whnf e t @@ -113,8 +115,8 @@ let mark_uvar_with_should_check_tag (u:ctx_uvar) (sc:should_check_uvar) let mark_uvar_as_already_checked (u:ctx_uvar) : unit = mark_uvar_with_should_check_tag u Already_checked - -let mark_goal_implicit_already_checked (g:goal) + +let mark_goal_implicit_already_checked (g:goal) : unit = mark_uvar_as_already_checked g.goal_ctx_uvar @@ -231,7 +233,7 @@ let proc_guard' (simplify:bool) (reason:string) (e : env) (g : guard_t) (sc_opt: let _ = match sc_opt with | Some (Allow_untyped r) -> - List.iter + List.iter (fun imp -> mark_uvar_with_should_check_tag imp.imp_uvar (Allow_untyped r)) g.implicits | _ -> () @@ -284,11 +286,11 @@ let proc_guard = proc_guard' true let tc_unifier_solved_implicits env (must_tot:bool) (allow_guards:bool) (uvs:list ctx_uvar) : tac unit = let aux (u:ctx_uvar) : tac unit = let dec = UF.find_decoration u.ctx_uvar_head in - let sc = dec.uvar_decoration_should_check in + let sc = dec.uvar_decoration_should_check in match sc with | Allow_untyped _ -> ret () - | Already_checked -> + | Already_checked -> ret () | _ -> match UF.find u.ctx_uvar_head with @@ -303,7 +305,7 @@ let tc_unifier_solved_implicits env (must_tot:bool) (allow_guards:bool) (uvs:lis //no need to check it again mark_uvar_as_already_checked u; ret () - + | Inl (Some g) -> let guard = { Env.trivial_guard with guard_f = NonTrivial g } in let guard = Rel.simplify_guard env guard in @@ -321,9 +323,9 @@ let tc_unifier_solved_implicits env (must_tot:bool) (allow_guards:bool) (uvs:lis mark_uvar_as_already_checked u; ret () ) - + | Inr failed -> - fail3 "Could not typecheck unifier solved implicit %s to %s because %s" + fail3 "Could not typecheck unifier solved implicit %s to %s because %s" (Print.uvar_to_string u.ctx_uvar_head) (Print.term_to_string sol) (Core.print_error failed) @@ -386,7 +388,7 @@ let __do_unify_wflags tc_unifier_solved_implicits env must_tot allow_guards all_uvars;! add_implicits g.implicits;! ret (Some g) - + with | Errors.Err (_, msg, _) -> begin mlog (fun () -> BU.print1 ">> do_unify error, (%s)\n" msg ) (fun _ -> ret None) @@ -424,7 +426,7 @@ let __do_unify let do_unify_aux (must_tot:bool) (check_side:check_unifier_solved_implicits_side) - (env:env) (t1:term) (t2:term) + (env:env) (t1:term) (t2:term) : tac bool = bind (__do_unify false must_tot check_side env t1 t2) (function | None -> ret false @@ -478,7 +480,7 @@ let do_match_on_lhs (must_tot:bool) (env:Env.env) (t1:term) (t2:term) : tac bool end else ret false )) - + (* set_solution: @@ -707,9 +709,9 @@ let intro () : tac binder = wrap_err "intro" <| ( //BU.print2 "[intro]: with binder = %s, new goal = %s" // (Print.binders_to_string ", " [b]) // (Print.term_to_string typ'); - let! body, ctx_uvar = - new_uvar "intro" env' typ' - (Some (should_check_goal_uvar goal)) + let! body, ctx_uvar = + new_uvar "intro" env' typ' + (Some (should_check_goal_uvar goal)) (goal_typedness_deps goal) (rangeof goal) in let sol = U.abs [b] body (Some (U.residual_comp_of_comp c)) in @@ -771,7 +773,7 @@ let intro_rec () : tac (binder * binder) = | None -> fail1 "intro_rec: goal is not an arrow (%s)" (tts (goal_env goal) (goal_type goal)) -let norm (s : list EMB.norm_step) : tac unit = +let norm (s : list Pervasives.norm_step) : tac unit = let! goal = cur_goal in if_verbose (fun () -> BU.print1 "norm: witness = %s\n" (Print.term_to_string (goal_witness goal))) ;! // Translate to actual normalizer steps @@ -781,7 +783,7 @@ let norm (s : list EMB.norm_step) : tac unit = replace_cur (goal_with_type goal t) -let norm_term_env (e : env) (s : list EMB.norm_step) (t : term) : tac term = wrap_err "norm_term" <| ( +let norm_term_env (e : env) (s : list Pervasives.norm_step) (t : term) : tac term = wrap_err "norm_term" <| ( let! ps = get in if_verbose (fun () -> BU.print1 "norm_term_env: t = %s\n" (Print.term_to_string t)) ;! // only for elaborating lifts and all that, we don't care if it's actually well-typed @@ -801,7 +803,7 @@ let refine_intro () : tac unit = wrap_err "refine_intro" <| ( //Mark goal as untyped, since we're adding its refinement as a separate goal mark_goal_implicit_already_checked g; let g1 = goal_with_type g t in - let bv, phi = + let bv, phi = let bvs, phi = SS.open_term [S.mk_binder bv] phi in (List.hd bvs).binder_bv, phi in @@ -849,7 +851,7 @@ let t_exact try_refine set_expected_typ tm : tac unit = wrap_err "exact" <| ( | Inl e when not (try_refine) -> traise e | Inl e -> if_verbose (fun () -> BU.print_string "__exact_now failed, trying refine...\n") ;! - match! catch (norm [EMB.Delta] ;! refine_intro () ;! __exact_now set_expected_typ tm) with + match! catch (norm [Pervasives.Delta] ;! refine_intro () ;! __exact_now set_expected_typ tm) with | Inr r -> if_verbose (fun () -> BU.print_string "__exact_now: failed after refining too\n") ;! ret r @@ -879,7 +881,7 @@ let try_unify_by_application (should_check:option should_check_uvar) match U.arrow_one ty1 with | None -> fail2 "Could not instantiate, %s to %s" (tts e ty1) (tts e ty2) - + | Some (b, c) -> if not (U.is_total_comp c) then fail "Codomain is effectful" else let! uvt, uv = new_uvar "apply arg" e b.binder_bv.sort should_check typedness_deps rng in @@ -896,7 +898,7 @@ let try_unify_by_application (should_check:option should_check_uvar) let apply_implicits_as_goals (env:Env.env) (gl:option goal) - (imps:list (term & ctx_uvar)) + (imps:list (term & ctx_uvar)) : tac (list (list goal)) = let one_implicit_as_goal (term, ctx_uvar) = @@ -904,7 +906,7 @@ let apply_implicits_as_goals match (SS.compress hd).n with | Tm_uvar (ctx_uvar, _) -> let gl = - match gl with + match gl with | None -> mk_goal env ctx_uvar (FStar.Options.peek()) true "goal for unsolved implicit" | Some gl -> { gl with goal_ctx_uvar = ctx_uvar } in //TODO: AR: what's happening here? let gl = bnorm_goal gl in @@ -944,7 +946,7 @@ let t_apply (uopt:bool) (only_match:bool) (tc_resolved_uvars:bool) (tm:term) : t let! goal = cur_goal in let e = goal_env goal in let should_check = should_check_goal_uvar goal in - Monad.register_goal goal; + Tactics.Monad.register_goal goal; let! tm, typ, guard = __tc e tm in if_verbose (fun () -> BU.print5 "t_apply: tm = %s\nt_apply: goal = %s\nenv.gamma=%s\ntyp=%s\nguard=%s\n" @@ -956,12 +958,12 @@ let t_apply (uopt:bool) (only_match:bool) (tc_resolved_uvars:bool) (tm:term) : t // Focus helps keep the goal order let typ = bnorm e typ in let! uvs = try_unify_by_application (Some should_check) only_match e typ (goal_type goal) (rangeof goal) in - if_verbose + if_verbose (fun () -> BU.print1 "t_apply: found args = %s\n" (FStar.Common.string_of_list (fun (t, _, _) -> Print.term_to_string t) uvs)) ;! let w = List.fold_right (fun (uvt, q, _) w -> U.mk_app w [(uvt, q)]) uvs tm in - let uvset = - List.fold_right + let uvset = + List.fold_right (fun (_, _, uv) s -> BU.set_union s (SF.uvars (U.ctx_uvar_typ uv))) uvs (SF.new_uv_set ()) @@ -976,7 +978,7 @@ let t_apply (uopt:bool) (only_match:bool) (tc_resolved_uvars:bool) (tm:term) : t //add the rest as goals // let uvt_uv_l = uvs |> List.map (fun (uvt, _q, uv) -> (uvt, uv)) in - let! sub_goals = + let! sub_goals = apply_implicits_as_goals e (Some goal) uvt_uv_l in let sub_goals = List.flatten sub_goals |> List.filter (fun g -> @@ -1022,14 +1024,14 @@ let t_apply_lemma (noinst:bool) (noinst_lhs:bool) in let! goal = cur_goal in let env = goal_env goal in - Monad.register_goal goal; + Tactics.Monad.register_goal goal; let! tm, t, guard = __tc env tm in let bs, comp = U.arrow_formals_comp t in match lemma_or_sq comp with | None -> fail "not a lemma or squashed function" | Some (pre, post) -> - let! uvs, _, implicits, subst = - fold_left + let! uvs, _, implicits, subst = + fold_left (fun ({binder_bv=b;binder_qual=aq}) (uvs, deps, imps, subst) -> let b_t = SS.subst subst b.sort in if is_unit_t b_t @@ -1092,7 +1094,7 @@ let t_apply_lemma (noinst:bool) (noinst_lhs:bool) end in let must_tot = false in - let! sub_goals = + let! sub_goals = apply_implicits_as_goals env (Some goal) implicits in let sub_goals = List.flatten sub_goals in // Optimization: if a uvar appears in a later goal, don't ask for it, since @@ -1143,17 +1145,17 @@ let subst_goal (b1 : bv) (b2 : bv) (g:goal) : tac (option (bv * goal)) = let b2 = (List.hd bs'').binder_bv in // (* Make a new goal in the new env (with new binders) *) - let! uvt, uv = new_uvar "subst_goal" new_env t'' + let! uvt, uv = new_uvar "subst_goal" new_env t'' (Some (should_check_goal_uvar g)) (goal_typedness_deps g) (rangeof g) in - + let goal' = mk_goal new_env uv g.opts g.is_guard g.label in (* Solve the old goal with an application of the new witness *) let sol = U.mk_app (U.abs bs'' uvt None) (List.map (fun ({binder_bv=bv;binder_qual=q}) -> S.as_arg (S.bv_to_name bv)) bs) in - + set_solution g sol ;! ret (Some (b2, goal')) @@ -1236,7 +1238,7 @@ let binder_retype (b : binder) : tac unit = wrap_err "binder_retype" <| ( let bvs = List.map (fun b -> { b with sort = SS.subst s b.sort }) bvs in let env' = Env.push_bvs e0 (bv''::bvs) in dismiss ;! - let new_goal = + let new_goal = goal_with_type (goal_with_env goal env') (SS.subst s (goal_type goal)) @@ -1248,7 +1250,7 @@ let binder_retype (b : binder) : tac unit = wrap_err "binder_retype" <| ( ) (* TODO: move to bv *) -let norm_binder_type (s : list EMB.norm_step) (b : binder) : tac unit = wrap_err "norm_binder_type" <| ( +let norm_binder_type (s : list Pervasives.norm_step) (b : binder) : tac unit = wrap_err "norm_binder_type" <| ( let! goal = cur_goal in let bv = b.binder_bv in match split_env bv (goal_env goal) with @@ -1267,7 +1269,7 @@ let revert () : tac unit = | None -> fail "Cannot revert; empty context" | Some (x, env') -> let typ' = U.arrow [S.mk_binder x] (mk_Total (goal_type goal)) in - let! r, u_r = + let! r, u_r = new_uvar "revert" env' typ' (Some (should_check_goal_uvar goal)) (goal_typedness_deps goal) @@ -1346,7 +1348,7 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = //1. If the uvars in the goal are Allow_untyped or Already_checked // then don't bother registering, since we will not recheck the solution. // - //2. If the goal is of the form `eq2 #ty ?u t` (or vice versa) + //2. If the goal is of the form `eq2 #ty ?u t` (or vice versa) // and we can prove that ty <: ?u.t // then the assignment of `?u := t` is going to be well-typed // without needing to recompute the type of `t` @@ -1373,8 +1375,8 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = if BU.for_all is_uvar_untyped_or_already_checked uvars then skip_register //all the uvars are already checked or untyped else ( - let head, args = - let t = + let head, args = + let t = match U.un_squash t with | None -> t | Some t -> t @@ -1386,7 +1388,7 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = when S.fv_eq_lid fv PC.eq2_lid -> if is_allow_untyped_uvar t1 || is_allow_untyped_uvar t2 then skip_register //if we have ?u=t or t=?u and ?u is allow_untyped, then skip - else if Monad.is_goal_safe_as_well_typed g //o.w., if the goal is well typed + else if Tactics.Monad.is_goal_safe_as_well_typed g //o.w., if the goal is well typed then ( //and the goal is of the shape // eq2 #ty ?u t or @@ -1397,7 +1399,7 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = // Note, from well-typedness of the goal, we already know ?u.ty <: ty let check_uvar_subtype u t = let env = { goal_env g with gamma = g.goal_ctx_uvar.ctx_uvar_gamma } in - match Core.compute_term_type_handle_guards env t false (fun _ _ -> true) + match Core.compute_term_type_handle_guards env t false (fun _ _ -> true) with | Inr _ -> false | Inl t_ty -> ( @@ -1417,7 +1419,7 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = if check_uvar_subtype u tu then skip_register else should_register - | _ -> + | _ -> should_register ) else should_register @@ -1428,8 +1430,8 @@ let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = let! g = cur_goal in let should_check = should_check_goal_uvar g in if should_register_trefl g - then Monad.register_goal g; - let must_tot = true in + then Tactics.Monad.register_goal g; + let must_tot = true in let attempt (l : term) (r : term) : tac bool = match! do_unify_maybe_guards allow_guards must_tot (goal_env g) l r with | None -> ret false @@ -1477,7 +1479,7 @@ let dup () : tac unit = let! g = cur_goal in let goal_sc = should_check_goal_uvar g in let env = goal_env g in - let! u, u_uvar = + let! u, u_uvar = new_uvar "dup" env (goal_type g) (Some (should_check_goal_uvar g)) (goal_typedness_deps g) @@ -1527,7 +1529,7 @@ let join_goals g1 g2 : tac goal = let t1 = close_forall_no_univs (Env.binders_of_bindings (List.rev r1)) phi1 in let t2 = close_forall_no_univs (Env.binders_of_bindings (List.rev r2)) phi2 in - let goal_sc = + let goal_sc = match should_check_goal_uvar g1, should_check_goal_uvar g2 with | Allow_untyped reason1, Allow_untyped _ -> Some (Allow_untyped reason1) | _ -> None @@ -1553,7 +1555,7 @@ let join () : tac unit = add_goals [g12] | _ -> fail "join: less than 2 goals" - + let set_options (s : string) : tac unit = wrap_err "set_options" <| ( let! g = cur_goal in @@ -1592,7 +1594,7 @@ let unquote (ty : term) (tm : term) : tac term = wrap_err "unquote" <| ( let uvar_env (env : env) (ty : option typ) : tac term = let! ps = get in // If no type was given, add a uvar for it too! - let! typ, g, r = + let! typ, g, r = match ty with | Some ty -> let env = Env.set_expected_typ env (U.type_u () |> fst) in @@ -1639,9 +1641,9 @@ let unshelve (t : term) : tac unit = wrap_err "unshelve" <| ( ) let tac_and (t1 : tac bool) (t2 : tac bool) : tac bool = - let comp = + let comp = match! t1 with - | true -> + | true -> (match! t2 with | true -> ret true | _ -> fail "") @@ -1743,7 +1745,7 @@ let t_destruct (s_tm : term) : tac (list (fv * Z.t)) = wrap_err "destruct" <| ( let s_ty = N.normalize [Env.UnfoldTac; Env.Weak; Env.HNF; Env.UnfoldUntil delta_constant] (goal_env g) s_ty in let h, args = U.head_and_args_full (U.unrefine s_ty) in - let! fv, a_us = + let! fv, a_us = match (SS.compress h).n with | Tm_fvar fv -> ret (fv, []) | Tm_uinst (h', us) -> @@ -2150,7 +2152,7 @@ let t_commute_applied_match () : tac unit = wrap_err "t_commute_applied_match" < U.comp_result c)}) in let l' = mk (Tm_match {scrutinee=e;ret_opt=asc_opt;brs=brs';rc_opt=lopt'}) l.pos in let must_tot = true in - match! do_unify_maybe_guards false must_tot (goal_env g) l' r with + begin match! do_unify_maybe_guards false must_tot (goal_env g) l' r with | None -> fail "discharging the equality failed" | Some guard -> if Env.is_trivial_guard_formula guard @@ -2160,6 +2162,7 @@ let t_commute_applied_match () : tac unit = wrap_err "t_commute_applied_match" < solve g U.exp_unit ) else failwith "internal error: _t_refl: guard is not trivial" + end | _ -> fail "lhs is not a match" end @@ -2271,7 +2274,18 @@ let dbg_refl (g:env) (msg:unit -> string) = let issues = list Errors.issue let refl_typing_builtin_wrapper (f:unit -> 'a) : tac (option 'a & issues) = let tx = UF.new_transaction () in - let errs, r = Errors.catch_errors_and_ignore_rest f in + let errs, r = + try Errors.catch_errors_and_ignore_rest f + with exn -> //catch everything + let issue = FStar.Errors.({ + issue_msg = BU.print_exn exn; + issue_level = EError; + issue_range = None; + issue_number = (Some 17); + issue_ctx = get_ctx () + }) in + [issue], None + in UF.rollback tx; if List.length errs > 0 then ret (None, errs) @@ -2290,7 +2304,7 @@ type relation = | Subtyping | Equality -let unexpected_uvars_issue r = +let unexpected_uvars_issue r = let open FStar.Errors in let i = { issue_level = EError; @@ -2418,7 +2432,7 @@ let refl_tc_term (g:env) (e:term) (eff:tot_or_ghost) : tac (option (term & typ) let e, _, guard = g.typeof_tot_or_gtot_term g e must_tot in Rel.force_trivial_guard g guard; e in - try + try begin let e = SC.deep_compress false e in // TODO: may be should we check here that e has no unresolved implicits? @@ -2446,7 +2460,7 @@ let refl_tc_term (g:env) (e:term) (eff:tot_or_ghost) : tac (option (term & typ) Errors.raise_error (Errors.Fatal_IllTyped, "UVars remaing in term after tc_term callback") e.pos) else ret (None, [unexpected_uvars_issue (Env.get_range g)]) - + let refl_universe_of (g:env) (e:term) : tac (option universe & issues) = let check_univ_var_resolved u = match SS.compress_univ u with @@ -2563,60 +2577,3 @@ let push_module_abbrev (e:env) (n:string) (m:list string) = let resolve_name (e:env) (n:list string) = let l = Ident.lid_of_path n Range.dummyRange in ret (FStar.Syntax.DsEnv.resolve_name e.dsenv l) - -(**** Creating proper environments and proofstates ****) - -let tac_env (env:Env.env) : Env.env = - let env, _ = Env.clear_expected_typ env in - let env = { env with Env.instantiate_imp = false } in - let env = { env with failhard = true } in - let env = { env with enable_defer_to_tac = false } in - env - -let proofstate_of_goals rng env goals imps = - let env = tac_env env in - let ps = { - main_context = env; - all_implicits = imps; - goals = goals; - smt_goals = []; - depth = 0; - __dump = do_dump_proofstate; - psc = Cfg.null_psc; - entry_range = rng; - guard_policy = SMT; - freshness = 0; - tac_verb_dbg = Env.debug env (Options.Other "TacVerbose"); - local_state = BU.psmap_empty (); - urgency = 1; - } - in - ps - -let proofstate_of_goal_ty rng env typ = - let env = tac_env env in - let g, g_u = goal_of_goal_ty env typ in - let ps = proofstate_of_goals rng env [g] g_u.implicits in - (ps, goal_witness g) - -let proofstate_of_all_implicits rng env imps = - let env = tac_env env in - let goals = List.map (goal_of_implicit env) imps in - let w = goal_witness (List.hd goals) in - let ps = { - main_context = env; - all_implicits = imps; - goals = goals; - smt_goals = []; - depth = 0; - __dump = do_dump_proofstate; - psc = Cfg.null_psc; - entry_range = rng; - guard_policy = SMT; - freshness = 0; - tac_verb_dbg = Env.debug env (Options.Other "TacVerbose"); - local_state = BU.psmap_empty (); - urgency = 1; - } - in - (ps, w) diff --git a/src/tactics/FStar.Tactics.Basic.fsti b/src/tactics/FStar.Tactics.V1.Basic.fsti similarity index 91% rename from src/tactics/FStar.Tactics.Basic.fsti rename to src/tactics/FStar.Tactics.V1.Basic.fsti index 803b694be84..cca8b0408d5 100644 --- a/src/tactics/FStar.Tactics.Basic.fsti +++ b/src/tactics/FStar.Tactics.V1.Basic.fsti @@ -14,7 +14,7 @@ limitations under the License. *) -module FStar.Tactics.Basic +module FStar.Tactics.V1.Basic (* This module implements the primitives in * ulib/FStar.Tactics.Builtins. It would be named @@ -25,12 +25,11 @@ module FStar.Tactics.Basic open FStar.Syntax.Syntax open FStar.TypeChecker.Env -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Tactics.Types open FStar.Tactics.Monad module BU = FStar.Compiler.Util -module EMB = FStar.Syntax.Embeddings module O = FStar.Options module Range = FStar.Compiler.Range module Z = FStar.BigInt @@ -40,12 +39,6 @@ module Core = FStar.TypeChecker.Core (* Internal utilities *) val goal_typedness_deps : goal -> list ctx_uvar -val proofstate_of_goals : Range.range -> env -> list goal -> list implicit -> proofstate -(* Returns proofstate and uvar for main witness *) -val proofstate_of_goal_ty : Range.range -> env -> typ -> proofstate * term - -val proofstate_of_all_implicits: Range.range -> env -> implicits -> proofstate * term - (* Helper *) val focus : tac 'a -> tac 'a @@ -59,9 +52,9 @@ val tc : env -> term -> tac typ val tcc : env -> term -> tac comp val unshelve : term -> tac unit val unquote : typ -> term -> tac term -val norm : list EMB.norm_step -> tac unit -val norm_term_env : env -> list EMB.norm_step -> term -> tac term -val norm_binder_type : list EMB.norm_step -> binder -> tac unit +val norm : list Pervasives.norm_step -> tac unit +val norm_term_env : env -> list Pervasives.norm_step -> term -> tac term +val norm_binder_type : list Pervasives.norm_step -> binder -> tac unit val intro : unit -> tac binder val intro_rec : unit -> tac (binder * binder) val rename_to : binder -> string -> tac binder diff --git a/src/tactics/FStar.Tactics.InterpFuns.fst b/src/tactics/FStar.Tactics.V1.InterpFuns.fst similarity index 99% rename from src/tactics/FStar.Tactics.InterpFuns.fst rename to src/tactics/FStar.Tactics.V1.InterpFuns.fst index f5ffc7b5595..3f025d9085a 100644 --- a/src/tactics/FStar.Tactics.InterpFuns.fst +++ b/src/tactics/FStar.Tactics.V1.InterpFuns.fst @@ -14,7 +14,7 @@ limitations under the License. *) -module FStar.Tactics.InterpFuns +module FStar.Tactics.V1.InterpFuns (* This module is awful, don't even look at it please. *) @@ -36,11 +36,10 @@ module BU = FStar.Compiler.Util module Print = FStar.Syntax.Print module Cfg = FStar.TypeChecker.Cfg module E = FStar.Tactics.Embedding -module RE = FStar.Reflection.Embeddings module NBETerm = FStar.TypeChecker.NBETerm module NBET = FStar.TypeChecker.NBETerm -let unembed e t n = FStar.Syntax.Embeddings.unembed e t true n +let unembed e t n = FStar.Syntax.Embeddings.unembed e t n let embed e rng t n = FStar.Syntax.Embeddings.embed e t rng None n let rec drop n l = @@ -65,7 +64,7 @@ let timing_nbe (l:Ident.lid) f = r let mk nm arity nunivs interp nbe_interp = - let nm = PC.fstar_tactics_lid' ["Builtins"; nm] in + let nm = PC.fstar_tactics_lid' ["V1"; "Builtins"; nm] in { Cfg.name = nm ; Cfg.arity = arity ; Cfg.univ_arity = nunivs @@ -77,7 +76,7 @@ let mk nm arity nunivs interp nbe_interp = } let mkt nm arity nunivs interp nbe_interp = - let nm = PC.fstar_tactics_lid' ["Builtins"; nm] in + let nm = PC.fstar_tactics_lid' ["V1"; "Builtins"; nm] in { Cfg.name = nm ; Cfg.arity = arity ; Cfg.univ_arity = nunivs diff --git a/src/tactics/FStar.Tactics.InterpFuns.fsti b/src/tactics/FStar.Tactics.V1.InterpFuns.fsti similarity index 99% rename from src/tactics/FStar.Tactics.InterpFuns.fsti rename to src/tactics/FStar.Tactics.V1.InterpFuns.fsti index ae65ac3a6e5..5c4cc36628b 100644 --- a/src/tactics/FStar.Tactics.InterpFuns.fsti +++ b/src/tactics/FStar.Tactics.V1.InterpFuns.fsti @@ -14,7 +14,7 @@ limitations under the License. *) -module FStar.Tactics.InterpFuns +module FStar.Tactics.V1.InterpFuns (* This module is awful, don't even look at it please. *) diff --git a/src/tactics/FStar.Tactics.V1.Interpreter.fst b/src/tactics/FStar.Tactics.V1.Interpreter.fst new file mode 100644 index 00000000000..1ca031abcca --- /dev/null +++ b/src/tactics/FStar.Tactics.V1.Interpreter.fst @@ -0,0 +1,646 @@ +(* + Copyright 2008-2016 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.Tactics.V1.Interpreter + +open FStar +open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Compiler.List +open FStar.Compiler.Range +open FStar.Compiler.Util +open FStar.Syntax.Syntax +open FStar.Syntax.Embeddings +open FStar.TypeChecker.Common +open FStar.TypeChecker.Env +open FStar.Tactics.Result +open FStar.Tactics.Types +open FStar.Tactics.Printing +open FStar.Tactics.Monad +open FStar.Tactics.V1.Basic +open FStar.Tactics.CtrlRewrite +open FStar.Tactics.V1.InterpFuns +open FStar.Tactics.Native +open FStar.Tactics.Common + +module BU = FStar.Compiler.Util +module Cfg = FStar.TypeChecker.Cfg +module E = FStar.Tactics.Embedding +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module NBE = FStar.TypeChecker.NBE +module NBET = FStar.TypeChecker.NBETerm +module N = FStar.TypeChecker.Normalize +module NRE = FStar.Reflection.V1.NBEEmbeddings +module Print = FStar.Syntax.Print +module RE = FStar.Reflection.V1.Embeddings +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module TcComm = FStar.TypeChecker.Common +module TcRel = FStar.TypeChecker.Rel +module TcTerm = FStar.TypeChecker.TcTerm +module U = FStar.Syntax.Util +module PC = FStar.Parser.Const + +let tacdbg = BU.mk_ref false + +let unembed ea a norm_cb = unembed ea a norm_cb +let embed ea r x norm_cb = embed ea x r None norm_cb + +let native_tactics_steps () = + let step_from_native_step (s: native_primitive_step): Cfg.primitive_step = + { Cfg.name = s.name + ; Cfg.arity = s.arity + ; Cfg.univ_arity = 0 // Zoe : We might need to change that + ; Cfg.auto_reflect = Some (s.arity - 1) + ; Cfg.strong_reduction_ok = s.strong_reduction_ok + ; Cfg.requires_binder_substitution = false // GM: Don't think we care about pretty-printing on native + ; Cfg.interpretation = (fun psc cb _us t -> s.tactic psc cb t) + ; Cfg.interpretation_nbe = fun _cb _us -> NBET.dummy_interp s.name + } + in + List.map step_from_native_step (FStar.Tactics.Native.list_all ()) + +(* mk_total_step_1/mk_total_step_2 uses names in FStar.Tactics.Builtins, we override these few who + * are in other modules: *) +let mk_total_step_1' uarity nm f ea er nf ena enr = + { mk_total_step_1 uarity nm f ea er nf ena enr + with Cfg.name = Ident.lid_of_str ("FStar.Tactics.Types." ^ nm) } + +let mk_total_step_1'_psc uarity nm f ea er nf ena enr = + { mk_total_step_1_psc uarity nm f ea er nf ena enr + with Cfg.name = Ident.lid_of_str ("FStar.Tactics.Types." ^ nm) } + +let mk_total_step_2' uarity nm f ea eb er nf ena enb enr = + { mk_total_step_2 uarity nm f ea eb er nf ena enb enr + with Cfg.name = Ident.lid_of_str ("FStar.Tactics.Types." ^ nm) } + +(* Just ask V2 *) +let primitive_steps () : list Cfg.primitive_step = + Tactics.V2.Interpreter.primitive_steps () + +(* This function attempts to reconstruct the reduction head of a +stuck tactic term, to provide a better error message for the user. *) +let rec t_head_of (t : term) : term = + match (SS.compress t).n with + | Tm_app _ -> + (* If the head is a ctor, or an uninterpreted fv, do not shrink + further. Otherwise we will get failures saying that 'Success' + or 'dump' got stuck, which is not helpful. *) + let h, args = U.head_and_args_full t in + let h = U.unmeta h in + begin match (SS.compress h).n with + | Tm_uinst _ + | Tm_fvar _ + | Tm_bvar _ // should not occur + | Tm_name _ + | Tm_constant _ -> t + | _ -> t_head_of h + end + | Tm_match {scrutinee=t} + | Tm_ascribed {tm=t} + | Tm_meta {tm=t} -> t_head_of t + | _ -> t + +let unembed_tactic_0 (eb:embedding 'b) (embedded_tac_b:term) (ncb:norm_cb) : tac 'b = + bind get (fun proof_state -> + let rng = embedded_tac_b.pos in + + (* First, reify it from Tac a into __tac a *) + let embedded_tac_b = U.mk_reify embedded_tac_b (Some PC.effect_TAC_lid) in + + let tm = S.mk_Tm_app embedded_tac_b + [S.as_arg (embed E.e_proofstate rng proof_state ncb)] + rng in + + + // Why not HNF? While we don't care about strong reduction we need more than head + // normal form due to primitive steps. Consider `norm (steps 2)`: we need to normalize + // `steps 2` before caling norm, or it will fail to unembed the set of steps. Further, + // at this moment at least, the normalizer will not call into any step of arity > 1. + let steps = [Env.Weak; + Env.Reify; + Env.UnfoldUntil delta_constant; Env.UnfoldTac; + Env.Primops; Env.Unascribe] in + + // Maybe use NBE if the user asked for it + let norm_f = if Options.tactics_nbe () + 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); *) + 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); *) + + let res = unembed (E.e_result eb) result ncb in + + match res with + | Some (Success (b, ps)) -> + bind (set ps) (fun _ -> ret b) + + | Some (Failed (e, ps)) -> + bind (set ps) (fun _ -> traise e) + + | None -> + (* The tactic got stuck, try to provide a helpful error message. *) + let h_result = t_head_of result in + let maybe_admit_tip = + (* (ab)use the map visitor to check whether the reduced head + contains an admit, which is a common error *) + let has_admit = BU.mk_ref false in + let _ : term = + Syntax.Visit.visit_term (fun t -> + match t.n with + | Tm_fvar fv when fv_eq_lid fv PC.admit_lid -> (has_admit := true; S.tun) + | _ -> S.tun + ) h_result + in + if !has_admit + then "\nThe term contains an `admit`, which will not reduce. Did you mean `tadmit()`?" + else "" + in + Err.raise_error (Err.Fatal_TacticGotStuck, + (BU.format2 "Tactic got stuck!\n\ + Reduction stopped at: %s%s" (Print.term_to_string h_result) maybe_admit_tip)) proof_state.main_context.range + ) + +let unembed_tactic_nbe_0 (eb:NBET.embedding 'b) (cb:NBET.nbe_cbs) (embedded_tac_b:NBET.t) : tac 'b = + bind get (fun proof_state -> + + (* Applying is normalizing!!! *) + let result = NBET.iapp_cb cb embedded_tac_b [NBET.as_arg (NBET.embed E.e_proofstate_nbe cb proof_state)] in + let res = NBET.unembed (E.e_result_nbe eb) cb result in + + match res with + | Some (Success (b, ps)) -> + bind (set ps) (fun _ -> ret b) + + | Some (Failed (e, ps)) -> + bind (set ps) (fun _ -> traise e) + + | None -> + Err.raise_error (Err.Fatal_TacticGotStuck, (BU.format1 "Tactic got stuck (in NBE)! Please file a bug report with a minimal reproduction of this issue.\n%s" (NBET.t_to_string result))) proof_state.main_context.range + ) + +let unembed_tactic_1 (ea:embedding 'a) (er:embedding 'r) (f:term) (ncb:norm_cb) : 'a -> tac 'r = + fun x -> + let rng = FStar.Compiler.Range.dummyRange in + let x_tm = embed ea rng x ncb in + let app = S.mk_Tm_app f [as_arg x_tm] rng in + unembed_tactic_0 er app ncb + +let unembed_tactic_nbe_1 (ea:NBET.embedding 'a) (er:NBET.embedding 'r) (cb:NBET.nbe_cbs) (f:NBET.t) : 'a -> tac 'r = + fun x -> + let x_tm = NBET.embed ea cb x in + let app = NBET.iapp_cb cb f [NBET.as_arg x_tm] in + unembed_tactic_nbe_0 er cb app + +let e_tactic_thunk (er : embedding 'r) : embedding (tac 'r) + = + mk_emb (fun _ _ _ _ -> failwith "Impossible: embedding tactic (thunk)?") + (fun t cb -> Some (unembed_tactic_1 e_unit er t cb ())) + (FStar.Syntax.Embeddings.term_as_fv S.t_unit) + +let e_tactic_nbe_thunk (er : NBET.embedding 'r) : NBET.embedding (tac 'r) + = + NBET.mk_emb + (fun cb _ -> failwith "Impossible: NBE embedding tactic (thunk)?") + (fun cb t -> Some (unembed_tactic_nbe_1 NBET.e_unit er cb t ())) + (NBET.mk_t (NBET.Constant NBET.Unit)) + (emb_typ_of e_unit) + +let e_tactic_1 (ea : embedding 'a) (er : embedding 'r) : embedding ('a -> tac 'r) + = + mk_emb (fun _ _ _ _ -> failwith "Impossible: embedding tactic (1)?") + (fun t cb -> Some (unembed_tactic_1 ea er t cb)) + (FStar.Syntax.Embeddings.term_as_fv S.t_unit) + +let e_tactic_nbe_1 (ea : NBET.embedding 'a) (er : NBET.embedding 'r) : NBET.embedding ('a -> tac 'r) + = + NBET.mk_emb + (fun cb _ -> failwith "Impossible: NBE embedding tactic (1)?") + (fun cb t -> Some (unembed_tactic_nbe_1 ea er cb t)) + (NBET.mk_t (NBET.Constant NBET.Unit)) + (emb_typ_of e_unit) + +(* Set the primitive steps ref *) +let () = + (* NB: We need a PRECISE number for the universe arguments or NBE will + * just go crazy. Most of the tactics work on ground types and thus have 0 + * universe arguments. Those polymorphic, usually take 1 universe per Type argument. *) + + (* Sigh, due to lack to expressive typing we need to duplicate a bunch of information here, + * like which embeddings are needed for the arguments, but more annoyingly the underlying + * implementation. Would be nice to have something better in the not-so-long run. *) + List.iter FStar.Tactics.V2.Interpreter.register_tactic_primitive_step + [ + mk_total_step_1'_psc 0 "tracepoint" + tracepoint_with_psc E.e_proofstate e_bool + tracepoint_with_psc E.e_proofstate_nbe NBET.e_bool; + + mk_total_step_2' 0 "set_proofstate_range" + set_proofstate_range E.e_proofstate e_range E.e_proofstate + set_proofstate_range E.e_proofstate_nbe NBET.e_range E.e_proofstate_nbe; + + mk_total_step_1' 0 "incr_depth" + incr_depth E.e_proofstate E.e_proofstate + incr_depth E.e_proofstate_nbe E.e_proofstate_nbe; + + mk_total_step_1' 0 "decr_depth" + decr_depth E.e_proofstate E.e_proofstate + decr_depth E.e_proofstate_nbe E.e_proofstate_nbe; + + mk_total_step_1' 0 "goals_of" + goals_of E.e_proofstate (e_list E.e_goal) + goals_of E.e_proofstate_nbe (NBET.e_list E.e_goal_nbe); + + mk_total_step_1' 0 "smt_goals_of" + smt_goals_of E.e_proofstate (e_list E.e_goal) + smt_goals_of E.e_proofstate_nbe (NBET.e_list E.e_goal_nbe); + + mk_total_step_1' 0 "goal_env" + goal_env E.e_goal RE.e_env + goal_env E.e_goal_nbe NRE.e_env; + + mk_total_step_1' 0 "goal_type" + goal_type E.e_goal RE.e_term + goal_type E.e_goal_nbe NRE.e_term; + + mk_total_step_1' 0 "goal_witness" + goal_witness E.e_goal RE.e_term + goal_witness E.e_goal_nbe NRE.e_term; + + mk_total_step_1' 0 "is_guard" + is_guard E.e_goal e_bool + is_guard E.e_goal_nbe NBET.e_bool; + + mk_total_step_1' 0 "get_label" + get_label E.e_goal e_string + get_label E.e_goal_nbe NBET.e_string; + + mk_total_step_2' 0 "set_label" + set_label e_string E.e_goal E.e_goal + set_label NBET.e_string E.e_goal_nbe E.e_goal_nbe; + + mk_tac_step_1 0 "set_goals" + set_goals (e_list E.e_goal) e_unit + set_goals (NBET.e_list E.e_goal_nbe) (NBET.e_unit); + + mk_tac_step_1 0 "set_smt_goals" + set_smt_goals (e_list E.e_goal) e_unit + set_smt_goals (NBET.e_list E.e_goal_nbe) (NBET.e_unit); + + mk_tac_step_2 1 "catch" + (fun _ -> catch) e_any (e_tactic_thunk e_any) (e_either E.e_exn e_any) + (fun _ -> catch) NBET.e_any (e_tactic_nbe_thunk NBET.e_any) (NBET.e_either E.e_exn_nbe NBET.e_any); + + mk_tac_step_2 1 "recover" + (fun _ -> recover) e_any (e_tactic_thunk e_any) (e_either E.e_exn e_any) + (fun _ -> recover) NBET.e_any (e_tactic_nbe_thunk NBET.e_any) (NBET.e_either E.e_exn_nbe NBET.e_any); + + mk_tac_step_1 0 "intro" + intro e_unit RE.e_binder + intro NBET.e_unit NRE.e_binder; + + mk_tac_step_1 0 "intro_rec" + intro_rec e_unit (e_tuple2 RE.e_binder RE.e_binder) + intro_rec NBET.e_unit (NBET.e_tuple2 NRE.e_binder NRE.e_binder); + + mk_tac_step_1 0 "norm" + norm (e_list e_norm_step) e_unit + norm (NBET.e_list NBET.e_norm_step) NBET.e_unit; + + mk_tac_step_3 0 "norm_term_env" + norm_term_env RE.e_env (e_list e_norm_step) RE.e_term RE.e_term + norm_term_env NRE.e_env (NBET.e_list NBET.e_norm_step) NRE.e_term NRE.e_term; + + mk_tac_step_2 0 "norm_binder_type" + norm_binder_type (e_list e_norm_step) RE.e_binder e_unit + norm_binder_type (NBET.e_list NBET.e_norm_step) NRE.e_binder NBET.e_unit; + + mk_tac_step_2 0 "rename_to" + rename_to RE.e_binder e_string RE.e_binder + rename_to NRE.e_binder NBET.e_string NRE.e_binder; + + mk_tac_step_1 0 "binder_retype" + binder_retype RE.e_binder e_unit + binder_retype NRE.e_binder NBET.e_unit; + + mk_tac_step_1 0 "revert" + revert e_unit e_unit + revert NBET.e_unit NBET.e_unit; + + mk_tac_step_1 0 "clear_top" + clear_top e_unit e_unit + clear_top NBET.e_unit NBET.e_unit; + + mk_tac_step_1 0 "clear" + clear RE.e_binder e_unit + clear NRE.e_binder NBET.e_unit; + + mk_tac_step_1 0 "rewrite" + rewrite RE.e_binder e_unit + rewrite NRE.e_binder NBET.e_unit; + + mk_tac_step_1 0 "refine_intro" + refine_intro e_unit e_unit + refine_intro NBET.e_unit NBET.e_unit; + + mk_tac_step_3 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; + + mk_tac_step_4 0 "t_apply" + t_apply e_bool e_bool e_bool RE.e_term e_unit + t_apply NBET.e_bool NBET.e_bool NBET.e_bool NRE.e_term NBET.e_unit; + + mk_tac_step_3 0 "t_apply_lemma" + t_apply_lemma e_bool e_bool RE.e_term e_unit + t_apply_lemma NBET.e_bool NBET.e_bool NRE.e_term NBET.e_unit; + + mk_tac_step_1 0 "set_options" + set_options e_string e_unit + set_options NBET.e_string NBET.e_unit; + + mk_tac_step_2 0 "tcc" + tcc RE.e_env RE.e_term RE.e_comp + tcc NRE.e_env NRE.e_term NRE.e_comp; + + mk_tac_step_2 0 "tc" + tc RE.e_env RE.e_term RE.e_term + tc NRE.e_env NRE.e_term NRE.e_term; + + mk_tac_step_1 0 "unshelve" + unshelve RE.e_term e_unit + unshelve NRE.e_term NBET.e_unit; + + mk_tac_step_2 1 "unquote" + unquote e_any RE.e_term e_any + (fun _ _ -> failwith "NBE unquote") NBET.e_any NRE.e_term NBET.e_any; + + mk_tac_step_1 0 "prune" + prune e_string e_unit + prune NBET.e_string NBET.e_unit; + + mk_tac_step_1 0 "addns" + addns e_string e_unit + addns NBET.e_string NBET.e_unit; + + mk_tac_step_1 0 "print" + print e_string e_unit + print NBET.e_string NBET.e_unit; + + mk_tac_step_1 0 "debugging" + debugging e_unit e_bool + debugging NBET.e_unit NBET.e_bool; + + mk_tac_step_1 0 "dump" + dump e_string e_unit + dump NBET.e_string NBET.e_unit; + + mk_tac_step_2 0 "dump_all" + dump_all e_bool e_string e_unit + dump_all NBET.e_bool NBET.e_string NBET.e_unit; + + mk_tac_step_2 0 "dump_uvars_of" + dump_uvars_of E.e_goal e_string e_unit + dump_uvars_of E.e_goal_nbe NBET.e_string NBET.e_unit; + + mk_tac_step_3 0 "ctrl_rewrite" + ctrl_rewrite E.e_direction (e_tactic_1 RE.e_term (e_tuple2 e_bool E.e_ctrl_flag)) + (e_tactic_thunk e_unit) + e_unit + ctrl_rewrite E.e_direction_nbe (e_tactic_nbe_1 NRE.e_term (NBET.e_tuple2 NBET.e_bool E.e_ctrl_flag_nbe)) + (e_tactic_nbe_thunk NBET.e_unit) + NBET.e_unit; + + mk_tac_step_1 0 "t_trefl" + t_trefl e_bool e_unit + t_trefl NBET.e_bool NBET.e_unit; + + mk_tac_step_1 0 "dup" + dup e_unit e_unit + dup NBET.e_unit NBET.e_unit; + + mk_tac_step_1 0 "tadmit_t" + tadmit_t RE.e_term e_unit + tadmit_t NRE.e_term NBET.e_unit; + + mk_tac_step_1 0 "join" + join e_unit e_unit + join NBET.e_unit NBET.e_unit; + + mk_tac_step_1 0 "t_destruct" + t_destruct RE.e_term (e_list (e_tuple2 RE.e_fv e_int)) + t_destruct NRE.e_term (NBET.e_list (NBET.e_tuple2 NRE.e_fv NBET.e_int)); + + mk_tac_step_1 0 "top_env" + top_env e_unit RE.e_env + top_env NBET.e_unit NRE.e_env; + + mk_tac_step_1 0 "inspect" + inspect RE.e_term RE.e_term_view + inspect NRE.e_term NRE.e_term_view; + + mk_tac_step_1 0 "pack" + pack RE.e_term_view RE.e_term + pack NRE.e_term_view NRE.e_term; + + mk_tac_step_1 0 "pack_curried" + pack_curried RE.e_term_view RE.e_term + pack_curried NRE.e_term_view NRE.e_term; + + mk_tac_step_1 0 "fresh" + fresh e_unit e_int + fresh NBET.e_unit NBET.e_int; + + mk_tac_step_1 0 "curms" + curms e_unit e_int + curms NBET.e_unit NBET.e_int; + + mk_tac_step_2 0 "uvar_env" + uvar_env RE.e_env (e_option RE.e_term) RE.e_term + uvar_env NRE.e_env (NBET.e_option NRE.e_term) NRE.e_term; + + mk_tac_step_2 0 "ghost_uvar_env" + ghost_uvar_env RE.e_env RE.e_term RE.e_term + ghost_uvar_env NRE.e_env NRE.e_term NRE.e_term; + + mk_tac_step_1 0 "fresh_universe_uvar" + fresh_universe_uvar e_unit RE.e_term + fresh_universe_uvar NBET.e_unit NRE.e_term; + + mk_tac_step_3 0 "unify_env" + unify_env RE.e_env RE.e_term RE.e_term e_bool + unify_env NRE.e_env NRE.e_term NRE.e_term NBET.e_bool; + + mk_tac_step_3 0 "unify_guard_env" + unify_guard_env RE.e_env RE.e_term RE.e_term e_bool + unify_guard_env NRE.e_env NRE.e_term NRE.e_term NBET.e_bool; + + mk_tac_step_3 0 "match_env" + match_env RE.e_env RE.e_term RE.e_term e_bool + match_env NRE.e_env NRE.e_term NRE.e_term NBET.e_bool; + + mk_tac_step_3 0 "launch_process" + launch_process e_string (e_list e_string) e_string e_string + launch_process NBET.e_string (NBET.e_list NBET.e_string) NBET.e_string NBET.e_string; + + mk_tac_step_1 0 "fresh_bv_named" + fresh_bv_named e_string RE.e_bv + fresh_bv_named NBET.e_string NRE.e_bv; + + mk_tac_step_1 0 "change" + change RE.e_term e_unit + change NRE.e_term NBET.e_unit; + + mk_tac_step_1 0 "get_guard_policy" + get_guard_policy e_unit E.e_guard_policy + get_guard_policy NBET.e_unit E.e_guard_policy_nbe; + + mk_tac_step_1 0 "set_guard_policy" + set_guard_policy E.e_guard_policy e_unit + set_guard_policy E.e_guard_policy_nbe NBET.e_unit; + + mk_tac_step_1 0 "lax_on" + lax_on e_unit e_bool + lax_on NBET.e_unit NBET.e_bool; + + mk_tac_step_2 1 "lget" + lget e_any e_string e_any + (fun _ _ -> fail "sorry, `lget` does not work in NBE") NBET.e_any NBET.e_string NBET.e_any; + + mk_tac_step_3 1 "lset" + lset e_any e_string e_any e_unit + (fun _ _ _ -> fail "sorry, `lset` does not work in NBE") NBET.e_any NBET.e_string NBET.e_any NBET.e_unit; + + mk_tac_step_1 1 "set_urgency" + set_urgency e_int e_unit + set_urgency NBET.e_int NBET.e_unit; + + mk_tac_step_1 1 "t_commute_applied_match" + t_commute_applied_match e_unit e_unit + t_commute_applied_match NBET.e_unit NBET.e_unit; + + mk_tac_step_1 0 "gather_or_solve_explicit_guards_for_resolved_goals" + gather_explicit_guards_for_resolved_goals e_unit e_unit + gather_explicit_guards_for_resolved_goals NBET.e_unit NBET.e_unit; + + mk_tac_step_2 0 "string_to_term" + string_to_term RE.e_env e_string RE.e_term + string_to_term NRE.e_env NBET.e_string NRE.e_term; + + mk_tac_step_2 0 "push_bv_dsenv" + push_bv_dsenv RE.e_env e_string (e_tuple2 RE.e_env RE.e_bv) + push_bv_dsenv NRE.e_env NBET.e_string (NBET.e_tuple2 NRE.e_env NRE.e_bv); + + mk_tac_step_1 0 "term_to_string" + term_to_string RE.e_term e_string + term_to_string NRE.e_term NBET.e_string; + + mk_tac_step_1 0 "comp_to_string" + comp_to_string RE.e_comp e_string + comp_to_string NRE.e_comp NBET.e_string; + + mk_tac_step_1 0 "range_to_string" + range_to_string FStar.Syntax.Embeddings.e_range e_string + range_to_string FStar.TypeChecker.NBETerm.e_range NBET.e_string; + + mk_tac_step_2 0 "term_eq_old" + term_eq_old RE.e_term RE.e_term e_bool + term_eq_old NRE.e_term NRE.e_term NBET.e_bool; + + mk_tac_step_3 1 "with_compat_pre_core" + (fun _ -> with_compat_pre_core) e_any e_int (e_tactic_thunk e_any) e_any + (fun _ -> with_compat_pre_core) NBET.e_any NBET.e_int (e_tactic_nbe_thunk NBET.e_any) NBET.e_any; + + mk_tac_step_1 0 "get_vconfig" + get_vconfig e_unit e_vconfig + get_vconfig NBET.e_unit NBET.e_vconfig; + + mk_tac_step_1 0 "set_vconfig" + set_vconfig e_vconfig e_unit + set_vconfig NBET.e_vconfig NBET.e_unit; + + mk_tac_step_1 0 "t_smt_sync" + t_smt_sync e_vconfig e_unit + t_smt_sync NBET.e_vconfig NBET.e_unit; + + mk_tac_step_1 0 "free_uvars" + free_uvars RE.e_term (e_list e_int) + free_uvars NRE.e_term (NBET.e_list NBET.e_int); + + // reflection typechecker callbacks (part of the DSL framework) + + mk_tac_step_3 0 "check_subtyping" + refl_check_subtyping RE.e_env RE.e_term RE.e_term (e_tuple2 (e_option e_unit) (e_list e_issue)) + refl_check_subtyping NRE.e_env NRE.e_term NRE.e_term NBET.(e_tuple2 (e_option e_unit) (e_list e_issue)); + + mk_tac_step_3 0 "check_equiv" + refl_check_equiv RE.e_env RE.e_term RE.e_term (e_tuple2 (e_option e_unit) (e_list e_issue)) + refl_check_equiv NRE.e_env NRE.e_term NRE.e_term NBET.(e_tuple2 (e_option e_unit) (e_list e_issue)); + + mk_tac_step_3 0 "core_compute_term_type" + refl_core_compute_term_type RE.e_env RE.e_term E.e_tot_or_ghost (e_tuple2 (e_option RE.e_term) (e_list e_issue)) + refl_core_compute_term_type NRE.e_env NRE.e_term E.e_tot_or_ghost_nbe NBET.(e_tuple2 (e_option NRE.e_term) (e_list e_issue)); + + mk_tac_step_4 0 "core_check_term" + refl_core_check_term RE.e_env RE.e_term RE.e_term E.e_tot_or_ghost (e_tuple2 (e_option e_unit) (e_list e_issue)) + refl_core_check_term NRE.e_env NRE.e_term NRE.e_term E.e_tot_or_ghost_nbe NBET.(e_tuple2 (e_option e_unit) (e_list e_issue)); + + mk_tac_step_3 0 "tc_term" + refl_tc_term RE.e_env RE.e_term E.e_tot_or_ghost (e_tuple2 (e_option (e_tuple2 RE.e_term RE.e_term)) (e_list e_issue)) + refl_tc_term NRE.e_env NRE.e_term E.e_tot_or_ghost_nbe NBET.(e_tuple2 (e_option (e_tuple2 NRE.e_term NRE.e_term)) (e_list e_issue)); + + mk_tac_step_2 0 "universe_of" + refl_universe_of RE.e_env RE.e_term (e_tuple2 (e_option RE.e_universe) (e_list e_issue)) + refl_universe_of NRE.e_env NRE.e_term NBET.(e_tuple2 (e_option NRE.e_universe) (e_list e_issue)); + + mk_tac_step_2 0 "check_prop_validity" + refl_check_prop_validity RE.e_env RE.e_term (e_tuple2 (e_option e_unit) (e_list e_issue)) + refl_check_prop_validity NRE.e_env NRE.e_term NBET.(e_tuple2 (NBET.e_option NBET.e_unit) (e_list e_issue)); + + mk_tac_step_2 0 "instantiate_implicits" + refl_instantiate_implicits RE.e_env RE.e_term (e_tuple2 (e_option (e_tuple2 RE.e_term RE.e_term)) (e_list e_issue)) + refl_instantiate_implicits NRE.e_env NRE.e_term NBET.(e_tuple2 (e_option (NBET.e_tuple2 NRE.e_term NRE.e_term)) (e_list e_issue)); + + mk_tac_step_3 0 "maybe_relate_after_unfolding" + refl_maybe_relate_after_unfolding RE.e_env RE.e_term RE.e_term (e_tuple2 (e_option E.e_unfold_side) (e_list e_issue)) + refl_maybe_relate_after_unfolding NRE.e_env NRE.e_term NRE.e_term NBET.(e_tuple2 (e_option E.e_unfold_side_nbe) (e_list e_issue)); + + mk_tac_step_2 0 "maybe_unfold_head" + refl_maybe_unfold_head RE.e_env RE.e_term (e_tuple2 (e_option RE.e_term) (e_list e_issue)) + refl_maybe_unfold_head NRE.e_env NRE.e_term NBET.(e_tuple2 (e_option NRE.e_term) (e_list e_issue)); + + mk_tac_step_2 0 "push_open_namespace" + push_open_namespace RE.e_env (e_list e_string) RE.e_env + push_open_namespace NRE.e_env (NBET.e_list NBET.e_string) NRE.e_env; + + mk_tac_step_3 0 "push_module_abbrev" + push_module_abbrev RE.e_env e_string (e_list e_string) RE.e_env + push_module_abbrev NRE.e_env NBET.e_string (NBET.e_list NBET.e_string) NRE.e_env; + + mk_tac_step_2 0 "resolve_name" + resolve_name RE.e_env (e_list e_string) (e_option (e_either RE.e_bv RE.e_fv)) + resolve_name NRE.e_env (NBET.e_list NBET.e_string) (NBET.e_option (NBET.e_either NRE.e_bv NRE.e_fv)); + + mk_tac_step_1 0 "log_issues" + (fun is -> ret (FStar.Errors.add_issues is)) (e_list e_issue) e_unit + (fun is -> ret (FStar.Errors.add_issues is)) NBET.(e_list e_issue) NBET.e_unit; + + ] diff --git a/src/tactics/FStar.Tactics.Native.fst b/src/tactics/FStar.Tactics.V1.Interpreter.fsti similarity index 61% rename from src/tactics/FStar.Tactics.Native.fst rename to src/tactics/FStar.Tactics.V1.Interpreter.fsti index fada04a42ee..380aab69736 100644 --- a/src/tactics/FStar.Tactics.Native.fst +++ b/src/tactics/FStar.Tactics.V1.Interpreter.fsti @@ -1,4 +1,4 @@ -(* +(* Copyright 2008-2016 Microsoft Research Licensed under the Apache License, Version 2.0 (the "License"); @@ -13,23 +13,13 @@ See the License for the specific language governing permissions and limitations under the License. *) +module FStar.Tactics.V1.Interpreter -module FStar.Tactics.Native - -open FStar.Tactics.Types -open FStar.Tactics.Basic -open FStar.Syntax.Syntax +open FStar.Compiler.Effect open FStar.Compiler.Range -module Cfg = FStar.TypeChecker.Cfg -module N = FStar.TypeChecker.Normalize -module EMB = FStar.Syntax.Embeddings - -type itac = Cfg.psc -> EMB.norm_cb -> args -> option term - -type native_primitive_step = - { name: FStar.Ident.lid; - arity: Prims.int; - strong_reduction_ok: bool; - tactic: itac} +open FStar.Syntax.Syntax +open FStar.Syntax.Embeddings +open FStar.Tactics.Types +module Env = FStar.TypeChecker.Env -let list_all : unit -> list native_primitive_step = fun () -> [] +val primitive_steps : unit -> list FStar.TypeChecker.Cfg.primitive_step diff --git a/src/tactics/FStar.Tactics.V2.Basic.fst b/src/tactics/FStar.Tactics.V2.Basic.fst new file mode 100644 index 00000000000..bea4b0bd2c5 --- /dev/null +++ b/src/tactics/FStar.Tactics.V2.Basic.fst @@ -0,0 +1,2485 @@ +(* + Copyright 2008-2016 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.Tactics.V2.Basic + +open FStar +open FStar.Compiler +open FStar.Pervasives +open FStar.Compiler.Effect +open FStar.Compiler.List +open FStar.Compiler.Util +open FStar.Ident +open FStar.TypeChecker.Env +open FStar.TypeChecker.Common +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Builtins +open FStar.Tactics.Result +open FStar.Tactics.Types +open FStar.Tactics.Monad +open FStar.Tactics.Printing +open FStar.Syntax.Syntax +open FStar.VConfig + +friend FStar.Pervasives (* to expose norm_step *) + +module BU = FStar.Compiler.Util +module Cfg = FStar.TypeChecker.Cfg +module Env = FStar.TypeChecker.Env +module Err = FStar.Errors +module N = FStar.TypeChecker.Normalize +module PC = FStar.Parser.Const +module Print = FStar.Syntax.Print +module Free = FStar.Syntax.Free +module RD = FStar.Reflection.V2.Data +module Rel = FStar.TypeChecker.Rel +module SF = FStar.Syntax.Free +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module SC = FStar.Syntax.Compress +module TcComm = FStar.TypeChecker.Common +module TcTerm = FStar.TypeChecker.TcTerm +module TcUtil = FStar.TypeChecker.Util +module UF = FStar.Syntax.Unionfind +module U = FStar.Syntax.Util +module Z = FStar.BigInt +module Core = FStar.TypeChecker.Core + +let compress (t:term) : tac term = + idtac ;! + ret (SS.compress t) + +let core_check env sol t must_tot + : either (option typ) Core.error + = if not (Options.compat_pre_core_should_check()) then Inl None else + let debug f = + if Options.debug_any() + then f () + else () + in + match FStar.TypeChecker.Core.check_term env sol t must_tot with + | Inl None -> + Inl None + + | Inl (Some g) -> + if Options.compat_pre_core_set () //core check the solution, but drop the guard, pre_core + then Inl None + else Inl (Some g) + + + | Inr err -> + debug (fun _ -> + BU.print5 "(%s) Core checking failed (%s) on term %s and type %s\n%s\n" + (Range.string_of_range (Env.get_range env)) + (Core.print_error_short err) + (Print.term_to_string sol) + (Print.term_to_string t) + (Core.print_error err)); + Inr err + +type name = bv +type env = Env.env +type implicits = Env.implicits + +let rangeof g = g.goal_ctx_uvar.ctx_uvar_range + +// Beta reduce +let normalize s e t = N.normalize_with_primitive_steps FStar.Reflection.V2.Interpreter.reflection_primops s e t +let bnorm e t = normalize [] e t +let whnf e t = N.unfold_whnf e t + +(* Use this one for everything the user is supposed to see, EXCEPT + * STATE DUMPS, as it does resugaring. For debug messages, just use plain + * term_to_string, we don't want to cause normalization with debug + * flags. *) +let tts = N.term_to_string + +let set_uvar_expected_typ (u:ctx_uvar) (t:typ) + : unit + = let dec = UF.find_decoration u.ctx_uvar_head in + UF.change_decoration u.ctx_uvar_head ({dec with uvar_decoration_typ = t }) + +let mark_uvar_with_should_check_tag (u:ctx_uvar) (sc:should_check_uvar) + : unit + = let dec = UF.find_decoration u.ctx_uvar_head in + UF.change_decoration u.ctx_uvar_head ({dec with uvar_decoration_should_check = sc }) + +let mark_uvar_as_already_checked (u:ctx_uvar) + : unit + = mark_uvar_with_should_check_tag u Already_checked + +let mark_goal_implicit_already_checked (g:goal) + : unit + = mark_uvar_as_already_checked g.goal_ctx_uvar + +let goal_with_type g t + : goal + = let u = g.goal_ctx_uvar in + set_uvar_expected_typ u t; + g + +let bnorm_goal g = goal_with_type g (bnorm (goal_env g) (goal_type g)) + +let tacprint (s:string) = BU.print1 "TAC>> %s\n" s +let tacprint1 (s:string) x = BU.print1 "TAC>> %s\n" (BU.format1 s x) +let tacprint2 (s:string) x y = BU.print1 "TAC>> %s\n" (BU.format2 s x y) +let tacprint3 (s:string) x y z = BU.print1 "TAC>> %s\n" (BU.format3 s x y z) + +let print (msg:string) : tac unit = + if not (Options.silent ()) then + tacprint msg; + ret () + +let debugging () : tac bool = + bind get (fun ps -> + ret (Env.debug ps.main_context (Options.Other "Tac"))) + +let do_dump_ps (msg:string) (ps:proofstate) : unit = + let psc = ps.psc in + let subst = Cfg.psc_subst psc in + do_dump_proofstate ps msg + +let dump (msg:string) : tac unit = + mk_tac (fun ps -> + do_dump_ps msg ps; + Success ((), ps)) + +let dump_all (print_resolved:bool) (msg:string) : tac unit = + mk_tac (fun ps -> + (* Make a new proofstate with goals for each implicit, + * print it, and return original proofstate unchanged. *) + let gs = List.map (fun i -> goal_of_implicit ps.main_context i) ps.all_implicits in + let gs = + if print_resolved + then gs + else List.filter (fun g -> not (check_goal_solved g)) gs + in + let ps' = { ps with smt_goals = [] ; goals = gs } in + do_dump_ps msg ps'; + Success ((), ps)) + +let dump_uvars_of (g:goal) (msg:string) : tac unit = + mk_tac (fun ps -> + let uvs = SF.uvars (goal_type g) |> BU.set_elements in + let gs = List.map (goal_of_ctx_uvar g) uvs in + let gs = List.filter (fun g -> not (check_goal_solved g)) gs in + let ps' = { ps with smt_goals = [] ; goals = gs } in + do_dump_ps msg ps'; + Success ((), ps)) + +let fail1 msg x = fail (BU.format1 msg x) +let fail2 msg x y = fail (BU.format2 msg x y) +let fail3 msg x y z = fail (BU.format3 msg x y z) +let fail4 msg x y z w = fail (BU.format4 msg x y z w) + +let destruct_eq' (typ : typ) : option (term * term) = + match U.destruct_typ_as_formula typ with + | 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) + | _ -> + match U.unb2t typ with + | None -> None + | Some t -> + begin + let hd, args = U.head_and_args t in + match (SS.compress hd).n, args with + | Tm_fvar fv, [(_, Some ({ aqual_implicit = true })); (e1, None); (e2, None)] when S.fv_eq_lid fv PC.op_Eq -> + Some (e1, e2) + | _ -> None + end + +let destruct_eq (env : Env.env) (typ : typ) : option (term * term) = +// TODO: unascribe? + let typ = whnf env typ in + match destruct_eq' typ with + | Some t -> Some t + | None -> + // Retry for a squashed one + begin match U.un_squash typ with + | Some typ -> + let typ = whnf env typ in + destruct_eq' typ + | None -> None + end + + +let get_guard_policy () : tac guard_policy = + bind get (fun ps -> ret ps.guard_policy) + +let set_guard_policy (pol : guard_policy) : tac unit = + bind get (fun ps -> set ({ ps with guard_policy = pol })) + +let with_policy pol (t : tac 'a) : tac 'a = + bind (get_guard_policy ()) (fun old_pol -> + bind (set_guard_policy pol) (fun () -> + bind t (fun r -> + bind (set_guard_policy old_pol) (fun () -> + ret r)))) + +let proc_guard' (simplify:bool) (reason:string) (e : env) (g : guard_t) (sc_opt:option should_check_uvar) (rng:Range.range) : tac unit = + mlog (fun () -> + BU.print2 "Processing guard (%s:%s)\n" reason (Rel.guard_to_string e g)) (fun () -> + let _ = + match sc_opt with + | Some (Allow_untyped r) -> + List.iter + (fun imp -> mark_uvar_with_should_check_tag imp.imp_uvar (Allow_untyped r)) + g.implicits + | _ -> () + in + add_implicits g.implicits;! + let guard_f = + if simplify + then (Rel.simplify_guard e g).guard_f + else g.guard_f + in + match guard_f with + | TcComm.Trivial -> ret () + | TcComm.NonTrivial f -> + let! ps = get in + match ps.guard_policy with + | Drop -> + // should somehow taint the state instead of just printing a warning + Err.log_issue e.range + (Errors.Warning_TacAdmit, BU.format1 "Tactics admitted guard <%s>\n\n" + (Rel.guard_to_string e g)); + ret () + + | Goal -> + mlog (fun () -> BU.print2 "Making guard (%s:%s) into a goal\n" reason (Rel.guard_to_string e g)) (fun () -> + let! g = goal_of_guard reason e f sc_opt rng in + push_goals [g]) + + | SMT -> + mlog (fun () -> BU.print2 "Sending guard (%s:%s) to SMT goal\n" reason (Rel.guard_to_string e g)) (fun () -> + let! g = goal_of_guard reason e f sc_opt rng in + push_smt_goals [g]) + + | Force -> + mlog (fun () -> BU.print2 "Forcing guard (%s:%s)\n" reason (Rel.guard_to_string e g)) (fun () -> + try if not (Env.is_trivial <| Rel.discharge_guard_no_smt e g) + then + mlog (fun () -> BU.print1 "guard = %s\n" (Rel.guard_to_string e g)) (fun () -> + fail1 "Forcing the guard failed (%s)" reason) + else ret () + with + | _ -> mlog (fun () -> BU.print1 "guard = %s\n" (Rel.guard_to_string e g)) (fun () -> + fail1 "Forcing the guard failed (%s)" reason))) + +let proc_guard = proc_guard' true + +// +// See if any of the implicits in uvs were solved in a Rel call, +// if so, core check them +// +let tc_unifier_solved_implicits env (must_tot:bool) (allow_guards:bool) (uvs:list ctx_uvar) : tac unit = + let aux (u:ctx_uvar) : tac unit = + let dec = UF.find_decoration u.ctx_uvar_head in + let sc = dec.uvar_decoration_should_check in + match sc with + | Allow_untyped _ -> + ret () + | Already_checked -> + ret () + | _ -> + match UF.find u.ctx_uvar_head with + | None -> + ret () //not solved yet + | Some sol -> //solved, check it + let env = {env with gamma=u.ctx_uvar_gamma} in + let must_tot = must_tot && not (Allow_ghost? dec.uvar_decoration_should_check) in + match core_check env sol (U.ctx_uvar_typ u) must_tot with + | Inl None -> + //checked with no guard + //no need to check it again + mark_uvar_as_already_checked u; + ret () + + | Inl (Some g) -> + let guard = { Env.trivial_guard with guard_f = NonTrivial g } in + let guard = Rel.simplify_guard env guard in + if Options.disallow_unification_guards () + && not allow_guards + && NonTrivial? guard.guard_f + then ( + fail3 "Could not typecheck unifier solved implicit %s to %s since it produced a guard and guards were not allowed;guard is\n%s" + (Print.uvar_to_string u.ctx_uvar_head) + (Print.term_to_string sol) + (Print.term_to_string g) + ) + else ( + proc_guard' false "guard for implicit" env guard (Some sc) u.ctx_uvar_range ;! + mark_uvar_as_already_checked u; + ret () + ) + + | Inr failed -> + fail3 "Could not typecheck unifier solved implicit %s to %s because %s" + (Print.uvar_to_string u.ctx_uvar_head) + (Print.term_to_string sol) + (Core.print_error failed) + in + if env.phase1 //phase1 is untrusted + then ret () + else uvs |> iter_tac aux + +// +// When calling Rel for t1 `rel` t2, caller can choose to tc +// implicits solved during this unification +// With side argument they can control, which side args to check +// E.g. do_match will choose only Right, +// since it fails if some uvar on the left is instantiated +// +type check_unifier_solved_implicits_side = + | Check_none + | Check_left_only + | Check_right_only + | Check_both + +let __do_unify_wflags + (dbg:bool) + (allow_guards:bool) + (must_tot:bool) + (check_side:check_unifier_solved_implicits_side) + (env:env) (t1:term) (t2:term) + : tac (option guard_t) = + if dbg then + BU.print2 "%%%%%%%%do_unify %s =? %s\n" (Print.term_to_string t1) + (Print.term_to_string t2); + + let all_uvars = + (match check_side with + | Check_none -> Free.new_uv_set () + | Check_left_only -> Free.uvars t1 + | Check_right_only -> Free.uvars t2 + | Check_both -> BU.set_union (Free.uvars t1) (Free.uvars t2)) + |> BU.set_elements in + + match! + catch (//restore UF graph in case anything fails + bind (trytac cur_goal) (fun gopt -> + try + let res = + if allow_guards + then Rel.try_teq true env t1 t2 + else Rel.teq_nosmt env t1 t2 + in + if dbg then + BU.print3 "%%%%%%%%do_unify (RESULT %s) %s =? %s\n" + (FStar.Common.string_of_option (Rel.guard_to_string env) res) + (Print.term_to_string t1) + (Print.term_to_string t2); + + match res with + | None -> + ret None + | Some g -> + tc_unifier_solved_implicits env must_tot allow_guards all_uvars;! + add_implicits g.implicits;! + ret (Some g) + + with | Errors.Err (_, msg, _) -> begin + mlog (fun () -> BU.print1 ">> do_unify error, (%s)\n" msg ) (fun _ -> + ret None) + end + | Errors.Error (_, msg, r, _) -> begin + mlog (fun () -> BU.print2 ">> do_unify error, (%s) at (%s)\n" + msg (Range.string_of_range r)) (fun _ -> + ret None) + end + ) + ) + with + | Inl exn -> traise exn + | Inr v -> ret v + +(* Just a wrapper over __do_unify_wflags to better debug *) +let __do_unify + (allow_guards:bool) + (must_tot:bool) + (check_side:check_unifier_solved_implicits_side) + (env:env) (t1:term) (t2:term) + : tac (option guard_t) = + let dbg = Env.debug env (Options.Other "TacUnify") in + bind idtac (fun () -> + if dbg then begin + Options.push (); + let _ = Options.set_options "--debug_level Rel --debug_level RelCheck" in + () + end; + bind (__do_unify_wflags dbg allow_guards must_tot check_side env t1 t2) (fun r -> + if dbg then Options.pop (); + ret r)) + +(* SMT-free unification. *) +let do_unify_aux + (must_tot:bool) + (check_side:check_unifier_solved_implicits_side) + (env:env) (t1:term) (t2:term) + : tac bool = + bind (__do_unify false must_tot check_side env t1 t2) (function + | None -> ret false + | Some g -> + (* g has to be trivial and we have already added its implicits *) + if not (Env.is_trivial_guard_formula g) then + failwith "internal error: do_unify: guard is not trivial"; + ret true + ) + +let do_unify (must_tot:bool) (env:env) (t1:term) (t2:term) : tac bool = + do_unify_aux must_tot Check_both env t1 t2 + +let do_unify_maybe_guards (allow_guards:bool) (must_tot:bool) + (env:env) (t1:term) (t2:term) + : tac (option guard_t) = + __do_unify allow_guards must_tot Check_both env t1 t2 + +(* Does t1 match t2? That is, do they unify without instantiating/changing t1? *) +let do_match (must_tot:bool) (env:Env.env) (t1:term) (t2:term) : tac bool = + bind (mk_tac (fun ps -> let tx = UF.new_transaction () in + Success (tx, ps))) (fun tx -> + let uvs1 = SF.uvars_uncached t1 in + bind (do_unify_aux must_tot Check_right_only env t1 t2) (fun r -> + if r then begin + let uvs2 = SF.uvars_uncached t1 in + if not (set_eq uvs1 uvs2) + then (UF.rollback tx; ret false) + else ret true + end + else ret false + )) + +(* This is a bandaid. It's similar to do_match but checks that the +LHS of the equality in [t1] is not instantiated, but the RHS might be. +It is a pain to expose the whole logic to tactics, so we just do it +here for now. *) +let do_match_on_lhs (must_tot:bool) (env:Env.env) (t1:term) (t2:term) : tac bool = + bind (mk_tac (fun ps -> let tx = UF.new_transaction () in + Success (tx, ps))) (fun tx -> + match destruct_eq env t1 with + | None -> fail "do_match_on_lhs: not an eq" + | Some (lhs, _) -> + let uvs1 = SF.uvars_uncached lhs in + bind (do_unify_aux must_tot Check_right_only env t1 t2) (fun r -> + if r then begin + let uvs2 = SF.uvars_uncached lhs in + if not (set_eq uvs1 uvs2) + then (UF.rollback tx; ret false) + else ret true + end + else ret false + )) + +(* + set_solution: + + Sometimes the witness of a goal is solved by + using a low-level assignment of the unification variable + provided by set_solution. + + The general discipline is that when a trusted primitive tactic + constructs a term to solve the current goal, then it should be + able to just do a set_solution. + + OTOH, if it's a user-provided term to solve the goal, then trysolve is safer + + Note, set_solution is not just an optimization. In cases like `intro` + it is actually important to get the right shape of goal. See the comment there. +*) +let set_solution goal solution : tac unit = + match FStar.Syntax.Unionfind.find goal.goal_ctx_uvar.ctx_uvar_head with + | Some _ -> + fail (BU.format1 "Goal %s is already solved" (goal_to_string_verbose goal)) + | None -> + FStar.Syntax.Unionfind.change goal.goal_ctx_uvar.ctx_uvar_head solution; + mark_goal_implicit_already_checked goal; + ret () + +let trysolve (goal : goal) (solution : term) : tac bool = + let must_tot = true in + do_unify must_tot (goal_env goal) solution (goal_witness goal) + +let solve (goal : goal) (solution : term) : tac unit = + let e = goal_env goal in + mlog (fun () -> BU.print2 "solve %s := %s\n" (Print.term_to_string (goal_witness goal)) + (Print.term_to_string solution)) (fun () -> + bind (trysolve goal solution) (fun b -> + if b + then bind dismiss (fun () -> remove_solved_goals) + else fail (BU.format3 "%s does not solve %s : %s" + (tts (goal_env goal) solution) + (tts (goal_env goal) (goal_witness goal)) + (tts (goal_env goal) (goal_type goal))))) + + +let solve' (goal : goal) (solution : term) : tac unit = + bind (set_solution goal solution) (fun () -> + bind dismiss (fun () -> + remove_solved_goals)) + +//Any function that directly calls these utilities is also trusted +//End: Trusted utilities +//////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////// +(* Some utilities on goals *) +let is_true t = + let t = U.unascribe t in + match U.un_squash t with + | Some t' -> + let t' = U.unascribe t' in + begin match (SS.compress t').n with + | Tm_fvar fv -> S.fv_eq_lid fv PC.true_lid + | _ -> false + end + | _ -> false + +let is_false t = + match U.un_squash t with + | Some t' -> + begin match (SS.compress t').n with + | Tm_fvar fv -> S.fv_eq_lid fv PC.false_lid + | _ -> false + end + | _ -> false +//////////////////////////////////////////////////////////////////// + + +let tadmit_t (t:term) : tac unit = wrap_err "tadmit_t" <| + bind get (fun ps -> + bind cur_goal (fun g -> + // should somehow taint the state instead of just printing a warning + Err.log_issue (goal_type g).pos + (Errors.Warning_TacAdmit, BU.format1 "Tactics admitted goal <%s>\n\n" + (goal_to_string "" None ps g)); + solve' g t)) + +let fresh () : tac Z.t = + bind get (fun ps -> + let n = ps.freshness in + let ps = { ps with freshness = n + 1 } in + bind (set ps) (fun () -> + ret (Z.of_int_fs n))) + +let curms () : tac Z.t = + ret (BU.now_ms () |> Z.of_int_fs) + +(* Annoying duplication here *) +let __tc (e : env) (t : term) : tac (term * typ * guard_t) = + bind get (fun ps -> + mlog (fun () -> BU.print1 "Tac> __tc(%s)\n" (Print.term_to_string t)) (fun () -> + let e = {e with uvar_subtyping=false} in + try ret (TcTerm.typeof_tot_or_gtot_term e t true) + with | Errors.Err (_, msg, _) + | Errors.Error (_, msg, _, _) -> begin + fail3 "Cannot type (1) %s in context (%s). Error = (%s)" (tts e t) + (Env.all_binders e |> Print.binders_to_string ", ") + msg + end)) + +let __tc_ghost (e : env) (t : term) : tac (term * typ * guard_t) = + bind get (fun ps -> + mlog (fun () -> BU.print1 "Tac> __tc_ghost(%s)\n" (Print.term_to_string t)) (fun () -> + let e = {e with uvar_subtyping=false} in + let e = {e with letrecs=[]} in + try let t, lc, g = TcTerm.tc_tot_or_gtot_term e t in + ret (t, lc.res_typ, g) + with | Errors.Err (_, msg ,_) + | Errors.Error (_, msg, _ ,_) -> begin + fail3 "Cannot type (2) %s in context (%s). Error = (%s)" (tts e t) + (Env.all_binders e |> Print.binders_to_string ", ") + msg + end)) + +let __tc_lax (e : env) (t : term) : tac (term * lcomp * guard_t) = + bind get (fun ps -> + mlog (fun () -> BU.print2 "Tac> __tc_lax(%s)(Context:%s)\n" + (Print.term_to_string t) + (Env.all_binders e |> Print.binders_to_string ", ")) (fun () -> + let e = {e with uvar_subtyping=false} in + let e = {e with lax = true} in + let e = {e with letrecs=[]} in + try ret (TcTerm.tc_term e t) + with | Errors.Err (_, msg, _) + | Errors.Error (_, msg, _, _) -> begin + fail3 "Cannot type (3) %s in context (%s). Error = (%s)" (tts e t) + (Env.all_binders e |> Print.binders_to_string ", ") + msg + end)) + +let tcc (e : env) (t : term) : tac comp = wrap_err "tcc" <| + bind (__tc_lax e t) (fun (_, lc, _) -> + (* Why lax? What about the guard? It doesn't matter! tc is only + * a way for metaprograms to query the typechecker, but + * the result has no effect on the proofstate and nor is it + * taken for a fact that the typing is correct. *) + ret (TcComm.lcomp_comp lc |> fst) //dropping the guard from lcomp_comp too! + ) + +let tc (e : env) (t : term) : tac typ = wrap_err "tc" <| + bind (tcc e t) (fun c -> ret (U.comp_result c)) + +let divide (n:Z.t) (l : tac 'a) (r : tac 'b) : tac ('a * 'b) = + bind get (fun p -> + bind (try ret (List.splitAt (Z.to_int_fs n) p.goals) with | _ -> fail "divide: not enough goals") (fun (lgs, rgs) -> + let lp = { p with goals = lgs; smt_goals = [] } in + bind (set lp) (fun _ -> + bind l (fun a -> + bind get (fun lp' -> + let rp = { lp' with goals = rgs; smt_goals = [] } in + bind (set rp) (fun _ -> + bind r (fun b -> + bind get (fun rp' -> + let p' = { rp' with goals=lp'.goals @ rp'.goals; smt_goals = lp'.smt_goals @ rp'.smt_goals @ p.smt_goals } in + bind (set p') (fun _ -> + bind remove_solved_goals (fun () -> + ret (a, b))))))))))) + +(* focus: runs f on the current goal only, and then restores all the goals *) +(* There is a user defined version as well, we just use this one internally, but can't mark it as private *) +let focus (f:tac 'a) : tac 'a = + bind (divide Z.one f idtac) (fun (a, ()) -> ret a) + +(* Applies t to each of the current goals + fails if t fails on any of the goals + collects each result in the output list *) +let rec map (tau:tac 'a): tac (list 'a) = + bind get (fun p -> + match p.goals with + | [] -> ret [] + | _::_ -> + bind (divide Z.one tau (map tau)) (fun (h,t) -> ret (h :: t)) + ) + +(* Applies t1 to the current head goal + And t2 to all the the sub-goals produced by t1 + + Collects the resulting goals of t2 along with the initial auxiliary goals + *) +let seq (t1:tac unit) (t2:tac unit) : tac unit = + focus ( + bind t1 (fun _ -> + bind (map t2) (fun _ -> ret ())) + ) + +let should_check_goal_uvar (g:goal) = U.ctx_uvar_should_check g.goal_ctx_uvar +let goal_typedness_deps (g:goal) = U.ctx_uvar_typedness_deps g.goal_ctx_uvar + +let bnorm_and_replace g = replace_cur (bnorm_goal g) + +let bv_to_binding (bv : bv) : RD.binding = + { + uniq = Z.of_int_fs bv.index; + sort = bv.sort; + ppname = string_of_id bv.ppname; + } + +let binder_to_binding (b:binder) : RD.binding = + bv_to_binding b.binder_bv + +let binding_to_string (b : RD.binding) : string = + b.ppname ^ "#" ^ string_of_int (Z.to_int_fs b.uniq) + + +let binding_to_bv (b : RD.binding) : bv = + { + sort = b.sort; + ppname = mk_ident(b.ppname, Range.dummyRange); + index = Z.to_int_fs b.uniq; + } + +let binding_to_binder (b:RD.binding) : S.binder = + let bv = binding_to_bv b in + S.mk_binder bv + +let arrow_one (env:Env.env) (t:term) = + match U.arrow_one_ln t with + | None -> None + | Some (b, c) -> + let env, [b], c = FStar.TypeChecker.Core.open_binders_in_comp env [b] c in + Some (env, b, c) + +(* + [intro]: + + Initial goal: G |- ?u : (t -> t') + + Now we do an `intro`: + + Next goal: `G, x:t |- ?v : t'` + + with `?u := (fun (x:t) -> ?v @ [NM(x, 0)])` +*) +let intro () : tac RD.binding = wrap_err "intro" <| ( + let! goal = cur_goal in + match arrow_one (goal_env goal) (whnf (goal_env goal) (goal_type goal)) with + | Some (env', b, c) -> + if not (U.is_total_comp c) + then fail "Codomain is effectful" + else let typ' = U.comp_result c in + //BU.print1 "[intro]: current goal is %s" (goal_to_string goal); + //BU.print1 "[intro]: current goal witness is %s" (Print.term_to_string (goal_witness goal)); + //BU.print1 "[intro]: with goal type %s" (Print.term_to_string (goal_type goal)); + //BU.print2 "[intro]: with binder = %s, new goal = %s" + // (Print.binders_to_string ", " [b]) + // (Print.term_to_string typ'); + let! body, ctx_uvar = + new_uvar "intro" env' typ' + (Some (should_check_goal_uvar goal)) + (goal_typedness_deps goal) + (rangeof goal) in + let sol = U.abs [b] body (Some (U.residual_comp_of_comp c)) in + //BU.print1 "[intro]: solution is %s" + // (Print.term_to_string sol); + //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 "--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)])`. + + Then, this would defeat the purpose of the delayed substitution, since + the unification engine would solve it by doing something like + + `(fun (y:t) -> ?u y) ~ (fun (x:t) -> ?v @ [NM(x, 0)])` + + And then solving + + `?u z ~ ?v @ [NT(x, z)]` + + which would then proceed by solving `?v` to `?w z` and then unifying + `?u` and `?w`. + + I.e., this immediately destroys the nice shape of the next goal. + *) + set_solution goal sol ;! + let g = mk_goal env' ctx_uvar goal.opts goal.is_guard goal.label in + bnorm_and_replace g ;! + ret (binder_to_binding b) + | None -> + fail1 "goal is not an arrow (%s)" (tts (goal_env goal) (goal_type goal)) + ) + + +// TODO: missing: precedes clause, and somehow disabling fixpoints only as needed +let intro_rec () : tac (RD.binding & RD.binding) = + let! goal = cur_goal in + BU.print_string "WARNING (intro_rec): calling this is known to cause normalizer loops\n"; + BU.print_string "WARNING (intro_rec): proceed at your own risk...\n"; + match arrow_one (goal_env goal) (whnf (goal_env goal) (goal_type goal)) with + | Some (env', b, c) -> + if not (U.is_total_comp c) + then fail "Codomain is effectful" + else let bv = gen_bv "__recf" None (goal_type goal) in + let! u, ctx_uvar_u = + new_uvar "intro_rec" env' + (U.comp_result c) + (Some (should_check_goal_uvar goal)) + (goal_typedness_deps goal) + (rangeof goal) in + let lb = U.mk_letbinding (Inl bv) [] (goal_type goal) PC.effect_Tot_lid (U.abs [b] u None) [] Range.dummyRange in + let body = S.bv_to_name bv in + let lbs, body = SS.close_let_rec [lb] body in + let tm = mk (Tm_let {lbs=(true, lbs); body}) (goal_witness goal).pos in + set_solution goal tm ;! + bnorm_and_replace { goal with goal_ctx_uvar=ctx_uvar_u} ;! + ret (binder_to_binding (S.mk_binder bv), binder_to_binding b) + | None -> + fail1 "intro_rec: goal is not an arrow (%s)" (tts (goal_env goal) (goal_type goal)) + +let norm (s : list Pervasives.norm_step) : tac unit = + let! goal = cur_goal in + if_verbose (fun () -> BU.print1 "norm: witness = %s\n" (Print.term_to_string (goal_witness goal))) ;! + // Translate to actual normalizer steps + let steps = [Env.Reify; Env.UnfoldTac]@(Cfg.translate_norm_steps s) in + //let w = normalize steps (goal_env goal) (goal_witness goal) in + let t = normalize steps (goal_env goal) (goal_type goal) in + replace_cur (goal_with_type goal t) + + +let norm_term_env (e : env) (s : list Pervasives.norm_step) (t : term) : tac term = wrap_err "norm_term" <| ( + let! ps = get in + if_verbose (fun () -> BU.print1 "norm_term_env: t = %s\n" (Print.term_to_string t)) ;! + // only for elaborating lifts and all that, we don't care if it's actually well-typed + let! t, _, _ = __tc_lax e t in + let steps = [Env.Reify; Env.UnfoldTac]@(Cfg.translate_norm_steps s) in + let t = normalize steps ps.main_context t in + if_verbose (fun () -> BU.print1 "norm_term_env: t' = %s\n" (Print.term_to_string t)) ;! + ret t + ) + + +let refine_intro () : tac unit = wrap_err "refine_intro" <| ( + let! g = cur_goal in + match Rel.base_and_refinement (goal_env g) (goal_type g) with + | _, None -> fail "not a refinement" + | t, Some (bv, phi) -> + //Mark goal as untyped, since we're adding its refinement as a separate goal + mark_goal_implicit_already_checked g; + let g1 = goal_with_type g t in + let bv, phi = + let bvs, phi = SS.open_term [S.mk_binder bv] phi in + (List.hd bvs).binder_bv, phi + in + let! g2 = mk_irrelevant_goal "refine_intro refinement" (goal_env g) + (SS.subst [S.NT (bv, (goal_witness g))] phi) + (Some (should_check_goal_uvar g)) + (rangeof g) + g.opts + g.label in + dismiss ;! + add_goals [g1;g2] + ) + +let __exact_now set_expected_typ (t:term) : tac unit = + let! goal = cur_goal in + let env = if set_expected_typ + then Env.set_expected_typ (goal_env goal) (goal_type goal) + else (goal_env goal) + in + let! t, typ, guard = __tc env t in + if_verbose (fun () -> BU.print2 "__exact_now: got type %s\n__exact_now: and guard %s\n" + (Print.term_to_string typ) + (Rel.guard_to_string (goal_env goal) guard)) ;! + proc_guard "__exact typing" (goal_env goal) guard (Some (should_check_goal_uvar goal)) (rangeof goal) ;! + if_verbose (fun () -> BU.print2 "__exact_now: unifying %s and %s\n" (Print.term_to_string typ) + (Print.term_to_string (goal_type goal))) ;! + let! b = do_unify true (goal_env goal) typ (goal_type goal) in + if b + then ( // do unify succeeded with a trivial guard; so the goal is solved and we don't have to check it again + mark_goal_implicit_already_checked goal; + solve goal t + ) + else + let typ, goalt = TypeChecker.Err.print_discrepancy (tts (goal_env goal)) typ (goal_type goal) in + fail4 "%s : %s does not exactly solve the goal %s (witness = %s)" + (tts (goal_env goal) t) + typ + goalt + (tts (goal_env goal) (goal_witness goal)) + +let t_exact try_refine set_expected_typ tm : tac unit = wrap_err "exact" <| ( + if_verbose (fun () -> BU.print1 "t_exact: tm = %s\n" (Print.term_to_string tm)) ;! + match! catch (__exact_now set_expected_typ tm) with + | Inr r -> ret r + | Inl e when not (try_refine) -> traise e + | Inl e -> + if_verbose (fun () -> BU.print_string "__exact_now failed, trying refine...\n") ;! + match! catch (norm [Pervasives.Delta] ;! refine_intro () ;! __exact_now set_expected_typ tm) with + | Inr r -> + if_verbose (fun () -> BU.print_string "__exact_now: failed after refining too\n") ;! + ret r + | Inl _ -> + if_verbose (fun () -> BU.print_string "__exact_now: was not a refinement\n") ;! + traise e) + +(* 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_unify_by_application (should_check:option should_check_uvar) + (only_match:bool) + (e : env) + (ty1 : term) + (ty2 : term) + (rng:Range.range) + : tac (list (term * aqual * ctx_uvar)) + = let f = if only_match then do_match else do_unify in + let must_tot = true in + let rec aux (acc : list (term * aqual * ctx_uvar)) + (typedness_deps : list ctx_uvar) //map proj_3 acc + (ty1:term) + : tac (list (term * aqual * ctx_uvar)) + = match! f must_tot e ty2 ty1 with + | true -> ret acc (* Done! *) + | false -> + (* Not a match, try instantiating the first type by application *) + match U.arrow_one ty1 with + | None -> + fail2 "Could not instantiate, %s to %s" (tts e ty1) (tts e ty2) + + | Some (b, c) -> + if not (U.is_total_comp c) then fail "Codomain is effectful" else + let! uvt, uv = new_uvar "apply arg" e b.binder_bv.sort should_check typedness_deps rng in + if_verbose (fun () -> BU.print1 "t_apply: generated uvar %s\n" (Print.ctx_uvar_to_string uv)) ;! + let typ = U.comp_result c in + let typ' = SS.subst [S.NT (b.binder_bv, uvt)] typ in + aux ((uvt, U.aqual_of_binder b, uv)::acc) (uv::typedness_deps) typ' + in + aux [] [] ty1 + +// +// Goals for implicits created during apply +// +let apply_implicits_as_goals + (env:Env.env) + (gl:option goal) + (imps:list (term & ctx_uvar)) + : tac (list (list goal)) = + + let one_implicit_as_goal (term, ctx_uvar) = + let hd, _ = U.head_and_args term in + match (SS.compress hd).n with + | Tm_uvar (ctx_uvar, _) -> + let gl = + match gl with + | None -> mk_goal env ctx_uvar (FStar.Options.peek()) true "goal for unsolved implicit" + | Some gl -> { gl with goal_ctx_uvar = ctx_uvar } in //TODO: AR: what's happening here? + let gl = bnorm_goal gl in + ret [gl] + | _ -> + // + // This implicits has already been solved + // We would have typechecked its solution already, + // just after the Rel call + // + ret [] + in + imps |> mapM one_implicit_as_goal + +// uopt: Don't add goals for implicits that appear free in posterior goals. +// This is very handy for users, allowing to turn +// +// |- a = c +// +// by applying transivity to +// +// |- a = ?u +// |- ?u = c +// +// without asking for |- ?u : Type first, which will most likely be instantiated when +// solving any of these two goals. In any case, if ?u is not solved, we will later fail. +// TODO: this should probably be made into a user tactic +let t_apply (uopt:bool) (only_match:bool) (tc_resolved_uvars:bool) (tm:term) : tac unit = wrap_err "apply" <| ( + let tc_resolved_uvars = true in + if_verbose + (fun () -> BU.print4 "t_apply: uopt %s, only_match %s, tc_resolved_uvars %s, tm = %s\n" + (string_of_bool uopt) + (string_of_bool only_match) + (string_of_bool tc_resolved_uvars) + (Print.term_to_string tm)) ;! + let! ps = get in + let! goal = cur_goal in + let e = goal_env goal in + let should_check = should_check_goal_uvar goal in + Tactics.Monad.register_goal goal; + let! tm, typ, guard = __tc e tm in + if_verbose + (fun () -> BU.print5 "t_apply: tm = %s\nt_apply: goal = %s\nenv.gamma=%s\ntyp=%s\nguard=%s\n" + (Print.term_to_string tm) + (goal_to_string_verbose goal) + (Env.print_gamma e.gamma) + (Print.term_to_string typ) + (Rel.guard_to_string e guard)) ;! + // Focus helps keep the goal order + let typ = bnorm e typ in + let! uvs = try_unify_by_application (Some should_check) only_match e typ (goal_type goal) (rangeof goal) in + if_verbose + (fun () -> BU.print1 "t_apply: found args = %s\n" + (FStar.Common.string_of_list (fun (t, _, _) -> Print.term_to_string t) uvs)) ;! + let w = List.fold_right (fun (uvt, q, _) w -> U.mk_app w [(uvt, q)]) uvs tm in + let uvset = + List.fold_right + (fun (_, _, uv) s -> BU.set_union s (SF.uvars (U.ctx_uvar_typ uv))) + uvs + (SF.new_uv_set ()) + in + let free_in_some_goal uv = BU.set_mem uv uvset in + solve' goal w ;! + // + //process uvs + //first, if some of them are solved already, perhaps during unification, + // typecheck them if tc_resolved_uvars is on + //then, if uopt is on, filter out those that appear in other goals + //add the rest as goals + // + let uvt_uv_l = uvs |> List.map (fun (uvt, _q, uv) -> (uvt, uv)) in + let! sub_goals = + apply_implicits_as_goals e (Some goal) uvt_uv_l in + let sub_goals = List.flatten sub_goals + |> List.filter (fun g -> + //if uopt is on, we don't keep uvars that + // appear in some other goals + not (uopt && free_in_some_goal g.goal_ctx_uvar)) + |> List.map bnorm_goal + |> List.rev in + add_goals sub_goals ;! + proc_guard "apply guard" e guard (Some should_check) (rangeof goal) + ) + +// returns pre and post +let lemma_or_sq (c : comp) : option (term * term) = + let eff_name, res, args = U.comp_eff_name_res_and_args c in + if lid_equals eff_name PC.effect_Lemma_lid then + let pre, post = match args with + | pre::post::_ -> fst pre, fst post + | _ -> failwith "apply_lemma: impossible: not a lemma" + in + // Lemma post is thunked + let post = U.mk_app post [S.as_arg U.exp_unit] in + Some (pre, post) + else if U.is_pure_effect eff_name + || U.is_ghost_effect eff_name then + map_opt (U.un_squash res) (fun post -> (U.t_true, post)) + else + None + +let rec fold_left (f : ('a -> 'b -> tac 'b)) (e : 'b) (xs : list 'a) : tac 'b = + match xs with + | [] -> ret e + | x::xs -> bind (f x e) (fun e' -> fold_left f e' xs) + +let t_apply_lemma (noinst:bool) (noinst_lhs:bool) + (tm:term) : tac unit = wrap_err "apply_lemma" <| focus ( + let! ps = get in + if_verbose (fun () -> BU.print1 "apply_lemma: tm = %s\n" (Print.term_to_string tm)) ;! + let is_unit_t t = + match (SS.compress t).n with + | Tm_fvar fv when S.fv_eq_lid fv PC.unit_lid -> true + | _ -> false + in + let! goal = cur_goal in + let env = goal_env goal in + Tactics.Monad.register_goal goal; + let! tm, t, guard = __tc env tm in + let bs, comp = U.arrow_formals_comp t in + match lemma_or_sq comp with + | None -> fail "not a lemma or squashed function" + | Some (pre, post) -> + let! uvs, _, implicits, subst = + fold_left + (fun ({binder_bv=b;binder_qual=aq}) (uvs, deps, imps, subst) -> + let b_t = SS.subst subst b.sort in + if is_unit_t b_t + then + // Simplification: if the argument is simply unit, then don't ask for it + ret <| ((U.exp_unit, aq)::uvs, deps, imps, S.NT(b, U.exp_unit)::subst) + else + let! t, u = new_uvar "apply_lemma" env b_t + (goal + |> should_check_goal_uvar + |> (function | Strict -> Allow_ghost "apply lemma uvar" + | x -> x) + |> Some) + deps + (rangeof goal) in + if Env.debug env <| Options.Other "2635" + then + BU.print2 "Apply lemma created a new uvar %s while applying %s\n" + (Print.ctx_uvar_to_string u) + (Print.term_to_string tm); + ret ((t, aq)::uvs, u::deps, (t, u)::imps, S.NT(b, t)::subst)) + ([], [], [], []) + bs + in + let implicits = List.rev implicits in + let uvs = List.rev uvs in + let pre = SS.subst subst pre in + let post = SS.subst subst post in + let post_u = env.universe_of env post in + let cmp_func = + if noinst then do_match + else if noinst_lhs then do_match_on_lhs + else do_unify + in + let! b = + let must_tot = false in + cmp_func must_tot env (goal_type goal) (U.mk_squash post_u post) in + if not b + then ( + let post, goalt = TypeChecker.Err.print_discrepancy (tts env) + (U.mk_squash post_u post) + (goal_type goal) in + fail3 "Cannot instantiate lemma %s (with postcondition: %s) to match goal (%s)" + (tts env tm) post goalt + ) + else ( + // We solve with (), we don't care about the witness if applying a lemma + let goal_sc = should_check_goal_uvar goal in + solve' goal U.exp_unit ;! + let is_free_uvar uv t = + let free_uvars = List.map (fun x -> x.ctx_uvar_head) (BU.set_elements (SF.uvars t)) in + List.existsML (fun u -> UF.equiv u uv) free_uvars + in + let appears uv goals = List.existsML (fun g' -> is_free_uvar uv (goal_type g')) goals in + let checkone t goals = + let hd, _ = U.head_and_args t in + begin match hd.n with + | Tm_uvar (uv, _) -> appears uv.ctx_uvar_head goals + | _ -> false + end + in + let must_tot = false in + let! sub_goals = + apply_implicits_as_goals env (Some goal) implicits in + let sub_goals = List.flatten sub_goals in + // Optimization: if a uvar appears in a later goal, don't ask for it, since + // it will be instantiated later. It is tracked anyway in ps.implicits + let rec filter' (f : 'a -> list 'a -> bool) (xs : list 'a) : list 'a = + match xs with + | [] -> [] + | x::xs -> if f x xs then x::(filter' f xs) else filter' f xs + in + let sub_goals = filter' (fun g goals -> not (checkone (goal_witness g) goals)) sub_goals in + proc_guard "apply_lemma guard" env guard (Some goal_sc) (rangeof goal) ;! + let pre_u = env.universe_of env pre in + (match (Rel.simplify_guard env (Env.guard_of_guard_formula (NonTrivial pre))).guard_f with + | Trivial -> ret () + | NonTrivial _ -> add_irrelevant_goal goal "apply_lemma precondition" env pre (Some goal_sc)) ;!//AR: should we use the normalized pre instead? + add_goals sub_goals + ) + ) + +let split_env (bvar : bv) (e : env) : option (env * bv * list bv) = + let rec aux e = + match Env.pop_bv e with + | None -> None + | Some (bv', e') -> + if S.bv_eq bvar bv' + then Some (e', bv', []) + else map_opt (aux e') (fun (e'', bv, bvs) -> (e'', bv, bv'::bvs )) + in + map_opt (aux e) (fun (e', bv, bvs) -> (e', bv, List.rev bvs)) + +let subst_goal (b1 : bv) (b2 : bv) (g:goal) : tac (option (bv * goal)) = + match split_env b1 (goal_env g) with + | Some (e0, b1, bvs) -> + let bs = List.map S.mk_binder (b1::bvs) in + + let t = goal_type g in + + (* Close the binders and t *) + let bs', t' = SS.close_binders bs, SS.close bs t in + + (* Replace b1 (the head) by b2 *) + let bs' = S.mk_binder b2 :: List.tail bs' in + + (* Re-open, all done for renaming *) + let new_env, bs'', t'' = Core.open_binders_in_term e0 bs' t' in + + // (* b2 has been freshened *) + let b2 = (List.hd bs'').binder_bv in + + // (* Make a new goal in the new env (with new binders) *) + let! uvt, uv = new_uvar "subst_goal" new_env t'' + (Some (should_check_goal_uvar g)) + (goal_typedness_deps g) + (rangeof g) in + + let goal' = mk_goal new_env uv g.opts g.is_guard g.label in + + (* Solve the old goal with an application of the new witness *) + let sol = U.mk_app (U.abs bs'' uvt None) + (List.map (fun ({binder_bv=bv;binder_qual=q}) -> S.as_arg (S.bv_to_name bv)) bs) in + + set_solution g sol ;! + + ret (Some (b2, goal')) + + | None -> + ret None + +let rewrite (hh:RD.binding) : tac unit = wrap_err "rewrite" <| ( + let! goal = cur_goal in + let h = binding_to_binder hh in + let bv = h.binder_bv in + if_verbose (fun _ -> BU.print2 "+++Rewrite %s : %s\n" (Print.bv_to_string bv) (Print.term_to_string bv.sort)) ;! + match split_env bv (goal_env goal) with + | None -> fail "binder not found in environment" + | Some (e0, bv, bvs) -> + begin + match destruct_eq e0 bv.sort with + | Some (x, e) -> + begin + match (SS.compress x).n with + | Tm_name x -> + let s = [NT(x, e)] in + + (* See subst_goal for an explanation *) + let t = goal_type goal in + let bs = List.map S.mk_binder bvs in + + let bs', t' = SS.close_binders bs, SS.close bs t in + let bs', t' = SS.subst_binders s bs', SS.subst s t' in + let e0 = Env.push_bvs e0 [bv] in + let new_env, bs'', t'' = Core.open_binders_in_term e0 bs' t' in + + let! uvt, uv = + new_uvar "rewrite" new_env t'' + (Some (should_check_goal_uvar goal)) + (goal_typedness_deps goal) + (rangeof goal) + in + let goal' = mk_goal new_env uv goal.opts goal.is_guard goal.label in + let sol = U.mk_app (U.abs bs'' uvt None) + (List.map (fun ({binder_bv=bv}) -> S.as_arg (S.bv_to_name bv)) bs) in + + (* See comment in subst_goal *) + set_solution goal sol ;! + replace_cur goal' + + | _ -> + fail "Not an equality hypothesis with a variable on the LHS" + end + | _ -> fail "Not an equality hypothesis" + end + ) + +let rename_to (b : RD.binding) (s : string) : tac RD.binding = wrap_err "rename_to" <| ( + let! goal = cur_goal in + let bv = binding_to_bv b in + let bv' = freshen_bv ({ bv with ppname = mk_ident (s, (range_of_id bv.ppname)) }) in + match! subst_goal bv bv' goal with + | None -> fail "binder not found in environment" + | Some (bv', goal) -> + replace_cur goal ;! + let uniq = Z.of_int_fs bv'.index in + ret {b with uniq=uniq; ppname = s} + ) + +let var_retype (b : RD.binding) : tac unit = wrap_err "binder_retype" <| ( + let! goal = cur_goal in + let bv = binding_to_bv b in + match split_env bv (goal_env goal) with + | None -> fail "binder is not present in environment" + | Some (e0, bv, bvs) -> + let (ty, u) = U.type_u () in + let goal_sc = should_check_goal_uvar goal in + let! t', u_t' = + new_uvar "binder_retype" e0 ty + (Some goal_sc) + (goal_typedness_deps goal) + (rangeof goal) + in + let bv'' = {bv with sort = t'} in + let s = [S.NT (bv, S.bv_to_name bv'')] in + let bvs = List.map (fun b -> { b with sort = SS.subst s b.sort }) bvs in + let env' = Env.push_bvs e0 (bv''::bvs) in + dismiss ;! + let new_goal = + goal_with_type + (goal_with_env goal env') + (SS.subst s (goal_type goal)) + in + add_goals [new_goal] ;! + add_irrelevant_goal goal "binder_retype equation" e0 + (U.mk_eq2 (U_succ u) ty bv.sort t') + (Some goal_sc) + ) + +let norm_binding_type (s : list Pervasives.norm_step) (b : RD.binding) : tac unit = wrap_err "norm_binding_type" <| ( + let! goal = cur_goal in + let bv = binding_to_bv b in + match split_env bv (goal_env goal) with + | None -> fail "binder is not present in environment" + | Some (e0, bv, bvs) -> + let steps = [Env.Reify; Env.UnfoldTac]@(Cfg.translate_norm_steps s) in + let sort' = normalize steps e0 bv.sort in + let bv' = { bv with sort = sort' } in + let env' = Env.push_bvs e0 (bv'::bvs) in + replace_cur (goal_with_env goal env') + ) + +let revert () : tac unit = + let! goal = cur_goal in + match Env.pop_bv (goal_env goal) with + | None -> fail "Cannot revert; empty context" + | Some (x, env') -> + let typ' = U.arrow [S.mk_binder x] (mk_Total (goal_type goal)) in + let! r, u_r = + new_uvar "revert" env' typ' + (Some (should_check_goal_uvar goal)) + (goal_typedness_deps goal) + (rangeof goal) in + set_solution goal (S.mk_Tm_app r [S.as_arg (S.bv_to_name x)] (goal_type goal).pos) ;! + let g = mk_goal env' u_r goal.opts goal.is_guard goal.label in + replace_cur g + +let free_in bv t = Util.set_mem bv (SF.names t) + +let clear (b : RD.binding) : tac unit = + let bv = binding_to_bv b in + let! goal = cur_goal in + if_verbose (fun () -> BU.print2 "Clear of (%s), env has %s binders\n" + (binding_to_string b) + (Env.all_binders (goal_env goal) |> List.length |> string_of_int)) ;! + match split_env bv (goal_env goal) with + | None -> fail "Cannot clear; binder not in environment" + | Some (e', bv, bvs) -> + let rec check bvs = + match bvs with + | [] -> ret () + | bv'::bvs -> + if free_in bv bv'.sort + then fail (BU.format1 "Cannot clear; binder present in the type of %s" + (Print.bv_to_string bv')) + else check bvs + in + if free_in bv (goal_type goal) then + fail "Cannot clear; binder present in goal" + else ( + check bvs ;! + let env' = Env.push_bvs e' bvs in + let! ut, uvar_ut = + new_uvar "clear.witness" env' (goal_type goal) + (Some (should_check_goal_uvar goal)) + (goal_typedness_deps goal) + (rangeof goal) in + set_solution goal ut ;! + replace_cur (mk_goal env' uvar_ut goal.opts goal.is_guard goal.label) + ) + +let clear_top () : tac unit = + let! goal = cur_goal in + match Env.pop_bv (goal_env goal) with + | None -> fail "Cannot clear; empty context" + | Some (x, _) -> clear (bv_to_binding x) // we ignore the qualifier anyway + +let prune (s:string) : tac unit = + let! g = cur_goal in + let ctx = goal_env g in + let ctx' = Env.rem_proof_ns ctx (path_of_text s) in + let g' = goal_with_env g ctx' in + replace_cur g' + +let addns (s:string) : tac unit = + let! g = cur_goal in + let ctx = goal_env g in + let ctx' = Env.add_proof_ns ctx (path_of_text s) in + let g' = goal_with_env g ctx' in + replace_cur g' + +let guard_formula (g:guard_t) : term = + match g.guard_f with + | Trivial -> U.t_true + | NonTrivial f -> f + +let _t_trefl (allow_guards:bool) (l : term) (r : term) : tac unit = + let should_register_trefl g = + let should_register = true in + let skip_register = false in + if not (Options.compat_pre_core_should_register()) then skip_register else + //Sending a goal t1 == t2 to the core for registration can be expensive + //particularly if the terms are big, e.g., when they are WPs etc + //This function decides which goals to register, using two criteria + //1. If the uvars in the goal are Allow_untyped or Already_checked + // then don't bother registering, since we will not recheck the solution. + // + //2. If the goal is of the form `eq2 #ty ?u t` (or vice versa) + // and we can prove that ty <: ?u.t + // then the assignment of `?u := t` is going to be well-typed + // without needing to recompute the type of `t` + let is_uvar_untyped_or_already_checked u = + let dec = UF.find_decoration u.ctx_uvar_head in + match dec.uvar_decoration_should_check with + | Allow_untyped _ + | Already_checked -> true + | _ -> false + in + let is_uvar t = + let head = U.leftmost_head t in + match (SS.compress head).n with + | Tm_uvar (u, _) -> Inl (u, head, t) + | _ -> Inr t + in + let is_allow_untyped_uvar t = + match is_uvar t with + | Inr _ -> false + | Inl (u, _, _) -> is_uvar_untyped_or_already_checked u + in + let t = U.ctx_uvar_typ g.goal_ctx_uvar in + let uvars = BU.set_elements (FStar.Syntax.Free.uvars t) in + if BU.for_all is_uvar_untyped_or_already_checked uvars + then skip_register //all the uvars are already checked or untyped + else ( + let head, args = + let t = + match U.un_squash t with + | None -> t + | Some t -> t + in + U.leftmost_head_and_args t + in + match (SS.compress (U.un_uinst head)).n, args with + | Tm_fvar fv, [(ty, _); (t1, _); (t2, _)] + when S.fv_eq_lid fv PC.eq2_lid -> + if is_allow_untyped_uvar t1 || is_allow_untyped_uvar t2 + then skip_register //if we have ?u=t or t=?u and ?u is allow_untyped, then skip + else if Tactics.Monad.is_goal_safe_as_well_typed g //o.w., if the goal is well typed + then ( + //and the goal is of the shape + // eq2 #ty ?u t or + // eq2 #ty t ?u + // Then solving this, if it succeeds, is going to assign ?u := t + // If we know that `ty <: ?u.ty` then this is well-typed already + // without needing to recheck the assignment + // Note, from well-typedness of the goal, we already know ?u.ty <: ty + let check_uvar_subtype u t = + let env = { goal_env g with gamma = g.goal_ctx_uvar.ctx_uvar_gamma } in + match Core.compute_term_type_handle_guards env t false (fun _ _ -> true) + with + | Inr _ -> false + | Inl t_ty -> ( + match Core.check_term_subtyping env ty t_ty with + | Inl None -> //unconditional subtype + mark_uvar_as_already_checked u; + true + | _ -> + false + ) + in + match is_uvar t1, is_uvar t2 with + | Inl (u, _, tu), Inr _ + | Inr _, Inl (u, _, tu) -> + //if the condition fails, then return true to register this goal + //since the assignment will have to be rechecked + if check_uvar_subtype u tu + then skip_register + else should_register + | _ -> + should_register + ) + else should_register + | _ -> + should_register + ) + in + let! g = cur_goal in + let should_check = should_check_goal_uvar g in + if should_register_trefl g + then Tactics.Monad.register_goal g; + let must_tot = true in + let attempt (l : term) (r : term) : tac bool = + match! do_unify_maybe_guards allow_guards must_tot (goal_env g) l r with + | None -> ret false + | Some guard -> + solve' g U.exp_unit ;! + if allow_guards + then + let! goal = goal_of_guard "t_trefl" (goal_env g) (guard_formula guard) (Some should_check) (rangeof g) in + push_goals [goal] ;! + ret true + else + // If allow_guards is false, this guard must be trivial and we don't + // add it, but we check its triviality for sanity. + if Env.is_trivial_guard_formula guard + then ret true + else failwith "internal error: _t_refl: guard is not trivial" + in + match! attempt l r with + | true -> ret () + | false -> + (* if that didn't work, normalize and retry *) + let norm = N.normalize [Env.UnfoldUntil delta_constant; Env.Primops; Env.UnfoldTac] (goal_env g) in + match! attempt (norm l) (norm r) with + | true -> ret () + | false -> + let ls, rs = TypeChecker.Err.print_discrepancy (tts (goal_env g)) l r in + fail2 "cannot unify (%s) and (%s)" ls rs + +let t_trefl (allow_guards:bool) : tac unit = wrap_err "t_trefl" <| ( + match! + catch (//restore UF graph, including any Already_checked markers, if anything fails + let! g = cur_goal in + match destruct_eq (goal_env g) (goal_type g) with + | Some (l, r) -> + _t_trefl allow_guards l r + | None -> + fail1 "not an equality (%s)" (tts (goal_env g) (goal_type g)) + ) + with + | Inr v -> ret v + | Inl exn -> traise exn + ) + +let dup () : tac unit = + let! g = cur_goal in + let goal_sc = should_check_goal_uvar g in + let env = goal_env g in + let! u, u_uvar = + new_uvar "dup" env (goal_type g) + (Some (should_check_goal_uvar g)) + (goal_typedness_deps g) + (rangeof g) in + //the new uvar is just as Strict as the original one. So, its assignement will be checked + //and we have a goal that requires us to prove it equal to the original uvar + //so we can clear the should_check status of the current uvar + mark_uvar_as_already_checked g.goal_ctx_uvar; + let g' = { g with goal_ctx_uvar = u_uvar } in + dismiss ;! + let t_eq = U.mk_eq2 (env.universe_of env (goal_type g)) (goal_type g) u (goal_witness g) in + add_irrelevant_goal g "dup equation" env t_eq (Some goal_sc) ;! + add_goals [g'] + +// longest_prefix f l1 l2 = (p, r1, r2) ==> l1 = p@r1 /\ l2 = p@r2 +let longest_prefix (f : 'a -> 'a -> bool) (l1 : list 'a) (l2 : list 'a) : list 'a * list 'a * list 'a = + let rec aux acc l1 l2 = + match l1, l2 with + | x::xs, y::ys -> + if f x y + then aux (x::acc) xs ys + else acc, xs, ys + | _ -> + acc, l1, l2 + in + let pr, t1, t2 = aux [] l1 l2 in + List.rev pr, t1, t2 + + +// fix universes +let join_goals g1 g2 : tac goal = + (* The one in Syntax.Util ignores null_binders, why? *) + let close_forall_no_univs bs f = + List.fold_right (fun b f -> U.mk_forall_no_univ b.binder_bv f) bs f + in + match get_phi g1 with + | None -> fail "goal 1 is not irrelevant" + | Some phi1 -> + match get_phi g2 with + | None -> fail "goal 2 is not irrelevant" + | Some phi2 -> + + let gamma1 = g1.goal_ctx_uvar.ctx_uvar_gamma in + let gamma2 = g2.goal_ctx_uvar.ctx_uvar_gamma in + let gamma, r1, r2 = longest_prefix S.eq_binding (List.rev gamma1) (List.rev gamma2) in + + let t1 = close_forall_no_univs (Env.binders_of_bindings (List.rev r1)) phi1 in + let t2 = close_forall_no_univs (Env.binders_of_bindings (List.rev r2)) phi2 in + + let goal_sc = + match should_check_goal_uvar g1, should_check_goal_uvar g2 with + | Allow_untyped reason1, Allow_untyped _ -> Some (Allow_untyped reason1) + | _ -> None + in + set_solution g1 U.exp_unit ;! + set_solution g2 U.exp_unit ;! + + let ng = U.mk_conj t1 t2 in + let nenv = { goal_env g1 with gamma = List.rev gamma } in + let! goal = mk_irrelevant_goal "joined" nenv ng goal_sc (rangeof g1) g1.opts g1.label in + if_verbose (fun () -> BU.print3 "join_goals of\n(%s)\nand\n(%s)\n= (%s)\n" + (goal_to_string_verbose g1) + (goal_to_string_verbose g2) + (goal_to_string_verbose goal)) ;! + ret goal + +let join () : tac unit = + let! ps = get in + match ps.goals with + | g1::g2::gs -> + set { ps with goals = gs } ;! + let! g12 = join_goals g1 g2 in + add_goals [g12] + + | _ -> fail "join: less than 2 goals" + + +let set_options (s : string) : tac unit = wrap_err "set_options" <| ( + let! g = cur_goal in + 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 s in + let opts' = FStar.Options.peek () in + FStar.Options.pop (); + match res with + | FStar.Getopt.Success -> + let g' = { g with opts = opts' } 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 + ) + +let top_env () : tac env = bind get (fun ps -> ret <| ps.main_context) + +let lax_on () : tac bool = + let! g = cur_goal in + ret (Options.lax () || (goal_env g).lax) + +let unquote (ty : term) (tm : term) : tac term = wrap_err "unquote" <| ( + if_verbose (fun () -> BU.print1 "unquote: tm = %s\n" (Print.term_to_string tm)) ;! + let! goal = cur_goal in + let env = Env.set_expected_typ (goal_env goal) ty in + let! tm, typ, guard = __tc_ghost env tm in + if_verbose (fun () -> BU.print1 "unquote: tm' = %s\n" (Print.term_to_string tm)) ;! + if_verbose (fun () -> BU.print1 "unquote: typ = %s\n" (Print.term_to_string typ)) ;! + proc_guard "unquote" env guard (Some (should_check_goal_uvar goal)) (rangeof goal) ;! + ret tm + ) + +let uvar_env (env : env) (ty : option typ) : tac term = + let! ps = get in + // If no type was given, add a uvar for it too! + let! typ, g, r = + match ty with + | Some ty -> + let env = Env.set_expected_typ env (U.type_u () |> fst) in + let! ty, _, g = __tc_ghost env ty in + ret (ty, g, ty.pos) + + | None -> + //the type of this uvar is just Type; so it's typedness deps is [] + let! typ, uvar_typ = new_uvar "uvar_env.2" env (fst <| U.type_u ()) None [] ps.entry_range in + ret (typ, Env.trivial_guard, Range.dummyRange) + in + proc_guard "uvar_env_typ" env g None r;! + //the guard is an explicit goal; so the typedness deps of this new uvar is [] + let! t, uvar_t = new_uvar "uvar_env" env typ None [] ps.entry_range in + ret t + +let ghost_uvar_env (env : env) (ty : typ) : tac term = + let! ps = get in + // If no type was given, add a uvar for it too! + let! typ, _, g = __tc_ghost env ty in + proc_guard "ghost_uvar_env_typ" env g None ty.pos ;! + //the guard is an explicit goal; so the typedness deps of this new uvar is [] + let! t, uvar_t = new_uvar "uvar_env" env typ (Some (Allow_ghost "User ghost uvar")) [] ps.entry_range in + ret t + +let fresh_universe_uvar () : tac term = + U.type_u () |> fst |> ret + +let unshelve (t : term) : tac unit = wrap_err "unshelve" <| ( + let! ps = get in + let env = ps.main_context in + (* We need a set of options, but there might be no goals, so do this *) + let opts = match ps.goals with + | g::_ -> g.opts + | _ -> FStar.Options.peek () + in + match U.head_and_args t with + | { n = Tm_uvar (ctx_uvar, _) }, _ -> + let env = {env with gamma=ctx_uvar.ctx_uvar_gamma} in + let g = mk_goal env ctx_uvar opts false "" in + let g = bnorm_goal g in + add_goals [g] + | _ -> fail "not a uvar" + ) + +let tac_and (t1 : tac bool) (t2 : tac bool) : tac bool = + let comp = + match! t1 with + | true -> + (match! t2 with + | true -> ret true + | _ -> fail "") + | _ -> fail "" + in + match! trytac comp with + | Some true -> ret true + | Some false -> failwith "impossible" + | None -> ret false + + +let match_env (e:env) (t1 : term) (t2 : term) : tac bool = wrap_err "match_env" <| ( + let! ps = get in + let! t1, ty1, g1 = __tc e t1 in + let! t2, ty2, g2 = __tc e t2 in + proc_guard "match_env g1" e g1 None ps.entry_range ;! + proc_guard "match_env g2" e g2 None ps.entry_range ;! + let must_tot = true in + tac_and (do_match must_tot e ty1 ty2) + (do_match must_tot e t1 t2) + ) + +let unify_env (e:env) (t1 : term) (t2 : term) : tac bool = wrap_err "unify_env" <| ( + let! ps = get in + let! t1, ty1, g1 = __tc e t1 in + let! t2, ty2, g2 = __tc e t2 in + proc_guard "unify_env g1" e g1 None ps.entry_range ;! + proc_guard "unify_env g2" e g2 None ps.entry_range ;! + let must_tot = true in + tac_and (do_unify must_tot e ty1 ty2) + (do_unify must_tot e t1 t2) + ) + +let unify_guard_env (e:env) (t1 : term) (t2 : term) : tac bool = wrap_err "unify_guard_env" <| ( + let! ps = get in + let! t1, ty1, g1 = __tc e t1 in + let! t2, ty2, g2 = __tc e t2 in + proc_guard "unify_guard_env g1" e g1 None ps.entry_range ;! + proc_guard "unify_guard_env g2" e g2 None ps.entry_range ;! + let must_tot = true in + match! do_unify_maybe_guards true must_tot e ty1 ty2 with + | None -> ret false + | Some g1 -> + match! do_unify_maybe_guards true must_tot e t1 t2 with + | None -> ret false + | Some g2 -> + let formula : term = U.mk_conj (guard_formula g1) (guard_formula g2) in + let! goal = goal_of_guard "unify_guard_env.g2" e formula None ps.entry_range in + push_goals [goal] ;! + ret true + ) + +let launch_process (prog : string) (args : list string) (input : string) : tac string = + // The `bind idtac` thunks the tactic + idtac ;! + if Options.unsafe_tactic_exec () then + let s = BU.run_process "tactic_launch" prog args (Some input) in + ret s + else + fail "launch_process: will not run anything unless --unsafe_tactic_exec is provided" + +let fresh_bv_named (nm : string) : tac bv = + // The `bind idtac` thunks the tactic. Not really needed, just being paranoid + idtac ;! ret (gen_bv nm None S.tun) + +let change (ty : typ) : tac unit = wrap_err "change" <| ( + if_verbose (fun () -> BU.print1 "change: ty = %s\n" (Print.term_to_string ty)) ;! + let! g = cur_goal in + let! ty, _, guard = __tc (goal_env g) ty in + proc_guard "change" (goal_env g) guard (Some (should_check_goal_uvar g)) (rangeof g) ;! + let must_tot = true in + let! bb = do_unify must_tot (goal_env g) (goal_type g) ty in + if bb + then replace_cur (goal_with_type g ty) + else begin + (* Give it a second try, fully normalize the term the user gave + * and unify it with the fully normalized goal. If that succeeds, + * we use the original one as the new goal. This is sometimes needed + * since the unifier has some bugs. *) + let steps = [Env.AllowUnboundUniverses; Env.UnfoldUntil delta_constant; Env.Primops] in + let ng = normalize steps (goal_env g) (goal_type g) in + let nty = normalize steps (goal_env g) ty in + let! b = do_unify must_tot (goal_env g) ng nty in + if b + then replace_cur (goal_with_type g ty) + else fail "not convertible" + end + ) + +let failwhen (b:bool) (msg:string) : tac unit = + if b + then fail msg + else ret () + +let t_destruct (s_tm : term) : tac (list (fv * Z.t)) = wrap_err "destruct" <| ( + let! g = cur_goal in + let! s_tm, s_ty, guard = __tc (goal_env g) s_tm in + proc_guard "destruct" (goal_env g) guard (Some (should_check_goal_uvar g)) (rangeof g) ;! + let s_ty = N.normalize [Env.UnfoldTac; Env.Weak; Env.HNF; Env.UnfoldUntil delta_constant] + (goal_env g) s_ty in + let h, args = U.head_and_args_full (U.unrefine s_ty) in + let! fv, a_us = + match (SS.compress h).n with + | Tm_fvar fv -> ret (fv, []) + | Tm_uinst (h', us) -> + begin match (SS.compress h').n with + | Tm_fvar fv -> ret (fv, us) + | _ -> failwith "impossible: uinst over something that's not an fvar" + end + | _ -> fail "type is not an fv" + in + let t_lid = lid_of_fv fv in + match Env.lookup_sigelt (goal_env g) t_lid with + | None -> fail "type not found in environment" + | Some se -> + match se.sigel with + | Sig_inductive_typ {us=t_us; params=t_ps; t=t_ty; mutuals=mut; ds=c_lids} -> + (* High-level idea of this huge function: + * For Gamma |- w : phi and | C : ps -> bs -> t, we generate a new goal + * Gamma |- w' : bs -> phi + * with + * w = match tm with ... | C .ps' bs' -> w' bs' ... + * i.e., we do not intro the matched binders and let the + * user do that (with the returned arity). `.ps` represents inaccesible patterns + * for the type's parameters. + *) + let erasable = U.has_attribute se.sigattrs FStar.Parser.Const.erasable_attr in + failwhen (erasable && not (is_irrelevant g)) "cannot destruct erasable type to solve proof-relevant goal" ;! + + (* Instantiate formal universes to the actuals, + * and substitute accordingly in binders and types *) + failwhen (List.length a_us <> List.length t_us) "t_us don't match?" ;! + + + (* Not needed currently? *) + (* let s = Env.mk_univ_subst t_us a_us in *) + (* let t_ps = SS.subst_binders s t_ps in *) + (* let t_ty = SS.subst s t_ty in *) + let t_ps, t_ty = SS.open_term t_ps t_ty in + + let! goal_brs = + mapM (fun c_lid -> + match Env.lookup_sigelt (goal_env g) c_lid with + | None -> fail "ctor not found?" + | Some se -> + match se.sigel with + | Sig_datacon {us=c_us; t=c_ty; num_ty_params=nparam; mutuals=mut} -> + (* BU.print2 "ty of %s = %s\n" (Ident.string_of_lid c_lid) *) + (* (Print.term_to_string c_ty); *) + let fv = S.lid_as_fv c_lid (Some Data_ctor) in + + + failwhen (List.length a_us <> List.length c_us) "t_us don't match?" ;! + let s = Env.mk_univ_subst c_us a_us in + let c_ty = SS.subst s c_ty in + + (* The constructor might be universe-polymorphic, just use + * fresh univ_uvars for its universes. *) + let c_us, c_ty = Env.inst_tscheme (c_us, c_ty) in + + (* BU.print2 "ty(2) of %s = %s\n" (Ident.string_of_lid c_lid) *) + (* (Print.term_to_string c_ty); *) + + (* Deconstruct its type, separating the parameters from the + * actual arguments (indices do not matter here). *) + let bs, comp = U.arrow_formals_comp c_ty in + + (* More friendly names: 'a_i' instead of '_i' *) + let bs, comp = + let rename_bv bv = + let ppname = bv.ppname in + let ppname = mk_ident ("a" ^ string_of_id ppname, range_of_id ppname) in + // freshen just to be extra safe.. probably not needed + freshen_bv ({ bv with ppname = ppname }) + in + let bs' = List.map (fun b -> {b with binder_bv=rename_bv b.binder_bv}) bs in + let subst = List.map2 (fun ({binder_bv=bv}) ({binder_bv=bv'}) -> NT (bv, bv_to_name bv')) bs bs' in + SS.subst_binders subst bs', SS.subst_comp subst comp + in + + (* BU.print1 "bs = (%s)\n" (Print.binders_to_string ", " bs); *) + let d_ps, bs = List.splitAt nparam bs in + failwhen (not (U.is_total_comp comp)) "not total?" ;! + let mk_pat p = { v = p; p = s_tm.pos } in + (* TODO: This is silly, why don't we just keep aq in the Pat_cons? *) + let is_imp = function | Some (Implicit _) -> true + | _ -> false + in + let a_ps, a_is = List.splitAt nparam args in + failwhen (List.length a_ps <> List.length d_ps) "params not match?" ;! + let d_ps_a_ps = List.zip d_ps a_ps in + let subst = List.map (fun (({binder_bv=bv}), (t, _)) -> NT (bv, t)) d_ps_a_ps in + let bs = SS.subst_binders subst bs in + let subpats_1 = List.map (fun (({binder_bv=bv}), (t, _)) -> + (mk_pat (Pat_dot_term (Some t)), true)) d_ps_a_ps in + let subpats_2 = List.map (fun ({binder_bv=bv;binder_qual=bq}) -> + (mk_pat (Pat_var bv), is_imp bq)) bs in + let subpats = subpats_1 @ subpats_2 in + let pat = mk_pat (Pat_cons (fv, Some a_us, subpats)) in + let env = (goal_env g) in + + + (* Add an argument stating the equality between the scrutinee + * and the pattern, in-scope for this branch. *) + let cod = goal_type g in + let equ = env.universe_of env s_ty in + (* Typecheck the pattern, to fill-in the universes and get an expression out of it *) + let _ , _, _, _, pat_t, _, _guard_pat, _erasable = TcTerm.tc_pat ({ env with lax = true }) s_ty pat in + let eq_b = S.gen_bv "breq" None (U.mk_squash S.U_zero (U.mk_eq2 equ s_ty s_tm pat_t)) in + let cod = U.arrow [S.mk_binder eq_b] (mk_Total cod) in + + let nty = U.arrow bs (mk_Total cod) in + let! uvt, uv = new_uvar "destruct branch" env nty None (goal_typedness_deps g) (rangeof g) in + let g' = mk_goal env uv g.opts false g.label in + let brt = U.mk_app_binders uvt bs in + (* Provide the scrutinee equality, which is trivially provable *) + let brt = U.mk_app brt [S.as_arg U.exp_unit] in + let br = SS.close_branch (pat, None, brt) in + ret (g', br, (fv, Z.of_int_fs (List.length bs))) + | _ -> + fail "impossible: not a ctor") + c_lids + in + let goals, brs, infos = List.unzip3 goal_brs in + let w = mk (Tm_match {scrutinee=s_tm;ret_opt=None;brs;rc_opt=None}) s_tm.pos in + solve' g w ;! + //we constructed a well-typed term to solve g; no need to recheck it + mark_goal_implicit_already_checked g; + add_goals goals ;! + ret infos + + | _ -> fail "not an inductive type" + ) + +let gather_explicit_guards_for_resolved_goals () + : tac unit + = ret () + +// TODO: move to library? +let rec last (l:list 'a) : 'a = + match l with + | [] -> failwith "last: empty list" + | [x] -> x + | _::xs -> last xs + +let rec init (l:list 'a) : list 'a = + match l with + | [] -> failwith "init: empty list" + | [x] -> [] + | x::xs -> x :: init xs + +let binder_bv (b:binder) : tac bv = + ret <| b.binder_bv + +let lget (ty:term) (k:string) : tac term = wrap_err "lget" <| ( + let! ps = get in + match BU.psmap_try_find ps.local_state k with + | None -> fail "not found" + | Some t -> unquote ty t + ) + +let lset (_ty:term) (k:string) (t:term) : tac unit = wrap_err "lset" <| ( + let! ps = get in + let ps = { ps with local_state = BU.psmap_add ps.local_state k t } in + set ps + ) + +let set_urgency (u:Z.t) : tac unit = + let! ps = get in + let ps = { ps with urgency = Z.to_int_fs u } in + set ps + +let t_commute_applied_match () : tac unit = wrap_err "t_commute_applied_match" <| ( + let! g = cur_goal in + match destruct_eq (goal_env g) (goal_type g) with + | Some (l, r) -> begin + let lh, las = U.head_and_args_full l in + match (SS.compress (U.unascribe lh)).n with + | Tm_match {scrutinee=e;ret_opt=asc_opt;brs;rc_opt=lopt} -> + let brs' = List.map (fun (p, w, e) -> p, w, U.mk_app e las) brs in + // + // If residual comp is set, apply arguments to it + // + let lopt' = lopt |> BU.map_option (fun rc -> {rc with residual_typ= + rc.residual_typ |> BU.map_option (fun t -> + let bs, c = N.get_n_binders (goal_env g) (List.length las) t in + let bs, c = SS.open_comp bs c in + let ss = List.map2 (fun b a -> NT (b.binder_bv, fst a)) bs las in + let c = SS.subst_comp ss c in + U.comp_result c)}) in + let l' = mk (Tm_match {scrutinee=e;ret_opt=asc_opt;brs=brs';rc_opt=lopt'}) l.pos in + let must_tot = true in + match! do_unify_maybe_guards false must_tot (goal_env g) l' r with + | None -> fail "discharging the equality failed" + | Some guard -> + if Env.is_trivial_guard_formula guard + then ( + //we just checked that its guard is trivial; so no need to check again + mark_uvar_as_already_checked g.goal_ctx_uvar; + solve g U.exp_unit + ) + else failwith "internal error: _t_refl: guard is not trivial" + | _ -> + fail "lhs is not a match" + end + | None -> + fail "not an equality" + ) + +let string_to_term (e: Env.env) (s: string): tac term + = let open FStar.Parser.ParseIt in + let frag_of_text s = { frag_fname= "" + ; frag_line = 1 ; frag_col = 0 + ; frag_text = s } in + match parse (Fragment (frag_of_text s)) with + | Term t -> + let dsenv = FStar.Syntax.DsEnv.set_current_module e.dsenv (current_module e) in + begin try ret (FStar.ToSyntax.ToSyntax.desugar_term dsenv t) with + | FStar.Errors.Error (_, e, _, _) -> fail ("string_of_term: " ^ e) + | _ -> fail ("string_of_term: Unknown error") + end + | ASTFragment _ -> fail ("string_of_term: expected a Term as a result, got an ASTFragment") + | ParseError (_, err, _) -> fail ("string_of_term: got error " ^ err) + +let push_bv_dsenv (e: Env.env) (i: string): tac (env * RD.binding) + = let ident = Ident.mk_ident (i, FStar.Compiler.Range.dummyRange) in + let dsenv, bv = FStar.Syntax.DsEnv.push_bv e.dsenv ident in + ret ({ e with dsenv }, bv_to_binding bv) + +let term_to_string (t:term) : tac string + = let! g = top_env () in + let s = Print.term_to_string' g.dsenv t in + ret s + +let comp_to_string (c:comp) : tac string + = let! g = top_env () in + let s = Print.comp_to_string' g.dsenv c in + ret s + +let range_to_string (r:FStar.Compiler.Range.range) : tac string + = ret (Range.string_of_range r) + +let term_eq_old (t1:term) (t2:term) : tac bool + = idtac ;! + ret (Syntax.Util.term_eq t1 t2) + +let with_compat_pre_core (n:Z.t) (f:tac 'a) : tac 'a = + mk_tac (fun ps -> + Options.with_saved_options (fun () -> + let _res = FStar.Options.set_options ("--compat_pre_core 0") in + run f ps)) + +let get_vconfig () : tac vconfig = + let! g = cur_goal in + (* Restore goal's optionstate (a copy is needed) and read vconfig. + * This is an artifact of the options API being stateful in many places, + * morally this is just (get_vconfig g.opts) *) + let vcfg = Options.with_saved_options (fun () -> + FStar.Options.set (Util.smap_copy g.opts); + Options.get_vconfig ()) + in + ret vcfg + +let set_vconfig (vcfg : vconfig) : tac unit = + (* Same comment as for get_vconfig applies, this is really just + * let g' = { g with opts = set_vconfig vcfg g.opts } *) + let! g = cur_goal in + let opts' = Options.with_saved_options (fun () -> + FStar.Options.set (Util.smap_copy g.opts); + Options.set_vconfig vcfg; + Options.peek ()) + in + let g' = { g with opts = opts' } in + replace_cur g' + +let t_smt_sync (vcfg : vconfig) : tac unit = wrap_err "t_smt_sync" <| ( + let! goal = cur_goal in + match get_phi goal with + | None -> fail "Goal is not irrelevant" + | Some phi -> + let e = goal_env goal in + let ans : bool = + (* Set goal's optionstate before asking solver, to respect + * its vconfig among other things. *) + Options.with_saved_options (fun () -> + (* NOTE: we ignore the goal's options, the rationale is that + * any verification-relevant option is inside the vconfig, so we + * should not need read the optionstate. Of course this vconfig + * will probably come in large part from a get_vconfig, which does + * read the goal's options. *) + Options.set_vconfig vcfg; + e.solver.solve_sync None e phi + ) + in + if ans + then ( + mark_uvar_as_already_checked goal.goal_ctx_uvar; + solve goal U.exp_unit + ) else fail "SMT did not solve this goal" +) + +let free_uvars (tm : term) : tac (list Z.t) + = idtac ;! + let uvs = Syntax.Free.uvars_uncached tm |> BU.set_elements |> List.map (fun u -> Z.of_int_fs (UF.uvar_id u.ctx_uvar_head)) in + ret uvs + +(***** Builtins used in the meta DSL framework *****) + +let dbg_refl (g:env) (msg:unit -> string) = + if Env.debug g <| Options.Other "ReflTc" + then BU.print_string (msg ()) + +let issues = list Errors.issue +let refl_typing_builtin_wrapper (f:unit -> 'a) : tac (option 'a & issues) = + let tx = UF.new_transaction () in + let errs, r = + try Errors.catch_errors_and_ignore_rest f + with exn -> //catch everything + let issue = FStar.Errors.({ + issue_msg = BU.print_exn exn; + issue_level = EError; + issue_range = None; + issue_number = (Some 17); + issue_ctx = get_ctx () + }) in + [issue], None + in + let! ps = get in + Env.promote_id_info ps.main_context (FStar.TypeChecker.Tc.compress_and_norm ps.main_context); + UF.rollback tx; + if List.length errs > 0 + then ret (None, errs) + else ret (r, errs) + +let no_uvars_in_term (t:term) : bool = + t |> Free.uvars |> BU.set_is_empty && + t |> Free.univs |> BU.set_is_empty + +let no_uvars_in_g (g:env) : bool = + g.gamma |> BU.for_all (function + | Binding_var bv -> no_uvars_in_term bv.sort + | _ -> true) + +type relation = + | Subtyping + | Equality + +let unexpected_uvars_issue r = + let open FStar.Errors in + let i = { + issue_level = EError; + issue_range = Some r; + issue_msg = "Cannot check relation with uvars"; + issue_number = Some (errno Error_UnexpectedUnresolvedUvar); + issue_ctx = [] + } in + i + +let refl_check_relation (g:env) (t0 t1:typ) (rel:relation) + : tac (option unit * issues) = + + if no_uvars_in_g g && + no_uvars_in_term t0 && + no_uvars_in_term t1 + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format3 "refl_check_relation: %s %s %s\n" + (Print.term_to_string t0) + (if rel = Subtyping then "<:?" else "=?=") + (Print.term_to_string t1)); + let f = + if rel = Subtyping + then Core.check_term_subtyping + else Core.check_term_equality in + match f g t0 t1 with + | Inl None -> + dbg_refl g (fun _ -> "refl_check_relation: succeeded (no guard)"); + () + | Inl (Some guard_f) -> + Rel.force_trivial_guard g {Env.trivial_guard with guard_f=NonTrivial guard_f}; + dbg_refl g (fun _ -> "refl_check_relation: succeeded") + | Inr err -> + dbg_refl g (fun _ -> BU.format1 "refl_check_relation failed: %s\n" (Core.print_error err)); + Errors.raise_error (Errors.Fatal_IllTyped, "check_relation failed: " ^ (Core.print_error err)) Range.dummyRange) + else ( + ret (None, [unexpected_uvars_issue (Env.get_range g)]) + ) + +let refl_check_subtyping (g:env) (t0 t1:typ) : tac (option unit & issues) = + refl_check_relation g t0 t1 Subtyping + +let refl_check_equiv (g:env) (t0 t1:typ) : tac (option unit & issues) = + refl_check_relation g t0 t1 Equality + +let to_must_tot (eff:tot_or_ghost) : bool = + match eff with + | E_Total -> true + | E_Ghost -> false + +let refl_norm_type (g:env) (t:typ) : typ = + N.normalize [Env.Beta; Env.Exclude Zeta] g t + +let refl_core_compute_term_type (g:env) (e:term) (eff:tot_or_ghost) : tac (option typ & issues) = + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format1 "refl_core_compute_term_type: %s\n" (Print.term_to_string e)); + let must_tot = to_must_tot eff in + let gh = fun g guard -> + Rel.force_trivial_guard g + {Env.trivial_guard with guard_f = NonTrivial guard}; + true in + match Core.compute_term_type_handle_guards g e must_tot gh with + | Inl t -> + let t = refl_norm_type g t in + dbg_refl g (fun _ -> + BU.format2 "refl_core_compute_term_type for %s computed type %s\n" + (Print.term_to_string e) + (Print.term_to_string t)); + t + | Inr err -> + dbg_refl g (fun _ -> BU.format1 "refl_core_compute_term_type: %s\n" (Core.print_error err)); + Errors.raise_error (Errors.Fatal_IllTyped, "core_compute_term_type failed: " ^ (Core.print_error err)) Range.dummyRange) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_core_check_term (g:env) (e:term) (t:typ) (eff:tot_or_ghost) + : tac (option unit & issues) = + + if no_uvars_in_g g && + no_uvars_in_term e && + no_uvars_in_term t + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format2 "refl_core_check_term: term: %s, type: %s\n" + (Print.term_to_string e) (Print.term_to_string t)); + let must_tot = to_must_tot eff in + match Core.check_term g e t must_tot with + | Inl None -> + dbg_refl g (fun _ -> "refl_core_check_term: succeeded with no guard\n"); + ret () + | Inl (Some guard) -> + dbg_refl g (fun _ -> "refl_core_check_term: succeeded with guard\n"); + Rel.force_trivial_guard g {Env.trivial_guard with guard_f=NonTrivial guard}; + ret () + | Inr err -> + dbg_refl g (fun _ -> BU.format1 "refl_core_check_term failed: %s\n" (Core.print_error err)); + Errors.raise_error (Errors.Fatal_IllTyped, "refl_core_check_term failed: " ^ (Core.print_error err)) Range.dummyRange) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_tc_term (g:env) (e:term) (eff:tot_or_ghost) : tac (option (term & typ) & issues) = + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format1 "refl_tc_term: %s\n" (Print.term_to_string e)); + dbg_refl g (fun _ -> "refl_tc_term: starting tc {\n"); + let must_tot = to_must_tot eff in + // + // we don't instantiate implicits at the end of e + // it is unlikely that we will be able to resolve them, + // and refl typechecking API will fail if there are unresolved uvars + // + // note that this will still try to resolve implicits within e + // the typechecker does not check for this env flag for such implicits + // + let g = {g with instantiate_imp=false} in + // + // lax check to elaborate + // + let e = + let g = {g with phase1 = true; lax = true} in + let e, _, guard = g.typeof_tot_or_gtot_term g e must_tot in + Rel.force_trivial_guard g guard; + e in + try + begin + let e = SC.deep_compress false e in + // TODO: may be should we check here that e has no unresolved implicits? + dbg_refl g (fun _ -> + BU.format1 "} finished tc with e = %s\n" + (Print.term_to_string e)); + let gh = fun g guard -> + Rel.force_trivial_guard g + {Env.trivial_guard with guard_f = NonTrivial guard}; + true in + match Core.compute_term_type_handle_guards g e must_tot gh with + | Inl t -> + let t = refl_norm_type g t in + dbg_refl g (fun _ -> + BU.format2 "refl_tc_term for %s computed type %s\n" + (Print.term_to_string e) + (Print.term_to_string t)); + e, t + | Inr err -> + dbg_refl g (fun _ -> BU.format1 "refl_tc_term failed: %s\n" (Core.print_error err)); + Errors.raise_error (Errors.Fatal_IllTyped, "tc_term callback failed: " ^ Core.print_error err) e.pos + end + with + | Errors.Error (Errors.Error_UnexpectedUnresolvedUvar, _, _, _) -> + Errors.raise_error (Errors.Fatal_IllTyped, "UVars remaing in term after tc_term callback") e.pos) + else + ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_universe_of (g:env) (e:term) : tac (option universe & issues) = + let check_univ_var_resolved u = + match SS.compress_univ u with + | S.U_unif _ -> Errors.raise_error (Errors.Fatal_IllTyped, "Unresolved variable in universe_of callback") Range.dummyRange + | u -> u in + + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + let t, u = U.type_u () in + let must_tot = false in + match Core.check_term g e t must_tot with + | Inl None -> check_univ_var_resolved u + | Inl (Some guard) -> + Rel.force_trivial_guard g + {Env.trivial_guard with guard_f=NonTrivial guard}; + check_univ_var_resolved u + | Inr err -> + let msg = BU.format1 "refl_universe_of failed: %s\n" (Core.print_error err) in + dbg_refl g (fun _ -> msg); + Errors.raise_error (Errors.Fatal_IllTyped, "universe_of failed: " ^ Core.print_error err) Range.dummyRange) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_check_prop_validity (g:env) (e:term) : tac (option unit & issues) = + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format1 "refl_check_prop_validity: %s\n" (Print.term_to_string e)); + let must_tot = false in + let _ = + match Core.check_term g e (U.fvar_const PC.prop_lid) must_tot with + | Inl None -> () + | Inl (Some guard) -> + Rel.force_trivial_guard g + {Env.trivial_guard with guard_f=NonTrivial guard} + | Inr err -> + let msg = BU.format1 "refl_check_prop_validity failed (not a prop): %s\n" + (Core.print_error err) in + dbg_refl g (fun _ -> msg); + Errors.raise_error (Errors.Fatal_IllTyped, msg) Range.dummyRange + in + Rel.force_trivial_guard g + {Env.trivial_guard with guard_f=NonTrivial e}) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_check_match_complete (g:env) (sc:term) (scty:typ) (pats : list RD.pattern) +: tac (option (list RD.pattern & list (list RD.binding))) += + idtac ;! + (* We just craft a match with the sc and patterns, using `1` in every + branch, and check it against type int. *) + let one = U.exp_int "1" in + let brs = List.map (fun p -> let p = pack_pat p in (p, None, one)) pats in + let mm = mk (Tm_match {scrutinee=sc; ret_opt=None; brs=brs; rc_opt=None}) sc.pos in + let env = g in + let env = Env.set_expected_typ env S.t_int in + let! mm, _, g = __tc env mm in + + let errs, b = Errors.catch_errors_and_ignore_rest (fun () -> Env.is_trivial <| Rel.discharge_guard env g) in + match errs, b with + | [], Some true -> + let get_pats t = + match (U.unmeta t).n with + | Tm_match {brs} -> List.map (fun (p,_,_) -> p) brs + | _ -> failwith "refl_check_match_complete: not a match?" + in + let pats = get_pats mm in + let rec bnds_for_pat (p:pat) : list RD.binding = + match p.v with + | Pat_constant _ -> [] + | Pat_cons (fv, _, pats) -> List.concatMap (fun (p, _) -> bnds_for_pat p) pats + | Pat_var bv -> [bv_to_binding bv] + | Pat_dot_term _ -> [] + in + ret (Some (List.map inspect_pat pats, List.map bnds_for_pat pats)) + | _ -> ret None + +let refl_instantiate_implicits (g:env) (e:term) : tac (option (term & typ) & issues) = + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format1 "refl_instantiate_implicits: %s\n" (Print.term_to_string e)); + dbg_refl g (fun _ -> "refl_instantiate_implicits: starting tc {\n"); + let must_tot = true in + let g = {g with instantiate_imp=false; phase1=true; lax=true} in + let e, t, guard = g.typeof_tot_or_gtot_term g e must_tot in + Rel.force_trivial_guard g guard; + let e = SC.deep_compress false e in + let t = t |> refl_norm_type g |> SC.deep_compress false in + dbg_refl g (fun _ -> + BU.format2 "} finished tc with e = %s and t = %s\n" + (Print.term_to_string e) + (Print.term_to_string t)); + (e, t)) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_maybe_relate_after_unfolding (g:env) (t0 t1:typ) + : tac (option Core.side & issues) = + + if no_uvars_in_g g && + no_uvars_in_term t0 && + no_uvars_in_term t1 + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format2 "refl_maybe_relate_after_unfolding: %s and %s {\n" + (Print.term_to_string t0) + (Print.term_to_string t1)); + let s = Core.maybe_relate_after_unfolding g t0 t1 in + dbg_refl g (fun _ -> + BU.format1 "} returning side: %s\n" + (Core.side_to_string s)); + s) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let refl_maybe_unfold_head (g:env) (e:term) : tac (option term & issues) = + if no_uvars_in_g g && + no_uvars_in_term e + then refl_typing_builtin_wrapper (fun _ -> + dbg_refl g (fun _ -> + BU.format1 "refl_maybe_unfold_head: %s {\n" (Print.term_to_string e)); + let eopt = N.maybe_unfold_head g e in + dbg_refl g (fun _ -> + BU.format1 "} eopt = %s\n" + (match eopt with + | None -> "none" + | Some e -> Print.term_to_string e)); + if eopt = None + then Errors.raise_error (Errors.Fatal_UnexpectedTerm, + BU.format1 + "Could not unfold head: %s\n" + (Print.term_to_string e)) e.pos + else eopt |> must) + else ret (None, [unexpected_uvars_issue (Env.get_range g)]) + +let push_open_namespace (e:env) (ns:list string) = + let lid = Ident.lid_of_path ns Range.dummyRange in + ret { e with dsenv = FStar.Syntax.DsEnv.push_namespace e.dsenv lid } + +let push_module_abbrev (e:env) (n:string) (m:list string) = + let mlid = Ident.lid_of_path m Range.dummyRange in + let ident = Ident.id_of_text n in + ret { e with dsenv = FStar.Syntax.DsEnv.push_module_abbrev e.dsenv ident mlid } + +let resolve_name (e:env) (n:list string) = + let l = Ident.lid_of_path n Range.dummyRange in + ret (FStar.Syntax.DsEnv.resolve_name e.dsenv l) + +(**** Creating proper environments and proofstates ****) + +let tac_env (env:Env.env) : Env.env = + let env, _ = Env.clear_expected_typ env in + let env = { env with Env.instantiate_imp = false } in + let env = { env with failhard = true } in + let env = { env with enable_defer_to_tac = false } in + env + +let proofstate_of_goals rng env goals imps = + let env = tac_env env in + let ps = { + main_context = env; + all_implicits = imps; + goals = goals; + smt_goals = []; + depth = 0; + __dump = do_dump_proofstate; + psc = Cfg.null_psc; + entry_range = rng; + guard_policy = SMT; + freshness = 0; + tac_verb_dbg = Env.debug env (Options.Other "TacVerbose"); + local_state = BU.psmap_empty (); + urgency = 1; + } + in + ps + +let proofstate_of_goal_ty rng env typ = + let env = tac_env env in + let g, g_u = goal_of_goal_ty env typ in + let ps = proofstate_of_goals rng env [g] g_u.implicits in + (ps, goal_witness g) + +let proofstate_of_all_implicits rng env imps = + let env = tac_env env in + let goals = List.map (goal_of_implicit env) imps in + let w = goal_witness (List.hd goals) in + let ps = { + main_context = env; + all_implicits = imps; + goals = goals; + smt_goals = []; + depth = 0; + __dump = do_dump_proofstate; + psc = Cfg.null_psc; + entry_range = rng; + guard_policy = SMT; + freshness = 0; + tac_verb_dbg = Env.debug env (Options.Other "TacVerbose"); + local_state = BU.psmap_empty (); + urgency = 1; + } + in + (ps, w) diff --git a/src/tactics/FStar.Tactics.V2.Basic.fsti b/src/tactics/FStar.Tactics.V2.Basic.fsti new file mode 100644 index 00000000000..7053eb4534d --- /dev/null +++ b/src/tactics/FStar.Tactics.V2.Basic.fsti @@ -0,0 +1,142 @@ +(* + Copyright 2008-2016 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.Tactics.V2.Basic + +(* This module implements the primitives in + * ulib/FStar.Tactics.Builtins. It would be named + * the same, but there needs to be a thin adapter + * layer since the tac monad representation differs + * between compiler and userspace (and a few other + * annoyances too). *) + +open FStar.Syntax.Syntax +open FStar.TypeChecker.Env +open FStar.Reflection.V2.Data +open FStar.Tactics.Types +open FStar.Tactics.Monad + +module BU = FStar.Compiler.Util +module O = FStar.Options +module Range = FStar.Compiler.Range +module Z = FStar.BigInt +module TcComm = FStar.TypeChecker.Common +module Core = FStar.TypeChecker.Core +module RD = FStar.Reflection.V2.Data + +(* Internal utilities *) +val goal_typedness_deps : goal -> list ctx_uvar + +val proofstate_of_goals : Range.range -> env -> list goal -> list implicit -> proofstate +(* Returns proofstate and uvar for main witness *) +val proofstate_of_goal_ty : Range.range -> env -> typ -> proofstate * term + +val proofstate_of_all_implicits: Range.range -> env -> implicits -> proofstate * term + +(* Helper *) +val focus : tac 'a -> tac 'a + +(* Metaprogramming primitives (not all of them). + * Documented in `ulib/FStar.Tactics.Builtins.fst` *) + +val compress : term -> tac term +val top_env : unit -> tac env +val fresh : unit -> tac Z.t +val refine_intro : unit -> tac unit +val tc : env -> term -> tac typ +val tcc : env -> term -> tac comp +val unshelve : term -> tac unit +val unquote : typ -> term -> tac term +val norm : list Pervasives.norm_step -> tac unit +val norm_term_env : env -> list Pervasives.norm_step -> term -> tac term +val norm_binding_type : list Pervasives.norm_step -> RD.binding -> tac unit +val intro : unit -> tac RD.binding +val intro_rec : unit -> tac (RD.binding * RD.binding) +val rename_to : RD.binding -> string -> tac RD.binding +val revert : unit -> tac unit +val var_retype : RD.binding -> tac unit +val clear_top : unit -> tac unit +val clear : RD.binding -> tac unit +val rewrite : RD.binding -> tac unit +val t_exact : bool -> bool -> term -> tac unit +val t_apply : bool -> bool -> bool -> term -> tac unit +val t_apply_lemma : bool -> bool -> term -> tac unit +val print : string -> tac unit +val debugging : unit -> tac bool +val dump : string -> tac unit +val dump_all : bool -> string -> tac unit +val dump_uvars_of : goal -> string -> tac unit +val t_trefl : (*allow_guards:*)bool -> tac unit +val dup : unit -> tac unit +val prune : string -> tac unit +val addns : string -> tac unit +val t_destruct : term -> tac (list (fv * Z.t)) +val gather_explicit_guards_for_resolved_goals : unit -> tac unit +val set_options : string -> tac unit +val uvar_env : env -> option typ -> tac term +val ghost_uvar_env : env -> typ -> tac term +val fresh_universe_uvar : unit -> tac term +val unify_env : env -> term -> term -> tac bool +val unify_guard_env : env -> term -> term -> tac bool +val match_env : env -> term -> term -> tac bool +val launch_process : string -> list string -> string -> tac string +val fresh_bv_named : string -> tac bv +val change : typ -> tac unit +val get_guard_policy : unit -> tac guard_policy +val set_guard_policy : guard_policy -> tac unit +val lax_on : unit -> tac bool +val tadmit_t : term -> tac unit +val binder_bv : binder -> tac bv +val join : unit -> tac unit +val lget : typ -> string -> tac term +val lset : typ -> string -> term -> tac unit +val curms : unit -> tac Z.t +val set_urgency : Z.t -> tac unit +val t_commute_applied_match : unit -> tac unit +val goal_with_type : goal -> typ -> goal +val mark_goal_implicit_already_checked : goal -> unit +val string_to_term : env -> string -> tac term +val push_bv_dsenv : env -> string -> tac (env * RD.binding) +val term_to_string : term -> tac string +val comp_to_string : comp -> tac string +val range_to_string : Range.range -> tac string + +val term_eq_old : term -> term -> tac bool +val with_compat_pre_core : Z.t -> tac 'a -> tac 'a + +val get_vconfig : unit -> tac VConfig.vconfig +val set_vconfig : VConfig.vconfig -> tac unit +val t_smt_sync : VConfig.vconfig -> tac unit +val free_uvars : term -> tac (list Z.t) + + +(***** Callbacks for the meta DSL framework *****) +let issues = list FStar.Errors.issue +val refl_check_subtyping : env -> typ -> typ -> tac (option unit & issues) +val refl_check_equiv : env -> typ -> typ -> tac (option unit & issues) +val refl_core_compute_term_type : env -> term -> tot_or_ghost -> tac (option typ & issues) +val refl_core_check_term : env -> term -> typ -> tot_or_ghost -> tac (option unit & issues) +val refl_tc_term : env -> term -> tot_or_ghost -> tac (option (term & typ) & issues) +val refl_universe_of : env -> term -> tac (option universe & issues) +val refl_check_prop_validity : env -> term -> tac (option unit & issues) +val refl_check_match_complete : env -> term -> term -> list pattern -> tac (option (list pattern & list (list RD.binding))) +val refl_instantiate_implicits : env -> term -> tac (option (term & typ) & issues) +val refl_maybe_relate_after_unfolding : env -> term -> term -> tac (option Core.side & issues) +val refl_maybe_unfold_head : env -> term -> tac (option term & issues) + +val push_open_namespace : env -> list string -> tac env +val push_module_abbrev : env -> string -> list string -> tac env +val resolve_name : env -> list string -> tac (option (either bv fv)) diff --git a/src/tactics/FStar.Tactics.V2.InterpFuns.fst b/src/tactics/FStar.Tactics.V2.InterpFuns.fst new file mode 100644 index 00000000000..5a7b325cc42 --- /dev/null +++ b/src/tactics/FStar.Tactics.V2.InterpFuns.fst @@ -0,0 +1,4397 @@ +(* + Copyright 2008-2016 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.Tactics.V2.InterpFuns + +(* This module is awful, don't even look at it please. *) + +open FStar open FStar.Compiler +open FStar.Compiler.Effect +open FStar.Syntax.Syntax +open FStar.Compiler.Range + +open FStar.Tactics.Types +open FStar.Tactics.Result +open FStar.Syntax.Embeddings +open FStar.Tactics.Native +open FStar.Tactics.Monad + +module S = FStar.Syntax.Syntax +module SS = FStar.Syntax.Subst +module PC = FStar.Parser.Const +module BU = FStar.Compiler.Util +module Print = FStar.Syntax.Print +module Cfg = FStar.TypeChecker.Cfg +module E = FStar.Tactics.Embedding +module NBETerm = FStar.TypeChecker.NBETerm +module NBET = FStar.TypeChecker.NBETerm + +let unembed e t n = FStar.Syntax.Embeddings.unembed e t n +let embed e rng t n = FStar.Syntax.Embeddings.embed e t rng None n + +let rec drop n l = + if n = 0 then l + else + match l with + | [] -> failwith "drop: impossible" + | _::xs -> drop (n-1) xs + +let timing_int (l:Ident.lid) f = + fun psc cb args -> + (* BU.print1 "Entering primitive %s {\n" (Ident.string_of_lid l); *) + let r = f psc cb args in + (* BU.print1 "%s }\n" (Ident.string_of_lid l); *) + r + +let timing_nbe (l:Ident.lid) f = + fun nbe_cbs args -> + (* BU.print1 "Entering NBE primitive %s {\n" (Ident.string_of_lid l); *) + let r = f nbe_cbs args in + (* BU.print1 "%s }\n" (Ident.string_of_lid l); *) + r + +let mk nm arity nunivs interp nbe_interp = + let nm = PC.fstar_tactics_lid' ["V2"; "Builtins"; nm] in + { Cfg.name = nm + ; Cfg.arity = arity + ; Cfg.univ_arity = nunivs + ; Cfg.auto_reflect = Some (arity - 1) + ; Cfg.strong_reduction_ok = true + ; Cfg.requires_binder_substitution = true + ; Cfg.interpretation = (fun psc cbs _us args -> timing_int nm interp psc cbs args) + ; Cfg.interpretation_nbe = (fun cbs _us args -> timing_nbe nm nbe_interp cbs args) + } + +let mkt nm arity nunivs interp nbe_interp = + let nm = PC.fstar_tactics_lid' ["V2"; "Builtins"; nm] in + { Cfg.name = nm + ; Cfg.arity = arity + ; Cfg.univ_arity = nunivs + ; Cfg.auto_reflect = None + ; Cfg.strong_reduction_ok = true + ; Cfg.requires_binder_substitution = true + ; Cfg.interpretation = (fun psc cbs _us args -> timing_int nm interp psc cbs args) + ; Cfg.interpretation_nbe = (fun cbs _us args -> timing_nbe nm nbe_interp cbs args) + } + +(* This _psc variant is a special case *) +let mk_total_interpretation_1_psc + (f:Cfg.psc -> 't1 -> 'r) + (e1: embedding 't1) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + let r = f psc a1 in + Some (embed er (Cfg.psc_range psc) r ncb)) + | _ -> + None + +let mk_total_nbe_interpretation_1_psc + cb + (f:Cfg.psc -> 't1 -> 'r) + (e1: NBET.embedding 't1) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + let r = f Cfg.null_psc a1 in // TODO: no psc here? + Some (NBET.embed er cb r)) + | _ -> + None + +let mk_total_step_1_psc (nunivs:int) (name : string) + (f : Cfg.psc -> 'a -> 'r) + (ea : embedding 'a) + (er : embedding 'r) + (nf : Cfg.psc -> 'na -> 'nr) + (nea : NBETerm.embedding 'na) + (ner : NBETerm.embedding 'nr) + : Cfg.primitive_step = + mkt name 1 nunivs (mk_total_interpretation_1_psc f ea er) + (fun cb args -> mk_total_nbe_interpretation_1_psc cb nf nea ner (drop nunivs args)) + +let max_tac_arity = 20 + +(* NOTE: THE REST OF THIS MODULE IS AUTOGENERATED + * See .scripts/mk_tac_interps.sh *) +let mk_tactic_interpretation_1 + (t : 't1 -> tac 'r) + (e1:embedding 't1) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed E.e_proofstate a2 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))) + | _ -> + None + +let mk_tactic_interpretation_2 + (t : 't1 -> 't2 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed E.e_proofstate a3 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))) + | _ -> + None + +let mk_tactic_interpretation_3 + (t : 't1 -> 't2 -> 't3 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed E.e_proofstate a4 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))) + | _ -> + None + +let mk_tactic_interpretation_4 + (t : 't1 -> 't2 -> 't3 -> 't4 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed E.e_proofstate a5 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))) + | _ -> + None + +let mk_tactic_interpretation_5 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed E.e_proofstate a6 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))) + | _ -> + None + +let mk_tactic_interpretation_6 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed E.e_proofstate a7 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))) + | _ -> + None + +let mk_tactic_interpretation_7 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed E.e_proofstate a8 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))) + | _ -> + None + +let mk_tactic_interpretation_8 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed E.e_proofstate a9 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))) + | _ -> + None + +let mk_tactic_interpretation_9 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed E.e_proofstate a10 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))) + | _ -> + None + +let mk_tactic_interpretation_10 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed E.e_proofstate a11 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))) + | _ -> + None + +let mk_tactic_interpretation_11 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed E.e_proofstate a12 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_12 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed E.e_proofstate a13 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_13 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed E.e_proofstate a14 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_14 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed E.e_proofstate a15 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_15 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed E.e_proofstate a16 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_16 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed E.e_proofstate a17 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_17 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed E.e_proofstate a18 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_18 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + BU.bind_opt (unembed E.e_proofstate a19 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_19 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + BU.bind_opt (unembed e19 a19 ncb) (fun a19 -> + BU.bind_opt (unembed E.e_proofstate a20 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb))))))))))))))))))))) + | _ -> + None + +let mk_tactic_interpretation_20 + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (e20:embedding 't20) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _); (a21, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + BU.bind_opt (unembed e19 a19 ncb) (fun a19 -> + BU.bind_opt (unembed e20 a20 ncb) (fun a20 -> + BU.bind_opt (unembed E.e_proofstate a21 ncb) (fun ps -> + let ps = set_ps_psc psc ps in + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20) ps in + Some (embed (E.e_result er) (Cfg.psc_range psc) r ncb)))))))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_1 + cb + (t : 't1 -> tac 'r) + (e1:NBET.embedding 't1) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a2) (fun ps -> + let r = run_safe (t a1) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))) + | _ -> + None + +let mk_tactic_nbe_interpretation_2 + cb + (t : 't1 -> 't2 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a3) (fun ps -> + let r = run_safe (t a1 a2) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))) + | _ -> + None + +let mk_tactic_nbe_interpretation_3 + cb + (t : 't1 -> 't2 -> 't3 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a4) (fun ps -> + let r = run_safe (t a1 a2 a3) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_4 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a5) (fun ps -> + let r = run_safe (t a1 a2 a3 a4) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_5 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a6) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_6 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a7) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_7 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a8) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_8 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a9) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_9 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a10) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_10 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a11) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_11 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a12) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_12 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a13) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_13 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a14) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_14 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a15) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_15 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a16) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_16 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a17) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_17 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a18) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_18 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a19) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_19 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (e19:NBET.embedding 't19) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + BU.bind_opt (NBET.unembed e19 cb a19) (fun a19 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a20) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19) ps in + Some (NBET.embed (E.e_result_nbe er) cb r))))))))))))))))))))) + | _ -> + None + +let mk_tactic_nbe_interpretation_20 + cb + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> tac 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (e19:NBET.embedding 't19) + (e20:NBET.embedding 't20) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _); (a21, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + BU.bind_opt (NBET.unembed e19 cb a19) (fun a19 -> + BU.bind_opt (NBET.unembed e20 cb a20) (fun a20 -> + BU.bind_opt (NBET.unembed E.e_proofstate_nbe cb a21) (fun ps -> + let r = run_safe (t a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20) ps in + Some (NBET.embed (E.e_result_nbe er) cb r)))))))))))))))))))))) + | _ -> + None + +let mk_total_interpretation_1 + (f : 't1 -> 'r) + (e1:embedding 't1) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + let r = f a1 in + Some (embed er (Cfg.psc_range psc) r ncb)) + | _ -> + None + +let mk_total_interpretation_2 + (f : 't1 -> 't2 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + let r = f a1 a2 in + Some (embed er (Cfg.psc_range psc) r ncb))) + | _ -> + None + +let mk_total_interpretation_3 + (f : 't1 -> 't2 -> 't3 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + let r = f a1 a2 a3 in + Some (embed er (Cfg.psc_range psc) r ncb)))) + | _ -> + None + +let mk_total_interpretation_4 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + let r = f a1 a2 a3 a4 in + Some (embed er (Cfg.psc_range psc) r ncb))))) + | _ -> + None + +let mk_total_interpretation_5 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + let r = f a1 a2 a3 a4 a5 in + Some (embed er (Cfg.psc_range psc) r ncb)))))) + | _ -> + None + +let mk_total_interpretation_6 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + let r = f a1 a2 a3 a4 a5 a6 in + Some (embed er (Cfg.psc_range psc) r ncb))))))) + | _ -> + None + +let mk_total_interpretation_7 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + let r = f a1 a2 a3 a4 a5 a6 a7 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))) + | _ -> + None + +let mk_total_interpretation_8 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))) + | _ -> + None + +let mk_total_interpretation_9 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))) + | _ -> + None + +let mk_total_interpretation_10 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))) + | _ -> + None + +let mk_total_interpretation_11 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))))) + | _ -> + None + +let mk_total_interpretation_12 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))))) + | _ -> + None + +let mk_total_interpretation_13 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))))))) + | _ -> + None + +let mk_total_interpretation_14 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))))))) + | _ -> + None + +let mk_total_interpretation_15 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))))))))) + | _ -> + None + +let mk_total_interpretation_16 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))))))))) + | _ -> + None + +let mk_total_interpretation_17 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))))))))))) + | _ -> + None + +let mk_total_interpretation_18 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))))))))))) + | _ -> + None + +let mk_total_interpretation_19 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + BU.bind_opt (unembed e19 a19 ncb) (fun a19 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 in + Some (embed er (Cfg.psc_range psc) r ncb)))))))))))))))))))) + | _ -> + None + +let mk_total_interpretation_20 + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (e20:embedding 't20) + (er:embedding 'r) + (psc:Cfg.psc) + (ncb:norm_cb) + (args:args) + : option term + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _)] -> + BU.bind_opt (unembed e1 a1 ncb) (fun a1 -> + BU.bind_opt (unembed e2 a2 ncb) (fun a2 -> + BU.bind_opt (unembed e3 a3 ncb) (fun a3 -> + BU.bind_opt (unembed e4 a4 ncb) (fun a4 -> + BU.bind_opt (unembed e5 a5 ncb) (fun a5 -> + BU.bind_opt (unembed e6 a6 ncb) (fun a6 -> + BU.bind_opt (unembed e7 a7 ncb) (fun a7 -> + BU.bind_opt (unembed e8 a8 ncb) (fun a8 -> + BU.bind_opt (unembed e9 a9 ncb) (fun a9 -> + BU.bind_opt (unembed e10 a10 ncb) (fun a10 -> + BU.bind_opt (unembed e11 a11 ncb) (fun a11 -> + BU.bind_opt (unembed e12 a12 ncb) (fun a12 -> + BU.bind_opt (unembed e13 a13 ncb) (fun a13 -> + BU.bind_opt (unembed e14 a14 ncb) (fun a14 -> + BU.bind_opt (unembed e15 a15 ncb) (fun a15 -> + BU.bind_opt (unembed e16 a16 ncb) (fun a16 -> + BU.bind_opt (unembed e17 a17 ncb) (fun a17 -> + BU.bind_opt (unembed e18 a18 ncb) (fun a18 -> + BU.bind_opt (unembed e19 a19 ncb) (fun a19 -> + BU.bind_opt (unembed e20 a20 ncb) (fun a20 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 in + Some (embed er (Cfg.psc_range psc) r ncb))))))))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_1 + cb + (f : 't1 -> 'r) + (e1:NBET.embedding 't1) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + let r = f a1 in + Some (NBET.embed er cb r)) + | _ -> + None + +let mk_total_nbe_interpretation_2 + cb + (f : 't1 -> 't2 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + let r = f a1 a2 in + Some (NBET.embed er cb r))) + | _ -> + None + +let mk_total_nbe_interpretation_3 + cb + (f : 't1 -> 't2 -> 't3 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + let r = f a1 a2 a3 in + Some (NBET.embed er cb r)))) + | _ -> + None + +let mk_total_nbe_interpretation_4 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + let r = f a1 a2 a3 a4 in + Some (NBET.embed er cb r))))) + | _ -> + None + +let mk_total_nbe_interpretation_5 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + let r = f a1 a2 a3 a4 a5 in + Some (NBET.embed er cb r)))))) + | _ -> + None + +let mk_total_nbe_interpretation_6 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + let r = f a1 a2 a3 a4 a5 a6 in + Some (NBET.embed er cb r))))))) + | _ -> + None + +let mk_total_nbe_interpretation_7 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + let r = f a1 a2 a3 a4 a5 a6 a7 in + Some (NBET.embed er cb r)))))))) + | _ -> + None + +let mk_total_nbe_interpretation_8 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 in + Some (NBET.embed er cb r))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_9 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 in + Some (NBET.embed er cb r)))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_10 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 in + Some (NBET.embed er cb r))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_11 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 in + Some (NBET.embed er cb r)))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_12 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 in + Some (NBET.embed er cb r))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_13 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 in + Some (NBET.embed er cb r)))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_14 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 in + Some (NBET.embed er cb r))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_15 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 in + Some (NBET.embed er cb r)))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_16 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 in + Some (NBET.embed er cb r))))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_17 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 in + Some (NBET.embed er cb r)))))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_18 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 in + Some (NBET.embed er cb r))))))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_19 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (e19:NBET.embedding 't19) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + BU.bind_opt (NBET.unembed e19 cb a19) (fun a19 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 in + Some (NBET.embed er cb r)))))))))))))))))))) + | _ -> + None + +let mk_total_nbe_interpretation_20 + cb + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) + (e1:NBET.embedding 't1) + (e2:NBET.embedding 't2) + (e3:NBET.embedding 't3) + (e4:NBET.embedding 't4) + (e5:NBET.embedding 't5) + (e6:NBET.embedding 't6) + (e7:NBET.embedding 't7) + (e8:NBET.embedding 't8) + (e9:NBET.embedding 't9) + (e10:NBET.embedding 't10) + (e11:NBET.embedding 't11) + (e12:NBET.embedding 't12) + (e13:NBET.embedding 't13) + (e14:NBET.embedding 't14) + (e15:NBET.embedding 't15) + (e16:NBET.embedding 't16) + (e17:NBET.embedding 't17) + (e18:NBET.embedding 't18) + (e19:NBET.embedding 't19) + (e20:NBET.embedding 't20) + (er:NBET.embedding 'r) + (args:NBET.args) + : option NBET.t + = + match args with + | [(a1, _); (a2, _); (a3, _); (a4, _); (a5, _); (a6, _); (a7, _); (a8, _); (a9, _); (a10, _); (a11, _); (a12, _); (a13, _); (a14, _); (a15, _); (a16, _); (a17, _); (a18, _); (a19, _); (a20, _)] -> + BU.bind_opt (NBET.unembed e1 cb a1) (fun a1 -> + BU.bind_opt (NBET.unembed e2 cb a2) (fun a2 -> + BU.bind_opt (NBET.unembed e3 cb a3) (fun a3 -> + BU.bind_opt (NBET.unembed e4 cb a4) (fun a4 -> + BU.bind_opt (NBET.unembed e5 cb a5) (fun a5 -> + BU.bind_opt (NBET.unembed e6 cb a6) (fun a6 -> + BU.bind_opt (NBET.unembed e7 cb a7) (fun a7 -> + BU.bind_opt (NBET.unembed e8 cb a8) (fun a8 -> + BU.bind_opt (NBET.unembed e9 cb a9) (fun a9 -> + BU.bind_opt (NBET.unembed e10 cb a10) (fun a10 -> + BU.bind_opt (NBET.unembed e11 cb a11) (fun a11 -> + BU.bind_opt (NBET.unembed e12 cb a12) (fun a12 -> + BU.bind_opt (NBET.unembed e13 cb a13) (fun a13 -> + BU.bind_opt (NBET.unembed e14 cb a14) (fun a14 -> + BU.bind_opt (NBET.unembed e15 cb a15) (fun a15 -> + BU.bind_opt (NBET.unembed e16 cb a16) (fun a16 -> + BU.bind_opt (NBET.unembed e17 cb a17) (fun a17 -> + BU.bind_opt (NBET.unembed e18 cb a18) (fun a18 -> + BU.bind_opt (NBET.unembed e19 cb a19) (fun a19 -> + BU.bind_opt (NBET.unembed e20 cb a20) (fun a20 -> + let r = f a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 in + Some (NBET.embed er cb r))))))))))))))))))))) + | _ -> + None + +let mk_tac_step_1 + (nunivs:int) + (name:string) + (t : 't1 -> tac 'r) + (e1:embedding 't1) + (er:embedding 'r) + (nt : 'nt1 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 2 nunivs + (mk_tactic_interpretation_1 t e1 er) + (fun cb args -> mk_tactic_nbe_interpretation_1 cb nt ne1 ner (drop nunivs args)) + +let mk_tac_step_2 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 3 nunivs + (mk_tactic_interpretation_2 t e1 e2 er) + (fun cb args -> mk_tactic_nbe_interpretation_2 cb nt ne1 ne2 ner (drop nunivs args)) + +let mk_tac_step_3 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 4 nunivs + (mk_tactic_interpretation_3 t e1 e2 e3 er) + (fun cb args -> mk_tactic_nbe_interpretation_3 cb nt ne1 ne2 ne3 ner (drop nunivs args)) + +let mk_tac_step_4 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 5 nunivs + (mk_tactic_interpretation_4 t e1 e2 e3 e4 er) + (fun cb args -> mk_tactic_nbe_interpretation_4 cb nt ne1 ne2 ne3 ne4 ner (drop nunivs args)) + +let mk_tac_step_5 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 6 nunivs + (mk_tactic_interpretation_5 t e1 e2 e3 e4 e5 er) + (fun cb args -> mk_tactic_nbe_interpretation_5 cb nt ne1 ne2 ne3 ne4 ne5 ner (drop nunivs args)) + +let mk_tac_step_6 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 7 nunivs + (mk_tactic_interpretation_6 t e1 e2 e3 e4 e5 e6 er) + (fun cb args -> mk_tactic_nbe_interpretation_6 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ner (drop nunivs args)) + +let mk_tac_step_7 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 8 nunivs + (mk_tactic_interpretation_7 t e1 e2 e3 e4 e5 e6 e7 er) + (fun cb args -> mk_tactic_nbe_interpretation_7 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ner (drop nunivs args)) + +let mk_tac_step_8 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 9 nunivs + (mk_tactic_interpretation_8 t e1 e2 e3 e4 e5 e6 e7 e8 er) + (fun cb args -> mk_tactic_nbe_interpretation_8 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ner (drop nunivs args)) + +let mk_tac_step_9 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 10 nunivs + (mk_tactic_interpretation_9 t e1 e2 e3 e4 e5 e6 e7 e8 e9 er) + (fun cb args -> mk_tactic_nbe_interpretation_9 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ner (drop nunivs args)) + +let mk_tac_step_10 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 11 nunivs + (mk_tactic_interpretation_10 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 er) + (fun cb args -> mk_tactic_nbe_interpretation_10 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ner (drop nunivs args)) + +let mk_tac_step_11 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 12 nunivs + (mk_tactic_interpretation_11 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 er) + (fun cb args -> mk_tactic_nbe_interpretation_11 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ner (drop nunivs args)) + +let mk_tac_step_12 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 13 nunivs + (mk_tactic_interpretation_12 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 er) + (fun cb args -> mk_tactic_nbe_interpretation_12 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ner (drop nunivs args)) + +let mk_tac_step_13 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 14 nunivs + (mk_tactic_interpretation_13 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 er) + (fun cb args -> mk_tactic_nbe_interpretation_13 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ner (drop nunivs args)) + +let mk_tac_step_14 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 15 nunivs + (mk_tactic_interpretation_14 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 er) + (fun cb args -> mk_tactic_nbe_interpretation_14 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ner (drop nunivs args)) + +let mk_tac_step_15 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 16 nunivs + (mk_tactic_interpretation_15 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 er) + (fun cb args -> mk_tactic_nbe_interpretation_15 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ner (drop nunivs args)) + +let mk_tac_step_16 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 17 nunivs + (mk_tactic_interpretation_16 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 er) + (fun cb args -> mk_tactic_nbe_interpretation_16 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ner (drop nunivs args)) + +let mk_tac_step_17 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 18 nunivs + (mk_tactic_interpretation_17 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 er) + (fun cb args -> mk_tactic_nbe_interpretation_17 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ner (drop nunivs args)) + +let mk_tac_step_18 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 19 nunivs + (mk_tactic_interpretation_18 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 er) + (fun cb args -> mk_tactic_nbe_interpretation_18 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ner (drop nunivs args)) + +let mk_tac_step_19 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ne19:NBET.embedding 'nt19) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 20 nunivs + (mk_tactic_interpretation_19 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 e19 er) + (fun cb args -> mk_tactic_nbe_interpretation_19 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ne19 ner (drop nunivs args)) + +let mk_tac_step_20 + (nunivs:int) + (name:string) + (t : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> tac 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (e20:embedding 't20) + (er:embedding 'r) + (nt : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nt20 -> tac 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ne19:NBET.embedding 'nt19) + (ne20:NBET.embedding 'nt20) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 21 nunivs + (mk_tactic_interpretation_20 t e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 e19 e20 er) + (fun cb args -> mk_tactic_nbe_interpretation_20 cb nt ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ne19 ne20 ner (drop nunivs args)) + +let mk_total_step_1 + (nunivs:int) + (name:string) + (f : 't1 -> 'r) + (e1:embedding 't1) + (er:embedding 'r) + (nf : 'nt1 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 1 nunivs + (mk_total_interpretation_1 f e1 er) + (fun cb args -> mk_total_nbe_interpretation_1 cb nf ne1 ner (drop nunivs args)) + +let mk_total_step_2 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 2 nunivs + (mk_total_interpretation_2 f e1 e2 er) + (fun cb args -> mk_total_nbe_interpretation_2 cb nf ne1 ne2 ner (drop nunivs args)) + +let mk_total_step_3 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 3 nunivs + (mk_total_interpretation_3 f e1 e2 e3 er) + (fun cb args -> mk_total_nbe_interpretation_3 cb nf ne1 ne2 ne3 ner (drop nunivs args)) + +let mk_total_step_4 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 4 nunivs + (mk_total_interpretation_4 f e1 e2 e3 e4 er) + (fun cb args -> mk_total_nbe_interpretation_4 cb nf ne1 ne2 ne3 ne4 ner (drop nunivs args)) + +let mk_total_step_5 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 5 nunivs + (mk_total_interpretation_5 f e1 e2 e3 e4 e5 er) + (fun cb args -> mk_total_nbe_interpretation_5 cb nf ne1 ne2 ne3 ne4 ne5 ner (drop nunivs args)) + +let mk_total_step_6 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 6 nunivs + (mk_total_interpretation_6 f e1 e2 e3 e4 e5 e6 er) + (fun cb args -> mk_total_nbe_interpretation_6 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ner (drop nunivs args)) + +let mk_total_step_7 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 7 nunivs + (mk_total_interpretation_7 f e1 e2 e3 e4 e5 e6 e7 er) + (fun cb args -> mk_total_nbe_interpretation_7 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ner (drop nunivs args)) + +let mk_total_step_8 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 8 nunivs + (mk_total_interpretation_8 f e1 e2 e3 e4 e5 e6 e7 e8 er) + (fun cb args -> mk_total_nbe_interpretation_8 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ner (drop nunivs args)) + +let mk_total_step_9 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 9 nunivs + (mk_total_interpretation_9 f e1 e2 e3 e4 e5 e6 e7 e8 e9 er) + (fun cb args -> mk_total_nbe_interpretation_9 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ner (drop nunivs args)) + +let mk_total_step_10 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 10 nunivs + (mk_total_interpretation_10 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 er) + (fun cb args -> mk_total_nbe_interpretation_10 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ner (drop nunivs args)) + +let mk_total_step_11 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 11 nunivs + (mk_total_interpretation_11 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 er) + (fun cb args -> mk_total_nbe_interpretation_11 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ner (drop nunivs args)) + +let mk_total_step_12 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 12 nunivs + (mk_total_interpretation_12 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 er) + (fun cb args -> mk_total_nbe_interpretation_12 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ner (drop nunivs args)) + +let mk_total_step_13 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 13 nunivs + (mk_total_interpretation_13 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 er) + (fun cb args -> mk_total_nbe_interpretation_13 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ner (drop nunivs args)) + +let mk_total_step_14 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 14 nunivs + (mk_total_interpretation_14 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 er) + (fun cb args -> mk_total_nbe_interpretation_14 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ner (drop nunivs args)) + +let mk_total_step_15 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 15 nunivs + (mk_total_interpretation_15 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 er) + (fun cb args -> mk_total_nbe_interpretation_15 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ner (drop nunivs args)) + +let mk_total_step_16 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 16 nunivs + (mk_total_interpretation_16 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 er) + (fun cb args -> mk_total_nbe_interpretation_16 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ner (drop nunivs args)) + +let mk_total_step_17 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 17 nunivs + (mk_total_interpretation_17 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 er) + (fun cb args -> mk_total_nbe_interpretation_17 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ner (drop nunivs args)) + +let mk_total_step_18 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 18 nunivs + (mk_total_interpretation_18 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 er) + (fun cb args -> mk_total_nbe_interpretation_18 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ner (drop nunivs args)) + +let mk_total_step_19 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ne19:NBET.embedding 'nt19) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 19 nunivs + (mk_total_interpretation_19 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 e19 er) + (fun cb args -> mk_total_nbe_interpretation_19 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ne19 ner (drop nunivs args)) + +let mk_total_step_20 + (nunivs:int) + (name:string) + (f : 't1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) + (e1:embedding 't1) + (e2:embedding 't2) + (e3:embedding 't3) + (e4:embedding 't4) + (e5:embedding 't5) + (e6:embedding 't6) + (e7:embedding 't7) + (e8:embedding 't8) + (e9:embedding 't9) + (e10:embedding 't10) + (e11:embedding 't11) + (e12:embedding 't12) + (e13:embedding 't13) + (e14:embedding 't14) + (e15:embedding 't15) + (e16:embedding 't16) + (e17:embedding 't17) + (e18:embedding 't18) + (e19:embedding 't19) + (e20:embedding 't20) + (er:embedding 'r) + (nf : 'nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nt20 -> 'nr) + (ne1:NBET.embedding 'nt1) + (ne2:NBET.embedding 'nt2) + (ne3:NBET.embedding 'nt3) + (ne4:NBET.embedding 'nt4) + (ne5:NBET.embedding 'nt5) + (ne6:NBET.embedding 'nt6) + (ne7:NBET.embedding 'nt7) + (ne8:NBET.embedding 'nt8) + (ne9:NBET.embedding 'nt9) + (ne10:NBET.embedding 'nt10) + (ne11:NBET.embedding 'nt11) + (ne12:NBET.embedding 'nt12) + (ne13:NBET.embedding 'nt13) + (ne14:NBET.embedding 'nt14) + (ne15:NBET.embedding 'nt15) + (ne16:NBET.embedding 'nt16) + (ne17:NBET.embedding 'nt17) + (ne18:NBET.embedding 'nt18) + (ne19:NBET.embedding 'nt19) + (ne20:NBET.embedding 'nt20) + (ner:NBET.embedding 'nr) + : Cfg.primitive_step + = + mk name 20 nunivs + (mk_total_interpretation_20 f e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 e19 e20 er) + (fun cb args -> mk_total_nbe_interpretation_20 cb nf ne1 ne2 ne3 ne4 ne5 ne6 ne7 ne8 ne9 ne10 ne11 ne12 ne13 ne14 ne15 ne16 ne17 ne18 ne19 ne20 ner (drop nunivs args)) diff --git a/src/tactics/FStar.Tactics.V2.InterpFuns.fsti b/src/tactics/FStar.Tactics.V2.InterpFuns.fsti new file mode 100644 index 00000000000..fc3965999e4 --- /dev/null +++ b/src/tactics/FStar.Tactics.V2.InterpFuns.fsti @@ -0,0 +1,1251 @@ +(* + Copyright 2008-2016 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.Tactics.V2.InterpFuns + +(* This module is awful, don't even look at it please. *) + +open FStar open FStar.Compiler +open FStar.Compiler.Effect + +open FStar.Syntax.Embeddings +open FStar.Tactics.Monad + +module Cfg = FStar.TypeChecker.Cfg +module NBET = FStar.TypeChecker.NBETerm + +(* These functions are suboptimal, since they need to take embeddings for both + * the interpreter AND the NBE evaluator. Attempting to coallesce them + * is not easy, since we have some parametric e_any embeddings of differing types + * (Syntax.embedding term vs NBET.embedding NBET.t). So we pass both of them. + * We also need to pass in two versions of the underlying primitive, since they + * will be instantiated differently (again term vs NBET.t). Such is life + * without higher-order polymorphism. *) + +val mk_total_step_1_psc : + int -> + string -> + (Cfg.psc -> 'a -> 'r) -> + embedding 'a -> + embedding 'r -> + (Cfg.psc -> 'na -> 'nr) -> + NBET.embedding 'na -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val max_tac_arity : int // = 20 + +(* NOTE: The rest of this file is autogenerated. See .scripts/mk_tac_interp.sh *) + +val mk_tac_step_1 : + int -> + string -> + ('t1 -> tac 'r) -> + embedding 't1 -> + er:embedding 'r -> + ('nt1 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_2 : + int -> + string -> + ('t1 -> 't2 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_3 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_4 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_5 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_6 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_7 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_8 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_9 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_10 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_11 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_12 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_13 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_14 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_15 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_16 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_17 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_18 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_19 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + embedding 't19 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nt19 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_tac_step_20 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> tac 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + embedding 't19 -> + embedding 't20 -> + er:embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nt20 -> tac 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nt19 -> + NBET.embedding 'nt20 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_1 : + int -> + string -> + ('t1 -> 'r) -> + embedding 't1 -> + embedding 'r -> + ('nt1 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_2 : + int -> + string -> + ('t1 -> 't2 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_3 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_4 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_5 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_6 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_7 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_8 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_9 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_10 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_11 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_12 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_13 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_14 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_15 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_16 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_17 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_18 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_19 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + embedding 't19 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nt19 -> + NBET.embedding 'nr -> + Cfg.primitive_step + +val mk_total_step_20 : + int -> + string -> + ('t1 -> 't2 -> 't3 -> 't4 -> 't5 -> 't6 -> 't7 -> 't8 -> 't9 -> 't10 -> 't11 -> 't12 -> 't13 -> 't14 -> 't15 -> 't16 -> 't17 -> 't18 -> 't19 -> 't20 -> 'r) -> + embedding 't1 -> + embedding 't2 -> + embedding 't3 -> + embedding 't4 -> + embedding 't5 -> + embedding 't6 -> + embedding 't7 -> + embedding 't8 -> + embedding 't9 -> + embedding 't10 -> + embedding 't11 -> + embedding 't12 -> + embedding 't13 -> + embedding 't14 -> + embedding 't15 -> + embedding 't16 -> + embedding 't17 -> + embedding 't18 -> + embedding 't19 -> + embedding 't20 -> + embedding 'r -> + ('nt1 -> 'nt2 -> 'nt3 -> 'nt4 -> 'nt5 -> 'nt6 -> 'nt7 -> 'nt8 -> 'nt9 -> 'nt10 -> 'nt11 -> 'nt12 -> 'nt13 -> 'nt14 -> 'nt15 -> 'nt16 -> 'nt17 -> 'nt18 -> 'nt19 -> 'nt20 -> 'nr) -> + NBET.embedding 'nt1 -> + NBET.embedding 'nt2 -> + NBET.embedding 'nt3 -> + NBET.embedding 'nt4 -> + NBET.embedding 'nt5 -> + NBET.embedding 'nt6 -> + NBET.embedding 'nt7 -> + NBET.embedding 'nt8 -> + NBET.embedding 'nt9 -> + NBET.embedding 'nt10 -> + NBET.embedding 'nt11 -> + NBET.embedding 'nt12 -> + NBET.embedding 'nt13 -> + NBET.embedding 'nt14 -> + NBET.embedding 'nt15 -> + NBET.embedding 'nt16 -> + NBET.embedding 'nt17 -> + NBET.embedding 'nt18 -> + NBET.embedding 'nt19 -> + NBET.embedding 'nt20 -> + NBET.embedding 'nr -> + Cfg.primitive_step diff --git a/src/tactics/FStar.Tactics.Interpreter.fst b/src/tactics/FStar.Tactics.V2.Interpreter.fst similarity index 91% rename from src/tactics/FStar.Tactics.Interpreter.fst rename to src/tactics/FStar.Tactics.V2.Interpreter.fst index 415538d033b..a0f48944465 100644 --- a/src/tactics/FStar.Tactics.Interpreter.fst +++ b/src/tactics/FStar.Tactics.V2.Interpreter.fst @@ -14,7 +14,7 @@ limitations under the License. *) -module FStar.Tactics.Interpreter +module FStar.Tactics.V2.Interpreter open FStar open FStar.Compiler @@ -30,9 +30,9 @@ open FStar.Tactics.Result open FStar.Tactics.Types open FStar.Tactics.Printing open FStar.Tactics.Monad -open FStar.Tactics.Basic +open FStar.Tactics.V2.Basic open FStar.Tactics.CtrlRewrite -open FStar.Tactics.InterpFuns +open FStar.Tactics.V2.InterpFuns open FStar.Tactics.Native open FStar.Tactics.Common @@ -44,9 +44,9 @@ module Err = FStar.Errors module NBE = FStar.TypeChecker.NBE module NBET = FStar.TypeChecker.NBETerm module N = FStar.TypeChecker.Normalize -module NRE = FStar.Reflection.NBEEmbeddings +module NRE = FStar.Reflection.V2.NBEEmbeddings module Print = FStar.Syntax.Print -module RE = FStar.Reflection.Embeddings +module RE = FStar.Reflection.V2.Embeddings module S = FStar.Syntax.Syntax module SS = FStar.Syntax.Subst module TcComm = FStar.TypeChecker.Common @@ -57,7 +57,7 @@ module PC = FStar.Parser.Const let tacdbg = BU.mk_ref false -let unembed ea a norm_cb = unembed ea a true norm_cb +let unembed ea a norm_cb = unembed ea a norm_cb let embed ea r x norm_cb = embed ea x r None norm_cb let native_tactics_steps () = @@ -72,7 +72,7 @@ let native_tactics_steps () = ; Cfg.interpretation_nbe = fun _cb _us -> NBET.dummy_interp s.name } in - List.map step_from_native_step (Native.list_all ()) + List.map step_from_native_step (FStar.Tactics.Native.list_all ()) (* mk_total_step_1/mk_total_step_2 uses names in FStar.Tactics.Builtins, we override these few who * are in other modules: *) @@ -88,12 +88,17 @@ let mk_total_step_2' uarity nm f ea eb er nf ena enb enr = { mk_total_step_2 uarity nm f ea eb er nf ena enb enr with Cfg.name = Ident.lid_of_str ("FStar.Tactics.Types." ^ nm) } -(* Set below in the file, to avoid a huge recursive group *) -let __primitive_steps_ref : ref (option (list Cfg.primitive_step)) = BU.mk_ref None +(* This reference keeps all of the tactic primitives. *) +let __primitive_steps_ref : ref (list Cfg.primitive_step) = + BU.mk_ref [] + let primitive_steps () : list Cfg.primitive_step = - BU.must (!__primitive_steps_ref) + (!__primitive_steps_ref) @ (native_tactics_steps ()) +let register_tactic_primitive_step (s : Cfg.primitive_step) : unit = + __primitive_steps_ref := s :: !__primitive_steps_ref + (* This function attempts to reconstruct the reduction head of a stuck tactic term, to provide a better error message for the user. *) let rec t_head_of (t : term) : term = @@ -215,7 +220,7 @@ let unembed_tactic_nbe_1 (ea:NBET.embedding 'a) (er:NBET.embedding 'r) (cb:NBET. let e_tactic_thunk (er : embedding 'r) : embedding (tac 'r) = mk_emb (fun _ _ _ _ -> failwith "Impossible: embedding tactic (thunk)?") - (fun t w cb -> Some (unembed_tactic_1 e_unit er t cb ())) + (fun t cb -> Some (unembed_tactic_1 e_unit er t cb ())) (FStar.Syntax.Embeddings.term_as_fv S.t_unit) let e_tactic_nbe_thunk (er : NBET.embedding 'r) : NBET.embedding (tac 'r) @@ -229,7 +234,7 @@ let e_tactic_nbe_thunk (er : NBET.embedding 'r) : NBET.embedding (tac 'r) let e_tactic_1 (ea : embedding 'a) (er : embedding 'r) : embedding ('a -> tac 'r) = mk_emb (fun _ _ _ _ -> failwith "Impossible: embedding tactic (1)?") - (fun t w cb -> Some (unembed_tactic_1 ea er t cb)) + (fun t cb -> Some (unembed_tactic_1 ea er t cb)) (FStar.Syntax.Embeddings.term_as_fv S.t_unit) let e_tactic_nbe_1 (ea : NBET.embedding 'a) (er : NBET.embedding 'r) : NBET.embedding ('a -> tac 'r) @@ -243,11 +248,17 @@ let e_tactic_nbe_1 (ea : NBET.embedding 'a) (er : NBET.embedding 'r) : NBET.embe (* Takes a `sealed a`, but that's just a userspace abstraction. *) let unseal (_typ:_) (x:'a) : tac 'a = ret x -#push-options "--print_implicits" -let _ = mk_tac_step_2 +let unseal_step = + (* Unseal is not in builtins. *) + let s = + mk_tac_step_2 1 "unseal" + unseal e_any (e_sealed e_any) e_any + unseal NBET.e_any (NBET.e_sealed NBET.e_any) NBET.e_any + in + { s with name = PC.unseal_lid } + (* Set the primitive steps ref *) let () = - __primitive_steps_ref := Some <| (* NB: We need a PRECISE number for the universe arguments or NBE will * just go crazy. Most of the tactics work on ground types and thus have 0 * universe arguments. Those polymorphic, usually take 1 universe per Type argument. *) @@ -255,9 +266,12 @@ let () = (* Sigh, due to lack to expressive typing we need to duplicate a bunch of information here, * like which embeddings are needed for the arguments, but more annoyingly the underlying * implementation. Would be nice to have something better in the not-so-long run. *) - [ mk_tac_step_2 1 "unseal" - unseal e_any (e_sealed e_any) e_any - unseal NBET.e_any (NBET.e_sealed NBET.e_any) NBET.e_any; + List.iter register_tactic_primitive_step + [ unseal_step; + + mk_tac_step_1 0 "compress" + compress RE.e_term RE.e_term + compress NRE.e_term NRE.e_term; mk_total_step_1'_psc 0 "tracepoint" tracepoint_with_psc E.e_proofstate e_bool @@ -324,12 +338,12 @@ let () = (fun _ -> recover) NBET.e_any (e_tactic_nbe_thunk NBET.e_any) (NBET.e_either E.e_exn_nbe NBET.e_any); mk_tac_step_1 0 "intro" - intro e_unit RE.e_binder - intro NBET.e_unit NRE.e_binder; + intro e_unit RE.e_binding + intro NBET.e_unit NRE.e_binding; mk_tac_step_1 0 "intro_rec" - intro_rec e_unit (e_tuple2 RE.e_binder RE.e_binder) - intro_rec NBET.e_unit (NBET.e_tuple2 NRE.e_binder NRE.e_binder); + intro_rec e_unit (e_tuple2 RE.e_binding RE.e_binding) + intro_rec NBET.e_unit (NBET.e_tuple2 NRE.e_binding NRE.e_binding); mk_tac_step_1 0 "norm" norm (e_list e_norm_step) e_unit @@ -339,17 +353,17 @@ let () = norm_term_env RE.e_env (e_list e_norm_step) RE.e_term RE.e_term norm_term_env NRE.e_env (NBET.e_list NBET.e_norm_step) NRE.e_term NRE.e_term; - mk_tac_step_2 0 "norm_binder_type" - norm_binder_type (e_list e_norm_step) RE.e_binder e_unit - norm_binder_type (NBET.e_list NBET.e_norm_step) NRE.e_binder NBET.e_unit; + mk_tac_step_2 0 "norm_binding_type" + norm_binding_type (e_list e_norm_step) RE.e_binding e_unit + norm_binding_type (NBET.e_list NBET.e_norm_step) NRE.e_binding NBET.e_unit; mk_tac_step_2 0 "rename_to" - rename_to RE.e_binder e_string RE.e_binder - rename_to NRE.e_binder NBET.e_string NRE.e_binder; + rename_to RE.e_binding e_string RE.e_binding + rename_to NRE.e_binding NBET.e_string NRE.e_binding; - mk_tac_step_1 0 "binder_retype" - binder_retype RE.e_binder e_unit - binder_retype NRE.e_binder NBET.e_unit; + mk_tac_step_1 0 "var_retype" + var_retype RE.e_binding e_unit + var_retype NRE.e_binding NBET.e_unit; mk_tac_step_1 0 "revert" revert e_unit e_unit @@ -360,12 +374,12 @@ let () = clear_top NBET.e_unit NBET.e_unit; mk_tac_step_1 0 "clear" - clear RE.e_binder e_unit - clear NRE.e_binder NBET.e_unit; + clear RE.e_binding e_unit + clear NRE.e_binding NBET.e_unit; mk_tac_step_1 0 "rewrite" - rewrite RE.e_binder e_unit - rewrite NRE.e_binder NBET.e_unit; + rewrite RE.e_binding e_unit + rewrite NRE.e_binding NBET.e_unit; mk_tac_step_1 0 "refine_intro" refine_intro e_unit e_unit @@ -463,17 +477,9 @@ let () = top_env e_unit RE.e_env top_env NBET.e_unit NRE.e_env; - mk_tac_step_1 0 "inspect" - inspect RE.e_term RE.e_term_view - inspect NRE.e_term NRE.e_term_view; - - mk_tac_step_1 0 "pack" - pack RE.e_term_view RE.e_term - pack NRE.e_term_view NRE.e_term; - - mk_tac_step_1 0 "pack_curried" - pack_curried RE.e_term_view RE.e_term - pack_curried NRE.e_term_view NRE.e_term; + mk_tac_step_1 0 "binder_bv" + binder_bv RE.e_binder RE.e_bv + binder_bv NRE.e_binder NRE.e_bv; mk_tac_step_1 0 "fresh" fresh e_unit e_int @@ -556,8 +562,8 @@ let () = string_to_term NRE.e_env NBET.e_string NRE.e_term; mk_tac_step_2 0 "push_bv_dsenv" - push_bv_dsenv RE.e_env e_string (e_tuple2 RE.e_env RE.e_bv) - push_bv_dsenv NRE.e_env NBET.e_string (NBET.e_tuple2 NRE.e_env NRE.e_bv); + push_bv_dsenv RE.e_env e_string (e_tuple2 RE.e_env RE.e_binding) + push_bv_dsenv NRE.e_env NBET.e_string (NBET.e_tuple2 NRE.e_env NRE.e_binding); mk_tac_step_1 0 "term_to_string" term_to_string RE.e_term e_string @@ -625,6 +631,13 @@ let () = refl_check_prop_validity RE.e_env RE.e_term (e_tuple2 (e_option e_unit) (e_list e_issue)) refl_check_prop_validity NRE.e_env NRE.e_term NBET.(e_tuple2 (NBET.e_option NBET.e_unit) (e_list e_issue)); + mk_tac_step_4 0 "check_match_complete" + refl_check_match_complete RE.e_env RE.e_term RE.e_term (e_list RE.e_pattern) + (e_option (e_tuple2 (e_list RE.e_pattern) (e_list (e_list RE.e_binding)))) + refl_check_match_complete NRE.e_env NRE.e_term NRE.e_term (NBET.e_list NRE.e_pattern) + (NBET.e_option (NBET.e_tuple2 (NBET.e_list NRE.e_pattern) (NBET.e_list (NBET.e_list NRE.e_binding)))) + ; + mk_tac_step_2 0 "instantiate_implicits" refl_instantiate_implicits RE.e_env RE.e_term (e_tuple2 (e_option (e_tuple2 RE.e_term RE.e_term)) (e_list e_issue)) refl_instantiate_implicits NRE.e_env NRE.e_term NBET.(e_tuple2 (e_option (NBET.e_tuple2 NRE.e_term NRE.e_term)) (e_list e_issue)); @@ -648,11 +661,10 @@ let () = mk_tac_step_2 0 "resolve_name" resolve_name RE.e_env (e_list e_string) (e_option (e_either RE.e_bv RE.e_fv)) resolve_name NRE.e_env (NBET.e_list NBET.e_string) (NBET.e_option (NBET.e_either NRE.e_bv NRE.e_fv)); - + mk_tac_step_1 0 "log_issues" (fun is -> ret (FStar.Errors.add_issues is)) (e_list e_issue) e_unit - (fun is -> ret (FStar.Errors.add_issues is)) NBET.(e_list e_issue) NBET.e_unit - + (fun is -> ret (FStar.Errors.add_issues is)) NBET.(e_list e_issue) NBET.e_unit; ] let unembed_tactic_1_alt (ea:embedding 'a) (er:embedding 'r) (f:term) (ncb:norm_cb) : option ('a -> tac 'r) = @@ -664,7 +676,7 @@ let unembed_tactic_1_alt (ea:embedding 'a) (er:embedding 'r) (f:term) (ncb:norm_ let e_tactic_1_alt (ea: embedding 'a) (er:embedding 'r): embedding ('a -> (proofstate -> __result 'r)) = let em = (fun _ _ _ _ -> failwith "Impossible: embedding tactic (1)?") in - let un (t0: term) (w: bool) (n: norm_cb): option ('a -> (proofstate -> __result 'r)) = + let un (t0: term) (n: norm_cb): option ('a -> (proofstate -> __result 'r)) = match unembed_tactic_1_alt ea er t0 n with | Some f -> Some (fun x -> run (f x)) | None -> None @@ -672,7 +684,7 @@ let e_tactic_1_alt (ea: embedding 'a) (er:embedding 'r): embedding ('a -> (proof mk_emb em un (FStar.Syntax.Embeddings.term_as_fv t_unit) let report_implicits rng (is : TcRel.tagged_implicits) : unit = - is |> List.iter + is |> List.iter (fun (imp, tag) -> match tag with | TcRel.Implicit_unresolved @@ -705,12 +717,14 @@ let run_tactic_on_ps' (ps:proofstate) : list goal // remaining goals * 'b // return value - = let env = ps.main_context in + = + let ps = { ps with main_context = { ps.main_context with intactics = true } } in + let env = ps.main_context in if !tacdbg then BU.print2 "Typechecking tactic: (%s) (already_typed: %s) {\n" (Print.term_to_string tactic) (string_of_bool tactic_already_typed); - + (* Do NOT use the returned tactic, the typechecker is not idempotent and * will mess up the monadic lifts. We're just making sure it's well-typed * so it won't get stuck. c.f #1307 *) @@ -743,9 +757,9 @@ let run_tactic_on_ps' (* if !tacdbg || Options.tactics_info () then *) (* BU.print1 "Tactic generated proofterm %s\n" (Print.term_to_string w); *) let remaining_smt_goals = ps.goals@ps.smt_goals in - List.iter - (fun g -> - FStar.Tactics.Basic.mark_goal_implicit_already_checked g;//all of these will be fed to SMT anyway + List.iter + (fun g -> + FStar.Tactics.V2.Basic.mark_goal_implicit_already_checked g;//all of these will be fed to SMT anyway if is_irrelevant g then ( if !tacdbg then BU.print1 "Assigning irrelevant goal %s\n" (Print.term_to_string (goal_witness g)); diff --git a/src/tactics/FStar.Tactics.Interpreter.fsti b/src/tactics/FStar.Tactics.V2.Interpreter.fsti similarity index 90% rename from src/tactics/FStar.Tactics.Interpreter.fsti rename to src/tactics/FStar.Tactics.V2.Interpreter.fsti index aac5f30f543..c6c6a60301e 100644 --- a/src/tactics/FStar.Tactics.Interpreter.fsti +++ b/src/tactics/FStar.Tactics.V2.Interpreter.fsti @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Tactics.Interpreter +module FStar.Tactics.V2.Interpreter open FStar.Compiler.Effect open FStar.Compiler.Range @@ -36,6 +36,9 @@ val run_tactic_on_ps : val primitive_steps : unit -> list FStar.TypeChecker.Cfg.primitive_step +(* Used by tactics V1 *) +val register_tactic_primitive_step : FStar.TypeChecker.Cfg.primitive_step -> unit + val report_implicits : range -> FStar.TypeChecker.Rel.tagged_implicits -> unit (* For debugging only *) diff --git a/src/tests/FStar.Tests.Pars.fst b/src/tests/FStar.Tests.Pars.fst index b61b0d7dc8a..4f2b168e626 100644 --- a/src/tests/FStar.Tests.Pars.fst +++ b/src/tests/FStar.Tests.Pars.fst @@ -77,7 +77,7 @@ let init_once () : unit = solver Const.prims_lid NBE.normalize_for_unit_test - FStar.Universal.core_check + FStar.Universal.core_check in env.solver.init env; let dsenv, prims_mod = parse_mod (Options.prims()) (DsEnv.empty_env FStar.Parser.Dep.empty_deps) in @@ -133,7 +133,7 @@ let pars s = then BU.print_string msg else BU.print2 "%s: %s\n" (FStar.Compiler.Range.string_of_range r) msg; exit 1 - + | e when not ((Options.trace_error())) -> raise e let tc' s = @@ -175,10 +175,10 @@ let pars_and_tc_fragment (s:string) = with | e when not ((Options.trace_error())) -> raise e -let test_hashes () = +let test_hashes () = FStar.Main.process_args () |> ignore; //set options let _ = pars_and_tc_fragment "type unary_nat = | U0 | US of unary_nat" in - let test_one_hash (n:int) = + let test_one_hash (n:int) = let rec aux n = if n = 0 then "U0" else "(US " ^ aux (n - 1) ^ ")" @@ -189,57 +189,98 @@ let test_hashes () = (string_of_int n) (FStar.Hash.string_of_hash_code hc) in - let rec aux (n:int) = + let rec aux (n:int) = if n = 0 then () else (test_one_hash n; aux (n - 1)) in aux 100; Options.init() - + + let parse_incremental_decls () = - let source = + let source0 = + "module Demo\n\ + let f x = match x with | Some x -> true | None -> false\n\ + let test y = if Some? y then f y else true\n\ + ```pulse\n\ + fn f() {}\n\ + ```\n\ + ```pulse\n\ + fn g() {}\n\ + ```\n\ + let something = more\n\ + let >< junk" + in + let source1 = "module Demo\n\ let f x = match x with | Some x -> true | None -> false\n\ let test y = if Some? y then f y else true\n\ - let some junk )(" + ```pulse\n\ + fn f() {}\n\ + ```\n\n\ + ```pulse\n\ + fn g() {}\n\ + ```\n\ + let something = more\n\ + let >< junk" in + let open FStar.Parser.ParseIt in - let input = Incremental { frag_fname = "Demo.fst"; - frag_text = source; - frag_line = 0; - frag_col = 0 } in + let input0 = Incremental { frag_fname = "Demo.fst"; + frag_text = source0; + frag_line = 1; + frag_col = 0 } in + let input1 = Incremental { frag_fname = "Demo.fst"; + frag_text = source1; + frag_line = 1; + frag_col = 0 } in let open FStar.Compiler.Range in - match parse input with - | IncrementalFragment (decls, _, parse_err) -> ( - let _ = match parse_err with - | None -> - failwith "Incremental parsing failed: Expected syntax error at (3,15), got no error" - | Some (_, _, rng) -> - let p = start_of_range rng in - if line_of_pos p = 3 && col_of_pos p = 15 - then () - else failwith (format2 "Incremental parsing failed: Expected syntax error at (3,15), got error at (%s, %s)" - (string_of_int (line_of_pos p)) - (string_of_int (col_of_pos p))) + match parse input0, parse input1 with + | IncrementalFragment (decls0, _, parse_err0), + IncrementalFragment (decls1, _, parse_err1) -> ( + let check_range r l c = + let p = start_of_range r in + if line_of_pos p = l && col_of_pos p = c + then () + else failwith (format4 "Incremental parsing failed: Expected syntax error at (%s, %s), got error at (%s, %s)" + (string_of_int l) + (string_of_int c) + (string_of_int (line_of_pos p)) + (string_of_int (col_of_pos p))) in - match decls with - | [d0;d1;d2] -> () - | _ -> failwith (format1 "Incremental parsing failed; expected 3 decls got %s\n" - (string_of_int (List.length decls))) + let _ = + match parse_err0, parse_err1 with + | None, _ -> + failwith "Incremental parsing failed: Expected syntax error at (8, 6), got no error" + | _, None -> + failwith "Incremental parsing failed: Expected syntax error at (9, 6), got no error" + | Some (_, _, rng0), Some (_, _, rng1) -> + check_range rng0 11 6; + check_range rng1 12 6 + in + match decls0, decls1 with + | [d0;d1;d2;d3;d4;d5], + [e0;e1;e2;e3;e4;e5] -> + let open FStar.Parser.AST.Util in + if List.forall2 (fun (x, _) (y, _) -> eq_decl x y) decls0 decls1 + then () + else ( + failwith ("Incremental parsing failed; unexpected change in a decl") + ) + | _ -> failwith (format2 "Incremental parsing failed; expected 6 decls got %s and %s\n" + (string_of_int (List.length decls0)) + (string_of_int (List.length decls1))) ) - - | ParseError (code, message, range) -> - let msg = + + | ParseError (code, message, range), _ + | _, ParseError (code, message, range) -> + let msg = format2 "Incremental parsing failed: Syntax error @ %s: %s" (Range.string_of_range range) message in failwith msg - - | ASTFragment _ - | Term _ -> - failwith "Incremental parsing failed: Unexpected output" - - + | _ -> + failwith "Incremental parsing failed: Unexpected output" diff --git a/src/tosyntax/FStar.ToSyntax.ToSyntax.fst b/src/tosyntax/FStar.ToSyntax.ToSyntax.fst index 42ec7e164e2..30675e9e5b6 100644 --- a/src/tosyntax/FStar.ToSyntax.ToSyntax.fst +++ b/src/tosyntax/FStar.ToSyntax.ToSyntax.fst @@ -2705,7 +2705,7 @@ let binder_ident (b:binder) : option ident = let binder_idents (bs:list binder) : list ident = List.collect (fun b -> FStar.Common.list_of_option (binder_ident b)) bs -let mk_data_discriminators quals env datas = +let mk_data_discriminators quals env datas attrs = let quals = quals |> List.filter (function | S.NoExtract | S.Private -> true @@ -2722,7 +2722,7 @@ let mk_data_discriminators quals env datas = sigrng = range_of_lid disc_name;// FIXME: Isn't that range wrong? sigquals = quals [(* S.Logic ; *) S.OnlyName ; S.Discriminator d]; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = attrs; sigopts = None; }) @@ -2755,7 +2755,7 @@ let mk_indexed_projector_names iquals fvq attrs env lid (fields:list S.binder) = sigquals = quals; sigrng = range_of_lid field_name; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = attrs; sigopts = None; } in if only_decl then [decl] //only the signature @@ -2775,7 +2775,7 @@ let mk_indexed_projector_names iquals fvq attrs env lid (fields:list S.binder) = sigquals = quals; sigrng = p; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = attrs; sigopts = None; } in if no_decl then [impl] else [decl;impl]) |> List.flatten @@ -2805,7 +2805,7 @@ let mk_data_projector_names iquals env se : list sigelt = let mk_typ_abbrev env d lid uvs typars kopt t lids quals rng = (* fetch attributes here to support `deprecated`, just as for * TopLevelLet (see comment there) *) - let attrs = List.map (desugar_term env) d.attrs in + let attrs = U.deduplicate_terms (List.map (desugar_term env) d.attrs) in let val_attrs = Env.lookup_letbinding_quals_and_attrs env lid |> snd in let dd = incr_delta_qualifier t in let lb = { @@ -2821,10 +2821,10 @@ let mk_typ_abbrev env d lid uvs typars kopt t lids quals rng = sigquals = quals; sigrng = rng; sigmeta = default_sigmeta ; - sigattrs = val_attrs @ attrs; + sigattrs = U.deduplicate_terms (val_attrs @ attrs); sigopts = None; } -let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = +let rec desugar_tycon env (d: AST.decl) (d_attrs:list S.term) quals tcs : (env_t * sigelts) = let rng = d.drange in let tycon_id = function | TyconAbstract(id, _, _) @@ -2912,7 +2912,7 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = sigquals = quals; sigrng = rng; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = d_attrs; sigopts = None } in let _env, _ = Env.push_top_level_rec_binding _env id S.delta_constant in let _env2, _ = Env.push_top_level_rec_binding _env' id S.delta_constant in @@ -3005,7 +3005,7 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = | [TyconRecord _] -> let trec = List.hd tcs in let t, fs = tycon_record_as_variant trec in - desugar_tycon env d (RecordType (ids_of_lid (current_module env), fs)::quals) [t] + desugar_tycon env d d_attrs (RecordType (ids_of_lid (current_module env), fs)::quals) [t] | _::_ -> let env0 = env in @@ -3054,8 +3054,7 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = let env_tps, tps = push_tparams env tpars in let data_tpars = List.map (fun tp -> { tp with S.binder_qual = Some (S.Implicit true) }) tps in let tot_tconstr = mk_tot tconstr in - let attrs = List.map (desugar_term env) d.attrs in - let val_attrs = Env.lookup_letbinding_quals_and_attrs env tname |> snd in + let val_attrs = Env.lookup_letbinding_quals_and_attrs env0 tname |> snd in let constrNames, constrs = List.split <| (constrs |> List.map (fun (id, payload, cons_attrs) -> let t = match payload with @@ -3079,9 +3078,16 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = sigquals = quals; sigrng = rng; sigmeta = default_sigmeta ; - sigattrs = val_attrs @ attrs @ map (desugar_term env) cons_attrs; + sigattrs = U.deduplicate_terms (val_attrs @ d_attrs @ map (desugar_term env) cons_attrs); sigopts = None; })))) in + if Options.debug_at_level_no_module (Options.Other "attrs") + then ( + BU.print3 "Adding attributes to type %s: val_attrs=[@@%s] attrs=[@@%s]\n" + (string_of_lid tname) + (String.concat ", " (List.map Print.term_to_string val_attrs)) + (String.concat ", " (List.map Print.term_to_string d_attrs)) + ); ([], { sigel = Sig_inductive_typ {lid=tname; us=univs; params=tpars; @@ -3092,12 +3098,17 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = sigquals = tname_quals; sigrng = rng; sigmeta = default_sigmeta ; - sigattrs = val_attrs @ attrs; + sigattrs = U.deduplicate_terms (val_attrs @ d_attrs); sigopts = None; })::constrs | _ -> failwith "impossible") in let sigelts = tps_sigelts |> List.map (fun (_, se) -> se) in let bundle, abbrevs = FStar.Syntax.MutRecTy.disentangle_abbrevs_from_bundle sigelts quals (List.collect U.lids_of_sigelt sigelts) rng in + if Options.debug_at_level_no_module (Options.Other "attrs") + then ( + BU.print1 "After disentangling: %s\n" + (Print.sigelt_to_string bundle) + ); let env = push_sigelt env0 bundle in let env = List.fold_left push_sigelt env abbrevs in (* NOTE: derived operators such as projectors and discriminators are using the type names before unfolding. *) @@ -3105,7 +3116,7 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = let discs = sigelts |> List.collect (fun se -> match se.sigel with | Sig_inductive_typ {lid=tname; params=tps; t=k; ds=constrs} -> let quals = se.sigquals in - mk_data_discriminators quals env + mk_data_discriminators quals env (constrs |> List.filter (fun data_lid -> //AR: create data discriminators only for non-record data constructors let data_quals = let data_se = sigelts |> List.find (fun se -> match se.sigel with @@ -3113,6 +3124,7 @@ let rec desugar_tycon env (d: AST.decl) quals tcs : (env_t * sigelts) = | _ -> false) |> must in data_se.sigquals in not (data_quals |> List.existsb (function | RecordConstructor _ -> true | _ -> false)))) + se.sigattrs | _ -> []) in let ops = discs@data_ops in let env = List.fold_left push_sigelt env ops in @@ -3161,7 +3173,7 @@ let parse_attr_with_list warn (at:S.term) (head:lident) : option (list int) * bo | [] -> Some [], true | [(a1, _)] -> begin - match EMB.unembed (EMB.e_list EMB.e_int) a1 true EMB.id_norm_cb with + match EMB.unembed (EMB.e_list EMB.e_int) a1 EMB.id_norm_cb with | Some es -> Some (List.map FStar.BigInt.to_int_fs es), true | _ -> @@ -3213,7 +3225,7 @@ let lookup_effect_lid env (l:lident) r : S.eff_decl = r | Some l -> l -let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_binders eff_typ eff_decls attrs = +let rec desugar_effect env d (d_attrs:list S.term) (quals: qualifiers) (is_layered:bool) eff_name eff_binders eff_typ eff_decls = let env0 = env in // qualified with effect name let monad_env = Env.enter_monad_scope env eff_name in @@ -3233,10 +3245,10 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ let rr_members = ["repr" ; "return" ; "bind"] in if for_free then rr_members (* - * AR: subcomp and if_then_else are optional + * AR: subcomp, if_then_else, and close are optional * but adding here so as not to count them as actions *) - else if is_layered then rr_members @ [ "subcomp"; "if_then_else" ] + else if is_layered then rr_members @ [ "subcomp"; "if_then_else"; "close" ] (* the first 3 are optional but must not be counted as actions *) else rr_members @ [ "return_wp"; @@ -3327,6 +3339,7 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ else if is_layered then let has_subcomp = List.existsb (fun decl -> name_of_eff_decl decl = "subcomp") eff_decls in let has_if_then_else = List.existsb (fun decl -> name_of_eff_decl decl = "if_then_else") eff_decls in + let has_close = List.existsb (fun decl -> name_of_eff_decl decl = "close") eff_decls in //setting the second component to dummy_ts, // and kind to None, typechecker fills them in @@ -3377,6 +3390,10 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ l_if_then_else = if has_if_then_else then lookup "if_then_else" |> to_comb else dummy_tscheme, dummy_tscheme, None; + l_close = + if has_close then Some (lookup "close", dummy_tscheme) + else None; // If close is not specified, leave it to None + // The typechecker will also not fill it in }) else let rr = BU.for_some (function S.Reifiable | S.Reflectable _ -> true | _ -> false) qualifiers in @@ -3412,7 +3429,7 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ signature = eff_sig; combinators = combinators; actions = actions; - eff_attrs = List.map (desugar_term env) attrs; + eff_attrs = d_attrs; extraction_mode }) in @@ -3421,7 +3438,7 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ sigquals = qualifiers; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = d_attrs; sigopts = None; }) in @@ -3433,7 +3450,7 @@ let rec desugar_effect env d (quals: qualifiers) (is_layered:bool) eff_name eff_ let env = push_reflect_effect env qualifiers mname d.drange in env, [se] -and desugar_redefine_effect env d trans_qual quals eff_name eff_binders defn = +and desugar_redefine_effect env d d_attrs trans_qual quals eff_name eff_binders defn = let env0 = env in let env = Env.enter_monad_scope env eff_name in let env, binders = desugar_binders env eff_binders in @@ -3496,7 +3513,7 @@ and desugar_redefine_effect env d trans_qual quals eff_name eff_binders defn = sigquals = List.map (trans_qual (Some mname)) quals; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = d_attrs; sigopts = None; } in let monad_env = env in @@ -3521,30 +3538,27 @@ and desugar_redefine_effect env d trans_qual quals eff_name eff_binders defn = env, [se] -and desugar_decl_aux env (d: decl): (env_t * sigelts) = +and desugar_decl_maybe_fail_attr env (d: decl): (env_t * sigelts) = let no_fail_attrs (ats : list S.term) : list S.term = List.filter (fun at -> Option.isNone (get_fail_attr1 false at)) ats in - // Rather than carrying the attributes down the maze of recursive calls, we - // let each desugar_foo function provide an empty list, then override it here. - // However, we still pass `attrs` to desguar_decl_noattrs so that a Sig_let - // can propagate them to individual bindings. Also the `fail` attribute behaves + // The `fail` attribute behaves // differentrly! We only keep that one on the first new decl. let env0 = Env.snapshot env |> snd in (* we need the snapshot since pushing the let * will shadow a previous val *) - let attrs = List.map (desugar_term env) d.attrs in (* If this is an expect_failure, check to see if it fails. * If it does, check that the errors match as we normally do. * If it doesn't fail, leave it alone! The typechecker will check the failure. *) let env, sigelts = + let attrs = U.deduplicate_terms (List.map (desugar_term env) d.attrs) in match get_fail_attr false attrs with | Some (expected_errs, lax) -> let d = { d with attrs = [] } in let errs, r = Errors.catch_errors (fun () -> Options.with_saved_options (fun () -> - desugar_decl_noattrs attrs env d)) in + desugar_decl_core env attrs d)) in begin match errs, r with | [], Some (env, ses) -> (* Succeeded desugaring, carry on, but make a Sig_fail *) @@ -3554,7 +3568,7 @@ and desugar_decl_aux env (d: decl): (env_t * sigelts) = sigquals = []; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = attrs; sigopts = None; } in env0, [se] @@ -3580,27 +3594,15 @@ and desugar_decl_aux env (d: decl): (env_t * sigelts) = end end | None -> - desugar_decl_noattrs attrs env d - in - - let rec val_attrs (ses:list sigelt) : list S.term = - match ses with - | [{ sigel = Sig_let _}] - | { sigel = Sig_inductive_typ _ } :: _ -> - lids_of_sigelt (List.hd sigelts) |> - List.collect (fun nm -> snd (Env.lookup_letbinding_quals_and_attrs env0 nm)) - | [{ sigel = Sig_fail {ses} }] -> - List.collect (fun se -> val_attrs [se]) ses - | _ -> [] + desugar_decl_core env attrs d in - let attrs = attrs @ val_attrs sigelts in - env, List.map (fun sigelt -> { sigelt with sigattrs = attrs }) sigelts + env, sigelts and desugar_decl env (d:decl) :(env_t * sigelts) = - let env, ses = desugar_decl_aux env d in + let env, ses = desugar_decl_maybe_fail_attr env d in env, ses |> List.map generalize_annotated_univs -and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = +and desugar_decl_core env (d_attrs:list S.term) (d:decl) : (env_t * sigelts) = let trans_qual = trans_qual d.drange in match d.d with | Pragma p -> @@ -3609,8 +3611,8 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = let se = { sigel = Sig_pragma p; sigquals = []; sigrng = d.drange; - sigmeta = default_sigmeta ; - sigattrs = []; + sigmeta = default_sigmeta; + sigattrs = d_attrs; sigopts = None; } in env, [se] @@ -3652,8 +3654,13 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = | _ -> raise_error (Errors.Error_BadClassDecl, "Ill-formed `class` declaration: definition must be a record type") d.drange else quals in - let env, ses = desugar_tycon env d (List.map (trans_qual None) quals) tcs in - + let env, ses = desugar_tycon env d d_attrs (List.map (trans_qual None) quals) tcs in + if Options.debug_at_level_no_module (Options.Other "attrs") + then ( + BU.print2 "Desugared tycon from {%s} to {%s}\n" + (FStar.Parser.AST.decl_to_string d) + (String.concat "\n" (List.map FStar.Syntax.Print.sigelt_to_string ses)) + ); (* Handling typeclasses: we typecheck the tcs as usual, and then need to add * %splice[new_meth_lids] (mk_class type_lid) * where the tricky bit is getting the new_meth_lids. To do so, @@ -3738,11 +3745,15 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = { se with sigel = Sig_bundle {ses; lids} } | Sig_inductive_typ _ -> - { se with sigattrs = S.fvar_with_dd FStar.Parser.Const.tcclass_lid S.delta_constant None :: se.sigattrs } + { se + with sigattrs = U.deduplicate_terms + (S.fvar_with_dd FStar.Parser.Const.tcclass_lid S.delta_constant None + :: se.sigattrs) } | _ -> se in - List.map add_class_attr ses, List.concatMap (splice_decl meths) ses + List.map add_class_attr ses, + List.concatMap (splice_decl meths) ses else ses, [] in let env = List.fold_left push_sigelt env extra in @@ -3782,9 +3793,10 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = in (* Propagate top-level attrs to each lb. The lb.lbattrs field should be empty, * but just being safe here. *) + let top_attrs = d_attrs in let lbs = let (isrec, lbs0) = lbs in - let lbs0 = lbs0 |> List.map (fun lb -> { lb with lbattrs = lb.lbattrs @ val_attrs @ top_attrs }) in + let lbs0 = lbs0 |> List.map (fun lb -> { lb with lbattrs = U.deduplicate_terms (lb.lbattrs @ val_attrs @ top_attrs) }) in (isrec, lbs0) in // BU.print3 "Desugaring %s, val_quals are %s, val_attrs are %s\n" @@ -3807,7 +3819,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = quals; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = val_attrs @ top_attrs; + sigattrs = U.deduplicate_terms (val_attrs @ top_attrs); sigopts = None; } in let env = push_sigelt env s in env, [s] @@ -3905,7 +3917,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = [S.Assumption]; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = d_attrs; sigopts = None; }] | Val(id, t) -> @@ -3917,12 +3929,11 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = then Assumption::quals else quals in let lid = qualify env id in - let attrs = List.map (desugar_term env) d.attrs in let se = { sigel = Sig_declare_typ {lid; us=[]; t}; sigquals = List.map (trans_qual None) quals; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = attrs; + sigattrs = d_attrs; sigopts = None; } in let env = push_sigelt env se in env, [se] @@ -3937,37 +3948,36 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = in let l = qualify env id in let qual = [ExceptionConstructor] in + let top_attrs = d_attrs in let se = { sigel = Sig_datacon {lid=l;us=[];t;ty_lid=C.exn_lid;num_ty_params=0;mutuals=[C.exn_lid]}; sigquals = qual; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = top_attrs; sigopts = None; } in let se' = { sigel = Sig_bundle {ses=[se]; lids=[l]}; sigquals = qual; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = top_attrs; sigopts = None; } in let env = push_sigelt env se' in let data_ops = mk_data_projector_names [] env se in - let discs = mk_data_discriminators [] env [l] in + let discs = mk_data_discriminators [] env [l] top_attrs in let env = List.fold_left push_sigelt env (discs@data_ops) in env, se'::discs@data_ops | NewEffect (RedefineEffect(eff_name, eff_binders, defn)) -> let quals = d.quals in - desugar_redefine_effect env d trans_qual quals eff_name eff_binders defn + desugar_redefine_effect env d d_attrs trans_qual quals eff_name eff_binders defn | NewEffect (DefineEffect(eff_name, eff_binders, eff_typ, eff_decls)) -> let quals = d.quals in - let attrs = d.attrs in - desugar_effect env d quals false eff_name eff_binders eff_typ eff_decls attrs + desugar_effect env d d_attrs quals false eff_name eff_binders eff_typ eff_decls | LayeredEffect (DefineEffect (eff_name, eff_binders, eff_typ, eff_decls)) -> let quals = d.quals in - let attrs = d.attrs in - desugar_effect env d quals true eff_name eff_binders eff_typ eff_decls attrs + desugar_effect env d d_attrs quals true eff_name eff_binders eff_typ eff_decls | LayeredEffect (RedefineEffect _) -> failwith "Impossible: LayeredEffect (RedefineEffect _) (should not be parseable)" @@ -3975,6 +3985,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = | SubEffect l -> let src_ed = lookup_effect_lid env l.msource d.drange in let dst_ed = lookup_effect_lid env l.mdest d.drange in + let top_attrs = d_attrs in if not (U.is_layered src_ed || U.is_layered dst_ed) then let lift_wp, lift = match l.lift_op with | NonReifiableLift t -> Some ([],desugar_term env t), None @@ -3989,7 +4000,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = []; sigrng = d.drange; sigmeta = default_sigmeta ; - sigattrs = []; + sigattrs = top_attrs; sigopts = None} in env, [se] else @@ -4007,7 +4018,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = []; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = top_attrs; sigopts = None}] | _ -> failwith "Impossible! unexpected lift_op for lift to a layered effect") @@ -4015,6 +4026,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = let m = lookup_effect_lid env m_eff d.drange in let n = lookup_effect_lid env n_eff d.drange in let p = lookup_effect_lid env p_eff d.drange in + let top_attrs = d_attrs in env, [{ sigel = Sig_polymonadic_bind { m_lid=m.mname; @@ -4026,12 +4038,13 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = []; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = top_attrs; sigopts = None }] | Polymonadic_subcomp (m_eff, n_eff, subcomp) -> let m = lookup_effect_lid env m_eff d.drange in let n = lookup_effect_lid env n_eff d.drange in + let top_attrs = d_attrs in env, [{ sigel = Sig_polymonadic_subcomp { m_lid=m.mname; @@ -4042,21 +4055,22 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = sigquals = []; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = top_attrs; sigopts = None }] | Splice (is_typed, ids, t) -> let t = desugar_term env t in + let top_attrs = d_attrs in let se = { sigel = Sig_splice {is_typed; lids=List.map (qualify env) ids; tac=t}; sigquals = List.map (trans_qual None) d.quals; sigrng = d.drange; sigmeta = default_sigmeta; - sigattrs = []; + sigattrs = top_attrs; sigopts = None; } in let env = push_sigelt env se in env, [se] - | DeclSyntaxExtension (extension_name, code, range) -> + | DeclSyntaxExtension (extension_name, code, _, range) -> let extension_parser = FStar.Parser.AST.Util.lookup_extension_parser extension_name in match extension_parser with | None -> @@ -4078,7 +4092,7 @@ and desugar_decl_noattrs top_attrs env (d:decl) : (env_t * sigelts) = | Inr d' -> let quals = d'.quals @ d.quals in let attrs = d'.attrs @ d.attrs in - desugar_decl_aux env { d' with quals; attrs; drange=d.drange } + desugar_decl_maybe_fail_attr env { d' with quals; attrs; drange=d.drange } let desugar_decls env decls = let env, sigelts = diff --git a/src/typechecker/FStar.TypeChecker.Cfg.fst b/src/typechecker/FStar.TypeChecker.Cfg.fst index 20e7f0fa177..9ad4b47ffcc 100644 --- a/src/typechecker/FStar.TypeChecker.Cfg.fst +++ b/src/typechecker/FStar.TypeChecker.Cfg.fst @@ -22,6 +22,8 @@ module EMB = FStar.Syntax.Embeddings module Z = FStar.BigInt module NBE = FStar.TypeChecker.NBETerm +friend FStar.Pervasives (* to expose norm_step *) + let steps_to_string f = let format_opt (f:'a -> string) (o:option 'a) = match o with @@ -246,7 +248,7 @@ let log_nbe cfg f = let embed_simple (emb:EMB.embedding 'a) (r:Range.range) (x:'a) : term = EMB.embed emb x r None EMB.id_norm_cb let try_unembed_simple (emb:EMB.embedding 'a) (x:term) : option 'a = - EMB.unembed emb x false EMB.id_norm_cb + EMB.try_unembed emb x EMB.id_norm_cb let built_in_primitive_steps : prim_step_set = let arg_as_int (a:arg) = fst a |> try_unembed_simple EMB.e_int in let arg_as_bool (a:arg) = fst a |> try_unembed_simple EMB.e_bool in @@ -1188,7 +1190,7 @@ let built_in_primitive_steps : prim_step_set = let issue_ops = let mk_lid l = PC.p2l ["FStar"; "Issue"; l] in let arg_as_issue (x:arg) : option issue = - EMB.(unembed e_issue (fst x) false id_norm_cb) + EMB.(try_unembed e_issue (fst x) id_norm_cb) in let option_int_as_option_z oi = match oi with @@ -1463,28 +1465,28 @@ let should_reduce_local_let cfg lb = not (cfg.steps.pure_subterms_within_computations) let translate_norm_step = function - | EMB.Zeta -> [Zeta] - | EMB.ZetaFull -> [ZetaFull] - | EMB.Iota -> [Iota] - | EMB.Delta -> [UnfoldUntil delta_constant] - | EMB.Simpl -> [Simplify] - | EMB.Weak -> [Weak] - | EMB.HNF -> [HNF] - | EMB.Primops -> [Primops] - | EMB.Reify -> [Reify] - | EMB.UnfoldOnly names -> + | Pervasives.Zeta -> [Zeta] + | Pervasives.ZetaFull -> [ZetaFull] + | Pervasives.Iota -> [Iota] + | Pervasives.Delta -> [UnfoldUntil delta_constant] + | Pervasives.Simpl -> [Simplify] + | Pervasives.Weak -> [Weak] + | Pervasives.HNF -> [HNF] + | Pervasives.Primops -> [Primops] + | Pervasives.Reify -> [Reify] + | Pervasives.UnfoldOnly names -> [UnfoldUntil delta_constant; UnfoldOnly (List.map I.lid_of_str names)] - | EMB.UnfoldFully names -> + | Pervasives.UnfoldFully names -> [UnfoldUntil delta_constant; UnfoldFully (List.map I.lid_of_str names)] - | EMB.UnfoldAttr names -> + | Pervasives.UnfoldAttr names -> [UnfoldUntil delta_constant; UnfoldAttr (List.map I.lid_of_str names)] - | EMB.UnfoldQual names -> + | Pervasives.UnfoldQual names -> [UnfoldUntil delta_constant; UnfoldQual names] - | EMB.UnfoldNamespace names -> + | Pervasives.UnfoldNamespace names -> [UnfoldUntil delta_constant; UnfoldNamespace names] - | EMB.Unascribe -> [Unascribe] - | EMB.NBE -> [NBE] - | EMB.Unmeta -> [Unmeta] + | Pervasives.Unascribe -> [Unascribe] + | Pervasives.NBE -> [NBE] + | Pervasives.Unmeta -> [Unmeta] let translate_norm_steps s = let s = List.concatMap translate_norm_step s in diff --git a/src/typechecker/FStar.TypeChecker.Cfg.fsti b/src/typechecker/FStar.TypeChecker.Cfg.fsti index 5575b35b275..c98d18cc99f 100644 --- a/src/typechecker/FStar.TypeChecker.Cfg.fsti +++ b/src/typechecker/FStar.TypeChecker.Cfg.fsti @@ -156,4 +156,4 @@ val config: list step -> Env.env -> cfg val should_reduce_local_let : cfg -> letbinding -> bool -val translate_norm_steps: list EMB.norm_step -> list Env.step +val translate_norm_steps: list Pervasives.norm_step -> list Env.step diff --git a/src/typechecker/FStar.TypeChecker.Common.fst b/src/typechecker/FStar.TypeChecker.Common.fst index f6c31622466..c7b9f7875aa 100644 --- a/src/typechecker/FStar.TypeChecker.Common.fst +++ b/src/typechecker/FStar.TypeChecker.Common.fst @@ -112,23 +112,24 @@ let id_info__insert ty_map db info = | Inr _ -> ty_map info.identifier_ty | Inl x -> - // BU.print1 "id_info__insert: %s\n" - // (print_identifier_info info); ty_map info.identifier_ty in - let info = { info with identifier_range = use_range; - identifier_ty = id_ty } in + match id_ty with + | None -> db + | Some id_ty -> + let info = { info with identifier_range = use_range; + identifier_ty = id_ty } in - let fn = file_of_range use_range in - let start = start_of_range use_range in - let row, col = line_of_pos start, col_of_pos start in + let fn = file_of_range use_range in + let start = start_of_range use_range in + let row, col = line_of_pos start, col_of_pos start in - let rows = BU.psmap_find_default db fn (BU.pimap_empty ()) in - let cols = BU.pimap_find_default rows row [] in + let rows = BU.psmap_find_default db fn (BU.pimap_empty ()) in + let cols = BU.pimap_find_default rows row [] in - insert_col_info col info cols - |> BU.pimap_add rows row - |> BU.psmap_add db fn + insert_col_info col info cols + |> BU.pimap_add rows row + |> BU.psmap_add db fn let id_info_insert table id ty range = let info = { identifier = id; identifier_ty = ty; identifier_range = range} in @@ -606,4 +607,4 @@ let check_positivity_qual subtyping p0 p1 | Some _, None -> true | Some BinderUnused, Some BinderStrictlyPositive -> true | _ -> false - else false \ No newline at end of file + else false diff --git a/src/typechecker/FStar.TypeChecker.Common.fsti b/src/typechecker/FStar.TypeChecker.Common.fsti index bef131b32db..c3340343988 100644 --- a/src/typechecker/FStar.TypeChecker.Common.fsti +++ b/src/typechecker/FStar.TypeChecker.Common.fsti @@ -127,7 +127,7 @@ val id_info_table_empty : id_info_table val id_info_insert_bv : id_info_table -> bv -> typ -> id_info_table val id_info_insert_fv : id_info_table -> fv -> typ -> id_info_table val id_info_toggle : id_info_table -> bool -> id_info_table -val id_info_promote : id_info_table -> (typ -> typ) -> id_info_table +val id_info_promote : id_info_table -> (typ -> option typ) -> id_info_table val id_info_at_pos : id_info_table -> string -> int -> int -> option identifier_info // Reason, term and uvar, and (rough) position where it is introduced @@ -193,4 +193,4 @@ val lcomp_of_comp : comp -> lcomp val simplify : debug:bool -> term -> term val check_positivity_qual (subtyping:bool) (p0 p1:option positivity_qualifier) - : bool \ No newline at end of file + : bool diff --git a/src/typechecker/FStar.TypeChecker.Core.fst b/src/typechecker/FStar.TypeChecker.Core.fst index 8aa10378c2b..03d2fd7cdd0 100644 --- a/src/typechecker/FStar.TypeChecker.Core.fst +++ b/src/typechecker/FStar.TypeChecker.Core.fst @@ -417,9 +417,14 @@ let check_aqual (a0 a1:aqual) | Some ({aqual_implicit=b0}), Some ({aqual_implicit=b1}) -> if b0 = b1 then return () - else fail "Unequal arg qualifiers" + else fail (BU.format2 "Unequal arg qualifiers: lhs implicit=%s and rhs implicit=%s" + (string_of_bool b0) (string_of_bool b1)) + | None, Some { aqual_implicit=false } + | Some { aqual_implicit=false }, None -> + return () | _ -> - fail "Unequal arg qualifiers" + fail (BU.format2 "Unequal arg qualifiers: lhs %s and rhs %s" + (P.aqual_to_string a0) (P.aqual_to_string a1)) let check_positivity_qual (rel:relation) (p0 p1:option positivity_qualifier) : result unit @@ -820,13 +825,16 @@ let rec check_relation (g:env) (rel:relation) (t0 t1:typ) : option (term & term) = maybe_unfold_side (which_side_to_unfold t0 t1) t0 t1 in + let emit_guard t0 t1 = + let! _, t_typ = check' g t0 in + let! u = universe_of g t_typ in + guard (U.mk_eq2 u t_typ t0 t1) + in let fallback t0 t1 = if guard_ok then if equatable g t0 || equatable g t1 - then let! _, t_typ = check' g t0 in - let! u = universe_of g t_typ in - guard (U.mk_eq2 u t_typ t0 t1) + then emit_guard t0 t1 else err () else err () in @@ -997,10 +1005,28 @@ let rec check_relation (g:env) (rel:relation) (t0 t1:typ) if not (head_matches && List.length args0 = List.length args1) then maybe_unfold_and_retry t0 t1 else ( - handle_with - (check_relation g EQUALITY head0 head1 ;! - check_relation_args g EQUALITY args0 args1) - (fun _ -> maybe_unfold_side_and_retry Both t0 t1) + (* If we're proving equality, SMT queries are ok, and either head + is equatable: + - first try proving equality structurally, without a guard. + - if that fails, then emit an SMT query + This is designed to be able to prove things like `v.v1 == u.v1` + first by trying to unify `v` and `u` and if it fails + then prove `v.v1 == u.v1` *) + let compare_head_and_args () = + handle_with + (check_relation g EQUALITY head0 head1 ;! + check_relation_args g EQUALITY args0 args1) + (fun _ -> maybe_unfold_side_and_retry Both t0 t1) + in + if guard_ok && + (rel=EQUALITY) && + (equatable g t0 || equatable g t1) + then ( + handle_with + (no_guard (compare_head_and_args ())) + (fun _ -> emit_guard t0 t1) + ) + else compare_head_and_args () ) | Tm_abs {bs=b0::b1::bs; body; rc_opt=ropt}, _ -> diff --git a/src/typechecker/FStar.TypeChecker.Env.fst b/src/typechecker/FStar.TypeChecker.Env.fst index f35193df3c8..ab9de0810a0 100644 --- a/src/typechecker/FStar.TypeChecker.Env.fst +++ b/src/typechecker/FStar.TypeChecker.Env.fst @@ -148,6 +148,7 @@ let initial_env deps failhard=false; nosynth=false; uvar_subtyping=true; + intactics=false; tc_term=tc_term; typeof_tot_or_gtot_term=typeof_tot_or_gtot_term; @@ -161,7 +162,7 @@ let initial_env deps universe_of=universe_of; teq_nosmt_force=teq_nosmt_force; subtype_nosmt_force=subtype_nosmt_force; - qtbl_name_and_index=BU.smap_create 10, None; //10? + qtbl_name_and_index=None, BU.smap_create 10; normalized_eff_names=BU.smap_create 20; //20? fv_delta_depths = BU.smap_create 50; proof_ns = Options.using_facts_from (); @@ -215,7 +216,7 @@ let push_stack env = attrtab=BU.smap_copy (attrtab env); gamma_cache=BU.smap_copy (gamma_cache env); identifier_info=BU.mk_ref !env.identifier_info; - qtbl_name_and_index=BU.smap_copy (env.qtbl_name_and_index |> fst), env.qtbl_name_and_index |> snd; + qtbl_name_and_index=env.qtbl_name_and_index |> fst, BU.smap_copy (env.qtbl_name_and_index |> snd); normalized_eff_names=BU.smap_copy env.normalized_eff_names; fv_delta_depths=BU.smap_copy env.fv_delta_depths; strict_args_tab=BU.smap_copy env.strict_args_tab; @@ -259,19 +260,19 @@ let pop env msg = rollback env.solver msg None let incr_query_index env = let qix = peek_query_indices () in match env.qtbl_name_and_index with - | _, None -> env - | tbl, Some (l, n) -> + | None, _ -> env + | Some (l, typ, n), tbl -> match qix |> List.tryFind (fun (m, _) -> Ident.lid_equals l m) with | None -> let next = n + 1 in add_query_index (l, next); BU.smap_add tbl (string_of_lid l) next; - {env with qtbl_name_and_index=tbl, Some (l, next)} + {env with qtbl_name_and_index=Some (l, typ, next), tbl} | Some (_, m) -> let next = m + 1 in add_query_index (l, next); BU.smap_add tbl (string_of_lid l) next; - {env with qtbl_name_and_index=tbl, Some (l, next)} + {env with qtbl_name_and_index=Some (l, typ, next), tbl} //////////////////////////////////////////////////////////// // Checking the per-module debug level and position info // diff --git a/src/typechecker/FStar.TypeChecker.Env.fsti b/src/typechecker/FStar.TypeChecker.Env.fsti index 3d3d8a81655..0b1f3957ebb 100644 --- a/src/typechecker/FStar.TypeChecker.Env.fsti +++ b/src/typechecker/FStar.TypeChecker.Env.fsti @@ -180,6 +180,7 @@ and env = { failhard :bool; (* don't try to carry on after a typechecking error *) nosynth :bool; (* don't run synth tactics *) uvar_subtyping :bool; + intactics :bool; (* we are currently running a tactic *) tc_term :env -> term -> term * lcomp * guard_t; (* typechecker callback; G |- e : C <== g *) typeof_tot_or_gtot_term :env -> term -> must_tot -> term * typ * guard_t; (* typechecker callback; G |- e : (G)Tot t <== g *) @@ -187,7 +188,9 @@ and env = { typeof_well_typed_tot_or_gtot_term :env -> term -> must_tot -> typ * guard_t; (* typechecker callback, uses fast path, with a fallback on the slow path *) teq_nosmt_force: env -> term -> term -> bool; (* callback to the unifier *) subtype_nosmt_force: env -> term -> term -> bool; (* callback to the unifier *) - qtbl_name_and_index:BU.smap int * option (lident*int); (* the top-level term we're currently processing and the nth query for it, in addition we maintain a counter for query index per lid *) + qtbl_name_and_index: option (lident & typ & int) & BU.smap int; + (* ^ the top-level term we're currently processing, its type, and the query counter for it, + in addition we maintain a counter for query index per lid *) normalized_eff_names:BU.smap lident; (* cache for normalized effect name, used to be captured in the function norm_eff_name, which made it harder to roll back etc. *) fv_delta_depths:BU.smap delta_depth; (* cache for fv delta depths, its preferable to use Env.delta_depth_of_fv, soon fv.delta_depth should be removed *) proof_ns :proof_namespace; (* the current names that will be encoded to SMT (a.k.a. hint db) *) @@ -284,7 +287,7 @@ val get_range : env -> Range.range val insert_bv_info : env -> bv -> typ -> unit val insert_fv_info : env -> fv -> typ -> unit val toggle_id_info : env -> bool -> unit -val promote_id_info : env -> (typ -> typ) -> unit +val promote_id_info : env -> (typ -> option typ) -> unit (* Querying identifiers *) val lid_exists : env -> lident -> bool diff --git a/src/typechecker/FStar.TypeChecker.NBETerm.fst b/src/typechecker/FStar.TypeChecker.NBETerm.fst index 74da2bacc9c..ec700ab53ca 100644 --- a/src/typechecker/FStar.TypeChecker.NBETerm.fst +++ b/src/typechecker/FStar.TypeChecker.NBETerm.fst @@ -27,6 +27,8 @@ open FStar.Errors open FStar.Char open FStar.String +friend FStar.Pervasives (* To expose norm_step *) + (**** NOTE: Don't say I didn't warn you! ***) (* FV and Construct accumulate arguments *in reverse order*. * Therefore the embeddings must be aware of this and match/construct @@ -469,7 +471,7 @@ let e_range : embedding Range.range = | _ -> None in - mk_emb' em un (lid_as_typ PC.range_lid [] []) (SE.emb_typ_of SE.e_range) + mk_emb' em un (lid_as_typ PC.__range_lid [] []) (SE.emb_typ_of SE.e_range) let e_issue : embedding FStar.Errors.issue = let t_issue = SE.type_of SE.e_issue in @@ -538,75 +540,80 @@ let e_arrow (ea:embedding 'a) (eb:embedding 'b) : embedding ('a -> 'b) = in mk_emb em un (make_arrow1 (type_of ea) (as_iarg (type_of eb))) etyp +let e_unsupported #a : embedding a = + let em = (fun _cb a -> failwith "Unsupported NBE embedding") in + let un = (fun _cb t -> failwith "Unsupported NBE embedding") in + mk_emb em un (lid_as_typ PC.term_lid [] []) ET_abstract + let e_norm_step = - let em cb (n:SE.norm_step) : t = + let em cb (n:Pervasives.norm_step) : t = match n with - | SE.Simpl -> mkFV (lid_as_fv PC.steps_simpl None) [] [] - | SE.Weak -> mkFV (lid_as_fv PC.steps_weak None) [] [] - | SE.HNF -> mkFV (lid_as_fv PC.steps_hnf None) [] [] - | SE.Primops -> mkFV (lid_as_fv PC.steps_primops None) [] [] - | SE.Delta -> mkFV (lid_as_fv PC.steps_delta None) [] [] - | SE.Zeta -> mkFV (lid_as_fv PC.steps_zeta None) [] [] - | SE.Iota -> mkFV (lid_as_fv PC.steps_iota None) [] [] - | SE.Reify -> mkFV (lid_as_fv PC.steps_reify None) [] [] - | SE.NBE -> mkFV (lid_as_fv PC.steps_nbe None) [] [] - | SE.UnfoldOnly l -> + | Pervasives.Simpl -> mkFV (lid_as_fv PC.steps_simpl None) [] [] + | Pervasives.Weak -> mkFV (lid_as_fv PC.steps_weak None) [] [] + | Pervasives.HNF -> mkFV (lid_as_fv PC.steps_hnf None) [] [] + | Pervasives.Primops -> mkFV (lid_as_fv PC.steps_primops None) [] [] + | Pervasives.Delta -> mkFV (lid_as_fv PC.steps_delta None) [] [] + | Pervasives.Zeta -> mkFV (lid_as_fv PC.steps_zeta None) [] [] + | Pervasives.Iota -> mkFV (lid_as_fv PC.steps_iota None) [] [] + | Pervasives.Reify -> mkFV (lid_as_fv PC.steps_reify None) [] [] + | Pervasives.NBE -> mkFV (lid_as_fv PC.steps_nbe None) [] [] + | Pervasives.UnfoldOnly l -> mkFV (lid_as_fv PC.steps_unfoldonly None) [] [as_arg (embed (e_list e_string) cb l)] - | SE.UnfoldFully l -> + | Pervasives.UnfoldFully l -> mkFV (lid_as_fv PC.steps_unfoldfully None) [] [as_arg (embed (e_list e_string) cb l)] - | SE.UnfoldAttr l -> + | Pervasives.UnfoldAttr l -> mkFV (lid_as_fv PC.steps_unfoldattr None) [] [as_arg (embed (e_list e_string) cb l)] - | SE.UnfoldQual l -> + | Pervasives.UnfoldQual l -> mkFV (lid_as_fv PC.steps_unfoldqual None) [] [as_arg (embed (e_list e_string) cb l)] - | SE.UnfoldNamespace l -> + | Pervasives.UnfoldNamespace l -> mkFV (lid_as_fv PC.steps_unfoldnamespace None) [] [as_arg (embed (e_list e_string) cb l)] - | SE.ZetaFull -> mkFV (lid_as_fv PC.steps_zeta_full None) [] [] - | SE.Unascribe -> mkFV (lid_as_fv PC.steps_unascribe None) [] [] + | Pervasives.ZetaFull -> mkFV (lid_as_fv PC.steps_zeta_full None) [] [] + | Pervasives.Unascribe -> mkFV (lid_as_fv PC.steps_unascribe None) [] [] in - let un cb (t0:t) : option SE.norm_step = + let un cb (t0:t) : option Pervasives.norm_step = match t0.nbe_t with | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_simpl -> - Some SE.Simpl + Some Pervasives.Simpl | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_weak -> - Some SE.Weak + Some Pervasives.Weak | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_hnf -> - Some SE.HNF + Some Pervasives.HNF | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_primops -> - Some SE.Primops + Some Pervasives.Primops | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_delta -> - Some SE.Delta + Some Pervasives.Delta | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_zeta -> - Some SE.Zeta + Some Pervasives.Zeta | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_iota -> - Some SE.Iota + Some Pervasives.Iota | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_nbe -> - Some SE.NBE + Some Pervasives.NBE | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_reify -> - Some SE.Reify + Some Pervasives.Reify | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_zeta_full -> - Some SE.ZetaFull + Some Pervasives.ZetaFull | FV (fv, _, []) when S.fv_eq_lid fv PC.steps_unascribe -> - Some SE.Unascribe + Some Pervasives.Unascribe | FV (fv, _, [(l, _)]) when S.fv_eq_lid fv PC.steps_unfoldonly -> BU.bind_opt (unembed (e_list e_string) cb l) (fun ss -> - Some <| SE.UnfoldOnly ss) + Some <| Pervasives.UnfoldOnly ss) | FV (fv, _, [(l, _)]) when S.fv_eq_lid fv PC.steps_unfoldfully -> BU.bind_opt (unembed (e_list e_string) cb l) (fun ss -> - Some <| SE.UnfoldFully ss) + Some <| Pervasives.UnfoldFully ss) | FV (fv, _, [(l, _)]) when S.fv_eq_lid fv PC.steps_unfoldattr -> BU.bind_opt (unembed (e_list e_string) cb l) (fun ss -> - Some <| SE.UnfoldAttr ss) + Some <| Pervasives.UnfoldAttr ss) | FV (fv, _, [(l, _)]) when S.fv_eq_lid fv PC.steps_unfoldqual -> BU.bind_opt (unembed (e_list e_string) cb l) (fun ss -> - Some <| SE.UnfoldQual ss) + Some <| Pervasives.UnfoldQual ss) | FV (fv, _, [(l, _)]) when S.fv_eq_lid fv PC.steps_unfoldnamespace -> BU.bind_opt (unembed (e_list e_string) cb l) (fun ss -> - Some <| SE.UnfoldNamespace ss) + Some <| Pervasives.UnfoldNamespace ss) | _ -> Errors.log_issue Range.dummyRange (Errors.Warning_NotEmbedded, (BU.format1 "Not an embedded norm_step: %s" (t_to_string t0))); None diff --git a/src/typechecker/FStar.TypeChecker.NBETerm.fsti b/src/typechecker/FStar.TypeChecker.NBETerm.fsti index 6fd4b439f60..98cf46c391e 100644 --- a/src/typechecker/FStar.TypeChecker.NBETerm.fsti +++ b/src/typechecker/FStar.TypeChecker.NBETerm.fsti @@ -264,7 +264,7 @@ val mk_any_emb : t -> embedding t val e_range : embedding Range.range val e_issue : embedding FStar.Errors.issue val e_vconfig : embedding vconfig -val e_norm_step : embedding Syntax.Embeddings.norm_step +val e_norm_step : embedding Pervasives.norm_step val e_list : embedding 'a -> embedding (list 'a) val e_option : embedding 'a -> embedding (option 'a) val e_tuple2 : embedding 'a -> embedding 'b -> embedding ('a * 'b) @@ -274,6 +274,9 @@ val e_sealed : embedding 'a -> embedding 'a val e_string_list : embedding (list string) val e_arrow : embedding 'a -> embedding 'b -> embedding ('a -> 'b) +(* Unconditionally fails raising an exception when called *) +val e_unsupported : #a:Type -> embedding a + (* Arity specific raw_embeddings of arrows; used to generate top-level registrations of compiled functions in FStar.Extraction.ML.Util *) val arrow_as_prim_step_1: embedding 'a diff --git a/src/typechecker/FStar.TypeChecker.Normalize.fst b/src/typechecker/FStar.TypeChecker.Normalize.fst index cda6f85cab0..0073ce66f90 100644 --- a/src/typechecker/FStar.TypeChecker.Normalize.fst +++ b/src/typechecker/FStar.TypeChecker.Normalize.fst @@ -597,7 +597,7 @@ let closure_as_term cfg env t = non_tail_inline_closure_env cfg env t let unembed_binder_knot : ref (option (EMB.embedding binder)) = BU.mk_ref None let unembed_binder (t : term) : option S.binder = match !unembed_binder_knot with - | Some e -> EMB.unembed e t false EMB.id_norm_cb + | Some e -> EMB.try_unembed e t EMB.id_norm_cb | None -> Errors.log_issue t.pos (Errors.Warning_UnembedBinderKnot, "unembed_binder_knot is unset!"); None @@ -1011,6 +1011,7 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = failwith <| BU.format1 "Unexpected unfolding result: %s" (string_of_res res) in if cfg.steps.unfold_tac // If running a tactic, + && not (Options.no_plugins ()) // haven't explicitly disabled plugins && (r <> Should_unfold_no) // actually unfolding this fvar && BU.for_some (U.is_fvar PC.plugin_attr) attrs // it is a plugin && !plugin_unfold_warn_ctr > 0 // and we haven't raised too many warnings diff --git a/src/typechecker/FStar.TypeChecker.Rel.fst b/src/typechecker/FStar.TypeChecker.Rel.fst index 59112e849c5..03941ba651a 100644 --- a/src/typechecker/FStar.TypeChecker.Rel.fst +++ b/src/typechecker/FStar.TypeChecker.Rel.fst @@ -4146,9 +4146,15 @@ and solve_t' (problem:tprob) (wl:worklist) : solution = (string_of_bool (Env.is_interpreted wl.tcenv head2)); (string_of_bool (no_free_uvars t2))] in - let equal t1 t2 = - (U.eq_tm t1 t2 = U.Equal) || - (let steps = [ + let equal t1 t2 : bool = + (* Try comparing the terms as they are. If we get Equal or NotEqual, + we are done. If we get an Unknown, attempt some normalization. *) + let r = U.eq_tm t1 t2 in + match r with + | U.Equal -> true + | U.NotEqual -> false + | U.Unknown -> + let steps = [ Env.UnfoldUntil delta_constant; Env.Primops; Env.Beta; @@ -4157,7 +4163,7 @@ and solve_t' (problem:tprob) (wl:worklist) : solution = let env = p_env wl orig in let t1 = norm_with_steps "FStar.TypeChecker.Rel.norm_with_steps.2" steps env t1 in let t2 = norm_with_steps "FStar.TypeChecker.Rel.norm_with_steps.3" steps env t2 in - U.eq_tm t1 t2 = U.Equal) + U.eq_tm t1 t2 = U.Equal in if (Env.is_interpreted wl.tcenv head1 || Env.is_interpreted wl.tcenv head2) //we have something like (+ x1 x2) =?= (- y1 y2) && problem.relation = EQ diff --git a/src/typechecker/FStar.TypeChecker.Tc.fst b/src/typechecker/FStar.TypeChecker.Tc.fst index 908c0e82c49..dde70218a25 100644 --- a/src/typechecker/FStar.TypeChecker.Tc.fst +++ b/src/typechecker/FStar.TypeChecker.Tc.fst @@ -50,20 +50,34 @@ module EMB = FStar.Syntax.Embeddings module ToSyntax = FStar.ToSyntax.ToSyntax module O = FStar.Options +let sigelt_typ (se:sigelt) : option typ = + match se.sigel with + | Sig_inductive_typ {t} + | Sig_datacon {t} + | Sig_declare_typ {t} -> Some t + + | Sig_let {lbs=(_, lb::_)} -> + Some lb.lbtyp + + | _ -> + None + //set the name of the query so that we can correlate hints to source program fragments let set_hint_correlator env se = //if the tbl has a counter for lid, we use that, else we start from 0 //this is useful when we verify the extracted interface alongside - let tbl = env.qtbl_name_and_index |> fst in + let tbl = env.qtbl_name_and_index |> snd in let get_n lid = let n_opt = BU.smap_try_find tbl (string_of_lid lid) in if is_some n_opt then n_opt |> must else 0 in + let typ = match sigelt_typ se with | Some t -> t | _ -> S.tun in + match Options.reuse_hint_for () with | Some l -> let lid = Ident.lid_add_suffix (Env.current_module env) l in - {env with qtbl_name_and_index=tbl, Some (lid, get_n lid)} + {env with qtbl_name_and_index=Some (lid, typ, get_n lid), tbl} | None -> let lids = U.lids_of_sigelt se in @@ -71,7 +85,7 @@ let set_hint_correlator env se = | [] -> Ident.lid_add_suffix (Env.current_module env) (GenSym.next_id () |> BU.string_of_int) // GM: Should we really touch the gensym? | l::_ -> l in - {env with qtbl_name_and_index=tbl, Some (lid, get_n lid)} + {env with qtbl_name_and_index=Some (lid, typ, get_n lid), tbl} let log env = (Options.log_types()) && not(lid_equals PC.prims_lid (Env.current_module env)) @@ -317,7 +331,7 @@ let proc_check_with (attrs:list attribute) (kont : unit -> 'a) : 'a = match U.get_attribute PC.check_with_lid attrs with | None -> kont () | Some [(a, None)] -> - match EMB.unembed EMB.e_vconfig a true EMB.id_norm_cb with + match EMB.unembed EMB.e_vconfig a EMB.id_norm_cb with | None -> failwith "nah" | Some vcfg -> Options.with_saved_options (fun () -> @@ -531,6 +545,14 @@ let tc_sig_let env r se lbs lids : list sigelt * list sigelt * Env.env = let lbdef = SS.close_univ_vars univnames lbdef in { lb with lbdef = lbdef } in + let env' = + match (SS.compress e).n with + | Tm_let {lbs} -> + let se = { se with sigel = Sig_let {lbs; lids} } in + set_hint_correlator env' se + | _ -> + failwith "no way, not a let?" + in let r = //We already generalized phase1; don't need to generalize again let should_generalize = not (do_two_phases env') in @@ -1003,6 +1025,23 @@ let add_sigelt_to_env (env:Env.env) (se:sigelt) (from_cache:bool) : Env.env = | _ -> env +(* This function is called when promoting entries in the id info table. + If t has no dangling uvars, it is normalized and promoted, + otherwise discarded *) +let compress_and_norm env t = + match Compress.deep_compress_if_no_uvars t with + | None -> None //if dangling uvars, then just drop this entry + | Some t -> //otherwise, normalize and promote + Some ( + N.normalize + [Env.AllowUnboundUniverses; //this is allowed, since we're reducing types that appear deep within some arbitrary context + Env.CheckNoUvars; + Env.Beta; Env.DoNotUnfoldPureLets; Env.CompressUvars; + Env.Exclude Env.Zeta; Env.Exclude Env.Iota; Env.NoFullNorm] + env + t + ) + let tc_decls env ses = let rec process_one_decl (ses, env) se = (* If emacs is peeking, and debugging is on, don't do anything, @@ -1033,21 +1072,8 @@ let tc_decls env ses = then BU.print1 "About to elim vars from (elaborated) %s\n" (Print.sigelt_to_string se); N.elim_uvars env se) in - Profiling.profile - (fun () -> - Env.promote_id_info env (fun t -> - if Env.debug env (Options.Other "UF") - then BU.print1 "check uvars %s\n" (Print.term_to_string t); - N.normalize - [Env.AllowUnboundUniverses; //this is allowed, since we're reducing types that appear deep within some arbitrary context - Env.CheckNoUvars; - Env.Beta; Env.DoNotUnfoldPureLets; Env.CompressUvars; - Env.Exclude Env.Zeta; Env.Exclude Env.Iota; Env.NoFullNorm] - env - t)) - (Some (Ident.string_of_lid (Env.current_module env))) - "FStar.TypeChecker.Tc.chec_uvars"; //update the id_info table after having removed their uvars - + Env.promote_id_info env (compress_and_norm env); + // Compress all checked sigelts let ses' = ses' |> List.map (Compress.deep_compress_se false) in @@ -1075,7 +1101,7 @@ let tc_decls env ses = let r = Profiling.profile (fun () -> process_one_decl acc se) - (Some (Ident.string_of_lid (Env.current_module env))) + (Some (Print.sigelt_to_string_short se)) "FStar.TypeChecker.Tc.process_one_decl" // ^ See a special case for this phase in FStar.Options. --timing // enables it. @@ -1139,7 +1165,7 @@ let finish_partial_modul (loading_from_cache:bool) (iface_exists:bool) (en:env) let env = Env.finish_module en m in //we can clear the lid to query index table - env.qtbl_name_and_index |> fst |> BU.smap_clear; + env.qtbl_name_and_index |> snd |> BU.smap_clear; //pop BUT ignore the old env pop_context env ("Ending modul " ^ string_of_lid m.name) |> ignore; diff --git a/src/typechecker/FStar.TypeChecker.Tc.fsti b/src/typechecker/FStar.TypeChecker.Tc.fsti index 93b8224640a..9051cda7440 100644 --- a/src/typechecker/FStar.TypeChecker.Tc.fsti +++ b/src/typechecker/FStar.TypeChecker.Tc.fsti @@ -30,6 +30,7 @@ val push_context: env -> string -> env val snapshot_context: env -> string -> ((int * int * solver_depth_t * int) * env) val rollback_context: solver_t -> string -> option (int * int * solver_depth_t * int) -> env +val compress_and_norm: env -> typ -> option typ val tc_decls: env -> list sigelt -> list sigelt * env val tc_partial_modul: env -> modul -> modul * env val tc_more_partial_modul: env -> modul -> list sigelt -> modul * list sigelt * env diff --git a/src/typechecker/FStar.TypeChecker.TcEffect.fst b/src/typechecker/FStar.TypeChecker.TcEffect.fst index ba2ee367a91..289e4b0929d 100644 --- a/src/typechecker/FStar.TypeChecker.TcEffect.fst +++ b/src/typechecker/FStar.TypeChecker.TcEffect.fst @@ -960,6 +960,68 @@ let validate_indexed_effect_ite_shape (env:env) k, kind + +// +// Validate the shape of an indexed effect close combinator +// +// Only substitutive close combinator is supported +// fun (a:Type) (b:Type) (is:b -> is_t) (f:(x:a -> repr a (is x))) -> repr a js +// +let validate_indexed_effect_close_shape (env:env) + (eff_name:lident) + (sig_ts:tscheme) + (repr_ts:tscheme) + (u_a:univ_name) + (u_b:univ_name) + (close_tm:term) + (num_effect_params:int) + (r:Range.range) : term = + + let close_name = BU.format1 "close_%s" (string_of_lid eff_name) in + + let b_b = u_b |> U_name |> U.type_with_u |> S.gen_bv "b" None |> S.mk_binder in + + let a_b::sig_bs = Env.inst_tscheme_with sig_ts [U_name u_a] |> snd |> U.arrow_formals |> fst in + let eff_params_bs, sig_bs = List.splitAt num_effect_params sig_bs in + let bs = List.map (fun b -> + let x_b = S.gen_bv "x" None (S.bv_to_name b_b.binder_bv) |> S.mk_binder in + {b with binder_bv={b.binder_bv with sort=U.arrow [x_b] (S.mk_Total b.binder_bv.sort)}} + ) sig_bs in + let f_b = + let _, repr_t = Env.inst_tscheme_with repr_ts [U_name u_a] in + let x_b = S.gen_bv "x" None (S.bv_to_name b_b.binder_bv) |> S.mk_binder in + let is_args = + List.map (fun {binder_bv} -> + S.mk_Tm_app (S.bv_to_name binder_bv) [x_b.binder_bv |> S.bv_to_name |> S.as_arg] Range.dummyRange + |> S.as_arg) bs in + let repr_app = S.mk_Tm_app repr_t ((a_b.binder_bv |> S.bv_to_name |> S.as_arg)::is_args) Range.dummyRange in + let f_sort = U.arrow [x_b] (S.mk_Total repr_app) in + S.gen_bv "f" None f_sort |> S.mk_binder in + let env = Env.push_binders env (a_b::b_b::(eff_params_bs@bs)) in + let body_tm, g_body = TcUtil.fresh_effect_repr + env + r + eff_name + sig_ts + (Some repr_ts) + (U_name u_a) + (a_b.binder_bv |> S.bv_to_name) in + + let k = U.abs (a_b::b_b::(eff_params_bs@bs@[f_b])) body_tm None in + + let g_eq = + match Rel.teq_nosmt env close_tm k with + | None -> + raise_error (Errors.Fatal_UnexpectedEffect, + BU.format2 "Unexpected term for %s (%s)\n" + close_name + (Print.term_to_string close_tm)) r + | Some g -> g in + + Rel.force_trivial_guard env (Env.conj_guard g_body g_eq); + + k |> N.remove_uvar_solutions env |> SS.compress + // // Check the kind of an indexed effect lift // @@ -1601,6 +1663,96 @@ Errors.with_ctx (BU.format1 "While checking layered effect definition `%s`" (str ) //Errors.with_ctx in + // + // Close combinator is optional, + // typecheck it only if it is set, else leave it as None + // + let close_ = + let ts_opt = ed |> U.get_layered_close_combinator in + match ts_opt with + | None -> None + | Some close_ts -> + let r = (snd close_ts).pos in + let close_us, close_t, close_ty = check_and_gen "close" 2 close_ts in + let us, t = SS.open_univ_vars close_us close_t in + let env = Env.push_univ_vars env0 us in + let k = + let sig_ts = let us, t, _ = signature in (us, t) in + let repr_ts = let us, t, _ = repr in (us, t) in + let [u_a; u_b] = us in + validate_indexed_effect_close_shape env ed.mname sig_ts repr_ts u_a u_b t num_effect_params r + in + Some (close_us, k |> SS.close_univ_vars close_us, close_ty) in + + // + // Checking the soundness of the close combinator + // + // Close combinator has the shape: + // fun (a:Type) (b:type) (is:a -> is_t) (f:(x:a -> repr a (is x))) -> repr a js + // + // We check: + // + // a, b, is, x:a |- subcomp (repr a (is x)) (repr a js) + // + // Operationally, we create names for a, b, is, and x + // substitute them in the subcomp combinator, + // and prove its (Pure) precondition + // + let _close_is_sound = + match close_ with + | None -> () + | Some close_ -> + let us, close_tm, _ = close_ in + let r = close_tm.pos in + let _ = + let supported_subcomp = + match subcomp_kind with + | Substitutive_combinator l -> + not (List.contains Ad_hoc_binder l) + | _ -> false in + + if not supported_subcomp + then raise_error (Errors.Fatal_UnexpectedEffect, + "close combinator is only allowed for effects with substitutive subcomp") + r + in + let us, close_tm = SS.open_univ_vars us close_tm in + let close_bs, close_body, _ = U.abs_formals close_tm in + let a_b::b_b::close_bs = close_bs in + let is_bs, _ = List.splitAt (List.length close_bs - 1) close_bs in + let x_bv = S.gen_bv "x" None (S.bv_to_name b_b.binder_bv) in + let args1 = List.map (fun i_b -> + S.mk_Tm_app (S.bv_to_name i_b.binder_bv) [S.as_arg (S.bv_to_name x_bv)] r + ) is_bs in + let args2 = + match (SS.compress close_body).n with + | Tm_app {args=a::args} -> args |> List.map fst + | _ -> raise_error (Errors.Fatal_UnexpectedEffect, "close combinator body not a repr") r in + + let env = Env.push_binders env0 ((a_b::b_b::is_bs)@[x_bv |> S.mk_binder]) in + let subcomp_ts = + let (us, _, t) = stronger_repr in + (us, t) in + let _, subcomp_t = Env.inst_tscheme_with subcomp_ts [List.hd us |> S.U_name] in + let a_b_subcomp::subcomp_bs, subcomp_c = U.arrow_formals_comp subcomp_t in + let subcomp_substs = [ NT (a_b_subcomp.binder_bv, a_b.binder_bv |> S.bv_to_name) ] in + let subcomp_f_bs, subcomp_bs = List.splitAt (List.length args1) subcomp_bs in + let subcomp_substs = subcomp_substs @ (List.map2 (fun b arg1 -> + NT (b.binder_bv, arg1) + ) subcomp_f_bs args1) in + let subcomp_g_bs, _ = List.splitAt (List.length args2) subcomp_bs in + let subcomp_substs = subcomp_substs @ (List.map2 (fun b arg2 -> + NT (b.binder_bv, arg2) + ) subcomp_g_bs args2) in + let subcomp_c = SS.subst_comp subcomp_substs subcomp_c |> Env.unfold_effect_abbrev env in + let fml = Env.pure_precondition_for_trivial_post + env + (List.hd subcomp_c.comp_univs) + subcomp_c.result_typ + (subcomp_c.effect_args |> List.hd |> fst) + r in + Rel.force_trivial_guard env (fml |> NonTrivial |> Env.guard_of_guard_formula) + in (* * Actions @@ -1785,6 +1937,9 @@ Errors.with_ctx (BU.format1 "While checking layered effect definition `%s`" (str l_bind = tschemes_of bind_repr (Some bind_kind); l_subcomp = tschemes_of stronger_repr (Some subcomp_kind); l_if_then_else = tschemes_of if_then_else (Some ite_kind); + l_close = (match close_ with + | None -> None + | Some (us, t, ty) -> Some ((us, t), (us, ty))); }) in { ed with diff --git a/src/typechecker/FStar.TypeChecker.TcInductive.fst b/src/typechecker/FStar.TypeChecker.TcInductive.fst index 5738aafd0a5..a200f1d2854 100644 --- a/src/typechecker/FStar.TypeChecker.TcInductive.fst +++ b/src/typechecker/FStar.TypeChecker.TcInductive.fst @@ -139,6 +139,7 @@ let tc_data (env:env_t) (tcs : list (sigelt * universe)) let arguments, result = let t = N.normalize (N.whnf_steps @ [Env.AllowUnboundUniverses]) env t in //AR: allow unbounded universes, since we haven't typechecked t yet + let t = U.canon_arrow t in match (SS.compress t).n with | Tm_arrow {bs; comp=res} -> //the type of each datacon is already a function with the type params as arguments @@ -1100,7 +1101,17 @@ let mk_discriminator_and_indexed_projectors iquals (* Qualifie then BU.print1 "Implementation of a projector %s\n" (Print.sigelt_to_string impl); if no_decl then [impl] else [decl;impl]) |> List.flatten in - discriminator_ses @ projectors_ses + (* We remove the plugin attribute from these generated definitions. + We do not want to pay an embedding/unembedding to use them, and we don't + want warning about unfolding something that is a plugin *) + let no_plugin (se:sigelt) : sigelt = + let not_plugin_attr (t:term) : bool = + let h = U.head_of t in + not (U.is_fvar C.plugin_attr h) + in + { se with sigattrs = List.filter not_plugin_attr se.sigattrs } + in + List.map no_plugin (discriminator_ses @ projectors_ses) let mk_data_operations iquals attrs env tcs se = match se.sigel with diff --git a/src/typechecker/FStar.TypeChecker.TcTerm.fst b/src/typechecker/FStar.TypeChecker.TcTerm.fst index e6f66e08a33..9803c5473cd 100644 --- a/src/typechecker/FStar.TypeChecker.TcTerm.fst +++ b/src/typechecker/FStar.TypeChecker.TcTerm.fst @@ -700,11 +700,11 @@ and tc_maybe_toplevel_term env (e:term) : term (* type-checked if debug env Options.Medium then BU.print3 "Typechecking %s (%s): %s\n" (Range.string_of_range <| Env.get_range env) (Print.tag_of_term top) (Print.term_to_string top); match top.n with + | Tm_bvar _ | Tm_delayed _ -> failwith "Impossible" | Tm_uinst _ | Tm_uvar _ - | Tm_bvar _ | Tm_name _ | Tm_fvar _ | Tm_constant _ @@ -1321,10 +1321,31 @@ and tc_match (env : Env.env) (top : term) : term * lcomp * guard_t = (env |> Env.clear_expected_typ |> fst |> instantiate_both) e1 in - let e1, c1 = - match TcUtil.coerce_views env e1 c1 with - | Some (e1, c1) -> e1, c1 - | None -> e1, c1 in + (* If there is a constructor in the first branch (not a variable), + then we grab the inductive type that we are matching on and use + that to maybe coerce the scrutinee. Hence `match t with | Tv_App ... ->` + will coerce the t. QUESTION: Why don't we do the same thing to get + a expected type to check the scrutinee with? *) + let e1, c1, g_c = + match eqns with + | (p, _, _)::_ -> + begin match p.v with + | Pat_cons (fv, _, _) -> + (* Wrapped in a try/catch, we may be looking up unresolved constructors. *) + let r = try Some (Env.lookup_datacon env fv.fv_name.v) with | _ -> None in + begin match r with + | Some (us, t) -> + let bs, c = U.arrow_formals_comp t in + let env' = Env.push_binders env bs in + TcUtil.maybe_coerce_lc env' e1 c1 (U.comp_result c) + | None -> + e1, c1, Env.trivial_guard + end + | _ -> + e1, c1, Env.trivial_guard + end + | _ -> e1, c1, Env.trivial_guard + in let env_branches, ret_opt, g1 = match ret_opt with @@ -1422,7 +1443,7 @@ and tc_match (env : Env.env) (top : term) : term * lcomp * guard_t = let g = TcComm.weaken_guard_formula g (U.mk_eq2 (env.universe_of env c1.res_typ) c1.res_typ (S.bv_to_name guard_x) e1) in //close guard_x - let g = Env.close_guard env [S.mk_binder guard_x] g in + let g = Env.close_guard env [S.mk_binder guard_x] g in TcComm.lcomp_of_comp c, g, erasables |> List.fold_left (fun acc b -> acc || b) false @@ -1522,7 +1543,7 @@ and tc_match (env : Env.env) (top : term) : term * lcomp * guard_t = then BU.print2 "(%s) Typechecked Tm_match, comp type = %s\n" (Range.string_of_range top.pos) (TcComm.lcomp_to_string cres); - e, cres, Env.conj_guards [g1; g_branches; g_expected_type] + e, cres, Env.conj_guards [g_c; g1; g_branches; g_expected_type] | _ -> failwith (BU.format1 "tc_match called on %s\n" (Print.tag_of_term top)) @@ -3618,11 +3639,20 @@ and tc_eqn (scrutinee:bv) (env:Env.env) (ret_opt : option match_returns_ascripti //g_branch is trivial, its logical content is now incorporated within c - let branch_has_layered_effect = c.eff_name |> Env.norm_eff_name env |> Env.is_layered_effect env in + // + // Working towards closing the branches comp with the pattern variables + // For effects with close combinator defined, we will use that + // For other effects, we will close with substituting pattern variables with + // corresponding projector expressions applied to the scrutinee + // + let close_branch_with_substitutions = + let m = c.eff_name |> Env.norm_eff_name env in + Env.is_layered_effect env m && + None? (m |> Env.get_effect_decl env |> U.get_layered_close_combinator) in (* (b) *) let c_weak, g_when_weak = - if branch_has_layered_effect + if close_branch_with_substitutions then //branch_guard is a boolean, so b2t it let c = TcUtil.weaken_precondition pat_env c (NonTrivial (U.b2t branch_guard)) in @@ -3661,7 +3691,7 @@ and tc_eqn (scrutinee:bv) (env:Env.env) (ret_opt : option match_returns_ascripti TcComm.is_pure_or_ghost_lcomp c_weak then TcUtil.maybe_assume_result_eq_pure_term env branch_exp c_weak else c_weak in - if branch_has_layered_effect + if close_branch_with_substitutions then let _ = if Env.debug env <| Options.Other "LayeredEffects" @@ -3716,7 +3746,9 @@ and tc_eqn (scrutinee:bv) (env:Env.env) (ret_opt : option match_returns_ascripti |> TcComm.apply_lcomp (fun c -> c) (fun g -> match eqs with | None -> g | Some eqs -> TcComm.weaken_guard_formula g eqs) - |> TcUtil.close_layered_lcomp (Env.push_bv env scrutinee) pat_bvs pat_bv_tms + |> TcUtil.close_layered_lcomp_with_substitutions (Env.push_bv env scrutinee) pat_bvs pat_bv_tms + else if c_weak.eff_name |> Env.norm_eff_name env |> Env.is_layered_effect env + then TcUtil.close_layered_lcomp_with_combinator (Env.push_bv env scrutinee) pat_bvs c_weak else TcUtil.close_wp_lcomp (Env.push_bv env scrutinee) pat_bvs c_weak in c_weak.eff_name, diff --git a/src/typechecker/FStar.TypeChecker.Util.fst b/src/typechecker/FStar.TypeChecker.Util.fst index fa48e54ddaf..a61455be482 100644 --- a/src/typechecker/FStar.TypeChecker.Util.fst +++ b/src/typechecker/FStar.TypeChecker.Util.fst @@ -689,10 +689,82 @@ let close_wp_lcomp env bvs (lc:lcomp) : lcomp = (close_wp_comp env bvs) (fun g -> g |> Env.close_guard env bs |> close_guard_implicits env false bs) +// +// Apply substitutive close combinator for indexed effects +// +// The effect indices binders in the close combinator are arrows, +// so we abstract b_bv on the effect args for the substitutions +// +let substitutive_indexed_close_substs (env:env) + (close_bs:binders) + (a:typ) + (b_bv:bv) + (ct_args:args) + (num_effect_params:int) + (r:Range.range) + + : list subst_elt = + + let debug = Env.debug env <| Options.Other "LayeredEffectsApp" in + + // go through the binders bs and aggregate substitutions + let close_bs, subst = + let a_b::b_b::close_bs = close_bs in + close_bs, [NT (a_b.binder_bv, a); NT (b_b.binder_bv, b_bv.sort)] in + + let close_bs, subst, ct_args = + let eff_params_bs, close_bs = List.splitAt num_effect_params close_bs in + let ct_eff_params_args, ct_args = List.splitAt num_effect_params ct_args in + close_bs, + (subst@ + List.map2 (fun b (arg, _) -> NT (b.binder_bv, arg)) eff_params_bs ct_eff_params_args), + ct_args in + + let close_bs, _ = List.splitAt (List.length close_bs - 1) close_bs in + List.fold_left2 (fun ss b (ct_arg, _) -> + ss@[NT (b.binder_bv, U.abs [b_bv |> S.mk_binder] ct_arg None)] + ) subst close_bs ct_args + +// +// The caller ensures that the effect has the close combinator defined +// +let close_layered_comp_with_combinator (env:env) (bvs:list bv) (c:comp) : comp = + let r = c.pos in + + let env_bvs = Env.push_bvs env bvs in + let ct = Env.unfold_effect_abbrev env_bvs c in + let ed = Env.get_effect_decl env_bvs ct.effect_name in + let num_effect_params = + match ed.signature with + | Layered_eff_sig (n, _) -> n + | _ -> raise_error (Errors.Fatal_UnexpectedEffect, + "mk_indexed_close called with a non-indexed effect") r in + let close_ts = U.get_layered_close_combinator ed |> must in + let effect_args = List.fold_right (fun x args -> + let u_a = List.hd ct.comp_univs in + let u_b = env.universe_of env_bvs x.sort in + let _, close_t = Env.inst_tscheme_with close_ts [u_a; u_b] in + let close_bs, close_body, _ = U.abs_formals close_t in + let ss = substitutive_indexed_close_substs + env_bvs close_bs ct.result_typ x args num_effect_params r in + match (SS.compress (SS.subst ss close_body)).n with + | Tm_app { args = _::args} -> args + | _ -> raise_error (Errors.Fatal_UnexpectedEffect, + "Unexpected close combinator shape") r + ) bvs ct.effect_args in + S.mk_Comp {ct with effect_args} + +let close_layered_lcomp_with_combinator env bvs lc = + let bs = bvs |> List.map S.mk_binder in + lc |> + TcComm.apply_lcomp + (close_layered_comp_with_combinator env bvs) + (fun g -> g |> Env.close_guard env bs |> close_guard_implicits env false bs) + (* - * Closing of layered computations happens via substitution + * Closing of layered computations via substitution *) -let close_layered_lcomp env bvs tms (lc:lcomp) = +let close_layered_lcomp_with_substitutions env bvs tms (lc:lcomp) = let bs = bvs |> List.map S.mk_binder in let substs = List.map2 (fun bv tm -> NT (bv, tm) @@ -2221,16 +2293,15 @@ let maybe_monadic env e c t = let coerce_with (env:Env.env) (e : term) (lc : lcomp) // original term and its computation type - (ty : typ) // new result typ (f : lident) // coercion (us : universes) (eargs : args) // extra arguments to coertion - (mkcomp : term -> comp) + (comp2 : comp) // new result computation type : term * lcomp = match Env.try_lookup_lid env f with | Some _ -> if Env.debug env (Options.Other "Coercions") then BU.print1 "Coercing with %s!\n" (Ident.string_of_lid f); - let lc2 = TcComm.lcomp_of_comp <| mkcomp ty in + let lc2 = TcComm.lcomp_of_comp <| comp2 in let lc_res = bind e.pos env (Some e) lc (None, lc2) in let coercion = S.fvar (Ident.set_lid_range f e.pos) None in let coercion = S.mk_Tm_uinst coercion us in @@ -2247,7 +2318,7 @@ let coerce_with (env:Env.env) else let x = S.new_bv (Some e.pos) lc.res_typ in let e2 = mk_Tm_app coercion (eargs@[x |> S.bv_to_name |> S.as_arg]) e.pos in let e = maybe_lift env e lc.eff_name lc_res.eff_name lc.res_typ in - let e2 = maybe_lift (Env.push_bv env x) e2 lc2.eff_name lc_res.eff_name ty in + let e2 = maybe_lift (Env.push_bv env x) e2 lc2.eff_name lc_res.eff_name lc2.res_typ in let lb = U.mk_letbinding (Inl x) [] lc.res_typ lc_res.eff_name e [] e.pos in let e = mk (Tm_let {lbs=(false, [lb]); body=SS.close [S.mk_binder x] e2}) e.pos in maybe_monadic env e lc_res.eff_name lc_res.res_typ in @@ -2323,100 +2394,101 @@ let rec check_erased (env:Env.env) (t:term) : isErased = (* | No -> "No"); *) r +let rec first_opt (f : 'a -> option 'b) (xs : list 'a) : option 'b = + match xs with + | [] -> None + | x::xs -> BU.catch_opt (f x) (fun () -> first_opt f xs) + +let find_coercion (env:Env.env) (checked: lcomp) (exp_t: typ) : option (lid & comp) = // returns coercion and new comp type + Errors.with_ctx "find_coercion" (fun () -> + let is_type t = + let t = N.unfold_whnf env t in + let t = U.unrefine t in (* mostly to catch `prop` too *) + match (SS.compress t).n with + | Tm_type _ -> true + | _ -> false + in + let in_scope lid = Some? (Env.try_lookup_lid env lid) in + let res_typ = U.unrefine checked.res_typ in + let head, args = U.head_and_args res_typ in + match (U.un_uinst head).n, args with + (* b2t is primitive... for now *) + | Tm_fvar fv, [] when S.fv_eq_lid fv C.bool_lid && is_type exp_t -> + Some (C.b2t_lid, S.mk_Total U.ktype0) + + (* attributes *) + | _ -> + let (let?) = BU.bind_opt in + let candidates = Env.lookup_attr env "FStar.Pervasives.coercion" in + if Cons? candidates then begin + candidates |> first_opt (fun se -> + let? name, typ = + match se.sigel with + | Sig_let {lbs=(_,[lb])} -> Some (S.lid_of_fv (BU.right lb.lbname), lb.lbtyp) + | Sig_declare_typ {lid; t} -> Some (lid, t) + | _ -> None + in + (* Errors.diag checked.res_typ.pos *) + (* (BU.format2 "considering candidate %s of typ %s" (Print.sigelt_to_string_short se) (Print.term_to_string typ)); *) + let bs, c = U.arrow_formals_comp typ in + if List.length bs <> 1 then None else + let [b] = bs in + let c_checked = N.unfold_whnf env (U.comp_result c) in + let c_expected = N.unfold_whnf env exp_t in + let b_expected = N.unfold_whnf env b.binder_bv.sort in + let b_checked = N.unfold_whnf env checked.res_typ in + if U.term_eq b_checked b_expected && U.term_eq c_checked c_expected + then Some (name, c) + else None + ) + end else None + + | _ -> None +) + let maybe_coerce_lc env (e:term) (lc:lcomp) (exp_t:term) : term * lcomp * guard_t = - let should_coerce = - env.phase1 - || env.lax - || Options.lax () - in - if not should_coerce - then (e, lc, Env.trivial_guard) - else - let is_t_term t = - let t = N.unfold_whnf env t in - match (SS.compress t).n with - | Tm_fvar fv -> S.fv_eq_lid fv C.term_lid - | _ -> false - in - let is_t_term_view t = - let t = N.unfold_whnf env t in - match (SS.compress t).n with - | Tm_fvar fv -> S.fv_eq_lid fv C.term_view_lid - | _ -> false - in - let is_type t = - let t = N.unfold_whnf env t in - let t = U.unrefine t in (* mostly to catch `prop` too *) - match (SS.compress t).n with - | Tm_type _ -> true - | _ -> false - in - let res_typ = U.unrefine lc.res_typ in - let head, args = U.head_and_args res_typ in - if Env.debug env (Options.Other "Coercions") then + let should_coerce = + env.phase1 + || env.lax + || Options.lax () + in + if not should_coerce + then (e, lc, Env.trivial_guard) + else + let _ = if Env.debug env (Options.Other "Coercions") then BU.print4 "(%s) Trying to coerce %s from type (%s) to type (%s)\n" (Range.string_of_range e.pos) (Print.term_to_string e) - (Print.term_to_string res_typ) - (Print.term_to_string exp_t); - - let mk_erased u t = - U.mk_app - (S.mk_Tm_uinst (fvar_env env C.erased_lid) [u]) - [S.as_arg t] + (Print.term_to_string lc.res_typ) + (Print.term_to_string exp_t) in - match (U.un_uinst head).n, args with - | Tm_fvar fv, [] when S.fv_eq_lid fv C.bool_lid && is_type exp_t -> - let e, lc = coerce_with env e lc U.ktype0 C.b2t_lid [] [] S.mk_Total in - e, lc, Env.trivial_guard - - - | Tm_fvar fv, [] when S.fv_eq_lid fv C.term_lid && is_t_term_view exp_t -> - let e, lc = coerce_with env e lc S.t_term_view C.inspect [] [] S.mk_Tac in - e, lc, Env.trivial_guard - - | Tm_fvar fv, [] when S.fv_eq_lid fv C.term_view_lid && is_t_term exp_t -> - let e, lc = coerce_with env e lc S.t_term C.pack [] [] S.mk_Tac in - e, lc, Env.trivial_guard - - | Tm_fvar fv, [] when S.fv_eq_lid fv C.binder_lid && is_t_term exp_t -> - let e, lc = coerce_with env e lc S.t_term C.binder_to_term [] [] S.mk_Tac in - e, lc, Env.trivial_guard + match find_coercion env lc exp_t with + | Some (f, c) -> + let e, lc = coerce_with env e lc f [] [] c in + e, lc, Env.trivial_guard // explain + | None -> + (* TODO: also coercions? it's trickier for sure *) + match check_erased env lc.res_typ, check_erased env exp_t with + | No, Yes ty -> + begin + let u = env.universe_of env ty in + match Rel.get_subtyping_predicate env lc.res_typ ty with + | None -> + e, lc, Env.trivial_guard + | Some g -> + let g = Env.apply_guard g e in + let e, lc = coerce_with env e lc C.hide [u] [S.iarg ty] (S.mk_Total exp_t) in + e, lc, g + end - | _ -> - match check_erased env res_typ, check_erased env exp_t with - | No, Yes ty -> - begin - let u = env.universe_of env ty in - match Rel.get_subtyping_predicate env res_typ ty with - | None -> + | Yes ty, No -> + let u = env.universe_of env ty in + let e, lc = coerce_with env e lc C.reveal [u] [S.iarg ty] (S.mk_GTotal ty) in e, lc, Env.trivial_guard - | Some g -> - let g = Env.apply_guard g e in - let e, lc = coerce_with env e lc exp_t C.hide [u] [S.iarg ty] S.mk_Total in - e, lc, g - end - | Yes ty, No -> - let u = env.universe_of env ty in - let e, lc = coerce_with env e lc ty C.reveal [u] [S.iarg ty] S.mk_GTotal in + | _ -> e, lc, Env.trivial_guard - | _ -> - e, lc, Env.trivial_guard - -(* Coerces regardless of expected type if a view exists, useful for matches *) -(* Returns `None` if no coercion was applied. *) -let coerce_views (env:Env.env) (e:term) (lc:lcomp) : option (term * lcomp) = - let rt = lc.res_typ in - let rt = U.unrefine rt in - let hd, args = U.head_and_args rt in - match (SS.compress hd).n, args with - | Tm_fvar fv, [] when S.fv_eq_lid fv C.term_lid -> - Some <| coerce_with env e lc S.t_term_view C.inspect [] [] S.mk_Tac - | _ -> - None - let weaken_result_typ env (e:term) (lc:lcomp) (t:typ) (use_eq:bool) : term * lcomp * guard_t = if Env.debug env Options.High then BU.print3 "weaken_result_typ e=(%s) lc=(%s) t=(%s)\n" diff --git a/src/typechecker/FStar.TypeChecker.Util.fsti b/src/typechecker/FStar.TypeChecker.Util.fsti index a91aa378b58..2c0a1ebf097 100644 --- a/src/typechecker/FStar.TypeChecker.Util.fsti +++ b/src/typechecker/FStar.TypeChecker.Util.fsti @@ -102,8 +102,9 @@ val strengthen_precondition: (option (unit -> string) -> env -> term -> lcomp -> val weaken_guard: guard_formula -> guard_formula -> guard_formula val weaken_precondition: env -> lcomp -> guard_formula -> lcomp val maybe_assume_result_eq_pure_term: env -> term -> lcomp -> lcomp +val close_layered_lcomp_with_combinator: env -> list bv -> lcomp -> lcomp val close_wp_lcomp: env -> list bv -> lcomp -> lcomp -val close_layered_lcomp: env -> list bv -> list term -> lcomp -> lcomp +val close_layered_lcomp_with_substitutions: env -> list bv -> list term -> lcomp -> lcomp val pure_or_ghost_pre_and_post: env -> comp -> (option typ * typ) // @@ -129,7 +130,6 @@ val check_has_type_maybe_coerce : env -> term -> lcomp -> typ -> bool -> term * val check_top_level: env -> guard_t -> lcomp -> bool*comp val maybe_coerce_lc : env -> term -> lcomp -> typ -> term * lcomp * guard_t -val coerce_views : env -> term -> lcomp -> option (term * lcomp) //misc. val label: string -> Range.range -> typ -> typ diff --git a/tests/Makefile b/tests/Makefile index ea7fef3d42f..f3637e6b044 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,17 +1,17 @@ FSTAR_HOME=.. include ../examples/Makefile.include -ALL_TEST_DIRS=\ -bug-reports \ -error-messages \ -friends \ -incl \ -ide \ -machine_integers \ -micro-benchmarks \ -prettyprinting \ -struct \ -tactics +ALL_TEST_DIRS += bug-reports +ALL_TEST_DIRS += coercions +ALL_TEST_DIRS += error-messages +ALL_TEST_DIRS += friends +ALL_TEST_DIRS += ide +ALL_TEST_DIRS += incl +ALL_TEST_DIRS += machine_integers +ALL_TEST_DIRS += micro-benchmarks +ALL_TEST_DIRS += prettyprinting +ALL_TEST_DIRS += struct +ALL_TEST_DIRS += tactics all: $(addsuffix .all, $(ALL_TEST_DIRS)) clean: $(addsuffix .clean, $(ALL_TEST_DIRS)) diff --git a/tests/bug-reports/Bug022.fst.hints b/tests/bug-reports/Bug022.fst.hints index d79a873d168..7a00fcf6592 100644 --- a/tests/bug-reports/Bug022.fst.hints +++ b/tests/bug-reports/Bug022.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8710f99718159ea607de69f6d6656bf0" + "b27bee8b228eb3d13a0e5fee2cb60259" ], [ "Bug022.__proj__EAbs__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_1fab4118271d47fc28cd28aead33e87f" ], 0, - "dc565ba99086c6c259c3ed02306c1e48" + "652feeaac07ca092f4326a8817927069" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug024.fst.hints b/tests/bug-reports/Bug024.fst.hints index 5baf0c97b79..2d61d0895fc 100644 --- a/tests/bug-reports/Bug024.fst.hints +++ b/tests/bug-reports/Bug024.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "e55d90fed50a598c9cc1a5d3093202ee" + "87bba11fef291a1bc871a2b14c40a4df" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug025.fst.hints b/tests/bug-reports/Bug025.fst.hints index 5a7fac78272..d128d27ab24 100644 --- a/tests/bug-reports/Bug025.fst.hints +++ b/tests/bug-reports/Bug025.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6c3629ce0eae58d4dcc0f10247f8e5f3" + "a35d4eb10c81921bfce22a3732a35856" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug026.fst.hints b/tests/bug-reports/Bug026.fst.hints index cbd09d114c0..2a857bf143a 100644 --- a/tests/bug-reports/Bug026.fst.hints +++ b/tests/bug-reports/Bug026.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2c256e8d36a62d71fb1d0dd392a52093" + "6fe1f96472d4af4ef7473a7349215643" ], [ "Bug026.filter", @@ -22,7 +22,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f9c6b1e3843cdb7f562f566cd8a3809c" + "c77159dc9b70b5a97d1004c1b0749003" ], [ "Bug026.test_filter1", @@ -38,7 +38,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b2e40e4a85659a16cd55aa6e346d7cf0" + "4f99b7fe9cd3db079c2ee3d281863d52" ], [ "Bug026.test_filter1", @@ -69,7 +69,7 @@ "token_correspondence_Bug026.evenb" ], 0, - "a355679e384785a74624f632e1efca94" + "c592bae807017d503c5d5621d0c3d2a9" ], [ "Bug026.test_filter2", @@ -85,7 +85,7 @@ "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2affa07f4856245af8fb7bc3c73cff28" + "2fc6bde2c9223bd940b1a7afde161aa0" ], [ "Bug026.test_filter2", @@ -116,7 +116,7 @@ "token_correspondence_Bug026.evenb2" ], 0, - "1a53a20ae5ba754fb0936aa1e9ae12a0" + "414f1b44c6aafed263f909a6f9fabf46" ], [ "Bug026.test_filter3", @@ -132,7 +132,7 @@ "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "02329da7c53828b763517cc3e972de3f" + "14b5a3a1c8361296c2562cfcaa71cf6a" ], [ "Bug026.test_filter3", @@ -163,7 +163,7 @@ "token_correspondence_Bug026.evenb3", "typing_Bug026.filter" ], 0, - "2b6e58a50575e7bfddc6ca93d3164e3f" + "625f2c4c6aba1de4120e9e96a524b5fa" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug026b.fst.hints b/tests/bug-reports/Bug026b.fst.hints index f568d0c0d5d..54fddf25f2d 100644 --- a/tests/bug-reports/Bug026b.fst.hints +++ b/tests/bug-reports/Bug026b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "de1b068612f5b5b13464e660f2d44f73" + "c8f1b560e3d5c87f956e59b91762bd6c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug044.fst.hints b/tests/bug-reports/Bug044.fst.hints index 146620f325d..6928a1b0309 100644 --- a/tests/bug-reports/Bug044.fst.hints +++ b/tests/bug-reports/Bug044.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "48049a5bfd9b239810e0f651dd12f3f1" + "e65c5062dcaaca34ebadc18523ff81f1" ], [ "Bug044.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_cb990c8c018df02302626151fc4bc03a" ], 0, - "8de3f2dede0d5232b349d8d639eeb3a2" + "e47d0668f858a816dae33b2645bf616f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug052.fst.hints b/tests/bug-reports/Bug052.fst.hints index 66e32c954bb..36c16cd49c1 100644 --- a/tests/bug-reports/Bug052.fst.hints +++ b/tests/bug-reports/Bug052.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "bd28f06c43652bdadad0acd020f720d1" + "25667c79e7afcb0a12a29135b846d4e8" ], [ "Bug052.use_fact_and_lemma", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8b9da0ed6010b8d6c29dde97eeb8680b" + "ae7c47dca1459ea7db5e1739d0d20fbd" ], [ "Bug052.test", @@ -34,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8528afa1e520b64cc93bf9b1d15b45fb" + "073a70c1c6e56dc211e08480964ab535" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug058.fst.hints b/tests/bug-reports/Bug058.fst.hints index c151922320a..93979d850fb 100644 --- a/tests/bug-reports/Bug058.fst.hints +++ b/tests/bug-reports/Bug058.fst.hints @@ -19,7 +19,7 @@ "well-founded-ordering-on-nat" ], 0, - "3909253e3ac50058df8bab110c561a22" + "208bb627cc1e7ddbc4f09d625aa35cfb" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug058b.fst.hints b/tests/bug-reports/Bug058b.fst.hints index f206e6cdbcf..3028fc5aca6 100644 --- a/tests/bug-reports/Bug058b.fst.hints +++ b/tests/bug-reports/Bug058b.fst.hints @@ -21,7 +21,7 @@ "well-founded-ordering-on-nat" ], 0, - "9bd972f576d27e31b3b40b590c148e71" + "caceda829e4884566349f042782565b3" ], [ "Bug058b.fibonacci", @@ -35,7 +35,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "fd652ae7fe8c8c34832666ad4babef19" + "1c50aa1d774629c32197b7a85a43f4bb" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug067.fst.hints b/tests/bug-reports/Bug067.fst.hints index 842c3896cfe..9f642725ead 100644 --- a/tests/bug-reports/Bug067.fst.hints +++ b/tests/bug-reports/Bug067.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug067.good", "true_interp" ], 0, - "930129503a69de690809133e4211f2e5" + "34cb892966fd24494d8a43d09dc754cd" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug077.fst.hints b/tests/bug-reports/Bug077.fst.hints index 06c72649d1c..aded2749ade 100644 --- a/tests/bug-reports/Bug077.fst.hints +++ b/tests/bug-reports/Bug077.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_3f9be36a23ab849b41fe5bee0bcd749d" ], 0, - "0d77e858a0f7302f6592a417a0202593" + "41849657e967057f51befb58a1feebe9" ], [ "Bug077.ok4", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "eeac44102b60d96ba9a13475f907682a" + "09361361cb90cfe1ef995ee34bfca599" ], [ "Bug077.ok5", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "454e3895046203203007afa7823600a8" + "d0af84a3638a9709c591f9ef32e868b1" ], [ "Bug077.ok5", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "94707b6511d4eabd6fd020e57cc20954" + "faa8956efdb24ede911545aa09e684d7" ], [ "Bug077.bug", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "a2033a6dfc502a13f89dfa2c917f4d04" + "629f38e6489a099adf7cb8ea94260234" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug102.fst.hints b/tests/bug-reports/Bug102.fst.hints index 66678f1b3f5..cae5aa0c2c3 100644 --- a/tests/bug-reports/Bug102.fst.hints +++ b/tests/bug-reports/Bug102.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug102.Hst" ], 0, - "e0c97ea8e1e9886d679dd60244fa8ded" + "b05fffde088f38da9378b60b522592ff" ], [ "Bug102.__proj__Hst__item__post", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug102.Hst" ], 0, - "06e36fac78662dec21c5dd9b838e6a25" + "8765609cf4db6d79c2186a81da535d89" ], [ "Bug102.__proj__Hst__item__e", @@ -35,7 +35,7 @@ "token_correspondence_Bug102.__proj__Hst__item__pre" ], 0, - "4d7911e165c3557228205b4eaca9b54d" + "5cef1c18f55390421b8f19093d01b96f" ], [ "Bug102.__proj__Hst__item___5", @@ -53,7 +53,7 @@ "token_correspondence_Bug102.__proj__Hst__item__post" ], 0, - "fb9731dd38d7d7692506430b25f19c12" + "3488d82fda196f3de4e75160d8c5a012" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1055.fst.hints b/tests/bug-reports/Bug1055.fst.hints index 1b5184935a3..b08feb0b026 100644 --- a/tests/bug-reports/Bug1055.fst.hints +++ b/tests/bug-reports/Bug1055.fst.hints @@ -18,7 +18,7 @@ "true_interp" ], 0, - "630e138fb6d88926ab8e85f8f879095a" + "fc21418271db865e2c7c05174caddf5c" ], [ "Bug1055.test5_client", @@ -36,7 +36,7 @@ "true_interp" ], 0, - "cdc85e933369d0341391a9a6b8583ead" + "3b7820575e1d37216b59b8913198fe91" ], [ "Bug1055.test6_f", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_10c29965fb26bdf7f409a07e0279e553" ], 0, - "a3a00251410c5eb110af5b426f352fc0" + "8ada2dbefb5b0506e479d00eecef096c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1070.fst.hints b/tests/bug-reports/Bug1070.fst.hints index 86a76117400..f4fc237eca8 100644 --- a/tests/bug-reports/Bug1070.fst.hints +++ b/tests/bug-reports/Bug1070.fst.hints @@ -18,7 +18,7 @@ "well-founded-ordering-on-nat" ], 0, - "b82b4a6a3979a6df5b39905595119110" + "0ef8451992f64c8dd1320c2396ac6720" ], [ "Bug1070.f'", @@ -37,7 +37,7 @@ "well-founded-ordering-on-nat" ], 0, - "02dc6954736a36ca4ea4977bf9c9bd5f" + "0d40541138a75b4dd19b0f73cf2268f4" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1074.fst.hints b/tests/bug-reports/Bug1074.fst.hints index d45abedf517..db38f69a720 100644 --- a/tests/bug-reports/Bug1074.fst.hints +++ b/tests/bug-reports/Bug1074.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c5c6d3a09e43119b4d82cbc7b980fdab" + "03c409126f1a067c83859a839a67a226" ], [ "Bug1074.does_not_fail_if_annot", @@ -26,7 +26,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "101885a330eaf27a903824cf742e0b5c" + "9fc3c374c51ca46ecdfdc8f2f890281f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1076.fst.hints b/tests/bug-reports/Bug1076.fst.hints index a8fde01dcee..f9d61b5a857 100644 --- a/tests/bug-reports/Bug1076.fst.hints +++ b/tests/bug-reports/Bug1076.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_5cdcca8bdc4b0558b575402415d68f74" ], 0, - "924f3b56074e7e5ed1d137f95d8a34ac" + "c2527543a9dd455ef475bfb6cfa62bce" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1091.fst b/tests/bug-reports/Bug1091.fst index 490c28a5d64..378b9ba6fd2 100644 --- a/tests/bug-reports/Bug1091.fst +++ b/tests/bug-reports/Bug1091.fst @@ -78,7 +78,7 @@ let oct18_2017_xderef t pre m a = FStar.HyperStack.sel #t #pre m a //////////////////////////////////////////////////////////////////////////////// //April 19, 2017 //////////////////////////////////////////////////////////////////////////////// -open FStar.Tactics +open FStar.Tactics.V2 val apr19_2017_mem: #a:eqtype -> a -> list a -> Tot bool let rec apr19_2017_mem #a x xs = match xs with diff --git a/tests/bug-reports/Bug1091.fst.hints b/tests/bug-reports/Bug1091.fst.hints index ef58b64e6d1..456b5217aba 100644 --- a/tests/bug-reports/Bug1091.fst.hints +++ b/tests/bug-reports/Bug1091.fst.hints @@ -1,5 +1,5 @@ [ - "\u0016§\r-íÅ2SB>ÇK*R{ê", + "\\Gƒþìl\\8§\u0019h§¸ÁË", [ [ "Bug1091.jun21_2017_t", @@ -12,7 +12,7 @@ "typing_FStar.UInt64.t" ], 0, - "0687d72113a9777175a2b501f7412c0c" + "b9589ca604bc0e8fca17ad70d53cdb40" ], [ "Bug1091.apr19_2017_mem", @@ -28,7 +28,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "c641f4741552cc4167ee1003831c5253" + "ab9f1abf0c80cf7156993206f7ecc263" ], [ "Bug1091.apr21_2017_ackermann", @@ -50,7 +50,7 @@ "well-founded-ordering-on-nat" ], 0, - "2a3b961e9532d734d77770d6630348d3" + "dde27d8b600c16ebbe670cd7dd95ffd3" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1097.fst.hints b/tests/bug-reports/Bug1097.fst.hints index 7ad82770a51..24c0752f214 100644 --- a/tests/bug-reports/Bug1097.fst.hints +++ b/tests/bug-reports/Bug1097.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f6dd87ea360114ec1596c0358f9c81f1" ], 0, - "d133e8c4fed0c6812dbdff316278985d" + "df214647dee542de74343536976d03dc" ], [ "Bug1097.m2'", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_1f5ab8b59c8e7f172e4f39cbe2899a5d" ], 0, - "ee5071b114fa86e27391916981539771" + "3af8d663f2dc2622495dcef502bc9a22" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1141b.fst.hints b/tests/bug-reports/Bug1141b.fst.hints index 6ed8440a88e..33324f5e2fc 100644 --- a/tests/bug-reports/Bug1141b.fst.hints +++ b/tests/bug-reports/Bug1141b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "1a81d768017834d47b73e2586f900cef" + "38b6492ae15119be33d3ae671ee764a7" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1150.fst.hints b/tests/bug-reports/Bug1150.fst.hints index a3dee432863..3fcf236eb24 100644 --- a/tests/bug-reports/Bug1150.fst.hints +++ b/tests/bug-reports/Bug1150.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4a8edf2895efb001189471e903bf4b7a" + "7277a003f9461fa7f9ebdad76f2b7d19" ], [ "Bug1150.foo", @@ -27,7 +27,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9ee618b6d6863be86433c9ed39007876" + "3babf9dc3c1d2459a10d317c62e72910" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug116.fst.hints b/tests/bug-reports/Bug116.fst.hints index 1f8a8dc431e..d0ea7fc5b0a 100644 --- a/tests/bug-reports/Bug116.fst.hints +++ b/tests/bug-reports/Bug116.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Bug116.TyAbs_x" ], 0, - "a10dd35a41cd96d897183afeba667443" + "1773394fae323bf39f43b6ee901de391" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1191.fst.hints b/tests/bug-reports/Bug1191.fst.hints index 8141e0de8fc..9437e0c8de6 100644 --- a/tests/bug-reports/Bug1191.fst.hints +++ b/tests/bug-reports/Bug1191.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "deadfd1bf25af05e19257fddfe69a0c6" + "9023733423d7f0e92c95d6010363184e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug120.fst.hints b/tests/bug-reports/Bug120.fst.hints index 6bd48a680bd..7d66074f00e 100644 --- a/tests/bug-reports/Bug120.fst.hints +++ b/tests/bug-reports/Bug120.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2406610724378c1e2fb6701435ad34e8" + "4652828fc302de8c3e1963adc4ae9ac2" ], [ "Bug120.__proj__EVar__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_3d608774a59a6a8de561bf79f54add50" ], 0, - "c5c4c9a3433b02f288d7249f9401e47d" + "fd80f01412128cb856cd0babeecb10db" ], [ "Bug120.__proj__EAbs__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_b130c893a7c00b8fa4c55e9d2d914c50" ], 0, - "0187bbccb6ae54b761eff123d00163eb" + "d9e899bda2b56b46a907d71332cef683" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1206.fst b/tests/bug-reports/Bug1206.fst index b3d88d26af0..9990bb12a67 100644 --- a/tests/bug-reports/Bug1206.fst +++ b/tests/bug-reports/Bug1206.fst @@ -15,7 +15,7 @@ *) module Bug1206 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.HyperStack.ST #reset-options "--max_fuel 1 --max_ifuel 1" diff --git a/tests/bug-reports/Bug1206.fst.hints b/tests/bug-reports/Bug1206.fst.hints index 05615d2c899..e243636bc1f 100644 --- a/tests/bug-reports/Bug1206.fst.hints +++ b/tests/bug-reports/Bug1206.fst.hints @@ -1,5 +1,5 @@ [ - "\u000f5ä=ŠËD\u007f\u000eÏ’Í\u001aÐ_", + "[\\\fFôY–*ü×.Hy9 ¡", [ [ "Bug1206.bslice", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1b05d88543dc0a23ba905bd4a0af9df9" + "7fa469a37b0a32cbcabe69e61e8535bf" ], [ "Bug1206.ser_id", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "e6a37e6154a360d9372aebcd4f192c91" + "10cde94bd62e05c8e23bf6e4c1597605" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug124.fst.hints b/tests/bug-reports/Bug124.fst.hints index 94898cc06d4..7f622580f23 100644 --- a/tests/bug-reports/Bug124.fst.hints +++ b/tests/bug-reports/Bug124.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c935c33ed05c822ee76cfdcb520a134a" + "91f206838e2bc997a770abd288585b47" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug125.fst.hints b/tests/bug-reports/Bug125.fst.hints index b18cc3adfae..14f1cc20d6c 100644 --- a/tests/bug-reports/Bug125.fst.hints +++ b/tests/bug-reports/Bug125.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8b52c2904b8d8e5e714ac1dce005b5e0" + "021a7c1390a93dc937539649551dc1e1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug126.fst.hints b/tests/bug-reports/Bug126.fst.hints index 8b1cf9b55f0..6b0dfa3cf39 100644 --- a/tests/bug-reports/Bug126.fst.hints +++ b/tests/bug-reports/Bug126.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "fd8690fc41b1ba6c264b7aca7194dcea" + "764258b88857d09e42fc362ba07f7098" ], [ "Bug126.__proj__TArr__item__arg", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc" ], 0, - "c8990727323c612e440e70470582823a" + "883be6f1035c9abea82353d4f65e64f6" ], [ "Bug126.__proj__TArr__item__res", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc" ], 0, - "bdc87ef6a6f3d9181d1c56fad0e411b4" + "0bb379eb5c02101c88e4fa62480017e5" ], [ "Bug126.exp", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a600cd43b8d1ea6d5d02ed0de8044d15" + "5814b2b136b3b278fcb8f2a403ecb17e" ], [ "Bug126.__proj__EVar__item__x", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_46117f0e2abf87e3f99ab2933dff06d7" ], 0, - "14594086507cd540ad64442bed388bba" + "90db5ceda2e109ffd9839b0da2b6d5b5" ], [ "Bug126.__proj__EApp__item__e1", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_6300b515f777a9f030ddad14cfe46268" ], 0, - "cd8942d840b2885e00981dec49b4025e" + "c380928655ca06726e539944e377f160" ], [ "Bug126.__proj__EApp__item__e2", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_6300b515f777a9f030ddad14cfe46268" ], 0, - "9dcfbaac836e4c61686926ab38d4d5ee" + "dd0b29a0740ac1fa6fd89b479107558e" ], [ "Bug126.__proj__ELam__item__t", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_8144cd34f51c347b0afc7992a2a47ee2" ], 0, - "de518537dfa23b74c337257028fceae5" + "d7ad1b3d9e2b77967b6b5db8582f94a7" ], [ "Bug126.__proj__ELam__item__body", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_8144cd34f51c347b0afc7992a2a47ee2" ], 0, - "9b4c2ea49527b57c9a8d4e140b5e3d4c" + "88b018c93e47f9684b925a082540913a" ], [ "Bug126.extend", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "deec2668b153ac9a90a589c1f191ab50" + "04df1bbf507cbb56af3a4bf1bf04c946" ], [ "Bug126.typing", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_568849ef81103d54de1b5cc62340abd7" ], 0, - "4361efc92e9cf4e4edb137dc57c33e13" + "566a1840706008e8054618deb2b51050" ], [ "Bug126.__proj__TyUn__item__g", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_531db1cadfe529187eb7a92f8711a848" ], 0, - "0cae3694cb5f6bef5674e3ac9faf1a1b" + "5b8d01b68e6b4c8bad4bdaf97ec49ff6" ], [ "Bug126.__proj__TyVar__item__g", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_515f421c7bd17bbf027ecc6fbafb3f6c" ], 0, - "b4bf9a2ebfef25111a10fc118ec1ea1b" + "1639a8d49e0d66e51161f5991fc6b710" ], [ "Bug126.__proj__TyVar__item__x", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_515f421c7bd17bbf027ecc6fbafb3f6c" ], 0, - "3a8b8f8f69bf5a3363ee9366230d2df3" + "0a7104e225577f02938ef9e8c78072d0" ], [ "Bug126.__proj__TyLam__item__g", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "3b95a1c7c824b16957acdde3d34e9ae9" + "aa735d4de12f944ba175d21c5eb33daa" ], [ "Bug126.__proj__TyLam__item__t", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "0078473c4137c00b9dc1030f71b93fd2" + "241060dc03708b1a2ddb31b364e6b13d" ], [ "Bug126.__proj__TyLam__item__e1", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "8fd3b282675a626edfbc56667863edb9" + "acece8d7fecd96bf809df45c274ff983" ], [ "Bug126.__proj__TyLam__item__t'", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "c0e44e96489111ebe73b7e257333092d" + "725b00698755e378b827768a44e14113" ], [ "Bug126.__proj__TyLam__item___4", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "5eecad59eb7add9282090688e9760303" + "011faf6be2a5b1bf81e175bc31e0e960" ], [ "Bug126.__proj__TyApp__item__g", @@ -259,7 +259,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "6417284246aabbf9ed9115f414dfec38" + "75f4e0084df757402cc08c3e95e7bd40" ], [ "Bug126.__proj__TyApp__item__e1", @@ -272,7 +272,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "d57a9b9ce593ad412c5805c8fc51f2a1" + "3a9bef2850472a6051b49c6e56c1ac6e" ], [ "Bug126.__proj__TyApp__item__e2", @@ -285,7 +285,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "dbf85cc0c857eb4f46375ef1e3032bf2" + "9ab7168782cd8acecbfddfe49fae8437" ], [ "Bug126.__proj__TyApp__item__t11", @@ -298,7 +298,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "a6e0dce987eb76b26bf11206d9c0ea0e" + "13871e488faa8c0e7285320b9c68918f" ], [ "Bug126.__proj__TyApp__item__t12", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "326abaa2074e07ee5f476b8d6562b136" + "e8b92b7124a64ee9a8b043750b57b930" ], [ "Bug126.__proj__TyApp__item___5", @@ -331,7 +331,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "b6034c3dab0fd8b15d35fc6adb3b512f" + "25e292735be163f88fcee5bf2cbdfc14" ], [ "Bug126.__proj__TyApp__item___6", @@ -350,7 +350,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "474de37e8246a1f78d4a0f49afa98ea7" + "5955c0cb341a66952f3faa7adac38d4f" ], [ "Bug126.invert_lam", @@ -380,7 +380,7 @@ "typing_Bug126.value", "typing_tok_Bug126.TUnit@tok" ], 0, - "5c44b2fd011b4d570f69339dbd2d88e8" + "2d30ff633859b46a9e7c239d7c597a2b" ], [ "Bug126.invert_lam", @@ -415,7 +415,7 @@ "typing_tok_Bug126.TUnit@tok" ], 0, - "c23e51cea899df4d56bf2852363e344b" + "5c3992589fae788fc42eec787f1bc7a9" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1271.fst b/tests/bug-reports/Bug1271.fst index 6a33f84741b..e200fc3f29d 100644 --- a/tests/bug-reports/Bug1271.fst +++ b/tests/bug-reports/Bug1271.fst @@ -15,13 +15,13 @@ *) module Bug1271 -open FStar.Tactics +open FStar.Tactics.V2 let test = 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 qf = quote (fun (b: binding) () -> 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 diff --git a/tests/bug-reports/Bug1271.fst.hints b/tests/bug-reports/Bug1271.fst.hints index ed051f41ebe..5ea480f2960 100644 --- a/tests/bug-reports/Bug1271.fst.hints +++ b/tests/bug-reports/Bug1271.fst.hints @@ -1 +1,16 @@ -[ "ØAÌ4e\u007f.e\u0005îýÝítð", [] ] \ No newline at end of file +[ + "\u0005\u0015\u0002mXq´W«ˆŒL\bØ6Ð", + [ + [ + "Bug1271.test", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "5e0707cced727663bfef7a020c5f4541" + ] + ] +] \ No newline at end of file diff --git a/tests/bug-reports/Bug1287.fst b/tests/bug-reports/Bug1287.fst index 5d952c54923..d481b2c2248 100644 --- a/tests/bug-reports/Bug1287.fst +++ b/tests/bug-reports/Bug1287.fst @@ -27,7 +27,7 @@ // If you change it, make sure to do it everywhere. module Bug1287 -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--admit_smt_queries true" @@ -528,7 +528,7 @@ let match_abspat #b #a (abspat: a) : Tac b = admit (); let goal = cur_goal () in - let hypotheses = binders_of_env (cur_env ()) in + let hypotheses = vars_of_env (cur_env ()) in let problem, continuation = interp_abspat abspat in solve_mp #matching_solution problem hypotheses goal (k continuation) diff --git a/tests/bug-reports/Bug1291.fst b/tests/bug-reports/Bug1291.fst index 9a4813f5a8a..33dff972ad7 100644 --- a/tests/bug-reports/Bug1291.fst +++ b/tests/bug-reports/Bug1291.fst @@ -27,7 +27,7 @@ // If you change it, make sure to do it everywhere. module Bug1291 -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--admit_smt_queries true" @@ -528,7 +528,7 @@ let match_abspat #b #a (abspat: a) : Tac b = admit (); let goal = cur_goal () in - let hypotheses = binders_of_env (cur_env ()) in + let hypotheses = vars_of_env (cur_env ()) in let problem, continuation = interp_abspat abspat in solve_mp #matching_solution problem hypotheses goal (k continuation) diff --git a/tests/bug-reports/Bug1305.fst b/tests/bug-reports/Bug1305.fst index 55cb5aad682..041fc5e6fd0 100644 --- a/tests/bug-reports/Bug1305.fst +++ b/tests/bug-reports/Bug1305.fst @@ -15,7 +15,7 @@ *) module Bug1305 -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True diff --git a/tests/bug-reports/Bug1305.fst.hints b/tests/bug-reports/Bug1305.fst.hints index 25349c33896..6bb1eb19928 100644 --- a/tests/bug-reports/Bug1305.fst.hints +++ b/tests/bug-reports/Bug1305.fst.hints @@ -1 +1 @@ -[ "4íCÖyxr\u0001«\n®\u0007Ä;5", [] ] \ No newline at end of file +[ "\u0017L ¢\u0018\u0015VY\u001d*wºh£“ª", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1319b.fst.hints b/tests/bug-reports/Bug1319b.fst.hints index cb5612a108b..5c18257fe99 100644 --- a/tests/bug-reports/Bug1319b.fst.hints +++ b/tests/bug-reports/Bug1319b.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9081819f7ea52101e86b9f8f27d8cfa3" + "e25f87d87df105073b950292c89eb236" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1341.fst.hints b/tests/bug-reports/Bug1341.fst.hints index 9511a1fe6f6..daa945f8601 100644 --- a/tests/bug-reports/Bug1341.fst.hints +++ b/tests/bug-reports/Bug1341.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "312540f796246fa8fb079766845fb328" + "85c1070f150b32a0fd9aa8f8776e29a1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1345b.fst.hints b/tests/bug-reports/Bug1345b.fst.hints index d704453863d..60336ec6660 100644 --- a/tests/bug-reports/Bug1345b.fst.hints +++ b/tests/bug-reports/Bug1345b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "763fd1dbc5e54be13ef2dd82e2771e4f" + "9a57af305e22b498763707749e302278" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1346.fst b/tests/bug-reports/Bug1346.fst index f6a3908ac07..cc369ffc5af 100644 --- a/tests/bug-reports/Bug1346.fst +++ b/tests/bug-reports/Bug1346.fst @@ -14,7 +14,7 @@ limitations under the License. *) module Bug1346 -open FStar.Tactics +open FStar.Tactics.V2 assume val p1 (x:int) : Type0 @@ -34,7 +34,7 @@ let test (p:(unit -> Type0)) (q:(unit -> Type0)) by (let eq = implies_intro () in let h = implies_intro () in dump "A" ; - my_cut (type_of_binder h); + my_cut h.sort; dump "B" ; rewrite eq; norm [] ; @@ -42,8 +42,8 @@ let test (p:(unit -> Type0)) (q:(unit -> Type0)) let hh = intro () in apply (`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)))) + exact (pack (Tv_Var (binding_to_namedv hh))) ; //USED TO FAIL + exact (pack (Tv_Var (binding_to_namedv h)))) let t1 () : Tac unit = let x = forall_intro () in @@ -55,7 +55,7 @@ let t1 () : Tac unit = dump "***************After rewrite"; squash_intro (); dump "***************After squash" ; - exact (pack (Tv_Var (bv_of_binder px))); + exact (pack (Tv_Var (binding_to_namedv px))); dump "End" let foo1 () = diff --git a/tests/bug-reports/Bug1346.fst.hints b/tests/bug-reports/Bug1346.fst.hints index d17bebd24ea..c4d1e5a6320 100644 --- a/tests/bug-reports/Bug1346.fst.hints +++ b/tests/bug-reports/Bug1346.fst.hints @@ -1 +1 @@ -[ "\fHŸfÿ\u0013ÐäŽ_ìÛé-~\t", [] ] \ No newline at end of file +[ "Z¸·úÖ1>¯œ\\ˆ_o2Ût", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1347.fst b/tests/bug-reports/Bug1347.fst index e374af5edcd..03b22b2b05a 100644 --- a/tests/bug-reports/Bug1347.fst +++ b/tests/bug-reports/Bug1347.fst @@ -15,7 +15,7 @@ *) module Bug1347 -open FStar.Tactics +open FStar.Tactics.V2 let t1 (): Tac unit = dump "Before"; diff --git a/tests/bug-reports/Bug1347b.fst b/tests/bug-reports/Bug1347b.fst index 7e9defd2f3b..f99711f42a0 100644 --- a/tests/bug-reports/Bug1347b.fst +++ b/tests/bug-reports/Bug1347b.fst @@ -15,7 +15,7 @@ *) module Bug1347B -open FStar.Tactics +open FStar.Tactics.V2 let test (x : int) = assert True diff --git a/tests/bug-reports/Bug1347b.fst.hints b/tests/bug-reports/Bug1347b.fst.hints index 6e7e762a301..3649c9b376e 100644 --- a/tests/bug-reports/Bug1347b.fst.hints +++ b/tests/bug-reports/Bug1347b.fst.hints @@ -1 +1 @@ -[ "5õb&È_Ú°/j:Ÿ©='", [] ] \ No newline at end of file +[ "‡Í\u0005Hu+1g+{\n\u001d{»\u000bS", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1348.fst.hints b/tests/bug-reports/Bug1348.fst.hints index 4c6d83f9161..dfa25186635 100644 --- a/tests/bug-reports/Bug1348.fst.hints +++ b/tests/bug-reports/Bug1348.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f61fce7e0b3fe83f13ff478507830561" ], 0, - "a48aabc5bb02d2a1036397745e75c4bb" + "fc7056a9b9a06009609ebf6a02d5aeaf" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1355.fst.hints b/tests/bug-reports/Bug1355.fst.hints index 06a3a48334a..d4219efbef2 100644 --- a/tests/bug-reports/Bug1355.fst.hints +++ b/tests/bug-reports/Bug1355.fst.hints @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "2a1034cd8149ca6ce25c9248c05d90e7" + "a7935053b7577f88eb59d7d95887cd74" ], [ "Bug1355.create", @@ -27,7 +27,7 @@ "projection_inverse_Bug1355.TC0_t" ], 0, - "b680d47a2f5a9003021c5e8a804b6206" + "3be40f5c77f8b921c29d4fb0cfb0d07e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1361.fst.hints b/tests/bug-reports/Bug1361.fst.hints index 50c160e0df6..90c2822bd9b 100644 --- a/tests/bug-reports/Bug1361.fst.hints +++ b/tests/bug-reports/Bug1361.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "80171fa455bf2797161f592538c76492" + "d6ca6f1207aae1ded517f6d6506412dd" ], [ "Bug1361.f2", @@ -25,7 +25,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b397107fe3b19e8638000c1012bce266" + "13df023b04b191aac1a3498713d017a9" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1362.fst.hints b/tests/bug-reports/Bug1362.fst.hints index eba511ce3ca..f73ec494873 100644 --- a/tests/bug-reports/Bug1362.fst.hints +++ b/tests/bug-reports/Bug1362.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "88f767afa09c40fb5143ac6597c678c6" + "9d7ce9c5908e698309098266a0725718" ], [ "Bug1362.f1", @@ -30,7 +30,7 @@ "well-founded-ordering-on-nat" ], 0, - "12a5385ef1e188891f50419637b5cc6b" + "d55c9a71bcf301ca3edd893fe966135e" ], [ "Bug1362.f2", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "14d31fc27ccd235631328d7cf01be78f" + "da6c21118df10a2588c4f2471d9196b0" ], [ "Bug1362.f3", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "093f35503494177db77a625fd2b47bd1" + "af21e4f01090588bddaa7bdf15037a67" ], [ "Bug1362.f4", @@ -69,7 +69,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "2f7918f08694ebc1afcc1816f944c0e6" + "44a7be70c1a59fd1ca9ede64c77e05e8" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1370a.fst.hints b/tests/bug-reports/Bug1370a.fst.hints index afed0f9dc3e..d18d1ef9ed7 100644 --- a/tests/bug-reports/Bug1370a.fst.hints +++ b/tests/bug-reports/Bug1370a.fst.hints @@ -20,7 +20,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "3836c01f8574440c9c2ac636c3f385d8" + "0886b1be4756a392ba8c6be86f5bd7b5" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1370b.fst.hints b/tests/bug-reports/Bug1370b.fst.hints index e92831c915c..9a989dfbea5 100644 --- a/tests/bug-reports/Bug1370b.fst.hints +++ b/tests/bug-reports/Bug1370b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "bf4196a16994debd3c8bd89f368a71d2" + "f5a5db5eded76c8e50b48cbf7ef7de73" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug138.fst.hints b/tests/bug-reports/Bug138.fst.hints index 9a2ad7f3e4c..700be6be5b0 100644 --- a/tests/bug-reports/Bug138.fst.hints +++ b/tests/bug-reports/Bug138.fst.hints @@ -16,7 +16,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "cc164e1fea23f6ce36163fce8873aa35" + "b434f3a4eb3fc816fabc3d525ba6bf1b" ], [ "Bug138.foo", @@ -31,7 +31,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "3f23db8a65453a7c540bfa1bbf2bc012" + "827df6499f3c491a143cb19fa684e813" ], [ "Bug138.arg_precede", @@ -43,7 +43,7 @@ "disc_equation_Bug138.Foo", "fuel_guarded_inversion_Bug138.arg" ], 0, - "955477561cd8602933264e3e890bb086" + "2e4e9295953a86512b08e332329297fc" ], [ "Bug138.foo_bar", @@ -69,7 +69,7 @@ "well-founded-ordering-on-nat" ], 0, - "a13b1fbf6e50ec8fe3b063f51ac14b58" + "4f84bac7157e29074385204d9e79ff9d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1390.fst b/tests/bug-reports/Bug1390.fst index be58424527f..804898c5513 100644 --- a/tests/bug-reports/Bug1390.fst +++ b/tests/bug-reports/Bug1390.fst @@ -15,7 +15,7 @@ *) module Bug1390 -open FStar.Tactics +open FStar.Tactics.V2 let taketot (f : unit -> Tot unit) : unit = () let takegtot (f : unit -> GTot unit) : unit = () diff --git a/tests/bug-reports/Bug1390.fst.hints b/tests/bug-reports/Bug1390.fst.hints index 88f99037572..9d40d756c29 100644 --- a/tests/bug-reports/Bug1390.fst.hints +++ b/tests/bug-reports/Bug1390.fst.hints @@ -1,5 +1,5 @@ [ - "ÁVK„¹b“YÚÊ»u\u0004ÖÃ9", + "ð¨\u000b²ÆO{áÔ)'XŸg½ý", [ [ "Bug1390.list_sum", @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ed483ca9e77dbb3b8c2e6a3dc60cc80f" + "cac0a074749eada01c410a9cb2281b1a" ], [ "Bug1390.list_sum_lem", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "877c4697a79cc62fd799be5d84c97b90" + "3bf9b6aff4ef8ef9a237283151540d99" ], [ "Bug1390.list_sum_lem", @@ -50,7 +50,7 @@ "typing_Bug1390.list_sum" ], 0, - "bf64f678ad32ab41cd6ed06b0b14b6ef" + "4aa6fa699fc2b971439028c0acb13cff" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1392.fst b/tests/bug-reports/Bug1392.fst index 9dcf40df207..18cc4aedc71 100644 --- a/tests/bug-reports/Bug1392.fst +++ b/tests/bug-reports/Bug1392.fst @@ -15,7 +15,7 @@ *) module Bug1392 -open FStar.Tactics +open FStar.Tactics.V2 let unsquash #a : a -> squash a = fun _ -> () diff --git a/tests/bug-reports/Bug1414.fst b/tests/bug-reports/Bug1414.fst index 8348bfbe0d1..5be05cae9bf 100644 --- a/tests/bug-reports/Bug1414.fst +++ b/tests/bug-reports/Bug1414.fst @@ -15,7 +15,7 @@ *) module Bug1414 -open FStar.Tactics +open FStar.Tactics.V2 let constant (t:term) : Tac unit = exact (norm_term [primops; delta; iota; zeta] t) diff --git a/tests/bug-reports/Bug1414.fst.hints b/tests/bug-reports/Bug1414.fst.hints index f3168ddab26..25ae2a830a3 100644 --- a/tests/bug-reports/Bug1414.fst.hints +++ b/tests/bug-reports/Bug1414.fst.hints @@ -1,5 +1,5 @@ [ - "Â,%D¦ëÐþCo¯Óc6]", + "Þµ\u0018;#ƒ\u0016Å\u0006xäo¹)Í\u001d", [ [ "Bug1414.f", @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "13314e43e7cdea8c51573bd7ac5647e3" + "ccfb5446c191e4081cf2c67cc3e73ad2" ], [ "Bug1414.f'", @@ -17,7 +17,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "8d55b67091db4c5504223d984316035c" + "787ad0d1e36bbd7eb313f51b42af5b17" ], [ "Bug1414.list", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "00d6d360f39120ec3607fd1d7ee381a8" + "acf4f7cb76b15adda59ba5a9981f250d" ], [ "Bug1414.__proj__Cons__item__hd", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_1dc6a56c5c49f7722088b41ebcd5d2a7" ], 0, - "188daed420162640da133623e581b0dd" + "4dcd0a8f55524e4c54b38b0e3e200b5d" ], [ "Bug1414.__proj__Cons__item__tl", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_1dc6a56c5c49f7722088b41ebcd5d2a7" ], 0, - "374582d7151372881c6acdefa83a541a" + "6c38bd15368a8e1d64360065d5207d05" ], [ "Bug1414.f''", @@ -61,7 +61,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "56cae8f8538e8fd704cb4bf179186e5e" + "9cc0ad5e14b37255b0819d5be5221ba1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1418.fst.hints b/tests/bug-reports/Bug1418.fst.hints index 30f4b8e1b7d..1cdaf65f9d8 100644 --- a/tests/bug-reports/Bug1418.fst.hints +++ b/tests/bug-reports/Bug1418.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.Ghost.reveal" ], 0, - "aa1788e7c66f44adda3ecee79e7289e5" + "fb412f11ff744d2f9d9970290ea4a50d" ], [ "Bug1418.__proj__Cons__item__l", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_df6b33caeb4b6905d7c2d368d9642f39" ], 0, - "093829ff2e6005b91fc6dd20b3be3610" + "4907a8e91f54cfd2417c31158fc66b31" ], [ "Bug1418.__proj__Cons__item__hd", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_df6b33caeb4b6905d7c2d368d9642f39" ], 0, - "ebd83e866709881ea374748709ad354d" + "1a9482b6953730d9fe12a427a7487dbf" ], [ "Bug1418.__proj__Cons__item__tl", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_df6b33caeb4b6905d7c2d368d9642f39" ], 0, - "da0fd8100d166010017c740df64a0363" + "26903d3a79f9051c04291c3ce493b880" ], [ "Bug1418.fold", @@ -71,7 +71,7 @@ "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" ], 0, - "4060f61c59b2f2366d7861b3c755419a" + "36d381e558f0f3df2d9f865bca5525e0" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1423.fst.hints b/tests/bug-reports/Bug1423.fst.hints index c68bc652120..c2a56a99c08 100644 --- a/tests/bug-reports/Bug1423.fst.hints +++ b/tests/bug-reports/Bug1423.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "451282c092e3354f422e973939788dc3" + "216a354a0e35845c004a9174c1f46d07" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1427.fst.hints b/tests/bug-reports/Bug1427.fst.hints index 582c42134c5..b6353797c11 100644 --- a/tests/bug-reports/Bug1427.fst.hints +++ b/tests/bug-reports/Bug1427.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a" ], 0, - "6b4169b4f9ad1e7c815c517a7320a71c" + "9495227e0977162585a5fd69272eebdd" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1449.fst.hints b/tests/bug-reports/Bug1449.fst.hints index 4e746755124..b17b4bb3a5f 100644 --- a/tests/bug-reports/Bug1449.fst.hints +++ b/tests/bug-reports/Bug1449.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "5ab2b0f89e485ed30975ed753e52eed5" + "e1ff0b3e26ed55a6db4094923a9af23d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1470.fst.hints b/tests/bug-reports/Bug1470.fst.hints index 30d2150b02b..d555c551851 100644 --- a/tests/bug-reports/Bug1470.fst.hints +++ b/tests/bug-reports/Bug1470.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "22edcf43f2896406789954ada1370332" + "a0b77eb36f03ea0377ac3a77bea48467" ], [ "Bug1470.length1", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ad7ae3e6cfe1803006dfb1058900bb1e" + "9d3c6d2be806ce53af6fab71d2bd7b68" ], [ "Bug1470.test", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_f3a309fd18fb30c242602784337aa7c8" ], 0, - "f5ecbf11ee2cc5aff74c816051c3097b" + "9dbafd039f3a484587c0ca7045a7d2d0" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1479.fst b/tests/bug-reports/Bug1479.fst index 19ab6a00768..8468c18318f 100644 --- a/tests/bug-reports/Bug1479.fst +++ b/tests/bug-reports/Bug1479.fst @@ -15,7 +15,7 @@ *) module Bug1479 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.Result assume val fail : #a:Type -> m:string -> TAC a (fun ps post -> post (Failed m ps)) diff --git a/tests/bug-reports/Bug1481.fst.hints b/tests/bug-reports/Bug1481.fst.hints index aecedb7ba21..217429d049a 100644 --- a/tests/bug-reports/Bug1481.fst.hints +++ b/tests/bug-reports/Bug1481.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d1920c7a6316fc1d1c406e484d93f543" + "f0167157b65e14af198b3f3ace3fa698" ], [ "Bug1481.uu___5", @@ -23,7 +23,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "41170815ca224c7d1c40833b76626400" + "131f2683d43a01fa7182fa5b628089c3" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug152.fst.hints b/tests/bug-reports/Bug152.fst.hints index 0935b9fedad..5221c8893b5 100644 --- a/tests/bug-reports/Bug152.fst.hints +++ b/tests/bug-reports/Bug152.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "9d218f91b30eea707062567c6c91925d" + "97dec8dac1d7097ec47efa897ef54e49" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1521.fst.hints b/tests/bug-reports/Bug1521.fst.hints index e2e98f0148d..d1202750af2 100644 --- a/tests/bug-reports/Bug1521.fst.hints +++ b/tests/bug-reports/Bug1521.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "35bbf6854f0484a604c1eae2e0cfafae" + "6ab4fb11097a52bc7dc189c3f7d695c6" ], [ "Bug1521.__proj__L__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_2ee8b37671e156e8fc8e545cda428828" ], 0, - "bf396bf37dd98bc1183d3af8b5ccdeee" + "3f3ec72c2cace8e12f06dc7e7a733f1d" ], [ "Bug1521.prefix_trans", @@ -30,7 +30,7 @@ 1, [ "@query", "equation_Bug1521.prefix" ], 0, - "e5619be6fb38d095a4e2f038a1bd2bfa" + "11ab71398841ea3642a304b78d3fa49a" ], [ "Bug1521.rtest0", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_82a3291aab6fa34e6b2f50c9328babba" ], 0, - "431aaf223f77aa7184a32b87b7934e45" + "39246bbed305732c4f8969ca0462c4e2" ], [ "Bug1521.rtest1", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "71a57c2446a2ab4584a710a515348c23" + "8b2ab0c8f05d26afd75faed4d91c518f" ], [ "Bug1521.rtest2", @@ -66,7 +66,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "744eded8c2152b984c3d917ad1a829d0" + "33dff65d9c2aa2c2d7ec2a2f79e66bfe" ], [ "Bug1521.rtest2'", @@ -75,7 +75,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "1263ef11e00f875b2141934b5cf69d59" + "6b4fd38687d845da4264533d94d2f98c" ], [ "Bug1521.rtest2''", @@ -84,7 +84,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "df06a4558c3b26d60d96089ce6c5be70" + "e2eb52ad37e55eb094b615e07e14cc94" ], [ "Bug1521.ptest1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "43d36811480a581cfd4f42d9bf0eb38f" + "095842c49ab43586a417118facbb388b" ], [ "Bug1521.ptest2", @@ -106,7 +106,7 @@ 1, [ "@query", "equation_Bug1521.prefix" ], 0, - "cde5be74aa19f3cb9c6ce977099cee74" + "df54f116c67f3588280182ae528ad009" ], [ "Bug1521.sklem0", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "9acdfddef2933e774284269e054da746" + "66fc7a7418f6b88db1758befd564b1db" ], [ "Bug1521.sklem1", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "f9b0dbf228dcefc460b40eb37ab5e3d4" + "4a3e61497eb80f740f07c6a6ad4555b6" ], [ "Bug1521.sklem2", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "7727b0a2355fa0a0e9c388b0e72e692c" + "a839e3191ecca79914bea682297799ad" ], [ "Bug1521.sklem3", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "a2e425cf15aef70b60b92a2230fc443f" + "7d4e2388f78e2c22e44e8068a0b33e3a" ], [ "Bug1521.sklem3'", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_99dd2283cbb3854d3d50ecf79b8c853c" ], 0, - "59036eea6c610feef27f4bad9e18ed13" + "b9adf38fbb0bbf44f5d47b8c7ca83235" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1533.fst.hints b/tests/bug-reports/Bug1533.fst.hints index c6ce20b267e..6e4d83596e4 100644 --- a/tests/bug-reports/Bug1533.fst.hints +++ b/tests/bug-reports/Bug1533.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cec0b82f73f6ab8d397abd2036e98ab2" + "d5aa696142cab99a68a31afe948b74c4" ], [ "Bug1533.elim2", @@ -21,7 +21,7 @@ 1, [ "@query", "equation_Prims.op_Equals_Equals_Equals" ], 0, - "59e0a9d26797bf4298d71da7f533f595" + "d1cbc9b3888eba27f91503d1e908dd4b" ], [ "Bug1533.coerce", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_770aa551c1985581cf5d9ce92df5e8e5" ], 0, - "d7e81b9402c4b26fb1bb96e7f86360dd" + "b3bd3d6b4dfc4c102ce8e383d45fff3e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1534.fst.hints b/tests/bug-reports/Bug1534.fst.hints index e5fbb2a4d05..ec6b91e517b 100644 --- a/tests/bug-reports/Bug1534.fst.hints +++ b/tests/bug-reports/Bug1534.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "02e9528630fed2581ed1e82095e7139b" + "8179b3a77d470022ddd5f3f1f8b18cf4" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1535a.fst.hints b/tests/bug-reports/Bug1535a.fst.hints index 0fd4972c704..b63277ea4c8 100644 --- a/tests/bug-reports/Bug1535a.fst.hints +++ b/tests/bug-reports/Bug1535a.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_6300131b7f399df41d2aeb53052a61af" ], 0, - "a0ef97bd9d5def6a165b7ca8834f7464" + "6f3aeb537824ea9d6a1a3f0f8dd314f5" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1535b.fst.hints b/tests/bug-reports/Bug1535b.fst.hints index 3bbe623a341..87a0f230015 100644 --- a/tests/bug-reports/Bug1535b.fst.hints +++ b/tests/bug-reports/Bug1535b.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_2e78d28ba08c2cb7ee04001ad87c9bb1" ], 0, - "7498d17acd1b5c0e88f4c86c8ffc0d9f" + "c09a42d812f77927d77bc6576c405a9e" ], [ "Bug1535b.__proj__E2__item__uu___", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_c3ceca29279776f21818c91763c5c1c7" ], 0, - "8b3e5ce1c22612a7a16c4f956d960081" + "7204af8fe8622aa1ca64dbef6a67845d" ], [ "Bug1535b.__proj__E3__item__uu___", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_73dff932809f388fd198b9e3f9f5211a" ], 0, - "08b22d65c71e3159849cee6c3df7b28f" + "877d9485186e7d40d6024899f2ac0a0b" ], [ "Bug1535b.__proj__E4__item__uu___", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_85e0644ec0dbee6767a8bf36980d70df" ], 0, - "75cc116b5f6506b955f3cc84298dd398" + "bd02bcedf6e0e448b8fad6ed9abb1579" ], [ "Bug1535b.__proj__E5__item__uu___", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_1ce3fcc0ccdc50f533c05b4ebf834d8d" ], 0, - "bc4f0f1fbfe4d0d970f0a6209c510d18" + "c2ee5e39c99db0432a686d8545b40382" ], [ "Bug1535b.__proj__G0__item__uu___", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_5d03a5f7d4a91ef05e1e1d45c49f8f3a" ], 0, - "029374da795e4f079a34249ee4191d8b" + "3ccce8cf7d12308e380ab16db3437ee4" ], [ "Bug1535b.__proj__G1__item__uu___", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_a79cd0cdc17b4764d7d9d47882e08378" ], 0, - "b03f241806340c5368290a7d1c7f5fd6" + "6eb42de5612575c369c062d545e3578c" ], [ "Bug1535b.__proj__G2__item__uu___", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_6f8e845b7fa59ccb0699413ff51bf3d7" ], 0, - "a0a1fe90b532ab17c364e68e6665bbf4" + "951a276cc2c0279173761aa619c9fa6a" ], [ "Bug1535b.__proj__G3__item__uu___", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_dcd92d6be240c4cc54f6181a032a4f25" ], 0, - "5f4387cefc7fe83f4aefab89f3889983" + "5b3fe356250d1f6dc53e6447f329d790" ], [ "Bug1535b.__proj__G4__item__uu___", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_0f08af52cc3770bb2411d340d2a48148" ], 0, - "3b4db6ae23282c3455e66e957b74cceb" + "81b3f7e377311aa8689df3611351c137" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1536.fst.hints b/tests/bug-reports/Bug1536.fst.hints index b9048e0c6c2..5ce74c55d57 100644 --- a/tests/bug-reports/Bug1536.fst.hints +++ b/tests/bug-reports/Bug1536.fst.hints @@ -14,7 +14,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either", "unit_typing" ], 0, - "dd0ba6b65788096a3b445c875bc6c400" + "e3b595f84bad4b21befa471e6f8fb408" ], [ "Bug1536._dm4f_EXN_bind_wp", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "f506e3ab2d34e88f183195de71dc2566" + "665d4f39dc6ca1ff1ffe02b698e9c246" ], [ "Bug1536.t1", @@ -64,7 +64,7 @@ 1, [ "@query", "eq2-interp" ], 0, - "3b3882237f863de3a6f79ec0f7ae63ae" + "250c9c4a80f4055dbd58082cd77c8be1" ], [ "Bug1536.t2", @@ -73,7 +73,7 @@ 1, [ "@query", "eq2-interp" ], 0, - "a7f4f33eb40e91eab89c2284d7edd7e5" + "653a95f36ca2a442102784e78b1804c4" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug155.fst.hints b/tests/bug-reports/Bug155.fst.hints index c45deaab2bc..d46fde75690 100644 --- a/tests/bug-reports/Bug155.fst.hints +++ b/tests/bug-reports/Bug155.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ca2036dea2f5c6d1f0a1753844408a31" + "33491e8262be309642d238a1ddc5ffad" ], [ "Bug155.test2'", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "bed1441d4e39c9ec678ebc55f0f674b2" + "964e888b7b5601c53a15446ca35d8033" ], [ "Bug155.test2", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "f803e91b1af296aedea6f95944e0f3a9" + "683b6c3fa563c66e805d70a950942b7b" ], [ "Bug155.test3", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "11c39e16d00e4cc16efd31568dda73ff" + "d63852a5305ac99617f0128d4f258bb7" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1571.fst b/tests/bug-reports/Bug1571.fst index cc07625120e..0580e557539 100644 --- a/tests/bug-reports/Bug1571.fst +++ b/tests/bug-reports/Bug1571.fst @@ -15,7 +15,7 @@ *) module Bug1571 -open FStar.Tactics +open FStar.Tactics.V2 type t : eqtype = | V of nat | W diff --git a/tests/bug-reports/Bug1571.fst.hints b/tests/bug-reports/Bug1571.fst.hints index 71e80881205..1946e350540 100644 --- a/tests/bug-reports/Bug1571.fst.hints +++ b/tests/bug-reports/Bug1571.fst.hints @@ -1,5 +1,5 @@ [ - "\u000fÏtª\u0003›0¶úä\u0000è|î¾S", + "‚Rl¸c£QÂê\u001a²–9kTK", [ [ "Bug1571.t", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7bc08366171a35f70c427215a7b336b0" + "6e408ed98df29bb97edeeff71d129e53" ], [ "Bug1571.__proj__V__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_4efce2107be5fc6d34ea56c6f3b06057" ], 0, - "a26ae1bfdd0e45d2ab4379a7ee3541aa" + "c11fb57e714caa7e44af817c2fe2a106" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1592.fst.hints b/tests/bug-reports/Bug1592.fst.hints index fde310aaf11..2c9a5eaa9a4 100644 --- a/tests/bug-reports/Bug1592.fst.hints +++ b/tests/bug-reports/Bug1592.fst.hints @@ -115,7 +115,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.pow2" ], 0, - "37a5c2b6120009fc38bd5c09d47f1dc0" + "a9285fbd9530efbdf89ae18167eca679" ], [ "Bug1592.example1", @@ -200,7 +200,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "3b2b1d0851c35eb6ff65a677411b0da3" + "a883880951f4b9717c2df77533cd7e79" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1595.fst.hints b/tests/bug-reports/Bug1595.fst.hints index 17eb6807b1a..c72bda45090 100644 --- a/tests/bug-reports/Bug1595.fst.hints +++ b/tests/bug-reports/Bug1595.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_0d210bce4d0a1cb53e8b9752eeac3ff1" ], 0, - "1028efa175c6b2a7abb2515cc424e1da" + "88f7c172bf7662935f20924935486aaf" ], [ "Bug1595.__proj__CalcStep__item__rs", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "ff8994157cf93fa67e16b435956039c2" + "9e8cd75b9981bae550f90b8466bef5f9" ], [ "Bug1595.__proj__CalcStep__item__p", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "6c8f3e1b35b000dbcd4da852f7ce27c8" + "b7a3017516e4a0eeed2e9101924bec38" ], [ "Bug1595.__proj__CalcStep__item__x", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "8419c13bcfedd8b991f94b1d2fc162d2" + "2303677f9d56232526c679ad73d26dea" ], [ "Bug1595.__proj__CalcStep__item__y", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "3a78f602c0a82d9ecef7891fa400f88f" + "86f69473fac7bec441fab70d0b4083fc" ], [ "Bug1595.__proj__CalcStep__item__z", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "4630d176a7a0b6da9e846e31e1fe23be" + "fd7331ca4a13a2b24075336435714bc8" ], [ "Bug1595.__proj__CalcStep__item___5", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "da4db9dc57e220dcc96f250801982566" + "dd6a3931919799d38c424cd050d4fbbd" ], [ "Bug1595.__proj__CalcStep__item___6", @@ -109,7 +109,7 @@ "token_correspondence_Bug1595.__proj__CalcStep__item__p" ], 0, - "ae5f4552a4f04b78c16f7f5f44be76dd" + "1502ecf9d126e18bf80c05d29a66d64b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1601.fst.hints b/tests/bug-reports/Bug1601.fst.hints index aef561be67c..7fb7bc5822c 100644 --- a/tests/bug-reports/Bug1601.fst.hints +++ b/tests/bug-reports/Bug1601.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "bdff0bc3590e6e855d68cd59c27dbde9" + "db2ec34661da3c1e33d4e98aa5672bd2" ], [ "Bug1601.foo", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "63dadc920fbf3f0c27e1add55a12ff1b" + "3db88494403029f4b5759e162d6bbba3" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1604.fst.hints b/tests/bug-reports/Bug1604.fst.hints index 6fe70f28775..ab026657a93 100644 --- a/tests/bug-reports/Bug1604.fst.hints +++ b/tests/bug-reports/Bug1604.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1604.test5" ], 0, - "2a07a24989596b98817cc8c3e70279c4" + "abe0c5496d5725f55b9c4a642f8edc19" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1605.fst.hints b/tests/bug-reports/Bug1605.fst.hints index 352cbe9608b..0c92ee933bf 100644 --- a/tests/bug-reports/Bug1605.fst.hints +++ b/tests/bug-reports/Bug1605.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_Bug1605.C_f" ], 0, - "05019b48b275904cf649e6542d048ca9" + "f9053015d15d3446c0622c95c3303e4f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug161.fst.hints b/tests/bug-reports/Bug161.fst.hints index b6b0b53ef59..8a1f703de81 100644 --- a/tests/bug-reports/Bug161.fst.hints +++ b/tests/bug-reports/Bug161.fst.hints @@ -19,7 +19,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "c71b5071bb8a0c551c24bad3b8610e8a" + "a58f6abf723a419430659527d47c3a69" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1612.fst.hints b/tests/bug-reports/Bug1612.fst.hints index 0665b3e1468..9fa85b3d321 100644 --- a/tests/bug-reports/Bug1612.fst.hints +++ b/tests/bug-reports/Bug1612.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "14919acde44d9da42bb3e111e92de565" + "2e77c6000f3840d519baa2c044072f6b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1614a.fst.hints b/tests/bug-reports/Bug1614a.fst.hints index fed724ce1ec..50c253aac8a 100644 --- a/tests/bug-reports/Bug1614a.fst.hints +++ b/tests/bug-reports/Bug1614a.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3fe6798f4077f178b6dc3f6c4fd096c9" + "43f2a40ac2eb3ca8db79f334e635ed88" ], [ "Bug1614a.uu___3", @@ -22,7 +22,7 @@ "typing_Bug1614a.x" ], 0, - "69a61a78c9144cc1c302b206fed4f634" + "12adc028e0b8f793e6b191d4f28edd87" ], [ "Bug1614a.uu___5", @@ -36,7 +36,7 @@ "typing_Bug1614a.x" ], 0, - "8335f26403fa34377b8c052af5b38ff3" + "0a4f84c8c96271c41945f7dc316315ec" ], [ "Bug1614a.uu___7", @@ -50,7 +50,7 @@ "typing_Bug1614a.x" ], 0, - "c8a9c0261225561e2e21b9312bda5a64" + "6e0a839861c4695f904f591d04a89ac0" ], [ "Bug1614a.uu___9", @@ -64,7 +64,7 @@ "typing_Bug1614a.x" ], 0, - "97754e4b7e92a460c2bde26c8a711d7c" + "b01ee4ea6fa74276aefe3858b295d5a5" ], [ "Bug1614a.uu___10", @@ -78,7 +78,7 @@ "typing_Bug1614a.x" ], 0, - "32d883a11d7a489b7afecdfd866ec91b" + "4db0987ee547670afd0d47f225674ff0" ], [ "Bug1614a.uu___12", @@ -92,7 +92,7 @@ "typing_Bug1614a.x" ], 0, - "fee9f66be011b91966441cdf5bb75819" + "5caf03a49d11c56b8de1c7c84dc0651a" ], [ "Bug1614a.uu___14", @@ -106,7 +106,7 @@ "typing_Bug1614a.x" ], 0, - "1232d289b55002ee143d27f85e0e4a00" + "be8981f4f19bd4c876e3035197e688de" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1614d.fst.hints b/tests/bug-reports/Bug1614d.fst.hints index 6009ede7cf1..a86b2e6a32d 100644 --- a/tests/bug-reports/Bug1614d.fst.hints +++ b/tests/bug-reports/Bug1614d.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "78dd161b1ecee1ae35b7b4917392f9a6" + "f4864b6db90b4932eab79a1bf98c5ead" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug162.fst.hints b/tests/bug-reports/Bug162.fst.hints index 58b3dcdfb1c..2133360fea0 100644 --- a/tests/bug-reports/Bug162.fst.hints +++ b/tests/bug-reports/Bug162.fst.hints @@ -20,7 +20,7 @@ "well-founded-ordering-on-nat" ], 0, - "e838391a0bf87c9f3d0824e30a379d7c" + "fba540ea8aeb9b0c647a85ce44d97c3b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1622.fst.hints b/tests/bug-reports/Bug1622.fst.hints index 4cfae7cd711..bab566e9ea6 100644 --- a/tests/bug-reports/Bug1622.fst.hints +++ b/tests/bug-reports/Bug1622.fst.hints @@ -21,7 +21,7 @@ "unit_typing" ], 0, - "e7a39ea0f3a409a5499002bf5078ec37" + "1e14cc08a39ba45b609317e51e03c34f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1640.fst b/tests/bug-reports/Bug1640.fst index 0d99ba58a4b..55cea2521d6 100644 --- a/tests/bug-reports/Bug1640.fst +++ b/tests/bug-reports/Bug1640.fst @@ -1,5 +1,5 @@ module Bug1640 -open FStar.Reflection +open FStar.Reflection.V2 let _ = assert (inspect_ln (`()) == Tv_Const C_Unit) diff --git a/tests/bug-reports/Bug1640.fst.hints b/tests/bug-reports/Bug1640.fst.hints index d048be5c184..6139b3deee4 100644 --- a/tests/bug-reports/Bug1640.fst.hints +++ b/tests/bug-reports/Bug1640.fst.hints @@ -1 +1 @@ -[ "©\"\u0004Øt&æ놚⹟mú¨", [] ] \ No newline at end of file +[ "-¿/OC„\r³EøÄÉD¿", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1680.fst b/tests/bug-reports/Bug1680.fst index 0604169d9bb..1808a3adb17 100644 --- a/tests/bug-reports/Bug1680.fst +++ b/tests/bug-reports/Bug1680.fst @@ -1,6 +1,6 @@ module Bug1680 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.FunctionalExtensionality module F = FStar.FunctionalExtensionality diff --git a/tests/bug-reports/Bug1680.fst.hints b/tests/bug-reports/Bug1680.fst.hints index c023c08e442..4dcf1c6211b 100644 --- a/tests/bug-reports/Bug1680.fst.hints +++ b/tests/bug-reports/Bug1680.fst.hints @@ -1,5 +1,5 @@ [ - "8Žo}Jžµ\u000bí\u0014ûU\u001d©ì_", + "¿Ô>òû ú5ôdã(âQ\nJ", [ [ "Bug1680.sum_i", @@ -23,7 +23,7 @@ "well-founded-ordering-on-nat" ], 0, - "e0c510708ac9d2ed2b698fc21da993f8" + "90e8c25a2f2489e8500561487a836773" ], [ "Bug1680.sum", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "90f01fd331f2c1f0e2a5316bb9b777f1" + "7bfafbdbac91b3c6efb37081fa9a0c91" ], [ "Bug1680.x", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a677897a4d5d2af0d47801c6d983e8c6" + "537c2c33b6681f0a3c98dcd4ef1f1580" ], [ "Bug1680.uu___52", @@ -129,7 +129,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "c33731c6f275659a7bf8b50d4665dc9e" + "32a5f89a7285847ec961c9a3dd75b1af" ], [ "Bug1680.uu___53", @@ -203,7 +203,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "aae9871a7c23c80093e1d05df938ad52" + "6646ebd4b472b3d07699160f2e4f6a2d" ], [ "Bug1680.uu___54", @@ -277,7 +277,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "b197ceddfdf0014d3794ea5c4c5a5622" + "434794ad913f732830e08ebac48f4ab0" ], [ "Bug1680.uu___55", @@ -351,7 +351,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "9d600ea91960cf4c8061389b5643e17c" + "050c437b10e29415d229769124bcff41" ], [ "Bug1680.uu___59", @@ -422,7 +422,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "3e2e5799e0ea3f8eec7eb796557266b2" + "0ce1439335a86551f8f65f1b30c30b44" ], [ "Bug1680.uu___60", @@ -494,7 +494,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "edbed1ab192bf3505a7f88faa5021bbf" + "bce01252ed5031dfa6a9cd47695e5cf3" ], [ "Bug1680.uu___61", @@ -567,7 +567,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "3c561a2cc6fb05089b8be695936cc3df" + "3ab73f815776be9c7f2491b20840d180" ], [ "Bug1680.uu___62", @@ -640,7 +640,7 @@ "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "88597b2898907b6ffe7ffaaca97533a7" + "4329d8c9244ed161dd3946adcde08a26" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1682.fst.hints b/tests/bug-reports/Bug1682.fst.hints index 76c7293c87b..2eb0c7581ed 100644 --- a/tests/bug-reports/Bug1682.fst.hints +++ b/tests/bug-reports/Bug1682.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f6df5ce5334341f2f1b82c9f6d32fa33" + "c2ee15316db4aa8d3bb11aab16fd5a84" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1694.fst.hints b/tests/bug-reports/Bug1694.fst.hints index 1ef5a64d9a0..ab53ae719fe 100644 --- a/tests/bug-reports/Bug1694.fst.hints +++ b/tests/bug-reports/Bug1694.fst.hints @@ -12,7 +12,7 @@ "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro" ], 0, - "4be520d801ae23d5333c18458b740b58" + "53ebab34477cec75e62fe7d68ae48b9a" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug171.fst.hints b/tests/bug-reports/Bug171.fst.hints index 9fc77c32914..e20394fb532 100644 --- a/tests/bug-reports/Bug171.fst.hints +++ b/tests/bug-reports/Bug171.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "663b458bc4e288d8325064397a3e7457" + "69cd7b100c36aa4141e0d38256c18861" ], [ "Bug171.insert", @@ -54,7 +54,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d9ef31c4b9e26be9d51488c94e005589" + "7c3f1b976a2cc5135d141827a04986fb" ], [ "Bug171.insert_sorted", @@ -93,7 +93,7 @@ "typing_Bug171.sorted", "unit_inversion", "unit_typing" ], 0, - "7e670f9876bdfb336c8dc977e164c8f2" + "d8e5f1714035110c3ddc190736ddff3a" ], [ "Bug171.insert_sorted_cons_false", @@ -119,7 +119,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "06cdff4bfde50bade98872e422bc60ab" + "76c36e8bca82b0e2940bc3f5f6fdfad8" ], [ "Bug171.insert_sorted_cons_false", @@ -145,7 +145,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "36082e20ecd7892ae90cca127f86d21a" + "52aad5d391a2f01df310c5566f1048ea" ], [ "Bug171.insert_sorted_cons_false", @@ -176,7 +176,7 @@ "typing_Bug171.sorted" ], 0, - "4c06919a1d02df1c84c36fd068d68700" + "083357b16065c262f745da80b919291e" ], [ "Bug171.insert_alt", @@ -185,7 +185,7 @@ 1, [ "@query" ], 0, - "1db3aaa69a3852d73aa6080151cc8dcb" + "30ce85cb8501da6147c92d00feca0e22" ], [ "Bug171.insert_alt", @@ -194,7 +194,7 @@ 1, [ "@query" ], 0, - "e5dc525ba32d067341de8b691b5519a9" + "a6675dbe6a51653af5cf8acad4c3ff6d" ], [ "Bug171.insert_alt", @@ -239,7 +239,7 @@ "typing_Bug171.sorted" ], 0, - "9dcf4a5b0729dfeb59c19ab554549f8a" + "900a64d07e3119cf8558d077615c9c77" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug173.fst.hints b/tests/bug-reports/Bug173.fst.hints index 0ce194bccb1..70f16c0b184 100644 --- a/tests/bug-reports/Bug173.fst.hints +++ b/tests/bug-reports/Bug173.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_15101821f4e3b649d6d583630eae3454" ], 0, - "a34547fa749c1af3b5f0d76b27328979" + "394ef28e5c669225dafb08adf3a571e5" ], [ "Bug173.__proj__VInt__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_0a5340044d37e34c504d848f3062fc70" ], 0, - "75931789998310bbee2129a84c7c2a3a" + "45aba014ad4ed4b904f7408de0303785" ], [ "Bug173.exp", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f38678267f9194b2846a51a161121923" + "ee3994b1fd6665134a725f309793e018" ], [ "Bug173.__proj__Val__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_c7c6061497ba4f63f3d3d4352db94b44" ], 0, - "ae145c0ab4b473e6583b549a0cbdfeec" + "96fc51a7653df82ef1f74bf7edcf4ec8" ], [ "Bug173.__proj__Var__item___0", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_f89ab40a82145488094878508741162b" ], 0, - "95911615bbdacbe3f4efcb15273f431f" + "4768f82dd9c8c25424e4e08eeafdb978" ], [ "Bug173.__proj__If__item__condition", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "df4cb634dda4ade47b1bb5d2193d08a6" + "b9bb06c80cd890cc4c27e9e912783a11" ], [ "Bug173.__proj__If__item__then_branch", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "abff8763127abad4afd7706eb0b9ef3d" + "1a4c03478d61a5c145e9f4954e097ee8" ], [ "Bug173.__proj__If__item__else_branch", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "e7a83ee77f0560721039cf170193f976" + "79e4c7aaaefa4d23943088a39aa6fe16" ], [ "Bug173.__proj__Op__item___0", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "10df07758332da594353eb209b2551f8" + "eb4d3227f7c2001ca7e7c814d2c57193" ], [ "Bug173.__proj__Op__item___1", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "64fc67c5a6fe78c7afe85d44ba688027" + "d5c825921ccfda12dc3c458a443d517e" ], [ "Bug173.__proj__Op__item___2", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "77b4c4403da7562bcf834e710debca13" + "05efd47c6a67eb81b2059386fc83b085" ], [ "Bug173.stmt", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "875ebb60857498f9c1c29050c3a8516f" + "1db930e94cbb6cb4cea3ed4dee109ec2" ], [ "Bug173.__proj__Assign__item__var", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_ebb2375c683cbe868371bbda21c0ccff" ], 0, - "2f09a3dffc7f6ee213bd937ebd03ef8e" + "bdd53beb91e16005337b0a91bbf9197a" ], [ "Bug173.__proj__Assign__item__term", @@ -188,7 +188,7 @@ "refinement_interpretation_Tm_refine_ebb2375c683cbe868371bbda21c0ccff" ], 0, - "c657722a985694bc783e631dd5b2ebfc" + "dc487ead1e44f9f1750200bd0162fd1a" ], [ "Bug173.__proj__Seq__item__first", @@ -201,7 +201,7 @@ "refinement_interpretation_Tm_refine_7c7131a87482042363fc2ed2f82b3faa" ], 0, - "ac269801c54fe7743cd9a09ece900ccd" + "8bf65e367685ad7f51bde436164d34cc" ], [ "Bug173.__proj__Seq__item__second", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_7c7131a87482042363fc2ed2f82b3faa" ], 0, - "38f04e99cba2d75b79f6f221d27bbda2" + "3d4df5f4f194c5f522987900d39416ef" ], [ "Bug173.__proj__Cond__item__cond", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "543e560ab8a1d9a7de65512c5bf9cae9" + "743d2f956924bda73759b1fd00d382b3" ], [ "Bug173.__proj__Cond__item__then_branch", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "7e521f74e4fd56ce3fec420c44121358" + "016a645049ded64b1fd5715c6239042a" ], [ "Bug173.__proj__Cond__item__else_branch", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "dd73d6c052cf78c4f43d83533a66c1ce" + "9e277ad1ad4437860acd2c86bc2aeb2e" ], [ "Bug173.__proj__While__item__cond", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_7e8fdf7a94fdaa4a154a25fddf6c4b79" ], 0, - "98cede06c5a9df77b0b08e48255ee1d2" + "ae3598443779e6a81ba0e8df07d6fd78" ], [ "Bug173.__proj__While__item__body", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_7e8fdf7a94fdaa4a154a25fddf6c4b79" ], 0, - "dd0a79bf7fa9515f19bd8b2c2abf1bba" + "d2d85274049abaeff0ebb0b38d1849c1" ], [ "Bug173.update", @@ -294,7 +294,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bba87dbb67576e1762cd64f01085c5fd" + "5e8465dbd40c6e6eb3569549ae2cc3e8" ], [ "Bug173.step_exp", @@ -314,7 +314,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "4ce0df1e9671c975cf419c7e5cbfd315" + "9364c546f38f89adbf7124212e13c6be" ], [ "Bug173.step", @@ -345,7 +345,7 @@ "typing_tok_Bug173.Skip@tok" ], 0, - "21bebfa38c36f4720b6e6a3a5b5fabc4" + "c011b69e32f6a70881dddf7ba530895e" ], [ "Bug173.op_type", @@ -360,7 +360,7 @@ "disc_equation_Bug173.Times", "fuel_guarded_inversion_Bug173.binop" ], 0, - "2f6914b5c9e37d36dd72f747ef9e3d2f" + "ac29dad790bedd5b4980090b0130a377" ], [ "Bug173.typing_val", @@ -372,7 +372,7 @@ "disc_equation_Bug173.VInt", "fuel_guarded_inversion_Bug173.value" ], 0, - "8db33f188252309e91f4e9c7e9477a97" + "c6c54aa652264af517cd21c97f04d6a8" ], [ "Bug173.typing_exp", @@ -389,7 +389,7 @@ "subterm_ordering_Bug173.Op" ], 0, - "0eced748942dca020393a4e803bc5015" + "26aa00a2642045bd2190f3791dc3e056" ], [ "Bug173.typing", @@ -420,7 +420,7 @@ "typing_tok_Bug173.Skip@tok" ], 0, - "fca04423e17b2eab19e8e50eb80d2651" + "c2d14800e56b22ba0d378d0667aacbd2" ], [ "Bug173.typed_heap", @@ -429,7 +429,7 @@ 1, [ "@query", "assumption_Bug173.typ__uu___haseq" ], 0, - "ead9894367f65f26dd2db940fba4765d" + "4f17d0fb4a3fb21464bc27ed5bfe59c8" ], [ "Bug173.progress_exp", @@ -495,7 +495,7 @@ "typing_Bug173.uu___is_Val" ], 0, - "6556777a43081a6002b2534027545c0e" + "009ce71086ef4dbfe4768cb193690ce2" ], [ "Bug173.progress", @@ -565,7 +565,7 @@ "unit_inversion", "unit_typing" ], 0, - "91a61b6da9474906ac6a3dd2da44f453" + "c0d11ad0c36fe242fc9a65f9c884c356" ], [ "Bug173.preservation_exp", @@ -581,7 +581,7 @@ "refinement_interpretation_Tm_refine_6d220662d73c37f5901d157fdf6e4586" ], 0, - "d258633c815aa0bb378a9a63aeba38de" + "982dc9ad3cf6882f8ac3744626a4cead" ], [ "Bug173.preservation_exp", @@ -597,7 +597,7 @@ "refinement_interpretation_Tm_refine_3aa1c07246640540f775a95da7290cba" ], 0, - "b29b94cc87afe17a3579f76b1033ef54" + "d09b9af89edbbeecaeb1d74f83b6c636" ], [ "Bug173.preservation_exp", @@ -682,7 +682,7 @@ "unit_inversion", "unit_typing" ], 0, - "f5f8268dde1d0802e39649c2fa4dcdb6" + "9c4c31ec5d54008077e9c21b4a11b3bc" ], [ "Bug173.preservation", @@ -694,7 +694,7 @@ "refinement_interpretation_Tm_refine_ca04d3dee7d06eaab85a104fb6a18624" ], 0, - "417b322c0edc4a50875602f35e4b677f" + "8d3fb236c7fc51cd18019500f17907cf" ], [ "Bug173.preservation", @@ -706,7 +706,7 @@ "refinement_interpretation_Tm_refine_5c9d6eac4c18e0dd03631fe4f34d8229" ], 0, - "95fa3b3ae06d7f3ccb8ba980ddc2ec44" + "c58d5c90ef1181141745e97e02e6b2f8" ], [ "Bug173.preservation", @@ -794,7 +794,7 @@ "typing_tok_Bug173.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "606a976d3dad5a5327b96d7af930b995" + "88f77f7e4da6e22647f22c99fbcc8d24" ], [ "Bug173.preservation'", @@ -806,7 +806,7 @@ "refinement_interpretation_Tm_refine_ca04d3dee7d06eaab85a104fb6a18624" ], 0, - "0c34fbb996566e15c55f654651a3f928" + "6ed072bb402e9af75baad48a150f2012" ], [ "Bug173.preservation'", @@ -818,7 +818,7 @@ "refinement_interpretation_Tm_refine_e767a8bf08b197718c3285b1a8dca619" ], 0, - "b49b103c58221933e5b49cf0d50334b6" + "679134ede28ee368cf41c93276687643" ], [ "Bug173.preservation'", @@ -915,7 +915,7 @@ "typing_tok_Bug173.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "c61e6edc811b480af042410e09a13e34" + "0ea343a998224c665fe11787790f12fa" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1730b.fst.hints b/tests/bug-reports/Bug1730b.fst.hints index 0b9d6a99004..f814d3cc73c 100644 --- a/tests/bug-reports/Bug1730b.fst.hints +++ b/tests/bug-reports/Bug1730b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1730a.x", "equation_Bug1730b.y" ], 0, - "80b0e484c7f2cd23819499cdee60b3dc" + "717a29cd215fd0fc99b49bcee4806c03" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug175.fst.hints b/tests/bug-reports/Bug175.fst.hints index 6d9b337f831..b9ab2fafb84 100644 --- a/tests/bug-reports/Bug175.fst.hints +++ b/tests/bug-reports/Bug175.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "22c5d2d642b24a2ccae4e7996dae30c2" + "7950862e2add992b56f3ccb13d34608f" ], [ "Bug175.__proj__SApp1__item__h", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "5638fe976bab01deede8c1bdd39c4c59" + "b40549ec535fa853dae459c7adb6fcc7" ], [ "Bug175.__proj__SApp1__item__e1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "253a8eb01cf2afffb9b1da035778348d" + "3830a701d5aa700269a599e3456034c2" ], [ "Bug175.__proj__SApp1__item__e2", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "0f4a5cd4fff01e1c88081743b33ec1f0" + "a320ac655c371d0dc5014d1a7430c6b7" ], [ "Bug175.__proj__SApp2__item__h", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "80511117f6eacd9b9f597344da34fa12" + "db7b3a6cae0fad5b62e496d3042e08b7" ], [ "Bug175.__proj__SApp2__item__e1", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "876c69dfb64a2714e18d98a5c2310958" + "b63590f2fb2463cdfab2aadfbd9b14a9" ], [ "Bug175.__proj__SApp2__item__e2", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "fba04959e37c99b9425f4d7e0a8da051" + "d458c415a3121825438b50e8a700a034" ], [ "Bug175.__proj__SApp2__item___3", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "e1e160cced68eccf40b320515829bdf2" + "09829423dca369aff0fa679874f8a91c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1750.Aux.fst.hints b/tests/bug-reports/Bug1750.Aux.fst.hints index b2c8f567f76..ba57ae0de88 100644 --- a/tests/bug-reports/Bug1750.Aux.fst.hints +++ b/tests/bug-reports/Bug1750.Aux.fst.hints @@ -27,7 +27,7 @@ "typing_FStar.Monotonic.DependentMap.repr" ], 0, - "2820cb412525efd3d4a7fb930e680599" + "e32b3b8718987cb9026c7e766e11f308" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1750.fst.hints b/tests/bug-reports/Bug1750.fst.hints index 4810ea63535..ed6b48da6fd 100644 --- a/tests/bug-reports/Bug1750.fst.hints +++ b/tests/bug-reports/Bug1750.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_4a8b14cc2437f87e25f4222d8fe180cc" ], 0, - "a85c2e15c80e30cf9133855fefec44e0" + "73c04bc5a78ee19cc1c3b3422fbd32f9" ], [ "Bug1750.test_partial_app0", @@ -31,7 +31,7 @@ "function_token_typing_Bug1750.plus", "int_inversion" ], 0, - "840cb27bfebd1d7a48a23b4ece1186fb" + "3c121011566745d69476a146de4779be" ], [ "Bug1750.test_partial_app2", @@ -46,7 +46,7 @@ "equation_with_fuel_Bug1750.apply.fuel_instrumented", "int_inversion" ], 0, - "82ccc6d84d1863f06fea691a35040cfd" + "c7edbda1cb52091b4d4d8aa6163e18c9" ], [ "Bug1750.test_partial_app3", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_11b94044b318d04810c219460ee922f5" ], 0, - "308b48df8780337aa2dd0493d9676917" + "ac4a2dce97cb9efdd33b599d6ac807c8" ], [ "Bug1750.eff", @@ -76,7 +76,7 @@ "disc_equation_Bug1750.T", "fuel_guarded_inversion_Bug1750.eff_tag" ], 0, - "6ee2afd978f47149879374d92e82f3dc" + "ba1ca6a6563d4d04e5064c3447f949b9" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1799.fst.hints b/tests/bug-reports/Bug1799.fst.hints index a5406dc5275..ca2dbc9cc82 100644 --- a/tests/bug-reports/Bug1799.fst.hints +++ b/tests/bug-reports/Bug1799.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_fd129bc9040d5707bb6dca327be6f10c" ], 0, - "2352094f84b3cf3160b0e025d61c74ea" + "a28aed37b2636a804bb8e2bcbafa5c99" ], [ "Bug1799.test'", @@ -23,7 +23,7 @@ "l_or-interp" ], 0, - "688e9fb77efad2afffecb4477b8f0b32" + "980a580570c7302624006047a7935405" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1812.fst b/tests/bug-reports/Bug1812.fst index 5def4f578e8..d1be0351673 100644 --- a/tests/bug-reports/Bug1812.fst +++ b/tests/bug-reports/Bug1812.fst @@ -3,7 +3,7 @@ module Bug1812 let op_any_word o = 1 // any identifier fitting the pattern `op_*_*` works let t = op_any_word -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True diff --git a/tests/bug-reports/Bug1812.fst.hints b/tests/bug-reports/Bug1812.fst.hints index b3c81431fb0..3ad8555cda1 100644 --- a/tests/bug-reports/Bug1812.fst.hints +++ b/tests/bug-reports/Bug1812.fst.hints @@ -1 +1 @@ -[ "w®SmŸ\u000b’âÄÆ\b?(", [] ] \ No newline at end of file +[ "£=6$¸ÈºU)ÊÐÐt\u001cŒ¼", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug184.fst.hints b/tests/bug-reports/Bug184.fst.hints index cc0a7370259..6b7e8c97e5e 100644 --- a/tests/bug-reports/Bug184.fst.hints +++ b/tests/bug-reports/Bug184.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0abdd18d2995fe90df364fc3c5600ba7" + "d34ca52b94a835c7b8382bfab3a4430d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1840.fst b/tests/bug-reports/Bug1840.fst index 0686337e3e6..7669c81b50f 100644 --- a/tests/bug-reports/Bug1840.fst +++ b/tests/bug-reports/Bug1840.fst @@ -1,26 +1,25 @@ module Bug1840 -open FStar.Tactics +open FStar.Tactics.V2 (* Simpler repro *) let resolve bs : Tac unit = - let rec try_binders (bs: binders): Tac unit = - match bs with + let rec try_namedv (vs: list namedv): Tac unit = + match vs with | [] -> () - | b :: bs -> try_binders bs + | v :: vs -> try_namedv vs in - try_binders bs + try_namedv bs (* Original *) let resolve' (): Tac unit = // dump "blah" - let rec try_binders (bs: binders): Tac unit = - match bs with + let rec try_namedv (vs: list binding): Tac unit = + match vs with | [] -> fail "found no suitable type class" - | b :: bs -> - let b = (inspect_binder b).binder_bv in - try exact (pack_ln (Tv_BVar b)) - with | TacticFailure _ -> try_binders bs + | v :: vs -> + try exact (pack (Tv_Var (binding_to_namedv v))) + with | TacticFailure _ -> try_namedv vs | _ -> () in - try_binders (binders_of_env (cur_env ())) + try_namedv (vars_of_env (cur_env ())) diff --git a/tests/bug-reports/Bug1840.fst.hints b/tests/bug-reports/Bug1840.fst.hints index c38a4695cea..f2f691f1a43 100644 --- a/tests/bug-reports/Bug1840.fst.hints +++ b/tests/bug-reports/Bug1840.fst.hints @@ -1,5 +1,5 @@ [ - "XVWúbEñ8?\u0002pßB—F9", + "\\ƒ2wżW\u001c퇈q×\n$t", [ [ "Bug1840.resolve", @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "d75d61075ad02a7cc4c16054a99bdece" + "278812b52c9629c9d7ca03fff5a425cd" ], [ "Bug1840.resolve'", @@ -25,7 +25,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "b99f1aa1e5e8261298e74280bdb81e13" + "932a891e6c71aa9ffa2af8ac2cf70405" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug184Eta.fst.hints b/tests/bug-reports/Bug184Eta.fst.hints index c408ca8f1d0..160a0b15da1 100644 --- a/tests/bug-reports/Bug184Eta.fst.hints +++ b/tests/bug-reports/Bug184Eta.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f201b03bfd78c2fe8c36b7e97794c1a5" + "99935024411c2e7ee8d468b4e1e61c64" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug185.fst.hints b/tests/bug-reports/Bug185.fst.hints index b957eed32e5..cc21c67631c 100644 --- a/tests/bug-reports/Bug185.fst.hints +++ b/tests/bug-reports/Bug185.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Bug185.HasEq_data" ], 0, - "3fd50cf7a49a63d2afff476f3068202c" + "2d8ca3f6fd5120809ee501e35308ff64" ], [ "Bug185.validate", @@ -25,7 +25,7 @@ "token_correspondence_Bug185.verified" ], 0, - "41f3b5cae25f0ca63ef607bc1bde53e8" + "c86e0b7f6701e4bdaa4779f7d379c404" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1855.fst.hints b/tests/bug-reports/Bug1855.fst.hints index f10d1d45e44..cae6391620e 100644 --- a/tests/bug-reports/Bug1855.fst.hints +++ b/tests/bug-reports/Bug1855.fst.hints @@ -28,7 +28,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "d6fe29ecc09c9736ee75ec4454874ea3" + "9058e8b7586cd545e7be0adafd8c9b5a" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1866.fst b/tests/bug-reports/Bug1866.fst index ee8f89ded0e..8891b34e350 100644 --- a/tests/bug-reports/Bug1866.fst +++ b/tests/bug-reports/Bug1866.fst @@ -1,6 +1,6 @@ module Bug1866 open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 let rec not_do_much e: Tac term = match inspect e with @@ -26,10 +26,10 @@ let rec not_do_much e: Tac term = let branches = zip pats es in pack (Tv_Match scrut ret_opt branches) - | Tv_Let r attrs bv ty e1 e2 -> + | Tv_Let r attrs bv e1 e2 -> let e1 = not_do_much e1 in let e2 = not_do_much e2 in - let e = pack (Tv_Let r attrs bv ty e1 e2) in + let e = pack (Tv_Let r attrs bv e1 e2) in e | Tv_AscribedT e t tac use_eq -> @@ -45,7 +45,7 @@ let rec not_do_much e: Tac term = | Tv_Arrow _ _ | Tv_Type _ | Tv_Uvar _ _ - | Tv_Refine _ _ _ + | Tv_Refine _ _ | Tv_Unsupp | Tv_Unknown -> // Looks like we ended up visiting a type argument of an application. @@ -79,18 +79,17 @@ let traverse (name:string) : Tac decls = let d = lookup_typ (top_env ()) nm in let d = match d with Some d -> d | None -> fail "0" in let d, us = match inspect_sigelt d with - | Sg_Let _ lbs -> begin + | Sg_Let {lbs} -> begin let {lb_fv=_;lb_us=us;lb_typ=typ;lb_def=d} = - lookup_lb_view lbs nm in d, us + lookup_lb lbs nm in d, us end | _ -> fail "1" in let name = pack_fv (cur_module () @ [ "test_" ^ name ]) in let r = not_do_much d in (* dump ("r = " ^ term_to_string r); *) - let lbv = {lb_fv=name;lb_us=us;lb_typ=(pack Tv_Unknown);lb_def=r} in - let lb = pack_lb lbv in - let s = pack_sigelt (Sg_Let false [lb]) in + let lb = {lb_fv=name;lb_us=us;lb_typ=(pack Tv_Unknown);lb_def=r} in + let s = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in [s] %splice[test_base0](traverse "base0") diff --git a/tests/bug-reports/Bug1866.fst.hints b/tests/bug-reports/Bug1866.fst.hints index f148d461725..92dff77bbe4 100644 --- a/tests/bug-reports/Bug1866.fst.hints +++ b/tests/bug-reports/Bug1866.fst.hints @@ -1,5 +1,5 @@ [ - "Í~.\"\u0005ÎÙøCþ{`€s", + "¬v5îÄh(ú\u0012þ+ðËP‚;", [ [ "Bug1866.not_do_much", @@ -8,31 +8,30 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "disc_equation_FStar.Tactics.NamedView.Tv_Abs", + "disc_equation_FStar.Tactics.NamedView.Tv_App", + "disc_equation_FStar.Tactics.NamedView.Tv_Arrow", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "disc_equation_FStar.Tactics.NamedView.Tv_BVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Const", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Let", + "disc_equation_FStar.Tactics.NamedView.Tv_Match", + "disc_equation_FStar.Tactics.NamedView.Tv_Refine", + "disc_equation_FStar.Tactics.NamedView.Tv_Type", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_Unknown", + "disc_equation_FStar.Tactics.NamedView.Tv_Unsupp", + "disc_equation_FStar.Tactics.NamedView.Tv_Uvar", + "disc_equation_FStar.Tactics.NamedView.Tv_Var", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "projection_inverse_BoxBool_proj_0" ], 0, - "d1f314a9ac7cab81c29148d94237c033" + "a6c7ce45f7a65f732ac5c6d0b8140dd8" ], [ "Bug1866.traverse", @@ -43,16 +42,23 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.sigelt", "function_token_typing_Prims.string", "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -61,10 +67,10 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "string_inversion", "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Reflection.Builtins.lookup_typ" + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "fca17e28064d285d4f984c9520f9b1bb" + "0bffead58c5d3ec1058e7ffab131b69c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug187.fst.hints b/tests/bug-reports/Bug187.fst.hints index 3863bd14875..810ddbd9dc8 100644 --- a/tests/bug-reports/Bug187.fst.hints +++ b/tests/bug-reports/Bug187.fst.hints @@ -18,7 +18,7 @@ "typing_Tm_abs_99be3afbadfb3e442ef3d04d50777fd6" ], 0, - "bc60be4a77e3bab92668cb0d9ec1f0e3" + "0700f335affd2d7ef31ec50777b61506" ], [ "Bug187.no_fail", @@ -27,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "171d044df85ed1c2bc9243ed44eab9e6" + "e4c25b9ecd7a04c93afe04adccb0930c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug190.fst.hints b/tests/bug-reports/Bug190.fst.hints index c8469cc90ab..ac2fe8352ae 100644 --- a/tests/bug-reports/Bug190.fst.hints +++ b/tests/bug-reports/Bug190.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug190.DForallElim" ], 0, - "fb95cccba27849f07661b0ac9050f066" + "5d042739e6652d70ba1473388b085ca7" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1901.fst.hints b/tests/bug-reports/Bug1901.fst.hints index 9ae406745c8..7d7759772ae 100644 --- a/tests/bug-reports/Bug1901.fst.hints +++ b/tests/bug-reports/Bug1901.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "9a75286f3d2a98ded90677954ee86362" + "743e2924fdeaf930055ba10c5984bb0a" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1902.fst b/tests/bug-reports/Bug1902.fst index c8a51df651e..f4f8e814a9e 100644 --- a/tests/bug-reports/Bug1902.fst +++ b/tests/bug-reports/Bug1902.fst @@ -1,7 +1,7 @@ module Bug1902 open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 // a few helpers let fvOf (t: term) = match inspect t with @@ -21,8 +21,8 @@ let rec f m (n: nat): Tot int (decreases n) = // we extract f's type let typOfF (): Tac typ = let Some fdef = admit (); lookup_typ (top_env ()) (inspect_fv (fvOf (`f (*`*)))) in - let Sg_Let _ lbs = admit (); inspect_sigelt fdef in - let lbv = lookup_lb_view lbs (inspect_fv (fvOf (`f (*`*)))) in + let Sg_Let {lbs} = admit (); inspect_sigelt fdef in + let lbv = lookup_lb lbs (inspect_fv (fvOf (`f (*`*)))) in lbv.lb_typ // Note that the type of f is actually @@ -69,8 +69,8 @@ let craft_f' use_f_type: Tac decls = mk_abs [m;n] ( pack ( Tv_Match n' None - [ (Pat_Constant (C_Int 0), (`(*`*)0)) - ; (Pat_Var (fresh_bv ()) (Sealed.seal (`int)) , + [ (Pat_Constant {c=C_Int 0}, (`(*`*)0)) + ; (Pat_Var {v=fresh_namedv (); sort=Sealed.seal (`int)}, call2 (pack (Tv_FVar name)) (call2 (`(*`*)(+)) m' (`(*`*) 1 )) (call2 (`(*`*)(+)) n' (`(*`*)(-1))) @@ -79,8 +79,8 @@ let craft_f' use_f_type: Tac decls = ) ) ) in - let lb = pack_lb ({lb_fv = name; lb_us = []; lb_typ = typ; lb_def = def}) in - let se = Sg_Let true [lb] in + let lb = {lb_fv = name; lb_us = []; lb_typ = typ; lb_def = def} in + let se = Sg_Let {isrec=true; lbs= [lb]} in [pack_sigelt se] // crafting f' using f type works diff --git a/tests/bug-reports/Bug1902.fst.hints b/tests/bug-reports/Bug1902.fst.hints index 90f4b0547be..8ecc34707a4 100644 --- a/tests/bug-reports/Bug1902.fst.hints +++ b/tests/bug-reports/Bug1902.fst.hints @@ -1,5 +1,5 @@ [ - "¼“\\åtmý¢E c\u0011ÕV^]", + ".V\u000e^íêa\u0002n„;AÒ¸ý", [ [ "Bug1902.mk_abs", @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f49916ef13e54f01fc4954123327606f" + "7c33ca1dbcbd08ff0bc8304e2a1f3023" ], [ "Bug1902.f", @@ -30,7 +30,7 @@ "well-founded-ordering-on-nat" ], 0, - "df2e8edf5936ab533b028fa60f47780f" + "8648adac45b251505212ba4ea7ff9d6d" ], [ "Bug1902.mk_tot_arr_decr", @@ -43,7 +43,39 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3b4aecf9547a761db7eb68561fc19d69" + "ecf020f082e2c0e42d5eb24e81756832" + ], + [ + "Bug1902.craft_f'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.branch", + "equation_FStar.Tactics.NamedView.namedv", + "equation_FStar.Tactics.NamedView.simple_binder", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Tactics.NamedView.branch", + "projection_inverse_BoxBool_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" + ], + 0, + "533e89f75c98add56028afb3f2854c07" ], [ "Bug1902.f'_using_f_type", @@ -59,7 +91,7 @@ "well-founded-ordering-on-nat" ], 0, - "4bf2c135d900c2288edc306a78ad72e0" + "ceacc7316a95a514428da33b05793eea" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1903.fst.hints b/tests/bug-reports/Bug1903.fst.hints index b0e1c05b7cd..53dcd036117 100644 --- a/tests/bug-reports/Bug1903.fst.hints +++ b/tests/bug-reports/Bug1903.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1903.uu___14" ], 0, - "844cd678e0e958b876c2345281c73367" + "7b9b5c9dc8d75545258a73904a8c4996" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1936.fst.hints b/tests/bug-reports/Bug1936.fst.hints index c552dfe662c..a671fe7629d 100644 --- a/tests/bug-reports/Bug1936.fst.hints +++ b/tests/bug-reports/Bug1936.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "36043b1cb97214c7066ad53c5c989d18" + "acc560b80328cee057152c10900d5c36" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1940a.fst.hints b/tests/bug-reports/Bug1940a.fst.hints index bc30e6e3970..406065ffef0 100644 --- a/tests/bug-reports/Bug1940a.fst.hints +++ b/tests/bug-reports/Bug1940a.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Bug1940a.B", "fuel_guarded_inversion_Bug1940a.alg" ], 0, - "8541f4d4ca6c7f37f367032037268217" + "4619232329dc361b99a727d0b108c849" ], [ "Bug1940a.repr_length", @@ -23,7 +23,7 @@ "disc_equation_Bug1940a.B", "fuel_guarded_inversion_Bug1940a.alg" ], 0, - "2d9dec1b0f5f1826c63ec23aef336383" + "6690df8c8a82b02a9e5958e647bf9094" ], [ "Bug1940a.compressed", @@ -36,7 +36,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4b56f598219c1c7052bbd79fce749b8e" + "e47ee6e94026a9607b994fc9a6b119b5" ], [ "Bug1940a.repr", @@ -52,7 +52,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f76a7aacb240ce86e6fac6e37e759a17" + "92141a52d12f196876e0817d35c03434" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1940b.fst.hints b/tests/bug-reports/Bug1940b.fst.hints index d1e37d1a28a..1afe6ab3e8a 100644 --- a/tests/bug-reports/Bug1940b.fst.hints +++ b/tests/bug-reports/Bug1940b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1940b.f", "projection_inverse_BoxInt_proj_0" ], 0, - "60da14ba38dbbb6d48c556d2700dacf8" + "f5fa04812a17764ed2497121962b21c4" ], [ "Bug1940b.v", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Bug1940b.g", "projection_inverse_BoxInt_proj_0" ], 0, - "11da3704561187c1ccae7ace36da0a11" + "e510f87bb34750a3663e6b76d15213d6" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1954.fst.hints b/tests/bug-reports/Bug1954.fst.hints index 8ecaeac02c8..456be48f57e 100644 --- a/tests/bug-reports/Bug1954.fst.hints +++ b/tests/bug-reports/Bug1954.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3b84fc20e569455d207a8881322a926c" + "d0e3fe052f93656f1258690ff318b7f1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1966a.fst b/tests/bug-reports/Bug1966a.fst index b2101c95784..639a564c77d 100644 --- a/tests/bug-reports/Bug1966a.fst +++ b/tests/bug-reports/Bug1966a.fst @@ -1,6 +1,6 @@ module Bug1966a -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Squash let conversion a (x y : a) (h:(x == y)) : Tot (equals x y) = Refl @@ -31,8 +31,8 @@ let fun_ext' #a (#b:a -> Type) (f g: (x:a -> b x)) : let p = forall_intro_as "p" in let h = implies_intro() in let u = forall_intro() in - let (h1, h2) = destruct_and h in - let h2' = instantiate h2 u in + let (h1, h2) = destruct_and (binding_to_term h) in + let h2' = instantiate (binding_to_term h2) (binding_to_term u) in mapply h2'; clear h2'; clear h2; clear h; (* so far it was all boilerplate *) mapply (`conversion); @@ -43,6 +43,6 @@ let fun_ext' #a (#b:a -> Type) (f g: (x:a -> b x)) : let x = forall_intro_as "X" in mapply (`return_squash); norm [delta]; - let h1' = instantiate h1 x in (* used to fail for no apparent reason *) + let h1' = instantiate (binding_to_term h1) (binding_to_term x) in (* used to fail for no apparent reason *) () ) = () diff --git a/tests/bug-reports/Bug1966a.fst.hints b/tests/bug-reports/Bug1966a.fst.hints index 3c6a233fa27..dd7f8cb377d 100644 --- a/tests/bug-reports/Bug1966a.fst.hints +++ b/tests/bug-reports/Bug1966a.fst.hints @@ -1,5 +1,5 @@ [ - "ª\u0000¿e0qËl“M‘8\"©[\u0005", + "´ë;nn¯çÖcíAˆ‰§\u001a6", [ [ "Bug1966a.conversion", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "d6be5d345d1e6cdb465972309c3aa061" + "93a01e973294ad85a639387f2c2b3d99" ], [ "Bug1966a.q_as_lem", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "8bb57aaaff2762dca863153e9679b245" + "38621b15975927393c0ee7a37f40d5c0" ], [ "Bug1966a.congruence_fun'", @@ -32,7 +32,7 @@ 1, [ "@query", "true_interp" ], 0, - "f9ee3b7303c655c8823869658de57307" + "5762fb5f6a073e2547aaa8ad6b5b52eb" ], [ "Bug1966a.congruence_fun", @@ -41,7 +41,7 @@ 1, [ "@query" ], 0, - "925d3a319a231d83bbf5f213e03b72bd" + "d8333cac9465abf2455c6623a5262a89" ], [ "Bug1966a.__forall_inst", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "6d408c8c2943f09c6c57a368cb0a02a0" + "ac1586213b5d19119e36f1fab88a9db8" ], [ "Bug1966a.fun_ext'", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_1aaad12ccaab375dde7c624ef1057c2b" ], 0, - "9c9afa9f3595b0f42597acc534699f9b" + "77e9fb59ba4abbed2d6d1a075e4e067f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1966b.fst b/tests/bug-reports/Bug1966b.fst index 63d0d1c88b3..6349f56e10d 100644 --- a/tests/bug-reports/Bug1966b.fst +++ b/tests/bug-reports/Bug1966b.fst @@ -1,6 +1,6 @@ module Bug1966b -open FStar.Tactics +open FStar.Tactics.V2 assume val t : int -> Type assume val lem : x:int -> y:(t x) -> Lemma (y == y) @@ -8,12 +8,12 @@ assume val mk : x:int -> y:(t x) -> int let f (xxxx:int) (y : t xxxx) = assert (y == y) - by (let xXX = nth_binder (-2) in + by (let xXX = nth_var (-2) in let zZZ = rename_to xXX "zzzz" in apply_lemma (`lem)) let syn (xxxx:int) (y : t xxxx) : int = - _ by (let xXX = nth_binder (-2) in + _ by (let xXX = nth_var (-2) in let zZZ = rename_to xXX "zzzz" in - let y = nth_binder (-1) in - apply (`mk _ (`#y))) + let y = nth_var (-1) in + apply (`mk _ (`#(binding_to_term y)))) diff --git a/tests/bug-reports/Bug1966b.fst.hints b/tests/bug-reports/Bug1966b.fst.hints index d5ffd37a81c..e1d3534f666 100644 --- a/tests/bug-reports/Bug1966b.fst.hints +++ b/tests/bug-reports/Bug1966b.fst.hints @@ -1 +1 @@ -[ "PþÇ…Oê|¬\\G\u001c36ábª", [] ] \ No newline at end of file +[ "«1š\rÚ_Õ\u001bè˜(Q´f9", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug1986.fst.hints b/tests/bug-reports/Bug1986.fst.hints index f31538c8f12..a1f321a7d22 100644 --- a/tests/bug-reports/Bug1986.fst.hints +++ b/tests/bug-reports/Bug1986.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "756416ca125cd3120bf4b4dcd582c213" + "8a477506b5046f360404a5ed6134709d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2031.fst.hints b/tests/bug-reports/Bug2031.fst.hints index ab0e716f67f..47a65ef820e 100644 --- a/tests/bug-reports/Bug2031.fst.hints +++ b/tests/bug-reports/Bug2031.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "a1def7245e1877d88204e9d165725b66" + "6b2ad7dc6cc6b2c9ccea74b2a5546451" ], [ "Bug2031.mk_add_n", @@ -49,7 +49,7 @@ "well-founded-ordering-on-nat" ], 0, - "67ff94dd61200fca21a9834a708837e1" + "626653dcfbc59b79846551c33fd6f949" ], [ "Bug2031.uu___31", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "4c593f45b5d717135fff341b8d8deae8" + "efe5916e84a0bf439c60ae1630d29f3e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2045.fst b/tests/bug-reports/Bug2045.fst index 3d6afb48ecb..586b8681450 100644 --- a/tests/bug-reports/Bug2045.fst +++ b/tests/bug-reports/Bug2045.fst @@ -1,6 +1,6 @@ module Bug2045 -open FStar.Tactics +open FStar.Tactics.V2 let ff () : Dv string = "" diff --git a/tests/bug-reports/Bug2045.fst.hints b/tests/bug-reports/Bug2045.fst.hints index e677d50ce24..edb9646fc3a 100644 --- a/tests/bug-reports/Bug2045.fst.hints +++ b/tests/bug-reports/Bug2045.fst.hints @@ -1 +1 @@ -[ "´ñA=;Ê\u000b´\u001ey¬ˆ–ŒúŒ", [] ] \ No newline at end of file +[ "ªDz÷V©mÝN,IÖTô6ð", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2055.fst.hints b/tests/bug-reports/Bug2055.fst.hints index 0d94f0bea9f..2fead096664 100644 --- a/tests/bug-reports/Bug2055.fst.hints +++ b/tests/bug-reports/Bug2055.fst.hints @@ -19,7 +19,7 @@ "typing_Tm_abs_720d7e2dcb12f62f92f195afb8b57eaf" ], 0, - "68172e5c17df1e71f31eb8a3d4cfb357" + "59b19671c1b7524fe18d532022b1a005" ], [ "Bug2055.2055", @@ -28,7 +28,7 @@ 1, [ "@query" ], 0, - "aa228b67371bec590abf3599b270cb78" + "5c063456b2cd485fae4008e008b388c8" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2058.fst.hints b/tests/bug-reports/Bug2058.fst.hints index 2b757fc7dc1..d08e0dcacfc 100644 --- a/tests/bug-reports/Bug2058.fst.hints +++ b/tests/bug-reports/Bug2058.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e936049722e093c790c5e41dd6a6ff02" + "ea87fd63a951469b45b9bda611332f1b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2066.fst.hints b/tests/bug-reports/Bug2066.fst.hints index 699b61f0499..854222afe9b 100644 --- a/tests/bug-reports/Bug2066.fst.hints +++ b/tests/bug-reports/Bug2066.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5d4585a1bd214c0b8930fcc4a8e5257f" + "413b00d04492845ae930c63273c72863" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2081.fst b/tests/bug-reports/Bug2081.fst index 962fdf7f55b..2107337a90e 100644 --- a/tests/bug-reports/Bug2081.fst +++ b/tests/bug-reports/Bug2081.fst @@ -1,6 +1,6 @@ module Bug2081 -open FStar.Tactics +open FStar.Tactics.V2 let pp_test () : Tac unit = trefl() diff --git a/tests/bug-reports/Bug2081.fst.hints b/tests/bug-reports/Bug2081.fst.hints index 2c63624c204..953f397bb37 100644 --- a/tests/bug-reports/Bug2081.fst.hints +++ b/tests/bug-reports/Bug2081.fst.hints @@ -1 +1 @@ -[ "´JCÂó“os¸\u001cìÿ˜X\u0013", [] ] \ No newline at end of file +[ "Áu\u007fÆHÆ~ëyM+§¥õ*·", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2106.fst.hints b/tests/bug-reports/Bug2106.fst.hints index 8784db46677..1c0821ebb8a 100644 --- a/tests/bug-reports/Bug2106.fst.hints +++ b/tests/bug-reports/Bug2106.fst.hints @@ -19,7 +19,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d24380329e81e8f6a1533bfe20f2a78c" + "ffa8c544d23f661ede4aa90b051add70" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2125b.fst b/tests/bug-reports/Bug2125b.fst index ac27f803ab0..eb5ce9a5031 100644 --- a/tests/bug-reports/Bug2125b.fst +++ b/tests/bug-reports/Bug2125b.fst @@ -1,7 +1,7 @@ module Bug2125b open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Calc open FStar.FunctionalExtensionality diff --git a/tests/bug-reports/Bug2125b.fst.hints b/tests/bug-reports/Bug2125b.fst.hints index 0c66871abb1..d55440c14cd 100644 --- a/tests/bug-reports/Bug2125b.fst.hints +++ b/tests/bug-reports/Bug2125b.fst.hints @@ -1,5 +1,5 @@ [ - "\u0006ñ«ø[J:¿¼„÷÷Â(\u001a\u001d", + "jÐ3[lEÍJM_ö\u0003ú¯\u0017×", [ [ "Bug2125b.pmap", @@ -22,7 +22,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "13424ad3100f5b3462da8cd149ef1ad9" + "eac2fb6fbaa1e96bda75411ae1d0e349" ], [ "Bug2125b.conjmapl", @@ -54,7 +54,7 @@ "typing_Bug2125b.conjmapl" ], 0, - "9b943a8807943c412d5a8ee0f93bb04b" + "1736af5c5a0de52200283f7908a0bf84" ], [ "Bug2125b.myflatten", @@ -76,7 +76,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a" ], 0, - "fa4d6f352242d669a7872bbe3044d2f8" + "5e4833a4a0bcb4ca158195204c5c9404" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug213.fst.hints b/tests/bug-reports/Bug213.fst.hints index da2898f2520..77a4d75b509 100644 --- a/tests/bug-reports/Bug213.fst.hints +++ b/tests/bug-reports/Bug213.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug213.ExIntro_" ], 0, - "75db9eac4b63ea9fbd0b03123ba94497" + "23898e11df324f86b8ce3eb295f69087" ], [ "Bug213.__proj__ExIntro'__item__x", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug213.ExIntro_" ], 0, - "edc3eb63d3b0b295419d8677fdc66e1b" + "239b96c95c1d555099f8efae7a4df4f0" ], [ "Bug213.__proj__ExIntro'__item___3", @@ -26,7 +26,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug213.ExIntro_" ], 0, - "e2496095861043edacabe27d3bc79f12" + "a67939357e655d3dc69a2055566a27bd" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2132.fst b/tests/bug-reports/Bug2132.fst index a9cbc1f299a..8b4445acea4 100644 --- a/tests/bug-reports/Bug2132.fst +++ b/tests/bug-reports/Bug2132.fst @@ -1,7 +1,7 @@ module Bug2132 -module T = FStar.Tactics -open FStar.Tactics +module T = FStar.Tactics.V2 +open FStar.Tactics.V2 open FStar.Universe (* t1 and t2 generalized at any type, so this diff --git a/tests/bug-reports/Bug2132.fst.hints b/tests/bug-reports/Bug2132.fst.hints index 4343e6b226f..d6d6ba11bcf 100644 --- a/tests/bug-reports/Bug2132.fst.hints +++ b/tests/bug-reports/Bug2132.fst.hints @@ -1 +1 @@ -[ "Š¤¡N\u0018]Ù¸ù\u0014fÆA ", [] ] \ No newline at end of file +[ "£Dü2 iuÊ÷–Â.\u007fºUG", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2138.fst b/tests/bug-reports/Bug2138.fst index dc4dbce1bc5..94a9bc15679 100644 --- a/tests/bug-reports/Bug2138.fst +++ b/tests/bug-reports/Bug2138.fst @@ -1,6 +1,6 @@ module Bug2138 -open FStar.Tactics +open FStar.Tactics.V2 type t1 = { x : bool; diff --git a/tests/bug-reports/Bug2138.fst.hints b/tests/bug-reports/Bug2138.fst.hints index 28b94f839b4..420c88f0865 100644 --- a/tests/bug-reports/Bug2138.fst.hints +++ b/tests/bug-reports/Bug2138.fst.hints @@ -1,5 +1,5 @@ [ - "#\u0006;“ã55\u001e—ÙƒÕ¢Ð\u001e\u001e", + "Ã\td\u0002ÕÓEg€J ƒb\u001co¶", [ [ "Bug2138.x", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Bug2138.t1__uu___haseq" ], 0, - "1ce999c35871178262294433e9e3ef1f" + "e3e8681daaae2c547d64f6bdcb55e460" ], [ "Bug2138.y", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Bug2138.t1__uu___haseq" ], 0, - "fadf34be1f55662e3fbebeae03ccc9b9" + "f74abee7a9813a663efbe568777219fc" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2155.fst b/tests/bug-reports/Bug2155.fst index 1c16a17d34c..5659e39978e 100644 --- a/tests/bug-reports/Bug2155.fst +++ b/tests/bug-reports/Bug2155.fst @@ -1,6 +1,6 @@ module Bug2155 -open FStar.Tactics +open FStar.Tactics.V2 let f (x:int) = [normalize_term x; x] diff --git a/tests/bug-reports/Bug2169.fst b/tests/bug-reports/Bug2169.fst index 3097ec4637f..e391fcc3006 100644 --- a/tests/bug-reports/Bug2169.fst +++ b/tests/bug-reports/Bug2169.fst @@ -1,9 +1,9 @@ module Bug2169 open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 open FStar.FunctionalExtensionality -module T = FStar.Tactics +module T = FStar.Tactics.V2 open FStar.Monotonic.Pure diff --git a/tests/bug-reports/Bug2169.fst.hints b/tests/bug-reports/Bug2169.fst.hints index ac405c6c589..974ad0e51f7 100644 --- a/tests/bug-reports/Bug2169.fst.hints +++ b/tests/bug-reports/Bug2169.fst.hints @@ -1,5 +1,5 @@ [ - "çÖÀØS]ºýŸh\"ô“½ª\u001e", + "aÛjªhj\bzuþÿ\tÃâa\u0019", [ [ "Bug2169.elim_pure", @@ -18,7 +18,7 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "3710ccc9d028d6bfd2d2426255b2d0b6" + "729a96cc0695934c2e97e4fb2cd3b403" ], [ "Bug2169.w_return", @@ -27,7 +27,7 @@ 1, [ "@query" ], 0, - "0271dc88cf93a7a4a4b1dd32ffdbe501" + "3cf9650ddb3d0408c16fef633db46411" ], [ "Bug2169.w_bind", @@ -46,7 +46,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "4fe721fbca2022788c14a174c3124e52" + "02d273a09841ca5a1914bd1fde1a9426" ], [ "Bug2169.interp", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "707197f5c886056f1370ad8e12c115d9" + "1b2edf56ea43de6c83dd2159cd23b9bf" ], [ "Bug2169.concatlemma", @@ -85,7 +85,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "0344ae604b9fa0b86ac9ccb00ad267fe" + "e58aa5ed13bca47f28a6129015bf46ac" ], [ "Bug2169.concatmaplemma", @@ -119,7 +119,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.concatMap" ], 0, - "be906bd587713b32637f8920d4eb10b1" + "826869a965f98def6f45ffb82de8715b" ], [ "Bug2169.ireturn", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad8b2f2e604cef17d5d73e603573501a" + "2dba119482ca82f5df20c856ec970156" ], [ "Bug2169.pmap", @@ -163,7 +163,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "e063a428f0ed8fbd49c993f1b7c40f76" + "331a26f2f8c22f10ec73a66093fafd52" ], [ "Bug2169.unref", @@ -190,7 +190,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d51bcaea644ec9e2a0696420cceb1673" + "8a8f881236cc9f90ad99f2d86ddf37a3" ], [ "Bug2169.append_memP", @@ -220,7 +220,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "6625bf6e2ac404132d3eb55446d8eb12" + "bd1fd69d44c3d2c5b467d59b0663bd6a" ], [ "Bug2169.flatten_mem_lem", @@ -250,7 +250,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.flatten" ], 0, - "6f9fb8c009b8e191a7235228be56ab6d" + "1f1851255593f5a8686d328c9a90570d" ], [ "Bug2169.ibind", @@ -295,7 +295,7 @@ "typing_Tm_abs_f06c07b0623cf55f164054a4905d51bf" ], 0, - "46285a8e722c5763389983d6d4fa19b4" + "6824888c1be0c98b585973fceca9e6b0" ], [ "Bug2169.isubcomp", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "ef0981459596a5da7058b64f8302797b" + "cf63e60e89df139defce75ebcee58d8c" ], [ "Bug2169.wp_if_then_else", @@ -320,7 +320,7 @@ 1, [ "@query", "equation_Bug2169.w" ], 0, - "40ab3a547cbb329587098a6cc208e204" + "9afeb4ad4e0421c5a57ab806e66f30d5" ], [ "Bug2169.ND", @@ -329,7 +329,7 @@ 1, [ "@query" ], 0, - "e3f4661bcce02ca288dca4f98693c08c" + "baf0461f76782af9c1bf8f74a09ed687" ], [ "Bug2169.ND", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "23f999809e1a8024b128e3b80e4b8f99" + "3065583a77a5c0330c75825cc4ff377a" ], [ "Bug2169.ND", @@ -359,7 +359,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "682a9a5993e9f8144d38727d2f98c1ef" + "1d9e9b5f0da60140f8216da0fdcd5dd9" ], [ "Bug2169.lift_pure_nd", @@ -380,16 +380,16 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6c7b061e91b955868b020746cb812706" + "adeccb07e838fbb3623b715e54e5615a" ], [ - "Bug2169.17589", + "Bug2169.46466", 1, 2, 1, [ "@query" ], 0, - "b308e9d7446ed4f200f544a035283255" + "ef7e5cb51e42bdec5314028ff139bf7d" ], [ "Bug2169.wrap", @@ -416,7 +416,7 @@ "token_correspondence_Bug2169.wp_if_then_else", "true_interp" ], 0, - "7f83cae8c941479e72341c20a900a3e0" + "a1feae176743e5afbbc1d3576bc0e390" ], [ "Bug2169.f", @@ -425,7 +425,7 @@ 1, [ "@query" ], 0, - "fefda011c97eb90566fc23b4d0ef67e7" + "7935a77e292213cfdb75d308d3b0fd97" ], [ "Bug2169.rewrite_inside_reify", @@ -434,7 +434,7 @@ 1, [ "@query", "true_interp" ], 0, - "ec9631c281caa9395a3413827523740c" + "f2d062f6960a271be19939ff3c518698" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2169b.fst b/tests/bug-reports/Bug2169b.fst index c97146d7a62..df7540ce9fb 100644 --- a/tests/bug-reports/Bug2169b.fst +++ b/tests/bug-reports/Bug2169b.fst @@ -1,7 +1,7 @@ module Bug2169b open FStar.FunctionalExtensionality -module T = FStar.Tactics +module T = FStar.Tactics.V2 open FStar.Monotonic.Pure @@ -97,7 +97,7 @@ let rewrite_inside_reify (f : int -> ND unit (as_pure_wp(fun p -> True))) (x' : | 0 -> let ll = reify (f x) (fun _ -> True) in assert (ll == ll) by begin - let beq = T.nth_binder 5 in + let beq = T.nth_var 5 in T.rewrite beq; () end diff --git a/tests/bug-reports/Bug2169b.fst.hints b/tests/bug-reports/Bug2169b.fst.hints index d44c6a97f60..0cc0b420d4f 100644 --- a/tests/bug-reports/Bug2169b.fst.hints +++ b/tests/bug-reports/Bug2169b.fst.hints @@ -1,5 +1,5 @@ [ - "\u001b¥°À\u000b1É‚C”¨âø¡‹™", + "‚ÍÀd÷ß\u000bLn¶ljr®ù", [ [ "Bug2169b.elim_pure", @@ -18,7 +18,7 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "63eb2b96bba8d1e48a4b53b746ac9a8c" + "5a5c6aa8fe7dbdc38701419445a940fa" ], [ "Bug2169b.w_return", @@ -27,7 +27,7 @@ 1, [ "@query" ], 0, - "83b971bda6929e7ea748df999dc2db61" + "bf03f6eca5d6731dfa5f9cf52ee2af73" ], [ "Bug2169b.w_bind", @@ -46,7 +46,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "80a8513048934b82f68ba6012349f063" + "cf8927f46bf36edcf7248725e264c7f6" ], [ "Bug2169b.interp", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "5808cf10f7cdb22fb7c7c491ae883db4" + "3a241f54e5b8c387142d3e239bd2db84" ], [ "Bug2169b.ireturn", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "76c85cf228d49f695cd19b00eac18a46" + "f6dc7f2d8bcd063c6b86f81996e32f6f" ], [ "Bug2169b.ibind", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_348dae5fb8d87ae43a5369c1a8da597a" ], 0, - "0db0fba73db4443959ef733d1261604a" + "23033b90a493853adc2fb26fffa381aa" ], [ "Bug2169b.isubcomp", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "41f261fa54e6f5caf49cc70d0c100510" + "d58bc0624ec48742c75c4dcb71a7647e" ], [ "Bug2169b.wp_if_then_else", @@ -105,7 +105,7 @@ 1, [ "@query", "equation_Bug2169b.w" ], 0, - "9004b10187db3d4d3a5acf11401f2c9a" + "bc2f2f08dc52ea2f7af75109eb0c4c3b" ], [ "Bug2169b.ND", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "03d103e0d17c9918c13687593da92cb5" + "83226330b1348f913f6499b66766da00" ], [ "Bug2169b.ND", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3565af5e16ef9e383bb56ea66dd9bb37" + "e44c667dcbec6102d4c03db6c0aebb57" ], [ "Bug2169b.ND", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "e973d1a93a2119f216d9e511f8633a1d" + "3e5f1b5ef5703cf922614c540882c8fc" ], [ "Bug2169b.lift_pure_nd", @@ -156,16 +156,16 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d6b9d489a64f542a3ec4613204e3f019" + "1adf68c678a6718421b324608b1270f7" ], [ - "Bug2169b.7266", + "Bug2169b.14826", 1, 2, 1, [ "@query" ], 0, - "76b107d0b797d53c0ab988e1bd2f2045" + "76b27cc4730c1717f44d424da859bfa3" ], [ "Bug2169b.box", @@ -174,7 +174,7 @@ 1, [ "@query" ], 0, - "44fc6a68b4f2c957fa1b6ae6b9852f37" + "600dbae3972e00fa2e9cfcbff4f5572c" ], [ "Bug2169b.rewrite_inside_reify", @@ -183,7 +183,7 @@ 1, [ "@query", "equation_Bug2169b.w_ord", "true_interp" ], 0, - "cdfb934578642271b7c736baabebe84a" + "6b0c5c5b88c486f049649ce3f179bf6e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2184.fst.hints b/tests/bug-reports/Bug2184.fst.hints index 287be30b279..409646e50af 100644 --- a/tests/bug-reports/Bug2184.fst.hints +++ b/tests/bug-reports/Bug2184.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f6dd87ea360114ec1596c0358f9c81f1" ], 0, - "2b5bd0f1cb2028c05be9c4bf3611a881" + "fe032a029a2b5dd9fda36f75feb60243" ], [ "Bug2184.test_alt", @@ -20,7 +20,7 @@ 1, [ "@query", "equation_Bug2184.ty" ], 0, - "9684a14b46063d435c932481215acd1c" + "ea094c75facd807a934e8ee205d9c1f2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2189.fst b/tests/bug-reports/Bug2189.fst index ebb54c5fb03..150a303f3e9 100644 --- a/tests/bug-reports/Bug2189.fst +++ b/tests/bug-reports/Bug2189.fst @@ -2,7 +2,7 @@ module Bug2189 module L = FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 [@@ strict_on_arguments [1]] diff --git a/tests/bug-reports/Bug2189.fst.hints b/tests/bug-reports/Bug2189.fst.hints index 7f33688f5a1..add9ffdd0b8 100644 --- a/tests/bug-reports/Bug2189.fst.hints +++ b/tests/bug-reports/Bug2189.fst.hints @@ -1,5 +1,5 @@ [ - "UT%e*”ó±cy…a\u000e\u0014pÊ", + "ž‚K°\u0000*U.è\u001càŸxD¸“", [ [ "Bug2189.x", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11f4713688b5f9fff581b48344339e11" + "bce740e7752fceeb8d7970ea6a1fd9d1" ], [ "Bug2189.y", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "38ecee1ba4f7b0fa95f5b3b0587402ed" + "66d884df0935406927d33994ba69b17f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2210.fst.hints b/tests/bug-reports/Bug2210.fst.hints index f2c26e3f7a6..a41ca942df9 100644 --- a/tests/bug-reports/Bug2210.fst.hints +++ b/tests/bug-reports/Bug2210.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "8d303be02344dbb458021bcbf8488358" + "16f8e6940a0878a72974120a0ca12199" ], [ "Bug2210.f2", @@ -31,7 +31,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "c075e38560e8a3889a675ccbc15d3f0b" + "7fd9a70271bfa83a77b212e4e59a4e7e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2229.fst b/tests/bug-reports/Bug2229.fst index 294be9b558a..67cca5b3a01 100644 --- a/tests/bug-reports/Bug2229.fst +++ b/tests/bug-reports/Bug2229.fst @@ -1,6 +1,6 @@ module Bug2229 -open FStar.Tactics +open FStar.Tactics.V2 (* A helper function to rewrite things *) let rw (t:term): Tac unit = diff --git a/tests/bug-reports/Bug2229.fst.hints b/tests/bug-reports/Bug2229.fst.hints index fce4fb5bd23..9aa57b852e2 100644 --- a/tests/bug-reports/Bug2229.fst.hints +++ b/tests/bug-reports/Bug2229.fst.hints @@ -1,5 +1,5 @@ [ - "åR¦Œì-õƒ÷ýloŒH…¹", + "ƒÀ²\u0000´®¦áÅ°OU\u0006Ï,", [ [ "Bug2229.test_ghost", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "7ab698d0b99303db0db176511766f91e" + "8358c00f96ba9fd878952d71172224f8" ], [ "Bug2229.test_pure_gtot", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "1cd3e5b23d54529f2ab8ee20c93fd063" + "d89230b4afac3db73dee58f8cc5bb8f0" ], [ "Bug2229.test_pure", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "925eb35643f2e6cbc06748025d40fedf" + "78287d0fe3dc8dfba23a190330218b06" ], [ "Bug2229.test_gtot_pure", @@ -35,7 +35,7 @@ 1, [ "@query", "true_interp" ], 0, - "e7152223366242b6cf7ed67360b54911" + "f39accba1f60a2462a3a76bc4d8677eb" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2257.fst b/tests/bug-reports/Bug2257.fst index c5c562efcbc..4bb0c9feb1f 100644 --- a/tests/bug-reports/Bug2257.fst +++ b/tests/bug-reports/Bug2257.fst @@ -1,6 +1,6 @@ module Bug2257 -open FStar.Tactics +open FStar.Tactics.V2 let match_sigelt (n: name) = let se = lookup_typ (top_env ()) n in diff --git a/tests/bug-reports/Bug2257.fst.hints b/tests/bug-reports/Bug2257.fst.hints index 17281f222b3..c96cb3a5a8d 100644 --- a/tests/bug-reports/Bug2257.fst.hints +++ b/tests/bug-reports/Bug2257.fst.hints @@ -1,5 +1,5 @@ [ - " ,=\u0006sGLa.\b§‹À^úŠ", + "3FÈÆÈíÇDÊFÓ¥¢\u0005íþ", [ [ "Bug2257.match_sigelt", @@ -21,10 +21,10 @@ "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "typing_FStar.Reflection.Builtins.lookup_typ" + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "66015e34ecf13430e9959d43b721bbd2" + "844d7f01811af61d7134d9251e856ed4" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2269.fst b/tests/bug-reports/Bug2269.fst index e1577cdb99c..ef3e8f20247 100644 --- a/tests/bug-reports/Bug2269.fst +++ b/tests/bug-reports/Bug2269.fst @@ -1,6 +1,6 @@ module Bug2269 -open FStar.Tactics +open FStar.Tactics.V2 let a: string = _ by (let dtup = (|1, 4|) = (|1, 4|) in // does not reduce diff --git a/tests/bug-reports/Bug2269.fst.hints b/tests/bug-reports/Bug2269.fst.hints index 7b959b48ae3..58a7c92f728 100644 --- a/tests/bug-reports/Bug2269.fst.hints +++ b/tests/bug-reports/Bug2269.fst.hints @@ -1,5 +1,5 @@ [ - "LM(€â±\u0017ÄȘÄ⺠¸“", + "z\\:ð'ù7=»©ó|Ç\u0019'\u007f", [ [ "Bug2269.a", @@ -20,7 +20,7 @@ "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "fc86bff8b8a551913981509bdaf6521c" + "b9da30e71dc99b9a3e2c7966a23893e0" ], [ "Bug2269.a", @@ -41,7 +41,7 @@ "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "fc86bff8b8a551913981509bdaf6521c" + "b9da30e71dc99b9a3e2c7966a23893e0" ], [ "Bug2269.uu___8", @@ -50,7 +50,7 @@ 1, [ "@query", "equation_Bug2269.a" ], 0, - "1cedbaf3eb49bbf26d40af9984eec954" + "7dc5c3e589df36c7ba78edd4e0cd2993" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2352.fst.hints b/tests/bug-reports/Bug2352.fst.hints index 043a1717f57..231d63800e5 100644 --- a/tests/bug-reports/Bug2352.fst.hints +++ b/tests/bug-reports/Bug2352.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "85853f6a7f6eaa98a2b9806c149753a4" + "aa70ec353e471eca32996a0d6caa981c" ], [ "Bug2352.test_ok", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cbc27ee05b94cb05e626473e3cbd5e2f" + "4fee62a32a25b252abad23230de9b989" ], [ "Bug2352.test_also_fails", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f0d00d1cc6b3d7530645ad4820221230" + "57015876f0f28698b1f1589e8c50f918" ], [ "Bug2352.test_also_ok", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "3cd8176c16000b3422b3456e54abcbe2" + "f6854283d932e74dd50672cfe9a6b8b2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2366.fst.hints b/tests/bug-reports/Bug2366.fst.hints index a2fee088233..c0a79b5d366 100644 --- a/tests/bug-reports/Bug2366.fst.hints +++ b/tests/bug-reports/Bug2366.fst.hints @@ -11,7 +11,7 @@ "haseqTm_refine_96178360a1a2bb97babc7caea3c61d1c" ], 0, - "48231711b71c9a54e8ab0669b4479610" + "bc58207dbab961412e5594448e22ee5d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2374.fst.hints b/tests/bug-reports/Bug2374.fst.hints index d1298bc1f79..61d0b616c32 100644 --- a/tests/bug-reports/Bug2374.fst.hints +++ b/tests/bug-reports/Bug2374.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug2374.Mkr1_a" ], 0, - "3625504e7b3206cb5030f91f8886c734" + "8c77aa94664cfde54e9570578a403a98" ], [ "Bug2374.test_refine_1_fix", @@ -23,7 +23,7 @@ "projection_inverse_Bug2374.Mkr1_a" ], 0, - "8f60a31c14836032bf60eab882594e36" + "68227b30da092091a3cb028dbf86abb0" ], [ "Bug2374.test_refine_1'", @@ -35,7 +35,7 @@ "projection_inverse_Bug2374.Mkr1_a" ], 0, - "5f16bbb687f8130a9f1c96a7e4cd31e0" + "d819fdf682a96095fda1721bc7e4f82a" ], [ "Bug2374.test_refine_1''", @@ -47,7 +47,7 @@ "projection_inverse_Bug2374.Mkr1_a" ], 0, - "b9abc0b8ad88f2df035231bc3c400044" + "d0caca7bed99a6c3ae36939d827dc18b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug237b.fst.hints b/tests/bug-reports/Bug237b.fst.hints index a29af36e98a..1fd760304b5 100644 --- a/tests/bug-reports/Bug237b.fst.hints +++ b/tests/bug-reports/Bug237b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "af827f60c5cec85d937bb0f3b5d5ac61" + "a13a9a87807fee3102e1aec25f869168" ], [ "Bug237b.__proj__KKArr__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5c691036dc4779e118afb73673a21bac" ], 0, - "deb2c2838ae7df029ed55cad5a9f6723" + "f24c0dceb1e953090517f3b8252aba4f" ], [ "Bug237b.kinding", @@ -34,7 +34,7 @@ "data_typing_intro_Bug237b.KKArr@tok" ], 0, - "49bfc5dfbe8c40ff07730e63d4c1bf1a" + "abfcdb7bb2fd3859b15abac238d2b968" ], [ "Bug237b.__proj__KTApp__item__k'", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_ab9267cf714b6e732ad5733047d371de" ], 0, - "fe046caaaa240abad1a5f3d5819060b2" + "32dff58da3607ff7e1ef83da8a37bcac" ], [ "Bug237b.__proj__KTApp__item__hk1", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_ab9267cf714b6e732ad5733047d371de" ], 0, - "0a71b0609c3c14de3a9025092a679292" + "3e5151b176c1f6ed2f9ffaf7f241b286" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug238.fst.hints b/tests/bug-reports/Bug238.fst.hints index 96ce949c00b..cce77739af2 100644 --- a/tests/bug-reports/Bug238.fst.hints +++ b/tests/bug-reports/Bug238.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Prims.l_False", "false_interp" ], 0, - "09ce30c9886c44c23b324a4083459379" + "7f310ef960709ded7a2aa85ddeec1642" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2398.fst.hints b/tests/bug-reports/Bug2398.fst.hints index 0949afd2034..e0d7131469f 100644 --- a/tests/bug-reports/Bug2398.fst.hints +++ b/tests/bug-reports/Bug2398.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "887f86fa950e327d10c28b02588bdff2" + "4076157165d2a782dedfb49dae03898f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2412.fst.hints b/tests/bug-reports/Bug2412.fst.hints index 1b3742ed0e9..4f1a3d6e7f2 100644 --- a/tests/bug-reports/Bug2412.fst.hints +++ b/tests/bug-reports/Bug2412.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6cf12d463241c1e83f37fb15b4e853ed" + "879cbf23b4ad65e053c42f37c4b866af" ], [ "Bug2412.test", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7b7cf0865c5a8a881cef5340593cf3c2" + "785a2638061d4278f6d3a3bd1009f540" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2414.fst.hints b/tests/bug-reports/Bug2414.fst.hints index 877794246e9..554f2c11d17 100644 --- a/tests/bug-reports/Bug2414.fst.hints +++ b/tests/bug-reports/Bug2414.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "25c3df0ce1c76c6d6fac2cfea49fc3a4" + "549844cdf744110b8e30b333193b3df3" ], [ "Bug2414.sorted", @@ -37,7 +37,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "64786c6d80ece12b70c9b9e1f4f38dac" + "00759f1863cf1977a29c4e3fca46f0a6" ], [ "Bug2414.mem", @@ -53,7 +53,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ce2b9e4f7256b01530930e303fca3b6f" + "6659e68fdc701b36924c07ee4e15afb4" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2415.fst b/tests/bug-reports/Bug2415.fst new file mode 100644 index 00000000000..bc27b6b37fa --- /dev/null +++ b/tests/bug-reports/Bug2415.fst @@ -0,0 +1,32 @@ +module Bug2415 + +let sign = (z:int{z = 0 \/ z = (-1) \/ z = 1}) + +let example_1 (s:sign) : string = + match s with + | -1 -> "negative" + | 1 -> "positive" + | 0 -> "zero" + | -2 -> assert False; "" + +open FStar.Int32 +open FStar.Int8 +open FStar.UInt32 +open FStar.UInt8 + +type i8 = FStar.Int8.t +type i32 = FStar.Int32.t +type u8 = FStar.UInt8.t +type u32 = FStar.UInt32.t + +let test1 (n:i32) = + match n with + | -1l -> assert (Int32.v n == -1) + | 1l -> assert (Int32.v n == 1) + | _ -> () + +[@@ expect_failure [114]] // type of pattern (Int32.t) does not match the type of scrutinee (Int8.t) +let test2 (n:i8) = + match n with + | -0l -> () + | _ -> () diff --git a/tests/bug-reports/Bug2432.fst.hints b/tests/bug-reports/Bug2432.fst.hints index 6e92601f91c..26dbf326f5f 100644 --- a/tests/bug-reports/Bug2432.fst.hints +++ b/tests/bug-reports/Bug2432.fst.hints @@ -11,7 +11,7 @@ "haseqTm_refine_c1bfd9ed3fe74329fd0e180ecadddd1e" ], 0, - "a9efa46a3257626a3ecf1d7bbb6b9983" + "15aa2719910d5112b0e4af960be9d866" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2456.fst.hints b/tests/bug-reports/Bug2456.fst.hints index dfe70a0b561..40e59685dc8 100644 --- a/tests/bug-reports/Bug2456.fst.hints +++ b/tests/bug-reports/Bug2456.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5a4fe1e4306ea0e0fba72007068a9c2b" + "176cef8e788dd27d90913705458e53dd" ], [ "Bug2456.set", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e789580345c6f41310e75ec7c0190d96" + "981142f3b7fcd1e7deafb135d7cb60e6" ], [ "Bug2456.__proj__Next__item__n", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_822dd331fa64309a1c846e3918fab2f2" ], 0, - "61646b227829bbc1f6827682e88d7963" + "27870256b8c0c143ef251f6b6530e951" ], [ "Bug2456.__proj__Next__item__hd", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_822dd331fa64309a1c846e3918fab2f2" ], 0, - "cc83e9434462a4bc0b45f7d5c3552b21" + "cf2f013b9eeaa40adeeb175fc3467128" ], [ "Bug2456.__proj__Next__item__tl", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_822dd331fa64309a1c846e3918fab2f2" ], 0, - "8b60a2217317953158062467f9cc697c" + "f72a35ffb914e7d7e60a99d4f6101af2" ], [ "Bug2456.contains", @@ -83,7 +83,7 @@ "well-founded-ordering-on-nat" ], 0, - "4d17ac4750893120c617185759bc2487" + "d25139adee0782c7bcd1ce2c954b5542" ], [ "Bug2456.containsWorks2", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "541a29079a24f413d3fa2028bb496e0a" + "b6450ccbb67979a8ffebe0d516fbad14" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2471_A.fst b/tests/bug-reports/Bug2471_A.fst index f08d5f7344a..bf48d394327 100644 --- a/tests/bug-reports/Bug2471_A.fst +++ b/tests/bug-reports/Bug2471_A.fst @@ -1,7 +1,7 @@ module Bug2471_A open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics (* Using V1 *) let id_tac (x:'a): Tac 'a = x let implicit1 (): Tac term = Tv_FVar (pack_fv (id_tac ["a"])) diff --git a/tests/bug-reports/Bug2471_B.fst b/tests/bug-reports/Bug2471_B.fst index 72d3291c041..1417a829f34 100644 --- a/tests/bug-reports/Bug2471_B.fst +++ b/tests/bug-reports/Bug2471_B.fst @@ -1,12 +1,14 @@ module Bug2471_B -open Bug2471_A -open FStar.Tactics +(* Temporarilly disabled *) -let _ = run_tactic (fun _ -> let _ = implicit1 () in ()) -let _ = run_tactic (fun _ -> let _ = implicit2 () in ()) +(* open Bug2471_A *) +(* open FStar.Tactics *) -let _ = run_tactic (fun _ -> let _ = implicit3 () in ()) -let _ = run_tactic (fun _ -> let _ = implicit4 () in ()) -let _ = run_tactic (fun _ -> let _ = explicit1 () in ()) -let _ = run_tactic (fun _ -> let _ = explicit2 () in ()) +(* let _ = run_tactic (fun _ -> let _ = implicit1 () in ()) *) +(* let _ = run_tactic (fun _ -> let _ = implicit2 () in ()) *) + +(* let _ = run_tactic (fun _ -> let _ = implicit3 () in ()) *) +(* let _ = run_tactic (fun _ -> let _ = implicit4 () in ()) *) +(* let _ = run_tactic (fun _ -> let _ = explicit1 () in ()) *) +(* let _ = run_tactic (fun _ -> let _ = explicit2 () in ()) *) diff --git a/tests/bug-reports/Bug2471_B.fst.hints b/tests/bug-reports/Bug2471_B.fst.hints index 15bb5a3d140..0e2c3735fd6 100644 --- a/tests/bug-reports/Bug2471_B.fst.hints +++ b/tests/bug-reports/Bug2471_B.fst.hints @@ -1 +1 @@ -[ "Æ\f\u007f³•èH‚ôÙˆj<œ§¥", [] ] \ No newline at end of file +[ "oÃ\u001a$ \u0001÷6\u0012\u0004šÙ_ÈÕ", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2475.fst b/tests/bug-reports/Bug2475.fst index 2a487a85f0d..29fd253158e 100644 --- a/tests/bug-reports/Bug2475.fst +++ b/tests/bug-reports/Bug2475.fst @@ -1,6 +1,6 @@ module Bug2475 -open FStar.Tactics +open FStar.Tactics.V2 // Some dumb function and dumb lemmas let f_inv_unsquash (#a:Type0) (f:(a -> a)) = ((forall (x:a). f (f x) == x)) diff --git a/tests/bug-reports/Bug2475.fst.hints b/tests/bug-reports/Bug2475.fst.hints index 9da799b35d3..ee53cf1d284 100644 --- a/tests/bug-reports/Bug2475.fst.hints +++ b/tests/bug-reports/Bug2475.fst.hints @@ -1,5 +1,5 @@ [ - "\u001b¹Û8ï1Gh‹‡‡€e\n„", + "öè\u0006sfZ_àvúU\u0003 úŠQ", [ [ "Bug2475.tuple2_ind", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_589ee561fb7ab2450268914c9d04d0e3" ], 0, - "0b7390571e0623c64c96b0e224fb2242" + "39d6141aeeaf7d8222fe4dc9933a595f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2477.fst b/tests/bug-reports/Bug2477.fst index 842043c8937..7adf712a143 100644 --- a/tests/bug-reports/Bug2477.fst +++ b/tests/bug-reports/Bug2477.fst @@ -1,6 +1,6 @@ module Bug2477 -open FStar.Reflection +open FStar.Reflection.V2 val my_mktuple2: #a:Type -> #b:Type -> a -> b -> tuple2 a b let my_mktuple2 #a #b x y = Mktuple2 x y diff --git a/tests/bug-reports/Bug2477.fst.hints b/tests/bug-reports/Bug2477.fst.hints index b182918be37..95a8ed98da3 100644 --- a/tests/bug-reports/Bug2477.fst.hints +++ b/tests/bug-reports/Bug2477.fst.hints @@ -1 +1 @@ -[ "ƒ|¾°>F‰$_\bSuêk\u0010", [] ] \ No newline at end of file +[ "/ÅR]¡º€È³Ò\u000f\bÎ}B”", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2496.fst.hints b/tests/bug-reports/Bug2496.fst.hints index 82f4f72d60d..78731b158c9 100644 --- a/tests/bug-reports/Bug2496.fst.hints +++ b/tests/bug-reports/Bug2496.fst.hints @@ -1,19 +1,6 @@ [ "G\u001e„\u001e]Š\thŒgKF\\\u0013ìv", [ - [ - "Bug2496.has_elements", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "488492435665c9f54e3682ab5b3ff670" - ], [ "Bug2496.intro_set", 1, @@ -21,7 +8,7 @@ 1, [ "@query" ], 0, - "63f99abc912e76346094b44b10951596" + "93c73fbdd3afd33af5b401deb5492afa" ], [ "Bug2496.set_as_list", @@ -33,7 +20,7 @@ "refinement_interpretation_Tm_refine_ea7377a3fd2bd1599ea6567f21fbd5cb" ], 0, - "4279a4ce2a665c1a2cb76ab34d4e899a" + "92dbe567133f77c08c4dc4fefc701fbe" ], [ "Bug2496.empty", @@ -60,7 +47,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "f4e19db165e828289db76ec93fc0fab9" + "db516c35f2537daa1b8af90b0c994347" ], [ "Bug2496.insert", @@ -104,7 +91,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "090c32688b99b63fc32950facf870c5d" + "cef1359eb410b71e95e5160ade9dfd1e" ], [ "Bug2496.singleton_includes_argument_lemma", @@ -133,7 +120,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "7e76be306fb6b528c3ff1f2cee4983f4" + "f6221ff6f6869a7334016b6cace1d180" ], [ "Bug2496.singleton_includes_argument_lemma_bad", @@ -163,7 +150,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "2bf82408856490fb11ea85826f1b2646" + "05b5465e13454c3464282308cde04b34" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug251.fst.hints b/tests/bug-reports/Bug251.fst.hints index dfed3fbe575..1b4dd88c552 100644 --- a/tests/bug-reports/Bug251.fst.hints +++ b/tests/bug-reports/Bug251.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_Bug251.lemma_1" ], 0, - "087e58645e681e9dfd693903586ab423" + "57e1bd4841f069f9247881e2a6af2dd6" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2515.fst b/tests/bug-reports/Bug2515.fst index 397ff096d45..40d1741707d 100755 --- a/tests/bug-reports/Bug2515.fst +++ b/tests/bug-reports/Bug2515.fst @@ -1,9 +1,9 @@ module Bug2515 -open FStar.Tactics +open FStar.Tactics.V2 let match_term (t: term) : Tac term = - match t with + match inspect t with | Tv_App fn' arg -> t | _ -> t diff --git a/tests/bug-reports/Bug2515.fst.hints b/tests/bug-reports/Bug2515.fst.hints index 3c28b99d1a5..5337053bc40 100644 --- a/tests/bug-reports/Bug2515.fst.hints +++ b/tests/bug-reports/Bug2515.fst.hints @@ -1 +1 @@ -[ "Ç•ƒ|ÜS\u0015`cî\t\u0019»5ew", [] ] \ No newline at end of file +[ "6a\\ uu\u0003˜¤/\\S´\u0017Xù", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2535.fst b/tests/bug-reports/Bug2535.fst index 4cb2cad5e4a..ec51363c86e 100644 --- a/tests/bug-reports/Bug2535.fst +++ b/tests/bug-reports/Bug2535.fst @@ -1,6 +1,6 @@ module Bug2535 -open FStar.Tactics +open FStar.Tactics.V2 assume val some_f : unit -> int diff --git a/tests/bug-reports/Bug2535.fst.hints b/tests/bug-reports/Bug2535.fst.hints index 88236205b68..4fedd0ae375 100644 --- a/tests/bug-reports/Bug2535.fst.hints +++ b/tests/bug-reports/Bug2535.fst.hints @@ -1 +1 @@ -[ "PŸÔ\"´rË!ÙCn}\u0014gþ\u0002", [] ] \ No newline at end of file +[ "’pñ|+ù\u001e×@Mªhhd\t\u0006", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug254.fst.hints b/tests/bug-reports/Bug254.fst.hints index dc1790aa507..cb3da906da9 100644 --- a/tests/bug-reports/Bug254.fst.hints +++ b/tests/bug-reports/Bug254.fst.hints @@ -15,7 +15,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a4fbd480cd39f76caea64ffe0689f3c3" + "895e2e9786133424a4689f0582b3a466" ], [ "Bug254.bar", @@ -31,7 +31,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "be826e3be6b296ee586fc1137b51e076" + "5511de997fed08267d4eddc5ce5e6ba4" ], [ "Bug254.bar", @@ -48,7 +48,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "88be9029172e1ed67d28b43302be3a6d" + "e82581113c0d759ac5395a7cbf15c998" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2552.fst.hints b/tests/bug-reports/Bug2552.fst.hints index ea6ffd5a951..e9a64c2538d 100644 --- a/tests/bug-reports/Bug2552.fst.hints +++ b/tests/bug-reports/Bug2552.fst.hints @@ -13,7 +13,7 @@ "typing_Bug2552.p" ], 0, - "db0ba462d47b43183e1a530907ad37af" + "8bad1189efe76ecc6587d5660bcdf09e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2572.fst.hints b/tests/bug-reports/Bug2572.fst.hints index ad588c8d75c..b7136fa151b 100644 --- a/tests/bug-reports/Bug2572.fst.hints +++ b/tests/bug-reports/Bug2572.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ec1f1392b73e49715233845e08ebffd5" + "10940c953a0503b3f39ab4a410759d4f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug258.fst.hints b/tests/bug-reports/Bug258.fst.hints index 32f7c9aee72..bbf548e4aa8 100644 --- a/tests/bug-reports/Bug258.fst.hints +++ b/tests/bug-reports/Bug258.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Bug258.V_clos" ], 0, - "5a2a1bf4438a5ff5a245fd29b03d8681" + "0be53aa9e43f388f6151cd2b453779b1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2595.fst.hints b/tests/bug-reports/Bug2595.fst.hints index efac9a354dc..b3749b70aee 100644 --- a/tests/bug-reports/Bug2595.fst.hints +++ b/tests/bug-reports/Bug2595.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_1377bc4447dd0544ca096ca5b6956580" ], 0, - "0b2ce1d56558a7d5c9011844b0c594be" + "8f0282c4d625345a303f4cdc8877ca16" ], [ "Bug2595.__proj__SumType2__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_8bea42d9b67122899e94431f9b164811" ], 0, - "a1082cdf2086fdbf1f7b1471cd83a66b" + "9a5e4d171fd0f6dc27d6036fca50dd20" ], [ "Bug2595.test_buggy", @@ -36,7 +36,7 @@ "proj_equation_Prims.Mkdtuple2__1" ], 0, - "d4a4b978038e8baeb73d69f592f52beb" + "ad79f64e44c00f7391a5512c2984c8ae" ], [ "Bug2595.__proj__SumType2_1__item___0", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_6b185c6d50d907658f48a9eee7d9629b" ], 0, - "1d56c3974d0e9fc022cbcb4fb5fd2483" + "4a3b40d8a6b74dbf8f0a4a95ac49a71a" ], [ "Bug2595.__proj__SumType2_1__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_6b185c6d50d907658f48a9eee7d9629b" ], 0, - "bbf3457fd69c6e225091a56c6dd11ef2" + "1ddb592e5a2d529b621348af467095c0" ], [ "Bug2595.__proj__SumType2_2__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_0482fd92f084831ce86b139ce8ff39b4" ], 0, - "c7b05e9d5334d3f4accd7dd9cde4b935" + "415bcf137bc96cded30dccf52b2a68bd" ], [ "Bug2595.__proj__SumType2_2__item___1", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_0482fd92f084831ce86b139ce8ff39b4" ], 0, - "b65dce1e4eb756347c1c11ec11259b5a" + "31cc61d33ba62b64d0da456ebe08c0be" ], [ "Bug2595.test_buggy2", @@ -97,7 +97,7 @@ "proj_equation_Prims.Mkdtuple2__1" ], 0, - "d3b769730a8173e6477faf711598857f" + "5a2f0255a73a6f199f79af5800195782" ], [ "Bug2595.test_ok2", @@ -111,7 +111,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "bce0a3d9495157bafe9b69cd27cfed72" + "a5010d041a7cdb5195bb2cfdf40fb99f" ], [ "Bug2595.__proj__T3_1__item___0", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_7b26f42d962c68ee7672f7017528c29f" ], 0, - "8262303cdf812704017ffcf7e5384799" + "5367f88abf5592344626e65001fd669d" ], [ "Bug2595.__proj__T3_1__item___1", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_7b26f42d962c68ee7672f7017528c29f" ], 0, - "2f89243dba8127a06b3ed58dcbad24a7" + "83540c27484ddee9cdacfd6403671bb2" ], [ "Bug2595.__proj__T3_2__item___0", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_88678cae7d23be7f667ac88eb1c18876" ], 0, - "6eb83b33548a6036cc5c29a3e1bc1644" + "9200342544739113e0b7959eb626622b" ], [ "Bug2595.__proj__T3_2__item___1", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_88678cae7d23be7f667ac88eb1c18876" ], 0, - "80566f04557427d786140d2e03bf3185" + "deb81aed3a9320e33e052fea463fe87f" ], [ "Bug2595.test_mixed", @@ -172,7 +172,7 @@ "proj_equation_Prims.Mkdtuple2__1" ], 0, - "2bd9a020a724906ba30c81f209c7324e" + "376a05cc890656c604bd4184f0b4170a" ], [ "Bug2595.ntuple_", @@ -191,7 +191,7 @@ "well-founded-ordering-on-nat" ], 0, - "1ebec483e567b844d9f02065915dd902" + "2633ad86724db2ef8ae696c2baa27cc9" ], [ "Bug2595.rest_", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "adc6680440e006f279cefe46af900044" + "054fce506f8d296d32664c50839159df" ], [ "Bug2595.rest", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_297f0d5fd0dfff2d5b3342ea517a9a07" ], 0, - "2b96c6d3afad8e0cd869870d3eb920ac" + "84232723d62daeddb55a483aa24a670b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2596.fst b/tests/bug-reports/Bug2596.fst index 48ae944c250..2a5b31f7203 100644 --- a/tests/bug-reports/Bug2596.fst +++ b/tests/bug-reports/Bug2596.fst @@ -1,6 +1,6 @@ module Bug2596 -open FStar.Tactics +open FStar.Tactics.V2 assume val p: int -> int -> prop diff --git a/tests/bug-reports/Bug2597.fst b/tests/bug-reports/Bug2597.fst index 2dfa3d60354..b5112a9f52d 100644 --- a/tests/bug-reports/Bug2597.fst +++ b/tests/bug-reports/Bug2597.fst @@ -1,10 +1,10 @@ module Bug2597 -open FStar.Reflection -open FStar.Tactics +open FStar.Reflection.V2 +open FStar.Tactics.V2 let _ = run_tactic (fun () -> let ascribed_return: match_returns_ascription = (fresh_binder (`int), (Inl (`int), None, false)) in - let _ = pack (Tv_Match (`0) (Some ascribed_return) [Pat_Constant (C_Int 0), (`0)]) in + let _ = pack (Tv_Match (`0) (Some ascribed_return) [Pat_Constant {c=C_Int 0}, (`0)]) in () ) diff --git a/tests/bug-reports/Bug2597.fst.hints b/tests/bug-reports/Bug2597.fst.hints index aef82306c76..5756d5dda09 100644 --- a/tests/bug-reports/Bug2597.fst.hints +++ b/tests/bug-reports/Bug2597.fst.hints @@ -1 +1 @@ -[ "Œ\u007fÙ±çbž£CõêãÍ•eÝ", [] ] \ No newline at end of file +[ "§¤\u0014ørºI†\n¢¬\u0010C5zÔ", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug260.fst.hints b/tests/bug-reports/Bug260.fst.hints index cbc52c4ed97..641d15b8f67 100644 --- a/tests/bug-reports/Bug260.fst.hints +++ b/tests/bug-reports/Bug260.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f6f67a5c0d6d2d56b0f8705e9737ca64" + "c3e2167a594f5cce050b8cfbba62cd67" ], [ "Bug260.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_157a25d7c8423b184ee7d22a138c6995" ], 0, - "58ff17b9f6e6171cdd6aa2d0025a5aaf" + "194630a4b6b1dce1b731b7d5bcae999a" ], [ "Bug260.validity", @@ -30,7 +30,7 @@ 1, [ "@query", "assumption_Bug260.pnat__uu___haseq" ], 0, - "edfad458d394ef594f3854511c4ec69c" + "7bcca3242d104f41ce3e0e8dc6688316" ], [ "Bug260.validity'", @@ -39,7 +39,7 @@ 1, [ "@query", "assumption_Bug260.pnat__uu___haseq" ], 0, - "1360ea4b5880284f7cbdfb2c0e175432" + "8a644868d23a51ac73399b1d3d1d5592" ], [ "Bug260.__proj__VSucc'__item___1", @@ -48,7 +48,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug260.VSucc_" ], 0, - "faa39f8bc9e66919378e26ef19c08d78" + "0b838f638bcb165c9baa33716a75a54b" ], [ "Bug260.validity'_empty", @@ -63,7 +63,7 @@ "projection_inverse_Bug260.VSucc__n", "subterm_ordering_Bug260.S" ], 0, - "74c4acd16ac3fa7c5c13da963ccde00d" + "f33dae6828b45445fd1ec78ccb2555c2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2614.fst.hints b/tests/bug-reports/Bug2614.fst.hints index 6dad4e18e5a..d8e245e542d 100644 --- a/tests/bug-reports/Bug2614.fst.hints +++ b/tests/bug-reports/Bug2614.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8819664c3f6397a83b9915b37988caaf" + "d7fc96feb121233adc838b0ee1c5976c" ], [ "Bug2614.test_exists_intro_workaround", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e05216cbbe896b37a57e2e248981779a" + "68a2f471ae2e88f8e4dc07160e76535b" ], [ "Bug2614.test_exists_elim", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_73d5d177cf7f3a8fa42d7f32f957ecd2" ], 0, - "2b7079c05122c88cd287efabeaa853d9" + "96798501ad6c6c541b8f310eabdf43cb" ], [ "Bug2614.test_forall_elim", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_6593cb9b578614a16f8c9151c76a66d5" ], 0, - "7bbc9316aeb82c75d4ff8c45b2863741" + "d62eecb0ddea33cfe6ea3282bf5e4c4f" ], [ "Bug2614.test_forall_elim_workaround", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_6593cb9b578614a16f8c9151c76a66d5" ], 0, - "de8cb8cc0b62b35f18ca961972e784f8" + "59e6db701047fcce808441d1121972be" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2622.fst b/tests/bug-reports/Bug2622.fst index 8f251794393..fb1baeb4b08 100644 --- a/tests/bug-reports/Bug2622.fst +++ b/tests/bug-reports/Bug2622.fst @@ -1,6 +1,6 @@ module Bug2622 -open FStar.Tactics +open FStar.Tactics.V2 type ind : Type u#1 = | A diff --git a/tests/bug-reports/Bug2622.fst.hints b/tests/bug-reports/Bug2622.fst.hints index d2235fc4492..feb68022799 100644 --- a/tests/bug-reports/Bug2622.fst.hints +++ b/tests/bug-reports/Bug2622.fst.hints @@ -1,5 +1,5 @@ [ - "´ð\b^æc}žã€gUaâÓå", + "“r´il\u0018^&qH³Š #}\u001a", [ [ "Bug2622.test0", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "ca698c07aff8f357984604480cdc5c02" + "2979644c289cc039c41e3e1b677565df" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2635.fst b/tests/bug-reports/Bug2635.fst index cfd1d50ebe3..178a11e2199 100644 --- a/tests/bug-reports/Bug2635.fst +++ b/tests/bug-reports/Bug2635.fst @@ -1,5 +1,5 @@ module Bug2635 -open FStar.Tactics +open FStar.Tactics.V2 //Original report by Benjamin Bonneau let prove_False diff --git a/tests/bug-reports/Bug2635.fst.hints b/tests/bug-reports/Bug2635.fst.hints index 80f78b887f0..95374021102 100644 --- a/tests/bug-reports/Bug2635.fst.hints +++ b/tests/bug-reports/Bug2635.fst.hints @@ -1,5 +1,5 @@ [ - ".m™\u001fnZY\u0012À¿Ò.5D6±", + "[ÀΧQÖÝê'æùŽWŸ$ß", [ [ "Bug2635.prove_False", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "0fff58700369b5fe2d97f1209afdf91e" + "c808579ae73fc0aa350aca8acda4239b" ], [ "Bug2635.intro_exists", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d60e4d106c108fc71ac9c5cf8a2d555b" + "641946e8f721673908b6068bad6385de" ], [ "Bug2635.use_pos", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bc1fd76046ada4138a5dc1c986379d2b" + "6c2dd5ea5653d914251f7fcd3880c94e" ], [ "Bug2635.use_pos", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0fd51c78fff464e04a95cf849d8dbca9" + "f6af7b596d9c2e8cf4c25f48e6ac31bb" ], [ "Bug2635.test_lemma", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "67c347f76fabe5006a9c9a301680653d" + "3b385c37ac7c8949cc8df8e516ec96a6" ], [ "Bug2635.test2", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "69fc189e6b3a40bb292e93f5bdc6abd4" + "93e7f3e015130b83a67ec45072b570e2" ], [ "Bug2635.test2", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ce337daa22570accabe7ed2accdd835a" + "ea7fbd5b5cff90fe6c729628e7a9fad3" ], [ "Bug2635.arrow", @@ -106,7 +106,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "689a9efddc06f9f5441fa91cd039f781" + "130fff0f91a002c512e2361a524bab22" ], [ "Bug2635.pi", @@ -115,7 +115,7 @@ 1, [ "@query" ], 0, - "7c8e0eca6bd142a85c2cf69a14ed8649" + "a4dc4166c9ef0248bda1f3c706a21872" ], [ "Bug2635.prove_False0", @@ -127,7 +127,7 @@ "fuel_guarded_inversion_Prims.empty" ], 0, - "1374aed9992daeaeba90d2b3bd07189d" + "1f294513372c6ad365579c8f6bda1ab2" ], [ "Bug2635.prove_False0", @@ -139,7 +139,7 @@ "fuel_guarded_inversion_Prims.empty" ], 0, - "2d7cb387a125519eb65d9621d4da260d" + "2dc663419550d29a63e7420c77a7be88" ], [ "Bug2635.int_false_elim", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "f3acb849fd85ef18b606a384dc94d822" + "d3e5aff1744bba11ebc1bb051e9e55f1" ], [ "Bug2635.absurd_omega2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "7ee31f4450df33c6dece194be7abc97d" + "bcdc6b84553b59f60a86c68e554733c6" ], [ "Bug2635.build_omega2", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "59540b18e53364885a0418f5dfebe00b" + "a40390313ed958a5a0ae6d0c4867afb7" ], [ "Bug2635.prove_False_lemma", @@ -187,7 +187,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "41a14b86817c0c6ea881ecf3520b8803" + "6e83287af52c7d880daebe8dda009cba" ], [ "Bug2635.prove_False_lemma", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "b56d67e8d8253814aa407f54e99cc52a" + "65fd673ab3602e7d7d7931ae9460df52" ], [ "Bug2635.prove_False0_lemma", @@ -211,7 +211,7 @@ "fuel_guarded_inversion_Prims.empty" ], 0, - "85589f44d0d9f16acdaf814f391e3c43" + "65753bdd9e59d5aff552c774d15e2401" ], [ "Bug2635.prove_False0_lemma", @@ -223,7 +223,7 @@ "fuel_guarded_inversion_Prims.empty" ], 0, - "020c387b8c7dd907da192f25778235b6" + "d9b6d49876995a0d61c1eebf445e1d16" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2636.fst b/tests/bug-reports/Bug2636.fst index a3feb810e05..acab9493f7b 100644 --- a/tests/bug-reports/Bug2636.fst +++ b/tests/bug-reports/Bug2636.fst @@ -1,5 +1,5 @@ module Bug2636 -open FStar.Tactics +open FStar.Tactics.V2 type prop_with_pre (p : Type0) (pf : squash p) : Type0 diff --git a/tests/bug-reports/Bug2637.fst.hints b/tests/bug-reports/Bug2637.fst.hints index b44c6ea3db0..266b8767df4 100644 --- a/tests/bug-reports/Bug2637.fst.hints +++ b/tests/bug-reports/Bug2637.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_ff30dfd30b652659f77c50fd186a90c0" ], 0, - "1612c46c03d6b4ddc498f93d8f5b8b91" + "6ed586db88f80ebcfcd00577e44a8ce8" ], [ "Bug2637.__proj__P__item___1", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_ff30dfd30b652659f77c50fd186a90c0" ], 0, - "e05b442aab3c7d4724320cc468c073d4" + "46911f341ceb0faa8a8a36d499fb21df" ], [ "Bug2637.__proj__Q__item__pre", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_7c82371b6868ea121d6179df8a5010ed" ], 0, - "c2a2bafadbe52b6dc46b39738bcab53c" + "29edcc2c0bdd2109a01b76181745373a" ], [ "Bug2637.__proj__Q__item___1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_7c82371b6868ea121d6179df8a5010ed" ], 0, - "1607753c9faf11ad126752ed1960589f" + "4d15cb41c7b4ae54777752e79f8a9325" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug264.fst.hints b/tests/bug-reports/Bug264.fst.hints index 0aa8e698e55..8efa12c2676 100644 --- a/tests/bug-reports/Bug264.fst.hints +++ b/tests/bug-reports/Bug264.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2fe5b5832632db632796e240a22c7f9f" + "885179863fadf3859013b812c23ae8ae" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2641.fst.hints b/tests/bug-reports/Bug2641.fst.hints index 3c50dbbb5ca..c8ef9f78b6d 100644 --- a/tests/bug-reports/Bug2641.fst.hints +++ b/tests/bug-reports/Bug2641.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_8a149f28acd445e9071e6b2e9738d809" ], 0, - "99b8647e09b7d60d30361d810959c070" + "fc91654bb3a5849333ea4a1d97c4d870" ], [ "Bug2641.__proj__PartialCall__item__pre", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_21f1cac5af9b706e04ef678e9bf578f4" ], 0, - "f5be0042fab49590b67a10ad33979cc9" + "b57994a4c4f1087ecc7fb0917eb3cec3" ], [ "Bug2641.__proj__PartialCall__item__cont", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_21f1cac5af9b706e04ef678e9bf578f4" ], 0, - "de87bdbc8ce5f0e0ce7e0e909e6de58d" + "1af83d4049197ea46fe0ed43a8d8182a" ], [ "Bug2641.free_bind", @@ -53,7 +53,7 @@ "well_founded_ordering_on_codomain_Bug2641.PartialCall" ], 0, - "925c0142a2903a426b9b4d191cc36b1f" + "e04a3dee8df56646752a798ee3760a8b" ], [ "Bug2641.hist_return", @@ -65,7 +65,7 @@ "interpretation_Tm_abs_20f46fae85d769677ea03d385fd1212b" ], 0, - "5a5c51dca07ce9a1f632100a3c680354" + "43182f46d49be6317902a1b8356e456b" ], [ "Bug2641.hist_bind", @@ -87,7 +87,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "2d727912bd839d4db1bfd976e5daefbb" + "caa07372e015f9e563bc5fcca999123b" ], [ "Bug2641.wp_lift_pure_hist", @@ -96,7 +96,7 @@ 1, [ "@query", "equation_Prims.pure_wp_monotonic0" ], 0, - "c13602ddda58134faec4a7dc25b705b3" + "a91d5ddd1e8fa0f180e3f2728a42e9d5" ], [ "Bug2641.partial_call_wp", @@ -112,7 +112,7 @@ "unit_typing" ], 0, - "e99520b103576586322cb47f2ab7d77e" + "cb0c242a1e8dcb820e710878c256e9c0" ], [ "Bug2641.theta", @@ -128,7 +128,7 @@ "well_founded_ordering_on_codomain_Bug2641.PartialCall" ], 0, - "c42565ea8c0ee9fbda3966795675e647" + "98e3c4fc45befacbd261dddabeab4450" ], [ "Bug2641.dm_free_return", @@ -145,7 +145,7 @@ "projection_inverse_Bug2641.Return_a" ], 0, - "20e429fcfca7f8a11d543e5c96fccd29" + "18f2d2c78daeed046346a238df4c56f7" ], [ "Bug2641.lemma_monad_morphism", @@ -196,7 +196,7 @@ "well_founded_ordering_on_codomain_Bug2641.PartialCall" ], 0, - "8e4c2e92d5c0ad67972957c5ac90bf19" + "ffb37ef15d401f37f53103c47a5ceca5" ], [ "Bug2641.dm_free_bind", @@ -230,7 +230,7 @@ "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" ], 0, - "b591a559f9dac4a1776ec12473182c44" + "346429cb3d82b7b7e8d205c0ce885f95" ], [ "Bug2641.dm_free_subcomp", @@ -245,7 +245,7 @@ "refinement_interpretation_Tm_refine_852a3d47ea42973b4a6572245f5a3488" ], 0, - "32c872c8351da85ec2346ac5875ceee8" + "4729ebb3b8f042a2c013cbd8553eddac" ], [ "Bug2641.lift_pure_dm_free", @@ -297,7 +297,7 @@ "typing_Tm_abs_735bfa0400a12573ed48312f042e45e7", "unit_typing" ], 0, - "2cb9ddcbe42e3701dc98719c450a11fb" + "c49c611a1190fba422265bb4df4a7240" ], [ "Bug2641.FREEwp", @@ -306,7 +306,7 @@ 1, [ "@query" ], 0, - "d1720ddead089836de590ad2e45064a8" + "d97d9f2f70f7e258044dfbf07ab6ec1c" ], [ "Bug2641.FREEwp", @@ -315,7 +315,7 @@ 1, [ "@query", "equation_Bug2641.hist_ord" ], 0, - "58e190ab8170cb3fb3c7cbb4fc4c2bcb" + "ca750560b073f33c2ec8ec38aa26ab95" ], [ "Bug2641.FREEwp", @@ -324,7 +324,7 @@ 1, [ "@query", "equation_Bug2641.hist_ord" ], 0, - "5448b13e5e37b8ddcbbeaf7807e2e495" + "d3a9e70729d09144a293b4e8a9059623" ], [ "Bug2641.compile_option", @@ -333,7 +333,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "49e38e2b3bea193711bf10de57c34024" + "87a6ac6c804d7d43955a0ec8a7ec2882" ], [ "Bug2641.test_assert_false", @@ -348,7 +348,7 @@ "l_quant_interp_3699f8f1358ce62456c5f7ffac3e7014" ], 0, - "5b2c724d58b0efdf9f6cd450a76e4e96" + "f8f76f3d4456f52c74a34b0e74b18b8c" ], [ "Bug2641.compile_option2", @@ -362,7 +362,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dab17cd3db8d442670dfe0497a1ac2cb" + "5b4e438a45786afee53ea5e8da10d25d" ], [ "Bug2641.test_assert_false", diff --git a/tests/bug-reports/Bug2659b.fst.hints b/tests/bug-reports/Bug2659b.fst.hints index 08969cfb5de..507ce4e73b2 100644 --- a/tests/bug-reports/Bug2659b.fst.hints +++ b/tests/bug-reports/Bug2659b.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Bug2659b.index" ], 0, - "f1753b83e79c80914982013b14ac5d62" + "de7ca6f90d11f089e62bfd8aef91ab91" ], [ "Bug2659b.lift_pure_e0", @@ -38,7 +38,7 @@ "typing_Tm_abs_99403bb437bd6b7d8c5d631c11ce2f33" ], 0, - "80e8c0ebafcaedd3f7542fe371fa1295" + "d45c9b7ad2da85a4a8100e1ec2090a9a" ], [ "Bug2659b.3349", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "8a3d866b35c15e4d8ff435cc072cdaa9" + "3b4b5dfe6f6e2df29c10f2a779e2baca" ], [ "Bug2659b.lift_pure_e1", @@ -71,7 +71,7 @@ "typing_Tm_abs_d4060aae1f512a4fd24c2ace5b42c230" ], 0, - "1c3c288b779f5e1b0b2a98b4db089ee6" + "545984378e1c09faa9b68a14424bd6f2" ], [ "Bug2659b.5668", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "df602c7fd0f16150838175ddf453070e" + "70d8f78460f673a1d8a88acfabf85915" ], [ "Bug2659b.make_BF", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "ba0b90c444fdfc99876221abbdf3e23b" + "eb2b94be65319502e928843b47f65afa" ], [ "Bug2659b.absurd_e1", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "36a7352db9f1881863057b495ecbdd22" + "b5f7bc495c7fad30debb03eb69fb605c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2684a.fst.hints b/tests/bug-reports/Bug2684a.fst.hints index 6fe70dff482..0c3661ef7cb 100644 --- a/tests/bug-reports/Bug2684a.fst.hints +++ b/tests/bug-reports/Bug2684a.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_f5c7d23fc6986a4e5363b18ba2daa613" ], 0, - "cc6b1773697f0dc76a685073ca725083" + "97c28b987ba1774046086e9eb8f209e6" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2684b.fst b/tests/bug-reports/Bug2684b.fst index 6251ed288e6..56b1f7ca38b 100644 --- a/tests/bug-reports/Bug2684b.fst +++ b/tests/bug-reports/Bug2684b.fst @@ -1,6 +1,6 @@ module Bug2684b -open FStar.Tactics +open FStar.Tactics.V2 assume val nat_dep: nat -> Type0 diff --git a/tests/bug-reports/Bug2684b.fst.hints b/tests/bug-reports/Bug2684b.fst.hints index 29dfdabc7f6..21e5ff14986 100644 --- a/tests/bug-reports/Bug2684b.fst.hints +++ b/tests/bug-reports/Bug2684b.fst.hints @@ -1 +1 @@ -[ "\u0000G8g°(éèJLšw³©\r¶", [] ] \ No newline at end of file +[ "\u0002É×x¨-mÁº\u000bÜ5Æ!üà", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2684c.fst b/tests/bug-reports/Bug2684c.fst index 30a7a53fd16..ad5a4cf1fef 100644 --- a/tests/bug-reports/Bug2684c.fst +++ b/tests/bug-reports/Bug2684c.fst @@ -1,6 +1,6 @@ module Bug2684c -open FStar.Tactics +open FStar.Tactics.V2 assume val nat_dep: nat -> Type0 diff --git a/tests/bug-reports/Bug2684c.fst.hints b/tests/bug-reports/Bug2684c.fst.hints index e07544bf2e3..b6ab2884887 100644 --- a/tests/bug-reports/Bug2684c.fst.hints +++ b/tests/bug-reports/Bug2684c.fst.hints @@ -1 +1 @@ -[ "\u001b\u0010 AºKÄ\u0014ç÷@ C´øR", [] ] \ No newline at end of file +[ "®ý•nàÈÝÁ‰…\u001dhp\u0013=", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2684d.fst b/tests/bug-reports/Bug2684d.fst index 990041cfd99..80b46d3900a 100644 --- a/tests/bug-reports/Bug2684d.fst +++ b/tests/bug-reports/Bug2684d.fst @@ -1,6 +1,6 @@ module Bug2684d -open FStar.Tactics +open FStar.Tactics.V2 val f : (#[exact (`1)] _ : int) -> Type0 let f #_ = unit diff --git a/tests/bug-reports/Bug2684d.fst.hints b/tests/bug-reports/Bug2684d.fst.hints index 17517dc4f04..789167d7f26 100644 --- a/tests/bug-reports/Bug2684d.fst.hints +++ b/tests/bug-reports/Bug2684d.fst.hints @@ -1 +1 @@ -[ "þ\u00039ŠH“×<Ø/õ·'f·\u0004", [] ] \ No newline at end of file +[ "ç\u0019Ü—ši7Qi¬»ß7W:\u0016", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2699.fst b/tests/bug-reports/Bug2699.fst index 6db8e989797..2cdcf2573fc 100644 --- a/tests/bug-reports/Bug2699.fst +++ b/tests/bug-reports/Bug2699.fst @@ -17,7 +17,7 @@ let works_get_length_f32 (i:UInt32.t{ UInt32.v i < 128 }) (n:UInt32.t{UInt32.v n let works_length_f32 : _ = works_get_length_f32 24ul 4ul -open FStar.Tactics +open FStar.Tactics.V2 let testu8_add_mod = assert FStar.UInt8.(250uy `add_mod` 6uy == 0uy) by (norm [primops]; trefl(); qed()) diff --git a/tests/bug-reports/Bug2699.fst.hints b/tests/bug-reports/Bug2699.fst.hints index 90f57bb4a20..40964512228 100644 --- a/tests/bug-reports/Bug2699.fst.hints +++ b/tests/bug-reports/Bug2699.fst.hints @@ -1,5 +1,5 @@ [ - "»ÁÅ\b`Ú—^vº‘ÄÙn'÷", + "´0Ç„!ã\u001c\u0015ÊÐK×\u001a`Ò\r", [ [ "Bug2699.works_get_length_f32", @@ -27,7 +27,7 @@ "typing_FStar.UInt32.v" ], 0, - "12d0466de09001d50e7e714021bfbef1" + "bc389c0833e44b9df78543de7f6073b6" ], [ "Bug2699.testu8_add_mod", @@ -36,7 +36,7 @@ 1, [ "@query", "true_interp" ], 0, - "1cb50515fb818baa3b5d64bfd7f46098" + "e0040f29a176201e08d261ec24e25eab" ], [ "Bug2699.testu8_sub_mod", @@ -45,7 +45,7 @@ 1, [ "@query", "true_interp" ], 0, - "e5d6ad3d629bbe4e9c7a4a3b42e4185a" + "5066b3f25da5370efdeb93930bf86135" ], [ "Bug2699.testu8_mul_mod", @@ -54,7 +54,7 @@ 1, [ "@query", "true_interp" ], 0, - "5eda826b49714ba5c000cf930035a6b7" + "101bfd0110d1d1fad4f2d4ae07e3d27e" ], [ "Bug2699.testu16_add_mod", @@ -63,7 +63,7 @@ 1, [ "@query", "true_interp" ], 0, - "c8cf36efeeed4b4097958600dcc100ca" + "33449998bf818db6ba452fd04fb0b6dd" ], [ "Bug2699.testu16_sub_mod", @@ -72,7 +72,7 @@ 1, [ "@query", "true_interp" ], 0, - "8731c58ce096de815a49de0642a2f901" + "1bcb93e75dd6f97a10a7509d05eeca8e" ], [ "Bug2699.testu16_mul_mod", @@ -81,7 +81,7 @@ 1, [ "@query", "true_interp" ], 0, - "22cddb2f6414b6577aed4082d8371003" + "1be86561595e48d84f22e830ca9b5894" ], [ "Bug2699.testu32_add_mod", @@ -90,7 +90,7 @@ 1, [ "@query", "true_interp" ], 0, - "33004b267eb047e8a3e9977d50a10df9" + "31d18a73a4263b2f95e5207c4dd84140" ], [ "Bug2699.testu32_sub_mod", @@ -99,7 +99,7 @@ 1, [ "@query", "true_interp" ], 0, - "fe0d08ced1378169710cb16d8919534c" + "b2dde1fc9cb554e8783c110c0ab38e3d" ], [ "Bug2699.testu32_mul_mod", @@ -108,7 +108,7 @@ 1, [ "@query", "true_interp" ], 0, - "b9436e62c4c4f543969bbc071146cd77" + "3328a01583adf252d988ab7b7479c9d5" ], [ "Bug2699.testu64_add_mod", @@ -117,7 +117,7 @@ 1, [ "@query", "true_interp" ], 0, - "304e445fc282303510e49467734c2912" + "82b4b7f3de1c0c091a8e02be79cec237" ], [ "Bug2699.testu64_sub_mod", @@ -126,7 +126,7 @@ 1, [ "@query", "true_interp" ], 0, - "d4fb5ce681e4c9aa1f54222678832245" + "bd64460cd0dc12b5af353d3972acf3c5" ], [ "Bug2699.testu64_muL_mod", @@ -135,7 +135,7 @@ 1, [ "@query", "true_interp" ], 0, - "a61442998d26b839e2f8c2df7b0ac6c8" + "226e8bcfd23de82dc4525fdd86100a41" ], [ "Bug2699.testu128_add_mod", @@ -159,7 +159,7 @@ "true_interp" ], 0, - "5709eef604c8f516f850c95dc6ef900e" + "83fbbe6b938fac8b6ffe423983dff918" ], [ "Bug2699.testu128_sub_mod", @@ -183,7 +183,7 @@ "true_interp" ], 0, - "52de18262d412ff794381558f3544856" + "54db100f703ffae30837125e4b3549cd" ], [ "Bug2699.testu128_gt", @@ -206,7 +206,7 @@ "true_interp" ], 0, - "bb0a5e198b5ce4712d93edecab1ade27" + "dce3642abfbc35eaf0631b10a25ebcd9" ], [ "Bug2699.testu128_gte", @@ -229,7 +229,7 @@ "true_interp" ], 0, - "85251208db3dd8bb1bcfc729055b5b3c" + "e998c3b54958a8e3d2d1c34d69b1d8da" ], [ "Bug2699.testu128_lt", @@ -252,7 +252,7 @@ "true_interp" ], 0, - "e147411465a0246062c247fade0ce4c5" + "852727cabbe503ff3911c6c9e09d79cc" ], [ "Bug2699.testu128_lte", @@ -275,7 +275,7 @@ "true_interp" ], 0, - "58d6b7ae38c3aa0753d66c5a1519d707" + "8b415831f0648589524b019e55afdf73" ], [ "Bug2699.nbe_testu8_add_mod", @@ -284,7 +284,7 @@ 1, [ "@query", "true_interp" ], 0, - "9388c7fa92c07ef5bddd4ca035267526" + "938d21562f403779590300c17b5eba5a" ], [ "Bug2699.nbe_testu8_sub_mod", @@ -293,7 +293,7 @@ 1, [ "@query", "true_interp" ], 0, - "31c3e56bca6a59446fe1637d715e7415" + "5482029542ed714038833edd3508238f" ], [ "Bug2699.nbe_testu8_mul_mod", @@ -302,7 +302,7 @@ 1, [ "@query", "true_interp" ], 0, - "91d54447c7957d5f41584eec8f846113" + "8f0362dc26add9bf42b3379af237f21e" ], [ "Bug2699.nbe_testu16_add_mod", @@ -311,7 +311,7 @@ 1, [ "@query", "true_interp" ], 0, - "cb4b1fc03ea9b1e20a4c48c7e12d9be6" + "58f4f4895f31e4ebbc2891d3b61792db" ], [ "Bug2699.nbe_testu16_sub_mod", @@ -320,7 +320,7 @@ 1, [ "@query", "true_interp" ], 0, - "b87ceecefa9578791df3445e68f67e1b" + "10b6ad0c7f4e6b8189c46979e3d55ee5" ], [ "Bug2699.nbe_testu16_mul_mod", @@ -329,7 +329,7 @@ 1, [ "@query", "true_interp" ], 0, - "19f1942ec7fa01969342fedf09105034" + "07bee6c56866b95b04a8b19a7d10c35b" ], [ "Bug2699.nbe_testu32_add_mod", @@ -338,7 +338,7 @@ 1, [ "@query", "true_interp" ], 0, - "dac7c07456e94be4f51a73c95cbce0e5" + "89af98b11c625ab770e9c79cfea65eb6" ], [ "Bug2699.nbe_testu32_sub_mod", @@ -347,7 +347,7 @@ 1, [ "@query", "true_interp" ], 0, - "5d1d3654f84ff945e963f42b2ab2e692" + "4ca44f1f8f246ea944a038880226569d" ], [ "Bug2699.nbe_testu32_mul_mod", @@ -356,7 +356,7 @@ 1, [ "@query", "true_interp" ], 0, - "bd5ad0d4e7defb85ab032e8e801643c5" + "7251cedb67a85a4c8d158d527486b9a6" ], [ "Bug2699.nbe_testu64_add_mod", @@ -365,7 +365,7 @@ 1, [ "@query", "true_interp" ], 0, - "35f9190fe172ab7eda86cb97752b54a2" + "89a9b574795d5389c08bdbd5c16f04db" ], [ "Bug2699.nbe_testu64_sub_mod", @@ -374,7 +374,7 @@ 1, [ "@query", "true_interp" ], 0, - "ce16a5e9554c29d206b744bc3511c779" + "3172bcdc0b634ac7d85b3fc1e6d3718e" ], [ "Bug2699.nbe_testu64_muL_mod", @@ -383,7 +383,7 @@ 1, [ "@query", "true_interp" ], 0, - "4c98274f6d97097b3dedd0f2be6d533f" + "14789ad32ea6d55159cad0b5c37e1373" ], [ "Bug2699.nbe_testu128_add_mod", @@ -407,7 +407,7 @@ "true_interp" ], 0, - "2a4a7e18739149073a41a33810dbb883" + "6675ac6bea14608e177e8909b7602c6f" ], [ "Bug2699.nbe_testu128_sub_mod", @@ -431,7 +431,7 @@ "true_interp" ], 0, - "3089ccc722de6354b492665bf13085a3" + "1f7dfccc7288da0e69a51d7af2c05b47" ], [ "Bug2699.nbe_testu128_gt", @@ -454,7 +454,7 @@ "true_interp" ], 0, - "d69a30fdf3ef2475cacd4341ff3d6daf" + "9291e32c8462aaebf6cb321670c7a531" ], [ "Bug2699.nbe_testu128_gte", @@ -477,7 +477,7 @@ "true_interp" ], 0, - "24571a31986ae5bdd1d96b651becf2b6" + "b223d21a632b3bfea9372575b9adb28f" ], [ "Bug2699.nbe_testu128_lt", @@ -500,7 +500,7 @@ "true_interp" ], 0, - "a7914ae38d22963dac18a7cf6b003d45" + "21414ff900c6dc8edfd199445e6a227e" ], [ "Bug2699.nbe_testu128_lte", @@ -523,7 +523,7 @@ "true_interp" ], 0, - "34a0ef0daca29fb53d606e629cc5ded0" + "ffc2fe1f462746238c00676ba6212e4c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2756.fst b/tests/bug-reports/Bug2756.fst index 126f4ab8740..cfb71466e40 100644 --- a/tests/bug-reports/Bug2756.fst +++ b/tests/bug-reports/Bug2756.fst @@ -1,6 +1,6 @@ module Bug2756 -open FStar.Tactics +open FStar.Tactics.V2 val arrow_to_forall: #a:Type -> p:(a -> Type0) -> squash (forall (x:a). p x) -> (x:a -> squash (p x)) let arrow_to_forall #a p _ x = () @@ -37,11 +37,11 @@ assume val bar: let the_proof (): Tac unit = apply (`arrow_to_forall); compute(); - let x_term = binder_to_term (forall_intro ()) in + let x_term = binding_to_term (forall_intro ()) in destruct x_term; iterAll (fun () -> let destruct_binders = intros() in - let breq_term = binder_to_term (last destruct_binders) in + let breq_term = binding_to_term (last destruct_binders) in l_to_r [breq_term]; compute(); trefl () diff --git a/tests/bug-reports/Bug2756.fst.hints b/tests/bug-reports/Bug2756.fst.hints index 5145d3d8867..796a9d9b60d 100644 --- a/tests/bug-reports/Bug2756.fst.hints +++ b/tests/bug-reports/Bug2756.fst.hints @@ -1,5 +1,5 @@ [ - "+Eö8>b(_FÛˆÖ{²|\u001f", + "öÁ½HTÒ›W¤\u0018\u0001\u0013ë»%:", [ [ "Bug2756.arrow_to_forall", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "b53ea66d6edc0c6a0d6cc82c4aacc730" + "90f0818b7d19ed5239d1214c1f3ebc9a" ], [ "Bug2756.last", @@ -26,7 +26,7 @@ "projection_inverse_BoxBool_proj_0", "typing_Prims.uu___is_Cons" ], 0, - "f4220859bb5614afb1bac628f7b292c2" + "521b4a4bc68a4573e0381c059ed6b00d" ], [ "Bug2756.test_dependent_sum", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_baba3c4ff195e8afc82d572a0bec0709" ], 0, - "4a209dbd8645188cc21b346dff4e192a" + "3c3c4ceb5da38fd17d8e4e8dcfa5c363" ], [ "Bug2756.__proj__TestDependentSum1__item__n1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_8256746bd526b538748945da2ceec1d9" ], 0, - "2936d609a41732dd20d322e1e70fe3e8" + "ed97c2741eade2b3eade73681cac7624" ], [ "Bug2756.__proj__TestDependentSum1__item__n2", @@ -70,7 +70,7 @@ "typing_Bug2756.__proj__TestDependentSum1__item__n1" ], 0, - "c71c7f438065f2815bb9c818322c6984" + "204cdbb5d5d748ff1e3bfe1a843b78c8" ], [ "Bug2756.__proj__TestDependentSum1__item__n2", @@ -92,7 +92,7 @@ "typing_Bug2756.__proj__TestDependentSum1__item__n1" ], 0, - "09a3f75fd28c228903fa44df10053001" + "5ecae4dbcb609e91d61aef7c3efe5740" ], [ "Bug2756.__proj__TestDependentSum1__item__tdn1", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_8256746bd526b538748945da2ceec1d9" ], 0, - "ed5c489bb22c44c05282394dd04fbfbe" + "73921cf6d05fa6835c76fb0d656696b7" ], [ "Bug2756.__proj__TestDependentSum2__item___0", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_c84f9dca56e7aa544dcd8db84b7fdd84" ], 0, - "8cc233551bcd43f218bbb1e9ba6dd933" + "cb807f2bdda72184d2cf3719dccfbe6e" ], [ "Bug2756.encoded_snd", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_baba3c4ff195e8afc82d572a0bec0709" ], 0, - "1a46ea5881a322bcbda5e2ff2525c168" + "3617cd4b1f6435d45a74120d8b14f528" ], [ "Bug2756.encoded_type", @@ -148,7 +148,7 @@ 1, [ "@query" ], 0, - "3c0ead9b14de69bbea2502fdb123820d" + "47f190dd1b7f9689207f4a3f580d36b9" ], [ "Bug2756.uu___55", @@ -177,7 +177,7 @@ "refinement_interpretation_Tm_refine_baba3c4ff195e8afc82d572a0bec0709" ], 0, - "c9987f4202e4b11a168e2d7796f99611" + "bd60aac2c6b799829a82b00c0529c9fa" ], [ "Bug2756.uu___55", @@ -211,7 +211,7 @@ "typing_Prims.pow2" ], 0, - "e45d36a5b995549563b8dd3702882807" + "afd00c8aaf4358d43db9023c5a1fefd1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug279.fst.hints b/tests/bug-reports/Bug279.fst.hints index f4676f95eb3..f8bf388e0bd 100644 --- a/tests/bug-reports/Bug279.fst.hints +++ b/tests/bug-reports/Bug279.fst.hints @@ -10,7 +10,7 @@ "@query", "assumption_Prims.list__uu___haseq", "kinding_Bug279.t@tok" ], 0, - "07316fa1905e13bb4ca6869599f727fd" + "31f2dbdfa1b5a8a84ce39ba60851babb" ], [ "Bug279.f", @@ -23,7 +23,7 @@ "subterm_ordering_Bug279.T" ], 0, - "f073ec663d6e2b4a6e65a3fbc5f560b2" + "950ada3d9576075dcb6f9893c4512ae2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2806a.fst b/tests/bug-reports/Bug2806a.fst index cb0ffc6cb09..cbfe7f933ca 100644 --- a/tests/bug-reports/Bug2806a.fst +++ b/tests/bug-reports/Bug2806a.fst @@ -1,7 +1,7 @@ module Bug2806a open FStar.Real -open FStar.Tactics +open FStar.Tactics.V2 let one = 1.0R let oone = 01.0R diff --git a/tests/bug-reports/Bug2806a.fst.hints b/tests/bug-reports/Bug2806a.fst.hints index 559f5e6c032..7020ec9c9bc 100644 --- a/tests/bug-reports/Bug2806a.fst.hints +++ b/tests/bug-reports/Bug2806a.fst.hints @@ -1,5 +1,5 @@ [ - "\fÇŽ†ºâ·Hw¸2ˆ£Ï`", + "¾‘-À\\Eí\u001a·s†óG\u00007", [ [ "Bug2806a.bad", @@ -11,7 +11,7 @@ "true_interp" ], 0, - "dc408b183d2b2d80f19a08929223cddf" + "b7169a71c9c886f16541a34e73f5db93" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2806b.fst b/tests/bug-reports/Bug2806b.fst index b86582376b2..35473b2de48 100644 --- a/tests/bug-reports/Bug2806b.fst +++ b/tests/bug-reports/Bug2806b.fst @@ -1,6 +1,6 @@ module Bug2806b -open FStar.Reflection +open FStar.Reflection.V2 let non_fun #a #b (f : a -> b) (x y : a) (fx fy : b) : Lemma (requires f x == fx /\ f y == fy /\ x == y) diff --git a/tests/bug-reports/Bug2806b.fst.hints b/tests/bug-reports/Bug2806b.fst.hints index 2e26096bc06..f2aab51c017 100644 --- a/tests/bug-reports/Bug2806b.fst.hints +++ b/tests/bug-reports/Bug2806b.fst.hints @@ -1,5 +1,5 @@ [ - "·p7w_û€«\u001cù\u0013se\u000e\u0010R", + "¦dËZøµêÝ\u001d\u0003YñÕò\u000e\u0000", [ [ "Bug2806b.non_fun", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "70b0b2fabd24dcf85f9359b2c17b44c3" + "3605c61d70f585f6d3237ead733eb9f0" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2806c.fst b/tests/bug-reports/Bug2806c.fst index d01a319a4da..c3513d0b553 100644 --- a/tests/bug-reports/Bug2806c.fst +++ b/tests/bug-reports/Bug2806c.fst @@ -1,19 +1,19 @@ module Bug2806c -open FStar.Tactics +open FStar.Tactics.V2 +module R = FStar.Reflection.V2 -let dom (t:term{exists b c. inspect_ln t == Tv_Arrow b c}) = +let dom (t:term{exists b c. inspect_ln t == R.Tv_Arrow b c}) : R.binder = match inspect_ln t with - | Tv_Arrow b _ -> bv_of_binder b + | R.Tv_Arrow b _ -> b -let name (t:term{Tv_Arrow? (inspect_ln t)}) : Tac string = - assert (Tv_Arrow? (inspect_ln t)); - let b : bv = dom t in - let bv : bv_view = inspect_bv b in - name_of_bv b +let name (t:term{R.Tv_Arrow? (inspect_ln t)}) : Tac string = + assert (R.Tv_Arrow? (inspect_ln t)); + let b : R.binder = dom t in + unseal (inspect_binder b).ppname -let t1 : (t:term{Tv_Arrow? (inspect_ln t)}) = (`(x:int -> int)) -let t2 : (t:term{Tv_Arrow? (inspect_ln t)}) = (`(y:int -> int)) +let t1 : (t:term{R.Tv_Arrow? (inspect_ln t)}) = (`(x:int -> int)) +let t2 : (t:term{R.Tv_Arrow? (inspect_ln t)}) = (`(y:int -> int)) // // name_of_bv is no longer Tot, @@ -22,4 +22,6 @@ let t2 : (t:term{Tv_Arrow? (inspect_ln t)}) = (`(y:int -> int)) [@@expect_failure] let falso () : Lemma False = assert (t1 == t2) by (compute ()); - assert_norm (name t1 =!= name t2) + let n1 = name t1 in + let n2 = name t2 in + assert_norm (n1 =!= n2) diff --git a/tests/bug-reports/Bug2806c.fst.hints b/tests/bug-reports/Bug2806c.fst.hints index 43f25c0fb03..2921d43d88c 100644 --- a/tests/bug-reports/Bug2806c.fst.hints +++ b/tests/bug-reports/Bug2806c.fst.hints @@ -1,5 +1,5 @@ [ - "%¼2\u0014ðO*\u0011='¦ü\\ÆU«", + "ûï‰s¦I]ãÝu±¿K\u0013\u0007¹", [ [ "Bug2806c.dom", @@ -8,15 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "refinement_interpretation_Tm_refine_05453b8274de1f22e1d10d9293ceda20" + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "refinement_interpretation_Tm_refine_de6d913b998ab2215f6ae22679d36b30" ], 0, - "19902e3829e2cb25e64aea1778a0d118" + "51955bfe680ae0d154791fdfb5d7b2de" ], [ "Bug2806c.name", @@ -27,15 +27,16 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "data_elim_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "data_elim_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "equation_FStar.Tactics.NamedView.term", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "refinement_interpretation_Tm_refine_e3775393449751e705c67cc8acd5aa61", - "typing_FStar.Reflection.Builtins.inspect_ln" + "refinement_interpretation_Tm_refine_28b51b9bb1317bddda2174cf35a067b5", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "67397ede06fe4c81c04a7a2e7919ff7d" + "34cde136959a103c899994c318b76855" ], [ "Bug2806c.t1", @@ -43,14 +44,14 @@ 2, 1, [ - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c" + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c" ], 0, - "79a6327406018f3ed2046aec0805fe4c" + "415978a90c28e5060a664d454fac3fdf" ], [ "Bug2806c.t2", @@ -58,14 +59,14 @@ 2, 1, [ - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "@query", "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c" + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c" ], 0, - "7c81cdedd27c1940af9221411bd4b2e5" + "3a096aace62e0cabe655a94f6e2efe42" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2806d.fst b/tests/bug-reports/Bug2806d.fst index e489cb8412d..2dc42a5b2d0 100644 --- a/tests/bug-reports/Bug2806d.fst +++ b/tests/bug-reports/Bug2806d.fst @@ -1,6 +1,10 @@ module Bug2806d -open FStar.Tactics +(*** This example is now outdated. Binders do not have +a bv or an index in them, not even a sealed one. *) + +(* +open FStar.Tactics.V2 let dom (t:term{exists b c. inspect_ln t == Tv_Arrow b c}) = match inspect_ln t with @@ -19,3 +23,4 @@ let t2 : (t:term{Tv_Arrow? (inspect_ln t)}) = (`(x:int -> int)) let falso () : Lemma False = assert (t1 == t2) by (compute ()); assert_norm (idx t1 =!= idx t2) + *) diff --git a/tests/bug-reports/Bug2806d.fst.hints b/tests/bug-reports/Bug2806d.fst.hints index a2d1fdbfd06..4ad70f2dce8 100644 --- a/tests/bug-reports/Bug2806d.fst.hints +++ b/tests/bug-reports/Bug2806d.fst.hints @@ -1,80 +1 @@ -[ - "§¥K!¿m…\\)°“¼Å9", - [ - [ - "Bug2806d.dom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "refinement_interpretation_Tm_refine_05453b8274de1f22e1d10d9293ceda20" - ], - 0, - "19902e3829e2cb25e64aea1778a0d118" - ], - [ - "Bug2806d.idx", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "data_elim_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "refinement_interpretation_Tm_refine_e3775393449751e705c67cc8acd5aa61", - "typing_FStar.Reflection.Builtins.inspect_ln" - ], - 0, - "cc0b2fa61ce0a27dd0488018dfb641c0" - ], - [ - "Bug2806d.t1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c" - ], - 0, - "6a4ec0634ddda45463efde00e2e021cc" - ], - [ - "Bug2806d.t2", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c" - ], - 0, - "41b6779a866a9f21401ed49391487b9c" - ], - [ - "Bug2806d.falso", - 1, - 2, - 1, - [ "@query", "true_interp" ], - 0, - "f2ee5950d1afab7f8bebedebf1265044" - ] - ] -] \ No newline at end of file +[ "`.\u0018\u001csÍ\u0000¾Ø+\u0012¨èH\u0007l", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug281.fst.hints b/tests/bug-reports/Bug281.fst.hints index 350b46eca8f..0614fc2f4e7 100644 --- a/tests/bug-reports/Bug281.fst.hints +++ b/tests/bug-reports/Bug281.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bf40a5fd89e3bae54663c4745a25e7e" + "e017b599a09c68a985a8f82a7d72e031" ], [ "Bug281.__proj__EVar__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_9b2d09575d6692cb596c737746866530" ], 0, - "4b0575af1cf5a6a6deb29a358a8a7ece" + "67af9820180245b67695353e304d5372" ], [ "Bug281.__proj__EApp__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_7b1aca813aa10f4d23c2deb051a70aa0" ], 0, - "12fcf24a2c78027fb00fe37ad815531b" + "fb2c1a54d3812c9c1419392db6f11f41" ], [ "Bug281.__proj__EApp__item___1", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_7b1aca813aa10f4d23c2deb051a70aa0" ], 0, - "eaece4d7912b58156e25a648d12cc2aa" + "42d5f882533f70707c1626f4c782809b" ], [ "Bug281.__proj__ELam__item___0", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_f33ea656340d38766c925d346d31bc07" ], 0, - "2adeb3281cbff34be6ff1e56c2093e3a" + "3ff9ba38507b25ba8ef41a15930f7b37" ], [ "Bug281.sub_einc", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1d1cc7709ae7b34e92434ded37597c85" + "7a064d1b5e10cb47bca32b3cac9a6aa3" ], [ "Bug281.sub_elam", @@ -104,9 +104,9 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Bug281.EVar__0", "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2f3a0b5d69fa6d59ea50cfe711ffa8ee", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", - "refinement_interpretation_Tm_refine_aa3c00660e9561348e60debe15f1d139", "token_correspondence_Bug281.sub_einc", "typing_Bug281.esubst", "typing_Bug281.is_evar", "typing_Bug281.is_renaming", "typing_Bug281.renaming", "typing_Bug281.uu___is_EVar", @@ -114,7 +114,7 @@ "well-founded-ordering-on-nat" ], 0, - "3941036bfbe3d740dbaa319fb78bbe43" + "08025cda49159537e8c11a540be1d094" ], [ "Bug281.sub_elam", @@ -148,7 +148,7 @@ "well-founded-ordering-on-nat" ], 0, - "2fc71505a0a002d137051c9457b97bbe" + "67a0fcdaba72065aba27ae7c25a061fb" ], [ "Bug281.lemma", @@ -160,7 +160,7 @@ "haseqBug281_Tm_refine_fa874d2b81678cf67fefc82e7574cdec" ], 0, - "7dd25dc30ebadde714917d16402ef637" + "92672f34c6251cac8ea4a752bd7bc112" ], [ "Bug281.plouf0", @@ -199,7 +199,7 @@ "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "82427d6835f51856151150d241c6e487" + "67608f5db8893de42377d97360d57992" ], [ "Bug281.plouf1", @@ -238,7 +238,7 @@ "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "4c5f8df7bf9a2b8e1b1ffc5fa6ec88d8" + "22f65344fe5b9b052c5eb36cac4d34bb" ], [ "Bug281.plouf2", @@ -247,7 +247,7 @@ 1, [ "@query", "assumption_Bug281.exp__uu___haseq" ], 0, - "b073d08692ec2f7d2692ec4947f704d8" + "accfccf7937ee5d5256b726fed9a7590" ], [ "Bug281.plouf2", @@ -286,7 +286,7 @@ "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "af30388b9cde88278ef55a3d6afe8d2e" + "0ad4b29ab45c51b2db65d3b8b24bf72a" ], [ "Bug281.plouf4", @@ -295,7 +295,7 @@ 1, [ "@query", "assumption_Bug281.exp__uu___haseq", "unit_typing" ], 0, - "3b714034d8feaff912a12137028ac09f" + "1fe2f3a970fa7279506392f2b816c78f" ], [ "Bug281.plouf4", @@ -334,7 +334,7 @@ "typing_Tm_abs_803f4ed89301c92368844855fbac8cac", "unit_inversion" ], 0, - "9ecc9197c3625284b980c18b3c02141c" + "b2447f544fe82380538b37d225cd97a8" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug283.fst.hints b/tests/bug-reports/Bug283.fst.hints index 1c1ed4e45c7..8c2a6f6ec32 100644 --- a/tests/bug-reports/Bug283.fst.hints +++ b/tests/bug-reports/Bug283.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Bug283.HasEq_block" ], 0, - "2930b0b965c4ad4600b4bbdcb672d918" + "794c954fb225c82213e4134b6c3e9a25" ], [ "Bug283.test2", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Bug283.HasEq_block" ], 0, - "dd17382a91c6044f32e1e2a8c3be41ab" + "9b4380719b2b82a0fb3eacdbfdb1fc0e" ], [ "Bug283.test2", @@ -26,7 +26,7 @@ 1, [ "@query", "assumption_Bug283.XOR_Laws", "typing_Bug283.xor" ], 0, - "605af5f9571ac1a9336a476978baead6" + "e9282fa6391c5e5b204e98df16d084c1" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug284.fst.hints b/tests/bug-reports/Bug284.fst.hints index 97b99aec435..943475dfe42 100644 --- a/tests/bug-reports/Bug284.fst.hints +++ b/tests/bug-reports/Bug284.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "e8b31a59056a1f5232803601b6235d67" + "57f88dd8289abf357fc017577050c349" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2849a.fst b/tests/bug-reports/Bug2849a.fst index ce12ea7aae8..a57cd647bab 100644 --- a/tests/bug-reports/Bug2849a.fst +++ b/tests/bug-reports/Bug2849a.fst @@ -1,6 +1,6 @@ module Bug2849a -module T = FStar.Tactics +module T = FStar.Tactics.V2 let visit_terms (t: T.term): T.Tac unit = let rec tm (t: T.term): T.Tac unit = match T.inspect_unascribe t with diff --git a/tests/bug-reports/Bug2849a.fst.hints b/tests/bug-reports/Bug2849a.fst.hints index 0e3e6df2e15..201c1c49fb2 100644 --- a/tests/bug-reports/Bug2849a.fst.hints +++ b/tests/bug-reports/Bug2849a.fst.hints @@ -1 +1 @@ -[ "lÝ{KŠ lb|\t\fæ\u007f$™", [] ] \ No newline at end of file +[ "¥¶Y,ÝF9ÏÏ\u0012ê\u001c@÷ö", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2849b.fst b/tests/bug-reports/Bug2849b.fst index d5505e0a3f3..641be8d268b 100644 --- a/tests/bug-reports/Bug2849b.fst +++ b/tests/bug-reports/Bug2849b.fst @@ -8,7 +8,7 @@ let pure () : int = let _ = assert_norm (pure () == 1) -module T = FStar.Tactics +module T = FStar.Tactics.V2 let t1 () : T.Tac unit = let rec f (): T.Tac unit = T.fail "fail_f" diff --git a/tests/bug-reports/Bug2849b.fst.hints b/tests/bug-reports/Bug2849b.fst.hints index bdd7247f6ff..d5132d779ef 100644 --- a/tests/bug-reports/Bug2849b.fst.hints +++ b/tests/bug-reports/Bug2849b.fst.hints @@ -1,5 +1,5 @@ [ - "Û¿\u0010¶\u0004×Ñ—Û\fH¦z’¨", + "vR\u001eþì‡É\tÆ®¸H3>ß", [ [ "Bug2849b.uu___7", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "90a08545e2641bf7e5b7e0012e8ae17b" + "ae5e0f3c81ae6256ecbc2a02a83f4327" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2882.fst b/tests/bug-reports/Bug2882.fst index e2993a8f3d6..ccde4e11f14 100644 --- a/tests/bug-reports/Bug2882.fst +++ b/tests/bug-reports/Bug2882.fst @@ -1,6 +1,7 @@ module Bug2882 -open FStar.Tactics +open FStar.Tactics.V2 +module R = FStar.Reflection.V2 let univ_uvar_to_term () : Tac unit = let t = fresh_uvar (Some (`unit)) in @@ -8,7 +9,7 @@ let univ_uvar_to_term () : Tac unit = let _ = unify t (`()) in let tv' = inspect_ln t in assert (tv == tv'); - if not (Tv_Uvar? tv) || not (Tv_Uvar? tv') then + if not (R.Tv_Uvar? tv) || not (R.Tv_Uvar? tv') then fail "something changed!"; () @@ -18,10 +19,10 @@ let unif_uvars () : Tac unit = let u1 = fresh_uvar (Some (`unit)) in let u2 = fresh_uvar (Some (`unit)) in match inspect_ln u1, inspect_ln u2 with - | Tv_Uvar n1 _ , Tv_Uvar n2 _ -> + | R.Tv_Uvar n1 _ , R.Tv_Uvar n2 _ ->   let _ = unify u1 u2 in   (match inspect_ln u1, inspect_ln u2 with -    | Tv_Uvar n1' _, Tv_Uvar n2' _ -> +    | R.Tv_Uvar n1' _, R.Tv_Uvar n2' _ ->      assert (n1 == n1' /\ n2 == n2'); if n1 <> n1' then fail "n1 changed!"; if n2 <> n2' then fail "n2 changed!"; diff --git a/tests/bug-reports/Bug2882.fst.hints b/tests/bug-reports/Bug2882.fst.hints index 1ecc7d2ceb9..834d23261d4 100644 --- a/tests/bug-reports/Bug2882.fst.hints +++ b/tests/bug-reports/Bug2882.fst.hints @@ -1,5 +1,5 @@ [ - "hW›RíR\u0019ÅŽ\u0013~J»u\r°", + "\u000e­~ZI‹lŒZó/îfy‹X", [ [ "Bug2882.univ_uvar_to_term", @@ -11,7 +11,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "99da9963a3e6971dd515913ea9e8a6c0" + "b2b42f9bc852bf37dd0e8183dbe6b84e" ], [ "Bug2882.unif_uvars", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e11b6ca68ec6a560b168263fe0e07e5d" + "fac3067b90461858d1fa963d8753617f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2894.fst.hints b/tests/bug-reports/Bug2894.fst.hints new file mode 100644 index 00000000000..d33b4c121b6 --- /dev/null +++ b/tests/bug-reports/Bug2894.fst.hints @@ -0,0 +1 @@ +[ "xÐ3ô›=\u0013Ã\u0012íóÀó¬‹~", [] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug2895.fst.hints b/tests/bug-reports/Bug2895.fst.hints new file mode 100644 index 00000000000..7c6696f5dca --- /dev/null +++ b/tests/bug-reports/Bug2895.fst.hints @@ -0,0 +1,29 @@ +[ + "åv‘\u001dD\ržæ\u0018š\"œI~!Š", + [ + [ + "Bug2895.__proj__S__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1fed8bfcb628a1b8643e0b5c3e256937" + ], + 0, + "72fade711c414ceaf985a6ee17d1a116" + ], + [ + "Bug2895.__proj__B__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_fd3d8d8a88cb826e8869b4b90dd0a9ef" + ], + 0, + "f3140635de25ccd32188bb8b0c0ab8e7" + ] + ] +] \ No newline at end of file diff --git a/tests/bug-reports/Bug290.fst.hints b/tests/bug-reports/Bug290.fst.hints index 72bee670892..48682160165 100644 --- a/tests/bug-reports/Bug290.fst.hints +++ b/tests/bug-reports/Bug290.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fcc4d1afa4cd214ee9342f1bd734d4b0" + "4911eb6cdc089e02eda45a3eb0f6e146" ], [ "Bug290.test2", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "37991ab6cb2b73e252cb99250f41e711" + "e33b028f8279e410d087952db344507e" ], [ "Bug290.test3", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4acfc223f889af169c228688a92cd9f6" + "80f484cc00365fc6323d2ce5b7c6f4d9" ], [ "Bug290.test4", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ac08cb2b653149b17a34d6cdc91f0a2" + "edce11b57ed6c9c940a4f71a5bb6f239" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug292.fst.hints b/tests/bug-reports/Bug292.fst.hints index 176778f0045..53ab1e376c5 100644 --- a/tests/bug-reports/Bug292.fst.hints +++ b/tests/bug-reports/Bug292.fst.hints @@ -24,7 +24,7 @@ "refinement_interpretation_Bug292_Tm_refine_bd6d982985e2df5ac87b5db124accca1" ], 0, - "f7ae9d0a20fc3701b1a201e0882c4cbe" + "7b41ddb38d921a910568de4c6a3e22c2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug293.fst.hints b/tests/bug-reports/Bug293.fst.hints index 4df3782ef19..e4ae279efaf 100644 --- a/tests/bug-reports/Bug293.fst.hints +++ b/tests/bug-reports/Bug293.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_bd81f7f6888a757bc18ca62c4d181a1c" ], 0, - "e937671e79587a9865b810a8498d5aa0" + "0be2828d039112258e65f098e9dd9e6e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug316.fst.hints b/tests/bug-reports/Bug316.fst.hints index b2d06ef550e..665933e22aa 100644 --- a/tests/bug-reports/Bug316.fst.hints +++ b/tests/bug-reports/Bug316.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fd1d0a99f5c246ee19ec77771f9fbadd" + "f9a10f31c413bbaf7f59170956833017" ], [ "Bug316.r", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4827d15e53fdbc263ac5f70f8de2968" + "ce5348c3cb38def4088a02280c10d935" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug363.fst.hints b/tests/bug-reports/Bug363.fst.hints index 4fe9d77d87b..4b3e5158dce 100644 --- a/tests/bug-reports/Bug363.fst.hints +++ b/tests/bug-reports/Bug363.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug363.pstep" ], 0, - "b49acb43ff43df7e99f0bac3441a99da" + "4c81bf928ac297f2d6091e6880889267" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug379.fst.hints b/tests/bug-reports/Bug379.fst.hints index 0bfe22f84a2..f62fb99a84f 100644 --- a/tests/bug-reports/Bug379.fst.hints +++ b/tests/bug-reports/Bug379.fst.hints @@ -1,5 +1,5 @@ [ - "g\u001b®7Å%¦K¬š.~\u0006bU­", + "à”Üþ»éœô€³[kux1[", [ [ "Bug379.test1", @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "035c3b18aab51da912e43d547e4557b7" + "7c563a07146630fb721e6d05e6a17361" ], [ "Bug379.test2", @@ -31,7 +31,41 @@ "well-founded-ordering-on-nat" ], 0, - "0d321b9574da8cbde46852910ac579bc" + "549f8950a1ed941102ba06b4713bf770" + ], + [ + "Bug379.test4", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", + "int_inversion", "int_typing", "primitive_Prims.op_Equality", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "well-founded-ordering-on-nat" + ], + 0, + "cd824c562e84f698d364ea0ff08b1722" + ], + [ + "Bug379.test5", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "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_542f9d4f129664613f2483a6c88bc7c2", + "well-founded-ordering-on-nat" + ], + 0, + "c79f08d91918958492149d771d4b6f36" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug380_2.fst.hints b/tests/bug-reports/Bug380_2.fst.hints index 4e79bd3102c..2686b378f8f 100644 --- a/tests/bug-reports/Bug380_2.fst.hints +++ b/tests/bug-reports/Bug380_2.fst.hints @@ -14,7 +14,7 @@ "unit_inversion" ], 0, - "da8d5bf3d4855b1a180a986df496f1a7" + "660cebc99b040b6c12826c36d6dd85af" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug398.fst.hints b/tests/bug-reports/Bug398.fst.hints index 0d245024483..9a732aabc88 100644 --- a/tests/bug-reports/Bug398.fst.hints +++ b/tests/bug-reports/Bug398.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "24cbe3f18cc67732baa203433573c5eb" + "57e342011a5f1f54f8f5e69dabd20835" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug399.fst.hints b/tests/bug-reports/Bug399.fst.hints index ca0b19f08ee..dd472876b09 100644 --- a/tests/bug-reports/Bug399.fst.hints +++ b/tests/bug-reports/Bug399.fst.hints @@ -11,7 +11,7 @@ "unit_inversion" ], 0, - "29b2bd9552664104226305e8c36bff68" + "7052ff49a68ec9634ef08f27d02d892d" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug405.fst.hints b/tests/bug-reports/Bug405.fst.hints index 929920f23c9..51601d5f1a2 100644 --- a/tests/bug-reports/Bug405.fst.hints +++ b/tests/bug-reports/Bug405.fst.hints @@ -12,7 +12,7 @@ "unit_inversion", "unit_typing" ], 0, - "28d6fda47c7f60c75a372059322ed6c4" + "1c0ffbcc2c14900b4d2dabeeb0c89e96" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug422.fst.hints b/tests/bug-reports/Bug422.fst.hints index 23b0b41326b..af6c66d7a2c 100644 --- a/tests/bug-reports/Bug422.fst.hints +++ b/tests/bug-reports/Bug422.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46388c49ef22f515f243c3e4fb250497" + "6402ee403683ad1014bcd6f0fc1d035b" ], [ "Bug422.fails", @@ -46,7 +46,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "7f5af2036ffbf6021d163abc6c56775d" + "67fc54ef5b459e4ad4f55cabd1252b61" ], [ "Bug422.box'", @@ -58,7 +58,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "07c56caf73d932cc63380f1d8913906c" + "2f2197a9bc8cae6b306a2ce4e9d316c5" ], [ "Bug422.__proj__Box'__item__v", @@ -70,7 +70,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5e21d5d4df17badf083df8dbb3ca1849" + "1804c0d0c73b7ea16f970335cd588dbc" ], [ "Bug422.__proj__Box'__item__v", @@ -82,7 +82,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5eba19be8f00c1a63032d433747714e0" + "57767e6969c9198973c3931d9c6b091f" ], [ "Bug422.works", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "401850d703b07cac3b2a23a66ada20e1" + "6fd51b594797f7bfa4f75a5d75254b71" ], [ "Bug422.works", @@ -133,7 +133,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "add098fde4b1f4e88acb1390e14e658a" + "5b42b39dc9de5fd496d2012dc494bce1" ], [ "Bug422.works", @@ -168,7 +168,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "8c09c1066fad2ecdd2c707fd6043bae3" + "50426c191a1d74ca59df8ba85afa54da" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug424.fst.hints b/tests/bug-reports/Bug424.fst.hints index 6dc2aa58aed..636b981abe5 100644 --- a/tests/bug-reports/Bug424.fst.hints +++ b/tests/bug-reports/Bug424.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "030b1e4f23eebe10a74d9d3874791d60" + "60fcc00e8e88ce16e65f52cb15746cb9" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug433.fst.hints b/tests/bug-reports/Bug433.fst.hints index a0c19ccebaf..a5f62f20671 100644 --- a/tests/bug-reports/Bug433.fst.hints +++ b/tests/bug-reports/Bug433.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4316b078378f3e5c4d743f5ec20ef4df" + "75a61d79e574f7d8aeef28cc37549bd2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug442.fst.hints b/tests/bug-reports/Bug442.fst.hints index 5111f720f6a..d247827cab9 100644 --- a/tests/bug-reports/Bug442.fst.hints +++ b/tests/bug-reports/Bug442.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9823b9c0be9eeed2994843f943016108" + "fb0a7e8d3fafc804840739ed061db8c2" ], [ "Bug442.__proj__Unit__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_282d2343f4d149a96e73dfb3e3022a06" ], 0, - "3d3d70d2e57730cc99ccbabb2746fa2e" + "37f3885bea1b1ea37931e3b8fac802fe" ], [ "Bug442.__proj__Join__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_55d37cc4215d7c096ad6f1e75c907170" ], 0, - "55487b55e54ea775e741a45e720bbf58" + "23867802a5d0150df191cd9ed59a1ded" ], [ "Bug442.__proj__Join__item___1", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_55d37cc4215d7c096ad6f1e75c907170" ], 0, - "967043b5a5ff9f327176899a6790bd70" + "e84ffcbd951395f92ee0548dea226cb7" ], [ "Bug442.__proj__Join__item___2", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_55d37cc4215d7c096ad6f1e75c907170" ], 0, - "81b2e9ce2235805475a8e77ba5a68148" + "70fd54b4da5f779edaef2aaee511d58e" ], [ "Bug442.isCorrectJoined", @@ -80,7 +80,7 @@ "projection_inverse_Bug442.Join__0", "subterm_ordering_Bug442.Join" ], 0, - "6af47171995655e0562b6cd564577a6d" + "781d42f1b9364deeb75842920044f023" ], [ "Bug442.ld", @@ -112,7 +112,7 @@ "typing_Bug442.isCorrectJoined" ], 0, - "ef04cb5ff7b8197527b120a96fcb318f" + "c0b703ab517a9dd7bfdc484458f2a8a8" ], [ "Bug442.lt", @@ -134,7 +134,7 @@ "subterm_ordering_Prims.Cons", "typing_Bug442.ld" ], 0, - "e1012082a1940bbe5c12c032c340018d" + "b8ef56af874b708b72ded303b5087612" ], [ "Bug442.walk", @@ -186,7 +186,7 @@ "typing_tok_Prims.LexTop@tok", "well-founded-ordering-on-nat" ], 0, - "48df0df04d30c0ce117552cfa6893e4b" + "62f93a485db4c06e6da3da876ce82b80" ], [ "Bug442.walk", @@ -213,7 +213,7 @@ "projection_inverse_Prims.Cons_tl", "well-founded-ordering-on-nat" ], 0, - "26d58fdccfc0e585a0eb3e5213bbda40" + "a24915df542477474dc5d44ec44c114d" ], [ "Bug442.walk_alt", @@ -264,7 +264,7 @@ "typing_tok_Prims.LexTop@tok", "well-founded-ordering-on-nat" ], 0, - "c50670b735753f4325ed8b0dcdf7d25e" + "9d959dc0ddd4230c4165134d5d26d1f7" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug451.fst.hints b/tests/bug-reports/Bug451.fst.hints index b86c830ad33..4a7e2ed581a 100644 --- a/tests/bug-reports/Bug451.fst.hints +++ b/tests/bug-reports/Bug451.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug451.return_squash" ], 0, - "4cbd1958206af4ac8ed2a1fd6876510f" + "8de9524bab2458c58b874d804ca9ed5e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug463b.fst.hints b/tests/bug-reports/Bug463b.fst.hints index 3769e175ef9..6873602f259 100644 --- a/tests/bug-reports/Bug463b.fst.hints +++ b/tests/bug-reports/Bug463b.fst.hints @@ -24,7 +24,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "497e355cffa30ee4c7f520f1820690a2" + "a10bdc7407208577e6af984f66d0e58b" ], [ "Bug463b.eq1", @@ -50,7 +50,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "3e351ddea341449bff2d9c6f72228b78" + "e2029fbc2e3cfb25ebfa4684ae2100c1" ], [ "Bug463b.eq1", @@ -77,7 +77,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "1dc70914df164df519300cf9435ddb1b" + "1f6c7ea21459556e3bbc8efc878b743b" ], [ "Bug463b.eq2", @@ -98,7 +98,7 @@ "typing_Bug463b.move_refinement" ], 0, - "8952d3bed2b0d0798e63a11311dcace9" + "49b987b86009b222885a5cb58afddaf7" ], [ "Bug463b.lemma_move_refinement_length", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "701b9b8fd973a55cd89006eeac14e004" + "7515d3ed0e0c51ff83eb57306b476770" ], [ "Bug463b.lemma_move_refinement_length", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7e3e51e6cc81f6a8b2f9b3e52a03157" + "6c097286c9cbe5741712fb6213f1c766" ], [ "Bug463b.lemma_move_refinement_length", @@ -155,7 +155,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "5ca990b3042ee51a38d998fcde2ca2c0" + "a516986329e07e2aa69e8d353176cf68" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug466.fst.hints b/tests/bug-reports/Bug466.fst.hints index a6719c4c993..445934c0a66 100644 --- a/tests/bug-reports/Bug466.fst.hints +++ b/tests/bug-reports/Bug466.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "26cf3e2612d75135bad4b1421e6e29c1" + "279328a12c589a9f99864158c862179c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug517.fst.hints b/tests/bug-reports/Bug517.fst.hints index 86306ad4537..cc319d2abe0 100644 --- a/tests/bug-reports/Bug517.fst.hints +++ b/tests/bug-reports/Bug517.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_ccca5f91040f12ee7ed29f269126342d" ], 0, - "fdd24a5dca2b3c79d2e33a48641e67a5" + "8ba7718908b9b1ecd26f78d1f4d8f285" ], [ "Bug517.add'", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_ccca5f91040f12ee7ed29f269126342d" ], 0, - "8a6ed622660d8399b8bf082c53a7a79c" + "b2668d82358411434b7d9f937aee2415" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug543.fst.hints b/tests/bug-reports/Bug543.fst.hints index c7e377ff483..a92fc44e783 100644 --- a/tests/bug-reports/Bug543.fst.hints +++ b/tests/bug-reports/Bug543.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "260c87ca60ab4141ddcd35a233068bde" + "e1f0e205ef34110140fdd5d9d8aaf9ac" ], [ "Bug543.f", @@ -30,7 +30,7 @@ "typing_Bug543.r" ], 0, - "505773164ca65d091476d986323c6c12" + "13334f99c5159f771c9200deb2897d1e" ], [ "Bug543.g", @@ -45,7 +45,7 @@ "typing_Bug543.r" ], 0, - "38a744a351e51926cc6008bed01e87e1" + "8023439a46764229eb0b7ee621e2fff9" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug566.fst.hints b/tests/bug-reports/Bug566.fst.hints index 5dc7f60cbbf..531f7ac37aa 100644 --- a/tests/bug-reports/Bug566.fst.hints +++ b/tests/bug-reports/Bug566.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_ca26a7be6e8d5671df710d5a799d30b5" ], 0, - "d9e21cd1fc5eea97fd89b7d1f835626c" + "9255742700d96dc21db5e0c1ba7e7dae" ], [ "Bug566.__proj__F__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_2dc605cac2a2b1e27d394607dbcd94b7" ], 0, - "a4e29b71e67a0fd5e57487f41fd83084" + "b821ffd4bb36fc4c2e1e89d7e13bd451" ], [ "Bug566.__proj__C'__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_c69cc4c61eeac57c1118fca0dc112ca5" ], 0, - "7f15302014f1980f21803748ba5ba18f" + "70b261b4dba5a0d97bc90599bce84dc4" ], [ "Bug566.__proj__F'__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_5518a97d3f72135e379d9e2c8d483299" ], 0, - "00268b5acc1d42774ffe11d1d3f13bd4" + "3e3cdf435f71bcac68daa8615b4fa793" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug575.fst.hints b/tests/bug-reports/Bug575.fst.hints index 755fa8818c4..74e45d6214d 100644 --- a/tests/bug-reports/Bug575.fst.hints +++ b/tests/bug-reports/Bug575.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug575.Multi_step0" ], 0, - "abc7c1831d8df5f1c2fe730db287a0ca" + "496f30eaa39061b8bd0be4c8e5954e19" ], [ "Bug575.__proj__Multi_step__item___1", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug575.Multi_step" ], 0, - "ac002a8a5f5004e7bb610ddf17498763" + "26758583d51aaa037233c8483979ca4e" ], [ "Bug575.__proj__FRReturn__item___1", @@ -26,7 +26,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug575.FRReturn" ], 0, - "03a9a2578d5baa17670ea8cb3decbe80" + "400b8862bdcb0861eac4411d332442a5" ], [ "Bug575.__proj__Refl__item__x", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_0f4f98da9a374e716ef63572d08c0b40" ], 0, - "b0e20706e111e584a11e3bf687fba454" + "f7bada4f8d96a7c33496a0e345c53563" ], [ "Bug575.__proj__Step__item__x", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "23d2b58d75818a614c590ef17704e086" + "aaee201eb5a0e00eec18245956108780" ], [ "Bug575.__proj__Step__item__y", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "0cf9422d4910843c9bf9430ca32c9bea" + "ac56206b7959eb379613fb294639adb6" ], [ "Bug575.__proj__Step__item__z", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "e53b4ec367171e0b40c9eb571df4ac8b" + "8cc046e4373fed1a13b912a5ae7aaf11" ], [ "Bug575.__proj__Step__item__s", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "5b00099b5c697e03ce8987893eb9ef01" + "178d9177fb3124656856b526dee05a7f" ], [ "Bug575.__proj__Step__item___4", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "c3ee16f528542eb0a7648c6a81916618" + "22abf0cde431dd84d954c24be2059c6d" ], [ "Bug575.__proj__Refl'__item__x", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_e842d8cdb49263b0948f29d3f459ae2c" ], 0, - "6e0c7ce83e986be4db0d98b60e405967" + "62e213a938b3de2261e9599d7216ab37" ], [ "Bug575.__proj__Step'__item__x", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "412b957cdf5d5a14c40332f8205b1a64" + "879b96259b0339f98eb772a900aa6f9c" ], [ "Bug575.__proj__Step'__item__y", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "3422b64e1360fb6bba58cb6dc24e1082" + "fd078ef2a33a756db9db3efe321c5c3b" ], [ "Bug575.__proj__Step'__item___2", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "ee374a18c3834b6c43406f8c0c3d0afd" + "28146d08396f7a8f6a22f1ae78cb6b86" ], [ "Bug575.__proj__Trans'__item__x", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "a92f128c81e8541d869d4cc6efd37e76" + "e7e0d838f686010257a3a8a8dd149004" ], [ "Bug575.__proj__Trans'__item__y", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "b544c0349c1c954ae388f6fd8aa5ae04" + "09e5ee38210c142c6022bffa1e717e08" ], [ "Bug575.__proj__Trans'__item__z", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "bcadfe96a2e93febecf6140c7da41dce" + "95269f36f5b2f917fb32c7ae7c28c30b" ], [ "Bug575.__proj__Trans'__item___3", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "56a8be896f5cb92e61ca36e6b2a8045f" + "780f947db8ff2df64048c76f92caf878" ], [ "Bug575.__proj__Trans'__item___4", @@ -216,7 +216,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "e60e08a3994b7ca7c40f54ce7238b37a" + "33247547b16e53c54c94dc4e453288a5" ], [ "Bug575.i1", @@ -233,7 +233,7 @@ "subterm_ordering_Bug575.Step" ], 0, - "41beed7e120794a0160ee95d60c8c301" + "50982edbdeea8f46e6a35c32a2fc4000" ], [ "Bug575.trans", @@ -250,7 +250,7 @@ "subterm_ordering_Bug575.Step" ], 0, - "151b243a50c5b6702ea54ef1c63ef212" + "9bca378017ad80dddd73eaaa1f60e36b" ], [ "Bug575.i2", @@ -268,7 +268,7 @@ "subterm_ordering_Bug575.Trans_" ], 0, - "d72e254a600034338f32d68e1dd7016a" + "c79cb0ce03f6cabe9f70a6630092d668" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug577.fst.hints b/tests/bug-reports/Bug577.fst.hints index 7bb88f5bde2..9a8a2780d9d 100644 --- a/tests/bug-reports/Bug577.fst.hints +++ b/tests/bug-reports/Bug577.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Bug577.Multi_step" ], 0, - "680a22b5f3c092f7f8ef2ecdf9db03d7" + "708234ad953fdedd542e96e136c2c30f" ], [ "Bug577.steps_preserves_red", @@ -20,7 +20,7 @@ "fuel_guarded_inversion_Bug577.step" ], 0, - "a1c1211ad6ca05b24d927621f935ddf7" + "dbc34869da80e250b334cdbfeee515ba" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug579.fst.hints b/tests/bug-reports/Bug579.fst.hints index 6d4c363efdd..62e1b20c014 100644 --- a/tests/bug-reports/Bug579.fst.hints +++ b/tests/bug-reports/Bug579.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2421057fe24c7ac3afa46c3436f82985" + "37248dd93058094553e4d3924df3bcf6" ], [ "Bug579.__proj__TyEqu__item__ht", @@ -24,7 +24,7 @@ "projection_inverse_Bug579.TyEqu_t2" ], 0, - "f24a3da9b9c1a8fb8a772a31a14b125e" + "03c88922a87b5594a70e7da7a3b3c293" ], [ "Bug579.progress'", @@ -38,7 +38,7 @@ "subterm_ordering_Bug579.TyEqu" ], 0, - "75248ac7310758fbbe16d3b2993a19c6" + "4f3a63448ccafec8f27c008dfb828d6c" ], [ "Bug579.progress", @@ -52,7 +52,7 @@ "subterm_ordering_Bug579.TyEqu" ], 0, - "af226dc2ee5f72e5e7b8dad8a90fdeb1" + "ace29d81d2a66eeef16ce3ce269c817c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug581.fst.hints b/tests/bug-reports/Bug581.fst.hints index d5ce8f15106..a116bbbf011 100644 --- a/tests/bug-reports/Bug581.fst.hints +++ b/tests/bug-reports/Bug581.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "45e158c47b24a3fc8fea8ce4c1017fb1" + "1d09ca84995e25ee1dc0327f0c13b1cf" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug589.fst.hints b/tests/bug-reports/Bug589.fst.hints index 59c813591d1..23aaf227783 100644 --- a/tests/bug-reports/Bug589.fst.hints +++ b/tests/bug-reports/Bug589.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b37431d5ce80448ad9d9648330a52518" + "11d975c0cc5f022f35deb9febcde62a2" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug590.fst.hints b/tests/bug-reports/Bug590.fst.hints index 65394bc97c0..01178912bce 100644 --- a/tests/bug-reports/Bug590.fst.hints +++ b/tests/bug-reports/Bug590.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Bug590_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "81256d9ca384bcfb0e6ad36639da4dd4" + "e878924c0f65894f81b4b7edbe42a031" ], [ "Bug590.coerce", @@ -30,7 +30,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0d9129eb3d307b4180d238cec65d3725" + "4ce6b7255c937e1798a18c563d4548ef" ], [ "Bug590.blah2", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "ae09971e57ffab28fe90244dc2f69235" + "bd039ad2dff3f0854ced1b48a8e1f7e0" ], [ "Bug590.flatten_lemma", @@ -68,7 +68,7 @@ "typing_FStar.List.Tot.Base.flatten" ], 0, - "bfcdae2f44748cf60cdae4d35c2b3fa0" + "dedb60d90b97aaecd41550629c921109" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug605.fst.hints b/tests/bug-reports/Bug605.fst.hints index fa85f5575b4..57cb6a391b7 100644 --- a/tests/bug-reports/Bug605.fst.hints +++ b/tests/bug-reports/Bug605.fst.hints @@ -11,7 +11,7 @@ "fuel_guarded_inversion_Bug605.peq" ], 0, - "7d117cd73e4fc5af69f44c330fec01e6" + "3e14297dc33b616a429f5502ce1ca9bf" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug606.fst.hints b/tests/bug-reports/Bug606.fst.hints index 351fc023595..408b0cdc12d 100644 --- a/tests/bug-reports/Bug606.fst.hints +++ b/tests/bug-reports/Bug606.fst.hints @@ -15,7 +15,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5cf2b60e4eade896c8945fb8311abc3c" + "d941a20e6dc0a7df5fa61c37bfd24d9a" ], [ "Bug606.g", @@ -31,7 +31,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ff55e5a2d61d5ac5ab965669e3f4054f" + "b48ed5a7182f334918acb294c4189042" ], [ "Bug606.f_eq_g", @@ -58,7 +58,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9c7d7741d83858c8a45d8b1b9adc29d4" + "29a1abf4d31b9dd3f329ab33bb32bccd" ], [ "Bug606.h", @@ -74,7 +74,7 @@ "lemma_Bug606.f_eq_g" ], 0, - "542c9b94998c22ecc2ff75b8bab2ce17" + "2101396f12aae06003e706af0ed46635" ], [ "Bug606.uint64_to_uint32", @@ -83,7 +83,7 @@ 1, [ "@query" ], 0, - "4981396daa20e9df765accd3bc21f791" + "c3663756c8b23752605dbd928726c4ed" ], [ "Bug606.uint64_to_uint32", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "b5e83b0a0bf89712bf8015c4466f6c5a" + "98ebdf4f92df82627312482962491ac1" ], [ "Bug606.uint64_to_uint32", @@ -110,7 +110,7 @@ "typing_FStar.UInt64.v" ], 0, - "72413ca4c272a327bd87fb0200ce9565" + "97c796da86af3efb250391c23593f104" ], [ "Bug606.uint64_to_uint32'", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "8acc6f72e000b70797c313e9c4d702d2" + "1a08a829864b5764a3491cc508a5e092" ], [ "Bug606.uint64_to_uint32'", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "cf933976c99eb3cd896adc199182b083" + "8d1fa2dc37ba89ac0f380aa9973d1d6b" ], [ "Bug606.uint64_to_uint32'", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_3ef4a51931da44c64f612b2a96bb7412" ], 0, - "f5de6b8613320f1afc655b336673fdb1" + "11592a975e798b9f5ee37c693e0d4251" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug609.fst.hints b/tests/bug-reports/Bug609.fst.hints index f31934dc999..10f0911a7a4 100644 --- a/tests/bug-reports/Bug609.fst.hints +++ b/tests/bug-reports/Bug609.fst.hints @@ -27,7 +27,7 @@ "typing_FStar.List.Tot.Base.fold_left" ], 0, - "b74b2570083bdbd37f0b6acce6982036" + "62555eb2a3f8c7f773d2859db133f566" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug613.fst.hints b/tests/bug-reports/Bug613.fst.hints index c7671b2fff3..2234f2de2fa 100644 --- a/tests/bug-reports/Bug613.fst.hints +++ b/tests/bug-reports/Bug613.fst.hints @@ -11,7 +11,7 @@ "function_token_typing_Bug613.g" ], 0, - "dcfb94799f3be48bdfa9db3198681b99" + "1e880ce75e77fb3a12a7c4997a723275" ], [ "Bug613.l'", @@ -23,7 +23,7 @@ "function_token_typing_Bug613.g" ], 0, - "4c76ec8a4306b0a16dcbcb5f6f9b9144" + "8b07c5f92b8ea007c8a807267b58b46f" ], [ "Bug613.l''", @@ -35,7 +35,7 @@ "function_token_typing_Bug613.h" ], 0, - "677865385b99f896a89829297b26c82b" + "8bd6f8e98b3c72e8949a0e8a6d0c100e" ], [ "Bug613.test_i", @@ -47,7 +47,7 @@ "function_token_typing_Bug613.i1" ], 0, - "d424e24f8325be7cf737a649edb9a2c6" + "76617b975f390deea497ca1d1f756cb8" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug623.fst.hints b/tests/bug-reports/Bug623.fst.hints index 10f8466d0dd..0b47265c7ca 100644 --- a/tests/bug-reports/Bug623.fst.hints +++ b/tests/bug-reports/Bug623.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b2941a943e4dff678ba4e4b778b9e08c" + "2c8268fa4867e8cb5b008bc4b5f7b888" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug706.fst.hints b/tests/bug-reports/Bug706.fst.hints index 39ddabbc218..0fd8444407a 100644 --- a/tests/bug-reports/Bug706.fst.hints +++ b/tests/bug-reports/Bug706.fst.hints @@ -17,7 +17,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "6b780e193e33db853b6b373821c2a264" + "94e7fd275aa5504bea954eda4f644ef2" ], [ "Bug706._dm4f_EXNST_bind_wp", diff --git a/tests/bug-reports/Bug707.fst.hints b/tests/bug-reports/Bug707.fst.hints index bdade92cdec..90a25fc29d5 100644 --- a/tests/bug-reports/Bug707.fst.hints +++ b/tests/bug-reports/Bug707.fst.hints @@ -21,7 +21,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "1940be267531b780d68fefbfa1c617dd" + "37772492d3918e4e3cf432ef17b07494" ], [ "Bug707._dm4f_STEXN_bind_wp", diff --git a/tests/bug-reports/Bug710.fst.hints b/tests/bug-reports/Bug710.fst.hints index b7137391bc1..8d2d6fbfd72 100644 --- a/tests/bug-reports/Bug710.fst.hints +++ b/tests/bug-reports/Bug710.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "2056c2593ddb1f43028c0cc235484415" + "5d48fdb82d24bb143278816013fb5178" ], [ "Bug710.left_unit", @@ -48,7 +48,7 @@ "typing_Bug710.bind_ifc", "typing_Bug710.return_ifc" ], 0, - "34e7e16053c74d9b0f0b52f624aaee43" + "04f28a1d44fc8de97e5cc156d779d389" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug734.fst.hints b/tests/bug-reports/Bug734.fst.hints index c3fb820c67c..72c7ce5ccb8 100644 --- a/tests/bug-reports/Bug734.fst.hints +++ b/tests/bug-reports/Bug734.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Bug734.dir" ], 0, - "ab9a3b1dab421be2782a5a0fb4e0306e" + "a675dd6b9141d97b865104b9a2c5bde6" ], [ "Bug734.def_value", @@ -31,7 +31,7 @@ "typing_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "5e37d8ae5c9265a280ce7a782a712cdc" + "955e77b1a34fa1e2fa35b2f043e1a99c" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug736.fst.hints b/tests/bug-reports/Bug736.fst.hints index 731fbf93ec4..8f8e0353d9e 100644 --- a/tests/bug-reports/Bug736.fst.hints +++ b/tests/bug-reports/Bug736.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_b0ecc9ff3d7b826e8dfbdbd99e83c3c3" ], 0, - "88e161ed3311ff1e7697f382148ddfb2" + "9233afb264400eb04ee45bf41ff6ede4" ], [ "Bug736.__proj__Goal__item___1", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_b0ecc9ff3d7b826e8dfbdbd99e83c3c3" ], 0, - "67878a3bacbffdedf7f267c584e4c1de" + "02a8ca0d8302dc676f60ae338e56b552" ], [ "Bug736.__proj__AHyp__item__a", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "f8cad2070e9dddcc7eece5a6ae9b2105" + "19fa68da2ed5ef235fed3a731c3a7e95" ], [ "Bug736.__proj__AHyp__item___1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "f8072931507549f5385c650e56407ecd" + "f6acb6247ea3f9d26bf8b1a38f9f1785" ], [ "Bug736.__proj__AHyp__item___2", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "9a763ca8359315ff2c4e64651dd4a215" + "ccf4bab452f5de03f51013de1ce54e7e" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug771.fsti.hints b/tests/bug-reports/Bug771.fsti.hints index 6082d0bfa97..da1ef31a432 100644 --- a/tests/bug-reports/Bug771.fsti.hints +++ b/tests/bug-reports/Bug771.fsti.hints @@ -11,7 +11,7 @@ "haseqBug771_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "40b624acdf73f754b3347b7f17f597bf" + "82eed0541283ad1449dcfa8cc5a911b8" ], [ "Bug771.ctemplate", @@ -23,7 +23,7 @@ "haseqBug771_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "4a4eccc3d2d9a610fcbd02a48bdc9911" + "b11dd3c0337077e076dd6c3622dff8ad" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug771b.fsti.hints b/tests/bug-reports/Bug771b.fsti.hints index 168b02ba37c..d6dfa5097b5 100644 --- a/tests/bug-reports/Bug771b.fsti.hints +++ b/tests/bug-reports/Bug771b.fsti.hints @@ -11,7 +11,7 @@ "haseqBug771b_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "f19f1f0a1036dc3fa380a60455bde3b8" + "14a771b1052d424c29c75125ccf8f904" ], [ "Bug771b.ctemplate", @@ -23,7 +23,7 @@ "haseqBug771b_Tm_refine_e9bac726dc879b078c8f51ca7283a7cd" ], 0, - "a4aa96d047c4d1e7a94bc764f8bf8afd" + "a163936a0dff098f6600c223fc4fb271" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug829.fst.hints b/tests/bug-reports/Bug829.fst.hints index 416c7f409a0..ecc24ed6594 100644 --- a/tests/bug-reports/Bug829.fst.hints +++ b/tests/bug-reports/Bug829.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "e15a2b0b0a9bba5315fcd8f2a7ad1e9f" + "4cfb429dab056fe632a8656c308b667f" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug844.fst.hints b/tests/bug-reports/Bug844.fst.hints index 4b46aa57fa4..d02f5398d22 100644 --- a/tests/bug-reports/Bug844.fst.hints +++ b/tests/bug-reports/Bug844.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6e419b0d91b56ecd10199f11d91ecc9b" + "8a5988b3f447e60a97950b52464b3f87" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug855a.fst.hints b/tests/bug-reports/Bug855a.fst.hints index 697a2a8e89c..9aae9af7ff2 100644 --- a/tests/bug-reports/Bug855a.fst.hints +++ b/tests/bug-reports/Bug855a.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "8f1ff3f4f549d9c0e6265631dd6e0e32" + "fc2cbfc0c5d1905aeacdefda5580d338" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug855b.fst.hints b/tests/bug-reports/Bug855b.fst.hints index fb95c9c1ea2..31a039df6b1 100644 --- a/tests/bug-reports/Bug855b.fst.hints +++ b/tests/bug-reports/Bug855b.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce6adac733444e7f3ce680a0647354d6" + "de3c606122bc67022cbc0806645210bc" ], [ "Bug855b.__proj__Q_Cons__item__h", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "559916f2a320dc7800442063d40f0c53" + "474644c9443dd6068c2c30530992df07" ], [ "Bug855b.__proj__Q_Cons__item__h", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8b0cb77db3393c9e556528e58cc4387" + "bb8269bbcb23533508052c4a0cc816e5" ], [ "Bug855b.main", @@ -61,7 +61,7 @@ "typing_FStar.Seq.Base.empty" ], 0, - "78d830df3f9ac3dce7f4d7fd960bb99c" + "eb1542029e938ce7208811f202227c90" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Bug989.fst.hints b/tests/bug-reports/Bug989.fst.hints index 2fab59a94a7..fde02b566ef 100644 --- a/tests/bug-reports/Bug989.fst.hints +++ b/tests/bug-reports/Bug989.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "54f7d1f8299042035f1500fd3e03ab54" + "4fd8c27c1e6f674c1d59f3bcd689f6c8" ], [ "Bug989.foo", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "38d2d91391274b6703dcb062635aad89" + "a671a6a746fedccfed5d8d57de2d8ec0" ], [ "Bug989.f", @@ -47,7 +47,7 @@ "disc_equation_Bug989.B", "fuel_guarded_inversion_Bug989.t" ], 0, - "48e9c7bee5b0c28510c3851c5d85d50f" + "c01572f254275cb13ddcca9ccb0582f0" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/BugWildcardTelescopes.fst.hints b/tests/bug-reports/BugWildcardTelescopes.fst.hints index bbcaac113b5..16d5fd1a20e 100644 --- a/tests/bug-reports/BugWildcardTelescopes.fst.hints +++ b/tests/bug-reports/BugWildcardTelescopes.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_6f800725a2ab3936b9ac21216e7655c8" ], 0, - "38f24913bdea4e4fe17db0b12f947da4" + "f7c6ea16d0e5e9e1e447ef5ac8cb0ad6" ], [ "BugWildcardTelescopes.__proj__T1__item___1", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_6f800725a2ab3936b9ac21216e7655c8" ], 0, - "468945e7ee0d1c2793b53715b4c91b97" + "c075b68ae8bb5f15ad7c9321b01eee35" ], [ "BugWildcardTelescopes.__proj__T2__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_12dd99db1541ccf13536d82eba053826" ], 0, - "8475a00b28acbd140b61dae8487c150d" + "fe28f03e595a0fcc0fe420f45e6cc4ed" ], [ "BugWildcardTelescopes.__proj__T2__item___1", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_12dd99db1541ccf13536d82eba053826" ], 0, - "5d0ab72e4da621289537125ac1a20796" + "1124b0f909fc76339e3a29c942bfc52a" ], [ "BugWildcardTelescopes.bar", @@ -69,7 +69,7 @@ "fuel_guarded_inversion_BugWildcardTelescopes.simple" ], 0, - "54fad0ab1dd713d0ef6e1eb4d5964f3d" + "50130261c29a9f7e8767216f88e7327e" ], [ "BugWildcardTelescopes.__proj__E__item__a", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_f702fff5c1aebb395ca937da1bbf7e4a" ], 0, - "4d85e6466811e8a49d0a200fce6791cf" + "be4f89c5c47c542899359e6bcd693bf7" ], [ "BugWildcardTelescopes.__proj__F__item__a", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_b31795212ab701a8f413cfe25bda86bc" ], 0, - "5c68423ccf4c6a6c59edc4150ca0dbd4" + "f1f8ad9dc80a8e5c95c84f6ae66b6197" ], [ "BugWildcardTelescopes.f", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd" ], 0, - "f16da7aa01ba1e0d10f8b8aad2ac5365" + "7872772802f9cb4dd66a00f224eafaa0" ], [ "BugWildcardTelescopes.__proj__G__item__a", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_16580d568b4e5780ab3a53ee95d43ee0" ], 0, - "915eacbb6f3bd10be2e7bfd1e96c8927" + "4c63f44c979d7d5272016143261a9be7" ], [ "BugWildcardTelescopes.__proj__G__item__b", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_16580d568b4e5780ab3a53ee95d43ee0" ], 0, - "645e681299ac70fc28985e0c002f569e" + "b68504a495bef6b040b8df40dbcc0c6d" ], [ "BugWildcardTelescopes.__proj__H__item__a", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_8f3af65825926c1ffb9a05035c6296e2" ], 0, - "e61b715d15b87677e333e94e37f3be3f" + "588b0d9dcb4b374f87f7b2cfe7e580ff" ], [ "BugWildcardTelescopes.__proj__H__item__b", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_8f3af65825926c1ffb9a05035c6296e2" ], 0, - "d861d824697d8c2951c32740a98f93f5" + "e0cda223a0eb6ff0b7b21673446da036" ], [ "BugWildcardTelescopes.foo3", @@ -190,7 +190,7 @@ "fuel_guarded_inversion_BugWildcardTelescopes.e" ], 0, - "fd0710f5f79d1fdb7f7cfa70a056c7f1" + "9f8dd88c2dcdde74e76b50618953374a" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Dec.fst.hints b/tests/bug-reports/Dec.fst.hints index 153cd7b59d1..e066cc09065 100644 --- a/tests/bug-reports/Dec.fst.hints +++ b/tests/bug-reports/Dec.fst.hints @@ -19,7 +19,7 @@ "well-founded-ordering-on-nat" ], 0, - "8922f67a85c0d11185444f63bc754bb5" + "c0f6819da6e1ff99305ae3289426b787" ], [ "Dec.f1", @@ -39,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "b047edf4abaa5e25e256e5e02a886a6a" + "d014dbb024eff1197acc75c383e6cd3e" ], [ "Dec.f1", @@ -59,21 +59,7 @@ "well-founded-ordering-on-nat" ], 0, - "2192b60ba35b49d2fbbf66a93e185260" - ], - [ - "Dec.pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a552ebc947dcb6c596451d111ebf7416" + "c595650c32de862e9c01365fd7618b77" ], [ "Dec.g", @@ -95,7 +81,7 @@ "well-founded-ordering-on-nat" ], 0, - "80b0c588ba47c48011db0ba272bbe703" + "e186d961a0e31d83fb340f3dacef3c69" ], [ "Dec.h", @@ -117,7 +103,7 @@ "well-founded-ordering-on-nat" ], 0, - "4f77eb2904e70b53b93927ba0bb9be6c" + "da6301f5ceacefd22fc47452ec5b445b" ], [ "Dec.old", @@ -137,7 +123,7 @@ "well-founded-ordering-on-nat" ], 0, - "b2f1d6891ff955326f9742d4b7f2708d" + "affc71a3b06fd38d8f4ba93278e0768f" ], [ "Dec.old2", @@ -157,7 +143,7 @@ "well-founded-ordering-on-nat" ], 0, - "7a573fe330fd4ce5d4b7251c74a2111d" + "cfca51b027a72bb28c584899a9c3f392" ], [ "Dec.simple", @@ -175,7 +161,7 @@ "well-founded-ordering-on-nat" ], 0, - "5777d7ada220490407302f2598f8e6c7" + "4e4db34fca823fd94c21bc14ea316e5a" ], [ "Dec.last", @@ -195,7 +181,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "50b0cc5df3abe64ebb62985617ea69c9" + "32aff2d71b403aa8f087a0a6624bb014" ], [ "Dec.test_inner_let_rec", @@ -215,7 +201,7 @@ "well-founded-ordering-on-nat" ], 0, - "46d156aef3272448ca652acd1170a747" + "d7c4912fed5e32f398cdf42fc9e9f754" ], [ "Dec.factorial_tail", @@ -235,7 +221,7 @@ "well-founded-ordering-on-nat" ], 0, - "1b34e0696ffd372c70cdfc63100a675b" + "c411fabb10128cb645cdaa98024e94e4" ], [ "Dec.test_inner_let_rec_with_wf", @@ -254,7 +240,7 @@ "well-founded-ordering-on-nat" ], 0, - "aaf642515636d6530f1a3b93184727e1" + "237f2f7f0337d6829d58a1c9eca35eb8" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/ExtractionBug2.fst.hints b/tests/bug-reports/ExtractionBug2.fst.hints index 47fd773259c..984ed7672b2 100644 --- a/tests/bug-reports/ExtractionBug2.fst.hints +++ b/tests/bug-reports/ExtractionBug2.fst.hints @@ -11,7 +11,7 @@ "kinding_ExtractionBug2.list@tok" ], 0, - "420ac139e09a7b04d1ba35b2be6271e4" + "e420fa48bbc6da9c0165ad3ecf9124c3" ], [ "ExtractionBug2.__proj__Cons__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_88eeb34ca0a5b886dd99b47abdefbb52" ], 0, - "8720d90493269b98670570a6fa5975ac" + "82eaf15598354f7d37be0ec40dfde923" ], [ "ExtractionBug2.app_my_lists", @@ -42,7 +42,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "8568a70f6f77aaff3dafb0242bf5667b" + "dcc8164dd8ae4cfaf39247fd94905023" ], [ "ExtractionBug2.app", @@ -56,7 +56,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5ef0b5c7d856655c737d4ce7086ffd06" + "da71c5afb874b63b948ff6cdf3321515" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/Makefile b/tests/bug-reports/Makefile index 2ee827efcb1..334111eb487 100644 --- a/tests/bug-reports/Makefile +++ b/tests/bug-reports/Makefile @@ -2,6 +2,8 @@ FSTAR_HOME=../.. include $(FSTAR_HOME)/examples/Makefile.include include $(FSTAR_HOME)/ulib/ml/Makefile.include +OTHERFLAGS+=--warn_error +240 + all: verify iverify not-verify extract ################## @@ -50,7 +52,8 @@ SHOULD_VERIFY_CLOSED=Bug022.fst Bug024.fst Bug025.fst Bug026.fst Bug026b.fst Bug Bug2635.fst Bug2637.fst Bug2641.fst Bug1486.fst PropProofs.fst \ Bug2684a.fst Bug2684b.fst Bug2684c.fst Bug2684d.fst Bug2659b.fst\ Bug2756.fst MutualRecPositivity.fst Bug2806a.fst Bug2806b.fst Bug2806c.fst Bug2806d.fst Bug2809.fst\ - Bug2849a.fst Bug2849b.fst Bug2045.fst Bug2876.fst Bug2882.fst Bug2895.fst Bug2894.fst + Bug2849a.fst Bug2849b.fst Bug2045.fst Bug2876.fst Bug2882.fst Bug2895.fst Bug2894.fst \ + Bug2415.fst SHOULD_VERIFY_INTERFACE_CLOSED=Bug771.fsti Bug771b.fsti SHOULD_VERIFY_AND_WARN_CLOSED=Bug016.fst diff --git a/tests/bug-reports/PropProofs.fst.hints b/tests/bug-reports/PropProofs.fst.hints index 434ec2111d0..be38b46aa73 100644 --- a/tests/bug-reports/PropProofs.fst.hints +++ b/tests/bug-reports/PropProofs.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e42f28a08581f197da44c502985417fc" + "01362dd12e7a810c915215ce7cae7aab" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/ScopeOfBinderGuard.fst.hints b/tests/bug-reports/ScopeOfBinderGuard.fst.hints index 5f2ec4dfa6d..d17e04896e5 100644 --- a/tests/bug-reports/ScopeOfBinderGuard.fst.hints +++ b/tests/bug-reports/ScopeOfBinderGuard.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "a465c280a7c2302ea4e2663c28a39766" + "6b8a177db7bf75decfd64594f2913886" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/UnificationCrash.fst.hints b/tests/bug-reports/UnificationCrash.fst.hints index dbbb85e3a99..36ac7561a0c 100644 --- a/tests/bug-reports/UnificationCrash.fst.hints +++ b/tests/bug-reports/UnificationCrash.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d2e60afa8f75433df6452455693db115" + "c75f934c4943e312ab6fecce071be74b" ] ] ] \ No newline at end of file diff --git a/tests/bug-reports/ValLetRec.fst.hints b/tests/bug-reports/ValLetRec.fst.hints new file mode 100644 index 00000000000..424a6bad64c --- /dev/null +++ b/tests/bug-reports/ValLetRec.fst.hints @@ -0,0 +1,52 @@ +[ + "giÄ¡Ê¡Mzªb¦Q8¾2", + [ + [ + "ValLetRec.tt", + 1, + 2, + 1, + [ "@query" ], + 0, + "48ec199cbddc27b38bf58ab92e561af0" + ], + [ + "ValLetRec.__proj__A__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_9f8cdf5b59c7868a420342e13f3b1fcc" + ], + 0, + "8127cb7102c485cb1ebfcc1f35999d65" + ], + [ + "ValLetRec.__proj__B__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1bc58c5296cb54dc8f0ebdadb0dcbe1" + ], + 0, + "478a462e7f9d8a6202676c55c3258921" + ], + [ + "ValLetRec.cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_6de9362c46708c57af4825efdaff2e57_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "subterm_ordering_ValLetRec.A" + ], + 0, + "ecd718f3102c1b9dca3039cdeef1e7a7" + ] + ] +] \ No newline at end of file diff --git a/tests/bug-reports/unfold.fst.hints b/tests/bug-reports/unfold.fst.hints index 1f093b83a44..50585940052 100644 --- a/tests/bug-reports/unfold.fst.hints +++ b/tests/bug-reports/unfold.fst.hints @@ -12,7 +12,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "b2ff63d730bf612c6cb087e7a271fe1a" + "f869ae2846de221766f08d7f83602462" ] ] ] \ No newline at end of file diff --git a/tests/coercions/Makefile b/tests/coercions/Makefile new file mode 100644 index 00000000000..bb98c2bec1c --- /dev/null +++ b/tests/coercions/Makefile @@ -0,0 +1,14 @@ +FSTAR_HOME=../.. + +FSTAR_FILES = $(wildcard *.fst) + +all: verify-all + +include $(FSTAR_HOME)/examples/Makefile.common + +verify-all: $(CACHE_DIR) $(addsuffix .checked, $(addprefix $(CACHE_DIR)/, $(FSTAR_FILES))) + +clean: + rm -f .depend + rm -rf _cache + rm -rf _output diff --git a/tests/coercions/Q.fst b/tests/coercions/Q.fst new file mode 100644 index 00000000000..234092be1cc --- /dev/null +++ b/tests/coercions/Q.fst @@ -0,0 +1,22 @@ +module Q + +open FStar.Ghost +open FStar.Tactics + +let test0 (b:bool) : prop = b + +let test1 (b:bool) : prop = b /\ (eq2 1 2) +let test2 (b:binder) : Tac term = b + +let test3 (t:term) : Tac term_view = t + +let test4 (x : erased bool) : GTot bool = x + +let test5 (x : bool) : erased bool = x + +open FStar.Tactics.NamedView + +[@@expect_failure] +let test6 (x : bool) : nat = x + +let test7 (x : binding) : namedv = x diff --git a/tests/coercions/Q.fst.hints b/tests/coercions/Q.fst.hints new file mode 100644 index 00000000000..785f5ce960c --- /dev/null +++ b/tests/coercions/Q.fst.hints @@ -0,0 +1 @@ +[ "½\u0001Ue÷þkÝ\u0000Ùº=\f6éã", [] ] \ No newline at end of file diff --git a/tests/coercions/T.fst b/tests/coercions/T.fst new file mode 100644 index 00000000000..759b646d7ca --- /dev/null +++ b/tests/coercions/T.fst @@ -0,0 +1,5 @@ +module T + +open FStar.Tactics + +let f (t:term) : Tac term_view = t diff --git a/tests/coercions/T.fst.hints b/tests/coercions/T.fst.hints new file mode 100644 index 00000000000..4e56e87725a --- /dev/null +++ b/tests/coercions/T.fst.hints @@ -0,0 +1 @@ +[ "»\u001f°Õ\u0017/XÓôüÊ/\u001fD6", [] ] \ No newline at end of file diff --git a/tests/error-messages/ArgsAndQuals.fst.expected b/tests/error-messages/ArgsAndQuals.fst.expected index 6021d8bc92c..5f577b92dc9 100644 --- a/tests/error-messages/ArgsAndQuals.fst.expected +++ b/tests/error-messages/ArgsAndQuals.fst.expected @@ -1,6 +1,6 @@ >> Got issues: [ -ArgsAndQuals.fst(25,16-25,18): (Error 91) Inconsistent implicit argument annotation on argument uu___#182 +ArgsAndQuals.fst(25,16-25,18): (Error 91) Inconsistent implicit argument annotation on argument uu___#74 >>] -ArgsAndQuals.fst(23,4-23,9): (Warning 240) Admitting ArgsAndQuals.test1 without a definition +ArgsAndQuals.fst(23,4-23,9): (Warning 240) ArgsAndQuals.test1 is declared but no definition was found; add an 'assume' if this is intentional Verified module: ArgsAndQuals All verification conditions discharged successfully diff --git a/tests/error-messages/Asserts.fst.hints b/tests/error-messages/Asserts.fst.hints new file mode 100644 index 00000000000..eedd4e6e305 --- /dev/null +++ b/tests/error-messages/Asserts.fst.hints @@ -0,0 +1 @@ +[ "û\u0010ü¶ß\u000e\b;Ê\u0014~`\n•„", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug1997.fst.hints b/tests/error-messages/Bug1997.fst.hints index 1c0873845a7..a2216bca805 100644 --- a/tests/error-messages/Bug1997.fst.hints +++ b/tests/error-messages/Bug1997.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0a0b36eb9881d520544491db06478b89" + "8ac7431ceefb67eb20fa285e62bc3806" ], [ "Bug1997.uu___22", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "1536a85d0b9943ea71632cf3de6b3a7f" + "6e6b0d4d412e69f067b7e927ad8e78fd" ], [ "Bug1997.uu___33", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "8170642cdeb7daef45be0e207c4d6a8d" + "7843c98b6f92ff1a007723bfa1d42a62" ], [ "Bug1997.uu___51", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "60a193646048e73cafd9c59085e13079" + "3fa224491a7db92c0f56ba5e79b93908" ], [ "Bug1997.uu___69", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "7697477471da2b1760f4380052f48a65" + "b7abe434a91331b8213561114e7ea5dc" ], [ "Bug1997.uu___84", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "e3cb92c75daca5b3559fd17adadab45f" + "4f15ce339d6150675a4b53655ab1f94d" ], [ "Bug1997.uu___107", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "ab3c3a898347d7e855e29e67c3150fba" + "e4f0630f9e998c1c280d3cd9cd8f2c6b" ], [ "Bug1997.uu___108", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "9649ebd4d709d12f0433395ef820657e" + "8bc7e8f0d68560d9cc0037780dcb9e91" ], [ "Bug1997.uu___109", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "8303dc75087c2db5745afc3c3951259e" + "8b32957690123c556aef700f5cc9ab6d" ], [ "Bug1997.uu___134", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "2cc18f733d0100edf8503e0cb06a61d3" + "a8514acf7ee2a545cdad0425796597d1" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2899.fst b/tests/error-messages/Bug2899.fst index 4144618eb37..66bbe0aad8d 100644 --- a/tests/error-messages/Bug2899.fst +++ b/tests/error-messages/Bug2899.fst @@ -1,6 +1,6 @@ module Bug2899 -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--warn_error -266" // failed unembeddings [@@expect_failure [228]] diff --git a/tests/error-messages/Bug2899.fst.expected b/tests/error-messages/Bug2899.fst.expected index 061d51a5c29..4f4ba645c9a 100644 --- a/tests/error-messages/Bug2899.fst.expected +++ b/tests/error-messages/Bug2899.fst.expected @@ -25,7 +25,7 @@ Goal 1/1: >> Got issues: [ Bug2899.fst(13,12-13,18): (Error 228) user tactic failed: `Tactic got stuck! -Reduction stopped at: FStar.Tactics.Builtins.dump (Prims.admit ()) "(((proofstate)))" +Reduction stopped at: FStar.Tactics.V2.Builtins.dump (Prims.admit ()) "(((proofstate)))" The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?` >>] proof-state: State dump @ depth 0 (at the time of failure): diff --git a/tests/error-messages/Bug2899.fst.hints b/tests/error-messages/Bug2899.fst.hints new file mode 100644 index 00000000000..eac83c67148 --- /dev/null +++ b/tests/error-messages/Bug2899.fst.hints @@ -0,0 +1 @@ +[ "šÁÏ/Ü\u000f᪔ŒÇM\u0007\u0019|ø", [] ] \ No newline at end of file diff --git a/tests/error-messages/Calc.fst b/tests/error-messages/Calc.fst index c79d08a891b..813aae1db7d 100644 --- a/tests/error-messages/Calc.fst +++ b/tests/error-messages/Calc.fst @@ -2,7 +2,7 @@ module Calc open FStar.Mul open FStar.Calc -open FStar.Tactics +open FStar.Tactics.V2 let eta (f:'a->'b->bool) x y : Type0 = f x y diff --git a/tests/error-messages/Calc.fst.hints b/tests/error-messages/Calc.fst.hints index be327f0fdd4..6eea08d2962 100644 --- a/tests/error-messages/Calc.fst.hints +++ b/tests/error-messages/Calc.fst.hints @@ -1 +1 @@ -[ "!Øù“b\u0017ç\n¿Ø§£¶\u001e(n", [] ] \ No newline at end of file +[ "\b´kßÂc=p\u001d¥è ž\n", [] ] \ No newline at end of file diff --git a/tests/error-messages/CalcImpl.fst.hints b/tests/error-messages/CalcImpl.fst.hints index f7468e5f85f..60bba8a37ba 100644 --- a/tests/error-messages/CalcImpl.fst.hints +++ b/tests/error-messages/CalcImpl.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "85f4db66ad6a1e61a2de02260fdbf154" + "90b08fca9f25c7f48aedca9b367c762e" ], [ "CalcImpl.test3", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5aa160f8759c942d0c458c8ec3c586cc" + "9f2312a19ab75a7ec8762fad7e2e045d" ], [ "CalcImpl.test4", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eeab0d7eec4f265e9ad44664ac3403a8" + "849ea5afab2cef8cb9eccf55b0bff606" ], [ "CalcImpl.test5", @@ -50,7 +50,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cbabb0286d27f3f1ad968f85138a121e" + "0f035b34bdd8751ea7a96d1a298f381c" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Coercions.fst.hints b/tests/error-messages/Coercions.fst.hints index 79d5d165824..9d881e43d68 100644 --- a/tests/error-messages/Coercions.fst.hints +++ b/tests/error-messages/Coercions.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Ghost.hide" ], 0, - "04e3be5bb0ce345df9547360e31a550a" + "d9f4545b76671d85a1387153b16f3599" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/DumpUvarsOf.fst b/tests/error-messages/DumpUvarsOf.fst index 3d763b00ec0..c44c5f59b3b 100644 --- a/tests/error-messages/DumpUvarsOf.fst +++ b/tests/error-messages/DumpUvarsOf.fst @@ -1,6 +1,6 @@ module DumpUvarsOf -open FStar.Tactics +open FStar.Tactics.V2 assume val p : bool -> int -> Type assume val q : Type diff --git a/tests/error-messages/DumpUvarsOf.fst.hints b/tests/error-messages/DumpUvarsOf.fst.hints index e5dd54125ae..f6faad55300 100644 --- a/tests/error-messages/DumpUvarsOf.fst.hints +++ b/tests/error-messages/DumpUvarsOf.fst.hints @@ -1 +1 @@ -[ "ÛCu?r¥ÝBÙ|×Ggóýw", [] ] \ No newline at end of file +[ "üìÄ¢X\u0005†1ˆu\u0016ÅÚ'¨í", [] ] \ No newline at end of file diff --git a/tests/error-messages/Erasable.fst.expected b/tests/error-messages/Erasable.fst.expected index 5faad34abb2..1d70b6f5009 100644 --- a/tests/error-messages/Erasable.fst.expected +++ b/tests/error-messages/Erasable.fst.expected @@ -16,7 +16,7 @@ Erasable.fst(52,0-52,17): (Error 162) Mismatch of attributes between declaration >> Got issues: [ Erasable.fst(59,0-59,29): (Error 162) Mismatch of attributes between declaration and definition: Declaration is marked `erasable` but the definition is not >>] -Erasable.fst(49,4-49,11): (Warning 240) Admitting Erasable.e_nat_2 without a definition -Erasable.fst(56,4-56,11): (Warning 240) Admitting Erasable.e_nat_3 without a definition +Erasable.fst(49,4-49,11): (Warning 240) Erasable.e_nat_2 is declared but no definition was found; add an 'assume' if this is intentional +Erasable.fst(56,4-56,11): (Warning 240) Erasable.e_nat_3 is declared but no definition was found; add an 'assume' if this is intentional Verified module: Erasable All verification conditions discharged successfully diff --git a/tests/error-messages/Erasable.fst.hints b/tests/error-messages/Erasable.fst.hints index ced3ead8275..ff7ad556081 100644 --- a/tests/error-messages/Erasable.fst.hints +++ b/tests/error-messages/Erasable.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_3c192a2edf78cec4f1eb553cb69a4e8f" ], 0, - "fa345b1b2a394f65b05c20b4c0091084" + "a8d555e5524ad06273f0f92d81b04d95" ], [ "Erasable.__proj__That__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_ec597d6979f8847712206596e24a9e2d" ], 0, - "f10ffea929eb3e3433e5b51a88ca231a" + "31153b7986378cd915d0beb9dbf62bcd" ], [ "Erasable.test", @@ -36,7 +36,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "762887f54c9175a5bacc63df42c7f42b" + "569524b3d6c0e1e16c5d0e9e707f5423" ], [ "Erasable.test_promotion", @@ -49,7 +49,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "44bb30899bd27011d872d69affc2cdb1" + "183931908526447b5fc9590bc5e4481f" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Inference.fst.hints b/tests/error-messages/Inference.fst.hints index 4e7d44d2c94..75fedcb738e 100644 --- a/tests/error-messages/Inference.fst.hints +++ b/tests/error-messages/Inference.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.Monotonic.DependentMap.empty" ], 0, - "f2e007d1ffe72f58c81a58d05db3fa41" + "13c919eb742075922ed8deefe7f8bce0" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Makefile b/tests/error-messages/Makefile index 39024f61624..81db0989c74 100644 --- a/tests/error-messages/Makefile +++ b/tests/error-messages/Makefile @@ -6,7 +6,7 @@ FSTAR_FILES=$(wildcard *.fst) # 241: "unable to load checked file" # 247: "checked file was not written" # 333: "unable to read hints" -OTHERFLAGS+=--warn_error -241-247-333-274 +OTHERFLAGS+=--warn_error -241-247-333-274+240 # Sorry, without this we can get noise in error locations. # See issue #1993. Also, warnings from dependencies would diff --git a/tests/error-messages/NegativeTests.BST.fst.hints b/tests/error-messages/NegativeTests.BST.fst.hints index 6465567632c..e3e06fedf83 100644 --- a/tests/error-messages/NegativeTests.BST.fst.hints +++ b/tests/error-messages/NegativeTests.BST.fst.hints @@ -12,7 +12,7 @@ "int_inversion", "kinding_NegativeTests.BST.tree@tok" ], 0, - "fde982f14c0d8ec711c176c92471d1eb" + "3954467ef461ae7d39ab2e948d68b308" ], [ "NegativeTests.BST.__proj__Leaf__item__n", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" ], 0, - "b0e25349de79d25385710fa61d3c319b" + "166a00ef6b36bb8da2bfc7e5ae667780" ], [ "NegativeTests.BST.__proj__Node__item__l", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "e791043cdf86962185337a264538816e" + "49255efc8bdcd67733f9bdd255849637" ], [ "NegativeTests.BST.__proj__Node__item__left", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "07459cb201b2e2de0b860dca7eecaca3" + "4299d56f1766bb187f2f5b8f54984e92" ], [ "NegativeTests.BST.__proj__Node__item__n", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "a07c78eb4331e5fa469c826e5004700a" + "bfe9d49d74170f2af708916b5de71fba" ], [ "NegativeTests.BST.__proj__Node__item__r", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "8321884c3ff7526fc83d6fb41b8a9e33" + "998791575ec8ec52db5dc230870a79e4" ], [ "NegativeTests.BST.__proj__Node__item__right", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "b529392c8e217610e716f396a14e37be" + "0603c0e63eecee05ebe0edf9875a8a6e" ], [ "NegativeTests.BST.test_node_1", @@ -99,7 +99,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "ef235da1b39d815c15a88b672e7dee8c" + "bf3eac005ff2bc3ba6d9c833e5e819ac" ], [ "NegativeTests.BST.test_node_2", @@ -118,7 +118,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "3845a0bc7574d353445d6e4ac6d2290a" + "2388912a09e91e6986645db359405f3b" ], [ "NegativeTests.BST.test_node_3", @@ -135,7 +135,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0" ], 0, - "efc3a48a88b343fd6f743a492427dafe" + "b942ec15548d80c770d900ba6184a913" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Bug260.fst.expected b/tests/error-messages/NegativeTests.Bug260.fst.expected index 20da5c8d973..da81b755837 100644 --- a/tests/error-messages/NegativeTests.Bug260.fst.expected +++ b/tests/error-messages/NegativeTests.Bug260.fst.expected @@ -1,6 +1,6 @@ >> Got issues: [ NegativeTests.Bug260.fst(26,12-26,19): (Error 19) Subtyping check failed; expected type validity (S (S t)); got type validity (S t); The SMT solver could not prove the query. Use --query_stats for more details. (see also NegativeTests.Bug260.fst(23,37-26,9)) >>] -NegativeTests.Bug260.fst(23,4-23,7): (Warning 240) Admitting NegativeTests.Bug260.bad without a definition +NegativeTests.Bug260.fst(23,4-23,7): (Warning 240) NegativeTests.Bug260.bad is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.Bug260 All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.Bug260.fst.hints b/tests/error-messages/NegativeTests.Bug260.fst.hints index 5b135ac9269..a2e4845311e 100644 --- a/tests/error-messages/NegativeTests.Bug260.fst.hints +++ b/tests/error-messages/NegativeTests.Bug260.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9a2f9917cd4761977414063dbd5d8e1d" + "141e1d64036796897c2d6d6509b04cf7" ], [ "NegativeTests.Bug260.__proj__S__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" ], 0, - "3b1da54587a5b065ffdbe04eea79e548" + "095109921a3791cb8fda6fb7f81fbcf3" ], [ "NegativeTests.Bug260.validity", @@ -29,7 +29,7 @@ 1, [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], 0, - "e21322795bb7d0a871f9755e5f7f92ad" + "7419834845299b08bc26415b13533789" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.False.fst.expected b/tests/error-messages/NegativeTests.False.fst.expected index 191be01f513..db489112215 100644 --- a/tests/error-messages/NegativeTests.False.fst.expected +++ b/tests/error-messages/NegativeTests.False.fst.expected @@ -7,7 +7,7 @@ NegativeTests.False.fst(30,18-30,41): (Error 12) Expected type "Prims.l_True \/ NegativeTests.False.fst(30,42-30,66): (Error 12) Expected type "Prims.l_True \/ Prims.l_True"; but "Prims.Right Prims.T" has type "Prims.sum Prims.l_True (*?u6*) _" NegativeTests.False.fst(30,42-30,66): (Error 12) Expected type "Prims.l_True \/ Prims.l_True"; but "Prims.Right Prims.T" has type "Prims.sum Prims.l_True Prims.trivial" >>] -NegativeTests.False.fst(21,4-21,7): (Warning 240) Admitting NegativeTests.False.bar without a definition -NegativeTests.False.fst(28,4-28,10): (Warning 240) Admitting NegativeTests.False.absurd without a definition +NegativeTests.False.fst(21,4-21,7): (Warning 240) NegativeTests.False.bar is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.False.fst(28,4-28,10): (Warning 240) NegativeTests.False.absurd is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.False All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.False.fst.hints b/tests/error-messages/NegativeTests.False.fst.hints index 419dacac32d..a76fa2cda5e 100644 --- a/tests/error-messages/NegativeTests.False.fst.hints +++ b/tests/error-messages/NegativeTests.False.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "e8b31a59056a1f5232803601b6235d67" + "a0b173b93f556d5fa6cc74fa60420722" ], [ "NegativeTests.False.f", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ca9dbd56616cf3a1afe99c5d87a0f91" + "7c39af6577dce223a19ec017825d9bf2" ], [ "NegativeTests.False.f", @@ -35,7 +35,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "0cc859ba1fb07feff4734df3b57af9c0" + "0b05aec1a506c479f4b37afb9587e63d" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Neg.fst.expected b/tests/error-messages/NegativeTests.Neg.fst.expected index 908625a09af..94a1ad7ac6b 100644 --- a/tests/error-messages/NegativeTests.Neg.fst.expected +++ b/tests/error-messages/NegativeTests.Neg.fst.expected @@ -31,10 +31,10 @@ NegativeTests.Neg.fst(59,0-60,17): (Error 309) Type annotation _: Type0{Negative >> Got issues: [ NegativeTests.Neg.fst(63,0-63,32): (Error 309) Type annotation _: Type{Prims.l_False} for inductive NegativeTests.Neg.t2 is not Type or eqtype, or it is eqtype but contains noeq/unopteq qualifiers >>] -NegativeTests.Neg.fst(18,4-18,5): (Warning 240) Admitting NegativeTests.Neg.x without a definition -NegativeTests.Neg.fst(22,4-22,5): (Warning 240) Admitting NegativeTests.Neg.y without a definition -NegativeTests.Neg.fst(36,4-36,27): (Warning 240) Admitting NegativeTests.Neg.test_precondition_label without a definition -NegativeTests.Neg.fst(40,4-40,28): (Warning 240) Admitting NegativeTests.Neg.test_postcondition_label without a definition -NegativeTests.Neg.fst(44,4-44,17): (Warning 240) Admitting NegativeTests.Neg.bad_projector without a definition +NegativeTests.Neg.fst(18,4-18,5): (Warning 240) NegativeTests.Neg.x is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Neg.fst(22,4-22,5): (Warning 240) NegativeTests.Neg.y is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Neg.fst(36,4-36,27): (Warning 240) NegativeTests.Neg.test_precondition_label is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Neg.fst(40,4-40,28): (Warning 240) NegativeTests.Neg.test_postcondition_label is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Neg.fst(44,4-44,17): (Warning 240) NegativeTests.Neg.bad_projector is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.Neg All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.Neg.fst.hints b/tests/error-messages/NegativeTests.Neg.fst.hints index 71cc892e86e..dc46a5b8393 100644 --- a/tests/error-messages/NegativeTests.Neg.fst.hints +++ b/tests/error-messages/NegativeTests.Neg.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8d1a4a3816a587c3cc108a5579fc570a" + "61995cacf11a233aa0f523515fb852d1" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Positivity.fst.hints b/tests/error-messages/NegativeTests.Positivity.fst.hints index 4b44439df2f..17119d39538 100644 --- a/tests/error-messages/NegativeTests.Positivity.fst.hints +++ b/tests/error-messages/NegativeTests.Positivity.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" ], 0, - "e44fc31b52966d40c82140d35fef350b" + "6b7f7d6c127f6e304fca6d4421ad7d1d" ], [ "NegativeTests.Positivity.__proj__C42__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "780209913710ac8cd8c9af31b94e24ac" + "c8f8aa78b6ecf941302c761fc1379935" ], [ "NegativeTests.Positivity.__proj__C42__item___1", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "ffb24db668cbb209a7fc5639201d35cd" + "e730f8828acae0bf478c126d4b22b98b" ], [ "NegativeTests.Positivity.__proj__C61__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "3000156483fd187b3eb78e6b3f042ab5" + "2bbf082b313dedd82cebb97f318acdfe" ], [ "NegativeTests.Positivity.__proj__C61__item___1", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "c7734a2ee9be130c2e12c662ee47dd1e" + "40503559745aa3fac66754f7fcf49c19" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Set.fst.expected b/tests/error-messages/NegativeTests.Set.fst.expected index 50cc9f72c10..e46909c8b6f 100644 --- a/tests/error-messages/NegativeTests.Set.fst.expected +++ b/tests/error-messages/NegativeTests.Set.fst.expected @@ -7,8 +7,8 @@ NegativeTests.Set.fst(33,9-33,67): (Error 19) assertion failed; The SMT solver c >> Got issues: [ NegativeTests.Set.fst(38,9-38,52): (Error 19) assertion failed; The SMT solver could not prove the query. Use --query_stats for more details. >>] -NegativeTests.Set.fst(25,4-25,16): (Warning 240) Admitting NegativeTests.Set.should_fail1 without a definition -NegativeTests.Set.fst(30,4-30,16): (Warning 240) Admitting NegativeTests.Set.should_fail2 without a definition -NegativeTests.Set.fst(35,4-35,16): (Warning 240) Admitting NegativeTests.Set.should_fail3 without a definition +NegativeTests.Set.fst(25,4-25,16): (Warning 240) NegativeTests.Set.should_fail1 is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Set.fst(30,4-30,16): (Warning 240) NegativeTests.Set.should_fail2 is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Set.fst(35,4-35,16): (Warning 240) NegativeTests.Set.should_fail3 is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.Set All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.ShortCircuiting.fst.expected b/tests/error-messages/NegativeTests.ShortCircuiting.fst.expected index f1ba117bcce..bef80716f3b 100644 --- a/tests/error-messages/NegativeTests.ShortCircuiting.fst.expected +++ b/tests/error-messages/NegativeTests.ShortCircuiting.fst.expected @@ -4,7 +4,7 @@ NegativeTests.ShortCircuiting.fst(21,16-21,33): (Error 19) Subtyping check faile >> Got issues: [ NegativeTests.ShortCircuiting.fst(25,11-25,36): (Error 19) assertion failed; The SMT solver could not prove the query. Use --query_stats for more details. (see also prims.fst(430,90-430,102)) >>] -NegativeTests.ShortCircuiting.fst(19,4-19,7): (Warning 240) Admitting NegativeTests.ShortCircuiting.bad without a definition -NegativeTests.ShortCircuiting.fst(23,4-23,6): (Warning 240) Admitting NegativeTests.ShortCircuiting.ff without a definition +NegativeTests.ShortCircuiting.fst(19,4-19,7): (Warning 240) NegativeTests.ShortCircuiting.bad is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.ShortCircuiting.fst(23,4-23,6): (Warning 240) NegativeTests.ShortCircuiting.ff is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.ShortCircuiting All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.Termination.fst.expected b/tests/error-messages/NegativeTests.Termination.fst.expected index 63b2ea47aed..091b3bd42a1 100644 --- a/tests/error-messages/NegativeTests.Termination.fst.expected +++ b/tests/error-messages/NegativeTests.Termination.fst.expected @@ -28,15 +28,15 @@ NegativeTests.Termination.fst(89,29-89,31): (Error 19) Could not prove terminati >> Got issues: [ NegativeTests.Termination.fst(96,20-96,26): (Error 19) Could not prove termination of this recursive call; The SMT solver could not prove the query. Use --query_stats for more details. (see also NegativeTests.Termination.fst(94,2-96,26)) >>] -NegativeTests.Termination.fst(18,4-18,9): (Warning 240) Admitting NegativeTests.Termination.bug15 without a definition -NegativeTests.Termination.fst(23,4-23,18): (Warning 240) Admitting NegativeTests.Termination.repeat_diverge without a definition -NegativeTests.Termination.fst(31,4-31,17): (Warning 240) Admitting NegativeTests.Termination.ackermann_bad without a definition -NegativeTests.Termination.fst(38,4-38,14): (Warning 240) Admitting NegativeTests.Termination.length_bad without a definition -NegativeTests.Termination.fst(50,4-50,18): (Warning 240) Admitting NegativeTests.Termination.strangeZeroBad without a definition -NegativeTests.Termination.fst(61,4-61,6): (Warning 240) Admitting NegativeTests.Termination.t1 without a definition -NegativeTests.Termination.fst(69,4-69,8): (Warning 240) Admitting NegativeTests.Termination.plus without a definition -NegativeTests.Termination.fst(77,4-77,9): (Warning 240) Admitting NegativeTests.Termination.plus' without a definition -NegativeTests.Termination.fst(84,4-84,9): (Warning 240) Admitting NegativeTests.Termination.minus without a definition -NegativeTests.Termination.fst(91,4-91,7): (Warning 240) Admitting NegativeTests.Termination.xxx without a definition +NegativeTests.Termination.fst(18,4-18,9): (Warning 240) NegativeTests.Termination.bug15 is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(23,4-23,18): (Warning 240) NegativeTests.Termination.repeat_diverge is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(31,4-31,17): (Warning 240) NegativeTests.Termination.ackermann_bad is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(38,4-38,14): (Warning 240) NegativeTests.Termination.length_bad is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(50,4-50,18): (Warning 240) NegativeTests.Termination.strangeZeroBad is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(61,4-61,6): (Warning 240) NegativeTests.Termination.t1 is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(69,4-69,8): (Warning 240) NegativeTests.Termination.plus is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(77,4-77,9): (Warning 240) NegativeTests.Termination.plus' is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(84,4-84,9): (Warning 240) NegativeTests.Termination.minus is declared but no definition was found; add an 'assume' if this is intentional +NegativeTests.Termination.fst(91,4-91,7): (Warning 240) NegativeTests.Termination.xxx is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.Termination All verification conditions discharged successfully diff --git a/tests/error-messages/NegativeTests.Termination.fst.hints b/tests/error-messages/NegativeTests.Termination.fst.hints index 015a54d66f9..d3675e3fa84 100644 --- a/tests/error-messages/NegativeTests.Termination.fst.hints +++ b/tests/error-messages/NegativeTests.Termination.fst.hints @@ -18,7 +18,7 @@ "well-founded-ordering-on-nat" ], 0, - "ea88afdc63da24a2c4f96dd7739c7587" + "8284f15d1253ce09ffb5e9396524ffa3" ], [ "NegativeTests.Termination.snat", @@ -27,7 +27,7 @@ 1, [ "@query" ], 0, - "95d190330049705311cc7e9f06de7421" + "f9224cb83559ed044785bddae3e2de9e" ], [ "NegativeTests.Termination.__proj__S__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" ], 0, - "cf4388e68f33deb2c788979503b9ff87" + "f4a46e51d5bf42606119a2ce38f10e23" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.expected b/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.expected index 68e16261a3c..9cc6ba68653 100644 --- a/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.expected +++ b/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.expected @@ -1,6 +1,6 @@ >> Got issues: [ NegativeTests.ZZImplicitFalse.fst(20,26-20,27): (Error 66) Failed to resolve implicit argument ?1 of type Prims.l_False introduced for user-provided implicit term at NegativeTests.ZZImplicitFalse.fst(20,26-20,27) >>] -NegativeTests.ZZImplicitFalse.fst(18,4-18,7): (Warning 240) Admitting NegativeTests.ZZImplicitFalse.wtf without a definition +NegativeTests.ZZImplicitFalse.fst(18,4-18,7): (Warning 240) NegativeTests.ZZImplicitFalse.wtf is declared but no definition was found; add an 'assume' if this is intentional Verified module: NegativeTests.ZZImplicitFalse All verification conditions discharged successfully diff --git a/tests/error-messages/PatAnnot.fst.hints b/tests/error-messages/PatAnnot.fst.hints index 00ce34d88d2..1684cfdb291 100644 --- a/tests/error-messages/PatAnnot.fst.hints +++ b/tests/error-messages/PatAnnot.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7188c3b8fc2f92586920a7e40e37ccd2" + "bb6061bd413b587ff8ecac6f6338933b" ], [ "PatAnnot.test4", @@ -26,7 +26,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1fbde207b5e51e51afaf7d0927dcf0b1" + "c949aee9475212308d1a8865122af76e" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/PatCoerce.fst.expected b/tests/error-messages/PatCoerce.fst.expected index 224471a28db..117502122f1 100644 --- a/tests/error-messages/PatCoerce.fst.expected +++ b/tests/error-messages/PatCoerce.fst.expected @@ -1,6 +1,6 @@ >> Got issues: [ PatCoerce.fst(25,4-25,8): (Error 114) Type of pattern (Prims.bool) does not match type of scrutinee (Type0) >>] -PatCoerce.fst(20,4-20,7): (Warning 240) Admitting PatCoerce.bla without a definition +PatCoerce.fst(20,4-20,7): (Warning 240) PatCoerce.bla is declared but no definition was found; add an 'assume' if this is intentional Verified module: PatCoerce All verification conditions discharged successfully diff --git a/tests/error-messages/PatternMatch.fst.hints b/tests/error-messages/PatternMatch.fst.hints index 3ada98dad37..bbb3c8d73a8 100644 --- a/tests/error-messages/PatternMatch.fst.hints +++ b/tests/error-messages/PatternMatch.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_PatternMatch.uu___13" ], 0, - "74efde35591ae39e69434f9550bef8cb" + "b4d613f9db33e064df6458b7dd8903fc" ], [ "PatternMatch.uu___45", @@ -23,7 +23,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "126a46db46b8eff647b2292160001e71" + "27982a0e0e05a0654befefac5a6a40be" ], [ "PatternMatch.uu___46", @@ -38,7 +38,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "82ef791648fdd1411805815e732ba0df" + "11ee560d6f471c9440e8a8141a84ce9d" ], [ "PatternMatch.uu___47", @@ -53,7 +53,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "26042c06dc01c469e14a7393cea5354a" + "c076761702cc5f402b3724bedf329c73" ], [ "PatternMatch.uu___48", @@ -68,7 +68,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "7b578f790ccee14439294335a8a4c63d" + "3667806b0e0a5dc90107f13014148a2e" ], [ "PatternMatch.x", @@ -81,7 +81,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "ddfa61ce6215854b0c3ada9b8628308e" + "8774a112e5356875cdc5f39c755129f6" ], [ "PatternMatch.z", @@ -94,7 +94,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "8740f1353481619b23f2620a708d036e" + "25923445ceefc65b7a7fe9becba4b7fa" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/QuickTestNBE.fst.hints b/tests/error-messages/QuickTestNBE.fst.hints index dc4ef10e957..ad78106b7ff 100644 --- a/tests/error-messages/QuickTestNBE.fst.hints +++ b/tests/error-messages/QuickTestNBE.fst.hints @@ -1,5 +1,5 @@ [ - "cÿöhƒñJð\u0018\tã·ì¡,", + ";!ì>ájEbI½zx/—`<", [ [ "QuickTestNBE.label", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8f0aa85d609b760fc1cdb4846afd5624" + "e1a457efa3bce3679a17ab1b5800fa47" ], [ "QuickTestNBE.__proj__QEmpty__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_094f3af0eb1394cef01fbb0cf7a0b6a2" ], 0, - "873396439c1275ce7634112e7826bfb0" + "91d7dd9044c8e5241ac9a2d5b8ddf814" ], [ "QuickTestNBE.__proj__QPURE__item__r", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" ], 0, - "8457c80df133bc4fefb9ad739696274a" + "0e5de37690552d40d6795503368009b7" ], [ "QuickTestNBE.__proj__QPURE__item__msg", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" ], 0, - "ea70ab5894fe42c83166a0e0363daa5a" + "6dd375e7dc3583d48bb8ac6dc6a1cac3" ], [ "QuickTestNBE.__proj__QPURE__item__pre", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" ], 0, - "8a16c3897321fc616cd1ec9193d9f8ec" + "317c0d41511479f89dd0a4cd6c61fd26" ], [ "QuickTestNBE.__proj__QPURE__item___3", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" ], 0, - "710424c293b13ef5a4e989351f9c43f7" + "a3761d32abea3f4b0bd1230458d1cbe0" ], [ "QuickTestNBE.__proj__QPURE__item___4", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" ], 0, - "12dea019805813416f129cf3f17390d7" + "9122fca36e69dfbe87fabe501dbbaf8b" ], [ "QuickTestNBE.wp", @@ -100,7 +100,7 @@ "subterm_ordering_QuickTestNBE.QPURE" ], 0, - "084327d02affbc84a068630db72aa249" + "db9730f3f92776833d1cd1e3f76760d6" ], [ "QuickTestNBE.qblock", @@ -109,7 +109,7 @@ 1, [ "@query", "equation_QuickTestNBE.t_ensure" ], 0, - "3452f19613f7ff1f52c82c05a10715cb" + "a343bd0fe5d30766fb11583b8d34702e" ], [ "QuickTestNBE.va_qcode_Test", @@ -130,7 +130,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "16c34cdf30f7a6f33e3f06117cd2db02" + "d19e0acff340ba4099393ce8f2d2e6a4" ], [ "QuickTestNBE.va_lemma_Test", @@ -142,7 +142,7 @@ "unit_inversion" ], 0, - "687cdd2eb9929fc2e825feceb142c813" + "8feda0bcd97dbe7024205886c3d4c9ce" ], [ "QuickTestNBE.va_qcode_Test2", @@ -157,7 +157,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "3394e05e6b488cb4b7c6601718d0a80c" + "7ab6ae5801b080c215bd665755f0b10f" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/RecordFields.fst.hints b/tests/error-messages/RecordFields.fst.hints new file mode 100644 index 00000000000..6a5f69bc155 --- /dev/null +++ b/tests/error-messages/RecordFields.fst.hints @@ -0,0 +1 @@ +[ "&Iµ-ƒ/\rPîX\u0004\u0003•£0‰", [] ] \ No newline at end of file diff --git a/tests/error-messages/ResolveImplicitsErrorPos.fst b/tests/error-messages/ResolveImplicitsErrorPos.fst index bc7f1943e2f..a91f067c450 100644 --- a/tests/error-messages/ResolveImplicitsErrorPos.fst +++ b/tests/error-messages/ResolveImplicitsErrorPos.fst @@ -1,6 +1,6 @@ module ResolveImplicitsErrorPos -open FStar.Tactics +open FStar.Tactics.V2 let tag : unit = () diff --git a/tests/error-messages/ResolveImplicitsErrorPos.fst.hints b/tests/error-messages/ResolveImplicitsErrorPos.fst.hints index 539deb4c8f7..f330694b81e 100644 --- a/tests/error-messages/ResolveImplicitsErrorPos.fst.hints +++ b/tests/error-messages/ResolveImplicitsErrorPos.fst.hints @@ -1 +1 @@ -[ "Éî”×Ô§¸T\bo¾p80[", [] ] \ No newline at end of file +[ "†¯î1zý_\u0001]‚¦€Ïzá½", [] ] \ No newline at end of file diff --git a/tests/error-messages/StrictUnfolding.fst b/tests/error-messages/StrictUnfolding.fst index b91eec5007e..75301a8e2b7 100644 --- a/tests/error-messages/StrictUnfolding.fst +++ b/tests/error-messages/StrictUnfolding.fst @@ -16,7 +16,7 @@ module StrictUnfolding (* This is a test case for the `FStar.Pervasives.strict_on_arguments` attribute *) open FStar.Integers -open FStar.Tactics +open FStar.Tactics.V2 [@@(strict_on_arguments [1])] let project #a (x:option a{Some? x}) = diff --git a/tests/error-messages/StrictUnfolding.fst.hints b/tests/error-messages/StrictUnfolding.fst.hints index 1cc87a8aea8..899e2f3ef10 100644 --- a/tests/error-messages/StrictUnfolding.fst.hints +++ b/tests/error-messages/StrictUnfolding.fst.hints @@ -1,5 +1,5 @@ [ - "À¢0BoûkeŠ\u0018¶ýÃNÎ", + "Xyã\u0001á­‘MZOI>q\u001b0®", [ [ "StrictUnfolding.project", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" ], 0, - "5eadbaa14fe739dd5631656080fa0bb0" + "efd6bc1b5b3a8d70c2bc3d805628f0eb" ], [ "StrictUnfolding.test1", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_88b070fdaa2704b0d1fcf1ddd6ee47eb" ], 0, - "889bab13b5b7eda10a106e63e14682ad" + "41e6b0057ed4c1c6ee8fa3f04909091a" ], [ "StrictUnfolding.test2", @@ -43,7 +43,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "true_interp" ], 0, - "7dc5cf90f6b178edd65aa4dbf4579291" + "e69830ac7aa46cd94cfdb6caf2039007" ], [ "StrictUnfolding.test_integer_generic", @@ -110,7 +110,7 @@ "typing_FStar.UInt8.add" ], 0, - "eca19c267c9374adba9518853c6b4592" + "fa4650d1345a391b882240a0b859b306" ], [ "StrictUnfolding.test_integer_generic_wo_fstar_integers", @@ -119,7 +119,7 @@ 1, [ "@query", "true_interp" ], 0, - "466d3a8dec5dada90179b3f8304343ae" + "f40bbd4b48276e3ded1e6d75c51dc047" ], [ "StrictUnfolding.test_int_64", @@ -128,7 +128,7 @@ 1, [ "@query", "true_interp" ], 0, - "8c23bc6abf994a739caa81bbd6570f50" + "7f76e3bb523f3346eaff1967efaf0e34" ], [ "StrictUnfolding.test_int_64", @@ -141,7 +141,7 @@ "typing_FStar.UInt64.add" ], 0, - "4be6650a38baad844b131bd570838f29" + "29c653516e297fbc9157a49797fa2652" ], [ "StrictUnfolding.test_extraction_generic", @@ -150,7 +150,7 @@ 1, [ "@query" ], 0, - "4de34acc3455cfa7a68d9493b06a4494" + "312c6f7729a9432a5a29f8f898e21263" ], [ "StrictUnfolding.test_extraction_specific", @@ -159,7 +159,7 @@ 1, [ "@query" ], 0, - "52792e1ad03eb012207b30a5d6847210" + "9378060f57ea57dae54d9f2fd92a75f1" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/StringNormalization.fst.hints b/tests/error-messages/StringNormalization.fst.hints index a43f282d63c..3dc752585ca 100644 --- a/tests/error-messages/StringNormalization.fst.hints +++ b/tests/error-messages/StringNormalization.fst.hints @@ -23,7 +23,7 @@ "typing_FStar.Char.char" ], 0, - "5b0135abaab0c1c801af2bbf826e2168" + "e88286664108d530297d7fc0404228c9" ], [ "StringNormalization.uu___4", @@ -32,7 +32,7 @@ 1, [ "@query", "equation_FStar.String.char" ], 0, - "4056d94fb99ce5bb29db9571d789ab79" + "177f055892c2fd76dcf8216b542b7874" ], [ "StringNormalization.uu___5", @@ -79,7 +79,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "be304e8ab1956eb689a700ce947302a2" + "b4e0f5ca3de03027c7a82b3bb7979b8b" ], [ "StringNormalization.uu___8", @@ -88,7 +88,7 @@ 1, [ "@query" ], 0, - "8985628ddbb12e1db4f4858c37887b21" + "02e3d35bb5ddb6f075ccbae53b9383b8" ], [ "StringNormalization.uu___9", @@ -97,7 +97,7 @@ 1, [ "@query" ], 0, - "bd01e42dd72ee721b1f58cd66896028a" + "07a2cd7a223aa6f23004ef626f74a6b3" ], [ "StringNormalization.uu___11", @@ -106,7 +106,7 @@ 1, [ "@query" ], 0, - "938c2e3b6f9b1c4d108456176b66cfb1" + "62b0ed9bb0517b45cf1ef5269c076dea" ], [ "StringNormalization.uu___28", @@ -115,7 +115,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "2baf62f59c15977f5ecea60f84518fb7" + "e579c8552d4ef63fc9bfee40fd8af2c7" ], [ "StringNormalization.uu___32", @@ -124,7 +124,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "f459b2c305f02d0a7cf94b6bc7783517" + "9390ec8126c3f276564713e83f2fe4c1" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Test.FunctionalExtensionality.fst.hints b/tests/error-messages/Test.FunctionalExtensionality.fst.hints index c288e51e50f..6a9254e4171 100644 --- a/tests/error-messages/Test.FunctionalExtensionality.fst.hints +++ b/tests/error-messages/Test.FunctionalExtensionality.fst.hints @@ -35,7 +35,7 @@ "typing_Tm_abs_d28f38ba11bb810de36e822e960dcddd" ], 0, - "ad4c9c4aff95379b8ab38d9f86cee785" + "d1a092adf332b5c5ab3c6d3b3866dc94" ], [ "Test.FunctionalExtensionality.shrinking_domains_ok", @@ -52,7 +52,7 @@ "typing_Test.FunctionalExtensionality.g1" ], 0, - "3bcb6a4b03ed4cd9f926effa06b2ec58" + "10ce345da0f2a2f2b950ea0a0607a907" ], [ "Test.FunctionalExtensionality.test_1542", @@ -61,7 +61,7 @@ 1, [ "@query" ], 0, - "288d0b8edcd6b0f5e5d73a916f46addb" + "5b6d3c470f7b37408543a502cb94efa3" ], [ "Test.FunctionalExtensionality.restricted_t_2_idem", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "189a36fd1ca0a950f0b07268857975ef" + "b4ae00a898cce2a08efe33a0bae3defc" ], [ "Test.FunctionalExtensionality.on_2_interp", @@ -101,7 +101,7 @@ "typing_Tm_abs_e9b780d87b9e0e900694c1825f5011b6" ], 0, - "eb84091a01f705595b0d9b22ed01aa36" + "e760820b794a87a2eeffd2f2a0560069" ], [ "Test.FunctionalExtensionality.needs_explicit_coercion", @@ -128,7 +128,7 @@ "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "f6ff1952188eb337c51eec9d23e5a2b4" + "a04382e2db012e44a8ccd796950688fc" ], [ "Test.FunctionalExtensionality.sub_currently_not_why", @@ -155,7 +155,7 @@ "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "8b417dd6f692a969103cc1e0f8ec9ba8" + "d5f327779211ab7be8531150965025c3" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/TestHasEq.fst.hints b/tests/error-messages/TestHasEq.fst.hints index 484093a162a..12f4b33ca94 100644 --- a/tests/error-messages/TestHasEq.fst.hints +++ b/tests/error-messages/TestHasEq.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f0db08fd779c965af682dd18ee3a8a86" + "41956262b2868144aaaf8f8eaa9059cb" ], [ "TestHasEq.__proj__MCons__item__hd", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "86ee6dbd68aab69f38543a7d3a06dd03" + "df32f280115ea9c1499fe739097d356c" ], [ "TestHasEq.__proj__MCons__item__tl", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "125b4c412d227f772f49ed109f82f82a" + "e983288be308d61ddd93cee18bb9643b" ], [ "TestHasEq.__proj__NCons__item__hd", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "60c2833801d41d3ebf33d96dac6276c3" + "3c0695628f70e00709305621686779a1" ], [ "TestHasEq.__proj__NCons__item__tl", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "2b5677d5b5f70a130281b0d3849047e6" + "7a8bdde9a6655d284834ba5ae953e5a0" ], [ "TestHasEq.test1", @@ -73,7 +73,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "138256dc517a1899cc2b066a89f3467e" + "1bce0555b365afe8f2c787b333415a91" ], [ "TestHasEq.test2", @@ -94,7 +94,7 @@ "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "492340de463d7bdabd5c05412bf1ac62" + "5409d6e83f839a7c9a02824e71aec638" ], [ "TestHasEq.t1", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ccb6c184a45b24468304f97c41708f97" + "96c1b6b944a8351b27aa22d3477060d1" ], [ "TestHasEq.test3", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0c7c657be2bf212e0619d7070042c310" + "7b8fba42570b9f3540846ae81768a251" ], [ "TestHasEq.test4", @@ -143,7 +143,7 @@ "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "cb9e5ec5b6044db3165d90ae574c6f24" + "f1a858150c14ef97587ce7fc58af16d2" ], [ "TestHasEq.t4", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "939d2e63711e83cc5cb101f54c5aad4e" + "803250b4998090af424149f15a84c53a" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/Unit2.fst.hints b/tests/error-messages/Unit2.fst.hints index 6135b955347..dd14dbada93 100644 --- a/tests/error-messages/Unit2.fst.hints +++ b/tests/error-messages/Unit2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Prims.nat" ], 0, - "97b2ac6b63356cc31fe1f34357af733e" + "84ccf7dd0adaecfa43b5f5f53dc9a068" ], [ "Unit2.test5", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], 0, - "fa26d4922481f9dc6dc2dbfe34bbe1de" + "fcc0b29a3dd1cc79084df4b4bbbbc0d3" ], [ "Unit2.test7", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "114f86b12fef30822d7fba9829a8b337" + "c60663ac60eb7df08101c7a2df54d050" ], [ "Unit2.__proj__Int__item__i", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_a80b1732c37b674c773643729bebf97c" ], 0, - "55c5aa1f99d27736360f1c61ec1fa165" + "bf89fd84dcd97c5599036254b5a898e8" ], [ "Unit2.__proj__Bool__item__b", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_51f253259fbb75b1f44c4d01d8397ea7" ], 0, - "5fc734047e8f2077ec3cf5ff28bcc45d" + "4ed7a8b1587edecc3000f37856026847" ], [ "Unit2.f", @@ -66,7 +66,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "cc33f732c47508523534ad9e45b170a1" + "945058685573805e937f7a50695305d9" ] ] ] \ No newline at end of file diff --git a/tests/error-messages/WPExtensionality.fst b/tests/error-messages/WPExtensionality.fst index 36f5a2f9f85..bf52e540c19 100644 --- a/tests/error-messages/WPExtensionality.fst +++ b/tests/error-messages/WPExtensionality.fst @@ -15,7 +15,7 @@ *) module WPExtensionality -open FStar.Tactics +open FStar.Tactics.V2 assume val wp1 : (int -> Type0) -> Type0 assume val wp2 : (int -> unit -> Type0) -> Type0 diff --git a/tests/error-messages/WPExtensionality.fst.expected b/tests/error-messages/WPExtensionality.fst.expected index 8cf1b857114..a40de3b0bef 100644 --- a/tests/error-messages/WPExtensionality.fst.expected +++ b/tests/error-messages/WPExtensionality.fst.expected @@ -1,5 +1,21 @@ >> Got issues: [ WPExtensionality.fst(118,3-118,34): (Error 19) assertion failed; The SMT solver could not prove the query. Use --query_stats for more details. (see also prims.fst(430,90-430,102)) >>] +WPExtensionality.fst(25,2-25,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(30,13-30,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(36,2-36,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(41,13-41,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(47,2-47,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(53,13-53,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(59,2-59,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(65,13-65,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(71,2-71,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(76,13-76,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(82,2-82,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(87,13-87,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(93,2-93,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(99,13-99,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(105,2-105,8): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) +WPExtensionality.fst(111,13-111,20): (Warning 288) FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq (see also FStar.Reflection.V2.Builtins.fsti(149,0-149,48)) Verified module: WPExtensionality All verification conditions discharged successfully diff --git a/tests/error-messages/WPExtensionality.fst.hints b/tests/error-messages/WPExtensionality.fst.hints index 2b7848eea02..6662cc7863e 100644 --- a/tests/error-messages/WPExtensionality.fst.hints +++ b/tests/error-messages/WPExtensionality.fst.hints @@ -1 +1 @@ -[ "]\u0015gmàbçq¦MFÒÞÚŒ\u0001", [] ] \ No newline at end of file +[ "]\u0006>3˜6\u001c\\ò¦­mÑ\u000eJ", [] ] \ No newline at end of file diff --git a/tests/friends/1/FriendConsumer.fst.hints b/tests/friends/1/FriendConsumer.fst.hints index 153b917b9b7..4de0a4869a7 100644 --- a/tests/friends/1/FriendConsumer.fst.hints +++ b/tests/friends/1/FriendConsumer.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FriendProvider.x" ], 0, - "3e35e04ea7378728bf51c70ec8660f93" + "25162aa250d010ca692c4ee33f61d8b7" ] ] ] \ No newline at end of file diff --git a/tests/friends/2/FriendConsumer.fst.hints b/tests/friends/2/FriendConsumer.fst.hints index 0d7814e54dc..0779943e183 100644 --- a/tests/friends/2/FriendConsumer.fst.hints +++ b/tests/friends/2/FriendConsumer.fst.hints @@ -11,7 +11,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "c8c145160961fbca99792d2e73146a8f" + "a05b1e9514919c7ff60183cc69d957e4" ] ] ] \ No newline at end of file diff --git a/tests/ide/emacs/FailRange.fst b/tests/ide/emacs/FailRange.fst index a93e6bb6e19..9c3b271105b 100644 --- a/tests/ide/emacs/FailRange.fst +++ b/tests/ide/emacs/FailRange.fst @@ -14,7 +14,7 @@ limitations under the License. *) module FailRange -open FStar.Tactics +open FStar.Tactics.V2 let a : unit = assert_by_tactic (True /\ True) diff --git a/tests/ide/emacs/fstarmode_gh73.fst b/tests/ide/emacs/fstarmode_gh73.fst index 384da93dc2d..97840f9916f 100644 --- a/tests/ide/emacs/fstarmode_gh73.fst +++ b/tests/ide/emacs/fstarmode_gh73.fst @@ -14,6 +14,6 @@ limitations under the License. *) module FStarMode_GH73 -open FStar.Tactics +open FStar.Tactics.V2 let x: bool = synth_by_tactic (fun () -> exact (quote 1)) diff --git a/tests/ide/emacs/fstarmode_gh73.in b/tests/ide/emacs/fstarmode_gh73.in index 173572513ac..820f7af4e1b 100644 --- a/tests/ide/emacs/fstarmode_gh73.in +++ b/tests/ide/emacs/fstarmode_gh73.in @@ -1,4 +1,4 @@ -{"query-id":"1","query":"push","args":{"kind":"full","code":"module FStarMode_GH73\nopen FStar.Tactics\n","line":1,"column":0}} +{"query-id":"1","query":"push","args":{"kind":"full","code":"module FStarMode_GH73\nopen FStar.Tactics.V2\n","line":1,"column":0}} {"query-id":"2","query":"peek","args":{"kind":"lax","code":"\nlet x: bool = synth_by_tactic (fun () -> exact (\"A\" + 1))\n","line":3,"column":0}} {"query-id":"3","query":"push","args":{"kind":"full","code":"\nlet x: bool = synth_by_tactic (fun () -> exact (\"A\" + 1))\n","line":3,"column":0}} {"query-id":"4","query":"peek","args":{"kind":"lax","code":"\nlet x: bool = synth_by_tactic (fun () -> exact (quote 1))\n","line":3,"column":0}} diff --git a/tests/ide/emacs/fstarmode_gh73.out.expected b/tests/ide/emacs/fstarmode_gh73.out.expected index 6369e54a58c..f9b14ab148b 100644 --- a/tests/ide/emacs/fstarmode_gh73.out.expected +++ b/tests/ide/emacs/fstarmode_gh73.out.expected @@ -1,7 +1,7 @@ {"kind": "protocol-info", "rest": "[...]"} -{"kind": "response", "query-id": "1", "response": [], "status": "success"} +{"kind": "response", "query-id": "1", "response": [{"level": "warning", "message": "FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq", "number": 288, "ranges": [{"beg": [135, 17], "end": [135, 24], "fname": "FStar.Reflection.V2.Formula.fst"}, {"beg": [149, 0], "end": [149, 48], "fname": "FStar.Reflection.V2.Builtins.fsti"}]}, {"level": "warning", "message": "FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq", "number": 288, "ranges": [{"beg": [136, 22], "end": [136, 29], "fname": "FStar.Reflection.V2.Formula.fst"}, {"beg": [149, 0], "end": [149, 48], "fname": "FStar.Reflection.V2.Builtins.fsti"}]}, {"level": "warning", "message": "FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq", "number": 288, "ranges": [{"beg": [616, 15], "end": [616, 22], "fname": "FStar.Tactics.V2.Derived.fst"}, {"beg": [149, 0], "end": [149, 48], "fname": "FStar.Reflection.V2.Builtins.fsti"}]}, {"level": "warning", "message": "FStar.Reflection.V2.Builtins.term_eq is deprecated: Use FStar.Reflection.V2.TermEq.term_eq", "number": 288, "ranges": [{"beg": [176, 11], "end": [176, 18], "fname": "FStar.Tactics.V2.Logic.fst"}, {"beg": [149, 0], "end": [149, 48], "fname": "FStar.Reflection.V2.Builtins.fsti"}]}], "status": "success"} {"kind": "response", "query-id": "2", "response": [{"level": "error", "message": "Expected expression of type \"int\"; got expression \"\"A\"\" of type \"string\"", "number": 189, "ranges": [{"beg": [4, 48], "end": [4, 51], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Expected expression of type \"int\"; got expression \"\"A\"\" of type \"string\"", "number": 189, "ranges": [{"beg": [4, 48], "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": [], "urgency": 1}, "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[...]*) _)`", "number": 228, "ranges": [{"beg": [4, 14], "end": [4, 57], "fname": ""}, {"beg": [90, 12], "end": [90, 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[...]*) _)`", "number": 228, "ranges": [{"beg": [4, 14], "end": [4, 57], "fname": ""}, {"beg": [101, 12], "end": [101, 16], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} diff --git a/tests/ide/test-incremental.py b/tests/ide/test-incremental.py index d1c96787c74..9ed7604f0dd 100644 --- a/tests/ide/test-incremental.py +++ b/tests/ide/test-incremental.py @@ -20,6 +20,9 @@ def is_comment(str): return True lines = str.splitlines() for line in lines: + line = line.strip() + if not line: # empty lines + continue if (line.startswith("(*") and line.endswith("*)")): continue if not line.startswith("//"): diff --git a/tests/machine_integers/TestCasts.fst.hints b/tests/machine_integers/TestCasts.fst.hints index 26753313027..185b997de2e 100644 --- a/tests/machine_integers/TestCasts.fst.hints +++ b/tests/machine_integers/TestCasts.fst.hints @@ -40,7 +40,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "dc2a9f3a214121d239c53d7b5b2c0c26" + "54cdaf53d2eba0fff6b91adf780e089a" ] ] ] \ No newline at end of file diff --git a/tests/machine_integers/TestPrint.fst.hints b/tests/machine_integers/TestPrint.fst.hints index d03e098e41f..50d99a73d21 100644 --- a/tests/machine_integers/TestPrint.fst.hints +++ b/tests/machine_integers/TestPrint.fst.hints @@ -28,7 +28,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" ], 0, - "cdb3dfe60c4c96cf474b4d01791e3aba" + "213fa54526f2510e7c856cd5048ac3f4" ], [ "TestPrint.test_dec", @@ -57,7 +57,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" ], 0, - "32afc76bd547be472e997f0ea4ee938c" + "1c75f55b5e4ed85d7637d94356c09523" ], [ "TestPrint.test_hex_pad", @@ -86,7 +86,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" ], 0, - "d47698f51c94b015b7d4ba7cb258cdac" + "526d50cb98395a8cbed31b0bcf69e5a4" ], [ "TestPrint.test_dec_pad", @@ -115,7 +115,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" ], 0, - "07b5507b4e0255d0c38046b3035ed21d" + "1449b133b60db4abbdba511412b988dc" ] ] ] \ No newline at end of file diff --git a/tests/machine_integers/TestShift.fst b/tests/machine_integers/TestShift.fst index 5004c632e4c..9f7c2a2fdf9 100644 --- a/tests/machine_integers/TestShift.fst +++ b/tests/machine_integers/TestShift.fst @@ -4,7 +4,7 @@ open FStar.All open FStar.IO open FStar.Int.Cast open FStar.Int.Cast.Full -open FStar.Tactics +open FStar.Tactics.V2 module I8 = FStar.Int8 module I16 = FStar.Int16 diff --git a/tests/machine_integers/TestShift.fst.hints b/tests/machine_integers/TestShift.fst.hints index 118ef703acc..9cc2b0db2df 100644 --- a/tests/machine_integers/TestShift.fst.hints +++ b/tests/machine_integers/TestShift.fst.hints @@ -1,5 +1,5 @@ [ - "šùNµÁX!Vs!pG\rÞ~±", + "‡¤'‰\u000bÅ}™?¿Ù–ü\tâ", [ [ "TestShift.test_u32", @@ -27,7 +27,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "88434619a5c36b72b330776df96baa9e" + "ad28c704125398b130d44b081873f5a9" ], [ "TestShift.test_u8", @@ -55,7 +55,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "fec80197979f8562ee1594d9285f7f41" + "4bc5cec6f007e362b5575b7bc6063101" ], [ "TestShift.test_i32_right", @@ -79,7 +79,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "2ba0ad932fde2726483f45cb0b093915" + "3d191ae62d3f3d3104df53ac008c3d22" ], [ "TestShift.test_i32_arith_right", @@ -103,7 +103,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "768e033fb7462e6f0fb54149c9785e3e" + "7bc206d30a68caa153079952513c53e1" ], [ "TestShift.test_i8_right", @@ -127,7 +127,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "c8a0fb2f8020d51f9e490dd52e7cee29" + "672814b272859ff487445d237906b322" ], [ "TestShift.test_i8_arith_right", @@ -151,7 +151,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "d817d6482c61430c736314b29cf6614e" + "eab0da80ac2c4c662cf2852eb21970db" ], [ "TestShift.test_i8_left", @@ -186,7 +186,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "63561c71c0a3f8a62874225466258139" + "305037efa35120ee0b8821d84ad913b0" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/AdmitTermination.fst.hints b/tests/micro-benchmarks/AdmitTermination.fst.hints new file mode 100644 index 00000000000..2613a6c8b58 --- /dev/null +++ b/tests/micro-benchmarks/AdmitTermination.fst.hints @@ -0,0 +1,24 @@ +[ + "ž†·ïI#BäÀÞuüÉ\u0006", + [ + [ + "AdmitTermination.top3", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nat", "equation_Prims.pos", + "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_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "well-founded-ordering-on-nat" + ], + 0, + "4e6117c488bf67fdc63d75077d092d74" + ] + ] +] \ No newline at end of file diff --git a/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints b/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints index 7542ac7ff0a..6cebf9d153a 100644 --- a/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints +++ b/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints @@ -12,7 +12,7 @@ "function_token_typing_FStar.Pervasives.pattern" ], 0, - "810873c884961b74ce35944923581d7a" + "35d396f0505965a7796d44f33612ef8d" ], [ "ApplicationUnparenthesisedRecord.dummy", @@ -33,7 +33,7 @@ "token_correspondence_ApplicationUnparenthesisedRecord.g" ], 0, - "5f27144e21118d48eab656c608430d58" + "82c33393fd28f2074ddb038c4c324e55" ], [ "ApplicationUnparenthesisedRecord.__proj__Dummy1__item__x", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_0b229cbc08acae1b512b29a2f6d0055c" ], 0, - "23ba86d2e71cb98209efe0ac61b60c1b" + "4b1854a05626d47c8dcb291d9bed1b55" ], [ "ApplicationUnparenthesisedRecord.__proj__Dummy2__item__x", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_5d8ed3af48177a080d818093bdc46ca2" ], 0, - "987fd0608f2977847227cf9c894ad17f" + "7e64a974ed90b5d948265b53e1cae67c" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/AssumeRequires.fst.hints b/tests/micro-benchmarks/AssumeRequires.fst.hints index 8e52e2a7db2..08adfd66232 100644 --- a/tests/micro-benchmarks/AssumeRequires.fst.hints +++ b/tests/micro-benchmarks/AssumeRequires.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_171102353e1b083f2928c7db4f12f64d" ], 0, - "acf13406dd96c31f68474664eedd36dd" + "3c205987f7a6eedfc287c1bdd27ecfa9" ], [ "AssumeRequires.get", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "315582dd93e6b301e53b4c46a91d0dc8" + "5bd48ad0600e88099073ec20fc2a41c6" ], [ "AssumeRequires.get", @@ -37,7 +37,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "b339d7f12f5956154a63408a0b031b81" + "83561d1f1c40cfcd7e2ceaf0bbec4f99" ], [ "AssumeRequires.get_div", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "2f451bcadb4a033049d8c61dfd6eb079" + "4d6eca67df0a3598d7d4eac64b5c7e84" ], [ "AssumeRequires.get_div", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "ac64be565e841cc2ab3d0c8841766203" + "30d6eabee5061f1190286ad4b0fefd19" ], [ "AssumeRequires.lem", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c88f3aa64936f151b2ce57045b852780" + "6daab8cb6c5ae8c7b741dbd4ae58b2cf" ], [ "AssumeRequires.lem", @@ -94,7 +94,7 @@ "projection_inverse_BoxBool_proj_0", "unit_inversion" ], 0, - "8686b6249721ea1c2f9ec5a73229caba" + "79fd48be97f0c3842962d6d382bb8d49" ], [ "AssumeRequires.get_ghost", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "1374a9b953f0541b52d79dfd118f0574" + "275713914bf1bcf994941672bd5bb753" ], [ "AssumeRequires.get_ghost", @@ -120,7 +120,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "c654751dc52ee37001456594a79ffc4b" + "83561d1f1c40cfcd7e2ceaf0bbec4f99" ], [ "AssumeRequires.get_exn", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_1aa4ddd9449a841d91645885e773d708" ], 0, - "19209b88db2bd509772c1244481a881b" + "aa5b5389dacea44458ee5069f55163e2" ], [ "AssumeRequires.get_exn", @@ -148,7 +148,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "04975b2aa1acf1fd5fbd4cf3a936bf19" + "366bb692bb219359e37dbf8ebadeefbb" ], [ "AssumeRequires.get_st", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" ], 0, - "bb91a99bcb0c04e7c6dac15ce684e5b3" + "f7dccef6cd80aa2bea2badc0fa60218b" ], [ "AssumeRequires.get_st", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" ], 0, - "5b1acf33783ed19a94c784c7fa472f66" + "3e662030272e20da1b51c1a044f89c2d" ], [ "AssumeRequires.get_all", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" ], 0, - "d6482f8ed7f3f41bac44d39259cdba54" + "6f70ba7e75469ba4b519f85a09969695" ], [ "AssumeRequires.get_all", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" ], 0, - "b49b3ffe404174d35b27c68961016e72" + "feddb70ceaf352aab746907b1e7f8b83" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/BinderAttributes.fst b/tests/micro-benchmarks/BinderAttributes.fst index 1cb63f401bd..25aeeb92af3 100644 --- a/tests/micro-benchmarks/BinderAttributes.fst +++ b/tests/micro-benchmarks/BinderAttributes.fst @@ -1,6 +1,7 @@ module BinderAttributes -module T = FStar.Tactics +module T = FStar.Tactics.V2 +module R = FStar.Reflection.V2 open FStar.List.Tot let default_to (def : 'a) (x : option 'a) : Tot 'a = @@ -58,15 +59,13 @@ let rec binders_to_string (b : binders) : Tot string = (binder_to_string ba) ^ " :: " ^ (binders_to_string bs) let binder_from_term (b : T.binder) : T.Tac binder = - let (bv, (qual, attrs)) = - let bview = T.inspect_binder b in - bview.binder_bv, (bview.binder_qual, bview.binder_attrs) in + let {ppname; attrs; qual} = b in let desc_opt = match attrs with | [] -> None | a :: _ -> Some (get_description a) in let q = match qual with | T.Q_Implicit -> "Implicit" | T.Q_Explicit -> "Explicit" | T.Q_Meta _ -> "Meta" in - { name = T.name_of_bv bv; qual = q; desc = desc_opt } + { name = T.unseal ppname; qual = q; desc = desc_opt } let rec binders_from_arrow (ty : T.term) : T.Tac binders = - match T.inspect_ln ty with + match T.inspect ty with | T.Tv_Arrow b comp -> begin let ba = binder_from_term b in match T.inspect_comp comp with @@ -81,12 +80,12 @@ let binders_from_term (env : T.env) (qname : list string) : T.Tac (list binders) match T.lookup_typ env qname with | Some s -> begin match T.inspect_sigelt s with - | T.Sg_Let _ lbs -> begin - let lbv = T.lookup_lb_view lbs qname in + | T.Sg_Let {lbs} -> begin + let lbv = T.lookup_lb lbs qname in [ binders_from_arrow T.(lbv.lb_typ) ] // single binder in letbinding end - | T.Sg_Inductive _ _ _ _ cts -> begin - T.map (fun ctr -> binders_from_arrow (snd ctr)) cts + | T.Sg_Inductive {ctors} -> begin + T.map (fun ctr -> binders_from_arrow (snd ctr)) ctors end | _ -> T.fail "Expected let binding or inductive" end diff --git a/tests/micro-benchmarks/BinderAttributes.fst.hints b/tests/micro-benchmarks/BinderAttributes.fst.hints index f166b71edb4..fbf3f37c3fc 100644 --- a/tests/micro-benchmarks/BinderAttributes.fst.hints +++ b/tests/micro-benchmarks/BinderAttributes.fst.hints @@ -1,5 +1,5 @@ [ - "ÊÈ‚ÏKM h\u0003õðC‘\u000bž¯", + "É©\u0003Õ\u0014)Û!A'\u0006UAðÛ¡", [ [ "BinderAttributes.default_to", @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "1f92942b421aae881fa864ab4197463f" + "3d4e9cc8281f2f344851be961fb0eb29" ], [ "BinderAttributes.__proj__CaseExplicit__item__x", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_60ef107c0227f3c34cf1307c7bdc6d9c" ], 0, - "6f726ac06a4602a80459858df38a2d98" + "efdc7243bb889a0b1854d8e5e41edac4" ], [ "BinderAttributes.__proj__CaseExplicit__item__y", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_60ef107c0227f3c34cf1307c7bdc6d9c" ], 0, - "d428cebeceae8b7e742ed08f30f0703d" + "51190b53e7d836f3a64e0fa2b69dc42b" ], [ "BinderAttributes.__proj__CaseImplicit__item__x_imp", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_1d135bf3fcf01e9aa9a9fd681ddfec7c" ], 0, - "f44df020a9dcec136bfaaa1c89fbfab4" + "b802be580bdbe5235ece197e08ef1015" ], [ "BinderAttributes.__proj__CaseImplicit__item__y_imp", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_1d135bf3fcf01e9aa9a9fd681ddfec7c" ], 0, - "e7900051be1e2e7114b0601a41eb6012" + "9da1b5b7638ffbd5a042853f3465301b" ], [ "BinderAttributes.__proj__CaseMixed__item__x_imp", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_1c114473de672804c71661e081801a98" ], 0, - "2f1e6f709b9cb3b3aa3688e5fc19a15c" + "d5acca76c7636dda4cf2f295847a60f1" ], [ "BinderAttributes.__proj__CaseMixed__item__y", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_1c114473de672804c71661e081801a98" ], 0, - "4e504fc49aa55da9102f639fa46ce2b6" + "fcf1894e3a6848bddc215383d3b6b86e" ], [ "BinderAttributes.binder", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1807ff600a2fc2071e01821c8e0ab27f" + "70a61086e8bca882182ba354ef93ee82" ], [ "BinderAttributes.binders_to_string", @@ -110,7 +110,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "d270198a9124784ef3b7675173ff30d2" + "22ce6915aa414cdb2ee5efefaa3447b0" ], [ "BinderAttributes.binder_from_term", @@ -119,36 +119,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "disc_equation_FStar.Reflection.Data.Q_Explicit", - "disc_equation_FStar.Reflection.Data.Q_Implicit", - "disc_equation_FStar.Reflection.Data.Q_Meta", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Q_Implicit", + "disc_equation_FStar.Reflection.V2.Data.Q_Meta", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.aqualv", + "fuel_guarded_inversion_FStar.Tactics.NamedView.binder", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "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_7d950a3ed1bb658ecb1aacea05b4b552", - "string_typing", "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual" + "projection_inverse_FStar.Tactics.Result.Success_v", "string_typing", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__attrs", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__qual" ], 0, - "eed7db8a9f9c12ba84627831f98df0ee" + "cb9eeab6cdf15272fcf8d1d3983683b9" ], [ "BinderAttributes.binders_from_term", @@ -159,10 +155,10 @@ "@query", "equation_FStar.Reflection.Types.name", "function_token_typing_FStar.Reflection.Types.sigelt", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.Builtins.lookup_typ" + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "ed5405c0fba33a86c250cbdb2a7c058f" + "d111a4dd6b551b8491627b26d38c3217" ], [ "BinderAttributes.compare_binders", @@ -176,7 +172,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "777283af630c942d22e98cb957100778" + "43dc5b50f6e045c6d02f5dfec4a13907" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ClassicalSugar.fst.hints b/tests/micro-benchmarks/ClassicalSugar.fst.hints index f69d27e23e1..2164827f5dc 100644 --- a/tests/micro-benchmarks/ClassicalSugar.fst.hints +++ b/tests/micro-benchmarks/ClassicalSugar.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_d1d6314f1eadc65e858ae8863c98b1dc" ], 0, - "6e88574980bbe60c5b4aad1a9018ffc1" + "c6bd69c2a3a676ae4198f9379d82d059" ], [ "ClassicalSugar.test_elim_exists_2", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_30ea3b86ec6bf1246dbb233c8ef248b6" ], 0, - "5ebc15e00956205f041574cb5479cbe8" + "324669d59a2b0b79d8a684f7fbd17465" ], [ "ClassicalSugar.test_elim_exists_3", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1e87d7b6fc26594ce6e8f2ebfcb9a07e" + "0d1aac01a5fdfb8701c88e23162821ae" ], [ "ClassicalSugar.test_elim_forall_1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_226717771801e984f2f4a6a20e2daf91" ], 0, - "87a51ead990fd92c94fd41d2ebbafd94" + "80e868979adb9254da31287abb5fc7b5" ], [ "ClassicalSugar.test_elim_forall_2", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d6b5b128058518ee8530cdcb3e1069f4" + "52e0b5405f8de770cdd51bc6904921a7" ], [ "ClassicalSugar.test_elim_implies_1", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "44bde7b5ccc076965255fd9f9c353698" + "88fb8f2a92528f8fb0d766f60e1dce70" ], [ "ClassicalSugar.test_elim_implies_2", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2e685bbaaa27cd60b14e3c9a4330a87a" + "79b666dc1c95fa293cf0f9b23864264b" ], [ "ClassicalSugar.test_elim_or_1", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "2000311d8c340e9e8e3f64e07a006983" + "a915d1c776916c7809acc360778d2f99" ], [ "ClassicalSugar.test_elim_or_2", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "1387dc7336abc857fe98e2bf8ba0e05b" + "6677e61d38ed1ab7a2ec0bdb2da0ed79" ], [ "ClassicalSugar.test_elim_and_1", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "023944f85676762814004a899c6f56aa" + "b73246891d6a90a567391968005e3ffe" ], [ "ClassicalSugar.test_elim_and_2", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "da2f4ae3191f6d9400530a1ef7968733" + "521735c1a096875a26878494f0f51b81" ], [ "ClassicalSugar.test_forall_intro_2", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_573fe6e4f1ba7ae2548033cb6b92d4b3" ], 0, - "5e7eef78e2d762265e9e64be8d95cd41" + "f7fb1aaeecbcc8a183183cd564c45936" ], [ "ClassicalSugar.test_exists_intro_2", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_7b5789257792eca0fcedb42d77c8c85a" ], 0, - "4d1c5b75f09b1cca139e1c9f15672ebd" + "44325ffb3f150f22ff5ab9dcbd2c70ea" ], [ "ClassicalSugar.test_implies_intro_2", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "227f36a7366f020579d15ad204d9c153" + "089160c23cfda1f079bff43f22530170" ], [ "ClassicalSugar.test_or_intro_left_2", @@ -184,7 +184,7 @@ 1, [ "@query" ], 0, - "ce536b99441fff49d7a92fe468704889" + "4562660b2bc63ff5d136a1232ef27f2e" ], [ "ClassicalSugar.test_or_intro_right_2", @@ -193,7 +193,7 @@ 1, [ "@query" ], 0, - "82f1aa05bc7203869cc9ba0099cf96e1" + "b0f24827174add4fc367fdc838da0901" ], [ "ClassicalSugar.test_and_intro_2", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "f251d605612577f969697abfe5d2ceea" + "06938fff62e3a647799c2ce97aa33602" ], [ "ClassicalSugar.test_excluded_middle", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "f00c8e71f1d8eafdb816d5124140aacb" + "f573a1ec5a6ca5748b66354755b77405" ], [ "ClassicalSugar.test_forall_implies_2_1", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5fc34db6a7316c169eb937fb1240fb94" + "d9445a38a8e99883ef4544f5c64bfd6d" ], [ "ClassicalSugar.test_forall_implies_2_2", @@ -244,7 +244,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "81dfe27bd3ef421ce8ee4a53196216ff" + "bca382faa73e30e640a30046f0f5c365" ], [ "ClassicalSugar.test_forall_implies_2_3", @@ -257,7 +257,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "394d59cf76f25821308e5b031839955b" + "87066687819dc32b67630cb7ee16c21b" ], [ "ClassicalSugar.test_bias_implies", @@ -274,7 +274,7 @@ "refinement_interpretation_Tm_refine_985dd1507393b8aad382f3d9b75a36c5" ], 0, - "81d8beb5e7d537812836c98f3c7d3659" + "9020dad5adf5ae9e93c9ab9289f9c9e6" ], [ "ClassicalSugar.test_bias_and", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_f003cdd572e39848a577979d59db90a4" ], 0, - "a251386fb51114dafadd3c2409005fbd" + "00c90aea185f542e4c6f2fa32b5d3e98" ], [ "ClassicalSugar.test_bias_or", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_a8b9421949c799363cbb16701b324d79" ], 0, - "5cbf15210626dcad2eabcf33f220e854" + "9265e901afa8bbfdfe1f2387a38b43ee" ], [ "ClassicalSugar.test_bias_or_alt", @@ -331,7 +331,7 @@ "refinement_interpretation_Tm_refine_a8b9421949c799363cbb16701b324d79" ], 0, - "0466bc94d69577bfedc275d6850dc7e6" + "226be7aa11c9aed4a6632736f6e377fd" ], [ "ClassicalSugar.admit_implies_elim", @@ -344,7 +344,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "39f46a1e90b40deec8e92d6d41e54160" + "63ea724b7bfe2bdc5e6e74149f5b5be2" ], [ "ClassicalSugar.admit_or_intro_left", @@ -356,7 +356,7 @@ "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "be09e7aa1677e59f13dea912e92491e1" + "09f75f8c5754353614a0df53c328507a" ], [ "ClassicalSugar.admit_or_intro_right", @@ -368,7 +368,7 @@ "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "ce5fba0b853255a393d791a0dc684e6f" + "33813c23704b766ee615a8ab2ce9a5d7" ], [ "ClassicalSugar.admit_and_intro", @@ -380,7 +380,7 @@ "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "75ba4add8d8b195eeeb0f951a454bb24" + "3db35edf2b157f2a1fa1ea9f54886680" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Coercions.fst.hints b/tests/micro-benchmarks/Coercions.fst.hints index 79d5d165824..9d881e43d68 100644 --- a/tests/micro-benchmarks/Coercions.fst.hints +++ b/tests/micro-benchmarks/Coercions.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Ghost.hide" ], 0, - "04e3be5bb0ce345df9547360e31a550a" + "d9f4545b76671d85a1387153b16f3599" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/CommuteNestedMatches.fst b/tests/micro-benchmarks/CommuteNestedMatches.fst index 6e095e1314d..a043fc3471d 100644 --- a/tests/micro-benchmarks/CommuteNestedMatches.fst +++ b/tests/micro-benchmarks/CommuteNestedMatches.fst @@ -1,6 +1,6 @@ module CommuteNestedMatches -module T = FStar.Tactics +module T = FStar.Tactics.V2 [@@ commute_nested_matches ] type t = diff --git a/tests/micro-benchmarks/CommuteNestedMatches.fst.hints b/tests/micro-benchmarks/CommuteNestedMatches.fst.hints index 0d36c969a27..5de4b0eb197 100644 --- a/tests/micro-benchmarks/CommuteNestedMatches.fst.hints +++ b/tests/micro-benchmarks/CommuteNestedMatches.fst.hints @@ -1,5 +1,5 @@ [ - ":¸\\Š1±9\u0016”Š›\u001dú^\u0004\u001f", + "Þš\u0000°MÛYî{z\u000fØð#Û}", [ [ "CommuteNestedMatches.outer", @@ -18,7 +18,7 @@ "typing_CommuteNestedMatches.inner" ], 0, - "f73754d895177378813764d83ceb4006" + "f3c7e8d2d85ff4479213ad172350ab9b" ], [ "CommuteNestedMatches.outer_s", @@ -37,7 +37,7 @@ "typing_CommuteNestedMatches.inner_s" ], 0, - "cf35c21837edd59adc5a7af0c1da6290" + "71492168889814e0f9983e8879bd12dd" ], [ "CommuteNestedMatches.test_s", @@ -57,7 +57,7 @@ "typing_CommuteNestedMatches.inner_s" ], 0, - "32f30501d115c016246965e0fa7f6bd0" + "10adf9f78815dbbb8577990aa379fbfc" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ConstructorAttributes.fst b/tests/micro-benchmarks/ConstructorAttributes.fst index b54932eb9f7..aacbba98b77 100644 --- a/tests/micro-benchmarks/ConstructorAttributes.fst +++ b/tests/micro-benchmarks/ConstructorAttributes.fst @@ -1,5 +1,5 @@ module ConstructorAttributes -open FStar.Tactics +open FStar.Tactics.V2 let meta_implicit (#[exact (`1)]x: int) = x diff --git a/tests/micro-benchmarks/ConstructorAttributes.fst.hints b/tests/micro-benchmarks/ConstructorAttributes.fst.hints index 842bc90a29f..1e68ce26bfb 100644 --- a/tests/micro-benchmarks/ConstructorAttributes.fst.hints +++ b/tests/micro-benchmarks/ConstructorAttributes.fst.hints @@ -1,5 +1,5 @@ [ - "‡uk°¦·õ\fÍ®ˆÌ—Ô", + "d\u001e7+û\u0014=\b\u0002ý{­(.îx", [ [ "ConstructorAttributes.__proj__B__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f9cb862b01fa5a0244611626ba3eed33" ], 0, - "bd7ab7ba6599b67ce0cca8cca5c8a7b7" + "63cb349cfbfcc67e8c8d83eed2b2c885" ], [ "ConstructorAttributes.terms_eq", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "485f800c67a48eb9dc61996cb5d9ebe6" + "2465f96dc813db8e53ffe5a4bcb11f11" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/CoreEqualityGuard.fst.hints b/tests/micro-benchmarks/CoreEqualityGuard.fst.hints index ca27fec81fa..2c471951041 100644 --- a/tests/micro-benchmarks/CoreEqualityGuard.fst.hints +++ b/tests/micro-benchmarks/CoreEqualityGuard.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3db33cd10a4ac0c22704e49690728fb4" + "38fbc639a6612ffff1518ddfd15077be" ], [ "CoreEqualityGuard.test", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_6ec37c325718f5099cb90fb5226ecae8" ], 0, - "38b47a990b006f111e95dc0d22f461f5" + "39c83813a02bb38055fd86258a32639b" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/DeltaQual.fst b/tests/micro-benchmarks/DeltaQual.fst index f51de119968..fdad520c303 100644 --- a/tests/micro-benchmarks/DeltaQual.fst +++ b/tests/micro-benchmarks/DeltaQual.fst @@ -1,6 +1,6 @@ module DeltaQual -module T = FStar.Tactics +module T = FStar.Tactics.V2 unfold let f0 = 0 diff --git a/tests/micro-benchmarks/DeltaQual.fst.hints b/tests/micro-benchmarks/DeltaQual.fst.hints index 61210c35a6c..c922cbbb2a7 100644 --- a/tests/micro-benchmarks/DeltaQual.fst.hints +++ b/tests/micro-benchmarks/DeltaQual.fst.hints @@ -1 +1 @@ -[ "d¢KùæY\n\u001aJ¤qâ=»|", [] ] \ No newline at end of file +[ "Ë¿ç\f \u0018Ù†–ë\t{gáñG", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/DoNotation.fst.hints b/tests/micro-benchmarks/DoNotation.fst.hints index b00e59526d0..5beaeb8f394 100644 --- a/tests/micro-benchmarks/DoNotation.fst.hints +++ b/tests/micro-benchmarks/DoNotation.fst.hints @@ -17,7 +17,7 @@ "well-founded-ordering-on-nat" ], 0, - "b4900b23ba920f3a38eb70a25b91c5f2" + "3dab2c73b759bde8aeeb2a68137cc069" ], [ "DoNotation.uu___25", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f6e39b50ddeab6a79f40e533cd433422" + "dfaa6b3b061c5cb95c00ae50be9bd5f1" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Effects.Coherence.fst.hints b/tests/micro-benchmarks/Effects.Coherence.fst.hints index c04f00adc01..671faa9f5a6 100644 --- a/tests/micro-benchmarks/Effects.Coherence.fst.hints +++ b/tests/micro-benchmarks/Effects.Coherence.fst.hints @@ -23,7 +23,7 @@ "typing_Tm_abs_c8bcd87a36e1b7812cd6621acead3597" ], 0, - "f77febd84762a1c582a472e0163affb0" + "c1839f318862b2b1ca323219d1e53b42" ], [ "Effects.Coherence.3723", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "0e2d19a0f03761ada1c389a09ac12cd4" + "5564b5f8e6fc6be7878450bc1761571a" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Erasable.fst.hints b/tests/micro-benchmarks/Erasable.fst.hints index 2b7ec8da2cf..7d217c3359f 100644 --- a/tests/micro-benchmarks/Erasable.fst.hints +++ b/tests/micro-benchmarks/Erasable.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_3c192a2edf78cec4f1eb553cb69a4e8f" ], 0, - "87e7a90b48e1b813b0f008c5a096bf5e" + "b1eac2608b1ee9564721f73d8e1b7170" ], [ "Erasable.__proj__That__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_ec597d6979f8847712206596e24a9e2d" ], 0, - "ae8fbf28aa282064e9ddcaae0c0bc3b0" + "31153b7986378cd915d0beb9dbf62bcd" ], [ "Erasable.test", @@ -36,7 +36,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "63324ba47c80f11994ede70a6a7cd9bd" + "569524b3d6c0e1e16c5d0e9e707f5423" ], [ "Erasable.test_promotion", @@ -49,7 +49,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "14581fee72024b21ac46b3e3dc88851d" + "183931908526447b5fc9590bc5e4481f" ], [ "Erasable.lift_PURE_MPURE_error", @@ -72,7 +72,7 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "ef44852043d3ffc54db15d1ed5505207" + "b5f69b4f3d0b633e76a04b76be419ad9" ], [ "Erasable.lift_GHOST_MPURE", @@ -95,7 +95,7 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "70559be6993881391a579c3446eb0e6f" + "a3db0af4f99241afd96524950e460795" ], [ "Erasable.lift_PURE_MPURE", @@ -118,25 +118,25 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "5bc0f6e842da8dd7af5548d1ace92d29" + "e9bf1c61de89327e833c8ae6819a2a2f" ], [ - "Erasable.5670", + "Erasable.5685", 1, 2, 1, [ "@query" ], 0, - "af1758e829f622fcb0ca0fdf6eca02b7" + "897e662fa53a55f478b16b5b19b3de76" ], [ - "Erasable.5885", + "Erasable.5900", 1, 2, 1, [ "@query" ], 0, - "57bc9a50c2b233eab63a9c821849b696" + "9459754a514574bea9e3b250f717f440" ], [ "Erasable.eff_test5", @@ -145,7 +145,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "debc7d4b80245f3ef521d90614b377ed" + "e2a60c4d341088ec2c36a002f7cb4633" ], [ "Erasable.eff_test6", @@ -154,7 +154,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "fa2867d075848db8e1ca900f73da2836" + "646519e287d0c3643d2b8fbb46ca8692" ], [ "Erasable.bind_PURE_M1", @@ -176,25 +176,25 @@ "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" ], 0, - "0cd5f6693e2c18c065951b8153f1343a" + "f2842d7e341da644edbc6129dbd6535c" ], [ - "Erasable.11049", + "Erasable.11064", 1, 2, 1, [ "@query" ], 0, - "1aaac154601199e3e067f05c379e580b" + "05b94c5746a72e8eab758d5a7b051634" ], [ - "Erasable.11566", + "Erasable.11581", 1, 2, 1, [ "@query" ], 0, - "03aa4930daa7ed29695b74c170be9553" + "35cc1cf9dd56fa6a889f6e8abf3ab064" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Erasable.ml.expected b/tests/micro-benchmarks/Erasable.ml.expected index b1593a1b21d..5fd430d4123 100644 --- a/tests/micro-benchmarks/Erasable.ml.expected +++ b/tests/micro-benchmarks/Erasable.ml.expected @@ -1,6 +1,4 @@ open Prims -type e_nat_2 = unit -type e_nat_3 = unit type e_unit_5 = unit type ('a, 'uuuuu) repr = 'a let return : 'a . 'a -> ('a, unit) repr = fun x -> x diff --git a/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints b/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints index 9daf44b436d..15ec859763f 100644 --- a/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints +++ b/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints @@ -15,7 +15,7 @@ "well-founded-ordering-on-nat" ], 0, - "f875fb92db25726cae836015e882f1a1" + "8a4dc72c31feb4098721e7982e3de098" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/FirstProofs.fst.hints b/tests/micro-benchmarks/FirstProofs.fst.hints index 0042f20906f..6f53514586a 100644 --- a/tests/micro-benchmarks/FirstProofs.fst.hints +++ b/tests/micro-benchmarks/FirstProofs.fst.hints @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "2712f62257af62af84f32c44395e1384" + "18487c0e6db568dba8cfb1a326618881" ], [ "FirstProofs.factorial_is_positive", @@ -40,7 +40,7 @@ "well-founded-ordering-on-nat" ], 0, - "b4e7d113473f916df1eb5d2b59f00110" + "af20de76930a2a1a761f955ce8e979a3" ], [ "FirstProofs.factorial_is_increasing", @@ -65,7 +65,7 @@ "well-founded-ordering-on-nat" ], 0, - "5bfb128f195c941483d9b58dbac2e064" + "b5f6af150556294daf1751d4b19b52c7" ], [ "FirstProofs.factorial_is_doubling", @@ -89,7 +89,7 @@ "well-founded-ordering-on-nat" ], 0, - "a1a8565153f098ffc94da192e762e92d" + "fd348cfec07848a0dbfd5d39cfdc4315" ], [ "FirstProofs.fibonacci", @@ -105,7 +105,7 @@ "well-founded-ordering-on-nat" ], 0, - "4e7c796c9e4d46b8909d538a75fc1773" + "472b36e5394ec7a3884246e165f1c750" ], [ "FirstProofs.fibonacci_is_increasing", @@ -129,7 +129,7 @@ "typing_FirstProofs.fibonacci", "well-founded-ordering-on-nat" ], 0, - "63b45cdc393ebaa0f3eb7ab373f7f5c3" + "a2f9edadb1cf7f217e5d4d6b66454542" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Funcs.fst.hints b/tests/micro-benchmarks/Funcs.fst.hints index f1bf3810c38..54d452fa247 100644 --- a/tests/micro-benchmarks/Funcs.fst.hints +++ b/tests/micro-benchmarks/Funcs.fst.hints @@ -1,5 +1,5 @@ [ - "szw“zß\u001clT\u0001]ê/°Y¤", + "\r¯É.g\bgÿ]’ƒË‘â‰_", [ [ "Funcs.f0", @@ -19,7 +19,7 @@ "well-founded-ordering-on-nat" ], 0, - "3131fa9a0f3dfdec35dbcab1e56939b2" + "c560ea76b1f1946c811e12799f556aed" ], [ "Funcs.f", @@ -34,7 +34,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "e1a50c9e15ed535c5fd8b8cf95a8d4ef" + "7543286779d8f6337f71eb42ac1c5c1a" ], [ "Funcs.nest_1", @@ -49,7 +49,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "bf73326aad90d157731caca1ce56e795" + "ecfd57287f6cc0fa41ef9dc9d39c2bcb" ], [ "Funcs.concatlemma", @@ -79,7 +79,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "77fe1395b49ae200cbae2a72be416c39" + "b52dbe00d275ff46a4cb33904a158e92" ], [ "Funcs.concatmaplemma", @@ -113,7 +113,37 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.concatMap" ], 0, - "2a7381e181f179bf9cb6f4c28046bc72" + "97c1edb5b57ff10ee690cc8f504c6844" + ], + [ + "Funcs.test_rec_arity", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion" + ], + 0, + "4f04842cbfd493a556343c334164d0e4" + ], + [ + "Funcs.add_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "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_542f9d4f129664613f2483a6c88bc7c2", + "well-founded-ordering-on-nat" + ], + 0, + "090e06aade015ecf35f18dcf61261f15" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/HideRevealUnif.fst.hints b/tests/micro-benchmarks/HideRevealUnif.fst.hints index 28dafab8d3b..91c8dbab8c5 100644 --- a/tests/micro-benchmarks/HideRevealUnif.fst.hints +++ b/tests/micro-benchmarks/HideRevealUnif.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9f7c106fd31d83725f04ab24eeedefca" + "05e78cae36956f5c7a2f178fbf29cafe" ], [ "HideRevealUnif.test2'", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40ac236f790205f9c2e167ea6b28ccda" + "ccc11a75c193002ec587eeede5bd34ee" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Inference.fst b/tests/micro-benchmarks/Inference.fst index 08299e2583c..12003c2e83b 100644 --- a/tests/micro-benchmarks/Inference.fst +++ b/tests/micro-benchmarks/Inference.fst @@ -52,3 +52,6 @@ let rec lemma_desc_hash_empty_implies_no_desc (d:merkle_addr{is_desc_empty d a}) : bool = admit () + +(* Uvars of unit type get inferred to () *) +let unit_uvar : unit = _ diff --git a/tests/micro-benchmarks/Inference.fst.hints b/tests/micro-benchmarks/Inference.fst.hints index 1c5a18d2615..f55b78f1a24 100644 --- a/tests/micro-benchmarks/Inference.fst.hints +++ b/tests/micro-benchmarks/Inference.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.Monotonic.DependentMap.empty" ], 0, - "f2e007d1ffe72f58c81a58d05db3fa41" + "13c919eb742075922ed8deefe7f8bce0" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/IntNormalization.fst b/tests/micro-benchmarks/IntNormalization.fst index 37859347a32..f4ada85a1da 100644 --- a/tests/micro-benchmarks/IntNormalization.fst +++ b/tests/micro-benchmarks/IntNormalization.fst @@ -16,7 +16,7 @@ module IntNormalization open FStar.UInt32 -open FStar.Tactics +open FStar.Tactics.V2 (* Testing that the normalizer reduces these equalities *) diff --git a/tests/micro-benchmarks/IntNormalization.fst.hints b/tests/micro-benchmarks/IntNormalization.fst.hints index cc122d2927a..22b6f430dea 100644 --- a/tests/micro-benchmarks/IntNormalization.fst.hints +++ b/tests/micro-benchmarks/IntNormalization.fst.hints @@ -1 +1 @@ -[ "õˆ¨*ï8\u0000\u001c_5¥Ø’ª\u0017_", [] ] \ No newline at end of file +[ "ˆRf\f\u001e±\u0007`¯\u0007ÚNžÎD", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Issues.fst b/tests/micro-benchmarks/Issues.fst index fcf26b6d636..01ec929b813 100755 --- a/tests/micro-benchmarks/Issues.fst +++ b/tests/micro-benchmarks/Issues.fst @@ -1,6 +1,6 @@ module Issues open FStar.Issue -module T = FStar.Tactics +module T = FStar.Tactics.V2 // (* This test exercises the reflection of FStar.Issue *) let print_issue (i:issue) : string = message_of_issue i diff --git a/tests/micro-benchmarks/Issues.fst.hints b/tests/micro-benchmarks/Issues.fst.hints new file mode 100644 index 00000000000..af74a742bf2 --- /dev/null +++ b/tests/micro-benchmarks/Issues.fst.hints @@ -0,0 +1,14 @@ +[ + "sz×[JdËiçs¬×Ñœý­", + [ + [ + "Issues.test", + 1, + 2, + 1, + [ "@query", "true_interp" ], + 0, + "a4dc7bca34f335960f4bd41b6f4323b9" + ] + ] +] \ No newline at end of file diff --git a/tests/micro-benchmarks/LambdaImplicits.fst.hints b/tests/micro-benchmarks/LambdaImplicits.fst.hints index 7dac441f95f..8281973012d 100644 --- a/tests/micro-benchmarks/LambdaImplicits.fst.hints +++ b/tests/micro-benchmarks/LambdaImplicits.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8806853ef7b63631bd838d565d254ce6" + "0ea04a0b45c106cc3d42e441f026dca2" ], [ "LambdaImplicits.bind_opt", @@ -21,7 +21,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "ff75b4b8d5fd1a1fbd67359199e32851" + "bd3b08ef78729a3b502e4600c9dbf308" ], [ "LambdaImplicits.bind_opt'", @@ -36,7 +36,7 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "5ec3779e3117aa7ce2ed58f16011f674" + "4b8e2f115a5e045db5567686249caa48" ], [ "LambdaImplicits.app_pure", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c996044e8fc8dfabc14482641f60ef9b" + "4b0f586a3e8cf61c130f16ccb8e64685" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Mac.fst.hints b/tests/micro-benchmarks/Mac.fst.hints index 0829b8d5bbe..7d6491bbe12 100644 --- a/tests/micro-benchmarks/Mac.fst.hints +++ b/tests/micro-benchmarks/Mac.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "374c831244b9968161f8a9cf062a8dc8" + "a653f94e3cef3967d2d04d3f1c85dc9d" ], [ "MAC.key", @@ -24,7 +24,7 @@ "@query", "equation_MAC.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "cd37967c0632eb4a8b3f2493c3010ddd" + "0a3c4a8647ccd2fb8f45ae48f1aeb416" ], [ "MAC.tag", @@ -35,7 +35,7 @@ "@query", "equation_MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "134fb6b977d986bb98f48c7c58fa31c3" + "181aad1b6e00554ef72a875405afa3e4" ], [ "MAC.mac", @@ -49,7 +49,7 @@ "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "62f587f1301510d4f7ebf479c6e1b158" + "7ac3d0e699d47f86d8547f347c784e4b" ], [ "MAC.verify", @@ -84,7 +84,7 @@ "typing_Tm_abs_dacd0dddc2902c03567b9b4b53b12fee" ], 0, - "ed31570716cfcee6d6e55b5d52de465f" + "8d6172f17305b1e3144b329d5cd96736" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/MachineIntegerConstants.fst.hints b/tests/micro-benchmarks/MachineIntegerConstants.fst.hints index 160e3464a75..5901cbf8b30 100644 --- a/tests/micro-benchmarks/MachineIntegerConstants.fst.hints +++ b/tests/micro-benchmarks/MachineIntegerConstants.fst.hints @@ -29,7 +29,7 @@ "typing_FStar.Int8.v" ], 0, - "d30863993dd9a3747dbc2c1e2abb90a0" + "a437f70fd9f99b91ef5287fca827ecb9" ], [ "MachineIntegerConstants.e_int16", @@ -59,7 +59,7 @@ "typing_FStar.Int16.v" ], 0, - "0392bceafc6aea00913492bc138d7444" + "72d46e1e3ccd7b8d426ed1f81c94e528" ], [ "MachineIntegerConstants.e_int32", @@ -85,7 +85,7 @@ "typing_FStar.Int32.v" ], 0, - "c7e9eae4ed280e6a9457db34d9169a9b" + "a1df1d189dc16c99cacfbd07c8d34f21" ], [ "MachineIntegerConstants.e_int64", @@ -111,7 +111,7 @@ "typing_FStar.Int64.v" ], 0, - "b058f76af0b8f4c32f4f9c2c0c9b20bf" + "0fa43aa6001284134b0ceaf37aef6eae" ], [ "MachineIntegerConstants.e_uint8", @@ -137,7 +137,7 @@ "typing_FStar.UInt8.v" ], 0, - "1d7a3a12060e2fb809262deeb6039952" + "30552b3d2a85a8b08488142144dc9f16" ], [ "MachineIntegerConstants.e_uint16", @@ -163,7 +163,7 @@ "typing_FStar.UInt16.v" ], 0, - "0048fc050461583f3c13c9027304ef13" + "6504ac84188576039348ef7a6bb5d900" ], [ "MachineIntegerConstants.e_uint32", @@ -189,7 +189,7 @@ "typing_FStar.UInt32.v" ], 0, - "48d7532abdf2821f14d482684dbfa139" + "c536a18ff84908e2b2e1ebec4612af1e" ], [ "MachineIntegerConstants.e_uint64", @@ -215,7 +215,7 @@ "typing_FStar.UInt64.v" ], 0, - "91c41cc48c56b2f159e0aba5991b8a1e" + "c00bb85f2d43f62723a7d89190306edf" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Makefile b/tests/micro-benchmarks/Makefile index a52fcb82611..a14953d0a2d 100644 --- a/tests/micro-benchmarks/Makefile +++ b/tests/micro-benchmarks/Makefile @@ -1,5 +1,5 @@ FSTAR_HOME=../.. - +OTHERFLAGS+=--warn_error +240 FSTAR_FILES = $(wildcard *.fst) all: verify-all ns-resolution @@ -18,7 +18,7 @@ verify-all: $(CACHE_DIR) $(addsuffix .checked, $(addprefix $(CACHE_DIR)/, $(FSTA $(CACHE_DIR)/MustEraseForExtraction.fst.checked: OTHERFLAGS += --warn_error @318 %.ml: %.fst - $(FSTAR) --codegen OCaml --extract $(subst .ml,, $@) $^ + $(FSTAR) $(OTHERFLAGS) --codegen OCaml --extract $(subst .ml,, $@) $^ %.ml-cmp: %.ml %.ml.expected diff -u --strip-trailing-cr $< $<.expected diff --git a/tests/micro-benchmarks/Match.Returns.fst.hints b/tests/micro-benchmarks/Match.Returns.fst.hints index e3f6bc350af..8e033150c85 100644 --- a/tests/micro-benchmarks/Match.Returns.fst.hints +++ b/tests/micro-benchmarks/Match.Returns.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e55423147d7ef42e8aa9e278fef94868" + "8a81b58be3488251a17f75ea192c38e9" ], [ "Match.Returns.test2", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_40cf82d8c59920556c384c9705949c39" ], 0, - "d99c7067fe18cdcd8a29cb9331c37310" + "f8e331b8742d402f2b3f9e9f14430f7c" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/MultipleAttributesBinder.fst b/tests/micro-benchmarks/MultipleAttributesBinder.fst index 283694016e1..040daed0165 100644 --- a/tests/micro-benchmarks/MultipleAttributesBinder.fst +++ b/tests/micro-benchmarks/MultipleAttributesBinder.fst @@ -1,6 +1,6 @@ module MultipleAttributesBinder -module T = FStar.Tactics +module T = FStar.Tactics.V2 open FStar.List.Tot type attr_value = @@ -23,14 +23,11 @@ noeq type binder = type binders = list binder let binder_from_term (b : T.binder) : T.Tac binder = - let (bv, (qual, a)) = - let bview = T.inspect_binder b in - bview.binder_bv, (bview.binder_qual, bview.binder_attrs) in - let q = match qual with | T.Q_Implicit -> "Implicit" | T.Q_Explicit -> "Explicit" | T.Q_Meta _ -> "Meta" in - { name = T.name_of_bv bv; qual = q; attrs = a } + let q = match b.qual with | T.Q_Implicit -> "Implicit" | T.Q_Explicit -> "Explicit" | T.Q_Meta _ -> "Meta" in + { name = T.unseal b.ppname; qual = q; attrs = b.attrs } let rec binders_from_arrow (ty : T.term) : T.Tac binders = - match T.inspect_ln ty with + match T.inspect ty with | T.Tv_Arrow b comp -> begin let ba = binder_from_term b in match T.inspect_comp comp with @@ -45,12 +42,12 @@ let binders_from_term (env : T.env) (qname : list string) : T.Tac (list binders) match T.lookup_typ env qname with | Some s -> begin match T.inspect_sigelt s with - | T.Sg_Let _ lbs -> begin - let lbv = T.lookup_lb_view lbs qname in + | T.Sg_Let {lbs} -> begin + let lbv = T.lookup_lb lbs qname in [ binders_from_arrow T.(lbv.lb_typ) ] // single binder in letbinding end - | T.Sg_Inductive _ _ _ _ cts -> begin - T.map (fun ctr -> binders_from_arrow (snd ctr)) cts + | T.Sg_Inductive {ctors} -> begin + T.map (fun ctr -> binders_from_arrow (snd ctr)) ctors end | _ -> T.fail "Expected let binding or inductive" end diff --git a/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints b/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints index 7b54ba260d5..a472e48c7be 100644 --- a/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints +++ b/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints @@ -1,5 +1,5 @@ [ - "6RiT–\u001ebÃ4}‰qŽoy", + "hLwü6ªš\u000bÏ#nÊ%J‰°", [ [ "MultipleAttributesBinder.__proj__String__item__v", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_bf4f065dc94b202adcf8aa9019f17109" ], 0, - "58cc0d525f5dbdd496197c502513be85" + "111154af2e78e480c2409769d48f08dc" ], [ "MultipleAttributesBinder.__proj__Int__item__v", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2adb22eda77444787c5487a23e08fa8a" ], 0, - "9a924bd1ea9ad0ccc341adf3aa7928a4" + "7294834c989bb8743ed31b5ef39648f6" ], [ "MultipleAttributesBinder.binder_from_term", @@ -32,21 +32,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Q_Explicit", - "disc_equation_FStar.Reflection.Data.Q_Implicit", - "disc_equation_FStar.Reflection.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Q_Implicit", + "disc_equation_FStar.Reflection.V2.Data.Q_Meta", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.aqualv", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual" + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__qual" ], 0, - "3c528d83875a0c947530ab92868974c0" + "e1369cd5306929f8c6e37cd87a68f074" ], [ "MultipleAttributesBinder.binders_from_term", @@ -57,10 +52,10 @@ "@query", "equation_FStar.Reflection.Types.name", "function_token_typing_FStar.Reflection.Types.sigelt", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.Builtins.lookup_typ" + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "436d1fe6aac89727f71d8275c0dcddbb" + "36ac24988e53bdc96f113e32d1ff8500" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.BST.fst.hints b/tests/micro-benchmarks/NegativeTests.BST.fst.hints index 6465567632c..e3e06fedf83 100644 --- a/tests/micro-benchmarks/NegativeTests.BST.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.BST.fst.hints @@ -12,7 +12,7 @@ "int_inversion", "kinding_NegativeTests.BST.tree@tok" ], 0, - "fde982f14c0d8ec711c176c92471d1eb" + "3954467ef461ae7d39ab2e948d68b308" ], [ "NegativeTests.BST.__proj__Leaf__item__n", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" ], 0, - "b0e25349de79d25385710fa61d3c319b" + "166a00ef6b36bb8da2bfc7e5ae667780" ], [ "NegativeTests.BST.__proj__Node__item__l", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "e791043cdf86962185337a264538816e" + "49255efc8bdcd67733f9bdd255849637" ], [ "NegativeTests.BST.__proj__Node__item__left", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "07459cb201b2e2de0b860dca7eecaca3" + "4299d56f1766bb187f2f5b8f54984e92" ], [ "NegativeTests.BST.__proj__Node__item__n", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "a07c78eb4331e5fa469c826e5004700a" + "bfe9d49d74170f2af708916b5de71fba" ], [ "NegativeTests.BST.__proj__Node__item__r", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "8321884c3ff7526fc83d6fb41b8a9e33" + "998791575ec8ec52db5dc230870a79e4" ], [ "NegativeTests.BST.__proj__Node__item__right", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "b529392c8e217610e716f396a14e37be" + "0603c0e63eecee05ebe0edf9875a8a6e" ], [ "NegativeTests.BST.test_node_1", @@ -99,7 +99,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "ef235da1b39d815c15a88b672e7dee8c" + "bf3eac005ff2bc3ba6d9c833e5e819ac" ], [ "NegativeTests.BST.test_node_2", @@ -118,7 +118,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "3845a0bc7574d353445d6e4ac6d2290a" + "2388912a09e91e6986645db359405f3b" ], [ "NegativeTests.BST.test_node_3", @@ -135,7 +135,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0" ], 0, - "efc3a48a88b343fd6f743a492427dafe" + "b942ec15548d80c770d900ba6184a913" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints b/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints index 5b135ac9269..a2e4845311e 100644 --- a/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9a2f9917cd4761977414063dbd5d8e1d" + "141e1d64036796897c2d6d6509b04cf7" ], [ "NegativeTests.Bug260.__proj__S__item___0", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" ], 0, - "3b1da54587a5b065ffdbe04eea79e548" + "095109921a3791cb8fda6fb7f81fbcf3" ], [ "NegativeTests.Bug260.validity", @@ -29,7 +29,7 @@ 1, [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], 0, - "e21322795bb7d0a871f9755e5f7f92ad" + "7419834845299b08bc26415b13533789" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.False.fst.hints b/tests/micro-benchmarks/NegativeTests.False.fst.hints index 08c91b50c1d..e63f361700a 100644 --- a/tests/micro-benchmarks/NegativeTests.False.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.False.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "e8b31a59056a1f5232803601b6235d67" + "a0b173b93f556d5fa6cc74fa60420722" ], [ "NegativeTests.False.f", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ca9dbd56616cf3a1afe99c5d87a0f91" + "7c39af6577dce223a19ec017825d9bf2" ], [ "NegativeTests.False.f", @@ -35,7 +35,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "0cc859ba1fb07feff4734df3b57af9c0" + "0b05aec1a506c479f4b37afb9587e63d" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Neg.fst.hints b/tests/micro-benchmarks/NegativeTests.Neg.fst.hints index 71cc892e86e..dc46a5b8393 100644 --- a/tests/micro-benchmarks/NegativeTests.Neg.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.Neg.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8d1a4a3816a587c3cc108a5579fc570a" + "61995cacf11a233aa0f523515fb852d1" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints b/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints index 42d5347d0ff..e9648892795 100644 --- a/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" ], 0, - "e44fc31b52966d40c82140d35fef350b" + "6b7f7d6c127f6e304fca6d4421ad7d1d" ], [ "NegativeTests.Positivity.__proj__C42__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "780209913710ac8cd8c9af31b94e24ac" + "c8f8aa78b6ecf941302c761fc1379935" ], [ "NegativeTests.Positivity.__proj__C42__item___1", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "ffb24db668cbb209a7fc5639201d35cd" + "e730f8828acae0bf478c126d4b22b98b" ], [ "NegativeTests.Positivity.__proj__C61__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "3000156483fd187b3eb78e6b3f042ab5" + "2bbf082b313dedd82cebb97f318acdfe" ], [ "NegativeTests.Positivity.__proj__C61__item___1", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "c7734a2ee9be130c2e12c662ee47dd1e" + "40503559745aa3fac66754f7fcf49c19" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Termination.fst.hints b/tests/micro-benchmarks/NegativeTests.Termination.fst.hints index 015a54d66f9..d3675e3fa84 100644 --- a/tests/micro-benchmarks/NegativeTests.Termination.fst.hints +++ b/tests/micro-benchmarks/NegativeTests.Termination.fst.hints @@ -18,7 +18,7 @@ "well-founded-ordering-on-nat" ], 0, - "ea88afdc63da24a2c4f96dd7739c7587" + "8284f15d1253ce09ffb5e9396524ffa3" ], [ "NegativeTests.Termination.snat", @@ -27,7 +27,7 @@ 1, [ "@query" ], 0, - "95d190330049705311cc7e9f06de7421" + "f9224cb83559ed044785bddae3e2de9e" ], [ "NegativeTests.Termination.__proj__S__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" ], 0, - "cf4388e68f33deb2c788979503b9ff87" + "f4a46e51d5bf42606119a2ce38f10e23" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NestedLemma.fst.hints b/tests/micro-benchmarks/NestedLemma.fst.hints index db04bc421a6..319e239eea3 100644 --- a/tests/micro-benchmarks/NestedLemma.fst.hints +++ b/tests/micro-benchmarks/NestedLemma.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "1d7c621ad34a4972dadec556510fc5a9" + "52c55e7ce889a7f6e533c506fa995a28" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormMachineInteger.fst b/tests/micro-benchmarks/NormMachineInteger.fst index d5db88ead71..718d39fef05 100755 --- a/tests/micro-benchmarks/NormMachineInteger.fst +++ b/tests/micro-benchmarks/NormMachineInteger.fst @@ -1,5 +1,5 @@ module NormMachineInteger -open FStar.Tactics +open FStar.Tactics.V2 open FStar.UInt32 let check_norm () diff --git a/tests/micro-benchmarks/NormMachineInteger.fst.hints b/tests/micro-benchmarks/NormMachineInteger.fst.hints index d44371a4101..e4a6e6242b1 100644 --- a/tests/micro-benchmarks/NormMachineInteger.fst.hints +++ b/tests/micro-benchmarks/NormMachineInteger.fst.hints @@ -1,5 +1,5 @@ [ - "%\u0000$È\u000b£Öéc“è4(âøg", + "\u0000Ê9ðéóˆ\u0002ÿ«?r\u0014…•t", [ [ "NormMachineInteger.test", @@ -22,7 +22,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp" ], 0, - "69d6efaca32ce87f1c33f9421cf1d9b5" + "b4d24730c94dd40ee681dd48cd04609f" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst b/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst index 7da53f78f10..39e54710887 100755 --- a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst +++ b/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst @@ -3,7 +3,7 @@ open FStar.HyperStack.All open FStar.HyperStack module ST = FStar.HyperStack.ST open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--fuel 0 --ifuel 0 --z3rlimit 15" let pp1 () : Tac unit = diff --git a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints b/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints index 63bcee8e64c..08d624f4e47 100644 --- a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints +++ b/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints @@ -1,5 +1,5 @@ [ - "áVæFºz¤Ï\u007f›¦›·Vñ", + "Mä\u0007t)^ÈC¸wïâh¥Æq", [ [ "NormPureSubtermsWithinComputations.f1", @@ -20,7 +20,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "f33794f58cd8819c927a7f94238e03a8" + "561b65b15db75a22b94ed3147d797ce8" ], [ "NormPureSubtermsWithinComputations.f2", @@ -41,7 +41,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "1ead2c67113928bdc71c052abd085a79" + "a95371853ffed881d49a1c3e9bd0c4ea" ], [ "NormPureSubtermsWithinComputations.f3", @@ -62,7 +62,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "0ba713fe3beccc606d92d27d7241c3cc" + "d2fd4e9a9e1f082b0360fb3b9e58d892" ], [ "NormPureSubtermsWithinComputations.test_inline_let", @@ -77,7 +77,7 @@ "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt" ], 0, - "b0defef0f4d5c1c6a3ab13969eded6af" + "b4a13396761ad1039b8913b6c237fe8a" ], [ "NormPureSubtermsWithinComputations.test_inline_let_expeted", @@ -92,7 +92,7 @@ "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt" ], 0, - "3319086f152c0aa476f128234c15ce28" + "fa7635ce3cc2af8db0e4e9ab5aeae05f" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormTypesForSMT.fst.hints b/tests/micro-benchmarks/NormTypesForSMT.fst.hints index a2a94401fb6..8b30bb21499 100644 --- a/tests/micro-benchmarks/NormTypesForSMT.fst.hints +++ b/tests/micro-benchmarks/NormTypesForSMT.fst.hints @@ -14,7 +14,7 @@ "equation_NormTypesForSMT.d_" ], 0, - "b43d3c54cdcf7db47b29176f301f6908" + "6f2f80128ced70c375154226463af887" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormVsSMT.fst.hints b/tests/micro-benchmarks/NormVsSMT.fst.hints index b71fb61cff1..15177ec802f 100644 --- a/tests/micro-benchmarks/NormVsSMT.fst.hints +++ b/tests/micro-benchmarks/NormVsSMT.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d2a34767b01ed8a916af72fa49f30482" + "9b4121b438c4fb240e2cc8a23c612a8d" ], [ "NormVsSMT.uu___5", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "1c156af0735629881d93615630978afb" + "c68538867367e92c15424c638de78df4" ], [ "NormVsSMT.uu___6", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "3e27b9821dcc124d48734c41f3bc92ef" + "78112ca2907bcac519d8016837a7cb29" ], [ "NormVsSMT.uu___7", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "60eb6e783ce5e750e5a253fd87b3eac6" + "d0bfcca0a8f2a25dbd3d04b129b9a09a" ], [ "NormVsSMT.uu___11", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_1780a0fddfda88c43d203b562c6d3f5b" ], 0, - "312e7cc9eab506769e6d43cc67969e7f" + "4830b312e1fb85d2c1d42818f1e45d9a" ], [ "NormVsSMT.uu___14", @@ -59,7 +59,7 @@ 1, [ "@query", "equation_NormVsSMT.trigger", "int_typing" ], 0, - "7200aa1ef172199f8a77643203c2de47" + "4051c145178ea7c28594f71dc165dfaf" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Normalization.fst.hints b/tests/micro-benchmarks/Normalization.fst.hints index e02cf78707a..92cd40dd5a3 100644 --- a/tests/micro-benchmarks/Normalization.fst.hints +++ b/tests/micro-benchmarks/Normalization.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "766c9d0ffffa027acbebe1893f2300ae" + "d7bb1a0721d3328660281ec9f2e7244f" ], [ "Normalization.id", @@ -24,7 +24,7 @@ "well-founded-ordering-on-nat" ], 0, - "7fd78a9a09594def37e30e0f770a6495" + "4f536671c15b3f8a3d77f6306e7fc90f" ], [ "Normalization.test2", @@ -33,7 +33,7 @@ 0, [ "@query" ], 0, - "37cd0a0d0878c247c4eac57890ec1545" + "4b8da9dc8e3d45d9fbd61eabc4211499" ], [ "Normalization.pow2_values", @@ -42,7 +42,7 @@ 0, [ "@query" ], 0, - "3e2da6658d462035843929d8a02ae143" + "c92dce04e29baf48d2665a33960b819c" ], [ "Normalization.test_sort", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7b31b004aa2ee4952e8de24d595ba02" + "b6a36f384c8b11fb8691c711d23bbd01" ], [ "Normalization.test_sort1", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a4097446257f41e2f875ecfbb1d86f1" + "205ee14c49548794167183ac5bfc6bb3" ], [ "Normalization.f_1529_3", @@ -82,7 +82,7 @@ "interpretation_Tm_abs_8284a06c98cf4d08ee876bb3cd7024dc" ], 0, - "efe01d98f8d9753d7bb45da9382039b7" + "6a80c9fb29ed88e9c272bc659416736d" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/PatAnnot.fst.hints b/tests/micro-benchmarks/PatAnnot.fst.hints index 00ce34d88d2..1684cfdb291 100644 --- a/tests/micro-benchmarks/PatAnnot.fst.hints +++ b/tests/micro-benchmarks/PatAnnot.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7188c3b8fc2f92586920a7e40e37ccd2" + "bb6061bd413b587ff8ecac6f6338933b" ], [ "PatAnnot.test4", @@ -26,7 +26,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1fbde207b5e51e51afaf7d0927dcf0b1" + "c949aee9475212308d1a8865122af76e" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/PatternMatch.IFuel.fst.hints b/tests/micro-benchmarks/PatternMatch.IFuel.fst.hints index 6c2ca9c3d3c..b860082af86 100644 --- a/tests/micro-benchmarks/PatternMatch.IFuel.fst.hints +++ b/tests/micro-benchmarks/PatternMatch.IFuel.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "441e95e494c91206bba1ab075cd8ac67" + "383187b781368eaa6bd0ea906477bb35" ], [ "PatternMatch.IFuel.m_and_proof", @@ -22,7 +22,7 @@ 1, [ "@query", "assumption_PatternMatch.IFuel.proof__uu___haseq" ], 0, - "4d4a0f324441f354655e2de9e0fe94b2" + "ca1ec5e3cb4ff6fabd682ac8c392d54d" ], [ "PatternMatch.IFuel.test2", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_e7d41982900b2dd4d6861990564b9454" ], 0, - "92288925e10485e0bcd2c6d0d9d12a17" + "a1748653c0023aa14514bea539beec37" ], [ "PatternMatch.IFuel.test3", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_e7d41982900b2dd4d6861990564b9454" ], 0, - "8292cfc79afd228afa66ec1e42664e17" + "2adf193ebfe3f4e7b9e54f5d97c94bd5" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/PatternMatch.fst.hints b/tests/micro-benchmarks/PatternMatch.fst.hints index ae829fb35a9..a7b558f07bf 100644 --- a/tests/micro-benchmarks/PatternMatch.fst.hints +++ b/tests/micro-benchmarks/PatternMatch.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_PatternMatch.uu___13" ], 0, - "74efde35591ae39e69434f9550bef8cb" + "b4d613f9db33e064df6458b7dd8903fc" ], [ "PatternMatch.uu___45", @@ -23,7 +23,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "126a46db46b8eff647b2292160001e71" + "27982a0e0e05a0654befefac5a6a40be" ], [ "PatternMatch.uu___46", @@ -38,7 +38,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "82ef791648fdd1411805815e732ba0df" + "11ee560d6f471c9440e8a8141a84ce9d" ], [ "PatternMatch.uu___47", @@ -53,7 +53,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "26042c06dc01c469e14a7393cea5354a" + "c076761702cc5f402b3724bedf329c73" ], [ "PatternMatch.uu___48", @@ -68,7 +68,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "7b578f790ccee14439294335a8a4c63d" + "3667806b0e0a5dc90107f13014148a2e" ], [ "PatternMatch.x", @@ -81,7 +81,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "ddfa61ce6215854b0c3ada9b8628308e" + "8774a112e5356875cdc5f39c755129f6" ], [ "PatternMatch.z", @@ -94,7 +94,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "8740f1353481619b23f2620a708d036e" + "25923445ceefc65b7a7fe9becba4b7fa" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Positivity.fst.hints b/tests/micro-benchmarks/Positivity.fst.hints index 5d05fc416c3..a0926ce722b 100644 --- a/tests/micro-benchmarks/Positivity.fst.hints +++ b/tests/micro-benchmarks/Positivity.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0834e2bc3635a75ede8f65b875877c21" ], 0, - "12f5a5e80adb3333c683480e8b86a36a" + "5ff678e47f6ed7a82b5f2ea8eae71d0c" ], [ "Positivity.mlist", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "a19f64c3b3c9e6962a00e799238509ea" + "3e9741c37f5a936b775010491bae1ccf" ], [ "Positivity.__proj__MCons__item___0", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "f800752dffe630adbd3b450718e0d8f1" + "cd2442fe55282b70471173ab2b77021f" ], [ "Positivity.__proj__MCons__item___1", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "ea8a18977f8029203150be08c8fa25a3" + "beec7ab5853f4169926f9c0670a6528e" ], [ "Positivity.__proj__NCons__item___0", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "37bf48ec5acc55ab098360661dc9b122" + "9c201cfe245c21091feaa13061904107" ], [ "Positivity.__proj__NCons__item___1", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "e7cf3995165cfddae6c969cd67bd66f0" + "8b80aa6440ba5f45eb2c2f1019b52f95" ], [ "Positivity.l_868", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f14ad2af14f47bead045e1f98023057e" + "9a896296f45567e31313b054bdf36687" ], [ "Positivity.essai_868", @@ -102,7 +102,7 @@ "refinement_kinding_Tm_refine_bf43cc7d53cb9579d273692ddbd13934" ], 0, - "fa20d39ab5588becaafee086c6fb7843" + "2dbb0d80a68190046b480af9a85ddea2" ], [ "Positivity.t_t21", @@ -111,7 +111,7 @@ 1, [ "@query" ], 0, - "46f32098a62476f7b4dff24ddb259d69" + "f5aa997c93ea48a8bef3d3f54a93459d" ], [ "Positivity.__proj__Pure__item___0", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_66032f61070fc2018721826e74dfdbcb" ], 0, - "5d66cabb69aa699b4fea2b1da6f49c34" + "ed51e4473f2402ae878cc7c77a77807b" ], [ "Positivity.__proj__Impure__item___0", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_58032ff233c656eb55a3534b3a17a499" ], 0, - "5a310032a775afca8d5d6cdb6abe5d1f" + "56328ed911a07671d37b96ae214090fa" ], [ "Positivity.__proj__Pure__item___0", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_66032f61070fc2018721826e74dfdbcb" ], 0, - "041760c32665ffcd0bff94305f9dd5dc" + "3f7d0b09fc8097d00404c4ac05b2f9d9" ], [ "Positivity.__proj__Impure__item___0", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_58032ff233c656eb55a3534b3a17a499" ], 0, - "79c7c23bde82126bb295e8e0b8a228aa" + "56328ed911a07671d37b96ae214090fa" ], [ "Positivity.sdyn", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "312d0ffabe6bf0d70a4b52e0813983fa" + "7ebbbf5f7eae0357c7fa5b055d656da6" ], [ "Positivity.bad", @@ -187,7 +187,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80ac4d47c4ac5f121b7e8c3e7366e222" + "1d5fe7e2d1dcfbf5ac21d94bad663e8d" ], [ "Positivity.neg_match", @@ -201,7 +201,7 @@ "lemma_FStar.Pervasives.invertOption", "typing_Positivity.f" ], 0, - "c58270467b3e3ea799965ace1673e651" + "0a20c169e726cb4781bfe7c593d00d60" ], [ "Positivity.__proj__MNM__item___0", @@ -215,7 +215,7 @@ "lemma_FStar.Pervasives.invertOption", "typing_Positivity.f" ], 0, - "e3ea7b43bdb73f930d2dcbccdff99238" + "d68d7af8775f967dfdaed965700a8a29" ], [ "Positivity.__proj__MNM__item___0", @@ -230,7 +230,7 @@ "lemma_FStar.Pervasives.invertOption", "typing_Positivity.f" ], 0, - "e2945fe771ab8b66bc3d2ed875fb82d7" + "26606fd78fb1fbb2bad593a216b62189" ], [ "Positivity.non_uniform", @@ -242,7 +242,7 @@ "kinding_FStar.Pervasives.Native.tuple2@tok" ], 0, - "55f21944e19dd27e37ecd3a22618858c" + "8ec3b99ed65996231b454a65ff0be611" ], [ "Positivity.mixed_non_uniform", @@ -254,7 +254,7 @@ "kinding_FStar.Pervasives.Native.tuple2@tok" ], 0, - "6071c73f1afae07fddd3200aadd018df" + "60921e56caf5bd4eae61e2c04b9607cb" ], [ "Positivity.accept_safe_mixed_non_uniform_use", @@ -271,7 +271,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b979add85eb411617709daa9f0cc28ec" + "a2b0488ef1e7272bb7417d9fe5586420" ], [ "Positivity.mixed_non_uniform_prefix", @@ -283,7 +283,7 @@ "kinding_FStar.Pervasives.Native.tuple2@tok" ], 0, - "6a469519bdacbe7231fcf09df3ab1fe7" + "f1490cb2e6bd78770586c56a40eba50f" ], [ "Positivity.flip", @@ -292,7 +292,7 @@ 1, [ "@query" ], 0, - "df800eeeda0e7e8a5bb059bab1e5df22" + "e9dd67f10bd9cfcfba46b3d053f045fb" ], [ "Positivity.raise_t", @@ -301,7 +301,7 @@ 1, [ "@query" ], 0, - "126751f72a1136003a95ebe31a43892e" + "a784a657a62a6c076276161bdd1fb8ac" ], [ "Positivity.nn", @@ -310,7 +310,7 @@ 1, [ "@query", "equation_Positivity.n" ], 0, - "7c95d97c82542b5587a06dfc37dc9484" + "3ffee8702e09e0c4d19a686b65483368" ], [ "Positivity.mm", @@ -324,7 +324,7 @@ "kinding_Positivity.mm@tok" ], 0, - "025fe0cc70d4195428378b8af7cc0e8b" + "008fee885e0065bf52bd1f13af67f747" ], [ "Positivity.ptr_typ", @@ -344,7 +344,7 @@ "typing_tok_Positivity.TUInt8@tok" ], 0, - "3217f49591c257382dcde1ec4a3ad637" + "80147e0b67debc818af1eeed6812efe7" ], [ "Positivity.__proj__TStruct__item__l", @@ -356,7 +356,7 @@ "refinement_interpretation_Tm_refine_fb5271c4a87697e1819b1a634db4b564" ], 0, - "13cb7c3b0bb4f0c7d15877d01066bda7" + "158541925a9d473c158fb67abcbd77a6" ], [ "Positivity.asn1_sequence_k_wf'", @@ -365,19 +365,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", "binder_x_fd8672a6fa6506d6802d5f6c22745fb7_3", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.T@tok", "equation_Positivity.list", - "equation_Prims.l_True", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok" + "equation_Positivity.list", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ac169787711cf0e438c8f3fb268567ea" + "080b0e6a2cc25410a03207a7b5ea05eb" ], [ "Positivity.asn1_sequence_k_wf'", @@ -386,22 +380,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", "binder_x_fd8672a6fa6506d6802d5f6c22745fb7_3", "disc_equation_Positivity.DEFAULT", "disc_equation_Positivity.OPTION", "disc_equation_Positivity.PLAIN", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.T@tok", "equation_Positivity.list", - "equation_Prims.l_True", "equation_Prims.squash", - "equation_Prims.subtype_of", + "equation_Positivity.list", "fuel_guarded_inversion_Positivity.asn1_decorator", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok" + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "56653ff7a41d6adeb029b08e6e8b98da" + "d248cd6f37f4378e1df3af7e3ccf820f" ], [ "Positivity.pos", @@ -410,7 +399,7 @@ 1, [ "@query" ], 0, - "3ae8f2097d404593b14855514b0c5c1f" + "16ed788b8c907ee8ff9edb2f07443f0b" ], [ "Positivity.use_unused_1", @@ -425,7 +414,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1ae6e355a6bf62890778187325809da" + "0f3a619b6494ef30fa571f0cd54c86b2" ], [ "Positivity.use_unused_2", @@ -439,7 +428,7 @@ "typing_Positivity.test_unused_2" ], 0, - "98fbf45ec69d2e59401e65b65cbbdfee" + "814efa01c48f1c63e8fbe3d1490eef23" ], [ "Positivity.use_unused_2'", @@ -453,7 +442,7 @@ "typing_Positivity.test_unused_2" ], 0, - "3a867fbce1b694dbf3e47171c1324ef6" + "d4b29e03bad5a155621492ae27547cea" ], [ "Positivity.use_unused_3", @@ -467,7 +456,7 @@ "typing_Positivity.test_unused_3" ], 0, - "a2dab91c63728b05e5456e2cc3707fb5" + "947088d1f0e7f7cf7bb55efb00d3f1e5" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Pruning.fst b/tests/micro-benchmarks/Pruning.fst index 48271cb6062..ae03892d6dd 100644 --- a/tests/micro-benchmarks/Pruning.fst +++ b/tests/micro-benchmarks/Pruning.fst @@ -61,7 +61,7 @@ open FStar.OrdSet open FStar.OrdSetProps open FStar.PredicateExtensionality open FStar.PropositionalExtensionality -open FStar.Reflection +open FStar.Reflection.V2 open FStar.Seq open FStar.Seq.Base open FStar.Seq.Properties @@ -71,7 +71,7 @@ open FStar.SquashProperties open FStar.ST open FStar.String open FStar.StrongExcludedMiddle -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tcp open FStar.TSet open FStar.All diff --git a/tests/micro-benchmarks/Pruning.fst.hints b/tests/micro-benchmarks/Pruning.fst.hints index 1b06d35ebce..9e9c36f524c 100644 --- a/tests/micro-benchmarks/Pruning.fst.hints +++ b/tests/micro-benchmarks/Pruning.fst.hints @@ -1,5 +1,5 @@ [ - "ÈÝi«þÆ\u000fTIn&M½\\¤9", + "è÷\u0018A]ÞêùH¹µ\bÆ£k", [ [ "Pruning.lemma", @@ -30,7 +30,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "ae63fe5dfc1a7c7a3bc5c517335b50b9" + "c475640f29c28291461eb69bea1f6c3f" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Raising.fst.hints b/tests/micro-benchmarks/Raising.fst.hints index 8f06be3895a..47553ad010b 100644 --- a/tests/micro-benchmarks/Raising.fst.hints +++ b/tests/micro-benchmarks/Raising.fst.hints @@ -20,7 +20,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2cef58cbef7a8f02abb5b78ed0f04d1c" + "4e9b8041d3222c4662fe244f53862007" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RangeOf.fst.hints b/tests/micro-benchmarks/RangeOf.fst.hints index 12e1825f870..688cb113527 100644 --- a/tests/micro-benchmarks/RangeOf.fst.hints +++ b/tests/micro-benchmarks/RangeOf.fst.hints @@ -1,5 +1,5 @@ [ - "J4¨=ô\u0004ŽëÞÁ.ežCä", + "öÞbam–R\\B\u001a$¡¯ž`\f", [ [ "RangeOf.uu___0", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_RangeOf.z" ], 0, - "1436756eba6085a5dcd07da434cd142f" + "32ac9e7a16a1811edd266daee9efd2ca" ], [ "RangeOf.uu___1", @@ -20,7 +20,7 @@ "equation_RangeOf.z", "projection_inverse_BoxInt_proj_0" ], 0, - "e6e1ad0d18a27dab2e388d5d32cf9dd1" + "f7bf5e7e9eda2ca75a4008a5e637e93d" ], [ "RangeOf.uu___2", @@ -29,7 +29,7 @@ 1, [ "@query", "equation_RangeOf.r3" ], 0, - "b1764f053c8d636762fad8337e80c123" + "69941b5fe70aef24386adba7dcc6be2b" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldAttributes.fst b/tests/micro-benchmarks/RecordFieldAttributes.fst index b33cc96f9c9..3052ae151aa 100644 --- a/tests/micro-benchmarks/RecordFieldAttributes.fst +++ b/tests/micro-benchmarks/RecordFieldAttributes.fst @@ -1,6 +1,6 @@ module RecordFieldAttributes -module T = FStar.Tactics +module T = FStar.Tactics.V2 type description (d : string) = () @@ -24,17 +24,13 @@ let rec fv_eq (fv1 : list string) (fv2 : list string) : bool = | _, _ -> false let unpack_field (b : T.binder) : T.Tac (string * option T.term * T.term) = - let (bv, (_, attrs)) = - let bview = T.inspect_binder b in - bview.binder_bv, (bview.binder_qual, bview.binder_attrs) in - let attr_opt = match attrs with | [] -> None | _ -> Some (FStar.List.Tot.hd attrs) in - let bvv = T.inspect_bv bv in - (T.name_of_bv bv, attr_opt, T.binder_sort b) + let attr_opt = match b.attrs with | [] -> None | _ -> Some (FStar.List.Tot.hd b.attrs) in + (T.unseal b.ppname, attr_opt, b.sort) // returns a list of (field name, optional attribute, field type) let rec unpack_fields (qname : list string) (ty : T.term) : T.Tac (list (string * option T.term * T.term)) = // type of the constructor should contain an Arrow type (there's at least one field in a record) - match T.inspect_ln ty with + match T.inspect ty with | T.Tv_Arrow binder comp -> begin let f = unpack_field binder in match T.inspect_comp comp with @@ -55,9 +51,9 @@ let get_record_fields (env : T.env) (qname : list string) : T.Tac (list (string | Some s -> begin // Check if sig in an enum definition match T.inspect_sigelt s with - | T.Sg_Inductive _ _ _ _ cts -> begin - if List.Tot.length cts = 1 - then unpack_fields qname (snd (List.Tot.hd cts)) + | T.Sg_Inductive {ctors} -> begin + if List.Tot.length ctors = 1 + then unpack_fields qname (snd (List.Tot.hd ctors)) else T.fail "Expected record, got inductive with more than one constructor" end | _ -> T.fail ("Expected inductive, got " ^ (T.term_to_string (T.pack (T.Tv_FVar (T.pack_fv qname))))) @@ -65,9 +61,9 @@ let get_record_fields (env : T.env) (qname : list string) : T.Tac (list (string | None -> T.fail ("Could not find type " ^ (T.implode_qn qname)) let validate_attribute (expectedDescription : string) (attr : T.term) : T.Tac unit = - match T.inspect_ln attr with + match T.inspect attr with | T.Tv_App attr_type (attr_value, _) -> begin - match T.inspect_ln attr_type, T.inspect_ln attr_value with + match T.inspect attr_type, T.inspect attr_value with | T.Tv_FVar fv, T.Tv_Const c -> begin let desc = match c with diff --git a/tests/micro-benchmarks/RecordFieldAttributes.fst.hints b/tests/micro-benchmarks/RecordFieldAttributes.fst.hints index bb5127774e0..4424c8e8208 100644 --- a/tests/micro-benchmarks/RecordFieldAttributes.fst.hints +++ b/tests/micro-benchmarks/RecordFieldAttributes.fst.hints @@ -1,5 +1,5 @@ [ - "¯ó$\u0013SÕŸT_uØ';Ý‘", + "\u001e\u0003~W\u0004¢\u0017¡Kú\f±=í?’", [ [ "RecordFieldAttributes.fv_eq", @@ -13,7 +13,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5fd8dc68b820df498c45aad25bc344b4" + "63fe1d5ef523b3e085b5209fdf75a5a0" ], [ "RecordFieldAttributes.unpack_field", @@ -22,11 +22,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0" ], 0, - "8fdb0f26b68c8942e360c9a5c0510bb1" + "fbac313db0238167a44945b061574b95" ], [ "RecordFieldAttributes.get_record_fields", @@ -36,31 +37,29 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Reflection.Types_pretyping_84d6367db30bfa82d85949e1eb0c6daa", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Native.Some", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "data_elim_FStar.Tactics.Result.Success", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Data.Sg_Inductive", - "disc_equation_Prims.Cons", "equation_FStar.Reflection.Data.ctor", - "equation_FStar.Reflection.Types.name", + "disc_equation_FStar.Tactics.NamedView.Sg_Inductive", + "disc_equation_Prims.Cons", "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.ctor", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.ctor", "function_token_typing_FStar.Reflection.Types.sigelt", + "function_token_typing_FStar.Reflection.V2.Data.ctor", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Reflection.Data.Sg_Inductive_cts", + "proj_equation_FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Inductive__payload_ctors", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437", - "typing_FStar.Reflection.Builtins.inspect_sigelt", - "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Data.__proj__Sg_Inductive__item__cts" + "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Tactics.NamedView.__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__ctors", + "typing_FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0" ], 0, - "9ab08e6213329f2b97826e42bb76cf4d" + "bd1f0e958b270b99ae58151f24d9b9cd" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints b/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints index 25aff0abb17..2a152868dc7 100644 --- a/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints +++ b/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75c1c2d51ce7e0444befb6c355ba2a36" + "0220c75d8ffc11ff4843a3d364d943c8" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldOperator.fst.hints b/tests/micro-benchmarks/RecordFieldOperator.fst.hints index c40e747d045..0de97475979 100644 --- a/tests/micro-benchmarks/RecordFieldOperator.fst.hints +++ b/tests/micro-benchmarks/RecordFieldOperator.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "de02afe0c299f433de6de868f9a58dc7" + "391778fb03108cd0eaef1e56f1927cf6" ], [ "RecordFieldOperator.uu___9", @@ -25,7 +25,7 @@ "typing_Tm_abs_b7bd7ca32453cd32f19493f86c11906d" ], 0, - "89f1bc97e1a5f423400fba0ed91b55ec" + "2417a09d28f236995983a2d2f555a934" ], [ "RecordFieldOperator.uu___24", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "06a79f9d35f32521b66479ce8a269cf6" + "802558b83182d0769a161cf47b06a0c3" ], [ "RecordFieldOperator.uu___48", @@ -43,7 +43,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "7dccc7b0f880a61cc92259a1b6b997b0" + "bf2468071bf5bfea2bc2025e5202f70e" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordOpen.fst.hints b/tests/micro-benchmarks/RecordOpen.fst.hints index a0a37d29aa7..0bd1d7ba6c1 100644 --- a/tests/micro-benchmarks/RecordOpen.fst.hints +++ b/tests/micro-benchmarks/RecordOpen.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_RecordOpen.Mkty_y" ], 0, - "ffeb876d72e55a9c409e788ed6cbdcff" + "3c7ed7b1a530374ff9f36eb9952d18a5" ], [ "RecordOpen.uu___14", @@ -29,7 +29,7 @@ "projection_inverse_RecordOpen.Mkty_y", "typing_RecordOpen.f" ], 0, - "31aa1caa0eeddb5ea7aec0f532fc2f8b" + "e7240c2fddd89124f09dfd2ee5425508" ], [ "RecordOpen.ty2", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "44aba1b38467b8078137bed60666840f" + "3fb142db3697aabfeb3a719ad7dc2226" ], [ "RecordOpen.f3", @@ -50,7 +50,7 @@ "projection_inverse_RecordOpen.Mkty2_x" ], 0, - "f50690d2c541e155a6b4187217d3639f" + "19ce88bd89b34da0a04424fd67aaffbb" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ReduceRecUnderMatch.fst b/tests/micro-benchmarks/ReduceRecUnderMatch.fst index fa7561f3d1b..a8ab2b62dbb 100644 --- a/tests/micro-benchmarks/ReduceRecUnderMatch.fst +++ b/tests/micro-benchmarks/ReduceRecUnderMatch.fst @@ -3,8 +3,8 @@ module ReduceRecUnderMatch (** An example adapted from one provided by Son Ho Demonstrates the use of the [zeta_full] option of the normalizer *) -module T = FStar.Tactics -open FStar.Tactics +module T = FStar.Tactics.V2 +open FStar.Tactics.V2 (** A check to make sure that [t0] doesn't appear in the goal and to catch regressions. @@ -24,7 +24,7 @@ let qname_as_term (x:string) : term = let qn = explode_qn x in let fv = pack_fv qn in let tv = Tv_FVar fv in - pack_ln tv + pack tv (** This tactic unfolds only [t] and reduces matches and recursive functions fully *) diff --git a/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints b/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints index 3de4191ffbf..ce8af999bec 100644 --- a/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints +++ b/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints @@ -1,5 +1,5 @@ [ - "«\fë|b\u0014\u0015_\u001eBÂ6\u000b³m5", + "\u0002µ‰»ùµFZ2…‘FœUöÒ", [ [ "ReduceRecUnderMatch.f2", @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "7bd857f58dc92b7e570b6af74c9cf60f" + "b30aae4fe17420b9322ce34fe257f31c" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ResolveImplicitsHook.fst b/tests/micro-benchmarks/ResolveImplicitsHook.fst index 5c9a4234481..13ac39dc3b0 100644 --- a/tests/micro-benchmarks/ResolveImplicitsHook.fst +++ b/tests/micro-benchmarks/ResolveImplicitsHook.fst @@ -1,6 +1,6 @@ module ResolveImplicitsHook -open FStar.Tactics -module T = FStar.Tactics +open FStar.Tactics.V2 +module T = FStar.Tactics.V2 irreducible let marker : unit = () diff --git a/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints b/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints index 50acbee3543..566832722d7 100644 --- a/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints +++ b/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints @@ -1 +1 @@ -[ "]€Í\\Mûÿ4`æNû\fß0N", [] ] \ No newline at end of file +[ "RܺÉÝv»¬”4Í–-\u0006°*", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RevealHide.fst b/tests/micro-benchmarks/RevealHide.fst index 36049f343ac..90f9bd57f04 100644 --- a/tests/micro-benchmarks/RevealHide.fst +++ b/tests/micro-benchmarks/RevealHide.fst @@ -1,6 +1,6 @@ module RevealHide open FStar.Ghost -open FStar.Tactics +open FStar.Tactics.V2 #push-options "--no_smt" diff --git a/tests/micro-benchmarks/RevealHide.fst.hints b/tests/micro-benchmarks/RevealHide.fst.hints index 12faa0a52e2..502feeef813 100644 --- a/tests/micro-benchmarks/RevealHide.fst.hints +++ b/tests/micro-benchmarks/RevealHide.fst.hints @@ -1 +1 @@ -[ "—þYãò[ÿôŒÞQ4ðKU†", [] ] \ No newline at end of file +[ "\u0011¯Ykæ1z~„ö Type0) -> Type0 assume val wp2 : (int -> unit -> Type0) -> Type0 diff --git a/tests/micro-benchmarks/WPExtensionality.fst.hints b/tests/micro-benchmarks/WPExtensionality.fst.hints index 2b7848eea02..6662cc7863e 100644 --- a/tests/micro-benchmarks/WPExtensionality.fst.hints +++ b/tests/micro-benchmarks/WPExtensionality.fst.hints @@ -1 +1 @@ -[ "]\u0015gmàbçq¦MFÒÞÚŒ\u0001", [] ] \ No newline at end of file +[ "]\u0006>3˜6\u001c\\ò¦­mÑ\u000eJ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/WarnOnUse.fst.hints b/tests/micro-benchmarks/WarnOnUse.fst.hints index e6342763368..feedb44495a 100644 --- a/tests/micro-benchmarks/WarnOnUse.fst.hints +++ b/tests/micro-benchmarks/WarnOnUse.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "202fa6ec41807127d0118948a5a06982" + "bc339a9a8c57426d4185671bd469a2ac" ] ] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/arith.fst.hints b/tests/micro-benchmarks/arith.fst.hints index a17036dd434..23b721c8370 100644 --- a/tests/micro-benchmarks/arith.fst.hints +++ b/tests/micro-benchmarks/arith.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8db829144929f1d23046277388bcca54" + "98a0db53d25e317eefd835e7d667f35a" ], [ "Arith.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "a848432cfbf4995f44ccb974f6050ae7" + "8d424271507f4096d3ad4aafea5ba565" ], [ "Arith.test3", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bb674f03bb0fe34299676b5414f338ec" + "6b4adf99a2145c6557b49a4398533577" ], [ "Arith.test4", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4baab0db92e4a89605529cfaafe33470" + "57c2566417c4d480b6c24c8171481d3c" ], [ "Arith.test5", @@ -52,7 +52,7 @@ 1, [ "@query" ], 0, - "8105625191a7f0106f0279ceb2e6b3ad" + "5183b94005ddae095f96d2fb3bcc5fc5" ], [ "Arith.test6", @@ -61,7 +61,7 @@ 1, [ "@query" ], 0, - "a93e095856f2b3decc4c60cb6fe1531b" + "821def2ad80dbf4015a3886a6ec467d1" ], [ "Arith.test7", @@ -70,7 +70,7 @@ 1, [ "@query" ], 0, - "fc983e357459260becd4b5b38e7928e0" + "e4a075649617bf1fc29180e4ac9dc777" ], [ "Arith.test8", @@ -79,7 +79,7 @@ 1, [ "@query" ], 0, - "3017c0c9a662527179f5ad043ab69c12" + "fa0be7b1e2c1f153d4c0c869615ff62f" ], [ "Arith.test9", @@ -88,7 +88,7 @@ 1, [ "@query" ], 0, - "c2685aeb632066056fa3ebea61d2a2b9" + "d42d626f5976c1a90ddb793ebbdf48df" ], [ "Arith.test10", @@ -97,7 +97,7 @@ 1, [ "@query" ], 0, - "45140daab6b519d6b8db025cb276815c" + "959ac9d3cb2b016ae3294433f2bacc37" ], [ "Arith.test11", @@ -106,7 +106,7 @@ 1, [ "@query" ], 0, - "8c07295c00ef594d5df97afb4b5750d8" + "8dcaae403de2ca870cb63b13e57ef652" ] ] ] \ No newline at end of file diff --git a/tests/plugins/Emb.fst b/tests/plugins/Emb.fst new file mode 100644 index 00000000000..72ab13b6b70 --- /dev/null +++ b/tests/plugins/Emb.fst @@ -0,0 +1,24 @@ +module Emb + +[@@plugin] +type t = + | A of int + | B of int & bool + | C : int -> string -> t + +[@@plugin] +let f (x:int) = x + 123 + +[@@plugin] +let flip (x:t) : t = + match x with + | A x -> C x "" + | B (i, b) -> B (-i, not b) + | C x _ -> A x + +[@@plugin] +type record = {a:int; b:bool} + +let fr (x : record) : record = + if x.b then { x with a = -x.a } + else { x with b = true } diff --git a/tests/prettyprinting/MetaArgs.fst b/tests/prettyprinting/MetaArgs.fst index 3a41a4a5873..2f6dcb69864 100644 --- a/tests/prettyprinting/MetaArgs.fst +++ b/tests/prettyprinting/MetaArgs.fst @@ -1,6 +1,6 @@ module MetaArgs -open FStar.Tactics +open FStar.Tactics.V2 let sometac () : Tac unit = exact (`42) let diag (x : int) (#[exact (quote x)] y : int) : tuple2 int int = (x, y) diff --git a/tests/prettyprinting/MetaArgs.fst.expected b/tests/prettyprinting/MetaArgs.fst.expected index 0c4d43b8acc..863c0244425 100644 --- a/tests/prettyprinting/MetaArgs.fst.expected +++ b/tests/prettyprinting/MetaArgs.fst.expected @@ -1,6 +1,6 @@ module MetaArgs -open FStar.Tactics +open FStar.Tactics.V2 let sometac () : Tac unit = exact (`42) let diag (x: int) (#[exact (quote x)] y: int) : tuple2 int int = (x, y) diff --git a/tests/struct/array.pos/Test.fst.hints b/tests/struct/array.pos/Test.fst.hints index b6b4922fb42..27e77c1db7e 100644 --- a/tests/struct/array.pos/Test.fst.hints +++ b/tests/struct/array.pos/Test.fst.hints @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TInt@tok" ], 0, - "70e6f7da0a4c0872b02d04e842ae2a2c" + "42d1c57a9f983806794688e1117e4062" ], [ "Test.callee", @@ -124,7 +124,7 @@ "typing_Test.struct_t" ], 0, - "dc5c10190d30ae237105d196a38ab183" + "fe4fb5349b443e6341d10b05e077326c" ], [ "Test.caller", @@ -280,7 +280,7 @@ "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" ], 0, - "9b9cfbe1e9696ea23acd4562f0e6a77e" + "a9120dac27c19eea5389eb01033c5fbb" ] ] ] \ No newline at end of file diff --git a/tests/struct/disjoint.pos/Test.fst.hints b/tests/struct/disjoint.pos/Test.fst.hints index 562bf869725..fa858da3af1 100644 --- a/tests/struct/disjoint.pos/Test.fst.hints +++ b/tests/struct/disjoint.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.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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, - "d0be16fe59efbfca0e08f809bce7e4fb" + "17154414e6dcd7fa2b441c294e32d646" ], [ "Test.callee", @@ -64,8 +64,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TInt", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", @@ -124,7 +124,7 @@ "typing_Test.struct_t" ], 0, - "18177e381c9a1c042305c76d8e387561" + "1e3b3c83e249f641cf901c2a72acb00d" ], [ "Test.more_struct", @@ -138,8 +138,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -178,7 +178,7 @@ "typing_Test.struct_t" ], 0, - "6a204c8b74874931eda22e4dc1fa9e92" + "a3f0a8d766bb6992b7f4ff1f6c1bd8b9" ], [ "Test.caller", @@ -194,13 +194,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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", "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -323,7 +323,7 @@ "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" ], 0, - "ae194521e6b782656b792248456adc79" + "b974f29f6d11b3dbaf0c91a5445ec1db" ] ] ] \ No newline at end of file diff --git a/tests/struct/nested.pos/Test.fst.hints b/tests/struct/nested.pos/Test.fst.hints index ac9f2698eab..66b5a5fac9a 100644 --- a/tests/struct/nested.pos/Test.fst.hints +++ b/tests/struct/nested.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.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -39,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_9e7f68c38e43484e77069094f4fd88d3", "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", @@ -49,7 +49,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v" ], 0, - "a3ff988b81d108800fb70d8ce64c4639" + "8aa3dd7ecae44ed626ea08ebc6cbbd00" ], [ "Test.ty", @@ -62,8 +62,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -89,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_9e7f68c38e43484e77069094f4fd88d3", "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", @@ -99,7 +99,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v" ], 0, - "53d6e96c53d597bd90907050a8f49e79" + "8c5d4ad91389e2bcfb71e605de02afab" ], [ "Test.f", @@ -117,8 +117,8 @@ "@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.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", @@ -244,7 +244,7 @@ "typing_Test.ty", "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "311361732507d6262d7948b126dd527d" + "e8202743dddf53a7a7f9c63d09167358" ] ] ] \ No newline at end of file diff --git a/tests/struct/point-with-nesting.pos/Test.fst.hints b/tests/struct/point-with-nesting.pos/Test.fst.hints index b672d36db98..0eab1d5b796 100644 --- a/tests/struct/point-with-nesting.pos/Test.fst.hints +++ b/tests/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.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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, - "cda0808a1a2df05a900de54c03944ff6" + "16e434b97e1dcdbe394909cfb39e4d4b" ], [ "Test.colored_object_struct", @@ -62,9 +62,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -102,7 +102,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_Test.point_struct" ], 0, - "60b7a9340f7a06e53a8e2e6ebaaf226c" + "ba335e271d1203f62b187f945d784c0a" ], [ "Test.write_struct_field", @@ -133,7 +133,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "fc253ddabc3dbc4fff76442a660610cb" + "694ec19798a3ef92ae4ba5612a70c6ad" ], [ "Test.flip", @@ -149,8 +149,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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", @@ -222,7 +222,7 @@ "typing_Test.point_struct", "typing_Test.point_t" ], 0, - "f0a64a7dc05269b9a0338aa7ba1ca9c1" + "e387495548b0b15665b7350aed6a2164" ], [ "Test.flip'", @@ -238,8 +238,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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", @@ -311,7 +311,7 @@ "typing_Test.point_struct", "typing_Test.point_t" ], 0, - "31a45033e05c48efe02e2a9f35d5d715" + "c6b1778bdb38e85a387d1ea7fce1737a" ] ] ] \ No newline at end of file diff --git a/tests/struct/point.pos/Test.fst.hints b/tests/struct/point.pos/Test.fst.hints index bc08ade2b3d..22a29458a01 100644 --- a/tests/struct/point.pos/Test.fst.hints +++ b/tests/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.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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, - "5c8148a464f4785ae1f3783132cbca79" + "f256bb76c971a9b8dd5afa073a90ee4e" ], [ "Test.flip", @@ -65,8 +65,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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", @@ -131,7 +131,7 @@ "typing_Test.point_struct_t" ], 0, - "8f61523412d6ef08a8b9711aa3e98574" + "40d19cc8c435f6e0b2be28caaa5ca2bd" ], [ "Test.flip'", @@ -146,8 +146,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "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", @@ -212,7 +212,7 @@ "typing_Test.point_struct_t" ], 0, - "ec4b22a3bbd55a359cbfa84e290a4ae7" + "e9c76a750b27e845b1b76c068b33c353" ] ] ] \ No newline at end of file diff --git a/tests/struct/taggedunion.pos/Test.fst.hints b/tests/struct/taggedunion.pos/Test.fst.hints index ad6f3397b81..480b4524424 100644 --- a/tests/struct/taggedunion.pos/Test.fst.hints +++ b/tests/struct/taggedunion.pos/Test.fst.hints @@ -46,7 +46,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "f42fc4bd509499a65b5159c4e85f03b5" + "551deadeef7bcf088b7ca48878e269fa" ], [ "Test.either_tags", @@ -118,7 +118,7 @@ "typing_Prims.pow2", "typing_Test.either_l" ], 0, - "376b09a10f9493b1f688653ee7884477" + "ba39390ae65c3ea20110ec4b8ca2a6a2" ], [ "Test.option_l", @@ -168,7 +168,7 @@ "typing_tok_FStar.Pointer.Base.TUnit@tok" ], 0, - "69e42b8b6fb75643b9c3724dc434ee5d" + "36ea173fa46944787790172fc42c0390" ], [ "Test.option_tags", @@ -240,7 +240,7 @@ "typing_Prims.pow2", "typing_Test.option_l" ], 0, - "b7e053af2380c9e85bf76b2ed813b6a1" + "cd09f2022c793ca2eff0b7b4843a92eb" ], [ "Test.s_l", @@ -289,7 +289,7 @@ "typing_tok_FStar.Pointer.Base.TUInt8@tok" ], 0, - "595a2bd2f9e4e57ccc42e84bc6b2f9cc" + "0fb0e3d8f72356fd0b89bdf004643e0d" ], [ "Test.s_x", @@ -329,7 +329,7 @@ "typing_Test.s_l" ], 0, - "07d01ba0bbe53dd96a4eb5c414209d69" + "bdde5ee3a954303dbd00a7cd89c1612c" ], [ "Test.s_y", @@ -371,7 +371,7 @@ "typing_Test.s_l" ], 0, - "0212a0dbd50f5cff8a50619851c50033" + "3ab6d474af05ccb84f7c7179070e65ec" ], [ "Test.step_0", @@ -449,7 +449,7 @@ "typing_tok_FStar.Pointer.Base.TUInt16@tok" ], 0, - "2146fb9df91b4055a11c3e6603f5cc58" + "1fc64dcccf0f7c1f81ba26bbd1f9c437" ], [ "Test.step", @@ -533,7 +533,7 @@ "typing_tok_FStar.Pointer.Base.TUInt16@tok" ], 0, - "40361e5255daa93e0b40d02ffdc20692" + "5eea290dc6a0271dc717c570f84fa576" ], [ "Test.step_alt", @@ -649,7 +649,7 @@ "unit_typing" ], 0, - "96e1279bfdf32bf691308f8a96be2849" + "72b52f68b0dca4c6c258a70203c01c85" ] ] ] \ No newline at end of file diff --git a/tests/struct/union.pos/Test.fst.hints b/tests/struct/union.pos/Test.fst.hints index 25d8e166ac8..09a4f94ad78 100644 --- a/tests/struct/union.pos/Test.fst.hints +++ b/tests/struct/union.pos/Test.fst.hints @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TUnit@tok" ], 0, - "b45b90a09c805fa858f7957c69531542" + "f28288a04cca09341b2aee74132f37e2" ], [ "Test.u", @@ -104,7 +104,7 @@ "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "7f5e6e3f7b88d7f695e982657c95bb87" + "3cda5b8fc3c6b8c4a843f74883c8b752" ], [ "Test.f", @@ -197,7 +197,7 @@ "typing_Test.t", "typing_Test.u" ], 0, - "cddbd8e8735b706035bb72c75e54e181" + "3347a4496d89756366f8909a9d8a7b23" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Alt.fst b/tests/tactics/Alt.fst index 153524dd7b6..445a33ea8fa 100644 --- a/tests/tactics/Alt.fst +++ b/tests/tactics/Alt.fst @@ -15,7 +15,7 @@ *) module Alt -open FStar.Tactics +open FStar.Tactics.V2 let tfail s () = fail s diff --git a/tests/tactics/Alt.fst.hints b/tests/tactics/Alt.fst.hints index 2b6a3784944..a6a870f67ec 100644 --- a/tests/tactics/Alt.fst.hints +++ b/tests/tactics/Alt.fst.hints @@ -1 +1 @@ -[ "k \u000e=³¹\\/qÑ,–³?]\u001d", [] ] \ No newline at end of file +[ "Ђ79¼˜\\<+\u001e‘¹\u001dnªý", [] ] \ No newline at end of file diff --git a/tests/tactics/AnnoyingVCs.fst b/tests/tactics/AnnoyingVCs.fst index 0d0348f4afe..a62b1bc684e 100644 --- a/tests/tactics/AnnoyingVCs.fst +++ b/tests/tactics/AnnoyingVCs.fst @@ -14,7 +14,7 @@ limitations under the License. *) module AnnoyingVCs -open FStar.Tactics +open FStar.Tactics.V2 assume val p : nat -> Type diff --git a/tests/tactics/AnnoyingVCs.fst.hints b/tests/tactics/AnnoyingVCs.fst.hints index 7d7440411fe..3938dfe34c7 100644 --- a/tests/tactics/AnnoyingVCs.fst.hints +++ b/tests/tactics/AnnoyingVCs.fst.hints @@ -1,5 +1,5 @@ [ - "*`H*HSÕÃROn˜ô®4\n", + "IÐc\u001a}¿\u0007¾è\naƒ¸ìO~", [ [ "AnnoyingVCs.test1", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "d9c75ecdcbd420b36ea12b002f60f4aa" + "20cdb30146c7e57ae61ad502c6da5696" ], [ "AnnoyingVCs.test1", @@ -20,7 +20,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1895abb48b0901847f719f384a44c014" + "d224a82b8f9de0ce4db2d6ed344c03e7" ], [ "AnnoyingVCs.test2", @@ -29,7 +29,7 @@ 1, [ "@query", "true_interp" ], 0, - "ee9c103921c7af4ae4f773722851ad55" + "3f29301ecbb64378aa60b7075fe17ccb" ], [ "AnnoyingVCs.test2", @@ -41,7 +41,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "48c49bf3fd60a1cc92658b58963162d4" + "241820e3aacaa4fdf08a6820d9c3766a" ], [ "AnnoyingVCs.test2", @@ -53,7 +53,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6b410b60766ecb816f41d96c09804214" + "d224a82b8f9de0ce4db2d6ed344c03e7" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Apply.fst b/tests/tactics/Apply.fst index 27cf3c4a387..80fe4d77b51 100644 --- a/tests/tactics/Apply.fst +++ b/tests/tactics/Apply.fst @@ -16,7 +16,7 @@ module Apply open FStar.Mul -open FStar.Tactics +open FStar.Tactics.V2 assume val x : int diff --git a/tests/tactics/Apply.fst.hints b/tests/tactics/Apply.fst.hints index 654f988234a..7e685970419 100644 --- a/tests/tactics/Apply.fst.hints +++ b/tests/tactics/Apply.fst.hints @@ -1 +1 @@ -[ "øCF©w–‰ñiªNpÕÔ4\u000f", [] ] \ No newline at end of file +[ "³Œ£1e¼Òêïùþ)šÜ4å", [] ] \ No newline at end of file diff --git a/tests/tactics/ApplyLemma.fst b/tests/tactics/ApplyLemma.fst index 88a2081ef56..818c8bc127d 100644 --- a/tests/tactics/ApplyLemma.fst +++ b/tests/tactics/ApplyLemma.fst @@ -15,7 +15,7 @@ *) module ApplyLemma -open FStar.Tactics +open FStar.Tactics.V2 assume val p : Type0 assume val q : Type0 diff --git a/tests/tactics/ApplyLemma.fst.hints b/tests/tactics/ApplyLemma.fst.hints index 9a9d8160724..e9b48afb10f 100644 --- a/tests/tactics/ApplyLemma.fst.hints +++ b/tests/tactics/ApplyLemma.fst.hints @@ -1 +1 @@ -[ "gô\u0018)$$À\b\u0007ÔÞ¯È Vž", [] ] \ No newline at end of file +[ "Ÿr(Ú\u0012Ø…\u0005tû£hó•°", [] ] \ No newline at end of file diff --git a/tests/tactics/Branch.fst b/tests/tactics/Branch.fst index 019e2816dba..12f8d21c17f 100644 --- a/tests/tactics/Branch.fst +++ b/tests/tactics/Branch.fst @@ -1,6 +1,6 @@ module Branch -open FStar.Tactics +open FStar.Tactics.V2 type abc = | A of int | B | C diff --git a/tests/tactics/Branch.fst.hints b/tests/tactics/Branch.fst.hints index 4e531f6527e..a268120bc78 100644 --- a/tests/tactics/Branch.fst.hints +++ b/tests/tactics/Branch.fst.hints @@ -1,5 +1,5 @@ [ - "Töc)é`\u001aO\u001fUûÄC¨\u0006å", + "ÔZ)Þš‰rz,\u0014ø„\u0016\u0013…ê", [ [ "Branch.__proj__A__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_9919183acc09ab1e33301cdf8ea273cd" ], 0, - "1c0ce472cee6baf5c906d5ece52295d4" + "a779acff3e430cee2c5650c6eb271923" ], [ "Branch.test0", @@ -20,7 +20,7 @@ 1, [ "@query", "true_interp" ], 0, - "4e0a86800853bd38037a8ab51280b635" + "79947090c5e90c0f009f6b02288a5777" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Bug1252.fst b/tests/tactics/Bug1252.fst index 787b3f3ba7c..46a8be15ad9 100644 --- a/tests/tactics/Bug1252.fst +++ b/tests/tactics/Bug1252.fst @@ -15,7 +15,7 @@ *) module Bug1252 -open FStar.Tactics +open FStar.Tactics.V2 assume val p: int -> prop assume val p1 : squash (p 1) //NS: the squash allows p1 to be an ambient assumption in Z3 diff --git a/tests/tactics/Bug1252.fst.hints b/tests/tactics/Bug1252.fst.hints index 158e8dca411..9bb9174195d 100644 --- a/tests/tactics/Bug1252.fst.hints +++ b/tests/tactics/Bug1252.fst.hints @@ -1,5 +1,5 @@ [ - "šEr\u001cˆæ_”ýÞ“:\u0015.f¢", + "ÀÊ\r>úµ‹Ø²ÇC\u0016™7Íæ", [ [ "Bug1252.f", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d4130332c031d83e8b0cd98d59c47c58" + "12b4f1ed0373be0096e44da2bdffad3b" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Bug1256.fst b/tests/tactics/Bug1256.fst index 7cdc5667521..dbda188314d 100644 --- a/tests/tactics/Bug1256.fst +++ b/tests/tactics/Bug1256.fst @@ -15,13 +15,13 @@ *) module Bug1256 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Squash let ddump m = if debugging () then dump m let my_cut (t:term) : Tac unit = - let qq = pack (Tv_FVar (pack_fv ["FStar";"Tactics";"Derived";"__cut"])) in + let qq = pack (Tv_FVar (pack_fv ["FStar";"Tactics";"V2";"Derived";"__cut"])) in let tt = pack (Tv_App qq (t, Q_Explicit)) in apply tt @@ -34,16 +34,16 @@ let test (p:(unit -> Type0)) (q:(unit -> Type0)) by (let eq = implies_intro () in let h = implies_intro () in ddump "A"; - my_cut (type_of_binder h); + my_cut h.sort; ddump "B"; rewrite eq; norm []; ddump "C"; let hh = intro () in apply (`return_squash); - exact (pack (Tv_Var (bv_of_binder hh))); + exact (pack (Tv_Var (binding_to_namedv hh))); ddump "D"; - exact (pack (Tv_Var (bv_of_binder h))) ) + exact (pack (Tv_Var (binding_to_namedv h))) ) [@@expect_failure] let test2 (post:(unit -> Type0)) @@ -66,7 +66,7 @@ let test3 (p:(unit -> Type0)) (q:(unit -> Type0)) by (let eq = implies_intro () in let h = implies_intro () in ddump "A"; - my_cut (type_of_binder h); + my_cut h.sort; ddump "B"; rewrite eq; norm []; @@ -74,9 +74,9 @@ let test3 (p:(unit -> Type0)) (q:(unit -> Type0)) let hh = intro () in apply (`return_squash); ddump "D"; - exact (pack (Tv_Var (bv_of_binder hh))); + exact (pack (Tv_Var (binding_to_namedv hh))); ddump "E"; - exact (pack (Tv_Var (bv_of_binder h))) + exact (pack (Tv_Var (binding_to_namedv h))) ) let test4 (post:(unit -> Type0)) @@ -84,13 +84,13 @@ let test4 (post:(unit -> Type0)) by (let eq = implies_intro () in let h = implies_intro () in ddump "A"; - my_cut (type_of_binder h); + my_cut h.sort; ddump "B"; rewrite eq; norm []; ddump "C"; let hh = intro () in apply (`return_squash); - exact (pack (Tv_Var (bv_of_binder hh))); - exact (pack (Tv_Var (bv_of_binder h))); + exact (pack (Tv_Var (binding_to_namedv hh))); + exact (pack (Tv_Var (binding_to_namedv h))); ()) diff --git a/tests/tactics/Bug1256.fst.hints b/tests/tactics/Bug1256.fst.hints index c58aacdfca0..978872ec487 100644 --- a/tests/tactics/Bug1256.fst.hints +++ b/tests/tactics/Bug1256.fst.hints @@ -1 +1 @@ -[ "?¤ñjCÿi­n˜r(ÊJv", [] ] \ No newline at end of file +[ "˜\u0006ÏÑv\u0014¯D§»FVÈž¬H", [] ] \ No newline at end of file diff --git a/tests/tactics/Bug1270.fst b/tests/tactics/Bug1270.fst index 83f85a84289..b010000b511 100644 --- a/tests/tactics/Bug1270.fst +++ b/tests/tactics/Bug1270.fst @@ -15,14 +15,14 @@ *) module Bug1270 -open FStar.Tactics +open FStar.Tactics.V2 let test = assert (True ==> True) by ((fun () -> let _ = forall_intros () in let env = cur_env () in - let hyps = binders_of_env env in + let hyps = vars_of_env env in match hyps with | [] -> () | h :: _ -> ()) `or_else` trivial) diff --git a/tests/tactics/Bug1270.fst.hints b/tests/tactics/Bug1270.fst.hints index e2cba7f559a..c0f3eaf3c11 100644 --- a/tests/tactics/Bug1270.fst.hints +++ b/tests/tactics/Bug1270.fst.hints @@ -1,5 +1,5 @@ [ - "Bˆ\u0003\u001aÉÅS\u0011Ãu\u0002\u0011\u0000\u001eò)", + "UŸz\u001bøðq‘ûBpþ½\u0005,ˆ", [ [ "Bug1270.test", @@ -10,14 +10,15 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Reflection.Builtins.binders_of_env" + "typing_FStar.Reflection.V2.Builtins.vars_of_env" ], 0, - "7cb972ea16a3965542f1b8cfbafc5c90" + "a3dbb6da6fb5a76f9ad0c28a7a5975fd" ], [ "Bug1270.test", @@ -28,14 +29,15 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "true_interp", - "typing_FStar.Reflection.Builtins.binders_of_env" + "typing_FStar.Reflection.V2.Builtins.vars_of_env" ], 0, - "7f5893c92a6ca7be051b253c676d2b6c" + "9c93bb43faa4de2e0666f73b26141cf6" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Bug1272.fst b/tests/tactics/Bug1272.fst index af3d3b7fac8..5c77cb6a860 100644 --- a/tests/tactics/Bug1272.fst +++ b/tests/tactics/Bug1272.fst @@ -15,7 +15,7 @@ *) module Bug1272 -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--admit_smt_queries true" diff --git a/tests/tactics/Bug1272.fst.hints b/tests/tactics/Bug1272.fst.hints index 31035c8f36b..74a9b9e9c53 100644 --- a/tests/tactics/Bug1272.fst.hints +++ b/tests/tactics/Bug1272.fst.hints @@ -1 +1 @@ -[ "çòûÔ»2\u0006ªä\u000ejäg;A", [] ] \ No newline at end of file +[ "\\\u0013\b\u0003¯V\u000eM÷\u001fi¶Š¤¹\u0014", [] ] \ No newline at end of file diff --git a/tests/tactics/Bug1299.fst b/tests/tactics/Bug1299.fst index 72328b26fbb..54a0ca41ea4 100644 --- a/tests/tactics/Bug1299.fst +++ b/tests/tactics/Bug1299.fst @@ -15,7 +15,7 @@ *) module Bug1299 -open FStar.Tactics +open FStar.Tactics.V2 let id () : Tac unit = () diff --git a/tests/tactics/Bug1299.fst.hints b/tests/tactics/Bug1299.fst.hints index 7850c6c1b1e..f97da92013b 100644 --- a/tests/tactics/Bug1299.fst.hints +++ b/tests/tactics/Bug1299.fst.hints @@ -1,5 +1,5 @@ [ - "®7È=6\u0003}\u0005|/|gK|u\\", + "Iê¡\u0005\\.9þæÕ\u001f\u0010\u0007ÎpI", [ [ "Bug1299.should_fail", @@ -13,7 +13,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "df1f1e28d1362b53fb1a3d9b5f4e67ee" + "cbfeaec5304b1f92011853bcabc43f40" ], [ "Bug1299.test", @@ -28,7 +28,7 @@ "function_token_typing_FStar.Pervasives.pattern", "string_typing" ], 0, - "0651b270db4b01140efda4887d5ef13e" + "84e26530294f90e332310115d5145da1" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Caller.fst b/tests/tactics/Caller.fst index 89ebc8512f2..cbb42973e5d 100644 --- a/tests/tactics/Caller.fst +++ b/tests/tactics/Caller.fst @@ -15,7 +15,7 @@ *) module Caller -open FStar.Tactics +open FStar.Tactics.V2 (* Testing tactics for requires clauses *) diff --git a/tests/tactics/Caller.fst.hints b/tests/tactics/Caller.fst.hints index 5ac9e2e9a3c..8a2588b0ea9 100644 --- a/tests/tactics/Caller.fst.hints +++ b/tests/tactics/Caller.fst.hints @@ -1 +1 @@ -[ "¾\u0001/ÖÂ+YSiÒ§hU\n3š", [] ] \ No newline at end of file +[ "\t…‘ï\u0001Gä\\[\u001boº\u000f-¦(", [] ] \ No newline at end of file diff --git a/tests/tactics/Cases.fst b/tests/tactics/Cases.fst index f96795c61e1..c4aa45180d7 100644 --- a/tests/tactics/Cases.fst +++ b/tests/tactics/Cases.fst @@ -17,7 +17,7 @@ module Cases (* *) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul assume val p : Type0 diff --git a/tests/tactics/Cases.fst.hints b/tests/tactics/Cases.fst.hints index aae07311463..8bd6939259e 100644 --- a/tests/tactics/Cases.fst.hints +++ b/tests/tactics/Cases.fst.hints @@ -1,5 +1,5 @@ [ - "\"†,ù¬ÉqË0\u0011<\u001d©[\u0011h", + "<¨)\u0013=,>ßðšUBJ®d.", [ [ "Cases.test_cases", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "6878aefbf7242cca5b83037432b4fbfa" + "298fcc445965aeecd8a98173746e3ff8" ], [ "Cases.test_cases_unsquash", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "9b456b3cf92c1b2749a0744299c0e27d" + "9cc85704e5f3191e4add6544551f1b42" ], [ "Cases.test_cases_bool", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "332a60fdb8322885dcf321cc947b71a7" + "58b838ee40ab1c3b396603567a30799b" ], [ "Cases.test_cases_bool_2", @@ -35,7 +35,7 @@ 1, [ "@query", "true_interp" ], 0, - "c26b76b1b9370dd5bb9a0dc68b631fb1" + "fa96736bbd656dbb1ced25344bcde1a6" ], [ "Cases.test_cases_bool_2", @@ -49,7 +49,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "38cca0630f5af28c9458eae40e5f3d3b" + "b902ec938e0558725448f08d3e9d9113" ], [ "Cases.test_cases_bool_2", @@ -61,7 +61,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "8cf045c56a3b8c93ed3a09d218084e39" + "3790aac77feed42c0b6bee9073011ec7" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Change.fst b/tests/tactics/Change.fst index f8846da0ed9..a9c1f5972f9 100644 --- a/tests/tactics/Change.fst +++ b/tests/tactics/Change.fst @@ -15,7 +15,7 @@ *) module Change -open FStar.Tactics +open FStar.Tactics.V2 let id #a (x:a) : a = x diff --git a/tests/tactics/Change.fst.hints b/tests/tactics/Change.fst.hints index dfb668e9687..de73d92b99e 100644 --- a/tests/tactics/Change.fst.hints +++ b/tests/tactics/Change.fst.hints @@ -1,5 +1,5 @@ [ - "Âéâe\u0005T…@µ‹n5\u0010t8[", + "†oµlo€\u0015Åœ“õØ\u007f\u0011D\u0002", [ [ "Change.uu___4", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Change.id" ], 0, - "cfb3ea325053b54b411b39e1c335e96d" + "943bd72e126a972ee235238607f7d08e" ], [ "Change.uu___9", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Change.id" ], 0, - "6920301c684d3b828944548d18a5f757" + "503a725e0446c9b71da2d30b440a31c4" ] ] ] \ No newline at end of file diff --git a/tests/tactics/CheckMatchComplete.fst b/tests/tactics/CheckMatchComplete.fst new file mode 100644 index 00000000000..fb39c1c5c31 --- /dev/null +++ b/tests/tactics/CheckMatchComplete.fst @@ -0,0 +1,44 @@ +module CheckMatchComplete + +open FStar.Tactics.V2 + +let guard (b:bool) = + if not b then + fail "guard failed" + +let test_wild () : Tac unit = + let pat = Reflection.V2.Pat_Var (Sealed.seal (`int)) (Sealed.seal "x") in + let e = cur_env () in + let r = check_match_complete e (`1) (`int) [pat] in + guard (Some? r) +let _ = assert True by (test_wild ()) + +let test_const_ok () : Tac unit = + let pat = Reflection.V2.Pat_Constant (C_Int 1) in + let e = cur_env () in + let r = check_match_complete e (`1) (`int) [pat] in + guard (Some? r) +let _ = assert True by (test_const_ok ()) + +let test_const_bad () : Tac unit = + let pat = Reflection.V2.Pat_Constant (C_Int 2) in + let e = cur_env () in + let r = check_match_complete e (`1) (`int) [pat] in + guard (None? r) +let _ = assert True by (test_const_bad ()) + +let test_const_two () : Tac unit = + let pat1 = Reflection.V2.Pat_Constant (C_Int 1) in + let pat2 = Reflection.V2.Pat_Var (Sealed.seal (`int)) (Sealed.seal "x") in + let e = cur_env () in + let r = check_match_complete e (`1) (`int) [pat1; pat2] in + guard (Some? r) +let _ = assert True by (test_const_two ()) + +let test_const_two' () : Tac unit = + let pat1 = Reflection.V2.Pat_Constant (C_Int 2) in + let pat2 = Reflection.V2.Pat_Var (Sealed.seal (`int)) (Sealed.seal "x") in + let e = cur_env () in + let r = check_match_complete e (`1) (`int) [pat1; pat2] in + guard (Some? r) +let _ = assert True by (test_const_two' ()) diff --git a/tests/tactics/Clear.fst b/tests/tactics/Clear.fst index 391c772de1f..e30e81f31ec 100644 --- a/tests/tactics/Clear.fst +++ b/tests/tactics/Clear.fst @@ -15,7 +15,7 @@ *) module Clear -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type @@ -33,8 +33,8 @@ let l1 (x : bool) (y : int) (z : unit) = let clear_all_of_type (t : typ) : Tac unit = let e = cur_env () in - let bs = binders_of_env e in - let _ = map (fun b -> if term_eq (type_of_binder b) t + let bs = vars_of_env e in + let _ = map (fun (b:binding) -> if term_eq b.sort t then clear b else ()) // We need to traverse the list backwards, to clear rightmost @@ -46,9 +46,9 @@ let clear_all_of_type (t : typ) : Tac unit = let l2 (x : int) (y : bool) (z : int) = assert (phi ==> (psi ==> xi)) by (let e = cur_env () in - let n = List.length (binders_of_env e) in + let n = List.length (vars_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)) + // We're removing two variables + guard (List.length (vars_of_env e) = n - 2)) diff --git a/tests/tactics/Clear.fst.hints b/tests/tactics/Clear.fst.hints index 65fd63cd5ed..d3da677c086 100644 --- a/tests/tactics/Clear.fst.hints +++ b/tests/tactics/Clear.fst.hints @@ -1,5 +1,5 @@ [ - "œ¹ñ Ý!ky„\u0006m¿ÿn", + "XÄ\u001dnû\u0018<×Ý´·+\u0018,qW", [ [ "Clear.l2", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "43aaa912400250663ff12f195e7189ac" + "28df75f7b4d077ac6002a8a3038dd9a6" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Coercions.fst b/tests/tactics/Coercions.fst index accac52c11f..468b91ac54d 100644 --- a/tests/tactics/Coercions.fst +++ b/tests/tactics/Coercions.fst @@ -1,7 +1,9 @@ module Coercions -open FStar.Tactics +open FStar.Tactics.V2 +// Disabling this whole file until we get user-level coercions. +// Then, we can just set pack/inspect to be coercions. let tm () : Tac term = Tv_App (Tv_App (`op_Addition) (`1, Q_Explicit)) (`2, Q_Explicit) diff --git a/tests/tactics/Coercions.fst.hints b/tests/tactics/Coercions.fst.hints index 9c1dfc35930..8d30435ad8b 100644 --- a/tests/tactics/Coercions.fst.hints +++ b/tests/tactics/Coercions.fst.hints @@ -1 +1 @@ -[ "k\\zpßÓÍ’y¸ýa\u000f\"", [] ] \ No newline at end of file +[ "ȵ˜^ Ü/©À›,S®\u001d6‚", [] ] \ No newline at end of file diff --git a/tests/tactics/CommuteMatch.fst b/tests/tactics/CommuteMatch.fst index 85bcac37a7b..19dea26aa71 100644 --- a/tests/tactics/CommuteMatch.fst +++ b/tests/tactics/CommuteMatch.fst @@ -1,6 +1,6 @@ module CommuteMatch -open FStar.Tactics +open FStar.Tactics.V2 type t = | X | Y diff --git a/tests/tactics/CommuteMatch.fst.hints b/tests/tactics/CommuteMatch.fst.hints index 4678d18c9f6..7ae46e6721d 100644 --- a/tests/tactics/CommuteMatch.fst.hints +++ b/tests/tactics/CommuteMatch.fst.hints @@ -1,5 +1,5 @@ [ - "2\u001f}\bër¢è<\u0005ó\u001e764ú", + "^O˜´6_MÀЮÓ~T%\u001aH", [ [ "CommuteMatch.test1", @@ -17,7 +17,7 @@ "typing_CommuteMatch.x" ], 0, - "d8bd508f733261281eee85926b9efff8" + "28bfc3526768dee5de8896e163ddc5d0" ], [ "CommuteMatch.rw_test4", @@ -26,7 +26,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "85c84114eb7d94abbfb9922e90c7b470" + "5365e6d353aefb17f32a178ef031ec70" ] ] ] \ No newline at end of file diff --git a/tests/tactics/CoreCheckMatch.fst b/tests/tactics/CoreCheckMatch.fst index aaa1ace6638..9063b048bf2 100644 --- a/tests/tactics/CoreCheckMatch.fst +++ b/tests/tactics/CoreCheckMatch.fst @@ -1,6 +1,6 @@ module CoreCheckMatch //Thanks to Theophile Wallez for this example -open FStar.Tactics +open FStar.Tactics.V2 type simple_record = { f1: int; @@ -224,7 +224,7 @@ let _: x:dtuple2 toto tata -> squash (g_ss (f_ss x) == x) = let solve_one_goal () = apply (`eq_to_eq); apply (`add_squash); - let x_eq_term = binder_to_term (implies_intro ()) in + let x_eq_term = binding_to_term (implies_intro ()) in l_to_r [x_eq_term]; let _ = forall_intro () in trefl() @@ -232,6 +232,7 @@ let _: x:dtuple2 toto tata -> squash (g_ss (f_ss x) == x) = apply (`or_split); focus solve_one_goal; focus solve_one_goal; - dump "SMT goals" + (* dump "SMT goals"; *) + () ) #pop-options diff --git a/tests/tactics/CoreCheckMatch.fst.hints b/tests/tactics/CoreCheckMatch.fst.hints index 27f813ba13a..3e92e496711 100644 --- a/tests/tactics/CoreCheckMatch.fst.hints +++ b/tests/tactics/CoreCheckMatch.fst.hints @@ -1,5 +1,5 @@ [ - "¥ì}7h˜Â1\u0003*ô‡\u0017õRk", + "yï\u0010Èk;ÏÉ»´nRÁÀù3", [ [ "CoreCheckMatch.dtuple2_ind", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_13bf0778c86c9a16c127b79af16d1130" ], 0, - "f4aad5cbf0fa425f97affe4fcf1bc37d" + "ed2148f675d94ebd86a92caedccb4325" ], [ "CoreCheckMatch.option_ind", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_b18d00689402dbf5124cb0117ac6ac78" ], 0, - "69628c269c6e00f7d5c85e3e10cccd69" + "2143bec324b701f9d8d6ed1638b538cd" ], [ "CoreCheckMatch.uu___53", @@ -43,7 +43,7 @@ "true_interp" ], 0, - "399740407e0484966680ac2403966a24" + "cdd097533dd46a81574bc31e140d916b" ], [ "CoreCheckMatch.simple_record_nd", @@ -59,7 +59,7 @@ "typing_CoreCheckMatch.nat_dep" ], 0, - "de74d42e86303797a9ae3ef09967f529" + "a7406b93783a8f831f4ac8ea090b5763" ], [ "CoreCheckMatch.simple_record_dp", @@ -75,7 +75,7 @@ "typing_CoreCheckMatch.nat_dep" ], 0, - "1fbcf50e3aba3a11f150592e15711dd8" + "3c29be2966bc1f02a536ca1865e90bb1" ], [ "CoreCheckMatch.simple_record_tsc_ref", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19a10fde9b030789a5eb75ed7d782f1d" + "1f59773312171b1eead02f9902e34d76" ], [ "CoreCheckMatch.dtuple2_ind_ss", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_13bf0778c86c9a16c127b79af16d1130" ], 0, - "df175dc17b01cce753cfeee40effa444" + "c79366c2d985980f7cbab92be9d10029" ], [ "CoreCheckMatch.refined_ind", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_e019348a89017022184eb6c0daba8e0a" ], 0, - "5e9b01224b810c9ae075f98ef6d69e3c" + "9f727d7960d7609b19c9b3bf5491a456" ], [ "CoreCheckMatch.eq_to_eq", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_2b8e2a90428944c45990df46b9c37918" ], 0, - "e4481fba5cd53c7fb70275142fd625fe" + "103a974a16c3dcc9886db48d54db3249" ], [ "CoreCheckMatch.add_squash", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "4d4c050a3c97fd3c26c4db561264b79f" + "92aabeb393c2d66f864cacfbc5202dce" ], [ "CoreCheckMatch.or_split", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_f86a2e0f4535b45c62e42d8b28008f3f" ], 0, - "4bf7b7da358baeb46a91960d4feb868a" + "06df7de812aa0be19287cf400d2ab153" ], [ "CoreCheckMatch.toto", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fe734f53b794f80ae8a95de26ef0ef38" + "c1c5094261e0d77fcadfdb65564f20e5" ], [ "CoreCheckMatch.tata", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" ], 0, - "1bec5a460ba59891687415c51324d792" + "3b86812249893920817ae1ceb6d7dd06" ], [ "CoreCheckMatch.__proj__Ctor_1__item___0", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_833dcb6a8d2497af1df3fa5144e0764d" ], 0, - "c56f71fad827451f32ea91a6b6c9beff" + "4cfd4aa1ee4f20b92c1cbe3deff0a6c9" ], [ "CoreCheckMatch.__proj__Ctor_2__item___0", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_8f40aa86df9ff8572ffa3d32679fa86d" ], 0, - "08bd90466cc23697d8ee83eed3028297" + "2d7164b8a23c87bafebff297397efdad" ], [ "CoreCheckMatch.f_ss", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" ], 0, - "4cb2eb50344eeafb833c43b2b06d9ad8" + "f8eeb343a20fbd113b3f49470e946244" ], [ "CoreCheckMatch.g_ss", @@ -242,7 +242,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "368d763e1dd73b5c81f597af58d1e650" + "ee8a889f012cdb0b14fabe5c0a5fd4fb" ], [ "CoreCheckMatch.arrow_to_forall", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "bc87629699e359bb4d4edd97de455fe4" + "779a824fdb9eccef52829c38284886b0" ], [ "CoreCheckMatch.remove_refine", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "c996cd42356a92beb9d1d9650def38df" + "2d21196189d014d1b20a4e3a4b38b0bb" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Cut.fst b/tests/tactics/Cut.fst index 4e39d702bf9..25881508bec 100644 --- a/tests/tactics/Cut.fst +++ b/tests/tactics/Cut.fst @@ -15,7 +15,7 @@ *) module Cut -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type diff --git a/tests/tactics/Cut.fst.hints b/tests/tactics/Cut.fst.hints index 8a0aa9b6682..40e87bdf9d1 100644 --- a/tests/tactics/Cut.fst.hints +++ b/tests/tactics/Cut.fst.hints @@ -1 +1 @@ -[ "\\T/£”ñW.Ó˜èeCä´", [] ] \ No newline at end of file +[ "°Ô´Þ±ß–\u00102sµDmrÎ\u0013", [] ] \ No newline at end of file diff --git a/tests/tactics/DeltaDepth.fst b/tests/tactics/DeltaDepth.fst index da3b9e57a05..5943d99b2fd 100644 --- a/tests/tactics/DeltaDepth.fst +++ b/tests/tactics/DeltaDepth.fst @@ -15,7 +15,7 @@ *) module DeltaDepth open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--ugly" diff --git a/tests/tactics/DeltaDepth.fst.hints b/tests/tactics/DeltaDepth.fst.hints index 8eec06491f0..53add69e14d 100644 --- a/tests/tactics/DeltaDepth.fst.hints +++ b/tests/tactics/DeltaDepth.fst.hints @@ -1,5 +1,5 @@ [ - "á•ù:ÑCJ~Â\u0011ÃŽË í\r", + "&¾l§ìóË+\u0004˜·èòË÷\u001a", [ [ "DeltaDepth.__proj__A__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_5e57589849c6497f93798a0ea15a1df2" ], 0, - "30c4e8d7bf36221cf8ea9f37d9c3b6b4" + "c0cacaf10202455374d0a1c1b90bc919" ], [ "DeltaDepth.__proj__B__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_90c35950d1e7f0a820470167e5c76674" ], 0, - "ff496613b897945cc2dd90a990ad139d" + "19b81db72bc40c65b2ccb728c29be10c" ], [ "DeltaDepth.m", @@ -37,7 +37,7 @@ "projection_inverse_DeltaDepth.A__0" ], 0, - "ddb318484d43d5cd506a396cab780b76" + "3bc2ed8a60a603559a0afa453a5c4958" ] ] ] \ No newline at end of file diff --git a/tests/tactics/DependentSynth.fst b/tests/tactics/DependentSynth.fst index 81e9f508dcd..e97e180798d 100644 --- a/tests/tactics/DependentSynth.fst +++ b/tests/tactics/DependentSynth.fst @@ -14,24 +14,24 @@ limitations under the License. *) module DependentSynth -open FStar.Tactics +open FStar.Tactics.V2 let myty b = if b then int else unit let mk_if (test e_true e_false: term) : Tac term = - let br_true = (Pat_Constant C_True, e_true) in - let br_false = (Pat_Constant C_False, e_false) in + let br_true = (Pat_Constant {c=C_True}, e_true) in + let br_false = (Pat_Constant {c=C_False}, e_false) in let m = pack (Tv_Match test None [ br_true; br_false ] ) in m let t () : Tac unit = - let b = `bool in - let test' = fresh_bv () in + let test' = fresh_namedv () in let test = pack (Tv_Var test') in let e_true = quote 3 in let e_false = quote () in let body = mk_if test e_true e_false in - let res = pack (Tv_Abs (mk_binder test' b) body) in + let b = namedv_to_binder test' (`bool) in + let res = pack (Tv_Abs b body) in // should print: function true -> 3 | false -> () //debug (term_to_string res); t_exact true true res diff --git a/tests/tactics/DependentSynth.fst.hints b/tests/tactics/DependentSynth.fst.hints index 74461dbb674..417643f93bd 100644 --- a/tests/tactics/DependentSynth.fst.hints +++ b/tests/tactics/DependentSynth.fst.hints @@ -1,5 +1,5 @@ [ - "\nWábÃ2-™\u000eñ\u001b+ö\u0001MŽ", + "š!Þ*\u001dÈ\n¾Y,Z\u0011êaXÝ", [ [ "DependentSynth.f", @@ -11,7 +11,7 @@ "equation_DependentSynth.myty", "int_typing", "unit_typing" ], 0, - "8361605ba763320d9e84c2bb33ab8992" + "c301cecaf9e501d2d6755b4d9f152317" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Destruct.fst b/tests/tactics/Destruct.fst index 8915660a79d..7a1441c2ede 100644 --- a/tests/tactics/Destruct.fst +++ b/tests/tactics/Destruct.fst @@ -15,7 +15,7 @@ *) module Destruct -open FStar.Tactics +open FStar.Tactics.V2 let intros' () = let _ = intros () in () let destruct tm = let _ = t_destruct tm in () @@ -54,10 +54,10 @@ let f2 (x:t2) : int = synth_by_tactic (fun () -> destruct (quote x); dump "21"; let b = intro () in let _eq = intro () in - exact b; + exact (binding_to_term b); dump "22"; let b = intro () in let _eq = intro () in - exact (`(snd (`#b))); + exact (`(snd (`#(binding_to_term b)))); dump "23"; intros' (); exact (`3)) let _ = assert_norm (f2 (A2 1) == 1) @@ -135,9 +135,9 @@ let decr2 (#s:nat) (m : fin (s + 1)) : fin s = dump "72"; let [b1;b2;_] = intros () in // TODO: Ugh! We need the squash because z3 cannot // prove a Prims.equals, but only Prims.eq2 - let beq = tcut (`squash (`@s == `#b1)) in + let beq = tcut (`squash (`@s == `#(binding_to_term b1))) in rewrite beq; - exact_guard b2; + exact_guard (binding_to_term b2); dump "73")) diff --git a/tests/tactics/Destruct.fst.hints b/tests/tactics/Destruct.fst.hints index bf2f921b92d..310498e84a6 100644 --- a/tests/tactics/Destruct.fst.hints +++ b/tests/tactics/Destruct.fst.hints @@ -1,5 +1,5 @@ [ - "ö0w‘\u0004ßè%?\n\u0010•€\u000bb¦", + "\u0014ß\u0006–™\u0017\u0014»|íà|\u0010«HV", [ [ "Destruct.uu___16", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d7cd60be4da9ff741b092b0a0136eff9" + "7e8bbf3f7411d96610bc08fa2c7cb293" ], [ "Destruct.uu___17", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "362588d76107f4f194b464bf569ea74c" + "b75fddf1b5cc5a77d560f41dc4e8ab0d" ], [ "Destruct.uu___18", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "d2bb69e16332c27155f569b93c7d785f" + "b212fc9969306d26a91222017fcc4e3f" ], [ "Destruct.t2", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "85248948f2dcab160cbdd90225a765c5" + "b3d48319caa5859ff367077899274ba5" ], [ "Destruct.__proj__A2__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_15d80be637ca75d5c418364229a1bb22" ], 0, - "9118bf21d706a2faa9c894cfeba72076" + "d06447864c37908749e37b8f891412c6" ], [ "Destruct.__proj__B2__item___0", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_cb5b47cb8fe6a6ad9ef550685a5d6a5d" ], 0, - "c2ce68bb7a8057973624d4f3095619c3" + "6686e22fa55ff4864d02237c49e67a20" ], [ "Destruct.__proj__C2__item___0", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "72163a1a13667f67a65e576290be20f0" + "5e594de2cc31013e5ac1acac33b802bb" ], [ "Destruct.__proj__C2__item___1", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "5c9fb0428bfe2389fc132e70af5eb0be" + "40399fd5ab94c10edfd436e58696c850" ], [ "Destruct.__proj__C2__item___2", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "1ffb29fd1d0e5d76d97a05173ea0ddfe" + "49a062a9833075787a57965061b9debb" ], [ "Destruct.uu___50", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "2ae899a7b1cb6f53e32056195712fe42" + "a5deae8d2df226817e3003f3e3812e97" ], [ "Destruct.uu___51", @@ -123,7 +123,7 @@ 1, [ "@query" ], 0, - "6c594a8489036971749bed566d16070b" + "7b14251a8f41c6d1f10fe03d41899b44" ], [ "Destruct.uu___52", @@ -132,7 +132,7 @@ 1, [ "@query" ], 0, - "100b3227d36eadee40703bc90a71d404" + "b107e413523aeb1bddf4de41a9254730" ], [ "Destruct.t3", @@ -153,7 +153,7 @@ "string_typing" ], 0, - "6cc541f7aff4aa8500b7830b53758fc7" + "3d16b4ce507493d9beba564c8659888c" ], [ "Destruct.__proj__B3__item___0", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_09dde35c659cf7f75ce8e59a37558929" ], 0, - "d5aec5bff6d9cac65f3ac205bdd56654" + "b63868c4f29617a162aff232b09d09cb" ], [ "Destruct.__proj__C3__item___0", @@ -177,7 +177,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "bbe5589aaafa254ef602d14dc1da9b47" + "6ae0716914bc6b0641cd3a4ea193a0b4" ], [ "Destruct.__proj__C3__item___1", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "c0f7070c26cad15df8b945d807a8e77c" + "100da8b8c2dde9f3dd078778d833a021" ], [ "Destruct.uu___73", @@ -198,7 +198,7 @@ 1, [ "@query" ], 0, - "a82fae8614ac81f0a522fe7c5aa196b8" + "25e5d54e80d81ea975464da1ee3999b3" ], [ "Destruct.uu___74", @@ -207,7 +207,7 @@ 1, [ "@query" ], 0, - "fec850dd280d8d9af365fed56a7155d1" + "6cc4ae6b98f0b9e38d31341e88f40718" ], [ "Destruct.uu___75", @@ -216,7 +216,7 @@ 1, [ "@query" ], 0, - "21def17c9f159a1b30db0f2a983f3614" + "ee2e119e19b3206cbc763f80100f93e6" ], [ "Destruct.t4", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e66f29019d3e2ced3b2aa1893f3e8812" + "417b23a337e5556c5e7c7231a26a8952" ], [ "Destruct.__proj__A4__item___0", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_56ba732a08a46e2a006cb7cd49c61bb2" ], 0, - "9f21106f2bca1078e521ab8ce67ac593" + "22b9b90a4124861a6939fa6a47349226" ], [ "Destruct.__proj__B4__item___0", @@ -258,7 +258,7 @@ "refinement_interpretation_Tm_refine_316b60465156994faf26a3b05c39e34a" ], 0, - "2669591907e6d0022e86c4310041ddda" + "67f2d1da44d3f3c9c192f6f3ee1b4b47" ], [ "Destruct.__proj__C4__item___0", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "166542735c66d6e17ff5011a37181b89" + "fcac545b037eb6713c349081d80e6b14" ], [ "Destruct.__proj__C4__item___1", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "3030bb1a1225bff90df595e3821361c2" + "70c3b3f87a5db14f07d432d96c507d47" ], [ "Destruct.__proj__C4__item___2", @@ -294,7 +294,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "1e096760122e3f027f2c8e6e1057d95f" + "d0a633258de53451732d6c2255a0345b" ], [ "Destruct.uu___102", @@ -303,7 +303,7 @@ 1, [ "@query" ], 0, - "104e35980bf566cd8f68429895c532c8" + "021c14f634c1846f1e6c7e4d11244658" ], [ "Destruct.uu___103", @@ -312,7 +312,7 @@ 1, [ "@query" ], 0, - "63e2f6c75a99955fbe29f2b5342307ec" + "af9b769505677956fc02817ec382a9ef" ], [ "Destruct.uu___104", @@ -321,7 +321,7 @@ 1, [ "@query" ], 0, - "712f8db289031dd85d7f9d813b11ddc7" + "d3d78d99c518c3afad92baf119bd2017" ], [ "Destruct.vec", @@ -334,7 +334,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4cef8abaeafd4848dd1cb24dc41a3ae1" + "ffe8f63eed5affac99f40199b3f26aa4" ], [ "Destruct.vec", @@ -349,7 +349,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8af82b66a4a51f681d2a849720c6c0cf" + "4c28e6c6b324a207054dce987e3a730e" ], [ "Destruct.__proj__VCons__item__n", @@ -361,7 +361,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "72932a018d6dabb06710484474b58997" + "cabef58c864ee212f640b8309ce94b1f" ], [ "Destruct.__proj__VCons__item___1", @@ -373,7 +373,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "9bbd6bcfdbf5ba0aad4f5bc6f4244a6b" + "eb320f9b9964274d2082398845f5c9ae" ], [ "Destruct.__proj__VCons__item___2", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "591b2bbf37ffdd7a3eefa2c341defffc" + "89a672be7e7763a6d291fec45d0d4de0" ], [ "Destruct.uu___129", @@ -394,7 +394,7 @@ 1, [ "@query" ], 0, - "13659d5e0a0f78978f5edbd17b9d192b" + "308cfed807d0b444ee0ffc52c00718d0" ], [ "Destruct.uu___130", @@ -403,7 +403,7 @@ 1, [ "@query" ], 0, - "844b58a8976be8dcc67d4527988cf5f7" + "73df5d7ff5a4357f0f02cb135c7af831" ], [ "Destruct.uu___131", @@ -412,7 +412,7 @@ 1, [ "@query" ], 0, - "9fff807cad5e3ea2a37741341863d539" + "84db938c936035b122a1cf665d240b3b" ], [ "Destruct.fin", @@ -425,7 +425,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "698cdc627c51f73dd945b16b382bd004" + "b4de9154273c81fff127b28c18861713" ], [ "Destruct.fin", @@ -439,7 +439,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "452fd2df9a82476bc3324fde34bd6f58" + "79176d729c282a88d6729d8f1b0d3013" ], [ "Destruct.__proj__Z__item__n", @@ -451,7 +451,7 @@ "refinement_interpretation_Tm_refine_091244a5b42f3d992595a20613c09453" ], 0, - "3013be7b8b0f0a84b8e4c9ddfa2e6b5c" + "3953150692cfb70a8e66199688615880" ], [ "Destruct.__proj__S__item__n", @@ -463,7 +463,7 @@ "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" ], 0, - "03faaeb4ca28b2f2d1a2065c534c2419" + "cc83f456d28179ed9c49aa680902a9ac" ], [ "Destruct.__proj__S__item___1", @@ -475,7 +475,7 @@ "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" ], 0, - "b1d4237ff43405d85cd0e8e125209b30" + "e64a1731945bc935732b74ae4066ca0a" ], [ "Destruct.decr2", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_fb4a39f21dd4d90125ca90ab887c2ef4" ], 0, - "dda6fd3bca04c684405fbb2d0f119df1" + "cbc520046cabf400bab32900e3066cb1" ], [ "Destruct.decr2", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7dbc626c55f1ef1641de3a25479d7e21" + "c2fc06c71a8489425d4a06b4be023296" ], [ "Destruct.test3", @@ -515,7 +515,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "a286537986691864186dafabf57d1bd6" + "d2941fe54fe18c1a56071edd7c51d7e4" ], [ "Destruct.test3", @@ -527,7 +527,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "83f232a58d05572e34970099e8628a57" + "f0ccc116d9cfcc6564e01a95b9c28aab" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Div.fst b/tests/tactics/Div.fst index 8eb794cc755..2dc0cd48526 100644 --- a/tests/tactics/Div.fst +++ b/tests/tactics/Div.fst @@ -15,7 +15,7 @@ *) module Div -open FStar.Tactics +open FStar.Tactics.V2 let rec f0 (x : int) : Dv int = f0 x let g0 (x : int) : Tac int = f0 x diff --git a/tests/tactics/Div.fst.hints b/tests/tactics/Div.fst.hints index 52fc8a8069f..f4a6b810f22 100644 --- a/tests/tactics/Div.fst.hints +++ b/tests/tactics/Div.fst.hints @@ -1 +1 @@ -[ "o›\u001awuª†è²Õ½±\u0012³Þù", [] ] \ No newline at end of file +[ "è\u0001nBÀY¿„L\u000bÑ‘«¯iÀ", [] ] \ No newline at end of file diff --git a/tests/tactics/EExists.fst b/tests/tactics/EExists.fst index 2d98f16fce9..b1a9ac4f2e8 100644 --- a/tests/tactics/EExists.fst +++ b/tests/tactics/EExists.fst @@ -15,7 +15,7 @@ *) module EExists -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Classical open FStar.Squash @@ -29,7 +29,7 @@ let f1 = 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 + let _ = tcut (mk_e_app (pack_fv' squash_qn) [b.sort]) in flip(); trefl(); norm [primops]; trefl())) @@ -38,7 +38,7 @@ let f1 = let foo () : Tac unit = eexists unit (fun _ -> let b = implies_intro() in - (match term_as_formula' (type_of_binder b) with + (match term_as_formula' b.sort with | Comp (Eq (Some t)) x y -> (match inspect x, inspect y with | Tv_Uvar _ _, _ | _, Tv_Uvar _ _ -> diff --git a/tests/tactics/EExists.fst.hints b/tests/tactics/EExists.fst.hints index 1a913fb1099..c7d6da1509d 100644 --- a/tests/tactics/EExists.fst.hints +++ b/tests/tactics/EExists.fst.hints @@ -1 +1 @@ -[ "{×Ê{ÞË`È¡\u0012€Òq\u007fSb", [] ] \ No newline at end of file +[ "Þƒ“v[jU†›Â\u0004Î`õ\u007fc", [] ] \ No newline at end of file diff --git a/tests/tactics/ElimExists.fst b/tests/tactics/ElimExists.fst index 9019a013d94..ddf399a3339 100644 --- a/tests/tactics/ElimExists.fst +++ b/tests/tactics/ElimExists.fst @@ -1,11 +1,11 @@ module ElimExists -open FStar.Tactics +open FStar.Tactics.V2 assume val pred : nat -> Type0 let lem (h : (exists x. x > 0 /\ pred x)) : Lemma (exists x. pred x /\ x > 0) = assert (exists x. pred x /\ x > 0) by (let x, pf = elim_exists (quote h) in - witness x; + witness (binding_to_term x); smt ()) diff --git a/tests/tactics/ElimExists.fst.hints b/tests/tactics/ElimExists.fst.hints index dfe55ba89c4..4881f0c29ab 100644 --- a/tests/tactics/ElimExists.fst.hints +++ b/tests/tactics/ElimExists.fst.hints @@ -1,5 +1,5 @@ [ - "«š7ÄuQ“\rëزò\u001bvÀ£", + "\u000bZ¦Ê\u0005Ót\u0013âdlæšœ²H", [ [ "ElimExists.lem", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "0a3e3386806a9a159f3664638d118632" + "0b5cde059d520ac94cd39fc3146e99c5" ], [ "ElimExists.lem", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_17693b9c0be6584f79f76d61935752d0" ], 0, - "c7075a174d9718e96ec2c9cb22101950" + "594ed308732d8ebf6a1a86942380c04a" ] ] ] \ No newline at end of file diff --git a/tests/tactics/EnvSquash.fst b/tests/tactics/EnvSquash.fst index 93826e737c3..67cea818ed8 100644 --- a/tests/tactics/EnvSquash.fst +++ b/tests/tactics/EnvSquash.fst @@ -15,7 +15,7 @@ *) module EnvSquash -open FStar.Tactics +open FStar.Tactics.V2 assume val p : int -> prop @@ -25,12 +25,12 @@ assume val p : int -> prop let test () = let tau () : Tac unit = - let bs = binders_of_env (cur_env ()) in + let bs = vars_of_env (cur_env ()) in guard (Cons? (List.Tot.rev bs)); let b = List.Tot.hd (List.Tot.rev bs) in - match term_as_formula' (type_of_binder b) with + match term_as_formula' (type_of_binding b) with | Exists _ _ _ -> () - | _ -> fail ("unexpected type for last binder: " ^ term_to_string (type_of_binder b)) + | _ -> fail ("unexpected type for last binder: " ^ term_to_string (type_of_binding b)) in assume (exists x. p x); assert True by tau () diff --git a/tests/tactics/EnvSquash.fst.hints b/tests/tactics/EnvSquash.fst.hints index bedf8ed6523..960285bbdc0 100644 --- a/tests/tactics/EnvSquash.fst.hints +++ b/tests/tactics/EnvSquash.fst.hints @@ -1,5 +1,5 @@ [ - "ŸY¡ÿ¦sN¼N\u001at\u0005G\u0014¤Þ", + "e9]$øý;>¹ˆši摱\u0004", [ [ "EnvSquash.test", @@ -12,7 +12,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_Prims.Cons", - "equation_FStar.Reflection.Types.binders", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -23,7 +22,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "879fd2bdf2978d6afcf526e43ab7d850" + "a2b14c2a25d9355d0195b3bea47ceb11" ], [ "EnvSquash.test", @@ -36,7 +35,6 @@ "constructor_distinct_FStar.Tactics.Result.Success", "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_Prims.Cons", - "equation_FStar.Reflection.Types.binders", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -47,7 +45,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "true_interp" ], 0, - "7d01257a292b201f3051d9fa9491c7b2" + "5cd23c1d9488990d738cd27032e12d5a" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Fail.fst b/tests/tactics/Fail.fst index 9fe82edfab2..33b2a58fbb0 100644 --- a/tests/tactics/Fail.fst +++ b/tests/tactics/Fail.fst @@ -17,7 +17,7 @@ module Fail // Making sure the unification engine respects failures -open FStar.Tactics +open FStar.Tactics.V2 assume val p : Type assume val q : Type diff --git a/tests/tactics/Fail.fst.hints b/tests/tactics/Fail.fst.hints index 7497099b9cf..1071887d18d 100644 --- a/tests/tactics/Fail.fst.hints +++ b/tests/tactics/Fail.fst.hints @@ -1 +1 @@ -[ "¥\u001b¡\u0010»#9`TðA-\u0019\u001cîI", [] ] \ No newline at end of file +[ "Ò\u000fˆ´\u0002.¯}~W65µ?:0", [] ] \ No newline at end of file diff --git a/tests/tactics/FailFlow.fst b/tests/tactics/FailFlow.fst index c871d4e8d1d..edde611ce23 100644 --- a/tests/tactics/FailFlow.fst +++ b/tests/tactics/FailFlow.fst @@ -15,7 +15,7 @@ *) module FailFlow -open FStar.Tactics +open FStar.Tactics.V2 let fail_flow () : Tac unit = fail "failing"; diff --git a/tests/tactics/FailFlow.fst.hints b/tests/tactics/FailFlow.fst.hints index 0a645e1c248..7f4d6be020b 100644 --- a/tests/tactics/FailFlow.fst.hints +++ b/tests/tactics/FailFlow.fst.hints @@ -1 +1 @@ -[ "SyB°ë¹²\u0004ª»­'3Qc…", [] ] \ No newline at end of file +[ "\rf*mìì­Úe¦k\u001co\"Ê", [] ] \ No newline at end of file diff --git a/tests/tactics/Fresh.fst b/tests/tactics/Fresh.fst index d84505d71bd..03659022dee 100644 --- a/tests/tactics/Fresh.fst +++ b/tests/tactics/Fresh.fst @@ -15,7 +15,7 @@ *) module Fresh -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True by (let n = fresh () in diff --git a/tests/tactics/Fresh.fst.hints b/tests/tactics/Fresh.fst.hints index a1aec00ea8e..42a7c007b43 100644 --- a/tests/tactics/Fresh.fst.hints +++ b/tests/tactics/Fresh.fst.hints @@ -1 +1 @@ -[ "K¯~ÄÀÊŽOLÞÞë_ÅR{", [] ] \ No newline at end of file +[ "OÓ1o¶Öo-\n¼D‰”ªÔÝ", [] ] \ No newline at end of file diff --git a/tests/tactics/GRewrite.fst b/tests/tactics/GRewrite.fst index 445063a31d4..1f1abb78d59 100644 --- a/tests/tactics/GRewrite.fst +++ b/tests/tactics/GRewrite.fst @@ -14,7 +14,7 @@ limitations under the License. *) module GRewrite -open FStar.Tactics +open FStar.Tactics.V2 (* Tests for the grewrite function *) diff --git a/tests/tactics/GRewrite.fst.hints b/tests/tactics/GRewrite.fst.hints index 78739fd2b0b..0cffd7e5ab1 100644 --- a/tests/tactics/GRewrite.fst.hints +++ b/tests/tactics/GRewrite.fst.hints @@ -1,5 +1,5 @@ [ - "¸À¢i\u0019\u0004HXå»HñAmtH", + "²ª\u0011\u0001;ʨ^x\u000f´î„2€\u001f", [ [ "GRewrite.test_grewrite2", @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c760acd2b39a71a5394f328ed0fcf825" + "b2f128ce3788cfd67c3048c6dc3e8c04" ], [ "GRewrite.test_grewrite2", @@ -20,7 +20,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "b7ea995addc99d591ba29c0d163ec5f1" + "d1ef33a35590203a2d621830fc386958" ], [ "GRewrite.test_grewrite2", @@ -29,7 +29,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a80333ec4b256406ca0e1b511b40fc0b" + "9a77acab88e208fb83fb29e1d4c3846a" ], [ "GRewrite.test_grewrite2", @@ -38,7 +38,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "69bf168433511d1d491b613bcc52d811" + "8a398f918a0c1da9d57f116da384891a" ], [ "GRewrite.test_grewrite4", @@ -47,7 +47,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "ca1a6b0ba605e8757d5feadc8d5e7bfe" + "cdc73b687150121ade7bdff1e80d5e62" ], [ "GRewrite.test_grewrite5", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "21d182d35245c78f530efa59377e4174" + "58cebc0f3c579d4d4e3e2fe2eacd5e0b" ], [ "GRewrite.test_term_eq", @@ -69,7 +69,7 @@ 1, [ "@query", "true_interp" ], 0, - "63026c3ea4b21f040e0ffe130e49604d" + "694ac1ae68b2b2f625d8b7a2234c62d1" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Get.fst b/tests/tactics/Get.fst index d5f61dee130..40b62fd2535 100644 --- a/tests/tactics/Get.fst +++ b/tests/tactics/Get.fst @@ -15,7 +15,7 @@ *) module Get -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True by (let ps = get () in print (string_of_int (ngoals ()))) diff --git a/tests/tactics/Get.fst.hints b/tests/tactics/Get.fst.hints index 3ca12d4e6a6..532560fceb4 100644 --- a/tests/tactics/Get.fst.hints +++ b/tests/tactics/Get.fst.hints @@ -1 +1 @@ -[ "æÞLžXŠ~\rð\u001c/D\u0006¤", [] ] \ No newline at end of file +[ "\u0001=Õk|¯¦£,iw\u0011Eb¡", [] ] \ No newline at end of file diff --git a/tests/tactics/Goals.fst b/tests/tactics/Goals.fst index 71b6d0f13d3..6516e7979b7 100644 --- a/tests/tactics/Goals.fst +++ b/tests/tactics/Goals.fst @@ -15,7 +15,7 @@ *) module Goals -open FStar.Tactics +open FStar.Tactics.V2 (* A sanity check that we cannot trick the engine into dropping VCs *) diff --git a/tests/tactics/Goals.fst.hints b/tests/tactics/Goals.fst.hints index 1fe27eb0ba9..c6811da59f4 100644 --- a/tests/tactics/Goals.fst.hints +++ b/tests/tactics/Goals.fst.hints @@ -1,5 +1,5 @@ [ - "VáеB›¸?6\u000fò\"VÅåO", + "¢¾»÷o]”À•\u0002nKE,O€", [ [ "Goals.intro_sq", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5e48e2f042d778bddfa3058f6cc393b1" + "c09e68ec9d2b9fab626d57826f419ab3" ], [ "Goals.elim", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "fbbb58437172325593f783968d59e462" + "e9ee273271b1d7983ac4cc91da283120" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Hacl.Meta.fst b/tests/tactics/Hacl.Meta.fst index 79ed3a464d6..b99ae78076f 100644 --- a/tests/tactics/Hacl.Meta.fst +++ b/tests/tactics/Hacl.Meta.fst @@ -4,21 +4,22 @@ module Hacl.Meta here to test that it does not regress, including when using it as a plugin. *) -open FStar.Tactics +open FStar.Tactics.V2 +open FStar.List.Tot let tm_unit = `() [@@plugin] let mk (nm:string) (msg:string) : Tac (list sigelt) = let quote_string (s:string) : term = - pack_ln (Tv_Const (C_String s)) + pack (Tv_Const (C_String s)) in - let se = pack_sigelt (Sg_Let false [ - pack_lb { + let se = pack_sigelt (Sg_Let {isrec=false;lbs=[ + { lb_fv = pack_fv (cur_module () @ [nm]); lb_us = []; lb_typ = `int; lb_def = `(let x : unit = _ by (print (`#(quote_string msg)); exact tm_unit) in 42) } - ]) in + ]}) in [se] diff --git a/tests/tactics/Hacl.Meta.fst.hints b/tests/tactics/Hacl.Meta.fst.hints index 58b5514a76c..8b5179386d2 100644 --- a/tests/tactics/Hacl.Meta.fst.hints +++ b/tests/tactics/Hacl.Meta.fst.hints @@ -1 +1,29 @@ -[ "»Xh{‚Dö¶ê\u0018Å=#Hl", [] ] \ No newline at end of file +[ + "•õ$B›kG»\u0019¯’;ßô™\u001c", + [ + [ + "Hacl.Meta.mk", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "0d245a659dbe7f7d047e128903af2100" + ] + ] +] \ No newline at end of file diff --git a/tests/tactics/HoleBy.fst b/tests/tactics/HoleBy.fst index 4c7901d97e0..ba2604f878a 100644 --- a/tests/tactics/HoleBy.fst +++ b/tests/tactics/HoleBy.fst @@ -15,7 +15,7 @@ *) module HoleBy -open FStar.Tactics +open FStar.Tactics.V2 let x : int = _ by (exact (`1)) let _ = assert (x == 1) @@ -31,6 +31,7 @@ val lem2 : (x:int) -> (y:int) -> Lemma (x + y == y + x) let lem2 x y = () <: _ by smt () +#push-options "--warn_error +240" val lem3 : (x:int) -> (y:int) -> Lemma (x + y == y + x) [@@(expect_failure [228])] let lem3 x y = diff --git a/tests/tactics/HoleBy.fst.hints b/tests/tactics/HoleBy.fst.hints index 9e76f1d45d8..b85b56a40f7 100644 --- a/tests/tactics/HoleBy.fst.hints +++ b/tests/tactics/HoleBy.fst.hints @@ -1,5 +1,5 @@ [ - "›E¥ë³ÅWDG²þ®\u0004\u001d", + "5µ•1eÀ\u0013Øî¶B\u0005™+ø\b", [ [ "HoleBy.uu___1", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_HoleBy.x" ], 0, - "ffea584645d6f99b8f86e234a9e0b39d" + "6cde029c0c16ef9f2eb69665842bba2f" ], [ "HoleBy.lem2", @@ -17,7 +17,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "139be92ab17a6b009379555c601d6eee" + "10884280e7023a25b897285ee7b02456" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Ill1.fst b/tests/tactics/Ill1.fst index abed89f73b2..c4a453e27b4 100644 --- a/tests/tactics/Ill1.fst +++ b/tests/tactics/Ill1.fst @@ -15,7 +15,7 @@ *) module Ill1 -open FStar.Tactics +open FStar.Tactics.V2 assume val f : term -> int [@@(expect_failure [228])] diff --git a/tests/tactics/Ill1.fst.hints b/tests/tactics/Ill1.fst.hints index 1c552eed881..5f658ff6338 100644 --- a/tests/tactics/Ill1.fst.hints +++ b/tests/tactics/Ill1.fst.hints @@ -1 +1 @@ -[ "Jͤ\u001d}Âs\u001aƒƒŒ)û ¶}", [] ] \ No newline at end of file +[ "6çM¦úqïóJ§\u0016\bO›šX", [] ] \ No newline at end of file diff --git a/tests/tactics/Ill2.fst b/tests/tactics/Ill2.fst index 310cbad0017..0f51a120450 100644 --- a/tests/tactics/Ill2.fst +++ b/tests/tactics/Ill2.fst @@ -15,7 +15,7 @@ *) module Ill2 -open FStar.Tactics +open FStar.Tactics.V2 assume val f : term -> int [@@(expect_failure [228])] diff --git a/tests/tactics/Ill2.fst.hints b/tests/tactics/Ill2.fst.hints index 4b0734523e3..670136fae82 100644 --- a/tests/tactics/Ill2.fst.hints +++ b/tests/tactics/Ill2.fst.hints @@ -1 +1 @@ -[ "lïÌO\u001eY¹’æ\u0015ÜËü»}(", [] ] \ No newline at end of file +[ "ŠPß\u0002ù½Þ$Xt_òªIþ[", [] ] \ No newline at end of file diff --git a/tests/tactics/Inlining.fst b/tests/tactics/Inlining.fst index 3355a437fac..459c09a6166 100644 --- a/tests/tactics/Inlining.fst +++ b/tests/tactics/Inlining.fst @@ -19,7 +19,7 @@ module Inlining // see https://github.com/FStarLang/FStar/issues/1190 // (fixed in guido_fix) -open FStar.Tactics +open FStar.Tactics.V2 open FStar.HyperStack open FStar.HyperStack.ST diff --git a/tests/tactics/Inlining.fst.hints b/tests/tactics/Inlining.fst.hints index 09c58ddc203..1e65c0d0097 100644 --- a/tests/tactics/Inlining.fst.hints +++ b/tests/tactics/Inlining.fst.hints @@ -1,5 +1,5 @@ [ - "ÔK\u0005¬¼E‡Ü'F^&ݶI", + ".\u001b¾\u001d\u001e¬žër1&%¯oÆ`", [ [ "Inlining.set_to_1", @@ -19,7 +19,7 @@ "refinement_interpretation_Tm_refine_ebc775ba572c8c677f9a43443c27655e" ], 0, - "e87554b743203dd7c9fd180d913d164a" + "02b6bb3c06a6aef0f0f73573811539ac" ], [ "Inlining.create_add_1", @@ -88,7 +88,7 @@ "typing_FStar.UInt.fits", "typing_Inlining.add_1" ], 0, - "00ffdb5ef9a3873e10a8dd6624b83097" + "ba3d0199863be57bb98c2fb1d146cac7" ], [ "Inlining.create_add_1'", @@ -157,7 +157,7 @@ "typing_FStar.UInt.fits", "typing_Inlining.add_1" ], 0, - "0d61d83998c08fad6aa366146663e7ff" + "172c39d8b5eec958efa25c423e32ea87" ], [ "Inlining.create_add_1'", @@ -226,7 +226,7 @@ "typing_FStar.UInt.fits", "typing_Inlining.add_1" ], 0, - "0d61d83998c08fad6aa366146663e7ff" + "5ab8977ec0c0f970c533bc17b8956e50" ], [ "Inlining.create_add_1'", @@ -295,7 +295,7 @@ "typing_FStar.UInt.fits", "typing_Inlining.add_1" ], 0, - "3824cf86e99fec07e7e11797cda9c685" + "79f9ee96af41148855be371c97499415" ], [ "Inlining.create_and_set", @@ -348,7 +348,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "9d58f1d93c50b470e7bd62ff0bf372b1" + "41c481b67aeac4de9dde789352a23907" ], [ "Inlining.create_and_set'", @@ -401,7 +401,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "0ed436d4a05a081dbcf50bfa1d9877b0" + "9e180bfa22bbc97465f6a1316a79550b" ], [ "Inlining.create_and_set'", @@ -454,7 +454,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "0ed436d4a05a081dbcf50bfa1d9877b0" + "5c8f0fb746a8de51e6588198e73d849f" ], [ "Inlining.create_and_set'", @@ -507,7 +507,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "1bab618dd374fa52c4c949047061af96" + "58b82b240ad9ee473005531b644a9233" ], [ "Inlining.static_loop", @@ -544,7 +544,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "4007bbeff7a87bf3777547b01d22ef1d" + "16e41360baeb781f6baa98afbd4181fe" ], [ "Inlining.print_i", @@ -558,7 +558,7 @@ "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro" ], 0, - "5c30a4a5482ad0423eaad47c93933f7a" + "01cf79dc8cd57b783ea8e0653f652352" ] ] ] \ No newline at end of file diff --git a/tests/tactics/InspectEffComp.fst b/tests/tactics/InspectEffComp.fst index c6d911c63fb..53780e4d7d2 100644 --- a/tests/tactics/InspectEffComp.fst +++ b/tests/tactics/InspectEffComp.fst @@ -1,6 +1,6 @@ module InspectEffComp -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Monotonic.Pure diff --git a/tests/tactics/InspectEffComp.fst.hints b/tests/tactics/InspectEffComp.fst.hints index bab493443e3..44abb540ebb 100644 --- a/tests/tactics/InspectEffComp.fst.hints +++ b/tests/tactics/InspectEffComp.fst.hints @@ -1,5 +1,5 @@ [ - "²ˆ™Ù{¶ûS{ÅȨÖHû", + "‘\u0007´$È­`÷?|\u0015\u0004K\bªè", [ [ "InspectEffComp.test", @@ -8,7 +8,7 @@ 1, [ "@query", "int_typing" ], 0, - "f980d5f520baa7716dae4df3b7b488c5" + "4f4fe7df5bdc2ff44e64327f68833728" ], [ "InspectEffComp.uu___20", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_InspectEffComp.test", "int_typing" ], 0, - "9d41963727b6b6475d1bc9e7651968b8" + "2ffd29b1e613c8c1c9b648bf3a2600fc" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Instantiate.fst b/tests/tactics/Instantiate.fst index 60c66935c95..545da874abd 100644 --- a/tests/tactics/Instantiate.fst +++ b/tests/tactics/Instantiate.fst @@ -1,6 +1,6 @@ module Instantiate -open FStar.Tactics +open FStar.Tactics.V2 assume val pred : int -> Type0 diff --git a/tests/tactics/Instantiate.fst.hints b/tests/tactics/Instantiate.fst.hints index 8c64b717e3c..fd7c8fe4de0 100644 --- a/tests/tactics/Instantiate.fst.hints +++ b/tests/tactics/Instantiate.fst.hints @@ -1,5 +1,5 @@ [ - "›c¯«“Ù`\u007fß\u000fQ5\u001dZp", + "?¬²hsS½j‘hx’M›hH", [ [ "Instantiate.test", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "7f6890dc45602a0ad516027069d2e2cd" + "59257e0f804eeb3ffed964b01e1f77c7" ], [ "Instantiate.test", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a85ba83de315b2abc7ecdd405a2c1bf4" + "6f3cddf63851fd0b054bd308fa45589b" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Join.fst b/tests/tactics/Join.fst index 99ac691fea8..91f43395c1e 100644 --- a/tests/tactics/Join.fst +++ b/tests/tactics/Join.fst @@ -15,7 +15,7 @@ *) module Join -open FStar.Tactics +open FStar.Tactics.V2 val p16 : x:int -> Lemma (x == 16 ==> pow2 x == 65536) [SMTPat (pow2 x)] let p16 _ = assert_norm (pow2 16 == 65536) diff --git a/tests/tactics/Join.fst.hints b/tests/tactics/Join.fst.hints index 66ac1b2b8df..4ed23081e82 100644 --- a/tests/tactics/Join.fst.hints +++ b/tests/tactics/Join.fst.hints @@ -1,5 +1,5 @@ [ - "ÑßK($–p„lÒ\u00105åê¾\u001e", + "[ù@\u001f”\u0006J¥{e=\\æmßy", [ [ "Join.p16", @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "b90ff8bede2053506669cc9e669e2864" + "2d1bde97d80bfcd62c87733dbd3ceef9" ], [ "Join.p16", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "d80964fef15b96b1f1ffa7904ae1d42e" + "48a319e88aca658cf19cd7bbe9a8d53c" ], [ "Join.uu___5", @@ -36,7 +36,7 @@ "typing_Prims.pow2" ], 0, - "9b5c7db1df2ac8e3d4a857389b49d27d" + "5482847517c1474a5c90d67f5eeb73ff" ], [ "Join.test1", @@ -55,7 +55,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -74,7 +74,7 @@ "typing_Prims.pow2" ], 0, - "478bd85937e5020ad02fdc7e06597651" + "aa57a9ec03563e9bbb6c53fc795ef1c4" ], [ "Join.test1", @@ -93,7 +93,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -112,7 +112,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -131,7 +131,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -150,7 +150,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -169,7 +169,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -188,7 +188,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -207,7 +207,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -226,7 +226,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -245,7 +245,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -264,7 +264,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -283,7 +283,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -302,7 +302,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -321,7 +321,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -340,7 +340,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -359,7 +359,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -378,7 +378,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -397,7 +397,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -416,7 +416,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -435,7 +435,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -454,7 +454,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -473,7 +473,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -485,7 +485,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "d189651f7a7e82c9d319eee1c4d4acdc" + "fc31fb636be2a127e4337b907ebab11a" ], [ "Join.test1", @@ -504,7 +504,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -523,7 +523,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -542,7 +542,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -561,7 +561,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -580,7 +580,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -599,7 +599,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -618,7 +618,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -637,7 +637,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -656,7 +656,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -675,7 +675,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -694,7 +694,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -713,7 +713,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -732,7 +732,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -751,7 +751,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -770,7 +770,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -789,7 +789,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -808,7 +808,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -827,7 +827,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -846,7 +846,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -865,7 +865,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -884,7 +884,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -903,7 +903,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -922,7 +922,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -941,7 +941,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -960,7 +960,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -979,7 +979,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -998,7 +998,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -1017,7 +1017,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test1", @@ -1036,7 +1036,7 @@ "typing_Prims.pow2" ], 0, - "aa37c4a25f11a07fdbcd08cd130762d6" + "020fd97aa52300248f87e17c6fd96025" ], [ "Join.test2", @@ -1055,7 +1055,7 @@ "typing_Prims.pow2" ], 0, - "909ef5c5792fd420c04df7e8026e4da2" + "d87e2bf7961129aa80502945c3be6f75" ] ] ] \ No newline at end of file diff --git a/tests/tactics/LN.fst b/tests/tactics/LN.fst index 39d68c2b924..ae0879040f4 100644 --- a/tests/tactics/LN.fst +++ b/tests/tactics/LN.fst @@ -17,11 +17,12 @@ module LN (* Making sure that LN violations don't explode the engine *) -open FStar.Tactics +open FStar.Tactics.V2 let badtm () : Tac term = - pack (Tv_BVar (pack_bv ({ bv_index = 0; - bv_ppname = seal "ouch"}))) + pack (Tv_BVar (pack_bv ({ index = 0; + sort = seal (pack Tv_Unknown); + ppname = seal "ouch"}))) (* We do get a warning about the normalizer failing though, so silence it. *) diff --git a/tests/tactics/LN.fst.hints b/tests/tactics/LN.fst.hints index 845eb3017f2..71ca4f9217a 100644 --- a/tests/tactics/LN.fst.hints +++ b/tests/tactics/LN.fst.hints @@ -1,5 +1,5 @@ [ - "O2¢ŽÈ£—çÿë\u001fwB9OÐ", + "¤FîÕuš-’æå44ê", [ [ "LN.badtm", @@ -10,7 +10,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "7509d3791c2b6df6d8fbf3a36e5f06fb" + "457f60a88bab0954aa19eb564b4feaef" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Labels.fst b/tests/tactics/Labels.fst index 95c32894b59..0f5f27a86c7 100644 --- a/tests/tactics/Labels.fst +++ b/tests/tactics/Labels.fst @@ -15,6 +15,6 @@ *) module Labels -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert ((1 == 1)/\ (True /\ True)) by (explode (); iseq [(fun () -> tlabel "Left"); (fun () -> tlabel "Right")]; dump "dump msg") diff --git a/tests/tactics/Labels.fst.hints b/tests/tactics/Labels.fst.hints index 91d753e9ea7..d31e2e01177 100644 --- a/tests/tactics/Labels.fst.hints +++ b/tests/tactics/Labels.fst.hints @@ -1 +1 @@ -[ "\u00195·íǹo^ìT\"V15Êù", [] ] \ No newline at end of file +[ "¤n÷¤‡Þ% gdB ð\u0001®\r", [] ] \ No newline at end of file diff --git a/tests/tactics/LaxOn.fst b/tests/tactics/LaxOn.fst index fbecadbecea..c99b9c86f97 100644 --- a/tests/tactics/LaxOn.fst +++ b/tests/tactics/LaxOn.fst @@ -15,7 +15,7 @@ *) module LaxOn -open FStar.Tactics +open FStar.Tactics.V2 let a : int = synth_by_tactic (fun () -> guard (not (lax_on ())); diff --git a/tests/tactics/LaxOn.fst.hints b/tests/tactics/LaxOn.fst.hints index f07d9041799..13b148ed3f2 100644 --- a/tests/tactics/LaxOn.fst.hints +++ b/tests/tactics/LaxOn.fst.hints @@ -1 +1 @@ -[ "-ßm]\u000e†V¬&¶ùÍ · a}) :Lemma (requires True) diff --git a/tests/tactics/LemmaArgs.fst.hints b/tests/tactics/LemmaArgs.fst.hints index 6cdc0934bb4..214bad90e91 100644 --- a/tests/tactics/LemmaArgs.fst.hints +++ b/tests/tactics/LemmaArgs.fst.hints @@ -1,5 +1,5 @@ [ - "¬Ñ®\u0011î–Ï(ܘÈÚ•Ž .", + "Š6ÖÆ Ð$÷7œŒ\u0014<\u000564", [ [ "LemmaArgs.lemma_example1", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_b80473856ccf72c395276ef95e2db4d6" ], 0, - "1e4a1605849cd963fff505787e4a981c" + "c4d92944ef1d5df00eaa342784e4123e" ], [ "LemmaArgs.example0", @@ -20,7 +20,7 @@ 1, [ "@query", "true_interp" ], 0, - "edb4cf10022f313bb7f6460e4ac3a296" + "faf2b53324e5900364756a8d9b53c544" ], [ "LemmaArgs.example0", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_db815536b8c60a25cb27b439971d8826" ], 0, - "888bbdfb22aab53b5adb9a71e0b62933" + "3f2e3901abaf6321f3bc1a8694daa87c" ], [ "LemmaArgs.example1", @@ -41,7 +41,7 @@ 1, [ "@query", "true_interp" ], 0, - "9ca0423f9d50701c1eb77b03e73e1b4f" + "c890397d19711041b4ba43cb8ff32e19" ] ] ] \ No newline at end of file diff --git a/tests/tactics/MApply.fst.hints b/tests/tactics/MApply.fst.hints deleted file mode 100644 index e2cafa76e04..00000000000 --- a/tests/tactics/MApply.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "&8Êë\u0010s_j¤Q‘‹†odk", [] ] \ No newline at end of file diff --git a/tests/tactics/Map.OpaqueToSMT.Test.fst.hints b/tests/tactics/Map.OpaqueToSMT.Test.fst.hints index 2d9986beadd..d447be0af9a 100644 --- a/tests/tactics/Map.OpaqueToSMT.Test.fst.hints +++ b/tests/tactics/Map.OpaqueToSMT.Test.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "dacfaa3495625e36da24506025088465" + "bc3a4d2e1eee0c5b7225bdc1cbd01414" ], [ "Map.OpaqueToSMT.Test.test2", @@ -17,7 +17,7 @@ 0, [ "@query" ], 0, - "ce43f5a5e9a1eaa5df17cbc5611e4730" + "827e94bf78461c1ae0b0b49e1c7b7981" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Map.OpaqueToSMT.fst.hints b/tests/tactics/Map.OpaqueToSMT.fst.hints index 9b834142da6..0ffc3ee188b 100644 --- a/tests/tactics/Map.OpaqueToSMT.fst.hints +++ b/tests/tactics/Map.OpaqueToSMT.fst.hints @@ -12,7 +12,7 @@ "primitive_Prims.op_Equality" ], 0, - "c106ed3ad8af0bca98aa3206a7b5821a" + "9d12d14e074f73960b1d0d3bb30451dd" ], [ "Map.OpaqueToSMT.sel_upd2", @@ -25,7 +25,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "4503fb95747ea27ae3e56631cd348c4d" + "717f41f8c4d635dfd27ee192d0001c17" ] ] ] \ No newline at end of file diff --git a/tests/tactics/MetaArgs.fst b/tests/tactics/MetaArgs.fst index 73a74568ac5..a5bbd1f2b7d 100644 --- a/tests/tactics/MetaArgs.fst +++ b/tests/tactics/MetaArgs.fst @@ -15,7 +15,7 @@ *) module MetaArgs -open FStar.Tactics +open FStar.Tactics.V2 (* Quick test for a meta arg *) let test1 (#[exact (`42)] i : int) : int = i diff --git a/tests/tactics/MetaArgs.fst.hints b/tests/tactics/MetaArgs.fst.hints index 74a6585ac04..e00570ae2d6 100644 --- a/tests/tactics/MetaArgs.fst.hints +++ b/tests/tactics/MetaArgs.fst.hints @@ -1,5 +1,5 @@ [ - ";{\u0018(ù»\r\n2àíºkI6\u000b", + "ºqdÍ\u0003\u0017ùccLˆ/Á\u0011\u0013X", [ [ "MetaArgs.uu___2", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_MetaArgs.test1" ], 0, - "26b5bcbef2efaf393ccad9f942f0af53" + "2e16876fd8725e8b082f1e7c3df64b40" ], [ "MetaArgs.uu___7", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "bf9be24e7ff7c8763a274712df813746" + "b088e2bda7cb5907ed91b18b51030ec9" ], [ "MetaArgs.uu___8", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "6901ea29ae83b4cbec0bddb445b48553" + "6b1d1626435d0a3e5a1968a20cc1bca2" ] ] ] \ No newline at end of file diff --git a/tests/tactics/MyMap.fst.hints b/tests/tactics/MyMap.fst.hints index 7a8f9ced9c4..908dfe9d2a8 100644 --- a/tests/tactics/MyMap.fst.hints +++ b/tests/tactics/MyMap.fst.hints @@ -12,7 +12,7 @@ "primitive_Prims.op_Equality" ], 0, - "28d16c9f3036a0bc348ca5ed4936ec5f" + "c60c8c0d3c937043a755a460db2d9355" ], [ "MyMap.sel_upd2", @@ -25,7 +25,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "5ad13236ad91f07e0c479435f1542388" + "2af4d94d14f49113ff7164cf29388f5a" ] ] ] \ No newline at end of file diff --git a/tests/tactics/NatNeg.fst b/tests/tactics/NatNeg.fst index 5f82ebd9372..610ba89b2ca 100644 --- a/tests/tactics/NatNeg.fst +++ b/tests/tactics/NatNeg.fst @@ -15,7 +15,7 @@ *) module NatNeg -open FStar.Tactics +open FStar.Tactics.V2 [@@(expect_failure [19])] let n : nat = synth_by_tactic (fun () -> exact (quote (-1))) diff --git a/tests/tactics/NatNeg.fst.hints b/tests/tactics/NatNeg.fst.hints index 80e6838a233..407976e95bb 100644 --- a/tests/tactics/NatNeg.fst.hints +++ b/tests/tactics/NatNeg.fst.hints @@ -1 +1 @@ -[ "\u0015~\u0007Øn\u001cÿ\u0004¨Iש\u00116\u0004›", [] ] \ No newline at end of file +[ "Z„\u001bâ\b\u0019†ZHòæ×\u0005Œ™\u000f", [] ] \ No newline at end of file diff --git a/tests/tactics/NatPos.fst b/tests/tactics/NatPos.fst index c9c68920787..552264d8415 100644 --- a/tests/tactics/NatPos.fst +++ b/tests/tactics/NatPos.fst @@ -15,6 +15,6 @@ *) module NatPos -open FStar.Tactics +open FStar.Tactics.V2 let n : nat = synth_by_tactic (fun () -> exact (quote 1)) diff --git a/tests/tactics/NatPos.fst.hints b/tests/tactics/NatPos.fst.hints index 3a789b33507..4124180331c 100644 --- a/tests/tactics/NatPos.fst.hints +++ b/tests/tactics/NatPos.fst.hints @@ -1 +1 @@ -[ "á\u001afå]K-}p¼\u0007«†»\u000e0", [] ] \ No newline at end of file +[ "ÒüQs±IMwïH,öç{äÙ", [] ] \ No newline at end of file diff --git a/tests/tactics/Neg.fst b/tests/tactics/Neg.fst index dfffe630a8a..3170599ee6b 100644 --- a/tests/tactics/Neg.fst +++ b/tests/tactics/Neg.fst @@ -16,7 +16,7 @@ module Neg open FStar.ST -open FStar.Tactics +open FStar.Tactics.V2 assume val __phi: Type assume val __psi: Type diff --git a/tests/tactics/Neg.fst.hints b/tests/tactics/Neg.fst.hints index 62e642a81d1..a28038c0ab6 100644 --- a/tests/tactics/Neg.fst.hints +++ b/tests/tactics/Neg.fst.hints @@ -1,5 +1,5 @@ [ - "|òï9\u0014ÿD£\t]3\u0016fØ{%", + "ÀO\r\u0005fSEÞaoívÏÊâM", [ [ "Neg.c3", @@ -13,7 +13,7 @@ "true_interp" ], 0, - "bd4b324e05f12bd1c2e59335b10ee5db" + "f195588c6866536ffd66ad5b9cef6295" ], [ "Neg.c3", @@ -22,7 +22,7 @@ 1, [ "@query", "equation_Neg.xi" ], 0, - "6d560518c4984723134b21a678470a58" + "df31dfcc07f67fa5b10e14eee3a2399e" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Nest.fst b/tests/tactics/Nest.fst index 9151039e827..6b0106c28a3 100644 --- a/tests/tactics/Nest.fst +++ b/tests/tactics/Nest.fst @@ -17,7 +17,7 @@ module Nest (* This is simply testing that #1065.2 doesn't pop back up again *) -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert (3 == 3) by (pointwise (fun () -> pointwise trefl; trefl ())) diff --git a/tests/tactics/Nest.fst.hints b/tests/tactics/Nest.fst.hints index 00eeb0c37e0..e0a584b0097 100644 --- a/tests/tactics/Nest.fst.hints +++ b/tests/tactics/Nest.fst.hints @@ -1 +1 @@ -[ "¾+\u0007B&r‰æ,e»µ~¦47", [] ] \ No newline at end of file +[ "z†æØ\u0002*B^Ýÿ\u0012ë3žÚr", [] ] \ No newline at end of file diff --git a/tests/tactics/NonTot.fst b/tests/tactics/NonTot.fst index aa6bd56bb28..25669b3a7dc 100644 --- a/tests/tactics/NonTot.fst +++ b/tests/tactics/NonTot.fst @@ -15,7 +15,7 @@ *) module NonTot -open FStar.Tactics +open FStar.Tactics.V2 val h : unit -> Pure (squash False) (requires False) (ensures (fun _ -> True)) let h x = () diff --git a/tests/tactics/NonTot.fst.hints b/tests/tactics/NonTot.fst.hints index 0dc3d516c63..5a80240d5e6 100644 --- a/tests/tactics/NonTot.fst.hints +++ b/tests/tactics/NonTot.fst.hints @@ -1 +1 @@ -[ "ã\u0013h\u007fM\u0002sü\u00046]¬s¢5", [] ] \ No newline at end of file +[ "ÔYM¿},j\r®Í@\u0019®;t", [] ] \ No newline at end of file diff --git a/tests/tactics/NormBinderType.fst b/tests/tactics/NormBinderType.fst index 11f6395472c..dcb5d1f6607 100644 --- a/tests/tactics/NormBinderType.fst +++ b/tests/tactics/NormBinderType.fst @@ -15,7 +15,7 @@ *) module NormBinderType -open FStar.Tactics +open FStar.Tactics.V2 assume val p : int assume val q : int @@ -27,11 +27,11 @@ let g = (fun () -> let b = intro () in - norm_binder_type [delta; primops] b; + norm_binding_type [delta; primops] b; - match binders_of_env (cur_env ()) with + match vars_of_env (cur_env ()) with | [b] -> - let t = type_of_binder b in + let t = b.sort in let q = quote (eq2 #int 5 7) in if FStar.Order.ne (compare_term t q) then fail "type was not normalized" diff --git a/tests/tactics/NormBinderType.fst.hints b/tests/tactics/NormBinderType.fst.hints index 0669e037622..bc322abee12 100644 --- a/tests/tactics/NormBinderType.fst.hints +++ b/tests/tactics/NormBinderType.fst.hints @@ -1,5 +1,5 @@ [ - "uÚSRܱvˆ\u001bó×D@¢„[", + "æ\nõ»ö ÔÞš\r\u0013€Ãåïé", [ [ "NormBinderType.g", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "92c2f96816bae06be669ee937d0a9e1a" + "bbb15139482505c43df8f3b12ca92c1d" ] ] ] \ No newline at end of file diff --git a/tests/tactics/PackInd.fst b/tests/tactics/PackInd.fst index 34666f1afca..1d254a043c0 100644 --- a/tests/tactics/PackInd.fst +++ b/tests/tactics/PackInd.fst @@ -1,15 +1,21 @@ module PackInd -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac (list sigelt) = - let myty : term = Tv_FVar (pack_fv (explode_qn "PackInd.myty")) in + let myty : term = pack (Tv_FVar (pack_fv (explode_qn "PackInd.myty"))) in let c (s:string) : ctor = (["PackInd"; s], myty) in let t : sigelt = pack_sigelt ( - Sg_Inductive (explode_qn "PackInd.myty") [] [] (`Type0) [c "A"; c "B"; c "C"]) + Sg_Inductive { + nm = explode_qn "PackInd.myty"; + univs = []; + params = []; + typ = `Type0; + ctors = [c "A"; c "B"; c "C"] + }) in [t] diff --git a/tests/tactics/PackInd.fst.hints b/tests/tactics/PackInd.fst.hints index 9be4e41e6ad..05c00bc5400 100644 --- a/tests/tactics/PackInd.fst.hints +++ b/tests/tactics/PackInd.fst.hints @@ -1,6 +1,20 @@ [ - "?Ë¿8-N«P{ÅÖ\u0002\\…‰²", + "¨tÀ<‚Qôç»O\u0000ÍÂL¸", [ + [ + "PackInd.tau", + 1, + 2, + 1, + [ + "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Inductive", + "disc_equation_FStar.Tactics.NamedView.Unk", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "ff5eb1b71658ee3d59845a3906f5767b" + ], [ "PackInd.test", 1, @@ -13,7 +27,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "718e638178d1deac822879034956d022" + "f534d63e065e683f4b6ab0a1b4e60cca" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Parsing.fst b/tests/tactics/Parsing.fst index 2cb8f5a5dd6..9dd15656156 100644 --- a/tests/tactics/Parsing.fst +++ b/tests/tactics/Parsing.fst @@ -1,8 +1,6 @@ module Parsing -open FStar.Tactics -open FStar.Reflection -open FStar.Reflection.Builtins +open FStar.Tactics.V2 let term_to_string_to_term (value: 'a): Tac unit = let t: term = quote value in diff --git a/tests/tactics/Parsing.fst.hints b/tests/tactics/Parsing.fst.hints index 5f839b94216..977713b6754 100644 --- a/tests/tactics/Parsing.fst.hints +++ b/tests/tactics/Parsing.fst.hints @@ -1,5 +1,5 @@ [ - "aÍç/Š@\u0006S¢\u001d+¸0n\u00071", + "áCÏ äFµh”“\t‰Ulå\u0012", [ [ "Parsing.uu___12", @@ -8,7 +8,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "e874e24d4c513db569c7c783cac00b48" + "f2a45cd161454f7a977ca37abea17392" ], [ "Parsing.uu___13", @@ -17,7 +17,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "34f57cb8a875a41489368304ead1410f" + "c3c72bdaaab5ee4fe8cb16e48df5c6e8" ], [ "Parsing.uu___14", @@ -26,7 +26,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "9e454d88af33ea2956705b35423d4ef3" + "cc22455506b6ea3f967d814ced4a0f3e" ], [ "Parsing.uu___15", @@ -35,7 +35,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "96c5db424ffac8f2b4882f7817d932c3" + "349fc4fbc133cf9b101363f31c5950b2" ], [ "Parsing.uu___16", @@ -44,7 +44,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "19e1d88cd0a66bc7a253a52dc08903ad" + "6e930f087d521a961ee64abc00d3fbea" ], [ "Parsing.uu___27", @@ -53,7 +53,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "b60fa9b2f6e66929d13755871b24791b" + "07f8cd5b98171290711d156488b274f0" ], [ "Parsing.uu___29", @@ -62,7 +62,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "bd940fd24cdb08cfaf0625d04036f047" + "25b006934f1578e2d7bd87085a7756d3" ], [ "Parsing.uu___32", @@ -71,7 +71,7 @@ 1, [ "@query", "eq2-interp", "equation_Parsing.equals" ], 0, - "ffcf323b50bc9a355d1866139d387c10" + "335d2f96206982b4bc28387461235eb2" ] ] ] \ No newline at end of file diff --git a/tests/tactics/PointwiseLoop.fst b/tests/tactics/PointwiseLoop.fst index c3cd9365d79..1477166ddc7 100644 --- a/tests/tactics/PointwiseLoop.fst +++ b/tests/tactics/PointwiseLoop.fst @@ -1,7 +1,7 @@ module PointwiseLoop open FStar.List -open FStar.Tactics +open FStar.Tactics.V2 (* This tactic can unfold recursive functions inside of [match] statements and others... *) let rec_norm direction (steps : list norm_step) : Tac unit = diff --git a/tests/tactics/PointwiseLoop.fst.hints b/tests/tactics/PointwiseLoop.fst.hints index 7b6526afe00..752496fcdbe 100644 --- a/tests/tactics/PointwiseLoop.fst.hints +++ b/tests/tactics/PointwiseLoop.fst.hints @@ -1,5 +1,5 @@ [ - "lb\u0000\u0019sׇÄ\u0007É;~°%šN", + "exCko1eoG¤¦%—+0", [ [ "PointwiseLoop.list_sum", @@ -22,7 +22,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0fd63ca58942a63f0b90a690d9ae0170" + "164f55fe565a41807d546842422ba43d" ], [ "PointwiseLoop.list_sum_lem", @@ -37,7 +37,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "29dad46da30035b5a283fbb7eb6db3e0" + "0e11eaa530dace64e48fdf89935c2dc4" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Pose.fst b/tests/tactics/Pose.fst index d7ab21e66d5..1fddfb2ce4f 100644 --- a/tests/tactics/Pose.fst +++ b/tests/tactics/Pose.fst @@ -15,7 +15,7 @@ *) module Pose -open FStar.Tactics +open FStar.Tactics.V2 let lem (x y : int) : squash False = admit () diff --git a/tests/tactics/Pose.fst.hints b/tests/tactics/Pose.fst.hints index edd2a04056e..fd066f50f8b 100644 --- a/tests/tactics/Pose.fst.hints +++ b/tests/tactics/Pose.fst.hints @@ -1,5 +1,5 @@ [ - "ÌÊ\u0001£qÔï{äßÁæÑnü\u0003", + "<.\\3Ç\u00053ÿÛ=\u0007gé\u0007\u0013‹", [ [ "Pose.uu___2", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "166dc058b2cb2af7cd0b43a9e05b88da" + "0b5a5ada4aeaac8326ba3b7ee361ac0f" ] ] ] \ No newline at end of file diff --git a/tests/tactics/PoseLemma.fst b/tests/tactics/PoseLemma.fst index 78559fa7d03..c7050f31101 100644 --- a/tests/tactics/PoseLemma.fst +++ b/tests/tactics/PoseLemma.fst @@ -1,6 +1,6 @@ module PoseLemma -open FStar.Tactics +open FStar.Tactics.V2 assume val pred : int -> int -> Type0 assume val lem1 : x:int -> y:int -> Lemma (requires (x < 0)) (ensures (pred x y)) diff --git a/tests/tactics/PoseLemma.fst.hints b/tests/tactics/PoseLemma.fst.hints index f1625f22c21..4298c52232f 100644 --- a/tests/tactics/PoseLemma.fst.hints +++ b/tests/tactics/PoseLemma.fst.hints @@ -1,5 +1,5 @@ [ - "¡\u0018Ž}\t»s¬Eð%ë0d8©", + "\u001c\u00102;jxq\u0012fÃl„À‘çf", [ [ "PoseLemma.test1", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "426ac05e4bfb3efd2e400a1a97cb592f" + "40e1da8babbb42d0463d7c68415591dc" ], [ "PoseLemma.test2", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5bfa1546206d448acbb9fcc079f198d2" + "b6d03874bea90e2d86efcffa75d963d3" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Pruning.fst b/tests/tactics/Pruning.fst index a17375d04ba..20e31bd3aba 100644 --- a/tests/tactics/Pruning.fst +++ b/tests/tactics/Pruning.fst @@ -60,9 +60,9 @@ open FStar.OrdSet open FStar.OrdSetProps open FStar.PredicateExtensionality open FStar.PropositionalExtensionality -open FStar.Reflection +open FStar.Reflection.V2 -open FStar.Tactics +open FStar.Tactics.V2 open FStar.List // This query will go the SMT, in the default proof namespace diff --git a/tests/tactics/Pruning.fst.hints b/tests/tactics/Pruning.fst.hints index 4bdaf116ffe..7bfb6ca001b 100644 --- a/tests/tactics/Pruning.fst.hints +++ b/tests/tactics/Pruning.fst.hints @@ -1,5 +1,5 @@ [ - "ØEü¿\u001a‡\u001fÕh©.\rFjg\u0005", + "1WüdïÈ,\u0002&‚p1\\2ó\\", [ [ "Pruning.f", @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a6a26512c7e432ff77a5f0cf1b0f95d7" + "d0dda265ff85aefb0dad6d8d718302a9" ], [ "Pruning.uu___1", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "387c3c7cb8b0933de87580a5167c702e" + "807e3d699fe78cc723de1bfff1ad4b02" ], [ "Pruning.uu___6", @@ -40,7 +40,7 @@ 1, [ "@query", "true_interp" ], 0, - "8d6f28b7674a1819adcc44d84bda5bd9" + "417da91a25e211e53f569251ea827592" ], [ "Pruning.uu___6", @@ -49,7 +49,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "1312afecd085b71c24705cb4a1ab8de4" + "65d06048c645dbd09333220ce3f9d7c4" ], [ "Pruning.uu___6", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a8cb27585b48c5bba63972389634cf60" + "59663973acfab99d3d6b52df68f9cd02" ], [ "Pruning.uu___16", @@ -80,7 +80,7 @@ 1, [ "@query", "true_interp" ], 0, - "5a1ba8e7b9dd40a108ed1cd3216d330d" + "7a90eb84160f5e67d61b20f7647f0db9" ], [ "Pruning.uu___16", @@ -89,7 +89,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "aa094bc3c386157dce596b917ab48b3b" + "672b256b04e0268270691ea091b24d45" ], [ "Pruning.uu___16", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "507b0bd6a77c6eefcc0a929ffe6e2af4" + "59663973acfab99d3d6b52df68f9cd02" ], [ "Pruning.uu___27", @@ -120,7 +120,7 @@ 1, [ "@query", "true_interp" ], 0, - "e24b31293f20b5e2b430f3cef68cd37c" + "4a42935f1905905e03ed97d4515287c6" ], [ "Pruning.uu___27", @@ -129,7 +129,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "fb4872045631f5b5af44fb421dc49f57" + "155063da408769dae5978fd59655c674" ], [ "Pruning.uu___36", @@ -138,7 +138,7 @@ 1, [ "@query", "true_interp" ], 0, - "e24b31293f20b5e2b430f3cef68cd37c" + "4a42935f1905905e03ed97d4515287c6" ], [ "Pruning.uu___36", @@ -147,7 +147,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "fb4872045631f5b5af44fb421dc49f57" + "155063da408769dae5978fd59655c674" ], [ "Pruning.uu___45", @@ -156,7 +156,7 @@ 1, [ "@query", "true_interp" ], 0, - "e24b31293f20b5e2b430f3cef68cd37c" + "4a42935f1905905e03ed97d4515287c6" ], [ "Pruning.uu___45", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3781073847d74c11a3c279eb13b9719f" + "59663973acfab99d3d6b52df68f9cd02" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Quals.fst b/tests/tactics/Quals.fst index 1c88706d74d..fae6e213278 100644 --- a/tests/tactics/Quals.fst +++ b/tests/tactics/Quals.fst @@ -1,14 +1,15 @@ module Quals -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac decls = - let lbv = {lb_fv = (pack_fv ["Quals"; "sp1"]); - lb_us = []; - lb_typ = (`int); - lb_def = (`42)} in - let lb = pack_lb lbv in - let se : sigelt = pack_sigelt (Sg_Let false [lb]) in + let lb = { + lb_fv = (pack_fv ["Quals"; "sp1"]); + lb_us = []; + lb_typ = (`int); + lb_def = (`42); + } in + let se : sigelt = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in let se = set_sigelt_quals [Unfold_for_unification_and_vcgen; Inline_for_extraction] se in [se] diff --git a/tests/tactics/Quals.fst.hints b/tests/tactics/Quals.fst.hints index 067b0672ca7..177481409d2 100644 --- a/tests/tactics/Quals.fst.hints +++ b/tests/tactics/Quals.fst.hints @@ -1,6 +1,19 @@ [ - "\u0018aÜ\fé\u0010þ‰Tª¹Î_mùø", + "-\u0002æ¬\u0019áŒ<»\u001a_'ìdj–", [ + [ + "Quals.tau", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "disc_equation_FStar.Tactics.NamedView.Unk", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "b9e2ffdefdeb6fe0cb9b75753b40e82d" + ], [ "Quals.test_sp1", 1, @@ -27,10 +40,10 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Reflection.Builtins.lookup_typ" + "string_typing", "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "42125875003472669e11020fb2419ad2" + "b2a2d42f09c0e058d5ba4da36b4f7d55" ], [ "Quals.test_sp1", @@ -59,10 +72,10 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "string_typing", "true_interp", - "typing_FStar.Reflection.Builtins.lookup_typ" + "typing_FStar.Reflection.V2.Builtins.lookup_typ" ], 0, - "ffc30ca2323f32679918c356db81f62d" + "8ab1a887c8c4b9aaa33f76c49d602028" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Raise.fst b/tests/tactics/Raise.fst index 256c483f452..0e3c5c5bac9 100644 --- a/tests/tactics/Raise.fst +++ b/tests/tactics/Raise.fst @@ -15,7 +15,7 @@ *) module Raise -open FStar.Tactics +open FStar.Tactics.V2 exception Ex1 exception Ex2 diff --git a/tests/tactics/Raise.fst.hints b/tests/tactics/Raise.fst.hints index edf716e514b..911d406e596 100644 --- a/tests/tactics/Raise.fst.hints +++ b/tests/tactics/Raise.fst.hints @@ -1,5 +1,5 @@ [ - "b`Q\u0012´!Žá\u0001Å\u0014\u001a”j^\u0016", + "yÝËL\u001aAVÌà\"Y‰›‡", [ [ "Raise.uu___0", @@ -11,7 +11,7 @@ "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Tactics.Derived.Goal_not_trivial@tok", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Tactics.Result.Success", @@ -20,7 +20,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "634cf469708c56892a59f7db502ac555" + "99210414c785c900684a46fd7276cade" ], [ "Raise.uu___0", @@ -32,7 +32,7 @@ "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Tactics.Derived.Goal_not_trivial@tok", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Tactics.Result.Success", @@ -41,7 +41,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "6755aa71b14e0f493308fd565b95aec6" + "aed3e7a2d0a21b1933d6d8d90e97d4b0" ], [ "Raise.x", @@ -53,7 +53,7 @@ "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Tactics.Derived.Goal_not_trivial@tok", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Tactics.Result.Success", @@ -62,7 +62,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0444af2ec2211382e8232b9fa47711ed" + "56f6842ad3935ea923ea3856cd7f5834" ] ] ] \ No newline at end of file diff --git a/tests/tactics/ReflectionMisc.fst b/tests/tactics/ReflectionMisc.fst index b43c38ea60a..d786fdd5381 100644 --- a/tests/tactics/ReflectionMisc.fst +++ b/tests/tactics/ReflectionMisc.fst @@ -15,9 +15,10 @@ *) module ReflectionMisc -open FStar.Tactics +open FStar.Tactics.V2 + +let mk (#a: Type u#a) (u: universe_view) (#[exact (pack (Tv_Type (pack_universe u)))]r: a) (): a = r -let mk (#a: Type u#a) (u: universe_view) (#[exact (pack_ln (Tv_Type (pack_universe u)))]r: a) (): a = r let univs (_: Type u#a) (_: Type u#b): _ = assert (mk (Uv_Name ("a", range_of 1)) () == Type u#a); assert (mk ( @@ -71,7 +72,7 @@ let _ = assert True // match inspect t with // | Tv_Arrow _ c -> // (match inspect_comp c with -// | C_Total _ u _ -> pack_ln (Tv_Type (pack_universe (Uv_Succ u))) +// | C_Total _ u _ -> pack (Tv_Type (pack_universe (Uv_Succ u))) // | _ -> fail "2") // | _ -> fail "3" diff --git a/tests/tactics/ReflectionMisc.fst.hints b/tests/tactics/ReflectionMisc.fst.hints index 368d53a0068..cd52e8b9f2d 100644 --- a/tests/tactics/ReflectionMisc.fst.hints +++ b/tests/tactics/ReflectionMisc.fst.hints @@ -1,5 +1,5 @@ [ - "‹¦V¥ÏÍ,\u0004\u0004Ý/\u0012Õâ", + "\u0017e5Bf„©â\u000fÌdYp\u001a~-", [ [ "ReflectionMisc.univs", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_ReflectionMisc.mk" ], 0, - "3fb23c4895af58ddcd21e0efc687ecae" + "8bb53841c0bab9bdee22acbcf6fe2449" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Reflexivity.fst b/tests/tactics/Reflexivity.fst index 99af58f2c70..99bfe150c47 100644 --- a/tests/tactics/Reflexivity.fst +++ b/tests/tactics/Reflexivity.fst @@ -1,6 +1,6 @@ module Reflexivity -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert (1 = 1) by trefl () let _ = assert (1 == 1) by trefl () diff --git a/tests/tactics/Reflexivity.fst.hints b/tests/tactics/Reflexivity.fst.hints index a4d1566eec4..30f917aacd8 100644 --- a/tests/tactics/Reflexivity.fst.hints +++ b/tests/tactics/Reflexivity.fst.hints @@ -1 +1 @@ -[ "\u001fñ;èű©Q9\u0018lídÎã", [] ] \ No newline at end of file +[ "5ø¿‘\u0002ß\u0000Œâѳ<Ý žš", [] ] \ No newline at end of file diff --git a/tests/tactics/Rename.fst b/tests/tactics/Rename.fst index 496b20fcecf..27ad7cc9b15 100644 --- a/tests/tactics/Rename.fst +++ b/tests/tactics/Rename.fst @@ -17,7 +17,7 @@ module Rename (* Testing the new printing based on the static environment *) -open FStar.Tactics +open FStar.Tactics.V2 assume val phi : Type assume val psi : Type diff --git a/tests/tactics/Rename.fst.hints b/tests/tactics/Rename.fst.hints index d5961b798f5..a87ec889b3c 100644 --- a/tests/tactics/Rename.fst.hints +++ b/tests/tactics/Rename.fst.hints @@ -1,5 +1,5 @@ [ - "Ë“Üa.W±\u000f·\n0˜¤FÃ\u001f", + "\u0013>“€C—ð—k\"¶\fèþÂ\u0015", [ [ "Rename.constr", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "46aea26883723e3149937b409aaa9a4c" + "8b976853b50ac3500e528afcd122913c" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Retype.fst b/tests/tactics/Retype.fst index 4c3cef7cc96..83a84a74ba8 100644 --- a/tests/tactics/Retype.fst +++ b/tests/tactics/Retype.fst @@ -17,7 +17,7 @@ module Retype // Changing the type of a binder -open FStar.Tactics +open FStar.Tactics.V2 assume val p : prop assume val q : prop @@ -36,7 +36,7 @@ let tau () : Tac unit = let _ = implies_intro () in let b = implies_intro () in - binder_retype b; // call retype, get a goal `p == ?u` + var_retype b; // call retype, get a goal `p == ?u` let pp = quote p in let rr = quote r in grewrite pp rr; // rewrite p to q, get `q == ?u` @@ -45,9 +45,9 @@ let tau () : Tac unit = apply_lemma (quote l); //prove (p == q), asked by grewrite let e = cur_env () in - match binders_of_env e with + match vars_of_env e with | [_;_;_;b] -> - let t = type_of_binder b in + let t = b.sort in let t = norm_term [] t in // contains uvar redexes. if FStar.Order.ne (compare_term t rr) then fail "binder was not retyped?" diff --git a/tests/tactics/Retype.fst.hints b/tests/tactics/Retype.fst.hints index a7a66739aea..0f776650fdb 100644 --- a/tests/tactics/Retype.fst.hints +++ b/tests/tactics/Retype.fst.hints @@ -1 +1 @@ -[ "S(,‚(\u001b˜ë5ŸO/±\u001cÝ", [] ] \ No newline at end of file +[ "@n•‹\u0007\u001eY†ÄbÏ|Æ\u0006V‚", [] ] \ No newline at end of file diff --git a/tests/tactics/SMTSync.fst b/tests/tactics/SMTSync.fst index 764b59fc1db..45e26b0773f 100644 --- a/tests/tactics/SMTSync.fst +++ b/tests/tactics/SMTSync.fst @@ -1,6 +1,6 @@ module SMTSync -open FStar.Tactics +open FStar.Tactics.V2 let test1 x = assert (1 + x == x + 1) by (try smt_sync () with |_ -> fail "") diff --git a/tests/tactics/SMTSync.fst.hints b/tests/tactics/SMTSync.fst.hints index 920683ac9ff..b2f2158355b 100644 --- a/tests/tactics/SMTSync.fst.hints +++ b/tests/tactics/SMTSync.fst.hints @@ -1,5 +1,5 @@ [ - ">7\t,Ÿ˜—W@\u001eE\u0018Ä=\u0005i", + "ðð“™H\u000fÜëwPsO£Ÿ\u0017", [ [ "SMTSync.test1", @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "fde5356c508820fe96ef4e5d1fb88b12" + "d65284f47cbf7e59975277f796e67587" ], [ "SMTSync.test5", diff --git a/tests/tactics/Setopts.fst b/tests/tactics/Setopts.fst index a1aca0f3a97..26aa88420c9 100644 --- a/tests/tactics/Setopts.fst +++ b/tests/tactics/Setopts.fst @@ -15,7 +15,7 @@ *) module Setopts -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Mul let mult_ass (x y z : int) = diff --git a/tests/tactics/Setopts.fst.hints b/tests/tactics/Setopts.fst.hints index b3ee9c09919..89c1d8d409b 100644 --- a/tests/tactics/Setopts.fst.hints +++ b/tests/tactics/Setopts.fst.hints @@ -1,5 +1,5 @@ [ - "2bÊ£» édúl¨?o°\u0010È", + "4€\u0007\u0001Ž?Ž€fíA(\u007fŽUÆ", [ [ "Setopts.mult_ass", @@ -11,7 +11,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "998bc0ce9624cb873cc59a2ae1d83c46" + "c8821eb935ca5887f62f9f8698cf1ddf" ] ] ] \ No newline at end of file diff --git a/tests/tactics/SolvedWitness.fst b/tests/tactics/SolvedWitness.fst index adb492b52ad..f9889e50f24 100644 --- a/tests/tactics/SolvedWitness.fst +++ b/tests/tactics/SolvedWitness.fst @@ -15,7 +15,7 @@ *) module SolvedWitness -open FStar.Tactics +open FStar.Tactics.V2 (* Error 217 is tactic left uninstantiated goals, so we're also checking that `qed` succeeds *) [@@ (expect_failure [217])] diff --git a/tests/tactics/SolvedWitness.fst.hints b/tests/tactics/SolvedWitness.fst.hints index 1676757f4ff..0666a3bd62e 100644 --- a/tests/tactics/SolvedWitness.fst.hints +++ b/tests/tactics/SolvedWitness.fst.hints @@ -1 +1 @@ -[ " «¢~rêT\u0003,x÷÷á`¥\r", [] ] \ No newline at end of file +[ ".öÖ\u007f\u000bO½\\Gï壾\u0005ªÌ", [] ] \ No newline at end of file diff --git a/tests/tactics/Splice.fst b/tests/tactics/Splice.fst index 495224c7409..e65db14dbf2 100644 --- a/tests/tactics/Splice.fst +++ b/tests/tactics/Splice.fst @@ -15,17 +15,18 @@ *) module Splice open FStar.List.Tot -open FStar.Tactics +open FStar.Tactics.V2 let make_42 (nm:string) : Tac decls = (* The let binds are needed due to the Tac effect *) (* TODO: make the cur_module call unneeded? it doesn't make sense to use another module *) - let lbv = {lb_fv = (pack_fv (cur_module () @ [nm])); - lb_us = []; - lb_typ = (`nat); - lb_def = (`42)} in - let lb = pack_lb lbv in - let sv : sigelt_view = Sg_Let false [lb] in + let lb = { + lb_fv = (pack_fv (cur_module () @ [nm])); + lb_us = []; + lb_typ = (`nat); + lb_def = (`42); + } in + let sv : sigelt_view = Sg_Let {isrec=false; lbs=[lb]} in let ses : list sigelt = [pack_sigelt sv] in ses @@ -50,7 +51,7 @@ let _ = assert (x == 42) let recursive_fv = pack_fv (cur_module () @ ["recursive"]) in let recursive = pack (Tv_FVar recursive_fv) in [pack_sigelt ( - Sg_Let true [pack_lb ({ + Sg_Let {isrec=true; lbs=[{ lb_fv = recursive_fv ; lb_us = [] ; lb_typ = mk_arr [n] @@ -59,8 +60,8 @@ let _ = assert (x == 42) (`Type0) [] [`(10 - (`#(binder_to_term n)))])) - ; lb_def = `(fun n -> if n>=10 then int else int * (`#recursive) (n + 1)) - })] + ; lb_def = `(fun n -> if n>=10 then int else int * (`#recursive) (n + 1)); + }]} ) ] ) diff --git a/tests/tactics/Splice.fst.hints b/tests/tactics/Splice.fst.hints index 3aa7dee276f..50395bf3113 100644 --- a/tests/tactics/Splice.fst.hints +++ b/tests/tactics/Splice.fst.hints @@ -1,20 +1,69 @@ [ - "3tŒå³„ÇËÙ÷š[|Kê\u0017", + "|\u0006¯÷±'3\u0013¤'ÀË\u001eÿ", [ [ - "Splice.uu___7", + "Splice.make_42", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "633d7c94bb7bb999aebd077eefbb83f2" + ], + [ + "Splice.uu___6", 1, 2, 1, [ "@query", "equation_Splice.x" ], 0, - "b3e6df7f91bdeed24e23567598e0ee89" + "e05171cdfb6466d3bf81fb5de3f6910b" ], [ "Splice.recursive", 1, 2, 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.simple_binder", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_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" + ], + 0, + "e0e4b22e4e0a7c5bfebf8a50fac86bd3" + ], + [ + "Splice.recursive", + 2, + 2, + 1, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -27,16 +76,16 @@ "well-founded-ordering-on-nat" ], 0, - "7f7a7551e64ffa6952bb45b117d1dcca" + "66284e42d650c6b876bdbb9bc61e8756" ], [ - "Splice.uu___16", + "Splice.uu___15", 1, 2, 1, [ "@query" ], 0, - "386299c00f553b409e349ca128f38ba5" + "ca4d8f73272a8211315034ac5cfc5282" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Splice2.fst.hints b/tests/tactics/Splice2.fst.hints index 953b27e62a1..287c8ccbb9b 100644 --- a/tests/tactics/Splice2.fst.hints +++ b/tests/tactics/Splice2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Splice.x" ], 0, - "7e75dab9978cd8c8020e142cd106e90e" + "4d4d6f1249644cf44de7a0e547772160" ], [ "Splice2.uu___1", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Splice.y" ], 0, - "9a08744eea8d84006af140b7d4e1d7ca" + "6be413e9f997348a1f342f08a02c083d" ] ] ] \ No newline at end of file diff --git a/tests/tactics/State.fst b/tests/tactics/State.fst index 706e40a7123..8544b450138 100644 --- a/tests/tactics/State.fst +++ b/tests/tactics/State.fst @@ -15,7 +15,7 @@ *) module State -open FStar.Tactics +open FStar.Tactics.V2 let x : int = synth (fun () -> lset "myint" 1; let y : int = lget "myint" in diff --git a/tests/tactics/State.fst.hints b/tests/tactics/State.fst.hints index 81c7a359cfd..048ec7a5efd 100644 --- a/tests/tactics/State.fst.hints +++ b/tests/tactics/State.fst.hints @@ -1,5 +1,5 @@ [ - "x7©o°u\na\u00055Ãòµ7C", + "I·²=¦¼JÁm'\u001etF{ìŸ", [ [ "State.uu___3", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_State.x" ], 0, - "3606b0264d63af9efdce1a6c7a697e48" + "6a3651e8721aef53f156e44fa7104827" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Syntax.fst.hints b/tests/tactics/Syntax.fst.hints deleted file mode 100644 index 586da994ba9..00000000000 --- a/tests/tactics/Syntax.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - " let t = blah t in Tv_Abs b t | Tv_Arrow b t -> Tv_Arrow b t - | Tv_Refine b s t -> let s = blah s in - let t = blah t in - Tv_Refine b s t + | Tv_Refine b t -> let t = blah t in + Tv_Refine b t | Tv_Type u -> Tv_Type u | Tv_Const c -> Tv_Const c | Tv_Uvar u t -> Tv_Uvar u t - | Tv_Let r attrs b ty t1 t2 -> Tv_Let r attrs b ty t1 t2 + | Tv_Let r attrs b t1 t2 -> Tv_Let r attrs b t1 t2 | Tv_Match t ret_opt brs -> Tv_Match t ret_opt brs | Tv_AscribedT e t tac use_eq -> Tv_AscribedT e t tac use_eq | Tv_AscribedC e c tac use_eq -> Tv_AscribedC e c tac use_eq @@ -102,7 +101,7 @@ let _ = assert True | Tv_Const (C_Int 5) -> fail "Quoted term got reduced!" | _ -> fail "What?") -open FStar.Tactics +open FStar.Tactics.V2 let arith_test1 = assert True @@ -123,9 +122,9 @@ let arith_test2 (x : int) = let _ = assert True by (let t = quote (let x = 2 in x + 6) in match inspect t with - | Tv_Let r attrs bv ty t1 t2 -> ( + | Tv_Let r attrs b t1 t2 -> ( debug ("r = " ^ (if r then "true" else "false")); - debug ("bv = " ^ bv_to_string bv); + debug ("b = " ^ binder_to_string b); debug ("t1 = " ^ term_to_string t1); debug ("t2 = " ^ term_to_string t2) ) @@ -134,9 +133,9 @@ let _ = assert True 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 attrs bv ty t1 t2 -> ( + | Tv_Let r attrs b t1 t2 -> ( debug ("r = " ^ (if r then "true" else "false")); - debug ("bv = " ^ bv_to_string bv); + debug ("b = " ^ binder_to_string b); debug ("t1 = " ^ term_to_string t1); debug ("t2 = " ^ term_to_string t2) ) diff --git a/tests/tactics/SyntaxBasics.fst.hints b/tests/tactics/SyntaxBasics.fst.hints new file mode 100644 index 00000000000..dc5226bb215 --- /dev/null +++ b/tests/tactics/SyntaxBasics.fst.hints @@ -0,0 +1,37 @@ +[ + "¾-¢à1Ë•\r_[a¤Ê&öý", + [ + [ + "SyntaxBasics.blah", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Tactics.NamedView.Tv_Abs", + "disc_equation_FStar.Tactics.NamedView.Tv_App", + "disc_equation_FStar.Tactics.NamedView.Tv_Arrow", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "disc_equation_FStar.Tactics.NamedView.Tv_BVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Const", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Let", + "disc_equation_FStar.Tactics.NamedView.Tv_Match", + "disc_equation_FStar.Tactics.NamedView.Tv_Refine", + "disc_equation_FStar.Tactics.NamedView.Tv_Type", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_Unknown", + "disc_equation_FStar.Tactics.NamedView.Tv_Unsupp", + "disc_equation_FStar.Tactics.NamedView.Tv_Uvar", + "disc_equation_FStar.Tactics.NamedView.Tv_Var", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "cdfaf865583c58fbb1d3a4df0124d568" + ] + ] +] \ No newline at end of file diff --git a/tests/tactics/Synthesis.fst b/tests/tactics/Synthesis.fst index e65f6fca866..de2c215b9f3 100644 --- a/tests/tactics/Synthesis.fst +++ b/tests/tactics/Synthesis.fst @@ -15,7 +15,7 @@ *) module Synthesis -open FStar.Tactics +open FStar.Tactics.V2 let a : unit = synth (fun () -> exact (`())) @@ -55,11 +55,11 @@ let iszero (x : int) : int = set_guard_policy SMT; let x = quote x in let t_int = quote int in - let _f = fresh_bv () in - let tun = pack_ln Tv_Unknown in + let _f = fresh_namedv () in + let tun = pack Tv_Unknown in let t = Tv_Match x None - [(Pat_Constant (C_Int 0), pack (Tv_Const (C_Int 1))); - (Pat_Var _f (seal tun), pack (Tv_Const (C_Int 0)))] in + [(Pat_Constant {c=C_Int 0}, pack (Tv_Const (C_Int 1))); + (Pat_Var {v=_f; sort=seal tun}, pack (Tv_Const (C_Int 0)))] in exact (pack t)) let _ = assert (iszero 0 = 1) @@ -68,8 +68,8 @@ let _ = assert (iszero 2 = 0) let mk_let () : Tac unit = match (inspect (quote ( let f x = if x<=1 then 1 else x - 1 in f 5 ))) with - | Tv_Let r attrs b ty t1 t2 -> - let t = pack (Tv_Let r attrs b ty t1 t2) in + | Tv_Let r attrs b t1 t2 -> + let t = pack (Tv_Let r attrs b t1 t2) in exact_guard t | _ -> dump "uh oh"; exact (`0) @@ -78,8 +78,8 @@ let _ = assert (f2 == 4) let mk_let_rec () : Tac unit = match (inspect (quote ( let rec fr (x:nat) = if x <= 1 then 1 else fr (x-1) in fr 5 ))) with - | Tv_Let r attrs b ty t1 t2 -> - let t = pack (Tv_Let r attrs b ty t1 t2) in + | Tv_Let r attrs b t1 t2 -> + let t = pack (Tv_Let r attrs b t1 t2) in exact_guard t | _ -> dump "uh oh"; exact (`0) diff --git a/tests/tactics/Synthesis.fst.hints b/tests/tactics/Synthesis.fst.hints index 28ef41d19ad..01f283e8ebb 100644 --- a/tests/tactics/Synthesis.fst.hints +++ b/tests/tactics/Synthesis.fst.hints @@ -1,5 +1,5 @@ [ - "7ñ®Q;ã¦Ã°\u0002™@{ä÷", + "$çËüàÝ&P|\nš¨ðy“_", [ [ "Synthesis.uu___1", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Synthesis.a" ], 0, - "0668f29cc2df7e6704f2684b1e848c1b" + "8e4a2e482c899d1da53611b0039294c9" ], [ "Synthesis.uu___8", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Synthesis.f8" ], 0, - "f83451489b09e8fa6511ad4d880d1c3d" + "2b55e3452f3ef6e75d102257a9ac5217" ], [ "Synthesis.uu___18", @@ -26,28 +26,28 @@ 1, [ "@query", "equation_Synthesis.fn8" ], 0, - "f942e208320be1144cfe14c9a980ed89" + "d166752d35397b2838313c8ba8c6d34d" ], [ - "Synthesis.uu___26", + "Synthesis.uu___27", 1, 2, 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "4bb15847af485ca0df57fcc58d42893d" + "61fa965b74c2f92d9b3f8715c14cbf15" ], [ - "Synthesis.uu___27", + "Synthesis.uu___28", 1, 2, 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "4eb3bdb40026416d0f3e890583eb01e4" + "0b49feb88d497c8190d6964099073cf6" ], [ - "Synthesis.uu___28", + "Synthesis.uu___29", 1, 2, 1, @@ -56,16 +56,16 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0a6fa932f40095d7fd0f9fb7ed175edd" + "b05e109b827a12e6b072b95300c5f5b3" ], [ - "Synthesis.uu___42", + "Synthesis.uu___43", 1, 2, 1, [ "@query", "equation_Synthesis.f2" ], 0, - "504e84901a6e1ba7729140d9a9e7d438" + "f3470baa30ac9eccbbcfb1cbc961e18e" ], [ "Synthesis.f3", @@ -83,16 +83,16 @@ "well-founded-ordering-on-nat" ], 0, - "73f16560983e04e55a966dc35150bdc1" + "9e3839a7824be11b2e437bddb6c8bc2e" ], [ - "Synthesis.uu___56", + "Synthesis.uu___57", 1, 2, 1, [ "@query" ], 0, - "60c0876746290ab7c291f4a2c6a494cf" + "7c10a1ae33df0509f434fb50b5d43f7e" ] ] ] \ No newline at end of file diff --git a/tests/tactics/TReflGuards.fst b/tests/tactics/TReflGuards.fst index 5e501b97df4..9e084b7ad24 100644 --- a/tests/tactics/TReflGuards.fst +++ b/tests/tactics/TReflGuards.fst @@ -1,6 +1,6 @@ module TReflGuards -open FStar.Tactics +open FStar.Tactics.V2 [@@expect_failure] let _ = assert (x:int{0 <= x} == nat) by begin diff --git a/tests/tactics/TReflGuards.fst.hints b/tests/tactics/TReflGuards.fst.hints index 765ca606064..6a589e1e089 100644 --- a/tests/tactics/TReflGuards.fst.hints +++ b/tests/tactics/TReflGuards.fst.hints @@ -1,5 +1,5 @@ [ - "˜‚+‘-Yo¥ÜÒ-ƒBÐ", + "´9žÉó‚„(¡\u001cÝÓ\u001b¤@", [ [ "TReflGuards.uu___5", @@ -11,7 +11,7 @@ "primitive_Prims.op_LessThanOrEqual" ], 0, - "26c08e1e042fd73895dbbb28199ad304" + "55d50d2ead1c84df520e404b3a379124" ], [ "TReflGuards.uu___15", @@ -23,7 +23,7 @@ "primitive_Prims.op_LessThanOrEqual" ], 0, - "a0067eade4197053ac16a0c8d875f667" + "5c02fe54708998a0787ebfec643ef4d3" ] ] ] \ No newline at end of file diff --git a/tests/tactics/TWal1107.fst b/tests/tactics/TWal1107.fst index f5dc637f687..5c1d634cba8 100644 --- a/tests/tactics/TWal1107.fst +++ b/tests/tactics/TWal1107.fst @@ -27,7 +27,7 @@ assume val foo: f:(dtuple2 toto tata -> test_sum bytes) -> g:(test_sum bytes -> dtuple2 toto tata) -> (x:dtuple2 toto tata -> squash (g (f x) == x)) -> unit -open FStar.Tactics +open FStar.Tactics.V2 let bla (bytes:Type0) {|bytes_like bytes|} = foo bytes diff --git a/tests/tactics/TWal1107.fst.hints b/tests/tactics/TWal1107.fst.hints index 03bd43e51fb..f9ff1c1ac92 100644 --- a/tests/tactics/TWal1107.fst.hints +++ b/tests/tactics/TWal1107.fst.hints @@ -1,5 +1,5 @@ [ - "kõê\t{¯\nÉoš÷4c\u0002´", + "Ôá×u\u0017õàJÏ\u0018f¸›Ñl", [ [ "TWal1107.toto", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32a9d850264c27c095dba4ef39edb360" + "f108501001ae7b8fc497184f434d5cbb" ], [ "TWal1107.tata", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" ], 0, - "01a824fc1382956bc09960cd88a5391b" + "47a352d8af8bac35f88ada6d8d4b57fc" ], [ "TWal1107.__proj__Ctor_1__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_85cb1f7cdb7c7aa4bf33dc92967f6607" ], 0, - "05ec0a8bccade0df28561243f49260cb" + "043098b986afeb97c0699017507e11ae" ], [ "TWal1107.__proj__Ctor_2__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_5e8fff5324e6cc5eeefd4463a761912d" ], 0, - "f0da3e1d68cbb908a52c609c14fa36c4" + "c176ff898e814ee5720b9f7f313dae3f" ], [ "TWal1107.arrow_to_forall", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "feb1c3ad0575b98b3b4873940dc591d7" + "fdf5fb3288aca713429de33ecb031ee8" ], [ "TWal1107.bla", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" ], 0, - "88d5706d1e073b406f1f2c24a38aa68f" + "510a3c3341c3645f1ed276447d5701ac" ], [ "TWal1107.bla", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" ], 0, - "c551daf603ad8191e7899c4402e1e906" + "38b0687abbd16477a7fb67349a5df60a" ] ] ] \ No newline at end of file diff --git a/tests/tactics/TacF.fst b/tests/tactics/TacF.fst index 2378525f83c..6537795a109 100644 --- a/tests/tactics/TacF.fst +++ b/tests/tactics/TacF.fst @@ -15,7 +15,7 @@ *) module TacF -open FStar.Tactics +open FStar.Tactics.V2 (* Not exhaustive! But we're in TacF, so it's accepted *) let tau i : TacF unit = diff --git a/tests/tactics/TacF.fst.hints b/tests/tactics/TacF.fst.hints index d185a28958d..557f2e5e5ff 100644 --- a/tests/tactics/TacF.fst.hints +++ b/tests/tactics/TacF.fst.hints @@ -1 +1 @@ -[ "l\u0005q€\u0011\u001bdJxq†\b‹÷ð", [] ] \ No newline at end of file +[ "\u000b™qEV\t¶úHíG6 p®", [] ] \ No newline at end of file diff --git a/tests/tactics/TestBV.fst b/tests/tactics/TestBV.fst index dd3441ab78e..9f916e45e16 100644 --- a/tests/tactics/TestBV.fst +++ b/tests/tactics/TestBV.fst @@ -16,7 +16,7 @@ module TestBV open FStar.UInt -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Tactics.BV module U64 = FStar.UInt64 diff --git a/tests/tactics/TestBV.fst.hints b/tests/tactics/TestBV.fst.hints index 47f826a6b13..a3a27cab4cd 100644 --- a/tests/tactics/TestBV.fst.hints +++ b/tests/tactics/TestBV.fst.hints @@ -1,5 +1,5 @@ [ - "ŠÅíåáz\u0018\u0015\u0013šIÍt'ã/", + "Ÿ9‹½9~»~K\u0002yãxÍaò", [ [ "TestBV.test1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "13b31807ce4e9cc9e790610e2f960ac8" + "5b5033ea39adab6d1b5ae45283ffdd4d" ], [ "TestBV.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "7e3c2d6f94c162c2387c248b4b7657b2" + "2319f395e3c41e73a9849d8bdba24fd1" ], [ "TestBV.test3", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "d58490a8bceaa8dd85172c0782466562" + "8e5227bb17543f6ae1ee881a297816fe" ], [ "TestBV.test4", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "ab4233cb6d7626e6cb7871cad2b9e154" + "8ca53a54dd2d2de253103b983c0df835" ], [ "TestBV.test5", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "55d95ae57cfbce36ff540b32c036ff8d" + "3f94fb83da69bde2d3beb8eb8b9c7b8b" ], [ "TestBV.v64_eq", @@ -53,7 +53,7 @@ 1, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "754f234628ed69adb2bbb72b017565f5" + "34d011070442730e53bf5d01d3c8381d" ], [ "TestBV.unfold_logand64", @@ -66,7 +66,7 @@ "typing_FStar.UInt64.logand" ], 0, - "44d7fe211ef64b188ecf1e7b95226989" + "5e92867bc72f2576f9bd4f94cb5091a4" ], [ "TestBV.unfold_logor64", @@ -79,7 +79,7 @@ "typing_FStar.UInt64.logor" ], 0, - "ce0b951a77ff7a9934fda8932a6591d1" + "7e0a23b557994ae3222df210bc9593c2" ], [ "TestBV.unfold_logxor64", @@ -92,7 +92,7 @@ "typing_FStar.UInt64.logxor" ], 0, - "87c028e00096f6819df7c80ef689f227" + "87ad59e414a5eed4a1f6df72cc82e858" ], [ "TestBV.test6", @@ -101,7 +101,7 @@ 1, [ "@query", "true_interp" ], 0, - "ba3ebce78db3c043435c7583a6cbd9d7" + "3c743a820fefac2afbfcdc3578dcdcee" ], [ "TestBV.test6", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "9f5e4e225ffbab54664c92d036f2c3b0" + "d876c80e5f6145e64c078b3d3f0cdcb7" ], [ "TestBV.test7", @@ -119,7 +119,7 @@ 1, [ "@query", "true_interp" ], 0, - "2a99c44fd1be2081a20c12621d8a9254" + "b742bf3f83896c3dc515ceb192931044" ], [ "TestBV.test7", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "fee143ef5f07d8a179c40837e3c28292" + "418c5539c804cfb5125e822c319c22c0" ] ] ] \ No newline at end of file diff --git a/tests/tactics/MApply.fst b/tests/tactics/TestMApply.fst similarity index 97% rename from tests/tactics/MApply.fst rename to tests/tactics/TestMApply.fst index 5f1cf884de3..3edd536f6e8 100644 --- a/tests/tactics/MApply.fst +++ b/tests/tactics/TestMApply.fst @@ -13,9 +13,9 @@ See the License for the specific language governing permissions and limitations under the License. *) -module MApply +module TestMApply -open FStar.Tactics +open FStar.Tactics.V2 assume val p : Type0 assume val q : Type0 diff --git a/tests/tactics/TestMApply.fst.hints b/tests/tactics/TestMApply.fst.hints new file mode 100644 index 00000000000..a457aaa30a7 --- /dev/null +++ b/tests/tactics/TestMApply.fst.hints @@ -0,0 +1 @@ +[ "\u0006dOR\u0016dN+D);ui£m=", [] ] \ No newline at end of file diff --git a/tests/tactics/Trans.fst b/tests/tactics/Trans.fst index 8ae5bb5690e..7eb0114a1c0 100644 --- a/tests/tactics/Trans.fst +++ b/tests/tactics/Trans.fst @@ -15,7 +15,7 @@ *) module Trans -open FStar.Tactics +open FStar.Tactics.V2 assume val t : Type0 assume val a : t diff --git a/tests/tactics/Trans.fst.hints b/tests/tactics/Trans.fst.hints index fe1baa814fb..639fca1b17e 100644 --- a/tests/tactics/Trans.fst.hints +++ b/tests/tactics/Trans.fst.hints @@ -1,5 +1,5 @@ [ - "ÕÂ>Ø£p³@/¢\n,\u0000‘–", + "y\b\u000e*ƒ×s\u0016b/Y\u0001ü9êî", [ [ "Trans.trans", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "8cb65790ee4001eaccd6cb96d389a6f3" + "ddb94de068265512abf7f6c98d7edc69" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Unbound.fst b/tests/tactics/Unbound.fst index 78aa6d88947..f92fb7a8376 100644 --- a/tests/tactics/Unbound.fst +++ b/tests/tactics/Unbound.fst @@ -15,11 +15,11 @@ *) module Unbound -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac unit = split (); - let x = bv_of_binder (implies_intro ()) in + let x = binding_to_namedv (implies_intro ()) in squash_intro (); exact (pack (Tv_Var x)); // `x` is unbound in this environment, we should fail // (if it succeeds: is the use_bv_sorts flag on? it should be off) diff --git a/tests/tactics/Unbound.fst.hints b/tests/tactics/Unbound.fst.hints index bc2c52c5b48..22f9ba33c59 100644 --- a/tests/tactics/Unbound.fst.hints +++ b/tests/tactics/Unbound.fst.hints @@ -1 +1 @@ -[ "´>7½?»\u0010½Gƒ€–ýßuË", [] ] \ No newline at end of file +[ "\u0015Éøª\u000e1\u0017ˆÍêÁ…\u0019H\u0006…", [] ] \ No newline at end of file diff --git a/tests/tactics/Unfold.fst b/tests/tactics/Unfold.fst index b3f9b933863..ee4f2f342ed 100644 --- a/tests/tactics/Unfold.fst +++ b/tests/tactics/Unfold.fst @@ -15,7 +15,7 @@ *) module Unfold -open FStar.Tactics +open FStar.Tactics.V2 let x = 2 let y = x + x diff --git a/tests/tactics/Unfold.fst.hints b/tests/tactics/Unfold.fst.hints index 83ae8009dc6..d93ffae7d3f 100644 --- a/tests/tactics/Unfold.fst.hints +++ b/tests/tactics/Unfold.fst.hints @@ -1 +1 @@ -[ "\u0007ˆ5;Eƒ1³ä~Uö'V¨\u0004", [] ] \ No newline at end of file +[ "G\u001c\\ó®Š]ukO°?˯õ–", [] ] \ No newline at end of file diff --git a/tests/tactics/Unify.fst b/tests/tactics/Unify.fst index 2c644ff06be..1871fc02d90 100644 --- a/tests/tactics/Unify.fst +++ b/tests/tactics/Unify.fst @@ -15,7 +15,7 @@ *) module Unify -open FStar.Tactics +open FStar.Tactics.V2 let h : int = synth_by_tactic (fun () -> diff --git a/tests/tactics/Unify.fst.hints b/tests/tactics/Unify.fst.hints index d70ed999376..08bc85bdf83 100644 --- a/tests/tactics/Unify.fst.hints +++ b/tests/tactics/Unify.fst.hints @@ -1,5 +1,5 @@ [ - "”$ö¡–%#\u001e\u0003-M(õÕ£ã", + "\\Âi¯Èå„œQ\u0007ºµ%\u0007I…", [ [ "Unify.uu___10", @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Unify.h" ], 0, - "3d31b0e646c91f63db731190d5583907" + "505da1a4487152b047a72e975a32ae0d" ] ] ] \ No newline at end of file diff --git a/tests/tactics/UnitTests.fst b/tests/tactics/UnitTests.fst index 3ec4323014f..549f36f3a14 100644 --- a/tests/tactics/UnitTests.fst +++ b/tests/tactics/UnitTests.fst @@ -15,7 +15,7 @@ *) module UnitTests -open FStar.Tactics +open FStar.Tactics.V2 let _ = assert True by trivial () let _ = assert (1 + 1 = 2) by trivial () diff --git a/tests/tactics/UnitTests.fst.hints b/tests/tactics/UnitTests.fst.hints index eec59f31df2..bf6c02362e6 100644 --- a/tests/tactics/UnitTests.fst.hints +++ b/tests/tactics/UnitTests.fst.hints @@ -1,5 +1,5 @@ [ - "0úÁ¶‘O™“õl\u0004\u001eh°\u0003Ø", + "èàÃRF`;¶®›„Ý»•\u0013\u001b", [ [ "UnitTests.fib", @@ -16,7 +16,7 @@ "well-founded-ordering-on-nat" ], 0, - "f56bd9c38f377a9e113f30a4a6bc4efa" + "0778704afe4785bccbdc038cf85ca68a" ], [ "UnitTests.__proj__D__item__x", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_d5280682073b2e7543fac398f926302c" ], 0, - "2c037f214c02802ba6e3a76e3d903989" + "ed066573de4d47e9cf6d4f59f7d582f5" ], [ "UnitTests.f", @@ -42,7 +42,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d8f7ba3c373657ab7533bdd55f712785" + "b700ad96401be9dc3415d5a29efba69b" ], [ "UnitTests.uu___59", @@ -55,7 +55,7 @@ "projection_inverse_UnitTests.D_x", "true_interp" ], 0, - "60a0b314b5bda0979e09b338101ccdd6" + "71e196307a095fd8b220f47c6eb4fb35" ], [ "UnitTests.l2", @@ -64,7 +64,7 @@ 1, [ "@query", "true_interp" ], 0, - "939b988fff5616ebd0c946cb627c5b20" + "0a9892a5bfca2029563a44e45900914c" ], [ "UnitTests.uu___108", @@ -73,7 +73,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "6ff9e33b88738be1b9d3620e2b7707e0" + "365329cdcfb9c511183bc18c620b7a8b" ], [ "UnitTests.uu___111", @@ -82,7 +82,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "c8b28cf77691cefa99108589824317b1" + "97e398407339a1dfef0248f903d84bad" ], [ "UnitTests.uu___114", @@ -91,7 +91,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "d9540b6bbd97d0ecb7422655748f40a6" + "f8d59c42b16ec46baaa4115c032286b1" ], [ "UnitTests.uu___117", @@ -100,7 +100,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "ea97cf25cb747e432ac22dd25118c14b" + "77be9e2c836e1b559d3dd1f66b9c4be7" ], [ "UnitTests.uu___120", @@ -109,7 +109,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "a62c672e612209fe3a98844b522af6ed" + "d17abce66a3ff9db06729c64fb12cd56" ], [ "UnitTests.uu___123", @@ -118,7 +118,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "575c36876e248e8eebb4159e8ececdf1" + "e71589d6e3786692df604c5ac90e940d" ], [ "UnitTests.__proj__CC__item___0", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "fa43262308c2a9aaa240385196a47364" + "dc4b6e0362b8a0a83325ac1a0baed55b" ], [ "UnitTests.__proj__CC__item___1", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "3cecd00dfb95f214786e5ba710945600" + "c5a8103d38219078fa7ce6b1d521c1d4" ], [ "UnitTests.pwtest", @@ -155,7 +155,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "7a3c393f41be85bcc65fdcac8fb25308" + "bd7e8860c900478335688df181f20d1a" ], [ "UnitTests.pwtest", @@ -167,7 +167,7 @@ "data_elim_UnitTests.CC", "fuel_guarded_inversion_UnitTests.tt" ], 0, - "b2558dfd32219487cbaafce3a06f023d" + "7c7ed035a4b837a3379bbde8f0a49d70" ] ] ] \ No newline at end of file diff --git a/tests/tactics/Univs.fst b/tests/tactics/Univs.fst index b5c3e613765..608645c2b8e 100644 --- a/tests/tactics/Univs.fst +++ b/tests/tactics/Univs.fst @@ -2,7 +2,7 @@ module Univs (* Basic tests on universes *) -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--print_universes --print_implicits" diff --git a/tests/tactics/Univs.fst.hints b/tests/tactics/Univs.fst.hints index f32af5655aa..9afa1a02ef3 100644 --- a/tests/tactics/Univs.fst.hints +++ b/tests/tactics/Univs.fst.hints @@ -1 +1 @@ -[ "²ÆËõ\u0011Ú\u0017„ŒÏqyÒ˜t", [] ] \ No newline at end of file +[ "\u0006£NUÝòLP«\n\u0010ÿ‘Šl", [] ] \ No newline at end of file diff --git a/tests/tactics/UnknownSynth.fst b/tests/tactics/UnknownSynth.fst index 1af80fd6627..4ef4a4d633a 100644 --- a/tests/tactics/UnknownSynth.fst +++ b/tests/tactics/UnknownSynth.fst @@ -15,7 +15,7 @@ *) module UnknownSynth -open FStar.Tactics +open FStar.Tactics.V2 (* We cannot determine the type of `x` a-priori, so this should fail * before running. Currently it runs and fails, we should fix that. *) diff --git a/tests/tactics/UnknownSynth.fst.hints b/tests/tactics/UnknownSynth.fst.hints index cd1d97ee718..aa4897a8926 100644 --- a/tests/tactics/UnknownSynth.fst.hints +++ b/tests/tactics/UnknownSynth.fst.hints @@ -1 +1 @@ -[ "ÞŽÂ\u0010\u001dÊ7K\u0017H¿h‰%5Ü", [] ] \ No newline at end of file +[ "O¯refèÐ}š¤Zàô\u0007*", [] ] \ No newline at end of file diff --git a/tests/tactics/Unresolved.fst b/tests/tactics/Unresolved.fst index 152adc3c91b..c6230821a42 100644 --- a/tests/tactics/Unresolved.fst +++ b/tests/tactics/Unresolved.fst @@ -15,7 +15,7 @@ *) module Unresolved -open FStar.Tactics +open FStar.Tactics.V2 let tau () : Tac unit = let w = cur_witness () in diff --git a/tests/tactics/Unresolved.fst.hints b/tests/tactics/Unresolved.fst.hints index 7ed5a04cef7..f08b552371b 100644 --- a/tests/tactics/Unresolved.fst.hints +++ b/tests/tactics/Unresolved.fst.hints @@ -1 +1 @@ -[ "‡¡˜Zwz”ó€rìŽ\nv\u0005—", [] ] \ No newline at end of file +[ "Tj#úæ»\nioJÚy\t¤$Ó", [] ] \ No newline at end of file diff --git a/tests/tactics/VC.fst b/tests/tactics/VC.fst index f833940001b..a9dea3df215 100644 --- a/tests/tactics/VC.fst +++ b/tests/tactics/VC.fst @@ -15,7 +15,7 @@ *) module VC -open FStar.Tactics +open FStar.Tactics.V2 (* Testing that all VCs needed here are trivial by normalization/simplification *) #set-options "--no_smt" diff --git a/tests/tactics/VC.fst.hints b/tests/tactics/VC.fst.hints index 0a2d25ab7de..d03d5469bd2 100644 --- a/tests/tactics/VC.fst.hints +++ b/tests/tactics/VC.fst.hints @@ -1 +1 @@ -[ "Á•Aй${\u0003ÈK\u001eÉ@DÙc", [] ] \ No newline at end of file +[ "³1­;ÂÈî–ÑÇGöxåš„", [] ] \ No newline at end of file diff --git a/tests/tactics/WeakVsHNF.fst b/tests/tactics/WeakVsHNF.fst index 56aade7907c..e57e3bbe91a 100644 --- a/tests/tactics/WeakVsHNF.fst +++ b/tests/tactics/WeakVsHNF.fst @@ -15,7 +15,7 @@ *) module WeakVsHNF -open FStar.Tactics +open FStar.Tactics.V2 (* Testing weak reduction vs. HNF *) diff --git a/tests/tactics/WeakVsHNF.fst.hints b/tests/tactics/WeakVsHNF.fst.hints index d1907486bd0..9db3fb3d7c0 100644 --- a/tests/tactics/WeakVsHNF.fst.hints +++ b/tests/tactics/WeakVsHNF.fst.hints @@ -1 +1 @@ -[ "\u0010Ó¤Ûdô¶xO@ÇÞ\u007f‡\u0011›", [] ] \ No newline at end of file +[ "Ò19êB±§|·«\u0003’š×U", [] ] \ No newline at end of file diff --git a/tests/tactics/Wild.fst b/tests/tactics/Wild.fst index efbe58fc7d2..fb5758789d6 100644 --- a/tests/tactics/Wild.fst +++ b/tests/tactics/Wild.fst @@ -15,7 +15,7 @@ *) module Wild -open FStar.Tactics +open FStar.Tactics.V2 open FStar.Classical let id x = x diff --git a/tests/tactics/Wild.fst.hints b/tests/tactics/Wild.fst.hints index aab565977f2..9edaaac6b51 100644 --- a/tests/tactics/Wild.fst.hints +++ b/tests/tactics/Wild.fst.hints @@ -1,5 +1,5 @@ [ - "zý“ÛòOq+ÌÉB\".\u0014oÿ", + "8f\u0002\\(K6”\u0007aê\u0013¶ŒÖ", [ [ "Wild.exists_weaken", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_85095d9057e879f201a95ea3a2249737" ], 0, - "c57c4eb9bb288d70017a7e1a9257b308" + "d074fa85434c83f20997e50aa9d02ec2" ], [ "Wild.fact", @@ -20,7 +20,7 @@ 1, [ "@query", "equation_Wild.q", "false_interp", "true_interp" ], 0, - "faf3c4f18ce9b08bddb9d60b5948d70a" + "a7b29d02deb2bb74869f26e27b86ea09" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.CommMonoid.Equiv.fst.hints b/ulib/.cache/FStar.Algebra.CommMonoid.Equiv.fst.hints index ca6b2946c73..d3a1dfd21b6 100644 --- a/ulib/.cache/FStar.Algebra.CommMonoid.Equiv.fst.hints +++ b/ulib/.cache/FStar.Algebra.CommMonoid.Equiv.fst.hints @@ -16,7 +16,7 @@ "refinement_interpretation_Tm_refine_d1b2f1d51ec217fc7d0f57abe8ff2fe9" ], 0, - "7bba1da975865a2d8b79f52f8d385f38" + "975f244857d5afbc8ce4361eaf5f1041" ], [ "FStar.Algebra.CommMonoid.Equiv.equality_equiv", @@ -25,7 +25,7 @@ 1, [ "@query" ], 0, - "87cca87e527a173fd94d0f54e4a66206" + "35dbbada6a0c0112368939adc7e92014" ], [ "FStar.Algebra.CommMonoid.Equiv.right_identity", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "eb2424d861d69e44337d801b54553aa5" + "3d97dcb8cc4114195c876f8ea4e97999" ], [ "FStar.Algebra.CommMonoid.Equiv.int_plus_cm", @@ -55,7 +55,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq" ], 0, - "e103f78639a65589219116bd922306b9" + "1cd23d131917663720929b259c70cced" ], [ "FStar.Algebra.CommMonoid.Equiv.int_multiply_cm", @@ -76,7 +76,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq" ], 0, - "2d96500d3ce4ff0fdf5e6575d9dc6894" + "10d3130a51ff0f7e407f1ce796359c7f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints index e381f04f046..1684e5a2092 100644 --- a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints +++ b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints @@ -59,7 +59,7 @@ "typing_Tm_abs_54dec0234fc7061e12dd9606db2dc826" ], 0, - "f96197b34dece1814d22bb6a981c1f8d" + "df2b81e57ecf794a959891207e57e15d" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fst.hints b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fst.hints index f00b42f3307..492abbf1ed1 100644 --- a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fst.hints +++ b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fst.hints @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "5dcb4589fa281b4ebc9df4f39792fe68" + "fef706b79822de832f180edd9078472a" ], [ "FStar.Algebra.CommMonoid.Fold.fold", @@ -54,7 +54,7 @@ "well-founded-ordering-on-nat" ], 0, - "51b57ef2bda742af385756bb58c23078" + "eb00ead591ab98c6398d932bc0c33dbd" ], [ "FStar.Algebra.CommMonoid.Fold.fold_equality", @@ -97,7 +97,7 @@ "well-founded-ordering-on-nat" ], 0, - "5db0a31b49055c0abfa05d7fbe415950" + "d813c200070c6a3a2fd09d9501798202" ], [ "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", @@ -115,7 +115,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f9061e816703fbc92d26f477b79b9b64" + "04dec65193511cd56165a673901606db" ], [ "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "0e0950fcdd1cfc7cbeaa801150fcce88" + "4c7d992d29774c041c31276ea5b611c3" ], [ "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "1c66dc8366a7e1fb7a2e107b8055c56b" + "fc4e826b97da11d443ad8cab5868fcaf" ], [ "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "037c743b07e69711b72b718b866a5053" + "05d1d36c2cfc1bd288f4f873174caed3" ], [ "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", @@ -219,7 +219,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "2dfbbf84df63644fa268f66091826534" + "3575d9ffe6b8e8c3480acf6576581a02" ], [ "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", @@ -310,7 +310,7 @@ "well-founded-ordering-on-nat" ], 0, - "61e52d05631e79e7ea2e65a507f7b896" + "540f9f3fb7c267f3dd690f14cd201b34" ], [ "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", @@ -392,7 +392,7 @@ "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "e3376c4dd035da86a461269dd0e70a1c" + "3bbf5c07efd25048c3d4d3d517fea136" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", @@ -418,7 +418,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "3763fff7d56bd7301cd4aff3c6183aff" + "12d3f02e34431231cc15cd1f77f938c5" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", @@ -443,7 +443,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "aba5d9b2be9d907056fc6e4b54457692" + "85fb2ce05bd10628b0bb692645809573" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", @@ -497,7 +497,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "3ca5c371124fcf875ace2f87e5b3f611" + "35f9f5c7cfb3d13e35b259f26e2bb9ab" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", @@ -523,7 +523,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "a877017a6aff8ac00e8173e6fae79586" + "68da284ba88107c4191f2baf1858eb8a" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", @@ -551,7 +551,7 @@ "typing_FStar.IntegerIntervals.closed_interval_size" ], 0, - "a44ff2b747987ce5692d0342cea17477" + "1bab7003502b8ec2bd48edb91eb612ef" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fsti.hints b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fsti.hints index f1552d0f3cd..a3344f207c5 100644 --- a/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fsti.hints +++ b/ulib/.cache/FStar.Algebra.CommMonoid.Fold.fsti.hints @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "0ccd912b01fac34df157db4b2e991539" + "3c49d682191f175799bc6b268f2326e5" ], [ "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", @@ -43,7 +43,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8bdf28056247a820e7ba4c6081e41b83" + "5da60231f804cf61d6f0ee8df986ea86" ], [ "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "21b87379c927f77a56cee4988451a269" + "f4803d30e7f6999f518ad6825167142e" ], [ "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" ], 0, - "ffbd78eb6534da55d7623245553723d7" + "144db06169b5ff91f5da74a78a9a2155" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "8648425c563d103100fb4a8698ec1259" + "ba515911a7fa979e3b89ef0c40033ef3" ], [ "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "4e2745bab403d4f0cd9ede2869da1c27" + "fefd9f5f3c09e5b6b955a770b9b817d8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.CommMonoid.fst.hints b/ulib/.cache/FStar.Algebra.CommMonoid.fst.hints index 281f7be9882..f5ccafe94cb 100644 --- a/ulib/.cache/FStar.Algebra.CommMonoid.fst.hints +++ b/ulib/.cache/FStar.Algebra.CommMonoid.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "765909ca78f827db31a9b118362d9c16" + "09fe71c86b9ad69f54d8a6da2e18e2c2" ], [ "FStar.Algebra.CommMonoid.int_plus_cm", @@ -20,7 +20,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "0e0fe20112224f274244f486832f6188" + "1197928e503b5fc5baa6fcbf4e50c0a8" ], [ "FStar.Algebra.CommMonoid.int_multiply_cm", @@ -32,7 +32,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "6ea18f4f48acc50f90d3ad58d776100d" + "f942da6f73974c9a82399691653372c1" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Algebra.Monoid.fst.hints b/ulib/.cache/FStar.Algebra.Monoid.fst.hints index e62c33f9476..b3f749ced44 100644 --- a/ulib/.cache/FStar.Algebra.Monoid.fst.hints +++ b/ulib/.cache/FStar.Algebra.Monoid.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "1f1a3e4f3e7d3821d235b8e1b475b089" + "518a3fb0a1caa4a96b9118ca419abfed" ], [ "FStar.Algebra.Monoid.nat_plus_monoid", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2d454ce482c313763c02e0a2274031c5" + "4418e77efba55d50248ce9b2df4632dc" ], [ "FStar.Algebra.Monoid.int_plus_monoid", @@ -50,7 +50,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "7f271dc7a7b09db97648dab6c5e72032" + "920d085eee749019c923bfe7c81e5dcd" ], [ "FStar.Algebra.Monoid.conjunction_monoid", @@ -59,22 +59,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_0da546199211a769a972571cdb3aec67", + "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", "equality_tok_Prims.T@tok", "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.l_True", "equation_Prims.l_and", + "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", + "equation_Prims.subtype_of", "function_token_typing_Prims.l_True", "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_c5b6d273684b2a65b0f6b44a93b5720a", - "true_interp", "typing_tok_Prims.T@tok" + "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "true_interp", "typing_FStar.Pervasives.singleton", + "typing_tok_Prims.T@tok" ], 0, - "ad13325a654cace294e2a50d6bbbbaf8" + "ab5e43eb9a017c9974042aec94576f09" ], [ "FStar.Algebra.Monoid.disjunction_monoid", @@ -86,16 +88,17 @@ "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.l_False", "equation_Prims.l_or", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", "false_interp", + "equation_Prims.l_False", "equation_Prims.logical", + "equation_Prims.prop", "equation_Prims.subtype_of", "false_interp", + "function_token_typing_Prims.l_False", "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_b96a1b8a03edb9e5df0043cc71b592c1" + "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "typing_FStar.Pervasives.singleton" ], 0, - "fe8eb2bd3f5fe37b39c6e0b976ae16ec" + "3ea59eeb587c353ca07d9ae905478aab" ], [ "FStar.Algebra.Monoid.bool_and_monoid", @@ -114,7 +117,7 @@ "typing_Tm_abs_8939a34eb92f993c93075a413a93c17c" ], 0, - "d048a3d066b0f342ce38f7f5868281c0" + "c985980460a38192cda0f51426dba92a" ], [ "FStar.Algebra.Monoid.bool_or_monoid", @@ -133,7 +136,7 @@ "typing_Tm_abs_97a476600c466721ac503386d260fe4f" ], 0, - "58b992e452dc4122cd15477b35788ba0" + "e1c268fb38adc4c7b21fc745793b02bc" ], [ "FStar.Algebra.Monoid.bool_xor_monoid", @@ -153,7 +156,7 @@ "typing_Tm_abs_5043f38a94b5783f1a2853ffc23a082c" ], 0, - "58a6faedf51c7677697f30349e35a548" + "902754dfc8f32c87daf774b42aade117" ], [ "FStar.Algebra.Monoid.lift_monoid_option", @@ -189,7 +192,7 @@ "typing_Tm_abs_9bee8d4e0220718dda8a4314b261cdec" ], 0, - "b0639add578f1210756f646350ce3959" + "bae29b7a8026109e1e6a47d4fb03c2bb" ], [ "FStar.Algebra.Monoid.monoid_morphism", @@ -203,7 +206,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "72afac3b56b3701d24eb18371d96e8ed" + "ffeae8cc346fcb49abe9ee31188a8e3b" ], [ "FStar.Algebra.Monoid.intro_monoid_morphism", @@ -212,7 +215,7 @@ 1, [ "@query" ], 0, - "1bd5c262be9157fd357da1d0dc21a191" + "e0986bfbe315c1af597a3f2332c46792" ], [ "FStar.Algebra.Monoid.uu___181", @@ -240,22 +243,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "3c88f7e7ad5ec1c38a8a308e890f579e" - ], - [ - "FStar.Algebra.Monoid.neg", - 1, - 2, - 1, - [ - "@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, - "32f2a0f03ac690f32ed95bb7f7e17353" + "02b3ffabc4027edfb82003e43a543474" ], [ "FStar.Algebra.Monoid.uu___183", @@ -265,22 +253,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "defn_equation_FStar.Algebra.Monoid.neg", "equality_tok_Prims.T@tok", + "equality_tok_Prims.T@tok", "equation_FStar.Algebra.Monoid.conjunction_monoid", "equation_FStar.Algebra.Monoid.disjunction_monoid", "equation_FStar.Algebra.Monoid.intro_monoid", "equation_FStar.Algebra.Monoid.monoid_morphism_mult_lemma", "equation_FStar.Algebra.Monoid.monoid_morphism_unit_lemma", "equation_FStar.Algebra.Monoid.neg", "equation_Prims.l_False", - "equation_Prims.l_True", "equation_Prims.l_and", - "equation_Prims.l_or", "equation_Prims.logical", + "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", "false_interp", - "function_token_typing_Prims.l_True", + "equation_Prims.subtype_of", "function_token_typing_Prims.l_True", "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "l_and-interp", "l_not-interp", - "proj_equation_FStar.Algebra.Monoid.Monoid_mult", + "l_and-interp", "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", @@ -290,10 +275,11 @@ "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", "true_interp", + "typing_FStar.Algebra.Monoid.neg", "typing_FStar.Pervasives.singleton", "typing_tok_Prims.T@tok" ], 0, - "6f45446d2c911c0025aa6e2876fe96c9" + "b81276bd77714afb79fea46ebe46c7ba" ], [ "FStar.Algebra.Monoid.uu___192", @@ -302,36 +288,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "defn_equation_FStar.Algebra.Monoid.neg", "equality_tok_Prims.T@tok", "equation_FStar.Algebra.Monoid.conjunction_monoid", "equation_FStar.Algebra.Monoid.disjunction_monoid", "equation_FStar.Algebra.Monoid.intro_monoid", "equation_FStar.Algebra.Monoid.monoid_morphism_mult_lemma", "equation_FStar.Algebra.Monoid.monoid_morphism_unit_lemma", "equation_FStar.Algebra.Monoid.neg", "equation_Prims.l_False", - "equation_Prims.l_True", "equation_Prims.l_and", - "equation_Prims.l_or", "equation_Prims.logical", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", "false_interp", + "equation_Prims.l_True", "equation_Prims.logical", + "equation_Prims.prop", "equation_Prims.subtype_of", "false_interp", "function_token_typing_Prims.l_False", "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "l_not-interp", "l_or-interp", - "proj_equation_FStar.Algebra.Monoid.Monoid_mult", + "l_or-interp", "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_73f210ca6e0061ed4a3150f69b8f33bf", "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", - "typing_FStar.Pervasives.singleton", "typing_tok_Prims.T@tok" + "typing_FStar.Algebra.Monoid.neg", + "typing_FStar.Pervasives.singleton" ], 0, - "601485a1bd1828b061bde87cbda0669a" + "548e09415eb0b973573be13eed2927a6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.All.fst.hints b/ulib/.cache/FStar.All.fst.hints index f44d5cb725d..a773d13d3c9 100644 --- a/ulib/.cache/FStar.All.fst.hints +++ b/ulib/.cache/FStar.All.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_149c6719f34c408becdf9120a4ae2d59" ], 0, - "04fd25de89272bb297278cd00a00ae01" + "8810d6d9a021ed54d0cdb26b3ba97c7c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Array.fst.hints b/ulib/.cache/FStar.Array.fst.hints index ee905c5511b..5af53ec5d8d 100644 --- a/ulib/.cache/FStar.Array.fst.hints +++ b/ulib/.cache/FStar.Array.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2e8d4b8ff83687ccadec7c823ddf953" + "c08d7846c800b3c5c12f44593c4fe110" ], [ "FStar.Array.op_At_Bar", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0451774822951d9c489ea96746ed7b31" + "b752c0f7c16528caf1e8e3c9524f8f3e" ], [ "FStar.Array.op_At_Bar", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_1c18b271f24b11c611b39485cacb006e" ], 0, - "01985fee56e69b93202dd2982d666cfa" + "898947e8d90ed6ce497867c12aff7c95" ], [ "FStar.Array.create_post", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15aaa37608601ab401af85976391b510" + "2acaa4c003a6bdd8d9f393dc7504ae56" ], [ "FStar.Array.of_seq", @@ -70,7 +70,7 @@ "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" ], 0, - "156627a992572d34e95a194079557443" + "76ff1719f013fcc24a1b280dcf569190" ], [ "FStar.Array.to_seq", @@ -88,7 +88,7 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.seq" ], 0, - "ba62c6300370fe19a6bebfabc71233f8" + "b880cd685b99030a924509d6a220d2a1" ], [ "FStar.Array.create", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f9a0f9dd0173dc003204c9a536c29730" + "096552d450944f16bc8bb27d9a8b0a10" ], [ "FStar.Array.create", @@ -116,7 +116,7 @@ "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" ], 0, - "04e61ec2f149f4d53bd903a9279e03f5" + "567d67f35f62a0a507eec595f259e24d" ], [ "FStar.Array.index", @@ -125,7 +125,7 @@ 0, [ "@query" ], 0, - "c858fbe8c3b0b413896c3a49f6f4ddf8" + "bf3ae9eafc8eb3a5b14492b228eb304f" ], [ "FStar.Array.index", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "9fdd65e2f5f21169e8165944bbf85b82" + "fbe3e4d509bc97ead8bc9fa67a1fe41a" ], [ "FStar.Array.upd", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "595f8db1a3a675c11cceaf6fd8a90ef6" + "23089185cd327db0323547a5ff2eb240" ], [ "FStar.Array.upd", @@ -177,7 +177,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "bb42bf691880334c734527ffe799514f" + "20a94edeaccfd000140bfd33bec2e9a9" ], [ "FStar.Array.length", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3645fc6afc418d58e18242f8189d1e03" + "9c4fe5ebf95fa8a644cd5bd9c1b58d9c" ], [ "FStar.Array.length", @@ -210,7 +210,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "972c4b3ddcdfca15f55153d95c3d9789" + "4b3813a9b4e3ae2a8c996686d33dd625" ], [ "FStar.Array.op", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "871f55b4ddecb95d1b884c5d79f69670" + "97aab3901c1f560903c57d84a2d550a8" ], [ "FStar.Array.op", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54" ], 0, - "0fb3bf0e7ae9db103e83e1ead7468ab5" + "034892f5950193901e1a7afb582c11d4" ], [ "FStar.Array.swap", @@ -254,7 +254,7 @@ "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "b81920b807fd4ee138b02afefc94b399" + "9b3d377e6f376a8ba918fcf75376cee3" ], [ "FStar.Array.swap", @@ -274,7 +274,7 @@ "typing_FStar.Array.sel" ], 0, - "3bcd10ad128c3c6554989d7db3f3a11e" + "08f9571616df44cf40bfaa65466bf70f" ], [ "FStar.Array.copy_aux", @@ -288,7 +288,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0dcc5bb67261431b8715a79c0aa966a8" + "28eceae32239c812236c4a5d649889e2" ], [ "FStar.Array.copy_aux", @@ -333,7 +333,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "ec0d46f98da9ba240c8aef67dc03f1b9" + "da5d0c06310937055aa8f58692933d71" ], [ "FStar.Array.copy", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "abcf6bbae2206cff4227368e4a94f4a6" + "f683c05606a8643a7603ea38f9df9aa8" ], [ "FStar.Array.copy", @@ -389,7 +389,7 @@ "typing_FStar.Set.empty" ], 0, - "58180cf96e7c84d74b9f58f16a405bc7" + "e3f20bbc2352ffc6b3d5e94e36e2bc4b" ], [ "FStar.Array.blit_aux", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "079905ef4500395388a37d1c1163d541" + "185cb2a2ab56e7f296df9a62db598f39" ], [ "FStar.Array.blit_aux", @@ -447,7 +447,7 @@ "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq" ], 0, - "bafe2e83baa9d953299ddda6c4c6efdd" + "65c2b54a271c74c3fcf2e93ecc556df8" ], [ "FStar.Array.blit", @@ -463,7 +463,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4d8926a94d489eb8e9e3305a09f9550f" + "0986fd1504a1ec74fad9b3afd4093d08" ], [ "FStar.Array.blit", @@ -478,7 +478,7 @@ "refinement_interpretation_Tm_refine_e96bd1aaa721851aa475eb7d2b304e24" ], 0, - "0a58584a22359886aaa1ae407617ae72" + "48cc00c265964bd314ed0f425fa38204" ], [ "FStar.Array.sub", @@ -498,7 +498,7 @@ "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "0812c793f9a1c68ca5fe112c9116f099" + "9f4d138aa39ab0f600278b005557e78a" ], [ "FStar.Array.sub", @@ -552,7 +552,7 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem" ], 0, - "8e7880bf4ec8f9ce352a88e7bea99768" + "7eb574d278daa24123089c667cf2a777" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Array.fsti.hints b/ulib/.cache/FStar.Array.fsti.hints index 157d7f4b685..ce621e27d3f 100644 --- a/ulib/.cache/FStar.Array.fsti.hints +++ b/ulib/.cache/FStar.Array.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4f376ef465e2236f0e41926900484a3" + "208bdc2398a0ceef7b2d07bab53f45c4" ], [ "FStar.Array.op_At_Bar", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "74ee3d60c7b55647f410324f76210864" + "2444c37be1e29b868258861bc0573238" ], [ "FStar.Array.create_post", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a3717f78a97dba3bc09c81e882113a1" + "fa833ce08bd826bd7c5c50ec93b9dff8" ], [ "FStar.Array.create", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14688afc82d69fbb1c694e4369ab4eb7" + "3f57c4e7dc4cc31d924575b4de1571f3" ], [ "FStar.Array.index", @@ -64,7 +64,7 @@ 0, [ "@query" ], 0, - "9f00bfce797314d74fbcf123e4b911ff" + "384f043fd57f35c971e1bcd9be57e4ad" ], [ "FStar.Array.upd", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6daf756ef346e16b464ce01d7b1bee8e" + "f6b73c34fffc599140179755adf85f78" ], [ "FStar.Array.length", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8fe6cebc77575fb94b58e74d87e6a11c" + "7f3a262a11c95e7f3aaf93433d0bcf52" ], [ "FStar.Array.op", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9141165c30cd1453dde2772cab29e6ff" + "8ef3423e236caf0fbad3ebf0d08ef669" ], [ "FStar.Array.swap", @@ -122,7 +122,7 @@ "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "0e3282cd801c9536044b54f39a26b9fa" + "89c5be530faef92a2fe6135d85dfeb96" ], [ "FStar.Array.copy", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4fb5354a0bbbd66fe8b7c3ab1ff5e28" + "5055726c2ebe43cc07b0b832c786361f" ], [ "FStar.Array.sub", @@ -156,7 +156,7 @@ "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "b6984681bc575044649995084eb8ba3a" + "70bc5154807b4cef75dc49ddaf934bbc" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BV.fst.hints b/ulib/.cache/FStar.BV.fst.hints index 7cb1783a891..8b20f8302cc 100644 --- a/ulib/.cache/FStar.BV.fst.hints +++ b/ulib/.cache/FStar.BV.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cbb456e7121d34fd3e7a4b165379bd4c" + "8d81cd08176b72c9ea359dcaf31432c2" ], [ "FStar.BV.bv_uext", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4488bcbf50383bd11a501487d0617fae" + "ba7ffc70c0104691f8b5df49c234d0e1" ], [ "FStar.BV.bv_uext", @@ -36,7 +36,7 @@ 1, [ "@query" ], 0, - "4777e34e17ed1c3b781e5dc7479df44b" + "e6213394dab857e5125031ea5e399355" ], [ "FStar.BV.bv_uext", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "8d783837d67cde000c38504beea7863b" + "3dc70024156a6043f6793fd93c84848a" ], [ "FStar.BV.int2bv", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "e43b956602e07ca62871b766948e6800" + "d34070446b2e84fa5255fc4c77115f91" ], [ "FStar.BV.int2bv", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "5dd4afd8f4d9e97703d26841ea7ebc8b" + "11d92fec641474fc8cde08a7abb2bb3a" ], [ "FStar.BV.bv2int", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "122a495b5c5dee6f3f864a8670ff9ce8" + "bf3729607e01138faee6046ed8745a75" ], [ "FStar.BV.bv2int", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "132e1d8ce16ea0fe625432043b68ec68" + "a5a7b223fc2ea32cde0633e7f2d9249d" ], [ "FStar.BV.int2bv_lemma_1", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d5ba3caf6ae5ed389385e812e44b7503" + "54ade83a550c6a1398cfe26806b43cdd" ], [ "FStar.BV.int2bv_lemma_1", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "ae913090e11e12532d377ea7469cfe1b" + "a4aab752717efe7e7cd8489c66a88669" ], [ "FStar.BV.int2bv_lemma_2", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "942cdacd541f92ae863fb9df707b80fa" + "c0037d32531bf9d17ad8fd32e9d8d735" ], [ "FStar.BV.int2bv_lemma_2", @@ -155,7 +155,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "d7aadfa3a3616d0f548ab9b3076336c4" + "e33d1310ec54a6373129c4fa218ea715" ], [ "FStar.BV.inverse_vec_lemma", @@ -164,7 +164,7 @@ 1, [ "@query" ], 0, - "6ad658cfe5c0b2fc44c14b92cd399c9b" + "88f3995c343b90ab09d96aa7a9b77b99" ], [ "FStar.BV.inverse_vec_lemma", @@ -183,7 +183,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "e3a52ad0b6eee065eade9ea10f6e95fa" + "e3e5ccf97314d0cbe88b902870bc61b0" ], [ "FStar.BV.inverse_num_lemma", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "99b3f196201c2fd7d468706577cdf93d" + "1f398e23fd189b59285c0676039593ce" ], [ "FStar.BV.inverse_num_lemma", @@ -208,7 +208,7 @@ 1, [ "@query", "equation_FStar.BV.bv2int", "equation_FStar.BV.int2bv" ], 0, - "1c1f061f4f860c397e9f7641178d1846" + "7f054e7907686b15a9a1f1701a1af0dd" ], [ "FStar.BV.list2bv", @@ -217,7 +217,7 @@ 1, [ "@query" ], 0, - "7d2f296033a5545b68b6dcf548bb2217" + "fcbc85e6c851f08cba23c2c1b75a31ac" ], [ "FStar.BV.list2bv", @@ -226,7 +226,7 @@ 1, [ "@query" ], 0, - "b14858aa38a28b1064f2e0e4269e095d" + "b77baa2027f34c00d017ead14955d0b7" ], [ "FStar.BV.list2bv", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_95256b532c59ed5361cc8e821a95025b" ], 0, - "c7264af3e7b2b1e550855e91b61aa804" + "fc7ae359976350f12210125b67192b8b" ], [ "FStar.BV.bv2list", @@ -247,7 +247,7 @@ 1, [ "@query" ], 0, - "d70050e55c0471dcf6bfcfb8d5785ded" + "b6eeb7acf9cc1bfbb9b64659091ea30a" ], [ "FStar.BV.bv2list", @@ -256,7 +256,7 @@ 1, [ "@query" ], 0, - "4b0e1666bbeebd9a3e27a091c4f48491" + "ce0860422f7d79858465827e42cfb1e5" ], [ "FStar.BV.bv2list", @@ -269,7 +269,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "63788356d9457aa937eb22a75f7a452c" + "8588a772f3b4e7ba9cdfcc9c6410f0c9" ], [ "FStar.BV.list2bv_bij", @@ -283,7 +283,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8dfff2157cffff9600e355630c792914" + "0ae3f8c4ec728a3c770b75ebc6e1ec49" ], [ "FStar.BV.list2bv_bij", @@ -292,7 +292,7 @@ 1, [ "@query" ], 0, - "6486216c8047391cbb6c7c4061f2bd1f" + "02f7da64d6f1973a2dcfd56a6f9a165c" ], [ "FStar.BV.list2bv_bij", @@ -301,7 +301,7 @@ 1, [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], 0, - "2a529c1dd846a188891f5d1f8cb39083" + "b2ec9fbc79171c54b354168412bf6750" ], [ "FStar.BV.bv2list_bij", @@ -310,7 +310,7 @@ 1, [ "@query" ], 0, - "a5b0a8a7cfad730d5f5bba659c93ca9b" + "5bd8fa42f4ed1c5ee3033b82c61966e5" ], [ "FStar.BV.bv2list_bij", @@ -319,7 +319,7 @@ 1, [ "@query" ], 0, - "060a9e0c062916d44d39a0437fba36b9" + "96b1db9545ebaa8781cb8c27e1ea71a7" ], [ "FStar.BV.bv2list_bij", @@ -328,7 +328,7 @@ 1, [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], 0, - "090b6e55cc098e605d87dddf27a1cca2" + "cd5c431323127ad54e118b6734963b62" ], [ "FStar.BV.bvand", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9d24ed503a33a67bb9e3dc983c29fa7d" + "ba9c69c726fc279c0652b4bf42d6fa99" ], [ "FStar.BV.int2bv_logand", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "83497b445f385f95e2d25b543b114f39" + "7c61217211ceb45e007bece4502036c9" ], [ "FStar.BV.int2bv_logand", @@ -370,7 +370,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6f07adca3a2dcf36fb7583074b3a703a" + "49094504d8e8d371a216273f8955d001" ], [ "FStar.BV.int2bv_logand", @@ -384,7 +384,7 @@ "refinement_interpretation_Tm_refine_055c5d38ccf2156bb6d0b148b95714b6" ], 0, - "30dec6b32b41a2a59feff3a47fd5076b" + "a1c7ee28d2d574b6176563a1a766045b" ], [ "FStar.BV.bvxor", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "faca9340c98672a0719fb0241f0ff4c2" + "abd175a29de9ada7fe9dbdefd562d87e" ], [ "FStar.BV.int2bv_logxor", @@ -414,7 +414,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0da76dad097815e41b5debdfaa664966" + "f75d30450516902c14582f43be2dbdde" ], [ "FStar.BV.int2bv_logxor", @@ -426,7 +426,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f2dab08201ba5f3dc01896f80d9f213e" + "2f6f1ea107156c4863aa286b0c97a721" ], [ "FStar.BV.int2bv_logxor", @@ -440,7 +440,7 @@ "refinement_interpretation_Tm_refine_4dd8a4a5ddafdb3c9c796bfe4e5fb605" ], 0, - "5601d3d801dbdb0e6f284e09be408fbd" + "7c192f595f3795a9b1fc8af043e615ed" ], [ "FStar.BV.bvor", @@ -455,7 +455,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b2414eb6d46e19e0fa88e82cba9dd093" + "be98d27cc34a2896dfcfb09fb83dff09" ], [ "FStar.BV.int2bv_logor", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8059fd4512a517302cef09da03b9b3a0" + "f418b77fd21afc78574b7116db4d46c5" ], [ "FStar.BV.int2bv_logor", @@ -482,7 +482,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a2759e224e4d6a3639d18ef5bb012ad7" + "ea09b372bf7fa2f7e56975691bbb5e44" ], [ "FStar.BV.int2bv_logor", @@ -496,7 +496,7 @@ "refinement_interpretation_Tm_refine_33f4d97b22d9c96c56c341b5674fee29" ], 0, - "1bd379b11d535861862cafc9050f23e1" + "5860a6619018f910212c358b86bd1ae5" ], [ "FStar.BV.bvnot", @@ -505,7 +505,7 @@ 1, [ "@query" ], 0, - "2af504fdd6b9519498af6f1a6ccd10ae" + "9bd040ceb6d1dd5aadd8945e429c627a" ], [ "FStar.BV.int2bv_lognot", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "16bbd2853e8be06fc2d0bc51c15d6c2d" + "87f5c60d3311b8affe9a3faced0720a3" ], [ "FStar.BV.int2bv_lognot", @@ -529,7 +529,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "14b59639cb4e9cbeeba22821653c5e3d" + "8a89af2e81976668550112a548575eb4" ], [ "FStar.BV.int2bv_lognot", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_723657712cbe235209903dc796491764" ], 0, - "d85db07780000222d7781f32a23c8d3e" + "d5cc82199b4ea9de579b355a05124d2d" ], [ "FStar.BV.bvshl", @@ -552,7 +552,7 @@ 1, [ "@query" ], 0, - "11692c5bed190b590390ec743ca1adf1" + "4c4ec1f7871a522a226c184e599c6c5a" ], [ "FStar.BV.int2bv_shl", @@ -570,7 +570,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d85c72aeacfa30a52d2288d0d7e6e983" + "b25327e6b09cc68940392b59fcda226b" ], [ "FStar.BV.int2bv_shl", @@ -586,7 +586,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1cec8a7b6d3eb38958f621ce9091fc4b" + "00fc834a4a49ef0d8eda6196b977525c" ], [ "FStar.BV.int2bv_shl", @@ -607,7 +607,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "adea474ad72dcf9f8c16f6fe42385eca" + "d4a106206de411606a780885c8f230f1" ], [ "FStar.BV.bvshr", @@ -616,7 +616,7 @@ 1, [ "@query" ], 0, - "63d5a40e957c01c0e33f64298acb0e91" + "907dfa8c3217b3fb37b26ca0984f88f1" ], [ "FStar.BV.int2bv_shr", @@ -634,7 +634,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9cca94bbd23e8feb15ef260c65168856" + "afbad948804bfe6f7f1f4675e02c9f7c" ], [ "FStar.BV.int2bv_shr", @@ -650,7 +650,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f966ac52e3dc90e23e659ed12071526f" + "594560478d1728f0ec065b3c5352744f" ], [ "FStar.BV.int2bv_shr", @@ -671,7 +671,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "43ca6536b60bae1f6a6f5bee186e7b2d" + "faf4a7ab40c15671233086ebc80a339e" ], [ "FStar.BV.bv_zero", @@ -693,7 +693,7 @@ "typing_Prims.pow2" ], 0, - "3787c6b61bc116635fadc435137dc897" + "6fbf470d99cc6a279737b2b21f443f6c" ], [ "FStar.BV.bvult", @@ -705,7 +705,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "83118ac28b41eab46de41b24e8887abc" + "fb3acba19dd02cb8f475054a7286af88" ], [ "FStar.BV.bvult", @@ -717,7 +717,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b5fd264599180f398236e9a4400b4ae3" + "0ac6d59019c92e7a0f7fed870b1ffff7" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -729,7 +729,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2ed58128814ea5389caa052dfd67a721" + "15ebac7b2b7f4412c030e27fbb7588ed" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -741,7 +741,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9a9ee3abe6c01798a182c622bfcbc90d" + "4a4ff7a737eb8d1b3edf24ff38bc0021" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -753,7 +753,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "994e53108640addca2bd04cda0a85678" + "c45a9b0d1242da1fcabab70aa2905f51" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -765,7 +765,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8ded6e06ed2af9271b78918143cd3836" + "00f4335c97cd035de98f73b695c06c4d" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -777,7 +777,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d537ca02ba6b441f75dcb83ff1827fa3" + "40961ca32017966c612ede9f8eaa26ff" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -789,7 +789,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d6628df7c1b1272dbb70d1a9437b24cb" + "2bf10ca02ea31f1ff205beeda9ed50f5" ], [ "FStar.BV.bvadd", @@ -804,7 +804,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ef00884eb7de02a3d96080989fcfac03" + "0115125c347cf6dfff0471d40aacd1e2" ], [ "FStar.BV.bvadd", @@ -816,7 +816,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7067678469fe7dd74762cf7e05104ae5" + "cf6141d85affc316215ee3703af62ef8" ], [ "FStar.BV.bvadd", @@ -825,7 +825,7 @@ 1, [ "@query" ], 0, - "66bafcb22f2788d761473c6127d009d1" + "06e1c19d8bcdb649716b071c7e971b85" ], [ "FStar.BV.int2bv_add", @@ -840,7 +840,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ec28ff7ea9e522a5c65752d204d7074f" + "2e924ee268cb09a047ce193f2090a93d" ], [ "FStar.BV.int2bv_add", @@ -852,7 +852,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "deba977ccf8ea84ce26f430e96f2d92d" + "52178932aa1a1e4e1237d805102f3e1b" ], [ "FStar.BV.int2bv_add", @@ -865,7 +865,7 @@ "refinement_interpretation_Tm_refine_23ec507c991948a45284c105c11c2135" ], 0, - "435c6d83d3569bf933c1d00c5c076283" + "9fe8a8e39b4a7cc63036972135d6303f" ], [ "FStar.BV.bvsub", @@ -880,7 +880,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c1cf05226f47220c6b23417a3576427f" + "60a03d0efbcf5976571838c9af2ff964" ], [ "FStar.BV.bvsub", @@ -892,7 +892,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6816808056fcacb5592db9e39e41e793" + "c8151e5648a64103d4056154baab020e" ], [ "FStar.BV.bvsub", @@ -901,7 +901,7 @@ 1, [ "@query" ], 0, - "7ed403b01f09b9dbc8971d5ffc4d9b55" + "c4dc379bbc6fa860ee9a7c6df84cc6fe" ], [ "FStar.BV.int2bv_sub", @@ -916,7 +916,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "47cd6be64ab40da6d727bd42a10f63c8" + "391182bb13a2b6d997928c9ea770ee9b" ], [ "FStar.BV.int2bv_sub", @@ -928,7 +928,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "65e7935bba590263f7652d9291670607" + "5af953916c4ce13261f27141eb55d3e6" ], [ "FStar.BV.int2bv_sub", @@ -941,7 +941,7 @@ "refinement_interpretation_Tm_refine_845ca0fce20df382c434dd93d3f109a2" ], 0, - "e72d1b5509e7a2c06c82d1cb7e5e3fc8" + "33ffe60d7a652ecd956cd61346a5c087" ], [ "FStar.BV.bvdiv", @@ -956,7 +956,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cb0242c60b587820792b6e8bf7a4fc2f" + "ff8f09c876899a4b523b21de90c5f955" ], [ "FStar.BV.bvdiv", @@ -968,7 +968,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f5e39c9578960ce125cc7aebcdd6cd95" + "e883806c29102cd707813da830d40f2c" ], [ "FStar.BV.int2bv_div", @@ -983,7 +983,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4843bfb1709970903b6dcce3da7d25d5" + "738c59f4a7e62f4e3032b018c3c9bfc6" ], [ "FStar.BV.int2bv_div", @@ -995,7 +995,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "23273045598ed092ea0ecaab12a8e815" + "efb95dfd02cd16466c3d9543bb1a3927" ], [ "FStar.BV.int2bv_div", @@ -1008,7 +1008,7 @@ "refinement_interpretation_Tm_refine_0eb59e95c7e7b4b5c1545a6eeb82f86f" ], 0, - "f0992291e815c3beb0b2c3ba24309f85" + "416cfcfddbe4836674b72568f52e6f71" ], [ "FStar.BV.bvmod", @@ -1023,7 +1023,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c97c5aef74936cf2a83ce6b59b0ffe19" + "b9988ff3a4b4097f296f8f29f611cb13" ], [ "FStar.BV.bvmod", @@ -1035,7 +1035,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b6f441beff39ba5a70bab9a1cd6e71a7" + "3d9b486bb8a13d511c5e93924a7213a4" ], [ "FStar.BV.bvmod", @@ -1044,7 +1044,7 @@ 1, [ "@query" ], 0, - "e8f6217224519ebd86e7ffeec840c16e" + "97816cfde065bbe7aed1a5f8a83e4f51" ], [ "FStar.BV.int2bv_mod", @@ -1059,7 +1059,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "07b84a3643908361a95df3232ecbeaed" + "11f77db5e5cf0bb142caeec3f28803a5" ], [ "FStar.BV.int2bv_mod", @@ -1071,7 +1071,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9ef5213771595d6bc0dc3b239275a138" + "15a5f495541a3be86e479e34beca5430" ], [ "FStar.BV.int2bv_mod", @@ -1084,7 +1084,7 @@ "refinement_interpretation_Tm_refine_176e504a78f0a2df42931b9ba8193633" ], 0, - "0a3eaf32c068a8b3cc715749b9fe7916" + "824fbe6e37019974c137d6fa41a4d953" ], [ "FStar.BV.bvmul", @@ -1099,7 +1099,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0aa75d8b45a02a4606b57f207c2270d5" + "77db3929234df53d71521336b2be7138" ], [ "FStar.BV.bvmul", @@ -1111,7 +1111,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fad8815d0ac992d5119cb0b0b7c7bca7" + "ffcc3e3dd271030134e54fe0a74bc06b" ], [ "FStar.BV.bvmul", @@ -1120,7 +1120,7 @@ 1, [ "@query" ], 0, - "3baa88d6b46240aa1b7951db916d3d9c" + "486aaa1655bc8d1d96fd97709157ea4b" ], [ "FStar.BV.int2bv_mul", @@ -1135,7 +1135,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0e7492b07668c7fd8d1dad195d3f8eb8" + "77d50123e47475db3aefe61fa8ffd3c6" ], [ "FStar.BV.int2bv_mul", @@ -1147,7 +1147,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "276376a183c6a5f2e94b27a3648af5f0" + "f00ffd34cafe77b4f8a84714afeee421" ], [ "FStar.BV.int2bv_mul", @@ -1160,7 +1160,7 @@ "refinement_interpretation_Tm_refine_fae15c59a3cac3fea5ae44ae61247805" ], 0, - "d2ab531d8bfc5ea6c24eaa99a8358bf8" + "941554296530e76be67fc3446f0c9929" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BV.fsti.hints b/ulib/.cache/FStar.BV.fsti.hints index 75e73b5475f..7f78cb6a3b6 100644 --- a/ulib/.cache/FStar.BV.fsti.hints +++ b/ulib/.cache/FStar.BV.fsti.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "23a3885c86b0dbbe8e4a6c6ed7531a52" + "42220ef5bbbb6cadb3f1f1a8d4e06cb7" ], [ "FStar.BV.int2bv", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "4aeec24bf908c6a87338cc7393c773e6" + "a303bc021c87ecd2d19ddbed6f67fc5e" ], [ "FStar.BV.bv2int", @@ -30,7 +30,7 @@ 1, [ "@query" ], 0, - "b4b0d8c51852938cdc3a4c6dd18c3772" + "1447a35429f0764403f3f23dae1e2656" ], [ "FStar.BV.int2bv_lemma_1", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2af8889377c8f00c50cdde65f2a6d4d2" + "ed8e402540e0860addad5ca462821327" ], [ "FStar.BV.int2bv_lemma_2", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "37b61006a131e86c7c6201a487c9bf1a" + "dd8a6ad89e8c0eb4b1c523db4a1702b8" ], [ "FStar.BV.inverse_vec_lemma", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "55b44ece8593e3fa5d16877cce4d0921" + "e40d98e3ac99476d436856171672e4ea" ], [ "FStar.BV.inverse_num_lemma", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8454e193aeacbde86949b21835683c0e" + "e386eed4a341ca6a54a9ce360d5fedc6" ], [ "FStar.BV.list2bv", @@ -96,7 +96,7 @@ 1, [ "@query" ], 0, - "513479bfc2f86e398b92424005ca3307" + "db993ad599cacefea151042bf516c5b1" ], [ "FStar.BV.bv2list", @@ -105,7 +105,7 @@ 1, [ "@query" ], 0, - "4e9984f135a64a8930767dba4bc83446" + "4318f67112932c6753b573b8f6317785" ], [ "FStar.BV.list2bv_bij", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6b79087942d2cc6b46470405a0e143b3" + "459735609820f2e1abdfbafac2848bb6" ], [ "FStar.BV.bv2list_bij", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "fc3de9f0897097b14efe2e11cc988578" + "452e2943c8ff979ba8cf3d2efb07ba1a" ], [ "FStar.BV.bvand", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "55c1e02a3d03edda72d98c2ba3e8845e" + "3695bb6617ac3adbb6813901dfe60176" ], [ "FStar.BV.int2bv_logand", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bbfe07e705b29165e47972aeea968c33" + "e3616919249da0fba150eeeec9a6f3a4" ], [ "FStar.BV.bvxor", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d8649d133c8371812d625f41364acc40" + "fb755a14c99f532b0adfbaf35c888956" ], [ "FStar.BV.int2bv_logxor", @@ -188,7 +188,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ebca9cb6119b81a31e6650862578ef4d" + "d0c981ad28ff1faaaa050a821590b73d" ], [ "FStar.BV.bvor", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f9e684263f7ecd8d7b44a58c279504db" + "7dd018a15aa344d2dd5973da927a6548" ], [ "FStar.BV.int2bv_logor", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c56b9cd26a3d7abf60dc1e9c41e0c63f" + "a8c8d26765264e495b08efff511f1660" ], [ "FStar.BV.bvnot", @@ -227,7 +227,7 @@ 1, [ "@query" ], 0, - "42b94113b21eb08907e56b45d7799410" + "32bbae18fc09c1f36734c8c27dc29f3e" ], [ "FStar.BV.int2bv_lognot", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "025e7a99f4dbe0f9662391f001e14f38" + "1b725770c784620b5c8c3cf15d102383" ], [ "FStar.BV.bvshl", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "3a96a9524af4b285568bc01f1550140e" + "ae0857103c7407544b024cb4e6644298" ], [ "FStar.BV.int2bv_shl", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "44893801e0f31e82aaadb750900ac358" + "452f489c0e8111b67d893187750ac468" ], [ "FStar.BV.bvshr", @@ -275,7 +275,7 @@ 1, [ "@query" ], 0, - "df6787a9988c61727d1a0f5a96ffbf75" + "adbeca4a167d6f8a7e391f6a262a2e17" ], [ "FStar.BV.int2bv_shr", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "90970244315f539d168701f49a5f5657" + "77726bffc417c22cd847c4b587ebf732" ], [ "FStar.BV.bv_zero", @@ -315,7 +315,7 @@ "typing_Prims.pow2" ], 0, - "38f6f2bafc9b6498835aeb4fd55554d6" + "308b7c7b1e16391e61ebd1428b3d1102" ], [ "FStar.BV.bvult", @@ -327,7 +327,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "84e307820756385b52b5c29dbbb187e0" + "45c9adc898a759c48d94de97659d274d" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "59c92b5e8e618e23a7112aa8ea4ab2b4" + "696ce6ea7567a8dcbbe7c6d9b8bcdf29" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -351,7 +351,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e6ee427e2bf69c69f2c251f6e2ea6cb4" + "71e30154e6217c7bae146dc47ef72249" ], [ "FStar.BV.bvadd", @@ -366,7 +366,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "23a34419d5454fc5439a832ae0fcd073" + "a109bfce3d2781e7520a6659bd8b9342" ], [ "FStar.BV.int2bv_add", @@ -381,7 +381,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1e67ac5622572259e0cec9ed293b526b" + "6b677fa3f735412ba1ed6d3d77c7721a" ], [ "FStar.BV.bvsub", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8afd1a7d7b479c829d49e55d1c171b1c" + "6683b2ebc9a05ea0992b0c891614e35f" ], [ "FStar.BV.int2bv_sub", @@ -411,7 +411,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f6de20b021cdeae96dc8d0f5e6e2e35d" + "1a3492df478dbb07334bbb60f5644856" ], [ "FStar.BV.bvdiv", @@ -426,7 +426,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5f1a4817dc8c35740b00ecf912e5ae68" + "827db270093587d7fdbd9e9fa13e1009" ], [ "FStar.BV.int2bv_div", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cc238eb98c6e7cce7240ac017254b9c5" + "14f6bf12e970c0576cdcf82f7900131a" ], [ "FStar.BV.bvmod", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6ed6ce7897bf5d7ae87eeb5f7a0b87ab" + "1ce6598700c8ce3669cada167e255013" ], [ "FStar.BV.int2bv_mod", @@ -471,7 +471,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a28aad76750eaf300e1911c553693e72" + "ca74ea260d59a9d82f1b4b1f0691dfdc" ], [ "FStar.BV.bvmul", @@ -486,7 +486,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e839e73420e6f83696059abda2b38711" + "e00766d3714ae9158d40673ba729bf07" ], [ "FStar.BV.int2bv_mul", @@ -501,7 +501,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "97246f83395b8cef35f7138684c8758a" + "1397f2093feab21040cd49127373e0ec" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BigOps.fst.hints b/ulib/.cache/FStar.BigOps.fst.hints index 16eea646389..77cc4211a0d 100644 --- a/ulib/.cache/FStar.BigOps.fst.hints +++ b/ulib/.cache/FStar.BigOps.fst.hints @@ -1,5 +1,5 @@ [ - "ãüXwd\u000f\f\t~F¯i½£™¾", + "î\u0004Æ[ùñ˜š¼ÎqÜxEåÚ", [ [ "FStar.BigOps.map_op'_nil", @@ -16,7 +16,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" ], 0, - "d26bd038e440d052be100fdd0f5a10a9" + "e2c51097e3a96c3ac99e55f6fd0c2e3a" ], [ "FStar.BigOps.map_op'_cons", @@ -37,7 +37,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" ], 0, - "c965586a0fdb68c70bc57d62345fb7ec" + "acf617b117c4bc0cde383a3451870511" ], [ "FStar.BigOps.big_and'_nil", @@ -46,7 +46,7 @@ 1, [ "@query", "true_interp" ], 0, - "12a8f0c8148fda8e3764705a8ca792bb" + "59073f21427a227762d06a691d9146f2" ], [ "FStar.BigOps.big_and'_cons", @@ -55,7 +55,7 @@ 1, [ "@query", "true_interp" ], 0, - "672f38ff3105926caa804db85309f1ad" + "540511495ed5b33162ce61d033981edc" ], [ "FStar.BigOps.big_and'_prop", @@ -76,7 +76,7 @@ "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "8ea9f7c35bbe84b6683490bcc995f48d" + "5c389f0dc13c12aa74d24cabea664bf7" ], [ "FStar.BigOps.big_and'_forall", @@ -99,7 +99,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "501026a6d922fec71a2840c11ed5fb4f" + "4c8ec128c402f30a479ac67969036c0f" ], [ "FStar.BigOps.big_and", @@ -123,7 +123,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "688790557ac9a570dac028dc3cde45b4" + "275f9c2fd1e63882a91fa6cbc3c639ba" ], [ "FStar.BigOps.big_or'_nil", @@ -132,7 +132,7 @@ 1, [ "@query", "true_interp" ], 0, - "d99fb4c579b73b779fb57ff597f0eea4" + "1ebc6da504b439dcb6808e198bafdb74" ], [ "FStar.BigOps.big_or'_cons", @@ -141,7 +141,7 @@ 1, [ "@query", "true_interp" ], 0, - "547570e4c5be4aabc225d1d8975d2977" + "205981be59e0341df5a3c51f2a4bfffe" ], [ "FStar.BigOps.big_or'_prop", @@ -161,7 +161,7 @@ "unit_typing" ], 0, - "a5cf02dc5baafcd5265958ab5ff3d69c" + "df60348f3e280b297809304b58404da7" ], [ "FStar.BigOps.big_or'_exists", @@ -184,7 +184,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3eb6bff47f851b09246b4426e24b0f9f" + "dee70fc065eaf2f9cf813c183060cdd1" ], [ "FStar.BigOps.big_or", @@ -208,7 +208,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "6128f4b1597ae98b5f692833c53f01cc" + "1a61376e1a81d9011954352344584e7f" ], [ "FStar.BigOps.pairwise_op'", @@ -222,7 +222,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b7ec659c24f4d0dc271b1f0ea0f9b66d" + "84700ebe430a3fcc99f3118b36468342" ], [ "FStar.BigOps.pairwise_and'_nil", @@ -231,7 +231,7 @@ 1, [ "@query", "true_interp" ], 0, - "490b1fed21fe91d9fe237e422049b007" + "669b6094292232d87ce8152afe1ee140" ], [ "FStar.BigOps.pairwise_and'_cons", @@ -240,7 +240,7 @@ 1, [ "@query", "true_interp" ], 0, - "e327132b15f8935e2508185012a5be0b" + "de7ffc20cae52b820d85402301c83a51" ], [ "FStar.BigOps.pairwise_and'_prop", @@ -261,7 +261,7 @@ "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "45e497d6b96f819368fcf71ede6395bc" + "9e9c360a309a23fe785723d0b83cb25c" ], [ "FStar.BigOps.pairwise_and'_forall", @@ -285,7 +285,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "d4b166d22c7b6137f67b732d98810830" + "958d5acb20342eb88476ec603a506058" ], [ "FStar.BigOps.pairwise_and'_forall_no_repeats", @@ -312,7 +312,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "ec4cd12754e731644e882d1b0c69c9fe" + "601d8a84a55bd4a0d9da6293af9aad44" ], [ "FStar.BigOps.pairwise_and", @@ -332,7 +332,7 @@ "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "a76b5e9e4e2df2ba2e014292eeead1c3" + "2ec5b0cfcbf01bca26d4889d3766f4d5" ], [ "FStar.BigOps.pairwise_or'_nil", @@ -341,7 +341,7 @@ 1, [ "@query", "true_interp" ], 0, - "9268c98aa2ab6fafa3a8ba60e83d5dcc" + "83d6e751263248935867aa7ddc07a04d" ], [ "FStar.BigOps.pairwise_or'_cons", @@ -353,9 +353,9 @@ "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", "@fuel_irrelevance_FStar.BigOps.pairwise_op_.fuel_instrumented", "@query", + "FStar.BigOps_interpretation_Tm_arrow_a19f9d49348d4e0038f0ded87d87802f", "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_", @@ -370,7 +370,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "7d48fdf5c3403e038dc4ecefa72721cf" + "992f7306cb5e4d8a2b7e8cde79d6ecba" ], [ "FStar.BigOps.pairwise_or'_prop", @@ -391,7 +391,7 @@ "unit_typing" ], 0, - "448330355c61051ea6fe3f709bf828fc" + "9439dab9e5217ab7c1c7aec37cf3dba3" ], [ "FStar.BigOps.pairwise_or'_exists", @@ -416,7 +416,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9c9aa699c8253fea2394bd2cb194aab5" + "897822c812b9264ffc9feae5bab05a40" ], [ "FStar.BigOps.pairwise_or'_exists_no_repeats", @@ -443,7 +443,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "09fb1e03a15523163c6b912616c5c8eb" + "33ab7c049de0b6171af6796e07bd5ea7" ], [ "FStar.BigOps.pairwise_or", @@ -462,7 +462,7 @@ "unit_typing" ], 0, - "3e5f3d32d67da4f982bd193012f30ade" + "1518ba18f53a832c64f75e3d019954ba" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BigOps.fsti.hints b/ulib/.cache/FStar.BigOps.fsti.hints index 84b46a17015..6042b293fb3 100644 --- a/ulib/.cache/FStar.BigOps.fsti.hints +++ b/ulib/.cache/FStar.BigOps.fsti.hints @@ -23,7 +23,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "7b2c94c8090aacfa4b5d0a8bff927277" + "df0e23635d38c1b815e0ba08c6abeb3f" ], [ "FStar.BigOps.big_or", @@ -47,7 +47,7 @@ "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "f1cdaa44eb67b06f305decab98bce19a" + "39720c1f9bab14ced989eaddf3eab9c5" ], [ "FStar.BigOps.pairwise_op'", @@ -61,7 +61,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dcb6ef33672787cb3cad25cbf213576e" + "17ee18da9bdc601079a39e7d677c85d6" ], [ "FStar.BigOps.pairwise_and", @@ -81,7 +81,7 @@ "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "b45fc4a97b99eac83e484fdf49ac0940" + "f76d72b62839a77489f1a73e6931bb4d" ], [ "FStar.BigOps.pairwise_or", @@ -100,7 +100,7 @@ "unit_typing" ], 0, - "14e2b10b1f7564284f664c8bda24b5f3" + "697ca193ef98fce6effa0c04a49189bb" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BitVector.fst.hints b/ulib/.cache/FStar.BitVector.fst.hints index a2f8a8f7e20..9132fa8bc41 100644 --- a/ulib/.cache/FStar.BitVector.fst.hints +++ b/ulib/.cache/FStar.BitVector.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ead1fbb5b3d183363db3f59a775c79a8" + "680c4b8a9ffc80dc80b3be988a97bfa4" ], [ "FStar.BitVector.zero_vec", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "775362b98752336156bb71c4eda92297" + "df6750de9f09d3418f19544d97cec0b9" ], [ "FStar.BitVector.elem_vec", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "876cf4f39ffde7348f4b1aef2b172a58" + "acbc8bd5c7ff3d2bfe4c8c9beab25905" ], [ "FStar.BitVector.ones_vec", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "116797800655084312c304899d0a7199" + "906f63cbc2b141c3ecc32bcccabf071f" ], [ "FStar.BitVector.logand_vec", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1550a9729c4cadd759c37bacecca1669" + "f1c2cab0a9e2985d682b6e75ae530d3e" ], [ "FStar.BitVector.logand_vec", @@ -118,7 +118,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "ce50b8f704a82833bc9cf619ca4d65d0" + "8c15e91d3e747d28033c05dcaa12865a" ], [ "FStar.BitVector.logand_vec_definition", @@ -136,7 +136,7 @@ "typing_FStar.BitVector.logand_vec" ], 0, - "e91515184325ce36af8346d4885ca040" + "23ab03d8e97f017bb6e4678c5a96c5de" ], [ "FStar.BitVector.logand_vec_definition", @@ -190,7 +190,7 @@ "well-founded-ordering-on-nat" ], 0, - "908408c614a0b1fd6ef7064731b4ebc9" + "4d2b8af43f91badfd63b0fef56119158" ], [ "FStar.BitVector.logxor_vec", @@ -205,7 +205,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3f4061d52c5a32615c9ecbb708f8d0ea" + "16adba03028d941ae0779341f0aacfb7" ], [ "FStar.BitVector.logxor_vec", @@ -239,7 +239,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "20dcbd0d07f39eacd01cd478ef6a60de" + "ceddfdec54306c3dd001d736cc234808" ], [ "FStar.BitVector.logxor_vec_definition", @@ -257,7 +257,7 @@ "typing_FStar.BitVector.logxor_vec" ], 0, - "84bae426ba0279d16e78fe18501b8e64" + "de1f92fbc716b0935cefef355b3b44e0" ], [ "FStar.BitVector.logxor_vec_definition", @@ -311,7 +311,7 @@ "well-founded-ordering-on-nat" ], 0, - "3078120865540c8bb93c106ff71890a9" + "ece48f98be9607c7ff1f35518e63a898" ], [ "FStar.BitVector.logor_vec", @@ -326,7 +326,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6f0a88f6a9497fd9bcda66876d99241f" + "3892617a40ceeb4590555a988ec7ec45" ], [ "FStar.BitVector.logor_vec", @@ -361,7 +361,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "8ccc9045e4f108318905b41bda5dd2b0" + "b4c41d039ef7ca9cc954b1e223e72f3e" ], [ "FStar.BitVector.logor_vec_definition", @@ -379,7 +379,7 @@ "typing_FStar.BitVector.logor_vec" ], 0, - "c9515ffd5deda3f0236a1c8d8f5403bc" + "ff5f40a703a50b95ea47c520a425ba52" ], [ "FStar.BitVector.logor_vec_definition", @@ -433,7 +433,7 @@ "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "cd848680b03ede92343845e0baa9b38d" + "47ff53cb0a27aff3c18c8c1651edc694" ], [ "FStar.BitVector.lognot_vec", @@ -442,7 +442,7 @@ 1, [ "@query" ], 0, - "8d70651ae664672f9250069aed739476" + "30a669639def352d3b69f62ebc0d98b1" ], [ "FStar.BitVector.lognot_vec", @@ -475,7 +475,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "2e295df51560c4511ce6edb7aaf82078" + "60fe6fd159aa0d52e0801194d0bd523a" ], [ "FStar.BitVector.lognot_vec_definition", @@ -493,7 +493,7 @@ "typing_FStar.BitVector.lognot_vec" ], 0, - "aa2dd367ca8e21187a467858236b4a77" + "f7709df7561372a21d055796f36d682f" ], [ "FStar.BitVector.lognot_vec_definition", @@ -546,7 +546,7 @@ "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "365f3230f26f6dc239d7ebe909cb2ad6" + "6f2276089b7f99ef13c8628d1cab46b8" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -565,7 +565,7 @@ "typing_FStar.BitVector.logxor_vec" ], 0, - "224e7da33ea4fd1521e276d5cfd3e65c" + "bcbcf025ca4b5f10a2c6b4d26406a306" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -589,7 +589,7 @@ "typing_FStar.BitVector.logxor_vec" ], 0, - "77a9df4da81d5274722280e3c27f4dd5" + "41270c4a8cf1d50cd1d1c6f2f4d990a8" ], [ "FStar.BitVector.is_subset_vec", @@ -601,7 +601,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1bc292a013e1266482d059067a93a6dd" + "479acfac5d04bf4530013e644f9ffc3a" ], [ "FStar.BitVector.is_subset_vec", @@ -613,7 +613,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "2c1e39687ee5c3a9f8dfbd9571c4098a" + "0712f1270db1578f0be3591031736b30" ], [ "FStar.BitVector.is_superset_vec", @@ -625,7 +625,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dd21ad54e749b5ec807ead6cec257e8b" + "4667aaac3dd84ab05dc3225d0e9b2aaa" ], [ "FStar.BitVector.is_superset_vec", @@ -637,7 +637,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "51994dd8d713f34d28f89edecadb66e8" + "5928d2c5a234598c6b629ffe03a7c92c" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -663,7 +663,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "5d9a6a4c1aa6b59144d93b8b98830b33" + "c4646c94c7bdc514592970464aec77c2" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -694,7 +694,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "f6bae56d02dca1df5b0d93b7f9aed560" + "d166358f2b6e22b1e0b54c5c150c81a5" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -720,7 +720,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "c446bfb471b5e724f83fb89d542a0a46" + "804790884210f05aca53dffb717fa3fa" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -751,7 +751,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "aa304f7c057bc821909a429f43d3a0e6" + "ac6914a6f54f95b26972109cc163224c" ], [ "FStar.BitVector.shift_left_vec", @@ -760,7 +760,7 @@ 1, [ "@query" ], 0, - "15addb3aaf6b1ac6786d14ff368c64c1" + "81f9538ff2a436a95f67d6cdeb5045e8" ], [ "FStar.BitVector.shift_left_vec", @@ -791,7 +791,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "3de4552855063c41617245d3a37e061a" + "5275c9a2b74b2d1b6aede9817451a515" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -806,7 +806,7 @@ "typing_FStar.BitVector.shift_left_vec" ], 0, - "d0457c6e421fb9198ef11e05c40f611e" + "2c160e8076289de63168786af5a81b02" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -848,7 +848,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "5a7226f3ee73f14ec7eaca7400b8d810" + "981d22c72f2e9e16c9e9ff7917c47db4" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -869,7 +869,7 @@ "typing_FStar.BitVector.shift_left_vec" ], 0, - "0e24aefa6fb571a2aef6bf3eee7ab881" + "6b8d663f324267b540fcbe72f8c08c05" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -910,7 +910,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "058156e5aa47ef69a2a7b6f21caba719" + "d1d38fd9c35c68ef87a16048d263d0dd" ], [ "FStar.BitVector.shift_right_vec", @@ -919,7 +919,7 @@ 1, [ "@query" ], 0, - "8305552285051b68a9448f88a74af40b" + "630d85bc74a9941560aefc1b40889727" ], [ "FStar.BitVector.shift_right_vec", @@ -951,7 +951,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "3cf93fa736d77427c0ed165dcebdc94a" + "3c7c22daab51094b68b71a9e8524ff35" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -966,7 +966,7 @@ "typing_FStar.BitVector.shift_right_vec" ], 0, - "1be5a80839b434850511d51fdf8a5c90" + "c0ff536946bd03524bea9505b019aeec" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -1005,7 +1005,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "f536aeae587b285c0485c344ae1640e2" + "2820d40683692fc4facaf9dfe24cd312" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -1027,7 +1027,7 @@ "typing_FStar.BitVector.shift_right_vec" ], 0, - "a99db0ff10962c6ba5ecc4dc37f0f547" + "4563db7ec6ec0e63782405de699b6428" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -1070,7 +1070,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "56c52f4dc0c38c092aa902a12925ef44" + "1ab8966cfc7ae604562f37b1ab83de5f" ], [ "FStar.BitVector.shift_arithmetic_right_vec", @@ -1079,7 +1079,7 @@ 1, [ "@query" ], 0, - "f0f9a196d8d0fe15d293ebe9854ba2a2" + "a06c34401e84eb3a9ef7859658493a21" ], [ "FStar.BitVector.shift_arithmetic_right_vec", @@ -1111,7 +1111,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "8c87e3ce0f2e93ab860112013aec31de" + "663fefceaeefc04e94df2725657f2df8" ], [ "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", @@ -1130,7 +1130,7 @@ "typing_FStar.BitVector.shift_arithmetic_right_vec" ], 0, - "48ae1c57102128ef12f08b359715be45" + "cdcc563715896b1ba044046b16b68772" ], [ "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", @@ -1170,7 +1170,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "d1cfee4f0cfffc2e3d4c5b2868f9114c" + "e5d0abd2cd12b6b09005e4302a29c47a" ], [ "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", @@ -1192,7 +1192,7 @@ "typing_FStar.BitVector.shift_arithmetic_right_vec" ], 0, - "64acb3eaa5d0cd081d9329c39b63ab66" + "d465403e54e25e007d6a29cf825dcf20" ], [ "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", @@ -1239,7 +1239,7 @@ "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice" ], 0, - "bc8e0bf9de97b480f2480dbcd6b9fdba" + "3ed9802fe13d1b54d53bd158ee1416b2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Buffer.Quantifiers.fst.hints b/ulib/.cache/FStar.Buffer.Quantifiers.fst.hints index ef7b205be9e..ca7017a6d95 100644 --- a/ulib/.cache/FStar.Buffer.Quantifiers.fst.hints +++ b/ulib/.cache/FStar.Buffer.Quantifiers.fst.hints @@ -32,7 +32,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "aa3b2eff26ded86f0618c18348219067" + "84ea8e68f5922a3515bc081766b703a1" ], [ "FStar.Buffer.Quantifiers.lemma_sub_quantifiers", @@ -66,7 +66,7 @@ "typing_FStar.UInt32.v" ], 0, - "3d61e7bd83e3b9d1bc8c9756e4929993" + "b7c5383ae02135bc7fc7c800ab4e7d7b" ], [ "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", @@ -100,7 +100,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "6252771a99ed446d5c06a14d4d57b8c3" + "8e8e2701f0219a19b75cfae4e4712450" ], [ "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", @@ -144,7 +144,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "0a427bdb530b397cb41f4bf42855b408" + "6ebce3a7ae454d5c6eed2c6a3e566a8c" ], [ "FStar.Buffer.Quantifiers.lemma_create_quantifiers", @@ -161,7 +161,7 @@ "typing_FStar.UInt32.v" ], 0, - "9eaeb817b9e2adc8e37142ad608f6e0f" + "e4d2ef046acb24e8c1d9dfb2966086dc" ], [ "FStar.Buffer.Quantifiers.lemma_create_quantifiers", @@ -183,7 +183,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "4143309dc15eb26f4aee1b5dacae03ca" + "2a7376f02045aa723f67f8d3357757fe" ], [ "FStar.Buffer.Quantifiers.lemma_index_quantifiers", @@ -200,7 +200,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "91f260a6d7fdf34a8b8ce1dc6a3b2851" + "57969af6c84581ab408f557d05b1efe4" ], [ "FStar.Buffer.Quantifiers.lemma_index_quantifiers", @@ -209,7 +209,7 @@ 1, [ "@query", "equation_FStar.Buffer.get" ], 0, - "4fd4ceb916018ae3c16c64859237d934" + "9e77abd10530c8acc77f94382e9a0faf" ], [ "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", @@ -226,7 +226,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "9aad102d0f1fe5e161d7c52bb10fc2b9" + "ebe49e215c003c14871238d92df3ba8f" ], [ "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", @@ -249,7 +249,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "af9110b01163c0644f8bd0f193011ca1" + "566f01a975e846172b19ef0d696e246b" ], [ "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", @@ -289,7 +289,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "c9bfc84fd635f93993b5af09810b1e94" + "462eed2c6c59d56b5aa75f8b5cbeca23" ], [ "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", @@ -348,7 +348,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "b24c89da91dc91747d5e504115d76ce3" + "04add8462c4f4af1a292f9020bbaaf9b" ], [ "FStar.Buffer.Quantifiers.eq_lemma", @@ -362,7 +362,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f461edc42c301226faf1381e5ec804b1" + "daf1a472f371d96e641a8fde3cf75ed7" ], [ "FStar.Buffer.Quantifiers.eq_lemma", @@ -383,7 +383,7 @@ "typing_FStar.Buffer.as_seq" ], 0, - "31c33658f5f850871f06b7a99619ffd7" + "3277ab2557917b5abf9981f0ed77759f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Buffer.fst.hints b/ulib/.cache/FStar.Buffer.fst.hints index 056a5d82342..e5f85880111 100644 --- a/ulib/.cache/FStar.Buffer.fst.hints +++ b/ulib/.cache/FStar.Buffer.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2bbcaf8051c10593789356e87462e8a1" + "9c93c2b1c8e3e8bb2dbd705066f693c3" ], [ "FStar.Buffer._buffer", @@ -28,7 +28,7 @@ "typing_FStar.UInt32.v" ], 0, - "5f66864fdd5f67e5fdca71871cd2a47a" + "8c41a4710f860432d78ff8b40b593bd8" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -43,7 +43,7 @@ "typing_FStar.UInt32.v" ], 0, - "df76e22ad9e612e18bade92b195f5160" + "dd5402574d0c3ef24e3ec82a4caf9c02" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -70,7 +70,7 @@ "typing_FStar.UInt32.v" ], 0, - "9bf0880046c6f996004ff8a811eff255" + "12fe7d8c4974cfc477f29dff5d3e021d" ], [ "FStar.Buffer.contains", @@ -89,7 +89,7 @@ "typing_FStar.UInt32.v" ], 0, - "45231b43360777b4e59cab41be1b9dcc" + "60d12555d3c74a4d81865679ca55886d" ], [ "FStar.Buffer.unused_in", @@ -108,7 +108,7 @@ "typing_FStar.UInt32.v" ], 0, - "bf89fce8eb704b12ddbe3456333fc17d" + "b364d8b615978a9ec464752b7c49ca43" ], [ "FStar.Buffer.sel", @@ -127,7 +127,7 @@ "typing_FStar.UInt32.v" ], 0, - "dbd85f5001024e02d1ab11a3cdf03067" + "da8c40f7a0d4fe3bc94e4a44318f1f54" ], [ "FStar.Buffer.max_length", @@ -142,7 +142,7 @@ "typing_FStar.UInt32.v" ], 0, - "1b82de804ffd72070ca9fcd0e54ba1d7" + "93ef87403fc3e161b9dbc622119e6699" ], [ "FStar.Buffer.length", @@ -156,7 +156,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0f7f9bdc0d00f5777ebd64713b6b3bd0" + "2f182c346797d765118357b2d052d284" ], [ "FStar.Buffer.idx", @@ -171,7 +171,7 @@ "typing_FStar.UInt32.v" ], 0, - "ebdcc5f0fae58d2db0212d019d12f1b8" + "c9a267c9288e8df83a90022d7bb7666a" ], [ "FStar.Buffer.live", @@ -190,7 +190,7 @@ "typing_FStar.UInt32.v" ], 0, - "813cc1b774311e3db277aeef534d0a76" + "615b7822d62aa44e9aad815412b0fae1" ], [ "FStar.Buffer.recall", @@ -204,7 +204,7 @@ "typing_FStar.Buffer.max_length" ], 0, - "e3e85a07962ea8f4bfc28235213b1b8f" + "fdf7195f1101e67688369c7be12838c2" ], [ "FStar.Buffer.recall", @@ -255,7 +255,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "1ddd7258ba4cf556f969acfec8f311ab" + "b5721e81daacb66014407749f7dd5ca3" ], [ "FStar.Buffer.as_seq", @@ -304,7 +304,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "046d7bcf54412c3fb6f58003cd3b76c5" + "55d48ad577f779332c860dd0e9062fc6" ], [ "FStar.Buffer.get", @@ -317,7 +317,7 @@ "typing_FStar.Buffer.as_seq" ], 0, - "909cfde5f6e4aa42a993d14a7a6b9a1e" + "9d8298919f6a4af1e52f07ed68c37828" ], [ "FStar.Buffer.equal", @@ -326,7 +326,7 @@ 1, [ "@query" ], 0, - "86e20f6c75397924fa207377910e0f8f" + "86faae4ea538c5d0a07217c04ddd32c1" ], [ "FStar.Buffer.includes", @@ -341,7 +341,7 @@ "typing_FStar.UInt32.v" ], 0, - "a86aceb51ba5c093f5032c7a6a80e31d" + "460b8a3222ac14ccafc4ad9d217704ed" ], [ "FStar.Buffer.includes_live", @@ -354,7 +354,7 @@ "equation_Prims.op_Equals_Equals_Equals" ], 0, - "1a6619683d3e5443476afa18f8f87895" + "0fb9ec4ddf42b8a083e7b65be000a553" ], [ "FStar.Buffer.includes_as_seq", @@ -391,7 +391,7 @@ "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "c2df43e081b3cb28f9309ee24368bf93" + "f5c7ab9a057ccbbe094f3a13f28e1983" ], [ "FStar.Buffer.includes_trans", @@ -403,7 +403,7 @@ "equation_Prims.op_Equals_Equals_Equals" ], 0, - "3bc18aa9fc74ec31ab53f4ba66ce7c89" + "15369f149b9f8f3abff6d5a9dc2a5abc" ], [ "FStar.Buffer.lemma_disjoint_symm", @@ -412,7 +412,7 @@ 1, [ "@query", "equation_FStar.Buffer.disjoint" ], 0, - "c88dc6359f7d51cdef510659dd8cfd02" + "1e1c2f0e14edeae33f342561477f49a8" ], [ "FStar.Buffer.lemma_disjoint_sub", @@ -430,7 +430,7 @@ "proj_equation_FStar.Buffer.MkBuffer_content" ], 0, - "fa4c081424bb8984f468aa7b1ad0b5a7" + "28a883b17fd031cdea38260b4755dbe5" ], [ "FStar.Buffer.lemma_disjoint_sub'", @@ -439,7 +439,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_disjoint_sub" ], 0, - "d87de39d9161a7c7d3bcaee83f1e8cdf" + "ba3d5397ff41e19e09c6057166493db0" ], [ "FStar.Buffer.lemma_live_disjoint", @@ -485,7 +485,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4cb15eee39cc5ae01840559ae7c6053f" + "0f982f74445dd4bb004187c7946ba5b0" ], [ "FStar.Buffer.arefs", @@ -499,7 +499,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "875f472f6f4da882619c75c0b8d3c4e1" + "bed48773bd2ce1df8dd4cc6d5ef2add6" ], [ "FStar.Buffer.Arefs_def", @@ -513,7 +513,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "960723fa83c6d143fac05e1fcfc0a998" + "792c655081edf256ebccbace954f3fb6" ], [ "FStar.Buffer.lemma_arefs_1", @@ -527,7 +527,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62cdfdd64c8acd976d63f0590f5bd114" + "7a981906251ca5f1b03123d608c0e546" ], [ "FStar.Buffer.lemma_arefs_1", @@ -548,7 +548,7 @@ "typing_FStar.Buffer.arefs", "typing_FStar.Set.mem" ], 0, - "323cff7246746fd5aecc627a85a76061" + "7524234cb53c52d8eaee4111d16195f7" ], [ "FStar.Buffer.lemma_arefs_2", @@ -562,7 +562,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3a922d8be8fb0594372338cc3d2f146a" + "e755191ec43e1289a830ae505f91c853" ], [ "FStar.Buffer.lemma_arefs_2", @@ -587,7 +587,7 @@ "typing_FStar.Set.mem" ], 0, - "9ea9948b91fc20a60e100622a14e39c2" + "eb64ca190a36e12008d729dafaa94dc3" ], [ "FStar.Buffer.lemma_arefs_3", @@ -601,7 +601,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "745b73c04f903ffa20e249abd7ef08c9" + "daa09197d414f9b77f33706fb0183141" ], [ "FStar.Buffer.lemma_arefs_3", @@ -614,7 +614,7 @@ "kinding_FStar.Buffer.abuffer@tok", "lemma_FStar.TSet.subset_mem" ], 0, - "fa6b0c8aa060e6d437780ee82da0f93f" + "8e2fa8e2a56df3af3e3a1c7599ef14df" ], [ "FStar.Buffer.disjoint_from_refs", @@ -628,7 +628,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd25cd0632a400ff06946c527cc55a39" + "5dd65eaab0817ef47f7d88e98f2640e2" ], [ "FStar.Buffer.disjoint_from_refs", @@ -642,7 +642,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a7da9a19d8efb44284700c421fc24c7" + "633145db9ed6645da6b98572dd475834" ], [ "FStar.Buffer.disjoint_only_lemma", @@ -661,7 +661,7 @@ "projection_inverse_FStar.Buffer.Buff_t" ], 0, - "de9f6fd2ff6d799e8a44df40b7361df6" + "38dddab3981b018a708f01de7bee0b5e" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -675,7 +675,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "57826bdf93f5c997143a8f33101271bf" + "3efa412ddf8ab9c3d7482990e7381565" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -689,7 +689,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66ef3a75c442db20e400369041ce49a8" + "49c1515e9cdd316b394468c2590bd6b9" ], [ "FStar.Buffer.modifies_buf_0", @@ -703,7 +703,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a1da373c332a4636874b0b59f0166e0f" + "d9c3f39e6f823d213def15212ad509f6" ], [ "FStar.Buffer.modifies_buf_1", @@ -717,7 +717,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "842a0a2e62fd83be9892692ef17eaa88" + "44b05242caa84ab33abd122f4545a2e7" ], [ "FStar.Buffer.to_set_2", @@ -731,7 +731,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ac046dc80582d169816b802500d2d49c" + "cb54e35fbae9478987801a2c1b647266" ], [ "FStar.Buffer.modifies_buf_2", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9b9c1cba0e33a5b839f627f0eb5ddc66" + "0e33e282fd8fdc7711404d11cf24d186" ], [ "FStar.Buffer.to_set_3", @@ -757,7 +757,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0fa3dcf8c46d3ed2249810618000b5d6" + "0c808fdbb4da14cc740a8f397b69e8ee" ], [ "FStar.Buffer.modifies_buf_3", @@ -772,7 +772,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2dbfa88498c22188845eb607493488e8" + "6ed951fefae60bcf251580cb1c7fd6c4" ], [ "FStar.Buffer.to_set_4", @@ -786,7 +786,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31183dc2ec8665828c2f831a3acb21de" + "0c46b05aa8f7003a506ec8bf7f4c0f76" ], [ "FStar.Buffer.modifies_buf_4", @@ -801,7 +801,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "61e52a3bf291f7970ea74db9b2d192f7" + "83acd219c8426ba984ef612b29248203" ], [ "FStar.Buffer.lemma_modifies_bufs_trans", @@ -816,7 +816,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "d2f07f9b0d34a0f0751fc8a2f75e472e" + "ed79b422ca5d275db543bdcc36cc89ec" ], [ "FStar.Buffer.lemma_modifies_bufs_sub", @@ -844,7 +844,7 @@ "typing_FStar.Buffer.arefs", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "e04f0d6b6f663968bae3969b6109a04e" + "32ab7c418e645ddc14310c052da9c049" ], [ "FStar.Buffer.lemma_modifies_bufs_subset", @@ -860,7 +860,7 @@ "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.only" ], 0, - "cc1cfd88c89eeb4700d47593f8c453c7" + "6bc29a3abf3d99b331ac33db9ecdfbf6" ], [ "FStar.Buffer.lemma_modifies_bufs_superset", @@ -888,7 +888,7 @@ "typing_FStar.Buffer.only" ], 0, - "5fcbbc9cd17f9cc21101d913d871bf51" + "84be7cb68177512dd985e3f9f5e2f533" ], [ "FStar.Buffer.modifies_trans_0_0", @@ -903,7 +903,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "e1cfaa05a5be10a5c3b68be800a439d6" + "eb26fb945b6cb0d5a5456c8071c8eee5" ], [ "FStar.Buffer.modifies_trans_1_0", @@ -930,7 +930,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "3ff6b8759bb70b25f270296dbc0d13af" + "75bd01157e7533017c810a27f84d19ec" ], [ "FStar.Buffer.modifies_trans_0_1", @@ -957,7 +957,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "a987ea3bc40c893b95d7d741c88a7813" + "bf5f844b54d14d70ad9b03f6b0e74225" ], [ "FStar.Buffer.modifies_trans_1_1", @@ -972,7 +972,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "af6f8058a4e7e4c7d57436bde00d33d6" + "71e258f56ac4d057b69a3cc08ebe99a4" ], [ "FStar.Buffer.modifies_trans_1_1'", @@ -1009,7 +1009,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton" ], 0, - "d28ec99af347e2943ad623907320c84a" + "6f5960049339456ace9a253d1c6f4a9c" ], [ "FStar.Buffer.modifies_trans_2_0", @@ -1037,7 +1037,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "b952419ed08f317ed8f00d9bb422b87c" + "fc30dad4f888d67410de98125ca4c991" ], [ "FStar.Buffer.modifies_trans_2_1", @@ -1070,7 +1070,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton" ], 0, - "2ba89a01ffa4b2d70e352736fc6896a4" + "00544082b696b4f751f3274012251628" ], [ "FStar.Buffer.modifies_trans_2_1'", @@ -1104,7 +1104,7 @@ "typing_FStar.Set.singleton" ], 0, - "28f2f2d48aee83bc16fa4ec200683a6d" + "c3cc168b64af2f76df8bfd5dc4a83199" ], [ "FStar.Buffer.modifies_trans_0_2", @@ -1132,7 +1132,7 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "8cfaa16eb780ae133a179a2fcdd88496" + "ba4cf96e0ac5da08658ee61f0e5cc67f" ], [ "FStar.Buffer.modifies_trans_1_2", @@ -1175,7 +1175,7 @@ "typing_FStar.Set.singleton" ], 0, - "8651b036b63ed42aecb8a3f45b30ef72" + "fa94fdba9ff5af8d75bcc3a358b67313" ], [ "FStar.Buffer.modifies_trans_2_2", @@ -1191,7 +1191,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "f539c2caf46ec6b48d4522944eb02c4c" + "a03a1f0b617f8fa8ac6d9ed687432361" ], [ "FStar.Buffer.modifies_trans_3_3", @@ -1207,7 +1207,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "3c30b4692d5451d0e6aa2a3de96821a7" + "77e59392ad80a9acb3809ba0f38042b9" ], [ "FStar.Buffer.modifies_trans_4_4", @@ -1223,7 +1223,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "349bc354b8f1b220ef8e48585213b4cb" + "95629edb859ed823efd96a3354501279" ], [ "FStar.Buffer.lemma_intro_modifies_0", @@ -1232,7 +1232,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_0" ], 0, - "f43e51f5d429e7c8d83a41da1e46820e" + "161025277e1c5a5f0e65d5ca5eb07058" ], [ "FStar.Buffer.lemma_intro_modifies_1", @@ -1244,7 +1244,7 @@ "l_and-interp" ], 0, - "ecae8da1fa9ff9976e15730c69c5bdf1" + "76cf4ee1a261beff9e1597fc66131b86" ], [ "FStar.Buffer.lemma_intro_modifies_2_1", @@ -1253,7 +1253,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2_1" ], 0, - "2f210dd6627ad3f36e6d20c4887beda4" + "02ac5e8a56b468677f7a5bd0b71a17b5" ], [ "FStar.Buffer.lemma_intro_modifies_2", @@ -1262,7 +1262,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2" ], 0, - "3634b71e5b1f5676168ad3a5221c56e2" + "cfbf5d1cd5435a71bc88055ff1dd9c09" ], [ "FStar.Buffer.lemma_intro_modifies_3", @@ -1271,7 +1271,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3" ], 0, - "30e8c680a379ba3d8fd85d0a645271bc" + "86101e8ca5d56955ab1529d2548e8351" ], [ "FStar.Buffer.lemma_intro_modifies_3_2", @@ -1280,7 +1280,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3_2" ], 0, - "4e5372c7bb39c8bd5e35c4e0e2d1f019" + "997200d6479f749a6f4bfcf15c014bc1" ], [ "FStar.Buffer.lemma_intro_modifies_region", @@ -1289,7 +1289,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_region" ], 0, - "5dbf5d7202358b09de174d3be3af0d2a" + "586b30e09dbae08dd7955fc876f87574" ], [ "FStar.Buffer.lemma_reveal_modifies_0", @@ -1298,7 +1298,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_0" ], 0, - "920881fc929b429a2e9617a0be54f854" + "0c4e9be5fedd6d3f3d0c8d8276430a85" ], [ "FStar.Buffer.lemma_reveal_modifies_1", @@ -1310,7 +1310,7 @@ "l_and-interp" ], 0, - "d8305bcff88a77532db2a02327b65b27" + "07a8b062cb2ac26b01744ecaca3469bd" ], [ "FStar.Buffer.lemma_reveal_modifies_2_1", @@ -1319,7 +1319,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2_1" ], 0, - "8d3b8056c54858d43ce0c20717dad00b" + "cbcec7fa1e5d144ba2db4e7a288f4032" ], [ "FStar.Buffer.lemma_reveal_modifies_2", @@ -1328,7 +1328,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2" ], 0, - "ca372865a8f3a6ac4a3ba7090d91b624" + "1eda2898b3f79acae3a53a7712645c1c" ], [ "FStar.Buffer.lemma_reveal_modifies_3", @@ -1337,7 +1337,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3" ], 0, - "c0eb11ef6b68a58785d5de1bcbe158dc" + "ffb4d396939c7b992a992dd675d0201e" ], [ "FStar.Buffer.lemma_reveal_modifies_3_2", @@ -1346,7 +1346,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3_2" ], 0, - "27fd9531643acb97e09145b71fb5fece" + "395ed89dfade5720454153abb9c258b9" ], [ "FStar.Buffer.lemma_reveal_modifies_region", @@ -1355,7 +1355,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_region" ], 0, - "dae6790402ee2dd76aa444e67cc1de88" + "4c0417cae8c03f95533c9448b863b3ed" ], [ "FStar.Buffer.lemma_stack_1", @@ -1426,7 +1426,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "27f264e4ebd9289aec5b3358ff5288ea" + "7fb19827374e76218aa5edfc2b0ea120" ], [ "FStar.Buffer.lemma_stack_2", @@ -1515,7 +1515,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "61883bcf79c500dc6ed2333c83842bb8" + "d06849468ca35716ab825a734a86f28d" ], [ "FStar.Buffer.lemma_modifies_2_comm", @@ -1571,7 +1571,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "3b20246254d2ecc493f690d7f0549ee4" + "5edc835d05fa905f0fe347ee7d25902a" ], [ "FStar.Buffer.lemma_modifies_3_2_comm", @@ -1645,7 +1645,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "b86bdad1c339c5bf6b5e10ad2e50dcb6" + "88edeb10abe1e2e4157676fd67233f03" ], [ "FStar.Buffer.lemma_modifies_0_trans", @@ -1688,7 +1688,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "27b396dd6bee5538f52da7510e0993a3" + "8adf0829833fc8532d87537347f1840d" ], [ "FStar.Buffer.lemma_modifies_1_trans", @@ -1735,7 +1735,7 @@ "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" ], 0, - "27056ccd853d9f008cbb9cd14a4bf407" + "3c7b90d056b3a03b1afc0c61e08007d4" ], [ "FStar.Buffer.lemma_modifies_2_1_trans", @@ -1792,7 +1792,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "16db565a12e9e903a5370ebf8b5850d9" + "fa426de1eed3c12fe1d546f56ef66d08" ], [ "FStar.Buffer.lemma_modifies_2_trans", @@ -1864,7 +1864,7 @@ "typing_FStar.UInt32.v" ], 0, - "7dae81dc888cc9da477bf2d5cc31f732" + "336b6b4d1a4cdba540ca8ebed3e1947f" ], [ "FStar.Buffer.lemma_modifies_2_trans'", @@ -1873,7 +1873,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_2_trans" ], 0, - "5e5593dfcbb61df1e1ddfcf3256f34e5" + "3807cff23f03fa4e4b09aed0dd8c27d8" ], [ "FStar.Buffer.lemma_modifies_3_trans", @@ -1928,7 +1928,7 @@ "typing_FStar.UInt32.v" ], 0, - "10591a56d315f61136e9c4652fac01cb" + "e232de5a0ce93e055ff1cc403d3fb64b" ], [ "FStar.Buffer.lemma_modifies_3_2_trans", @@ -1987,7 +1987,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "85021905e16de99b112619d5604fabba" + "6291b9206415eaf84353d316739e8454" ], [ "FStar.Buffer.lemma_modifies_3_2_trans'", @@ -1999,7 +1999,7 @@ "lemma_FStar.Buffer.lemma_modifies_3_2_trans" ], 0, - "fcf2158db31a9804bf98268a6ccf017c" + "6d1ca02da7efd7ef8da36146421e8b23" ], [ "FStar.Buffer.lemma_modifies_0_0", @@ -2008,7 +2008,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_0_trans" ], 0, - "aac2f6fa21603e7fc8a12265a4350e14" + "5122c8b1b5edeac22c401665f59179e4" ], [ "FStar.Buffer.lemma_modifies_1_0", @@ -2084,7 +2084,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "bd7e3c82e6742f181539e6c8148601f1" + "a4a85061194833428a304cdb1e377a5d" ], [ "FStar.Buffer.lemma_modifies_0_1", @@ -2159,7 +2159,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "9782e8843bd6c9e245b273a269fca21d" + "31db2d56c83dd0c3653e4e950d250156" ], [ "FStar.Buffer.lemma_modifies_0_1'", @@ -2249,7 +2249,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b4f3b667b5a8918248273269868f5b25" + "3bc33040978bab826ddd478b0fff9d69" ], [ "FStar.Buffer.lemma_modifies_1_1", @@ -2317,7 +2317,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4846a25388be614ea1ce89795843f80a" + "c8094900f9417aeb80a559281155b074" ], [ "FStar.Buffer.lemma_modifies_0_2", @@ -2427,7 +2427,7 @@ "typing_FStar.UInt32.v" ], 0, - "f666edc9b9db3b9904316dac29fe494d" + "76976b279140f5fca6be3b5f24072233" ], [ "FStar.Buffer.lemma_modifies_0_2'", @@ -2439,7 +2439,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "85c41a2c55db644a8cfb440e411358fc" + "4a1181908c05b5a9c0d0a2d87db21d00" ], [ "FStar.Buffer.lemma_modifies_1_2", @@ -2544,7 +2544,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "32ffbe996b23dd8f3b9d8a987b471f17" + "ec0bed83ac27da5543326ffdbf291dfd" ], [ "FStar.Buffer.lemma_modifies_1_2'", @@ -2556,7 +2556,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "42625a75180e530ef6f2f8ccc010d2a9" + "84a39004eecb3f24dc5cb45455bcc762" ], [ "FStar.Buffer.lemma_modifies_1_2''", @@ -2630,7 +2630,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0453e515f85ea37a0ce8b7bf27a1bd60" + "0d9a2574a2c06b4a67425c7be6a8559a" ], [ "FStar.Buffer.lemma_modifies_1_2'''", @@ -2642,7 +2642,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "ab04efdf77ab08963c8e682ea8fe8d44" + "f336fe5fe1161ccc188ebb38eb410fa0" ], [ "FStar.Buffer.lemma_modifies_1_1_prime", @@ -2735,7 +2735,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c1eb3dd5e841ffb8e3d2b2051213df8f" + "9e2e6c8e860233e243249711f3cce9a9" ], [ "FStar.Buffer.lemma_modifies_2_1", @@ -2799,7 +2799,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6e2d53cd94db22c52c350c8b406c51d6" + "0f8483e1ae56059dc66658ad204f1441" ], [ "FStar.Buffer.lemma_modifies_2_1'", @@ -2811,7 +2811,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "cf4ecdc35df29abd440329b81c35934a" + "1647bb4d9ae2e2b69823a5b6aca04496" ], [ "FStar.Buffer.lemma_modifies_2_1''", @@ -2888,7 +2888,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "242ca30870cdefad2a0d4b0687eb1907" + "fe7b42a1ba6f1b33a187f6ad3c0a158a" ], [ "FStar.Buffer.lemma_modifies_0_unalloc", @@ -2974,7 +2974,7 @@ "typing_FStar.UInt32.v" ], 0, - "1ad3f54e3da20142f31a3b3e7ac7e5ae" + "be7ce705bb78f59e81434ca14a45f711" ], [ "FStar.Buffer.lemma_modifies_none_1_trans", @@ -3046,7 +3046,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5efba15475baed6122ba8f6b17a5bc0b" + "3af96ab85d986edab12a3aac6f99b5d6" ], [ "FStar.Buffer.lemma_modifies_0_none_trans", @@ -3118,7 +3118,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "3d77ca87bf97d80fda4ebdb153b35342" + "b687f66465d5900355442d08b0f8ef5a" ], [ "FStar.Buffer.create", @@ -3131,7 +3131,7 @@ "typing_FStar.Buffer.length" ], 0, - "5038cf230c4d6deaefc981fb225946b6" + "d0c3c1d9e8bf491e8da8ad1110a4dcd7" ], [ "FStar.Buffer.create", @@ -3261,7 +3261,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "4a7f7032b5de4f6c69404f88012e2a69" + "0365444afca76c444316b1dba6137e54" ], [ "FStar.Buffer.createL", @@ -3275,7 +3275,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bb20de47099e7c25838b20856a3a9d7" + "87cf92f275bb6db24ee01b1efc5e6f07" ], [ "FStar.Buffer.createL", @@ -3403,7 +3403,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int" ], 0, - "3b7219bed238bba4f2b8912ae7b1a9ed" + "70ea3c41a5295166647cf60392aaf41f" ], [ "FStar.Buffer.lemma_upd", @@ -3443,7 +3443,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "a56a5a1c4ef7179714342611ba1a4414" + "681b00a098fa15f39e1ff3de154e7d32" ], [ "FStar.Buffer.rcreate_post_common", @@ -3461,7 +3461,7 @@ "typing_FStar.Buffer.length" ], 0, - "84f6270377e29fa12a8bb639d8d0aa63" + "8e8a424731a1819979e7d92b266f41e9" ], [ "FStar.Buffer.rcreate_common", @@ -3578,7 +3578,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "855d649c260a7ef8484c69fdfe0eb1d6" + "cd51c2a901e635633dbade5f3c1b7c84" ], [ "FStar.Buffer.rcreate", @@ -3593,7 +3593,7 @@ "typing_FStar.UInt32.v" ], 0, - "670781da58ae89cc0b2fb950186c3f50" + "fc9cbc850f6d2dc77405465943b6ce6a" ], [ "FStar.Buffer.rcreate", @@ -3602,7 +3602,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "ef600756e77303436840defea1d345e8" + "dd2c97f72f04a574b11bc43647f01b1e" ], [ "FStar.Buffer.freeable", @@ -3621,7 +3621,7 @@ "typing_FStar.UInt32.v" ], 0, - "5871aaa50afa6d58aa85aca957cbe0b5" + "d26bad0ee662b412baa6a75fd8b6deba" ], [ "FStar.Buffer.rcreate_mm", @@ -3683,7 +3683,7 @@ "typing_FStar.UInt32.v" ], 0, - "e1b7b3acbf336a92b78cc18503a1227b" + "17459ce75e43567088557b3c4f8ce13c" ], [ "FStar.Buffer.rfree", @@ -3717,7 +3717,7 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "82ea2697310f7f3bd2c7e8ba74deffd8" + "8d2cf3dcfac441f44fc0022ddc42adfb" ], [ "FStar.Buffer.to_seq", @@ -3726,7 +3726,7 @@ 1, [ "@query" ], 0, - "47c72e7d7ffabfc9fa54f850b446b55f" + "55ad791e99707f6defacb8f6cc7edef1" ], [ "FStar.Buffer.to_seq", @@ -3766,7 +3766,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "f9c0f4ccb3d9ec92130d2e70f55e7fed" + "f497d4bf1f3f5902a7e4aeee916be210" ], [ "FStar.Buffer.to_seq_full", @@ -3812,7 +3812,7 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt32.v" ], 0, - "1d106f3082f44c40fe9f9f309ea2e7ef" + "7df9b7b224b77208ea07aee70474af08" ], [ "FStar.Buffer.index", @@ -3828,7 +3828,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "8f2cd8c91b0786475750dcaa8c76548e" + "72e7910d3621c9f0996a24b8542116fb" ], [ "FStar.Buffer.index", @@ -3868,7 +3868,7 @@ "typing_FStar.UInt32.v" ], 0, - "9143aa8f839df8eb8c158e4ca768b24f" + "a355b8d3bb1e41689e8beb98e6a41561" ], [ "FStar.Buffer.lemma_aux_0", @@ -3951,7 +3951,7 @@ "typing_FStar.UInt32.v" ], 0, - "05fe669e17e28729126915b16f4bb51b" + "575015f89c346cce0a9922b76289e9da" ], [ "FStar.Buffer.lemma_aux_1", @@ -3989,7 +3989,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "98d9744374bf3693991adf6bde07c5c9" + "8a2a3c7b68f797f077fed69d1350315b" ], [ "FStar.Buffer.lemma_aux_2", @@ -4027,7 +4027,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "5c994783d2349a309ea193b216eed1c9" + "dd59abe765a2a1f56593b744083d32e0" ], [ "FStar.Buffer.lemma_aux", @@ -4067,7 +4067,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "c2db810473ecf07a153654fdf4a307de" + "f8ab7e4a74cb572d8cd87dd61282ef2b" ], [ "FStar.Buffer.lemma_aux", @@ -4173,7 +4173,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0a410eb291b2b61e352fba10b615e13b" + "b8032c1202737671a04c16ad55d68b30" ], [ "FStar.Buffer.upd", @@ -4188,7 +4188,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "f2bb5910929df5a8d67937a04e2ba941" + "0c9d018eff1a392993fe8c2978bdfd94" ], [ "FStar.Buffer.upd", @@ -4259,7 +4259,7 @@ "typing_FStar.UInt32.v" ], 0, - "3347327e9e9ea9f8e614bea92e72729b" + "766daae08090ebc890e58f16b2b62fd5" ], [ "FStar.Buffer.sub", @@ -4268,7 +4268,7 @@ 1, [ "@query" ], 0, - "57928efa30a8e56090e371517772ec21" + "25a30186fb41d9032552255f6ae35bcf" ], [ "FStar.Buffer.sub", @@ -4306,7 +4306,7 @@ "typing_FStar.UInt32.v" ], 0, - "80ab20165d48a0112aaf07d73edf358d" + "19f5759c386868efab1db1316a8ce188" ], [ "FStar.Buffer.sub_sub", @@ -4349,7 +4349,7 @@ "typing_FStar.UInt32.v" ], 0, - "71bd7e8aa48781406dfb0ccca0817681" + "4126019fb18b54566bbc365d02354e7c" ], [ "FStar.Buffer.sub_zero_length", @@ -4390,7 +4390,7 @@ "typing_FStar.UInt32.v" ], 0, - "449d672fad7a0dc49fe2d40f7af3b0fc" + "5b921c3c85bdcfabea77bbea6e1f081d" ], [ "FStar.Buffer.lemma_sub_spec", @@ -4470,7 +4470,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "06a1ee305d92325f1d2986be0af67886" + "fa375e3c883d73fd3dc4c08d55e434b7" ], [ "FStar.Buffer.lemma_sub_spec'", @@ -4500,7 +4500,7 @@ "typing_FStar.UInt32.v" ], 0, - "0631a72fb2e9effe806de4e9979b52bd" + "efee4c11186729f7a7e257349a61d1e7" ], [ "FStar.Buffer.offset", @@ -4539,7 +4539,7 @@ "typing_FStar.UInt32.v" ], 0, - "e805176b0f505fb4a83704cb2a9d71f7" + "b4c68e5470eb629d0c1dc5fe9abf0183" ], [ "FStar.Buffer.lemma_offset_spec", @@ -4618,7 +4618,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "a44866408ee3e381d38330a43796c764" + "18635e91ac9ea86d96d55626884c1e3a" ], [ "FStar.Buffer.eq_lemma1", @@ -4634,7 +4634,7 @@ "typing_FStar.UInt32.v" ], 0, - "8791f44305248d54d7a0f44f7176538c" + "e905db87ac1cc3f5faae4d5629c789c1" ], [ "FStar.Buffer.eq_lemma1", @@ -4709,7 +4709,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "70f8144b9acc8e88c8bb4b5d3e025f1e" + "ad21aa181a23a46658cbcbea8025019e" ], [ "FStar.Buffer.eq_lemma2", @@ -4725,7 +4725,7 @@ "typing_FStar.UInt32.v" ], 0, - "89c5f36b1675591ea156c8f161a222f3" + "ae9dbb68fd62862cf4d550b42ea7e018" ], [ "FStar.Buffer.eq_lemma2", @@ -4799,7 +4799,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "04a8ea096deb23105a91863ff522bfef" + "e348e3a7db86b8a85b358f250a01dd94" ], [ "FStar.Buffer.eqb", @@ -4818,7 +4818,7 @@ "typing_FStar.UInt32.v" ], 0, - "d743d16021cb34a9c794551906b6aaa9" + "92cef13e172068a1c965a2560cccef62" ], [ "FStar.Buffer.eqb", @@ -4858,7 +4858,7 @@ "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "03cbf7cc460ae7dde5ff29b2be36e66c" + "ee6b9c31753fa784e4667686927e6879" ], [ "FStar.Buffer.op_Array_Access", @@ -4874,7 +4874,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "1c6721a4c472cba2e7c95808da388fc7" + "a6a85d225d51f4bd67f238d430fd743a" ], [ "FStar.Buffer.op_Array_Access", @@ -4883,7 +4883,7 @@ 1, [ "@query" ], 0, - "128656a3235bea1c555a94ccc94f498e" + "92a5dc41fa7fa7ed6cf601ca7aed74e5" ], [ "FStar.Buffer.op_Array_Assignment", @@ -4898,7 +4898,7 @@ "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "52202457f741e702f9199c3772507793" + "97d57f87e5ab7fcb101bdba0084e98da" ], [ "FStar.Buffer.lemma_modifies_one_trans_1", @@ -4942,7 +4942,7 @@ "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" ], 0, - "18782edb80f4b3c16759114c7eb8b68c" + "d71eab88602d2f03738b57f5425bd90d" ], [ "FStar.Buffer.blit", @@ -4982,7 +4982,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "22bd5611a52d8c16b16d83bf19f968c6" + "426c84415807884ff5ba04a9acf77404" ], [ "FStar.Buffer.blit", @@ -5119,7 +5119,7 @@ "unit_typing" ], 0, - "6b836b5e39de64b49ec11cd717a23514" + "58ca61c9a924cb875d91496477ae5b90" ], [ "FStar.Buffer.fill", @@ -5159,7 +5159,7 @@ "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" ], 0, - "300d601cc0bef02b321e848076b8c02b" + "5c0da881b83866f7ae167a0cad36926a" ], [ "FStar.Buffer.fill", @@ -5240,7 +5240,6 @@ "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_48d50f0a1fc24100a0523134cd198481", "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -5266,8 +5265,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.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -5305,7 +5302,7 @@ "typing_FStar.UInt32.v" ], 0, - "edcfa29ebde120a452796885e5e91fad" + "02d7773e705eee36ca0fa11646417e5f" ], [ "FStar.Buffer.join", @@ -5322,7 +5319,7 @@ "typing_FStar.UInt32.v" ], 0, - "b8116e824be73fbe073034a5a32e6102" + "bd04a17dedc31222b8df61a3c6b95062" ], [ "FStar.Buffer.join", @@ -5351,7 +5348,7 @@ "typing_FStar.UInt32.v" ], 0, - "041332df4aad26a3654ff2b6ddd5dd84" + "5c69f490f1ba32363cc8c57f88dbc299" ], [ "FStar.Buffer.no_upd_lemma_0", @@ -5417,7 +5414,7 @@ "typing_FStar.UInt32.v" ], 0, - "66878b44f0842a222035c5bc375021e0" + "95fb79d00ee51be4b3683774f299281a" ], [ "FStar.Buffer.no_upd_lemma_1", @@ -5483,7 +5480,7 @@ "typing_FStar.UInt32.v" ], 0, - "d4c653a7710e3b95041373aecdc25c89" + "687ec278e9fe4e17ee8827d3b2121409" ], [ "FStar.Buffer.no_upd_lemma_2", @@ -5550,7 +5547,7 @@ "typing_FStar.UInt32.v" ], 0, - "37d64a692ef1881572a6332ec864b832" + "766d3f066c1914483c836bb7f74e167e" ], [ "FStar.Buffer.no_upd_lemma_2_1", @@ -5617,7 +5614,7 @@ "typing_FStar.UInt32.v" ], 0, - "4252f2c25c38cf8e8acf1c39f6a56287" + "6c910e7883e2eafc5eaadbad7c41d2ec" ], [ "FStar.Buffer.no_upd_fresh", @@ -5669,7 +5666,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4dfddcae7f248e380f86209119033eb1" + "b016fcdb8c4bff35d041d640c3c6f7d0" ], [ "FStar.Buffer.no_upd_popped", @@ -5725,7 +5722,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "3d1bba3f61206b66e48ce93cffd5dde5" + "f6447b6be21af842368f138877218169" ], [ "FStar.Buffer.lemma_modifies_sub_0", @@ -5766,7 +5763,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "5fa8f1e038714013dc1650a42edea3cf" + "b3985da8c1aee1b8e239cd056f2ecf11" ], [ "FStar.Buffer.lemma_modifies_sub_1", @@ -5807,7 +5804,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "8b600caf232cde78685bfe7e1ae952c2" + "c1c7d78b650c0808f40205dfd5abfa09" ], [ "FStar.Buffer.lemma_modifies_sub_2", @@ -5869,7 +5866,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "d8e06b091ad31f74413f9bf9e36aa409" + "e1d535cc46cc64825d2bf8ddd52f253e" ], [ "FStar.Buffer.lemma_modifies_sub_2_1", @@ -5952,7 +5949,7 @@ "typing_FStar.Set.union", "typing_FStar.UInt32.v" ], 0, - "87b4cd2f4d8db61673cd21f50f0ebdc5" + "858b721c56cc37fabdd05e0b513abd7d" ], [ "FStar.Buffer.modifies_subbuffer_1", @@ -6069,7 +6066,7 @@ "typing_FStar.UInt32.v" ], 0, - "3c8aea278ef46cc4e1b98aa0fdc96c8d" + "f7181b621f8f18779cf40fe48c847ce3" ], [ "FStar.Buffer.modifies_subbuffer_2'", @@ -6081,7 +6078,7 @@ "lemma_FStar.Buffer.modifies_subbuffer_2" ], 0, - "9ca6099d51d4be7881bb8f2d00ae68f8" + "1d34f0b0eda061560e0d35ba095e60d1" ], [ "FStar.Buffer.modifies_subbuffer_2_1", @@ -6144,7 +6141,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4cbf7a7e3780656d580c1c5114e3d6e9" + "6704227a70fcd52def113c4528dc8cd0" ], [ "FStar.Buffer.modifies_subbuffer_2_prime", @@ -6215,7 +6212,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5bbbf8f98286211b13fb1a3145e7def2" + "00941bd99b2b6efa4f06d6c2ad7b6204" ], [ "FStar.Buffer.modifies_popped_3_2", @@ -6303,7 +6300,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "032ca808899d6c02c8c09d23efdd4548" + "cbb1b2adc5c338e91c82f96213cf1ef7" ], [ "FStar.Buffer.modifies_popped_2", @@ -6312,7 +6309,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_stack_2" ], 0, - "b5b45a47b181f8e0cb708faa29b8f28e" + "7161557e8b342ec3a46ea4aa9c008d14" ], [ "FStar.Buffer.modifies_popped_1", @@ -6399,7 +6396,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c1e006e9a5078ecdcc8d8d19c8b3b497" + "1e0e498555a888afbc79f840f0bf3ca7" ], [ "FStar.Buffer.modifies_popped_1'", @@ -6478,7 +6475,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6e9f912d5220213007140a35b8dfce77" + "8ce5b6c511a06a95bc4dcb49af75cdea" ], [ "FStar.Buffer.modifies_popped_0", @@ -6540,7 +6537,7 @@ "typing_FStar.Set.union" ], 0, - "9c6cea469b6b3642b0c3fbff7d814073" + "03773d481fb796d78a6dcd04c43f503c" ], [ "FStar.Buffer.live_popped", @@ -6549,7 +6546,7 @@ 1, [ "@query", "lemma_FStar.Buffer.no_upd_popped" ], 0, - "ed3b7643681972ca496c89a5e50f0678" + "d01626806caf3069f375c4066b6fc831" ], [ "FStar.Buffer.live_fresh", @@ -6558,7 +6555,7 @@ 1, [ "@query", "lemma_FStar.Buffer.no_upd_fresh" ], 0, - "a7a14702e7182ec202960a5bf3216b50" + "4cb8d17fa19eed308fcecf624694d761" ], [ "FStar.Buffer.modifies_0_to_2_1_lemma", @@ -6567,7 +6564,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_sub_2_1" ], 0, - "71654937585757b17aa4e9f9fb2f9cb0" + "4aa4100de5259403063c1db0134df2a3" ], [ "FStar.Buffer.lemma_modifies_none_push_pop", @@ -6619,7 +6616,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "ad7303e3b139f712b179d43c3b604afb" + "aad992dde9781942aa15402a624740ef" ], [ "FStar.Buffer.lemma_modifies_0_push_pop", @@ -6673,7 +6670,7 @@ "typing_FStar.Set.singleton" ], 0, - "b07c6f220160b6b52e850aeea9bf2631" + "9dd65cb92c81bf74b9d657399b6bc8dc" ], [ "FStar.Buffer.modifies_1_to_2_1_lemma", @@ -6743,7 +6740,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "dfbff661c58253d4503e84bd24ea9d34" + "a8c1c94f678ed5448da174f14e4b6e95" ], [ "FStar.Buffer.modifies_poppable_0", @@ -6755,7 +6752,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "e6eeb47200834555f1c1affd918c4238" + "693baa285e4e7cdc3afc5054877a92e3" ], [ "FStar.Buffer.modifies_poppable_1", @@ -6767,7 +6764,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "l_and-interp" ], 0, - "239d72901ebfeb551f50dac8c80990a7" + "93dcfe3fb5fad223b387beec917ca1f9" ], [ "FStar.Buffer.modifies_poppable_2_1", @@ -6779,7 +6776,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "65906c23b4376024912e35f6fc60b021" + "4cef0479c59335ce784b9a0940850d9b" ], [ "FStar.Buffer.modifies_poppable_2", @@ -6791,7 +6788,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "cd999532e7c3480608dd54e2cea8f438" + "f957a116805fa0e7363a13f9269f6119" ], [ "FStar.Buffer.modifies_poppable_3_2", @@ -6803,7 +6800,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "90e59d22a593c7dfb7c910f3cfeabd50" + "0ff6e99598dbe6ad507977f830ef242e" ], [ "FStar.Buffer.lemma_fresh_poppable", @@ -6819,7 +6816,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "18ee44b1a6d249c55f4b5b57ae6bab14" + "1c41622c8572c3db70846e7e835ac848" ], [ "FStar.Buffer.lemma_equal_domains_popped", @@ -6852,7 +6849,7 @@ "typing_FStar.Set.singleton" ], 0, - "c022456b1097eeea0aff1d07010d8c4f" + "9aa51325e27bc103dabf62252805fcde" ], [ "FStar.Buffer.lemma_equal_domains", @@ -6896,7 +6893,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "fc09669ec262d6ade533d0dce1e976c3" + "8f791a53ba49f5586fb0f96c6dbee643" ], [ "FStar.Buffer.lemma_equal_domains_2", @@ -6947,7 +6944,7 @@ "typing_FStar.Set.union" ], 0, - "3dc1872c5e9b2471cc020273b99249bb" + "9253634cd357acce8a1816b4938c0cc0" ], [ "FStar.Buffer.assignL", @@ -7098,7 +7095,7 @@ "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" ], 0, - "2e61f924a47cfcfcdde6c3dd3e369d7a" + "ab521b7812e24dad9abc3385f440111c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.BufferNG.fst.hints b/ulib/.cache/FStar.BufferNG.fst.hints index 9ef170e5313..049c23cee82 100644 --- a/ulib/.cache/FStar.BufferNG.fst.hints +++ b/ulib/.cache/FStar.BufferNG.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_FStar.Pointer.Base.TStruct" ], 0, - "f82172a159e66c4231a8728a767738a6" + "1ba1cc310ac9e17f940f9788fe886fe4" ], [ "FStar.BufferNG.supported", @@ -33,7 +33,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b82c16645847c71ba8232022325b3181" + "6471ad0c9783ae4bb2b0ba58e973499c" ], [ "FStar.BufferNG.length", @@ -47,7 +47,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "04c54f5de786ce42152c55adc638a866" + "a6ab643cf1de34cadebce59d89c19ab4" ], [ "FStar.BufferNG.as_seq", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "291608ec19680baf1901445ab3d2802f" + "66064c20da1e951a4ccf09c0b18dec20" ], [ "FStar.BufferNG.equal", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "985694afa49e3846ca6a2bcc56378806" + "44e65408b69318f3a22bcc490fe343a6" ], [ "FStar.BufferNG.includes_live", @@ -100,7 +100,7 @@ "typing_FStar.UInt32.v" ], 0, - "8e1e14443a2483df4b0550949cf7a705" + "3c558770aef939b8fde8c8a1f39d1636" ], [ "FStar.BufferNG.includes_as_seq", @@ -128,7 +128,7 @@ "typing_FStar.UInt32.v" ], 0, - "e469332fcb1e7814c9f2ec309d37825a" + "a1ad4e9dba1726d1d04c6454ce7372a5" ], [ "FStar.BufferNG.lemma_disjoint_symm", @@ -142,7 +142,7 @@ "typing_FStar.Pointer.Base.loc_buffer" ], 0, - "13e3dd041333c4b56eb0566c8095ee82" + "2686578ce8734c844d7b522c82720a64" ], [ "FStar.BufferNG.lemma_disjoint_sub", @@ -151,7 +151,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "95740f89d82ebc6fa07607ce6bb7edd7" + "ff38ae208c9f6f845ea9fcbfa86232f4" ], [ "FStar.BufferNG.lemma_disjoint_sub'", @@ -160,7 +160,7 @@ 1, [ "@query", "lemma_FStar.BufferNG.lemma_disjoint_sub" ], 0, - "a6e42624727589b50be6f39e923a98b1" + "635fe2803d63bfdf249ceccc44217cdc" ], [ "FStar.BufferNG.lemma_live_disjoint", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "328cc382daaee0448a6f9e5461f33358" + "1732467996da81bf4b1049a00279e940" ], [ "FStar.BufferNG.create", @@ -183,7 +183,7 @@ 1, [ "@query" ], 0, - "554f3f820b99cbc86bc12b750741a26d" + "4c48c31a43ba85bebe60bde93e0f2a6e" ], [ "FStar.BufferNG.create", @@ -209,7 +209,7 @@ "typing_FStar.Pointer.Base.type_of_typ" ], 0, - "348c35f177b673e59d38b4e122d74ac0" + "9295753e01f405aabe1025483d10a3e1" ], [ "FStar.BufferNG.createL", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "51a65cbb5d294976adc5335ec4026d93" + "8e6cff479273e640c5bac063ff2d99b5" ], [ "FStar.BufferNG.createL", @@ -269,7 +269,7 @@ "typing_FStar.Pointer.Base.type_of_typ" ], 0, - "fa93f63a75d03a6d38fb11a997427b2b" + "7dfa567984896dbd535a0fe31fe60382" ], [ "FStar.BufferNG.rcreate", @@ -284,7 +284,7 @@ "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904" ], 0, - "2c308ed935c94dc6cf9736f07b931530" + "0d8d8f0d0f6664af0bf86e0dcd00919c" ], [ "FStar.BufferNG.rcreate", @@ -318,7 +318,7 @@ "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Set.empty" ], 0, - "d180cdb7db1cb134b9c995d058e28c60" + "29d3dbc0569ca5a10e64c9f5404beaf9" ], [ "FStar.BufferNG.index", @@ -337,7 +337,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "86360c5e546991614b293e1d105be37d" + "3f801da6c53f9ea4ac6a7931f7be3762" ], [ "FStar.BufferNG.index", @@ -351,7 +351,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "cdb8e3734bdd068911e4fba7115babe5" + "088beeec913f341b036f58774849db00" ], [ "FStar.BufferNG.upd", @@ -370,7 +370,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "939a5c63fe1dc0f4a8366af7218e18bf" + "7325e541b40ca009cce48ecf4e847f4b" ], [ "FStar.BufferNG.upd", @@ -421,7 +421,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "c42b28d6d20447a70609a7afb601938e" + "0d4462636e8a1bc04fbe177cbcf98add" ], [ "FStar.BufferNG.gsub", @@ -430,7 +430,7 @@ 1, [ "@query" ], 0, - "dfde7f71415696acc2207782bd4fc5ca" + "0f88a68c41720e0110ff20e602492446" ], [ "FStar.BufferNG.sub", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "884e0684a75a1bcee1271ef9c1468919" + "a212e58333e66400363136706f999b59" ], [ "FStar.BufferNG.sub_sub", @@ -471,7 +471,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "1d1bf9765b6cd7bca94b9103038376ce" + "356a2eba73fbbde955d4a9520285fb12" ], [ "FStar.BufferNG.sub_zero_length", @@ -500,7 +500,7 @@ "typing_Prims.pow2" ], 0, - "e2e9cde7fb8efaf15515a2e6a65d1274" + "b99aa7c51f789c6f2ca13e60e629f554" ], [ "FStar.BufferNG.lemma_sub_spec", @@ -534,7 +534,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "6158f950b37a8c21c1ffbf4656b7d24a" + "97f08fda8933d8d2446c80a1dc6289ac" ], [ "FStar.BufferNG.goffset", @@ -555,7 +555,7 @@ "typing_FStar.UInt32.v" ], 0, - "a0c07a3229e000fdef9e39c34052ea45" + "2254cfa75e7b9908ab3591ce6d5a629c" ], [ "FStar.BufferNG.offset", @@ -571,7 +571,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "8baf6b8cbe50cf7fc58a67f8b0ae35fe" + "e5bc4e32bf213d2c1edffe9d35c0c56d" ], [ "FStar.BufferNG.lemma_offset_spec", @@ -602,7 +602,7 @@ "typing_FStar.UInt32.v" ], 0, - "5853bf17d4c01bd55a3df63e7c2d7485" + "c650370a0c052a8262f9b95799b0bf75" ], [ "FStar.BufferNG.eqb", @@ -617,7 +617,7 @@ "typing_FStar.UInt32.v" ], 0, - "1b0e6a1a1ef78d7d417e64dd0960a809" + "9a9fce958b7a624a795e5736bd85ae1c" ], [ "FStar.BufferNG.eqb", @@ -656,7 +656,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "69d2b7d2a9cad72c2ac7e7d85ed71a38" + "7d9a5245bebbab301f6cd9653feb7680" ], [ "FStar.BufferNG.op_Array_Access", @@ -675,7 +675,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "ae6570ab8f41f9afb83ca4f4ebf444f5" + "29928b038aaefa8cbd45381d77642a32" ], [ "FStar.BufferNG.op_Array_Access", @@ -684,7 +684,7 @@ 1, [ "@query" ], 0, - "7187c8b3c67ce37c8958ea951d39bed3" + "3b917cd5b7a4a3fdadcf20c70c8ce9eb" ], [ "FStar.BufferNG.op_Array_Assignment", @@ -703,7 +703,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "c96abfb73de3db609a6edb9819d2f337" + "14cbb3e0a141a859588a0dd9e2ab3886" ], [ "FStar.BufferNG.op_Array_Assignment", @@ -712,7 +712,7 @@ 1, [ "@query" ], 0, - "14b2414e427797038d550bcd7d5b4a92" + "2511a11ddf4b9e3b6649733187399776" ], [ "FStar.BufferNG.live_slice_middle", @@ -738,7 +738,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "375563c64eb4e00babfb803c2e899902" + "22c5cf4e92aa2a266ca5d81111fda601" ], [ "FStar.BufferNG.blit", @@ -767,7 +767,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "f0ac031c049b12d094f2564481539ba7" + "394a8aec1e314a8144bbaed7e7963c30" ], [ "FStar.BufferNG.blit", @@ -842,7 +842,7 @@ "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" ], 0, - "6a2d59f520b8dbe3c725eeab3debe4bd" + "e2c33b8054780d9c87a821b9154dd717" ], [ "FStar.BufferNG.fill", @@ -870,7 +870,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "bd7ba25a26bb1b0f522dff2309e83f5f" + "6b6e5aa0063b4c6723188535aa20c30c" ], [ "FStar.BufferNG.fill", @@ -924,7 +924,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0488bf797284ebee41ff3a70973fc638" + "81aa2610e1b2be055a7c621e03de5973" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Bytes.fsti.hints b/ulib/.cache/FStar.Bytes.fsti.hints index e858c317331..ff634abc870 100644 --- a/ulib/.cache/FStar.Bytes.fsti.hints +++ b/ulib/.cache/FStar.Bytes.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8d8180570443ef10fccc305903d94ea6" + "a31141d6526b968abf0f0bffd7d0c5b3" ], [ "FStar.Bytes.hide_reveal", @@ -29,7 +29,7 @@ "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "1dc996ae10a508d5e7bbef3b1f160637" + "78136b10b39fb73a577b145011802011" ], [ "FStar.Bytes.lbytes", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "1892295502d581a9465bab1e72351ccb" + "39edc586fb3dd35a755e8fb3711e06ca" ], [ "FStar.Bytes.get", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_0ec0d5af579319902ba14f8e38d7f020" ], 0, - "8ef2bef20bd0e781e08a7d8314f5103b" + "ee635feaccbd445da0f493c3c5202f4a" ], [ "FStar.Bytes.index", @@ -74,7 +74,7 @@ "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "468baf6ac7c7b84a20c7df45cd027665" + "eb2052021ad95c1c2fad3ac9257aa0cf" ], [ "FStar.Bytes.equal", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "35fb02aa7e3fa3788cea7c418c09e0d9" + "6cc27a767b9c7828e3a2cca5472ee7eb" ], [ "FStar.Bytes.create", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" ], 0, - "b9f9fdabc9294c4bafa01ea555507b1a" + "bbde6e4c4a3e5a76091b816c43edb1a1" ], [ "FStar.Bytes.create_", @@ -115,7 +115,7 @@ 1, [ "@query" ], 0, - "5e6d564fcd8de70e11dabb23bcb20175" + "ddade4d009471191daccf31158647d24" ], [ "FStar.Bytes.init", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" ], 0, - "a83cae9f7a6af76fd766fb845b6045ee" + "8b9188869668c11fa40bbf55bae41053" ], [ "FStar.Bytes.slice", @@ -153,7 +153,7 @@ "typing_FStar.UInt32.v" ], 0, - "763079c2dcde1de15429916a232c7848" + "ce479816f3d708e4580828e9247553b1" ], [ "FStar.Bytes.slice_", @@ -174,7 +174,7 @@ "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "1173225eb28a75861ee3c314fac5ab9e" + "0fa9cf8298a5ed46438a711cb6d93732" ], [ "FStar.Bytes.sub", @@ -195,7 +195,7 @@ "typing_FStar.UInt32.v" ], 0, - "953514127de6fbc49a28500117454628" + "dcb57a223bf150548c24845ba3acbfc7" ], [ "FStar.Bytes.split", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_ac6edb774778b9994c24a58478b5d708" ], 0, - "88ea62cf3469e9d72adde7d899161171" + "bbacfb9754675b2017f29665e65d3832" ], [ "FStar.Bytes.split_", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_fe06514f0dc5952abb788caab3603518" ], 0, - "fd7721362951b32f602aad5f3c656fb1" + "032a2206bc40be66e516f79f31a21b85" ], [ "FStar.Bytes.fits_in_k_bytes", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b3fe895424b9d2eff503a8191a6bca18" + "8eb9ccbcc663a7e829388180db396f26" ], [ "FStar.Bytes.repr_bytes", @@ -245,7 +245,7 @@ 1, [ "@query" ], 0, - "2618ee9063db24830fbe6741d9164059" + "c1bb5bea72d56de3e5091906c0506f67" ], [ "FStar.Bytes.lemma_repr_bytes_values", @@ -254,7 +254,7 @@ 1, [ "@query" ], 0, - "184ffd988155c92ba9e7a93844d232b5" + "daded4c2cf63ffafc1ffe4b521ce092f" ], [ "FStar.Bytes.int_of_bytes", @@ -270,7 +270,7 @@ "typing_FStar.UInt8.t" ], 0, - "bbd59452ed9d6a05b1be837209b823c2" + "836fd67eb4b3dfd4ee1e942500690531" ], [ "FStar.Bytes.int_of_bytes_of_int", @@ -294,7 +294,7 @@ "typing_FStar.Bytes.repr_bytes" ], 0, - "7a95c456672f218355fbf15f0d3145eb" + "84fbf09546a4eb986906fdc5093318b7" ], [ "FStar.Bytes.bytes_of_int_of_bytes", @@ -322,7 +322,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "038dd0015d61b216e6166d6ebd828bef" + "487d8e4aaa152d7be63b55a9939f3caa" ], [ "FStar.Bytes.int32_of_bytes", @@ -339,7 +339,7 @@ "typing_FStar.UInt8.t" ], 0, - "bc72c7d32d4651f7ef71b476858353f9" + "bfa9ad35591ea4764d599735ecbc573c" ], [ "FStar.Bytes.int16_of_bytes", @@ -356,7 +356,7 @@ "typing_FStar.UInt8.t" ], 0, - "df224507af3eab4fef440c33892c0861" + "b772fd8063df9b8c535bacc46001c7af" ], [ "FStar.Bytes.int8_of_bytes", @@ -368,7 +368,7 @@ "refinement_interpretation_Tm_refine_c973f16ff13b3cfd3c24ce17b21aa2ea" ], 0, - "19e9a74810661662f73c03f399c43f13" + "573f9e835de521bca93bdd7c949a759d" ], [ "FStar.Bytes.bytes_of_int32", @@ -395,7 +395,7 @@ "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "d43c7c63c5c227fac9567452d5a75f9a" + "479ab34ae8062d05ea8fe87317112e41" ], [ "FStar.Bytes.bytes_of_int16", @@ -423,7 +423,7 @@ "typing_FStar.UInt32.v" ], 0, - "02c3f1cee5b57f545c0e2aaa230f73f7" + "98716f2a1a6b3299c4282cafe34fdfa9" ], [ "FStar.Bytes.bytes_of_int8", @@ -451,7 +451,7 @@ "typing_FStar.UInt8.v" ], 0, - "b1f4e3472ed00edc0589bd6b656f2a40" + "ef79278e0ce93442b950f5d3a9f6a112" ], [ "FStar.Bytes.xor", @@ -466,7 +466,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "42897c741bacacbb42caf18f2b3c4727" + "a8b3712df0ebcdb0caf65117481acaa1" ], [ "FStar.Bytes.xor_", @@ -478,7 +478,7 @@ "refinement_interpretation_Tm_refine_0e2880dbb668680aa96c901813fc55bb" ], 0, - "859c1ffa057d70bfc2c5b56410bc2115" + "2a68dc1bef1c986533a0cd1c548a6ea0" ], [ "FStar.Bytes.xor_commutative", @@ -493,7 +493,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5435f00a41e68df4d0536f3f9794ebad" + "1e38aada93ce5f41ce39316724f3b3ea" ], [ "FStar.Bytes.xor_append", @@ -510,7 +510,7 @@ "typing_FStar.Bytes.reveal", "typing_FStar.UInt8.t" ], 0, - "d91fdca13c5935d0f3e85a5e0bb96731" + "8ec1c0cb6a480cd7b04cfec43800dd77" ], [ "FStar.Bytes.xor_idempotent", @@ -527,7 +527,7 @@ "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" ], 0, - "ee6f5bda6ba8e711a04999042163602c" + "564c0e0049df8a3a7048046a00a279ca" ], [ "FStar.Bytes.lbuffer", @@ -536,7 +536,7 @@ 1, [ "@query" ], 0, - "e4b596f07dc522dcc205d97d83d9553c" + "6b188f360f779dda82eaa46e9cd37bc0" ], [ "FStar.Bytes.of_buffer", @@ -560,7 +560,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "db278e97f14fe3836271ffbc746fb861" + "bb4fd65c4602bd5ba40b0ca607343a46" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Calc.fst.hints b/ulib/.cache/FStar.Calc.fst.hints index 0b6df1e50cd..284705a52be 100644 --- a/ulib/.cache/FStar.Calc.fst.hints +++ b/ulib/.cache/FStar.Calc.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_aca066588938eccb3233c4b413250683" ], 0, - "d4ea4d909d475b257dcea96bb6e757ce" + "350db24554dfab3e789287d3e4d8c21e" ], [ "FStar.Calc.__proj__CalcStep__item__rs", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "9d7439b4720ffb9086ea38a954258a70" + "22d17415ff5d300df5808cb597f99376" ], [ "FStar.Calc.__proj__CalcStep__item__p", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "bef8c7a765ac196c7ee61192c32c1bdf" + "736dc443f2cc14e90d16789306027239" ], [ "FStar.Calc.__proj__CalcStep__item__x", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "cdbb4320a58af6bc63b14af5d8ae7434" + "0069e3f0ca2760cd89c43c3089f1be91" ], [ "FStar.Calc.__proj__CalcStep__item__y", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "c8f0d5bd3701a90b430a9353ab5c8643" + "a9ec225bc92a690e3adf527201764960" ], [ "FStar.Calc.__proj__CalcStep__item__z", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "4a41170b82b9b806d701f005224e78d9" + "6f52eba9dc81837d384a9dd974b654fc" ], [ "FStar.Calc.__proj__CalcStep__item___5", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "09d8ea8195938f411eb7e4ccd1378539" + "cc8b2c3ccd49a0e411762357899afe39" ], [ "FStar.Calc.__proj__CalcStep__item___6", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" ], 0, - "ef98b07ab4d8eb5a5a1ad37a0cde11b5" + "66bbdd02d81ea1ed2ecb5c523a234bec" ], [ "FStar.Calc.calc_chain_related", @@ -110,7 +110,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9a88b97ba87d7b6c248cc019a28d016c" + "d16eccdcbfdb79f71ab3e2398522bc7d" ], [ "FStar.Calc.elim_calc_chain", @@ -135,7 +135,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "4bf6d3da1eb09722ebe5dfdab88e8e69" + "7f44f239a34c5feccfc0212726b03520" ], [ "FStar.Calc.calc_finish", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "893dc0d4e18997ab3152c37c1a9b0ea5" + "65bad60619a7f788bd25ecffec60edda" ], [ "FStar.Calc.calc_push_impl", @@ -158,7 +158,7 @@ 1, [ "@query", "equation_Prims.l_imp", "l_imp-interp" ], 0, - "8e8454c37b99453032cac615ab008659" + "2af72e4d2bcce95b403b5ed5f63689ef" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Calc.fsti.hints b/ulib/.cache/FStar.Calc.fsti.hints index 0a4cf7877f7..9d7c1aa5d11 100644 --- a/ulib/.cache/FStar.Calc.fsti.hints +++ b/ulib/.cache/FStar.Calc.fsti.hints @@ -1,5 +1,5 @@ [ - "WOB\u0001?\\2ÐFR—¤ \u007fRO", + "æ×þPižx;&Ê6‘|¥\u0003", [ [ "FStar.Calc.calc_chain_related", @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "198ffe4193d63aa754f9a975055f8507" + "01f2f554382c00a72796183431c2e7c3" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Char.fsti.hints b/ulib/.cache/FStar.Char.fsti.hints index c31463333dc..dd476318d05 100644 --- a/ulib/.cache/FStar.Char.fsti.hints +++ b/ulib/.cache/FStar.Char.fsti.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "cc8e00403f8555cc656ba4c4225d0bcf" + "ee16f6dc72c63c207a18dd610e20befd" ], [ "FStar.Char.char_of_int", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5e1811cdf35ad3f8dd658fba518c2a8f" + "362b1ad7c04f3a9334a948f5b7810731" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Classical.Sugar.fst.hints b/ulib/.cache/FStar.Classical.Sugar.fst.hints index 9659542ce7a..3875cb29bea 100644 --- a/ulib/.cache/FStar.Classical.Sugar.fst.hints +++ b/ulib/.cache/FStar.Classical.Sugar.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "5c638e6d6b6327ca503bb9cf6712ddf3" + "7d5fe9a5a358474337e5d14d668182f8" ], [ "FStar.Classical.Sugar.implies_elim", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "95b9978dfff42c5971c06df99f5caf16" + "f9468d724464dd796b9e00e7658f26d9" ], [ "FStar.Classical.Sugar.or_elim_simple", @@ -36,7 +36,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "617b2f25113d09ef43f65dcb62f8b2d2" + "758f75aa8887939f894f465fea8c2298" ], [ "FStar.Classical.Sugar.or_elim", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "6e075f364de3f5e5741676912605c9cd" + "9f2d18070ee2660fbc636135233663b4" ], [ "FStar.Classical.Sugar.or_elim", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "8f9aed6fe5c292c1a519003aac29f663" + "f149ee60a3253cf16b44c995d899a1e1" ], [ "FStar.Classical.Sugar.or_elim", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "3edced5116f15ec495ea29564771fc40" + "90999db3b3871a7a2fb6054a105cf8ae" ], [ "FStar.Classical.Sugar.and_elim", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "971b3cbb9dd7f935fbf3024e6ddbb408" + "661b27024d68eb16e0fe7fd99b0dd9f8" ], [ "FStar.Classical.Sugar.and_elim", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ac0c12ce928a6290831ca65aaf5ed543" + "e69ca60bc71c62e13759fd109803e9e8" ], [ "FStar.Classical.Sugar.and_elim", @@ -105,7 +105,7 @@ 1, [ "@query", "l_and-interp" ], 0, - "dc110d92cc7b564d4e3efa687024dd46" + "f2e10933e1ac63f1a17646a03d380ec7" ], [ "FStar.Classical.Sugar.exists_intro_simple", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0200b74bcd386266921dfe600e1a7a44" + "d284b8030fda9f6272b84bea2040b0d0" ], [ "FStar.Classical.Sugar.implies_intro", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e0ea3f6357be0433f7b8f039d211baa0" + "de0ad0b1a15a2edc6e6bf88fdd674967" ], [ "FStar.Classical.Sugar.implies_intro", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b97880752c2751d9ba52c2ec158198da" + "3d4e1facf6bca39da67fcd05f06c4eb5" ], [ "FStar.Classical.Sugar.implies_intro", @@ -150,7 +150,7 @@ 1, [ "@query" ], 0, - "399405e9159eba5575ce8c6457c5e8ca" + "1448797aaef0a10bcd00b74fb1881c9a" ], [ "FStar.Classical.Sugar.or_intro_left", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "26913c20790dba43749410e147b3f47c" + "abb02aba0048c202edce281669e5a000" ], [ "FStar.Classical.Sugar.or_intro_right", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "cdb0845ddafaddb6f8b1c8186dfb62b8" + "4b9c2b8ff2692ff3c2814a76f717353c" ], [ "FStar.Classical.Sugar.or_intro_right", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "ee55bca4671ff110ecad63e7b8838381" + "9e5c801715818874bfee0bfa255d64b3" ], [ "FStar.Classical.Sugar.or_intro_right", @@ -195,7 +195,7 @@ 1, [ "@query" ], 0, - "0750264bc36a30ecad524c1f18562147" + "60ccd92020baeb6fb178bef947ad7dac" ], [ "FStar.Classical.Sugar.and_intro", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5c48c83705afbb6298eff9f96d319bbd" + "562f75f70662b1f865b05768a0cf37a2" ], [ "FStar.Classical.Sugar.and_intro", @@ -219,7 +219,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "db693848cb35163dfc9f6e4f7844fa62" + "88c57c40dfc28bf7d9dbc239d6e713ce" ], [ "FStar.Classical.Sugar.and_intro", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "67fa22b051c0595f230529b4afd7aa80" + "5dd2e0d8ea08cbbba5025fdb7ad23d48" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Classical.Sugar.fsti.hints b/ulib/.cache/FStar.Classical.Sugar.fsti.hints index 4a4892024a8..70af6e04f6c 100644 --- a/ulib/.cache/FStar.Classical.Sugar.fsti.hints +++ b/ulib/.cache/FStar.Classical.Sugar.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "8c5e8b4e292fd6020bb0b3019c837b0e" + "53c099a25b2733bffc03b9428a659a7f" ], [ "FStar.Classical.Sugar.or_elim", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "34bda81f84fd549f4cb8e16cb7e50fe1" + "4f30bf7e9561e07618f7d3b429808ce8" ], [ "FStar.Classical.Sugar.and_elim", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2bea63d23ea0f244a79dd256c88ba0d9" + "28ba074dea05122ed50975cfe10fe701" ], [ "FStar.Classical.Sugar.implies_intro", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7b5ca9ff9b2e567c1543de7c08bdea4d" + "798c3ba0d1ac53fb3bc7c1add9d3c38b" ], [ "FStar.Classical.Sugar.or_intro_right", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" ], 0, - "14e9f6e43b04d460b59fa41d239f1ae6" + "8d61644c5594f1dd5462a6bb9466228f" ], [ "FStar.Classical.Sugar.and_intro", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ff42128f62a64ea6ce56b270f1b6dc15" + "16100325fd38902b6903523b7136622b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Classical.fst.hints b/ulib/.cache/FStar.Classical.fst.hints index eda0fd8ae83..bf769110fe3 100644 --- a/ulib/.cache/FStar.Classical.fst.hints +++ b/ulib/.cache/FStar.Classical.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bf762846e001813b9f904081522cba8f" + "1d87366dbe6d7c2969b4b212e6e92743" ], [ "FStar.Classical.give_witness_from_squash", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1f0dcbd3aace0158e56557fbe49276bd" + "ab852422ef073267c01a4d9cf9ed0e61" ], [ "FStar.Classical.get_squashed", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2a7ad425f1d4f442b29d2149efb51ceb" + "4751602ad4c9b11618232b55115365c8" ], [ "FStar.Classical.get_equality", @@ -44,7 +44,7 @@ 1, [ "@query", "equation_Prims.eq2" ], 0, - "c453887dd4ec124a07f1c028bbbaa0d7" + "1c9aeb323c20e3558a3e100a50b69d22" ], [ "FStar.Classical.impl_intro", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "e9a729ca628c2fbeb0c9c3c35b9b69b7" + "ea54ad5b560f5f5be8f9361fe35a2cd7" ], [ "FStar.Classical.move_requires", @@ -67,7 +67,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "034f57f256cc8845c705966364ecd761" + "6fac137fed7e6dda38ed4c814e20005f" ], [ "FStar.Classical.impl_intro_gen", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9ee5afd970bb315884c0b76cb8fe6738" + "b26e4d8ae93bf80c9ea76058ce2dcd84" ], [ "FStar.Classical.impl_intro_gen", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eef4beaa4d8b16bed34f651661ca978b" + "35681064cc88b65e684b9906305e7673" ], [ "FStar.Classical.impl_intro_gen", @@ -100,7 +100,7 @@ 1, [ "@query" ], 0, - "ab793d2c7f6391726a891abdcb8ab989" + "0fb412483bc5ff9948d0a496a09cab8b" ], [ "FStar.Classical.get_forall", @@ -109,7 +109,7 @@ 1, [ "@query", "equation_Prims.l_Forall" ], 0, - "be357876d04854db3367e2702347a7ec" + "f3badf52ed1923a413cd03239768d81a" ], [ "FStar.Classical.forall_intro_gtot", @@ -118,7 +118,7 @@ 1, [ "@query" ], 0, - "3328eb1e69a353f918d2f9eac85d698d" + "8eb3a0e499134b5aa4ab91df736cfeb0" ], [ "FStar.Classical.lemma_forall_intro_gtot", @@ -127,7 +127,7 @@ 1, [ "@query" ], 0, - "6a356338f938076a32dad5f739e975bb" + "261feb4a65b66107ec1d1f968d3ec3e5" ], [ "FStar.Classical.gtot_to_lemma", @@ -136,7 +136,7 @@ 1, [ "@query" ], 0, - "e9d37dca5c1c22b77a224df52e7e9591" + "08b52890c81783929384e93db00886ec" ], [ "FStar.Classical.forall_intro", @@ -145,7 +145,7 @@ 1, [ "@query" ], 0, - "cc4d556225ce39fdcd0402ce0c01ce05" + "b28ed3abbd3924c9de12a2a739e5042e" ], [ "FStar.Classical.forall_impl_intro", @@ -154,7 +154,7 @@ 1, [ "@query" ], 0, - "fa8a3cfe6aa0e48d0a45c3d360f4c179" + "70a87bcd932f5261d5793ec8522af285" ], [ "FStar.Classical.ghost_lemma", @@ -168,7 +168,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9bab8ff9d9e6fee0112d0b7fb659383d" + "3b0d4fa3968c34014f6380f80fd35a80" ], [ "FStar.Classical.exists_intro", @@ -177,7 +177,7 @@ 1, [ "@query" ], 0, - "0bfaeac7836557d626e5192992d8f874" + "958cc60d9ffad9391fa9d71212740a05" ], [ "FStar.Classical.exists_intro_not_all_not", @@ -195,7 +195,7 @@ "unit_typing" ], 0, - "47b0bab5045ea36a68c47021b67cb42a" + "9663fba4956689adfa2e22859bb6fe45" ], [ "FStar.Classical.forall_to_exists", @@ -204,7 +204,7 @@ 1, [ "@query" ], 0, - "05c78bd394096da457a507ced9b1e2e5" + "bc0f751ec672c9893a7b4dc3375f0619" ], [ "FStar.Classical.forall_to_exists_2", @@ -213,7 +213,7 @@ 1, [ "@query" ], 0, - "db4313478e6ee116119277b40e374953" + "64da76786f265a98d96eca53ba82b04a" ], [ "FStar.Classical.exists_elim", @@ -225,7 +225,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ac20177ab852f22ae0dbd877d6a6223b" + "56ae9abc16d30555b64506e243355642" ], [ "FStar.Classical.or_elim", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5e494a7a2d0c42baa8825ee62599ff98" + "7d346ee7bbd4eda377a3ad40ad93708c" ], [ "FStar.Classical.or_elim", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e2b2d37d4e059c587bf6cf9d50e934b0" + "901e35df22ebf70cdef445949fd6997b" ], [ "FStar.Classical.or_elim", @@ -261,7 +261,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e8968263801008e13f4a3eda8e166181" + "14cb5f681502b954c2ba334502c190df" ], [ "FStar.Classical.excluded_middle", @@ -270,7 +270,7 @@ 1, [ "@query" ], 0, - "1b12cfb428263c48ab96493baa068c94" + "c66ab078d9b1d72f2301a6bb9a1ba01a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Classical.fsti.hints b/ulib/.cache/FStar.Classical.fsti.hints index be462f0ebd3..cf2fb924697 100644 --- a/ulib/.cache/FStar.Classical.fsti.hints +++ b/ulib/.cache/FStar.Classical.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "941387e22ad36c157af395e24ec7b53c" + "a4df9c7e9720ac6a5e0c69ed577eaaff" ], [ "FStar.Classical.or_elim", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3cb4ca4b07ae005b88a6df08f5fd9c98" + "163eb5efddff3a3a0c1a264fa6814b4b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.ConstantTime.Integers.fst.hints b/ulib/.cache/FStar.ConstantTime.Integers.fst.hints index 8e7443aa18f..77277071ce7 100644 --- a/ulib/.cache/FStar.ConstantTime.Integers.fst.hints +++ b/ulib/.cache/FStar.ConstantTime.Integers.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "6403213c7c670d000bfa5a60436347c3" + "5f7e8cbdf5694df8593b75fa258ae039" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099" ], 0, - "d1b27314a06aa39708e8619a649df5c3" + "77de905f9287a02df07582eba1ff33af" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -38,7 +38,7 @@ "typing_FStar.Integers.int_t", "typing_FStar.Integers.u" ], 0, - "6ba491cb62521bdd0f2e4509f63491e1" + "6920c5d87673d8e2b43f3428c7a04c9d" ], [ "FStar.ConstantTime.Integers.hide_reveal", @@ -85,7 +85,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "ae14408d22bfe5d0dc72e1b368877426" + "c4608b1126ead19747f20bfb42639970" ], [ "FStar.ConstantTime.Integers.promote", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "b22cca4d9c21afef8c56b2ffc6bb004e" + "643644a892d58a5179a872027788d1c3" ], [ "FStar.ConstantTime.Integers.promote", @@ -108,7 +108,7 @@ "typing_FStar.ConstantTime.Integers.secret_int" ], 0, - "132bc6bfb4592beb3c0fe6df70cdbd97" + "017dfe6555382cccc49b67a1eef46153" ], [ "FStar.ConstantTime.Integers.addition", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_563fc497911f71a623b7cef8e703192d" ], 0, - "4eed8b8d7ab2405ed80af494a7262def" + "bb77e99d46354f9794284ae1c54e89a6" ], [ "FStar.ConstantTime.Integers.addition", @@ -217,7 +217,7 @@ "typing_Tm_abs_14540b1677bb0879c263763c122744f7" ], 0, - "29bd4dd795bb07eca73ee90213f15049" + "5c0611f894c867ab472a56b9cf0aadd0" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "0c94f4c824782afcdaf5f7d13efc7d6c" + "74587051ba5179e60ea8367a9589802c" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -259,7 +259,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "675efc9a597bcc616e91f5c6b41045bd" + "8f645eb95a9a205a6ec7f0e7bb67592e" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -340,7 +340,7 @@ "typing_Tm_abs_3b3b3487729e58b4bfeba69d78394443" ], 0, - "89cc52c61d593166ed85fb79a661d470" + "a2d0850d1b397a9e960d5073728389f0" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sl", @@ -354,7 +354,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "f373f59aeff80b646963bf929eb8dd16" + "4cfdbb4eea7e388a7c658ad7048c0012" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__l", @@ -370,7 +370,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "093a262292939b5efb358adbe193df21" + "e38aea243e4b4d1777a65e661e1f91ea" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sw", @@ -384,7 +384,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "3b52068623e59394325a2f0404babf67" + "23ef45cc44047a4318385a3ffa53d550" ], [ "FStar.ConstantTime.Integers.__proj__Public__item__sw", @@ -398,7 +398,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "e6692c1511a8ed7bcb7eefca323302a2" + "b8637a0c8723f32b06c99a92e5ec6937" ], [ "FStar.ConstantTime.Integers.sw_qual", @@ -412,7 +412,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "60cfb86afb9d4d8ff15ade2319f8420f" + "3718a964b2256fd98e02fa995a165136" ], [ "FStar.ConstantTime.Integers.label_qual", @@ -428,7 +428,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "e69bc6ff41befe69135ac5ccc2c4f893" + "2ddb96f322bf669d50374d7d88d82e5b" ], [ "FStar.ConstantTime.Integers.t", @@ -442,7 +442,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "c9ad2b7a72ad4510625fe20e7bee015f" + "eca09708dbaa30435cb71ddd30ee006b" ], [ "FStar.ConstantTime.Integers.i", @@ -475,7 +475,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "f7aa83982441d931843d34ae91b34a05" + "e0384944fd1cc533ef9764c9c7c708a3" ], [ "FStar.ConstantTime.Integers.as_secret", @@ -493,7 +493,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "c2466f3c2ac16137cda7f3d6aafd25de" + "521164564c05ecc045900d27d89d0e65" ], [ "FStar.ConstantTime.Integers.as_public", @@ -507,7 +507,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "514472b6bac36196b5adf064ca7963a9" + "d98b1ffdff3476dd9154e609f4bd406e" ], [ "FStar.ConstantTime.Integers.op_Plus", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_d8987a157553fa216aae082b75bdf3d6" ], 0, - "fef9617effc8b458f659a671b56d0888" + "1fde1d14b532e71dae0337402080d468" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -542,7 +542,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "1cefbfed3cbe9365310d8f7e19a41f62" + "e8c8faa46797945871d5d844c5d84d78" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -569,7 +569,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "3c71c49886f96685efe2b81e1b946e74" + "f2d36be2f6e545313e87ab9c9f7fb790" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.ConstantTime.Integers.fsti.hints b/ulib/.cache/FStar.ConstantTime.Integers.fsti.hints index 74258336eb4..74c6a1f367f 100644 --- a/ulib/.cache/FStar.ConstantTime.Integers.fsti.hints +++ b/ulib/.cache/FStar.ConstantTime.Integers.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "6403213c7c670d000bfa5a60436347c3" + "5f7e8cbdf5694df8593b75fa258ae039" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099" ], 0, - "451803864889f2ca94a540ef3c5dc545" + "8fa0f73ba809d43a060f7b27b9e7741d" ], [ "FStar.ConstantTime.Integers.promote", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "18321ae044a40fc72024b8695216a53b" + "2591d93edbc1b49401fd145900c6fa4a" ], [ "FStar.ConstantTime.Integers.addition", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_563fc497911f71a623b7cef8e703192d" ], 0, - "4c41fe02f1e73a7c79cf114bcd93ce88" + "506c5835c02c2e3e599b34c913b50de9" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "9bb5cd9fb2e9a3e8fc0af3acf7cc3d5c" + "6fbe97600b804ab061951180c4ad79e4" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sl", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "26a412e0622b8d9af82b8389b2b116b1" + "2072aa939223d340a47552df8b90b77c" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__l", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "22b2e5ffbf005e109ebe0c099a455d53" + "8649907fb0a569dc535abef798b4b4b9" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sw", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "0939bfc97b5314f569181f628503aff9" + "197512b275b1b21177a091f6145a6b91" ], [ "FStar.ConstantTime.Integers.__proj__Public__item__sw", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "a3e7cfa230a300fa5d975dc8567e2d74" + "5501dd08477e02f16cc0ead0632d52f1" ], [ "FStar.ConstantTime.Integers.sw_qual", @@ -134,7 +134,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "74cb3df41342eb2ed25d5a842b72a83d" + "de46dfc1246920b99fc19e3dbb629a9d" ], [ "FStar.ConstantTime.Integers.label_qual", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "8b70cbb47b3189d8387f1169fd0a60f0" + "f53a6f14b44a016c45c7141893e6c753" ], [ "FStar.ConstantTime.Integers.t", @@ -164,7 +164,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "d06a36c96bc7708db983d15010fc54ac" + "4e72ced0d0a6c94b5bd811b0fe6fe811" ], [ "FStar.ConstantTime.Integers.i", @@ -197,7 +197,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "4f7950ea84c15551486ea197cff8d85f" + "62fc3eb5fe1ca326edd605ab4b5b3ebd" ], [ "FStar.ConstantTime.Integers.as_secret", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "3dd7cb2c025638949ba6ba4e02ecd95a" + "f34e63f712269274259d3557c62345f4" ], [ "FStar.ConstantTime.Integers.as_public", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "471887979b6e4d2d5945ff34f8c9e26e" + "ba4f16745f1ee4d9ca20042a3e1f7973" ], [ "FStar.ConstantTime.Integers.op_Plus", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_d8987a157553fa216aae082b75bdf3d6" ], 0, - "4d225f3ed7ca6fe79064697cfa21e05e" + "8333553c25cb0653e13cb88726bd9ca9" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -264,7 +264,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "be6bb3be33b6524d3de463b68c16fe96" + "7b1c27b8b75d5832e9f7a6b7ef2c4f34" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "6310563ee865ed86df301b68598d5d1b" + "404e53f7801326ee0c809b369ac67791" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Constructive.fst.hints b/ulib/.cache/FStar.Constructive.fst.hints index 73879d30640..997ef4a26ec 100644 --- a/ulib/.cache/FStar.Constructive.fst.hints +++ b/ulib/.cache/FStar.Constructive.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f8e4bdff4ef6b0f02d3f42d139ce30d2" + "3947c4b97bd735941c4184d0fde30b0f" ], [ "FStar.Constructive.cor", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "3debc68cf722a324dc5b57d2af92d6eb" + "58431d053bae18407fafa939543dc8d9" ], [ "FStar.Constructive.__proj__IntroL__item__h", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_5f96298b0b74547bf135efed6725faec" ], 0, - "50dd48d155b5f27cb442049f15686366" + "8e2efbf046c9a09d9d4c03e347437374" ], [ "FStar.Constructive.__proj__IntroR__item__h", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_7fbfb42f7ce95e0df3d91787685cfbfc" ], 0, - "66519405128c9f99be7bf1c0195d4848" + "165171a4bf2c7337d87637cadd322d08" ], [ "FStar.Constructive.eq_ind", @@ -57,7 +57,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "15f683a785a281bd167c0d7dd9d4a98b" + "90f59c1f9f29562e2d0531a4c225cc74" ], [ "FStar.Constructive.ceq_eq", @@ -69,7 +69,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "6c61c47eb709dabc7e724ebdb7999cb4" + "08b36f7750daaa4a070a4610038f8e6a" ], [ "FStar.Constructive.ceq_congruence", @@ -81,7 +81,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "46e2e146c5fa147f36d08adc7dca2aea" + "7647d83693ad2a66623683cd58b56f0a" ], [ "FStar.Constructive.ceq_symm", @@ -93,7 +93,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "257435b483f64d82ce3521b4f5ec8e9b" + "b486391a4d030be025f0c2aeac300f0a" ], [ "FStar.Constructive.ceq_trans", @@ -105,7 +105,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "407debe51ded51831bfc04bac5934970" + "6696ee9725b818dc7442a6513f2a6532" ], [ "FStar.Constructive.cfalse_elim", @@ -117,7 +117,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "3d2f8210668035466853a38ada7b3934" + "b3a0dc3766b38ca777fc89aa6b3d687b" ], [ "FStar.Constructive.false_elim2", @@ -129,7 +129,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "f7e8ee35b2ebfd4e6002565cea9d6ce1" + "87a93e7604def842b90e715e9bff7406" ], [ "FStar.Constructive.false_elim", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "119e7b715de15b7b6c6320ac33753c7e" + "91f3a5feef613699386f2e5bae256a48" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Crypto.fst.hints b/ulib/.cache/FStar.Crypto.fst.hints index 0a61ded083a..24539b3c9ed 100644 --- a/ulib/.cache/FStar.Crypto.fst.hints +++ b/ulib/.cache/FStar.Crypto.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "33d2ed4f0aa31e1bf62c269e6af359f6" + "4d50c6740dafb8088bba038f4b274105" ], [ "FStar.Crypto.aes_128_encrypt", @@ -23,7 +23,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "2d94acc479ccad69ec6b02482f36fcac" + "6ecb44edda1a41d2df1d75921261a2c1" ], [ "FStar.Crypto.rsa_pkey", @@ -36,7 +36,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "dd39eaaf16c778382cae8aef950758e2" + "14cf53d267e9df2f9c85c5072fa715c2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.DependentMap.fst.hints b/ulib/.cache/FStar.DependentMap.fst.hints index a38c7786ad9..05c15f133c8 100644 --- a/ulib/.cache/FStar.DependentMap.fst.hints +++ b/ulib/.cache/FStar.DependentMap.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5a4a14669dd4a6c12cd230d9838855d9" + "0577dcef6089ffd62a720569588c2c04" ], [ "FStar.DependentMap.sel_create", @@ -34,7 +34,7 @@ "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "88092981b2c02007bf907d4cbfb25cb4" + "3072119d624b107f87b6b40b4f86e319" ], [ "FStar.DependentMap.upd", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c87f4ff8206a1a1cd948cb8feca89cd7" + "eddb5b4ba105fe940052cfe2e71a08d2" ], [ "FStar.DependentMap.sel_upd_same", @@ -74,7 +74,7 @@ "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "f37e270b5a6b94fb400b1dc4c67a4579" + "ddc82c5c9ddf7ca1ee2634dff0efd8f4" ], [ "FStar.DependentMap.sel_upd_other", @@ -98,21 +98,7 @@ "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "63f2d4a143eb485bc4b50307bff4d3c4" - ], - [ - "FStar.DependentMap.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "29f7bcc34a4f89350f45a8f65ecbac6c" + "cb289c189e7c8a91ec3e65b05a574322" ], [ "FStar.DependentMap.equal_intro", @@ -121,7 +107,7 @@ 1, [ "@query", "equation_FStar.DependentMap.equal" ], 0, - "62307d0ccb9a29018f803757c399cdbf" + "e08222602452aee4189f3e58dcd35784" ], [ "FStar.DependentMap.equal_refl", @@ -130,7 +116,7 @@ 1, [ "@query", "lemma_FStar.DependentMap.equal_intro" ], 0, - "5caf6b2d1f1b29aedb29e5b8d4546eaa" + "21887a28412f2efd7b26e73285c79331" ], [ "FStar.DependentMap.equal_elim", @@ -151,7 +137,7 @@ "typing_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "4347af25485b894f2927e75b569928ef" + "dd04cf5166e345bad90035503c9f0f80" ], [ "FStar.DependentMap.restrict", @@ -174,7 +160,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "277a8f1124a7d85819b68901f8e4f3d5" + "a6b7e189a7c8479dd9460795bd60ef86" ], [ "FStar.DependentMap.restrict", @@ -197,7 +183,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "5eb88ed9dc586d59e0056a0f2e1b7847" + "f6a118c64a9bc210ff6f5122248fa98c" ], [ "FStar.DependentMap.sel_restrict", @@ -224,7 +210,7 @@ "typing_FStar.DependentMap.restrict" ], 0, - "4d8943af96f7bb61178b34fb6448d1e0" + "6353143acdc954bf40f0b6c6e97ecc85" ], [ "FStar.DependentMap.sel_restrict", @@ -251,7 +237,7 @@ "typing_FStar.DependentMap.restrict" ], 0, - "f27a7ceb4aba3a18dc720d0b88bae7b4" + "a9886a35a30a7ea7c3f1ef9c66e6a3c2" ], [ "FStar.DependentMap.concat_value", @@ -265,7 +251,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "21dccd2be655c576236f47c9c577c925" + "7de71f8ddbb8e30c16c5b64bd26c45bd" ], [ "FStar.DependentMap.concat_mappings", @@ -289,7 +275,7 @@ "projection_inverse_FStar.Pervasives.Inr_v" ], 0, - "17261d88b8e3444003db9d1a65a5efb0" + "3fe7223d4eeb7053bbbbb5168ccaae23" ], [ "FStar.DependentMap.concat", @@ -317,7 +303,7 @@ "typing_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "012ca9c8dc19472b668588ab4df1266a" + "a27c02669f6bdf75b2314e805929c98a" ], [ "FStar.DependentMap.concat", @@ -345,7 +331,7 @@ "typing_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "ca73b28121f6095cf180b5a14c5ace03" + "12ea605134b417ae50b161d39bf177e0" ], [ "FStar.DependentMap.sel_concat_l", @@ -384,7 +370,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "17a6daee2cf358d26d3f4f4db3a7b5a6" + "dfd6b266c603873f55268734a27014cd" ], [ "FStar.DependentMap.sel_concat_l", @@ -422,7 +408,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "57f516492f71eab742c94deb8cdf5236" + "a4eaf9f24d44a340861806c8f6fb66ec" ], [ "FStar.DependentMap.sel_concat_r", @@ -461,7 +447,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "0f0efec4468bae1c4f4e268d96229da0" + "778d9875c1ed68e911afde28db046125" ], [ "FStar.DependentMap.sel_concat_r", @@ -499,7 +485,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "3e3deead40477c2fe2e7ee0edaf4a0fc" + "8892c3a064c99562eb34fffe437b65cb" ], [ "FStar.DependentMap.rename", @@ -520,7 +506,7 @@ "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" ], 0, - "50d32f37046989adf31c2746447c44fb" + "43d32c17a3cb11a56932007d4b66a007" ], [ "FStar.DependentMap.sel_rename", @@ -547,7 +533,7 @@ "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" ], 0, - "ad4560177c820ea7a94829a91d9787e0" + "ae8c61b71d47d7c418220bfb9958e454" ], [ "FStar.DependentMap.map", @@ -563,7 +549,7 @@ "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" ], 0, - "4e87fc81a356d1cdea0348edf6821edb" + "05290369879c8d0fc5b84947b5335477" ], [ "FStar.DependentMap.sel_map", @@ -585,7 +571,7 @@ "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" ], 0, - "b1a38c7c9dff30c7f85a37283460bac3" + "e90cbb7d9162ccc09c567092f8dd7ede" ], [ "FStar.DependentMap.map_upd", @@ -614,7 +600,7 @@ "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "9f1580b760728cd42dc95ab1c5189728" + "525f9a361caf1dc703cb04edf2cb8434" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.DependentMap.fsti.hints b/ulib/.cache/FStar.DependentMap.fsti.hints index e41a31556ee..de973e51d45 100644 --- a/ulib/.cache/FStar.DependentMap.fsti.hints +++ b/ulib/.cache/FStar.DependentMap.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0770e3c5d3cf7f2c6300d5ffc4d76f7" + "05a7b5ad1b2e72b03d4073dbb5c73635" ], [ "FStar.DependentMap.sel_restrict", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0b1a70a9d3a6865bebd427d3e3458367" + "523a3d40c97e150369bee51e3123a252" ], [ "FStar.DependentMap.concat_value", @@ -37,7 +37,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "79414e5822a57a4ee54d313d74e3700c" + "35abd9a2554d00fe483cbad6e54e1c33" ], [ "FStar.DependentMap.concat", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4f6a808a1649b7f0c7a0d30cf550320" + "25ef323a62efa3802360a7a2ede6d8bd" ], [ "FStar.DependentMap.sel_concat_l", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2e3cf21d6addd6875f65bbcd21a8c3a" + "4f09575f4eef51cf1e9fba61583d964f" ], [ "FStar.DependentMap.sel_concat_r", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a7bab26d4fa6b3b06df68f9c2e3cff77" + "6bde2b6ebe00bb41230fadebd257016f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Endianness.fst.hints b/ulib/.cache/FStar.Endianness.fst.hints index f472f4849c9..df1517e7934 100644 --- a/ulib/.cache/FStar.Endianness.fst.hints +++ b/ulib/.cache/FStar.Endianness.fst.hints @@ -32,7 +32,7 @@ "well-founded-ordering-on-nat" ], 0, - "07150928cde33e00dfd9157a76263485" + "0f5384d5bf7e54f4849c7265e1d7f22d" ], [ "FStar.Endianness.be_to_n", @@ -65,7 +65,7 @@ "well-founded-ordering-on-nat" ], 0, - "5a0305215fc65222325e78103ea0fd63" + "5a9c6bee2e81e7a347d02db115e7242f" ], [ "FStar.Endianness.reveal_le_to_n", @@ -81,7 +81,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "ba12e845fca348f81628d684d855f2cf" + "78fb5375def13fd60c7c6c191578668d" ], [ "FStar.Endianness.reveal_le_to_n", @@ -99,7 +99,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "bd5ad156ec7598956e23b8bf795b4964" + "cbd46f3a82b084ebd209195d6315c58d" ], [ "FStar.Endianness.reveal_be_to_n", @@ -121,7 +121,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "465196805ff2463c27de75c499ecba6e" + "b39a1269ba3fbb15f65354dec7329bf1" ], [ "FStar.Endianness.reveal_be_to_n", @@ -138,7 +138,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "2c5682d8f470465583ad3aea90a8ccfd" + "92a0502fbab33c591e66110f76afbb22" ], [ "FStar.Endianness.lemma_euclidean_division", @@ -150,7 +150,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "a75852fa7c5e99312a202b3279563346" + "9ea5375c196ef14d7ef948d70738eac7" ], [ "FStar.Endianness.lemma_factorise", @@ -163,7 +163,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7fa67e1f7755f7c2b3ee0ec4f0e50b76" + "d6c39ec126052fe30c920cf9a124105b" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -179,7 +179,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "1c8b90e0fb7c70ae9c476545f689ad17" + "0beedf161eb22b90bf74a5707a73f57b" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -196,7 +196,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "99b1d2b4f725a81df0bf5d442c148777" + "eec2d1dab3a6e037a740844b6fdfc464" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -236,7 +236,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "27434856026d5853c965715f853af67a" + "986a676742ec881a526273766fb097bc" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -252,7 +252,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "f8367129761cbe46463cb54c3eb7b56f" + "90d7f8a052b5d2783671da36397d94fa" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -269,7 +269,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "7e42c8d32b73227d01302bc804ca6fd4" + "71a55cbd2c6119090879dce1bb265cea" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -307,7 +307,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "c77ca49e2796fa78defdbdf85e39c181" + "0ee9371ff4e937e7c10cdccceea0682e" ], [ "FStar.Endianness.n_to_le", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "89a78cc0a9013a23e3f3de3160e0fa55" + "40a348d48f2283c3ae470e5d9d66f243" ], [ "FStar.Endianness.n_to_le", @@ -333,7 +333,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9daa970489f5d175a6934d6e80b3f149" + "3ddf37822b26cfc9c5db10669a41100c" ], [ "FStar.Endianness.n_to_le", @@ -392,7 +392,7 @@ "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" ], 0, - "686c386f4a4a9cce98868ffc567008f1" + "e27a81ed2a8570a803bcab93c807e31c" ], [ "FStar.Endianness.n_to_be", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "71ccf0e7d8b9ace49f28a1d75c46e5b3" + "ee2aa8db066527013e3b001ac2548a31" ], [ "FStar.Endianness.n_to_be", @@ -418,7 +418,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "196b787de7ae54bf28b2e90c14dfa700" + "904b139c818a7e89f59b1135a702fa3e" ], [ "FStar.Endianness.n_to_be", @@ -476,7 +476,7 @@ "well-founded-ordering-on-nat" ], 0, - "e424a682b7dc88dff576d88f975248ad" + "7b4f4fcf092f8c5421432ca4adcbde00" ], [ "FStar.Endianness.n_to_le_inj", @@ -492,7 +492,7 @@ "typing_FStar.Endianness.n_to_le" ], 0, - "9ef350d51bb568aeef601be279331940" + "eaa74c2085fd30f2ba5c4a530da3db18" ], [ "FStar.Endianness.n_to_le_inj", @@ -506,7 +506,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "50060dd7024b4c348e769b1d00771360" + "158f73979a68e4c3be872d9fb4e75c58" ], [ "FStar.Endianness.n_to_le_inj", @@ -519,7 +519,7 @@ "typing_FStar.Endianness.n_to_le" ], 0, - "f242a07b9975c120179b87f259617478" + "5afcb4313debbda713a8a3bd92eed287" ], [ "FStar.Endianness.n_to_be_inj", @@ -535,7 +535,7 @@ "typing_FStar.Endianness.n_to_be" ], 0, - "701267b24034e243a603e6876858940b" + "dcf393db9f6d4ec9135248372544d173" ], [ "FStar.Endianness.n_to_be_inj", @@ -549,7 +549,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "39b1e274d85023a64a76064da8963b8f" + "6711c147971c3741182420de67e2a18d" ], [ "FStar.Endianness.n_to_be_inj", @@ -562,7 +562,7 @@ "typing_FStar.Endianness.n_to_be" ], 0, - "821c531f65a71d267ab0620b01abb585" + "5fc33eaa575448ad088e744c0a252afe" ], [ "FStar.Endianness.be_to_n_inj", @@ -616,7 +616,7 @@ "well-founded-ordering-on-nat" ], 0, - "57d9a5a8f8848531f36b5f560333091c" + "6fe84b971e98af783286b7a3a87fa162" ], [ "FStar.Endianness.le_to_n_inj", @@ -671,7 +671,7 @@ "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" ], 0, - "ccf97a9a808ed278996a1f90ed939aba" + "cafe7ae8e4ec023b7276edc9d8015b54" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -684,7 +684,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "adad7aaf9c4543d45d21c1b873cf649a" + "ae7a30a65d165bb84c71ea8f7fe79eab" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -699,7 +699,7 @@ "typing_FStar.UInt8.t" ], 0, - "2ccbd0c1227fee4d96d40c21962787b1" + "d46c23090e89a4e9b3cafa3cc68028b8" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -712,7 +712,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a568c5e135dc482f5e6d2db209ed7e72" + "833c4fdbfb482010aed211e6efe8570b" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -727,7 +727,7 @@ "typing_FStar.UInt8.t" ], 0, - "c860dc443dfc36e8c78344005e4630bc" + "ccf002d76e4073f992cb79699c5b38be" ], [ "FStar.Endianness.uint32_of_le", @@ -747,7 +747,7 @@ "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" ], 0, - "2a2242a98b632f445713a21159cd9d7a" + "89ebf3f24c175bedf70abf1073d1fb04" ], [ "FStar.Endianness.le_of_uint32", @@ -764,7 +764,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "297d73ae3daac483a7aaca77b2fa09fb" + "5ed623052ca122ea8b09f8a350b164ab" ], [ "FStar.Endianness.uint32_of_be", @@ -784,7 +784,7 @@ "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" ], 0, - "313c8a66e29067f4790591d0f621af3e" + "f937cc93803751ff35c2cbd628c6b1ab" ], [ "FStar.Endianness.be_of_uint32", @@ -801,7 +801,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "507865f07b705f90fb2716c08f414cbc" + "c9fa53b56e2bf12ac2b6f7770a2d89f9" ], [ "FStar.Endianness.uint64_of_le", @@ -821,7 +821,7 @@ "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" ], 0, - "eff1638baed55bc3c3c2c72d6f64a7cb" + "fd571e155e0a88c942c718607cdd5553" ], [ "FStar.Endianness.le_of_uint64", @@ -838,7 +838,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3e3119e4459657004b5505fcab38512f" + "5de36043e9bf8ee57285ed33f8ea9805" ], [ "FStar.Endianness.uint64_of_be", @@ -858,7 +858,7 @@ "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" ], 0, - "4123632517037b1edadeb95f1072c873" + "6387b0226eaaaf7f337fe6ecac3bdb4f" ], [ "FStar.Endianness.be_of_uint64", @@ -875,7 +875,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "059a8f978634c2f1aae82f52e0809d8e" + "44722b689c07e8f6cdf0bf3eb4e9abd5" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -889,7 +889,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "20dd01dec4892e5181ccc5ae7be4b440" + "aa6e4652a8a8c6317770675a43e9210a" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -903,7 +903,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b79e976b6bb111009b22ceb0e831b55" + "4340e57e9b97d0f617f7c2cd048c7c92" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -941,7 +941,7 @@ "well-founded-ordering-on-nat" ], 0, - "53ff0849812542ade38679dc6aec613e" + "3e6dbc418febd1f16d270ad8051643f3" ], [ "FStar.Endianness.le_of_seq_uint32", @@ -974,7 +974,7 @@ "well-founded-ordering-on-nat" ], 0, - "9dba78f6d786c595b723e1eabcce3e99" + "39d6adc456c283cfbd4d813ad9b9409a" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -988,7 +988,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4d3f6d6026a94bd5c8e730f7356f62d8" + "8d711630b992636a7fe6f4678026fd17" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -1002,7 +1002,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3766d10d3509688fcd89096605d77625" + "5229bfed7e6d897fb5e7e7c06fb4a9a6" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -1040,7 +1040,7 @@ "well-founded-ordering-on-nat" ], 0, - "b2dd1ce5d495128f71d1aa9a5654a3fb" + "eb379faee388983d2cce06609435352e" ], [ "FStar.Endianness.be_of_seq_uint32", @@ -1073,7 +1073,7 @@ "well-founded-ordering-on-nat" ], 0, - "d284dd8cf94ec2d0ffcff2fa9433a97c" + "0d92e62b6dc747d563b8f4784ca79f96" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1087,7 +1087,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6c991d193494a6779e8acdade1a334f" + "abf0d7299abf44714c593da70638ae6b" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1101,7 +1101,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "810169f274004f83705ebeaeafd78ad5" + "41d24d3ee440fb8ec901322101933f77" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1139,7 +1139,7 @@ "well-founded-ordering-on-nat" ], 0, - "b988973235a028c6486aeb792ee147f1" + "d905c110dc2c401dd0cc9a14fe14743f" ], [ "FStar.Endianness.le_of_seq_uint64", @@ -1172,7 +1172,7 @@ "well-founded-ordering-on-nat" ], 0, - "0b8074f771662ebc72c394f5855b1bf9" + "d7985e1b282a395986cea4ecfff5112a" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1186,7 +1186,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a2171e8897a3cc243f364407687be11" + "ce151ff017f72c11d1c93f4179c3929f" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1200,7 +1200,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07d0d234c6f364b74a2b6b570a44c5bc" + "51f3f4820bad83aa6fe05c23807a8994" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1238,7 +1238,7 @@ "well-founded-ordering-on-nat" ], 0, - "e178b04d93343e2cca184f44b948383d" + "3ca450587b2784716db4f5381d6f9fcb" ], [ "FStar.Endianness.be_of_seq_uint64", @@ -1271,7 +1271,7 @@ "well-founded-ordering-on-nat" ], 0, - "e37fd79cce9466213ef4b49f2e419bd7" + "1dce47af8e509bf41d7a71d1a4e556c5" ], [ "FStar.Endianness.offset_uint32_be", @@ -1295,7 +1295,7 @@ "typing_FStar.UInt8.t" ], 0, - "08bea14c960f347ed44a8aa14ce59c3b" + "62d6415094c9c383342aa845ea144e3e" ], [ "FStar.Endianness.offset_uint32_be", @@ -1320,7 +1320,7 @@ "typing_FStar.UInt8.t" ], 0, - "f81597dafa9dc9144a40e04bd4291699" + "6e6f0c81d75b7b4c9cc00b9a863f2139" ], [ "FStar.Endianness.offset_uint32_be", @@ -1385,7 +1385,7 @@ "well-founded-ordering-on-nat" ], 0, - "6ebd861f79a79311133144137a59565f" + "883b1bf80f59e67160779ab5b644ce1e" ], [ "FStar.Endianness.offset_uint32_le", @@ -1409,7 +1409,7 @@ "typing_FStar.UInt8.t" ], 0, - "fd09a5c01dabc39813dbccf50f0c0019" + "3196ebdb9038a0cc9cc6fa4e9fdd995a" ], [ "FStar.Endianness.offset_uint32_le", @@ -1434,7 +1434,7 @@ "typing_FStar.UInt8.t" ], 0, - "9dd3921af604c5f8895f77715b7a98c8" + "b2efad5ab0a365a5319aa022bb33b559" ], [ "FStar.Endianness.offset_uint32_le", @@ -1491,7 +1491,7 @@ "well-founded-ordering-on-nat" ], 0, - "329dab98f57f970e3d7d5e6d736067c1" + "a69746b7ea5d4cc1fa378ca3cdae3308" ], [ "FStar.Endianness.offset_uint64_be", @@ -1515,7 +1515,7 @@ "typing_FStar.UInt8.t" ], 0, - "5b5ce03d1eaf96c7db072542e98b9b4b" + "5da44bd0f2480822d9a100fc1a70c3bf" ], [ "FStar.Endianness.offset_uint64_be", @@ -1540,7 +1540,7 @@ "typing_FStar.UInt8.t" ], 0, - "785d873bb66bb7c19ca51f2b640dacf9" + "1b5b9ff0aa9787fef1ebaf8e41dbe2d3" ], [ "FStar.Endianness.offset_uint64_be", @@ -1605,7 +1605,7 @@ "well-founded-ordering-on-nat" ], 0, - "7fe8b5662984b8c0a2dab3d1dfdd15e8" + "18d9de52d2162279d2e2e61b067143d1" ], [ "FStar.Endianness.offset_uint64_le", @@ -1629,7 +1629,7 @@ "typing_FStar.UInt8.t" ], 0, - "64b339d06a4cd29e17d4fda192e899ee" + "5090d2be753311ce4286eb7931fe6f47" ], [ "FStar.Endianness.offset_uint64_le", @@ -1654,7 +1654,7 @@ "typing_FStar.UInt8.t" ], 0, - "2272ac3407988658f0b3d1d00337b520" + "8ff608f98c726cf5aa324da0e75907dd" ], [ "FStar.Endianness.offset_uint64_le", @@ -1711,7 +1711,7 @@ "well-founded-ordering-on-nat" ], 0, - "64c10a7de5de596f762c45fbf834537a" + "cec384bcfbb0958a5abd4cbeebcd8f0b" ], [ "FStar.Endianness.tail_cons", @@ -1745,7 +1745,7 @@ "typing_FStar.Seq.Properties.tail" ], 0, - "9a400f0db66ebdd890d3bde2801b7714" + "8e2d506e3c82dbe8d32fc169a0b9bff5" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -1791,7 +1791,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "968254334b50c02d113804cdc9f86bbe" + "b1a95a243fb324173c8fcace0cb0bb15" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -1837,7 +1837,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "794588716db43757f0ee1faf2692dd4a" + "b0d868c7d5d25afdf6b4d22cfec17d65" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -1883,7 +1883,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "8cdb24d04fb53bbd324faada8ef207ad" + "88194dd870d8e1989418a87ebeb78a54" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -1929,7 +1929,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "69b8baf3d0e9435a12d4b65fa7266138" + "d02a0cd0bc131c4c5b6c6dcec120504f" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -1975,7 +1975,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt64.v" ], 0, - "ca17e754ddda089b0469e0ccf61d1834" + "421ec3c97aee989536825be58f103022" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -2021,7 +2021,7 @@ "typing_FStar.UInt64.v", "typing_FStar.UInt8.t" ], 0, - "12b8655f6293be878f0e5f40d80c757c" + "f36be3fedf8fdf89d3afa099e1d77280" ], [ "FStar.Endianness.be_of_seq_uint32_append", @@ -2090,7 +2090,7 @@ "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" ], 0, - "7f66b4cba4d947f0b5abac2a33aeeded" + "4040c3663996a21df35d1c7bfc893f5e" ], [ "FStar.Endianness.le_of_seq_uint32_append", @@ -2155,7 +2155,7 @@ "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" ], 0, - "94c7e1a87395ffe4cbb9ca207c917069" + "15496b001835eb42b00b983104fafa02" ], [ "FStar.Endianness.be_of_seq_uint64_append", @@ -2218,7 +2218,7 @@ "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" ], 0, - "cd60ae7b876f7426aa835b0e02ddaef7" + "60777df8d09fe7ae3c4bfcf3bb9c0c32" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2230,7 +2230,7 @@ "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" ], 0, - "8307f4005ec162662d509733bb088793" + "9b10f72fcfde434f0ff91802201118ef" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2242,7 +2242,7 @@ "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" ], 0, - "3ca27c8a694222ea38fa645a2852b57b" + "dc8db280339255f3c4f776f735b84dcc" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2312,7 +2312,7 @@ "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" ], 0, - "1bdd8d9d5d772865161035ba14db2f57" + "2e03c7266d9045638aea6517b74a4e37" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2324,7 +2324,7 @@ "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" ], 0, - "a6d8146417eae011e2466505d87922bd" + "8b48ce9f3bd854ffa5d108097806080b" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2336,7 +2336,7 @@ "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" ], 0, - "caa1b3b7eb2c446dfd013b467f0c22d7" + "0d5c2d59d0f5beca6ffc54dca7992574" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2409,7 +2409,7 @@ "well-founded-ordering-on-nat" ], 0, - "8cd07b3dcf0612b3b8565c3bbb36a55c" + "6748e6a59b382d92fd3c66642f265f72" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -2433,7 +2433,7 @@ "typing_FStar.UInt8.t" ], 0, - "fa7f1e298b13df05c997cbf464acc999" + "247f8621d6267729def47a6560e6edad" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -2470,7 +2470,7 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt8.t" ], 0, - "25d82c46205d231952dbfafa9e85c809" + "54ed77ec073760c1e98467917caafdd6" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -2492,7 +2492,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t" ], 0, - "62d74f5d2599a91c24ad2dfef2551a88" + "bf1b2735369ea001afd27a9841bcb840" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -2529,7 +2529,7 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt8.t" ], 0, - "dc91505d74c25b310dd531bdd29a66f8" + "8fccfae38dfdcb572f5f35474427cc2f" ], [ "FStar.Endianness.le_to_n_zeros", @@ -2576,7 +2576,7 @@ "well-founded-ordering-on-nat" ], 0, - "32abaac1ed2e8d3aeb0ae73d6a2821cc" + "033b480845b1817f42be649a4a4b5efa" ], [ "FStar.Endianness.be_to_n_zeros", @@ -2624,7 +2624,7 @@ "well-founded-ordering-on-nat" ], 0, - "4f809546961f624771d072a6933f3b6b" + "fd38729362f3662338e8972c9a1b06d8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Endianness.fsti.hints b/ulib/.cache/FStar.Endianness.fsti.hints index fe176641145..83157c62ab6 100644 --- a/ulib/.cache/FStar.Endianness.fsti.hints +++ b/ulib/.cache/FStar.Endianness.fsti.hints @@ -15,7 +15,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "6524b23777e97ab97f5a731622dd0538" + "8d3af876130021b10c38ed1d6ff6283c" ], [ "FStar.Endianness.reveal_be_to_n", @@ -37,7 +37,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "39fb8fa1d0c1e6fc1072c8938d79f2bd" + "090dcc08651769b7786704435eb1f76f" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -53,7 +53,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "93bf1cdb9a347bf363db2a9181e5b5fb" + "3ebd40454c0a08c37824cc9fb7d4a247" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -69,7 +69,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "33e22b3d6eccd92d60a066902de3e0db" + "c01a1720df7b6e87306e690892800500" ], [ "FStar.Endianness.n_to_le", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e7229b85a18f7ec2ecd61dd62269bb3f" + "e388e2b2d454a6bc7f8bd9ce03a26439" ], [ "FStar.Endianness.n_to_be", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a0ec78fcc4342a871be1605d4e7ae3c5" + "1c4898459445884dd56924a3fad80a7a" ], [ "FStar.Endianness.n_to_le_inj", @@ -111,7 +111,7 @@ "typing_FStar.Endianness.n_to_le" ], 0, - "19e7b06d867e3ced50bd3c8898c4e5da" + "6c5433e8d537cc27105e091f7b7e7706" ], [ "FStar.Endianness.n_to_be_inj", @@ -127,7 +127,7 @@ "typing_FStar.Endianness.n_to_be" ], 0, - "46f15435a69a70dd19e71a03292ef3e3" + "cc2da42ac828d25a0c4f1788d4b10d17" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a78c811d9dc2a07c38c517c13a5c61a4" + "80c35608b77a2e53ce56cde4c48e1843" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "09199e68dbb40e31a04d4149793ae0b6" + "76c3e835664c1a84c220f20b3b6e3ffe" ], [ "FStar.Endianness.uint32_of_le", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" ], 0, - "b19bc46efb601c7cf456b0bcd5250eae" + "10475000bf5ce43cc61ebe902af8f615" ], [ "FStar.Endianness.le_of_uint32", @@ -188,7 +188,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a3fefd8c511eb3b88c75676790491c69" + "364b50388e5c99a3b210f28e31309c31" ], [ "FStar.Endianness.uint32_of_be", @@ -206,7 +206,7 @@ "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" ], 0, - "635ed30355bbe906bac438800913a042" + "a9829a0f3c944be6c4d3a1de6a445ee4" ], [ "FStar.Endianness.be_of_uint32", @@ -223,7 +223,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4c551b4d89010f300da60865229caa63" + "d1c3f738067d9a8f9115dd5dc023549c" ], [ "FStar.Endianness.uint64_of_le", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" ], 0, - "a31c88a93b71a66283b7bbdea8735056" + "bf6d1c41d0cb49f05cd058568d4ea235" ], [ "FStar.Endianness.le_of_uint64", @@ -258,7 +258,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "96d525dce9cdfe58bd55eb2b81258685" + "668f8a04a7715f5e583cf6b5bbf515d0" ], [ "FStar.Endianness.uint64_of_be", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" ], 0, - "806539dcbceeda80bd58d0218dbb5c22" + "157f46a3509625a05ddeab822f4b1507" ], [ "FStar.Endianness.be_of_uint64", @@ -293,7 +293,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4a206f168f68ace47307d6559e61de0d" + "7c83544677068759494ddbc206b3ddbf" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8fe50b975bf04ec7d23c6ec211b1700e" + "4fdd45d6b377815f4bd2cdb225566d8f" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -321,7 +321,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "81f25ca2d4ae40ec2cd6a161a537d5b5" + "caa0202f8b9db036c9acdcc37472b333" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf2c93a5c292bf5f795aa763e61ab3ee" + "168e5bf9dd565e1762f6694615bad85d" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -349,7 +349,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "69ca6854f1760494662bc6c177a0df37" + "f73eb56013ce62e21e605fbd7368b93f" ], [ "FStar.Endianness.offset_uint32_be", @@ -373,7 +373,7 @@ "typing_FStar.UInt8.t" ], 0, - "59811d75d542b0b0f0673b7e6e99efc0" + "b381e02e819bb96c6f6667a3762e4c59" ], [ "FStar.Endianness.offset_uint32_le", @@ -397,7 +397,7 @@ "typing_FStar.UInt8.t" ], 0, - "92260ac20d581d0aa0d912d7ea46f34b" + "a7b3511dfbd8df1c8d94c4a6b141fe50" ], [ "FStar.Endianness.offset_uint64_be", @@ -421,7 +421,7 @@ "typing_FStar.UInt8.t" ], 0, - "145850de2af573847820d917c0091f6c" + "af3bacf155207f037554100096fc0f44" ], [ "FStar.Endianness.offset_uint64_le", @@ -445,7 +445,7 @@ "typing_FStar.UInt8.t" ], 0, - "f2a3e74ae20c526f51fd9ff9a44448ec" + "9b24cc19c462ef340d96a52bf1ddc607" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -454,7 +454,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "ee03435c4113e09d293ce7ad6cdb0080" + "62edf65f7eb41685b3c7f1fa6e90635b" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -463,7 +463,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "c9b54e1f330d05c051e7397333bcd9fb" + "c1bbb32ebcfdbb6a93531b120aec1856" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -472,7 +472,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "9c08bd0056886f8e41b6c55fc1c9de65" + "6011ad60aa1c7ebce36cf76de7505911" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -484,7 +484,7 @@ "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" ], 0, - "c9ba6a282e43a1825f688cb04910315f" + "317fce554d7b1abbde8c36385a3ae5bf" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -496,7 +496,7 @@ "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" ], 0, - "8fec62efe173065b93e472d05d841a9f" + "329450c8d582a4922e252b9efd949d8b" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -520,7 +520,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" ], 0, - "45678d132c47a5b128e7cfc2b2421ee8" + "0df394d8991de7902e7ef433df0f2067" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -541,7 +541,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t" ], 0, - "8ccf0ec1348ef7dd0352250d8e6c4598" + "034b2d366ab5de6f818dfd1789416f28" ], [ "FStar.Endianness.le_to_n_zeros", @@ -584,7 +584,7 @@ "typing_FStar.UInt8.uint_to_t", "well-founded-ordering-on-nat" ], 0, - "1b4ed515d39a255c043bfdc32abae07f" + "ea8f7e9bf137ac0075b477c7df649f9f" ], [ "FStar.Endianness.be_to_n_zeros", @@ -626,7 +626,7 @@ "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" ], 0, - "42b5fb467edb270a81a798d8941a502d" + "fbd3747d89d1ce393a7a8e32d2e58ff5" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Error.fst.hints b/ulib/.cache/FStar.Error.fst.hints index 5576cb36881..1b9b3114abd 100644 --- a/ulib/.cache/FStar.Error.fst.hints +++ b/ulib/.cache/FStar.Error.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2ec7ccf4aea9adae8f5c26bd446b032b" + "102bcd8dde92f25f737acd0af0777696" ], [ "FStar.Error.__proj__Error__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_813a5bb4d39ab83f71d70e865ca6a2c8" ], 0, - "367de249a90895fcd47c56335ccb9e31" + "94f7aa28c6d266edd201d9a6a78430cf" ], [ "FStar.Error.__proj__Correct__item___0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_9570651724fccc40ed9243df14ac4feb" ], 0, - "ff9779670b31031efb05bd56fff790e8" + "bd7414007b33b506795b2e367b46fa3e" ], [ "FStar.Error.invertOptResult", @@ -50,7 +50,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ee39ecc70f03a39f6b9474df5832aea4" + "2d2732c6e83cce3f30f87bad2a776f68" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Fin.fst.hints b/ulib/.cache/FStar.Fin.fst.hints index 2a546b0a8d9..bba5a7e3a23 100644 --- a/ulib/.cache/FStar.Fin.fst.hints +++ b/ulib/.cache/FStar.Fin.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3252df6b56036c23d9f5d85ab68cd978" + "b1b56ff74e34db44eff8897b7c4a6d47" ], [ "FStar.Fin.seqn", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b08732bdbc662383140264f7f844b6c5" + "8514bcfbad72b0a0a3e93daaef8da279" ], [ "FStar.Fin.find", @@ -41,7 +41,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "c69e6ed5f56b30ed64c90746094296e3" + "8f0d8d843a9360efa4de73a4d74fdcb0" ], [ "FStar.Fin.find", @@ -82,7 +82,7 @@ "well-founded-ordering-on-nat" ], 0, - "5addb1b2c23236fd8cd7ca55df32cc54" + "73cdd7918ce71c107482fb7ba464fc8a" ], [ "FStar.Fin.find", @@ -118,7 +118,7 @@ "well-founded-ordering-on-nat" ], 0, - "905e95916d027db0a1a92953b44d86fa" + "ffad234144a72f5c82b0334a6fd5b474" ], [ "FStar.Fin.pigeonhole", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "38e6d58f4a914acd5c235f635ad4f2b2" + "d51802afbae47feecae2e99c44298b9f" ], [ "FStar.Fin.pigeonhole", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "713dea1e68549acc582c86dbf7f80490" + "9e8f03331c38c72d6ce47a37211683a8" ], [ "FStar.Fin.pigeonhole", @@ -216,7 +216,7 @@ "well-founded-ordering-on-nat" ], 0, - "f05ef8a61d7dbd918a55c6c8c0e7ad5f" + "26f4ccf4f3aa6fba85eae805b50f5f42" ], [ "FStar.Fin.is_reflexive_intro", @@ -229,7 +229,7 @@ "l_quant_interp_97a8722758f410e68da89478a021b07c" ], 0, - "cb7e00ac8c6481d0dd067dcde40ff512" + "04f8e8ebf1a73b8e98e9cb439554b97a" ], [ "FStar.Fin.is_symmetric_intro", @@ -242,7 +242,7 @@ "l_quant_interp_97a8722758f410e68da89478a021b07c" ], 0, - "e20f31b9150ed10e22961ddd96a66596" + "63b363ef064d1b02d9669ab91a9f5c38" ], [ "FStar.Fin.is_transitive_intro", @@ -255,7 +255,7 @@ "l_quant_interp_97a8722758f410e68da89478a021b07c" ], 0, - "29410bda766ee36e7da0e51db763f4e5" + "c5323e99edf8722e1e030ea6b2e325ad" ], [ "FStar.Fin.refl_lemma", @@ -271,7 +271,7 @@ "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" ], 0, - "acd9882c71081bc18741b79af1b6f084" + "996ef43e9b4716c2abad4e6b35d1ced4" ], [ "FStar.Fin.symm_lemma", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" ], 0, - "bb290348433523c3e547cd3ff5687160" + "cd28bd9c91133307cc602b304bb8f45b" ], [ "FStar.Fin.trans_lemma", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" ], 0, - "e605ae3bc76792b8dcc32ddbefb5746c" + "df62405c8e6896b0dfe1b8026f887aef" ], [ "FStar.Fin.contains_eq_means_nonempty", @@ -324,7 +324,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "5b79c7ff89908cc33566227dc5c35787" + "20346518224571ae21fccb9e662c771f" ], [ "FStar.Fin.tail_contains_eq", @@ -333,7 +333,7 @@ 1, [ "@query", "lemma_FStar.Fin.contains_eq_means_nonempty" ], 0, - "1ac96be312de2eddf96b5cb0749c6a18" + "fa9145e8442f1a633f995d427529dcf0" ], [ "FStar.Fin.tail_contains_eq", @@ -374,7 +374,7 @@ "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" ], 0, - "1d9e3420a88f3af4878d362c3e32b29c" + "2d4867a27fc3d916907eb275be013b49" ], [ "FStar.Fin.find_eq", @@ -383,7 +383,7 @@ 1, [ "@query" ], 0, - "ce3620270045ac56f6a065283a534fa3" + "2e3b46bcbe0c3ca5f2a250441cf62f18" ], [ "FStar.Fin.find_eq", @@ -392,7 +392,7 @@ 1, [ "@query" ], 0, - "cf6b633ad55a1afd58a59283c318c8c1" + "1c7cfaf0dce5b8f2a557d0aec5302667" ], [ "FStar.Fin.find_eq", @@ -439,7 +439,7 @@ "well-founded-ordering-on-nat" ], 0, - "80841d54719e2ebc3b47db9704d51b39" + "7243739dac4cf81c0f08dbd32d9f0318" ], [ "FStar.Fin.pigeonhole_eq", @@ -518,7 +518,7 @@ "well-founded-ordering-on-nat" ], 0, - "663d8b9fb927d308e4053b2ed37c3657" + "855b8e3cb92757a846c6ba6ee4fc82ad" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Fin.fsti.hints b/ulib/.cache/FStar.Fin.fsti.hints index 041d531ac39..cb5bab706b5 100644 --- a/ulib/.cache/FStar.Fin.fsti.hints +++ b/ulib/.cache/FStar.Fin.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b57b5b683392f4582c14f75f60ea0eb1" + "4e75c43f194a895d22c4e8b5e04db3d6" ], [ "FStar.Fin.seqn", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce51dd0fcd2ec7770580ab9a6c31e709" + "283d797fe542ffc68a1f9a88a1713f83" ], [ "FStar.Fin.find", @@ -39,7 +39,7 @@ "typing_FStar.Fin.in_" ], 0, - "00b0795a935a5a7ff22fb8b7eec5368c" + "8829ca882d0c2eca020012fdd3042642" ], [ "FStar.Fin.pigeonhole", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d584c3b51e2167ac1a6fdb791b2afb51" + "8344729ed96d10c019f5c34b2cf2ee2d" ], [ "FStar.Fin.find_eq", @@ -65,7 +65,7 @@ 1, [ "@query" ], 0, - "bb368e57a32d79571898a14895168fd6" + "9d1dcdc65790e7cfe90f0bdbdc061cb8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteMap.Ambient.fst.hints b/ulib/.cache/FStar.FiniteMap.Ambient.fst.hints index 9b92a10abff..e51ae88e89d 100644 --- a/ulib/.cache/FStar.FiniteMap.Ambient.fst.hints +++ b/ulib/.cache/FStar.FiniteMap.Ambient.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "402166165d5624dba288477370d2def8" + "d6f125fb5d3c63a9e51f96540e713adc" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteMap.Base.fst.hints b/ulib/.cache/FStar.FiniteMap.Base.fst.hints index 4a8d88e8468..fc0f5b38dfc 100644 --- a/ulib/.cache/FStar.FiniteMap.Base.fst.hints +++ b/ulib/.cache/FStar.FiniteMap.Base.fst.hints @@ -1,5 +1,5 @@ [ - ":x%\u0013†°¯*ám\u007fü€Qp\u000b", + "â©Ÿ] ÒCŸ\u001dt\u0019Ú\u0011aÄ)", [ [ "FStar.FiniteMap.Base.elements", @@ -11,7 +11,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "39603a4c6d52eccdbe220f1282e64500" + "0ab0e3abce1a290b435b614c935e3ff5" ], [ "FStar.FiniteMap.Base.key_in_item_list", @@ -27,7 +27,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "bd02f205b924006741ae3b5039c4abcc" + "6324e9e595fcd8fda80b02e5cd4172e9" ], [ "FStar.FiniteMap.Base.item_list_doesnt_repeat_keys", @@ -43,7 +43,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "461d1eb1d1e8b2645eec4014ee67e719" + "305eda53cccc7a66e25f947e7dce5b69" ], [ "FStar.FiniteMap.Base.key_list_to_item_list", @@ -99,7 +99,7 @@ "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" ], 0, - "21e5a97386fa353c8e6e5b19bfc5194f" + "e530a2badd5dab6b0e38e736e49b83a0" ], [ "FStar.FiniteMap.Base.map_as_list", @@ -118,7 +118,7 @@ "typing_FStar.FiniteSet.Base.set_as_list" ], 0, - "ebbdaa0b6deb278e19c1929c5151e116" + "6ae71ef101cfc2cb60fe2444b9be014c" ], [ "FStar.FiniteMap.Base.lookup", @@ -137,33 +137,7 @@ "typing_FStar.FiniteMap.Base.elements" ], 0, - "b03b208dae640f4ea2c27605e28b4550" - ], - [ - "FStar.FiniteMap.Base.values", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "edcfa2b1bdfea758ff40ef5a0caf32d1" - ], - [ - "FStar.FiniteMap.Base.items", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "5765b2e1bb3ba2e4d0655e16adc77237" + "7c10d4971280e44304ba79071049a8c2" ], [ "FStar.FiniteMap.Base.emptymap", @@ -193,7 +167,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "9e41ef7d9aea3ba625b7b2e7d71afcae" + "97ec54c998b90f28dd776cca1749a3b7" ], [ "FStar.FiniteMap.Base.insert", @@ -236,7 +210,7 @@ "typing_Tm_abs_fb9acaeb86461f02bd24e1fd771e9687" ], 0, - "6f26a7574d3ad560674baef2561bfeb3" + "026a493ea4db5fe93d8e0e79aa67186b" ], [ "FStar.FiniteMap.Base.merge", @@ -275,7 +249,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "892f4d751b3684719a0ea8212c90ef1a" + "d29fcf132c7f64f73321deb5fae0c4f3" ], [ "FStar.FiniteMap.Base.subtract", @@ -315,33 +289,7 @@ "typing_Tm_abs_e2aae21cccda41e2ae80ca9d9c5abee1" ], 0, - "14ed612877f3a7c344b1857b4ae4cdbc" - ], - [ - "FStar.FiniteMap.Base.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.auto_squash", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "611e7e0e0891b10c22afda1d161c4fcf" - ], - [ - "FStar.FiniteMap.Base.disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.auto_squash", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3915f819f1bcf77a09ce20c8a082b657" + "4e829012ddc285d81f11aa638b6129a0" ], [ "FStar.FiniteMap.Base.choose", @@ -356,7 +304,7 @@ "refinement_interpretation_Tm_refine_fae28b35ce14492a5b997a1f26404042" ], 0, - "d153b0520f0955cac6604e41354421b0" + "e7c082a7301cdd92c21ab07fa3b46761" ], [ "FStar.FiniteMap.Base.map_cardinality_matches_domain_fact", @@ -370,7 +318,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c4e000cbcf36f678ccbb26b798ae31f" + "b68828fa35145fa980ff9ae793845046" ], [ "FStar.FiniteMap.Base.insert_member_cardinality_fact", @@ -384,7 +332,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b1cb4904c8e33a9db5a9642276467875" + "9b43a2b0e88c012fcca3ba610f68891b" ], [ "FStar.FiniteMap.Base.cardinality_zero_iff_empty_lemma", @@ -436,7 +384,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "7da4da943c810908b885a5ddbf4f814d" + "6988d953a8019bf8421a55c0d5d72eff" ], [ "FStar.FiniteMap.Base.empty_or_domain_occupied_lemma", @@ -468,7 +416,7 @@ "typing_FStar.FiniteMap.Base.domain" ], 0, - "29fd89e06473c7aa4486ebf9ad9d441c" + "d15293bf250f10fa541882e9eff39739" ], [ "FStar.FiniteMap.Base.empty_or_values_occupied_lemma", @@ -523,7 +471,7 @@ "typing_FStar.FiniteMap.Base.mem", "typing_FStar.FiniteSet.Base.mem" ], 0, - "770f4c046582638f05b9b2dfa041f3ac" + "f27281c0e579d2896d44945752e4b651" ], [ "FStar.FiniteMap.Base.empty_or_items_occupied_lemma", @@ -590,7 +538,7 @@ "typing_FStar.FiniteMap.Base.mem", "typing_FStar.FiniteSet.Base.mem" ], 0, - "a2d43b748becedc40639db4624a0ec1a" + "51580eb6b2b3df95c34e8c21a2be85ab" ], [ "FStar.FiniteMap.Base.map_cardinality_matches_domain_lemma", @@ -602,7 +550,7 @@ "equation_FStar.FiniteMap.Base.map_cardinality_matches_domain_fact" ], 0, - "31858bf017b993ae2d72ae2830929b8a" + "e61d97370178304dec1abf18737170ee" ], [ "FStar.FiniteMap.Base.values_contains_lemma", @@ -633,7 +581,7 @@ "token_correspondence_FStar.FiniteMap.Base.values" ], 0, - "bd4eabee888bbc2d0c75cd79afae3727" + "4ae0885ef6ef1513eddc62457ae3d8fe" ], [ "FStar.FiniteMap.Base.items_contains_lemma", @@ -665,7 +613,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "63cf85eba32245646574e1c91b004a24" + "e3b6cd73eb0143d110efaf884f00da37" ], [ "FStar.FiniteMap.Base.empty_domain_empty_lemma", @@ -686,7 +634,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a5b81060ffe85d1cd3fd697fbad102cc" + "a6f89840bb901253fb02b7928c8a7f1c" ], [ "FStar.FiniteMap.Base.glue_domain_lemma", @@ -700,7 +648,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "88a4a6cd71d578387c083e2ae4a2095a" + "93f10e1bd33f4a1b13ec3deeb6d74323" ], [ "FStar.FiniteMap.Base.glue_elements_lemma", @@ -716,7 +664,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "5294694e08ed0b0bad125d6a9d0d6012" + "1e6a0d42cfc69f5ea1dc26caa7f8d56f" ], [ "FStar.FiniteMap.Base.insert_elements_lemma", @@ -763,7 +711,7 @@ "typing_Tm_abs_fb9acaeb86461f02bd24e1fd771e9687" ], 0, - "740142d4d02266941d3710b9e24af8f2" + "ee77a758cbaf174d4465c8e9314f93f9" ], [ "FStar.FiniteMap.Base.insert_member_cardinality_lemma", @@ -786,7 +734,7 @@ "typing_FStar.FiniteMap.Base.domain" ], 0, - "c9dd92cddc424a1c08745752a76324ab" + "d435cb9dcf3b1a37557965a437bef6fd" ], [ "FStar.FiniteMap.Base.insert_nonmember_cardinality_lemma", @@ -809,7 +757,7 @@ "typing_FStar.FiniteMap.Base.domain" ], 0, - "290b7c6f446265b285f0dcb976a37e90" + "b338f6183bcbb2a97b853cf8b3027e84" ], [ "FStar.FiniteMap.Base.merge_domain_is_union_lemma", @@ -823,7 +771,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "d30ae1f6bd6d85334dd5c23086facd47" + "3d981e9f7b2b56d91f197b9e76fad2f2" ], [ "FStar.FiniteMap.Base.merge_element_lemma", @@ -861,7 +809,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "6f20411807eb7c81525fe28daf06a15b" + "22a32c865be455bd1df0fd3d3555beb9" ], [ "FStar.FiniteMap.Base.subtract_domain_lemma", @@ -875,7 +823,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "346c7a863b4ea3d9930f4d85f044124e" + "e70aef1b38d84294c38c137abd123267" ], [ "FStar.FiniteMap.Base.subtract_element_lemma", @@ -913,7 +861,7 @@ "typing_Tm_abs_e2aae21cccda41e2ae80ca9d9c5abee1" ], 0, - "44b28453ff64d28e46be327c1ad2b43c" + "3ee0197798a63b10f606a62c0eeb8d26" ], [ "FStar.FiniteMap.Base.map_equal_lemma", @@ -922,7 +870,7 @@ 1, [ "@query", "true_interp" ], 0, - "c1e345ecc4db1902ea16e99f0fe97d21" + "62f46ff44630edbb49adfe5402a2ddc5" ], [ "FStar.FiniteMap.Base.map_equal_lemma", @@ -947,7 +895,7 @@ "typing_FStar.FiniteMap.Base.elements" ], 0, - "1d97b382b0b5d0c626e234371529c629" + "e4771e3e4901b83b43eb67e3f7bc57d1" ], [ "FStar.FiniteMap.Base.map_equal_lemma", @@ -971,7 +919,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "dad0e42c7a932862b4c55a5d67b21c2d" + "c4d473beebf37450760a712b98dc46bc" ], [ "FStar.FiniteMap.Base.map_extensionality_lemma", @@ -1009,7 +957,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "22d2526c85f499864f04a636ccb0d31a" + "9530a859bb3791908159f6fb16fb342f" ], [ "FStar.FiniteMap.Base.disjoint_lemma", @@ -1033,7 +981,7 @@ "typing_FStar.FiniteSet.Base.mem" ], 0, - "5f5344d0dbc032c6b5686a9b211a1d0a" + "e7be5b1eb7d9b4d1427610d65e077f82" ], [ "FStar.FiniteMap.Base.all_finite_map_facts_lemma", @@ -1042,7 +990,7 @@ 1, [ "@query", "equation_FStar.FiniteMap.Base.all_finite_map_facts" ], 0, - "b0b54c6668bad17ddc943ad70f90938b" + "06e93ef73c5154af3855f0e8ea56fc4c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteMap.Base.fsti.hints b/ulib/.cache/FStar.FiniteMap.Base.fsti.hints index 401b62c62da..a53e53554b3 100644 --- a/ulib/.cache/FStar.FiniteMap.Base.fsti.hints +++ b/ulib/.cache/FStar.FiniteMap.Base.fsti.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "86fe701f8d5837419c25d34df1e7e56c" + "3499e1e0f6c7ad82f7a33f429c166568" ], [ "FStar.FiniteMap.Base.item_list_doesnt_repeat_keys", @@ -31,7 +31,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f98e2a5b5e4b6fbbe1a8640bf1708f54" + "2d19febe681c2bfaadba97ef2b7084b2" ], [ "FStar.FiniteMap.Base.lookup", @@ -49,7 +49,7 @@ "typing_FStar.FiniteMap.Base.elements" ], 0, - "f6dd28ff535b3335d5970f21c939a7f8" + "5d12579661488e5d5d874e6196f1c0bd" ], [ "FStar.FiniteMap.Base.map_cardinality_matches_domain_fact", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8f60e6fa1d28e3c6594a0abf1211734f" + "cb3c0ab72a54d93380ad4fce471bf91d" ], [ "FStar.FiniteMap.Base.glue_elements_fact", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "40c52d2ec11f9d95454db32c42ce3200" + "644a60a2633f360b9a27dc38122835f4" ], [ "FStar.FiniteMap.Base.insert_member_cardinality_fact", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f51bdc969eba9a38bb71e3a032b6f4d5" + "20532ca9a9ae446c6779c25a67b2fae1" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteSet.Ambient.fst.hints b/ulib/.cache/FStar.FiniteSet.Ambient.fst.hints index 3e37e237808..cbc41d8f56f 100644 --- a/ulib/.cache/FStar.FiniteSet.Ambient.fst.hints +++ b/ulib/.cache/FStar.FiniteSet.Ambient.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "61f5e4651c25366c85e218e74df9aadf" + "98ad23a582fed4bd552be6c092965735" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteSet.Base.fst.hints b/ulib/.cache/FStar.FiniteSet.Base.fst.hints index 84777caa661..fb585225666 100644 --- a/ulib/.cache/FStar.FiniteSet.Base.fst.hints +++ b/ulib/.cache/FStar.FiniteSet.Base.fst.hints @@ -1,19 +1,6 @@ [ "ãK\nd\u0001ºJ¦\u0002$hé\f>†", [ - [ - "FStar.FiniteSet.Base.has_elements", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "d26ca7a7be1516b4ecb982e98f66184f" - ], [ "FStar.FiniteSet.Base.list_nonrepeating", 1, @@ -28,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "642f607d576f4c691d584e95d2f195bd" + "1889cc1d5179babf691670e116fadd92" ], [ "FStar.FiniteSet.Base.remove_repeats", @@ -62,7 +49,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "01662d298c24d19a7cb2bd772a998794" + "0a46d35db9b31e5bcda3ae8be0c7531c" ], [ "FStar.FiniteSet.Base.set_as_list", @@ -87,7 +74,7 @@ "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" ], 0, - "62eac0b1a6f70dd8cf8997f90fb4dc09" + "3d8579b7ab1e22699f77cff7d035f320" ], [ "FStar.FiniteSet.Base.intro_set", @@ -96,7 +83,7 @@ 1, [ "@query" ], 0, - "72a6f56cfc0d965a4463f382f1215ff1" + "73470179e8c503b902e49ba4c682f3bd" ], [ "FStar.FiniteSet.Base.emptyset", @@ -123,7 +110,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "5aa772675dc93fbf4c6b9c5ba4bda29b" + "ac0e059adb4810920d557e32484c94b0" ], [ "FStar.FiniteSet.Base.insert", @@ -163,7 +150,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "9fa61cd6310c6c4c630ce1aa6bdb7417" + "3388aceafeedc44ee901e0e69e2c1a47" ], [ "FStar.FiniteSet.Base.union_lists", @@ -192,7 +179,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "f3d963de70fd9964ffb6cc7560d5517f" + "479ab4aba2f81a1886e981342462e4fb" ], [ "FStar.FiniteSet.Base.union", @@ -229,7 +216,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "84e4525c08479b5ccee9703886c31f47" + "1e384fdee401fbcf0bec1fc2216b8bae" ], [ "FStar.FiniteSet.Base.intersect_lists", @@ -257,7 +244,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "f07ca8e8390f17260b7d1f9bde28deaf" + "a5fb55f811974ce4a8486600a9041335" ], [ "FStar.FiniteSet.Base.intersection", @@ -294,7 +281,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "b434a53b7cc2cd970ed721d7c4c71fea" + "5adab26e62f44179bdc8123da66a3a4c" ], [ "FStar.FiniteSet.Base.difference_lists", @@ -325,7 +312,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "b80b3194498134da65bad0cb93dc36c9" + "85c1b3afdfc88494a52c6a6ebd35365c" ], [ "FStar.FiniteSet.Base.difference", @@ -363,7 +350,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "22e9ccaa1b860a1f110ea75127c01481" + "2de6392984363e5b7551e7c9096fdc0f" ], [ "FStar.FiniteSet.Base.choose", @@ -385,7 +372,7 @@ "typing_FStar.FiniteSet.Base.mem", "typing_Prims.uu___is_Cons" ], 0, - "d2e71eea02861717288d548d567c7b6c" + "b0f4b7b27bcfe6a7dbc708fd2531ea28" ], [ "FStar.FiniteSet.Base.insert_member_cardinality_fact", @@ -399,7 +386,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "83cc3f113c2032096b859010605003b2" + "f0b0033a09eb1006b566495e69d90e5b" ], [ "FStar.FiniteSet.Base.set_as_list_cardinality_fact", @@ -413,7 +400,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62167df324293dcfbd5116bfef0b8068" + "f3a0035f8aa384f52003ea7bf202f37d" ], [ "FStar.FiniteSet.Base.empty_set_contains_no_elements_lemma", @@ -439,7 +426,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "17c64a1c95f88b56ee1d37c3e7d53a86" + "0e9787bb407d74241ac7543aba983cb6" ], [ "FStar.FiniteSet.Base.length_zero_lemma", @@ -507,7 +494,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "d65bda455788d3e84866c7609227adb3" + "7a5dd48d466bc9beadf0909ce25a49be" ], [ "FStar.FiniteSet.Base.singleton_contains_argument_lemma", @@ -546,7 +533,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "0422fe7054d171d0b222d99c965288a0" + "a463a3c4226044c95cdbecedd7f04c49" ], [ "FStar.FiniteSet.Base.singleton_contains_lemma", @@ -588,7 +575,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "bf667762faad9c4bbca8c2368a3aaef8" + "7ab6ff321f02c255a25a40f1e8867782" ], [ "FStar.FiniteSet.Base.singleton_cardinality_helper", @@ -622,7 +609,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_Prims.uu___is_Cons" ], 0, - "022404f3207c31df8fab6d41868fe2fd" + "2a93238a6ecaa4c06a761bae231928a9" ], [ "FStar.FiniteSet.Base.singleton_cardinality_lemma", @@ -696,7 +683,7 @@ "typing_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c" ], 0, - "d3b191206fcddb23211806a218ab20a9" + "4ca4ef5c6a547201297c142a996d270f" ], [ "FStar.FiniteSet.Base.insert_lemma", @@ -726,7 +713,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "e6e7aad27b2e139df8748dafb3eb1e2f" + "609d788ceac2670a416c63cfc5178d30" ], [ "FStar.FiniteSet.Base.insert_contains_argument_lemma", @@ -762,7 +749,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "4fd4f2da0786f54fbb935a77012f81ac" + "639b4cf7b454b8142103b6328ea8286e" ], [ "FStar.FiniteSet.Base.insert_contains_lemma", @@ -789,7 +776,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "07fff81c6bb60406060af751bd219b6d" + "ad1eeda2afd18fde4722ed6d9e165ddf" ], [ "FStar.FiniteSet.Base.remove_from_nonrepeating_list", @@ -836,7 +823,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_Prims.uu___is_Cons" ], 0, - "c2add5fb027156eed58feae36eaa6bb1" + "aaa48d6901d1467cd02e27c953ecccda" ], [ "FStar.FiniteSet.Base.nonrepeating_lists_with_same_elements_have_same_length", @@ -850,7 +837,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1b17e890f06aabd438955cad549d4b53" + "57bd3530577450f52a9366bae9ad7e56" ], [ "FStar.FiniteSet.Base.nonrepeating_lists_with_same_elements_have_same_length", @@ -900,7 +887,7 @@ "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.mem" ], 0, - "85bb3c6fbee0525b93fbe12960591c6a" + "b31db8c771884821e36de990e813a631" ], [ "FStar.FiniteSet.Base.insert_member_cardinality_lemma", @@ -937,7 +924,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "3d26541bae8fa1a7920755fc1ba46d05" + "d7fa90c935bc5f43ba57d65565b1a334" ], [ "FStar.FiniteSet.Base.insert_nonmember_cardinality_lemma", @@ -1009,7 +996,7 @@ "typing_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c" ], 0, - "6005089ba9446aff4e292659dd575fcf" + "958d310ee95bd8c5dd8840a463d4ce19" ], [ "FStar.FiniteSet.Base.union_contains_lemma", @@ -1038,7 +1025,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "c2e0ce3efd2a02b248d448a24d381d1f" + "4a2d3d8a29055b9504384c91a74f31a1" ], [ "FStar.FiniteSet.Base.union_contains_element_from_first_argument_lemma", @@ -1068,7 +1055,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "c30b2a1cb7b33f22a14d5ca6cb1497fc" + "90d925d98fe68e796033092c1afc7a05" ], [ "FStar.FiniteSet.Base.union_contains_element_from_second_argument_lemma", @@ -1098,7 +1085,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "272e89bfb0ab5e0b75a74f0ea728f2b3" + "7bf9a8a21861eb37d65f39dda466b856" ], [ "FStar.FiniteSet.Base.union_of_disjoint_lemma", @@ -1150,7 +1137,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "e04911f1071e8f4d3aa9d63e9ef48b9e" + "fbfd2646a5fa7f4b4798a5ae88befddf" ], [ "FStar.FiniteSet.Base.intersection_contains_lemma", @@ -1179,7 +1166,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "26efdeac28ea9074c3db4a1cbcb2f419" + "2f61c1258151969a4ce46313406c6852" ], [ "FStar.FiniteSet.Base.union_idempotent_right_lemma", @@ -1218,7 +1205,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "3d6b75802ca21d2336fed65ff5915358" + "c6f53617b46953e8bb3636c98f671538" ], [ "FStar.FiniteSet.Base.union_idempotent_left_lemma", @@ -1257,7 +1244,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "baa753c5a8cdbd43aef8327fdd149534" + "af3688ad9bc85153e12dbf7f50ab62d0" ], [ "FStar.FiniteSet.Base.intersection_idempotent_right_lemma", @@ -1296,7 +1283,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "fd80538182d2997db4490c05b38fb45e" + "f5bfe3bd044d99ac342b0dd37932dafd" ], [ "FStar.FiniteSet.Base.intersection_idempotent_left_lemma", @@ -1335,7 +1322,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "c9c8e1b43c4b909e6f489f1f55f7bc65" + "0f01bf34253599b249469612a42296d3" ], [ "FStar.FiniteSet.Base.union_of_disjoint_nonrepeating_lists_length_lemma", @@ -1378,7 +1365,7 @@ "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.mem" ], 0, - "8d9a0c469fad4cfa8c026426987ef026" + "92469ea9036f41fb249899b925bcaff5" ], [ "FStar.FiniteSet.Base.union_of_disjoint_sets_cardinality_lemma", @@ -1419,7 +1406,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "4b74f21c86321212a109b96926fab32e" + "eeff8bec5bea1cc32ed97642a0718dca" ], [ "FStar.FiniteSet.Base.union_of_three_disjoint_sets_cardinality_lemma", @@ -1449,7 +1436,7 @@ "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "cd6549438451a821321ee2785c659c7e" + "4f5f93e08e6b8326f240000b8c00eedc" ], [ "FStar.FiniteSet.Base.cardinality_matches_difference_plus_intersection_lemma", @@ -1507,7 +1494,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "6d1efc8646138377006189f39d02fd32" + "5404b23e6a552639d6e7443211b87aee" ], [ "FStar.FiniteSet.Base.union_is_differences_and_intersection", @@ -1558,7 +1545,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "41e15e7e891750a299fd1eb4d4ab3c47" + "89b667b050287fb21c70b1a66e1f648a" ], [ "FStar.FiniteSet.Base.intersection_cardinality_helper", @@ -1611,7 +1598,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "1422acf3bd2491d170b2a9a92edde4fb" + "60d9fab4c78ad86da5829b3191dd6788" ], [ "FStar.FiniteSet.Base.intersection_cardinality_lemma", @@ -1624,7 +1611,7 @@ "refinement_interpretation_Tm_refine_f50eaf9418d872374eed1da7e8a5cf63" ], 0, - "f8a0f61585a1029007a18e0f3acd6f1a" + "2164eb1333ea4d41a4d520000c43e085" ], [ "FStar.FiniteSet.Base.difference_contains_lemma", @@ -1654,7 +1641,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "fa2b97da36ea6ff908e315f3a7dca6d0" + "de9a0c1b406ff0a1129188272b74ad8c" ], [ "FStar.FiniteSet.Base.difference_doesnt_include_lemma", @@ -1696,7 +1683,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "320eae0a44d19fca7cd6cfd4cab881cf" + "6b5a5f3d88f0bef4e608d1679a902ce9" ], [ "FStar.FiniteSet.Base.difference_cardinality_helper", @@ -1735,7 +1722,7 @@ "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "3a389c130b505f76dbf87c813ef65363" + "b25a7921fe8ee26800c84171d0576a20" ], [ "FStar.FiniteSet.Base.difference_cardinality_lemma", @@ -1748,7 +1735,7 @@ "refinement_interpretation_Tm_refine_a4ffbe34883eda92d26a339105d605de" ], 0, - "93a222f2284bdb55c3019867d0f060fc" + "221310cab25edd523f89acdf3aba34ea" ], [ "FStar.FiniteSet.Base.subset_helper", @@ -1773,7 +1760,7 @@ "typing_FStar.FiniteSet.Base.mem" ], 0, - "69df9e847e3d03f4894ed502c40d5771" + "759d81262f484c78249ff501b1cede06" ], [ "FStar.FiniteSet.Base.subset_lemma", @@ -1786,7 +1773,7 @@ "refinement_interpretation_Tm_refine_cc7eff2a661ecc3a4c20a20e53c4769d" ], 0, - "824097fa1fd094932cde03bb7b31e97e" + "2bcab85820982be235e315da0a6a514d" ], [ "FStar.FiniteSet.Base.equal_lemma", @@ -1816,7 +1803,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "69c7437dbbc7b5c47bca31776ce17183" + "7d2831b74932c22e2e7e67834e6207c6" ], [ "FStar.FiniteSet.Base.equal_extensionality_lemma", @@ -1838,7 +1825,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "e5288bdb7e96fdaa6f9cde79e13eea18" + "fe41081c7aa231a866fa381abc4cf6ba" ], [ "FStar.FiniteSet.Base.disjoint_lemma", @@ -1859,7 +1846,7 @@ "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" ], 0, - "93a0cbb4df4d0fe8ee700440ef744dd0" + "86f3ace351039a3e2c3adcbea8b5c8f8" ], [ "FStar.FiniteSet.Base.insert_remove_helper", @@ -1920,7 +1907,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "00a025c64e976fa25c5b09593ab9acfd" + "bc0da5d7e029f50ac00559630346a7d4" ], [ "FStar.FiniteSet.Base.insert_remove_lemma", @@ -1936,7 +1923,7 @@ "refinement_interpretation_Tm_refine_6466d0dc80efc0985b3e9fafdfb1ff6c" ], 0, - "721cfb197b1114e72350fad3cce83418" + "e861d2d1598b168ed3d5e46ce8a87321" ], [ "FStar.FiniteSet.Base.remove_insert_helper", @@ -1992,7 +1979,7 @@ "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" ], 0, - "a9135646346574e853b0ba316e179899" + "0f36ea5d83adf497b62d8230f449a4c8" ], [ "FStar.FiniteSet.Base.remove_insert_lemma", @@ -2008,7 +1995,7 @@ "refinement_interpretation_Tm_refine_ea6c64cd0c5b0a1c9e0d7be9e81ec1fc" ], 0, - "351daf0562b7dbc555f0a0fa0c5c35ba" + "a8229bab8dee5e24ad55a4e21bcb483d" ], [ "FStar.FiniteSet.Base.set_as_list_cardinality_lemma", @@ -2027,7 +2014,7 @@ "refinement_interpretation_Tm_refine_79f259659b40ee74ef6637c53f9a91d8" ], 0, - "ba02f6528992493b315cfc1eb28810d2" + "d01e093c886f771e16c7da95687cc419" ], [ "FStar.FiniteSet.Base.all_finite_set_facts_lemma", @@ -2036,7 +2023,7 @@ 1, [ "@query", "equation_FStar.FiniteSet.Base.all_finite_set_facts" ], 0, - "978c2464bb5dd19ce5d24cd9114cb8c9" + "56c915fd112307bce72d7dc0a7dc8d5d" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FiniteSet.Base.fsti.hints b/ulib/.cache/FStar.FiniteSet.Base.fsti.hints index 6bcd5a5c316..d0c6264d14b 100644 --- a/ulib/.cache/FStar.FiniteSet.Base.fsti.hints +++ b/ulib/.cache/FStar.FiniteSet.Base.fsti.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "6f98682f0b3aac7baab436dfaa21063e" + "56a6f3aea4ef5c4dc93bbd9ac63c2a96" ], [ "FStar.FiniteSet.Base.insert_member_cardinality_fact", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61903599c145f4820783d6b802bed33e" + "c05e0347fd117ce757f58bb11d5778d0" ], [ "FStar.FiniteSet.Base.set_as_list_cardinality_fact", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4fbced9d189335739c0f1c77395d3440" + "4ca5c6c1c2c14850d707e519c6fe64dd" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FunctionalExtensionality.fst.hints b/ulib/.cache/FStar.FunctionalExtensionality.fst.hints index 35438cb68a3..eed17b54d03 100644 --- a/ulib/.cache/FStar.FunctionalExtensionality.fst.hints +++ b/ulib/.cache/FStar.FunctionalExtensionality.fst.hints @@ -1,5 +1,5 @@ [ - "ÓÙá…\u001dcÙN_éñº„\u001e«", + "\u0010bÓ«Ê”\\\u0001\u001aþó­¸-ƒ\u0006", [ [ "FStar.FunctionalExtensionality.feq_on_domain", @@ -12,7 +12,7 @@ "interpretation_Tm_abs_d3988c6b3796e1c5fa6d721e12c50d6e" ], 0, - "e0cbe02cf99329163174296572782a63" + "95b802b3cf5eb16482ac72df3a03c94b" ], [ "FStar.FunctionalExtensionality.idempotence_on_domain", @@ -21,7 +21,7 @@ 0, [ "@query", "equation_FStar.FunctionalExtensionality.on_domain" ], 0, - "a246b92da223dd36e311253c59442308" + "b7e73cee4f8b27e3f1b5bbc65eac07dc" ], [ "FStar.FunctionalExtensionality.on_dom", @@ -33,7 +33,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain" ], 0, - "fb757130dc6b6e976f05f1e01c9e98b0" + "89c3526eae3dcdd9b767c967c94ef5b2" ], [ "FStar.FunctionalExtensionality.quantifier_as_lemma", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "591af4fa4138cc6f6b78ee2a37acbec0" + "6552e9b5b8d9019e78e671f8c5c14023" ], [ "FStar.FunctionalExtensionality.try_with", @@ -65,7 +65,7 @@ "typing_tok_FStar.Tactics.Common.NotAListLiteral@tok" ], 0, - "cc1aec02d890121882a554c07d3a90bd" + "2c1da0498ec80f6391cd227018fa6a21" ], [ "FStar.FunctionalExtensionality.extensionality_1", @@ -74,7 +74,7 @@ 1, [ "@query", "true_interp" ], 0, - "63908d644272ce609c07fb3b173856dc" + "0198f2ab7b3ede11016546dbd094e385" ], [ "FStar.FunctionalExtensionality.extensionality", @@ -87,7 +87,7 @@ "lemma_FStar.FunctionalExtensionality.feq_on_domain" ], 0, - "c6af707568ce6935a1eaddfc72a3346e" + "b357c5ed379599da9b9325f1c670e9ef" ], [ "FStar.FunctionalExtensionality.feq_on_domain_g", @@ -100,7 +100,7 @@ "interpretation_Tm_abs_9f8d8bcb0bd54b26007da155012bc829" ], 0, - "9fd007f3ec41d28c210f47b4c45d6192" + "6ed78c2f956e45eea356dcb12eae4c8e" ], [ "FStar.FunctionalExtensionality.idempotence_on_domain_g", @@ -109,7 +109,7 @@ 0, [ "@query", "equation_FStar.FunctionalExtensionality.on_domain_g" ], 0, - "651c1af79f4908b0d2524b224f0dc95b" + "17e16d6eac9412f19d6442d8d1b01b3b" ], [ "FStar.FunctionalExtensionality.on_dom_g", @@ -121,7 +121,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain_g" ], 0, - "393a59154c22b0f3bc23e2aac423f718" + "44e5e77c937481d52c9ea7d751eaca9c" ], [ "FStar.FunctionalExtensionality.extensionality_1_g", @@ -130,7 +130,7 @@ 1, [ "@query", "true_interp" ], 0, - "e7390add254a521d7527cdede3893b0a" + "da8519c72a5e5e4a23bf9bde51c33fd5" ], [ "FStar.FunctionalExtensionality.extensionality_g", @@ -143,7 +143,7 @@ "lemma_FStar.FunctionalExtensionality.feq_on_domain_g" ], 0, - "3e35bd13db604ad9273abf58763d52b7" + "c02bade2bda3e893788258d973b1147b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.FunctionalExtensionality.fsti.hints b/ulib/.cache/FStar.FunctionalExtensionality.fsti.hints index d93f829a81f..20274bda2ef 100644 --- a/ulib/.cache/FStar.FunctionalExtensionality.fsti.hints +++ b/ulib/.cache/FStar.FunctionalExtensionality.fsti.hints @@ -11,7 +11,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain" ], 0, - "e4c423eb18ba248115da972fbdc43212" + "d16c69e5ee78aa25d2540478f92d11a9" ], [ "FStar.FunctionalExtensionality.on_dom_g", @@ -23,7 +23,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain_g" ], 0, - "bcebc281365670e9d8e69d26bd3c0881" + "978befd19ef227263be7fcd776104a4c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.GSet.fst.hints b/ulib/.cache/FStar.GSet.fst.hints index 47ab81355fd..09e1521557e 100644 --- a/ulib/.cache/FStar.GSet.fst.hints +++ b/ulib/.cache/FStar.GSet.fst.hints @@ -20,7 +20,7 @@ "typing_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a" ], 0, - "5304e6616ffd619f4687ed24227a7997" + "25d807d29e72c52b9b0bb8561af37df4" ], [ "FStar.GSet.mem_singleton", @@ -46,7 +46,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "74fa0f3672be3f210053571cfb9001fc" + "24fab3a76340ab499350d8ade7b953e0" ], [ "FStar.GSet.mem_union", @@ -66,7 +66,7 @@ "typing_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6" ], 0, - "13ba68542ffa8d65956046933f633a64" + "f70ed742962d3597862a79870f962810" ], [ "FStar.GSet.mem_intersect", @@ -86,7 +86,7 @@ "typing_Tm_abs_a975c34356970f08473def30a6b8cce8" ], 0, - "9cabea0deeac51b029662b3968a394b8" + "b5d25252c21027180d4e61403eeaa4d5" ], [ "FStar.GSet.mem_complement", @@ -106,7 +106,7 @@ "typing_Tm_abs_dfb97e171517b82591b663e846196b33" ], 0, - "d39b9db1a9e60501f02d3fb7db5c0b33" + "db01fe0e18d16f101e8b5a775a594ff8" ], [ "FStar.GSet.mem_subset", @@ -115,7 +115,7 @@ 0, [ "@query", "equation_FStar.GSet.subset" ], 0, - "e54911317f1cb123ffa7b722a5333879" + "133b9c58095e6c3a1541c47a859cba3f" ], [ "FStar.GSet.subset_mem", @@ -124,7 +124,7 @@ 0, [ "@query", "equation_FStar.GSet.subset" ], 0, - "09fb51758ede93fa8f9730287bfe9097" + "8260655b8c2d101e6e0d76220d3dee49" ], [ "FStar.GSet.comprehend_mem", @@ -142,7 +142,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "26caad7d827be92b8cdc724f0596349a" + "0fece36c13f2beaf2310494ee01cd5b9" ], [ "FStar.GSet.mem_of_set", @@ -164,7 +164,7 @@ "typing_Tm_abs_7dd743b2279e91beed307d46578bdb4b" ], 0, - "e6ca6ce182de148526459819eb7e1bb2" + "9650ec47f09535228b566a31ebcd7c2f" ], [ "FStar.GSet.lemma_equal_intro", @@ -176,7 +176,7 @@ "equation_FStar.GSet.equal", "equation_FStar.GSet.mem" ], 0, - "a4e60852ef8e6e6dd3e6e4665a1c26b3" + "3a0865f4853be869e1c9ebbf61b4be28" ], [ "FStar.GSet.lemma_equal_elim", @@ -193,7 +193,7 @@ "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "ebc188cf7404326041b87f2781268392" + "a2e71716bccb5399694fbbba182f9a0b" ], [ "FStar.GSet.lemma_equal_refl", @@ -202,7 +202,7 @@ 0, [ "@query", "lemma_FStar.GSet.lemma_equal_intro" ], 0, - "b9a30ea41be7d461d2a16ad3bb0c2bba" + "85113ab196463a406e44381d20619633" ], [ "FStar.GSet.disjoint_not_in_both", @@ -218,7 +218,7 @@ "typing_FStar.GSet.mem" ], 0, - "c5edc87e4ac5cd4333f966548efb1082" + "e2cf7d1fbbc90ce9b4690d829f9e360d" ], [ "FStar.GSet.as_set'", @@ -232,7 +232,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "0aef11c7ad73aba315a9a56260dafac9" + "fb4d12af9fc93b1b84897c67d857fa0b" ], [ "FStar.GSet.lemma_disjoint_subset", @@ -250,7 +250,7 @@ "typing_FStar.GSet.mem" ], 0, - "738d694d0a2f34a3e726d66059eace9d" + "c0efd17dbbcd99db83356074c4cabea3" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.GSet.fsti.hints b/ulib/.cache/FStar.GSet.fsti.hints index ce4469336e9..3450a630ced 100644 --- a/ulib/.cache/FStar.GSet.fsti.hints +++ b/ulib/.cache/FStar.GSet.fsti.hints @@ -14,7 +14,7 @@ "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem" ], 0, - "9a957fee0e7817c7694408112041593c" + "4be818d14bb634f505778edbcc4efdf9" ], [ "FStar.GSet.as_set'", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f35d8a2a6283527e65efb909060a89ca" + "c3c6079adfbb09fa0415469f52f14d3e" ], [ "FStar.GSet.lemma_disjoint_subset", @@ -45,7 +45,7 @@ "typing_FStar.GSet.mem" ], 0, - "5abca9f041211d4977a5b5b7681521dc" + "f57d536199589097eb91dfa94bd47357" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Ghost.fst.hints b/ulib/.cache/FStar.Ghost.fst.hints index 91c927aee2d..ef31702d799 100644 --- a/ulib/.cache/FStar.Ghost.fst.hints +++ b/ulib/.cache/FStar.Ghost.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_FStar.Ghost.erased" ], 0, - "6327b9e2500ea737629d2e5b8cbc7c28" + "4ea09e7b33047e6a9d49494ca3a6f211" ], [ "FStar.Ghost.elift1", @@ -26,7 +26,7 @@ "projection_inverse_FStar.Ghost.E__0" ], 0, - "cb2f79aa4b67bedb83d90ed357f61a68" + "6026b90a7e2096493e0ef2eb6bf4eccf" ], [ "FStar.Ghost.elift2", @@ -43,7 +43,7 @@ "projection_inverse_FStar.Ghost.E__0" ], 0, - "0a2262157c9b5102718742bb646750fa" + "e0748fab2c4dfeb575c6c057d1ace22a" ], [ "FStar.Ghost.elift3", @@ -61,7 +61,7 @@ "projection_inverse_FStar.Ghost.E__0" ], 0, - "367c301c42a0962ddf8585c17279b5ad" + "4afd0dc535a8a1042b74fa67008c31f4" ], [ "FStar.Ghost.push_refinement", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "363dc33648a3df67b5d38907192ce3b8" + "169e7e915ec68cd4589e1b6877fd1b67" ], [ "FStar.Ghost.elift1_p", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "2ec04e6c1242cb4b490955843aecf52b" + "e34143f9bc5075129856b8b734d8a6a4" ], [ "FStar.Ghost.elift2_p", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" ], 0, - "defe40c3b32c4370c669d1b6c1f5ad77" + "91f83229d1575617930e2405df3e51a3" ], [ "FStar.Ghost.elift1_pq", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "9f50585ed513f01707d7294443b40518" + "b273a18f10514e6a279fa2253f5fad00" ], [ "FStar.Ghost.elift2_pq", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" ], 0, - "05ef5d24214ee325ab528e2f49e8d92f" + "582bb43937a4ead846f4792edb9ca8a7" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Ghost.fsti.hints b/ulib/.cache/FStar.Ghost.fsti.hints index 1690b3ca0d7..8a46a6af1d0 100644 --- a/ulib/.cache/FStar.Ghost.fsti.hints +++ b/ulib/.cache/FStar.Ghost.fsti.hints @@ -14,7 +14,7 @@ "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "1e76249044756d4a9cffea72c132c288" + "306dc64d97a10ed890914c6e6655a53d" ], [ "FStar.Ghost.elift2", @@ -30,7 +30,7 @@ "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "fed3b1c7897885a7e787602b11086e62" + "eafe2480dc89a10147801846429be4bf" ], [ "FStar.Ghost.elift3", @@ -47,7 +47,7 @@ "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "8aeba7ac03cc45b9e8f512553cf5b78a" + "032853672f5d77279d72236cc27cd2a1" ], [ "FStar.Ghost.push_refinement", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "5fb5bba451bd173e1aa1c7302a20227c" + "ce88f8367fc862e3c8e16dc71f5a99c2" ], [ "FStar.Ghost.elift1_p", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "16f79ea7c0dd3d8037228006f8cbca09" + "07af3ad0f94050a2eeea1df0dbd256e4" ], [ "FStar.Ghost.elift2_p", @@ -88,7 +88,7 @@ "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" ], 0, - "ce0b85ab8c06320646333ea7955dc72c" + "5979c2c46bc4e8efba387b5bea80925b" ], [ "FStar.Ghost.elift1_pq", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "698f73645378ca33724b64de4831166a" + "98faa5ebc6423556fc641d60c4445d64" ], [ "FStar.Ghost.elift2_pq", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_f9e3dab5c1ea39d2741639e0fe40e216" ], 0, - "c24924eac5218d56fa5b7b7a784269d7" + "7927dd108b23c24d81347db1b982786f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Heap.fst.hints b/ulib/.cache/FStar.Heap.fst.hints index acd6d02ac80..6b3b2e6003e 100644 --- a/ulib/.cache/FStar.Heap.fst.hints +++ b/ulib/.cache/FStar.Heap.fst.hints @@ -15,7 +15,7 @@ "true_interp" ], 0, - "c6e95f27cba463af9f58c502aa8c63f2" + "5b1a4b138432925513e6fc25cc8b74c2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.HyperStack.ST.fst.hints b/ulib/.cache/FStar.HyperStack.ST.fst.hints index acb5e094a6c..343118a0ad4 100644 --- a/ulib/.cache/FStar.HyperStack.ST.fst.hints +++ b/ulib/.cache/FStar.HyperStack.ST.fst.hints @@ -44,7 +44,7 @@ "typing_FStar.Monotonic.HyperStack.unused_in" ], 0, - "3103ad35ec124c720e8cc9b32a2827c5" + "819d72d22825d3c343c0bdee341b05c1" ], [ "FStar.HyperStack.ST.lemma_functoriality", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_157eeaa79e39f3ffc687c62c153a0947" ], 0, - "2bb0ead4dc684b9734ae616459ec0bc9" + "31d9dfc948ad09c2b6a660ce5157f26c" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -70,7 +70,7 @@ "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" ], 0, - "9d902f69d85b6929181e4d697c14c322" + "475eab4988ca1b1e9813f3f8cbd0f7f2" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -82,7 +82,7 @@ "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" ], 0, - "b4773f72356752cfd41564efcacb6547" + "4bfc60976e597324d01bb7c75ae0df00" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -94,7 +94,7 @@ "l_quant_interp_48474cb32486236119eb4f5f2101719c" ], 0, - "0119e7aa8ad50eae14cbb982671cc205" + "db6218b1d020045ba36f06baefa3a28c" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -106,7 +106,7 @@ "l_quant_interp_48474cb32486236119eb4f5f2101719c" ], 0, - "d1acafa38bb25f5dd326c8fe359f756f" + "c1ee8eed77a17b4d82b633c9cc1e5017" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -119,7 +119,7 @@ "l_quant_interp_40236013a1921afd0f0262483a24002a" ], 0, - "c32cb4aa0cc74fd742250e2a81407733" + "a62b4deac5a7c31616c18991bb618545" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -132,7 +132,7 @@ "l_quant_interp_40236013a1921afd0f0262483a24002a" ], 0, - "e61e4c5d8a3af5ab990666a09a7af8d1" + "79447ff0cff4163cf330fecf377f434f" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_intro", @@ -145,7 +145,7 @@ "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" ], 0, - "dda9fbd05c6227a37380e6a5af9261b9" + "a039e249b8afe4c8d6f7c873182f1e0b" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_elim", @@ -158,7 +158,7 @@ "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" ], 0, - "bd712df4ae4e0db3b3ba05ce9599c8df" + "bc0355a03c553c0b85cc3786b84fce9f" ], [ "FStar.HyperStack.ST.lemma_equal_domains_trans", @@ -183,7 +183,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "8f9d4aca400a6d46ea8e8805b8708bfe" + "23adb6786bddca524f4cc4837f9bf57d" ], [ "FStar.HyperStack.ST.Heap", @@ -192,7 +192,7 @@ 1, [ "@query" ], 0, - "d93433be4de230421c3544d84f21f8ed" + "e872ca9919dbbc6b9fbff3cfb40accfb" ], [ "FStar.HyperStack.ST.StackInline", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "95f8dbc2c27fc4049fa9609bae73dfc2" + "208dc5e2b940012d3de7f9a0283c966b" ], [ "FStar.HyperStack.ST.Inline", @@ -210,7 +210,7 @@ 1, [ "@query" ], 0, - "610c344cef7298028c7cc42a36948255" + "d49f2488c3e77fe4e2a05c8601ce8da7" ], [ "FStar.HyperStack.ST.push_frame", @@ -300,7 +300,7 @@ "unit_typing" ], 0, - "8546b9a204451e48396dc6e94a057383" + "1cb0fe04082f71096ccbb9b0b7c5bc0b" ], [ "FStar.HyperStack.ST.pop_frame", @@ -309,7 +309,7 @@ 1, [ "@query" ], 0, - "4c745938250c9c96eb867da267f60c89" + "9b943b7f2b87a26cb7fd6ed79834a9ef" ], [ "FStar.HyperStack.ST.pop_frame", @@ -401,7 +401,7 @@ "unit_typing" ], 0, - "428a415a00deb84edd7fa10d3a854545" + "dca9d93713de537391f45140d7692ba1" ], [ "FStar.HyperStack.ST.salloc_post", @@ -417,7 +417,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "da48d8195191636026f535f181e82ef0" + "54dabf7a304e3dc06494a1af33f52b48" ], [ "FStar.HyperStack.ST.salloc_common", @@ -527,7 +527,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "1e6a1e7738038c120ef91d345703ac27" + "f4c683c04e165df3b2c45c31e21f9c53" ], [ "FStar.HyperStack.ST.salloc", @@ -536,7 +536,7 @@ 1, [ "@query" ], 0, - "fa8d52f3934e5a3b70034705a42042ac" + "497c77a67e5d4a7bd8f14ffd7a9a112b" ], [ "FStar.HyperStack.ST.salloc", @@ -557,7 +557,7 @@ "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f" ], 0, - "d58024859363a7fe29a4920f940eda1b" + "1aa6a5c7619dec5a11d467349d347661" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -566,7 +566,7 @@ 1, [ "@query" ], 0, - "49042854967a212c6b8a2792953536df" + "aa7e65cbadae47657e0236c893d90e00" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -585,7 +585,7 @@ "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4" ], 0, - "7083c50ddec579cf6ba99406e2cdf0d1" + "b702b33830323dea4350ef3d953065f6" ], [ "FStar.HyperStack.ST.sfree", @@ -594,7 +594,7 @@ 1, [ "@query" ], 0, - "5e22b0af634eae65e0507130d2373063" + "a9bd7e25931d1d1c6c574f68917c68f2" ], [ "FStar.HyperStack.ST.sfree", @@ -670,7 +670,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "unit_typing" ], 0, - "da8d96230e362d8b4aff348d29e8ec34" + "52c4f605772e03c8568e10e3406507df" ], [ "FStar.HyperStack.ST.new_region", @@ -690,7 +690,7 @@ "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" ], 0, - "a7f580089976ce80f4b0e3e624217ddd" + "4112fa416bcdbd2b4da0227d64c6d988" ], [ "FStar.HyperStack.ST.new_region", @@ -806,7 +806,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "fcc79dbe2a5164bbeb8d806feccf6783" + "646ebad9f9b60153acba3d5a41001316" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -826,7 +826,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "68fd7b99ab6434908b21f1929e47f458" + "e4c94bf4bf769046f9742822c91a132e" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -938,7 +938,7 @@ "unit_inversion" ], 0, - "3c13c3357a9a1154e4178ba316bdf7a4" + "9b639a733b4770e59d6907ffedd91bad" ], [ "FStar.HyperStack.ST.ralloc_post", @@ -947,7 +947,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], 0, - "129e9b2829f59298b085de9488c22f2e" + "d45fc4c283fc102c7065ead6a41f0e89" ], [ "FStar.HyperStack.ST.ralloc_common", @@ -1052,7 +1052,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "c3ca0028bd6fb123c70b6b57aaee7648" + "a0c07e0d767d2d26d1804b5f16c90796" ], [ "FStar.HyperStack.ST.ralloc", @@ -1061,7 +1061,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "e3e8bf020a3583d78185e79390addac5" + "738a015a7569b2a7fbc3c2d053090c64" ], [ "FStar.HyperStack.ST.ralloc", @@ -1103,7 +1103,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "41b2c2e2bc13b142889c0d218351d594" + "97aac4c682d369fc5e83a97931556d62" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -1112,7 +1112,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "a8fea66bf41b5e87ad3f34ce31ccf8c8" + "ec771e5adc2ad8a6089ecfdef5478d34" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -1154,7 +1154,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "0e3f6c8cf550a5431d586a2ddc1e82ff" + "ae9a4980b95ba0c8542876126e57bfd6" ], [ "FStar.HyperStack.ST.rfree", @@ -1167,7 +1167,7 @@ "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2" ], 0, - "7ff1b73ece3f653a2ba90d98c8e073b1" + "51ed4433aa0ed4e5b138874076db4c69" ], [ "FStar.HyperStack.ST.rfree", @@ -1260,7 +1260,7 @@ "unit_typing" ], 0, - "294778a73eabd2bf82dbc9a309056ad0" + "d073a3790274bb9a0eb5886e6d1341d7" ], [ "FStar.HyperStack.ST.assign_post", @@ -1273,7 +1273,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "4a849e36f042349a41aecc50427c2f48" + "881d4fabe5917b7d90e578f9278de0a0" ], [ "FStar.HyperStack.ST.op_Colon_Equals", @@ -1367,7 +1367,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union", "unit_typing" ], 0, - "9064aa51115d1ac9e945e6e1003f37f8" + "c75221959552cbcdb642125b7187e066" ], [ "FStar.HyperStack.ST.op_Bang", @@ -1427,7 +1427,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "ffce4c67fb331e203bd06abf471ce0da" + "5f7876208d649bd47feb70bfe57893d7" ], [ "FStar.HyperStack.ST.get", @@ -1448,7 +1448,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "76c521fdbe3b48421aa023842a4139d4" + "acb479d64495669dd353954a2e153846" ], [ "FStar.HyperStack.ST.recall", @@ -1489,7 +1489,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "unit_typing" ], 0, - "1e4f5fb856bc13a585fe9c270fb419f2" + "6caf747c769d901d227e190082300a39" ], [ "FStar.HyperStack.ST.recall_region", @@ -1526,7 +1526,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color", "unit_typing" ], 0, - "a0536814bdf08d37fa2f237dead22ce3" + "72dc7431c8c31ee1ae17d6ab597a0ee1" ], [ "FStar.HyperStack.ST.witness_region", @@ -1557,7 +1557,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "unit_typing" ], 0, - "374de90dc8494bd95cea451b8d9e5600" + "3bdca980e329ab8bb31679a1d5f1aedc" ], [ "FStar.HyperStack.ST.witness_hsref", @@ -1607,7 +1607,7 @@ "typing_FStar.Monotonic.HyperStack.live_region", "unit_typing" ], 0, - "54519780ab2016e102960921deaf6ca6" + "974e6da0bb23b564056dc9ad79971f2d" ], [ "FStar.HyperStack.ST.stable_on_t", @@ -1616,7 +1616,7 @@ 1, [ "@query" ], 0, - "65b1724a90aed5237db911c69a01b98a" + "7ce4c69d4d649137833fd8331104c49a" ], [ "FStar.HyperStack.ST.mr_witness", @@ -1655,7 +1655,7 @@ "typing_FStar.Monotonic.HyperStack.is_mm" ], 0, - "1100c8b010235a700298ac3afc17ad77" + "ab6acb56e9ff6cfd8ed597a90a6c283e" ], [ "FStar.HyperStack.ST.weaken_witness", @@ -1664,7 +1664,7 @@ 1, [ "@query" ], 0, - "19ca39fc74e8a4282e19d302136414bf" + "bde3ceb201f92d625e5244a57f151ccc" ], [ "FStar.HyperStack.ST.testify", @@ -1680,7 +1680,7 @@ "unit_typing" ], 0, - "4f4f64af2d4f77c2a77a1de7c727af2d" + "16e06f8a1774f7473aeefe7d17eb18cc" ], [ "FStar.HyperStack.ST.testify_forall", @@ -1697,7 +1697,7 @@ "unit_typing" ], 0, - "15fa44eb5a1ad54e7d90bd5fb91f1ebc" + "07a05b5c92e509ea2846758f4f5a40c9" ], [ "FStar.HyperStack.ST.testify_forall_region_contains_pred", @@ -1730,7 +1730,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "4264f6eae720f7c65e187aad03a193e6" + "0cb2e83702a5def1b971e4eb0d276872" ], [ "FStar.HyperStack.ST.witness_p", @@ -1798,7 +1798,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "unit_typing" ], 0, - "08ce5db638d9b6c5134cc0cad402aab9" + "29fb8d6c34345ee644ddcaaa4cb627c4" ], [ "FStar.HyperStack.ST.recall_p", @@ -1859,7 +1859,7 @@ "typing_FStar.Monotonic.HyperStack.is_mm", "unit_typing" ], 0, - "88a3d3be4fbd573dd8cb5f53f8d93c40" + "ea1ea8650477ad762b1b2adb2f4f151b" ], [ "FStar.HyperStack.ST.token_functoriality", @@ -1883,7 +1883,7 @@ "token_correspondence_FStar.HyperStack.ST.mem_rel_predicate" ], 0, - "1dc715599dfa1884917395de89016960" + "0441ce3194ab369e51f80b622adaf963" ], [ "FStar.HyperStack.ST.lemma_witnessed_constant", @@ -1892,7 +1892,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "f2710445b860a6d9c5edb4dab577b7fe" + "9dc05ba00816a956c98c781084f0eb8f" ], [ "FStar.HyperStack.ST.lemma_witnessed_nested", @@ -1901,7 +1901,7 @@ 1, [ "@query" ], 0, - "576163cf2e24f43acd9766e2a4323aea" + "5ca7eb860efe71ea91ebc31128ecefbe" ], [ "FStar.HyperStack.ST.lemma_witnessed_and", @@ -1910,7 +1910,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "c3bd32ec4e907a02e0a8dfa39747cdf4" + "d4c13617bc431244999676d5ef22482f" ], [ "FStar.HyperStack.ST.lemma_witnessed_or", @@ -1919,7 +1919,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "a0c7a14548208fe0abd49fdbe4af28dc" + "a1ebc8ea62a9819cc627818af1c6b7a2" ], [ "FStar.HyperStack.ST.lemma_witnessed_impl", @@ -1928,7 +1928,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "d2a13a8c24666734463844efc4ea6d0d" + "072cab27f1aa0f2be768a15fae3bce03" ], [ "FStar.HyperStack.ST.lemma_witnessed_forall", @@ -1937,7 +1937,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "fa05c244afb114c2a4822bafba62ede2" + "0374daaaae1c282610a3e65b019c589b" ], [ "FStar.HyperStack.ST.lemma_witnessed_exists", @@ -1946,7 +1946,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "f813ade2b3f0b165ed2e0f399cb76566" + "e84dd6942729d3b9d631454f7b2032f0" ], [ "FStar.HyperStack.ST.new_drgn", @@ -1960,7 +1960,7 @@ "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" ], 0, - "f732ad4aab1585df4256886eadf6292f" + "8aeba897ed506b96ed89c5f6cc4e2d99" ], [ "FStar.HyperStack.ST.new_drgn", @@ -2073,7 +2073,7 @@ "unit_inversion" ], 0, - "abe8215d8bbb9af15f9daaaf9c85e591" + "1944126f295cff2c7d6e659b9a05aa01" ], [ "FStar.HyperStack.ST.free_drgn", @@ -2086,7 +2086,7 @@ "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" ], 0, - "55ceea28dcc673390890bbc356034071" + "e697a5f43ba4eb9c7faa39d25ffef13c" ], [ "FStar.HyperStack.ST.free_drgn", @@ -2167,7 +2167,7 @@ "unit_typing" ], 0, - "d2a9a825674b2aa8f0e67b152fa7704c" + "7419b37dc83faac332360ad0356e61ea" ], [ "FStar.HyperStack.ST.ralloc_drgn", @@ -2187,7 +2187,7 @@ "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" ], 0, - "fa1046859a244baa4096f25952fea153" + "8fe2888628b7a78b5e46d95a66fce6b7" ], [ "FStar.HyperStack.ST.ralloc_drgn_mm", @@ -2207,7 +2207,7 @@ "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" ], 0, - "2b5573e19cf9dba0a1e055f3bc67fc3f" + "d4e8575c0cf1409559e34101eaa08785" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.HyperStack.ST.fsti.hints b/ulib/.cache/FStar.HyperStack.ST.fsti.hints index 39bc996cb8d..f4b3905bc19 100644 --- a/ulib/.cache/FStar.HyperStack.ST.fsti.hints +++ b/ulib/.cache/FStar.HyperStack.ST.fsti.hints @@ -1,5 +1,5 @@ [ - "3?¾\f\u000fQ.¸NéÁÿ\u0016Ú\u0003", + "Â\t¥Í\u0014“ý\u0012$ø¥e¯tou", [ [ "FStar.HyperStack.ST.Heap", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3e78fc88303b2e58235a8c554f9e6d1f" + "439165a885cdfde103b2e4fe72db0447" ], [ "FStar.HyperStack.ST.StackInline", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "aa17659e17370356768bf71769b54034" + "50773e7fdb7ea2b37fd611664dc0c32d" ], [ "FStar.HyperStack.ST.Inline", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "6fd036d5c5ec71a4d75fe4f2cc5bd9ab" + "a11ee0dacb69d75de1c6b01092a366ab" ], [ "FStar.HyperStack.ST.pop_frame", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "9ba8d287069ea59c71d7c914c36466c5" + "c816b591bafdf1f2a2d19aa3dd380d29" ], [ "FStar.HyperStack.ST.salloc_post", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "9b697c875a08ba5d2f1ffa85096e9746" + "98a8867d18f3fa8e065e95f460c5121c" ], [ "FStar.HyperStack.ST.salloc", @@ -60,7 +60,7 @@ 1, [ "@query" ], 0, - "94cf304b44b16b12ab4d5bcf589e9121" + "0d620b6fab145f4ddc7fbd4942be58f8" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -69,7 +69,7 @@ 1, [ "@query" ], 0, - "3978fe289d96a02082c63df9fd01ed1a" + "859b979cf4f591d63ab2bb6607a37184" ], [ "FStar.HyperStack.ST.sfree", @@ -78,7 +78,7 @@ 1, [ "@query" ], 0, - "045d7d73236c4423e896dedd59ea7364" + "90aa897aecea3a5666a49acc02f32fa8" ], [ "FStar.HyperStack.ST.new_region", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" ], 0, - "5608905d5e6ddf2a9e17f6c04727c8cb" + "8ba7899b89e03830ab565e73e9342aaa" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -118,7 +118,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "457f64b90a495f0445e4093267bedd62" + "d8820690539a0b0c4221097c2bb504af" ], [ "FStar.HyperStack.ST.ralloc_post", @@ -127,7 +127,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], 0, - "448582c912a4e0de9c2a3c1f4e532329" + "17f041c57cc549c3f50c5b6619003749" ], [ "FStar.HyperStack.ST.ralloc", @@ -136,7 +136,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "ce31bcbafe0e6b0885f8a78ecc6ce3e1" + "d9ed4233cab9dc8f1476d268135a6620" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -145,7 +145,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "4892e0f655e775e822157298cdb2be45" + "17a1c8bd3b6f1279f56e2fd78852a7a0" ], [ "FStar.HyperStack.ST.rfree", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2" ], 0, - "976752a87e68855095f33f4491d124ad" + "d450df17f94935939e61231cd40a4812" ], [ "FStar.HyperStack.ST.assign_post", @@ -171,7 +171,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "37d1b9e6ec6f00b4cd14eae5f6fa9071" + "0dbbab76f1137b0d85673c019f06d9d1" ], [ "FStar.HyperStack.ST.stable_on_t", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "03ef1bb4893d06c3de1edf02a780995e" + "effd94835743b0d223d0f5eb6e7fe701" ], [ "FStar.HyperStack.ST.new_drgn", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" ], 0, - "5767b60d702fe8d0d1359ebeeb079603" + "3923c274af6c5003b82674dda5434fec" ], [ "FStar.HyperStack.ST.free_drgn", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" ], 0, - "7820bd4e647a1ac8aef84a0d58095a4f" + "2954bca0f54b2ac72556d4cc8d681a3e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.IFC.fst.hints b/ulib/.cache/FStar.IFC.fst.hints index 6a1ae5c7d90..a1315ab2796 100644 --- a/ulib/.cache/FStar.IFC.fst.hints +++ b/ulib/.cache/FStar.IFC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], 0, - "93a15f05cc477b9ad42faaadacd0784d" + "387c848bbcbcf215af113d49e14c9747" ], [ "FStar.IFC.hide_reveal", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], 0, - "cc2fae4855a66972d4f58827e35bd477" + "3d8fd939b3ce2cc671e1692db0f275f4" ], [ "FStar.IFC.map", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_FStar.IFC.reveal" ], 0, - "59148aa714801cba9e23a7208bea3c33" + "66f1f3b725a561520fbeaf41dbd83210" ], [ "FStar.IFC.join", @@ -35,7 +35,7 @@ 1, [ "@query", "equation_FStar.IFC.reveal" ], 0, - "6a64201dd7f7950a58a64bda713530dc" + "5279ff5d8553b54469645a391311c3c6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.ImmutableArray.fsti.hints b/ulib/.cache/FStar.ImmutableArray.fsti.hints index 7e3af8a0290..f06211a5674 100644 --- a/ulib/.cache/FStar.ImmutableArray.fsti.hints +++ b/ulib/.cache/FStar.ImmutableArray.fsti.hints @@ -13,7 +13,7 @@ "@query", "lemma_FStar.ImmutableArray.length_spec" ], 0, - "99ceb9e7e026320c0a48bb1f06806969" + "39153104c5bf589edd9224c4e3fb7df1" ], [ "FStar.ImmutableArray.of_list_precedes", @@ -22,7 +22,7 @@ 1, [ "@query", "lemma_FStar.ImmutableArray.to_list_of_list" ], 0, - "90e59bfe87632897740c995950bb002e" + "6dec64aa9f9fedcb7522a8737deb8259" ], [ "FStar.ImmutableArray.elem_precedes", @@ -49,7 +49,7 @@ "typing_FStar.ImmutableArray.to_list" ], 0, - "ec4c8edfafd5262efe853e1dfa959bad" + "3fda859b71021bb0c0f3e684df12231c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.IndefiniteDescription.fst.hints b/ulib/.cache/FStar.IndefiniteDescription.fst.hints index 75dd5955156..07fd103898a 100644 --- a/ulib/.cache/FStar.IndefiniteDescription.fst.hints +++ b/ulib/.cache/FStar.IndefiniteDescription.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.IndefiniteDescription.indefinite_description_tot" ], 0, - "7725492e092a983b2fc5097764bc1b13" + "ac60aee0333e1e824afa8090c7f05143" ], [ "FStar.IndefiniteDescription.strong_excluded_middle", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8fd29875b083997300d3ae5616b5610c" + "64573123a2fbc47dacdd96ac31bcaeed" ], [ "FStar.IndefiniteDescription.stronger_markovs_principle", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_f3db4b290bcde56fe0046b79b9c3a13f" ], 0, - "bc7afc840a6decc2d93a33ff24c58475" + "411eca12a976598976fd939331a55422" ], [ "FStar.IndefiniteDescription.stronger_markovs_principle_prop", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_e76bd1e3fcd1369d7232ec3854a8c984" ], 0, - "973cf4efdbf980b643a90c3b18b5bbb7" + "09b92b243a2d04982d0d4937903b47f3" ], [ "FStar.IndefiniteDescription.elim_squash", @@ -80,7 +80,7 @@ "typing_tok_Prims.T@tok" ], 0, - "1f769def1a88fb959cb315b467629afd" + "34bec2257d8b79265cdfca100148f126" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int.Cast.Full.fst.hints b/ulib/.cache/FStar.Int.Cast.Full.fst.hints index 6bd5bba0dfe..41e13b190cf 100644 --- a/ulib/.cache/FStar.Int.Cast.Full.fst.hints +++ b/ulib/.cache/FStar.Int.Cast.Full.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f1ccbd3ec7a1acbfdc84173c26bf6600" + "f9d603c375d86f2d685f42ddb10c7de6" ], [ "FStar.Int.Cast.Full.uint128_to_uint64", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "36ce2898e5d7c641f2d1c0fcaf426fcf" + "9ed6440502f481df04c5b2d899bba1fd" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int.Cast.fst.hints b/ulib/.cache/FStar.Int.Cast.fst.hints index 601fa42d4a4..c374be13073 100644 --- a/ulib/.cache/FStar.Int.Cast.fst.hints +++ b/ulib/.cache/FStar.Int.Cast.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "79bf7d01d75d757ce93950c0aef99a0f" + "a9155e7518bf65b64173472275c64953" ], [ "FStar.Int.Cast.uint8_to_uint64", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c045e807e2245d260094b4053b44ec50" + "f0337e4100355a68531ff97bb6eec1c3" ], [ "FStar.Int.Cast.uint8_to_uint32", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "b7a944dd63e9d35e1390288e89aa8962" + "3f72ee31a31f65f17b0a65facd89692d" ], [ "FStar.Int.Cast.uint8_to_uint32", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cc8662db43f93e57be39c62290f95ed4" + "5e32222c565fc6447e40efaca36cdac4" ], [ "FStar.Int.Cast.uint8_to_uint16", @@ -68,7 +68,7 @@ 1, [ "@query" ], 0, - "3b91994d09e6e679391852ef0ad45162" + "196e461a24fee7b8cc4cf6cc3c5ca4a9" ], [ "FStar.Int.Cast.uint8_to_uint16", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5588fb6c6b2476f7db747e3f303fe431" + "0ddaea19e5dffc6b46265b014699511d" ], [ "FStar.Int.Cast.uint16_to_uint64", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "40695cb679e0df13092bfbb13707011e" + "e81ec8fd788079e2b065a168d42b8bb5" ], [ "FStar.Int.Cast.uint16_to_uint64", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8eb735a5e98a8cc6c4717c47e69634d2" + "031cd6beead1b49e7899876d27a9f670" ], [ "FStar.Int.Cast.uint16_to_uint32", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "021ca6c35860bd122d2d93824860245c" + "2f27eced723b3d2e5d6955651a67ab24" ], [ "FStar.Int.Cast.uint16_to_uint32", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d147acbd039740825b4a818449b7c266" + "44f9c7001313d2f9ab6fad907dd693f0" ], [ "FStar.Int.Cast.uint16_to_uint8", @@ -158,7 +158,7 @@ 1, [ "@query" ], 0, - "a829b3972147659783930837c25c5522" + "67921c3ee719f6b9091aa3b636969883" ], [ "FStar.Int.Cast.uint16_to_uint8", @@ -179,7 +179,7 @@ "typing_Prims.pow2" ], 0, - "112706ae7dc934ddb1771a0cef73bf6f" + "8f3e2ccf17d3e6cd3101de0486ea7af2" ], [ "FStar.Int.Cast.uint32_to_uint64", @@ -188,7 +188,7 @@ 1, [ "@query" ], 0, - "d1f5bf6de4c85b80ad6e2d6bafe3d062" + "2342294b81226da257cde940a1d39199" ], [ "FStar.Int.Cast.uint32_to_uint64", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "49b136d15fb43b69fdcc289cdd82cfba" + "cbed14ac5605b7c0b18f777540bc909e" ], [ "FStar.Int.Cast.uint32_to_uint16", @@ -218,7 +218,7 @@ 1, [ "@query" ], 0, - "beaa2640fcb15964cd1c9ea97980bf59" + "8d9ee552c79078d64cff7627cda32594" ], [ "FStar.Int.Cast.uint32_to_uint16", @@ -239,7 +239,7 @@ "typing_Prims.pow2" ], 0, - "808b993ebc3d059308f80f26d0b5c361" + "0bae56b091caa339b36c059deac62cb7" ], [ "FStar.Int.Cast.uint32_to_uint8", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "a4195d97199ee48b229207f9fa927716" + "f84c34d2f01e74897d254bca1d2b544b" ], [ "FStar.Int.Cast.uint32_to_uint8", @@ -269,7 +269,7 @@ "typing_Prims.pow2" ], 0, - "4608d4c34128b50b2701ae9ead2e0f8b" + "f6653ba0be43c6fff13f90424366386f" ], [ "FStar.Int.Cast.uint64_to_uint32", @@ -278,7 +278,7 @@ 1, [ "@query" ], 0, - "27baf9f72a45c596a3a7a45fc45cb52d" + "9e8dd72b2789b9f7f2fd16b9dc8448f4" ], [ "FStar.Int.Cast.uint64_to_uint32", @@ -299,7 +299,7 @@ "typing_Prims.pow2" ], 0, - "3892d6579cb8a041de0fd5c16bd1239a" + "d64d0b2a5321197eb8c3a11913c3f3e7" ], [ "FStar.Int.Cast.uint64_to_uint16", @@ -308,7 +308,7 @@ 1, [ "@query" ], 0, - "8fb7c88ba4045b531f55c766476254ff" + "9b39dc8114898a0a6533e77dad6e6942" ], [ "FStar.Int.Cast.uint64_to_uint16", @@ -329,7 +329,7 @@ "typing_Prims.pow2" ], 0, - "3db6a6364433470882ade81227e04659" + "d4f76b01e1385a793fedda92d3429e1e" ], [ "FStar.Int.Cast.uint64_to_uint8", @@ -338,7 +338,7 @@ 1, [ "@query" ], 0, - "d411e267414b57b03017ebfde3d3d028" + "1ae0d053894758c48c32351503e9c48e" ], [ "FStar.Int.Cast.uint64_to_uint8", @@ -359,7 +359,7 @@ "typing_Prims.pow2" ], 0, - "96eae2fba838d40ccc37deab084e3755" + "830dd9ff02827e47e2b4d60e71cab568" ], [ "FStar.Int.Cast.int8_to_int64", @@ -368,7 +368,7 @@ 1, [ "@query" ], 0, - "51d7541c31088446da4c3c9f18b4bd81" + "9506f417afe8743edaa41246f2005af9" ], [ "FStar.Int.Cast.int8_to_int64", @@ -392,7 +392,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ca6d0c1681ad9a823c4e3c3fc1d73523" + "59acb0db6dd7142f3dc1351d0e48c567" ], [ "FStar.Int.Cast.int8_to_int32", @@ -401,7 +401,7 @@ 1, [ "@query" ], 0, - "e2a347d32e650b78126ae2537431cbc0" + "3921bee835b02bb97c5f2f905464ba43" ], [ "FStar.Int.Cast.int8_to_int32", @@ -425,7 +425,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ff0784739d14ad38acf5bca976785157" + "53a26d65a5524939b46dc571f5d50de1" ], [ "FStar.Int.Cast.int8_to_int16", @@ -434,7 +434,7 @@ 1, [ "@query" ], 0, - "f3a5b12d11c011b26b1339c5e5ffbecb" + "616b96326992b99960f21ad1665269cf" ], [ "FStar.Int.Cast.int8_to_int16", @@ -458,7 +458,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "84c9b3a83923c7ca84e4d097fcb24822" + "291424911ad2d4ae4e8d10d045687779" ], [ "FStar.Int.Cast.int16_to_int64", @@ -467,7 +467,7 @@ 1, [ "@query" ], 0, - "995185b92de73a46e7d0b1f19c435457" + "1411e8d6f1571515c1951e846473e6c7" ], [ "FStar.Int.Cast.int16_to_int64", @@ -503,7 +503,7 @@ "typing_FStar.Int16.v", "typing_Prims.pow2" ], 0, - "687fdf52874e0bf2d7cbadcdc61ddae3" + "578d19830d2b6a3620aa359d2d1214d5" ], [ "FStar.Int.Cast.int16_to_int32", @@ -512,7 +512,7 @@ 1, [ "@query" ], 0, - "ea9303ffb6fa5f425560ab54f92d81ce" + "dd33dc3960db785b31e1e5e711869665" ], [ "FStar.Int.Cast.int16_to_int32", @@ -548,7 +548,7 @@ "typing_FStar.Int16.v", "typing_Prims.pow2" ], 0, - "461599c8a0c93dc3beddac60b82a0011" + "42df81f442158b26fcd67d4418640271" ], [ "FStar.Int.Cast.int16_to_int8", @@ -564,7 +564,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "07504c337f13a837c42b79fa68ca8718" + "9e2f1c1ab1824de0bc4c9a878eaacf8b" ], [ "FStar.Int.Cast.int16_to_int8", @@ -598,7 +598,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int16.v", "typing_Prims.pow2" ], 0, - "52a076e5a0d1a77bd95bbd9809e12394" + "035f1d7c664323d1cf37478dcfde8e8b" ], [ "FStar.Int.Cast.int32_to_int64", @@ -607,7 +607,7 @@ 1, [ "@query" ], 0, - "d74e9bdfb27ae6a1331fe05ac98a5c31" + "f540e522f291c1e5d14b8ad23e16d110" ], [ "FStar.Int.Cast.int32_to_int64", @@ -643,7 +643,7 @@ "typing_FStar.Int32.v", "typing_Prims.pow2" ], 0, - "a1b2ff8b870e1d8a6cebf8ec3039519e" + "6991ae18cad27b50efb785c1563ad914" ], [ "FStar.Int.Cast.int32_to_int16", @@ -659,7 +659,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5e1d61a8628b775b7574e8cf942dde37" + "20639055c933629d27f4ab9c341aa494" ], [ "FStar.Int.Cast.int32_to_int16", @@ -693,7 +693,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int32.v", "typing_Prims.pow2" ], 0, - "dea5f037af24ee417e8441aa29f5f777" + "f77b0b4d390aba318a30465c50e6cd8e" ], [ "FStar.Int.Cast.int32_to_int8", @@ -709,7 +709,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "92da5c989cb649b36a0ed85cc6e778c2" + "5e52d7bcc31c3a0954cccbb0763b67ef" ], [ "FStar.Int.Cast.int32_to_int8", @@ -743,7 +743,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int32.v", "typing_Prims.pow2" ], 0, - "987069319d422593e51ecc9fc23806d3" + "6abe52e95654c472964d952a18ec5b5c" ], [ "FStar.Int.Cast.int64_to_int32", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b7176f79f562c6d2de01bd3af1a1647e" + "0d186679b4b2c41a208803038db4b610" ], [ "FStar.Int.Cast.int64_to_int32", @@ -795,7 +795,7 @@ "typing_FStar.Int64.v", "typing_Prims.pow2" ], 0, - "3e6e6f7bb3b63ae03c7b4321aa34b4af" + "cf563a42937c4668541d6433cd23463e" ], [ "FStar.Int.Cast.int64_to_int16", @@ -811,7 +811,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b679c214ee434aa1a1d033a3162f77b1" + "c7318bc9c06e7ad0a822d2f41cc2ac72" ], [ "FStar.Int.Cast.int64_to_int16", @@ -845,7 +845,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int64.v", "typing_Prims.pow2" ], 0, - "5241bb2e46f91200d9b24ef98f19e9e7" + "62f85bf97d5b84cbb2bff9ac92cabed5" ], [ "FStar.Int.Cast.int64_to_int8", @@ -861,7 +861,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8a7186566228d7e1670405a9e7fe0119" + "989dd61c9b5b06ab369455785aacbb10" ], [ "FStar.Int.Cast.int64_to_int8", @@ -895,7 +895,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int64.v", "typing_Prims.pow2" ], 0, - "2d0e5ba81177b1fc303735dcd5776d33" + "8769bf72203e92f5bc34c74c824f5b0d" ], [ "FStar.Int.Cast.uint8_to_int64", @@ -904,7 +904,7 @@ 1, [ "@query" ], 0, - "2f25a8de87942aecc8bbcbf15c3d5144" + "27653dea9a71e91c533b51d23dc653bd" ], [ "FStar.Int.Cast.uint8_to_int64", @@ -930,7 +930,7 @@ "typing_Prims.pow2" ], 0, - "1b0eba06069e35563b755e5a2fcb696b" + "5c8f6985bdf67ae83b50a09d506eed86" ], [ "FStar.Int.Cast.uint8_to_int32", @@ -939,7 +939,7 @@ 1, [ "@query" ], 0, - "cc7feab066da7e84e0127d800f38d713" + "083d25b4e8879f991056cf0a3c6da8ad" ], [ "FStar.Int.Cast.uint8_to_int32", @@ -965,7 +965,7 @@ "typing_Prims.pow2" ], 0, - "24cdb09bbbdf9516ad8817a0c439d85f" + "2bb7d063de9126609ca7ea42a3e18492" ], [ "FStar.Int.Cast.uint8_to_int16", @@ -974,7 +974,7 @@ 1, [ "@query" ], 0, - "d9d982d2bf22c1820e37a527731a35bd" + "161d7b5b4c24f8008728624909b0373e" ], [ "FStar.Int.Cast.uint8_to_int16", @@ -1002,7 +1002,7 @@ "typing_Prims.pow2" ], 0, - "53fd513a67d00344da594a98e3db8283" + "45636db7b9d06756fe779c200e6d7e41" ], [ "FStar.Int.Cast.uint8_to_int8", @@ -1018,7 +1018,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f998bd5f24a30ec93aef2726e8bc70bf" + "c6e991a7065977b3fdbd8cd89d0625ee" ], [ "FStar.Int.Cast.uint8_to_int8", @@ -1054,7 +1054,7 @@ "typing_FStar.UInt8.v", "typing_Prims.pow2" ], 0, - "1f7855a607d763b88df8ed8212cce4bb" + "7853db482904f52df658ead0c9bae67d" ], [ "FStar.Int.Cast.uint16_to_int64", @@ -1063,7 +1063,7 @@ 1, [ "@query" ], 0, - "37fde2783804ae1dd63a13dc0d66b529" + "2d859b4efef299f2bd2b1ce37a511782" ], [ "FStar.Int.Cast.uint16_to_int64", @@ -1089,7 +1089,7 @@ "typing_Prims.pow2" ], 0, - "4e344acbb9a715a0f68b77596088d1c7" + "82b2cfbf03eb4a6aeb8635abe03f7496" ], [ "FStar.Int.Cast.uint16_to_int32", @@ -1098,7 +1098,7 @@ 1, [ "@query" ], 0, - "f651938180f55ab35edbdd51c4d41821" + "47a7d8bfa666d8b17e3ca4de1f46dd14" ], [ "FStar.Int.Cast.uint16_to_int32", @@ -1124,7 +1124,7 @@ "typing_Prims.pow2" ], 0, - "44182a12e7a9eda62f29e4c44793c3ff" + "a2808ed5e160d64de77a261de2bdf0eb" ], [ "FStar.Int.Cast.uint16_to_int16", @@ -1140,7 +1140,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3a32a1f3de3fe13b30247bdbb2d05a95" + "3c74d7b9f73c921b783ced44a18b6c5f" ], [ "FStar.Int.Cast.uint16_to_int16", @@ -1176,7 +1176,7 @@ "typing_FStar.UInt16.v", "typing_Prims.pow2" ], 0, - "dfbc705c472cabc5533baebbe101373d" + "0b1b1341c6ec0d8de3d5be592c7f93bf" ], [ "FStar.Int.Cast.uint16_to_int8", @@ -1192,7 +1192,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "588935ec5703603a441c43f4c92f0cd6" + "d074fca9a66003c7f50722dcab93c009" ], [ "FStar.Int.Cast.uint16_to_int8", @@ -1227,7 +1227,7 @@ "typing_FStar.Int.fits", "typing_FStar.UInt16.v", "typing_Prims.pow2" ], 0, - "29b720e300d2a903e44ae680817caa6e" + "23744ff4341df461be4b9c67c9bcae52" ], [ "FStar.Int.Cast.uint32_to_int64", @@ -1236,7 +1236,7 @@ 1, [ "@query" ], 0, - "6c21033933b21047caf71409a9b2a394" + "064580c43ac3e9dabf1b791fb745c7e7" ], [ "FStar.Int.Cast.uint32_to_int64", @@ -1262,7 +1262,7 @@ "typing_Prims.pow2" ], 0, - "bfdb5cb0ea98446a76b4edc54a6023db" + "5a6d8a95af752bd121fc8baace8982fa" ], [ "FStar.Int.Cast.uint32_to_int32", @@ -1278,7 +1278,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "915178ea417034ea857ddb4ada4b8f73" + "28b89385fde6ecab5e1d5e0305602c35" ], [ "FStar.Int.Cast.uint32_to_int32", @@ -1314,7 +1314,7 @@ "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "9a9e905e00b66411b27216e0e84477b6" + "2588645e05546c9a068979e00310808d" ], [ "FStar.Int.Cast.uint32_to_int16", @@ -1330,7 +1330,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "086dd6c586fca67906f12aeb6e9af537" + "a64894b9dda99f9710947b9a4ae98cbc" ], [ "FStar.Int.Cast.uint32_to_int16", @@ -1365,7 +1365,7 @@ "typing_FStar.Int.fits", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "dfe70c2c9ca84d0addd80be3e172b56f" + "bccb6683b6436c6deb71d72cf4199d51" ], [ "FStar.Int.Cast.uint32_to_int8", @@ -1381,7 +1381,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5a8ff2397b7731f35c93b2dd2466eb34" + "661ef47cebf2a433d0fbeac44a209a00" ], [ "FStar.Int.Cast.uint32_to_int8", @@ -1416,7 +1416,7 @@ "typing_FStar.Int.fits", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "86c0d343e5212b0e17c91b38a04275db" + "d6b497c7b1c73ff9e948352d8830c34a" ], [ "FStar.Int.Cast.uint64_to_int64", @@ -1432,7 +1432,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "683a6de2d9f61a5c4a7b542f0463c809" + "e49815423625723071f998cd03cdfdfb" ], [ "FStar.Int.Cast.uint64_to_int64", @@ -1470,7 +1470,7 @@ "typing_Prims.pow2" ], 0, - "4f3fce5e12a800435576f755709a4366" + "548a377eb3a0afd1967a02ccf9c13151" ], [ "FStar.Int.Cast.uint64_to_int32", @@ -1486,7 +1486,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "827982ffda6d7f1be3511d932329f231" + "696f02ccb70d370b199cb20308417a62" ], [ "FStar.Int.Cast.uint64_to_int32", @@ -1523,7 +1523,7 @@ "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "cf7e7abb992960c472d20132705cfa3b" + "06f1a92ac53f118ef3f9c3abbf920173" ], [ "FStar.Int.Cast.uint64_to_int16", @@ -1539,7 +1539,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "10fbd0462da21184b062ab6852022fdf" + "4396c3881462b187c0488f9c8e586fe7" ], [ "FStar.Int.Cast.uint64_to_int16", @@ -1574,7 +1574,7 @@ "typing_FStar.Int.fits", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "08dd78637162fbad86f7ab02fd574e1b" + "e5db2625a907831bf5f8b85ea679eefb" ], [ "FStar.Int.Cast.uint64_to_int8", @@ -1590,7 +1590,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5ce5dbb14796ac7fdc37bd837e360c26" + "576234bdfcb161276f93cdc7d061ddf3" ], [ "FStar.Int.Cast.uint64_to_int8", @@ -1625,7 +1625,7 @@ "typing_FStar.Int.fits", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "ff131aba2283ea5c38b38651a8b7d1ca" + "f465b9d0796dd3861cd5545d19f2d6bc" ], [ "FStar.Int.Cast.int8_to_uint64", @@ -1634,7 +1634,7 @@ 1, [ "@query" ], 0, - "6681efbefc2886d696be10b2a9d31130" + "d7d5f50523353df7aa4108a54d8c0620" ], [ "FStar.Int.Cast.int8_to_uint64", @@ -1655,7 +1655,7 @@ "typing_Prims.pow2" ], 0, - "d00fdaad98285b81b5b57b3a9cf84e90" + "f377c6ba2e4fbbf1be201bd1ff126270" ], [ "FStar.Int.Cast.int8_to_uint32", @@ -1664,7 +1664,7 @@ 1, [ "@query" ], 0, - "6a674164d93021a4cff9b93bd31bbf65" + "33e053460fae278a9d9a17bd3dc5a297" ], [ "FStar.Int.Cast.int8_to_uint32", @@ -1685,7 +1685,7 @@ "typing_Prims.pow2" ], 0, - "8a2d753be2f1f48abe98ca25ffac6b07" + "b39d9360b30f280cbef0e848ca89c990" ], [ "FStar.Int.Cast.int8_to_uint16", @@ -1694,7 +1694,7 @@ 1, [ "@query" ], 0, - "74ff9ab928c28331e2cf51e669a3cc6f" + "6b87478327f759812ba4ed0aca9f60a9" ], [ "FStar.Int.Cast.int8_to_uint16", @@ -1715,7 +1715,7 @@ "typing_Prims.pow2" ], 0, - "95b750f97a5e1e986a109dfab87d527b" + "a9392587fad1ce25d3cf49c7ee50b11e" ], [ "FStar.Int.Cast.int8_to_uint8", @@ -1724,7 +1724,7 @@ 1, [ "@query" ], 0, - "12c4e47abdd95a12c1afce2ef388d1cc" + "c815c44c3bd774bf976148b2cd9a1d15" ], [ "FStar.Int.Cast.int8_to_uint8", @@ -1745,7 +1745,7 @@ "typing_Prims.pow2" ], 0, - "29a06f07384a75eea525db87016ae1ec" + "c0a75fd6903998d23373ae62e2373c20" ], [ "FStar.Int.Cast.int16_to_uint64", @@ -1754,7 +1754,7 @@ 1, [ "@query" ], 0, - "7ccc1b20169ea6d6114b59a9611074cc" + "0002913d58098714111b43391ec589bf" ], [ "FStar.Int.Cast.int16_to_uint64", @@ -1775,7 +1775,7 @@ "typing_Prims.pow2" ], 0, - "2def7bed68eaa85159e7aa64525073e4" + "a516a72bcc230ed7aa9fb23746910274" ], [ "FStar.Int.Cast.int16_to_uint32", @@ -1784,7 +1784,7 @@ 1, [ "@query" ], 0, - "fdf19db3056544d80df4deb63d6d7883" + "e4324ca658f0a049ce9a116fdd00e391" ], [ "FStar.Int.Cast.int16_to_uint32", @@ -1805,7 +1805,7 @@ "typing_Prims.pow2" ], 0, - "cff3d6bcd41bde2ac539482f2fec1348" + "30713d11f3830966e09189eba3d33bd9" ], [ "FStar.Int.Cast.int16_to_uint16", @@ -1814,7 +1814,7 @@ 1, [ "@query" ], 0, - "f8d39f574979711ad886b314684c481a" + "c41fa387effc6abf5e2061f8ed333dd9" ], [ "FStar.Int.Cast.int16_to_uint16", @@ -1835,7 +1835,7 @@ "typing_Prims.pow2" ], 0, - "edb187c4f39a5c506baabd212dfb5c8b" + "cc6541c511fdd3e32be2ac276c0610cf" ], [ "FStar.Int.Cast.int16_to_uint8", @@ -1844,7 +1844,7 @@ 1, [ "@query" ], 0, - "6868581ce8fd655730b63bb981be4ca0" + "c5a7a5ffe103882212cdb8fcce6fdad3" ], [ "FStar.Int.Cast.int16_to_uint8", @@ -1865,7 +1865,7 @@ "typing_Prims.pow2" ], 0, - "ae90b086496f15cf0d8a8839d2ddb0b9" + "0d8566584b270f4f54073c26ffa0e9d5" ], [ "FStar.Int.Cast.int32_to_uint64", @@ -1874,7 +1874,7 @@ 1, [ "@query" ], 0, - "b9c0570a32177f84458c3c605c91fd02" + "a36c9a95c854c2b1dc37bdb754831b94" ], [ "FStar.Int.Cast.int32_to_uint64", @@ -1895,7 +1895,7 @@ "typing_Prims.pow2" ], 0, - "5828f1e0dbf9860e843ff95148bc4bf6" + "d3d76c019e32e3a2b055fef54f1a3b82" ], [ "FStar.Int.Cast.int32_to_uint32", @@ -1904,7 +1904,7 @@ 1, [ "@query" ], 0, - "3dbf378d472774390faac3de4da25bf8" + "a2cac1c11ddb12fb067e52fa755de676" ], [ "FStar.Int.Cast.int32_to_uint32", @@ -1925,7 +1925,7 @@ "typing_Prims.pow2" ], 0, - "45160cea53932d2ec54a38650696e859" + "bbc88399eb2ef1edf6cee6aceb7888d2" ], [ "FStar.Int.Cast.int32_to_uint16", @@ -1934,7 +1934,7 @@ 1, [ "@query" ], 0, - "cc9d39a681914c15107332f971266076" + "9c058d47a20d98989a4bee0a6aa0e545" ], [ "FStar.Int.Cast.int32_to_uint16", @@ -1955,7 +1955,7 @@ "typing_Prims.pow2" ], 0, - "4348229cf7b20ca878374473824ef59e" + "f64f82d1deaccd76978f9df9f95d84a4" ], [ "FStar.Int.Cast.int32_to_uint8", @@ -1964,7 +1964,7 @@ 1, [ "@query" ], 0, - "ab87ea3dc9e2a5e3d993d8c8c57c77c2" + "bdc3dd93a848acf2cd6927b943b2875d" ], [ "FStar.Int.Cast.int32_to_uint8", @@ -1985,7 +1985,7 @@ "typing_Prims.pow2" ], 0, - "434a9b07ec121cf3a7b61aad6f7a7d94" + "f58019cc896f6a3df0f5d348386e9d02" ], [ "FStar.Int.Cast.int64_to_uint64", @@ -1994,7 +1994,7 @@ 1, [ "@query" ], 0, - "95896b61d319832070294256a05e090a" + "6584fd6897653e6326a10c558aef68d5" ], [ "FStar.Int.Cast.int64_to_uint64", @@ -2015,7 +2015,7 @@ "typing_Prims.pow2" ], 0, - "2f3e98c59abca2a09fa1766c10cd30cd" + "d251170fecc83419f1bff2ed06a099a0" ], [ "FStar.Int.Cast.int64_to_uint32", @@ -2024,7 +2024,7 @@ 1, [ "@query" ], 0, - "625af42ea8f86d5ecce7bb979d5f849e" + "c99b7591812d8e6dff5931d2b2474da9" ], [ "FStar.Int.Cast.int64_to_uint32", @@ -2045,7 +2045,7 @@ "typing_Prims.pow2" ], 0, - "40ac35271f2ac20260dab93d48a2228a" + "a94e9079b296c5a17c5cb09941b9e71b" ], [ "FStar.Int.Cast.int64_to_uint16", @@ -2054,7 +2054,7 @@ 1, [ "@query" ], 0, - "e32e969e29bbd954a7adcc87866e5e51" + "995ac307fe7f958c3774038c68a1c40d" ], [ "FStar.Int.Cast.int64_to_uint16", @@ -2075,7 +2075,7 @@ "typing_Prims.pow2" ], 0, - "430c79aff20ed7ea35ecc77a35650cd2" + "ccee7812a08daede92213bc0b3d6ee2e" ], [ "FStar.Int.Cast.int64_to_uint8", @@ -2084,7 +2084,7 @@ 1, [ "@query" ], 0, - "a13a90270286c5b05b4122d79a9c8924" + "f60b50c8ca0c32614d947b9ab69680c8" ], [ "FStar.Int.Cast.int64_to_uint8", @@ -2105,7 +2105,7 @@ "typing_Prims.pow2" ], 0, - "765d40a2602181072eabbeb455f3eae5" + "9241dab48cb3b5aa0ba27ab3c5584b07" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int.fst.hints b/ulib/.cache/FStar.Int.fst.hints index 1c682d627fb..cf2b973e7a6 100644 --- a/ulib/.cache/FStar.Int.fst.hints +++ b/ulib/.cache/FStar.Int.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "290bf4109e5722d58e6b777f9aa3b5a2" + "74486887c5af1adbdf34a492e210a508" ], [ "FStar.Int.max_int", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "20d7cd30c7efb1c8ea7bf90798cd6ed0" + "83f1318a5bf9f09380dce167bd499dce" ], [ "FStar.Int.min_int", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bce383d5bb402415e389b2fd4e71bfdc" + "8a87998e3612320b676b4b41f237b7d4" ], [ "FStar.Int.op_Slash", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "b26f2754969210d2734fca5fa5a6da46" + "db2c98f549a0b82fb6d1f7ff9cbb9968" ], [ "FStar.Int.op_At_Percent", @@ -57,7 +57,7 @@ 0, [ "@query" ], 0, - "67a3b95502f0ffcc9b8f360456f71e20" + "41451c335ff34eb17998493a7d6d17f0" ], [ "FStar.Int.zero", @@ -80,7 +80,7 @@ "typing_Prims.pow2" ], 0, - "ae3c2f1e832266cf9815f72cfbf97d63" + "dd1c68bd85486469f27eb30307bdc9ba" ], [ "FStar.Int.pow2_n", @@ -106,7 +106,7 @@ "typing_Prims.pow2" ], 0, - "21d8bcd757da25dd95fa60bf0e454cf6" + "f00bc03885d3efb0543aaf9945e75732" ], [ "FStar.Int.pow2_minus_one", @@ -132,7 +132,7 @@ "typing_Prims.pow2" ], 0, - "6b95447759306c6d2c37ef021be7ad0e" + "d32b828fc5644735fdc1b4f125ed3d4e" ], [ "FStar.Int.one", @@ -158,7 +158,7 @@ "typing_Prims.pow2" ], 0, - "7bf0f83839a9030c7c788f992af7021b" + "3b4a50e0d65950ba3c61a8bdd30e1432" ], [ "FStar.Int.ones", @@ -181,7 +181,7 @@ "typing_Prims.pow2" ], 0, - "a53f87d5b5fb92bfdcb459badff1f91e" + "91e83ca257499c5686788f995ca05b47" ], [ "FStar.Int.incr", @@ -201,7 +201,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "781621e38dfb4f80429c539a363fb069" + "a9b53465f8baf624c41e3aca94cf95aa" ], [ "FStar.Int.decr", @@ -221,7 +221,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "156aa13a2cc959f3243fbc55214247ee" + "9ff912f301d481ecd5b642d3b0cfcbec" ], [ "FStar.Int.incr_underspec", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "411b173682e23fef45240eb7911a4c1c" + "8e1173b3e786228d241260a36f9347be" ], [ "FStar.Int.decr_underspec", @@ -262,7 +262,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "3cdcebf131cafc2c89ce8a359fbfebba" + "7343ac85154ef6ef9abb16d332883b25" ], [ "FStar.Int.incr_mod", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4b3fdfb9fbc6fdc1dbf6306ecc3ce11e" + "0c0b8826434fddbb2a638e671e166233" ], [ "FStar.Int.decr_mod", @@ -300,7 +300,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c08b2031cb82010a61e360acf4747bb7" + "d39e763beb8ce369422ae4dc41524307" ], [ "FStar.Int.add", @@ -309,7 +309,7 @@ 0, [ "@query" ], 0, - "b094a8880b7480a53ba0a2e6495b9da4" + "41daa576762fab54099377b077078fa5" ], [ "FStar.Int.add_underspec", @@ -331,7 +331,7 @@ "typing_FStar.Int.fits" ], 0, - "488be7503a0986b81107c0bb0ccf7b56" + "1e2bf819816718699f78cec6e3bb32b3" ], [ "FStar.Int.add_mod", @@ -365,7 +365,7 @@ "typing_FStar.Int.fits" ], 0, - "f87399d9a34c162593c6badf78fcd77b" + "1d52c6377398724bca24b795c006f72c" ], [ "FStar.Int.sub", @@ -374,7 +374,7 @@ 0, [ "@query" ], 0, - "a33382554aab69df8c1c82c4c509193b" + "202b2ed6058e90a49cca1a00e69e8e79" ], [ "FStar.Int.sub_underspec", @@ -396,7 +396,7 @@ "typing_FStar.Int.fits" ], 0, - "aacbae3c0a09603bc9f263d557733836" + "5a48511fec9d8ffc99ab731c224ee8a1" ], [ "FStar.Int.sub_mod", @@ -427,7 +427,7 @@ "typing_FStar.Int.fits" ], 0, - "563593d9f8e45637982c2b87e1fe293b" + "0f6365391cb8bd32be9f7a48640ac44e" ], [ "FStar.Int.mul", @@ -436,7 +436,7 @@ 0, [ "@query" ], 0, - "4da9f8dbbfb9e0584c6829b9977d6977" + "43f504d62979325a112ba435d0582a61" ], [ "FStar.Int.mul_underspec", @@ -458,7 +458,7 @@ "typing_FStar.Int.fits" ], 0, - "d92858108c540aace0037c806e967e1e" + "098d67de8a9f3967590f4918f7562d85" ], [ "FStar.Int.mul_mod", @@ -489,7 +489,7 @@ "typing_FStar.Int.fits" ], 0, - "03f0fc8ac799ab2582e3ed0118a56de4" + "8157f1880b3aef9f337e8ebd0af0aed1" ], [ "FStar.Int.div", @@ -498,7 +498,7 @@ 0, [ "@query" ], 0, - "59396c89e12ce5bfcc4ce49e75297c66" + "eb773f6c3d178cf6f81b5c81f7d38b59" ], [ "FStar.Int.div_underspec", @@ -507,7 +507,7 @@ 0, [ "@query" ], 0, - "3bc6a1ab528e2e04134fd1c58ae8a469" + "c1aa2528c453748ceb65d5270280031f" ], [ "FStar.Int.div_underspec", @@ -529,7 +529,7 @@ "typing_FStar.Int.fits" ], 0, - "4532017b537b6c5cf66a08b3c26936c9" + "cd293fdc606984ac1e98a183ad9bb167" ], [ "FStar.Int.div_size", @@ -538,7 +538,7 @@ 0, [ "@query" ], 0, - "1836002dbd82539a94ceb5a4110d960c" + "23f4ed539a63a2bf6e04584ebcee7ac6" ], [ "FStar.Int.div_size", @@ -565,7 +565,7 @@ "typing_Prims.abs" ], 0, - "935c0f6ab824edab8bb66b4e60949c84" + "70c7e4e1cb1d43ed4b58483d797368d0" ], [ "FStar.Int.udiv", @@ -580,7 +580,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "bb895eab7d03e47c7d8783f741ee0dbe" + "880ea330bfc8fb88962f7ce7ee203b64" ], [ "FStar.Int.mod", @@ -609,7 +609,7 @@ "typing_FStar.Int.fits", "typing_Prims.abs" ], 0, - "87aa71c199b0d7a0c562f4eb61b7394d" + "5ccbb00645f3569f56a70848ba2dc46f" ], [ "FStar.Int.eq", @@ -623,7 +623,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "00a5fce963f6908febe70fe9bef7f7d4" + "778c17bbf2b43b502ff539973d196309" ], [ "FStar.Int.to_uint", @@ -653,7 +653,7 @@ "typing_FStar.Int.fits", "typing_Prims.pow2" ], 0, - "362ae45c02b4ca2bf131dbc2b52f20a5" + "c425e885e60286ec888d0214586704fd" ], [ "FStar.Int.from_uint", @@ -662,7 +662,7 @@ 0, [ "@query" ], 0, - "42413c1c3a21c192c0740683cd07dc1c" + "a8709d3390cc8d3ca88b77a7f012bfd8" ], [ "FStar.Int.from_uint", @@ -691,7 +691,7 @@ "typing_Prims.pow2" ], 0, - "4d72848db60ddf9aa3e973fa076cd322" + "2b2bcf8caa0acec664b46f735fd9610a" ], [ "FStar.Int.to_uint_injective", @@ -721,7 +721,7 @@ "typing_FStar.Int.to_uint" ], 0, - "4b1f60f6fab946e029ee9c2d72f208dd" + "ac38e2276f797bbe60932d9b319cc012" ], [ "FStar.Int.to_int_t", @@ -752,7 +752,7 @@ "typing_FStar.Int.fits" ], 0, - "43c40169bfca9df9ae4d540f2c8d7fe4" + "8dac7864ffe4d0c438864f052cf2a277" ], [ "FStar.Int.to_vec", @@ -761,7 +761,7 @@ 0, [ "@query" ], 0, - "d574a23cf3237217169b0cab90149700" + "a3800cc9e4faed5fd950041741fc0fcd" ], [ "FStar.Int.from_vec", @@ -770,7 +770,7 @@ 0, [ "@query" ], 0, - "9a5b646a48645efd0db269a7793e5df4" + "17f7c96fa7254c38f978f989a951842f" ], [ "FStar.Int.from_vec", @@ -806,7 +806,7 @@ "typing_FStar.UInt.fits" ], 0, - "268634c9eae8119739867eb2dd8e669e" + "973c8c6101340b862b65ce10151c1f99" ], [ "FStar.Int.to_vec_lemma_1", @@ -822,7 +822,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c9137b84a3c8d498a239d3e9e427306d" + "e7e255bf919a2b08b1a4748112446277" ], [ "FStar.Int.to_vec_lemma_1", @@ -840,7 +840,7 @@ "typing_FStar.Int.to_vec" ], 0, - "875f576c5c91ddf187394e0d2d702294" + "2484d0043e4225c3580b159f968a41dd" ], [ "FStar.Int.to_vec_lemma_2", @@ -854,7 +854,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ddf55efeae0a2bc24fa990060e863422" + "aa24d04506058e03fa2f260205a33ad9" ], [ "FStar.Int.to_vec_lemma_2", @@ -867,7 +867,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dbd7acf220a856f062ac84aad4f9abb8" + "c1b4e228442052653112ac85658f5ad0" ], [ "FStar.Int.inverse_aux", @@ -882,7 +882,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "fc6c24b208a1979bf9274195cabe0a97" + "3436b2ca1ebc04067a479221a6dc677b" ], [ "FStar.Int.inverse_aux", @@ -897,7 +897,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "e42da354073752ae53629236e95f8411" + "4279e4ad2daafc465f89cce246f75fef" ], [ "FStar.Int.inverse_aux", @@ -955,7 +955,7 @@ "well-founded-ordering-on-nat" ], 0, - "b5ef43380a0955b2e200ce0a7261a95e" + "b67785ce1a6db99abbde06549f3357e3" ], [ "FStar.Int.inverse_vec_lemma", @@ -964,7 +964,7 @@ 0, [ "@query" ], 0, - "9f7207116c0324393191fc519e763089" + "cbd2b2a01bb2dbace7ad026967a944d4" ], [ "FStar.Int.inverse_vec_lemma", @@ -973,7 +973,7 @@ 0, [ "@query" ], 0, - "04e1087d2278f113221d2f523d4fa769" + "ae2d56ce457c756f576c1c66d8b7d358" ], [ "FStar.Int.inverse_vec_lemma", @@ -996,7 +996,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "6b285992783a18047c609a5686418a48" + "edbda9053178295992ee7c4fd66e27ae" ], [ "FStar.Int.inverse_num_lemma", @@ -1010,7 +1010,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "496d23577e1f1d509c0f0775801fb223" + "b9b945ab90a8a151dbb37efd7842f66f" ], [ "FStar.Int.inverse_num_lemma", @@ -1044,7 +1044,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "cbfa5a326e434cb32b1b3e000f28e0d4" + "40ce62fa1a8de454dc9bfd0f8f9932bf" ], [ "FStar.Int.from_vec_lemma_1", @@ -1060,7 +1060,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6fbf57519b8470b8a6c132782c3b1a0b" + "d43cadb39391f77b84d0ea39397cce20" ], [ "FStar.Int.from_vec_lemma_1", @@ -1072,7 +1072,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "67617ede661366570802332d5795f628" + "9c4d2ac8435d36c4aa5315203ae5d27b" ], [ "FStar.Int.from_vec_lemma_1", @@ -1087,7 +1087,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "438a3c16ecd4d7cebbaa91188b5e4d4a" + "8d4127f14459cc77ed9996206318d75f" ], [ "FStar.Int.from_vec_lemma_2", @@ -1103,7 +1103,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f77ff9d27bfee9a9d9236d4196615180" + "b2d162955a70c29ab95f37d78c686fe1" ], [ "FStar.Int.from_vec_lemma_2", @@ -1115,7 +1115,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e9cea10f1357cf01192cdda1b4e19c64" + "c0964b36c764385c8fe83e2db4e4b265" ], [ "FStar.Int.from_vec_lemma_2", @@ -1132,7 +1132,7 @@ "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec" ], 0, - "b2ceeb4060b1e4fc24473f37d1464611" + "e4f47eb1f380a4f0d80cfa596913ec2b" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1150,7 +1150,7 @@ "typing_FStar.Int.zero" ], 0, - "99388e5d16469bc1193cf781704f3e3e" + "449400b4f4de3ce7af9866c4f400245a" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1166,7 +1166,7 @@ "typing_FStar.Int.zero" ], 0, - "3a60254d83d7931ed92611773adc9bbb" + "26f102723056ed1277acc0cc3e42515e" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1219,7 +1219,7 @@ "well-founded-ordering-on-nat" ], 0, - "b735b0847b7f6742458916cbc47c044e" + "7f7ab94cec4151d5229afedcc5049363" ], [ "FStar.Int.zero_from_vec_lemma", @@ -1233,7 +1233,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6224de9d5dc7bd5bc15271e408c1799" + "ede6ca64b15c59c54b680a23fcc897f7" ], [ "FStar.Int.zero_from_vec_lemma", @@ -1263,7 +1263,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "a2343f19d5965f5fd43fd8f30ad71f6d" + "9f9bc03b23b27ce21dec98d05d068337" ], [ "FStar.Int.one_to_vec_lemma", @@ -1281,7 +1281,7 @@ "typing_FStar.Int.one", "typing_FStar.Int.to_vec" ], 0, - "dfe671297cf462f85d3199ac537b1371" + "075d0cf01ef3c4ca0932874013f7481b" ], [ "FStar.Int.one_to_vec_lemma", @@ -1337,7 +1337,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "b82e640ca23da28f75e3170ba62deaf9" + "994f46223bf6d8fd500b1317c0c5161b" ], [ "FStar.Int.pow2_to_vec_lemma", @@ -1358,7 +1358,7 @@ "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "96c1134d6103e00c902742c2fbd0075a" + "f4d12b91b700b374a9e948e70abeed25" ], [ "FStar.Int.pow2_to_vec_lemma", @@ -1377,7 +1377,7 @@ "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "b6429cdb9ff6dfdbe222a709fcd0e095" + "82eb9d788f4e894b671049a57183f6e0" ], [ "FStar.Int.pow2_to_vec_lemma", @@ -1447,7 +1447,7 @@ "well-founded-ordering-on-nat" ], 0, - "1b133e07886b4ec94559f58ad452429c" + "8408b9db72cc3d6e6d89ceb494a49cc2" ], [ "FStar.Int.pow2_from_vec_lemma", @@ -1465,7 +1465,7 @@ "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d" ], 0, - "702c8ae515756f0704631fbc3be67744" + "de6d382fca03978adb91aa3c09722ed5" ], [ "FStar.Int.pow2_from_vec_lemma", @@ -1524,7 +1524,7 @@ "typing_FStar.Int.to_vec" ], 0, - "043c1b615a07a49a9a6a7d677cdc0315" + "ec19778622c8391f53c7d31f73cddfc1" ], [ "FStar.Int.ones_to_vec_lemma", @@ -1584,7 +1584,7 @@ "typing_FStar.UInt.fits" ], 0, - "d6aac45eb75f722446a16e285163f83e" + "6e84e44d4d0f2a687638b4d3dd4ad26c" ], [ "FStar.Int.ones_from_vec_lemma", @@ -1598,7 +1598,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c994ad57a95a6db75c9c037607b36989" + "382acfd3f5058571cb7d9c599fc4acfc" ], [ "FStar.Int.ones_from_vec_lemma", @@ -1624,7 +1624,7 @@ "typing_FStar.Int.ones", "typing_FStar.Int.to_vec" ], 0, - "264d59bdd3093553ec19ce47a74b803b" + "ade6f5549f026c333f8737d7abba2a04" ], [ "FStar.Int.nth", @@ -1638,7 +1638,7 @@ "typing_FStar.Int.to_vec" ], 0, - "c49c85908ff2fde4e90b4c309d0e6d27" + "86670fd7113f9f1fb1cffe484c77e4bb" ], [ "FStar.Int.nth_lemma", @@ -1652,7 +1652,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fc4dd25707228c18487130ba4fc5ef1c" + "c16c57d5a7334df44fb10d6f698d8a9d" ], [ "FStar.Int.nth_lemma", @@ -1676,7 +1676,7 @@ "typing_FStar.Int.fits", "typing_FStar.Int.to_vec" ], 0, - "7976470882c398ea9b6badc8dfdc3151" + "3536db5223c7d76fc550dad9ce6811f7" ], [ "FStar.Int.zero_nth_lemma", @@ -1696,7 +1696,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "48a3f11c6cbc5bb7bb215781d8694695" + "331bbd28c59ede9417bb673e0205ce40" ], [ "FStar.Int.one_nth_lemma", @@ -1731,7 +1731,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "9847777648c209bb4bc18c31b4a58a77" + "56b423f0ec39ca53cd7e3cc8a577959f" ], [ "FStar.Int.ones_nth_lemma", @@ -1751,7 +1751,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d0c771229770e4cdf8df3a55bc5952d0" + "42848989c97a059c461b971b9e6c8ed9" ], [ "FStar.Int.logand_definition", @@ -1779,7 +1779,7 @@ "typing_FStar.Int.to_vec" ], 0, - "fdb1c62acf74c89b283d73e1b4fb9163" + "17f398656a3a6fc635d7b7f2c8672e76" ], [ "FStar.Int.logxor_definition", @@ -1807,7 +1807,7 @@ "typing_FStar.Int.to_vec" ], 0, - "e4d048ffc7d2816f6f3492d3ded52fd9" + "b775a007284d226ea6d0f050ed25562c" ], [ "FStar.Int.logor_definition", @@ -1835,7 +1835,7 @@ "typing_FStar.Int.to_vec" ], 0, - "0b1d176fdbdef743f5462b3fb10d2c11" + "c74127110b13ad36a876f18017e1e19b" ], [ "FStar.Int.lognot_definition", @@ -1863,7 +1863,7 @@ "typing_FStar.Int.to_vec" ], 0, - "7a6724a09457b917a89c11e7b5a8d0cd" + "e98f784e1abbbfc6594d5b4325fc59b6" ], [ "FStar.Int.minus", @@ -1891,7 +1891,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "974f70fca4f9422ff7bb6dbf3059d0e7" + "76a449ba22219586c5ea55e3e90259e8" ], [ "FStar.Int.logand_commutative", @@ -1905,7 +1905,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80e25ef18bb012bbdcd037887a292524" + "4724b8f25e9a7386394f0eff0f951847" ], [ "FStar.Int.logand_commutative", @@ -1921,7 +1921,7 @@ "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" ], 0, - "965dc01716a78e0893a371e703b16261" + "b8bb116930ca78c4c8fe2df8914004ce" ], [ "FStar.Int.logand_associative", @@ -1935,7 +1935,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ef7fc55183909074ed50461d485f8d1" + "18922ada0e2b24dd5e6aa26b373801be" ], [ "FStar.Int.logand_associative", @@ -1977,7 +1977,7 @@ "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "3b070ac2b84b7e5239d9f9cf934c5229" + "93c3e72438bbbda41fa027f8210a96c2" ], [ "FStar.Int.logand_self", @@ -1991,7 +1991,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "274dba3587944917224b63f43d42e480" + "0365bbed643e0c8ab0e732b3136cba37" ], [ "FStar.Int.logand_self", @@ -2008,7 +2008,7 @@ "typing_FStar.Int.nth" ], 0, - "57b15457627f8baeacfb5450403198a0" + "ca4b2e58daba9cc14661270693491eb8" ], [ "FStar.Int.logand_lemma_1", @@ -2022,7 +2022,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6c54bd0954536d9b4a12cac819c006e" + "4b47a1b396a4a40cb9d85a035681c165" ], [ "FStar.Int.logand_lemma_1", @@ -2040,7 +2040,7 @@ "typing_FStar.Int.zero" ], 0, - "f42cae2be4ab5c1d3e553e7713605dff" + "d57d8353bc561fc7b307f750398f85a7" ], [ "FStar.Int.logand_lemma_2", @@ -2054,7 +2054,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e6f803a01a9786954c887665c25e35c" + "ac83e56f466566004cf849cbde1733db" ], [ "FStar.Int.logand_lemma_2", @@ -2075,7 +2075,7 @@ "typing_FStar.Int.ones" ], 0, - "c5287af7d9d98f9a49d0ef3864dabfeb" + "bfd18c4b2b41640389987181daf39ae7" ], [ "FStar.Int.sign_bit_negative", @@ -2088,7 +2088,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a2d8ca5cafb6cc8b9eb6d883ee7a4bfb" + "08ce438f266d1a785beca97959352e03" ], [ "FStar.Int.sign_bit_negative", @@ -2143,7 +2143,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "3f05c8883e1eebdb564dbb0fb877d86d" + "20875af9f29ecfcb6052b10637c34e7d" ], [ "FStar.Int.sign_bit_positive", @@ -2156,7 +2156,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5f9d691b0ad7ad6634c746863b2365bf" + "6e01e119984d6af254a2fc4622cb0071" ], [ "FStar.Int.sign_bit_positive", @@ -2210,7 +2210,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "cd7748f1141d67e277bf4e4e18718512" + "e731ba89bf001b035494afdf903a8eec" ], [ "FStar.Int.logand_pos_le", @@ -2238,7 +2238,7 @@ "typing_FStar.UInt.logand" ], 0, - "ea3c511dc590b10ff75d9997adecdf66" + "5437c5cbcfbc2cc245c4210491367545" ], [ "FStar.Int.logand_pow2_minus_one", @@ -2254,7 +2254,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6155c33acd14c425fc90307a80bbc9e6" + "1cd55b6c8a7fd2a39fee59a82c296de3" ], [ "FStar.Int.logand_pow2_minus_one", @@ -2288,7 +2288,7 @@ "typing_FStar.UInt.logand", "typing_Prims.pow2" ], 0, - "c80e409a84405b932c3beadcab4955c0" + "85e1eeaf2f3df3bfdb2305fdcfd09786" ], [ "FStar.Int.logand_max", @@ -2312,7 +2312,7 @@ "typing_FStar.Int.fits" ], 0, - "28c417cf8d6d47ac1914f2dd9890c6f8" + "440daeecff0ec56ae6196dd83d6746df" ], [ "FStar.Int.logand_max", @@ -2351,7 +2351,7 @@ "typing_FStar.Int.to_uint" ], 0, - "fadddf027f4850599e04ae46395a1b59" + "03cce45d7124d961204eea258ea26348" ], [ "FStar.Int.logxor_commutative", @@ -2365,7 +2365,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "35ff2f15aa69a8d7106f8ac68a2ad47d" + "2d761bee191bcd076dfe7f1135d02692" ], [ "FStar.Int.logxor_commutative", @@ -2384,7 +2384,7 @@ "typing_FStar.Int.fits" ], 0, - "f76238b93f8669fd15a1932633b0b2b3" + "4bc6e8c00ac690e07302346a61981d00" ], [ "FStar.Int.logxor_associative", @@ -2398,7 +2398,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8467a7c58cfd2d01f6e59a3df3c5aaa" + "5e9663d44c412af4335cd05ba42e12c3" ], [ "FStar.Int.logxor_associative", @@ -2435,7 +2435,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f187e77c3ba05b299d34408c26198f87" + "065a6b2785097a30b09aefe0fdefc6c6" ], [ "FStar.Int.logxor_self", @@ -2449,7 +2449,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c9f72dc992102853bf2952f14a96ba5" + "28d50b23ea179bad901a7fa78ab4eac8" ], [ "FStar.Int.logxor_self", @@ -2468,7 +2468,7 @@ "typing_FStar.Int.fits" ], 0, - "7aa5e7688d654487c5a2a4fb9ca01107" + "a0228962c698ffa5715422c6766b7ce6" ], [ "FStar.Int.logxor_lemma_1", @@ -2482,7 +2482,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6275e336be04df2f04ce16f0476d469c" + "0f96ad81af4f16d0dbd092435998072a" ], [ "FStar.Int.logxor_lemma_1", @@ -2503,7 +2503,7 @@ "typing_FStar.Int.zero" ], 0, - "6c0cc16c3c253b8ec8173fdd7576eba8" + "eeb79b8912c6fe8e56380497dc3d5e37" ], [ "FStar.Int.logxor_lemma_2", @@ -2517,7 +2517,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ce8de03de47baf87aa7df9f560daaa2" + "2c12f721e544ff234ac9bc7a73bcde50" ], [ "FStar.Int.logxor_lemma_2", @@ -2540,7 +2540,7 @@ "typing_FStar.Int.ones" ], 0, - "a52711ad8c6acd54eb14eea87546ee0c" + "3a2cf90690b7342042052c01cee02aed" ], [ "FStar.Int.logxor_inv", @@ -2554,7 +2554,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "875ea96ba2511ad172b3becbdf931630" + "fd0697c0b01b2193e7e11f80ce44ce65" ], [ "FStar.Int.logxor_inv", @@ -2586,7 +2586,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "82ae0ae5c8e096fd2615d59788e22b20" + "7458dfab1ea197983ea9171a369bfe87" ], [ "FStar.Int.logxor_neq_nonzero", @@ -2600,7 +2600,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3154feae838447aceb48fb6da9998465" + "cb2a8f75766589a41159236a2b3e9a6f" ], [ "FStar.Int.logxor_neq_nonzero", @@ -2660,7 +2660,7 @@ "typing_Prims.pow2" ], 0, - "e27e15c4cc363f3ecba66ff09521d53d" + "b637e3bab0a884d79ac7f781a5fb3e00" ], [ "FStar.Int.lognot_negative", @@ -2726,7 +2726,7 @@ "typing_FStar.Int.fits" ], 0, - "7b5afc4d21aee3d5c5658f3cb593c0c0" + "3171ce52e5d9381ff3ba950266d87e28" ], [ "FStar.Int.shift_left_lemma_1", @@ -2738,7 +2738,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f3c873f83220de3d8add03c26f42251b" + "e8d94dbe8f163f76c5ec1d037af25672" ], [ "FStar.Int.shift_left_lemma_1", @@ -2766,7 +2766,7 @@ "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec" ], 0, - "3e539fcbe40e29647d1ce87ee0a3196e" + "5ae37b890772a0cddbbee73e4a5710ef" ], [ "FStar.Int.shift_left_lemma_2", @@ -2783,7 +2783,7 @@ "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "6567c0e002f886500a7f28de73805db5" + "46de1c82cb2725b3e894c2e2ba5df48b" ], [ "FStar.Int.shift_left_lemma_2", @@ -2809,7 +2809,7 @@ "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec" ], 0, - "85e944fbede710cb5e792b668867b49f" + "9123717726a7deb5d67542a28b010506" ], [ "FStar.Int.shift_left_value_lemma", @@ -2828,7 +2828,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "465a3c8f0429c05cb91923396d9bacc0" + "fcd7e0e6a920a0e4b3e44e229a125779" ], [ "FStar.Int.shift_left_value_lemma", @@ -2868,7 +2868,7 @@ "typing_Prims.pow2" ], 0, - "3ddf55910682259cacdc60ff8ea6afe4" + "fb4b71fe2b8932bbd10027f926c61c4a" ], [ "FStar.Int.shift_right_lemma_1", @@ -2880,7 +2880,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b4fa8f97f2eb4dc1d46fb3538ac2d835" + "5b5fa7a1f0879ad8044e91681f8cee3e" ], [ "FStar.Int.shift_right_lemma_1", @@ -2908,7 +2908,7 @@ "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec" ], 0, - "0ce32cc7bbd25fb6f644f6fda5c7ceba" + "b9482ca9c2a785ce67ab407076485d90" ], [ "FStar.Int.shift_right_lemma_2", @@ -2925,7 +2925,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "9ac658990f7425da76fdc1ee01377347" + "11222c256d0167648621cacaedd9e8e3" ], [ "FStar.Int.shift_right_lemma_2", @@ -2951,7 +2951,7 @@ "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec" ], 0, - "dc19bad8d3ab4af841699d5dfceff341" + "cc8da4e20c948e65fa8c91b87a2e5468" ], [ "FStar.Int.shift_arithmetic_right_lemma_1", @@ -2965,7 +2965,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4726ab15296dea1d4fcaf5a595067641" + "fe5f7a9026da459c77d9de3fcfd0ea52" ], [ "FStar.Int.shift_arithmetic_right_lemma_1", @@ -2992,7 +2992,7 @@ "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec" ], 0, - "cf2c40b263b83bab438d8bfca138d403" + "57b3dacc41e3c0ae391936b973ba18fc" ], [ "FStar.Int.shift_arithmetic_right_lemma_2", @@ -3009,7 +3009,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "3f50c458c086d5e6266c857f042be175" + "a3b56557a58b4bb340dda326eb4d4192" ], [ "FStar.Int.shift_arithmetic_right_lemma_2", @@ -3036,7 +3036,7 @@ "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec" ], 0, - "0407fc148cc88b2dd8169a70971b9644" + "404b8aadeecde0b6d65580ceb542985d" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int.fsti.hints b/ulib/.cache/FStar.Int.fsti.hints index 4ef3a582eaf..ccb8293e70b 100644 --- a/ulib/.cache/FStar.Int.fsti.hints +++ b/ulib/.cache/FStar.Int.fsti.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eb7195d0c377072f2322bf63034402fa" + "9a11bed1d019a66a61ef1ab58b4d0409" ], [ "FStar.Int.min_int", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ab5faa3cb72c10b5ba27970d8982094d" + "42cd52c7cb411b58e3eec60f5436ff05" ], [ "FStar.Int.op_Slash", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "5cb4ab5b3835a014bf76e91c803d3582" + "c31398df34f88d5493775e2dbd638cd0" ], [ "FStar.Int.op_At_Percent", @@ -48,7 +48,7 @@ 1, [ "@query" ], 0, - "93a1aed6353199cd273edf1ce10b83d9" + "d7c82bc48cc11e30795301af1dc518a0" ], [ "FStar.Int.zero", @@ -71,7 +71,7 @@ "typing_Prims.pow2" ], 0, - "17af02b851ec662ad3adca43ab596efc" + "6e1338e1a43d057a3f154b9ccd65a508" ], [ "FStar.Int.pow2_n", @@ -97,7 +97,7 @@ "typing_Prims.pow2" ], 0, - "5d583bd258e72ab9ae9d889949fbcf34" + "11961cd55f2e9582178aa6ab8181d4b4" ], [ "FStar.Int.pow2_minus_one", @@ -123,7 +123,7 @@ "typing_Prims.pow2" ], 0, - "e9ea6bdc6b4d001d2e5bc3848fbd854e" + "37666f3110436ecda70c72af82c2ee3d" ], [ "FStar.Int.one", @@ -149,7 +149,7 @@ "typing_Prims.pow2" ], 0, - "b7e20b3b6a62369b22f122634b58ebc3" + "4946b7c9016e4379d22f9dfca28755e1" ], [ "FStar.Int.ones", @@ -172,7 +172,7 @@ "typing_Prims.pow2" ], 0, - "37b5c4b0329974e05cdc513ce9076d6d" + "3758b869ceb10adf0cb2b9d09f2e8bb1" ], [ "FStar.Int.incr", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "3da90ac23205c99cbf44c0facafd40e9" + "c7f4a8f19c40312dea61d74e412e3299" ], [ "FStar.Int.decr", @@ -212,7 +212,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "47fb63ae787da2e91ae5d61bb1e4f504" + "db265e50e8cef34e0d9d04f7704fa63d" ], [ "FStar.Int.incr_mod", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c3d73472ba2b29cf184690e1fa15bbfe" + "0589046492c2c3f4daf97444a726a5e0" ], [ "FStar.Int.decr_mod", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b8729c705281c0bff9bcd3f29ce8b88d" + "8f283a117a37d5270d1f17552293b57c" ], [ "FStar.Int.add", @@ -259,7 +259,7 @@ 1, [ "@query" ], 0, - "398319ef59f67a7e5df306cd9e67b1af" + "0814215b5c4e9aad25ef6cccb2730401" ], [ "FStar.Int.add_mod", @@ -290,7 +290,7 @@ "typing_FStar.Int.fits" ], 0, - "0aa00764b920ad83712cca30c19b212e" + "a2c0aebd7dcac29d5764228c9c8000b7" ], [ "FStar.Int.sub", @@ -299,7 +299,7 @@ 1, [ "@query" ], 0, - "dfb467a869538b9d404675527e5bf5c5" + "6bf4c4e3e4114a643094c0467a5fe4ce" ], [ "FStar.Int.sub_mod", @@ -330,7 +330,7 @@ "typing_FStar.Int.fits" ], 0, - "77c52c3146e6ab566049c4209e380270" + "1e0c1b83e3414beae442459050038ac0" ], [ "FStar.Int.mul", @@ -339,7 +339,7 @@ 1, [ "@query" ], 0, - "09ee681203f2dc4b3243690aa754a277" + "c9e50746455bc1bedc0ad3b7dd65eab4" ], [ "FStar.Int.mul_mod", @@ -370,7 +370,7 @@ "typing_FStar.Int.fits" ], 0, - "6f0de71f959869c691fec1e9e979a1c4" + "434aea78bdd77d7323a9a61bcd989632" ], [ "FStar.Int.div", @@ -379,7 +379,7 @@ 1, [ "@query" ], 0, - "5c7e15194f7a7bbbe49fa7ae47d3c45b" + "efad510b45726387fe064b7e43b18959" ], [ "FStar.Int.div_underspec", @@ -388,7 +388,7 @@ 1, [ "@query" ], 0, - "9ccc6377c1c742fc3e738902da3a7755" + "dfac30bb2e2eb2fd1d9754ac673e3409" ], [ "FStar.Int.div_size", @@ -397,7 +397,7 @@ 1, [ "@query" ], 0, - "7b7c8659c87da3a2ef03e3fcd30d0dd2" + "061b1a17fce41d84e91be2e4528a71d0" ], [ "FStar.Int.udiv", @@ -412,7 +412,7 @@ "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "d60c74ef9cea7a57ff86448638dc4a66" + "ce29055e489db4abf499907d549b2d38" ], [ "FStar.Int.mod", @@ -446,7 +446,7 @@ "typing_FStar.Int.fits", "typing_Prims.abs", "typing_Prims.pow2" ], 0, - "75b4d426ce1e9ea2f6416e9194f91600" + "222f1ad72178be07c590e5f5f639cdc5" ], [ "FStar.Int.eq", @@ -460,7 +460,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c285213471fb35d9a6ba0ed9b9ae2437" + "8433c3192dff9aebce92d173e92e4f54" ], [ "FStar.Int.to_uint", @@ -490,7 +490,7 @@ "typing_FStar.Int.fits", "typing_Prims.pow2" ], 0, - "27d377c1eba638656af6fe915939dced" + "f445d2349860798b6336b9916d842ab2" ], [ "FStar.Int.from_uint", @@ -499,7 +499,7 @@ 1, [ "@query" ], 0, - "cc8c10e438ff1d5901ddff2376863eeb" + "6f37948511ff0daedbb1e9d076dada56" ], [ "FStar.Int.from_uint", @@ -528,7 +528,7 @@ "typing_Prims.pow2" ], 0, - "97bdd17983c1157fecb4603c88f58407" + "021739b1c4e1bcad6012c20d8db69dc5" ], [ "FStar.Int.to_int_t", @@ -559,7 +559,7 @@ "typing_FStar.Int.fits" ], 0, - "d5845892c36933d7d9e4a22d6d102acf" + "34231cb24616209d21c79e23303a3b15" ], [ "FStar.Int.to_vec", @@ -571,7 +571,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "10652255ad466fb24655fbdf7014c91c" + "dec679b05456574e6375499e7c754409" ], [ "FStar.Int.from_vec", @@ -580,7 +580,7 @@ 1, [ "@query" ], 0, - "d1129b9d2a12b78ec215f787dbf2b56e" + "8532bac23f59f9953ffbd7ccc26c471a" ], [ "FStar.Int.from_vec", @@ -616,7 +616,7 @@ "typing_FStar.UInt.fits" ], 0, - "1fb8cc939dffad8bd72a4fe3711a8237" + "a5993517f5cd49ac0aef1de94cf573f5" ], [ "FStar.Int.to_vec_lemma_1", @@ -632,7 +632,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4b841f65b6a33515a9684925dc3fb03e" + "620f150aba78d10bd45a3a0a316eb2fe" ], [ "FStar.Int.to_vec_lemma_2", @@ -646,7 +646,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e82586369c52961d63874b983a4eaace" + "72b0fc3cadc1f98f0a08e0c6e89d34f6" ], [ "FStar.Int.inverse_aux", @@ -661,7 +661,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "23d5d6f4c0a21b313ede3cd06e61ab85" + "2d72bcb8afab6745b28d1aeae2372215" ], [ "FStar.Int.inverse_vec_lemma", @@ -670,7 +670,7 @@ 1, [ "@query" ], 0, - "fbdceafbf606f544ba5e4c3e0d46b14e" + "eccd473732687c234251283724b10a71" ], [ "FStar.Int.inverse_num_lemma", @@ -684,7 +684,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8b8eb4164685a0edb34a62a8166e995" + "b9e026e66b95ca37134f6697900535b3" ], [ "FStar.Int.from_vec_lemma_1", @@ -700,7 +700,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3ae38e2c7deecf9e3fe42b9b4ba251f2" + "0f81009fe7f86932b58891b281d796de" ], [ "FStar.Int.from_vec_lemma_2", @@ -716,7 +716,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8a3a2a60e53884ede207971adfd413fb" + "2705ede2dcbadf89e79c1c539cb1a6f4" ], [ "FStar.Int.zero_to_vec_lemma", @@ -734,7 +734,7 @@ "typing_FStar.Int.zero" ], 0, - "3a56c8e1643fdcb5d318f9027a7b7172" + "45b932b1c6c0de2c82f6e172c59e72c6" ], [ "FStar.Int.zero_from_vec_lemma", @@ -748,7 +748,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "538f536b30222fc704fdb0198506f397" + "a5492bbf1d1ccbbb241e878b1c382078" ], [ "FStar.Int.one_to_vec_lemma", @@ -766,7 +766,7 @@ "typing_FStar.Int.one", "typing_FStar.Int.to_vec" ], 0, - "cef0d993c4af0b95a4c9b884b4d7ef5b" + "98eb01cbd449594c3432adf3b78af145" ], [ "FStar.Int.pow2_to_vec_lemma", @@ -786,7 +786,7 @@ "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "53be0ac0d9fbf1833a9118906e6c873e" + "d8feca74e4e17b81cf763a5e06f89530" ], [ "FStar.Int.pow2_from_vec_lemma", @@ -804,7 +804,7 @@ "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d" ], 0, - "063aed1c01076cd0d238fd325eb61a42" + "e35a474248d3c6fc5deb20cc1466aa3a" ], [ "FStar.Int.ones_to_vec_lemma", @@ -822,7 +822,7 @@ "typing_FStar.Int.to_vec" ], 0, - "8411e8c26d58e8bf7650d401d869391a" + "94a9226d06a8aa7b52268e423c847bc1" ], [ "FStar.Int.ones_from_vec_lemma", @@ -836,7 +836,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80299e11a5f5a0839f4262d79a29bd2a" + "94d5c8288dfc16b17035a5ef34105205" ], [ "FStar.Int.nth", @@ -850,7 +850,7 @@ "typing_FStar.Int.to_vec" ], 0, - "499e68ad09c8c326d48ae100d1d8a40b" + "c5cc8f4ab4456391fce9b82d7af3af6e" ], [ "FStar.Int.nth_lemma", @@ -864,7 +864,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d53e93693dc3c5f60d55d74a4de6aa5" + "e85a91ec1b9c07311f46411730cc3e62" ], [ "FStar.Int.minus", @@ -891,7 +891,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "ac3d68082a71a700023b091808d88bc0" + "840211b73b1adb67b20658f3679f9230" ], [ "FStar.Int.logand_commutative", @@ -905,7 +905,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "918aa6f4473bfc355749babb68382900" + "d988cc7e36a32d56292fc34e52cdc1fb" ], [ "FStar.Int.logand_associative", @@ -919,7 +919,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "95fdbb1ee78c7d62575365355ef70abb" + "898b08bae8bb2830916196851044f09d" ], [ "FStar.Int.logand_self", @@ -933,7 +933,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4fba274b565dbcdca316b639301ea938" + "8e9a0a3d60ec3d22fa49d338c487dc19" ], [ "FStar.Int.logand_lemma_1", @@ -947,7 +947,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aed523b7cac976ab0a75b1777fc72c8b" + "aa9c8b4d33072d5ab3f85398c0fe3796" ], [ "FStar.Int.logand_lemma_2", @@ -961,7 +961,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e0ff358676ad8866d5c6389880ecdb4e" + "2eb3783f5b6942a9230137be4bbc8c82" ], [ "FStar.Int.sign_bit_negative", @@ -974,7 +974,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4ef1f1ae9bb1a87261a25e834e4623ae" + "d9d9f1b4446122184b23c559710759ed" ], [ "FStar.Int.sign_bit_positive", @@ -987,7 +987,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5d02c02344a5355752886feaa90e0b12" + "995ba3dfad170df6297cb2cfa94b8476" ], [ "FStar.Int.logand_pow2_minus_one", @@ -1000,7 +1000,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "61f72ad546c1f0b4918a514afcad92f6" + "e3b57f0c42b9427abbf9fb6ff04e6072" ], [ "FStar.Int.logand_max", @@ -1024,7 +1024,7 @@ "typing_FStar.Int.fits" ], 0, - "b3a5bb79e23d0e773dc9b4527420e1f4" + "07d28e0aa24a09e18f66b42ec256bf49" ], [ "FStar.Int.logxor_commutative", @@ -1038,7 +1038,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46dde634322fe47b438f47e8d7071bad" + "c64bf5b2ea075a901725efc49a0cea66" ], [ "FStar.Int.logxor_associative", @@ -1052,7 +1052,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fcde3f5f74d1a6fa7ea1070f0da36741" + "91808b081ceda0e84e0d48a7b02b0605" ], [ "FStar.Int.logxor_self", @@ -1066,7 +1066,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "368560694eb4b1dace98d384e5cc4a62" + "12cb5613df01e5cb2b5438b66c28105c" ], [ "FStar.Int.logxor_lemma_1", @@ -1080,7 +1080,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7536f99a65b0120cd777534fbae2eb31" + "0e1405aa99493fa363af045635e9d8f0" ], [ "FStar.Int.logxor_lemma_2", @@ -1094,7 +1094,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "00c0824b3d66e0bf8caecefe89f3a07c" + "1775a9594e31f2c3a28eb6291a937edc" ], [ "FStar.Int.logxor_inv", @@ -1108,7 +1108,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a4798a60b04cecf81163dcb1d865200" + "d37c843dd1a0febeeb0776f36c3584d0" ], [ "FStar.Int.logxor_neq_nonzero", @@ -1122,7 +1122,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "38d274ed511323a1cd53280382cca968" + "ede346e16077337122171a3cbb50f0d7" ], [ "FStar.Int.lognot_negative", @@ -1154,7 +1154,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "3e4475447a902bb4b12217da9f36e8a7" + "0f5b595d3564fc62d57bbc75fbcc23b6" ], [ "FStar.Int.shift_left_lemma_1", @@ -1166,7 +1166,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "16f29e60be53481f33f475ad1cf9c6ed" + "bacdbe516714c42c6228639d78319889" ], [ "FStar.Int.shift_left_lemma_2", @@ -1183,7 +1183,7 @@ "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "4cceb0208c44d4029c4f562a0463307e" + "0c6394cae899950922770da7f910b095" ], [ "FStar.Int.shift_left_value_lemma", @@ -1202,7 +1202,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "135d4a6c36b252f1f5f6e9e575ae3b67" + "53082b961b617dc337edea9d773e3406" ], [ "FStar.Int.shift_right_lemma_1", @@ -1214,7 +1214,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ca22b58cae242eaa3d62e8fac27d4f83" + "9e5a982a1580066d3dd14d4f3e9d5505" ], [ "FStar.Int.shift_right_lemma_2", @@ -1231,7 +1231,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "3237c16db9da37328c79491e83d2a957" + "bb3f8c7687f3f71a461edd93996162b4" ], [ "FStar.Int.shift_arithmetic_right_lemma_1", @@ -1245,7 +1245,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "92f3035c622ddd87bfd3601085f46b4f" + "ea6c22e932820a28dfc8614400137353" ], [ "FStar.Int.shift_arithmetic_right_lemma_2", @@ -1262,7 +1262,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "74c5ae1025e0df96c78a4bf18f167c3f" + "8dc33c5ab299d6c8438e7db3301b3b60" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int128.fst.hints b/ulib/.cache/FStar.Int128.fst.hints index 2f7574a9e16..614ec4a7349 100644 --- a/ulib/.cache/FStar.Int128.fst.hints +++ b/ulib/.cache/FStar.Int128.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3125907324463e48fc1f6ec5808e2003" + "3cb2551af0f154e135242b79b633a9f6" ], [ "FStar.Int128.int_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "850f86fb3d5fda7432cf13c0be65ddd5" + "bb3cb632badf591dc147d703418c348d" ], [ "FStar.Int128.int_to_t", @@ -40,7 +40,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "573294bf3e60bb74845279e2614963d2" + "1504cc8c0f605efd60b74de1429e85a3" ], [ "FStar.Int128.uv_inv", @@ -53,7 +53,7 @@ "proj_equation_FStar.Int128.Mk_v" ], 0, - "8a00a72fcd48e31215776db17504ccd9" + "57a630be9c13622a5ec66ad13133f317" ], [ "FStar.Int128.vu_inv", @@ -66,7 +66,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "2ac1ea6771148ff9cfd787fd04a7acf4" + "7f347e432348e0c41df07a6191ef4ce8" ], [ "FStar.Int128.v_inj", @@ -75,7 +75,7 @@ 0, [ "@query", "lemma_FStar.Int128.uv_inv" ], 0, - "8107a7071eae52dc7301d1ea23bd5396" + "80c15bd6400035ab00cf52130f2f6302" ], [ "FStar.Int128.zero", @@ -97,7 +97,7 @@ "typing_Prims.pow2" ], 0, - "f38918193186a9db0f76de212798734e" + "ef14428ab9a62c3400c47eed206b8332" ], [ "FStar.Int128.one", @@ -119,7 +119,7 @@ "typing_Prims.pow2" ], 0, - "d0688c70bf1807e686d4092f6650b2bc" + "273c9f9b670aefa7469085d9e9984f85" ], [ "FStar.Int128.add", @@ -132,7 +132,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "869dcad704c6fe4fbfbefc6a7ed139d1" + "322ec9a52127c868c962a961aa3f86ad" ], [ "FStar.Int128.sub", @@ -145,7 +145,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "8968c1382b27bb9610c789ad0eab85b1" + "e427fbb12bdf835c89caebc2cddc35b1" ], [ "FStar.Int128.mul", @@ -158,7 +158,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "16943803c8abd2fe225108cbdffb49fa" + "1d84ebb4f12f3b6b15739febb86b1f04" ], [ "FStar.Int128.div", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "d4b43f8f34dd02b8cfe9b0b942622b1f" + "0d13bb466e52b7df18cb3aa2e2692dff" ], [ "FStar.Int128.div", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "9115756c552306e86466e32d89639914" + "ffb0500a6632e186565612ba1f626e96" ], [ "FStar.Int128.rem", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "1bf55503d01ed1a1c42fda73579a77f6" + "2b11cc70a8caadd791a555c3bf9705eb" ], [ "FStar.Int128.rem", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "c6d5207df609682da1904fd4296dc0e6" + "28b84701157240b3ee80ac721980f3bc" ], [ "FStar.Int128.logand", @@ -235,7 +235,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e6b480b6b554d1d061cfc8b3fb00791" + "3c9cd24eb14f244049ab51e4fd145b8f" ], [ "FStar.Int128.logand", @@ -248,7 +248,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "f9fb6386ef0fea07ec6d6501da00712d" + "822e5ba8b41443437496f6334c38fda3" ], [ "FStar.Int128.logxor", @@ -261,7 +261,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "4940dfbaf614d3205fb3aedf41df50e3" + "f1a5e21d2e7079f959b3984ec3101be6" ], [ "FStar.Int128.logor", @@ -274,7 +274,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "a0141f172184308fcfb63ab1204468b9" + "ac2c68eeac595c19270f7a0a67cacd0d" ], [ "FStar.Int128.lognot", @@ -287,7 +287,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "34628e6e102cbf01aca188376d2e5a39" + "cb020ca03d32ab64dece39aa0f1991ed" ], [ "FStar.Int128.shift_right", @@ -312,7 +312,7 @@ "typing_FStar.UInt32.v" ], 0, - "76f08a06a45c597018c21106bd97f614" + "9b92d3f343073e58b9117f8e474ea5e4" ], [ "FStar.Int128.shift_right", @@ -332,7 +332,7 @@ "typing_FStar.UInt32.v" ], 0, - "8a7cd789fc470b8b9ca2e9b01bcd0b30" + "68ed7e32988c486f1bd0030643c8ccf0" ], [ "FStar.Int128.shift_left", @@ -357,7 +357,7 @@ "typing_FStar.UInt32.v" ], 0, - "39e21c35cb872382ed86a285af47df6e" + "7b8371419d0163cee074539b3c1ee5b4" ], [ "FStar.Int128.shift_left", @@ -377,7 +377,7 @@ "typing_FStar.UInt32.v" ], 0, - "e4c9409dbd5b46027662eec38b78141b" + "e82602c241234a3e00f43f4244251040" ], [ "FStar.Int128.shift_arithmetic_right", @@ -400,7 +400,7 @@ "typing_FStar.UInt32.v" ], 0, - "673c1e630f9f89a1aa0dbb163e368e1b" + "c7f5295ba8bb9d94de79e11273c3ae1b" ], [ "FStar.Int128.shift_arithmetic_right", @@ -420,7 +420,7 @@ "typing_FStar.UInt32.v" ], 0, - "66d9194d839196f204205abdb160a066" + "403c2df805a737b3db9cc2fb1f9e5c47" ], [ "FStar.Int128.ct_abs", @@ -482,7 +482,7 @@ "typing_FStar.UInt.sub_mod" ], 0, - "21167cf53f5504c0774fe6c403e29f78" + "f26dfa880229373e0a9e7f936fb1d4ff" ], [ "FStar.Int128.mul_wide", @@ -495,7 +495,7 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "398e747fe6b834020a65169d90d17a50" + "9cf259417f0b04cf8d345ad0b436854a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int128.fsti.hints b/ulib/.cache/FStar.Int128.fsti.hints index 78e33bb2ed3..ef52296e192 100644 --- a/ulib/.cache/FStar.Int128.fsti.hints +++ b/ulib/.cache/FStar.Int128.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7e7ff47141063fcbdec618599fc936f" + "97610d3c6337aeb864b66f1236924e03" ], [ "FStar.Int128.div", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b93a39aae2535f27f07d72319d235488" ], 0, - "d0cb6c23cf40789dec0f0723f5a03aed" + "68dca5a02387502052afc024b1161af0" ], [ "FStar.Int128.rem", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_b93a39aae2535f27f07d72319d235488" ], 0, - "5753d74277acf33554f563a1c6b7c418" + "c761da92d4ac1eb2f40f1b3999ec214a" ], [ "FStar.Int128.logand", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a2bc9c18f2ee6f2b87922a1633347d49" + "65957c271b258171cf51d98ffe25caed" ], [ "FStar.Int128.shift_right", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_8ed31eff50c0943ba3278ecc4ea18cd0" ], 0, - "b5461177518e4717f67b6deb5c0f723a" + "07f7e82154ee9265c9d6f2bab84f20dc" ], [ "FStar.Int128.shift_left", @@ -95,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "921309b0698c63b5ded8747d2c990c82" + "6446e14638adb2d3e28a3f83b4300a2b" ], [ "FStar.Int128.shift_arithmetic_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "9d7b2f219afad08dd3a2f0a1e409064c" + "3817ee014241fa55eaa325bcf65d262b" ], [ "FStar.Int128.ct_abs", @@ -175,7 +175,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "0a243899b229bf48fbdc9ffcbe1ae5c3" + "870e099a0a95dd407e4806c6fbbfdf7f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int16.fst.hints b/ulib/.cache/FStar.Int16.fst.hints index a6e6de1f2d1..c66feb24673 100644 --- a/ulib/.cache/FStar.Int16.fst.hints +++ b/ulib/.cache/FStar.Int16.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8773342fd3a3cd88cad6873ff4de4f9e" + "9f146ece99cc16e4f5056b132c051ba5" ], [ "FStar.Int16.int_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d691be563c6c1c0a38d3dd67532fc09" + "27a04f004b01f3c515d85cafa6a697da" ], [ "FStar.Int16.int_to_t", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "c1d67abe1ac561f896ea9a6b8a2cc8a9" + "fe490f8ff3ec86bf80efd88afb0b79fd" ], [ "FStar.Int16.uv_inv", @@ -52,7 +52,7 @@ "proj_equation_FStar.Int16.Mk_v" ], 0, - "37bc2f18106b4c7d25d2c4f38d6c4da3" + "3063daa21acee5b05e24c68488296075" ], [ "FStar.Int16.vu_inv", @@ -65,7 +65,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "6c679830acffb1b88459ad73011673fe" + "036e49b29f9c1915225090cb0adbc5c9" ], [ "FStar.Int16.v_inj", @@ -74,7 +74,7 @@ 0, [ "@query", "lemma_FStar.Int16.uv_inv" ], 0, - "4fc67fce0201698000825097f8d136e2" + "2393d6a949e90f421ad12d59edea4bcb" ], [ "FStar.Int16.zero", @@ -96,7 +96,7 @@ "typing_Prims.pow2" ], 0, - "aecd6b199707550a107a6bedec2427ab" + "a9f970b6b8e3c64e3d66ef076fa7ceaa" ], [ "FStar.Int16.one", @@ -118,7 +118,7 @@ "typing_Prims.pow2" ], 0, - "210f3c01a471ab22771cbe9f933f28f6" + "20e36d668dda6586baad267e13a96fd6" ], [ "FStar.Int16.add", @@ -131,7 +131,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "119a0dafcad0ace107ce529f46b0f717" + "e8b1f5eae3098489d2b3091d05fa9249" ], [ "FStar.Int16.sub", @@ -144,7 +144,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "a05bd0681dca06d89532bc184ada2609" + "ca75c67604b6de4a3ac679007dd4beee" ], [ "FStar.Int16.mul", @@ -157,7 +157,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "338b7721f0d457db264aa0d96642231f" + "0f811243e9fda437644ed467cbbbf211" ], [ "FStar.Int16.div", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "974aa902c0afb939929229714277343f" + "19c259486ee1b57ae54d03146a55663f" ], [ "FStar.Int16.div", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "ef4b984b76d763fdefea486b001c1fe9" + "de2cc176681ab3dac9a3235d97463e4d" ], [ "FStar.Int16.rem", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "43d537943f85c0d4ec5e2ebadc21ffec" + "423bc308bfa8acc3a01ff68ade8b98cf" ], [ "FStar.Int16.rem", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "3ee1036e9510782123a2bd119c842cd7" + "c3f7d34c50922a2bcdef864e1e6fe3a1" ], [ "FStar.Int16.logand", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "82d7f8d1703335bd9b5969a742946354" + "4027dfa15d6872292783e8c83fda7719" ], [ "FStar.Int16.logand", @@ -246,7 +246,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "37facfff4d16ed9c39fae98fc81d43db" + "c366524655a7acbfc1c75d212607bc70" ], [ "FStar.Int16.logxor", @@ -258,7 +258,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "2ecafc0b0daeb8b2479547d558faccda" + "a1e726c5c1b872c1fd7329e88dd8b3cf" ], [ "FStar.Int16.logor", @@ -270,7 +270,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "13e0dd479e6a48fb426efce00b70bfa1" + "68eb0b08a1368ce60add0d8f21f750d0" ], [ "FStar.Int16.lognot", @@ -282,7 +282,7 @@ "projection_inverse_FStar.Int16.Mk_v" ], 0, - "36bdc3babe24a422dfbc2c70ee0d6afb" + "04b2d20ea1c29ea5923aad5e32f89ae4" ], [ "FStar.Int16.shift_right", @@ -307,7 +307,7 @@ "typing_FStar.UInt32.v" ], 0, - "9b4cc73500d19befc815646fc7219654" + "69933924c964339770b006a811b7f952" ], [ "FStar.Int16.shift_right", @@ -327,7 +327,7 @@ "typing_FStar.UInt32.v" ], 0, - "87561cb1903d4c803b809478fcdf6170" + "0360386084054b2fc1a525687efb2e98" ], [ "FStar.Int16.shift_left", @@ -352,7 +352,7 @@ "typing_FStar.UInt32.v" ], 0, - "55830226367596c4765f67b8741525d8" + "c57b08a7bff195611a7966cf814dbd78" ], [ "FStar.Int16.shift_left", @@ -372,7 +372,7 @@ "typing_FStar.UInt32.v" ], 0, - "76837883486eb345ddd8e5ebf4000d3c" + "4c08b2104ae45f7acbcf343e9442680d" ], [ "FStar.Int16.shift_arithmetic_right", @@ -395,7 +395,7 @@ "typing_FStar.UInt32.v" ], 0, - "e7c4f1d12ad01ec71ad37f886a4fd1a2" + "17a5ad220a05967b152fd903ded7cc29" ], [ "FStar.Int16.shift_arithmetic_right", @@ -415,7 +415,7 @@ "typing_FStar.UInt32.v" ], 0, - "8c92b3859dbc973d543952e1020c55cb" + "5aaafdb30a84b491143bba13dd05421b" ], [ "FStar.Int16.ct_abs", @@ -476,7 +476,7 @@ "typing_Prims.abs" ], 0, - "313f99dc5e77b1a63d50b24079d0a155" + "911fb9d29a1b45b61aa0b0ff5063d63b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int16.fsti.hints b/ulib/.cache/FStar.Int16.fsti.hints index a9ed060e0a5..e4271aa4686 100644 --- a/ulib/.cache/FStar.Int16.fsti.hints +++ b/ulib/.cache/FStar.Int16.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "642c4ca8480b6ac4548300fad79cbecc" + "4f1d5e338392a86e51131f39567668cb" ], [ "FStar.Int16.div", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_887fd71edd23a071fb178a8dad28f43b" ], 0, - "4291747f9a5634fadc64cbcd59f69304" + "82ac36dd7f6a461d087ca048acc6b0ac" ], [ "FStar.Int16.rem", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_887fd71edd23a071fb178a8dad28f43b" ], 0, - "fbc5fe04b33550cb9af25200b31a814c" + "77e35cd3a033772f6c18afde87006b0b" ], [ "FStar.Int16.logand", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7acd5652c3c6833d5b54e9b8c84d7350" + "7aee6b0c140882438598cfb13f54a222" ], [ "FStar.Int16.shift_right", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_eecaed663afe543f7ca39d09158cc12f" ], 0, - "87a8bcd6c6ff87852ad52f3c215eae42" + "068c3fd51f51c582eccf674ff1f0eda5" ], [ "FStar.Int16.shift_left", @@ -95,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "bc3b408893afae26059c8ba6ea48a871" + "2b2798e6dcae0944795e583deb369a2e" ], [ "FStar.Int16.shift_arithmetic_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "07b96f502ff50cbfebcdc0b2a598e157" + "aad024b6509b689128a99c8dd6b28bc4" ], [ "FStar.Int16.ct_abs", @@ -175,7 +175,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "c8febf45bca7daaa850e0ca78e0adc1f" + "d8868c94aaae14dbfe8403801e1f405f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int32.fst.hints b/ulib/.cache/FStar.Int32.fst.hints index 498fd8a48b2..9ff69e4a984 100644 --- a/ulib/.cache/FStar.Int32.fst.hints +++ b/ulib/.cache/FStar.Int32.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6972f609faf16b6b2c57fc63145daa45" + "3a132256739060b4794d0a03e54c96bf" ], [ "FStar.Int32.int_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "581df9da6c34e6f045b09e00b3266a67" + "99f6afdb68f3156ecb6bb5a0caa8472c" ], [ "FStar.Int32.int_to_t", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "a662075e97fb0a7e21bf4b4b5dc18d14" + "7d406e6b694c8126cb3d36b7809bec18" ], [ "FStar.Int32.uv_inv", @@ -52,7 +52,7 @@ "proj_equation_FStar.Int32.Mk_v" ], 0, - "2fe34644211f02b8b6a545123e6d3ae9" + "978ca3decc2b7f9756e072d89b45cf2e" ], [ "FStar.Int32.vu_inv", @@ -65,7 +65,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "5fd46eb7a47a262f22bc30c9b1444287" + "4d0efc7f06925ffddc602683f9ae16ee" ], [ "FStar.Int32.v_inj", @@ -74,7 +74,7 @@ 0, [ "@query", "lemma_FStar.Int32.uv_inv" ], 0, - "d9d5c52ce08297af0f3ee2e186235a0e" + "cc03902fada298e815c210eb9afc4fe9" ], [ "FStar.Int32.zero", @@ -96,7 +96,7 @@ "typing_Prims.pow2" ], 0, - "0a61dd77109694682a74d702617e9ece" + "4829c20412fd6f1f7c1019c5078f5da1" ], [ "FStar.Int32.one", @@ -118,7 +118,7 @@ "typing_Prims.pow2" ], 0, - "75a9049db7014ac03ff678b162c21428" + "866dfdc248277935e54fd59330c6afbb" ], [ "FStar.Int32.add", @@ -131,7 +131,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "863694ca97efb80c1411f75bd8a8f5a6" + "08e7daaaa7b7e0cde137de253a265bb7" ], [ "FStar.Int32.sub", @@ -144,7 +144,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "fb7e7e3c71b2999094ab1bf5308dd15d" + "0ec6d6f0f6a9f13ddb849ce56e35657f" ], [ "FStar.Int32.mul", @@ -157,7 +157,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "8fe13cf14a57a8fba86d084e4b6f41dd" + "619f5189a3d3c0542f9bdd38c40f59ed" ], [ "FStar.Int32.div", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "40fc6f340de37062b2e9c849c159dacf" + "17eacc4efe25f3c97b27091f315352d6" ], [ "FStar.Int32.div", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "128dd71d1168dc6a4c0e872850f1983d" + "70a47ee50081be01062d8e153e8037b3" ], [ "FStar.Int32.rem", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "5c5859146662e3c9102072b50a087dd0" + "dd12e3be1675f70f98f288daf64dc462" ], [ "FStar.Int32.rem", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "4d9f5e79fdc3e1d98ec77b0a18435bf5" + "b6e604f165843e9b82ba1d4ff93493d8" ], [ "FStar.Int32.logand", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b9b39a88c4d8e3901820dee143787c2e" + "657bad9ac3cbfcab34203c226500458b" ], [ "FStar.Int32.logand", @@ -246,7 +246,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "aaf3014d6ea50fac215d39dbed719f32" + "f276867a9f03fa9dba323c673f1cdfa2" ], [ "FStar.Int32.logxor", @@ -258,7 +258,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "a47373af50ac7d7213327639e4f1bafb" + "92bab1ee1284240540f8899cafada055" ], [ "FStar.Int32.logor", @@ -270,7 +270,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "3811deeb4a05fe0d9eeda8c9991d0e8a" + "95a004d443df2b20f4ce402a8716d2a4" ], [ "FStar.Int32.lognot", @@ -282,7 +282,7 @@ "projection_inverse_FStar.Int32.Mk_v" ], 0, - "9e2d3bb0d158fcc12a413bcf44b63de4" + "edbf553f1e966cce85792bf73d5ca148" ], [ "FStar.Int32.shift_right", @@ -307,7 +307,7 @@ "typing_FStar.UInt32.v" ], 0, - "3bc022ad963c2fdd736cda4b69660762" + "7a742a78ea4af48f9273247f132c3b57" ], [ "FStar.Int32.shift_right", @@ -327,7 +327,7 @@ "typing_FStar.UInt32.v" ], 0, - "00a1b4f6eff5cc3b4c030f90061c872d" + "75426cb5941e003ba4dba5eec0f0e077" ], [ "FStar.Int32.shift_left", @@ -352,7 +352,7 @@ "typing_FStar.UInt32.v" ], 0, - "334d0cf6e35efeecfd07820b014c7666" + "2063cb00544644ef9a636f4dc49a83f6" ], [ "FStar.Int32.shift_left", @@ -372,7 +372,7 @@ "typing_FStar.UInt32.v" ], 0, - "928044a337aae66784aaecaa4a5211f6" + "382a78b97e7be6b3547f276ec320550f" ], [ "FStar.Int32.shift_arithmetic_right", @@ -395,7 +395,7 @@ "typing_FStar.UInt32.v" ], 0, - "27fe882dfc7357f959603d3dc37f47a4" + "ac3b5d404be35062c68b1d079f91c5c3" ], [ "FStar.Int32.shift_arithmetic_right", @@ -415,7 +415,7 @@ "typing_FStar.UInt32.v" ], 0, - "1fea0201796df668ee05753583393937" + "059e8fde99fa1e390bbb43277b9e8417" ], [ "FStar.Int32.ct_abs", @@ -475,7 +475,7 @@ "typing_Prims.abs" ], 0, - "83eaea6c8c5e647b898eec92ff71556d" + "e473dc174bdb527337068197cdde5e50" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int32.fsti.hints b/ulib/.cache/FStar.Int32.fsti.hints index 199b870bcf0..9290b761814 100644 --- a/ulib/.cache/FStar.Int32.fsti.hints +++ b/ulib/.cache/FStar.Int32.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "baf2c898673ae7058e54580ae7d90cfc" + "296c0d1f6c87c1e0b69c77c754f058ed" ], [ "FStar.Int32.div", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_9961d54ea871d3cceb9a869af9f4caf7" ], 0, - "a80f33da22a4a01cfe9b8e61d29448eb" + "656343b522d388b3c895e7202459f242" ], [ "FStar.Int32.rem", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_9961d54ea871d3cceb9a869af9f4caf7" ], 0, - "24e3ec247fca9c13cca95b623ca47dc3" + "f8985dca50abdf298b90f8aed14ee111" ], [ "FStar.Int32.logand", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f876a7166b0f0c8237f40c3ebab9feeb" + "cf79d99ad92318487a608135fd615baf" ], [ "FStar.Int32.shift_right", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_ed2bbcef508889f23ec37cf3d2703407" ], 0, - "06c7087efecfad6d144f1742e443e21c" + "e19b81edddc985f7e89162354d8d4781" ], [ "FStar.Int32.shift_left", @@ -95,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "9ab5735fbd496d724cde93732fe007de" + "e5c9d35be80f90262eaf9892626a4cef" ], [ "FStar.Int32.shift_arithmetic_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "6d966f4373dec98f6e26d519eb414721" + "d84260dba7e0e77ac33157385fd41879" ], [ "FStar.Int32.ct_abs", @@ -158,7 +158,7 @@ "typing_FStar.Int32.v" ], 0, - "e3c0a4e25eb3ff0eb8a1cb13d6135632" + "940e165ede0d6b5bb226a9a901d6d197" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int64.fst.hints b/ulib/.cache/FStar.Int64.fst.hints index 7c25b91a156..09b3a6e0b5c 100644 --- a/ulib/.cache/FStar.Int64.fst.hints +++ b/ulib/.cache/FStar.Int64.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d546981afc78c00279c2a700cf8552a6" + "df202f7bd0a5f2ca42bbe7cc901607a5" ], [ "FStar.Int64.int_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2980dee84f9fa795f75f5f16fa0791c" + "3d208bb74d41e061bc865e1f891b40b7" ], [ "FStar.Int64.int_to_t", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "1f67b5b72bb11a4087acf3813e0d07a3" + "2ca6537843c09c4b5f0b0ce854de9d9d" ], [ "FStar.Int64.uv_inv", @@ -52,7 +52,7 @@ "proj_equation_FStar.Int64.Mk_v" ], 0, - "b060af883b86b221819148dd1f5accfd" + "4885dd0b6404c55360779447bfb0fb9f" ], [ "FStar.Int64.vu_inv", @@ -65,7 +65,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "6d99617ed53f1bcbc1ff4613594be5ab" + "f41428c181a87cd7c476d264d7838155" ], [ "FStar.Int64.v_inj", @@ -74,7 +74,7 @@ 0, [ "@query", "lemma_FStar.Int64.uv_inv" ], 0, - "dfac9da5dd02f66b4f51d5b1b4ca750c" + "a3cc1fb3f72fbc0bec1cc7fa601c1d4d" ], [ "FStar.Int64.zero", @@ -96,7 +96,7 @@ "typing_Prims.pow2" ], 0, - "a4f9efd1e1992ebb5c6d8989b05c2f75" + "2350598e4d7eafddb5d973147ba12e00" ], [ "FStar.Int64.one", @@ -118,7 +118,7 @@ "typing_Prims.pow2" ], 0, - "fbbb9954e809c6818e4f0dde24f04925" + "7be748551c4facde4fa5e3e794df65bb" ], [ "FStar.Int64.add", @@ -131,7 +131,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "ed4902668a9312484b7be756d44ab7f9" + "298e6503c8dfa11cf1faa2463796b31b" ], [ "FStar.Int64.sub", @@ -144,7 +144,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "6af326cbb78714374e097d2c8b04ec72" + "a65d65ec407d57fc4bb729262c0cbcac" ], [ "FStar.Int64.mul", @@ -157,7 +157,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "9eace2df0cc22fd1a501aa4f86aa5e70" + "9a3c7e28b407d4c79dbce2fb0efaab0a" ], [ "FStar.Int64.div", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "52ab668c6d569493d94b830042827792" + "b431b71a7677cd526134d009c99cd935" ], [ "FStar.Int64.div", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "e707cc668480dc42c6ef5d8dfb1aae38" + "cf18518f2f39dd2a7356e8230b3cc22f" ], [ "FStar.Int64.rem", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "4dd78bb26da633256fcf5a72337f361e" + "a5283a357053cd580498f7dd832f0585" ], [ "FStar.Int64.rem", @@ -217,7 +217,7 @@ "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "bb574b00f700012e24a24bb9b6efd352" + "83d4ea8fa708f9d5faba6f622c231a75" ], [ "FStar.Int64.logand", @@ -234,7 +234,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "588f627f831fa7d9f70b2fb52ecdd6b0" + "d2189b4795bc2d0eab81c2372959b5f8" ], [ "FStar.Int64.logand", @@ -246,7 +246,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "6f3d77ddafe81f1207a8e4bf55769508" + "4bc2200c2dd9bf01e2edaea16fd8fea3" ], [ "FStar.Int64.logxor", @@ -258,7 +258,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "0541d4687288496e2c1c6d3863dd6045" + "cf79676c73dbf3b4cceb2a8fc479dc39" ], [ "FStar.Int64.logor", @@ -270,7 +270,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "7e1d222b8639f2324d82a22ccf16def2" + "e5ae87c2e078b7aa65b572df01218615" ], [ "FStar.Int64.lognot", @@ -282,7 +282,7 @@ "projection_inverse_FStar.Int64.Mk_v" ], 0, - "239694f43b62dba7d1a98204c513f962" + "dc33a1f93ed2a8adbd8beeb7ab173486" ], [ "FStar.Int64.shift_right", @@ -307,7 +307,7 @@ "typing_FStar.UInt32.v" ], 0, - "8cad62c62ec1ef7d647e6656dfd05f93" + "b7f2d21840c1fe2fefa6447531e39dd7" ], [ "FStar.Int64.shift_right", @@ -327,7 +327,7 @@ "typing_FStar.UInt32.v" ], 0, - "b02b5099884781768c4e5da7a7b680f7" + "7188e147d4b65f60bb5bda09b019903c" ], [ "FStar.Int64.shift_left", @@ -352,7 +352,7 @@ "typing_FStar.UInt32.v" ], 0, - "04a334935ea3dac7f77b2815eae306b9" + "800a3c623136f604e72fe4c18c29bca0" ], [ "FStar.Int64.shift_left", @@ -372,7 +372,7 @@ "typing_FStar.UInt32.v" ], 0, - "c157a59bda881f41cb48d2b4416db3bd" + "7d7b1d5e1b4d6a050a1e260bb9eabc35" ], [ "FStar.Int64.shift_arithmetic_right", @@ -395,7 +395,7 @@ "typing_FStar.UInt32.v" ], 0, - "16f79523cf5235107496f8a853ddae92" + "931bf7b5377d4bddd144345b45a4fbef" ], [ "FStar.Int64.shift_arithmetic_right", @@ -415,7 +415,7 @@ "typing_FStar.UInt32.v" ], 0, - "6749d521fef30390d29d665450462a31" + "666be6a5e5ae6033ecb0ad2df796610d" ], [ "FStar.Int64.ct_abs", @@ -465,7 +465,7 @@ "typing_FStar.Int64.v", "typing_FStar.Seq.Base.length" ], 0, - "aa036ad1039b9c92095b8614f24d4f5b" + "b51757b7024fcb2fff73bd68ef298f8e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int64.fsti.hints b/ulib/.cache/FStar.Int64.fsti.hints index a7b806d06c5..58451f0bcdc 100644 --- a/ulib/.cache/FStar.Int64.fsti.hints +++ b/ulib/.cache/FStar.Int64.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a4eda00351321ffb3793808730a6465d" + "9b169756f8f9df806ac87e765f41e883" ], [ "FStar.Int64.div", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_628f456abb4ff7ec3d24a18ea94ac133" ], 0, - "807d7a06ca212ed9def4c3ea86b79c08" + "ee4553f27d23718f110c2ad1f1bb1f64" ], [ "FStar.Int64.rem", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_628f456abb4ff7ec3d24a18ea94ac133" ], 0, - "beb431d9e1f48c72cabc232682d51fb5" + "ce7e9352b16f0a6bc4162431ce786b0c" ], [ "FStar.Int64.logand", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11a0f0f5b6a3eaa5fe39dc12d81f13ea" + "b6b161fed84bb5bd526ba04f0e261e70" ], [ "FStar.Int64.shift_right", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a9270f114c8d1066d7b9d78e4e8cc7b7" + "e2bb197747c42fdc85871b4d64a579bd" ], [ "FStar.Int64.shift_left", @@ -95,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "e8d934a91afcc1671e07f340935444b7" + "46da7d4bef7ee5800b8ac470ac5c9b1e" ], [ "FStar.Int64.shift_arithmetic_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "f4d852f6fc7981327dbdc86fa6d7aa44" + "1f0f71dc6e0bb62c65cba53e3806c61e" ], [ "FStar.Int64.ct_abs", @@ -173,7 +173,7 @@ "typing_Prims.abs" ], 0, - "b0f336cb2b50d7e36c6d11aa79687878" + "a7ed6a20926ee5ba5c9384c78192f95e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int8.fst.hints b/ulib/.cache/FStar.Int8.fst.hints index 2539982e17e..9cdd4991e37 100644 --- a/ulib/.cache/FStar.Int8.fst.hints +++ b/ulib/.cache/FStar.Int8.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "144440189f51e75856d9610738515982" + "e15030953390c61530e6f4cf17733392" ], [ "FStar.Int8.int_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d45275b758a57e600c6f2c47888f8f9" + "381b9a78db6844fe621d79a7c8b43e2f" ], [ "FStar.Int8.int_to_t", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Int8.Mk_v" ], 0, - "93330797ba9c25e0097a0bbbb30312f6" + "321f1f3edbff8c94878131d7de0f8b67" ], [ "FStar.Int8.uv_inv", @@ -52,7 +52,7 @@ "proj_equation_FStar.Int8.Mk_v" ], 0, - "7f0fff77e79635640e0b8655a82b25d4" + "acb7b78491d3f0dcc92129cac2508fe5" ], [ "FStar.Int8.vu_inv", @@ -64,7 +64,7 @@ "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "7676a6cbde2b389e1816ab75eb56eebe" + "493f0c5a4cbbec579947758a08292c7c" ], [ "FStar.Int8.v_inj", @@ -73,7 +73,7 @@ 0, [ "@query", "lemma_FStar.Int8.uv_inv" ], 0, - "757a6f61652e5b23952745e02854d963" + "e7bc43ec3149f3de10e5bd21cfbf6b62" ], [ "FStar.Int8.zero", @@ -95,7 +95,7 @@ "typing_Prims.pow2" ], 0, - "094d6dc2196db625c5fb3d8d39343d8b" + "83a462be09e011c69a835ce887ac1b9b" ], [ "FStar.Int8.one", @@ -117,7 +117,7 @@ "typing_Prims.pow2" ], 0, - "d534c588c12277e7acb6449a1eb3c09c" + "9f49f5add285fbb13d48feba16b22959" ], [ "FStar.Int8.add", @@ -129,7 +129,7 @@ "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "5d67aa2da677ec2e8ceb5de530059021" + "05aacd46c20b5f9876e7fbcf0832fe81" ], [ "FStar.Int8.sub", @@ -141,7 +141,7 @@ "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "4c3a8bd819541bb7d466c81fae2e0b2e" + "8dd12e5175a5a3ceb5711972df12225e" ], [ "FStar.Int8.mul", @@ -153,7 +153,7 @@ "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "7bd500b1b1d83b185a919956dd68be43" + "d84eaf11fd5021ed206520d6645e4b42" ], [ "FStar.Int8.div", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "b88bba7fb5d9843283e80e42e5cc80b5" + "b15249d4a4784ba07eef1d40f15e98de" ], [ "FStar.Int8.div", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "c4ea9473d64f5b01dbc37ef12db00b49" + "400050cef33a627c72752f79e06434f4" ], [ "FStar.Int8.rem", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "d1c6daec700fd807abac63f6061df667" + "2dc65255ed5c35676fdb017ceeb31d3f" ], [ "FStar.Int8.rem", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "14640e087e5e313d219c91f89c130a56" + "c1e6e94285a0175686267623e267e7be" ], [ "FStar.Int8.logand", @@ -230,7 +230,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d35adbf1232e448c51848d87b845ec34" + "9d55e55414835415dbc3bf61556d3ceb" ], [ "FStar.Int8.logand", @@ -242,7 +242,7 @@ "projection_inverse_FStar.Int8.Mk_v" ], 0, - "309953f666902b0256abd62c586e0bdd" + "54fc386ea03afc2883b6433aa8fa1d66" ], [ "FStar.Int8.logxor", @@ -254,7 +254,7 @@ "projection_inverse_FStar.Int8.Mk_v" ], 0, - "88af008629f26f7c21aa7599d60e5666" + "4f3d0592ca32390d158c2604a834f1ab" ], [ "FStar.Int8.logor", @@ -266,7 +266,7 @@ "projection_inverse_FStar.Int8.Mk_v" ], 0, - "03e3b0708cc704e941e004f30da9432e" + "0c92941b9eb6f2228ae78589dac5786d" ], [ "FStar.Int8.lognot", @@ -278,7 +278,7 @@ "projection_inverse_FStar.Int8.Mk_v" ], 0, - "ae175223ca38e38adf1638e918bdeefe" + "c9b77e67405f24921191564e4b621cb6" ], [ "FStar.Int8.shift_right", @@ -302,7 +302,7 @@ "typing_FStar.UInt32.v" ], 0, - "c50fbd46f8404c99b025699ef0f8e558" + "4add28b0124b60a6c3a08a090b83be55" ], [ "FStar.Int8.shift_right", @@ -321,7 +321,7 @@ "typing_FStar.UInt32.v" ], 0, - "e9843fac56dbef7bc9ea86aa71ef6d35" + "032d867a93f1018f1e0b7552c45cc5aa" ], [ "FStar.Int8.shift_left", @@ -345,7 +345,7 @@ "typing_FStar.UInt32.v" ], 0, - "72053a107c803b56852d3d782d23933f" + "bcbf496ebb34e7305f491d451d35dd00" ], [ "FStar.Int8.shift_left", @@ -364,7 +364,7 @@ "typing_FStar.UInt32.v" ], 0, - "006ae21819fd9c2c9ddcfc452ac847de" + "40a9ab2e2bf9028d664a197135c5770a" ], [ "FStar.Int8.shift_arithmetic_right", @@ -386,7 +386,7 @@ "typing_FStar.UInt32.v" ], 0, - "2a1a8d87aa62720b7b0e21ea11381693" + "2dfb239b12763d68fd6ea698e0f9a8ca" ], [ "FStar.Int8.shift_arithmetic_right", @@ -405,7 +405,7 @@ "typing_FStar.UInt32.v" ], 0, - "7b4fc97087df59eaefa6ae105cfd4ffb" + "bbf6a01cce5d5368c1de8a34c4f49b00" ], [ "FStar.Int8.ct_abs", @@ -457,7 +457,7 @@ "typing_Prims.abs" ], 0, - "79a379d5fb8480b83a6413beab1abf73" + "20a1021f93ec162a6b5dc30f9e8cdf79" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Int8.fsti.hints b/ulib/.cache/FStar.Int8.fsti.hints index f55b941abbb..c8ee65a5008 100644 --- a/ulib/.cache/FStar.Int8.fsti.hints +++ b/ulib/.cache/FStar.Int8.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "803d116657dcf8af0714b4d95aa31f91" + "f444d1bbdeaae03e38e7aeeb20090cb2" ], [ "FStar.Int8.div", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_1bed937cce8cdf75e4ca2026e8263a1e" ], 0, - "2e0e63793e27689d0c875e1f40dbe033" + "dc16c951c3ac0e0e4fbf6633ed48d149" ], [ "FStar.Int8.rem", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0b08e05b563172411d8a6f94daeb22d5" + "e246b5703d3773822fd5394408437181" ], [ "FStar.Int8.logand", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7160193589bcab0eb4e86939f2a2c82" + "f51782eaa41feccdeb8cf680727f272d" ], [ "FStar.Int8.shift_right", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c841f0ed933a947982b083bbc518b25" + "30af7dc72888fda3bf71a0288c997457" ], [ "FStar.Int8.shift_left", @@ -95,7 +95,7 @@ "typing_FStar.UInt32.v" ], 0, - "393e29e665e7068a0cad47210b744147" + "3953f8667809c8d058db6179ea3f50b0" ], [ "FStar.Int8.shift_arithmetic_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "12535d5f7fc2c6d2433f6866c72d1f94" + "f86ca9f6eb53b6c95a66d7b7c14f24a2" ], [ "FStar.Int8.ct_abs", @@ -175,7 +175,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "28a7c8a8c16d561f1d63c7bf9a6a359f" + "599cb910db35d29481fb568e4e6ad918" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.IntegerIntervals.fst.hints b/ulib/.cache/FStar.IntegerIntervals.fst.hints index 570ded8f137..c1c93a29f92 100644 --- a/ulib/.cache/FStar.IntegerIntervals.fst.hints +++ b/ulib/.cache/FStar.IntegerIntervals.fst.hints @@ -11,7 +11,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "ee2e1bc5dd19228ac6c97e8d8506af4f" + "66ff803cb00c70fee2a9d9f24c63af4b" ], [ "FStar.IntegerIntervals.closed_interval_lemma", @@ -20,7 +20,7 @@ 1, [ "@query", "equation_FStar.IntegerIntervals.ifrom_ito" ], 0, - "b5220e979c6abfd3ee792b32db410d90" + "5fa01d90faa3b92a382f9a96461dce83" ], [ "FStar.IntegerIntervals.interval_size", @@ -34,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8466043fee28dff985e5830c57e68082" + "0dd32cd3db57408d4e23692e74b36beb" ], [ "FStar.IntegerIntervals.uu___41", @@ -47,7 +47,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "c233fad2006aa75b81ba50fd0c99626c" + "08e1456d0a287a812e65a9c1187b17d7" ], [ "FStar.IntegerIntervals.uu___42", @@ -60,7 +60,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "d8b94c1595945d47d79551a0ae88cac0" + "e099ceee0e84dd8d42c4aee2c5ffd74c" ], [ "FStar.IntegerIntervals.uu___43", @@ -73,7 +73,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "5bc6d1cfbace16580194d13bf36bf31a" + "6e177963712c05950554fcc3cd8f345e" ], [ "FStar.IntegerIntervals.counter_bounds_lemma", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "0af541af2e8b17c9a61af34aa43dfc6c" + "2b9fb2525c27304ba414e22144a61bdb" ], [ "FStar.IntegerIntervals.indices_seq", @@ -127,7 +127,7 @@ "typing_FStar.IntegerIntervals.under" ], 0, - "e3d47e1ddcfd39f2c1e70ad6b3447c94" + "45eddf5167502d5e76ff16d8bc45a2e5" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Integers.fst.hints b/ulib/.cache/FStar.Integers.fst.hints index be27735c653..8682dceb0c2 100644 --- a/ulib/.cache/FStar.Integers.fst.hints +++ b/ulib/.cache/FStar.Integers.fst.hints @@ -19,7 +19,7 @@ "fuel_guarded_inversion_FStar.Integers.width" ], 0, - "5c39a28ebe182ca30d35135f27d67966" + "10c1ac9df6091da7b720772ffc2a6268" ], [ "FStar.Integers.fixed_width", @@ -28,7 +28,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "a2246c5c46f2c63d7624349d3faa66ac" + "e181baca6d12c2286cdba9f89014fbe5" ], [ "FStar.Integers.nat_of_fixed_width", @@ -50,7 +50,7 @@ "typing_FStar.Integers.nat_of_width" ], 0, - "63b0759be904dc6319c3af2040de7144" + "32c205c6b91c79df3e8659bbafda65d1" ], [ "FStar.Integers.signed_width", @@ -63,7 +63,7 @@ "haseqTm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "33f479e0daf167bb0cbc30a21db31fc2" + "3331d37221b00e4bf6d69283add51763" ], [ "FStar.Integers.__proj__Signed__item___0", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c" ], 0, - "fe0230f344497f48ae914fe20aceef1d" + "a3ceaf44e014b664f5abe6ea2a71915e" ], [ "FStar.Integers.__proj__Unsigned__item___0", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9" ], 0, - "9f6b3025d5eda6806a9b1704af968c26" + "2a297abbd29f31a889b0ec0e588c6c52" ], [ "FStar.Integers.width_of_sw", @@ -105,7 +105,7 @@ "fuel_guarded_inversion_FStar.Integers.signed_width" ], 0, - "d83a13a6ebaf8b75e5bbc91978aaef17" + "3fc5de0881671c883f5a387e102e63c1" ], [ "FStar.Integers.int_t", @@ -139,7 +139,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "a9f204eaba664a736592ce4d66ae269f" + "7a3b14c926c303510cc3ff3bdd434626" ], [ "FStar.Integers.within_bounds'", @@ -185,7 +185,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "14c22a126a920d4fd8b2f269d0466de9" + "599d34b1f76f3dc0646bdd6ffce2389d" ], [ "FStar.Integers.v", @@ -240,7 +240,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "167e509655419bce0bb714540ca1156e" + "cef62774966ccf851b125732f341b1c8" ], [ "FStar.Integers.u", @@ -293,7 +293,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "55ef029a295ff3ab1b0abfc4c13cde27" + "e94e7179af499d673a5483aa8edd5fa1" ], [ "FStar.Integers.cast", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_6228b710eb081c754099c34a8e4ca490" ], 0, - "5c0d072b772ecdc29d974842e40a8922" + "212894eef3d491e5fa9bd219606f4b7a" ], [ "FStar.Integers.op_Plus", @@ -372,7 +372,7 @@ "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" ], 0, - "7e45e7f1ad7bd7345d0f187acc68e3a1" + "e1afa7a9014de6c32e622f0ccd42ba0e" ], [ "FStar.Integers.op_Plus_Question", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "1e669bd7efe0432e2b7d93192737a4f1" + "d1a21fa420826a683b3d411e9cc6ede7" ], [ "FStar.Integers.modulo", @@ -424,7 +424,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "92654139092e6b57a557c88a72084fa9" + "5392add582ff255f733e38817471a331" ], [ "FStar.Integers.op_Plus_Percent", @@ -460,7 +460,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "791ff5afe7aa6bcc3844171ec8d9bf7a" + "676de31bbe981cb5f33d7c2fca56e7a1" ], [ "FStar.Integers.op_Subtraction", @@ -527,7 +527,7 @@ "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" ], 0, - "845d11eab84973378c165afc705aef17" + "101a40c0eba7a2786a5845d4644031b9" ], [ "FStar.Integers.op_Subtraction_Question", @@ -563,7 +563,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "15a822e967f2550681ba5ad115963722" + "d5115eec1f45d1e04d8a38174ddebd66" ], [ "FStar.Integers.op_Subtraction_Percent", @@ -599,7 +599,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "12b788f1c31ca2fb37ecd78d6d3b682f" + "881e81e2bf2fe0f83e07f6c768104310" ], [ "FStar.Integers.op_Minus", @@ -660,7 +660,7 @@ "typing_FStar.Integers.width_of_sw", "typing_Prims.pow2" ], 0, - "8713cfb2cd668e56c28e3d76b0c760a9" + "c5b43b5d9127d1b27fda5513e53277d1" ], [ "FStar.Integers.op_Star", @@ -669,7 +669,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "bc91bb398b176d486b92cb6cc3fd50e0" + "1010819ab91969271855a71d6c6ebc40" ], [ "FStar.Integers.op_Star", @@ -734,7 +734,7 @@ "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" ], 0, - "56b0a195ab30f6f85b256394d355c417" + "316ff450f5856dd12e37670bf68be5d1" ], [ "FStar.Integers.op_Star_Question", @@ -743,7 +743,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "f3071dfb5aedc9e74fce3211da8bed36" + "6136cd5dcb38929e9bea1912e01305ee" ], [ "FStar.Integers.op_Star_Question", @@ -779,7 +779,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "6bc42775915229754892a165cc671eb6" + "73b9584e3c043fd1037af9aed5a4efef" ], [ "FStar.Integers.op_Star_Percent", @@ -788,7 +788,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "fc8ec1da1238113161f80d66350e79e0" + "f9af4d72a0b7a1dd44fb3ae3c2537d42" ], [ "FStar.Integers.op_Star_Percent", @@ -825,7 +825,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "463f1cbc1d25d9f8b2947be84c6d827c" + "1c7dd4e27c58a72ef11da2ecc2a0c07a" ], [ "FStar.Integers.op_Greater", @@ -879,7 +879,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "f164c197e153356b70ddc36fd5a8c5b6" + "22b046f884c7826753bec0e93ac87b6d" ], [ "FStar.Integers.op_Greater_Equals", @@ -933,7 +933,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "20dea18b575bd0c6220917d1dd02ee06" + "a84f1d015a59c5c32db888ced89ba63c" ], [ "FStar.Integers.op_Less", @@ -987,7 +987,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "6115d229c28a3b4a9e1b8b9bc6cc2076" + "5e803160ae73465036c281a0f18c7c93" ], [ "FStar.Integers.op_Less_Equals", @@ -1041,7 +1041,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "b4e8874fcaef959bf5fa5790a41e5806" + "4072fa8c010e5820f4cb3a783ccf3059" ], [ "FStar.Integers.op_Slash", @@ -1057,7 +1057,7 @@ "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789" ], 0, - "0a702504cd2e17ac2aa1e84542e7c7c2" + "3ffc8542b9ab4b38a361d7e41bbc23c0" ], [ "FStar.Integers.op_Slash", @@ -1117,7 +1117,7 @@ "typing_FStar.Integers.v" ], 0, - "ed6f0a626f8eb63710aca5238d1865ec" + "4ff82fec17e73ba419acd0ed9ffee893" ], [ "FStar.Integers.op_Percent", @@ -1166,7 +1166,7 @@ "typing_FStar.Integers.width_of_sw", "unit_typing" ], 0, - "b5f1df61de93c63dd8b40bb9baf24ce2" + "eeca82789599f6ed8e026195220aa46b" ], [ "FStar.Integers.op_Percent", @@ -1225,7 +1225,7 @@ "typing_FStar.Integers.v" ], 0, - "4cd0e752eed98f9978d0a2fc21f6497c" + "24399ce8514d78ec45e080fd254956c6" ], [ "FStar.Integers.op_Hat_Hat", @@ -1234,7 +1234,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "cfc52ce5193c4cb0ecf3e1442d24dbc4" + "754d1122180eb25e0004ede91a1e3c78" ], [ "FStar.Integers.op_Hat_Hat", @@ -1281,7 +1281,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "a02f048438cf4180f0eb707cfdd804be" + "da29a9e6fc40da38250289ebb7b6a2ad" ], [ "FStar.Integers.op_Amp_Hat", @@ -1290,7 +1290,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "806008a205fcd7bad035aabbde3e8f5b" + "266a3ca36be909386e131c11f6940584" ], [ "FStar.Integers.op_Amp_Hat", @@ -1337,7 +1337,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "e77317c0929109e1436d3352a2d77e92" + "f65f485ed044b19f0e8b5be5e69f2d89" ], [ "FStar.Integers.op_Bar_Hat", @@ -1346,7 +1346,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "f84254743e84025175bfdaebad743dc5" + "3361a868dad63f19b20df8e18b79185e" ], [ "FStar.Integers.op_Bar_Hat", @@ -1393,7 +1393,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "92b2ee6397e5132970442109b565ab85" + "5cdad15a1941b78916e2255f08bea84d" ], [ "FStar.Integers.op_Less_Less_Hat", @@ -1415,7 +1415,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "0bee9787127a17aadf31079791fcb3cb" + "daf5f3cefcf77a288a7fe04150caec20" ], [ "FStar.Integers.op_Less_Less_Hat", @@ -1485,7 +1485,7 @@ "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt32.v" ], 0, - "1a0ba01f8d9872fda312e4bab4d22ca8" + "e19d6112bc704b3f42347cb5123934c8" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -1494,7 +1494,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "a2dce4f69f22782d187a9de7318c6e96" + "6e6fa9066b340d2ebbbefeb252b52aa8" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -1552,7 +1552,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "b5b64c092446d1ba96f3a2e80c296bef" + "3804110b64bba42943a172c4376342fe" ], [ "FStar.Integers.g", @@ -1573,7 +1573,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "edb3b30f23f4421329fb46596a42504f" + "26987ab10653a022abbb54f318932bf6" ], [ "FStar.Integers.g", @@ -1594,7 +1594,7 @@ "refinement_interpretation_Tm_refine_4d75010ffac0608e101e75d4219b953e" ], 0, - "48d150550c293805bcf298d9a18f8eb5" + "cffa0812e53c13b4fa5d60671ad19611" ], [ "FStar.Integers.h", @@ -1608,7 +1608,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a88a975542dc587ea54fe2b14c8547c9" + "dccb471dce88ba545e53bcb997f9a598" ], [ "FStar.Integers.k", @@ -1625,7 +1625,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "4d3a1c6876ca1653fd7cceabaefcd41d" + "9e24a960d510422e0286910fb698f009" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.InteractiveHelpers.Base.fst.hints b/ulib/.cache/FStar.InteractiveHelpers.Base.fst.hints index 10613f5ad82..524093475b1 100644 --- a/ulib/.cache/FStar.InteractiveHelpers.Base.fst.hints +++ b/ulib/.cache/FStar.InteractiveHelpers.Base.fst.hints @@ -1,5 +1,5 @@ [ - "þ\f¤Ì|8Ý›þ0Då7-TT", + "}Ð[;\u0000hXŽ\u001eG¥dp\u001e\u0012Ò", [ [ "FStar.InteractiveHelpers.Base.bv_eq", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a858849b335ea71499edc22421bfbf0" + "e7f1bf51b62a9cced828bf2400356daa" ], [ "FStar.InteractiveHelpers.Base.opt_apply", @@ -22,7 +22,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "12361592059f0c6cc2fb85eefab791ef" + "d03ec4b68778dc2fbe3125dbe59097ce" ], [ "FStar.InteractiveHelpers.Base.opt_tapply", @@ -31,7 +31,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "d711b3b567930cb4ac38222199237fc6" + "8110ae7970cb1760634bc1fc5fbee001" ], [ "FStar.InteractiveHelpers.Base.option_to_string", @@ -40,7 +40,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "51a0952b8c854d22ab2fd2864c85dcff" + "2fdb0bab696243bc004ffa146fdc3f82" ], [ "FStar.InteractiveHelpers.Base.opt_cons", @@ -49,7 +49,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "cef2fce8632d3c5145320b7946faa359" + "d93d0c11c26cb2e4461d3635818c2c12" ], [ "FStar.InteractiveHelpers.Base.unzip", @@ -64,7 +64,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "255a13b03ecdf9cae4795251cfb0c772" + "612179d8072c5fa861f32a3b12005c30" ], [ "FStar.InteractiveHelpers.Base.print_binder_info", @@ -73,21 +73,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Q_Explicit", - "disc_equation_FStar.Reflection.Data.Q_Implicit", - "disc_equation_FStar.Reflection.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "disc_equation_FStar.Reflection.V1.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Implicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Meta", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.aqualv", + "proj_equation_FStar.Reflection.V1.Data.Mkbinder_view_binder_qual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual" + "refinement_interpretation_Tm_refine_a9a19d4dc9068a04e5ccf414c49e1a0e", + "typing_FStar.Reflection.V1.Builtins.inspect_binder", + "typing_FStar.Reflection.V1.Data.__proj__Mkbinder_view__item__binder_qual" ], 0, - "27a2a75d3872394093c98b349426a317" + "98774b40605a2098897ee41c53568cb2" ], [ "FStar.InteractiveHelpers.Base.acomp_to_string", @@ -96,17 +93,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" ], 0, - "5e100ce303b464b5c733e794f40ef0d8" + "3a984b53bfe7633f5a19d759722e4cbd" ], [ "FStar.InteractiveHelpers.Base.__proj__MetaAnalysis__item__uu___", @@ -118,7 +115,7 @@ "refinement_interpretation_Tm_refine_31faf0785289105b75219c704006352e" ], 0, - "18c7fe259a61aab6d2a6cf7b0e9fbd08" + "c8ef61b04350596a506cda40dbba192d" ], [ "FStar.InteractiveHelpers.Base.bind_map_get", @@ -135,7 +132,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f076970e36fc80ed2e3182692cc1f320" + "4aceeb58a84b618ba67554f5c3158a21" ], [ "FStar.InteractiveHelpers.Base.bind_map_get_from_name", @@ -151,7 +148,28 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "03180d5ad4009c7733f1df795897cfaf" + "4978fb1ab5500f9e4719ef5c7616fb71" + ], + [ + "FStar.InteractiveHelpers.Base.genv_get_from_name", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", + "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.bv", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_Prims.bool", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Pervasives.Native.tuple3@tok", + "lemma_FStar.Pervasives.invertOption", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "9f2d811f78c018727e416c82fc9008a3" ], [ "FStar.InteractiveHelpers.Base.genv_push_bv", @@ -175,7 +193,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "7824ef312921c1b8a82b7c3aa3bcbd79" + "9c4deb1de33e539b8c4b9889e4c9f37f" ], [ "FStar.InteractiveHelpers.Base.bv_is_abstract", @@ -187,17 +205,17 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.InteractiveHelpers.Base.genv_get", - "equation_Prims.eqtype", + "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.bool", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Pervasives.Native.tuple3@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_FStar.InteractiveHelpers.Base.genv_get" ], 0, - "4dd148860c3d41f65ba5e1dc59bd41ef" + "efa812127fcde7abf297e0b8fa8d6e9a" ], [ "FStar.InteractiveHelpers.Base.norm_apply_subst_in_comp", @@ -206,21 +224,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "disc_equation_FStar.Reflection.Data.Q_Explicit", - "disc_equation_FStar.Reflection.Data.Q_Implicit", - "disc_equation_FStar.Reflection.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "disc_equation_FStar.Reflection.V1.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Implicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Meta", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.aqualv", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" ], 0, - "36ecef2757c28d2698bacde5f5dc0ae1" + "cbcdc576f6e29b96c0edf3ca43f00202" ], [ "FStar.InteractiveHelpers.Base.deep_apply_subst", @@ -234,7 +252,7 @@ "data_elim_FStar.Pervasives.Native.Mktuple3", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Reflection.Data.Tv_Var", + "disc_equation_FStar.Reflection.V1.Data.Tv_Var", "equation_FStar.InteractiveHelpers.Base.bind_map", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -257,7 +275,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "49dfd07e68085941a271da1e25c473ab" + "76c7049a73602d969837104043e745f6" ], [ "FStar.InteractiveHelpers.Base.deep_apply_subst", @@ -266,21 +284,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "disc_equation_FStar.Reflection.Data.Q_Explicit", - "disc_equation_FStar.Reflection.Data.Q_Implicit", - "disc_equation_FStar.Reflection.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "disc_equation_FStar.Reflection.V1.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Implicit", + "disc_equation_FStar.Reflection.V1.Data.Q_Meta", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.aqualv", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" ], 0, - "6e3f909e8c221d45a77ec4a09dc8ea50" + "c40aa5f1336246b989c48592c920fc66" ], [ "FStar.InteractiveHelpers.Base.deep_apply_subst", @@ -289,16 +307,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "disc_equation_FStar.Reflection.V1.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V1.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V1.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V1.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.pattern", "projection_inverse_BoxBool_proj_0" ], 0, - "344405301e43c1d1940f1a8128fe844c" + "2dd5b3b71bdf9db4e3f95fd628beca90" ], [ "FStar.InteractiveHelpers.Base.opt_apply_subst", @@ -310,7 +327,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "1a535eb59e1aae8df892faf7d167ca96" + "4716471b43a8c31056303d118d975eb6" ], [ "FStar.InteractiveHelpers.Base._generate_shadowed_subst", @@ -323,7 +340,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "668568f1202037bd44ba44675570e8fc" + "a2848926267c6fe09291da5819dcb2ac" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.InteractiveHelpers.Effectful.fst.hints b/ulib/.cache/FStar.InteractiveHelpers.Effectful.fst.hints index a352cc092d0..3c78d84b1a3 100644 --- a/ulib/.cache/FStar.InteractiveHelpers.Effectful.fst.hints +++ b/ulib/.cache/FStar.InteractiveHelpers.Effectful.fst.hints @@ -1,5 +1,5 @@ [ - "’\\K+1Î|´O<;\u0012säd", + "Ÿ\u0015\u001d®×R.‘o¾Þë«_åÜ", [ [ "FStar.InteractiveHelpers.Effectful.decompose_application_aux", @@ -14,7 +14,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "8bdc215f9abb59b810bb009f1413de7b" + "2c81fb3821e52fee7cb1dc0207c1e9d8" ], [ "FStar.InteractiveHelpers.Effectful.comp_view_to_effect_info", @@ -23,15 +23,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0" ], 0, - "e17c73367aaa5ef5e40695697fe295d6" + "1f9c45595f93213ed3ba5fecbdd8bdba" ], [ "FStar.InteractiveHelpers.Effectful.compute_effect_info", @@ -46,7 +46,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "55ebd04b9b000b905656ff12e978be6e" + "86b2b8d4650b95e2c99574de952c0776" ], [ "FStar.InteractiveHelpers.Effectful.typ_or_comp_to_effect_info", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_95fb0a07ee7b0f13d11bf7607c606ebb" ], 0, - "c6d8254ca493931e433dce9d1507bbd2" + "39fbb5c6c00012d35303b0509cea27ef" ], [ "FStar.InteractiveHelpers.Effectful.compute_eterm_info", @@ -82,7 +82,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "fc21af093939b4d4fd0121c4f13b2cf0" + "3d4260f73780938cd4df1f9a4f47a977" ], [ "FStar.InteractiveHelpers.Effectful.get_refinement", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_0d38811abbd170730b71c0db7f8677b1" ], 0, - "b4df00935511d5e43e0af789569bded6" + "61b2eaa329996f17509133b9c3ff8bc2" ], [ "FStar.InteractiveHelpers.Effectful.type_comparison_to_string", @@ -110,7 +110,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ad886dba3c31365da10efa38affd2ab6" + "fcf8226e9269f0d78d016f85aa7515e5" ], [ "FStar.InteractiveHelpers.Effectful.compare_types", @@ -126,7 +126,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "134d46ff6a15dcf93627061e497e011f" + "801598a61a8245a0ef6949fb9ef2bd94" ], [ "FStar.InteractiveHelpers.Effectful.compare_cast_types", @@ -145,7 +145,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "0fd0edd12ceffb2bc98fd0d652f9c621" + "a9a883dade25fc6bcfad071e0c09d8a8" ], [ "FStar.InteractiveHelpers.Effectful.cast_info_to_propositions", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_b50a05944a038f2b0aaeee8625c945e3" ], 0, - "7e69e7d9e38934ebb95c28058114f508" + "01168584b5f9ce50458d74ef8bf853cd" ], [ "FStar.InteractiveHelpers.Effectful.__proj__PP_State__item__state_type", @@ -188,7 +188,7 @@ "refinement_interpretation_Tm_refine_450daea0a9fb55a92f480dc63c6f1e57" ], 0, - "1b01006afd64f253dec61776f2daf5b8" + "f399e0d8d084207027e1c595188f8c7b" ], [ "FStar.InteractiveHelpers.Effectful.compute_pre_type", @@ -203,7 +203,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "17872b488b3af14dda45f6672ea42cbc" + "ed8d732fcbfdfe14d2602a9366fc4d77" ], [ "FStar.InteractiveHelpers.Effectful.compute_post_type", @@ -220,7 +220,7 @@ "typing_FStar.InteractiveHelpers.ExploreTerm.get_total_or_gtotal_ret_type" ], 0, - "3b3cc3c10b978a09945f0c3328b22cb4" + "f99b04dc6353799a0835dc8d00692827" ], [ "FStar.InteractiveHelpers.Effectful.check_opt_pre_post_type", @@ -238,7 +238,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "668857866951fe6279b218f74e21f23a" + "cc5af019bc117fab864d8349fae6dcb5" ], [ "FStar.InteractiveHelpers.Effectful._introduce_variables_for_abs", @@ -247,13 +247,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", "equation_FStar.Reflection.Types.typ", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.term", @@ -265,13 +265,13 @@ "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_7f35847acbb7ec9362d723780e73642b", + "refinement_interpretation_Tm_refine_5730fe8e56c39c65a07a73afc6ec4cda", "string_typing", "typing_FStar.InteractiveHelpers.ExploreTerm.get_total_or_gtotal_ret_type", - "typing_FStar.Reflection.Data.__proj__Tv_Arrow__item__c" + "typing_FStar.Reflection.V1.Data.__proj__Tv_Arrow__item__c" ], 0, - "291c359b36cad8715bc89ee2bd82c495" + "6028574e19c98ba54588ff7ba0b0e743" ], [ "FStar.InteractiveHelpers.Effectful.introduce_variables_for_abs", @@ -286,7 +286,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "5a9719e093444f6e807f6f6fff112e06" + "76a73833204409a46047125fad3dd7f6" ], [ "FStar.InteractiveHelpers.Effectful.introduce_variables_for_opt_abs", @@ -298,7 +298,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "2642feeb8de9f0d30750448b62fbc881" + "ae6818885b258f608a654aaa1c507570" ], [ "FStar.InteractiveHelpers.Effectful.effect_type_is_stateful", @@ -319,7 +319,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6dccd32a11cd2ad6a0c2e45a6657a324" + "bb5ee1d7583d894eefeb966dec27e4bf" ], [ "FStar.InteractiveHelpers.Effectful.term_has_effectful_comp", @@ -334,7 +334,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "3a45e7d8e3495d174e5235d83ae4bf6b" + "fb12b32b887896cd456b09294536becd" ], [ "FStar.InteractiveHelpers.Effectful.related_term_is_effectul", @@ -351,7 +351,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4742767c4e75970dff52361a5ad932e1" + "862128a2df6591076568e3823110754f" ], [ "FStar.InteractiveHelpers.Effectful.find_mem_in_related", @@ -361,14 +361,18 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "data_elim_FStar.Tactics.Result.Success", "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Types.typ", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.bv", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -376,10 +380,10 @@ "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" + "projection_inverse_FStar.Tactics.Result.Success_v", "string_typing" ], 0, - "65706b6643e1eac0516e720a84f0aa25" + "c1e98c1883f5bb9b62adaa0232177967" ], [ "FStar.InteractiveHelpers.Effectful.find_mem_in_children", @@ -396,7 +400,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a7af3adcbb8b16d8e3e9df8d44597498" + "b6c136c4474371ccb405d63865729029" ], [ "FStar.InteractiveHelpers.Effectful.pre_post_to_propositions", @@ -405,6 +409,7 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_PURE", @@ -425,11 +430,14 @@ "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Total", "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Reflection.Types.typ", "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.effect_type", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.binder", "function_token_typing_FStar.Reflection.Types.bv", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -437,10 +445,10 @@ "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" + "projection_inverse_FStar.Tactics.Result.Success_v", "string_typing" ], 0, - "4791f62fa7767552f2f522dd7d5b05f5" + "db3ade26de3389a130158e14520c67d6" ], [ "FStar.InteractiveHelpers.Effectful.eterm_info_to_assertions", @@ -485,7 +493,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3" ], 0, - "709c871f12dd9da410749a987d96d365" + "842301cb0a212045baa9c72b719aceeb" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.InteractiveHelpers.ExploreTerm.fst.hints b/ulib/.cache/FStar.InteractiveHelpers.ExploreTerm.fst.hints index f4b61eeef88..9ce52adc03c 100644 --- a/ulib/.cache/FStar.InteractiveHelpers.ExploreTerm.fst.hints +++ b/ulib/.cache/FStar.InteractiveHelpers.ExploreTerm.fst.hints @@ -1,5 +1,5 @@ [ - "\u0007ïÀjwpP—v|\u0006e£ÓÄù", + "9£qAÜV¯ØyÀÛˆ\u0003¨\fÏ", [ [ "FStar.InteractiveHelpers.ExploreTerm.comp_qualifier", @@ -8,17 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" ], 0, - "84f5482bba9c4262d984199d750cf8a2" + "e34debd68b0b209219f3d515d0e46556" ], [ "FStar.InteractiveHelpers.ExploreTerm.effect_type_to_string", @@ -39,7 +39,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1981afbf892b5f647780cd330f24cae9" + "e7400b71c4aa35f7428e87a2ea4a8a89" ], [ "FStar.InteractiveHelpers.ExploreTerm.effect_type_is_pure", @@ -60,7 +60,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c2a0bb329b1708e33fe18068cadf0de1" + "bc53be4255c787bb6fb174ddf43272af" ], [ "FStar.InteractiveHelpers.ExploreTerm.get_type_info", @@ -75,7 +75,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "04c305d673b0ddf20173e52c950efb3b" + "d8a39302e54c2149d80efcd7c8b22e86" ], [ "FStar.InteractiveHelpers.ExploreTerm.get_comp_ret_type", @@ -84,17 +84,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" ], 0, - "74287db4cca337b92e7da9a2ced8cd55" + "3ef88f5b8ecc6c2307fb6fa835e26bd1" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__v", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" ], 0, - "55cea7f8a65a95afc7552aa731dd2c54" + "64f2ba2299edd59f5a27afdc3a8496db" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__pl", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" ], 0, - "4fcb7d1a624e0b656d86db1f8b341cfd" + "2f43e36c656fcffe3ec75971c8513d97" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__num_unflushed", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" ], 0, - "6fdc2230f8ce7bc72b5d63e8eb3cf061" + "d042af2a9a8ad28eef76f2056b2a7ee9" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__v", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" ], 0, - "ec540e0b58d93386967c83ef16a02c6b" + "bd9aa1390fe1e772c12c680c3c1beed2" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__pl", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" ], 0, - "3ccbb31646229f79fcc668359c7b62e3" + "5d2d01e78665d6f7d4dd32c3fd4ff4f9" ], [ "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__num_unflushed", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" ], 0, - "103d4caf7e2b73b5f6df10cfae79457e" + "b463894abdbe632a5ad59f5536bc2e37" ], [ "FStar.InteractiveHelpers.ExploreTerm.typ_or_comp_to_string", @@ -181,7 +181,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b038b8a3a7b62e05965ffa95f6ba6983" + "918ef6e97c41a075fb0d8ac327e31c39" ], [ "FStar.InteractiveHelpers.ExploreTerm.params_of_typ_or_comp", @@ -196,7 +196,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e66ea2e0cd3487b6e3665313ad573512" + "7e7bb4694e1477730532d7454a1a2936" ], [ "FStar.InteractiveHelpers.ExploreTerm.num_unflushed_of_typ_or_comp", @@ -211,7 +211,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6905719f6152fa929b57e7a278ace8d8" + "2d29c05516171cba385d0696a97a03f7" ], [ "FStar.InteractiveHelpers.ExploreTerm.safe_typ_or_comp", @@ -245,7 +245,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "1b60fca3080908b5c00c0e522aa3c240" + "e56d0a514be486dc4d53a2f4c36b72e7" ], [ "FStar.InteractiveHelpers.ExploreTerm.inst_comp", @@ -258,7 +258,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "24fe5e7aad07a1d9c361f4e4dfca1c4e" + "215f80af97a7fa2ca98b70617aeb2986" ], [ "FStar.InteractiveHelpers.ExploreTerm.abs_update_typ_or_comp", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0387c6fe6be5a9788ddec167fd243da7" + "71cbc66c25e93bbdc7ad146439dd5789" ], [ "FStar.InteractiveHelpers.ExploreTerm.abs_update_opt_typ_or_comp", @@ -289,7 +289,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "89e549d31b8c3b7a6a97a3e7bdaf462d" + "978e58d5799c6060d48727352228c76a" ], [ "FStar.InteractiveHelpers.ExploreTerm._flush_typ_or_comp_comp", @@ -302,7 +302,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "dde1a01f4b6c96425b151116e0bb47af" + "622a13e0c7e62d6c9a324d84f1149354" ], [ "FStar.InteractiveHelpers.ExploreTerm.flush_typ_or_comp", @@ -323,7 +323,7 @@ "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_v" ], 0, - "aad39bfd51e8b2f56b8714913a900c01" + "aa67e45ec0bbb6136e64e4a73d483061" ], [ "FStar.InteractiveHelpers.ExploreTerm.safe_arg_typ_or_comp", @@ -360,7 +360,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "3495eb135af6b8a658dbb8b36c0808ea" + "05341fbc34da37e13c719b5d2157abdb" ], [ "FStar.InteractiveHelpers.ExploreTerm.convert_ctrl_flag", @@ -376,7 +376,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4bdff154b672251b1102a54848448315" + "230294d6027260d07ff49bc58e15cfcc" ], [ "FStar.InteractiveHelpers.ExploreTerm.bind_expl", @@ -389,7 +389,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "357f03b51eff668efe3e55fab3974e72" + "c80cc43450bdacbeed4bfe63564f4c85" ], [ "FStar.InteractiveHelpers.ExploreTerm.explore_term", @@ -414,7 +414,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "aa30d98b316e4d5c7168dc59a6d9c783" + "fc72eb4598e6eef74bae41107ebd3400" ], [ "FStar.InteractiveHelpers.ExploreTerm.explore_term", @@ -423,25 +423,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.InteractiveHelpers.Base_pretyping_3ef7202e81faee9f7c49125c4a8251eb", - "FStar.Tactics.Types_pretyping_59821767a293509a639facef5ddf73f7", "assumption_FStar.Tactics.Types.ctrl_flag__uu___haseq", - "data_typing_intro_FStar.Tactics.Result.Success@tok", - "data_typing_intro_FStar.Tactics.Types.Skip@tok", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "disc_equation_FStar.Reflection.V1.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V1.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V1.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V1.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.pattern", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.Base.genv@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_FStar.Tactics.Types.ctrl_flag@tok", "projection_inverse_BoxBool_proj_0" ], 0, - "2a6c343d627ce8345b230db35b7e1b80" + "37c46f714f018833ccf6d947c96a4476" ], [ "FStar.InteractiveHelpers.ExploreTerm.free_in", @@ -451,8 +443,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "constructor_distinct_FStar.Tactics.Result.Failed", - "data_elim_FStar.Tactics.Result.Success", "equation_Prims.eqtype", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Reflection.Data.Tv_Var", + "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.bv", "function_token_typing_FStar.Reflection.Types.term", @@ -463,10 +458,10 @@ "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing" + "string_typing", "typing_FStar.Reflection.Data.uu___is_Tv_Var" ], 0, - "0c4d5356c7bb14c00c1aab398451c5c7" + "f70e4765d6e93d6e596e3b51e0897ee7" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.InteractiveHelpers.Output.fst.hints b/ulib/.cache/FStar.InteractiveHelpers.Output.fst.hints index 66c9fad3c9e..bad65228004 100644 --- a/ulib/.cache/FStar.InteractiveHelpers.Output.fst.hints +++ b/ulib/.cache/FStar.InteractiveHelpers.Output.fst.hints @@ -1,5 +1,5 @@ [ - "¦\f3ýúÒƱ¾c’^$\u0003º", + "¿W\u0019tOwÛ\u000b§@\u0015Ú\u000bJ¼", [ [ "FStar.InteractiveHelpers.Output._split_subst_at_bv", @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_1eabc41484fd5b9dcaf6fca81ee03b09_3", + "binder_x_dcb92bdf6cb3244567ec86570ac3a2eb_5", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "8795801741d84d3b1c2778d39e36de4b" + "aa3940be12d6871d64b80468062c4594" ], [ "FStar.InteractiveHelpers.Output.subst_shadowed_with_abs_in_assertions", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "fdaf8b3bdce539318a4fc906132bf9b1" + "f281cceae2fd2fd874770844ff9c7555" ], [ "FStar.InteractiveHelpers.Output.opt_term_to_printout", @@ -51,7 +51,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "6bbc4333d9550630ca7ce7273437c0b0" + "6cd062bffbe6dc915b58b7d1d8e4e5b8" ], [ "FStar.InteractiveHelpers.Output.__proj__ESuccess__item__ge", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_c3603a9204b69bd537f4b4bbf2a00266" ], 0, - "077764e78703c26785a30003bc999c91" + "0bcec6e2bfbaede2c9c367a97be81999" ], [ "FStar.InteractiveHelpers.Output.__proj__ESuccess__item__a", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_c3603a9204b69bd537f4b4bbf2a00266" ], 0, - "537693fc3bb7f84d3686b27d3bbf31b5" + "a67c84934c8a379a9e2ee152631e09e3" ], [ "FStar.InteractiveHelpers.Output.__proj__EFailure__item__err", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_c8334db65fdbf30bb7a9e3ef5d0b3120" ], 0, - "1715435bcfe7cdf4190ad7d7a0a79b1b" + "22d6270ea58113857bf675633851e47a" ], [ "FStar.InteractiveHelpers.Output.result_to_printout", @@ -102,7 +102,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "584749fe16b88b779497cba8cc551345" + "da8b61ffc774cbacd8cbb6de438bc7ab" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.InteractiveHelpers.PostProcess.fst.hints b/ulib/.cache/FStar.InteractiveHelpers.PostProcess.fst.hints index 32a15e1412a..c206d5a39f2 100644 --- a/ulib/.cache/FStar.InteractiveHelpers.PostProcess.fst.hints +++ b/ulib/.cache/FStar.InteractiveHelpers.PostProcess.fst.hints @@ -1,5 +1,5 @@ [ - "ÄÄd¥ÏAe7ÏE¦Ç\u0018¡Ü\"", + "6é¤\u0019$Á\u001e?³`jLr˶", [ [ "FStar.InteractiveHelpers.PostProcess.find_predicated_term_explorer", @@ -23,7 +23,7 @@ "unit_inversion" ], 0, - "8ba7078d3d207c50649bc25b2c63b4ca" + "5edc71c6be1070e002ed319bd9be3e61" ], [ "FStar.InteractiveHelpers.PostProcess.find_focused_term_in_current_goal", @@ -48,7 +48,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "2bedb978f76f3dfe8d3a9dea18c8f45e" + "e18c042ca783c00fde8bec81eec2bd68" ], [ "FStar.InteractiveHelpers.PostProcess.find_focused_assert_in_current_goal", @@ -74,7 +74,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "243429e809b8b64557dcca90fffd1435" + "4a5df64d29a04d1c9608d59d52e9f8bb" ], [ "FStar.InteractiveHelpers.PostProcess.analyze_effectful_term", @@ -83,27 +83,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", - "data_elim_FStar.Reflection.Data.Tv_Let", "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", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "equation_FStar.InteractiveHelpers.Base.genv_get_from_name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.InteractiveHelpers.PostProcess.exploration_result", + "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.bv", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.bool", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -111,14 +102,10 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92", - "typing_FStar.InteractiveHelpers.Base.genv_get_from_name", - "typing_FStar.InteractiveHelpers.PostProcess.__proj__Mkexploration_result__item__ge", - "typing_FStar.Reflection.Data.__proj__Tv_Let__item__bv", - "typing_FStar.Reflection.Derived.name_of_bv" + "string_typing" ], 0, - "ee1bcff0bdeb4a2bd543a7507c9c19b2" + "e35b9b9d4ebacafee18a5de3adfec86b" ], [ "FStar.InteractiveHelpers.PostProcess.is_conjunction", @@ -127,15 +114,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_FStar.Reflection.Types.name" ], 0, - "30257b08dfaccd207347474c8f3eafb6" + "44e1996f3454eb8458d982b9cacdf695" ], [ "FStar.InteractiveHelpers.PostProcess._split_conjunctions", @@ -151,7 +138,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "5de3c077a3dff8f764dcf9df84c6767d" + "383e002cea06864041a6f1ae90e69ca1" ], [ "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Dec__item___0", @@ -163,7 +150,7 @@ "refinement_interpretation_Tm_refine_ec1d590800d70942ab13072a29673f7a" ], 0, - "20273a628f5da37ef89dbe4a78ff5093" + "dfa201c700a15e35ddcbf548c1a6cc73" ], [ "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Undec__item___0", @@ -175,7 +162,7 @@ "refinement_interpretation_Tm_refine_802465129bff50db8971f2dda770d6d2" ], 0, - "0f71d1f70421183873be6336e7816702" + "06e5461b26299fbc96aef3456bbc0f20" ], [ "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Hetero__item___0", @@ -187,7 +174,7 @@ "refinement_interpretation_Tm_refine_03bcf644ac3d90a8a1a822143a60ce77" ], 0, - "29f9cd21739dd065f022fc9fe9bc6152" + "14bd0555381eed450234e34e7c7b16d9" ], [ "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Hetero__item___1", @@ -199,7 +186,7 @@ "refinement_interpretation_Tm_refine_03bcf644ac3d90a8a1a822143a60ce77" ], 0, - "e9efc2b24d13d7033886dd7feb779a94" + "51b60a6e62aa167333503f78dd08c8e5" ], [ "FStar.InteractiveHelpers.PostProcess.mk_eq", @@ -215,7 +202,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4bf0e0a49dc4b26ee53328dd1e11d234" + "3dcb51c3ac79c7507582f90fa3d34ce5" ], [ "FStar.InteractiveHelpers.PostProcess.formula_construct", @@ -224,26 +211,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.And", - "disc_equation_FStar.Reflection.Formula.App", - "disc_equation_FStar.Reflection.Formula.Comp", - "disc_equation_FStar.Reflection.Formula.Exists", - "disc_equation_FStar.Reflection.Formula.FV", - "disc_equation_FStar.Reflection.Formula.F_Unknown", - "disc_equation_FStar.Reflection.Formula.False_", - "disc_equation_FStar.Reflection.Formula.Forall", - "disc_equation_FStar.Reflection.Formula.Iff", - "disc_equation_FStar.Reflection.Formula.Implies", - "disc_equation_FStar.Reflection.Formula.IntLit", - "disc_equation_FStar.Reflection.Formula.Name", - "disc_equation_FStar.Reflection.Formula.Not", - "disc_equation_FStar.Reflection.Formula.Or", - "disc_equation_FStar.Reflection.Formula.True_", - "fuel_guarded_inversion_FStar.Reflection.Formula.formula", + "disc_equation_FStar.Reflection.V1.Formula.And", + "disc_equation_FStar.Reflection.V1.Formula.App", + "disc_equation_FStar.Reflection.V1.Formula.Comp", + "disc_equation_FStar.Reflection.V1.Formula.Exists", + "disc_equation_FStar.Reflection.V1.Formula.FV", + "disc_equation_FStar.Reflection.V1.Formula.F_Unknown", + "disc_equation_FStar.Reflection.V1.Formula.False_", + "disc_equation_FStar.Reflection.V1.Formula.Forall", + "disc_equation_FStar.Reflection.V1.Formula.Iff", + "disc_equation_FStar.Reflection.V1.Formula.Implies", + "disc_equation_FStar.Reflection.V1.Formula.IntLit", + "disc_equation_FStar.Reflection.V1.Formula.Name", + "disc_equation_FStar.Reflection.V1.Formula.Not", + "disc_equation_FStar.Reflection.V1.Formula.Or", + "disc_equation_FStar.Reflection.V1.Formula.True_", + "fuel_guarded_inversion_FStar.Reflection.V1.Formula.formula", "projection_inverse_BoxBool_proj_0" ], 0, - "4dd777ade1e516652d2b228eec418763" + "87b7ccf9319aa94eaf43fa10092e53ec" ], [ "FStar.InteractiveHelpers.PostProcess.find_equality_from_post", @@ -275,7 +262,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3" ], 0, - "a1dc70d0d589e613e73951dcc1b70e1b" + "b1d7ecdb9610f2428e18db03ba281398" ], [ "FStar.InteractiveHelpers.PostProcess.find_context_equality_aux", @@ -308,7 +295,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "6d8d56354bdb51f7f61be67ef8ca7138" + "641f009f514f4b1ea8a65c5208aeb1f3" ], [ "FStar.InteractiveHelpers.PostProcess.unfold_in_assert_or_assume", @@ -352,7 +339,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "49795cd9fc20441eef575f4187853efe" + "2da3a21380569ab20f41d9151cd2cce5" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Issue.fsti.hints b/ulib/.cache/FStar.Issue.fsti.hints new file mode 100644 index 00000000000..1c9487d9131 --- /dev/null +++ b/ulib/.cache/FStar.Issue.fsti.hints @@ -0,0 +1 @@ +[ "#\bH\u0018±Ó`ô8Ár!wÔ¥", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.LexicographicOrdering.fst.hints b/ulib/.cache/FStar.LexicographicOrdering.fst.hints index cfa68011a67..2d6ab5a1d30 100644 --- a/ulib/.cache/FStar.LexicographicOrdering.fst.hints +++ b/ulib/.cache/FStar.LexicographicOrdering.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "2c6edd36ebceb3d426313fd46e664d7f" + "34caa86306845122614f888e5d5cbf84" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__x2", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "f1607e1598cb3ac13d3bb6991727303b" + "08f28e392b09dc50ac743079ae92c312" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__y1", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "57adb5672326690070c25f3d4a10b537" + "9f8a0219a17954e63777d32a5e4afaa1" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__y2", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "013c18238b2fa44ee24f9d4a9e5b89ea" + "4b8266a747a4be2384b63c3ffab4433b" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item___4", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "9fe0b414b8c66f20ade66044bf72fbe5" + "0ffdd188e3c4ea5085dcddfda0a48c7c" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__x", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "676dbcb1d6cb79b39c4ad769cb7ae722" + "e5eddb7f1dbc399c86e1fac0789376c9" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__y1", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "8b94d0b674e32a3e85ec488aa715a658" + "6b7291fa2570af01b3c6147b08bdc770" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__y2", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "dd407b44a3605f23ef694737df3c6153" + "be0328d261a0a0d77cd6a98bb6f4c266" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item___3", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "db1881802a15a13a5ebce221ef3d27e3" + "d301a95588127fd8d9b97279f5837070" ], [ "FStar.LexicographicOrdering.closure_transitive", @@ -140,7 +140,7 @@ "typing_FStar.ReflexiveTransitiveClosure.closure" ], 0, - "153fa97c53d1c7f28a6801c8bf89d073" + "544299de1bcf3f892b70fd3ff5d2a770" ], [ "FStar.LexicographicOrdering.lex_t_wf_aux", @@ -181,7 +181,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "979e125cd73bf24222ec60e0ae732b80" + "dd2a8dec4c9f611b8911d7c837165bda" ], [ "FStar.LexicographicOrdering.lex_t_wf", @@ -190,7 +190,7 @@ 1, [ "@query" ], 0, - "2387af2da787680976d7ba4ade6fd2a5" + "3088541f72f6e446151b9da6f7073aa3" ], [ "FStar.LexicographicOrdering.lex_aux", @@ -199,7 +199,7 @@ 1, [ "@query" ], 0, - "25c90e64cddd89d31a00dc6767c2a604" + "d8a5ba1f383e8b3db2b40696b0795e0a" ], [ "FStar.LexicographicOrdering.lex_to_lex_t", @@ -220,7 +220,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "a971d6402d9301dfcee9b45ae3be4ba8" + "f5899eddf1025764b666ecb03465f8f2" ], [ "FStar.LexicographicOrdering.lex_wf", @@ -229,7 +229,7 @@ 1, [ "@query" ], 0, - "385ac55c9f4373356c80e870377d15da" + "ddded1f91d88c6f1d1368d9cddede4fe" ], [ "FStar.LexicographicOrdering.lex", @@ -238,7 +238,7 @@ 1, [ "@query" ], 0, - "493c5a9d208d57353ce6c9153117488d" + "aaf123e8920d56572cc9e498d246abd8" ], [ "FStar.LexicographicOrdering.lex_t_non_dep_wf", @@ -257,7 +257,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "1b3a234b3f7cfade6b8ac65d555c956c" + "111b959205e6de5ed50f47d0029a9639" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__x1", @@ -269,7 +269,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "92eacaf6b712f21a8aba1881d7ad9a22" + "19caff98fadcab72130bf3ebe085a402" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__x2", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "d6179b1998d46043daba40fab9a6c98f" + "72ff00ded6f90560e9c5f6114075c31e" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__y", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "0c9cd32f956485d09fe9d82d2dadd700" + "3e25728075a76e645b833b239d25ae20" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item___3", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "5ab3b2e73fcf2a84bed089e96ac92a58" + "2c7f057aa05bf813a6daf4d5deb9005e" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__x", @@ -319,7 +319,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "4e237a23690a1df7229c51423fc0a98f" + "53468d68c6c4b56cdfa47cdf905d8323" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__y1", @@ -331,7 +331,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "9af965c6bc4c0fa6ff7116476057a894" + "39567190e4ac969319d7ec5dbf9df261" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__y2", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "b4f8b4156013cbe5054d992d5b0a0dec" + "3cf5c4f65e5ef01ef048c131af1d863a" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item___3", @@ -357,7 +357,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "955c5786fe40f82cbd78bd7e9058017e" + "ad91ca57abcf3160d9713201bb1aa844" ], [ "FStar.LexicographicOrdering.sym_sub_lex", @@ -381,7 +381,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "cbf826288616d6ab9076cc124a35c2bf" + "0403f47db2ee65669eef15f520d12bfa" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.LexicographicOrdering.fsti.hints b/ulib/.cache/FStar.LexicographicOrdering.fsti.hints index 492609b0b13..014367acc00 100644 --- a/ulib/.cache/FStar.LexicographicOrdering.fsti.hints +++ b/ulib/.cache/FStar.LexicographicOrdering.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "10e3634ba884d4f9e24b08a1a3e84cb4" + "a51ce505934d8ec24f3b4b9e7aa51423" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__x2", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "da17bb829c238f8a5a6eab0502c4f5fa" + "3bf0813d0015b12fd4b93b470405ae51" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__y1", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "0ba75dfef73496bd54f4a8f675d00141" + "460701b5624a65a35324288da5b93f55" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item__y2", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "c55f203b3a63a7f5181af878b9173542" + "5f7095b9e36ec9524c907a44c88a1c35" ], [ "FStar.LexicographicOrdering.__proj__Left_lex__item___4", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" ], 0, - "e7ff9887daa1d18151a44cde3dd8d536" + "8ff8b3d821e8b347b25858622d4f4c24" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__x", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "5aef7ab115eeb7a4f860f2f65fa22ecf" + "1375b1e776a1204560cea95bc3a98ab4" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__y1", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "377c45c18dfafeb730838f75ea2f2889" + "c17f9317e90eb7f5665cfb52e73de535" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item__y2", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "719faecebc27352dda59f8f130f9aba6" + "189ecb1c644a488a0a866a3bd9d84694" ], [ "FStar.LexicographicOrdering.__proj__Right_lex__item___3", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" ], 0, - "249dd9c5803cfc085e37b493f7f5694e" + "9d9611cb97eaf8f068ee081eba09eb65" ], [ "FStar.LexicographicOrdering.lex_aux", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "7c623020d9fc4bebf84f71bb8c99378d" + "ebc08dd2b4072129d4222a77837f83aa" ], [ "FStar.LexicographicOrdering.lex_wf", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "303e137019225dc76e31d898b1e4c7d5" + "207b1476414064e924e3ab36001bed01" ], [ "FStar.LexicographicOrdering.lex", @@ -146,7 +146,7 @@ 1, [ "@query" ], 0, - "c2605a69ae164a448a5f5962bd153181" + "fe3c485cf08668f60c2ad90077a22fa9" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__x1", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "82a69f7df2cad7866ea16848c0b46d6c" + "aa425355dcdf8f74674219bec01d7fba" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__x2", @@ -170,7 +170,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "279150afae2a107098a983ac40b77e6d" + "bffb6f4672d8af1e69e088d6c955790c" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item__y", @@ -182,7 +182,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "79d1d4d077374b46e30e50ca0715d6ce" + "fb1c15346531436ed939a1941bcbd14d" ], [ "FStar.LexicographicOrdering.__proj__Left_sym__item___3", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" ], 0, - "f20aa5f75edfbef883780b6292362d6a" + "9a8fe52f8d602ddabb31052e80f4c564" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__x", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "99fd196eb5a4887d395a0520e0f3a6df" + "9da82a1a87aaa1e681f55af9bf22653b" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__y1", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "d45ca453194b11d86fbf04ce78db7ae7" + "46b17327c500115ea6d0e70036afaa40" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item__y2", @@ -232,7 +232,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "2a9f2a39311002468c4d1fdd7427d3b8" + "68a739a0f94a75f389ec3e9410c8b54b" ], [ "FStar.LexicographicOrdering.__proj__Right_sym__item___3", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" ], 0, - "873ea55447bd5163384457160ea32513" + "5db26e49a7233a00d24d46465ded5bd7" ], [ "FStar.LexicographicOrdering.sym_sub_lex", @@ -270,7 +270,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "6ec80ac4269becee1c560ba8836a0f97" + "393797fae0eb7c13d0557f34c9f60baa" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.List.Pure.Base.fst.hints b/ulib/.cache/FStar.List.Pure.Base.fst.hints index 1da429efb55..822fb54b860 100644 --- a/ulib/.cache/FStar.List.Pure.Base.fst.hints +++ b/ulib/.cache/FStar.List.Pure.Base.fst.hints @@ -34,7 +34,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "849968a7bfa6b35338db8040e39d6b02" + "9080a13d567709b005214c616bda21cf" ], [ "FStar.List.Pure.Base.map3", @@ -73,7 +73,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "44f8cf0f665e18a05ae2be9fe01de3e6" + "2db4eb67f3b41cb3b378d9ac7a1c0422" ], [ "FStar.List.Pure.Base.zip", @@ -82,7 +82,7 @@ 1, [ "@query" ], 0, - "97279e8ed112eb8ddb8fbe4675834a81" + "23893ac0090d953a1af4c23e1fe024df" ], [ "FStar.List.Pure.Base.zip3", @@ -91,7 +91,7 @@ 1, [ "@query" ], 0, - "7cb269a19ddd04584d4bee15f2ada5bf" + "a4b695e38ca6dd3efb98ca55fabbc16c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.List.Pure.Properties.fst.hints b/ulib/.cache/FStar.List.Pure.Properties.fst.hints index 389b3010166..9ad6ef9beb5 100644 --- a/ulib/.cache/FStar.List.Pure.Properties.fst.hints +++ b/ulib/.cache/FStar.List.Pure.Properties.fst.hints @@ -40,7 +40,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ca7a8fa4acbda7488cd2d6fd72dbf41e" + "f48ec957a484e1f6630532a7e42e9cea" ], [ "FStar.List.Pure.Properties.splitAt_assoc", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c0112ce7776cf8015a2ad2d26165fca7" + "4e8e2e6abb4b8b1a0385a2b2e3229fd7" ], [ "FStar.List.Pure.Properties.splitAt_assoc", @@ -95,7 +95,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "2c81eaf855c5b0f1d50caae0b1b665e3" + "beae62527c71e6924a6f986c45f63d9c" ], [ "FStar.List.Pure.Properties.splitAt_length_total", @@ -131,7 +131,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "a2816a84fd8e618c2b0d106c66d1e58b" + "05055bd6d131145b8349374694656500" ], [ "FStar.List.Pure.Properties.lemma_splitAt_append", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ba949a1f2c6a428157395a53bbf32bc" + "9c0e7d70ad9bad130254a8d3b1c9ea20" ], [ "FStar.List.Pure.Properties.lemma_splitAt_append", @@ -192,7 +192,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "7e24bc6a56fdd3033efb87afaaec7a8b" + "fd5af59ec51522749ef29d73244691b8" ], [ "FStar.List.Pure.Properties.lemma_append_splitAt", @@ -234,7 +234,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "f78ee92f373e6335b573a9f02e7e6a19" + "3a668e0d931f6604b78b19f42d59f4ed" ], [ "FStar.List.Pure.Properties.lemma_splitAt", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0" ], 0, - "6eb1f2801cc6cd00487c23147b759072" + "0e208537ad82ec0921e56000c5c80d51" ], [ "FStar.List.Pure.Properties.lemma_splitAt_index_hd", @@ -274,7 +274,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "3c352633b228e14ff3e318469db6f4ee" + "a4b3498f1cae4736af4bb6a86fed68fd" ], [ "FStar.List.Pure.Properties.lemma_splitAt_index_hd", @@ -317,7 +317,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "ad89d369abc8217bb620a156f37843f9" + "0743a9dcd2f32f54bb42b0c5cd5e941f" ], [ "FStar.List.Pure.Properties.lemma_splitAt_shorten_left", @@ -359,7 +359,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "93c3f21205cd4ee0165248238b354db9" + "1be8a81fc76313ba20f67b210df58789" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_58a1d94ee8899023c3603d47865a9826" ], 0, - "c8d8a34a86f73b7000cafbc29bdc3e17" + "27a868a1edc7b71d6cc305f504401137" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", @@ -424,7 +424,7 @@ "typing_FStar.List.Tot.Base.splitAt", "well-founded-ordering-on-nat" ], 0, - "d4d8a43e7c96773987b46e447fcbbd58" + "f79c0eea70b78a9b5d0a61c123728ef2" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", @@ -439,7 +439,7 @@ "refinement_interpretation_Tm_refine_d17e15dbf743aeafe956343cbf08ff34" ], 0, - "752de8e93ce23e5cb05938a86a6240cf" + "8ae185957ffbc2828f52530b48cdceeb" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", @@ -480,7 +480,7 @@ "well-founded-ordering-on-nat" ], 0, - "6e41eaedcebde41af14d44cb63d0e315" + "5539b9c5953ecf69ccc2df6adea2131a" ], [ "FStar.List.Pure.Properties.lemma_split3_append", @@ -510,7 +510,7 @@ "typing_FStar.List.Tot.Base.split3" ], 0, - "053539afb6f78c5626b17713b71b1453" + "f722eef32a1fa2e3e250cdf1de9fe122" ], [ "FStar.List.Pure.Properties.lemma_split3_index", @@ -527,7 +527,7 @@ "typing_FStar.List.Tot.Base.split3" ], 0, - "077e27903b5b87db0f957f963a2b8dc6" + "ed820b3b777a5eb2cc93100a58a4095c" ], [ "FStar.List.Pure.Properties.lemma_split3_length", @@ -572,7 +572,7 @@ "typing_FStar.List.Tot.Base.splitAt" ], 0, - "daf13d1895ae01d42a1209c4b4b8eddc" + "d1f4a1344b8ccd54c76301cf9f5b2a34" ], [ "FStar.List.Pure.Properties.lemma_split3_on_same_leftprefix", @@ -604,7 +604,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "61aacec9d3b8b8ec69c12a40c6ad9d45" + "c34ef8ed1a72b1a73033cce80f7b459f" ], [ "FStar.List.Pure.Properties.lemma_split3_unsnoc", @@ -619,7 +619,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "87b684dc0731efa0a5a00de4c2cd597b" + "9cd7d6926c50f7ff53188bf9dccadf9b" ], [ "FStar.List.Pure.Properties.lemma_split3_unsnoc", @@ -677,7 +677,7 @@ "typing_FStar.List.Tot.Base.unsnoc" ], 0, - "3090fa3233df8cb903a9bd4d68f0b771" + "da003753e95bfee0da9edd85c7cafe20" ], [ "FStar.List.Pure.Properties.lemma_unsnoc_split3", @@ -700,7 +700,7 @@ "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" ], 0, - "f34944eaa8c0117cfeaa7384d711f3f3" + "1ab85d102664dd6d3ccb278f2fc25a59" ], [ "FStar.List.Pure.Properties.lemma_split3_r_hd", @@ -722,7 +722,7 @@ "refinement_interpretation_Tm_refine_6f44f956d5add9e45e38c0de9b1e7367" ], 0, - "23e9a4813113277063c4ad441b82d325" + "3a8c648d8b1ecac26d5645fe8c1d5abe" ], [ "FStar.List.Pure.Properties.lemma_split3_r_hd", @@ -765,7 +765,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.split3" ], 0, - "b883d9b6f1359d5f7fe7c952cfadcb94" + "114cd9e12765223ba0cc28f5a453e8d8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.List.Tot.Base.fst.hints b/ulib/.cache/FStar.List.Tot.Base.fst.hints index 17d122f082c..916a479662f 100644 --- a/ulib/.cache/FStar.List.Tot.Base.fst.hints +++ b/ulib/.cache/FStar.List.Tot.Base.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "1b5b76a3657ffc437b56137a61b22a47" + "d2f7851a8507c19944fb00accc55d22f" ], [ "FStar.List.Tot.Base.tail", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "0b738326cd53ab3e85f3ca1e16510049" + "e89f828e144a96e64d96cd674a8a8ec9" ], [ "FStar.List.Tot.Base.last", @@ -43,7 +43,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "651039624613072b71dba355425ee332" + "bc1bb1d7a7479266fe1bc1c39560485d" ], [ "FStar.List.Tot.Base.init", @@ -61,7 +61,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3e5db14df1bcb099beaf2f8f2549dadc" + "bea8dafd84888415ce202151dac0014e" ], [ "FStar.List.Tot.Base.length", @@ -78,7 +78,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "12af891fbff6e4d9ac420c806fdef3e3" + "65a2888e82ec742fe3eab6a4aa8af182" ], [ "FStar.List.Tot.Base.nth", @@ -99,7 +99,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "963e0e4db3f05c5c8c61dfecd0e2290b" + "deffb88b89181c6f461e390df4772b3c" ], [ "FStar.List.Tot.Base.index", @@ -129,7 +129,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "4b3298661b2593ce1e78a17fa85aecb0" + "65a700beee2ee19642fa21376d386a3f" ], [ "FStar.List.Tot.Base.count", @@ -149,7 +149,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "192547149a59f2c1c0b1384042504a87" + "a13cc71837edcc0788365e19ef5226d1" ], [ "FStar.List.Tot.Base.rev_acc", @@ -163,7 +163,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "54cfd28b64089aa24d4b2efdd6f07211" + "df33aa2d02e63db48dc7ed2fa8dd6240" ], [ "FStar.List.Tot.Base.append", @@ -177,7 +177,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b9529069c2d951802c43c4b0a2432c7b" + "98f703bd55d0e496b6d33194f451467b" ], [ "FStar.List.Tot.Base.flatten", @@ -191,7 +191,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "3538ecb7af1f4d539e9c7892a0cfffa8" + "b17bdcf4b7c7a2567e8affcf9d3a05c6" ], [ "FStar.List.Tot.Base.map", @@ -205,7 +205,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f5cbed23447279c9b96950c4eb47d9e3" + "b78f52c51b4ba6894f36d4a69475cb23" ], [ "FStar.List.Tot.Base.mapi_init", @@ -219,7 +219,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "250316088e2205d9b9802b47f97112c1" + "424a1145d5487e8e1daedfd48d21fb55" ], [ "FStar.List.Tot.Base.concatMap", @@ -233,7 +233,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b108bd87110effd3b5375b0540de2e7c" + "7d6542f7a8e06031c161800178f0c6fa" ], [ "FStar.List.Tot.Base.fold_left", @@ -248,7 +248,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b373fd89ba712c849f2ea0f97c7225a5" + "962b378ec3d152c93a3fc71b62ec45f7" ], [ "FStar.List.Tot.Base.fold_right", @@ -262,7 +262,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "eca261ff1a6a43f6d255257953287f2a" + "00809d74200575c011aa58f882ee2fbf" ], [ "FStar.List.Tot.Base.fold_right_gtot", @@ -276,7 +276,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7961fbb395c43cf4857447a72ca11754" + "bbea9b3d657847efa869ca1a434d409d" ], [ "FStar.List.Tot.Base.fold_left2", @@ -312,7 +312,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "2b5bdc1432e66d9be7ed3654760f7126" + "e7fcba5a8736ea41ba4a284d3efe8727" ], [ "FStar.List.Tot.Base.memP", @@ -328,7 +328,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "5b6caf8244cd162af0a776e867bfd4a9" + "3833f7d264cf2d1a61a3fd2bea46f1d4" ], [ "FStar.List.Tot.Base.mem", @@ -344,7 +344,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "265fd39882cc4b0c24e89b052644cb25" + "6c37f718ab249a18dd9a3660a27451cd" ], [ "FStar.List.Tot.Base.existsb", @@ -358,7 +358,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "10e31559712c4f928d0d5f5d63a58b73" + "cd4ddb1b29fda0dc1917a275ab2b8e3a" ], [ "FStar.List.Tot.Base.find", @@ -373,7 +373,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "36dacdbbc9271c298fe15f5b27532123" + "4a7a89c91e59304ea4ebbcddcd3f2109" ], [ "FStar.List.Tot.Base.filter", @@ -402,7 +402,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b82454f9b7800d4729ceda057adae0c2" + "797eab81749ff0607f933dde1c857642" ], [ "FStar.List.Tot.Base.mem_filter", @@ -417,7 +417,7 @@ "typing_FStar.List.Tot.Base.filter" ], 0, - "156af3689e30d868aff31612d5f454e8" + "5e53be5c20616bf8440391839f3abd9f" ], [ "FStar.List.Tot.Base.for_all", @@ -431,7 +431,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e5ae79cdccec2b396d6b676ee67d9411" + "6472a82fa7f7fec4b23a23bdc8619d0c" ], [ "FStar.List.Tot.Base.for_all_mem", @@ -463,7 +463,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all" ], 0, - "3944b5b3fbd51f4a54c9f4c13963808a" + "462393223df68cf4d5cf7a6af78d94f9" ], [ "FStar.List.Tot.Base.collect", @@ -477,7 +477,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "feebce19174f1f04fd92826a1f32a0e9" + "4bc5939ddf319fdb2356beee3a2336a1" ], [ "FStar.List.Tot.Base.tryFind", @@ -491,7 +491,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "28c837d0deeaac08ba498393eaeb6a19" + "af10ef034b501cb445bf5eda841b19f9" ], [ "FStar.List.Tot.Base.tryPick", @@ -513,7 +513,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "4644609c245d1a50e6753e080265365f" + "44641a13d6f77de343d909b0b431396b" ], [ "FStar.List.Tot.Base.choose", @@ -535,7 +535,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "595ce43ca986e7f150f2f12ee94edf6c" + "86288ded3171e3268bc4b2581332ab5e" ], [ "FStar.List.Tot.Base.partition", @@ -549,7 +549,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "47265799718abbca95132f41192b6249" + "2587bd240f4b81cde8239b0d4409029c" ], [ "FStar.List.Tot.Base.subset", @@ -565,7 +565,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "b2bf6409c44098cc7f6da2db0672ff87" + "547d459786db1cc2adc99ea60999f274" ], [ "FStar.List.Tot.Base.noRepeats", @@ -581,7 +581,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "c8b6d518e6767e48eec39afb5ab207b1" + "6efb8eff22409412fd70fbfc03389cfc" ], [ "FStar.List.Tot.Base.no_repeats_p", @@ -604,7 +604,7 @@ "unit_typing" ], 0, - "9504ea04489081e279da757366cf61d8" + "c40b07fd837dc3abc5c0f9a1558160b4" ], [ "FStar.List.Tot.Base.assoc", @@ -620,7 +620,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "eb671408db5e37bec6b95d9dcdae4b59" + "e3bc58c1a3bf5ba04e4870eddb21d5c7" ], [ "FStar.List.Tot.Base.split", @@ -634,7 +634,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c7a3b7ff06156708b3fc24f447279099" + "9146eccc8187ec74b1b114513c2678b4" ], [ "FStar.List.Tot.Base.unzip3", @@ -648,7 +648,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "678ae6dee184ca4f999b2a6c53753cbc" + "15bdb54f4672a84661d046f89682f8b9" ], [ "FStar.List.Tot.Base.splitAt", @@ -667,7 +667,7 @@ "well-founded-ordering-on-nat" ], 0, - "de524bcbd0a5397dddcef154b4a4501a" + "fd0bc38b01a9ec22d7c91147c025e3bd" ], [ "FStar.List.Tot.Base.lemma_splitAt_snd_length", @@ -705,7 +705,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "0284759e853eaca6eb595ff010534bfd" + "5af5b87162ee0bf8b95af1d82d2b1f1f" ], [ "FStar.List.Tot.Base.unsnoc", @@ -728,7 +728,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "a895d7812d95a759daadf5969a453441" + "2649616849a961caa06349864eb781f5" ], [ "FStar.List.Tot.Base.split3", @@ -751,7 +751,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "ec2ad19bc4336df2ff2604b89bf4526f" + "80757a529d38574fc54a07f66b2e214b" ], [ "FStar.List.Tot.Base.partition_length", @@ -793,7 +793,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "abc65eb6bc76c34efa33981f6ae44b79" + "4722b0337feb6db37218c46e446f8f39" ], [ "FStar.List.Tot.Base.compare_of_bool_of_compare", @@ -809,7 +809,7 @@ "token_correspondence_FStar.List.Tot.Base.compare_of_bool" ], 0, - "3c4ab2701cc47ffd1109cd570f96e4ed" + "0fea68316d9e4f725b1a3d4238731397" ], [ "FStar.List.Tot.Base.sortWith", @@ -841,7 +841,7 @@ "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "942ac7f004ff6b7e1e475c0a13eaf72a" + "ba526ac9d9e9e90c07a7a00f5750d87b" ], [ "FStar.List.Tot.Base.strict_suffix_of", @@ -856,7 +856,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "a2c7f826e82d6037e231afdf6e8b0cf7" + "8799cea8430bf8ba226734d2169ce887" ], [ "FStar.List.Tot.Base.list_unref", @@ -870,7 +870,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6b5642a9c57975eb15b6f1aa2c4f4571" + "69e5e00a46be5cdc829913a29052c0c9" ], [ "FStar.List.Tot.Base.list_refb", @@ -884,7 +884,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "337de5496a712306afb9e59bc463f63f" + "56fede7eadaa6b82a6eba86f7bd71d98" ], [ "FStar.List.Tot.Base.list_refb", @@ -898,7 +898,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6df60266c8cc20b16cd08df119116712" + "f8b6c5a0667a76d6d8dd55016a1099e2" ], [ "FStar.List.Tot.Base.list_refb", @@ -952,7 +952,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all" ], 0, - "ecb91cc96cb9115633a0fcf7c21c76ef" + "fd549a107a1c9ddc30f6d264b8d7dd4f" ], [ "FStar.List.Tot.Base.list_ref", @@ -966,7 +966,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3348f4295a18b7c07b002f1518e986d6" + "5128c3ab41274d1efd2ccbfee1fc2d60" ], [ "FStar.List.Tot.Base.list_ref", @@ -980,7 +980,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3cc67e7c6ac6b1bbe8552c63500d9c9f" + "043c6a1ff5153e614876535a0a1fbe62" ], [ "FStar.List.Tot.Base.list_ref", @@ -1030,7 +1030,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "03c206c8b5021300b9b502182f2ab81c" + "8a1ac335b0056a6c2eadfc4e5d5adb9c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.List.Tot.Properties.fst.hints b/ulib/.cache/FStar.List.Tot.Properties.fst.hints index 404034ebd9b..1e68f33b9b5 100644 --- a/ulib/.cache/FStar.List.Tot.Properties.fst.hints +++ b/ulib/.cache/FStar.List.Tot.Properties.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "460cc51215da4dcba1acd622027c2247" + "d78bbd5bfb9cd5f4105137fca9857d21" ], [ "FStar.List.Tot.Properties.mem_memP", @@ -43,7 +43,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "c033c47195658817d6218298c69322de" + "c02542312ec926ac77a93796e94cbe5c" ], [ "FStar.List.Tot.Properties.lemma_index_memP", @@ -52,7 +52,7 @@ 1, [ "@query" ], 0, - "8847b9138c8ccdabb2dbad23d1b18865" + "62192317b19aa406ef5524beb9cb64df" ], [ "FStar.List.Tot.Properties.lemma_index_memP", @@ -90,7 +90,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.index" ], 0, - "48b7f217ff2b203faa98f5914cdb2517" + "c3d099c540303b2c55db2b7eb68a90a6" ], [ "FStar.List.Tot.Properties.memP_empty", @@ -106,7 +106,7 @@ "false_interp", "projection_inverse_Prims.Nil_a" ], 0, - "f1f24415950da411dec84f4976ce41c0" + "1b47276a23db32152d3ea6bc9ffb34cb" ], [ "FStar.List.Tot.Properties.memP_existsb", @@ -139,7 +139,7 @@ "typing_FStar.List.Tot.Base.existsb" ], 0, - "219fc07dd476371eedc80209651aaeb0" + "39b696b284277d54f83a2c779f430f99" ], [ "FStar.List.Tot.Properties.memP_map_intro", @@ -172,7 +172,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "e14b09c05e6b395090ee202c6c23fda2" + "260011b95bcf066f6bb687b1f79f2f84" ], [ "FStar.List.Tot.Properties.memP_map_elim", @@ -205,7 +205,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "e0b086e050efe7492df292abbefb58bb" + "7ba9a17c833e7c7073d0fccac67c2607" ], [ "FStar.List.Tot.Properties.mem_empty", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "01ccacf397869ec243ea52472e3383d7" + "c46a165e1a6ed6d7581f23b18b59ecaa" ], [ "FStar.List.Tot.Properties.mem_existsb", @@ -258,7 +258,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "16e870f63db55012f793df6d9ed74793" + "bf1673ddce534c2092747ded58a69d10" ], [ "FStar.List.Tot.Properties.mem_count", @@ -291,7 +291,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "79cb981d75ba4fffd2ab9a7565a04bba" + "5640496c46e46d210d0b3118a7f5e115" ], [ "FStar.List.Tot.Properties.rev_acc_length", @@ -329,7 +329,7 @@ "typing_FStar.List.Tot.Base.rev_acc" ], 0, - "7f256191c3f1414d84215d732a629413" + "ac2de78b6db7ba7bfb611258cb05d1f7" ], [ "FStar.List.Tot.Properties.rev_length", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52fa47b09ca5326cb678477294aeec7b" + "4db33e7c8e0dfab44092105e04be8b5c" ], [ "FStar.List.Tot.Properties.rev_length", @@ -363,7 +363,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "b40d399ee34b16f73677b242f9d81627" + "17f1e49437d7c35e17881a7545c624b5" ], [ "FStar.List.Tot.Properties.rev_acc_memP", @@ -393,7 +393,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "c77bd41d0af38498b2ba3ff166512b37" + "ff1169e170b9b0abc7af84ac2faf04e0" ], [ "FStar.List.Tot.Properties.rev_memP", @@ -410,7 +410,7 @@ "false_interp", "projection_inverse_Prims.Nil_a" ], 0, - "a9c7ff9fc4cb26b09103e84b84ec30be" + "2528da0bd0a02ac89dd66283e391930b" ], [ "FStar.List.Tot.Properties.rev_mem", @@ -429,7 +429,7 @@ "typing_FStar.List.Tot.Base.rev" ], 0, - "3b0c4afc7a52abd2e926b1d8319cc416" + "98e0bcb5212b5e6d8b828babd0bedde3" ], [ "FStar.List.Tot.Properties.append_nil_l", @@ -446,7 +446,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "92ff085bdf9bb6c9f4cc6193867c892f" + "118c220d91ff2f5d3eee5b9364a4df88" ], [ "FStar.List.Tot.Properties.append_l_nil", @@ -470,7 +470,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "eb424cda4ba6f99c65f0505867f1c154" + "8747873fccb4e038f810342275671e17" ], [ "FStar.List.Tot.Properties.append_cons_l", @@ -493,7 +493,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "193401cf57aa0648c46e1341ff6fdf79" + "f1f7d0772b65ca19ecb32627b5556140" ], [ "FStar.List.Tot.Properties.append_l_cons", @@ -523,7 +523,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "8217357c6e840e2b2fdb423274e20d91" + "67c70de631b07fcb10a69ba70b8d1bd5" ], [ "FStar.List.Tot.Properties.append_assoc", @@ -550,7 +550,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "1b1d1367e3bf8a17f502b45181c167a5" + "41e591c2c5655d3b606919cde67fcfdf" ], [ "FStar.List.Tot.Properties.append_length", @@ -586,7 +586,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "e5f27955119e097c7e00a2c3688480da" + "c68f942191fdea14da3ae84619624aec" ], [ "FStar.List.Tot.Properties.append_mem", @@ -620,7 +620,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "716b6091a0ba78a8bb1ebf3cb4cc2956" + "b3303c93964571d75b5aa4fcb942d50d" ], [ "FStar.List.Tot.Properties.append_mem_forall", @@ -653,7 +653,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "7636978984a8b436c73a04bd65f52513" + "77e87daaaa56629ba9611ed2775ce093" ], [ "FStar.List.Tot.Properties.append_count", @@ -689,7 +689,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "45d31eb6794b234ea5229155de2ad575" + "dafbaeaacff47b4c5911ce98de7769ed" ], [ "FStar.List.Tot.Properties.append_count_forall", @@ -724,7 +724,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "8c1f3b82a93eaa543d9a02f5ffe4cad2" + "95851708213983af94e35b570e0b96c4" ], [ "FStar.List.Tot.Properties.append_eq_nil", @@ -742,7 +742,7 @@ "lemma_FStar.List.Tot.Properties.append_l_nil" ], 0, - "48fd4e8ef248ec82d8dfe8f9a22b7a0b" + "9cca5893154982774e8308a732c75acb" ], [ "FStar.List.Tot.Properties.append_eq_singl", @@ -761,7 +761,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "162b8a87a316d17e98cf4d8ade5ed8cc" + "1b8dfcbdd1052b3670ae5ab5f6fe75df" ], [ "FStar.List.Tot.Properties.append_inv_head", @@ -786,7 +786,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "98425b0318bdd84fb48801fb6815be67" + "aec4aedd153d9b3fb4afe2c25b84a615" ], [ "FStar.List.Tot.Properties.append_inv_tail", @@ -821,7 +821,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "13f375b0c6cc1e530eb7bacd4579c757" + "3e933a69e9652a64fef6b249fad9339a" ], [ "FStar.List.Tot.Properties.append_length_inv_head", @@ -857,7 +857,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "8b8c05383d8716ca321508548215ac82" + "73f4c91e3fa4b8200666674fd333492e" ], [ "FStar.List.Tot.Properties.append_length_inv_tail", @@ -875,7 +875,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "c0aebd776cd4141795b5b18c3bfa9745" + "5ae7653ac1be27f481edf6d47bbc4748" ], [ "FStar.List.Tot.Properties.append_injective", @@ -889,7 +889,7 @@ "refinement_interpretation_Tm_refine_c132562d494d9c9a502c2283b2f03e18" ], 0, - "a0cd4c86d785b96223f16f4fbd944317" + "73701827587d7d99d84e011d26cc98c6" ], [ "FStar.List.Tot.Properties.lemma_append_last", @@ -921,7 +921,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "37945e0663c88e4294584e25e0406e65" + "972b4642a1d19212d5aba49a6f8f7eb9" ], [ "FStar.List.Tot.Properties.lemma_append_last", @@ -962,7 +962,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "529443265b003c5688d8993c0d933368" + "0ccab2bf95f99991f5af58e49f5fedf3" ], [ "FStar.List.Tot.Properties.rev'", @@ -976,7 +976,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9f28b9298f0c648f2e0c4f445d76c7ff" + "24eae91212e1c3899b649068f8af7232" ], [ "FStar.List.Tot.Properties.rev_acc_rev'", @@ -1007,7 +1007,7 @@ "token_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented" ], 0, - "9b684c7f3d51b49a0b9cd7a4f6dd95d7" + "34692f28d243e0a2335ba5f5da913c22" ], [ "FStar.List.Tot.Properties.rev_rev'", @@ -1016,7 +1016,7 @@ 1, [ "@query", "equation_FStar.List.Tot.Base.rev" ], 0, - "49d94d91ff38222436533b171e80ee94" + "a9ccba63028686c123f782bfa182ccae" ], [ "FStar.List.Tot.Properties.rev'_append", @@ -1044,7 +1044,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "3f38d9e06054fd5ebd8cc6ef7a5197df" + "110c61f0110ccc8a05a71a4e089b87d6" ], [ "FStar.List.Tot.Properties.rev_append", @@ -1053,7 +1053,7 @@ 1, [ "@query" ], 0, - "72e79572df068a846b9841ab1a23a788" + "97c3b468bc08c01d97a11dd781efc64a" ], [ "FStar.List.Tot.Properties.rev'_involutive", @@ -1081,7 +1081,7 @@ "typing_FStar.List.Tot.Properties.rev_" ], 0, - "e249ad5a75d5c21ffaec4e3cfceae1d4" + "e1001a5103bbfb1131918efcad3d2457" ], [ "FStar.List.Tot.Properties.rev_involutive", @@ -1090,7 +1090,7 @@ 1, [ "@query" ], 0, - "ea23d88c238ff559c5ca635568f4c327" + "3d5c81fcb52c9405505fadb51112424a" ], [ "FStar.List.Tot.Properties.lemma_snoc_length", @@ -1128,7 +1128,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "72696833cb55e3d692b387482dd8f701" + "7dc58d6e701634d720d91d582f19f22c" ], [ "FStar.List.Tot.Properties.rev'_list_ind", @@ -1151,7 +1151,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "d7abdc76368aa027839fd73bd6679ffd" + "0f6a0f8dbd3345b36d17eb844f2184bd" ], [ "FStar.List.Tot.Properties.rev_ind", @@ -1171,7 +1171,7 @@ "typing_FStar.List.Tot.Properties.rev_" ], 0, - "e1a1a42208066dcf6fc7e4644bf7fc41" + "bf38fafd1fec1839d042fab8c7ad5d9c" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -1185,7 +1185,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5d5292e55073fe3ddbcb86d39b44ec1" + "70956841a9f3e0afcbc4db8f5e578ed9" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -1199,7 +1199,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0ce9d0b43145bb297167c1f73ee9a0d" + "85ee2ca3a7f3580deeb32ae3bd182536" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -1231,7 +1231,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "abf2b9544531e40b4edbf603c50d1faa" + "44d084b3be73f33abf1aa2d3720a58b4" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_snoc", @@ -1282,7 +1282,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "c85904033e5c6f0f2dd6bc0a683bd5da" + "33f9b7ab4b24e56f5cca0e1d73b70cee" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1311,7 +1311,7 @@ "typing_FStar.List.Tot.Base.snoc" ], 0, - "d0258345deb9974ac6ec0ed06c371021" + "aced893a5816f20dbe1ff92b90ac5950" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1339,8 +1339,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_4d85385c7f765f5fd908b087ae38ae41", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e24ed98dd450521cff346349e7cb671a", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", @@ -1348,7 +1348,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "d1a3e8c77c00e2fab12b3e0a0012ee2b" + "27913d1ead42c0c4c472793027ca7e29" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1401,7 +1401,7 @@ "typing_FStar.Pervasives.Native.fst", "well-founded-ordering-on-nat" ], 0, - "929df6c37625422eaa42124846d92800" + "a512e06a78d0b7a4d545ca1cb28a86b2" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_length", @@ -1425,7 +1425,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "4e5308e86e78f8f32d877ba5c3caa638" + "463c0c5896656f8ed4e2d998d39a8bad" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_append", @@ -1448,7 +1448,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "003b52d0a220dbbf067974d92c3accab" + "46be9a3da64e3ae7afbbaef9ddc71171" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_append", @@ -1501,7 +1501,7 @@ "typing_FStar.List.Tot.Base.unsnoc" ], 0, - "bd00425876573822282ab599e85e0c60" + "3293c56e8cabfe29bea04a0b8cdcce3c" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_is_last", @@ -1522,7 +1522,7 @@ "refinement_interpretation_Tm_refine_3a16ec67ef3f6d54255ce24dc5db8bd8" ], 0, - "3b0675416a2970591f3746867e8c264c" + "3863b19b9e626d60229f4c3bbf7e306a" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_is_last", @@ -1577,7 +1577,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "41a02adc3a5a4a801b56e1e6da23d91f" + "b5b8e1ee4a43ed151a56ff7bb71e9c9f" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_index", @@ -1590,7 +1590,7 @@ "refinement_interpretation_Tm_refine_fb6d98353fc6ed0aba92d28b4fdb0875" ], 0, - "e95d9fe137721bfca411dbc8d0f1be0d" + "3e5d08590af8407e78a4f443fb410858" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_index", @@ -1641,7 +1641,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "4602206917671d8efab85a6e5b0022ea" + "17b614f291733dfbd531fef1a5527832" ], [ "FStar.List.Tot.Properties.split_using", @@ -1666,7 +1666,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "377ba043618c9939522087a4ab5f3fb7" + "710ddbd9c584ed6f8c19752e3eb27f15" ], [ "FStar.List.Tot.Properties.lemma_split_using", @@ -1684,7 +1684,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "f8d02b769acf988fb04e046546762899" + "c1693e4c6d39a673b43ff017610f31f4" ], [ "FStar.List.Tot.Properties.lemma_split_using", @@ -1735,7 +1735,7 @@ "typing_Prims.eq2", "typing_Prims.squash" ], 0, - "426d543f4c94ac1557d8f29a6b5d1fdd" + "2f9f07028a0bcdd7cae4b6e890442929" ], [ "FStar.List.Tot.Properties.index_of", @@ -1781,7 +1781,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "7988c37d106808166bfe74581dd6a298" + "cd855fa1480fa686f984dd67017e277e" ], [ "FStar.List.Tot.Properties.partition_mem", @@ -1820,7 +1820,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "43166f5d9d9da2fc37012271f8f7d86c" + "4df8439318cc15bda9ce9a6af9bcd4a9" ], [ "FStar.List.Tot.Properties.partition_mem_forall", @@ -1858,7 +1858,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "8eb7b07e7679e3a29de05a96442c24d3" + "40390ab419a7cd0dc675e2484f71a0b7" ], [ "FStar.List.Tot.Properties.partition_mem_p_forall", @@ -1899,7 +1899,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "b8d5dc3ced5e7ead0766fe9662787358" + "1bee47f0323e0dd928a4bbf0317ee441" ], [ "FStar.List.Tot.Properties.partition_count", @@ -1946,7 +1946,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "bd8e67af1c6211820b070e49f47c90f7" + "14e0d01b58b67c2bfe0adf623b0aa84e" ], [ "FStar.List.Tot.Properties.partition_count_forall", @@ -1992,7 +1992,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "ccd3af5d9a6da25483ef898303a963d1" + "51c47bca956e4fea3a0c54df8dff45d7" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -2006,7 +2006,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "91adbb906e9468a33e14b83d35517eb2" + "d61a6558c96d55b0997722aff1557061" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -2020,7 +2020,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d22f2f36a6acd9c2c4a047fa3701141" + "72e41f3644dca59a4a108fa4051cef53" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -2076,7 +2076,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "c74caa2150f9ad6d1980baeaf5c51b47" + "5094e827a20ff4f118c65862373c618e" ], [ "FStar.List.Tot.Properties.sorted", @@ -2094,7 +2094,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "8eeba21a4de81879f57439ce11ad944c" + "7bb84a654c38d93d4fea5f06223d82e6" ], [ "FStar.List.Tot.Properties.append_sorted", @@ -2140,7 +2140,7 @@ "typing_FStar.List.Tot.Properties.sorted" ], 0, - "0da8c2225cece92ba8bc810118e84c99" + "bdf4519c06df55539ec72142914338a6" ], [ "FStar.List.Tot.Properties.sortWith_sorted", @@ -2203,7 +2203,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "487222a0e6df7ab824581b86c5494b69" + "ffeb3900211d549a1d19cf89b9d38576" ], [ "FStar.List.Tot.Properties.noRepeats_nil", @@ -2221,7 +2221,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32620ec53038ab9ea531a61e16661905" + "a3cb3f68f6b0b76470489b853915632c" ], [ "FStar.List.Tot.Properties.noRepeats_cons", @@ -2246,7 +2246,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "47ef73595589cefe1f02e200face3789" + "75e5e3749a634f2bb65e45256830b4d8" ], [ "FStar.List.Tot.Properties.noRepeats_append_elim", @@ -2286,7 +2286,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "f46fe0619a1d3c29cc84a38f1318faee" + "2abdfcc88cff485627af18abae74642e" ], [ "FStar.List.Tot.Properties.noRepeats_append_intro", @@ -2326,7 +2326,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "9e9409ffcea273bc8d49e2dd00ed6401" + "38f12e04eb8780c42c5015d8812ca990" ], [ "FStar.List.Tot.Properties.assoc_nil", @@ -2344,7 +2344,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2a4f73809ddf5a681a242577a241be0" + "d9870dd84910310e8660b66945f28cda" ], [ "FStar.List.Tot.Properties.assoc_cons_eq", @@ -2368,7 +2368,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12c5e38f2aa219dcb638789386ab6ab1" + "4b96d267241dd1414f7ff18acc3f468b" ], [ "FStar.List.Tot.Properties.assoc_cons_not_eq", @@ -2392,7 +2392,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6e7764014fac197b361db07c7d699a5" + "ae71e3f90c4d1050e29396aaef0dc641" ], [ "FStar.List.Tot.Properties.assoc_append_elim_r", @@ -2430,7 +2430,7 @@ "typing_FStar.List.Tot.Base.op_At", "unit_inversion", "unit_typing" ], 0, - "35023b0dae5bf99cd6a801da7130514c" + "e8e13d2afc309a83643915a7f5c48d72" ], [ "FStar.List.Tot.Properties.assoc_append_elim_l", @@ -2468,7 +2468,7 @@ "unit_inversion", "unit_typing" ], 0, - "7a0d4f10ff80f54afb8782515271d71f" + "fba1d814c792bf094cc51311631600d6" ], [ "FStar.List.Tot.Properties.assoc_memP_some", @@ -2507,7 +2507,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "4bc45ae7a37af9c7f3a3d658d1b40d20" + "4ff577248b44d67e73afb07d2b36b33d" ], [ "FStar.List.Tot.Properties.assoc_memP_none", @@ -2544,7 +2544,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "e842971df4c783c84464551168861247" + "37a31fed30ff17ce0813579bcd2f9fb1" ], [ "FStar.List.Tot.Properties.assoc_mem", @@ -2570,7 +2570,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "68006f9e2136c6dc3f7631d0c0c6ea61" + "429cb9330dec6fe69622090cda000456" ], [ "FStar.List.Tot.Properties.fold_left_invar", @@ -2601,7 +2601,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "fa3edae991c0715b00e3f096ec54851a" + "92114595c9a5026838c90b4fdb49a8cd" ], [ "FStar.List.Tot.Properties.fold_left_map", @@ -2639,7 +2639,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "cd25ef99f01e432078c0f809156f2c61" + "fbecebe4429b154e3124e8fe741bb06e" ], [ "FStar.List.Tot.Properties.map_append", @@ -2674,7 +2674,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "4dce5ccc96d16a1b6c1f42d9277fd8f9" + "ad18b5d8fe0d6e738475341715bb9da4" ], [ "FStar.List.Tot.Properties.fold_left_append", @@ -2707,7 +2707,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "82065a6403ebbd6ab9072642b02728eb" + "e538dcc134733f6e63791bbe767ab75b" ], [ "FStar.List.Tot.Properties.fold_left_monoid", @@ -2737,7 +2737,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.fold_left" ], 0, - "79b954a3d06b2da45955de411728703f" + "ec61bb73a4cdc207cf1f41dcb92b77fe" ], [ "FStar.List.Tot.Properties.fold_left_append_monoid", @@ -2753,7 +2753,7 @@ "typing_FStar.List.Tot.Base.fold_left" ], 0, - "88d4a137d669b295e2cbf618cf543ea2" + "eacb1826cbf7091195a546e5837ceeee" ], [ "FStar.List.Tot.Properties.index_extensionality_aux", @@ -2765,7 +2765,7 @@ "refinement_interpretation_Tm_refine_3cf3f37474ba26d6b1bb1b3a555a65bd" ], 0, - "b13d59cf6e110082dc459f113368ee1e" + "21701476688a8205be194a15dd6c1ef8" ], [ "FStar.List.Tot.Properties.index_extensionality_aux", @@ -2812,7 +2812,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "798d3e44c434a4ec4a5561a308248196" + "132e894a1e3de0fd89c1775633bf6945" ], [ "FStar.List.Tot.Properties.index_extensionality", @@ -2824,7 +2824,7 @@ "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" ], 0, - "77f860cdf72ceb41335cd32f580e403c" + "0fa655697bbe324eeac6422aabf4755f" ], [ "FStar.List.Tot.Properties.strict_suffix_of_nil", @@ -2850,7 +2850,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "fbc4c970e0e57b9a52e4b469e155b78f" + "dece927f00750ac44b0e966bcead952e" ], [ "FStar.List.Tot.Properties.strict_suffix_of_or_eq_nil", @@ -2862,7 +2862,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "f89df3a4210e659e50949142215c8013" + "f3a69401e6d87569c0a8304aedc4bcf5" ], [ "FStar.List.Tot.Properties.strict_suffix_of_cons", @@ -2880,7 +2880,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "83a59ea93473e00300dbe8eaf044cabc" + "ead33236d56caca9afde005ee03a5031" ], [ "FStar.List.Tot.Properties.strict_suffix_of_trans", @@ -2906,7 +2906,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6393af327f515321bbb1603437c534a8" + "b0be902f3112aa53918549b739704854" ], [ "FStar.List.Tot.Properties.strict_suffix_of_correct", @@ -2931,7 +2931,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "459e7c16af0000fbf47a7d9f81a9a8bc" + "5ff8be46ddf233f2ce220acb06211dec" ], [ "FStar.List.Tot.Properties.map_strict_suffix_of", @@ -2964,7 +2964,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "96cfb1672fb12f8b24c4f0913f06243a" + "cfd2673848e3dd410777c1c00be053fd" ], [ "FStar.List.Tot.Properties.mem_strict_suffix_of", @@ -2995,7 +2995,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "6858b4c21eb02cd448ab390b3a5ab2a4" + "9cb7b421e364281ae7373626470f2ccf" ], [ "FStar.List.Tot.Properties.strict_suffix_of_exists_append", @@ -3029,7 +3029,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ed6004035f6ac0cf1d23f8b85e20e373" + "e3eadc5f02dc71ff6eab7fd95fa31b51" ], [ "FStar.List.Tot.Properties.strict_suffix_of_or_eq_exists_append", @@ -3047,7 +3047,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3ea99cac21b96c89c8a68bdb5e9b3252" + "cb183900ddd4481a769d2fdc21e52e6b" ], [ "FStar.List.Tot.Properties.precedes_tl", @@ -3063,7 +3063,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "bb2934ed992028b910ab11580cd8c619" + "2b084b3f9e8ea05b024fa7e83c1466b4" ], [ "FStar.List.Tot.Properties.precedes_append_cons_r", @@ -3089,7 +3089,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "f561f533cb7031e1055ee92c5c5f0f6e" + "0d5eca33f07576f54dad31219fb57c73" ], [ "FStar.List.Tot.Properties.precedes_append_cons_prod_r", @@ -3103,7 +3103,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "5f21ac55ae41720c3945218a64548c59" + "fedb620b7ee2a78bce4851842bbb35d8" ], [ "FStar.List.Tot.Properties.memP_precedes", @@ -3131,7 +3131,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "f930871de50924f8f6946b2816d790f8" + "ebabe12106a5b8a9cd2a9c5f9d62cd4f" ], [ "FStar.List.Tot.Properties.assoc_precedes", @@ -3185,7 +3185,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0efa190aa08179415fd31e436d9d5a8e" + "2d571baa63a0447f49d6c28bee8ce9e8" ], [ "FStar.List.Tot.Properties.append_init_last", @@ -3194,7 +3194,7 @@ 1, [ "@query" ], 0, - "6fad78b4dd3dd9769e1a4c99717c5379" + "f714f9ba7b6d0e44cbf563f61b86b79a" ], [ "FStar.List.Tot.Properties.append_init_last", @@ -3228,7 +3228,7 @@ "typing_FStar.List.Tot.Base.last" ], 0, - "5fe86fb09b797fb59f6fdc364db5ce91" + "f54b46c8cf241b52869be55a32878057" ], [ "FStar.List.Tot.Properties.init_last_def", @@ -3251,7 +3251,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "543ecee34c452d73ad794d4020ce2d4b" + "86f92c641789b2f01bdd2f1acc8cdbc9" ], [ "FStar.List.Tot.Properties.init_last_def", @@ -3285,7 +3285,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "ab73b4232606f17c8f3b5adaafa4aa04" + "ada80fde0be4fea6a7815bfeaaf1e1df" ], [ "FStar.List.Tot.Properties.init_last_inj", @@ -3294,7 +3294,7 @@ 1, [ "@query" ], 0, - "3be8f796dcf486d37cc14cbf61b93fe0" + "0b907c3fd32f30615c039eebc974998d" ], [ "FStar.List.Tot.Properties.for_all_append", @@ -3329,7 +3329,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "0f2925ae57e2efc69d7fe63016b74d3f" + "fc68c880dcf8860dd4778492c1d98862" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.List.fst.hints b/ulib/.cache/FStar.List.fst.hints index e5411b55b03..27cda6b1cd3 100644 --- a/ulib/.cache/FStar.List.fst.hints +++ b/ulib/.cache/FStar.List.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "61a1797966c216ddeb12ee1153e5e731" + "088a63413c1d75f703ccc5c4d251afd4" ], [ "FStar.List.iter", @@ -23,7 +23,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "54777b5bd530d11d5150a428707c2756" + "6147327d8ba9ad289ecf1f9db656e657" ], [ "FStar.List.iteri_aux", @@ -35,7 +35,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "7a33f2a1addb3366a18052ecb2dcc9d8" + "2b1e4b8e014c058511a26a15bf02ad4f" ], [ "FStar.List.map", @@ -47,7 +47,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "37f844cb7948c5ad4f936e8a924bcb4d" + "2525ce9de0b741d39d84495ee66fb55c" ], [ "FStar.List.mapi_init", @@ -59,7 +59,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "a548a7b909f07f47d5a6fe9890a84c33" + "2f4ab1c288c5a9c332aee0f3e504ce07" ], [ "FStar.List.concatMap", @@ -71,7 +71,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "9d5f7d013e6095754dc446c5e9b41773" + "47fe3651fd634c4caceea4bf0d20712d" ], [ "FStar.List.fold_left", @@ -83,7 +83,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "a9058ee0b059b188eb9513bffc0b4d66" + "5411eddb3339bd2f0c2f11b21621653f" ], [ "FStar.List.fold_right", @@ -95,7 +95,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "c38a1416d769a2cfad2814532cfcf579" + "0cf6e5443fa9dbb4f1bdee747a782ac1" ], [ "FStar.List.filter", @@ -107,7 +107,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "0850b8f80605deeb33f24b29c94ae809" + "e662e24df2388df181c9a34ee8708018" ], [ "FStar.List.for_all", @@ -119,7 +119,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "a8c6ff0e1844b871f5458b6381e3f6f9" + "17bd432155878e5e6023ce658cc595a7" ], [ "FStar.List.collect", @@ -131,7 +131,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "8ef4c14d96c6e732e02b86f22690eeeb" + "b0da11737a8b0a4ec5641c9b416b734f" ], [ "FStar.List.tryFind", @@ -143,7 +143,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "6f3fb74463ff4ba958d4984bf887e60e" + "e7bd083e5b2fed3410248c8e19d6ab73" ], [ "FStar.List.tryPick", @@ -161,7 +161,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "c2922b7874db8a12bb7c0e81c87d1b89" + "fec28cc0b43972d3b0f2e697d4282770" ], [ "FStar.List.choose", @@ -179,7 +179,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "6bd8de8dbaf7100ca82c96f83f096aed" + "4e0a439e8a421bd04744cb0f44a121e6" ], [ "FStar.List.partition", @@ -191,7 +191,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "cdc0ff3fd56bff3681bcefd7fc37a68f" + "8b67b1514fe45b882c2c21660fa02006" ], [ "FStar.List.sortWith", @@ -203,7 +203,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "22c6114db05c8174f1a6c125f1e58fe5" + "5ca1004e92dfff272774f0e3ebabbe9c" ], [ "FStar.List.splitAt", @@ -219,7 +219,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b8f1253fdb2cbe4813fd087d2a636be5" + "e3c143048b2e14c2f5a2720d8012641a" ], [ "FStar.List.filter_map", @@ -237,7 +237,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "b96ce087eca197f67c9a3f102b7d3a74" + "4f6eee66473d0b58144395cef37dde7a" ], [ "FStar.List.index", @@ -249,7 +249,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "a37ad45f0ebdde56ef4da57e65fa4f11" + "93d4b93f18c2414334b15965f417f779" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.MRef.fst.hints b/ulib/.cache/FStar.MRef.fst.hints index a59467aa292..9ee80a1f763 100644 --- a/ulib/.cache/FStar.MRef.fst.hints +++ b/ulib/.cache/FStar.MRef.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "4aecf4ec4e614c57f21b5e6da555ba74" + "a273c19edbdd4035b4585915dc3f4fd6" ], [ "FStar.MRef.witness_token", @@ -36,7 +36,7 @@ "typing_FStar.Monotonic.Heap.sel", "unit_typing" ], 0, - "e7d5bebc40980f83ebcf9197968b7e97" + "42d799b4b2af25c0b2f7f75facb34f87" ], [ "FStar.MRef.recall_token", @@ -55,7 +55,7 @@ "typing_FStar.Monotonic.Heap.sel", "unit_typing" ], 0, - "5b3a2712f41f6bf12f5e945f0a419774" + "b7b72f72c5c8f89928957658a37b31d1" ], [ "FStar.MRef.lemma_functoriality", @@ -76,7 +76,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "7d32a2ee76f2400016f48624b387b049" + "bac9265c87a179b5e9517cee49279678" ], [ "FStar.MRef.recall", @@ -90,7 +90,7 @@ "unit_typing" ], 0, - "71504ecc0b69245eaeecdf6456ff438e" + "ed29b0b325ebb64996ade5c353fe565b" ], [ "FStar.MRef.witness", @@ -104,7 +104,7 @@ "unit_typing" ], 0, - "9469dc40406e6a92582296fc7afab95c" + "e010c83129dc2b7da60058e34480da63" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.MRef.fsti.hints b/ulib/.cache/FStar.MRef.fsti.hints index 370189de93e..b4a9a5f4f84 100644 --- a/ulib/.cache/FStar.MRef.fsti.hints +++ b/ulib/.cache/FStar.MRef.fsti.hints @@ -14,7 +14,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "1a528091a2dbf5a521d0249020508b2d" + "201250c0eccb3ffeffdba210e5f33470" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.MST.fst.hints b/ulib/.cache/FStar.MST.fst.hints index f0f74f2e571..cc229c45c46 100644 --- a/ulib/.cache/FStar.MST.fst.hints +++ b/ulib/.cache/FStar.MST.fst.hints @@ -11,7 +11,7 @@ "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok" ], 0, - "83494ded79edc983bec38ddc6bdbd61d" + "a73c3e7be45b97098713bb339eacd19f" ], [ "FStar.MST.return", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "cd56633be2e03c57a83d798331fbdd2b" + "1a2c06c34648612c2bf9257cdac5cc88" ], [ "FStar.MST.bind", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "c93fd6a3e945e5c21653ac2bcc950abe" + "dfc982eafb399a3338654e8ae43d357a" ], [ "FStar.MST.subcomp", @@ -50,7 +50,7 @@ 1, [ "@query", "equation_FStar.MST.repr" ], 0, - "e7747e29f31677b24be82acd86360983" + "e9201c029e2f0440589a91f783327a08" ], [ "FStar.MST.MSTATE", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f1b2d85b07df484e643ad2da25a426ac" + "e968f72bb784c9857db1891f5ddfc2e3" ], [ "FStar.MST.MSTATE", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "46aa08eac09daa42cf76f03a15a63b07" + "adbade9058c2366b2c1e951b241e0c1f" ], [ "FStar.MST.MSTATE", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "03cd88182d8d065ca8a710b28ea75b6c" + "8920a4aee02a43b987269730e2169e67" ], [ "FStar.MST.get", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "12c55f17a37953e0ac4f2ff102a462a8" + "abf236ab4e59e63a541ba5b853fa3fce" ], [ "FStar.MST.put", @@ -109,7 +109,7 @@ 1, [ "@query", "unit_typing" ], 0, - "05f4e6b2b9da1b26741fd7bbb7770e59" + "111bef3cfbb33227e6e4d706ea999848" ], [ "FStar.MST.lift_pure_mst", @@ -138,7 +138,7 @@ "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" ], 0, - "335283cd634e2e79753421050ab7a498" + "d84548743a6187e58ca3f38fa0c8b3c9" ], [ "FStar.MST.bind_div_mst", @@ -160,7 +160,7 @@ "typing_Tm_abs_660b749c51db3dcdfc0b740d078dacf4" ], 0, - "20aadfb3002683adafd5c0892906f252" + "5f51d824771cce227735084bad419c13" ], [ "FStar.MST.mst_assume", @@ -169,7 +169,7 @@ 1, [ "@query" ], 0, - "c4f6c69e25fbec9fe15bca0d1a3874f3" + "ba7ca82533386c8f9366179841dc4537" ], [ "FStar.MST.mst_assert", @@ -178,7 +178,7 @@ 1, [ "@query" ], 0, - "ad4485b6421791e7329e37be355330c7" + "a102f8ba2e73eda6d9c5bb449fabb00c" ], [ "FStar.MST.lift_mst_total_mst", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "b2a5354214aba3ba851ce9706a06b935" + "6e69003df113c2537515f8ee7b4f64fc" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.MSTTotal.fst.hints b/ulib/.cache/FStar.MSTTotal.fst.hints index 86857bd6253..90b1f2011b2 100644 --- a/ulib/.cache/FStar.MSTTotal.fst.hints +++ b/ulib/.cache/FStar.MSTTotal.fst.hints @@ -11,7 +11,7 @@ "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok" ], 0, - "e11443abcff4af71ee301bd4fcf15bb9" + "bf3bcba143797a9e79aabb6463a0e684" ], [ "FStar.MSTTotal.return", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "15690e32785f7a9e2f4d3ae92098b1ee" + "e97959a4eed50247d34de283ce212401" ], [ "FStar.MSTTotal.bind", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "c63fc56e4e699882d0e98f9a15a6e2e3" + "1d50349217ccca5ecef351867de08375" ], [ "FStar.MSTTotal.subcomp", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "4e645c3dcb6090c054cd0e4f545e797e" + "3a25f40d4d99972636d9a423174f21df" ], [ "FStar.MSTTotal.MSTATETOT", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "13144c043e129bb9110de935114a0cfd" + "0a11ca9be4008b4999e391df1b5201da" ], [ "FStar.MSTTotal.MSTATETOT", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad1455853b8ccbff2491441182814cb9" + "954b34aedde3a90bcb1a2e5b014f7c72" ], [ "FStar.MSTTotal.MSTATETOT", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "015a85c2c3bd4ada49d53122d5476ca2" + "5eb55deb660bef1d8ec2a629a2619366" ], [ "FStar.MSTTotal.get", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "77b027485b5e43c46a24d90d371b296b" + "f8d1cbf770fd04da9b5265d42b44d07b" ], [ "FStar.MSTTotal.put", @@ -109,7 +109,7 @@ 1, [ "@query", "unit_typing" ], 0, - "fd24cd0f2be266531e0af0718960ba07" + "3b995d060065919a091189875f211f8d" ], [ "FStar.MSTTotal.lift_pure_mst_total", @@ -138,7 +138,7 @@ "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" ], 0, - "e368b986f82ac60f64e1b2777d6f0417" + "300df70f634e80133c9d093bdb7560bf" ], [ "FStar.MSTTotal.mst_tot_assume", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "e2d3f05e9863f9bfac5cb92d25272ca9" + "cba507215e6148dadb1edfe02ac2994a" ], [ "FStar.MSTTotal.mst_tot_assert", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "8296146f51b5410438221b61e569de9b" + "54df9da92aafbb163ecf0f3476c34b68" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Map.fst.hints b/ulib/.cache/FStar.Map.fst.hints index 046786f30d4..9efaba5fe19 100644 --- a/ulib/.cache/FStar.Map.fst.hints +++ b/ulib/.cache/FStar.Map.fst.hints @@ -25,7 +25,7 @@ "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" ], 0, - "ca71767e6ddd4d3e30dc234a71949af3" + "1eb4752d792815c375d6c86ed6da05ab" ], [ "FStar.Map.lemma_SelUpd2", @@ -52,7 +52,7 @@ "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" ], 0, - "413e91407ff770e0a88826142826c7a0" + "2dacea4eff262e6e4c35d0b961ce3c77" ], [ "FStar.Map.lemma_SelConst", @@ -77,7 +77,7 @@ "typing_Tm_abs_2bbbf501a8d3e7a47b3c23d5dc392001" ], 0, - "7026e90ff653d6d5de65fb88220d4e70" + "37b34b8047d6a9e5ea53d5eae5c39e41" ], [ "FStar.Map.lemma_SelRestrict", @@ -92,7 +92,7 @@ "token_correspondence_FStar.Map.__proj__Mkt__item__mappings" ], 0, - "8de89585c3b863a973252a6cc5328f87" + "9e418569ad62730307ed11d5d7f8e87b" ], [ "FStar.Map.lemma_SelConcat1", @@ -119,7 +119,7 @@ "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" ], 0, - "cf6895b9240600c70fa4547b76622d98" + "bb8c0d200911b5e26f950247ec207e0c" ], [ "FStar.Map.lemma_SelConcat2", @@ -146,7 +146,7 @@ "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" ], 0, - "da50149173d57c71018158b9343b2f48" + "9782ec9f042f1a5aefbb32ce462210af" ], [ "FStar.Map.lemma_SelMapVal", @@ -171,7 +171,7 @@ "typing_Tm_abs_4eb3b570a1f2a7490cd12772f646a71b" ], 0, - "a03f9624c339a640cb36947010006d0b" + "c993bd81492fda595dc6257ce62a2f42" ], [ "FStar.Map.lemma_InDomUpd1", @@ -190,7 +190,7 @@ "typing_FStar.Map.contains", "typing_FStar.Set.singleton" ], 0, - "226e2c7f5ce484eab20d11838c830039" + "a0c3d767ce27f834b765ad21da04f355" ], [ "FStar.Map.lemma_InDomUpd2", @@ -205,7 +205,7 @@ "typing_FStar.Map.contains" ], 0, - "e527a4ad212e692641bc1ea0e60b1bc3" + "25c04c06878a45ceac4ed36b418e840c" ], [ "FStar.Map.lemma_InDomConstMap", @@ -220,7 +220,7 @@ "projection_inverse_FStar.Map.Mkt_domain", "typing_FStar.Set.empty" ], 0, - "fdf17ed45d2d32964f3405998358e805" + "2b2c1598da42deaf48220c876bc76b4c" ], [ "FStar.Map.lemma_InDomConcat", @@ -235,7 +235,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "b1a2378feeb5e319b371894b17a5be99" + "a1ff44fd06767ddb0c7cbfba82f265d6" ], [ "FStar.Map.lemma_InMapVal", @@ -249,7 +249,7 @@ "projection_inverse_FStar.Map.Mkt_domain" ], 0, - "b9cba1b4aff44ec005ba5ca57379b655" + "0ad9e58888b20466d3e7d2bf4d42fe2b" ], [ "FStar.Map.lemma_InDomRestrict", @@ -265,7 +265,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "4f7e5698b8e3fd4ccca3b719918df7c8" + "0a339c2c90f18db0f07970d9b4ba4af4" ], [ "FStar.Map.lemma_ContainsDom", @@ -276,7 +276,7 @@ "@query", "equation_FStar.Map.contains", "equation_FStar.Map.domain" ], 0, - "0104f64df73b7e9009d8585daaddf2f0" + "305ce68d41381977bfc96a43d921775b" ], [ "FStar.Map.lemma_UpdDomain", @@ -293,7 +293,7 @@ "typing_FStar.Set.union" ], 0, - "61939a88ce3cc8ce0700654e40a562b0" + "6df8a0c93d3c3575a58a889b375bdbc8" ], [ "FStar.Map.lemma_map_literal", @@ -318,21 +318,7 @@ "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "cbe5bf08875e8adc125d1d5613285c6c" - ], - [ - "FStar.Map.equal", - 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, - "1713905542cec4f65575ed116b885710" + "77a25fc29686678e1dcb58665a7fc621" ], [ "FStar.Map.lemma_equal_intro", @@ -349,7 +335,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "3b9f2663928013df015fdbabe96c7be4" + "04db66a626c747ab2959b6ec8db48446" ], [ "FStar.Map.lemma_equal_elim", @@ -374,7 +360,7 @@ "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "eafe0ac8b64fd9af796102471a04d311" + "d559491f4ce46a7ff1545deb6f0937d1" ], [ "FStar.Map.lemma_equal_refl", @@ -383,7 +369,7 @@ 1, [ "@query", "lemma_FStar.Map.lemma_equal_elim" ], 0, - "f9d7905eb9e693157711c47d276c4399" + "422168ec1261fd19d70f840988560afe" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Map.fsti.hints b/ulib/.cache/FStar.Map.fsti.hints index fe90d38475c..e5088665b4b 100644 --- a/ulib/.cache/FStar.Map.fsti.hints +++ b/ulib/.cache/FStar.Map.fsti.hints @@ -1 +1 @@ -[ "\u000fí|d\u000ezq˜åDÆbJéá", [] ] \ No newline at end of file +[ "‰ÅN&\u0017–¥\u0015Åq YðÓˆŸ", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Euclid.fst.hints b/ulib/.cache/FStar.Math.Euclid.fst.hints index 4e75dd6256b..5921ba7c6fd 100644 --- a/ulib/.cache/FStar.Math.Euclid.fst.hints +++ b/ulib/.cache/FStar.Math.Euclid.fst.hints @@ -1,20 +1,6 @@ [ "aÌl\"E±½*\u001a‡â a2\fà", [ - [ - "FStar.Math.Euclid.divides", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "fe2fc36913e852477dc13e884159d6b7" - ], [ "FStar.Math.Euclid.eq_mult_left", 1, @@ -25,7 +11,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "58f692033f3bbd87500458c948a7ad6d" + "23db287c25a491b24186611e6f01b5f6" ], [ "FStar.Math.Euclid.eq_mult_one", @@ -37,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "9afb2cf7971dbfba0efddd4bfb363bd7" + "7b8a68b99f0eea39704cd939ab8b8a40" ], [ "FStar.Math.Euclid.opp_idempotent", @@ -49,7 +35,7 @@ "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0" ], 0, - "184a1f7d5a654b02d81f66e9f1ac4471" + "ef592f04a9789cf796523920c8a5893b" ], [ "FStar.Math.Euclid.add_sub_l", @@ -62,7 +48,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d65cc4538c398db13ff5096dda891011" + "20d3ff94d34376fa9725b12585647d64" ], [ "FStar.Math.Euclid.add_sub_r", @@ -75,7 +61,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cd9c292456355e3c2a3ab35c9e80dca1" + "b7c20fa7d5ffdd94a5e796e026ed9bf3" ], [ "FStar.Math.Euclid.divides_reflexive", @@ -88,7 +74,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "b65f03b3720bdde8e478c9e8045a5648" + "97c7036f03da5bb0ed3af73398e19e92" ], [ "FStar.Math.Euclid.divides_transitive", @@ -105,7 +91,7 @@ "refinement_interpretation_Tm_refine_90b5d2df39645a4835173a203da069e4" ], 0, - "c6b280fec4a1d18d69de50c40bd69578" + "f3827d62e04c2d292e5b77797d4ed430" ], [ "FStar.Math.Euclid.divide_antisym", @@ -124,7 +110,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "a6bf28f1b0b5e3bbaf063e96c262e82f" + "4783f7d2f27a7392165cc018fc37f3ce" ], [ "FStar.Math.Euclid.divides_0", @@ -137,7 +123,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "f386eaa1de9c290e29f088d2ceef5a7d" + "6fc5023c84989d06256596087ad78381" ], [ "FStar.Math.Euclid.divides_1", @@ -150,7 +136,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "0f4b6eaf1b317921e3856427152aa211" + "210c4d237c20c45854b4ad9df9fcab6d" ], [ "FStar.Math.Euclid.divides_minus", @@ -165,7 +151,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "2221b9b454f37911f5e01be441d2fd0e" + "7be07635dded6b5a2ea76287a05ab16f" ], [ "FStar.Math.Euclid.divides_opp", @@ -180,7 +166,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "aef74e48b8cfa66f7afea87b8fd76c44" + "dba38c77da451980f8793ef9e49e59fe" ], [ "FStar.Math.Euclid.divides_plus", @@ -194,7 +180,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "d0660a6b6f6207d05b143b92eb16b2bd" + "52bd3bc8e5b9ae64e67bf39d7561f038" ], [ "FStar.Math.Euclid.divides_sub", @@ -208,7 +194,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "5b074ca28cc40f043899461ae01f7831" + "f3c2e590aa35af2a69d563b8a0841255" ], [ "FStar.Math.Euclid.divides_mult_right", @@ -222,22 +208,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "dc8af96eb69f94cab052e2ad03f40dd5" - ], - [ - "FStar.Math.Euclid.is_gcd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "ce5a89b66680c016a1040e8161f29070" + "07497b7eb321cecbd8c94426f1c96d83" ], [ "FStar.Math.Euclid.mod_divides", @@ -253,7 +224,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "b7513f7d35e8ca5a2c340e26a7183c34" + "91c556b1752939ed10960489525a2c6d" ], [ "FStar.Math.Euclid.divides_mod", @@ -270,7 +241,7 @@ "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" ], 0, - "4761587e69b57622c11c7e5cffd1e3b6" + "cda5b153f60af82719a51aa7020dd17f" ], [ "FStar.Math.Euclid.is_gcd_unique", @@ -279,7 +250,7 @@ 0, [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], 0, - "e43dbe475f04c3dee5b3cf047ac05a1f" + "e317e33a11e156b26f7742bbc2120cca" ], [ "FStar.Math.Euclid.is_gcd_reflexive", @@ -292,7 +263,7 @@ "lemma_FStar.Math.Euclid.divides_reflexive" ], 0, - "d7cda2ae4c16b277b675e1d47f5ac104" + "1f6365acc6dd77134a6441e6c5b2e0fb" ], [ "FStar.Math.Euclid.is_gcd_symmetric", @@ -301,7 +272,7 @@ 0, [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], 0, - "c369a86373bda9cf25abe45a7a1d1227" + "fc22257483098693343dbbb5b23616d5" ], [ "FStar.Math.Euclid.is_gcd_0", @@ -316,7 +287,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "a0930ccc13ee1ed541ed7863064091ff" + "b9eb3b0299a540c35296528b54224995" ], [ "FStar.Math.Euclid.is_gcd_1", @@ -331,7 +302,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "2e4d925f5be9833373ff4995084b9e01" + "ea5bf326cd8078681e08b7214c2d7d97" ], [ "FStar.Math.Euclid.is_gcd_minus", @@ -344,7 +315,7 @@ "primitive_Prims.op_Minus" ], 0, - "051a354dc827c922610433c475cbfa7e" + "f30ee9258255e016d31dc64ecb44e967" ], [ "FStar.Math.Euclid.is_gcd_opp", @@ -357,7 +328,7 @@ "primitive_Prims.op_Minus" ], 0, - "b4d19936543a6f64416ada05b8eacb01" + "820ca59a9087481ef1e6f609bc1f4726" ], [ "FStar.Math.Euclid.is_gcd_plus", @@ -370,7 +341,7 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply" ], 0, - "bfed5628232f7caa88cbfd05c6fda61b" + "c69b3cc0220c807d528e8909183e077d" ], [ "FStar.Math.Euclid.is_gcd_for_euclid", @@ -379,7 +350,7 @@ 0, [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], 0, - "022a223ef5f2689b8c26003e693e9a66" + "1887743046fd5b4c6db7838005982896" ], [ "FStar.Math.Euclid.egcd", @@ -388,7 +359,7 @@ 0, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "000d3fa74c551c2bbb669332461eb908" + "3b90b3b749a876db001bb15d00c65e3e" ], [ "FStar.Math.Euclid.egcd", @@ -421,7 +392,7 @@ "well-founded-ordering-on-nat" ], 0, - "a7b8c1f5571d6643195757b998e05892" + "61e352eca044805f1f7b119341476777" ], [ "FStar.Math.Euclid.euclid_gcd", @@ -442,7 +413,7 @@ "refinement_interpretation_Tm_refine_760c5e70adce122a95cd106d0e0c6598" ], 0, - "dc32369d42de839c40f00f0e5da67380" + "03dbff121c0cefede5467a12a136b360" ], [ "FStar.Math.Euclid.is_gcd_prime_aux", @@ -459,7 +430,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "05c00256a1354d11ac5d93f823d54765" + "03d1a14b897ec89e1c48bf0d3b852e8d" ], [ "FStar.Math.Euclid.is_gcd_prime", @@ -478,7 +449,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "d5548673eee33c0c560a3596aef53aa5" + "7fec42fbe47ad8f54d6ef01c1d219e2e" ], [ "FStar.Math.Euclid.bezout_prime", @@ -502,7 +473,7 @@ "true_interp" ], 0, - "68d52fbbc713a52c8031f8ad4b5abc02" + "1a0a1c2ba355e6d6727d62f211a44557" ], [ "FStar.Math.Euclid.bezout_prime", @@ -511,7 +482,7 @@ 0, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "a7451930d8a63baf8dafb1f8c0d25739" + "3529983fc3d2eb4308b7f5ca0c383616" ], [ "FStar.Math.Euclid.euclid", @@ -523,7 +494,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7e4abeb168d311fe3624c8e474ace387" + "77afb85060d80443b8e661a98177520d" ], [ "FStar.Math.Euclid.euclid", @@ -538,7 +509,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fe820a29fe2366ba9ffde19412171ca1" + "dfdb2457bf4039bc983e694a04b04a46" ], [ "FStar.Math.Euclid.euclid_prime", @@ -552,7 +523,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "4ef28505a0a9e54bdc3713efd3741910" + "7ebecbc07c21f87fb99a4ca06eaefa02" ], [ "FStar.Math.Euclid.euclid_prime", @@ -574,7 +545,7 @@ "true_interp", "unit_inversion", "unit_typing" ], 0, - "77c7a11b852430b7b0b0bc19a4c4a30d" + "00ee5a595b3470ddbd62e3f007707bc6" ], [ "FStar.Math.Euclid.euclid_prime", @@ -583,7 +554,7 @@ 0, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "53fc973831392905faa25475c01f318d" + "e58bbb860e70180aad9f7feb75c5b686" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Euclid.fsti.hints b/ulib/.cache/FStar.Math.Euclid.fsti.hints index 6c40ee30bd3..8e420df0e2b 100644 --- a/ulib/.cache/FStar.Math.Euclid.fsti.hints +++ b/ulib/.cache/FStar.Math.Euclid.fsti.hints @@ -1,35 +1,6 @@ [ "Jáµ½æ'¦\u000e*\u000ep\u0015_rt„", [ - [ - "FStar.Math.Euclid.divides", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "72779b9f372d5716a214a8dd79277370" - ], - [ - "FStar.Math.Euclid.is_gcd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2a77ab5fe0e66b51fe1ce7b97fb432b2" - ], [ "FStar.Math.Euclid.euclid", 1, @@ -40,7 +11,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "543ebfa8a93e2b3df67af3a60dcd2935" + "00316253fef76c7b21b90e07a586858c" ], [ "FStar.Math.Euclid.euclid_prime", @@ -54,7 +25,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "d0fa48d1585ae40170bb32c6eedd2cf2" + "119fde9bf4f949889270c5efd35a09f7" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Fermat.fst.hints b/ulib/.cache/FStar.Math.Fermat.fst.hints index aff54da4e84..67af4ef750f 100644 --- a/ulib/.cache/FStar.Math.Fermat.fst.hints +++ b/ulib/.cache/FStar.Math.Fermat.fst.hints @@ -19,7 +19,7 @@ "well-founded-ordering-on-nat" ], 0, - "d3400ba01d8d64244a64cfb39c7d77b0" + "6a43fe7c5f6da410a83472a18438ec57" ], [ "FStar.Math.Fermat.pow_zero", @@ -28,7 +28,7 @@ 0, [ "@query" ], 0, - "420f7a552c1d61ca23eb0cf157be9e95" + "c78d4475e7f5b3ea725fa5e439e96a7e" ], [ "FStar.Math.Fermat.pow_zero", @@ -37,7 +37,7 @@ 0, [ "@query" ], 0, - "2ffe73722cca459018f884ba20fec9f9" + "c8e4063fac77d125db1d6cf7bbe13178" ], [ "FStar.Math.Fermat.pow_zero", @@ -62,7 +62,7 @@ "well-founded-ordering-on-nat" ], 0, - "25adc6d4fe9b41ddb5869ec88918944e" + "ca0a284f729c7115a4c355fe283bc10d" ], [ "FStar.Math.Fermat.pow_one", @@ -84,7 +84,7 @@ "well-founded-ordering-on-nat" ], 0, - "cf958aceb36008d5631bacb06ca09527" + "f0983b695fe2fc229a69af7b366a8487" ], [ "FStar.Math.Fermat.pow_plus", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6dffcdfa57bf9e5ca81a9bc7ecdc058c" + "153fad53f5f2cb47ca8046b4d5333750" ], [ "FStar.Math.Fermat.pow_plus", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b931e4b066f2716b04dcdda017b5846" + "56cba83a6be7b0bde7f6660ac35010f7" ], [ "FStar.Math.Fermat.pow_plus", @@ -138,7 +138,7 @@ "typing_FStar.Math.Fermat.pow", "well-founded-ordering-on-nat" ], 0, - "15128e7d33c34f512a9a0847b2962698" + "e389fee59a1efcf6e0fbff0b20c5b183" ], [ "FStar.Math.Fermat.pow_mod", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9d565583d843cd0d99747de6e78cacac" + "2692cbe4537693b055d32763b73110dc" ], [ "FStar.Math.Fermat.pow_mod", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0e8aa0b967e55aef4927c1a6f14994a5" + "a03425b1f14848c440d41a8c0ffa0f29" ], [ "FStar.Math.Fermat.pow_mod", @@ -188,7 +188,7 @@ "well-founded-ordering-on-nat" ], 0, - "d297d3c90f97919f4b9b5d6f814db211" + "ee7b23a14109f95fdd9852ba01bfe685" ], [ "FStar.Math.Fermat.binomial", @@ -210,7 +210,7 @@ "well-founded-ordering-on-nat" ], 0, - "7235eb5281108cbe766ed6b66fa96781" + "c688c54e844623d9a438a398c55cdb41" ], [ "FStar.Math.Fermat.binomial_0", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7ae4b76ec945f8e91554081fb367b8c1" + "59ec5b1cfff6721dfaa51c4bfdb94704" ], [ "FStar.Math.Fermat.binomial_lt", @@ -257,7 +257,7 @@ "well-founded-ordering-on-nat" ], 0, - "79fead529769496ac3afd45aa40f4358" + "1a2ecd01ef83d2d629626b0bcf15b813" ], [ "FStar.Math.Fermat.binomial_n", @@ -283,7 +283,7 @@ "typing_FStar.Math.Fermat.binomial", "well-founded-ordering-on-nat" ], 0, - "e92b3491c4359b2a028f3565c842ed79" + "16fc0d75139c4e689cbb20147e92fc07" ], [ "FStar.Math.Fermat.pascal", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cd2adde73dcc4de504b3694cc1d5d638" + "0c15914b18d0d4a94dfd51093009c48f" ], [ "FStar.Math.Fermat.pascal", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2d8ada45070f1c323fa7323b33143a1d" + "eac2dce542b08fb4d2d5c239d7342b10" ], [ "FStar.Math.Fermat.factorial", @@ -341,7 +341,7 @@ "well-founded-ordering-on-nat" ], 0, - "0522960b368d169efe3e4b9b55eb116f" + "e8126afa54f8183ad515f01a681df1e4" ], [ "FStar.Math.Fermat.binomial_factorial", @@ -355,7 +355,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b0570c5baa67ea9a0e47d01051b8742e" + "8135e2b214820e6ec1964f9212de5dd1" ], [ "FStar.Math.Fermat.binomial_factorial", @@ -370,7 +370,7 @@ "refinement_interpretation_Tm_refine_d67a4ec89d00aa4441b3e61646bdbc46" ], 0, - "1c9a6f4af08c84fba41ce076378d0b98" + "8dde2a0520f99e45702ddb2c4ee860e0" ], [ "FStar.Math.Fermat.binomial_factorial", @@ -403,7 +403,7 @@ "well-founded-ordering-on-nat" ], 0, - "d1fbac18e0f5a2944d302561853b67ec" + "eb4384b59e726f44384a1afba1a3a3be" ], [ "FStar.Math.Fermat.sum", @@ -429,7 +429,7 @@ "well-founded-ordering-on-nat" ], 0, - "e474e3dddf9ee5cd0ba257bf8fbb910f" + "e8c68c2a9f90ddc0e88df3477a94e7a5" ], [ "FStar.Math.Fermat.sum_extensionality", @@ -468,7 +468,7 @@ "well-founded-ordering-on-nat" ], 0, - "f838b0e8a320310b7ed3cf2e0630106e" + "bda638001dafe00060ede0babc87d9d5" ], [ "FStar.Math.Fermat.sum_first", @@ -482,7 +482,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "08a92107c594be04451838e0c4f1848c" + "b5388bb24de07cea37bdb44bcd487f54" ], [ "FStar.Math.Fermat.sum_first", @@ -502,7 +502,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "9ab4c7a73736d1ea85cbc396174e5b7d" + "bd186f95864bc2f8b270f3235bb6d4b6" ], [ "FStar.Math.Fermat.sum_last", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "77021a60a9d2eed3b8d9e5ffcbc9864e" + "cc7cda81b67417a140f18860a73ba58e" ], [ "FStar.Math.Fermat.sum_last", @@ -530,7 +530,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "5baa3583a6d5e244c15abbe9904bc009" + "9046d3616dc905990df1682c7ab3d419" ], [ "FStar.Math.Fermat.sum_last", @@ -563,7 +563,7 @@ "well-founded-ordering-on-nat" ], 0, - "20f75bac274e4b8031af05c256d225d2" + "9327e54d21eb13a4c6b9fd981cb55cda" ], [ "FStar.Math.Fermat.sum_const", @@ -602,7 +602,7 @@ "well-founded-ordering-on-nat" ], 0, - "ed3759db1b7ff55a8d333247b6f662e6" + "7451a964448da097fc2c9a2b38a73ae8" ], [ "FStar.Math.Fermat.sum_scale", @@ -644,7 +644,7 @@ "well-founded-ordering-on-nat" ], 0, - "b5088bab57a9c7f5494b39bc3be0f1a2" + "a084abdb12800d07666a4c6b6062b306" ], [ "FStar.Math.Fermat.sum_add", @@ -687,7 +687,7 @@ "well-founded-ordering-on-nat" ], 0, - "992cef19076ab5abe269259e61632499" + "e2a7e8b9d27525b9d7ca3b33b783b8a9" ], [ "FStar.Math.Fermat.sum_shift", @@ -703,7 +703,7 @@ "refinement_interpretation_Tm_refine_6c2172b1d93ac8008737f5eb4371a6fa" ], 0, - "cd292c9bc93b07e4f51374f9ced3b7bd" + "d0d612775a2f0ef5502700b16e840d4e" ], [ "FStar.Math.Fermat.sum_shift", @@ -719,7 +719,7 @@ "refinement_interpretation_Tm_refine_6c2172b1d93ac8008737f5eb4371a6fa" ], 0, - "72931b15be289055aff3675176ddb975" + "d2d85e2f8cab8a0052a2e094d284df2a" ], [ "FStar.Math.Fermat.sum_shift", @@ -762,7 +762,7 @@ "well-founded-ordering-on-nat" ], 0, - "346bfbaca1b56b68739d04b928306803" + "18066f75459f6c5aa9a03fe14c4a4387" ], [ "FStar.Math.Fermat.sum_mod", @@ -774,7 +774,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "180fbb85305d32a69777013d47ee62f3" + "fed9a80b2e9ae5ae88a90509ad54873c" ], [ "FStar.Math.Fermat.sum_mod", @@ -787,7 +787,7 @@ "refinement_interpretation_Tm_refine_b7b98b0a20d6db3b375f067fac98d472" ], 0, - "197a0259573a1ed46e58e56afb848a43" + "d891db9279e34119d2e2b05b28b56020" ], [ "FStar.Math.Fermat.sum_mod", @@ -830,7 +830,7 @@ "well-founded-ordering-on-nat" ], 0, - "9f6c39c2bbd5c8eb53ae5e49f291a2e5" + "da8fd635eb712141bf5f29e0afa89498" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -845,7 +845,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "3f6605f485ee2ef5b6e130f2d2477b35" + "6fd4c2860334287225c56eb46294335d" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -857,7 +857,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "8d0b217b3c339c91a6483e18e48433f7" + "5f3acb13ec50af687039d05f3773f95c" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -870,7 +870,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "6073a3a3fb6aa0f133d9654f3c4b19bf" + "9f408169a26a8f0c49d54b9a04b4dc87" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -883,7 +883,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "ab6f1f77d4722cd030414d0f5d792b4c" + "33ecd70db21486bb1cece63fa0a059c0" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -896,7 +896,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "362a05436c6b538deba68ff116d17c1a" + "920ed35200dc08e244ae07a20870d494" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -909,7 +909,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "884116750ebd82bba652799304317bed" + "3113144e841ad43c27b7e981bc6c5de2" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -935,7 +935,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "5a48b97a88da0d90d1cfded3a89973d6" + "82bec04e93374da694d90a9bec815e9b" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -947,7 +947,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "92f2130cd89343e4408357fa060621b9" + "e439f938c513fe5738ec31985a618512" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -960,7 +960,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "ae8e8623c45a97f530c7391dc0ea2955" + "825cc2df7f4dbc1fa1920a2e72853a8c" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -973,7 +973,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "f0b8433ff2750bb6cc33f92fde9954d5" + "1f2426cbc5f6aa4221f71121237e7a5f" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -997,7 +997,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "fcda3b7a341ad913067b819befc585dd" + "282fcbc2d788da390b80654590b36a6b" ], [ "FStar.Math.Fermat.binomial_theorem_aux", @@ -1025,7 +1025,7 @@ "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" ], 0, - "75d664d27bdf24b86a602f48809956b5" + "073ec0ba5ec98c1af909cc6ce799d4aa" ], [ "FStar.Math.Fermat.binomial_theorem", @@ -1039,7 +1039,7 @@ "refinement_interpretation_Tm_refine_96e65b2359ce32ff1f5ca9648c355aa6" ], 0, - "56373d77e72d3d035111979c512504bc" + "909423858252b7d7ee0d42f7d9e1bc44" ], [ "FStar.Math.Fermat.binomial_theorem", @@ -1054,7 +1054,7 @@ "refinement_interpretation_Tm_refine_f82d08f0ba8d014c1cbb71bc2116cbd8" ], 0, - "5023cc94e30871502637ba5d0df6c3af" + "64f7ae76fc156f71a6dbdd0263175343" ], [ "FStar.Math.Fermat.binomial_theorem", @@ -1102,7 +1102,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ae7900bd151c04995c9121a131395fa1" + "f251d48d7b2d81d3c8c870ee99301398" ], [ "FStar.Math.Fermat.factorial_mod_prime", @@ -1115,7 +1115,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "04f36b6d155d412c9b1d9e40afb60bf0" + "6ab258e265bc5ca1502973e7bdc2b144" ], [ "FStar.Math.Fermat.factorial_mod_prime", @@ -1131,7 +1131,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "bfcc640aabba2182f5db2940fd62a5db" + "e82a098cfd10d32534887c856259d83f" ], [ "FStar.Math.Fermat.factorial_mod_prime", @@ -1161,7 +1161,7 @@ "well-founded-ordering-on-nat" ], 0, - "68efb3f06f79fee95f1c9be26b1695d9" + "6676a05ef9aaa6025d9ddddb07af8f68" ], [ "FStar.Math.Fermat.binomial_prime", @@ -1174,7 +1174,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "554b86e9a1280a01ee256c226ee05504" + "d421a7ebf74a844fbf74cf1a5b436c1c" ], [ "FStar.Math.Fermat.binomial_prime", @@ -1202,7 +1202,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "6807512751c8ff7a907388d647b033fd" + "d6545316fe2ecd9b07bfbb527f5a6804" ], [ "FStar.Math.Fermat.freshman_aux", @@ -1218,7 +1218,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "6c0fe432936d2a00033e1d9509c88242" + "19402108239dff54715c08877c22ac77" ], [ "FStar.Math.Fermat.freshman_aux", @@ -1235,7 +1235,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "7c77a24b3e9bd6e08216f15be28d5305" + "9e51da4cbb6b9e16120f5e315647ff32" ], [ "FStar.Math.Fermat.freshman", @@ -1249,7 +1249,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "f7844c4d6e1481bb3be582627275838f" + "930bbcf20a8f02a5901e4bb37d31c6c7" ], [ "FStar.Math.Fermat.freshman", @@ -1279,7 +1279,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "cc5a1c7d47e2142e9d12a22a5667a2c2" + "4def9a9b7ae59e7f04907068f3de5539" ], [ "FStar.Math.Fermat.fermat_aux", @@ -1292,7 +1292,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "5e7aae56b2cf16b846aef0bb3af9d308" + "ab6229ec8582a5a5db5ed129d7c1e0f6" ], [ "FStar.Math.Fermat.fermat_aux", @@ -1306,7 +1306,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "e871ee42809f4e700c03b6b868351f02" + "3902d244d861873cd622f7dd1031b310" ], [ "FStar.Math.Fermat.fermat_aux", @@ -1331,7 +1331,7 @@ "well-founded-ordering-on-nat" ], 0, - "bf57fc6ce5a2d22c6647beee8974d158" + "6b86cb5d41a06067fcf411502059183c" ], [ "FStar.Math.Fermat.fermat", @@ -1345,7 +1345,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "336eefd303383602b51d5bba3e20c529" + "9772883bc70eb36916da6b7bb3f6bd7c" ], [ "FStar.Math.Fermat.fermat", @@ -1363,7 +1363,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "4bf9a6b55195d776051508a06070e9ae" + "cbceda157456995320cccae9dd1bf0ba" ], [ "FStar.Math.Fermat.mod_mult_congr_aux", @@ -1377,7 +1377,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "53d2ec5ffd80739293fb430da953c651" + "01af7ede4940162202cc445c18f850b5" ], [ "FStar.Math.Fermat.mod_mult_congr_aux", @@ -1400,7 +1400,7 @@ "refinement_interpretation_Tm_refine_def003bea72d0f209f83e8e581faf40d" ], 0, - "a73672e1caddc973ff6c266b4e3e99e4" + "92eca8ea3ca99a7c591276c136c729fb" ], [ "FStar.Math.Fermat.mod_mult_congr", @@ -1414,7 +1414,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "d5bdc24cab9cbe7a0c8791c95afbe09a" + "1d516e5628d2114bf2e542e8f1c54ba3" ], [ "FStar.Math.Fermat.mod_mult_congr", @@ -1433,7 +1433,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "1b2e857a568606b4b951b283421a9ae5" + "cc4efa9af6562e7214df2e6ef12a211e" ], [ "FStar.Math.Fermat.fermat_alt", @@ -1447,7 +1447,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "5afd8cc92df37552f64c33d4b1b94ff1" + "26096e9faa7047613693d0809f669034" ], [ "FStar.Math.Fermat.fermat_alt", @@ -1459,7 +1459,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "59b328871d33e2f92a648ff106d59e0a" + "681fec77f26cb5675138e5e69a719953" ], [ "FStar.Math.Fermat.fermat_alt", @@ -1483,7 +1483,7 @@ "refinement_interpretation_Tm_refine_da5625587e09adb0744cd841af2f306b" ], 0, - "1e71c8abc5984b8539541f316753dd7c" + "bb36458a4e2af4314911dbc9c6fa4fa2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Fermat.fsti.hints b/ulib/.cache/FStar.Math.Fermat.fsti.hints index c784fb1e467..f44b8da8715 100644 --- a/ulib/.cache/FStar.Math.Fermat.fsti.hints +++ b/ulib/.cache/FStar.Math.Fermat.fsti.hints @@ -19,7 +19,7 @@ "well-founded-ordering-on-nat" ], 0, - "631e1537416e4909ab7b30ed8c1b3078" + "d7829f64a537fbc249f13ae58c39d3b3" ], [ "FStar.Math.Fermat.fermat", @@ -33,7 +33,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "0d1686aa7688c8c2cd4f3a916753dfa6" + "044ab4fcc4eeecc98f5a99610e52de7e" ], [ "FStar.Math.Fermat.mod_mult_congr", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "fac3d6d5dbaca0839a197ab69e636b35" + "db08995ea22d8e9da33ba3cb7d3f0263" ], [ "FStar.Math.Fermat.fermat_alt", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" ], 0, - "878426c6b6102db42a9e46838c77a08f" + "dc7868b8e6814952a2ecc10e216710fd" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Lemmas.fst.hints b/ulib/.cache/FStar.Math.Lemmas.fst.hints index c0a4a4e6ada..d4ff18c1a6d 100644 --- a/ulib/.cache/FStar.Math.Lemmas.fst.hints +++ b/ulib/.cache/FStar.Math.Lemmas.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b8904a0b59e41fff991c2cc22cc59f6d" + "bc14b27dde2c2c448a64c98c1a75f68b" ], [ "FStar.Math.Lemmas.euclidean_div_axiom", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d9f96994654009aea55777e0c6ba4505" + "2db8fa71c8bb1ec5d56bd262ebd34b2e" ], [ "FStar.Math.Lemmas.lemma_eucl_div_bound", @@ -39,7 +39,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "98c713874cc38244cc6e66ddbaa4a95c" + "e534eccc38b86d7be5ae609a076f0e0b" ], [ "FStar.Math.Lemmas.lemma_mult_le_left", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5fa07197ad8b274eb2f7e327a802a786" + "f7a35bc482fac538da118b8b31516a4c" ], [ "FStar.Math.Lemmas.lemma_mult_le_right", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "52398fb6dbb8827170c1114cd2497b6a" + "7ea445faa55f7036169cc9e9a12a49aa" ], [ "FStar.Math.Lemmas.lemma_mult_lt_left", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3e99335a28df24b6b5c1c7d7dfb7d2e6" + "cf71965f189f225b29cec54d38bc6a8a" ], [ "FStar.Math.Lemmas.lemma_mult_lt_right", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f100af75e23ec9b47aea8d60998bd430" + "c007633ea87f44ae49a6d71d065b4060" ], [ "FStar.Math.Lemmas.lemma_mult_lt_sqr", @@ -108,7 +108,7 @@ "refinement_interpretation_Tm_refine_7a4c9c81abfe8561837c8de08a5d08be" ], 0, - "284ed878866f1801c1313efe5e68d13e" + "55a2efa98c7e3027293b9ad0b4d86a96" ], [ "FStar.Math.Lemmas.swap_mul", @@ -117,7 +117,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "358a9ca059c2c60dc5f84b49576456ff" + "743de277fbb09822ade8ae158c617bd4" ], [ "FStar.Math.Lemmas.lemma_cancel_mul", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fe13a046dc97e03b5b22f382a0ccf648" + "3cf3f0bc2531dba1c93d4b7dd1036cd5" ], [ "FStar.Math.Lemmas.distributivity_add_left", @@ -144,7 +144,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "649fd5af6c44b811a2cbb03d4fa24bac" + "f68214049a87bd2dfbe009914d446674" ], [ "FStar.Math.Lemmas.distributivity_add_right", @@ -156,7 +156,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "9ce3e3dfacfdaea231aaec0a343c52e3" + "48ce8e0761ff9caae811cd7b516ba598" ], [ "FStar.Math.Lemmas.paren_mul_right", @@ -168,7 +168,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b16ac4992621049da6a2b38ca66d5309" + "36d009741b1349419b4bd9b147e91164" ], [ "FStar.Math.Lemmas.paren_add_right", @@ -180,7 +180,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "133a5dc292f5b01cfafcc6e8ec2f21f1" + "7a730d14786be6a24b0d5d8dc37b5664" ], [ "FStar.Math.Lemmas.addition_is_associative", @@ -192,7 +192,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "edd1ac64954b717ac9e30426dd3f0781" + "e70e77bf6703624e15833321355a49bc" ], [ "FStar.Math.Lemmas.subtraction_is_distributive", @@ -205,7 +205,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "4b55ae4f16bcae2541d66c88ae39e48b" + "de3879141962ee69fc2ed90bc3ab3162" ], [ "FStar.Math.Lemmas.swap_add_plus_minus", @@ -218,7 +218,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5f7700d8ef65d359a09d8dabe5c700be" + "52db47efec6b2192eef55e82d8a80ff6" ], [ "FStar.Math.Lemmas.neg_mul_left", @@ -230,7 +230,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2af502eb17c925b41843baa8ca292791" + "484cee02542a751b878440224be556fa" ], [ "FStar.Math.Lemmas.neg_mul_right", @@ -243,7 +243,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "17615310a7b79602749e0d6423749654" + "c55e8da47fd66e2f29f26c58a2e1dc46" ], [ "FStar.Math.Lemmas.swap_neg_mul", @@ -252,7 +252,7 @@ 1, [ "@query" ], 0, - "47ae9f0e81cf0e77f824d03d43f8be17" + "5d630bf6185b562ebaadee0d6da4c926" ], [ "FStar.Math.Lemmas.distributivity_sub_left", @@ -265,7 +265,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "1e998a0ba82b777b352c346a8db6041b" + "d408bb96a1507d2bf60d4d7d5bc96c81" ], [ "FStar.Math.Lemmas.distributivity_sub_right", @@ -278,7 +278,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "8113176000f5a0e692bf938ef0c7c0a0" + "80192253278e31482aeb24294894480b" ], [ "FStar.Math.Lemmas.lemma_abs_mul", @@ -295,7 +295,7 @@ "typing_FStar.Math.Lib.abs" ], 0, - "7c35ca0878b3d87685312f89b658cf0c" + "cef837c37d57c45458db92c90a3ca259" ], [ "FStar.Math.Lemmas.lemma_abs_bound", @@ -311,7 +311,7 @@ "typing_FStar.Math.Lib.abs" ], 0, - "295b623f95d5c216826c8f8e30d1106c" + "5f3e9442af927ef3b9a8c0c69da64973" ], [ "FStar.Math.Lemmas.mul_ineq1", @@ -333,7 +333,7 @@ "typing_FStar.Math.Lib.abs" ], 0, - "4799a86a41ba66206f1fef132455c623" + "0618472df9210960a7ccf78694c165f5" ], [ "FStar.Math.Lemmas.add_zero_left_is_same", @@ -345,7 +345,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "5bac58f3640edff3c8d8eef92da264d8" + "306496a3765b3e4f0461649096bc9101" ], [ "FStar.Math.Lemmas.add_zero_right_is_same", @@ -357,7 +357,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "23350086d45faa0899025697b03c6dd2" + "3ae8db0031733145557d5fbcb0c4a86d" ], [ "FStar.Math.Lemmas.mul_one_left_is_same", @@ -369,7 +369,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "8399d29867755fa5a34ad3626a40cc1e" + "bcd65acc4e97ee13c1d6285e2f7f69d3" ], [ "FStar.Math.Lemmas.mul_one_right_is_same", @@ -381,7 +381,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "cba2ede97d9cb974329d56e7018e1e6f" + "14c790b9fe89f8b1e54b7f360a04fcde" ], [ "FStar.Math.Lemmas.mul_zero_left_is_zero", @@ -393,7 +393,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3761e740ef26d15f67be1231843765c6" + "7b86e18cbc5bf768cb53d1d9b343b648" ], [ "FStar.Math.Lemmas.mul_zero_right_is_zero", @@ -405,7 +405,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f103d39c622cb9a50c2b7e7a6f52570f" + "010ecee20a51f55a12756bfcd9ad9feb" ], [ "FStar.Math.Lemmas.nat_times_nat_is_nat", @@ -418,7 +418,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "626192850ab25ebdd4ee689324fa1bfc" + "d2edca5f04e24b42113067be281d0d82" ], [ "FStar.Math.Lemmas.pos_times_pos_is_pos", @@ -431,7 +431,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "87c8e5fcf91fe8cfad4546bf5424f241" + "5eb9b4fbfcc1a4e5e1d414d8228e15ed" ], [ "FStar.Math.Lemmas.nat_over_pos_is_nat", @@ -440,7 +440,7 @@ 1, [ "@query" ], 0, - "486cb07d348d2f4f53ed534152431b00" + "902065f5e9337d2e1ece57ebb7428414" ], [ "FStar.Math.Lemmas.nat_over_pos_is_nat", @@ -455,7 +455,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f3eebfe70e8ca40cf691303e51c23013" + "f2bfb74d1e1b42e8abcc09cc76c11e9f" ], [ "FStar.Math.Lemmas.nat_plus_nat_equal_zero_lemma", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_eccf147327f3985dffafc88d990d08b8" ], 0, - "e4653a04e9981f8a505844b34fde14c7" + "5066049442fccd2bab8178b71c1b9e60" ], [ "FStar.Math.Lemmas.int_times_int_equal_zero_lemma", @@ -483,7 +483,7 @@ "refinement_interpretation_Tm_refine_2b01395e9078edff94f88e62ec027673" ], 0, - "adb32a613c3fc39b9b6af911186c8ba7" + "fa0077a5b5224163b62db7f169aa8b2a" ], [ "FStar.Math.Lemmas.pow2_double_sum", @@ -496,7 +496,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "af2b64e601b4d173703c8fb9bb239a17" + "7d4461ef49abb215993c1fcc6536e522" ], [ "FStar.Math.Lemmas.pow2_double_sum", @@ -517,7 +517,7 @@ "typing_Prims.pow2" ], 0, - "b477001137c088415e3d5c01cd27ffa8" + "c2b81fb38a5b1c7e4096c8b7f4e34e4d" ], [ "FStar.Math.Lemmas.pow2_double_mult", @@ -530,7 +530,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8b8b5c9573c5630d48e9489e3a9f6927" + "0b13495ceceeaa08287c6f26dbe40c64" ], [ "FStar.Math.Lemmas.pow2_double_mult", @@ -548,7 +548,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b18002f2516199c72e57248fcc97b60e" + "2011a880d813afbfd5bc363a91564ea2" ], [ "FStar.Math.Lemmas.pow2_lt_compat", @@ -573,7 +573,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "2604fac778edb4510edbec33eb2150df" + "c64a4152294548b9f7f71220d35eaf8a" ], [ "FStar.Math.Lemmas.pow2_le_compat", @@ -587,7 +587,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "67c1d2df5d53877018aeb75a42e7aa12" + "76c94eef8091af8622190601c154391f" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -600,7 +600,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cac2fbca36c5f8e3ffe73c34975c3c2a" + "44aae08c43489468b3c90d50b85baf8d" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -614,7 +614,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0e83eb6cdaa37a8e701a6fc833f1f79f" + "73723a0777438b43119d9d9c299262e0" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -639,7 +639,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "467cc7f89b27e0bffc3a5c712b5f062f" + "d600e3957df33edbe2465340d8431959" ], [ "FStar.Math.Lemmas.pow2_minus", @@ -654,7 +654,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6f5761c74d97808c2270b30d33314d95" + "4d9a289a2e383b9831f352859f671075" ], [ "FStar.Math.Lemmas.pow2_minus", @@ -680,7 +680,7 @@ "typing_Prims.pow2" ], 0, - "d67ad9760c28fc53e1eb1fdf0fda810b" + "23b69b582eb04fce27e0f069997cd59d" ], [ "FStar.Math.Lemmas.multiply_fractions", @@ -694,7 +694,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "89cc12c9ccde2d05011eea2bd44fd48e" + "1d4c074f24fdc976908e10d4a5cf41f1" ], [ "FStar.Math.Lemmas.modulo_lemma", @@ -703,7 +703,7 @@ 1, [ "@query" ], 0, - "ce0d9d53dfc6ac49ef405b8fe76c8336" + "3f7df1397b6a2bee8d91a002e624735e" ], [ "FStar.Math.Lemmas.modulo_lemma", @@ -718,7 +718,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "97537108ea64799e655aeb63ea9a9069" + "7b33d20e5575cba1142c0e2734cdb396" ], [ "FStar.Math.Lemmas.lemma_div_mod", @@ -733,7 +733,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "807cb942c3e0ff3f1219d33c32c4a2e7" + "eb8bb0fbad83ef80fe9fa3f5fec08575" ], [ "FStar.Math.Lemmas.lemma_mod_lt", @@ -745,7 +745,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bdd70d51b5f06f025b3bc0622bbb7c02" + "a191fdaefff2e9ff90b29d0950793c1f" ], [ "FStar.Math.Lemmas.lemma_mod_lt", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e9e90e118ec740c06f5c69bccc49abe4" + "455236f9f66b10349f554645a3f13b03" ], [ "FStar.Math.Lemmas.lemma_div_lt_nat", @@ -774,7 +774,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "36924cb100a57e2c233fdd8d25665f81" + "920ee611e37c29e8b2aa537edd5ca40e" ], [ "FStar.Math.Lemmas.lemma_div_lt_nat", @@ -794,7 +794,7 @@ "typing_Prims.pow2" ], 0, - "f3211f1c23e86331f26e1bce7367c5dc" + "93a5b01807a8049d1234cdf5c002fba3" ], [ "FStar.Math.Lemmas.lemma_div_lt", @@ -809,7 +809,7 @@ "refinement_interpretation_Tm_refine_ef2e09dbb34375eb604aeb2ad341efb2" ], 0, - "9430faf8166381df596d8bec8d0ccdd3" + "85162bf931439936736d46874fe78835" ], [ "FStar.Math.Lemmas.lemma_div_lt", @@ -830,7 +830,7 @@ "typing_Prims.pow2" ], 0, - "126e281772edc9f7987195012dab8a53" + "72701d4a5a4d17e53ac5140532124cbe" ], [ "FStar.Math.Lemmas.bounded_multiple_is_zero", @@ -844,7 +844,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a39542e279b9f1fa21b19bbc35a49513" + "6aba97587ee22355fa29af1f3fca462e" ], [ "FStar.Math.Lemmas.small_div", @@ -853,7 +853,7 @@ 1, [ "@query" ], 0, - "87aa3cba052e4ccd819d38d57d91f4c8" + "b220ed16aabb9d3522f75358738c9d73" ], [ "FStar.Math.Lemmas.small_div", @@ -868,7 +868,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "72a937320edb9a1f46876239e2972595" + "cd82601d0090065ae49088d76bf841fb" ], [ "FStar.Math.Lemmas.small_mod", @@ -877,7 +877,7 @@ 1, [ "@query" ], 0, - "51a21b8903324858679e661bb768e274" + "78a167d1ceec4e4d73c41994ac9aae08" ], [ "FStar.Math.Lemmas.small_mod", @@ -892,7 +892,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "13dcb1117d7b079e6ee777047b3ed5e4" + "a9a50f7fe7649cd01a038b7fc9262c30" ], [ "FStar.Math.Lemmas.lt_multiple_is_equal", @@ -908,7 +908,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c18e27d3060d951ee5764c2119e45558" + "93dfd58d905fc60db1dc3c1fe1de3956" ], [ "FStar.Math.Lemmas.lemma_mod_plus", @@ -920,7 +920,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5ec0db2e86e09baff5cc80ace0c1b797" + "5920880d7920a1c045fcbb48ec68d879" ], [ "FStar.Math.Lemmas.lemma_mod_plus", @@ -935,7 +935,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "80fc9da2dcfee73ea2e13aa9f394f0fc" + "ff6f258a94e21b969c0b99c6241ff91a" ], [ "FStar.Math.Lemmas.lemma_div_plus", @@ -947,7 +947,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "113e998004c0f105afc4d6eed979ec9c" + "4e5d9c3807f65a2001bae1b7e4ebe1dd" ], [ "FStar.Math.Lemmas.lemma_div_plus", @@ -962,7 +962,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a5a8833d9d7a4e76e7dc1530f055b6ac" + "61377f1d0c71a0b24461e4722d12b9f8" ], [ "FStar.Math.Lemmas.lemma_div_mod_plus", @@ -978,7 +978,7 @@ "refinement_interpretation_Tm_refine_fb5606ca0f2108b5822be3b8d7fc1913" ], 0, - "c90c6b1800be2ad8fa4ca468bf6a3f19" + "01aa2138de1b5e5a0dd5fd563c0d560e" ], [ "FStar.Math.Lemmas.add_div_mod_1", @@ -994,7 +994,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "766b22b38f889689d0f7bf77fa6e0629" + "bc6dab8bcebc0e57d47b9e9b5ecb53dc" ], [ "FStar.Math.Lemmas.add_div_mod_1", @@ -1009,7 +1009,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e3184253a311f0a994aec100bcb880da" + "c3f483b25b9fe5c84744599b0c5a59e2" ], [ "FStar.Math.Lemmas.sub_div_mod_1", @@ -1025,7 +1025,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d45f07b93025a0f4b517b8fac9e32d5e" + "f6fba2a3816d3394396962b28da53abe" ], [ "FStar.Math.Lemmas.sub_div_mod_1", @@ -1041,7 +1041,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c07a4a07bfa9dd1e977b86b6b0e76a5a" + "1a811ddfd03b337322365b6ac4b0d7d5" ], [ "FStar.Math.Lemmas.cancel_mul_div", @@ -1054,7 +1054,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "05b5d6e14382f0a72f981a71aa420baa" + "0de2d90b7e9411e36eda53e78b9b8f23" ], [ "FStar.Math.Lemmas.cancel_mul_mod", @@ -1063,7 +1063,7 @@ 1, [ "@query" ], 0, - "a83ed0b530d5182adec3ddd27c28a5a9" + "414daf6ddec0e4fd69773b5f958a371a" ], [ "FStar.Math.Lemmas.cancel_mul_mod", @@ -1078,7 +1078,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7246a6430a0a51140551462770d11b2c" + "0eaa6ec99a464b81be615623947e03a6" ], [ "FStar.Math.Lemmas.lemma_mod_add_distr", @@ -1090,7 +1090,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ab4c23275be538c2cbbf94452ca209f1" + "d74adb947158a9cba6ed87db5633967a" ], [ "FStar.Math.Lemmas.lemma_mod_add_distr", @@ -1105,7 +1105,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a77a546346ed96d5949e1c38818fa4d5" + "3f04cd01e404421b5d375883e375416c" ], [ "FStar.Math.Lemmas.lemma_mod_sub_distr", @@ -1117,7 +1117,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "40bcb05b5814e23252549e0480a488ba" + "c85a00fed0338c8095a07987c2a72a4b" ], [ "FStar.Math.Lemmas.lemma_mod_sub_distr", @@ -1133,7 +1133,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0ddad751c8ecb2e2f05d48b86eb0013c" + "5f6b2009f336d773dd14276533b9dd03" ], [ "FStar.Math.Lemmas.lemma_mod_sub_0", @@ -1142,7 +1142,7 @@ 1, [ "@query" ], 0, - "af27203b15ddde0dc6d918e1d67be6e5" + "ef1cdeaf1a46f0187e729f73e556356e" ], [ "FStar.Math.Lemmas.lemma_mod_sub_0", @@ -1156,7 +1156,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2cd1d71f9afb88c1b482e441e17e3e2f" + "c9d4995a1d44d877cb500e01bdea949d" ], [ "FStar.Math.Lemmas.lemma_mod_sub_1", @@ -1169,7 +1169,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9c58cf774856afc15446f937ec66439a" + "9bf019a21c39bfa0fb563b077db05c79" ], [ "FStar.Math.Lemmas.lemma_mod_sub_1", @@ -1185,7 +1185,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "015892e27dddc6de8c783f972cca28bc" + "906ad9adbfaff0c1877a5a130e1b152a" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -1197,7 +1197,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "be7656662e7824f20bcb0cae797a4e6d" + "6d87a8094ef79dfa90d85c244ce4986e" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -1210,7 +1210,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "646894f4308621c89ac04cd8c6144bbe" + "4727fe66c444008eecaada0828aa9482" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_r", @@ -1222,7 +1222,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1a01cac79c3c71c91fe5d6ed31195c6d" + "e2fa70ddac741a7105700be517eec794" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_r", @@ -1236,7 +1236,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e492994604c0666ea18f9d39148a565c" + "b727fa7a3146f46bffbc07de9b58fc18" ], [ "FStar.Math.Lemmas.lemma_mod_injective", @@ -1252,7 +1252,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d50be8f2164b02b884a0c9b3fc9b8821" + "2f9feb9695dc645d08b90f8883a3a52b" ], [ "FStar.Math.Lemmas.lemma_mod_injective", @@ -1266,7 +1266,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6186c68c75b7f7f4818e4758abcf694a" + "e8a109de0bad3e6ae9e7c41aa2ad484e" ], [ "FStar.Math.Lemmas.lemma_mul_sub_distr", @@ -1278,7 +1278,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "472d17350d7f1639aa40583fc4781a95" + "2bc32f5320cd293caf84f2ba2400fa94" ], [ "FStar.Math.Lemmas.lemma_div_exact", @@ -1290,7 +1290,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3be943ba9da9b5a144fbb334766f26c4" + "3c41df6316117b31c64857b579735b14" ], [ "FStar.Math.Lemmas.lemma_div_exact", @@ -1305,7 +1305,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "da4ec48d111f4e94c0ca2c23b2d07200" + "2a6eccb57bdbb7ea3f61fb2e03f741d3" ], [ "FStar.Math.Lemmas.div_exact_r", @@ -1317,7 +1317,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "25141c936d862db9b0e1b1f5df234733" + "2dc4ca0a2e34c4871ed2eb88672cfc6b" ], [ "FStar.Math.Lemmas.div_exact_r", @@ -1332,7 +1332,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e90e3b8b0b0732c7e85cf4f585d0e4b2" + "20becb720759e477c203095e7a150bc7" ], [ "FStar.Math.Lemmas.lemma_mod_spec", @@ -1344,7 +1344,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2570236c037e8f066b45c714848f4040" + "ef84a938614086e3d32cf6202454e03d" ], [ "FStar.Math.Lemmas.lemma_mod_spec", @@ -1360,7 +1360,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "86df76e315ccf5dcc6c1ac1a9eecff13" + "04babdd1fe63a42db5fec2f5c7427eed" ], [ "FStar.Math.Lemmas.lemma_mod_spec2", @@ -1372,7 +1372,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "163b96082d02290d6a06af223568da33" + "5bbff954de32f900b7b8504e118c7680" ], [ "FStar.Math.Lemmas.lemma_mod_spec2", @@ -1388,7 +1388,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "befcc233ffa66ae5da1ff3c6fe55a39a" + "3b5eae4489318ca5e6d2d5af36c64b6f" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_l", @@ -1400,7 +1400,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7c66d38f4b5785a85a4ddd0bbe0f26b1" + "4a63fc988c97c9501bb79b1da7b368f4" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_l", @@ -1414,7 +1414,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "284b4f2315f94909eac2c0772a870720" + "2c688c7e8adbaedd03563956eba320e9" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_r", @@ -1426,7 +1426,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0ed23b4b86cc7329de2248adfcd2736d" + "710308396101ad51ff14d4e6957b769b" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_r", @@ -1438,7 +1438,7 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" ], 0, - "0b5e63395ef518a87a6df65172e5ac48" + "a398bcc6075e91f4ef7c4570e881238d" ], [ "FStar.Math.Lemmas.lemma_mod_mod", @@ -1450,7 +1450,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "508b7c2abc7a0adbf15f021422ca2ef7" + "5eba9292220d4b8ce567279ee493bbf0" ], [ "FStar.Math.Lemmas.lemma_mod_mod", @@ -1463,7 +1463,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c47a6d7fafa24c1f4af54df2afcc40ce" + "263ee6040a9180f58bcee220e9c53e52" ], [ "FStar.Math.Lemmas.euclidean_division_definition", @@ -1478,7 +1478,7 @@ "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "80e6c721be102cde95a9f016f9e4ae81" + "7931d913b466324ec7c8111076da18e9" ], [ "FStar.Math.Lemmas.modulo_range_lemma", @@ -1490,7 +1490,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0f85a2abaf31bbb9ebdefcf96b0f39b5" + "5110c6c4358865fcf7f4c3d353b413c2" ], [ "FStar.Math.Lemmas.modulo_range_lemma", @@ -1506,7 +1506,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "609f6cdc596feb4e5777c67003a2e3ae" + "3de3facbef725e6dcff97ecbaca5e2bb" ], [ "FStar.Math.Lemmas.small_modulo_lemma_1", @@ -1520,7 +1520,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b77098e7fa93a31e84e02eb8e1af9f1e" + "e1c17c229a6657e58bc2cd52b100b138" ], [ "FStar.Math.Lemmas.small_modulo_lemma_2", @@ -1532,7 +1532,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c3505e3aa121812d938e0b0736e61432" + "d2a32c7303b0f67b4d2e19ebc5e73068" ], [ "FStar.Math.Lemmas.small_modulo_lemma_2", @@ -1545,7 +1545,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9179de81abe46e47b6c0e601a6b9ea8f" + "18ad3f7296a74ab21eb833ebed481a25" ], [ "FStar.Math.Lemmas.small_division_lemma_1", @@ -1558,7 +1558,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "87722046bc227966b6168a7e35a84b04" + "9e96d5ebdd4460e7a2e690bff3fdf55b" ], [ "FStar.Math.Lemmas.small_division_lemma_2", @@ -1570,7 +1570,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cf430f14b015132c0255837f55358bc2" + "88c31a965a8243397dd657315dc3e5b4" ], [ "FStar.Math.Lemmas.small_division_lemma_2", @@ -1584,7 +1584,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f5ba28059d81164774629d00a0020890" + "db4d9cfed165981cd748eb32aff8931e" ], [ "FStar.Math.Lemmas.multiplication_order_lemma", @@ -1597,7 +1597,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1698f3e6c2484fca396b29fcd9360ad5" + "bc0028e293fccbf0614e5795ae4598ee" ], [ "FStar.Math.Lemmas.division_propriety", @@ -1609,7 +1609,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e11b6a40e907ef2b28ebfd5f9d589163" + "b8e78a5ddec6a59ee345865e5726a9f0" ], [ "FStar.Math.Lemmas.division_propriety", @@ -1626,7 +1626,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cbdf564bc750f4b3ebebf86f7ec75c16" + "fefa14bc8ce31d6d7169d07b5da55c45" ], [ "FStar.Math.Lemmas.division_definition_lemma_1", @@ -1635,7 +1635,7 @@ 0, [ "@query" ], 0, - "df71773a19dd2983af68b5ed70efe90d" + "5ac86118d8a3e45a2c59ec5b94fa1678" ], [ "FStar.Math.Lemmas.division_definition_lemma_1", @@ -1651,7 +1651,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fbbe92ab02b9fb53ee828a3ac083cd0a" + "710c7da657fe0408b5a1fe872cf88d32" ], [ "FStar.Math.Lemmas.division_definition_lemma_2", @@ -1660,7 +1660,7 @@ 0, [ "@query" ], 0, - "19d4d5d069d25a7a0403156f171e3de5" + "5ebbe8bdbb754b1f79fd693971dfc4f1" ], [ "FStar.Math.Lemmas.division_definition_lemma_2", @@ -1676,7 +1676,7 @@ "refinement_interpretation_Tm_refine_d7e97d01980c483711555228730a8e9b" ], 0, - "a3fd0be742fa5772a661bbf5e9fe9d53" + "c8ca2405f6c0af461ce0310001bd7e9e" ], [ "FStar.Math.Lemmas.division_definition", @@ -1685,7 +1685,7 @@ 0, [ "@query" ], 0, - "15334b51e3b8ca513cf3e58c83e00e8a" + "a8f33f0af0fb444c2074c8435f63e686" ], [ "FStar.Math.Lemmas.division_definition", @@ -1704,7 +1704,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2d7c91559df8e56ce5063e1192dd6194" + "aa30d70c1c87db1c2cada94af1637c4c" ], [ "FStar.Math.Lemmas.multiple_division_lemma", @@ -1713,7 +1713,7 @@ 0, [ "@query" ], 0, - "0d938c505811c4e9de9804fc4b72479c" + "ed5a8393577f3ee1cc9a5911ff1c7739" ], [ "FStar.Math.Lemmas.multiple_modulo_lemma", @@ -1722,7 +1722,7 @@ 0, [ "@query" ], 0, - "f477e2dfba10e6ac336ee3c9b2e036bf" + "1abc91a8dfa6874eb66bd9ba26b7b309" ], [ "FStar.Math.Lemmas.multiple_modulo_lemma", @@ -1731,7 +1731,7 @@ 0, [ "@query" ], 0, - "ac01f726243ed170806c8f0a977bd0f5" + "6b8b58be37bca36278804de009fbca7a" ], [ "FStar.Math.Lemmas.division_addition_lemma", @@ -1743,7 +1743,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9f43b01c1282609f7a501470ec19f191" + "834d9c761f4258b8ed5eaf0b73fa3370" ], [ "FStar.Math.Lemmas.division_addition_lemma", @@ -1761,7 +1761,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db95f9a1b5d13f52e09190d9b97abfe5" + "d52444efb7a1bc45af8697583ee2ec23" ], [ "FStar.Math.Lemmas.modulo_distributivity", @@ -1773,7 +1773,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "315ddbc592883f01f63a5247a1f4ba8c" + "12fb1739254efbbe306b1045b12fc2a5" ], [ "FStar.Math.Lemmas.modulo_distributivity", @@ -1786,7 +1786,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e1d14187770112d93ce8dafa6607ad33" + "5f8ad26125e889884798c8126c610984" ], [ "FStar.Math.Lemmas.lemma_div_le", @@ -1798,7 +1798,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3f9d0d96dbbfc73552e64e87f047147f" + "1094b0be4926132142a514e71986d451" ], [ "FStar.Math.Lemmas.lemma_div_le", @@ -1818,7 +1818,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a29234c1e78dfd7a3d3ec35d80cae677" + "059b637b8b80134a567c9c78b004d6ed" ], [ "FStar.Math.Lemmas.division_sub_lemma", @@ -1830,7 +1830,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ee8244648ef7a4ad0722306a9ad3909a" + "562c52c22d5cb30144855c25c0d50b67" ], [ "FStar.Math.Lemmas.division_sub_lemma", @@ -1846,7 +1846,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bedd7001561bfdf9ee64db5a41c4a3c0" + "651791986f41220ed307023c9c6df19d" ], [ "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", @@ -1858,7 +1858,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ba2188c04b9356802694d0d6ea68c435" + "725ce9253567efd03602418cafa6751f" ], [ "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", @@ -1874,7 +1874,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2e952f95315a24a8ad455b70687251e0" + "74e890b5c549ff0c7d50b98d4e654872" ], [ "FStar.Math.Lemmas.modulo_addition_lemma", @@ -1886,7 +1886,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "31105710ed5791b94a5b3f942cba91ee" + "f370a7117da53a22018edf1b82c0360e" ], [ "FStar.Math.Lemmas.lemma_mod_sub", @@ -1898,7 +1898,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "834f72c706bfb44cd0bd1aa3913256f2" + "ec5e5ded1a2003828dec8e4dc1361563" ], [ "FStar.Math.Lemmas.lemma_mod_sub", @@ -1913,7 +1913,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d047a4123461cc2294a68f39beb2e2fb" + "a6df830fdfd5d3c7e7344bcd14a7f264" ], [ "FStar.Math.Lemmas.mod_mult_exact", @@ -1927,7 +1927,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "422a095b616f8cde3754361332b818b4" + "f68e8a7e5f3beadb0da258814ad08bad" ], [ "FStar.Math.Lemmas.mod_mult_exact", @@ -1941,7 +1941,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6a590b0bdfd26f92f0bcdb57bbc0d067" + "8e877fdfecde42caa9e6506e94d7d87e" ], [ "FStar.Math.Lemmas.mod_mul_div_exact", @@ -1959,7 +1959,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "10dfc984a10ef7bcfb78104d221837b0" + "ce8368f4fd777b4479510dc3e4f3461a" ], [ "FStar.Math.Lemmas.mod_mul_div_exact", @@ -1973,7 +1973,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bc1504199a3d670f51d1e733315f8292" + "c5e70e8742b43d5d4cace7e5169e414c" ], [ "FStar.Math.Lemmas.mod_pow2_div2", @@ -1991,7 +1991,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ced213425c48dbdbaeb6bac6abb07fb9" + "e0786c3a0e2f8b07fbdca924a312e2ec" ], [ "FStar.Math.Lemmas.mod_pow2_div2", @@ -2009,7 +2009,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a781bd8e13a80dbceeb7e3bf9737a83a" + "6731488a62f0925c70da29ebe3bfa2d1" ], [ "FStar.Math.Lemmas.lemma_div_lt_cancel", @@ -2018,7 +2018,7 @@ 0, [ "@query" ], 0, - "5b6e7a92f07ccda7bf89e7b66c692238" + "28e4a1ccb5ade17dadde012880ae8b7f" ], [ "FStar.Math.Lemmas.lemma_div_lt_cancel", @@ -2034,7 +2034,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0d5d4fed2e8f29d7ff507deb1496891c" + "a1c5450d30042b3830312dca26e86430" ], [ "FStar.Math.Lemmas.lemma_mod_mult_zero", @@ -2048,7 +2048,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a313312acb2621be8c0f4c651d6f0854" + "df399f098980bdeac74a2743f4372706" ], [ "FStar.Math.Lemmas.lemma_mod_mult_zero", @@ -2063,7 +2063,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1d75953d64edd0e62330aefc064d24bb" + "03495cc5edb7cb55ea705e9e75d2de60" ], [ "FStar.Math.Lemmas.division_multiplication_lemma", @@ -2077,7 +2077,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c09d735d20b60c93e7e1591748688ec1" + "cc94a08705c574a1a9a2c3df69f9d914" ], [ "FStar.Math.Lemmas.division_multiplication_lemma", @@ -2091,7 +2091,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "86b6f2c1cc58360d9ee744c49e260c48" + "1872d5dfcd35c0552b064b700173b035" ], [ "FStar.Math.Lemmas.cancel_fraction", @@ -2105,7 +2105,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b05fa3f83c7db8b2f5703534863c0041" + "392b82b2dab0a60aa844093357e85d3a" ], [ "FStar.Math.Lemmas.cancel_fraction", @@ -2119,7 +2119,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "413ae7c6a4ad153a27fef36c58ecd590" + "fea1d6423554cc263b756531612a41a5" ], [ "FStar.Math.Lemmas.modulo_scale_lemma", @@ -2133,7 +2133,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "00d4770fd73a942fbaeabbdc3aad9ee9" + "a7134bae4f4ebe621f059294acee3ee3" ], [ "FStar.Math.Lemmas.modulo_scale_lemma", @@ -2148,7 +2148,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2ab852218408b3ba4a9c2bda05c27f51" + "5dc30dc8d4bd80d76c43c78e7325f16b" ], [ "FStar.Math.Lemmas.lemma_mul_pos_pos_is_pos", @@ -2161,7 +2161,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "56cfb4dfc0a5f4c775e7411b623a2a76" + "b9c4ca19e5e1bcffb1da96701eb0c840" ], [ "FStar.Math.Lemmas.lemma_mul_nat_pos_is_nat", @@ -2176,7 +2176,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "459c2ef44d32d0eb5777f599a13827c9" + "d847988fbc04adcea89193f0419cff6e" ], [ "FStar.Math.Lemmas.modulo_division_lemma_0", @@ -2192,7 +2192,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "72daa2f909806db77a273922d404d3b4" + "8ee22e210dd6ae38f33c90cd285b7100" ], [ "FStar.Math.Lemmas.modulo_division_lemma", @@ -2206,7 +2206,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d0e516c83f510867a2f44ef34269c3b8" + "1fc510b0128386f75ebdd9a499c6c81e" ], [ "FStar.Math.Lemmas.modulo_division_lemma", @@ -2223,7 +2223,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f68fdcc62a8a0be098b2c448eaad1f0b" + "5b70b752ba252d609b947b780d61e32c" ], [ "FStar.Math.Lemmas.modulo_modulo_lemma", @@ -2237,7 +2237,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "feb57d20fed3841d46771185e78d37a9" + "1d1fbe1da9456e1b69115300eebcebc6" ], [ "FStar.Math.Lemmas.modulo_modulo_lemma", @@ -2253,7 +2253,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c5aefaf27eaf87fe2c0d218ec1d3d8c0" + "7ffdb6458141896a6af3d23372bdc3d3" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", @@ -2268,7 +2268,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "f4bff1bdab880f24ee25a0b8669063da" + "5c91799084c2d55567a2cedc02604ab9" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", @@ -2287,7 +2287,7 @@ "typing_Prims.pow2" ], 0, - "650b70ddf7567ccb61db8dddcd668877" + "4d4eb6e13b12ca4c95e4dd9fe5d0701f" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", @@ -2302,7 +2302,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "9463ab4db0b613f711668ad5b50b9cf3" + "964aa8ba4413f5bea4265f6001b09d75" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", @@ -2321,7 +2321,7 @@ "typing_Prims.pow2" ], 0, - "3395ff0e19f544c00ac0fbcb909d646e" + "bb6791de7484bb9e0fe96d4b115e8f33" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", @@ -2334,7 +2334,7 @@ "typing_Prims.pow2" ], 0, - "b51097c0aa011693300ca795c56e2042" + "83ab6c67e149c8ae7294d9117685f89a" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", @@ -2349,7 +2349,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "70e4b5357aa223ba20a496c95a6969db" + "df0c75cb506eac327a3f91a521efc20c" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", @@ -2364,7 +2364,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "60c769d70d381e43cf4800b409071ef6" + "ff546e0a2da4439b13b223283664d76a" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", @@ -2385,7 +2385,7 @@ "typing_Prims.pow2" ], 0, - "65a762829b11757fe2b70195ab5bcc80" + "6a4ba6f2de01704acbdc900a190e8509" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", @@ -2401,7 +2401,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "3dd2aa314064eb88935792c742ff48d7" + "98a6e5da899c2951512e6d4a3febb81f" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", @@ -2417,7 +2417,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "72ef8569f6a20b409ced3621192e8a3f" + "7b50d306b0ff08b299e613d4c837229c" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", @@ -2426,7 +2426,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "26cf00b3167067377d5db0d04ebceb2d" + "cb8fc45641c32d5477fc18b5ab9cffdc" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", @@ -2444,7 +2444,7 @@ "typing_Prims.pow2" ], 0, - "8fc30985ba66a768712638dc33e0a7c2" + "5f708e6a8789535e5c030ae0c4de13a9" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", @@ -2460,7 +2460,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "efc7b555555af5ebe56f1cba415b02fc" + "a16dfaeb31c975c91d0f9666496e6ad4" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", @@ -2476,7 +2476,7 @@ "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "ce8b6e7e68c2e91d864ee1ac9f659cdf" + "851f438f547a458070528687e0903ef1" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", @@ -2492,7 +2492,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "6d5ceefe3a83f684766a8e20add59d40" + "bea1e820e4631c9f902e4976eaa5d07a" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", @@ -2510,7 +2510,7 @@ "typing_Prims.pow2" ], 0, - "1a077605a741f1914bb02b23c053ec48" + "e13b5497c0c1a18654528b9c2d238877" ], [ "FStar.Math.Lemmas.modulo_add", @@ -2522,7 +2522,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3afbc44353fedeb2644012e3e7d13d86" + "983e6eaf203c411054bf331ae8b59ae6" ], [ "FStar.Math.Lemmas.modulo_add", @@ -2531,7 +2531,7 @@ 0, [ "@query" ], 0, - "15a8dc0adaacfb630c90ed5b196ede25" + "22f8a5d015daf88db624015a0d019801" ], [ "FStar.Math.Lemmas.lemma_mod_twice", @@ -2543,7 +2543,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ce6666979b1690af1f41d2394b842040" + "a9ad057dd34437fde9f893825df5671d" ], [ "FStar.Math.Lemmas.lemma_mod_twice", @@ -2555,7 +2555,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2113a88e301d05a43dd08f188c4b5d07" + "a1394b32420ef027a26b53bb070e15bd" ], [ "FStar.Math.Lemmas.modulo_sub", @@ -2567,7 +2567,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "aa80a00a6f48abfefadb7e2b2951be32" + "e3bbe73435a16118ea834353df7d5d75" ], [ "FStar.Math.Lemmas.modulo_sub", @@ -2580,7 +2580,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b91cabbdbf9902bd365f3e5579c9b12c" + "b6e64d3aba6cde85f47ce5e96e5d06e0" ], [ "FStar.Math.Lemmas.mod_add_both", @@ -2592,7 +2592,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f8aa8168fe33ad0be0ef69f0b97052a7" + "cb519d88b2f2c745f9383c80ac10cf6f" ], [ "FStar.Math.Lemmas.mod_add_both", @@ -2608,7 +2608,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1361d63611ca0fe727dbeea654ec26a3" + "b046b2457e93dd344ff9a66caec58b6e" ], [ "FStar.Math.Lemmas.lemma_mod_plus_injective", @@ -2624,7 +2624,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3805bd06f9597dddc01ef3565e92be8e" + "7e1a62e495b5e4dff2817b77ed30e1c0" ], [ "FStar.Math.Lemmas.lemma_mod_plus_injective", @@ -2639,7 +2639,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "366aff08bd9773e8527efdeefb1c7b95" + "168f302d4bfe93eb299c40a6c9cf61cb" ], [ "FStar.Math.Lemmas.modulo_sub_lemma", @@ -2651,7 +2651,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f72387fc378b64e02442341b939bf4c9" + "17f7c7701196c64566a7ac1d739c0f48" ], [ "FStar.Math.Lemmas.modulo_sub_lemma", @@ -2667,7 +2667,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0033d0c236a9f6b095df67914043fa78" + "b06f5c5c2a0e736ea158d0b2c67bd8be" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Math.Lib.fst.hints b/ulib/.cache/FStar.Math.Lib.fst.hints index 7f3481d8371..a0a3cc0ea63 100644 --- a/ulib/.cache/FStar.Math.Lib.fst.hints +++ b/ulib/.cache/FStar.Math.Lib.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e5430d7650d8cf82224715dea57a8677" + "742c8ffb551c98b149f8bec0234bf071" ], [ "FStar.Math.Lib.lemma_div_def", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f6ac20e7bca5331375e0e561538b3379" + "3067f9c526f6a7175f9e191eb331c75f" ], [ "FStar.Math.Lib.mul_lemma", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "650492a8555c925c4f8371dc4d870d5e" + "39c70bcf589da765f831ad7cbbc2d402" ], [ "FStar.Math.Lib.mul_lemma'", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cd48cc7a16d4d283385bcf75cca342bf" + "9ce4a8e5641d9bb73ce01d68c7b487e5" ], [ "FStar.Math.Lib.mul_div_lemma", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "761449b75e9703128fb121414b28e32f" + "93cf33a3fd27130e9bec456d290608c8" ], [ "FStar.Math.Lib.slash_decr_axiom", @@ -78,7 +78,7 @@ 1, [ "@query" ], 0, - "77989251b7e6cdd767878e1dd9e738df" + "119e7412c4578895afca30f1806ec180" ], [ "FStar.Math.Lib.slash_decr_axiom", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5f7454953f85b8fa0e9aa497047b97ba" + "75a6f26d70a2db12f35579b751621f39" ], [ "FStar.Math.Lib.lemma_mul_minus_distr_l", @@ -105,7 +105,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "0183e0e8738335f0a700e1182800c55e" + "db4fe56ef40cf52d06737141deca1b32" ], [ "FStar.Math.Lib.slash_star_axiom", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "767504b93d64caac520e8ab07eedd28a" + "d7762901892f66d4c71fbc8c7d03f319" ], [ "FStar.Math.Lib.slash_star_axiom", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e59fae4d9314839ba3516323b9cf2e7e" + "936b62be5d893c205c862eae739490c1" ], [ "FStar.Math.Lib.log_2", @@ -151,7 +151,7 @@ "well-founded-ordering-on-nat" ], 0, - "8d4cd9abac05006b5edfe8ad17f99034" + "57e5b11c9a8bc30bf411ca7d8c19cd06" ], [ "FStar.Math.Lib.powx", @@ -171,7 +171,7 @@ "well-founded-ordering-on-nat" ], 0, - "ce080e2ca5e534e08e50f9db486a65f4" + "b856d484633b7d65fcc16980ae26e84b" ], [ "FStar.Math.Lib.abs", @@ -184,7 +184,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "53a83962dd35a0bc0c74d99129357fe6" + "2990a5eb6f3ad03a030ab6c82baeff46" ], [ "FStar.Math.Lib.max", @@ -197,7 +197,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7bfb414f70a314a5148777fd0e580e21" + "5e39e33fe31b4ca4839b43ea0ccf1b5e" ], [ "FStar.Math.Lib.min", @@ -210,7 +210,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a6da05f45ec88e9dd703653a7a8d92a3" + "d6edd338b24f30799e8303997e2594fa" ], [ "FStar.Math.Lib.div", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c96582ebb5651bbb358b826baf7477ed" + "b29f8ec505054e07f5506e2d3fc8893f" ], [ "FStar.Math.Lib.div_non_eucl", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9024c4bc5134905002bf1e2dfa1b09e0" + "001921a8f9db78ad3c013c5983f6c7da" ], [ "FStar.Math.Lib.div_non_eucl", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1cc4916bf18ab6aa7dd47e1d61f79118" + "04957f37d004246284964353e8c4e792" ], [ "FStar.Math.Lib.signed_modulo", @@ -276,7 +276,7 @@ "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "d16166efb509d7f303ceedf304fd70ee" + "8a23ba9cbc01c3d39a5efe89b1f36071" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -288,7 +288,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4b80054246b845a17a54888b2941f495" + "dcf78a1765d9aac06374c1576673cf1f" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "61224ce90cd36d279eeec857b72073f1" + "7b920a383198025a019195d7e4678252" ], [ "FStar.Math.Lib.powx_lemma1", @@ -324,7 +324,7 @@ "typing_FStar.Math.Lib.powx" ], 0, - "dbfd17eeb73fe3d8ee44ba57f926dcc7" + "cd7b84d5297ff0767fcbe1add04afeb8" ], [ "FStar.Math.Lib.powx_lemma2", @@ -337,7 +337,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "763004f87bea43373c790859f8b6cfc2" + "75024f3b333d0069da72c3958b0fafe5" ], [ "FStar.Math.Lib.powx_lemma2", @@ -348,10 +348,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcb82f3036be90380fb5f95639b3425c" + "refinement_interpretation_Tm_refine_e9b2588ee29374dfc5ea8ff966183cc3" ], 0, - "970bcd7326a5bd7fcf8ca81d80527e31" + "71c4903c6ef126691a0ec54f2015e89f" ], [ "FStar.Math.Lib.powx_lemma2", @@ -376,7 +376,7 @@ "typing_FStar.Math.Lib.powx", "well-founded-ordering-on-nat" ], 0, - "4589cf058b6f34aa014ff3fda8a8cbb0" + "d3c25ff26fd02635e28d8084a8f3f1ef" ], [ "FStar.Math.Lib.abs_mul_lemma", @@ -396,7 +396,7 @@ "typing_FStar.Math.Lib.abs" ], 0, - "bed7a886a4beb25088f2fac9db4ccbe2" + "10b9d0adc60cc90e822e3a75cdbac1a6" ], [ "FStar.Math.Lib.signed_modulo_property", @@ -412,7 +412,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8358c71b33f6e8cea2c9585a8a541bda" + "e2d5e927e9d6370e9424f7d067ea1faf" ], [ "FStar.Math.Lib.div_non_eucl_decr_lemma", @@ -432,7 +432,7 @@ "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "01f8144efe9c9de2c9353f1759dc27fc" + "e616e8fff8c6d21e45d74953f74d86b3" ], [ "FStar.Math.Lib.div_non_eucl_bigger_denom_lemma", @@ -453,7 +453,7 @@ "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "026814da83d968dcb428ae667fcbb88a" + "df7260d5c398b2582b56712c88eb5c13" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Matrix.fst.hints b/ulib/.cache/FStar.Matrix.fst.hints index 2338c37c4fa..c64661359e8 100644 --- a/ulib/.cache/FStar.Matrix.fst.hints +++ b/ulib/.cache/FStar.Matrix.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c0d4e44d541b8f971d5561862f16ab53" + "d164c9dcfae6acd774a09c220c1b8086" ], [ "FStar.Matrix.flattened_index_is_under_flattened_size", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7250bdb574d7f1b33f2206fb9f3fcf5b" + "2a0e894fe3be6963e9e6f5c40f8c6ac8" ], [ "FStar.Matrix.flattened_index_is_under_flattened_size", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "a5371d7d1ae9dac03ae182933bc77b62" + "8f60aed503a5e579929e87692df4bcb3" ], [ "FStar.Matrix.get_ij", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4974be68291dfeb7099636c00778ad6b" + "7b80ef95f299b14f31182523758121ee" ], [ "FStar.Matrix.get_ij", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "ab0d8d44e43e86d81ea5e4447964f611" + "adb4d3bab6d025607d3dfdddbe4b4090" ], [ "FStar.Matrix.get_i", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "91b3ec0d6a3a068203efe474fe2ccf47" + "8228074d77980566632beabf1b563ca7" ], [ "FStar.Matrix.get_i", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "a06a0dacff8c8ba055b1f1c3959dd1c7" + "9d3b7a38ce6c59b718c78441aa73b95d" ], [ "FStar.Matrix.get_j", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c83b236696fc3a9e07cb943e58d1fc54" + "cd8f62e9764f2c72ed396fab11367ee7" ], [ "FStar.Matrix.get_j", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "83df4543a264f10a9facfffea4a6c0ae" + "3294f53dfa5e49fa9445ed5f3f9fea72" ], [ "FStar.Matrix.consistency_of_i_j", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a318d5c3e1ccd754bb96ddb5920f066a" + "4c7c68fcce0751702fd3b06362025fe1" ], [ "FStar.Matrix.consistency_of_i_j", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "64fd9c92a64835bcf084f8088db492a4" + "6260b9dd9f8334809c04a5627d8c6a85" ], [ "FStar.Matrix.consistency_of_ij", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "60384fb9299eb64bfca4347087d82a2d" + "885d85888203fe2075aa5ef57b916a17" ], [ "FStar.Matrix.consistency_of_ij", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "e2b2bc0156457213ad38989f33542cb3" + "b7eb92b55accb5f489a7999adb8a65d4" ], [ "FStar.Matrix.transpose_ji", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a3e1907e8bb106fdda2bab29b570c9ba" + "e6e69197e35f0ba4db63fec85686c7c0" ], [ "FStar.Matrix.transpose_ji", @@ -256,7 +256,7 @@ "typing_FStar.Matrix.get_i" ], 0, - "6f14e225d436f692c6ac3dd186413bb4" + "80332dd07091c0d55361835fceb85dff" ], [ "FStar.Matrix.indices_transpose_lemma", @@ -265,7 +265,7 @@ 1, [ "@query" ], 0, - "1102f5332cf67f940116ea5f2459ce38" + "abffac3f81452df19f2ac6b51642a658" ], [ "FStar.Matrix.indices_transpose_lemma", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "3f23e67ed73fc8cb07c64675af3380ab" + "880c68ed04134c8ae9b2d751b9169a8f" ], [ "FStar.Matrix.ji_is_transpose_of_ij", @@ -304,7 +304,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6ed66c97e38d20a706f94b3486f10456" + "e0e816bce1541879af8b1dfae8b62191" ], [ "FStar.Matrix.ji_is_transpose_of_ij", @@ -334,7 +334,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "7b357e4a04a831b9cb5f23770371b90f" + "7e73f04e58effefd542968d4bfab2428" ], [ "FStar.Matrix.dual_indices", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bf6176b23e7d9fa3a12d6c09747bd6ff" + "d406a960a832e0e57c474e65f3a877c1" ], [ "FStar.Matrix.dual_indices", @@ -373,7 +373,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "0bd632595c7c258af198ba053c8718a2" + "8251656f66143e2ba22fb7529ca8cb71" ], [ "FStar.Matrix.seq_of_matrix", @@ -395,7 +395,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "6c796e85ba1bf11af7d52dd8f08202ef" + "bac01a055aa6118d77f720305e5c8151" ], [ "FStar.Matrix.seq_of_matrix", @@ -415,7 +415,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "61c6cd70df64a5b6f394012908d7da46" + "564f26a7456c9b788c94215f79ba5539" ], [ "FStar.Matrix.ijth", @@ -434,7 +434,7 @@ "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a" ], 0, - "e764c74825584669eef794b8a9195c2c" + "363f4ce394a583dceb91ff75e2303f17" ], [ "FStar.Matrix.ijth", @@ -446,7 +446,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0b30c81babde09b887832b65112554ef" + "69aef9158ff83108e5e00d483f3c8def" ], [ "FStar.Matrix.ijth", @@ -468,7 +468,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "60f689068d5fd056313b7c60432bbb27" + "600c77a3dccbbdc13be9b46dcc8d6383" ], [ "FStar.Matrix.ijth_lemma", @@ -487,7 +487,7 @@ "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a" ], 0, - "71988c35d87d037103e094e0179635f5" + "5fa4c31c31fa9c764bf351c5d1b3e97b" ], [ "FStar.Matrix.ijth_lemma", @@ -499,7 +499,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "22de83eff83cb472684f76c322dee351" + "5c6ef90b5ab05b2d647348564afcaa30" ], [ "FStar.Matrix.ijth_lemma", @@ -522,7 +522,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "bc6fee0c384b0bf6d8db1b8d3e4ea844" + "c77dab6653322b87a8d504d13f95bc24" ], [ "FStar.Matrix.matrix_of", @@ -543,7 +543,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "175ff3c8a2807ea93c426ba55547330b" + "ed44b4a82a5582d2072cfa016c30dbd3" ], [ "FStar.Matrix.matrix_fold_equals_fold_of_seq", @@ -555,7 +555,7 @@ "equation_FStar.Matrix.seq_of_matrix" ], 0, - "c317f182da77d0096680b0ad48e622e2" + "5729fc443f512800822b45bfac32f02a" ], [ "FStar.Matrix.matrix_fold_internal", @@ -564,7 +564,7 @@ 1, [ "@query", "equation_FStar.Matrix.foldm" ], 0, - "bc5999e3157e354d152758ab87929560" + "c017c529175f18ffa27e1c029002c7fc" ], [ "FStar.Matrix.init", @@ -595,7 +595,7 @@ "typing_FStar.Matrix.get_ij" ], 0, - "b632023f8c83e46b3e6e211a2c71d9db" + "517d7ded8939798eeff7e7c17737a921" ], [ "FStar.Matrix.matrix_seq", @@ -616,7 +616,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "0731aa6a8d65efe9f0dc669a48565b5b" + "829331d3474c17ae0dae5dbb73f6e905" ], [ "FStar.Matrix.matrix_append_snoc_lemma", @@ -647,7 +647,7 @@ "typing_FStar.Matrix.matrix_seq", "typing_FStar.Seq.Base.length" ], 0, - "786efbe702e6ff7427d2e0036467d5d9" + "45f975bc0f067b83214901c83a0415ba" ], [ "FStar.Matrix.matrix_seq_decomposition_lemma", @@ -656,7 +656,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "91fff71713c51c716efdcbb60c7ce304" + "80e64b2c08662e29b6bb1e8692b16e0f" ], [ "FStar.Matrix.matrix_seq_decomposition_lemma", @@ -699,7 +699,7 @@ "typing_FStar.Matrix.get_j", "typing_FStar.Seq.Base.length" ], 0, - "5122477695a3e603a87a38e535dfaaf5" + "d22e914f40618733b96a2d2954f1cc2e" ], [ "FStar.Matrix.matrix_fold_snoc_lemma", @@ -708,7 +708,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "7b866fd73b632f25b48f099fb5abc45d" + "115731cdd89d62e17268371663a3e1d8" ], [ "FStar.Matrix.matrix_fold_snoc_lemma", @@ -754,7 +754,7 @@ "typing_FStar.Matrix.get_j", "typing_FStar.Seq.Base.length" ], 0, - "89f137ad2e8814de638c06a263e5eae2" + "25fd89924e3d17c65fc2bcaccf42d670" ], [ "FStar.Matrix.matrix_submatrix_lemma", @@ -763,7 +763,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "cc9e65aee1e12c65522b9c6535e73e08" + "e50a3bd34d2e79b81dd4182fb648b4f8" ], [ "FStar.Matrix.matrix_submatrix_lemma", @@ -803,7 +803,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "0de21435b2ae3cd3735cda64a43c97ff" + "64427e9ebcd3422e49e85a88542bc8c4" ], [ "FStar.Matrix.matrix_seq_of_one_row_matrix", @@ -836,7 +836,7 @@ "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.matrix_seq" ], 0, - "5a81ef87df707c3ab9baaa788da9a71e" + "6742ed4062c2720212d5a8bea66a1ce0" ], [ "FStar.Matrix.one_row_matrix_fold_aux", @@ -873,7 +873,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4be50c547407a20b5e928b0cebf7ba3f" + "89edb516ce637c367e8e039389f427ea" ], [ "FStar.Matrix.fold_of_subgen_aux", @@ -886,7 +886,7 @@ "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" ], 0, - "d74bf285fefa2438daebf7f172b09774" + "d621355cb2915d5606e1613eb54f3279" ], [ "FStar.Matrix.fold_of_subgen_aux", @@ -917,7 +917,7 @@ "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "e5acd3effb361ea0aeba36c2b7588569" + "bafa20dfeb8d97d13a87a32e25104998" ], [ "FStar.Matrix.arithm_aux", @@ -931,7 +931,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "226f3e470ce80158990bd859c97cfe0f" + "79ed76376cc160a96d4bc139995dd4ce" ], [ "FStar.Matrix.terminal_case_aux", @@ -1003,7 +1003,7 @@ "typing_Tm_abs_fe41cb0fe74bc99aa4354ea463a12d10" ], 0, - "9f1c62904a965abebf519d6f29d555f7" + "01c2e3d42c852750ae689c21db882314" ], [ "FStar.Matrix.terminal_case_two_aux", @@ -1082,7 +1082,7 @@ "typing_FStar.Seq.Properties.un_snoc" ], 0, - "3ef6ca2d730f411a54fdbc9103506416" + "daabeec95b6211b59fbf9036c878c727" ], [ "FStar.Matrix.liat_equals_init", @@ -1091,7 +1091,7 @@ 1, [ "@query" ], 0, - "fbe87db566ddb120fb91e7bec89f99f9" + "ee98d77466bf1f867a571c3254084d93" ], [ "FStar.Matrix.liat_equals_init", @@ -1141,7 +1141,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "7ed3be005d6de6438ed0c9bf49f99b9f" + "0310d69f93f1f7172f6a8aa7746fb6d3" ], [ "FStar.Matrix.math_aux", @@ -1150,7 +1150,7 @@ 1, [ "@query" ], 0, - "48d0897f3e20989d0e5acadf6aca9cf9" + "e1e26ddc27355c504a21ec071cc1c836" ], [ "FStar.Matrix.math_aux", @@ -1171,7 +1171,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "b7c8f25f18578db242f2cb778734f2d1" + "91f7abdcd37a35b796bc776c6d0bb85b" ], [ "FStar.Matrix.math_aux_2", @@ -1180,7 +1180,7 @@ 1, [ "@query" ], 0, - "85bb6a1fd1bb190046a871294d39b41f" + "bbbc655168d9188dc8e45f18384c53ad" ], [ "FStar.Matrix.math_aux_2", @@ -1202,7 +1202,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "6a181de8f733f127b408b89b6b13b120" + "760d144a924498a894a08fa9b3a24751" ], [ "FStar.Matrix.math_aux_3", @@ -1211,7 +1211,7 @@ 1, [ "@query" ], 0, - "18cd60f9e878e4f0f91b87ff163dd039" + "7d1eb88f134447410b2df5fe07dda4d8" ], [ "FStar.Matrix.math_aux_3", @@ -1234,7 +1234,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "01a680341d162ad8b74fcdd9c5d03399" + "aba8027dfb06f9058ae03ac56acca2f4" ], [ "FStar.Matrix.math_aux_4", @@ -1243,7 +1243,7 @@ 1, [ "@query" ], 0, - "a36235d6abf6699dc0e7a907009be35b" + "d84aefb23c8f90957c6abddb53699db4" ], [ "FStar.Matrix.math_aux_4", @@ -1259,7 +1259,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "e46c60192a516ba60fd7a0f6742b09ea" + "d48a2c8b039803d4f2efbf84a74f449e" ], [ "FStar.Matrix.seq_eq_from_member_eq", @@ -1279,7 +1279,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "81fe051a462a1aa85d776e3b3b951ba1" + "1e9e98866968817f29d059f804306500" ], [ "FStar.Matrix.seq_eq_from_member_eq", @@ -1302,7 +1302,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "cbc2c762d26feb1861e414a5d97b5798" + "8482a92beeea2fde95fdb570fb4ae73d" ], [ "FStar.Matrix.math_wut_lemma", @@ -1314,7 +1314,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "13c65b876f25e8caabdb792e48144249" + "442eae78efe3dc1498f6a827fea528ec" ], [ "FStar.Matrix.matrix_fold_equals_double_fold", @@ -1343,7 +1343,7 @@ "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" ], 0, - "fa564ab10f1bbcc4c752dd44407c9d9b" + "39a82e05473f1e30ce54ec7438b5e327" ], [ "FStar.Matrix.matrix_fold_equals_double_fold", @@ -1423,7 +1423,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "699d77aef3b107ee39b173e0503567d4" + "899e0f777c0f9734ca78979158b2384d" ], [ "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", @@ -1442,7 +1442,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "b1d10ad3a81db142df6802cc16ecf710" + "407b8301e0ba4422ce25cf98bf2f46b7" ], [ "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", @@ -1477,7 +1477,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1db50ca94ed474be488a7b457780d1bc" + "d96b2d0519b21ade71ffa27408884c1f" ], [ "FStar.Matrix.matrix_last_line_equals_gen_fold", @@ -1527,7 +1527,7 @@ "typing_Tm_abs_aa596cdfe1f87b30697e767d9faf69ab" ], 0, - "4fae529045f88024acdfd102658a5074" + "2d18e24bc0c3dab8aa120a14ec503e38" ], [ "FStar.Matrix.matrix_fold_aux", @@ -1551,7 +1551,7 @@ "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "50e73128dfad72430cb0800faf6444d2" + "21db14757f965d4f5f4444b40e236708" ], [ "FStar.Matrix.matrix_fold_aux", @@ -1617,7 +1617,7 @@ "well-founded-ordering-on-nat" ], 0, - "fc90a06f2697d1d35c77e2b5bc414d91" + "a58cbcc1fafc3e910733a3f7281defe4" ], [ "FStar.Matrix.matrix_fold_equals_func_double_fold", @@ -1635,7 +1635,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "37959f9c409a991fb4f4d84a4a8eec07" + "c08d0ecc0403269057314f2ec01f7cd8" ], [ "FStar.Matrix.matrix_fold_equals_func_double_fold", @@ -1657,7 +1657,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f7d31f1ca3859db31797a6ad19e27311" + "338393dd3c27ce1aa51a0c057e85ac32" ], [ "FStar.Matrix.transposed_matrix_gen", @@ -1669,7 +1669,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2d2d6cfbec1aa1c0eadfa94679c309d9" + "38fe23c07ad48ebd1fa9bef6e46a1906" ], [ "FStar.Matrix.transposed_matrix_gen", @@ -1681,7 +1681,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "96d8c49b9d2ab925a47ed4ec39069a29" + "3aacc01fd81bbecc3d8752f46271f1ca" ], [ "FStar.Matrix.matrix_transpose_is_permutation", @@ -1700,7 +1700,7 @@ "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" ], 0, - "fb94d89e1c7eadbdb40f656201ce3753" + "0d64790864fd82408ea907bc5f533ac6" ], [ "FStar.Matrix.matrix_transpose_is_permutation", @@ -1739,7 +1739,7 @@ "typing_FStar.Matrix.transposed_matrix_gen" ], 0, - "4afb5a301e1ff155671ab4e0ee9a4f46" + "82dcd12bbcb96e63f67e654531a69db4" ], [ "FStar.Matrix.matrix_fold_equals_fold_of_transpose", @@ -1764,7 +1764,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1ae826186dc055f3d93cd61f9b7b7bbb" + "ce87cfa8662706843d45c149d0cb7ce3" ], [ "FStar.Matrix.matrix_equiv", @@ -1780,7 +1780,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "87617ee1d9889e84f22feaa01539260a" + "2be5c11518b7d9a4c632331674168a34" ], [ "FStar.Matrix.matrix_equiv_ijth", @@ -1792,7 +1792,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "14926c3952df7898093fa86b6c647d3c" + "3b8e6d15159509f8de228c35551795c3" ], [ "FStar.Matrix.matrix_equiv_ijth", @@ -1804,7 +1804,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6ec7db1ba84889a9b47b506a8643a7d5" + "49a2a126c05f4e8d53e463bf8214afc8" ], [ "FStar.Matrix.matrix_equiv_ijth", @@ -1831,7 +1831,7 @@ "typing_FStar.Matrix.get_ij" ], 0, - "399c62a3a902526144df7340946218db" + "bbc394ba463abaea091ffe28399fc8b9" ], [ "FStar.Matrix.matrix_equiv_from_element_eq", @@ -1843,7 +1843,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "42a8c9ee2976dd2769fc41812272ea0a" + "47b81385b48ee586826b0695c9cafc24" ], [ "FStar.Matrix.matrix_equiv_from_element_eq", @@ -1881,7 +1881,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "17c2e2f1965b14327377557831ad1d21" + "611c4351ab8971cde308ccd9a37bcc48" ], [ "FStar.Matrix.matrix_equiv_from_proof", @@ -1893,7 +1893,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4e8a850f5e0f098440abaecc61e39eeb" + "6a07cbd56301bf1bb465f72b2e0dc8cd" ], [ "FStar.Matrix.matrix_equiv_from_proof", @@ -1905,7 +1905,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "26ee492ec7ddb89de3b8d9d2c2b654cb" + "8806f3ef16f632013aec2e46f644715c" ], [ "FStar.Matrix.matrix_add_generator", @@ -1917,7 +1917,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1c051bed426c4d79edf042c189d6ea1d" + "8fa248f6817528d965462f2e822b1611" ], [ "FStar.Matrix.matrix_add_ijth", @@ -1929,7 +1929,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9db0af164aefebf976012348b0f95627" + "c9bce56ae1af5fb986e07b35c61ecadb" ], [ "FStar.Matrix.matrix_add_ijth", @@ -1953,7 +1953,7 @@ "typing_FStar.Matrix.matrix_add" ], 0, - "5ec87f631432b54274d6615a7de7b1d8" + "6b8199baf3406a2564fb89d316b08c66" ], [ "FStar.Matrix.matrix_add_is_associative", @@ -1981,7 +1981,7 @@ "typing_Tm_abs_eeffb89185e4d4051c08f15edcec71dd" ], 0, - "bbbfa52a86d3fe0f114b23ed07f2e2d9" + "e68c7aafbd6e44309e08d789e6921a1c" ], [ "FStar.Matrix.matrix_add_is_commutative", @@ -2004,7 +2004,7 @@ "typing_FStar.Matrix.matrix_add" ], 0, - "e76ec0ec3d01083ed993e122c6d44914" + "30da7279f7475056c38b241f7a48c5f4" ], [ "FStar.Matrix.matrix_add_congruence", @@ -2032,7 +2032,7 @@ "typing_FStar.Matrix.matrix_add" ], 0, - "4551d398abeb96c3e8b17c932d0b437b" + "5df6d6c06dee6fb26022cd8fe92782e6" ], [ "FStar.Matrix.matrix_add_zero", @@ -2065,7 +2065,7 @@ "typing_FStar.Matrix.get_ij" ], 0, - "c3f65cf9e789848e0a82421990e6cf9d" + "9847aec2567b8c9ea5699798cb4b357b" ], [ "FStar.Matrix.matrix_add_identity", @@ -2095,7 +2095,7 @@ "typing_FStar.Matrix.matrix_add_zero" ], 0, - "b2c4d3b45953f7e2734860fcbea96424" + "02964186d0fa6cac3f6f9e81ae00cfbb" ], [ "FStar.Matrix.matrix_add_comm_monoid", @@ -2114,7 +2114,7 @@ "token_correspondence_FStar.Matrix.matrix_eq_fun" ], 0, - "ecea66ff51f5c98e9dcd166742d28da6" + "26ff358ddf6995f8b5a505c940200a77" ], [ "FStar.Matrix.col", @@ -2123,7 +2123,7 @@ 1, [ "@query" ], 0, - "37f6e592ef4eb43c64e9769e0c04f437" + "85628f341bb8358df024c0e3c5636d77" ], [ "FStar.Matrix.col", @@ -2140,7 +2140,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "601982ccf31a218a4bce20fdad40840f" + "fd1dfefef97b39147f96bfc5a265833f" ], [ "FStar.Matrix.row", @@ -2149,7 +2149,7 @@ 1, [ "@query" ], 0, - "f504d34d9820fbe8a5b9ee5ab12a2085" + "30950f28460f073f2912a417fcfe33f3" ], [ "FStar.Matrix.row", @@ -2166,7 +2166,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2cdfb1762e2c8e5133efce3da1f167f9" + "ff0dd6e9779588c4b21a3d54f510d268" ], [ "FStar.Matrix.matrix_row_col_lemma", @@ -2194,7 +2194,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "adb32e04aec226c49abd4726c5450c0c" + "71ae0acc60ab60eea97f3d60d52f0cf4" ], [ "FStar.Matrix.matrix_row_col_lemma", @@ -2206,7 +2206,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a0ae1b346c3bc516736afe9ef90a1e51" + "df44d0406375c89b36466b57a4029fdd" ], [ "FStar.Matrix.matrix_row_col_lemma", @@ -2237,7 +2237,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "7a07b685f4df8a3fe29eab60edf78e57" + "8984c430ff00f728ef632bac70ac2fcd" ], [ "FStar.Matrix.seq_op_const", @@ -2251,7 +2251,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "650db535e9f6879a16f88d1dfce3a84e" + "5afc96a590bf8f8bde41f036d55bde4b" ], [ "FStar.Matrix.const_op_seq", @@ -2265,7 +2265,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8440b41c0fa56cb959e1189cb939a35a" + "576122469359f08ed4b41ffb3ec04e43" ], [ "FStar.Matrix.seq_of_products", @@ -2284,7 +2284,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "5ef7548cf6861f6dbd1c596ce263d08e" + "0af9a73ec160349b8bc3daf725470d91" ], [ "FStar.Matrix.seq_of_products_lemma", @@ -2303,7 +2303,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "c052b340cc948e2da1631282198b8b3e" + "c972c715accbc4541fe650000b9902a7" ], [ "FStar.Matrix.seq_of_products_lemma", @@ -2322,7 +2322,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "0c6b67f3b270b39bd5fdb922d3b81fc7" + "543b1d4ef0122c909e204c4454122361" ], [ "FStar.Matrix.seq_of_products_lemma", @@ -2338,7 +2338,7 @@ "typing_FStar.Matrix.seq_of_products" ], 0, - "b42d114c4393caec475194d8dd66446b" + "c7e48b8fcdc6b42dfc3f8057fed8c45c" ], [ "FStar.Matrix.dot_lemma", @@ -2347,7 +2347,7 @@ 1, [ "@query", "equation_FStar.Matrix.dot" ], 0, - "6352b0f0b6466ca6a93545c7046fd785" + "ab5d46a5de127f2b2894e41683e54c3a" ], [ "FStar.Matrix.matrix_mul_gen", @@ -2359,7 +2359,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6730291faaf921ee69b164a58dae1334" + "1d77b53e7023ca4365bac141a6bc8fed" ], [ "FStar.Matrix.matrix_mul_gen", @@ -2388,7 +2388,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "942a010f1f3a4af2861448daed5e281f" + "e56a234c484bc0680408ad3ceefe9e9f" ], [ "FStar.Matrix.seq_last_index", @@ -2405,7 +2405,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "b5b1a2a39705318bebe1aaeb3e8dd522" + "38a632a41cc74a3eb90c5f523336ce7e" ], [ "FStar.Matrix.seq_fold_decomposition", @@ -2450,7 +2450,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.un_snoc" ], 0, - "f258f78b9646f0471d1ceb50084df23f" + "f75a3fa6877464af4fe82f360dfeafed" ], [ "FStar.Matrix.foldm_snoc_distributivity_left", @@ -2537,7 +2537,7 @@ "well-founded-ordering-on-nat" ], 0, - "8ef7e48a88e58f87cdbc09567ac4eb65" + "aa215389ea888baee825df21ceb2e9f6" ], [ "FStar.Matrix.foldm_snoc_distributivity_right", @@ -2624,7 +2624,7 @@ "well-founded-ordering-on-nat" ], 0, - "295e6ce30115c290b35e81d14bd26bc2" + "2f864f31054ab75ebf6a4a7d11d2cf21" ], [ "FStar.Matrix.foldm_snoc_distributivity_right_eq", @@ -2636,7 +2636,7 @@ "typing_FStar.Matrix.seq_op_const" ], 0, - "7cf5a2f6224b80ebb8f4022a35ff12ea" + "d4bcc48d1a722afa097251900a61b91d" ], [ "FStar.Matrix.foldm_snoc_distributivity_left_eq", @@ -2652,7 +2652,7 @@ "typing_FStar.Matrix.const_op_seq" ], 0, - "a7201b942585601d00cc23a4fdb082e7" + "f562fd7e35f81585ff9ee7b397cf3a83" ], [ "FStar.Matrix.matrix_mul_ijth", @@ -2681,7 +2681,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "8fadc80643c58f32c39c629621a76b38" + "ccdc17dae4febbe5da43314555edcf58" ], [ "FStar.Matrix.matrix_mul_ijth", @@ -2693,7 +2693,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1a364d263d469e605da57c2c71333ac6" + "601fab0c0f71cf2c77aa2f397e7056f4" ], [ "FStar.Matrix.matrix_mul_ijth", @@ -2731,7 +2731,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "131c669295a35b44812220eb6abc87c3" + "7b9fb480cd8aebe165d75ab36765cfd9" ], [ "FStar.Matrix.matrix_mul_ijth_as_sum", @@ -2748,7 +2748,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "f17a5596a7eb92f5dd63c6c0f721b833" + "0c3deb23de1e7047aa6503a502eed46d" ], [ "FStar.Matrix.matrix_mul_ijth_as_sum", @@ -2760,7 +2760,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d4d1ac122aaf84b6314baa3b645c8836" + "bd97ed14edde770baafcce30c9681e64" ], [ "FStar.Matrix.matrix_mul_ijth_as_sum", @@ -2815,7 +2815,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "f5e35028cbd289119e17566791d44286" + "2a11a743ce957a3529066c96c88fab4a" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", @@ -2844,7 +2844,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "79a9cf6567bc37a8a7bd5da12cc178eb" + "25812fa8ba13e5e9f2ec072c2a182af7" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", @@ -2873,7 +2873,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "3ff855b7277d237dd56c33059c1da01b" + "82032aab2e0c25ca612e0931d2413371" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", @@ -2922,7 +2922,7 @@ "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" ], 0, - "20e96380cde246e5f945efb0096012d6" + "20442f1dc6ba63b48c99ff6fb07988e9" ], [ "FStar.Matrix.double_foldm_snoc_transpose_lemma", @@ -2934,7 +2934,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "39a2a8fef0cfcb8b372c916aad5f75f4" + "e88602f3570887b3d05d7122007be83d" ], [ "FStar.Matrix.double_foldm_snoc_transpose_lemma", @@ -2980,7 +2980,7 @@ "typing_Tm_abs_eca50a650145de988bd7a2cf3580bac4" ], 0, - "0c4e60d0a71bdee87a3199368dfffe27" + "b13ca29847776a9d6f86117685d2076d" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", @@ -3011,7 +3011,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "68e3440c4f38e6b8d82eb441f88894e6" + "975d35a821880657c68dab42749542ed" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", @@ -3042,7 +3042,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "04a79c3a95e6b781592125d57c7fdd87" + "f7c32148ac4eab5163415fa4feb94984" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", @@ -3087,7 +3087,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "3ebb99c4266f2d9b95becf0994b6d42c" + "d0d361ecc6079257b3885881cfa6e4b6" ], [ "FStar.Matrix.double_foldm_snoc_of_equal_generators", @@ -3099,7 +3099,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "34abe0a216bc71ff93716c8ae21d6d9f" + "64f1ab78ba852b4dda2f8ab67376379f" ], [ "FStar.Matrix.double_foldm_snoc_of_equal_generators", @@ -3119,7 +3119,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "651774b6691e6b72550fc6a17f4bc393" + "0f28281404fdc2e102401b2c5722240b" ], [ "FStar.Matrix.matrix_mul_is_associative", @@ -3191,7 +3191,7 @@ "typing_Tm_abs_bb89654db6fa07ead1aeae89c96ee7e6" ], 0, - "f49490ce1e1eb3599110697d1adf3800" + "95a2ac7aa2ff873f3299c97690ec0454" ], [ "FStar.Matrix.matrix_mul_unit", @@ -3206,7 +3206,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6e145538ab1d21cf5b321817ba2d8f84" + "6613da081a5c8abaa9c0b33f40a7bc6e" ], [ "FStar.Matrix.matrix_mul_unit_row_lemma", @@ -3261,7 +3261,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "4c26c7b1b85dc7cad186fc4a2fc75555" + "9f1874e7a3d0126d017e10ed6f3dd5e9" ], [ "FStar.Matrix.matrix_mul_unit_col_lemma", @@ -3316,7 +3316,7 @@ "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736" ], 0, - "85ec36bb9bad956bd6f88f97f8908719" + "f2f1c35ce6b2b4cfbf58e36e3c3d712a" ], [ "FStar.Matrix.seq_of_products_zeroes_lemma", @@ -3355,7 +3355,7 @@ "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" ], 0, - "81cbdfc1fbd7a649e48c7568731bea5a" + "6c3cd3f9d844333da5229e189a9004c6" ], [ "FStar.Matrix.foldm_snoc_zero_lemma", @@ -3369,7 +3369,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "25091594d5a5d5fdaa3a228b6a394e20" + "009ef1e78b20df0ddee3bb1b44ee3f30" ], [ "FStar.Matrix.foldm_snoc_zero_lemma", @@ -3426,7 +3426,7 @@ "typing_FStar.Seq.Properties.un_snoc", "well-founded-ordering-on-nat" ], 0, - "d2741453ba1e6d307a6a02e2413b835b" + "5fbe45d0b850d7ac522ce032bd951706" ], [ "FStar.Matrix.matrix_mul_unit_ijth", @@ -3460,7 +3460,7 @@ "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736" ], 0, - "5a51df7b0e3b112ac81d23ffe428f235" + "4a21eb3fdadf8722ea6021ab5516bb2a" ], [ "FStar.Matrix.last_equals_index", @@ -3495,7 +3495,7 @@ "typing_FStar.Seq.Properties.un_snoc" ], 0, - "1528b20235145f353d0b74e08820047b" + "7c35fc0b4740c4393f095288a5877134" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_0", @@ -3507,7 +3507,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "379d07546ff4fd10afe69bd2cdd56939" + "0ec4659079b2f280ac780e39b5d67b28" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_0", @@ -3547,7 +3547,7 @@ "typing_Tm_abs_3b99e7dca13a5115073e5fcd30e65abc" ], 0, - "46190b1ea124a65497299e35872ed4df" + "72af3c559cb8f2403a40f3c877ae4dbb" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_1", @@ -3571,7 +3571,7 @@ "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "32eace096b7a2e743fe2e755f69174f1" + "52c70a69092af6d79ee1cbee3dded41c" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_1", @@ -3650,7 +3650,7 @@ "well-founded-ordering-on-nat" ], 0, - "f82fe09578188cdf7bc38ea48abca9e8" + "4b675e0bc94b267c70314f32cdb3654e" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_2", @@ -3662,7 +3662,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "76d6be7962c25778acce6205e3d0197e" + "c1ede0b46939a06bf9d2ec2689d76d17" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_2", @@ -3719,7 +3719,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" ], 0, - "3fe807288bd0c4e93601d60387fe2f4a" + "9d26e5cc4e5a553cd918b92f2858bb8b" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_3", @@ -3743,7 +3743,7 @@ "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "05b577954ff43305c3c3225b98809389" + "fd1b865ec561604b30f99beceea6f2bc" ], [ "FStar.Matrix.matrix_right_mul_identity_aux_3", @@ -3818,7 +3818,7 @@ "well-founded-ordering-on-nat" ], 0, - "3a306d08c522faae3002300b2f1eae07" + "9967380fd9620abc7ecdac110adf3e9b" ], [ "FStar.Matrix.matrix_right_identity_aux", @@ -3831,7 +3831,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "72fd777b5caf0c433e5b6c135e90cae1" + "525882668f021851dbb3e4d54ae53be6" ], [ "FStar.Matrix.matrix_right_identity_aux", @@ -3857,7 +3857,7 @@ "unit_typing" ], 0, - "31ff23bb516d02b454e6825142fafa64" + "5a9eb44ff02c6542f6c8f3c9d9595ab9" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_0", @@ -3869,7 +3869,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e1883d6ab2317449806dd39f533dafa1" + "7e08e8680d8fdba854dd398516b9cd86" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_0", @@ -3909,7 +3909,7 @@ "typing_Tm_abs_5e35c6983d2672887017cfab5921a733" ], 0, - "220ab881bd52d6af9282a27304885a00" + "3f8cbbd8cbcbd23cac11af093163eca3" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_1", @@ -3926,16 +3926,16 @@ "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1adc75d79e65fb5a1b6240dbe91d07d2", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_86ff5a22208ae7052e0e45b792e49120", "refinement_interpretation_Tm_refine_bb362165ee5e7a7a23d3b5420d3a4d9c", "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "fe2e2139b7a869d9b3b105518efaa814" + "78e0d904fe06d6f6be947f32d09a1575" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_1", @@ -4028,7 +4028,7 @@ "well-founded-ordering-on-nat" ], 0, - "79b0de946b7f6c06444140637c10048a" + "cd6ccf8a6ca3547f80c1659706d94c2a" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_2", @@ -4040,7 +4040,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ad2d192514e1ff8cc0a1dd687b3266ec" + "ebe9b42b81c11a414fee5c8a26db822e" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_2", @@ -4102,7 +4102,7 @@ "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.un_snoc" ], 0, - "9e2864e996cf30219356eeca5f63b4d8" + "7102b22b93e3cda268fbd43640d19aeb" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_3", @@ -4121,14 +4121,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_020c0e260e94dbe460cec818e1d9a7a0", - "refinement_interpretation_Tm_refine_19c050eb07ac4444d01c9671bec73024", + "refinement_interpretation_Tm_refine_71279ce19c4e475128a9d15da1d21585", "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", "typing_FStar.IntegerIntervals.interval_condition" ], 0, - "0c4e73cd0b8ac426fd34484288bbc1ed" + "7de440ad03cb459678159301df78c0d2" ], [ "FStar.Matrix.matrix_left_mul_identity_aux_3", @@ -4201,7 +4201,7 @@ "well-founded-ordering-on-nat" ], 0, - "bd330b64574590d8ce7bad57ffbf5516" + "52093caf109d0bc6ae11b542393fee75" ], [ "FStar.Matrix.matrix_left_identity_aux", @@ -4214,7 +4214,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "134270ae7f8f10777ce7f82d6c394897" + "7f2b22816a7a98c19d5dfa1b24a695ab" ], [ "FStar.Matrix.matrix_left_identity_aux", @@ -4240,7 +4240,7 @@ "unit_typing" ], 0, - "17f5251aa5174f9951333d58d57c6695" + "16e8c470babd1a151d497c2546593e5c" ], [ "FStar.Matrix.matrix_mul_right_identity", @@ -4293,7 +4293,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "af486ca9574813e15217d953efb6512f" + "db4e4814327d87522408f843c84c958d" ], [ "FStar.Matrix.matrix_mul_left_identity", @@ -4353,7 +4353,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "26f3e034da62ea271056f39b2395cb30" + "afb0de6a1479fd18cc97d0d47a5c6e9a" ], [ "FStar.Matrix.matrix_mul_identity", @@ -4374,7 +4374,7 @@ "token_correspondence_FStar.Matrix.matrix_eq_fun" ], 0, - "e2048dd369fc7f4ac27087f8565c6e3e" + "6f1e35f50e79794bc432342a9a472425" ], [ "FStar.Matrix.dot_of_equal_sequences", @@ -4410,7 +4410,7 @@ "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" ], 0, - "57aedc31448655342f1829c6f1849ccd" + "115b2c31b2a4720ac0ae2eb40468c43b" ], [ "FStar.Matrix.matrix_mul_congruence", @@ -4469,7 +4469,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "fb488e78ef45f46d5431ffa20996c65f" + "b0b9e273c1d287e2798f52301b35cf1c" ], [ "FStar.Matrix.matrix_mul_is_left_distributive", @@ -4539,7 +4539,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "a08289a032253f5897d1588c633e8baf" + "53b9b3f8ce6f3fd15b0acf60af658a58" ], [ "FStar.Matrix.matrix_mul_is_right_distributive", @@ -4608,7 +4608,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "3946665a79d48260b174db7a6dd5879b" + "fb77518370819cd42bfe4615cd75c574" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Matrix.fsti.hints b/ulib/.cache/FStar.Matrix.fsti.hints index f60fe8e94b4..e6b37fd60c4 100644 --- a/ulib/.cache/FStar.Matrix.fsti.hints +++ b/ulib/.cache/FStar.Matrix.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "63674aca765ab3e69fd0e66aa4a05c73" + "39d89648001efba6345817ee16989911" ], [ "FStar.Matrix.flattened_index_is_under_flattened_size", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2d23cd12cbc6a14f3f6d82c133d92f63" + "879b05e0f414fac048667af686bc05ea" ], [ "FStar.Matrix.flattened_index_is_under_flattened_size", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "44eb95bbebb6334cd57bc6d54f9c15ea" + "afc3a6134526c6a336f30ebcb8624f4e" ], [ "FStar.Matrix.get_ij", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "15de868f5fc8b5611ee6528ec5e37d59" + "932850dd7a76d09275707046648162d1" ], [ "FStar.Matrix.get_ij", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "08f1fa72c4c3f3addc55243a694f4e97" + "58c92d4672cd7ede11726670962a0c67" ], [ "FStar.Matrix.get_i", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "91ad04478dd786a9756a85fc5ce16c90" + "88c6dd8c708670f95ac9859a6595ccce" ], [ "FStar.Matrix.get_i", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "ce23973827108dfabf244ca21e43d138" + "a2f28b8f24f6d3e443dd976ce3265baa" ], [ "FStar.Matrix.get_j", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d0634d11706d36b3641206c7be787e16" + "de69e09b3da28b09463d545170e05a25" ], [ "FStar.Matrix.get_j", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "b211c841fc14cc3fa4bb3cbd0e60e9b0" + "8229380398331f613a015ace4dc8b9c9" ], [ "FStar.Matrix.consistency_of_i_j", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "62ccfca7878611c098e784249ef514cd" + "6dc147331bdfec5640f7b5e19d9b9eb6" ], [ "FStar.Matrix.consistency_of_i_j", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "cf684f0ed11764d6e05fe350db29939e" + "dbc4801a0d4bd46108092576561aa0e3" ], [ "FStar.Matrix.consistency_of_ij", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5fb81cfa19af7c740335c1d436d69341" + "4e9f852e63051a10cbdae258762800d1" ], [ "FStar.Matrix.consistency_of_ij", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "a7f379600af733aecb45e08d79cf0364" + "ba0ae909cf463ef7dfb4d260549553ab" ], [ "FStar.Matrix.transpose_ji", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bd2303721284b2aa975990600c1d5e6a" + "11d88e09ea6b8c874c07d9733ce65903" ], [ "FStar.Matrix.transpose_ji", @@ -256,7 +256,7 @@ "typing_FStar.Matrix.get_i" ], 0, - "46bc933dad011719d53c5d786c239656" + "f3db2d424bf17f7aeccf2fe455091cc7" ], [ "FStar.Matrix.indices_transpose_lemma", @@ -265,7 +265,7 @@ 1, [ "@query" ], 0, - "e093f46898fc6457b29165a05a9e84aa" + "9b0db87ccd9e107ae1576ab9f7ad617c" ], [ "FStar.Matrix.indices_transpose_lemma", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "a351e80a668e12a26abea208470e3a94" + "add3231a30313e77f1b82a3f20c905b0" ], [ "FStar.Matrix.ji_is_transpose_of_ij", @@ -304,7 +304,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f4a6564634a25aafbe075ccf2961b483" + "c2c35787f496ce4f98b913dd847bc0c9" ], [ "FStar.Matrix.ji_is_transpose_of_ij", @@ -334,7 +334,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "9157be8570be3b43daf28391f65730d9" + "38a9bb456ac36743e9192fa5a736b1da" ], [ "FStar.Matrix.dual_indices", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c87d7dc5fd2bfd04c2fe2cbbe0887d94" + "8d8e862e063717d21c9d5f947132a2b9" ], [ "FStar.Matrix.dual_indices", @@ -373,7 +373,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "bc0e826b10f7373a8a2c732bad80bb3b" + "dfacffc949c4c46460183e2d0558ed9a" ], [ "FStar.Matrix.seq_of_matrix", @@ -395,7 +395,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "9cced47cbc25da4f2dbb6ebca748b52a" + "2edb855ab7ab1bb8f24a4fbcefc9473c" ], [ "FStar.Matrix.ijth", @@ -414,7 +414,7 @@ "typing_FStar.Matrix.seq_of_matrix" ], 0, - "1924cd8930feadb4b1d08964cd3ab001" + "444a0a5bec90719c994850068326dd56" ], [ "FStar.Matrix.ijth_lemma", @@ -433,7 +433,7 @@ "typing_FStar.Matrix.seq_of_matrix" ], 0, - "bf7b1c13b746457edd2089da04574ca3" + "dd4b63c3dc4a5f9c0a8062c6a749e6c3" ], [ "FStar.Matrix.matrix_of", @@ -452,7 +452,7 @@ "typing_FStar.Matrix.seq_of_matrix" ], 0, - "15f5a799f8e4dfece968a489793228a5" + "15d436905f75302cd012670369b3338a" ], [ "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", @@ -471,7 +471,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2b113b5cfc81ba269cc77b57c9f96803" + "f39e5ba20bc4a180c2c468f33db12b39" ], [ "FStar.Matrix.matrix_fold_equals_func_double_fold", @@ -489,7 +489,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f6bdb0bc59381147e7afe918b533cb28" + "fbe82fa3eaa292ff2275235fa26e0e9f" ], [ "FStar.Matrix.transposed_matrix_gen", @@ -501,7 +501,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fd87bbab0e083865bbe740824dbefc70" + "e81c3fc8a670a2bde154d6e933a8ff7b" ], [ "FStar.Matrix.matrix_transpose_is_permutation", @@ -519,7 +519,7 @@ "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" ], 0, - "ed2412050065ac5b5271708938895b7b" + "c87c658f58454fdf660660869495dccd" ], [ "FStar.Matrix.matrix_equiv_ijth", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "46b59ea04748aec070071a3c286f61c7" + "e55145da0bf2fe40e65fffc65e78941b" ], [ "FStar.Matrix.matrix_equiv_from_element_eq", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "688a72a175d5909be8d9c9d3a3a5a283" + "367ed71090d68638f1f06e6b78f93c10" ], [ "FStar.Matrix.matrix_equiv_from_proof", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d8e7c66b00a4900e6307dce8051a0cee" + "3c2aac6e3995d429c4a6369eba13309a" ], [ "FStar.Matrix.matrix_equiv_from_proof", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1de1b5f61ac32b99046b953214957dd5" + "485b286ee4a7965bd715d4c62887d8dd" ], [ "FStar.Matrix.matrix_add_generator", @@ -579,7 +579,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8f3cc297ff369c281b3624725b6044a3" + "d1b000a3f9290a4d2231f17ff0df8d07" ], [ "FStar.Matrix.matrix_add_ijth", @@ -591,7 +591,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0f6032068d36280dc423124058fc9d91" + "bb115468d76414d8000ed09170affe03" ], [ "FStar.Matrix.matrix_add_ijth", @@ -614,7 +614,7 @@ "typing_FStar.Matrix.matrix_add" ], 0, - "e2686a2b60ee475b96becc398c22dca0" + "6dc44a178a69ab2664cba3bee7aa99e2" ], [ "FStar.Matrix.col", @@ -623,7 +623,7 @@ 1, [ "@query" ], 0, - "b403da2baab1ac9cea56306c761bd9a2" + "28a2e82c83906f4ada03b326f5fba7a6" ], [ "FStar.Matrix.col", @@ -640,7 +640,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "93902d914771a0e45f5d47f6e9354369" + "986221266c0808aa924d9b978fead69e" ], [ "FStar.Matrix.row", @@ -649,7 +649,7 @@ 1, [ "@query" ], 0, - "ea556760bcb6c07acabae2bfde453d3a" + "ba29b5009c9f0712e62dbf9bcaf40cb0" ], [ "FStar.Matrix.row", @@ -666,7 +666,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "16e12c8a901eaa027bc16d29972f00a0" + "e13b14d679a75f4e89b4c34961aa94ab" ], [ "FStar.Matrix.matrix_row_col_lemma", @@ -694,7 +694,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "cec9ee82e26e2452c4f583c4979bd8c1" + "1bbf659843246c7bf1cddda1975b1dfc" ], [ "FStar.Matrix.seq_op_const", @@ -708,7 +708,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "818296180d452a49c4c4dc015d8706cf" + "b1ed28c92875f1ec84f259e9ad436258" ], [ "FStar.Matrix.const_op_seq", @@ -722,7 +722,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d85b63d035e12e2ec2fcf2d5c4f44643" + "a3b4bca7feb8b581702f78748e58fefb" ], [ "FStar.Matrix.seq_of_products", @@ -741,7 +741,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "ce526d76bab2f47c5d35cf99e1943c6e" + "b8cbbb4d366d591dfcc0f2494b38fb91" ], [ "FStar.Matrix.seq_of_products_lemma", @@ -760,7 +760,7 @@ "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" ], 0, - "03fb3351dcae88ffede32b5897daf2bb" + "21c90f9b9791b592cf76bf9f32b85a14" ], [ "FStar.Matrix.matrix_mul_ijth", @@ -789,7 +789,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "e87a5b769a9c3a0d11e8a423f3f84886" + "fa2217dd06479a4198e33da96c6dd3cd" ], [ "FStar.Matrix.matrix_mul_ijth_as_sum", @@ -806,7 +806,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2988d4448c719a76c54102db3d28793b" + "1f2e674ac422ac11233774b093135b61" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", @@ -835,7 +835,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "d3ae42741f938b24377fe9664ca6f632" + "9efc5170779d688b9f5ac7b004243ca1" ], [ "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", @@ -866,7 +866,7 @@ "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" ], 0, - "cddc7c6a747bf0804488321efad8ec74" + "71a4a77e7b8b05a900b6aa8b0c19ac97" ], [ "FStar.Matrix.matrix_mul_unit", @@ -881,7 +881,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "685927c2ad859e0e7673b0f884092b3f" + "6a22ab3f5f78963f4a7212cc2e54fc3e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Matrix2.fsti.hints b/ulib/.cache/FStar.Matrix2.fsti.hints index c7b3bfb0da3..e4e83e59155 100644 --- a/ulib/.cache/FStar.Matrix2.fsti.hints +++ b/ulib/.cache/FStar.Matrix2.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "747fbdbd2a4d70bdd4501689235c72da" + "36e1c35a6d2ac3019ff82771ac280657" ], [ "FStar.Matrix2.upd_col", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8b05dba236c82a4d95984afe6be76667" + "12ccff383c78ace9f63e6d73b7e58649" ], [ "FStar.Matrix2.lemma_row_len", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4500267b6136e5046b8c7df7d4c80936" + "4d3ab3111ac45c7e9c99badd1b525c46" ], [ "FStar.Matrix2.lemma_col_len", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eda3dce28ae61cac942b3c9f8cd3a746" + "e968634cf80317deedb046534a2c3a78" ], [ "FStar.Matrix2.lemma_index_upd2", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5911c312318748bac9c087bc58dd6c53" + "9ef44f1670c1ed0cecc6b820812b1168" ], [ "FStar.Matrix2.lemma_index_row", @@ -78,7 +78,7 @@ 0, [ "@query", "lemma_FStar.Matrix2.lemma_row_len" ], 0, - "d7813560a5fd22b6e33db32fd0156db1" + "fa4fe937c25e9dd13873dd37b3b934f6" ], [ "FStar.Matrix2.lemma_index_col", @@ -87,7 +87,7 @@ 0, [ "@query", "lemma_FStar.Matrix2.lemma_col_len" ], 0, - "c844662ef75a35aba70b44cb15575a5b" + "8bfa582734ad06316014a88780bb55b0" ], [ "FStar.Matrix2.lemma_index_upd_row1", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "6efe785526a4cfa41edd172c78fe343b" + "76ff974016f3fb5edb5015fc3847bdf9" ], [ "FStar.Matrix2.lemma_index_upd_row2", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22d035b7a53afac8bb7ec03f64bc77c1" + "6129790a58342fd437e1a5bb6e428868" ], [ "FStar.Matrix2.lemma_index_upd_col1", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "ea116c683cd03a08d976eef06160ad42" + "dfe6e8ff8e6670fd438be0c2c5b9b440" ], [ "FStar.Matrix2.lemma_index_upd_col2", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66126b0874dc8c118645a4fec7f0af0f" + "f95375d1216d7d1425d793d3c08ecd81" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Modifies.fst.hints b/ulib/.cache/FStar.Modifies.fst.hints index fd37a4da613..36bc5fb3d42 100644 --- a/ulib/.cache/FStar.Modifies.fst.hints +++ b/ulib/.cache/FStar.Modifies.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4064742aaf7aef82aab14cb90066da3e" + "93078dd368edfc0365693761e88e6d47" ], [ "FStar.Modifies.loc_aux_includes_refl", @@ -24,7 +24,7 @@ "fuel_guarded_inversion_FStar.Modifies.loc_aux", "l_and-interp" ], 0, - "61208b5a360dc66007826679fd93ff4b" + "2f233ab6c30183a5dc343d23701b192c" ], [ "FStar.Modifies.loc_aux_includes_buffer_includes", @@ -38,7 +38,7 @@ "l_and-interp" ], 0, - "1631ee29c4804cf0df0174c9990d2b4b" + "cca3cfa1d8e010a2a8fbb16a7f1a304a" ], [ "FStar.Modifies.loc_aux_includes_loc_aux_includes_buffer", @@ -52,7 +52,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "402ff23a129cf904219f3bbb410c0b45" + "afaba68f1ea2729b65c55de64d262e9d" ], [ "FStar.Modifies.loc_aux_includes_trans", @@ -67,7 +67,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "9c86fcd4b6e28b745e039ec88d592ed5" + "7645e673ed979ff20906732abbe5f7bc" ], [ "FStar.Modifies.loc_aux_disjoint_sym", @@ -81,7 +81,7 @@ "fuel_guarded_inversion_FStar.Modifies.loc_aux" ], 0, - "ec6743fd7c3c6ddcabc2085920dd7ea4" + "f4485997815fab38a21a3ffc8d36eb3f" ], [ "FStar.Modifies.loc_aux_disjoint_buffer_includes", @@ -98,7 +98,7 @@ "lemma_FStar.Buffer.lemma_disjoint_symm" ], 0, - "7d8204ea1c5e294175309f547e45ee31" + "7b759fa4cb896fad1aa14637f837db1f" ], [ "FStar.Modifies.loc_aux_disjoint_loc_aux_includes_buffer", @@ -112,7 +112,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "5c1442ef358a9e206e3daa6606b94e55" + "f9869daba0908e3f81878bbd44a90baa" ], [ "FStar.Modifies.loc_aux_disjoint_loc_aux_includes", @@ -128,7 +128,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "49f681a6532c9f3971fd6d0efb4837e0" + "be40575582c05e13c547c221d58083ef" ], [ "FStar.Modifies.loc_aux_preserved", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "6077069919a58a228f5fd032bd359de7" + "bc363a03cf330616a3e3c5c0b03e313e" ], [ "FStar.Modifies.cls", @@ -185,7 +185,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "796094f18b145b3c37fac305714bc3a2" + "0339d4d2ef01a90c88aa4204c75ab0c6" ], [ "FStar.Modifies.loc_union_idem", @@ -194,7 +194,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "6162f9d4372c01d58061e6cc32d5c91b" + "c89816ab1d9f49c7113f7a6f147cbcd6" ], [ "FStar.Modifies.loc_union_comm", @@ -203,7 +203,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "5e9013945a2b0a5f90af13f438e01d2c" + "ed30ba093577f15bb6d1a1b7bfaf38cd" ], [ "FStar.Modifies.loc_union_assoc", @@ -212,7 +212,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "078b851fa04a4cf66c307bb816e857fc" + "3df5c9cfa853cbd8a375ec33de7b26d0" ], [ "FStar.Modifies.loc_union_loc_none_l", @@ -224,7 +224,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "1a0538e0ae5e43a51ae1f1df7fd91bd4" + "b53e80a1587d92bd75dbce6e518f45b8" ], [ "FStar.Modifies.loc_union_loc_none_r", @@ -236,7 +236,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "7de0a2eb9bc19dab6b49195a1ed1ca92" + "00a6a95f9eccae71485aeac1c94299ea" ], [ "FStar.Modifies.loc_buffer", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bc139075b91655bc36871b57d79087a8" + "18df782dbb2c791a10000862624fdc27" ], [ "FStar.Modifies.loc_addresses", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9707aabe78520950e3669b119b116417" + "3cb0b0066a6e9ecd1a9aa8c648f434fb" ], [ "FStar.Modifies.loc_mreference", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6abde60ef2e21f465cc265eba43eebf7" + "4b8fcfc0cd851136c0863293965435b1" ], [ "FStar.Modifies.loc_freed_mreference", @@ -295,7 +295,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b76aeaa8903d4578b6204afddc00426e" + "15f4233fc14c8f20208bad921b3a05fc" ], [ "FStar.Modifies.loc_includes_refl", @@ -304,7 +304,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_includes" ], 0, - "3c78f78ee71fb7b61be343e2b7dd770c" + "b096f52f049ebbab8e239114b8d7dac8" ], [ "FStar.Modifies.loc_includes_trans", @@ -313,7 +313,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_includes" ], 0, - "ceca9278a9a632762aa35d3a4dc02e28" + "26d47490a48baeba0efcfb69783277f2" ], [ "FStar.Modifies.loc_includes_union_r", @@ -325,7 +325,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "ed2cbd5e6867b12712a2a8daf12fbd89" + "140afd7b0d88f2009e65ad8efd7f6e73" ], [ "FStar.Modifies.loc_includes_union_l", @@ -337,7 +337,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "445b11a196c692861931c31c045a55f5" + "72f2facbf00340575313a09b660b5e74" ], [ "FStar.Modifies.loc_includes_none", @@ -349,7 +349,7 @@ "equation_FStar.Modifies.loc_none" ], 0, - "814a5704a43e4468e74a58d00f0b822a" + "f7ab77a347e4d895562b23c2d790778f" ], [ "FStar.Modifies.loc_includes_buffer", @@ -379,7 +379,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "b637b03692011d50ab77bc6416c342df" + "d80e38ce16bf012fc580a18a3e0482e3" ], [ "FStar.Modifies.loc_includes_gsub_buffer_r", @@ -392,7 +392,7 @@ "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb" ], 0, - "836df3050e41b271b685c32f977ba134" + "72372a43992f49d8a4779fd7aee85904" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -401,7 +401,7 @@ 1, [ "@query" ], 0, - "27a031f9406ffd27fba90f5727a124de" + "f5ce9b18c1fa360f86b9704077573f7f" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -442,7 +442,7 @@ "typing_FStar.UInt32.v" ], 0, - "e3f1d2600aad36bddf97bfd97f9842d0" + "5fee4377d94227a8d72b373901c3a8d8" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75f23a211a3d8485dfe8b15dbaf11019" + "fb215eb4f753dbca0e20ec0a8f1d87de" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5351b9fb844c02bba54c47b516d65b79" + "7c5104833710ee9eaba2123381e93ead" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9f57db83e63fd0ed9e2fa6bd1fadb46a" + "3b28f226375ec90cee2e273d26991ba8" ], [ "FStar.Modifies.loc_includes_region_buffer", @@ -510,7 +510,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "752e5b8ae87b128781f5a08fbf3265a5" + "297a2647fd0d87b6f072f50f0b80319e" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -524,7 +524,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "65eadc7cf87272eac1faf6f6ade4c55f" + "b10b2af43dffcb62b773fa17c36dcae7" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -537,7 +537,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "d0f462204ad57a51bc8e0b81a1d758ad" + "1c8ae63af760773730d29bea1d14b850" ], [ "FStar.Modifies.loc_includes_region_region", @@ -550,7 +550,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "6993ebdd1baec5ec56115c8a34d89d83" + "f4b88853cc2d548cc44529d15c2c7e4d" ], [ "FStar.Modifies.loc_includes_region_union_l", @@ -564,7 +564,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "2e8db7a3dd01cd2be08105699c092ea6" + "058196dde6af55c388e374cca26bbd63" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -578,7 +578,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fc0fdae6aea292aa4f8691318bb7a1c4" + "fedf6c20d11626d791825f76f2d7b718" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -591,7 +591,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "ad53ba901bbbaec7e9fe1e03d2fb7dc1" + "1f4c4e0eab7d0635e85fad3dda4c7414" ], [ "FStar.Modifies.loc_disjoint_sym", @@ -600,7 +600,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_disjoint" ], 0, - "04cb271b683e38b9828982ba7745c04a" + "81ca4517141463968f912a1a645725c5" ], [ "FStar.Modifies.loc_disjoint_sym'", @@ -609,7 +609,7 @@ 1, [ "@query" ], 0, - "cc8fcd99a35eeb6e3c29d8a7b5c70ac1" + "4474497ea01d555351213e07e5f09103" ], [ "FStar.Modifies.loc_disjoint_none_r", @@ -621,7 +621,7 @@ "equation_FStar.Modifies.loc_none" ], 0, - "fc0ab9dfa265b5385c3c39278911a7c2" + "e3409a955521f1426a41c98f1c9ae751" ], [ "FStar.Modifies.loc_disjoint_union_r", @@ -633,7 +633,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "620f0c1b5bcdf2fbb8bfa13ca927e51f" + "332827facb50eba373da4eee046dc5cf" ], [ "FStar.Modifies.loc_disjoint_includes", @@ -645,7 +645,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "fac11a946ab265f207c1ede7b43607e3" + "6e8ef572b79b9a5f61eb0c90164ae5f9" ], [ "FStar.Modifies.loc_disjoint_buffer", @@ -674,7 +674,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint" ], 0, - "6d627326ce9de4320a31eac82c5e8da8" + "24942b6a30eb7a9fe7d2a03b5e466009" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -683,7 +683,7 @@ 1, [ "@query" ], 0, - "2479afb58b4b79a6e3cd8a21632b9d77" + "783a2a1c2e72837fdc8040f79b91c74f" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -729,7 +729,7 @@ "typing_FStar.UInt32.v" ], 0, - "797138274710e556a7e3875a7c2609c5" + "d25a71fe38559a06fc37be89546c8559" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea067a652483f51bf6f4fa162cf4ca81" + "3671877e690b212bcc8aba595c6e7ed6" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -756,7 +756,7 @@ "equation_FStar.Modifies.loc_disjoint" ], 0, - "9a21af07234697ed483bb3d516e8a5b4" + "34f71d547b70dfe686e282d72c4a5305" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -770,7 +770,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1b77653f5c568ffce3def8aa47d8b64" + "822ce7b720ffd5939d4d4eaabe4fc96e" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -784,7 +784,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d5eb7b290977e1ac9b0a62f6847aee58" + "f22164282b092d4b41daaf89a48aa242" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -804,7 +804,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e6038876fcc4f35b9412fd29a2c2e790" + "f3a315ecf297e77174284f9c6919c3ab" ], [ "FStar.Modifies.loc_disjoint_regions", @@ -816,7 +816,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "e9b29a2703c94f21d16e36a97ad91374" + "13bebf74d490c6cfce9ea2a9ecef8e62" ], [ "FStar.Modifies.modifies_mreference_elim", @@ -834,7 +834,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "9e2f2934ff1eb8497ecd45a5cf98006e" + "e333fd6dd76fed9067022607f10cabb7" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -843,7 +843,7 @@ 1, [ "@query" ], 0, - "337cff57489b13c02be054dc831f952c" + "077e48bd439eb48b8e6737de4b8f091a" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -869,7 +869,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "c9163924c836a9861c3698cdfe3b2541" + "88c88c53c1a0295f9d5a1c804859ebf8" ], [ "FStar.Modifies.modifies_refl", @@ -878,7 +878,7 @@ 1, [ "@query", "equation_FStar.Modifies.modifies" ], 0, - "9e5334cc19e8b659049b2008309a7052" + "8496a4cac1e8a4c67066737010a3ba9b" ], [ "FStar.Modifies.modifies_loc_includes", @@ -890,7 +890,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "93df333a11f9082f47847d99c6d5239f" + "dae067b892505cfe053820eb0f7a812c" ], [ "FStar.Modifies.address_liveness_insensitive_buffer", @@ -910,7 +910,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8d80821dbc167568d8018d9a557ea7cb" + "eb63e0b76e1082350eb2da5ca57d7bd9" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -924,7 +924,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f3614cb0cbfa1be8b31eaf4fcef9a655" + "6734b90e7bff3bb4973fc40a9e90cd70" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -938,7 +938,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "1b1ee891a025b88a234a684f6b0142ad" + "6efe8be3e90feb3a614d4cc8b7db7662" ], [ "FStar.Modifies.region_liveness_insensitive_buffer", @@ -958,7 +958,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "792f5d4452c73e3178a1c61406d85ba5" + "72449108139fea28c45d7c562ca7e5ae" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -972,7 +972,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79331858f66360c5427161fef3fdfedd" + "a2e229ad7c1694d090abe3ca0134f87d" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -985,7 +985,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "01a6029a06b7160bb5f7e5819abb6d39" + "0ab80ee3dd30f0723a2f014dc9d19fb7" ], [ "FStar.Modifies.region_liveness_insensitive_regions", @@ -998,7 +998,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "4a852981839ad35616f49e1b5196e64f" + "d542b7b7c352c503cc3e98a3f647bc5e" ], [ "FStar.Modifies.region_liveness_insensitive_address_liveness_insensitive", @@ -1012,7 +1012,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "810dd4e4a25c8746cf4235fd24a78a22" + "6982691882691e24d5e3462c76e8d2dd" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference", @@ -1034,7 +1034,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "720ea4e39c52079ef878759dc336a73e" + "b28f54e8cba020b16e0f24d7429b800f" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer", @@ -1059,7 +1059,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "0bcbb2fd0db2df5393145a27ae86b0ce" + "97f65eae72133e13ad802d11f8481dda" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", @@ -1079,7 +1079,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "67e39b8eda6926eea76651f2b6eadc12" + "949bf0ee3d2e5037f0b6e607cb91af29" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", @@ -1097,7 +1097,7 @@ "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" ], 0, - "f2b1e254c90a60d9e260f69bd3c60b34" + "c4b7212a14d22718d7c22dc32d382363" ], [ "FStar.Modifies.modifies_liveness_insensitive_region", @@ -1119,7 +1119,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "89934de4e4a6812050a3eba11f631c66" + "57b574b69eccfca43ded2db543870b1f" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference", @@ -1144,7 +1144,7 @@ "typing_FStar.Modifies.loc_mreference" ], 0, - "53ef68708446d6e26d8ff39ea86f18e5" + "7bd3640856dd9c8e7b738cf10f5372df" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer", @@ -1168,7 +1168,7 @@ "typing_FStar.Modifies.loc_buffer" ], 0, - "ec2cb2a2b5e2e5eb5d322cd8ed15f055" + "2e2540d409b2d8a31bf73cf953ac8b48" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_weak", @@ -1185,7 +1185,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "f4db09dfe001e72867249959f03db349" + "0aebad01d4caf6e6ca11cdcfcf6427ff" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", @@ -1207,7 +1207,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "1ad73c67b6ca4c6fc29be34d10faeffd" + "e911834b67e45c80a280343c62ac8686" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", @@ -1227,7 +1227,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "e4e9b95a59b5eaf65644f494bb241d9d" + "13c7273ba26d7b9ef8a904ed77fab79e" ], [ "FStar.Modifies.modifies_trans", @@ -1239,7 +1239,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "88c1e2c0b84ffe2defd823cf50984c83" + "67c1c7e749d383292cc19b17f75a90a8" ], [ "FStar.Modifies.modifies_only_live_regions", @@ -1252,7 +1252,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "60a0635b86c9c3f59d969a3165657ba3" + "80756457c0170dc50313dcd5d88a3844" ], [ "FStar.Modifies.no_upd_fresh_region", @@ -1278,7 +1278,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "e1ee91ff6b01e9d164304caa91cfc51a" + "943da682cf5207c0c7dc982c05d626a7" ], [ "FStar.Modifies.modifies_fresh_frame_popped", @@ -1308,7 +1308,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "f51c98f6217b73f99b2c7c97d1b408ea" + "f0eea29406df440c2d360719cd57f327" ], [ "FStar.Modifies.modifies_loc_regions_intro", @@ -1320,7 +1320,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "dd027b0af9d1cb2289ab079a1262b207" + "47184a5685fc6a2579ce53820cd769f4" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -1334,7 +1334,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "135c92dd6016fb7c667823bfb600f5f2" + "25603134194458997d141d432d32af7d" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -1354,7 +1354,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "f08a71e0c017be621092fe91cd6872e6" + "fb2c568b10d85391049a461a5c9e7609" ], [ "FStar.Modifies.modifies_ralloc_post", @@ -1367,7 +1367,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "16ff982354bd8156dfb451fdda8e8333" + "8a6442b9728f2a14af5ddf150a8e4367" ], [ "FStar.Modifies.modifies_salloc_post", @@ -1380,7 +1380,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "54b68303f3d47694e0e7b7f47ecb19fe" + "ecd6d331d70a3b95e937528de71baeac" ], [ "FStar.Modifies.modifies_free", @@ -1397,7 +1397,7 @@ "equation_FStar.Monotonic.HyperStack.free" ], 0, - "58be97f91214a00beb5a69374147219b" + "30bad37309ddd6e6e8d4953326f13f87" ], [ "FStar.Modifies.modifies_none_modifies", @@ -1409,7 +1409,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "b478aceddf718f08afc0ec15ec03b7be" + "c9b4840fcacff7a705bbb21a1d8ca570" ], [ "FStar.Modifies.modifies_buffer_none_modifies", @@ -1461,7 +1461,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "d5ebd8d08ef769ca23cafb47d272c744" + "1725bbb41f9335fc400cf0bbeaf2bb40" ], [ "FStar.Modifies.modifies_0_modifies", @@ -1525,7 +1525,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4d96dd930797dc73ecad04b0125e1102" + "10d475006d7017939f3b888d384fb762" ], [ "FStar.Modifies.modifies_1_modifies", @@ -1631,7 +1631,7 @@ "typing_FStar.UInt32.v" ], 0, - "467c64b6522efec6aeed0a3bb85341d3" + "08d8eb6ad4ba7f1b4a290035fa4060a8" ], [ "FStar.Modifies.modifies_2_modifies", @@ -1750,7 +1750,7 @@ "typing_FStar.UInt32.v" ], 0, - "6bb0f7b15172250f6cff837cf13ca5d0" + "fafd79c70d29892f273c05b339b98bdc" ], [ "FStar.Modifies.modifies_3_modifies", @@ -1890,7 +1890,7 @@ "typing_FStar.UInt32.v" ], 0, - "2f257ffa2a9a0b696fe6c5d82f375945" + "9e5a465ae8785e4149ef6e8cbe5b0ee5" ], [ "FStar.Modifies.modifies_buffer_rcreate_post_common", @@ -1970,7 +1970,7 @@ "typing_FStar.UInt32.v" ], 0, - "e48026a4ff2b81abc1e5f57935591fb6" + "28fbd23b9a169d163f70b7ef28111a02" ], [ "FStar.Modifies.mreference_live_buffer_unused_in_disjoint", @@ -2034,7 +2034,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a94aa46942d7c49b18643e33e049d204" + "bc6c8905661b615d4b7db135c2ca3157" ], [ "FStar.Modifies.buffer_live_mreference_unused_in_disjoint", @@ -2098,7 +2098,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "ada25df44611680662cdfa3d0ce6845d" + "614fe1df1cdb67cb58d80f5f76f9b73b" ], [ "FStar.Modifies.not_live_region_does_not_contain_addr", @@ -2107,7 +2107,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "b7fafd7fe4af97d7beeb15219486ec50" + "176cbedb319e3465f5ba0fa5a5a06967" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -2116,7 +2116,7 @@ 1, [ "@query" ], 0, - "0f59d8fef11b31364a36c4558f40449a" + "f2be7d08ff8d58652632d03f340e496a" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -2125,7 +2125,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "b6857cf541b595665932eff7f0b4eeb7" + "8b2d417a40059a985ba730dcc0a5abc4" ], [ "FStar.Modifies.addr_unused_in_does_not_contain_addr", @@ -2139,7 +2139,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "d228de9da82e5e7983a2f8c1a23c3157" + "38ff5bcf9d57d1779c5153b22f0a78f7" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -2151,7 +2151,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "0c692d0bfbdd3e073c7573be1861e579" + "6066d55269a921246bd18ce0008d9ff4" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -2163,7 +2163,7 @@ "equation_FStar.Monotonic.HyperStack.free" ], 0, - "c654c48d683c5c65a0e3d4be8d197f02" + "d1814ff7f49efb308d1957339f270ad9" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -2172,7 +2172,7 @@ 1, [ "@query" ], 0, - "bc3d0a7671f54cc43749088f82f4933f" + "92938f320f92abbe1aef6bed4ef14310" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -2181,7 +2181,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "8fa1ac8b5ad1ec24dde6511b6cf5e11e" + "a6da22896985ac0cd6acbd6efd71ecd5" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -2195,7 +2195,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7813ced6aa3fdd60e78e476fca609e53" + "cf2d9bf25771125c5be2ec9e6e178f9b" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -2209,7 +2209,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "a78e36f7885c1c8399d2073c0cf5e14a" + "b5eb9ad1c04485e3955151c39231f57f" ], [ "FStar.Modifies.loc_of_cloc_of_loc", @@ -2221,7 +2221,7 @@ "equation_FStar.Modifies.loc_of_cloc" ], 0, - "df2dae3ada49f743f265ef1627ecccf3" + "e3442f73cdccc5d130237541c2dd8845" ], [ "FStar.Modifies.cloc_of_loc_of_cloc", @@ -2233,7 +2233,7 @@ "equation_FStar.Modifies.loc_of_cloc" ], 0, - "d95b4967123e3f32a2d77b09a9687303" + "73b5aca45d91e41db4431d5f12794be1" ], [ "FStar.Modifies.cloc_of_loc_none", @@ -2249,7 +2249,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "a9cee56b7eceb045eea4cd05c3ad07de" + "800c3e767af11090ce68df305809f706" ], [ "FStar.Modifies.cloc_of_loc_union", @@ -2265,7 +2265,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "1d609dc7d95f8f599c37fce5a93ed50c" + "25704126e5144535813eddd5b10c0d64" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2279,7 +2279,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40a8c82fc5ee8190fef397a90c043692" + "e371d4bdcb8e70b8b016546ab569b103" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2293,7 +2293,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2426de3044a8b7a6c29ec099561d8366" + "75d3ee84ce85ed5e5679b96be7f37f4c" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2309,7 +2309,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "c51fa1dfbe3c50204e9d39c288ea582f" + "d73d7f894fd0d387c8b176550c2ca8f1" ], [ "FStar.Modifies.cloc_of_loc_regions", @@ -2325,7 +2325,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "9e6145e2673cb87fa29b32d1f454e206" + "b1272c11a6c5a7b8f180c64fc9a36ac0" ], [ "FStar.Modifies.loc_includes_to_cloc", @@ -2341,7 +2341,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "d1fae4e7f7aaec5190ee613cc8510732" + "afb91931aad15fa54f4c3b1000486e1c" ], [ "FStar.Modifies.loc_disjoint_to_cloc", @@ -2357,7 +2357,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "898321abfc011ade85f9075bec3bbaf6" + "7507ad6d42e3d65adceefbc5dc570980" ], [ "FStar.Modifies.modifies_to_cloc", @@ -2373,7 +2373,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "d33f05a810c73424a114a413b9082460" + "5e3eb7226d3278e64166b852f9fc0444" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Modifies.fsti.hints b/ulib/.cache/FStar.Modifies.fsti.hints index 7f85e3ed22b..b2dda3a92ca 100644 --- a/ulib/.cache/FStar.Modifies.fsti.hints +++ b/ulib/.cache/FStar.Modifies.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "25922bc8e30e1b134879fcf1a6abad34" + "be1d4efc86a93e1754bf718c289a1837" ], [ "FStar.Modifies.loc_mreference", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2950859c1d77325c65d92bf3c0116a78" + "d7babd4aef68079ce6ddebfa511af252" ], [ "FStar.Modifies.loc_freed_mreference", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "94bba4ebee5751e09fb1b9be30300fc9" + "4a121fc1d5ad10bb6f7b7cb5f978c51d" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -50,7 +50,7 @@ 1, [ "@query" ], 0, - "a1c3ccaddc1b371650c7d57e40ed2ae9" + "3fb3220d1998039ef1a658ae2161c9e5" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9804917a386eed9d8799a94477c27adc" + "6e4a9a46eca07a727ed4c95ecdf56f31" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3cc5aa2faaac761ba5d11fecfc421714" + "f5476c15f01e5c1ec5df9072de9e262c" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14c1960a65e95187916281a4ea45a5ca" + "f307fc453969baf2efef74d1accd2766" ], [ "FStar.Modifies.loc_disjoint_sym'", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "bbf527fa43824cbb53ead3b9949362b6" + "3962bac39a24f3ca4348f0d9696d2a5c" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "208e8356c3eebd94ec4f79d288df9d22" + "f9ccb106d4f3d33f06edadfdacf4ccc6" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "03affe077a19dc85bfc3943e4516df2e" + "f80134a16b75ba2d4e45af2bf7547fe2" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31a86168b03dc6a7e8ad616c8db01b78" + "0178758563553791be2da864114e274c" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "0ae175fd48eb725a0a238779feeeb7d9" + "6dceb77c6c10ecf4dc310a55ec9bb4d1" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "43c81dcd2fccb32cb6e2bc283b1725ae" + "2ec5b8b570309405b6f75cfa3d779c7e" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1a075244e393c20a887c5323d4bdb8fa" + "eac0d8260d21912f362aa4fb16c6d43e" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", @@ -194,7 +194,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "ca7239d5b80375e495995f85f5954b47" + "e502580fec6680d492c8f69036389433" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", @@ -210,7 +210,7 @@ "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" ], 0, - "39b55c0e8c2bb46ff7c0116acf2ef3f7" + "066a3f14ffa8c34302ae96ae2cf94eee" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_weak", @@ -226,7 +226,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "c378159b67f8cedca6ef553068ee4ef5" + "78c0e9562e2dd49ac9dde3c2bb52258b" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", @@ -247,7 +247,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "047cd500ad555244e2cdd03b5d8b18d8" + "fc2e7c7e049cd2011d63a7c74935c281" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", @@ -265,7 +265,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "850dcba4abc754f7cfa93a4355553669" + "570026a1c249e9a79a7b637d02664145" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89be71a9fb3aa45b7b832b4639dc2640" + "e2b4de5b19c873a402118157a30a5f3b" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -288,7 +288,7 @@ 1, [ "@query" ], 0, - "3c5c47890602fd6132d27b389109a0b7" + "44a92f8440972baeb25dc6ace0a41afa" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -300,7 +300,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "e5e3a3a9ffe3468341aad6d54ed96ede" + "a97556b8908e2650f5bddaf7364f5a34" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -309,7 +309,7 @@ 1, [ "@query" ], 0, - "4b14c5e6dc80632de8ef0a74022db5fc" + "66fc3c4e3a21020d76c950aa85823810" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44ee2d6e09f4725b516d6453cf744fbe" + "16687d1de5bc6a4295f07098eaab820e" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -337,7 +337,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cfd9e9553a0bc5abc02dc9035154d5cc" + "0f5cff88479c2226477017e8d1b7bba2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.ModifiesGen.fst.hints b/ulib/.cache/FStar.ModifiesGen.fst.hints index 2045e0fe4ac..62b23e4d595 100644 --- a/ulib/.cache/FStar.ModifiesGen.fst.hints +++ b/ulib/.cache/FStar.ModifiesGen.fst.hints @@ -1,5 +1,5 @@ [ - "ð±¯x°NaEØm+„q!2Š", + "\u0012çžô†rîv\u0003\u0000«˜Ãq¢", [ [ "FStar.ModifiesGen.cls", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "037f675ad86edd61005a38509abef6bf" + "8f4e5f1a54e3b60a19bd015fa3a08269" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -17,20 +17,16 @@ 1, [ "@query" ], 0, - "3addaf09baa798dc7cf9a7158fdcb168" + "aa4efa4a58d05b1d42f7f8732b22f02b" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", 2, 2, 1, - [ - "@query", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" - ], + [ "@query" ], 0, - "aa9ade7de89fc5b773b363fa0927275d" + "6a09378b20c5b7e970aabe761b660c12" ], [ "FStar.ModifiesGen.loc_none", @@ -52,14 +48,13 @@ "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "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_fce7d7619e8abba87ce443bd0099688e" ], 0, - "87e8daa0e262e55633f76918686c4234" + "3a1a6f765728fd3827dcd5854ef6b459" ], [ "FStar.ModifiesGen.addrs_of_loc_liveness_not_preserved", @@ -71,7 +66,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "185b9323c62a838c3a310c70b1abb39f" + "8a9fd075304a27a515980fe8727e1baa" ], [ "FStar.ModifiesGen.addrs_of_loc_weak", @@ -83,7 +78,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "dfa644bc159e8ee8a086637eb341378a" + "1667f9ed05d0ec1b44cd65823b97a074" ], [ "FStar.ModifiesGen.addrs_of_loc_aux", @@ -110,7 +105,7 @@ "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.addrs_of_loc_weak" ], 0, - "7b48d15d9a304c3f62f9472a44dd5f80" + "f8d0412e57ee9756a3be959d2e7f6f6a" ], [ "FStar.ModifiesGen.addrs_of_loc_aux_prop", @@ -125,7 +120,7 @@ "typing_FStar.ModifiesGen.addrs_of_loc_aux" ], 0, - "681bd4d7d1a86757f64e3b1aa736641a" + "f3d1bc0644fd77ac63c30c2601cc70bf" ], [ "FStar.ModifiesGen.loc_union", @@ -208,7 +203,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "de08ca94f43664ba1d8ccb69ce9c0708" + "722b91fad20626063dba1e22904cb7f8" ], [ "FStar.ModifiesGen.fun_set_equal_elim", @@ -231,7 +226,7 @@ "typing_Tm_abs_aa5f25db0d54924745a377f4c8b05107" ], 0, - "add1b729ce5f68e5bff0a8a8919a55cd" + "4eeefa878fbebebeef6a15c34759605d" ], [ "FStar.ModifiesGen.loc_equal", @@ -265,7 +260,7 @@ "typing_FStar.Set.set" ], 0, - "e53593064c5e35b0ae3703126f9e437e" + "fa2495dfbfce6e915a3d07e66fbcc194" ], [ "FStar.ModifiesGen.loc_equal_elim", @@ -295,7 +290,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "1120b956f9af1906045dfc1c029f6eff" + "06b018619b9cc395e24daee951ab6c66" ], [ "FStar.ModifiesGen.loc_union_idem", @@ -375,7 +370,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "04cb440fc4cbd5f9b9b2a055d1d2a211" + "2f1b060b86d479d3a69ee2a90aab0b13" ], [ "FStar.ModifiesGen.loc_union_comm", @@ -455,7 +450,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "063498f1648aa64a3cae870e7d7522fd" + "b681abd3bf6475a1707154c72604d3c9" ], [ "FStar.ModifiesGen.loc_union_assoc", @@ -545,7 +540,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "4a65c62f5a48d8b2922f3ef580aee700" + "4b4de2791f20570eb2c57dced0946443" ], [ "FStar.ModifiesGen.loc_union_loc_none_l", @@ -632,7 +627,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "52db2115add1abae8469e6727061cb1f" + "537d7572cbd99c8a7b8369bf27368dfb" ], [ "FStar.ModifiesGen.loc_union_loc_none_r", @@ -684,7 +679,6 @@ "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_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", @@ -719,7 +713,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "45368ccd8af182f38d67406e531cff21" + "de899b90b44e7f1cd19e9c172ebfc006" ], [ "FStar.ModifiesGen.loc_of_aloc", @@ -787,7 +781,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "47543d943b8b0e721475140e5870be58" + "cbc2e18acb1d077b631dba954d862e56" ], [ "FStar.ModifiesGen.loc_of_aloc_not_none", @@ -810,7 +804,7 @@ "typing_FStar.GSet.singleton" ], 0, - "f3fe7a2fb109b677a3a67ee0cc8b0bae" + "8f9d9da5bb3ac6a0f6ef561ab9a3f205" ], [ "FStar.ModifiesGen.loc_addresses", @@ -824,7 +818,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ce8e4b2964a9b8d286d172f778992e6" + "3aed02ec07bc15deb6920096e567b975" ], [ "FStar.ModifiesGen.loc_addresses", @@ -838,7 +832,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c63a3ecfb65e85b74c80205feb0a991f" + "5554a0fe1fad0a5af8e215ec07cbf1a6" ], [ "FStar.ModifiesGen.loc_addresses", @@ -905,7 +899,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "2538f48d500f9da99516b1f40a42651e" + "c4d6a73763d86cbd7e80b22a93abeabc" ], [ "FStar.ModifiesGen.loc_regions", @@ -947,7 +941,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "bc9ca27a56bcc4ed5cbbf53a2c303577" + "9dd36143dcfe983594635729a1dca6ea" ], [ "FStar.ModifiesGen.loc_mreference", @@ -961,7 +955,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eede2cb845635c37a9cc61d8f4063317" + "a1327927667934c17deb95bc0a32e58d" ], [ "FStar.ModifiesGen.loc_freed_mreference", @@ -975,7 +969,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "123d270b3fea4747f6b30603afdc43e7" + "66dffc6994e5ec9bdec8284bdc597add" ], [ "FStar.ModifiesGen.aloc_includes", @@ -987,7 +981,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8f37b0d04658d14c106f68017db1d994" + "6ff89e7a426fbe2dca78acba211004b4" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l", @@ -1005,7 +999,7 @@ "typing_FStar.GSet.mem" ], 0, - "77a4e69dea1e7bc121ff7bb247bc269a" + "d9533ce80a3b8298934ef1e5af6c3a0b" ], [ "FStar.ModifiesGen.loc_aux_includes_refl", @@ -1032,7 +1026,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "ad8a717a670396564d40f4d1f04c1f7a" + "553dfe7868644bdfb0d94ef305ee269d" ], [ "FStar.ModifiesGen.loc_aux_includes_subset", @@ -1060,7 +1054,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "db5f4f2ab4dbd0c8a7602c6374f0267e" + "1f50fb5bfa0f4d942ee0f03265ffddca" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l_r", @@ -1069,7 +1063,7 @@ 1, [ "@query" ], 0, - "0f562221891125c1483d809af1451d75" + "e85884b9edf39b3ebc972b26af167cc3" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l_l", @@ -1078,7 +1072,7 @@ 1, [ "@query" ], 0, - "f52e18ce44039036b92fa1b2d001528d" + "d37b019a74b4c2d7a065af2a8078ff7d" ], [ "FStar.ModifiesGen.loc_aux_includes_buffer_includes", @@ -1107,7 +1101,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "4d5a6992a91c340eeb7f0ec6fac1516f" + "17afb0f2dcb36dd46439a2053519e16c" ], [ "FStar.ModifiesGen.loc_aux_includes_loc_aux_includes_buffer", @@ -1121,7 +1115,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc" ], 0, - "e8bfe92cb1333def645f51a572c56439" + "c631d0a4cc246ac28d527a9209768da3" ], [ "FStar.ModifiesGen.loc_aux_includes_trans", @@ -1140,7 +1134,9 @@ "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_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", + "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", @@ -1152,7 +1148,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "80716d32229bbbb9e2f96f51d924a5fb" + "a48bb825ee6644364a0ba1a7b37cbbc4" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_loc_union", @@ -1211,7 +1207,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "0c4997a7ffa919e70ac7caa87eb72588" + "28c56758cc3f9e4d950132d0c2046305" ], [ "FStar.ModifiesGen.addrs_of_loc_union", @@ -1229,12 +1225,13 @@ "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_union", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_Prims.dtuple2@tok", "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", @@ -1253,7 +1250,6 @@ "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", @@ -1265,10 +1261,12 @@ "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" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "dbba5f7dcaa0d8ce41569e1ca070b2d9" + "5cc89efc0f0b7a9fd0db51c12fa0ef37" ], [ "FStar.ModifiesGen.loc_includes'", @@ -1281,7 +1279,7 @@ "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "e18059d23362c7cd3331107ca8fa77c4" + "3961fea0709dbca14f44714027cfb155" ], [ "FStar.ModifiesGen.loc_includes_refl", @@ -1300,7 +1298,7 @@ "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37" ], 0, - "c18566ad59695e7c63da2ff90d6005cd" + "5a48eb73abfedec8340ae215fa0fc6a1" ], [ "FStar.ModifiesGen.loc_includes_trans", @@ -1336,7 +1334,7 @@ "typing_FStar.Set.set" ], 0, - "b34b6bb4ed7e3b8230e034ad6b3312e3" + "99b11b4d92432fe56611abd6813c0486" ], [ "FStar.ModifiesGen.loc_includes_union_r", @@ -1355,6 +1353,7 @@ "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_weak", + "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_aux_includes", @@ -1415,7 +1414,7 @@ "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "984a12926991ecd64696f7f2d367e152" + "69e22277780ce7e50ef6b32d1e68cdc8" ], [ "FStar.ModifiesGen.loc_includes_union_l", @@ -1492,7 +1491,7 @@ "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "0a6da511c3b34b57578f6aa8eb41d657" + "9da450bca87022a56238ecc6c91835df" ], [ "FStar.ModifiesGen.loc_includes_none", @@ -1513,12 +1512,12 @@ "equation_FStar.ModifiesGen.loc_none", "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", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", + "kinding_Prims.dtuple2@tok", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", @@ -1541,7 +1540,6 @@ "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", @@ -1552,13 +1550,14 @@ "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.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.set", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "4e75cccaccc5ab752605e6147290a1e0" + "d6a3d393df7e71daa18d938f7b872198" ], [ "FStar.ModifiesGen.loc_includes_none_elim", @@ -1607,7 +1606,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "03ff30d7c68ab996cc04758fd53ae11d" + "235f7325b9f9a6327ce100e75b5228dc" ], [ "FStar.ModifiesGen.loc_includes_aloc", @@ -1703,7 +1702,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "92d111174a838629a838ad0234fe621e" + "1120470cb7dfb498e92dc5d2696ecf91" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -1712,7 +1711,7 @@ 1, [ "@query" ], 0, - "32de66f732f247c80a9a1c623f274b7e" + "20f7f88296f8bb2a2b4c3ff8e6f10f50" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -1803,7 +1802,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "69811689129f842b9c1720bbd135c1e9" + "a66afdae3c27d1696b971c3607391811" ], [ "FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", @@ -1814,7 +1813,6 @@ "@MaxIFuel_assumption", "@query", "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", @@ -1824,7 +1822,7 @@ "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", - "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_aux_pred", @@ -1835,14 +1833,13 @@ "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.l_Exists", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "int_inversion", "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "kinding_FStar.ModifiesGen.aloc@tok", + "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", @@ -1850,7 +1847,6 @@ "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.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", @@ -1870,7 +1866,6 @@ "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", @@ -1887,12 +1882,12 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", - "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" ], 0, - "78f4b4ed2e9377e8a1ec0d4b52ec4fba" + "82657e33898fd72877cb638ee63a4f8e" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -1906,7 +1901,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2081dbca5c3b5432624003faa82d6294" + "bb585eaaea15a6e5b22644d1f2281f9a" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -1920,7 +1915,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "580e0edbd0ac85e5c3e5e8285c93074e" + "25d2355ed5c68e3929e70ea6c0697e05" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -2037,7 +2032,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "23b426e5c5854533a4c10479eb3034d1" + "47392b3eb7285fa9ac893e0f1e6fc8c8" ], [ "FStar.ModifiesGen.loc_includes_region_aloc", @@ -2153,7 +2148,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "976f65b5cafe33f256ece0510a5d8669" + "8281ea1def36511714e0d40ab9531692" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2167,7 +2162,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a056369a0bb09029fdbbe88c14f1690e" + "bf78c3e9d65a2a500e7db415af79a5d5" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2181,7 +2176,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "03f1351b99738f671e6a05f08673fe55" + "d55fa7fc2a7881a10fd82a565c8bf7b9" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2295,7 +2290,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "fe078e3fcddae46b119822cf3e0fc2f5" + "6830bf2ef963da1a63ef22e41305ccb0" ], [ "FStar.ModifiesGen.loc_includes_region_region", @@ -2406,7 +2401,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "20a4dcc22649de3b65b7441a9af5cba6" + "4bc8910df8bf2ba0de2e1e24590810a2" ], [ "FStar.ModifiesGen.loc_includes_region_union_l", @@ -2510,7 +2505,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "a32cf8578f68fddc45359d28b57ca7b0" + "94555538ee42d7c3f614bbfc40591d28" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2524,7 +2519,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "16b7f933d7fe618ec60cbcb372c874f2" + "40051552318965909ca1f6ed88ac8dc7" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2538,7 +2533,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52b6adc1f74f651684a7fd70f91788de" + "4c064dd1847b53a12d21157b3dd447a7" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2644,7 +2639,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "227d760b131c2c7aa060f97b2c91f203" + "e7b81e76c3851c42fcba393d2ebeae03" ], [ "FStar.ModifiesGen.aloc_disjoint", @@ -2660,7 +2655,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1a238024035d72c15c579d5e235c6dc2" + "7c57c94910584f46ee4aca410a4b75d2" ], [ "FStar.ModifiesGen.aloc_disjoint_sym", @@ -2683,7 +2678,7 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__region" ], 0, - "bf1a7593fbbee4e4b53b6355c67c7fae" + "af8092d562ee9b62ed66f39ada18cd5e" ], [ "FStar.ModifiesGen.loc_aux_disjoint_union_l", @@ -2700,7 +2695,7 @@ "typing_FStar.GSet.mem" ], 0, - "304c0ae3f35ebc435ef61501bf773eba" + "5a97b16b8d8217e1c2962f16de55dd22" ], [ "FStar.ModifiesGen.loc_aux_disjoint_union_r", @@ -2717,7 +2712,7 @@ "typing_FStar.GSet.mem" ], 0, - "ed91957735fbe23396a3fc3407207a5d" + "7654438f2edc98f6669a4a6768a079e1" ], [ "FStar.ModifiesGen.loc_aux_disjoint_sym", @@ -2726,7 +2721,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.loc_aux_disjoint" ], 0, - "6e6110096135fb346407fb2a810fb572" + "fd7bcda63076f49320e41cb5807dc2d2" ], [ "FStar.ModifiesGen.regions_of_loc_loc_union", @@ -2748,7 +2743,7 @@ "typing_FStar.Set.union" ], 0, - "9753df7fc36ccf3066a49ca4052c7a6b" + "168a0ab12af268fd3da007227f1406de" ], [ "FStar.ModifiesGen.regions_of_loc_monotonic", @@ -2760,7 +2755,7 @@ "equation_FStar.ModifiesGen.regions_of_loc", "l_and-interp" ], 0, - "f5a558945fd7d7ffb31b4f5ff46cf019" + "4eb894d64b0e57d495b07cc734a6df86" ], [ "FStar.ModifiesGen.loc_disjoint_sym", @@ -2798,7 +2793,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.set" ], 0, - "11e8fddd14a802ee5946dc0518ed3f14" + "cdfeed249a915263c59fd5a7e6703b59" ], [ "FStar.ModifiesGen.loc_disjoint_none_r", @@ -2864,7 +2859,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "feeeab1abbc775957bf33320139272b2" + "44e4dfa67498d1bd18aa063df81bf008" ], [ "FStar.ModifiesGen.loc_disjoint_union_r", @@ -2914,7 +2909,7 @@ "typing_FStar.Set.union" ], 0, - "bd225bdd801c26ef154a6c83c0066e1f" + "cc7b59fafc695cc46bd2235dbd5f147b" ], [ "FStar.ModifiesGen.aloc_disjoint_includes", @@ -2936,7 +2931,7 @@ "true_interp" ], 0, - "69060038efa4cca0e8f1be4c1679cd8e" + "0cf4973a9b0d1b46b29247c8095e92cf" ], [ "FStar.ModifiesGen.loc_aux_disjoint_loc_aux_includes", @@ -2953,7 +2948,7 @@ "kinding_FStar.ModifiesGen.aloc@tok", "typing_FStar.GSet.mem" ], 0, - "3c22920ee412d3e60eac54c95f581262" + "3b8a23192b128fe01ffb4ccf5c21d58d" ], [ "FStar.ModifiesGen.loc_disjoint_includes", @@ -2992,7 +2987,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "72fb1c27298e89bae0572be78d025f48" + "73afb4a318601c55897afff297a1c46f" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -3001,7 +2996,7 @@ 1, [ "@query" ], 0, - "8bb3915aa2e8feb9f57430ec758a7c5e" + "f4889f00bc861fd9cf651f04a3d89a22" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -3094,7 +3089,7 @@ "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" ], 0, - "8885d25a48d0cdc218817d639d7ac1b7" + "b883b6cadcbe6966f64d9952a2f67491" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -3103,7 +3098,7 @@ 1, [ "@query" ], 0, - "4e543f49938eaf51fe0014d7e2a3b406" + "1231f396fc299539f21e9a43d116df14" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -3160,7 +3155,7 @@ "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0" ], 0, - "b441f5faef7236c6c3252aae8911ad23" + "beb1c844d46e442b994774ae4b3060e5" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3174,7 +3169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "90b96fd6375437dbf94d69a2535de0c0" + "d2c8b53c3ed84c306ebfeb2d776729aa" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3188,7 +3183,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d95f065164367783b5ff007803853a72" + "cb2fdeede0ba8c9888f5b8311a0a1715" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3294,7 +3289,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "3473aec82644d89a8270b184cae17d7a" + "4b398471eba5224f4cc68735a2462b29" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3308,7 +3303,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2d78e88661f87788a8f5e6945dfc39f" + "c234769c7ac24e50c5d7c349db316856" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3322,7 +3317,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7721e5f557d23e5d5d17f20055b768d" + "ebe7d0450d9283a9431d0ac37d650f04" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3390,7 +3385,7 @@ "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "030095d5cfa8851c75004517103b95e9" + "edb020d63f3886c9e2a6c7dd1f117f43" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3404,7 +3399,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6195fb1b73bac4309495cde80e6ec03c" + "f226e702fbdae5a70222c5b075c7cb8e" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3418,7 +3413,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ec1672e1a5cf6b9687af221ebebc7dc" + "f9a1f16af1c8ead2118998d04f60db3f" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3516,7 +3511,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "dae3db3672956321812966c42396908c" + "44607302bfb56a16351bee3b93bdfbc2" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3530,7 +3525,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9bd903dc3c08218494284d7c60f1491a" + "c5d1002cb6604362e4842c61e0b84c8c" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3544,7 +3539,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9f65c1ae25ae54ee3f7c25b4524aeaab" + "34881d22aa300b9efd96f0bbe3153df7" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3610,7 +3605,7 @@ "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "5e031f60e67792a513eac10c6a3b2318" + "e153d271cafe9f231958681ed36038ab" ], [ "FStar.ModifiesGen.loc_disjoint_regions", @@ -3621,7 +3616,6 @@ "@MaxIFuel_assumption", "@query", "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", @@ -3652,7 +3646,6 @@ "equation_FStar.ModifiesGen.regions_of_loc", "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", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", @@ -3669,10 +3662,11 @@ "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.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "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", @@ -3694,7 +3688,6 @@ "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", @@ -3704,6 +3697,7 @@ "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.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -3718,11 +3712,11 @@ "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.squash", - "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "fc42e9dc65549350cda3b8ecdeac0250" + "6a64fa5a95e0b8bbdc26a22f4bb53979" ], [ "FStar.ModifiesGen.loc_none_in_some_region", @@ -3766,13 +3760,11 @@ "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "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.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", @@ -3783,129 +3775,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "83a028285acc40f2e8e3f8321f027fb7" - ], - [ - "FStar.ModifiesGen.dummy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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_54cead0728fb2c81f3c363f0cf1c82e3", - "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", - "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.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "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.loc_includes", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.loc_none_in_some_region", - "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", - "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", - "int_inversion", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "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_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "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", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "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.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_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_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "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.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", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_none", - "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.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "6bba4dd94e04e3763d93b7ba8316d5bf" + "45405d7deffd70202ed973aaf1499f42" ], [ "FStar.ModifiesGen.address_liveness_insensitive_locs", @@ -3945,7 +3815,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ad5843f6644407db766c2957263bb8e5" + "c1609153cf0263ffd10f94391164cdeb" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_aloc", @@ -4062,7 +3932,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "14b457da4b3f0de57f88af634b250349" + "dae9790a433657da81614089f46cc057" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4076,7 +3946,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a9d33eaa73549f7697cb0c4c94ac412" + "61530dfc23cd2ccb1e264d23fc32b987" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4090,7 +3960,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04881b5383eed7c2301ae430f4914894" + "1e032029dd124083693e06e578b1103a" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4193,7 +4063,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c0ccacd87f42e20b4f739287da9b9267" + "1162eed7c56b520084cf05d696a2f0d3" ], [ "FStar.ModifiesGen.region_liveness_insensitive_locs", @@ -4232,7 +4102,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "213adb2ef596c5cbe4023b6ae5883852" + "11d6288a73b750f52ebf15ff06f21de2" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs", @@ -4322,7 +4192,7 @@ "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "06c849d65f4970a7b8489c067b608fe3" + "3ea85196afcccf9574f71d8a0bb67282" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_regions", @@ -4419,7 +4289,7 @@ "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "a3f19618b2c3ecd6e143dbb2d999a297" + "3b411419196da0c43e04a9e1868f3ab7" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4433,7 +4303,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e4a4aaa5bd3e4ad11830559743e208ac" + "e42a79f49a7cd8fa27707fda91bbc0dd" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4447,7 +4317,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f684caa451ede2f39c325b531a1ddeed" + "dabccbd5f077134370a9534b3f45deda" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4551,7 +4421,7 @@ "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "8542164da7760c84a321afb98cb77c62" + "cce1f31b6f86ef46a5fa219ddb63a8c0" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_of_aloc", @@ -4664,7 +4534,7 @@ "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "bd4841b896e9c1c62fd0f2739f4870d7" + "d54e6cb96cb3817bcf4a3187f6a61e45" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses", @@ -4673,7 +4543,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], 0, - "6473d5f6199bffff59c8b4a8190c4827" + "615003841507531e2edd4da32d1017bd" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_elim", @@ -4690,7 +4560,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "971c8e2cfe3a2fe0795f963fcfc89720" + "4783f85409e6f15b2faedf5eefa48842" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_intro", @@ -4704,7 +4574,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "b64d16716c4d29031f7962b63c37321b" + "343c1fdbb28276a34ded1e17c454e52a" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_intro", @@ -4719,7 +4589,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "a02ad81c43542efd6f99271edf862571" + "be4ac8236017469e19b0d10e36782bd0" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences", @@ -4728,7 +4598,7 @@ 1, [ "@query" ], 0, - "7049b375ef67d5b56b1880f08455650e" + "ff71a970ef712b517dce50f487cc4d6a" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences_intro", @@ -4737,7 +4607,7 @@ 1, [ "@query" ], 0, - "0fa15e053ba7ce527619bc5032d72c26" + "21759dcd51f5b8052862010de5ba33d7" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences_intro", @@ -4751,7 +4621,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "4bb17a3a3f3b4a8117c7b4972cd03e1f" + "d3acfbebd9419c96886db8925df32839" ], [ "FStar.ModifiesGen.modifies_preserves_alocs_intro", @@ -4767,6 +4637,7 @@ "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "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", @@ -4794,11 +4665,10 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "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", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_singleton", + "lemma_FStar.GSet.mem_union", "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", @@ -4811,7 +4681,9 @@ "projection_inverse_FStar.ModifiesGen.ALoc_region", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_6b507516cdb6057cf1f5c54c2c46e642", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", @@ -4821,13 +4693,15 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.mem", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "unit_inversion", "unit_typing" ], 0, - "f76ea5eb207749225c21cfb03f67e221" + "4faa831a96415256ce46ccbacc9d9152" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in", @@ -4836,7 +4710,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], 0, - "e2f0aa800a3df3c5d7e6e350de7e4df7" + "ef1f7c1435206ab79e4e1be6405e7c32" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", @@ -4850,7 +4724,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "64a2189740fb743400f1d8879c2007d5" + "8ee9a12609114767d25c03ef41ff9d35" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", @@ -4865,7 +4739,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "2c1b5036a2a335ffa3851ffbe0db006b" + "2eaa42283599924f53c6b91a3ce29b30" ], [ "FStar.ModifiesGen.modifies_intro_strong", @@ -4879,12 +4753,12 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "fc380657b360c7ac09a3b1e899409729" + "92f0a3051f36adedabf3455e772dcf5c" ], [ "FStar.ModifiesGen.modifies_intro_strong", 2, - 1, + 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", @@ -4893,12 +4767,12 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "136eed51f265d2798860010b9a6a9880" + "ec8f08981166fdd08a831c2d0d8c39c4" ], [ "FStar.ModifiesGen.modifies_intro_strong", 3, - 1, + 2, 1, [ "@MaxIFuel_assumption", "@query", @@ -4920,12 +4794,10 @@ "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_t", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", "equation_FStar.ModifiesGen.loc_disjoint", "equation_FStar.ModifiesGen.loc_disjoint_", "equation_FStar.ModifiesGen.loc_disjoint_addrs", @@ -4941,14 +4813,13 @@ "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.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", @@ -4958,6 +4829,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", @@ -4976,7 +4848,6 @@ "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", - "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", @@ -5000,20 +4871,15 @@ "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_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", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "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.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", + "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.singleton", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "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", @@ -5025,17 +4891,13 @@ "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.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.rid_freeable", "typing_FStar.Monotonic.HyperHeap.root", "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.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", @@ -5046,56 +4908,141 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "7d8ab48c41346cc331b054620802083e" - ], - [ - "FStar.ModifiesGen.modifies_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "871ef8a9f904d73b4ad8463ad97f6d15" - ], - [ - "FStar.ModifiesGen.modifies_none_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "f81edd66f359f77abef9d53718bcebd2" - ], - [ - "FStar.ModifiesGen.modifies_address_intro", - 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, - "2badde7154f7cdde8599ca4c07b417de" + "118c6e5b61c9fb2fb0c111494c032a96" ], [ - "FStar.ModifiesGen.modifies_address_intro", + "FStar.ModifiesGen.modifies_intro_strong", + 4, 2, 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, - "2fe142a763823451c36b747f5f8f3911" - ], - [ - "FStar.ModifiesGen.modifies_address_intro", + "@MaxIFuel_assumption", "@query", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "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", + "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_addresses", + "equation_FStar.ModifiesGen.loc_aux_disjoint", + "equation_FStar.ModifiesGen.loc_mreference", + "equation_FStar.ModifiesGen.regions_of_loc", + "equation_FStar.Monotonic.HyperStack.as_addr", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", + "equation_Prims.l_Exists", "equation_Prims.logical", + "equation_Prims.nat", "equation_Prims.pos", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "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.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", + "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_union", "lemma_FStar.Ghost.reveal_hide", + "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", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ModifiesGen.Loc_aux", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_da29b296c5b5ab5968d5621bfe1c5b36", + "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.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.__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.loc_mreference", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.as_addr", + "typing_FStar.Monotonic.HyperStack.frameOf", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_FStar.Set.singleton", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "72e68f0bd2cca14ada290a2201f1b070" + ], + [ + "FStar.ModifiesGen.modifies_intro", + 1, + 2, + 1, + [ "@query" ], + 0, + "f4a51207e96830eb4c95397829d88b54" + ], + [ + "FStar.ModifiesGen.modifies_none_intro", + 1, + 2, + 1, + [ "@query" ], + 0, + "3b11b9b06cb9d1cc52dfaf608f6da6ff" + ], + [ + "FStar.ModifiesGen.modifies_address_intro", + 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, + "2567afac64c037a52f472b0631ba15e5" + ], + [ + "FStar.ModifiesGen.modifies_address_intro", + 2, + 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, + "026f02928f21bcae9ddfac30b84d379f" + ], + [ + "FStar.ModifiesGen.modifies_address_intro", 3, 2, 1, @@ -5178,7 +5125,7 @@ "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "bee529fc816e7e342af4ede359825390" + "38016a4f60321c39507af4ba0aef839a" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5187,7 +5134,7 @@ 1, [ "@query" ], 0, - "908ca204798a15a3df7e3b2065a1ca7c" + "7f6f18e5a51078444e02f783f45cc7aa" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5196,7 +5143,7 @@ 1, [ "@query" ], 0, - "0abcec6e90c4f84102fdcb86f9609a31" + "3e80d958caf26b271eb087c74504e5c6" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5206,7 +5153,6 @@ [ "@MaxIFuel_assumption", "@query", "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", @@ -5221,7 +5167,6 @@ "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", @@ -5237,12 +5182,11 @@ "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.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.mem_singleton", "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", @@ -5261,11 +5205,9 @@ "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.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", @@ -5276,11 +5218,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "79e3740da1ce0a5e81bd064a05c1a9be" + "6fd86fff0ab88158008341e5f2ffcc43" ], [ "FStar.ModifiesGen.modifies_live_region", @@ -5317,7 +5258,7 @@ "typing_FStar.Set.singleton" ], 0, - "f258f0e6b84e0f97c85764f5b609eee1" + "1ba63c4c9b4926d38e7c5c72a01584a8" ], [ "FStar.ModifiesGen.modifies_mreference_elim", @@ -5396,7 +5337,7 @@ "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "4077c8e7ee95c2a828db514100809eab" + "bc0e0ffb7e1952f1c56e10e915c8499c" ], [ "FStar.ModifiesGen.modifies_aloc_elim", @@ -5427,7 +5368,7 @@ "typing_FStar.ModifiesGen.loc_of_aloc" ], 0, - "40582a85c7f28cf016700ba30298f418" + "21ef6c087fbfd6f5536319ac04ca72d4" ], [ "FStar.ModifiesGen.modifies_refl", @@ -5447,7 +5388,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "60ea6ceed8df733ecfbca4b7f16deae5" + "e6b4483ea7eb07315921e40fbcedad6f" ], [ "FStar.ModifiesGen.modifies_loc_includes", @@ -5504,7 +5445,7 @@ "typing_FStar.Set.set" ], 0, - "0ea0849aae690871be7a0ba610147d3e" + "21cab495d72c59bd11255af9081ba26f" ], [ "FStar.ModifiesGen.modifies_preserves_liveness", @@ -5544,25 +5485,22 @@ "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.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "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.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_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", @@ -5577,8 +5515,7 @@ "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", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "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.Loc_live_addrs", @@ -5593,7 +5530,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", @@ -5602,7 +5539,6 @@ "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", @@ -5610,9 +5546,7 @@ "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", @@ -5622,24 +5556,21 @@ "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.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "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_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "22f202a3df320cdacb981bbc06dc57c6" + "51e247573ec8cc46dd4798d1d9723ad9" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", @@ -5653,7 +5584,7 @@ "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "99e91d08a3be50164af89cba0bbc654b" + "cdffab80ae2fb3e5ee1e3b7fe90f208b" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", @@ -5662,7 +5593,7 @@ 0, [ "@query" ], 0, - "ad408d1e195dab0ece68894d941159a8" + "21ee442cd8a260df5d9903602ee2e441" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", @@ -5819,7 +5750,7 @@ "typing_FStar.Set.union" ], 0, - "fb21205c57ac7ada6364d8b73ecbfe07" + "d86d31dcf29367ad60b7c8b48025c14f" ], [ "FStar.ModifiesGen.modifies_preserves_region_liveness_reference", @@ -5928,7 +5859,7 @@ "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "cf82c8b2071baaf01fce42732ab1dda4" + "4f233ca3fff4e77c3c89e84b294c4df0" ], [ "FStar.ModifiesGen.modifies_preserves_region_liveness_aloc", @@ -5954,7 +5885,9 @@ "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", "equation_FStar.ModifiesGen.regions_of_loc", + "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", @@ -5972,13 +5905,15 @@ "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "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.GSet.mem", "typing_FStar.GSet.singleton", + "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", @@ -5986,12 +5921,14 @@ "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "98faa5facb057f36e9ce570e3e5c1fad" + "bf8b2df2feae61b0b7ff52eeb9226bce" ], [ "FStar.ModifiesGen.modifies_trans'", @@ -6047,7 +5984,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "bd01bd939836bde710db6d49b384117d" + "ca5c5860b894cf2cff96fe51f68cecfb" ], [ "FStar.ModifiesGen.modifies_trans", @@ -6105,6 +6042,7 @@ "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", @@ -6123,13 +6061,15 @@ "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "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_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "9f2ecfbb2e3d0aa536b2a7781f1dfd00" + "e8fc4c3425ebbd518e1162636f139701" ], [ "FStar.ModifiesGen.addr_unused_in_aloc_preserved", @@ -6137,31 +6077,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", + "@MaxIFuel_assumption", "@query", "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.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "5855393bb433455d179b7b47d2c3e797" + "09eab73191c805ec42e63822c6f784c5" ], [ "FStar.ModifiesGen.modifies_only_live_regions_weak", @@ -6171,7 +6101,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", @@ -6213,6 +6142,7 @@ "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_Prims.l_Exists", "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", @@ -6254,22 +6184,21 @@ "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "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.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.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.Map.contains", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", @@ -6282,6 +6211,7 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.addr_of", "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.frameOf", @@ -6291,11 +6221,11 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.squash", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", - "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "6b21add4585c482a09a2a6121f9c4da5" + "d67d9eb08765eaee3f366a2f84ae6acd" ], [ "FStar.ModifiesGen.restrict_to_regions", @@ -6364,7 +6294,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "fc7ad780711293dea19af0b359f8fd77" + "f416963b6e0b043972f2b81150eb186a" ], [ "FStar.ModifiesGen.regions_of_loc_restrict_to_regions", @@ -6386,7 +6316,7 @@ "typing_FStar.Set.set" ], 0, - "eeb8fd027a08dafeba266de5dd376132" + "ea4b75cce5f298d885711ac4f1b27ab8" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", @@ -6434,7 +6364,7 @@ "typing_Tm_abs_604249e822a3f1036e182bf471efbc49" ], 0, - "ea58e1f0a45b2eae84cec636c16029be" + "881928c022f8434f64eedaa68a7f1a82" ], [ "FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", @@ -6512,7 +6442,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f153c681f64b8cce55cafdb07d8fe787" + "9b80c464f3d37bb58f87a0f5092e68e6" ], [ "FStar.ModifiesGen.loc_includes_restrict_to_regions", @@ -6595,7 +6525,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "4cf866bbee3022933c4a32afcbffacec" + "2616dd29dcb289e5fb973f760c7298a2" ], [ "FStar.ModifiesGen.loc_includes_loc_union_restrict_to_regions", @@ -6701,7 +6631,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "4899c2018f50f71e355f99fec3329ba5" + "4790896fd65186798036da7a3d48e712" ], [ "FStar.ModifiesGen.loc_includes_loc_regions_restrict_to_regions", @@ -6806,7 +6736,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ec24a8eebfa92064fb8838a480016ec2" + "9d5dcecce617283b4715c72841bb68b6" ], [ "FStar.ModifiesGen.modifies_only_live_regions", @@ -6916,7 +6846,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "7141df4d0b328d43243f5b72292237ba" + "570c09b512522efb97d46f63448e7a03" ], [ "FStar.ModifiesGen.no_upd_fresh_region", @@ -6942,7 +6872,7 @@ "typing_FStar.Set.singleton" ], 0, - "c588677c9759ebbcf9fc1c8e463041af" + "ff154e3ee716c5d5e278ae3bbd8be747" ], [ "FStar.ModifiesGen.fresh_frame_modifies", @@ -6952,25 +6882,16 @@ [ "@MaxIFuel_assumption", "@query", "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", + "bool_inversion", "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", "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", @@ -6979,57 +6900,30 @@ "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.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "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", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_empty", + "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_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.Map.contains", "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", - "typing_FStar.Monotonic.HyperHeap.root", - "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.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0" + "typing_FStar.Set.set" ], 0, - "0d953f9a5207588c688519f084a3bdfc" + "4f38ced896123a0302e1d2aeeecc891a" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -7046,7 +6940,7 @@ "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511" ], 0, - "52ef633701fbfcd957e9966a7ef86f29" + "938094f8cf7e143bea3765e07d4927c3" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -7077,7 +6971,7 @@ "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", @@ -7085,27 +6979,23 @@ "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_a88d6b2bc46617f49b283f0ff73bd7cf", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.ModifiesGen.loc_none", + "typing_FStar.Map.contains", "typing_FStar.Map.upd", + "typing_FStar.ModifiesGen.loc_none", "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", "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.live_region", "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.set" ], 0, - "f55a70792c237bc779601085a382e9ad" + "9a6fb44b2a78037881b2f7595b90f1a4" ], [ "FStar.ModifiesGen.popped_modifies", @@ -7234,7 +7124,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "556d4e67caa6dda462b6e11c849d6328" + "9ebfbfcb5811a7aa92e571360662a04f" ], [ "FStar.ModifiesGen.modifies_fresh_frame_popped", @@ -7254,7 +7144,7 @@ "bool_typing", "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", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", @@ -7285,6 +7175,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", @@ -7341,7 +7232,7 @@ "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", @@ -7359,7 +7250,7 @@ "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.restrict", "typing_FStar.Map.sel", + "typing_FStar.Map.restrict", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", @@ -7375,7 +7266,6 @@ "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -7392,12 +7282,11 @@ "typing_FStar.Set.intersect", "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_5f552ae43f5be0a2b383c69ad7e3d840", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "8784819450005f6d34663722236f80c6" + "6f922361b93de0f908bd423f44c2b897" ], [ "FStar.ModifiesGen.modifies_loc_regions_intro", @@ -7438,6 +7327,7 @@ "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", @@ -7475,7 +7365,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", @@ -7490,30 +7380,28 @@ "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_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "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.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", "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", "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.set" ], 0, - "80720fe01e5a65388575df95b193e18d" + "16c62a7c4a5568ffaf1719dc56e7037d" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", @@ -7527,7 +7415,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "284baa9069ed3b2a33a63fba715dc70d" + "3f9b511c174fa00581ce3c891e34ae93" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", @@ -7540,6 +7428,7 @@ "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", @@ -7579,12 +7468,10 @@ "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", - "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.mk_mreference", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.mreference", @@ -7595,16 +7482,17 @@ "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.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.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", + "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_complement", @@ -7633,7 +7521,6 @@ "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", @@ -7644,17 +7531,17 @@ "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__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.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.Map.sel", + "true_interp", "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", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -7668,24 +7555,24 @@ "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "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.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "24db19577950c544ab278a099ccd4234" + "14c1d6ecc2eeac4502fb323ee2cfe64a" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7699,7 +7586,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9f4a9e5ce722077ba02ec37b1dded794" + "8c609ff1369e1b44caa61b20bde9142c" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7713,7 +7600,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ba13bd47bede7ada1531f5e5f0b7264c" + "924052cca315970115ef6b8bcb7532ad" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7735,6 +7622,7 @@ "equation_FStar.FunctionalExtensionality.restricted_g_t", "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", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -7761,10 +7649,12 @@ "equation_FStar.ModifiesGen.restrict_to_regions", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", - "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_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.modifies_ref", @@ -7777,7 +7667,7 @@ "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", "int_inversion", + "int_inversion", "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", @@ -7787,19 +7677,23 @@ "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", "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", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "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.hide_reveal", + "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", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", "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", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -7817,9 +7711,9 @@ "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "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", @@ -7834,13 +7728,13 @@ "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.sel", "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", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_addresses", "typing_FStar.ModifiesGen.loc_region_only", @@ -7849,27 +7743,23 @@ "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.Heap.contains", "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", "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.complement", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "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_5f552ae43f5be0a2b383c69ad7e3d840", "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "0ec18d45c13bcb70e75fe0025acf18cb" + "2d74b900156bd6ae6cef7bce681de7af" ], [ "FStar.ModifiesGen.modifies_ralloc_post", @@ -7907,30 +7797,23 @@ "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", + "primitive_Prims.op_BarBar", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "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", - "typing_FStar.Monotonic.Heap.upd", + "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.frameOf", "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.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "81bd9100f9ca7c10149b7e4c3a73148f" + "83b95e46a8a9612f6651263d2220083a" ], [ "FStar.ModifiesGen.modifies_salloc_post", @@ -7970,21 +7853,15 @@ "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_contains", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "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", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -7992,11 +7869,10 @@ "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.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "a2936d9dc76dffd689219c82ed38b75a" + "f9616732e3115ba8861b7462e5511618" ], [ "FStar.ModifiesGen.modifies_free", @@ -8117,7 +7993,7 @@ "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "21c0ddcebe25ae13b73d97b267466376" + "11d78b5c0b878b6dbe1edc247455318d" ], [ "FStar.ModifiesGen.modifies_none_modifies", @@ -8159,28 +8035,24 @@ "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_regions", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "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", + "typing_FStar.ModifiesGen.loc_none", "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.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.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "445062f280b5d60b930b0ba5ab43a797" + "4b25472c92beff9fb65a03fa43b996bb" ], [ "FStar.ModifiesGen.modifies_upd", @@ -8188,15 +8060,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "b2t_def", + "@MaxIFuel_assumption", "@query", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.squash", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", + "equation_Prims.squash", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3539a81212947f55a05c4c1e564c3f4c" + "06558bb0467db7f25eee68c95e5cee44" ], [ "FStar.ModifiesGen.modifies_upd", @@ -8315,7 +8185,7 @@ "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "b96a2a234be670b06b51074788f249f4" + "c1304e079b05ba99ac21a499f56152f9" ], [ "FStar.ModifiesGen.addrs_of_loc_loc_union_loc_of_aloc_eq_loc_union_loc_addresses_singleton", @@ -8326,6 +8196,7 @@ "@MaxIFuel_assumption", "@query", "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", @@ -8333,6 +8204,8 @@ "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", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -8340,6 +8213,7 @@ "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", + "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_addresses", "equation_FStar.ModifiesGen.loc_of_aloc", @@ -8355,6 +8229,7 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", @@ -8376,12 +8251,16 @@ "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", "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", @@ -8422,7 +8301,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "1829d8d0d87fed7760eabbd8f82a74e9" + "3ff44f28bd3ac63012d61d17d7da0212" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_loc_includes", @@ -8534,7 +8413,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "49b69227d1e57a80a121c8478a64470e" + "b267552b1eb3b74e6d43f24ca1757ab2" ], [ "FStar.ModifiesGen.modifies_strengthen'", @@ -8548,7 +8427,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9796c9f935f105b286cf4ff16d2fa65b" + "3c213655b2b63aaad7d6b1fed199ee67" ], [ "FStar.ModifiesGen.modifies_strengthen'", @@ -8557,7 +8436,7 @@ 0, [ "@query" ], 0, - "8d586bd14b40453a1f252715b008631d" + "eacaaaa710860e1f7663564e92569dc4" ], [ "FStar.ModifiesGen.modifies_strengthen'", @@ -8572,11 +8451,8 @@ "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", @@ -8590,7 +8466,6 @@ "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", @@ -8628,13 +8503,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "equation_Prims.nat", "equation_Prims.pos", "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_FStar.Monotonic.Heap.heap", @@ -8642,32 +8514,25 @@ "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_a9ec055ceb2dc07710c661e9941e4ddc", "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", + "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_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "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.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_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_intersect", "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.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -8692,7 +8557,6 @@ "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_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", @@ -8703,17 +8567,14 @@ "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "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.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.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.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", @@ -8724,7 +8585,6 @@ "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.as_addr", @@ -8734,18 +8594,135 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "551b96de47cd3691377ebef76c212cb4" + "c5d7923ca44f23bb05114957f9169a3d" + ], + [ + "FStar.ModifiesGen.modifies_strengthen'", + 4, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "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_d613b242d7cef01854d837a7f6414e9a", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", + "data_typing_intro_FStar.ModifiesGen.ALoc@tok", + "data_typing_intro_FStar.Pervasives.Native.Some@tok", + "equation_FStar.FunctionalExtensionality.feq_g", + "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_weak", + "equation_FStar.ModifiesGen.aloc_disjoint", + "equation_FStar.ModifiesGen.aloc_domain", + "equation_FStar.ModifiesGen.aloc_t", + "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_addresses", + "equation_FStar.ModifiesGen.loc_aux_disjoint", + "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.loc_of_aloc", + "equation_FStar.ModifiesGen.loc_union", + "equation_FStar.ModifiesGen.mk_live_addrs", + "equation_FStar.ModifiesGen.regions_of_loc", + "equation_FStar.Set.subset", "equation_Prims.eqtype", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.loc_", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.live_addrs_codom", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", + "lemma_FStar.GSet.comprehend_mem", + "lemma_FStar.GSet.lemma_equal_elim", + "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_loc_of_aloc", + "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "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", + "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_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_341e95d3427e71507411044fe10c4422", + "refinement_interpretation_Tm_refine_3e06ce5c6a77885cc031a0d29699da8e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4377b8bc37432ac2f6cb4eae86074961", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6769b73aafad9cdca4e9a39108f5f998", + "refinement_interpretation_Tm_refine_6feed2d7e333e5d2bd7a9c3540db0c2d", + "refinement_interpretation_Tm_refine_ab78dbf606a4a48fe23b959bf3b3818d", + "refinement_interpretation_Tm_refine_ac3cf47b4b9d4c9ea79061e2803d296d", + "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.live_addrs_codom", + "true_interp", "typing_FStar.GSet.comprehend", + "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__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.loc_of_aloc", + "typing_FStar.ModifiesGen.loc_union", + "typing_FStar.ModifiesGen.mk_non_live_addrs", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "6713682ca521aad5f0ace4847bf9af2e" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -8759,7 +8736,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "808b4f205c16424328f43c00a3eacfef" + "4aa9e7ef3dfcb511468a23cfab752730" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -8768,7 +8745,7 @@ 1, [ "@query" ], 0, - "f52cf8bc906a2a3aee909001c7174bf3" + "8ef077b5330523baa924804d605338e0" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -8793,7 +8770,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "a9b4d535b28bdbbc37770de9b4065194" + "4b7ebe4dae1ccd86b5a98f5c25a7d5b2" ], [ "FStar.ModifiesGen.not_live_region_does_not_contain_addr", @@ -8808,7 +8785,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "bfac82cd0a866717c5e105d1b50ec1bf" + "d3dcc905919eadf971a2069ad4eea22d" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -8817,7 +8794,7 @@ 1, [ "@query" ], 0, - "4d2b799bf3ade249332819dfb895cd8d" + "3b3d6d8a379f75a4cf07b7620ac826ea" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -8825,35 +8802,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", + "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "0c44c82cfc40a8fd1386564063ce0cfe" + "575783fc672b14cc52620fb1062e5c46" ], [ "FStar.ModifiesGen.addr_unused_in_does_not_contain_addr", @@ -8868,7 +8842,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "f9154cbfac482809926f67c24d733484" + "4da4e38360acb6d821648aa5edd0954d" ], [ "FStar.ModifiesGen.does_not_contain_addr_addr_unused_in", @@ -8880,7 +8854,7 @@ "equation_FStar.ModifiesGen.does_not_contain_addr_" ], 0, - "bd11a5a557254b734692bd7ce56cc5cc" + "e6205379c8d6731fc70a8e9550f4edd1" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -8892,7 +8866,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "269c9357a4a0f0c0b967b9f4c1977338" + "60fd5eb5d2850c37cb0d684298177e5b" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -8908,6 +8882,7 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.free", "equation_FStar.Monotonic.HyperStack.is_mm", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_Prims.nat", @@ -8918,28 +8893,24 @@ "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", "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_548ef817ca26695e20678a9213795842", "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", "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.free", "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.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "090df9af52e1f9f1a8c7bc405686f7ef" + "0a815ae0f6aa6f2d83b3be4cad0af82c" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -8948,7 +8919,7 @@ 1, [ "@query" ], 0, - "dd5b2e05ba1f3a9719e9e1ed53ba83ae" + "adc8854eaffef58ed6734723054509c7" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -8956,7 +8927,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", + "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -8970,18 +8941,14 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "155d039ec965f9eb5353410db824809f" + "40ee0df32834bc3aa39d74326bd71f9b" ], [ "FStar.ModifiesGen.disjoint_addrs_of_loc_loc_disjoint", @@ -8991,11 +8958,9 @@ [ "@MaxIFuel_assumption", "@query", "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", @@ -9011,15 +8976,17 @@ "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_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__live_addrs", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -9036,12 +9003,12 @@ "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.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", @@ -9050,14 +9017,16 @@ "typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", + "typing_Prims.squash", "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "36cef4de6047c746e3f202d8b92b7660" + "249f7aa581eeed698318f92d3adff4e1" ], [ "FStar.ModifiesGen.loc_not_unused_in", @@ -9131,7 +9100,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c72baa9b9b7564c71248c9e8150077c9" + "6d6c178a438885311bb5c9096ef3d028" ], [ "FStar.ModifiesGen.loc_unused_in", @@ -9208,7 +9177,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "01c73fcee9cf9680f4a0c00ebdf2cced" + "20f58ad7211e7e21246fe3b57f7244f0" ], [ "FStar.ModifiesGen.loc_regions_unused_in", @@ -9332,7 +9301,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "fe4c28998ee37a16560482259b39deb7" + "7ed9c180e1f781701d779aa96756520c" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9346,7 +9315,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7209412b2f8121cf93a08c1a79c34fde" + "480e8ba589cb87b35480c7135c6de4f0" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9360,7 +9329,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22472a829ce007a31402484e2f2b57cb" + "e6e8c9450fbd826a73c8d9b3bae28df3" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9497,7 +9466,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "39b99738a29ff0aa8bbaab64826bcb10" + "6fc61bcab11a56d8fd48f82c21691a03" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9511,7 +9480,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a49690e36230416ef4896eba98e8f60" + "1cfd9f480af4330c03558393693ec4b6" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9525,7 +9494,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6b00b2c2a5227c6b5294cd26cd818f26" + "bffb19e8efa80f8214c70af2825c3451" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9674,12 +9643,117 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "bde706556aafcb93c3a07f399f34ebb5" + "47f9b7057303b771d8a82c28443e3c77" ], [ "FStar.ModifiesGen.loc_unused_in_not_unused_in_disjoint", 1, 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "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_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", "b2t_typing", "bool_inversion", + "data_elim_FStar.ModifiesGen.Loc", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "equation_FStar.FunctionalExtensionality.feq_g", + "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.ModifiesGen.aloc_disjoint", + "equation_FStar.ModifiesGen.aloc_domain", + "equation_FStar.ModifiesGen.does_not_contain_addr", + "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_aux_disjoint", + "equation_FStar.ModifiesGen.loc_not_unused_in", + "equation_FStar.ModifiesGen.loc_unused_in", + "equation_FStar.ModifiesGen.mk_live_addrs", + "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_Prims.eqtype", + "equation_Prims.l_and", "equation_Prims.logical", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "fuel_guarded_inversion_FStar.ModifiesGen.cls", + "function_token_typing_FStar.ModifiesGen.live_addrs_codom", + "function_token_typing_FStar.Monotonic.Heap.heap", + "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", + "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "primitive_Prims.op_AmpAmp", "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", + "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", + "proj_equation_FStar.ModifiesGen.Loc_regions", + "projection_inverse_BoxBool_proj_0", + "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_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.ModifiesGen.live_addrs_codom", + "true_interp", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.Ghost.hide", "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__non_live_addrs", + "typing_FStar.ModifiesGen.addrs_dom", + "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", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "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.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.set", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.l_and", "typing_Prims.l_not", + "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, + "878a6268664d13bfaef1987440c9c0e3" + ], + [ + "FStar.ModifiesGen.loc_unused_in_not_unused_in_disjoint", + 2, + 2, 1, [ "@MaxIFuel_assumption", "@query", @@ -9688,12 +9762,12 @@ "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", + "b2t_def", "b2t_typing", "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", @@ -9701,11 +9775,9 @@ "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.does_not_contain_addr", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", "equation_FStar.ModifiesGen.loc_disjoint", "equation_FStar.ModifiesGen.loc_disjoint_", "equation_FStar.ModifiesGen.loc_disjoint_addrs", @@ -9720,13 +9792,10 @@ "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", - "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", + "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", "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", @@ -9738,19 +9807,18 @@ "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "l_not-interp", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "kinding_Prims.pair@tok", "l_and-interp", "l_not-interp", "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_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", + "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.GSet.subset_mem", + "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", "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", + "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", @@ -9768,49 +9836,45 @@ "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_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "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.intersect", + "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.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.Ghost.hide", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "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", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "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.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.l_and", "typing_Prims.l_not", "typing_Prims.squash", "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ae4d64a96a2b2b48e6cedf128af4041b" + "c956dcd118d2ae70939c2833846ddc70" ], [ "FStar.ModifiesGen.not_live_region_loc_not_unused_in_disjoint", @@ -9858,6 +9922,7 @@ "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.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -9876,8 +9941,8 @@ "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_and-interp", "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", @@ -9926,20 +9991,22 @@ "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.regions_of_loc", "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.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "1a288963212efdb4d188b29fc4ee20eb" + "34263d435ac7f3f791de456a7a4a3888" ], [ "FStar.ModifiesGen.modifies_address_liveness_insensitive_unused_in", @@ -9962,8 +10029,8 @@ "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", + "b2t_def", "b2t_typing", "bool_inversion", + "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", @@ -10000,12 +10067,10 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.l_False", - "equation_Prims.l_and", "equation_Prims.l_not", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", + "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_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", @@ -10013,7 +10078,6 @@ "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "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", @@ -10022,8 +10086,9 @@ "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_306f08bb00da430b3422784a97780b97", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_and-interp", "l_not-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", @@ -10059,7 +10124,7 @@ "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", @@ -10089,6 +10154,8 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.does_not_contain_addr", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", @@ -10098,11 +10165,12 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_and", "typing_Prims.l_not", + "typing_Prims.l_and", "typing_Prims.l_not", "typing_Prims.squash", "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", @@ -10110,7 +10178,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "56843165f775af39516a33b039e9204b" + "44772e30200ceb034c4738b9caf31b19" ], [ "FStar.ModifiesGen.modifies_only_not_unused_in", @@ -10148,7 +10216,6 @@ "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", @@ -10168,6 +10235,7 @@ "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", @@ -10191,14 +10259,15 @@ "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", + "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_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.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.ModifiesGen.addrs_of_loc_union", "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", @@ -10231,14 +10300,15 @@ "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_57bdcb12f2e1b694c2821a98304c03c8", + "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__non_live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -10254,39 +10324,41 @@ "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_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.does_not_contain_addr", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.loc_unused_in", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.rid_freeable", "typing_FStar.Monotonic.HyperHeap.root", "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.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_Prims.squash", "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f565449ac24a0d6486de160ddcc4f7b0" + "b158d6c62a4fa487c24ad2d84e01948a" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -10300,7 +10372,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22964d7f8709885904a3323de865e481" + "81f54ba8b55232fed28639eb71da1723" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -10314,13 +10386,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9642b43d81d0b092a0fbf5b4a483a61d" + "79a91db39cd8ef7b8f86c84063dcdf28" ], [ "FStar.ModifiesGen.mreference_live_loc_not_unused_in", 1, - 0, - 0, + 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -10332,7 +10404,8 @@ "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", + "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", "equation_FStar.ModifiesGen.addrs_of_loc_aux", @@ -10352,8 +10425,6 @@ "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", @@ -10388,8 +10459,7 @@ "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", + "primitive_Prims.op_Equality", "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", @@ -10414,7 +10484,6 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -10424,7 +10493,6 @@ "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", @@ -10447,7 +10515,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ccda8afaa2d2c4c797f4f99d94331bb3" + "8d1a1e5005c7394df8e8d377468b4bd3" ], [ "FStar.ModifiesGen.mreference_unused_in_loc_unused_in", @@ -10455,7 +10523,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", + "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc_freed_mreference", "equation_FStar.ModifiesGen.loc_mreference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -10474,27 +10542,23 @@ "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", + "lemma_FStar.Set.mem_singleton", "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", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "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.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Pervasives.Native.fst" ], 0, - "f8030924b847a411b7a986acf01de389" + "e470357defceb6ad1b39698ec60a2ac4" ], [ "FStar.ModifiesGen.__proj__ALOC_FALSE__item___0", @@ -10503,12 +10567,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ModifiesGen.ALOC_FALSE", - "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_961ba5996408b3f6edafa88cb3e0ceac" ], 0, - "5732cbff6192809bac330ded550811cf" + "baab3ecf25cdbf4b8b24c558c1b9025c" ], [ "FStar.ModifiesGen.__proj__ALOC_TRUE__item___0", @@ -10517,12 +10579,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ModifiesGen.ALOC_TRUE", - "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_550f829591d442009b33c5cac1fe3397" ], 0, - "4dc5fd95f57f1ca62c527e79bea04cdc" + "41fc2905608c7e3df8f355364d030c24" ], [ "FStar.ModifiesGen.bool_of_cls_union_aloc", @@ -10533,10 +10593,11 @@ "@MaxIFuel_assumption", "@query", "disc_equation_FStar.ModifiesGen.ALOC_FALSE", "disc_equation_FStar.ModifiesGen.ALOC_TRUE", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc" + "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", + "projection_inverse_BoxBool_proj_0" ], 0, - "9a8621bdff2000e1126e5efd809e9921" + "59e6698367cd2e20dd52d272f65b3c50" ], [ "FStar.ModifiesGen.aloc_of_cls_union_aloc", @@ -10552,7 +10613,7 @@ "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", - "int_inversion", + "int_inversion", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALOC_FALSE__0", "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_al", "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_n", @@ -10564,7 +10625,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "22f4772679aface62fe55f59031f3f88" + "506b98b3c205616a42e8cf58181cf65d" ], [ "FStar.ModifiesGen.make_cls_union_aloc", @@ -10573,7 +10634,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "3ee73f983b30583fe9c16a7713c118ef" + "dc2efea09f0f290e8c18ca6dd7e71841" ], [ "FStar.ModifiesGen.cls_union_aloc_includes", @@ -10582,7 +10643,7 @@ 1, [ "@query" ], 0, - "ddee3ec087ced1b78f53f37c5b917420" + "eb939ecafe737d2c4c8018872c3ea4f4" ], [ "FStar.ModifiesGen.cls_union_aloc_disjoint", @@ -10591,7 +10652,7 @@ 1, [ "@query" ], 0, - "902e57d4429cbc3c3cf4ecfc6ab212b0" + "8ebfdca25371551935c52fd6dea1808c" ], [ "FStar.ModifiesGen.cls_union", @@ -10608,7 +10669,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "16db06f80f49a9c234d9aeee05c348b0" + "3f41b99f6511f81e3f7099c0855c3b5c" ], [ "FStar.ModifiesGen.union_aux_of_aux_left_pred", @@ -10616,18 +10677,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.ModifiesGen.aloc_union", + "@query", "equation_FStar.ModifiesGen.aloc_union", "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "token_correspondence_FStar.ModifiesGen.aloc_union", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "typing_FStar.Pervasives.Native.uu___is_Some" + "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok" ], 0, - "39600557fc1aebb5152d990cee2a4337" + "2815678aabb562189878eb98e7de994a" ], [ "FStar.ModifiesGen.union_loc_of_loc", @@ -10673,8 +10730,8 @@ "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", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", + "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", + "lemma_FStar.GSet.mem_union", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -10705,7 +10762,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "bdf1bd1cea1405c484b6097ae76aed3a" + "5bd3831c197d3b6584fb03e4dc35b072" ], [ "FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", @@ -10715,14 +10772,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" + "bool_inversion", "lemma_FStar.Pervasives.invertOption" ], 0, - "a1d4e3cf2ad5291792e6dfcf0f0e5d82" + "7a07dd0a0b349a6831ba21f2c9f4ee27" ], [ "FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", @@ -10796,7 +10849,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d3877158ca7908dbc4d5289f66629eee" + "8c3f526bc6d286d69ee3428bd3a997d7" ], [ "FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", @@ -10840,7 +10893,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5fcc5b838fda2c330ba5839b34ff8e05" + "91f39322b9a041ed347f7d7eeb0020f1" ], [ "FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", @@ -10880,24 +10933,25 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.aloc_union", "int_inversion", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "kinding_FStar.ModifiesGen.cls_union_aloc@tok", + "kinding_Prims.dtuple2@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", - "lemma_FStar.Pervasives.invertOption", "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_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -10907,11 +10961,11 @@ "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_542f9d4f129664613f2483a6c88bc7c2", @@ -10926,9 +10980,7 @@ "typing_FStar.GSet.intersect", "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__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", @@ -10942,14 +10994,15 @@ "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_Prims.squash", "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "9a793026b7063e634531dbf44b58cb54" + "c7279003e02dcbf9460d79f074046ac4" ], [ "FStar.ModifiesGen.union_loc_of_loc_none", @@ -10989,8 +11042,9 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "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.GSet.comprehend", "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", @@ -11002,7 +11056,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "9efa89df48b71fb355e21ae5a81956c4" + "dbbd9436c8f5e9c41cb85655775b6120" ], [ "FStar.ModifiesGen.union_loc_of_loc_union", @@ -11064,15 +11118,15 @@ "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_empty", - "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_equal_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_union", + "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", @@ -11081,7 +11135,11 @@ "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", @@ -11126,13 +11184,12 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "08fb5fd88063736899153e4bff5ae586" + "60be149a7dbbcc910295f105cc3b9c5d" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11146,7 +11203,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32351da89f466e2354f83b401278f473" + "a30d0ad36a09562bcae7c38f3e77bcd5" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11160,7 +11217,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8da6713cd7dd11d5d2e4b177006d209" + "ed2a14c7ea7079a85f8769b08981b95f" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11173,41 +11230,45 @@ "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_820d44d69be853d03bc235547f5f9c47", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "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_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", "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_addresses", "equation_FStar.ModifiesGen.loc_equal", "equation_FStar.ModifiesGen.mk_live_addrs", + "equation_FStar.ModifiesGen.mk_non_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_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", @@ -11247,10 +11308,7 @@ "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -11276,15 +11334,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.Pervasives.Native.uu___is_None", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c284b46cfa3f12aa0d6bd66230880693" + "350577c94760510f61c1e70ee1077cc7" ], [ "FStar.ModifiesGen.union_loc_of_loc_regions", @@ -11296,31 +11354,32 @@ "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", "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.ALoc", - "data_elim_FStar.ModifiesGen.Loc", + "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.aloc_domain", "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", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", @@ -11328,13 +11387,11 @@ "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.lemma_equal_refl", "lemma_FStar.GSet.mem_subset", "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_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", @@ -11349,9 +11406,8 @@ "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_f993db11d244ca284dec01609ffcb943", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -11359,22 +11415,22 @@ "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__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_domain", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_regions", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "2a8541f1c1bd770260d9cba690cd0157" + "90e4f90d6898cb9987c87213c5cc9a42" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes_intro", @@ -11394,10 +11450,10 @@ "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", + "constructor_distinct_Tm_unit", "data_elim_FStar.ModifiesGen.ALoc", "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", @@ -11420,10 +11476,10 @@ "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_loc_of_loc", "equation_FStar.Set.subset", "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", @@ -11438,8 +11494,7 @@ "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "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_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", @@ -11448,7 +11503,6 @@ "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", "lemma_FStar.Pervasives.invertOption", "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.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11481,6 +11535,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "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", @@ -11488,9 +11543,10 @@ "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", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "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.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", @@ -11498,19 +11554,21 @@ "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.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_3b588c99f152efe62063660a8bdf88a0", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "6e21f1533635f7250599a6ff6efad439" + "b859462a2359a993bdee2c2e78bde7f9" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes_elim", @@ -11525,18 +11583,16 @@ "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "bool_typing", + "bool_inversion", "constructor_distinct_BoxBool", "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_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_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", @@ -11550,30 +11606,19 @@ "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "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_loc_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_and", - "equation_Prims.nat", + "equation_Prims.l_and", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "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.aloc_union", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "function_token_typing_FStar.ModifiesGen.cls_union_aloc_includes", "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_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_union", "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", "primitive_Prims.op_AmpAmp", @@ -11584,7 +11629,6 @@ "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", "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", @@ -11602,42 +11646,190 @@ "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", "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_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_02c6358aebd7d7895994df825f7eb0f8", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", "refinement_interpretation_Tm_refine_d109a859bae78f3d7f792f62fa089b2c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", + "token_correspondence_FStar.ModifiesGen.aloc_union", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc_includes", - "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.reveal", + "true_interp", "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", + "typing_FStar.ModifiesGen.__proj__Loc__item__regions", + "typing_FStar.ModifiesGen.cls_union", + "typing_FStar.ModifiesGen.union_aux_of_aux_left", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", + "typing_FStar.Set.set", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "4d141d684cea815ed5e503cefd98cd83" + ], + [ + "FStar.ModifiesGen.union_loc_of_loc_includes_elim", + 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "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", "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", + "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_includes", + "equation_FStar.ModifiesGen.regions_of_loc", + "equation_FStar.ModifiesGen.union_loc_of_loc", + "equation_FStar.Set.subset", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", + "proj_equation_FStar.ModifiesGen.ALoc_addr", + "proj_equation_FStar.ModifiesGen.ALoc_region", + "proj_equation_FStar.ModifiesGen.Loc_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_region_liveness_tags", + "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_13621f211421e46343cb3ec4a626dabe", + "refinement_interpretation_Tm_refine_1fe80f38d8b30a2ccae5f8f279d147ca", + "refinement_interpretation_Tm_refine_e061b0cb9bb4eeda049c4876d4b09e5e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", + "typing_FStar.GSet.mem", "typing_FStar.GSet.union", + "typing_FStar.Ghost.reveal", + "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_weak", + "typing_FStar.ModifiesGen.cls_union", + "typing_FStar.ModifiesGen.regions_of_loc", + "typing_FStar.ModifiesGen.union_loc_of_loc", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", + "typing_FStar.Set.set", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "b75fd59d3e2fa7cae4b9653d26b7a738" + ], + [ + "FStar.ModifiesGen.union_loc_of_loc_includes_elim", + 3, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "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", "bool_typing", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.GSet.subset", + "equation_FStar.ModifiesGen.addrs_of_loc", + "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.aloc_union", + "equation_FStar.ModifiesGen.cls_union", + "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.regions_of_loc", + "equation_FStar.ModifiesGen.union_loc_of_loc", + "equation_FStar.Set.subset", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "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", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", + "l_quant_interp_1c1c4e860f5738dd18d155bfd164600d", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e4bf0129b1b8d0dac92b242fac3d5bfa", + "l_quant_interp_ed189b07cf055b8634c8651596fbd132", + "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.GSet.subset_mem", + "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", + "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", + "lemma_FStar.Set.subset_mem", "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", + "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_loc", + "projection_inverse_FStar.ModifiesGen.ALoc_region", + "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_04cc764319e948af2527dd457431d7a1", + "refinement_interpretation_Tm_refine_13621f211421e46343cb3ec4a626dabe", + "refinement_interpretation_Tm_refine_1e40a40c26d0fd195d78256124a92342", + "refinement_interpretation_Tm_refine_1fe80f38d8b30a2ccae5f8f279d147ca", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_d109a859bae78f3d7f792f62fa089b2c", + "refinement_interpretation_Tm_refine_e061b0cb9bb4eeda049c4876d4b09e5e", + "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.cls_union_aloc@tok", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", + "typing_FStar.GSet.mem", "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__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "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.Set.mem", "typing_FStar.Set.set", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "a11e420bdce0e6a18f20cc90540356e5" + "963f6b3ec13cf4b5851339cb73d7bb3d" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes", @@ -11646,37 +11838,29 @@ 1, [ "@query" ], 0, - "66de44632c46cbd6c5c76392396ed79e" + "771108bcfc0069c1e4a10bb373a61384" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint_intro", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "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.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", "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", @@ -11692,34 +11876,22 @@ "equation_FStar.ModifiesGen.loc_disjoint_aux", "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", "equation_FStar.ModifiesGen.regions_of_loc", - "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", + "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "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", - "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_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.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "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.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", @@ -11742,21 +11914,209 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "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", + "true_interp", "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.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.cls_union", + "typing_FStar.ModifiesGen.regions_of_loc", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.mem", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "5907fc7307de000278d3cc2fea8c299f" + ], + [ + "FStar.ModifiesGen.union_loc_of_loc_disjoint_intro", + 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "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", "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", + "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_t", + "equation_FStar.ModifiesGen.aloc_union", + "equation_FStar.ModifiesGen.cls_union", + "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_disjoint", + "equation_FStar.ModifiesGen.loc_disjoint_", + "equation_FStar.ModifiesGen.loc_disjoint_addrs", + "equation_FStar.ModifiesGen.regions_of_loc", + "equation_Prims.l_Exists", "equation_Prims.nat", + "equation_Prims.squash", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "fuel_guarded_inversion_FStar.ModifiesGen.loc_", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "function_token_typing_FStar.ModifiesGen.aloc_union", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", + "kinding_Prims.dtuple2@tok", + "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", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", + "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", + "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.ALoc_addr", + "projection_inverse_FStar.ModifiesGen.ALoc_region", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_99e17742b885bcf747d6ec01fd5c678a", + "refinement_interpretation_Tm_refine_e6894cea6de7faab613998224d5c33c4", "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.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc_disjoint", "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.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_of_cls_union_aloc", + "typing_FStar.ModifiesGen.cls_union", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" + ], + 0, + "82534359d4092ba36fc41798031fe0c7" + ], + [ + "FStar.ModifiesGen.union_loc_of_loc_disjoint_intro", + 3, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "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.Pervasives.Native.None", + "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_t", + "equation_FStar.ModifiesGen.aloc_union", + "equation_FStar.ModifiesGen.cls_union", + "equation_FStar.ModifiesGen.loc", + "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.regions_of_loc", + "equation_FStar.ModifiesGen.union_aux_of_aux_left", + "equation_Prims.l_Exists", "equation_Prims.logical", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "fuel_guarded_inversion_FStar.ModifiesGen.loc_", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.aloc_union", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", + "kinding_Prims.dtuple2@tok", + "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", + "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", "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", + "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.ALoc_addr", + "projection_inverse_FStar.ModifiesGen.ALoc_loc", + "projection_inverse_FStar.ModifiesGen.ALoc_region", + "projection_inverse_FStar.Pervasives.Native.None_a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_99e17742b885bcf747d6ec01fd5c678a", + "refinement_interpretation_Tm_refine_d0c0677ea99245622332d3180201b1da", + "refinement_interpretation_Tm_refine_e6894cea6de7faab613998224d5c33c4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", + "true_interp", "typing_FStar.GSet.complement", + "typing_FStar.GSet.comprehend", "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.ModifiesGen.__proj__ALoc__item__loc", @@ -11764,20 +12124,19 @@ "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.ModifiesGen.cls_union", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "599312f9d2896da183b09709bd792178" + "0a6ad6c93788b1e73e343f027e801ba9" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint_elim", @@ -11822,7 +12181,6 @@ "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", "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", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", @@ -11830,9 +12188,9 @@ "function_token_typing_FStar.ModifiesGen.aloc_union", "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.GSet.lemma_equal_elim", + "lemma_FStar.GSet.mem_intersect", "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_intro", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", @@ -11888,7 +12246,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "5115b7372201adf4627da4085901fdce" + "59424c5ba8fab9c7e60e101493059779" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint", @@ -11897,7 +12255,7 @@ 1, [ "@query" ], 0, - "1f7e2c1de26b53f033925914213002e3" + "d249818a7db2ec6a0bdd34ceda7f1d8c" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc_elim", @@ -11960,9 +12318,11 @@ "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.ModifiesGen.cls_union_aloc_disjoint", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -12002,8 +12362,6 @@ "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", @@ -12020,7 +12378,6 @@ "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", @@ -12039,7 +12396,6 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.make_cls_union_aloc", @@ -12052,7 +12408,7 @@ "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.Pervasives.Native.uu___is_None", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.squash", @@ -12060,7 +12416,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b9598c1f9b6d9115bd7b1b40feb6c931" + "9d42783e860751ec5627d1205fe08a7f" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc_intro", @@ -12070,22 +12426,16 @@ [ "@MaxIFuel_assumption", "@query", "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.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.And", - "data_elim_Prims.Mkdtuple2", + "constructor_distinct_Tm_unit", "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", @@ -12097,7 +12447,6 @@ "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", @@ -12107,8 +12456,6 @@ "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_", @@ -12119,42 +12466,32 @@ "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.eq2", - "equation_Prims.l_Exists", "equation_Prims.l_and", + "equation_FStar.Monotonic.HyperStack.mem", "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_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__Cls__item__aloc_disjoint", "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.ModifiesGen.cls_union_aloc_disjoint", "function_token_typing_FStar.Monotonic.Heap.heap", - "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", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@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_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.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", "primitive_Prims.op_AmpAmp", @@ -12177,9 +12514,6 @@ "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_n", "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", @@ -12194,22 +12528,18 @@ "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_365abba901205a01d0ef28ebf2198c47", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "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", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "token_correspondence_FStar.ModifiesGen.aloc_union", "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", @@ -12218,29 +12548,28 @@ "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_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.HyperHeap.rid_freeable", + "typing_FStar.Monotonic.HyperHeap.root", "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_3b588c99f152efe62063660a8bdf88a0", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "681782d4785a94d2a243b62926613bd7" + "5372148d5d52badc368dd2414c6ab32a" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc", @@ -12249,7 +12578,7 @@ 1, [ "@query" ], 0, - "2da00e96a8d182adc5f6018bcbf95b73" + "307118d8dbe3e70ef45619e73605d120" ], [ "FStar.ModifiesGen.loc_of_union_loc", @@ -12316,7 +12645,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "3fb8d522b6469397be4c4c696c3a0327" + "0ca0920243a786b1a6f49999486853bc" ], [ "FStar.ModifiesGen.loc_of_union_loc_union_loc_of_loc", @@ -12424,7 +12753,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "87bfa176c720437d2f8879b68488adae" + "e1df972615e8e9bc11f669b10214e957" ], [ "FStar.ModifiesGen.loc_of_union_loc_none", @@ -12476,13 +12805,13 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "a6329de95b04be624ad4d00a0313329b" + "8aba482cdaef67126c39dc055c3d9b26" ], [ "FStar.ModifiesGen.loc_of_union_loc_union", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -12495,11 +12824,9 @@ "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", + "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", @@ -12508,7 +12835,7 @@ "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.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", @@ -12561,6 +12888,7 @@ "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_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", @@ -12572,19 +12900,18 @@ "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.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", "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.aloc_domain", + "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_of_union_loc", @@ -12597,13 +12924,13 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "d6f4ca760da6754ae0220a9523d7b279" + "7489305e160532da1b4e892e991985ab" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", @@ -12611,13 +12938,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e06205954dbb2487735bd633645893ed" + "5e30defff263c27136d21d04de06deae" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 2, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", @@ -12625,13 +12952,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d63742ffb8ff53fcafa75add22560db6" + "8296a7832c1797f2c3d21d6fe79f3520" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 3, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -12645,8 +12972,7 @@ "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", + "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", @@ -12736,36 +13062,28 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "545c5d8168724e6bf51fa7a9034c99d4" + "12927886cc225acf81008c491bf50d0f" ], [ "FStar.ModifiesGen.loc_of_union_loc_regions", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", "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_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", - "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", + "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.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", @@ -12774,100 +13092,97 @@ "equation_FStar.ModifiesGen.loc_equal", "equation_FStar.ModifiesGen.loc_of_union_loc", "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_aux_of_aux_left_inv", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_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_inv_pred", - "int_inversion", + "function_token_typing_FStar.ModifiesGen.live_addrs_codom", + "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", + "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.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Pervasives.invertOption", - "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", + "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", + "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", "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", "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_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_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_inv_pred", "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.__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_of_union_loc", "typing_FStar.ModifiesGen.loc_regions", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "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_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", + "typing_FStar.Set.set", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "8c39c2a37b680d6ee80db2ede04855da" + "6ca985376f1f6b67e3edb82c652bed5c" ], [ "FStar.ModifiesGen.raise_cls", 1, 2, - 2, + 1, [ "@query" ], 0, - "b9eac407bcbfc39a1c30d9750442f5b6" + "8b94d54930cad5ae3a6801740670ba4c" ], [ "FStar.ModifiesGen.downgrade_aloc", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption" ], 0, - "f56633dec45919ff477adb6276127828" + "1afedd2c44b8f24d37df748b82d0566c" ], [ "FStar.ModifiesGen.upgrade_aloc", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", @@ -12875,16 +13190,17 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "d96fc0ba75f00e652d87141857897944" + "543878737357889604c6095f7738ce76" ], [ "FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.ALoc", @@ -12895,6 +13211,7 @@ "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Universe.downgrade_val_raise_val", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -12906,19 +13223,21 @@ "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6696ea0da8fa6c96e1af7a19cafdb7f9" + "9e6e1b1da747a4e3a6b7aeabec98e10b" ], [ "FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.ALoc", @@ -12934,6 +13253,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.raise_aloc", "interpretation_Tm_abs_02a6d8d4fbb1dc47bf91e9d01f4e9275", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Universe.raise_val_downgrade_val", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -12946,16 +13266,17 @@ "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.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "99264602479c2b1d0bfea3dbbd1df848" + "f22554e6a753d6e513a75fcc765392ba" ], [ "FStar.ModifiesGen.raise_loc", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -12970,7 +13291,7 @@ "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.comprehend_mem", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.ALoc_addr", @@ -12978,7 +13299,7 @@ "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.raise_aloc", "typing_FStar.ModifiesGen.raise_cls", @@ -12986,13 +13307,13 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "30dae90858a40cafc7250b66f88bf2fb" + "db8549c4bb8ef3f7f05dd43fba302832" ], [ "FStar.ModifiesGen.raise_loc_none", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -13036,13 +13357,13 @@ "typing_FStar.Set.set" ], 0, - "1a27aa19b093730b713fb4652d0c8518" + "cff9f4da22ca6e932c0317f69e54aaa6" ], [ "FStar.ModifiesGen.raise_loc_union", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -13051,7 +13372,6 @@ "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", @@ -13112,7 +13432,6 @@ "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", @@ -13128,13 +13447,13 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "0ab816422a4e1c3d6ff91fde926102c7" + "019163b4226ba03aa320edd02df4b4d7" ], [ "FStar.ModifiesGen.raise_loc_addresses", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", @@ -13142,13 +13461,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ec57ae097d9848c2a078f00ff4a8879" + "2b241fd809d5676a9b930fbff89371ee" ], [ "FStar.ModifiesGen.raise_loc_addresses", 2, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", @@ -13156,13 +13475,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f76d3cc494e7a0656f1050cb13a40c75" + "c213059bb28a4592aa4dff054d16eb45" ], [ "FStar.ModifiesGen.raise_loc_addresses", 3, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -13192,7 +13511,7 @@ "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", @@ -13239,13 +13558,13 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "47fed2b2e5175dbe8b2689021d4ceff5" + "b2c00220eedb31c17176677be60a3907" ], [ "FStar.ModifiesGen.raise_loc_regions", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -13317,13 +13636,13 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c3cd97d841b5d9e44ce30e8d5fd79f34" + "77a7916a7299d478c955276c7bdbcd25" ], [ "FStar.ModifiesGen.raise_loc_includes", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", @@ -13446,7 +13765,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b31788409772c5547fab5e3b7512e77c" + "f3fb65fe8d43220a3d91a7dc1d73ea7a" ], [ "FStar.ModifiesGen.raise_loc_disjoint", @@ -13484,34 +13803,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_FStar.Set.subset", "equation_Prims.l_Exists", + "equation_FStar.ModifiesGen.upgrade_aloc", "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.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.raise_aloc", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", "int_inversion", "interpretation_Tm_abs_9fa708579ab67bccf24c1021f7b9d558", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_and-interp", "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_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.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.ModifiesGen.downgrade_aloc_upgrade_aloc", "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", "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", @@ -13535,14 +13847,12 @@ "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", @@ -13553,21 +13863,19 @@ "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.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "1f350820aff50682f69ee70b535888f8" + "17f6cf7a732819597b5a8b54733e88d3" ], [ "FStar.ModifiesGen.modifies_raise_loc", @@ -13588,7 +13896,6 @@ "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", @@ -13615,22 +13922,21 @@ "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.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", + "equation_Prims.nat", "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__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", "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_e0bfc156c6f1bcba6dc36263871f589a", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_and-interp", "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.lemma_equal_intro", @@ -13638,7 +13944,6 @@ "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", @@ -13674,26 +13979,23 @@ "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_aloc", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Map.contains", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", + "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", @@ -13709,10 +14011,11 @@ "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.Universe.downgrade_val", - "typing_FStar.Universe.raise_val" + "typing_FStar.Universe.raise_val", "typing_Prims.squash", + "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "0ff8bd4b76c7c4949014c9480b70e6d4" + "030d81d51fb8f9dcccf616fb7e8865ef" ], [ "FStar.ModifiesGen.lower_loc", @@ -13735,7 +14038,7 @@ "int_inversion", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.comprehend_mem", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.ALoc_addr", @@ -13744,8 +14047,7 @@ "refinement_interpretation_Tm_refine_ae49170a94b078b0581029a0e5584c09", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "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.aloc_domain", "typing_FStar.ModifiesGen.raise_aloc", "typing_FStar.ModifiesGen.raise_cls", "typing_FStar.ModifiesGen.upgrade_aloc", @@ -13753,7 +14055,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "23c8a5d1ef40ed96dc51cc6b21acc4e2" + "834cd3ea25bf04d340a43e7f8a4e5a90" ], [ "FStar.ModifiesGen.lower_loc_raise_loc", @@ -13797,6 +14099,9 @@ "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", @@ -13826,7 +14131,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "eb8382afeca2a8f01d903e71d8b01aab" + "f54a054bb0bfebf488827d319e84c0eb" ], [ "FStar.ModifiesGen.raise_loc_lower_loc", @@ -13873,6 +14178,9 @@ "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", @@ -13902,7 +14210,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "19b5f5f138f4616700d3691cdd1ede10" + "6b8b61e0165b499fa344837d13ab2745" ], [ "FStar.ModifiesGen.lower_loc_none", @@ -13951,7 +14259,7 @@ "typing_FStar.Set.set" ], 0, - "4f8f57b5c2ecd646bd54feda32f73a15" + "cb049015ebf72eaf617970b846bf8d27" ], [ "FStar.ModifiesGen.lower_loc_union", @@ -14042,7 +14350,7 @@ "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "0cdad0abbadb2b4d649bd2ccfef971b2" + "f17162e4bacd310ef7310572d8264050" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14056,7 +14364,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f204a9b9046bda5871a2c8a29f055931" + "8ad3ae7bffd019f7c0760f34de969420" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14070,7 +14378,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7a96e1657bc8b9d221c3fea31df1dad" + "5cafdf9cb566ddc73cf00569dc2c6ff9" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14103,7 +14411,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", "int_inversion", - "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", @@ -14147,7 +14455,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "744bb4670822783a6c3dace138fba5b8" + "e04ab343af09184ed599c68d683584ae" ], [ "FStar.ModifiesGen.lower_loc_regions", @@ -14224,7 +14532,7 @@ "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "249b82b707498dedeadd3821427de907" + "718aaebd5fcc2fc0cb2d1226edef5886" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.ModifiesGen.fsti.hints b/ulib/.cache/FStar.ModifiesGen.fsti.hints index f65d4a6bae6..62f99629605 100644 --- a/ulib/.cache/FStar.ModifiesGen.fsti.hints +++ b/ulib/.cache/FStar.ModifiesGen.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "464ee74868df1c2debabf2f3f362fea9" + "77ee7b0dab48d702330e45326ce9b350" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "c45c48d56333e118ae4c707bd5fb13a8" + "08ac0a312d017e9c098d4f1977369b1f" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -30,7 +30,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "a0882ccbb0ab6f82fafcf4daf02269b5" + "579e7dfb6541c706037bd9af1adbfc67" ], [ "FStar.ModifiesGen.loc_addresses", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3b8b7c1dac1bcc9017158e23e6dbf27a" + "ef4b1301c953a6112c17c582e86d5c42" ], [ "FStar.ModifiesGen.loc_mreference", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "812676bf278f6cacf6eb73cf82448577" + "7f2af05d410a57681abada93584a4d23" ], [ "FStar.ModifiesGen.loc_freed_mreference", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ac9e5954e2a483f356988f3cfa720d8" + "f9b81d53ec0dbb1144558b6b9843cc98" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -81,7 +81,7 @@ 1, [ "@query" ], 0, - "152edefff095960953a24b9f816a1425" + "e86b8210f383fe09596628084e73594c" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15bf313242743c87ffed83204e3be3b1" + "9125207816e07822ed96de00fe1d627c" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "546dc79b47cf1baa6f1c3e6ab37cd039" + "0458511b4faf08e56d68a554a1c016cf" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "513a357795370d9275fd96ff32c4394b" + "2fb8c2e75e3a1cdea216491a4e7ec335" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -132,7 +132,7 @@ 1, [ "@query" ], 0, - "12e48bd27a2bd266bbb609a378e08965" + "3abb4192da023d2ac13187736734765d" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -141,7 +141,7 @@ 1, [ "@query" ], 0, - "6188fd01bdd1dadc29b75d87cd2e4ab4" + "8d9e600b01c5a428a6047e3019cd1665" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2509c0d75d1d5501a794ecba3c3ce6b1" + "e751c75027066279e510454f3cee9579" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a9618eed634c303f3f014a7ce5626d67" + "f65d058b64519a8724dcc497ece001f6" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f8ccee68d16058cc9df80cd1f859fe68" + "aa80451c2ce33e3ab9569cb9eb1df30f" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80c165da84e67c8205b66c199d92c0f0" + "de97a76472bb4f9e58fc6e51ddce3f26" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a0c3352b785306a4bc57db70c44ad5f" + "009060376eee4428d63712d8fdf735f3" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -225,7 +225,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7be88b17e40939b6dcd63d4230848b5" + "db1ffb3497d33c506d9c18e6f72726c3" ], [ "FStar.ModifiesGen.modifies_address_intro", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e826d7d219dbf7a9ee6c409fe31e2806" + "83315f1a7de1680b77c055eeba516089" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "99d4e3eef08d9a98ce17f6d5562984fc" + "7d756195edf02d49d71f2cd515bab84a" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", @@ -264,7 +264,7 @@ "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "f2343aee0f19226480c5a52b1a9bdc6b" + "640e8f711e59cebf79fffa7b827963d0" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511" ], 0, - "318101b067abbbdf41a0861c183da166" + "80ab878e0ebd643c71b9f2ef8c2a3533" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -295,7 +295,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b678a37bc98bb3d248cefc1290acb1c8" + "3aa17b99cb5ef6d5fcdf70e6f131a3b0" ], [ "FStar.ModifiesGen.modifies_upd", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1515db3ff320dd282899155efa57b65e" + "a56c6e7cf5a47179c5ecd42dd5bee741" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -325,7 +325,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "06c9870aebdf39ad3214b52b16574060" + "b3310e32b18ab771dabd26a2144fea01" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -334,7 +334,7 @@ 1, [ "@query" ], 0, - "a444cedb83b4e2d1f9d7e15c6dd64380" + "c497b51dc8c8e75972a8b7652891fe6b" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -346,7 +346,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "8336bfb09d45f2186a5c31d364fd6e63" + "29b88d9ffd99f7ff192689ecde70c672" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -355,7 +355,7 @@ 1, [ "@query" ], 0, - "60598e15fdd97d9e6a3340316e207481" + "66ef884e990ce9ac02a6c3e80fb639bc" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -369,7 +369,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c90a434c1b4697562ade451e1321627" + "6fac1fa2b81836bdaa98349cf7b21718" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -383,7 +383,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1baaf4a88ffb32cd55f25cbe4f12a55" + "694cff395793ddb3078672217818bbda" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -397,7 +397,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b82bb07aeca6211e1f70f6d4308e8897" + "4fd753ef7ff4004b3bdd8f2aee48550b" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -411,7 +411,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "38d093be5152c12ec780d137706d2564" + "ed071e644b076fb42d90727e415b948f" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -425,7 +425,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b1289201975c597d44b893be7b8f4baa" + "0d0906c8dcb1d728039a2823d2610f1e" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", @@ -439,7 +439,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "48fe70bef6ad30adb62f49ad801faad8" + "f2b596671f5a94f66e579b596e80f440" ], [ "FStar.ModifiesGen.raise_loc_addresses", @@ -453,7 +453,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14d77de53930585546c765330525e2b0" + "cd0bd332597ab060b6e05a77c76c1a5e" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -467,7 +467,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3bc592975e7b5af50568edb788c3131f" + "ae48e50977dcca1b4533073f55e55dd9" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.DependentMap.fst.hints b/ulib/.cache/FStar.Monotonic.DependentMap.fst.hints index 1a4d2b6801b..55490513e23 100644 --- a/ulib/.cache/FStar.Monotonic.DependentMap.fst.hints +++ b/ulib/.cache/FStar.Monotonic.DependentMap.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "e5e0330df63824c4c52220af71335ade" + "a37d02407e669afd85823f225889c20a" ], [ "FStar.Monotonic.DependentMap.empty", @@ -35,7 +35,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "10a44ac009c1f669470ae760bf4c9a4a" + "44b788706d214ece6e5404e26cef6c66" ], [ "FStar.Monotonic.DependentMap.sel", @@ -85,7 +85,7 @@ "typing_Tm_abs_26eef3985d99a56697f5a9d337882dba" ], 0, - "b8c00ec959f99417099e9f40353d853f" + "2b497a9e9541e7f8ed668995bd4cb6cc" ], [ "FStar.Monotonic.DependentMap.upd", @@ -105,7 +105,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "9405dd053ff31e2e59c39d52500df3a9" + "a8baa244ab3a9d6883412465987a080a" ], [ "FStar.Monotonic.DependentMap.grows'", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "aa9bd93e5974a9862159c4a9ba2e0015" + "3cbfba5b0487548128d6cf38e9a15d59" ], [ "FStar.Monotonic.DependentMap.grows", @@ -130,7 +130,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "ea81c009c010d9b860da30558d21924d" + "66abb152ae04cb976e6b870396f3b7ff" ], [ "FStar.Monotonic.DependentMap.value_of", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" ], 0, - "2eca5e9905e32d3778199f5313739121" + "bc88f4e472a39dc251fa3b895674a613" ], [ "FStar.Monotonic.DependentMap.contains", @@ -153,7 +153,7 @@ 1, [ "@query" ], 0, - "b731318b5e3b15321b6e41cc23a77d73" + "4dd9227d53f39db814ac6ff87b023459" ], [ "FStar.Monotonic.DependentMap.contains_stable", @@ -179,7 +179,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "465cf2f0ec6a947aeec80aebea201f78" + "86e6bd86e98c646291d63e5cec07e190" ], [ "FStar.Monotonic.DependentMap.defined_stable", @@ -196,7 +196,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "4f895277cf16fcf83e89d318d1ca6cdb" + "d0ff5f63dee72131f53fbc98c38a319d" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -210,7 +210,7 @@ "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" ], 0, - "79236fef9c00fc827f36c86874864d01" + "5be935af5a268d49b169112b91838b95" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "3d17f6e7e745be9260da8645507d6571" + "95812112fcaf229bfb10a0b55ec85fca" ], [ "FStar.Monotonic.DependentMap.extend", @@ -247,7 +247,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6443157c2641df916351f509870deeb" + "92096008b441e4745dbffacd0a3253c6" ], [ "FStar.Monotonic.DependentMap.extend", @@ -360,7 +360,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "057b6ce6d5612449dfa308032a0a2838" + "e6e49d85fb3feaef2f455c4333d402bf" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -377,7 +377,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "832704dc40d48c3d7b4016832beaf61e" + "081f53899f26feb8e3c0d53b4a052855" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -441,7 +441,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "496c7b0cd08e8d18994f0d65a3e76d72" + "6e36bc97e6cbce235efc1ff041429890" ], [ "FStar.Monotonic.DependentMap.forall_t", @@ -453,7 +453,7 @@ "equation_FStar.Monotonic.DependentMap.defined" ], 0, - "00d3e71b9fa959bcd2436ca84d79f115" + "5957667a06de6cb1a7a5801abf30f264" ], [ "FStar.Monotonic.DependentMap.f_opt", @@ -470,7 +470,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e6177cc6bec1a72689b10422de54069c" + "aeb11f3a711c6df066ffa65025f9f270" ], [ "FStar.Monotonic.DependentMap.mmap_f", @@ -536,7 +536,7 @@ "typing_Tm_abs_31896870f97d4dc22b26f85be96c184c" ], 0, - "72bf8a4e41085359abb07fd493f29f06" + "1082cbe813b116bad4a850181545b38e" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -550,7 +550,7 @@ "refinement_interpretation_Tm_refine_9957fe0040faf110621be90d1f5c6079" ], 0, - "199453ccf10636eec3bd341894340b35" + "95d884c7f418fb953bb20ebf4ed22912" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -585,7 +585,7 @@ "typing_FStar.Monotonic.HyperStack.is_mm" ], 0, - "880c2f2b7e158e209fc7798cb349db75" + "93bcc2c4d92bc1881524778d44a2d180" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.DependentMap.fsti.hints b/ulib/.cache/FStar.Monotonic.DependentMap.fsti.hints index 993f4045e4f..77e8b34b001 100644 --- a/ulib/.cache/FStar.Monotonic.DependentMap.fsti.hints +++ b/ulib/.cache/FStar.Monotonic.DependentMap.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" ], 0, - "c9490d7fbdb84a8b67152f80fb8d5197" + "f138e1c9aeeb0ebc71e85c60d8560d1a" ], [ "FStar.Monotonic.DependentMap.contains", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "6486490365e86475e4ee412032712a9a" + "44e4a5e0406f1f7fcab37613ca6ff12e" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" ], 0, - "fc2aa352e87c12a5d74d759e167c0802" + "78ba22a138d26115fd14d107fd4cff69" ], [ "FStar.Monotonic.DependentMap.extend", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "378c05511613342706ed23da3cdf0ebb" + "3d60d08215dc22eeea46e5dd0aa6df3a" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -67,7 +67,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "fd171280a11f0c889307135fcf63c08c" + "40226db6710f0fa0c6c50b8e4500362d" ], [ "FStar.Monotonic.DependentMap.forall_t", @@ -79,7 +79,7 @@ "equation_FStar.Monotonic.DependentMap.defined" ], 0, - "c570182803e88742eaab4736e908af52" + "a26b5b737308b1519b686172b6fb26ea" ], [ "FStar.Monotonic.DependentMap.f_opt", @@ -96,7 +96,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3c94fefca3087e5f5a9ce090f4c90ed2" + "03c22347271488293ff9bad2837a2809" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_ecc923c61561a744b55919cb2bbb6591" ], 0, - "48420be64f7fa4d4ac74759d0032bdbe" + "46a4a1382e6f4dedfe4e77e22d69d530" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Heap.fst.hints b/ulib/.cache/FStar.Monotonic.Heap.fst.hints index 632cf86b626..f6203e7fb9a 100644 --- a/ulib/.cache/FStar.Monotonic.Heap.fst.hints +++ b/ulib/.cache/FStar.Monotonic.Heap.fst.hints @@ -13,7 +13,7 @@ "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr" ], 0, - "b011c3c823275002114a8893ca39c175" + "2866eb772f5add01666f95fe8ca3b720" ], [ "FStar.Monotonic.Heap.equal", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6418343e390137709b9bead42ad6065" + "2d0cbf84e5557a6f1b8bf0fec21dbf08" ], [ "FStar.Monotonic.Heap.equal_extensional", @@ -59,7 +59,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "87e13692bc8256008187d31975b2939b" + "29857fad33e3d9183af3afdc608e4722" ], [ "FStar.Monotonic.Heap.emp", @@ -94,7 +94,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "79599ad4bcc614bbd7b32361a8836fd0" + "27bc73b972607dc6cb947f67a3352a85" ], [ "FStar.Monotonic.Heap.addr_of", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "3cc1a375705f52df7b8cc7a1f72d3689" + "07854ecee7280a12e3576a4ddae9904a" ], [ "FStar.Monotonic.Heap.compare_addrs", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e453f4dd3cdfd03f1a969337d4d1351" + "101e14eeaa399a470a03e4a701ce4e1d" ], [ "FStar.Monotonic.Heap.contains", @@ -129,7 +129,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7b3d9e8523eaf64a899462e6ff9cd7f7" + "cf21094353fc9dc6ec4b49d2a1cc8a4e" ], [ "FStar.Monotonic.Heap.addr_unused_in", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e7bf7976d4c9128ba555ec52b373abb6" + "afccc4c84595e6b6abfc041e3de016a8" ], [ "FStar.Monotonic.Heap.not_addr_unused_in_nullptr", @@ -158,7 +158,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "13c07095b864dea0cca2f66c8010ee36" + "58471456448322f9de23817660c47687" ], [ "FStar.Monotonic.Heap.unused_in", @@ -167,7 +167,7 @@ 1, [ "@query" ], 0, - "e8ffab2a33f04eb15b4cf0e96cc63733" + "0758bae7a381de7931f7c004f5546c79" ], [ "FStar.Monotonic.Heap.only_t", @@ -176,7 +176,7 @@ 1, [ "@query" ], 0, - "a8f5dab392cf66a3defc70ad805508d9" + "a7abd96aedda47ba4055e3c2bca66917" ], [ "FStar.Monotonic.Heap.only", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a84a5cfcba1dca24937650836186f9e5" + "bbbcb4cef118e82d2bf511e03ed61aad" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -204,7 +204,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "919c4c9d8bd1fb1d965527febbb487ba" + "50b43f16bdcb9643401c1b4a21ba7e1a" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -218,7 +218,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6b6eaf3f5123c86993050fff9698a28b" + "c6c00dca50e97abb72cb52ff3787466a" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -232,7 +232,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "01a22182936ea585688a06b21cdb4b9e" + "deed2f7f43602069c1c922e3597f1f5c" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -246,7 +246,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6be133e8242af510ad1be9b879c318e" + "516e96070af0e230c1927b1ebc64118c" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Hat", @@ -260,7 +260,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40e2a7f8820e0d0377d26255b83c7dce" + "610db678fab4258695e375207b9badb4" ], [ "FStar.Monotonic.Heap.sel_tot", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8" ], 0, - "42f2373022ce61b208c650fbc5f5a178" + "8be09676ed8528c91076c54630e04df4" ], [ "FStar.Monotonic.Heap.sel", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5" ], 0, - "ce74e4c7bfefc8a3325020bebaff7d12" + "afad9b7e3c844ce51b2003f8ee213519" ], [ "FStar.Monotonic.Heap.upd_tot'", @@ -301,7 +301,7 @@ 1, [ "@query" ], 0, - "3537de54df916fb9ae4ddbee8ffdf06b" + "4f1b126f8b8b3b09b7f45a54e60a3d69" ], [ "FStar.Monotonic.Heap.upd_tot", @@ -352,7 +352,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "a6193262b30ac764b5c7349ff7a7838b" + "299ae1c317cd6dd980be2f33d3ec14d6" ], [ "FStar.Monotonic.Heap.upd", @@ -412,7 +412,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "53b39e941e205f6668bfb254779e88ce" + "2f6c5d60e6ce41fe9d71b6fb13832a93" ], [ "FStar.Monotonic.Heap.alloc", @@ -452,7 +452,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "650dda778ceda9bc3aebd679752cf12b" + "2735fe8c2b9cfa88b1c1c39223cfe645" ], [ "FStar.Monotonic.Heap.free_mm", @@ -496,7 +496,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "2593e2e8501555660ad7e42106ac2ef8" + "697cc97da7189729cf484de8ea1b4ab3" ], [ "FStar.Monotonic.Heap.modifies_t", @@ -505,7 +505,7 @@ 1, [ "@query" ], 0, - "d8174b0ffec43ce281ffc83a9e92c429" + "2af6f8cc2a53a757459ab2875cecbba3" ], [ "FStar.Monotonic.Heap.modifies", @@ -519,7 +519,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ad9e7f02c7466895ed53615fa4a153d" + "220430352f66e999df4d3b1c00bf99aa" ], [ "FStar.Monotonic.Heap.modifies", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1bc0a493a5d3e9f75c37632efc6510b5" + "d7e116166d704d6a16d9f624c6441693" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_test", @@ -612,7 +612,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "33d921d9abf0b7f7ed88142d331fa4c6" + "9f86d65149840fda193f809530072087" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", @@ -699,7 +699,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "d975fe8ba8edd367745489a7a92e761d" + "90855acf5bc3124319df0eab70360aff" ], [ "FStar.Monotonic.Heap.lemma_upd_unused_test", @@ -774,7 +774,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "078032842967638cb7b5909a522304bf" + "dad2708366d4720793ff1c85da6ba746" ], [ "FStar.Monotonic.Heap.lemma_alloc_test", @@ -855,7 +855,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "ab88ad4365f33f60e5f885a0422ad293" + "1386cfff75c38a3697136d27ba0b165f" ], [ "FStar.Monotonic.Heap.lemma_free_mm_test", @@ -927,7 +927,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "ce0df5273eb7a9f7cd88e60c94cd5c69" + "513f0c4d563997a07b06a23c9e602e91" ], [ "FStar.Monotonic.Heap.lemma_alloc_fresh_test", @@ -1013,7 +1013,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "1c4697b6c6c81bde210f9fb1952c925d" + "e3e7f8803b04779ba43c83ee8f10fc36" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -1022,7 +1022,7 @@ 1, [ "@query" ], 0, - "fe3ca5705a401a140f1c456cc3a396cb" + "f77c161575f10c226b3b6ce695799b25" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -1031,7 +1031,7 @@ 1, [ "@query", "equation_FStar.Monotonic.Heap.unused_in" ], 0, - "54f7b3df50543ac05a130ef7f5792d81" + "144d88759bf5a8cc84e2105f3bae0f71" ], [ "FStar.Monotonic.Heap.lemma_contains_implies_used", @@ -1050,7 +1050,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8507cdfe4377c9a747359fb14b77e275" + "28050bbeb8590ef9668f9ca5a45e88d8" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1064,7 +1064,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "db8374cf98d05cbcf5f021e637baee26" + "73cf6289160075f364a372f3736e4ea8" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1081,7 +1081,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e32e323fc9366ac0837bae649566bfa9" + "069bd74ef476b5fff62afc70f8abeab4" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1095,7 +1095,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "72490ecc1f380a7e3ef3d7f8b6140455" + "08309d686e875f5e6acec64198757cfa" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1112,7 +1112,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "608a6381d9785328d1941ac38a92e501" + "303d3f787050e3c732f9ea994ca45df3" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1126,7 +1126,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "812fcae6fe490fd4b41163603cd3c0c4" + "5c75c0a5e0c47540b1aa770ec8b90ef6" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1144,7 +1144,7 @@ "typing_FStar.Monotonic.Heap.is_mm" ], 0, - "94187cd51928c90efb6c8be29abb9f6b" + "dff9a41149f4fa0e9babc6fbc78086ca" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1158,7 +1158,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d2da78ab1b580274a26f64a2f75f71af" + "67c50fb0246013ab431260975ddb9933" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1175,7 +1175,7 @@ "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr" ], 0, - "58ddfac94fca2550c3596d902ac533e7" + "2f8a71dc26dbcc480ef61b82b8dd0cd8" ], [ "FStar.Monotonic.Heap.lemma_alloc", @@ -1259,7 +1259,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "f2ea7266e93db51d2d93e12f388724d7" + "43380511857793f1aa1d428cd622f4c8" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -1273,7 +1273,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "163c86f7b32d46f302d2353e8314e1c9" + "9abf4320b8df28b8906b36006f8d52ee" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -1324,7 +1324,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "c49a7f3c35cd24997559a9a9dd238336" + "db78a6d55121aa67ee8a468b7cbee975" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -1338,7 +1338,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bbc48f1a5337083518fe99ae521af02c" + "3b1a56a70cce3d00816f83a35fcf3e8a" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -1393,7 +1393,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "ec86ed5f808afb59bfe849a401a50b66" + "a02640b0c2f5fff3d3cf92c7cccc3e5f" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -1407,7 +1407,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "af180fd239f01f072f380e013bfa00dc" + "63c38c0df583545841832882bbbbb8d9" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -1467,7 +1467,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "2baf3120d7c0af7ce311bf046af843f1" + "454822dc229270e049e7fd192d19d739" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -1476,7 +1476,7 @@ 1, [ "@query" ], 0, - "62eac7dadcb7ebc8b04c9bc5ace97478" + "cb712b9ce8f4a081af3ab1c64fda4358" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -1520,7 +1520,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "c3b3006ae68e1df12fac579f1cbf14c1" + "ef1f943a81573e357f696fd90543d408" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -1534,7 +1534,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f368aed3b95b932131e34931baf1af04" + "7eca2935f0ed72b868846e9d590901d4" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -1563,7 +1563,7 @@ "typing_FStar.Monotonic.Heap.is_mm" ], 0, - "4d4a1bf9313761e79448e80d87f7f7e1" + "632ac6aaa4453d39a132329c5325000a" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -1577,7 +1577,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c458eafc85790cd39946af269e55505" + "abc4ec26a179450c95afcacae4a3278c" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -1643,7 +1643,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "7fc65d3ed3e1c2d41750066b949664a9" + "11511c27bb59fea511b53ec0efb435d6" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -1657,7 +1657,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "244d69f8f82efe7d034048f397c8f2c4" + "7bdf97bf236c30e9bcbcbf53663746af" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -1720,7 +1720,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "f9be525f4373b9dd9d4872a75eb40036" + "bd3625422599d8bd25f6271f1c30c24e" ], [ "FStar.Monotonic.Heap.lemma_mref_injectivity", @@ -1734,7 +1734,7 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref" ], 0, - "2d5b6cda6650635c2ae5ea9fcb44e562" + "c07962c5599805aebdce80f31542ef37" ], [ "FStar.Monotonic.Heap.lemma_in_dom_emp", @@ -1773,7 +1773,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "a915d90f285ba08e2e7964ca24962850" + "fa8b87c5465c24f985578f2996051885" ], [ "FStar.Monotonic.Heap.lemma_upd_contains", @@ -1841,7 +1841,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "8b3e4985329bd2cf2bac7f139c8b87ff" + "7d6c4f20af147e35067df51a442b4716" ], [ "FStar.Monotonic.Heap.lemma_well_typed_upd_contains", @@ -1914,7 +1914,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "b8d16fc7a1da1c8f30d957c42253b879" + "3709dce729a8ef542d09ed5a57037b8f" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -1928,7 +1928,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3da6e238dd743b5f21048863e17bb760" + "60a7b28ff989a2678c40ba1c42155991" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -1984,7 +1984,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "17321314393dad6b541a4be03ca8dbd1" + "b8839dc41cf77f3c6219e0a95adfb270" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -1998,7 +1998,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c32d5027830c25904c521f0f8f65c6c6" + "6c0aa293bc8d832035aeccc85f70a54e" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -2051,7 +2051,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "d615ed5d72c9e0c7818fd825b4d3aeb3" + "69b375aab5cb7abdbae76c5325d85c1b" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -2065,7 +2065,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "563902131c887017dc6d29054f9a28f1" + "debc73a2828da97b08e525e0e1326fcf" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -2137,7 +2137,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "bad8d53a44246be47bfd89e10e042274" + "cb99b06015e514692a1ebd8f0426b499" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2151,7 +2151,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a21f2d05183e9437b178fac2716203df" + "24bc378c4d73fcf6b0557fc5eca1a828" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2224,7 +2224,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "9ab7fb81c87152eddd92c1489b526f64" + "281c33c919b3d8293fad3071089ed327" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2238,7 +2238,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "561b8414eea4a5ecd2f6a1e4676329a1" + "e76dda919e12daf740ad2c13deaadc1d" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2302,7 +2302,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "7e1e5f957a61523f5cb613aa52453349" + "caeca293f67bb25b3268a208fc7094a4" ], [ "FStar.Monotonic.Heap.lemma_sel_equals_sel_tot_for_contained_refs", @@ -2320,7 +2320,7 @@ "typing_FStar.Monotonic.Heap.contains_bool" ], 0, - "b8281736766e4b58101146a31ecc255d" + "c35cf43959387724d133f4a10e5326ce" ], [ "FStar.Monotonic.Heap.lemma_upd_equals_upd_tot_for_contained_refs", @@ -2339,7 +2339,7 @@ "typing_FStar.Monotonic.Heap.contains_bool" ], 0, - "6b16c82482b4cd4bd6455afb4bdb5a90" + "5d8932bc808f4cc811b8e4c47547851c" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2353,7 +2353,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d9463c5d901d45b2267ff9d864ed5967" + "43bdf4b81d217035b0c09e7fc2bf225c" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2367,7 +2367,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c3f1583f9af8a6e0e9b78ca91c92392f" + "1b67a6e350d5ecc3e99994451a708115" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2400,7 +2400,7 @@ "typing_FStar.Monotonic.Heap.contains_bool" ], 0, - "a45d6b143f654ece2123bd28c83cc080" + "3b934843325333da0aeef1dcb71f9314" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -2414,7 +2414,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "930f01a9707073e6fc2e46d76a3d59cd" + "b8e27805479ffec117d5cc6a4459798a" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -2462,7 +2462,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "c6e638a6713da3bd43ac52317f2f3314" + "a65cf0822004a2dc78886e2b15a02c5a" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_cancel_same_mref_upd", @@ -2513,7 +2513,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "b0196117a6650a3126379ad5bc85b248" + "8bec56934b6b25289c4a453f37bec16d" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_with_sel", @@ -2575,7 +2575,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "a3d66e2cc8620c0ec8fdf38c38995917" + "3b7688e9badab700819d3c869c0ccfd9" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_commute_distinct_upds", @@ -2646,7 +2646,7 @@ "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "d8472202e1c0d2ed5966a147e13afc74" + "db5df9d86a0553ecab11052b701623a8" ], [ "FStar.Monotonic.Heap.lemma_next_addr_upd_tot", @@ -2661,7 +2661,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "c36be8c9adfafd1731daa2b0380c34a1" + "4a9bbf7a418c95e5f6108a6c455a7b63" ], [ "FStar.Monotonic.Heap.lemma_next_addr_upd", @@ -2687,7 +2687,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "240c364e0ec8db219419ef64f7324e49" + "532e1c9160a6ed70498691c7acedc0c6" ], [ "FStar.Monotonic.Heap.lemma_next_addr_alloc", @@ -2708,7 +2708,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "e3d376e57af48c4c4067bb86e485a92e" + "e13c513645868a1f3696c4d79ac73a6b" ], [ "FStar.Monotonic.Heap.lemma_next_addr_free_mm", @@ -2722,7 +2722,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "d1ca0c07e5341ee1afa0477543782731" + "83f0bacdd00d16fb754713abb25ae244" ], [ "FStar.Monotonic.Heap.lemma_next_addr_contained_refs_addr", @@ -2747,7 +2747,7 @@ "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "1405dedde43ef702f91a027315a9e1fe" + "6670547110f78963cdb030e0e251c49a" ], [ "FStar.Monotonic.Heap.aref_equal", @@ -2768,7 +2768,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cdecd6c5d8685d0aa1e711dd0bdb043b" + "095aa7da4582619101b51377fc1bdf80" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -2777,7 +2777,7 @@ 1, [ "@query" ], 0, - "7d5ee539d98807480113c0d6cb3d5294" + "f2843a45f646f27c4e0c5ce6cc61fe44" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -2792,7 +2792,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr" ], 0, - "7c722d876c74acebb1f23262a69edc79" + "e83b654bc98491194655be4e29c6f765" ], [ "FStar.Monotonic.Heap.is_mm_aref_of", @@ -2807,7 +2807,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_mm" ], 0, - "113a8baab16d9ce27fb3fb90d5b8f70f" + "b1a5ee9a26cd4a9f98743d92c3957b73" ], [ "FStar.Monotonic.Heap.aref_unused_in", @@ -2816,7 +2816,7 @@ 1, [ "@query" ], 0, - "382ff7a04cfabe4f64a5893625e72106" + "91dcb51745b2177ff48fabc79b0e374f" ], [ "FStar.Monotonic.Heap.unused_in_aref_of", @@ -2841,7 +2841,7 @@ "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "3174590dec3678f3a6f5852ea7737bc8" + "e1974400f62679b167f23a4236ef4c29" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -2850,7 +2850,7 @@ 1, [ "@query" ], 0, - "7f79c2e34e8f41ddb846f6951cf16a5d" + "942fb4a5ddc348474ef74a1249f25890" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -2867,7 +2867,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3968f4ee1c1546f399dc0fae3c9c076c" + "30e9d547a1fc99759493978116a56641" ], [ "FStar.Monotonic.Heap.aref_live_at", @@ -2879,7 +2879,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "07376d83fe0dc1075f5e46f56fb39157" + "c1229c32bb85a8f2d52d9e5a14509d7a" ], [ "FStar.Monotonic.Heap.ref_of'", @@ -2895,7 +2895,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "fdd0824779d517847acb23235e7cfbca" + "42dabd8d2d54914fee58e79d505932b8" ], [ "FStar.Monotonic.Heap.gref_of", @@ -2918,7 +2918,7 @@ "unit_inversion" ], 0, - "ea5629c323e0acb427d15143e9b88a2f" + "fad642a14878053f3d0b90ddb639cf6a" ], [ "FStar.Monotonic.Heap.ref_of", @@ -2927,7 +2927,7 @@ 1, [ "@query" ], 0, - "02731bcca9515c93b0c6a80baba4a091" + "9e7e8c16fffd411b9b3d3f4e488300df" ], [ "FStar.Monotonic.Heap.ref_of", @@ -2964,7 +2964,7 @@ "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "57a5a2abec79e6b64f9361405dd5af02" + "3b91c96d69b29da18837f1d4a10dee20" ], [ "FStar.Monotonic.Heap.aref_live_at_aref_of", @@ -2994,7 +2994,7 @@ "typing_FStar.Monotonic.Heap.aref_of" ], 0, - "52cd4839c4a51a39e7ec68ff75ee6cad" + "ae297505ecc90476419400417a778b92" ], [ "FStar.Monotonic.Heap.contains_gref_of", @@ -3033,7 +3033,7 @@ "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "6875189de041425af07a01099f433ee7" + "826dce3bf71e23b141601bf945e0d005" ], [ "FStar.Monotonic.Heap.aref_of_gref_of", @@ -3069,7 +3069,7 @@ "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "bf9d17d6886c9d6cd54b89fcf031fe33" + "65dfbe257a4404e754ccf1d15434374c" ], [ "FStar.Monotonic.Heap.addr_of_gref_of", @@ -3098,7 +3098,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "8c9fa54103f5374d1efef0eee68ddd30" + "11ba14358b218b0b01d023c05a493ebf" ], [ "FStar.Monotonic.Heap.addr_of_gref_of", @@ -3124,7 +3124,7 @@ "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" ], 0, - "655cb93c97b011b295f0583be79d5844" + "ed9553d8ecd9915261db1d7256baa1e4" ], [ "FStar.Monotonic.Heap.is_mm_gref_of", @@ -3150,7 +3150,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "08d949a79bb5b237965e0b2102bac046" + "2bd9010c5d3c8b512ab138c78cf5491b" ], [ "FStar.Monotonic.Heap.unused_in_gref_of", @@ -3173,7 +3173,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "0c7519d741955ba72a5e9f59cdc4ca12" + "d204fe2b92d402bb2ac8dbefbb99ce76" ], [ "FStar.Monotonic.Heap.sel_ref_of", @@ -3217,7 +3217,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6d91051da9cc2b16569886477b140723" + "c5883176a762deeaa3600767114b4310" ], [ "FStar.Monotonic.Heap.sel_ref_of", @@ -3257,7 +3257,7 @@ "typing_FStar.Monotonic.Heap.ref_of" ], 0, - "84b777a64f49419bf12ba7826b3d3620" + "286242a75ca05525bbbf81fdc30998f8" ], [ "FStar.Monotonic.Heap.upd_ref_of", @@ -3300,7 +3300,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ca5c67a05c6a36f686d545c54363b084" + "27008a5002107124995a7220de1a83d8" ], [ "FStar.Monotonic.Heap.upd_ref_of", @@ -3336,7 +3336,7 @@ "typing_FStar.Monotonic.Heap.is_mm" ], 0, - "89e499d9842e50a226e1fee3760c8802" + "6500a7ac6d83dde7fcaa9044c4fc925f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Heap.fsti.hints b/ulib/.cache/FStar.Monotonic.Heap.fsti.hints index 362f9c1d1ea..2b213afa12b 100644 --- a/ulib/.cache/FStar.Monotonic.Heap.fsti.hints +++ b/ulib/.cache/FStar.Monotonic.Heap.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d5b6d24897bafbe0c80c96750bef2389" + "6844450363283b669d36c691503a5a6a" ], [ "FStar.Monotonic.Heap.only_t", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "2aaed444a82c4819cd99b9c35a755146" + "7c0fd89e330952f358bc7c5d83a44a84" ], [ "FStar.Monotonic.Heap.only", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75bd1c27e0dd7cf81e165552e3424443" + "03057314ca5ab9b2a6fe55c52780b89f" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "083c0242628cf6ad5ac64156e914adde" + "7ccc13e1d4a278240bd7911450aac858" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ae3c39fcb6debf4e9fa9f36772d35baa" + "aff8f7f622033ae11386e589c86d66f8" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1abad42d0184d0512f4857464779ae6" + "3b3d4b4c0e49f808af4fa231eb48bc97" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3867bb195400432fcb9bb65543aa720e" + "83f94904a06c725eb8848e32d0c71773" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Hat", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44f9e64fac07e044ca818dd6cf08a92b" + "1c4e1ee956b862b4ef641e9e6ae238cd" ], [ "FStar.Monotonic.Heap.modifies_t", @@ -115,7 +115,7 @@ 1, [ "@query" ], 0, - "5ea923cce209c96922da01ec06827d37" + "902fa9b8a92f96e68d6dbf003751f38e" ], [ "FStar.Monotonic.Heap.modifies", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3f03e1350aa028e68d98e94fdcfd70b6" + "da87eb59400827bffd6139b12c150f22" ], [ "FStar.Monotonic.Heap.modifies", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ef6ccdb3bfac893d6141f5d7ea890846" + "d45ac71fffa244657ed3fc32f36018b0" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -152,7 +152,7 @@ 1, [ "@query" ], 0, - "4e41002cda1751be417d44db2d7d9e20" + "4fab885f788015698d540654fe2e7f53" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "37d38381830781220719ce468222dfa3" + "69b61ce55eb3dc1e914306fb21d48808" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "98d661d05fcc03b94addaaf185f860b7" + "cdb2b1d525693f61ee431b19ce9351b4" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5a83aeb73c788696376596a44e0d21f6" + "27ecc041a9a582f68513b6709429fb4f" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "121449087aa8704cb6de3d921cb64b15" + "030b02423395b8d5e928825242cb60c6" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4d8b6faaa4a5df57b07117bd143a7e3d" + "19fe24df8a3e476bb75d8296613a0ebb" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7ad0c3dfacb5d71169b0baf8bbc6c410" + "704cb4150b08c445f1f04796d7aa6675" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07ab443aef647551cef64f9ecc5b60a7" + "b6f72bf2b4278b3d8554e0335deb1668" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -259,7 +259,7 @@ 1, [ "@query" ], 0, - "3e6b319fe2672752a8ace2a9eb0f0354" + "4e410b4acb8c04aa2711bf7ce565491c" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -273,7 +273,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e67a014b0fb5b9550a438de8bbdcbb5" + "102342e93b69bbaddd3b495ab724c4de" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cfb35e84a7c9477da3cd09099ea39c7b" + "077940ca0b654207aa79b5214119408f" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -301,7 +301,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "419e4dfdc4b835dc5993ccaac01253f3" + "7f375a1feda38805918a63375e4d0c8d" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -315,7 +315,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b549db27db1bec24f0169bf9ce4eaa40" + "565c9e0f26e6c331105b58643aec5817" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -329,7 +329,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b8979995f33e23a5edef4dee353c272" + "2e4546e998d29aaaf467c0e3c1423d04" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f702e56d0bf634e41c283786c527b235" + "0edfd1f585b2c94c6c9bdea46976e511" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -357,7 +357,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "296fb669ddafee1af2754c7a37065c35" + "a4903e1a7fc644cb7d1e8f5495f88a81" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d57e329a1b1d22a4a9cbd9f59fbdf8d0" + "259964eba39419c4868906b0230f09f9" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d47fc819949baa2ff8ba9ca35c1533fd" + "8612e273e4809b01bf770ebfec294c86" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd1e6abd0b970173cd9470e37e0f8158" + "3db82a661fee967857f5c508e5632d10" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -408,7 +408,7 @@ 1, [ "@query" ], 0, - "934eefd2196021e6e58e6d8c5799b125" + "03d20114bff697683a4219e05253d387" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -417,7 +417,7 @@ 1, [ "@query" ], 0, - "943de65f7f54b6ae765cc7201e84e039" + "14856b0a5dc3911a81c0d21d805ee09f" ], [ "FStar.Monotonic.Heap.ref_of", @@ -426,7 +426,7 @@ 1, [ "@query" ], 0, - "363f9cbe3be0f903a091262d3ed1d15b" + "6a04abeed80b043f5f9cffe36e23c074" ], [ "FStar.Monotonic.Heap.addr_of_gref_of", @@ -435,7 +435,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.Heap.aref_of_gref_of" ], 0, - "228b0e2e1687079098292ab507f13e80" + "4ad04e0ae3a340a7a76f7735e44de788" ], [ "FStar.Monotonic.Heap.sel_ref_of", @@ -453,7 +453,7 @@ "typing_FStar.Monotonic.Heap.ref_of" ], 0, - "d692c70d4bfd9a5f19216a3e22babbf9" + "241c32f7d23a614d857f5e281943aa1a" ], [ "FStar.Monotonic.Heap.upd_ref_of", @@ -465,7 +465,7 @@ "lemma_FStar.Monotonic.Heap.is_mm_gref_of" ], 0, - "7274c281e9cc57d80735dd8780a72b03" + "f626ed4df0c201afe470edb32a1eaaa2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.HyperHeap.fst.hints b/ulib/.cache/FStar.Monotonic.HyperHeap.fst.hints index 0797eb9b9b3..703a707f3ab 100644 --- a/ulib/.cache/FStar.Monotonic.HyperHeap.fst.hints +++ b/ulib/.cache/FStar.Monotonic.HyperHeap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Monotonic.HyperHeap.HasEq_rid" ], 0, - "e504410bbbf21854735598ee1cb04ff9" + "d8243bb4bcf71d02cb95e5e42ddf9745" ], [ "FStar.Monotonic.HyperHeap.rid_last_component", @@ -29,7 +29,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "d34ef798330e858c10710b1adb4f7da8" + "bf6dc0ab5374726f21c88634c86848ee" ], [ "FStar.Monotonic.HyperHeap.color", @@ -41,7 +41,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "70022b1e380719533f32e725bae4bced" + "a4ca59de228a283ed3a4ca67e93284d4" ], [ "FStar.Monotonic.HyperHeap.rid_freeable", @@ -53,7 +53,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "d4de9454c9d019d36eebe71aa74762fa" + "177dbe13dd646b50013d704e75b77ea7" ], [ "FStar.Monotonic.HyperHeap.root", @@ -88,7 +88,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "45f5c1ec7531bc52803f65df2b76956c" + "0569db38461d9d05a464307bb80056a3" ], [ "FStar.Monotonic.HyperHeap.root_last_component", @@ -125,7 +125,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "6e59885071f1fe30148bb2f50c4bc24c" + "7ce6b24dbb9a61db5af304fe19a9c3da" ], [ "FStar.Monotonic.HyperHeap.root_has_color_zero", @@ -140,7 +140,7 @@ "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "3904a83e24adc7e687d6764584d85735" + "15df1243359eb24e95adeda24f69ec1a" ], [ "FStar.Monotonic.HyperHeap.root_is_not_freeable", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "880ac898be09062ec792eb9303762740" + "8c7c6614f201718fefa5620e31d347de" ], [ "FStar.Monotonic.HyperHeap.rid_tail", @@ -196,7 +196,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "fa498443c960cf921a45cc09dfe6174a" + "7c1a663c08b240fc312b366be9852ef6" ], [ "FStar.Monotonic.HyperHeap.includes", @@ -252,7 +252,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "6cdef61f43c89a13b5c6475e4a33bf83" + "590d8fe5085e15b793abbf9ea19aafc8" ], [ "FStar.Monotonic.HyperHeap.lemma_aux", @@ -261,7 +261,7 @@ 1, [ "@query" ], 0, - "896d90a0999285f91b273bf80c536eb1" + "e4682ea8d0e1bf3e4bc38c0f676ee048" ], [ "FStar.Monotonic.HyperHeap.lemma_aux", @@ -326,7 +326,7 @@ "well-founded-ordering-on-nat" ], 0, - "1eeced4273358161d1c3429e120ee541" + "803c4ca0677fc408e01b1d4b909ce4c3" ], [ "FStar.Monotonic.HyperHeap.lemma_disjoint_includes", @@ -396,7 +396,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ddf814a85093a30fe487316edace70e4" + "cc386d0bf0e188e52655aed1c5641201" ], [ "FStar.Monotonic.HyperHeap.extends", @@ -422,7 +422,7 @@ "typing_FStar.Monotonic.HyperHeap.reveal" ], 0, - "e5596fad92b741a909b46aff415fc92b" + "55801315a21a316daa91b0b6cc024465" ], [ "FStar.Monotonic.HyperHeap.parent", @@ -467,7 +467,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "28da14132dea7f4bb478872bf73f2736" + "8e2c61f825fa15d95c368327acc5da3a" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_refl", @@ -482,7 +482,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "55cb9a723f0a617a350224cc4c34e383" + "cf4db534b67256a2f3d5a55091436846" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_includes", @@ -543,7 +543,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "edb3d3b7ece02970386e179d3c5d6433" + "e44863dd799e1fcec80d8c5c62fe6c87" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", @@ -561,7 +561,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "8fd3ccb7246a179dcb790964df140e0d" + "c32b3fb23cbead828b45cbd648db46c2" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_disjoint", @@ -614,7 +614,7 @@ "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" ], 0, - "eb87b8e40d386fab90c0180fe03b560d" + "a7ceb9ba91fe3537a1f25e4e9df4cc66" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_parent", @@ -652,7 +652,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "3f3e312f7d5b06c0f3d77a780fa56d84" + "b0747cbe052ebdc2e6ef6044039bca5e" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_not_root", @@ -687,7 +687,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "9463ade1a0e9ef35dbfbde81c32e74e7" + "d0a6867bf849898276e2dbb6e40a1ab0" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_not_root", @@ -722,7 +722,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "20300e0255ba5d22ea22c6b9baee6710" + "78bb4e04ebb5b6e6dac33dcbd01dcf35" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -734,7 +734,7 @@ "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], 0, - "4f0bcd2f400b6df2fa359afe611331ee" + "f745b8f780fe2e34a846ae861dbbe01c" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -751,7 +751,7 @@ "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a" ], 0, - "f69cd7a8446c004e2fedd82988512776" + "8d40c3f1cdc5b3f307dc252f066255de" ], [ "FStar.Monotonic.HyperHeap.test0", @@ -821,7 +821,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "525b47fedd8b72656bd69a06fcd8b55d" + "ffcd5b08eead59c074a65fac2dc445f9" ], [ "FStar.Monotonic.HyperHeap.test1", @@ -893,7 +893,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "9217790029622613066bf6759b4f36fa" + "cbf74db53c041898d3b74d0656e524a9" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", @@ -925,7 +925,7 @@ "typing_FStar.Set.union" ], 0, - "7ac89c11ce3e27d0cf1639dff49d5fc9" + "97cdbd28e81c4baca702864ac2ed35ad" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_trans", @@ -956,7 +956,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "35c62fdd150967af12e836cb59db3b2d" + "914f07a6b1753e98752f4037259a87ac" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_trans", @@ -1023,7 +1023,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "78ae820df5f095563d9b8a03eefbb5b9" + "76d0c522dcf471cc82a3e4a7da7b4254" ], [ "FStar.Monotonic.HyperHeap.lemma_modset", @@ -1035,7 +1035,7 @@ "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Set.subset" ], 0, - "dac3cdddc976675e6769400bfe251a4b" + "21312043beb4fd54335fdbb8f2b0caca" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_includes", @@ -1047,7 +1047,7 @@ "equation_FStar.Monotonic.HyperHeap.modifies" ], 0, - "dfbabf3829708a59c848c7ebd42304e5" + "8d71ddf08ab63593f30841fbd6ddcc6a" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_includes2", @@ -1059,7 +1059,7 @@ "equation_FStar.Monotonic.HyperHeap.modifies" ], 0, - "d932dca0f9305215062aa14844a2f2c0" + "0f516e60b913c697fc872f90121ca980" ], [ "FStar.Monotonic.HyperHeap.lemma_disjoint_parents", @@ -1086,7 +1086,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "5cba074db00ab3e6600c538498ac0f1b" + "5005ecb4aae5b3ea3753f1756725b52f" ], [ "FStar.Monotonic.HyperHeap.lemma_include_cons", @@ -1128,7 +1128,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "7bd4a5dc578df449a07af3fb5324a38f" + "9a3b148776c4f0b45150328a422e5a5e" ], [ "FStar.Monotonic.HyperHeap.extends_parent", @@ -1187,7 +1187,7 @@ "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "7dd279b4cce43e2669cf27ea94adc2b1" + "82f15ed00ed31ec1030f80a18ad3c264" ], [ "FStar.Monotonic.HyperHeap.includes_child", @@ -1209,7 +1209,7 @@ "typing_FStar.Monotonic.HyperHeap.parent" ], 0, - "8aa2359e2a50be2bb89c99fb4f1000ad" + "c92eb4008980e4737659fff84d3b081b" ], [ "FStar.Monotonic.HyperHeap.root_is_root", @@ -1255,7 +1255,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "80fb1fb8234827ab3b4ca9fc1b7c66a8" + "24603f52ee7525a9c689ebea46bbdb53" ], [ "FStar.Monotonic.HyperHeap.extend_post", @@ -1264,7 +1264,7 @@ 1, [ "@query" ], 0, - "e89be8002da32824e7e98a07a0790b87" + "49d1ce3b703b70d63257b36845638352" ], [ "FStar.Monotonic.HyperHeap.extend", @@ -1326,7 +1326,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "87e55fe1a8d349278fceb3339a2afa0d" + "5a50b44ef37865eb80031f744e1bd7e1" ], [ "FStar.Monotonic.HyperHeap.extend_monochrome_freeable", @@ -1389,7 +1389,7 @@ "typing_Tm_abs_d4b9974b4509a8834134802982063acd" ], 0, - "2055085db664aaf173317682fce3a3a2" + "ff1d81cfc0fcd7cd97f86bcd7c444bd6" ], [ "FStar.Monotonic.HyperHeap.extend_monochrome", @@ -1398,7 +1398,7 @@ 1, [ "@query" ], 0, - "447840fc4c082b0aa85477fb6a393aad" + "fc51eb5b6cc5ecec41a84fbd2711bc68" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.HyperHeap.fsti.hints b/ulib/.cache/FStar.Monotonic.HyperHeap.fsti.hints index 456cbbfbfc6..ad2db051664 100644 --- a/ulib/.cache/FStar.Monotonic.HyperHeap.fsti.hints +++ b/ulib/.cache/FStar.Monotonic.HyperHeap.fsti.hints @@ -20,7 +20,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "aa3171258e9aa1c94c8ddec0387dc1d9" + "f6537650b012d197f32b21b65ff52903" ], [ "FStar.Monotonic.HyperHeap.root_has_color_zero", @@ -33,7 +33,7 @@ "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "14ab249f0b864496b8439b156591045b" + "a2dc8e7109ebb9ffabab28ba1b18c496" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_not_root", @@ -42,7 +42,7 @@ 1, [ "@query" ], 0, - "bd0d3e34896f14d2fd72fb5f6a5a213c" + "1f99280e3383ee3830939419be14c53c" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -51,7 +51,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], 0, - "2d3006fc7a21de55859229d96fa88974" + "88621d07559bcaabd7007b3aae69534f" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", @@ -82,7 +82,7 @@ "typing_FStar.Set.union" ], 0, - "2c949742f9f464e5ac91d1d76abc7cbe" + "52d81b63d2965cde23630a12387c5d7a" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_trans", @@ -116,7 +116,7 @@ "typing_FStar.Set.union" ], 0, - "0c5961a09a46c63254cc0f9c9401ad27" + "34d9660667a72ec9b79b199ac36cb3bb" ], [ "FStar.Monotonic.HyperHeap.extend_post", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "8d1376372e7e836d26af67254707d50f" + "38c6aca81e1fc2d92999f44d9ead2929" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.HyperStack.fst.hints b/ulib/.cache/FStar.Monotonic.HyperStack.fst.hints index fb072d1be5d..fd4405b4529 100644 --- a/ulib/.cache/FStar.Monotonic.HyperStack.fst.hints +++ b/ulib/.cache/FStar.Monotonic.HyperStack.fst.hints @@ -20,7 +20,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.HS_tip" ], 0, - "e0240bbf08a575246de326d8d19bbff5" + "21f2f86fb4e3bda9b0bb49d3611eb091" ], [ "FStar.Monotonic.HyperStack.lemma_mem_projectors_are_in_wf_relation", @@ -33,7 +33,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "1077336116a9ed250da8a9a391355058" + "767ba0b751814bba1239512fd5ec5a4c" ], [ "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_intro", @@ -54,7 +54,7 @@ "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf" ], 0, - "bbd1ccba0177cc7bccdf31556d99ee4c" + "843775212d961ccaa988f29fac822a42" ], [ "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_elim", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "3d63433b74ab565398dcc1180db01b1a" + "413fa5587fd33af37c160ef2fb0231e8" ], [ "FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -104,7 +104,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "72ffbb22e869f16176dffd28e06952d7" + "5c93dc5a111db12d5bbd05685e345ef2" ], [ "FStar.Monotonic.HyperStack.lemma_downward_closed", @@ -136,7 +136,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "63b201ed6d613250997bfc9e51bedb4d" + "8c4e031833c59398790e77bf16382135" ], [ "FStar.Monotonic.HyperStack.lemma_tip_top", @@ -160,7 +160,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" ], 0, - "a29f51089f59bb070fe51ab547ac8979" + "983c240d1d18bc6e58e27f5b0f8ff6c0" ], [ "FStar.Monotonic.HyperStack.lemma_tip_top_smt", @@ -184,7 +184,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" ], 0, - "4d822c23d90ee9b991890c4ffe9a08ed" + "328db5f31011beb0234fe43d45d25340" ], [ "FStar.Monotonic.HyperStack.lemma_rid_ctr_pred", @@ -207,7 +207,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "14926f9b9394d8bc532dd483b162b057" + "f10162a0dec5bf7964cf97233d34b285" ], [ "FStar.Monotonic.HyperStack.empty_mem", @@ -244,7 +244,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "7114619d6ab846f582a0d4356d95a307" + "23bd1613e55bcad85a8871a5d209644f" ], [ "FStar.Monotonic.HyperStack.heap_region_does_not_overlap_with_tip", @@ -279,7 +279,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "f0bb1d5e4d6b467024a1e268f0d49f61" + "b45979af9234c174f56da5e3f55869f7" ], [ "FStar.Monotonic.HyperStack.popped", @@ -288,7 +288,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "593628101717c54b4f1ba305199641de" + "3f465c618e4b1986d5dc060994724080" ], [ "FStar.Monotonic.HyperStack.pop", @@ -347,7 +347,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "00517db68b382c9260c610adc83f8247" + "50796d76fdcf2db347cb6ce556c0f523" ], [ "FStar.Monotonic.HyperStack.lemma_as_ref_inj", @@ -365,7 +365,7 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref" ], 0, - "6add9ed96f793581c3fbd0dd78d88cc5" + "c1033559ec3fb6dd2f70b28969dd5fd8" ], [ "FStar.Monotonic.HyperStack.upd", @@ -412,7 +412,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "6b5625b824cf167a40a7fe507f4e5265" + "cd26841b6f6732878ad8c0098a156fa0" ], [ "FStar.Monotonic.HyperStack.alloc", @@ -462,7 +462,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "e0b4cae2a3985c011cbc5d43ac46c836" + "5fd7f054655fd1d59d4ddf5f0c57e82b" ], [ "FStar.Monotonic.HyperStack.free", @@ -509,7 +509,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "50c56d3e2b9636f50f4aeb1c19131ea7" + "9baadcee15394edce7e2553ffb9b1771" ], [ "FStar.Monotonic.HyperStack.upd_tot", @@ -554,7 +554,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "5854b0a35cc876f3df3d896285183f5f" + "7f741b8a716463ec4a8642441b4057c1" ], [ "FStar.Monotonic.HyperStack.sel_tot", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7" ], 0, - "b72b455ddab2ffb8e2e165b8ece92552" + "802001dd4e542bebfc708114a1bd2196" ], [ "FStar.Monotonic.HyperStack.fresh_frame", @@ -582,7 +582,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "e40a545909340708d5eafb4c15ff4205" + "34d0fc3973166fba0e366cf05dfcfbd6" ], [ "FStar.Monotonic.HyperStack.hs_push_frame", @@ -653,7 +653,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "d9ce8801ceae4313514702923665ac68" + "15fa979d85775c8d7221df7dc4957ea6" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -667,7 +667,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8b83c3fd0227c40eae9aaaf48ed518f" + "c2730ee7cdc439c3c7e433922ce2a3b8" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -747,7 +747,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "812f4297b7d2921981da519a06188761" + "45b6922eaaca6cf5df763cc5d57f209a" ], [ "FStar.Monotonic.HyperStack.new_freeable_heap_region", @@ -821,7 +821,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "6f0178bfb98b88e8adb0a997caed65cd" + "c8816f80b73dd431111027440e34b204" ], [ "FStar.Monotonic.HyperStack.free_heap_region", @@ -875,7 +875,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "97ab6d669f8bf3ace0621cd69c71112c" + "4bb3632947ec4cb184b8040912301231" ], [ "FStar.Monotonic.HyperStack.lemma_extends_fresh_disjoint", @@ -900,7 +900,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "661b1f4986bc66e4d30aaad70c49958f" + "a52252c7af2d17522fcde6e4551b4dfe" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -914,7 +914,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1034a4247198adf831b3e0fdbc4f2f6a" + "987965643f2561e8d73c123ec0b7096b" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -948,7 +948,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "abef4f4547f48e543b460e151dc1f4b8" + "15b16af0a77b487cca6bc6ff155b555c" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -960,7 +960,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "9a536e54104a7b72c2e40f9257a193fb" + "97cebdfa5cf4a6bb2ee9f1e790f3ca9b" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -983,7 +983,7 @@ "refinement_interpretation_Tm_refine_c736affd63917f0f3425300e95ec26ab" ], 0, - "ef6562e1549743521bc531e24265fb13" + "17264d31316222b508fb561b01a86222" ], [ "FStar.Monotonic.HyperStack.mreference_distinct_sel_disjoint", @@ -1013,7 +1013,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "123f906a8189d4046715eeda1b66dc66" + "38a6c3753136cc8124ae48f130a75049" ], [ "FStar.Monotonic.HyperStack.lemma_pop_is_popped", @@ -1065,7 +1065,7 @@ "typing_FStar.Set.singleton" ], 0, - "9f7c3ce1ca0c02f7232f9ba454d6dabb" + "7416a07ee41e3aa9a39ccb1245d58ffc" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -1082,7 +1082,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "da2a1487698789f05603e62bb6d132dc" + "5ee0e1437e7a003106c613b8687dcf1a" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -1158,7 +1158,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "f0dd95de502584717a19f4c63fe41e71" + "04ea92f0994f0f3fdad8c9437dba80fc" ], [ "FStar.Monotonic.HyperStack.modifies_ref", @@ -1172,7 +1172,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c96ac8035267b7a39f01aca26c9cce4" + "808b43ce5df6aa784701e954cf6a03e8" ], [ "FStar.Monotonic.HyperStack.regions_of_some_refs", @@ -1187,7 +1187,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e3cd9c8d760b3fe93d2cc724a0c7746d" + "405bede141d46e8a538df48977ef7866" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -1201,7 +1201,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15ef33d60ee545d3474e8cd08a49e73a" + "55f398b9385e5f97e2495ff042751643" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -1224,7 +1224,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "564944385d5b8e373c02ea489a396b17" + "2386cf4576ff929e83980994b65f93b0" ], [ "FStar.Monotonic.HyperStack.modifies_some_refs", @@ -1239,7 +1239,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6d42976b70aba5198b3a49f57d7970e3" + "5f548e8cb37d7f72edba355c09c70eef" ], [ "FStar.Monotonic.HyperStack.eternal_disjoint_from_tip", @@ -1282,7 +1282,7 @@ "typing_FStar.Monotonic.HyperStack.is_heap_color" ], 0, - "a0f502f6ed829fc24d64addca784d4c5" + "dbc074dd4ff368d974f62a8dbe7f86a0" ], [ "FStar.Monotonic.HyperStack.above_tip_is_live", @@ -1304,7 +1304,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "7f5051471528cb717cd5a861f6bcf0aa" + "baabff69e3a6707c9a168959796b3ea4" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -1339,7 +1339,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "feb0a754a959608bcfab8c442404951b" + "49aa95b098d03ddc0b907e914df0d110" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -1389,7 +1389,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "0c848238a07bcab67702d78d72d7f205" + "64c3cc0ac4bb3c55ae3edba90fd7c388" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -1405,7 +1405,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0034f7a1d0629692e3e76beba6304a7a" + "dbb28a16b11664baa06e4986762ea25e" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -1458,7 +1458,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "9d48527fd3c4f5f2802e8d3e3adc6945" + "6bcf0751f790d5e08fd0ea6e92d16eea" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -1494,7 +1494,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "30d6a2d65253a61ff976f1c9fc73de3c" + "a7f123063958b13ab159431130ffb351" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -1547,7 +1547,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "9c07a7d9e7e688229c7f6d9349a5af95" + "5ac6c02cad13429e2414b1b9957c1513" ], [ "FStar.Monotonic.HyperStack.lemma_next_addr_contained_refs_addr", @@ -1572,7 +1572,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b300e46965510c8dcbff12c3d0b1e953" + "3f4c2a7538a5e54e9fdc33fed828d962" ], [ "FStar.Monotonic.HyperStack.lemma_upd_1", @@ -1646,7 +1646,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "494b025e4e70aa630cc56f756594ccab" + "0986079fdd9ef31e9cf6efe56a72f441" ], [ "FStar.Monotonic.HyperStack.lemma_upd_2", @@ -1726,7 +1726,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2a56e49de48911c0291051f445b69b85" + "88147c096124c2e48349594c815dbee2" ], [ "FStar.Monotonic.HyperStack.lemma_live_1", @@ -1762,7 +1762,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e2dd86130d6d9fcf6b28bbb643a195f3" + "e5c1966cd5f18ca2067fd383b8d3e5f2" ], [ "FStar.Monotonic.HyperStack.aref_equal", @@ -1781,7 +1781,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref" ], 0, - "f9bb06173087aab6cbad32811a36a696" + "05a395bf36c7e01bc88d12b0ebf30ecf" ], [ "FStar.Monotonic.HyperStack.frameOf_aref_of", @@ -1796,7 +1796,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region" ], 0, - "71725bfe18d713dcf39116ab75bf7ffe" + "55b3f8332c60989c1a0c07e57e43b4bd" ], [ "FStar.Monotonic.HyperStack.aref_as_addr", @@ -1805,7 +1805,7 @@ 1, [ "@query" ], 0, - "90475b745ad9a46dd38d0a07e02f2673" + "b06a217bcd1c440c597fdab43a03dab1" ], [ "FStar.Monotonic.HyperStack.aref_as_addr_aref_of", @@ -1821,7 +1821,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" ], 0, - "ef3794b83eccfb3f85fe8d3832fbf13b" + "942a7530be494bddec18883bb4b7afe9" ], [ "FStar.Monotonic.HyperStack.is_mm_aref_of", @@ -1837,7 +1837,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" ], 0, - "7c76bf0cdd390ac9d463bb0667bd15f3" + "518c6065ebd813c1703c787bf87cbc9b" ], [ "FStar.Monotonic.HyperStack.unused_in_aref_of", @@ -1878,7 +1878,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b6a6e6adfec897c98f8c14bd8a43cb53" + "36bb42576472c5a7aee27e86c477e2ba" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -1892,7 +1892,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5a1c7e7f6f069232be63a83b94fe3673" + "0154363618bcb195847a7afb145ed24a" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -1928,7 +1928,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "787cf730e7636abcf31978ac2de5f8ca" + "859ed2ab27925b9e1ecd17380d3faf9a" ], [ "FStar.Monotonic.HyperStack.greference_of", @@ -1948,7 +1948,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "bbc85fd5ca3221c0e717bf6f11726475" + "fcd7294bba3fdb544df749aff5a9408e" ], [ "FStar.Monotonic.HyperStack.reference_of", @@ -1982,7 +1982,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "87b054e265f658f09c5f3139d2b2bc9b" + "ea3435c628f775263860390ffc7fae31" ], [ "FStar.Monotonic.HyperStack.aref_live_at_aref_of", @@ -2024,7 +2024,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f1d84543c5f4f6f820ffebb0a35a3bc7" + "2077f537a92241d011fa6f92d9ee3d17" ], [ "FStar.Monotonic.HyperStack.contains_greference_of", @@ -2069,7 +2069,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b74a6ad550d547e709383336e0cd0cef" + "8a16b04eefef5c10e4950aa625a2be67" ], [ "FStar.Monotonic.HyperStack.aref_of_greference_of", @@ -2103,7 +2103,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "f04448fcf3bcded244c3d00d091fd934" + "17a8e893a440bcc945f16951ddf15dde" ], [ "FStar.Monotonic.HyperStack.frameOf_greference_of", @@ -2123,7 +2123,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "b2872575c5c5232afa506febb826c09a" + "edd9bc0e477aa6fe024707c2b13d71a1" ], [ "FStar.Monotonic.HyperStack.as_addr_greference_of", @@ -2156,7 +2156,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "67ddd3f9cd7bf62cfa108ac039319362" + "650eac15c7485ae54545f0dc2654e76a" ], [ "FStar.Monotonic.HyperStack.is_mm_greference_of", @@ -2189,7 +2189,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "4c3e713282cc728a190f731f22ae4d86" + "61c3d93dd73622ee4c7988e77ae118fa" ], [ "FStar.Monotonic.HyperStack.unused_in_greference_of", @@ -2237,7 +2237,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0103ae28044c6f8581f58eee42fb8321" + "7bf46f8dca6b9ed9ba1d38444de3bb29" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -2246,7 +2246,7 @@ 1, [ "@query" ], 0, - "d585c4c2aa0a298843759c3122c1b598" + "307d4655dadddfad6bb27edc972ea8bc" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -2279,7 +2279,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "861015194b880413b50331185f5a34e8" + "b231fd921dbaf5ab0864c92f01458be4" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -2300,7 +2300,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "84768773fbcfb1eede8e6ef0ba98c0fb" + "8c865fcad148c2169aa6a3a260bf7241" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -2336,7 +2336,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "b6a701d389e8b9766058346dee58e7d2" + "14899695cc59525ce7fab0986652ea86" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.HyperStack.fsti.hints b/ulib/.cache/FStar.Monotonic.HyperStack.fsti.hints index 26ec11f2ad9..91f39449c7e 100644 --- a/ulib/.cache/FStar.Monotonic.HyperStack.fsti.hints +++ b/ulib/.cache/FStar.Monotonic.HyperStack.fsti.hints @@ -36,7 +36,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "07d3bdd8c5babe8bf72947ac07ecc0e3" + "e48fec98ee18739aef2746aef45810ee" ], [ "FStar.Monotonic.HyperStack.heap_region_does_not_overlap_with_tip", @@ -64,7 +64,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "c06792b33e6de066bf25928b6bc90a64" + "a7656b48edb743031b77046a5279fc44" ], [ "FStar.Monotonic.HyperStack.popped", @@ -73,7 +73,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "945886ef76b510e1024735ae3262a76a" + "f8efd12559618a1e6b92d1a728d53907" ], [ "FStar.Monotonic.HyperStack.pop", @@ -125,7 +125,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "1c82c968fad0958fc294ca66baba1c67" + "33371bf23c80595921b51ddbc330b9f7" ], [ "FStar.Monotonic.HyperStack.upd", @@ -162,7 +162,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "2e734c88ada8f002dae516fa9df287c2" + "ef75a0743398f22cefd5985f4f3e7204" ], [ "FStar.Monotonic.HyperStack.alloc", @@ -206,7 +206,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "b03362501c5abc5839fe168ec6327439" + "55391b6e4560559d4e12a9936856cddb" ], [ "FStar.Monotonic.HyperStack.free", @@ -244,7 +244,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "2509ad1e0406c5741218c5687081c761" + "dc7d4ce4358ae9abb0c42b8f702e1dcc" ], [ "FStar.Monotonic.HyperStack.upd_tot", @@ -280,7 +280,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "f4759e4bb78e5272a4583dafc9e8aa5a" + "d9c954b92daea346e6497bfb12ebb2e5" ], [ "FStar.Monotonic.HyperStack.sel_tot", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7" ], 0, - "5aad1ba7b62840e06b39d019221c627a" + "966a0e69cfde24e92677aeb1ef9dea58" ], [ "FStar.Monotonic.HyperStack.fresh_frame", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "0ee94afcc13237db3177575a6fda62a4" + "1da008fe7a4a09b29c6fffa4710af496" ], [ "FStar.Monotonic.HyperStack.hs_push_frame", @@ -371,7 +371,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "48ba64b598e5e7c80ae89d6b3c6a566f" + "3448d27dcbaf5b4af811e444223c94e4" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8079eda78efea62e5709a3ec46ee1b0" + "f72a1f62ad59021898679c7e5e9eddf5" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -457,7 +457,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "f174be1c4da3cdd0f7912224017bb6a1" + "c07afca26095fb99b94e4c000055b91e" ], [ "FStar.Monotonic.HyperStack.new_freeable_heap_region", @@ -523,7 +523,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "c970a92e3bd92e156a2bd2d6c3365e7b" + "b70eb67e0020808bc667bbe3265ceae7" ], [ "FStar.Monotonic.HyperStack.free_heap_region", @@ -566,7 +566,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "635507e5b7a339df0cde15d1846a725d" + "6a54b20c40b76aea74464994038a414c" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -580,7 +580,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e029ec3026a033cc1fdab78fe3bcc416" + "27b3c392f1d27e1e3bee87fa3ad17968" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -592,7 +592,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "fabc8fe528ab1de04fdb0a339e5532a6" + "11b1f6b3b8cf3bb1ded9100593c9d3d0" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -608,7 +608,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "5cd3050f659adadcf27752e7d7f6eafd" + "ee495d43858583745e8980c4b82bdec7" ], [ "FStar.Monotonic.HyperStack.modifies_ref", @@ -622,7 +622,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c0f32f5fbd5a12fd44f90e910183cd25" + "822fe48a9e6849d41f1634a03c656a9b" ], [ "FStar.Monotonic.HyperStack.regions_of_some_refs", @@ -637,7 +637,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "789b50843777b49c3fef8604711e0a9a" + "fb3028944d3c53a58881816efec77a61" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -651,7 +651,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "114eadbb9a8a8e818f568e5a1d3d8512" + "ca54951d74eab28a20a0a4c079ffda31" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -674,7 +674,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "34cefad8b588fc44fd7d5da079582445" + "b3cf86762d2e855690e447c574af269f" ], [ "FStar.Monotonic.HyperStack.modifies_some_refs", @@ -689,7 +689,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a3abd669ebb1e14a29a4c25294f8ac05" + "d69dc9afb19ba0deab2851f7d82246aa" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -722,7 +722,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "4f647889dc43d8d3c8f0d405ac4fe94b" + "ed87f63f56ec9ef0edc1a9ade03de483" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -738,7 +738,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6e52be1da858e748069d9dc9e251e1d1" + "68033a4c9e22e188bdc1d2d922cb9301" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -771,7 +771,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "e47b78d92d2172fca119cf595f575e86" + "7e2293aa32d88e7e6f25114382b25811" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -785,7 +785,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1fc835f0b6d85616f39b8f327dbb7ad6" + "a1bf6c9d05e22f4eeafdaef3130e353d" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -794,7 +794,7 @@ 1, [ "@query" ], 0, - "5a5ec64d2f75fbb97ff788aaa822a2c9" + "e7ea940a33a0e46870fac2d79795d5a2" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -812,7 +812,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "968b77e424cf8edcfaa99cecddf91692" + "c258148ef3e80addd82d152a1a942997" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Map.fst.hints b/ulib/.cache/FStar.Monotonic.Map.fst.hints index b86c7f51bc0..882d8b39e1b 100644 --- a/ulib/.cache/FStar.Monotonic.Map.fst.hints +++ b/ulib/.cache/FStar.Monotonic.Map.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0beffdff42ffa26453d85f6a1dfa949c" + "b929da4ea3862598914e3745bbf4bb66" ], [ "FStar.Monotonic.Map.grows_aux", @@ -27,7 +27,7 @@ "l_quant_interp_3439469e67c044de57ce8f8134ebf267" ], 0, - "5aa050b314b2b4e49941399e1c90ad58" + "581a88ec1f7bd01fd64ba7fd3a553e6d" ], [ "FStar.Monotonic.Map.alloc", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_ff29b7a45b8f3430bb5eb44dab5f02d4" ], 0, - "2cee1307e7c8ade70ef5b67578d1be07" + "071c3cd4b10ea022b3a1e095143d02eb" ], [ "FStar.Monotonic.Map.contains", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "55b0667da0e2555b81d6f0893af5d35f" + "f495ae2a61b628823936cfcefbbfa199" ], [ "FStar.Monotonic.Map.value", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "ebbf55f191cd7d526fa886ba9e70687a" + "909c6ba83367c78efe66bc783e5edee9" ], [ "FStar.Monotonic.Map.contains_stable", @@ -94,7 +94,7 @@ "token_correspondence_FStar.Monotonic.Map.grows" ], 0, - "c2996f6903e3aff62de3f0a3eb79c16e" + "0d6226473ef91f0af7545dd4786bcf28" ], [ "FStar.Monotonic.Map.extend", @@ -191,7 +191,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b2794dd128d135d685a713b2c732d6aa" + "b5bad24b7c21cd09b83a1de95b5a9235" ], [ "FStar.Monotonic.Map.lookup", @@ -247,7 +247,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "de3516f9e322f7d4efbd3e22d1d14ffc" + "359f46a636a35920a1686d6326e06dff" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Pure.fst.hints b/ulib/.cache/FStar.Monotonic.Pure.fst.hints index fcbcfcf85f8..b94015da534 100644 --- a/ulib/.cache/FStar.Monotonic.Pure.fst.hints +++ b/ulib/.cache/FStar.Monotonic.Pure.fst.hints @@ -15,7 +15,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "fe3b55311458269b7ffd2ec12563203b" + "057291f27640b63570438477967c5d28" ], [ "FStar.Monotonic.Pure.elim_pure_wp_monotonicity_forall", @@ -31,7 +31,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "66ee5bfce919585bf849860b378ee28c" + "c031e1a800a58f26c873aa9a12b6a2d3" ], [ "FStar.Monotonic.Pure.intro_pure_wp_monotonicity", @@ -45,7 +45,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "7bb941dea00e338b7a61917cc7336b42" + "c49c0cd045789cbdc1375e37abefeec4" ], [ "FStar.Monotonic.Pure.as_pure_wp", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "07b52296bae2a2cee7a2907755434c83" + "a687905a228f3fe91a03190dafe5240e" ], [ "FStar.Monotonic.Pure.elim_pure", @@ -73,7 +73,7 @@ "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" ], 0, - "331c63321b966647a6069400253af5ce" + "f4a3f117dbcfac2b88998f6e52df33e4" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Seq.fst.hints b/ulib/.cache/FStar.Monotonic.Seq.fst.hints index 6109582dc8e..80e0193be0e 100644 --- a/ulib/.cache/FStar.Monotonic.Seq.fst.hints +++ b/ulib/.cache/FStar.Monotonic.Seq.fst.hints @@ -17,7 +17,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "40c2c542d8636507e424c708cbe33559" + "6f34102d546ee3caacea85818f5314d1" ], [ "FStar.Monotonic.Seq.lemma_snoc_extends", @@ -48,7 +48,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "41d13339a821ab3a673860490374e2bd" + "64e944edfc3da4fd09aba4efe723fd3b" ], [ "FStar.Monotonic.Seq.alloc_mref_seq", @@ -102,7 +102,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5c6cfebc8efb5dc6e98fd2d469cdc348" + "02d5b684ed9d47a89908f6eded34aae3" ], [ "FStar.Monotonic.Seq.at_least", @@ -111,7 +111,7 @@ 1, [ "@query" ], 0, - "d814e529ff29e8e4dc434943de73cd1c" + "4b3d66ab354cda5e76f3111357f83983" ], [ "FStar.Monotonic.Seq.at_least_is_stable", @@ -132,7 +132,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "db0c3bdb5a61b1f6503e77f7a1fc1e93" + "a95e26672d8c88860a9ad39b4cf037f0" ], [ "FStar.Monotonic.Seq.write_at_end", @@ -227,7 +227,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "428f88f608638d05045f87147a525349" + "58e73dd2af0879b661d84405faf4b828" ], [ "FStar.Monotonic.Seq.grows_p", @@ -254,7 +254,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "713a98ff169a5a3d6f51e2177452beec" + "871f1f4f1cf4da7e82cf8d8aa68b62fe" ], [ "FStar.Monotonic.Seq.alloc_mref_iseq", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "ef975356ccf74a7a033d5bd4e79d3b3f" + "27a31ed4030f0d459f59b9fac1415c40" ], [ "FStar.Monotonic.Seq.i_at_least", @@ -290,7 +290,7 @@ 1, [ "@query" ], 0, - "0747f727f8dcdd2bd230d6a9cb49b5c0" + "dd35a752204b6b93fd85a9387571ee6f" ], [ "FStar.Monotonic.Seq.i_at_least_is_stable", @@ -313,7 +313,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows_p" ], 0, - "d989261acfbc694a3f24276e175d2e51" + "cca9d21162b52bfe18f0ff799a999609" ], [ "FStar.Monotonic.Seq.int_at_most_is_stable", @@ -335,7 +335,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows_p" ], 0, - "eccf5e0399b8550580332361a83e14a1" + "1c284661d3e874fc07195e2e47813302" ], [ "FStar.Monotonic.Seq.i_read", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "80847e6bbae86a08bbdf299f147da975" + "dc9f0671090e47769a37f0bc004ad509" ], [ "FStar.Monotonic.Seq.i_write_at_end", @@ -471,7 +471,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1491ef3a1c01ab1287e6d484010ed47e" + "c4075f88e87a86adb5cf27d97759e982" ], [ "FStar.Monotonic.Seq.invariant", @@ -485,7 +485,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "67f1c47640144ff109544836bc2d79ec" + "1afa49a27bdcb54251905b3a20e1ced3" ], [ "FStar.Monotonic.Seq.test0", @@ -504,7 +504,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "2a52ae366dff9002d4a47f9623ddd994" + "39dfdaf4698b49f3d4c605d3e2a24a69" ], [ "FStar.Monotonic.Seq.itest", @@ -528,7 +528,7 @@ "refinement_interpretation_Tm_refine_fc4e75453b328d0dcef003557ed6cd2b" ], 0, - "e837f84426c747e3275fad83afea5fcb" + "2c02361d52808f270251bdec745108d6" ], [ "FStar.Monotonic.Seq.un_snoc", @@ -549,7 +549,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "a8a68ac766fd6795726fa51252e03ded" + "ab038f9d44e527a3010a213e118a6f93" ], [ "FStar.Monotonic.Seq.map", @@ -575,7 +575,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "7195612457e6a19741d9839c3053a39c" + "9a5429b4dfe783f0d15d5fec59fe5347" ], [ "FStar.Monotonic.Seq.map_snoc", @@ -621,7 +621,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "0b05426ebb7fd04446a5e688b6256ff2" + "566c4561c73aeffa10dd99e1dfb23d8c" ], [ "FStar.Monotonic.Seq.map_append", @@ -633,16 +633,15 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_b1c102bc33763b5f709e32a86e66e509_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.op_At", "equation_FStar.Monotonic.Seq.un_snoc", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", @@ -679,7 +678,7 @@ "typing_FStar.Seq.Properties.snoc", "well-founded-ordering-on-nat" ], 0, - "f3b6b3cc7d03f2cf3ea4664dfd1b869a" + "81ed0a0b288ace7f4a40fa985edb86a8" ], [ "FStar.Monotonic.Seq.map_length", @@ -693,7 +692,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ef93ec77bffcf9ce0b269115fdfe32cb" + "658e13cacb624808665c7375fcd9683e" ], [ "FStar.Monotonic.Seq.map_length", @@ -707,7 +706,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b05db40bb33600b3ab892cb376218f8a" + "3c62ebeaf196390048dc1f43e4589b33" ], [ "FStar.Monotonic.Seq.map_length", @@ -719,15 +718,14 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", @@ -751,7 +749,7 @@ "well-founded-ordering-on-nat" ], 0, - "87470f675d3ed47ed637d6742cc000d2" + "8dec55021c5b88672d1b10475d6ae690" ], [ "FStar.Monotonic.Seq.map_index", @@ -765,7 +763,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "5f29182436a0ac4e2e78e8f6ee6840af" + "4143bcd37e5f5e4b3c01e3ea869026d3" ], [ "FStar.Monotonic.Seq.map_index", @@ -779,7 +777,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "be47fbdfb1aa0ff156c8cf5c58b0d36c" + "f822b77b958ce62fe8028d96d178441f" ], [ "FStar.Monotonic.Seq.map_index", @@ -791,16 +789,15 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "FStar.TSet_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fb947062bc64c8a4c113625ea3c52251_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", @@ -834,7 +831,7 @@ "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "0e50d22ffdad2a3b30ef575d2e63fb21" + "d7b77169e29b509871354418eff2ff19" ], [ "FStar.Monotonic.Seq.map_grows", @@ -860,7 +857,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "1a86b9282927bcead08b0b0b472147f1" + "cbb666c53f4f5e551972e2c540448e98" ], [ "FStar.Monotonic.Seq.map_prefix_stable", @@ -904,7 +901,7 @@ "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" ], 0, - "02028be41d15755e891781266f5bc455" + "8e832f9d31d8f4d8e0fc8367c082331b" ], [ "FStar.Monotonic.Seq.map_has_at_index", @@ -918,7 +915,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "0db3382733105ef375c809f6cde37050" + "3b3c3a1828dfd737b80051facd8834a5" ], [ "FStar.Monotonic.Seq.map_has_at_index_stable", @@ -960,7 +957,7 @@ "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" ], 0, - "56d75f01cb053182689213def0c30c17" + "b51296cc28bfcf4e70ce078bd811c096" ], [ "FStar.Monotonic.Seq.collect", @@ -986,7 +983,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "c991960b91c73b0ddf6ef174954e0530" + "f1e9f425ae257f0bb51048418d82e07e" ], [ "FStar.Monotonic.Seq.collect_snoc", @@ -1032,7 +1029,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "d25de32c0567f5feb5fb085966b1f251" + "bf98c6f1ad24e99820103b4f9135793c" ], [ "FStar.Monotonic.Seq.collect_grows", @@ -1089,7 +1086,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "2e997994b6c0da65335d13072fcab462" + "246aca4323385b29326565caf487b0ce" ], [ "FStar.Monotonic.Seq.collect_prefix_stable", @@ -1112,7 +1109,7 @@ "typing_FStar.Monotonic.Seq.collect" ], 0, - "7eec3354b6db692655c9f9b0105d540b" + "86b53d698d31b38af2f9cf8914f6f63f" ], [ "FStar.Monotonic.Seq.collect_has_at_index_stable", @@ -1141,7 +1138,7 @@ "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" ], 0, - "3b49d42ad8a1fb54c8789926b85d07da" + "5f958dd0d37190ecddaee062fba52824" ], [ "FStar.Monotonic.Seq.seqn", @@ -1157,7 +1154,7 @@ "token_correspondence_FStar.Monotonic.Seq.increases" ], 0, - "7ce74415f7381c411c4677850ee2a386" + "6bf8c7c667fddcde296560359387be8d" ], [ "FStar.Monotonic.Seq.at_most_log_len_stable", @@ -1179,7 +1176,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "583094211cc64a80fc8202d7344abdda" + "3a582d70bc1000ec7e2301d6fcf46506" ], [ "FStar.Monotonic.Seq.new_seqn", @@ -1285,7 +1282,7 @@ "typing_FStar.Set.union" ], 0, - "a406aa54a541f55837bc18d8e4673a61" + "da2d70f35ff0532d38d0ed4c9e9221a3" ], [ "FStar.Monotonic.Seq.increment_seqn", @@ -1385,7 +1382,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "9a75b21912c66aa8673917166da45fa1" + "45512d42f61cc0f7bc4a49db0c3bb01b" ], [ "FStar.Monotonic.Seq.testify_seqn", @@ -1419,7 +1416,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "6d05c1f2a32e843eb9a16fde33e7c8a1" + "35b8948e68e3baa89fdfb44c30d61fc7" ], [ "FStar.Monotonic.Seq.test", @@ -1451,7 +1448,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "8557ad3df33ab42bf31bcce33b1b36f7" + "f940cee95424851b5d6651aa7adf40c6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Monotonic.Witnessed.fst.hints b/ulib/.cache/FStar.Monotonic.Witnessed.fst.hints index ce678d41167..9749db73fa3 100644 --- a/ulib/.cache/FStar.Monotonic.Witnessed.fst.hints +++ b/ulib/.cache/FStar.Monotonic.Witnessed.fst.hints @@ -16,7 +16,7 @@ "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "0ad83948745ea081a653a622a56a9132" + "64f43b1b55b3824ff0fa637d4cd7bdcc" ], [ "FStar.Monotonic.Witnessed.get_false", @@ -29,7 +29,7 @@ "lemma_FStar.Monotonic.Witnessed.get_constant_lemma" ], 0, - "e5ff7c11e748da6c04c5045ffdc2c934" + "4a273d7ff59c55db38e4e5d00987430e" ], [ "FStar.Monotonic.Witnessed.get_and_1", @@ -42,7 +42,7 @@ "typing_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7" ], 0, - "10e0db76065382e17abe70bda0e7cd3f" + "3806ea5fd9a9fecdd0ef86b9d9e13e16" ], [ "FStar.Monotonic.Witnessed.get_or_1", @@ -55,7 +55,7 @@ "typing_Tm_abs_6a8adeed7179f900ad3f12cc0b419230" ], 0, - "b33747f7e9ba1a6c9eeaa2a0a8d9e64c" + "42bdeb7441b5dc3c0c32a4072b4b1053" ], [ "FStar.Monotonic.Witnessed.get_impl_1", @@ -64,7 +64,7 @@ 1, [ "@query" ], 0, - "042bcce3868e72d639a88b40959db615" + "e21da4c02db592abb6c9fff22f6fdabe" ], [ "FStar.Monotonic.Witnessed.get_forall_1_aux", @@ -73,7 +73,7 @@ 1, [ "@query" ], 0, - "80a41c6b3949cba1ab8fbc03ed0da312" + "e95332dab1818bca7fc6b1e6bf3a8a46" ], [ "FStar.Monotonic.Witnessed.get_forall_1", @@ -89,7 +89,7 @@ "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" ], 0, - "b856c20b0ce5bf2c61bfc9982c618be5" + "aed0af2091fc16e4c2509fea455bad57" ], [ "FStar.Monotonic.Witnessed.get_exists_1_aux", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "5ff285e6c9a15c72e7aef176a227f346" + "e4d882ed61c76c7012eff4a00b3c1d44" ], [ "FStar.Monotonic.Witnessed.get_exists_1", @@ -114,7 +114,7 @@ "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" ], 0, - "f49589b27bff4c08e66666321ed9ec29" + "7954d102160b4ad138b8d7a957e09ccf" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_weakening", @@ -129,7 +129,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "ed2a1388d9743e87924bbd0d07752aef" + "bf36a9938133bae4d38b24734fd803d3" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_constant", @@ -151,7 +151,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "696cb621ee1d9682377ee1428a95d8d5" + "54ed2e715e7df3b068140062f89ee136" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_nested", @@ -167,7 +167,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "840ff7ca29a004d2dd3a1143a55c7034" + "e82759f36ddf1fc75c006959fa33519d" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_and", @@ -185,7 +185,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "76cbd20b44a136a4e23702a0d103510c" + "249ba7dacd13e3df29c450b825dd01dd" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_or", @@ -201,7 +201,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "7a533e1e3d531e17d4ac7e9a25b07b12" + "59c35bedeed5ae3748c5ef9c69d93a00" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_impl", @@ -223,7 +223,7 @@ "typing_Tm_abs_e45b890c8bed1619d6b1f21cff2877a6" ], 0, - "e0216ab91c9afcd6435b406361efcd18" + "ca84e5ee29d5fe6e2631b54385c56f29" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_forall", @@ -247,7 +247,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "c1e6b982344baa90c712857bf7c4682b" + "ac8d8dc3310401c2bee26df2acaf445c" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_exists", @@ -264,7 +264,7 @@ "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "a85d7cdb4403c1fd703167a6261ef76e" + "6929406ea01f3779432af33aba85513e" ], [ "FStar.Monotonic.Witnessed.witnessed_defs_equiv_1", @@ -273,7 +273,7 @@ 1, [ "@query" ], 0, - "e75d4ad437fa3cfd0b65ddc74ccf998f" + "64023f3abe04278d7cf7c586e0e5dc93" ], [ "FStar.Monotonic.Witnessed.witnessed_defs_equiv_2", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "aa1f7dbbe2292de6c195c57b4bc8ee61" + "5c5831d154040e9d4e878179188faec4" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.NMST.fst.hints b/ulib/.cache/FStar.NMST.fst.hints index 08359414f53..56c9892417c 100644 --- a/ulib/.cache/FStar.NMST.fst.hints +++ b/ulib/.cache/FStar.NMST.fst.hints @@ -1,5 +1,5 @@ [ - "w¥¢*—á OÎýàí\u0015b˜®", + "qÝÝPÿ¬ù6­ \f§#\u0014}d", [ [ "FStar.NMST.return", @@ -11,7 +11,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "45f4cf95831e890b1e0a5371f3d85c70" + "aebf512c180d23173db29f61fcdf2615" ], [ "FStar.NMST.bind", @@ -25,7 +25,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "8df7aed7b84cc8970679eda20e9eec0f" + "3541058b614e334387f76cf418170273" ], [ "FStar.NMST.subcomp", @@ -39,7 +39,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "7f0a82d78538bfe1cbea07f2f2702f6d" + "e60507833740bbd4fe266bd40c946fe0" ], [ "FStar.NMST.NMSTATE", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7019cff539aef5a8cb260da5d4f1f20f" + "03e897b1b06bc41ed171a62c8507e134" ], [ "FStar.NMST.NMSTATE", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a773ee86bded80fd3dac18741883a551" + "58b68c39dcdfb0aa819dca85486273f0" ], [ "FStar.NMST.NMSTATE", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "9175c35e557504f5607ebda6540a196f" + "e2337ee9b39865fbaa685d63e8287487" ], [ "FStar.NMST.get", @@ -87,7 +87,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "b6a90cf91dd9f0681ab1a47de30dca6f" + "7ce7c2b224a3b5fb73aad28eac99ee3e" ], [ "FStar.NMST.put", @@ -96,7 +96,7 @@ 1, [ "@query" ], 0, - "761741ae81e6451c13b5415cfb9c75e3" + "38ab990653ac25a24fc909dbc272acbc" ], [ "FStar.NMST.witness", @@ -108,7 +108,7 @@ "equation_FStar.NMST.witnessed" ], 0, - "e4087a8a89adcc2467990d193e32a204" + "f4ee6754d06e31004cf751e32fd8055b" ], [ "FStar.NMST.recall", @@ -117,7 +117,7 @@ 1, [ "@query", "equation_FStar.NMST.witnessed" ], 0, - "d8a43594bd70f9a85e7813412815fcef" + "864ec76586b93491603700c3843a00bf" ], [ "FStar.NMST.sample", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ee84fb1fcc0ed7f8d89e81f8d36b8e4d" + "88e967abfca4af70dfb9121129c6996d" ], [ "FStar.NMST.lift_pure_nmst", @@ -160,7 +160,7 @@ "typing_Tm_abs_dc670feaee5a9cdeefefb04a5984b858" ], 0, - "391c19355f2122de8c43d3ecd2aac7fa" + "f31e8ba9eb68845641ad8c8b9ee4a3f8" ], [ "FStar.NMST.bind_div_nmst", @@ -169,7 +169,7 @@ 1, [ "@query" ], 0, - "8cb91de1c5dea63843a2d36deb4dd9fc" + "f5b40cb5c0ee2fa836acc9c715928d54" ], [ "FStar.NMST.nmst_assume", @@ -178,7 +178,7 @@ 1, [ "@query" ], 0, - "5129e0cc45c50cda3e832e28a99cb9d8" + "7e1d1f828d76c24b99c46b487f51d70c" ], [ "FStar.NMST.nmst_assert", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "528ef671eea53f846599bcd8ec8b1858" + "2ceb904cf103115d0989f2eee774a272" ], [ "FStar.NMST.lift_nmst_total_nmst", @@ -196,7 +196,7 @@ 1, [ "@query" ], 0, - "887e9a25c0a559e9d66795438bbe7586" + "a64999177d51f72376b2c34450469c8a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.NMSTTotal.fst.hints b/ulib/.cache/FStar.NMSTTotal.fst.hints index e8c2257cd20..0e955c7adf5 100644 --- a/ulib/.cache/FStar.NMSTTotal.fst.hints +++ b/ulib/.cache/FStar.NMSTTotal.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "91156b55478b8ac2c7ca936123f52fe9" + "502523f472857ca17a75d2c108d9db59" ], [ "FStar.NMSTTotal.bind", @@ -25,7 +25,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "6d5f85d2fd30145581e7e2e423a136b9" + "c43f5b2f3dcccae8065a8097b512dcfc" ], [ "FStar.NMSTTotal.subcomp", @@ -39,7 +39,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "5739a7fefd96fed89ed89e2b7826e19c" + "2568bb403f9e3bda4c7737280b5e04e0" ], [ "FStar.NMSTTotal.NMSTATETOT", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "67cff26a4dce5ae01c8b4eb24886f183" + "ccd34128bcff3b30d31732539fc07935" ], [ "FStar.NMSTTotal.NMSTATETOT", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1a70ae66c24574648a067a7e14d7f054" + "1ee35b748ed093a6575b44602a8aa3da" ], [ "FStar.NMSTTotal.NMSTATETOT", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" ], 0, - "81341a7fddcc6df872e4c353cf2ffe59" + "448e2e07604ee97e01a4387b228ad6e3" ], [ "FStar.NMSTTotal.get", @@ -87,7 +87,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "c4a6cc3a4edbd17b93c89d6f05fa7a92" + "cc22b7380bf14f078b6ba58e87f7e655" ], [ "FStar.NMSTTotal.put", @@ -96,7 +96,7 @@ 1, [ "@query" ], 0, - "634ea485e0bcfdc17a6dd9f390d2531c" + "328f0bb92b4d32e2e2071cd9c659537f" ], [ "FStar.NMSTTotal.witness", @@ -109,7 +109,7 @@ "equation_FStar.NMSTTotal.witnessed" ], 0, - "a15a5402f0cd45533a27367310e1f3b8" + "999e2fc23d3af558135e9f6156c05fa6" ], [ "FStar.NMSTTotal.recall", @@ -118,7 +118,7 @@ 1, [ "@query", "equation_FStar.NMSTTotal.witnessed" ], 0, - "743765fbe60487bba6fef2a1d1207ec5" + "f7364f3ad71088372adc5bdcac9d47a9" ], [ "FStar.NMSTTotal.sample", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "da4346c503fa1d6e09ac1d67ee65f610" + "d7ac3ff4babdcf24fa0c400ee916068a" ], [ "FStar.NMSTTotal.lift_pure_nmst", @@ -161,7 +161,7 @@ "typing_Tm_abs_dc670feaee5a9cdeefefb04a5984b858" ], 0, - "6708e040b0aa26af8d6244c549e53a53" + "cbb4dd6ec6d60f2aab89eba6472cb911" ], [ "FStar.NMSTTotal.nmst_tot_assume", @@ -170,7 +170,7 @@ 1, [ "@query" ], 0, - "9ef9ddd06ee099fa9972169a69c24711" + "37cfeff49e7440ef092211edae153a71" ], [ "FStar.NMSTTotal.nmst_tot_assert", @@ -179,7 +179,7 @@ 1, [ "@query" ], 0, - "3712660a2142d9d03d788b72032b54f8" + "262f164e87ead64a5aa05616d565b91b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Option.fst.hints b/ulib/.cache/FStar.Option.fst.hints index 72cff1d9dc3..d49cbc80048 100644 --- a/ulib/.cache/FStar.Option.fst.hints +++ b/ulib/.cache/FStar.Option.fst.hints @@ -15,7 +15,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "57d27e14878dff01b7493f7a01e064f5" + "7bffc9b15ef6bb338d61f41041cb6521" ], [ "FStar.Option.isSome", @@ -31,7 +31,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e87cc2e80aa7a66a15cbf4dbf180a5df" + "f4654f144e8397617ed7a9b781896707" ], [ "FStar.Option.map", @@ -47,7 +47,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "96b5555b6b501ddd3764f2f4680c59c2" + "8ae8615f20a68b5894665edb88613600" ], [ "FStar.Option.mapTot", @@ -63,7 +63,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5b1d7c001d8a283ae573d4687ea3b720" + "00374422a1164f1d650e23202459eb16" ], [ "FStar.Option.get", @@ -79,7 +79,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5687adb1a014dafc2ca4c326aadf7cf3" + "5a5774cbe323e7f000bfe82b79130eee" ], [ "FStar.Option.op_let_Question", @@ -88,7 +88,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "1258dac04e86f4f0b07f23b6f19ba6f1" + "58f206ade62131c08bbbe795d544c989" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdMap.fst.hints b/ulib/.cache/FStar.OrdMap.fst.hints index 837ffbf7362..df4eb16e62a 100644 --- a/ulib/.cache/FStar.OrdMap.fst.hints +++ b/ulib/.cache/FStar.OrdMap.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.OrdSet.mem" ], 0, - "a892c6eab781bc62ca9b6bc16cc60fd3" + "c193232094d7f9df11025fb070566416" ], [ "FStar.OrdMap.const_on", @@ -31,7 +31,7 @@ "typing_FStar.OrdSet.mem" ], 0, - "3d319518721a463703dbb8e23e32abfe" + "28b71185c3bdb39bf6adc654ec4e338d" ], [ "FStar.OrdMap.update", @@ -61,7 +61,7 @@ "typing_FStar.OrdSet.singleton" ], 0, - "774ecd76658169e2aba850917ecddb3d" + "0c93dd226916074e44d8bcbafdaea532" ], [ "FStar.OrdMap.remove", @@ -96,7 +96,7 @@ "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m" ], 0, - "f9e8a61ff83f83451d2c2b6a2ddcb26a" + "95d79836413163e4aedd3cba2f1dab3d" ], [ "FStar.OrdMap.choose", @@ -132,21 +132,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e1ba89c57eb12590310acb18b871cb54" - ], - [ - "FStar.OrdMap.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "85f275be3a38a8336a7f770abc2f9e9e" + "3b670ca7fcbc0913f483ce7a09e19c88" ], [ "FStar.OrdMap.eq_intro", @@ -155,7 +141,7 @@ 1, [ "@query", "equation_FStar.OrdMap.equal" ], 0, - "f36ad1c546435abcb28d10ef6026b8c6" + "3c09808c2826067032b736444e199975" ], [ "FStar.OrdMap.eq_lemma", @@ -182,7 +168,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "f83f669dd593f55a339a849f61055413" + "d632596528bcab1bc998ea3dd773bd9e" ], [ "FStar.OrdMap.upd_order", @@ -223,7 +209,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "f46082afadebaab9a70a55ba38459c91" + "9c8ec12756f837d465763fe8071f0a46" ], [ "FStar.OrdMap.upd_same_k", @@ -255,7 +241,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "fa4dd0f76712cefbd3bdf3c4c0e9a98a" + "4823a727fb50e31f5b33240ce25b32e2" ], [ "FStar.OrdMap.sel_upd1", @@ -281,7 +267,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "96573ebcd8c704b272b0afa00fd09421" + "1ac991c5e1082bbdebf12fe4fb6dda18" ], [ "FStar.OrdMap.sel_upd2", @@ -317,7 +303,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "43aa9fb2990fc25b494689b53cd33a59" + "1adb03b5783cbe2ab3459b4c44270b17" ], [ "FStar.OrdMap.sel_empty", @@ -341,7 +327,7 @@ "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.select" ], 0, - "1ddc653e74fa2c4b41efab91ab84bd99" + "c33ea6d128ae666527b475c05c03c21d" ], [ "FStar.OrdMap.sel_contains", @@ -359,7 +345,7 @@ "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m" ], 0, - "d8aa6719eb7c3834f522be98ef64dd26" + "6d619858d93216fcbfafb5c3dbcd0c7f" ], [ "FStar.OrdMap.contains_upd1", @@ -377,7 +363,7 @@ "typing_FStar.OrdSet.singleton" ], 0, - "c4d08dea9df0c0320c85b338515a9927" + "c4abf9f2c235127fd2d5e34895bcfe37" ], [ "FStar.OrdMap.contains_upd2", @@ -393,7 +379,7 @@ "typing_FStar.OrdMap.contains" ], 0, - "4d9adf3d98251aac9b77751d95327d02" + "8afcf61d655b5a18f6aede7f271de822" ], [ "FStar.OrdMap.contains_empty", @@ -407,7 +393,7 @@ "projection_inverse_FStar.OrdMap.Mk_map_d" ], 0, - "62b8cbc1ddfff7feb367b022bcf76c92" + "641bdac4d2af4f8c3e28549078f19435" ], [ "FStar.OrdMap.contains_remove", @@ -424,7 +410,7 @@ "typing_FStar.OrdMap.__proj__Mk_map__item__d" ], 0, - "1749d289cc33cc0b8408305a640031b2" + "d038a4180c9c4f203fcc19b41e7f980e" ], [ "FStar.OrdMap.eq_remove", @@ -465,7 +451,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "07d7925afb64db29f5d8f4797bb45e76" + "63ff7050a8ff73101d9e4fe610be10b2" ], [ "FStar.OrdMap.choose_empty", @@ -493,7 +479,7 @@ "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty" ], 0, - "99552b838b2750f5fd404a581c1d9a41" + "ffcd9bb56db258bef6f0fbb76f27d95b" ], [ "FStar.OrdMap.dom_empty_helper", @@ -510,7 +496,7 @@ "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50" ], 0, - "86a5caeef890fb12b78232bd386c4aed" + "412c9a06fdbcac69aac25b8576f3ff9e" ], [ "FStar.OrdMap.dom_empty_helper", @@ -550,7 +536,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "14bbe07d879258b2379f8068d2abaa5d" + "4ddef6e4427977a40a469a544be49d58" ], [ "FStar.OrdMap.choose_m", @@ -559,7 +545,7 @@ 1, [ "@query" ], 0, - "1bf5163dfc383f06337d8faa8b9cfdb2" + "31abf4fa3fa35ddffe25fd5aecd14ce6" ], [ "FStar.OrdMap.choose_m", @@ -624,7 +610,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "5ed122652b2228d82f766379d2677933" + "d514998e8ab51dec724225f0dfdf882c" ], [ "FStar.OrdMap.size_empty", @@ -648,7 +634,7 @@ "typing_FStar.OrdMap.empty" ], 0, - "78af8d7e600f7e8ef3bfc179950d90b9" + "fbb4d03279bf522b7afe7477efe1550c" ], [ "FStar.OrdMap.size_remove", @@ -669,7 +655,7 @@ "typing_FStar.OrdMap.__proj__Mk_map__item__d" ], 0, - "b50ab7134fa807dac6bf8e26d3d19c6c" + "f1d6219891a96c2d48f5fa541f85ff49" ], [ "FStar.OrdMap.dom_lemma", @@ -681,7 +667,7 @@ "equation_FStar.OrdMap.dom" ], 0, - "0d5d28305db43e0eae40ac3768ae24b8" + "43207e4ba4d9999e683f5a251729defd" ], [ "FStar.OrdMap.contains_const_on", @@ -695,7 +681,7 @@ "projection_inverse_FStar.OrdMap.Mk_map_d" ], 0, - "8fb170d52ff994c2bdc383f5ed7a8d19" + "ca5fad5a347b80d0e2228fe3f3b5c822" ], [ "FStar.OrdMap.select_const_on", @@ -707,7 +693,7 @@ "typing_FStar.OrdMap.const_on" ], 0, - "153863a01b3ec18a2004e696d403442f" + "f82487ddfe749bb3fd55e814bdbbf2ca" ], [ "FStar.OrdMap.select_const_on", @@ -737,7 +723,7 @@ "typing_Tm_abs_f1479a1df6adf80103d303f836a579f7" ], 0, - "b76b3080dcc357a0f0aa6bf494371606" + "ced69e07a8cda6963895adeb15627853" ], [ "FStar.OrdMap.sel_rem1", @@ -765,7 +751,7 @@ "typing_FStar.OrdMap.remove", "typing_FStar.OrdMap.select" ], 0, - "f2e16cd926f9aced9fa436ed89d7b340" + "31858b01c2541d47e40d71b4a9577558" ], [ "FStar.OrdMap.sel_rem2", @@ -799,7 +785,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "78825206ceb2cae49f88a56c97168218" + "94a37312bcc08bba575c653d4598e176" ], [ "FStar.OrdMap.rem_upd", @@ -832,7 +818,7 @@ "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" ], 0, - "5ae79e96f0782427a4b819b85df546be" + "3d973a1b40d753118e43937025711e44" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdMap.fsti.hints b/ulib/.cache/FStar.OrdMap.fsti.hints index 20b03250233..9e70405c9af 100644 --- a/ulib/.cache/FStar.OrdMap.fsti.hints +++ b/ulib/.cache/FStar.OrdMap.fsti.hints @@ -11,7 +11,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "6f004c439a19553a1079d79cfe4541c7" + "b1cf248a35d7317506a90b3f4d326b3a" ], [ "FStar.OrdMap.dom", @@ -23,7 +23,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "5908fa6bb8d19a43b34feb4bf618db72" + "68fe91a27c4194158d563985bf60321c" ], [ "FStar.OrdMap.choose_m", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "c25d83afb7a4d14ee5cd3be83a1d6de8" + "383fa5e4d57cf4d6cbca99875aaafb6d" ], [ "FStar.OrdMap.dom_lemma", @@ -44,7 +44,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "67cdbeb12525808c0cff31d6dd19088f" + "a40f28a21df1b2dc67c452374c24822f" ], [ "FStar.OrdMap.contains_const_on", @@ -56,7 +56,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "1f26c9ecee82d9f1e3c997b3430a8404" + "fd45e3d5e76ef57162b5a6b2b358865f" ], [ "FStar.OrdMap.select_const_on", @@ -72,7 +72,7 @@ "typing_FStar.OrdMap.const_on" ], 0, - "a8fe13f88ede0e635a52b60f056df9af" + "d597e675de617751cb74e1bcbd9689ec" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdMapProps.fst.hints b/ulib/.cache/FStar.OrdMapProps.fst.hints index b78767cbcbd..50a8986dad8 100644 --- a/ulib/.cache/FStar.OrdMapProps.fst.hints +++ b/ulib/.cache/FStar.OrdMapProps.fst.hints @@ -39,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "27f1350983cf80e9abcf8545c07f2121" + "a21b2510a9e1c9d2b725bd628e314744" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdSet.fst.hints b/ulib/.cache/FStar.OrdSet.fst.hints index 5dd46c69fe8..b4fb122723b 100644 --- a/ulib/.cache/FStar.OrdSet.fst.hints +++ b/ulib/.cache/FStar.OrdSet.fst.hints @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "38a193a42bd72d6f3f0a54dae6c1fd41" + "77482b845ede9695ea3c656ebcd8fc4e" ], [ "FStar.OrdSet.hasEq_ordset", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed0359910d5b21a71c4e04418fb46d71" + "65e324e4c549d04195554dd26ae4dd5e" ], [ "FStar.OrdSet.simple_induction", @@ -61,7 +61,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "0d72d5744309ec0902910774a086686a" + "9417fea7c0b4e099a1647e698685e981" ], [ "FStar.OrdSet.simple_induction", @@ -94,7 +94,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "d6f9eb2fc890507738b0335c07626cdf" + "6864b4d1abb6341730ed3ee92766c537" ], [ "FStar.OrdSet.base_induction", @@ -116,7 +116,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "2001380b3fabf08318f94ba1f6fd162a" + "2fb1e590e11b2f135a15873df6724af4" ], [ "FStar.OrdSet.base_induction", @@ -157,7 +157,7 @@ "well-founded-ordering-on-nat" ], 0, - "0589f9c4a54be1b7ddedc28c008427aa" + "b380def05364c6774247539d72efc958" ], [ "FStar.OrdSet.empty", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a3750bfd316574460b8c7adae08dae4" + "133181c410f12b6be764251c855623d4" ], [ "FStar.OrdSet.tail", @@ -184,7 +184,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "d59a8caeb460ea2f619e8d6181526613" + "b8ae13300e683c7d08907200088355c1" ], [ "FStar.OrdSet.tail", @@ -193,7 +193,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "911dc239e588dfc25b3eebd8a2830deb" + "fa2a5f2e6400aca0d6998f752f651a65" ], [ "FStar.OrdSet.tail", @@ -217,7 +217,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "44870c379a4680af485e294c143cc049" + "6abe5e6993af09a578322400e00b7f40" ], [ "FStar.OrdSet.head", @@ -226,7 +226,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "b2f83ce94b8d17f76d0dbacceac4ea62" + "e3eef0c79af0ca21deae7a8cbf483948" ], [ "FStar.OrdSet.head", @@ -235,7 +235,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "b0a09cf7fb885d40c457d361cef3e9de" + "467777cad2d2a207aaa63a57f7054a2c" ], [ "FStar.OrdSet.head", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "f387beb4ea8d12d6f041c63103eded93" + "5efafe42d812213c6923e0f79896971e" ], [ "FStar.OrdSet.last_direct", @@ -260,7 +260,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "cfad4b68e282cee6c90153b47fc13157" + "d5d47d1ddd0ad3579cda94bcc74d014c" ], [ "FStar.OrdSet.last_direct", @@ -304,7 +304,7 @@ "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem" ], 0, - "0d585bf126854f9f4df5ce08fbde2060" + "bdee82f3da4c4c2029837e336d81c7df" ], [ "FStar.OrdSet.last_lib", @@ -313,7 +313,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "3dc1a9209a5ca9ea27d4917f26703bb8" + "0065a2345516465c6a06f22eb5fd298f" ], [ "FStar.OrdSet.last_lib", @@ -339,7 +339,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "c4a9d9587dbcb44cfb0c5aa09990a32d" + "a3a51f2b760617d1bfde042e6e9b41dd" ], [ "FStar.OrdSet.last_eq", @@ -348,7 +348,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "7b8f9fbd6ef18fb15ded69066b93a981" + "83c7dfb2a7b59058821b7d6b054ddd7b" ], [ "FStar.OrdSet.last_eq", @@ -396,7 +396,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "79d30c7721293c07f30dd2463794a315" + "c3b3b3c1db481229fe8f4d97715249f0" ], [ "FStar.OrdSet.last", @@ -405,7 +405,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "f3b208d5a83f43d0c8d3144a5d0b3158" + "2d07b014218099dc950119e5d5b31811" ], [ "FStar.OrdSet.last", @@ -414,7 +414,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "14d16a1d4d4e14cb19687194aa09f17b" + "c6f3e7c1a94283793f09c426dd61d5d5" ], [ "FStar.OrdSet.last", @@ -427,7 +427,7 @@ "typing_FStar.OrdSet.last_direct" ], 0, - "f1d48f96cb7e6e7e68eb0a9d28da1272" + "6e3fdf2894a992b64b79c9ccc09e5880" ], [ "FStar.OrdSet.liat_direct", @@ -471,7 +471,7 @@ "typing_FStar.OrdSet.mem" ], 0, - "be7892bbca09802371f1db0eda636d69" + "a79760f0740d7a7ebf9f482df4017005" ], [ "FStar.OrdSet.liat_direct", @@ -538,7 +538,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "738262aead0d914e6d51b8b0bfc6a59e" + "2ce7fdecbb69eecde938142641a7fca6" ], [ "FStar.OrdSet.liat_lib", @@ -547,7 +547,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "2e6b3b383705c8caf5bda38dbd0f8b74" + "1357c484346543c3185a648e2a9c673c" ], [ "FStar.OrdSet.liat_lib", @@ -573,7 +573,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "60c2ce90ef860480d46da77feaf1e10a" + "af7bddcb8ec7e972d8f9aec97684489a" ], [ "FStar.OrdSet.liat_eq", @@ -582,7 +582,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "6ebc431e85d6c4b299fac9bcbbe6d7dd" + "ac5dbc99a7d04286596b6657767f7bf1" ], [ "FStar.OrdSet.liat_eq", @@ -634,7 +634,7 @@ "typing_FStar.OrdSet.liat_direct", "unit_typing" ], 0, - "5f35ead2c594be8651b28bd20a4f7285" + "afd6e4a8cac73dc1d6e08a066c311efb" ], [ "FStar.OrdSet.liat", @@ -643,7 +643,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "a7d29d27af0e57ce4abac6cf03cbec2c" + "c0f0a3cdbda518eef35320f747b910fc" ], [ "FStar.OrdSet.liat", @@ -652,7 +652,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "52791e867d402f1501db470c04f3e932" + "7f524d50f69a405a1533536764e61b05" ], [ "FStar.OrdSet.liat", @@ -680,7 +680,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "1aa52dca2cc0888e4e27a2b99623d335" + "1000494c7ec67897f2650cf8b695d21c" ], [ "FStar.OrdSet.unsnoc", @@ -697,7 +697,7 @@ "typing_FStar.OrdSet.ordset" ], 0, - "2cc82b1459904f09b7ae7ee505cf4e15" + "12229e67792de3ab8f9b3f227f8bd43e" ], [ "FStar.OrdSet.unsnoc", @@ -706,7 +706,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "11e8d60e1563f71f473d5f5324d06442" + "a7fadf7d000a74351029ab1e1067424b" ], [ "FStar.OrdSet.unsnoc", @@ -740,7 +740,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "3d1ccb87e6910aefec23bd6e688d61e9" + "be7877a72063f3244c31e30eda282349" ], [ "FStar.OrdSet.as_list", @@ -749,7 +749,7 @@ 1, [ "@query", "equation_FStar.OrdSet.mem" ], 0, - "ac250deb8ff6bfdf2fa23c5e7af93a42" + "54ac3a9ba73191ebe68c0743258b5ab4" ], [ "FStar.OrdSet.insert'", @@ -764,7 +764,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "b83395c3bff601c953b6a5d69617c175" + "5c1280f47de69237c1a8fdfd2419f00a" ], [ "FStar.OrdSet.insert'", @@ -779,7 +779,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "004ee93c7e397c66e0780fd54b9cae6b" + "250e3f70305ae2e1e96c637b24539743" ], [ "FStar.OrdSet.insert'", @@ -818,7 +818,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "021c92d5c1371f15797ac1f5cca7dc70" + "41e3394e605fae1fe978023616f5750c" ], [ "FStar.OrdSet.distinct'", @@ -841,7 +841,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "0dacab3ef65fdb32a55009b1b8301012" + "2b6636c9853e170a982d85aea111f6a1" ], [ "FStar.OrdSet.insert_mem", @@ -882,7 +882,7 @@ "typing_FStar.OrdSet.mem" ], 0, - "3cae5230f48cc3cfc63f5d2cedec9619" + "3faa45ccbab9a7a775921727ff812da5" ], [ "FStar.OrdSet.insert_sub", @@ -926,7 +926,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "c9ea01de57c5591de7f69e1f36887711" + "a141324f1b611e5002db31305a5492bf" ], [ "FStar.OrdSet.distinct_props", @@ -957,7 +957,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "595fcdbaea6d903eb0d2cd975902c878" + "81c4bc04f3c66ea582ea36ef70281753" ], [ "FStar.OrdSet.distinct", @@ -966,7 +966,7 @@ 1, [ "@query" ], 0, - "6c16b838061ebcec2cab3329a09638c6" + "41457e4f87cf3bdf8c7cd5f9fb10cfc7" ], [ "FStar.OrdSet.union", @@ -995,7 +995,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "b9e4d9fd2d785eaad08850a858d04955" + "aa8fb342b2ebd9fab3d41e4440240f3a" ], [ "FStar.OrdSet.remove'", @@ -1009,7 +1009,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1a38606b4e968e0cbf72c178c8c170c7" + "025b6b8c153a6b78c6d0201d2d8e6162" ], [ "FStar.OrdSet.remove'", @@ -1023,7 +1023,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0c68c7b6b0d8137c75941df92b080c42" + "e12edc2e53e869ac2c4f770b0647f2ef" ], [ "FStar.OrdSet.remove'", @@ -1064,7 +1064,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "0b8df603a168cc0ce1f99101f011bf84" + "c297e0be2ef4b594f457ec54b07a4ffa" ], [ "FStar.OrdSet.liat_length", @@ -1073,7 +1073,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "1f4399692c1d22e79a378df49bf050f8" + "23b662c09764f86c3362d3f39a38d22b" ], [ "FStar.OrdSet.liat_length", @@ -1128,7 +1128,7 @@ "typing_FStar.OrdSet.liat_lib", "typing_FStar.OrdSet.mem" ], 0, - "73ee961cbbc44ad9c12464291a23241e" + "01eca27de14cd3772638ea1c595cf606" ], [ "FStar.OrdSet.not_mem_aux", @@ -1150,7 +1150,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "8c8dd70fe1fe82843fbd70ba4a4944be" + "a2bf3e26bb5aa1889070ddfd2b2f211e" ], [ "FStar.OrdSet.not_mem_aux", @@ -1200,7 +1200,7 @@ "typing_FStar.OrdSet.size_" ], 0, - "0d737f9f8f45fab02c379ec862b84d24" + "65c7c302579a7f8480dda719c0fa2704" ], [ "FStar.OrdSet.subset'", @@ -1232,7 +1232,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "cd551580b2c5fede6cc095f0359cfddc" + "0e8b2d676621f98dff8dccde9325b305" ], [ "FStar.OrdSet.tail_is_subset", @@ -1284,7 +1284,7 @@ "typing_FStar.OrdSet.subset_", "typing_Prims.__proj__Cons__item__tl" ], 0, - "a605a5361b03441689dc408476020c55" + "7a0eb63e367ce587756972c2d0e7dba1" ], [ "FStar.OrdSet.self_is_subset", @@ -1318,7 +1318,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "b3e34c334590caea3b8a9451603b6b07" + "78f251673a4da786438f5611fb0b0fd0" ], [ "FStar.OrdSet.remove_until_greater_than", @@ -1406,7 +1406,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "60bb5451286e1df93ce4e8523105a319" + "eb380145a05bca64bda236acef6e6ea3" ], [ "FStar.OrdSet.remove_until_gt_prop", @@ -1464,7 +1464,7 @@ "typing_FStar.Pervasives.Native.fst", "unit_inversion", "unit_typing" ], 0, - "2db3fa28969a97164b38c3d899fdefc4" + "39314cc5501e4252ded6463a249e4c56" ], [ "FStar.OrdSet.remove_until_gt_mem", @@ -1524,7 +1524,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "2f5fabfd0b987d09be6467383717c6ba" + "5164c9d13fc5b2224db7532699df145c" ], [ "FStar.OrdSet.mem_implies_f", @@ -1632,7 +1632,7 @@ "typing_FStar.Pervasives.Native.fst", "well-founded-ordering-on-nat" ], 0, - "32c95f3664e121231e1e424e45ac0744" + "4afa54eef7592832c2c6c102cff70fbf" ], [ "FStar.OrdSet.choose", @@ -1646,7 +1646,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "90e6f7a1a2736e32f7b2d595666949ea" + "965ed4eab14639a56fc8d6d23b74116a" ], [ "FStar.OrdSet.singleton", @@ -1667,7 +1667,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8dc64eec6614e63621dc38a81eaad71e" + "33b1a7f8d9fe7b671e92fbe6c1d45517" ], [ "FStar.OrdSet.mem_of_empty", @@ -1696,7 +1696,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "bba81ccd9e5f30057d5e12c31e667a3d" + "a14e04cc85e413a52ec8fe72dd381279" ], [ "FStar.OrdSet.mem_of_tail", @@ -1732,7 +1732,7 @@ "typing_FStar.OrdSet.size" ], 0, - "1dadd5d470e7f81ff664410a631493bc" + "1871a4dc1872b489ca11434f007d442a" ], [ "FStar.OrdSet.not_mem_of_tail", @@ -1776,7 +1776,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "b3bf9dcf30445634cfe1aec657144dc8" + "6d7d9040b0c86ecc8bd9463351a554d7" ], [ "FStar.OrdSet.set_props", @@ -1799,7 +1799,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "7d9ebf77534d87055d653d9c01192538" + "7bc21f102ea0da73bd65e01513cffb15" ], [ "FStar.OrdSet.set_props", @@ -1846,7 +1846,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "3c589d5aeceba3528e007d179dc2eff5" + "c1504db02ae54f9b2b05dc0404452d74" ], [ "FStar.OrdSet.same_members_means_eq", @@ -1897,7 +1897,7 @@ "typing_FStar.OrdSet.sorted", "unit_inversion", "unit_typing" ], 0, - "b96f49b3073027e804293bf5c2a86003" + "3146f31ceaf40bc953d7e9c605a300a9" ], [ "FStar.OrdSet.intersect_is_symmetric", @@ -1914,7 +1914,7 @@ "typing_FStar.OrdSet.smart_intersect" ], 0, - "9d59aae882c291e778450b4867122fc2" + "7c855fce7fa092f0fa1bfb30337859ef" ], [ "FStar.OrdSet.remove_until_gt_exclusion", @@ -1927,7 +1927,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "34da19f855b5ac8680cc9504dc645733" + "37ef9b37665a6e89666e80b5902d52af" ], [ "FStar.OrdSet.mem_implies_subset", @@ -1979,7 +1979,7 @@ "typing_FStar.OrdSet.subset", "unit_inversion", "unit_typing" ], 0, - "5f74751bb14e09f4ffcf9ac0dfc33957" + "9ee4e0506036c50937f3406610942794" ], [ "FStar.OrdSet.subset_implies_mem", @@ -2021,7 +2021,7 @@ "unit_inversion", "unit_typing" ], 0, - "b8b2f92c01f9ac2afa544a4fabba870b" + "a0fdfd46bdbe6d87bb1d8e25dac2ee95" ], [ "FStar.OrdSet.subset_transitivity", @@ -2030,7 +2030,7 @@ 1, [ "@query" ], 0, - "5f9a5c0de25ed364964ab17a96979f08" + "0653272148439ed319c7fe275520d3db" ], [ "FStar.OrdSet.head_is_never_in_tail", @@ -2061,7 +2061,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "6a9dd20d08d2bbc5c73a3710a79c7827" + "8003dac1bf1987abdebcb8da706b83ba" ], [ "FStar.OrdSet.smart_minus", @@ -2087,7 +2087,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "17604ef411037c521488c534b6a4ef0c" + "0a2c02a3819dcdb1c3f4b54619c3942e" ], [ "FStar.OrdSet.smart_minus", @@ -2150,7 +2150,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "9c3e55f3db9b72d9f80f4ee6cec8101e" + "bc118b211c584a4e5e92823c6aa41314" ], [ "FStar.OrdSet.empty_minus_means_subset", @@ -2188,7 +2188,7 @@ "typing_FStar.OrdSet.smart_minus" ], 0, - "3bd729f7dd5475bc8cf87eb39f07b2a3" + "7080a884a3965ea316a4802a01753f2b" ], [ "FStar.OrdSet.uu___585", @@ -2251,7 +2251,7 @@ "typing_FStar.OrdSet.size_", "typing_FStar.Pervasives.Native.fst" ], 0, - "64cb9c4a516ff0084329cf215bcdb11c" + "95a1c80826e9221da3a8911f61f90d15" ], [ "FStar.OrdSet.strict_subset", @@ -2260,7 +2260,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "4eb468f8fa4e55b5d2d352c273275674" + "0f1a172d2d13e8249151bf223d4fdf96" ], [ "FStar.OrdSet.disjoint", @@ -2269,21 +2269,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "9416b3b1e34143bd79bd927712972dfd" - ], - [ - "FStar.OrdSet.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "16891acecbe1ac896388ec735d583b14" + "50122002e898fc39285a6f6c4ff8db0f" ], [ "FStar.OrdSet.eq_lemma", @@ -2292,7 +2278,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "5e74fc5b3a1be4e2837c4e08b00c575a" + "1a879c56152a293918445501bd8abe3c" ], [ "FStar.OrdSet.eq_lemma", @@ -2301,7 +2287,7 @@ 1, [ "@query", "equation_FStar.OrdSet.equal" ], 0, - "42368a7cd22dab65c73d2e0a7a546421" + "73c2b2807c775411d7c8191270d3a7f0" ], [ "FStar.OrdSet.mem_empty", @@ -2321,7 +2307,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "da9098f6aaa545d32550f518c678f1d9" + "5d3b26498184f59fb7c424ab67d135b1" ], [ "FStar.OrdSet.mem_singleton", @@ -2344,7 +2330,7 @@ "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton" ], 0, - "c1d4d4ebfe11e03149e50b5744e0f6a4" + "04e0b97f4954a093f0816216df2bf022" ], [ "FStar.OrdSet.mem_insert", @@ -2388,7 +2374,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "4cef25bd145e933cd3c024a20f15c391" + "9304e22018ef79aecf50bdfc0a5cb502" ], [ "FStar.OrdSet.mem_union", @@ -2444,7 +2430,7 @@ "typing_FStar.OrdSet.union" ], 0, - "b0f363d7bb4397228244df8c977f9803" + "377917ed9a347ed193c5c4da85ff5155" ], [ "FStar.OrdSet.mem_intersect", @@ -2457,7 +2443,7 @@ "typing_FStar.OrdSet.smart_intersect" ], 0, - "8ab3a73b381d47bbad917d83860d1e4f" + "5b5e81af761d3fdec8dac52c5972559d" ], [ "FStar.OrdSet.mem_subset", @@ -2466,7 +2452,7 @@ 1, [ "@query" ], 0, - "9318599fe3884976f5c1d9b64f451e0d" + "0c267d78bde1853bd188ed0b752d8846" ], [ "FStar.OrdSet.choose_empty", @@ -2483,7 +2469,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "29be156365bbeb02d93f200aba609e1f" + "c3733465ac54bfc4687cb545293b6936" ], [ "FStar.OrdSet.choose_s", @@ -2492,7 +2478,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "13e68881850924007565d16f7c6e72fe" + "e9330361444135006655357ae711a6ba" ], [ "FStar.OrdSet.choose_s", @@ -2541,7 +2527,7 @@ "typing_FStar.OrdSet.singleton" ], 0, - "38919c4b72db25371ead4277c1033936" + "65b90c8f75259fc74b7bd1ae78cafa40" ], [ "FStar.OrdSet.mem_remove", @@ -2595,7 +2581,7 @@ "typing_FStar.OrdSet.remove_" ], 0, - "2e45d29aaa529afae9df7f91a9231f9b" + "c95f295b3f10175d00b046cafe3442e7" ], [ "FStar.OrdSet.eq_remove", @@ -2604,7 +2590,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "139e768d054e295494fd01c60c504495" + "2ee7d7c377197eb522f528b8564bb616" ], [ "FStar.OrdSet.eq_remove", @@ -2635,7 +2621,7 @@ "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted" ], 0, - "12cfe12cadcf0013de131fe520f08752" + "c81282e96414cbdcbd38684acf94f7f2" ], [ "FStar.OrdSet.size_empty", @@ -2644,7 +2630,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "44d29d23998ef9b9aff18abcc1864bce" + "ce6e875e870be2fd3b56d1efeee07b5e" ], [ "FStar.OrdSet.size_empty", @@ -2670,7 +2656,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "df16906acd3d7c617a910d33f6be6f5f" + "e85980603705bc2286cfb194429ee9ab" ], [ "FStar.OrdSet.size_remove", @@ -2718,7 +2704,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "32cacbad9936d62c8d4d5016e6b1fe23" + "12536edbed93c2456e20e7d838f92ab0" ], [ "FStar.OrdSet.size_singleton", @@ -2746,7 +2732,7 @@ "typing_FStar.OrdSet.size" ], 0, - "62f8c2331897e34ca2ab62b968968aed" + "5852bab81f9e1a6011ba3be1f1542cb8" ], [ "FStar.OrdSet.subset_size", @@ -2798,7 +2784,7 @@ "typing_FStar.OrdSet.subset", "unit_inversion", "unit_typing" ], 0, - "7bd0ca1e3ba23914c52868ba69a017ea" + "49ba1e33b7184016caad0ddc71de8ee1" ], [ "FStar.OrdSet.insert_when_already_exists", @@ -2839,7 +2825,7 @@ "typing_FStar.OrdSet.sorted", "typing_Prims.__proj__Cons__item__tl" ], 0, - "3deb39e7274de9d91c14f181009ba9b3" + "2a7d811f27a02ac48de137f59492a1d6" ], [ "FStar.OrdSet.size_insert", @@ -2881,7 +2867,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "4eb9988c922267a598c871d08e09654a" + "1776497c3a2eeaa37dbace485afa8e18" ], [ "FStar.OrdSet.precise_size_insert", @@ -2938,7 +2924,7 @@ "typing_FStar.OrdSet.size" ], 0, - "b7dc3d88bcd5617197307e618f743d86" + "0fc470e3bde47abdf8cbf2ef9f0682b1" ], [ "FStar.OrdSet.size_of_union_left", @@ -2974,7 +2960,7 @@ "unit_inversion", "unit_typing" ], 0, - "37f3049309a1131f8fa56e269e770675" + "eab28749897dad0732842babe445608d" ], [ "FStar.OrdSet.size_of_union_right", @@ -2996,7 +2982,7 @@ "typing_FStar.OrdSet.union" ], 0, - "841ec07372c479363d12d227eb9162de" + "ebb0239fb3f946bacf8ef8c76a6d41b7" ], [ "FStar.OrdSet.size_union", @@ -3015,7 +3001,7 @@ "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.union" ], 0, - "2a70d2e709d9997aabb10922aeb80835" + "7f2c265ea7c0a612a1ab7a368d0808fd" ], [ "FStar.OrdSet.map_internal", @@ -3024,7 +3010,7 @@ 1, [ "@query" ], 0, - "31c1fce9089005ad132ac4b45260c164" + "34130c73e983c5a79504b69ecb1039ad" ], [ "FStar.OrdSet.map_internal", @@ -3063,7 +3049,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "f8fd53fa21ebf13fde7b2d371c8d2616" + "d2905743182fdcd8bc7e7741fc778ce7" ], [ "FStar.OrdSet.map_size", @@ -3075,7 +3061,7 @@ "refinement_interpretation_Tm_refine_1e94bce33a339f4c3ac34abed8b95555" ], 0, - "4862f175498ad5c7712ce63edafbff3d" + "0d8c15c0a99d1f762b80db24405809cd" ], [ "FStar.OrdSet.map_size", @@ -3126,7 +3112,7 @@ "typing_FStar.OrdSet.map_internal", "typing_FStar.OrdSet.size" ], 0, - "02d5d3f37c0a259dc84c41dc0bc62218" + "e113ae3b5d94b521e3b74abf3ce2f152" ], [ "FStar.OrdSet.map_as_list", @@ -3138,7 +3124,7 @@ "refinement_interpretation_Tm_refine_1e94bce33a339f4c3ac34abed8b95555" ], 0, - "09b604f6c553cc30bfd212fb3c5da728" + "415ab07ebc91277bf7826789a539ce88" ], [ "FStar.OrdSet.map_as_list", @@ -3186,7 +3172,7 @@ "typing_FStar.OrdSet.as_list", "typing_FStar.OrdSet.map_internal" ], 0, - "3538500e1fcdc7e5f8ecfbc6e4c17ba2" + "72f770a2545a3f269f1d55b460a59261" ], [ "FStar.OrdSet.map", @@ -3195,7 +3181,7 @@ 1, [ "@query" ], 0, - "3085ffcc03264a6737e82e119ab9bfa3" + "bb380cdaed56a2e494bb6e5f3221abae" ], [ "FStar.OrdSet.map", @@ -3217,7 +3203,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "2c6282144d1ec774f7b979d089992adb" + "50adb6def4b433c0e2eba7a0d678ede5" ], [ "FStar.OrdSet.lemma_strict_subset_size", @@ -3249,7 +3235,7 @@ "typing_FStar.OrdSet.subset" ], 0, - "7eef46293c56dceecc9ceb0815df61a6" + "c091f96d30e0f2c4cda0c1c96ed8b41f" ], [ "FStar.OrdSet.lemma_minus_mem", @@ -3262,7 +3248,7 @@ "typing_FStar.OrdSet.smart_minus" ], 0, - "987e1e0cf7376d9ffba5172700064b60" + "558255d426c65cd0db6c9662200f02bd" ], [ "FStar.OrdSet.strict_subset_implies_diff_element", @@ -3330,7 +3316,7 @@ "unit_inversion", "unit_typing" ], 0, - "e836de24a52d51abe49eb8162089e142" + "1157bdf7949490176c8e2a2e190d0828" ], [ "FStar.OrdSet.diff_element_implies_strict_subset", @@ -3348,7 +3334,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ce73869691562e254748419f893baf64" + "2648945c13d22209ce1a0a30730ac203" ], [ "FStar.OrdSet.lemma_strict_subset_exists_diff", @@ -3365,7 +3351,7 @@ "typing_FStar.OrdSet.subset" ], 0, - "956d95fb482c4be649af38189b10f1c9" + "5692ce7c967c0cf7cd0b80363fb3df22" ], [ "FStar.OrdSet.inv", @@ -3379,7 +3365,7 @@ "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0" ], 0, - "ba3d255859b1eeb7e0a52c19bdd30df8" + "9d242ceb078673aba87b229096e65b75" ], [ "FStar.OrdSet.count", @@ -3410,7 +3396,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "f94972d8acba62d8183eb2c53d82cd49" + "1b195da8735cf9326ec9989fe63c56f5" ], [ "FStar.OrdSet.count_of_empty", @@ -3431,7 +3417,7 @@ "refinement_interpretation_Tm_refine_d4800b78396c98d3eb75249d3432516c" ], 0, - "fb819fa5285bb40ad5f98d9c33f15135" + "cc46c2c11d4852f01dd59714423dbce0" ], [ "FStar.OrdSet.count_of_impossible", @@ -3458,7 +3444,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "f9ff3bfaaea880f53f6b1c42e7b8fde5" + "e5677ceb599e6de702375fef559a45b3" ], [ "FStar.OrdSet.count_all", @@ -3472,7 +3458,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7799e4e0edf1e07ac857fba219dcc845" + "5a81c1ee0cff59735f819a648635f5cb" ], [ "FStar.OrdSet.count_all", @@ -3507,7 +3493,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "3541a4bc9e7050c53e540ccfc7cb6e93" + "2531000e08770154a2c9b928182592fe" ], [ "FStar.OrdSet.count_of_cons", @@ -3524,7 +3510,7 @@ "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" ], 0, - "8b90baef170437c24ef878dd955ad5d3" + "a630f549fb99e569b09b341e7cf0e9cf" ], [ "FStar.OrdSet.count_of_cons", @@ -3541,7 +3527,7 @@ "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" ], 0, - "9199096510e2f9eb05103f069372766f" + "0f1b57f1f005015d543560378aef51a2" ], [ "FStar.OrdSet.count_of_cons", @@ -3586,7 +3572,7 @@ "typing_FStar.OrdSet.count", "typing_FStar.OrdSet.size" ], 0, - "b6bf057dd2f317106ab8fcb3a4731709" + "943474e08dd407effdf58095c55f17a0" ], [ "FStar.OrdSet.all", @@ -3615,7 +3601,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "e14c3dbd7dc669579738c78afe54f345" + "b388e749f21f6a56741b6933e4a2c2f7" ], [ "FStar.OrdSet.any", @@ -3647,7 +3633,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "d48e0154551f40c0d2753b1d612cd56c" + "635f65c84d7e5af31e51bba4eb4f18e4" ], [ "FStar.OrdSet.mem_if_any", @@ -3684,7 +3670,7 @@ "typing_FStar.OrdSet.mem" ], 0, - "43a9638cbd615d0c3ca6e6d8546268ba" + "1bafdf8adee8095422049c826cfbf346" ], [ "FStar.OrdSet.any_if_mem", @@ -3714,7 +3700,7 @@ "typing_FStar.OrdSet.any", "typing_FStar.OrdSet.mem" ], 0, - "d9587eff8f1c2b0c97fe778a0e66af8a" + "67a77611e201df127f58460c2076de5b" ], [ "FStar.OrdSet.all_means_not_any_not", @@ -3747,7 +3733,7 @@ "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "90ed75f6ddf4e9c3067279687f13f740" + "03edc39237eca9ca4450a25e38dcd1fc" ], [ "FStar.OrdSet.find_first", @@ -3776,7 +3762,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "c3c81b9b601dbdc68996c4cfb7987645" + "54f8d79c6fbe9046eaf1ac8e5c12a6d0" ], [ "FStar.OrdSet.find_first_is_some_iff_any", @@ -3815,7 +3801,7 @@ "typing_FStar.OrdSet.any", "typing_FStar.OrdSet.find_first" ], 0, - "689931de525e726fbbbb02a74e7df5df" + "fc1ef1f523ab34a54571f719da021549" ], [ "FStar.OrdSet.find_first_precedes_any_other", @@ -3866,7 +3852,7 @@ "typing_FStar.OrdSet.find_first", "typing_FStar.OrdSet.mem" ], 0, - "6ce12eb1e086a7d2828ebb92ab99b799" + "16935e44dc7e20671b13bbdf2acf316e" ], [ "FStar.OrdSet.liat_size", @@ -3875,7 +3861,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "4fe45c76c411eb7f0cf26c4dcf2c5846" + "b205e6d92b48abdf89da13df53bb89d8" ], [ "FStar.OrdSet.liat_size", @@ -3889,7 +3875,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66b0083e11111884ad9297859130c495" + "672278a14caa6bb5c67a0ac300f994da" ], [ "FStar.OrdSet.liat_size", @@ -3941,7 +3927,7 @@ "typing_FStar.OrdSet.liat_lib", "typing_FStar.OrdSet.tail" ], 0, - "b7dd73c558e241aadb86fdc2401ee73f" + "c53b44b85e883550859f9fe85bc0dc12" ], [ "FStar.OrdSet.mem_liat", @@ -3950,7 +3936,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "1ffc6fb80f2c893d62576b6e3deb2a8a" + "206b05f67e4ba9d8ebfc6318d4f4eb1c" ], [ "FStar.OrdSet.mem_liat", @@ -3964,7 +3950,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "54d86150519a38fc7a249214356857fc" + "226771313d80b08cbce5c86144658c9d" ], [ "FStar.OrdSet.mem_liat", @@ -3991,7 +3977,7 @@ "typing_FStar.OrdSet.liat", "typing_FStar.OrdSet.mem" ], 0, - "899cef5ed1cb3b56c1e434b4e5af5584" + "bf70e5c4ade88a57603d3765b6ea286e" ], [ "FStar.OrdSet.any_liat", @@ -4000,7 +3986,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "e449a791b802696a4daa7925990180de" + "f1765727c77e652ddb5980d03b3149dc" ], [ "FStar.OrdSet.any_liat", @@ -4014,7 +4000,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2eaec9be08c2359aca8af4fd1613191" + "d4d91851331af03e8fbd92e2ab7979be" ], [ "FStar.OrdSet.any_liat", @@ -4091,7 +4077,7 @@ "unit_inversion", "unit_typing" ], 0, - "f6a949aff1365086742b2e06b4526ce0" + "8da7d04c16c73c1a012a20995431a95b" ], [ "FStar.OrdSet.find_last'", @@ -4116,7 +4102,7 @@ "well-founded-ordering-on-nat" ], 0, - "00c4abe97daff9f4e32d98475b0c7a1d" + "04186e6a0e60166dff81af03188866f7" ], [ "FStar.OrdSet.find_last_props", @@ -4135,7 +4121,7 @@ "typing_FStar.OrdSet.find_last_" ], 0, - "62319996596abb9c84f3f423709e3b18" + "d73b494ed5a0dd94d843f79a67c4cbb1" ], [ "FStar.OrdSet.find_last_props", @@ -4208,7 +4194,7 @@ "well-founded-ordering-on-nat" ], 0, - "0b571b447498909a518c269ff84f6be6" + "10cb29e8d3a6fe2b8002cd320c558607" ], [ "FStar.OrdSet.find_last", @@ -4221,7 +4207,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d30a6e6a32aab278b8ac613f9779c146" + "53017d924e9b2cc920df020bae5dedf8" ], [ "FStar.OrdSet.find_last", @@ -4230,7 +4216,7 @@ 1, [ "@query" ], 0, - "66fdca3ba65207c15c61b890623dfe89" + "4117496c088d106305638c9c479b7989" ], [ "FStar.OrdSet.find_last_is_some_iff_any", @@ -4244,7 +4230,7 @@ "equation_FStar.OrdSet.find_last", "typing_FStar.OrdSet.any" ], 0, - "fa44aa574d6643b11b2dd8e1c4142a96" + "0e73f7f695405b6d5dcb094f82cf6c76" ], [ "FStar.OrdSet.find_last_follows_any_other", @@ -4253,7 +4239,7 @@ 1, [ "@query" ], 0, - "8eae7d304475e4a8d4bde01ef90d1fea" + "4af3ff0d582a24b2053ea968cb087879" ], [ "FStar.OrdSet.find_last_follows_any_other", @@ -4266,7 +4252,7 @@ "refinement_interpretation_Tm_refine_3feaf3c0104236703ca652ec348cfba0" ], 0, - "39856869a372e5d27bed0c2f238e6397" + "341db1322a9304ae25c463ef6408d314" ], [ "FStar.OrdSet.size_of_tail", @@ -4281,7 +4267,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "e9e665a7979ec18b393a8623eb157554" + "d72d5994a4434addf9fdb15f14a8966f" ], [ "FStar.OrdSet.size_of_tail", @@ -4302,7 +4288,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "f851ba98ac61428f99eac4d951762009" + "feae9f2850e0b6f81e393a83f0b6ff98" ], [ "FStar.OrdSet.count_of_tail", @@ -4345,7 +4331,7 @@ "typing_Tm_abs_cba426c79607643cdc592859d5d1dca2" ], 0, - "2d6c5afe82181de4bb96079532402d67" + "853764d7b1fc57d0d2fe6a5c19ca3553" ], [ "FStar.OrdSet.count_of_tail", @@ -4380,7 +4366,7 @@ "typing_FStar.OrdSet.tail" ], 0, - "8b1487a918c1b13fcf598b62a08b4146" + "3d8154e71aac806145f0d50024458953" ], [ "FStar.OrdSet.where", @@ -4402,7 +4388,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "cfc171dcff6a3523887f2298adabde32" + "7239df72662b180423abb2cf833f1db1" ], [ "FStar.OrdSet.where", @@ -4464,7 +4450,7 @@ "typing_FStar.OrdSet.where" ], 0, - "a5800cbc3201bef2bcb64abdda89d1a8" + "23a307fbd77bbb7b7d5f9686fdacfe2c" ], [ "FStar.OrdSet.where", @@ -4527,7 +4513,7 @@ "typing_Prims.__proj__Cons__item__tl", "typing_Prims.uu___is_Nil" ], 0, - "9efe0f3271a3d5df2d7c2e40d5122ad3" + "c8c3c467eae909961e9462d4f9b4ea9a" ], [ "FStar.OrdSet.intersect_eq_where", @@ -4542,7 +4528,7 @@ "typing_FStar.OrdSet.smart_intersect" ], 0, - "a015ccfdadf6148874b7eb9bc3eac9de" + "b7e0607c7af259b026bdda1a2b3b3d82" ], [ "FStar.OrdSet.intersect_eq_where", @@ -4551,7 +4537,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.mem_intersect" ], 0, - "9dd21298cf49b3769ec0d3c28f9052b8" + "8d91ade8dcac449ca9ef51d9b8834070" ], [ "FStar.OrdSet.minus_eq_where", @@ -4579,7 +4565,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "13126f7b0103954cec50354b70a4179e" + "db52884de4cfe180509500e7aa761611" ], [ "FStar.OrdSet.minus_eq_where", @@ -4594,7 +4580,7 @@ "lemma_FStar.OrdSet.lemma_minus_mem" ], 0, - "0644a8b951ce81ddf685cf9183e849f5" + "cb50454ba7dde2283f0470ef05e2ed7c" ], [ "FStar.OrdSet.count_is_size_of_where", @@ -4608,7 +4594,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f279e883a8dd0bed9be17d655616871a" + "b28d4fc9c2d645960f2c595fad898871" ], [ "FStar.OrdSet.count_is_size_of_where", @@ -4655,7 +4641,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "d0f266deae0456bddf999c8a5ad00d64" + "30d1710d53d68138ef32be52e0116b03" ], [ "FStar.OrdSet.size_of_intersect", @@ -4669,7 +4655,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d0a3d7b7d36e5105367bee658b6aabcd" + "16a3258434663c2d95a6f5a472c0c564" ], [ "FStar.OrdSet.size_of_intersect", @@ -4678,7 +4664,7 @@ 1, [ "@query" ], 0, - "45ef0b8dc94948e856d31c1f8b1683a7" + "25fe47600ac26e1470d1605ba78e3261" ], [ "FStar.OrdSet.union_with_empty", @@ -4705,7 +4691,7 @@ "typing_FStar.OrdSet.union" ], 0, - "1be940afd0c3baea666c11ce5f9552a2" + "05db2a9f69083ab87ba890d188276ad3" ], [ "FStar.OrdSet.union_head_lemma", @@ -4773,7 +4759,7 @@ "typing_Prims.__proj__Cons__item__hd" ], 0, - "4c6189643992f68ff605a013d3b9d358" + "98b57dd1efff97de74be5a9423ac4b36" ], [ "FStar.OrdSet.union_sort_lemma", @@ -4820,7 +4806,7 @@ "typing_FStar.OrdSet.union", "unit_inversion", "unit_typing" ], 0, - "1c0b18abde8fc9398a71b63e98fcc65c" + "30a6e3fc70dc7a04cf7db41c461949db" ], [ "FStar.OrdSet.union_with_prefix", @@ -4859,7 +4845,7 @@ "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.union" ], 0, - "9cfdc139e5e9aaa709c688a907a8e348" + "fb1848b86be0c1b33f8a428f9e2062a7" ], [ "FStar.OrdSet.union_of_tails_size", @@ -4916,7 +4902,7 @@ "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.union" ], 0, - "7c5f394aafabd1e1b65786688706e790" + "27997085c568c5f618feff18bcdd2a57" ], [ "FStar.OrdSet.union_is_symmetric", @@ -4933,7 +4919,7 @@ "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union" ], 0, - "35d9d5151eedb02d1ba2f8ac972780fd" + "5bedb1a7aeafbc1a9bad550cfac94d85" ], [ "FStar.OrdSet.size_of_union_aux_1", @@ -4942,7 +4928,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "f1167112364a14f5752fe776b88a3d21" + "333c9d7c5f579d985cc314859a4ad4ed" ], [ "FStar.OrdSet.size_of_union_aux_1", @@ -5010,7 +4996,7 @@ "typing_FStar.OrdSet.union" ], 0, - "9273069d9a6d64508ddca781efd40f8a" + "f249b78bac9140513a382f9f8f230087" ], [ "FStar.OrdSet.size_of_union_aux_2", @@ -5019,7 +5005,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "a05b48c28c6436c8157b9b7cb4309d57" + "f36eeab7babb39ccf974e506ec4db7db" ], [ "FStar.OrdSet.size_of_union_aux_2", @@ -5045,7 +5031,7 @@ "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.tail" ], 0, - "7f2f3feb3971136efdfdd7b4fceac094" + "adf9efc681b0924ec344766101a53ae2" ], [ "FStar.OrdSet.size_of_union", @@ -5130,7 +5116,7 @@ "unit_inversion", "unit_typing" ], 0, - "89172d632196b4dd74b8a8bf6fc9b942" + "3dc0a5ff9469891c4fe17977056dfd24" ], [ "FStar.OrdSet.count_dichotomy", @@ -5180,7 +5166,7 @@ "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "48e88fede059080eb9ef62ab5c3bb81a" + "7a21965a77b68b64712bd4b251b8321b" ], [ "FStar.OrdSet.size_of_minus", @@ -5203,7 +5189,7 @@ "typing_FStar.OrdSet.minus", "typing_FStar.OrdSet.size" ], 0, - "c61a7c081cef8ba164cbc08d33d4f9f5" + "7b6eba1027ee68dcc409916b7d18f796" ], [ "FStar.OrdSet.intersect_with_subset", @@ -5227,7 +5213,7 @@ "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.smart_intersect" ], 0, - "30098c53406ce2a61502d7ae68843731" + "c2406ebe03d7f95fe3f951157b21d849" ], [ "FStar.OrdSet.intersect_with_subset", @@ -5246,7 +5232,7 @@ "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem" ], 0, - "c3ce9023a528ec0016012b2745dfe350" + "96862e4a9866242d0b8429d07967253b" ], [ "FStar.OrdSet.lemma_strict_subset_minus_size", @@ -5260,7 +5246,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "bcda7538ba451f8b7ddfae076ac4d433" + "2a5f6bada77f6a0ce8cf19720f9e68f2" ], [ "FStar.OrdSet.lemma_disjoint_union_subset", @@ -5295,7 +5281,7 @@ "typing_FStar.OrdSet.union" ], 0, - "22fecdac20a9f4650e909414c23ff089" + "c8c3b8fdb9f208d08ff973d2254f46e1" ], [ "FStar.OrdSet.lemma_subset_union", @@ -5315,7 +5301,7 @@ "typing_FStar.OrdSet.union" ], 0, - "760cc8ce2d8291d28138436e106be961" + "024e0e5391e345f8f0b9365e113a4de0" ], [ "FStar.OrdSet.lemma_strict_subset_transitive", @@ -5333,7 +5319,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "a000fe067af338b2c7820f8bf28c6ab2" + "ff5ebefaf57ea6de3d0a6457b47c6911" ], [ "FStar.OrdSet.lemma_intersect_symmetric", @@ -5356,7 +5342,7 @@ "typing_FStar.OrdSet.intersect" ], 0, - "e34ed27d5a3e4c379b5ce36ca030845b" + "ab1dce5c0226c9ecfacadbbc3a8a1e1e" ], [ "FStar.OrdSet.lemma_intersect_union_empty_aux1", @@ -5384,7 +5370,7 @@ "typing_FStar.OrdSet.union" ], 0, - "d30220c171924328b553f7eabd8f3f35" + "71a4a6841e1320150c9e8423188e791d" ], [ "FStar.OrdSet.lemma_intersect_union_empty_aux2", @@ -5414,7 +5400,7 @@ "typing_FStar.OrdSet.smart_intersect", "typing_FStar.OrdSet.union" ], 0, - "132a33583899bd237a5858f9cff0ae65" + "4df538c2c8cc1fce509e3d356f3c3112" ], [ "FStar.OrdSet.lemma_intersect_union_empty", @@ -5423,7 +5409,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "aed17d231a8b414dbbafce419661c616" + "adfe0511cb53777699b349500d34a3ea" ], [ "FStar.OrdSet.lemma_intersect_union_empty", @@ -5436,7 +5422,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "cd2df792e9714d682148cb95518129d3" + "1e8bca632b122e57440aa41ece554d17" ], [ "FStar.OrdSet.lemma_union_symmetric", @@ -5458,7 +5444,7 @@ "typing_FStar.OrdSet.union" ], 0, - "21cf17fb3820c6cc838fd9c6df403f4d" + "3760932f97e39d775b847059d73575f9" ], [ "FStar.OrdSet.union_of_disjoint", @@ -5490,7 +5476,7 @@ "typing_FStar.OrdSet.union" ], 0, - "6a5e91498caabd7bbb099638b8130473" + "c655f220b3e2e0dfa40fd4b7344756ed" ], [ "FStar.OrdSet.distinct_is_idempotent", @@ -5499,7 +5485,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "94928be69a4420b8ed63e5fe51020ac0" + "628fc195adad65c83496b3fffd85603f" ], [ "FStar.OrdSet.distinct_is_idempotent", @@ -5511,7 +5497,7 @@ "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.mem" ], 0, - "716a0b2c912ff17f7a44bc4da4e34a1b" + "5023445f8e408a63c2a173cdd281ed31" ], [ "FStar.OrdSet.as_set", @@ -5540,7 +5526,7 @@ "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" ], 0, - "4c2c70f4faa415a49f41b8cecd3a17f9" + "c04071bc582b1c8e3ba1e7f3f677a15c" ], [ "FStar.OrdSet.lemma_as_set_mem", @@ -5583,7 +5569,7 @@ "unit_inversion", "unit_typing" ], 0, - "0c6b61e8ce4bf28fc3d473d1cec79baa" + "c60127d3dd30ce8120cb475200e787fd" ], [ "FStar.OrdSet.lemma_as_set_disjoint_right", @@ -5608,7 +5594,7 @@ "typing_FStar.Set.mem" ], 0, - "ff1c7fa391c8e8804f0d2c1044350d51" + "8c1beb041ef3cf337bd0714a3c7584cb" ], [ "FStar.OrdSet.lemma_as_set_disjoint_left", @@ -5652,7 +5638,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "20902573ff283b5099949067cb841d3c" + "049a6a66fd8eec8f406e2cb911505fe7" ], [ "FStar.OrdSet.lemma_as_set_disjoint", @@ -5710,7 +5696,7 @@ "typing_FStar.Set.singleton", "unit_inversion", "unit_typing" ], 0, - "f2ed63f13547db8aac77473052dce35a" + "e945bec59e02b453aa9d07c0c88b99ec" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdSet.fsti.hints b/ulib/.cache/FStar.OrdSet.fsti.hints index 91260911507..b06e8da5f7d 100644 --- a/ulib/.cache/FStar.OrdSet.fsti.hints +++ b/ulib/.cache/FStar.OrdSet.fsti.hints @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "676744a26c90ecf5aba8a26a9d43945a" + "7480be3da134de3ad768985018808cbd" ], [ "FStar.OrdSet.tail", @@ -29,7 +29,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "9dfe7d6944b2db53b87f43cc8cea84b9" + "ace30cc0f108a74357531b45068f67bd" ], [ "FStar.OrdSet.head", @@ -38,7 +38,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "275c04466bc97583ec0698a1a374afbb" + "6d6daf0e203a62008946a98e6bc8fda5" ], [ "FStar.OrdSet.last", @@ -47,7 +47,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "768c6d025c4ef7383c03e7fb0f127994" + "b2c8ec5f1ad20abebd65ed222289dd6e" ], [ "FStar.OrdSet.liat", @@ -56,7 +56,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "49eeb9688176ed92e8cf681f7b5d4e34" + "ae1ebb92d463be4ef7b2aa77f56e0d9f" ], [ "FStar.OrdSet.unsnoc", @@ -73,7 +73,7 @@ "typing_FStar.OrdSet.ordset" ], 0, - "13a16a61dfe440b975dbc2585055ff5f" + "4ff1acd0728311d436c82f23f78bd464" ], [ "FStar.OrdSet.disjoint", @@ -82,21 +82,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "754833e2518d8de93957e0a9285585a2" - ], - [ - "FStar.OrdSet.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "fe3adf36183b986ebbb6a0748cbd0f53" + "2eb8f55df6c2afea15f3442c2514f15e" ], [ "FStar.OrdSet.eq_lemma", @@ -105,7 +91,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "ca42e6d523f7acb6b4f142cb90c832f0" + "fe92184982950697e5836021145a477e" ], [ "FStar.OrdSet.choose_s", @@ -114,7 +100,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "0733228511c271a8a4342b1fd232ea82" + "c4686b857942a789ab4c8f2ca119cf4f" ], [ "FStar.OrdSet.eq_remove", @@ -123,7 +109,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "38a20e1cc960616e0ede305f98266da6" + "350148f50bc0f99921891d5dcfbfceaa" ], [ "FStar.OrdSet.size_empty", @@ -132,7 +118,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "005b3f94ba77a9e34e60c779d1216b10" + "ca0e6f086db7233ae49912c07e6ab185" ], [ "FStar.OrdSet.map", @@ -141,7 +127,7 @@ 1, [ "@query" ], 0, - "2518189ef4b87d68018bf88df3073081" + "7ac3695467d7693c24863e2969af5957" ], [ "FStar.OrdSet.inv", @@ -155,7 +141,7 @@ "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0" ], 0, - "a40e9ed2676bf5f8aacdd82c4aa255ce" + "4bb6f2020715a2a5ec7009d0e380b397" ], [ "FStar.OrdSet.count_all", @@ -169,7 +155,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "58512c8a7c7776405df6f3a9f65d6e3c" + "4ebd203f437f4e0e35f692d3c176bafd" ], [ "FStar.OrdSet.count_of_cons", @@ -185,7 +171,7 @@ "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" ], 0, - "5ace7b3f04dbd4df4b5b1e459836b321" + "488863ed2b375f23b70ffea10b0cc1b5" ], [ "FStar.OrdSet.liat_size", @@ -194,7 +180,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "8be203d4b0a9229e7c2ee4704ed632ae" + "f7fbbc992161396723d40404ab239028" ], [ "FStar.OrdSet.mem_liat", @@ -203,7 +189,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "55601274b59a0a870654869afd59b5a5" + "45a47bb5846ea74577c7b6a5cdf474ac" ], [ "FStar.OrdSet.any_liat", @@ -212,7 +198,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "474f4f1a5c34f1e7116001d23ebec066" + "caaa0b4e215fe4abfdb291b6adb750b3" ], [ "FStar.OrdSet.find_last", @@ -225,7 +211,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "731550332cee5c4dcfe40f7986f0095a" + "6e9a441a117ccf9b614c48ec2a7963fa" ], [ "FStar.OrdSet.find_last_follows_any_other", @@ -234,7 +220,7 @@ 1, [ "@query" ], 0, - "5369835bd559f55a5c91844c99fc1960" + "1cf0f1bd00ba9f5b18180c5b7e1b9603" ], [ "FStar.OrdSet.size_of_tail", @@ -247,7 +233,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "dd68ed336be464d27b6aa0997c816259" + "c01a34c456abb3666ef447bce0c33083" ], [ "FStar.OrdSet.count_of_tail", @@ -263,7 +249,7 @@ "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" ], 0, - "fcd8a64f78b15c98f2da61186135d27d" + "eda1a48ac246674bd2ba6558274c3cc9" ], [ "FStar.OrdSet.where", @@ -279,7 +265,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0e867e3240cb56fddf3844c555080bbb" + "a669433a00f507c655cdab8dcba30163" ], [ "FStar.OrdSet.intersect_eq_where", @@ -288,7 +274,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "799b065531519975a1d3f636d975f27a" + "b18651caf89f6e3882b3a3ac727490b2" ], [ "FStar.OrdSet.minus_eq_where", @@ -297,7 +283,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "fd8155693db59e536564e7aabda5b212" + "ec3a4b7f9577a1a02f4211e3635c88ce" ], [ "FStar.OrdSet.count_is_size_of_where", @@ -311,7 +297,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a13c8141d69a57ceb0e66a554aacad9" + "acce86452cd3b51b841002cdf715d117" ], [ "FStar.OrdSet.size_of_intersect", @@ -325,7 +311,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "210226cc426af006e07a665d23b69a30" + "50e525a772f3e67f8bdb4f2a382706f8" ], [ "FStar.OrdSet.intersect_with_subset", @@ -334,7 +320,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "95c17a678aacdcfdf4d7bd795e4aa7ee" + "ede03a4b4d4d3deb479c83b1ca34d3cd" ], [ "FStar.OrdSet.lemma_intersect_union_empty", @@ -343,7 +329,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "f7d36c59c3cee91f9d9a846f71d4fe93" + "50bf77bf87a73487b5aa1a8e1db006ec" ], [ "FStar.OrdSet.distinct_is_idempotent", @@ -352,7 +338,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "c3699650c3575348c95d9f9ef3ea1709" + "c245c2eb3f1f54eb7e128d38cc9cfc70" ], [ "FStar.OrdSet.lemma_as_set_disjoint", @@ -361,7 +347,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "c9522402d4616f964daeb59228eb4508" + "36eb2e40241920ba7ca4f6e69b187748" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.OrdSetProps.fst.hints b/ulib/.cache/FStar.OrdSetProps.fst.hints index d89ad112672..4693788de06 100644 --- a/ulib/.cache/FStar.OrdSetProps.fst.hints +++ b/ulib/.cache/FStar.OrdSetProps.fst.hints @@ -33,7 +33,7 @@ "well-founded-ordering-on-nat" ], 0, - "c915db34e4012a1ca491a2820ea8d6c2" + "d66843cea5ec0e04c170168d1d4df471" ], [ "FStar.OrdSetProps.union_lemma", @@ -82,7 +82,7 @@ "well-founded-ordering-on-nat" ], 0, - "521dc5f4ffc5ac883e2987f84f3b64d7" + "d7258630672dc64da85dc9f2b78dd653" ], [ "FStar.OrdSetProps.union_lemma'", @@ -91,7 +91,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "7b82af456ce79b93b2511ae19a5b38b4" + "dbb3c11264d1918d649cee78e213dd1f" ], [ "FStar.OrdSetProps.union_lemma'", @@ -100,7 +100,7 @@ 1, [ "@query", "equation_FStar.OrdSet.equal" ], 0, - "6b75136b6812ff1a3bcbc16ddc00a58e" + "8c593dc2c398b40105dd99a890ec2b34" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Order.fst.hints b/ulib/.cache/FStar.Order.fst.hints index aa756078b46..ca284f7cf8e 100644 --- a/ulib/.cache/FStar.Order.fst.hints +++ b/ulib/.cache/FStar.Order.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "cd3c0b67d2e05a9017c8b43dc4e8b7c3" + "fbf4b89ad8d0e1f2a7a4cfb4aae5c6fe" ], [ "FStar.Order.le", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "cadf4c2236ca1bee3f8206c92c87fdda" + "b0f26463bfa0fb9afcfd51e2faac4f53" ], [ "FStar.Order.ne", @@ -26,7 +26,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "9bef3a729527d992c1b04590c0769db8" + "f2c760125ede054580fa3e0f4828c070" ], [ "FStar.Order.gt", @@ -35,7 +35,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "f53e85f03b79c81909a34f22b6eaa3e4" + "0a44ac6ee0d31fdf93d70b13ac3419af" ], [ "FStar.Order.lt", @@ -44,7 +44,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "272f7a798c827ea1867c5b5100f53652" + "5afa5241ff506bee547e823fa9a5b786" ], [ "FStar.Order.eq", @@ -53,7 +53,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "a4e34484b1832045ebefb5d3601d5414" + "7dc7458f14bf980439643ef0c52aa685" ], [ "FStar.Order.lex", @@ -66,7 +66,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "ac3d0d1244c86defd1dd5951805d0952" + "9362f5dab0dcaafb3ce983070a3e064e" ], [ "FStar.Order.int_of_order", @@ -79,7 +79,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "befe260ea3264741f876172c490cd377" + "ea0ff7dd7a895741ce56e625fa6e71ff" ], [ "FStar.Order.compare_list", @@ -100,7 +100,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3e2e27376bc32b99eed70a829ef98538" + "6c38221b6cba580aa89620b0ba4d690a" ], [ "FStar.Order.compare_option", @@ -120,7 +120,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "db069825f547b5688bff1af9e4754f6e" + "3b7982043e9acc6fe3a468313ce6b8cb" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PCM.fst.hints b/ulib/.cache/FStar.PCM.fst.hints index 4e3d7731477..10ed744e17f 100644 --- a/ulib/.cache/FStar.PCM.fst.hints +++ b/ulib/.cache/FStar.PCM.fst.hints @@ -15,7 +15,7 @@ "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable" ], 0, - "2d8b98760bd3f68dc74671e5e333c6b0" + "5dfdc87914e146bd9edd5fce61b692f6" ], [ "FStar.PCM.lem_assoc_l", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_e8a47103e2869a2d680d6754044718fe" ], 0, - "527dd51b93057c50b589ac51e9ea9102" + "f9790f7ae64bd976e7eb576645a4964a" ], [ "FStar.PCM.lem_assoc_r", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_3d4713c393f32d57b63b77183b22dc30" ], 0, - "99023b505c2c907a04c763ab168173a7" + "6fd681752b265e84c851746e9835a38b" ], [ "FStar.PCM.lem_is_unit", @@ -48,7 +48,7 @@ 1, [ "@query" ], 0, - "c7e187ae6e19353ede5e2e7038369508" + "d413e406cbcaed8d38a51e1fc1380dd6" ], [ "FStar.PCM.op", @@ -57,7 +57,7 @@ 1, [ "@query", "equation_FStar.PCM.composable" ], 0, - "e72f7a56b1abd3a9d00a7891a9241a1d" + "e1097c95093bb505ce9eb4ae129abc61" ], [ "FStar.PCM.compatible", @@ -74,7 +74,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "c2d37b9f3e1ef746ea2a9ca4c20c0232" + "c336213964040cd1c23e78f104c4927b" ], [ "FStar.PCM.compatible_refl", @@ -97,7 +97,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "b4038dcee208d9ee9309ab4d6b4cef49" + "9fc1044facb571da884f84309b24a2ee" ], [ "FStar.PCM.compatible_trans", @@ -121,7 +121,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "ab419873d89b9c592e5e47595a7dc445" + "13307f9c1385accc260511404735a664" ], [ "FStar.PCM.compatible_elim", @@ -138,7 +138,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "cbdb436daa6d48c34d6d746a17e0ba1f" + "23ceba565a39f7641793a61474b74755" ], [ "FStar.PCM.compatible_elim", @@ -156,7 +156,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "1d438aac0cf8106d356b47c625f1fcab" + "e897d915ec3123c99aee48db65110cbd" ], [ "FStar.PCM.compatible_intro", @@ -174,21 +174,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "078ac3a1e0b502fdf5f349d7bedd068b" - ], - [ - "FStar.PCM.joinable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a755653d250de35c9fbf3be456d0723b" + "2ba62d6e2606bf57150089fd52a42d20" ], [ "FStar.PCM.frame_compatible", @@ -197,7 +183,7 @@ 1, [ "@query" ], 0, - "f167037637ea4c0d34c1dfff6af8695a" + "0560a682f68b02c2679d58c21c5f0a41" ], [ "FStar.PCM.frame_preserving_upd", @@ -206,7 +192,7 @@ 1, [ "@query" ], 0, - "47ffaefdfacb8115de5969579f13e763" + "78f18091c7cc74b2b02018398bb10845" ], [ "FStar.PCM.frame_preserving", @@ -215,7 +201,7 @@ 1, [ "@query" ], 0, - "6ce077f9bcbfde3fca794398c3016126" + "511be9baef722d3bd216c0741bcd0652" ], [ "FStar.PCM.frame_preserving_val_to_fp_upd", @@ -241,7 +227,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "5da90991d49c3b31e4617e0b9c665659" + "07fa05ebcbb7a61e6692b6b5aca81215" ], [ "FStar.PCM.exclusive_is_frame_preserving", @@ -264,7 +250,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "08d2c42598307cb108d64646d817d2a4" + "97005b478441f2e8b322a31843de09f9" ], [ "FStar.PCM.no_op_is_frame_preserving", @@ -276,7 +262,7 @@ "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000" ], 0, - "54f01afb4e038919a96e541d0a96d4d1" + "d9d5009e034a66996529171b7f7b6835" ], [ "FStar.PCM.compose_frame_preserving_updates", @@ -292,7 +278,7 @@ "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000" ], 0, - "2dea61ccf9fe8cb5caa3745b81f1f3c4" + "a943b0e320f24d78093adcbcb6b684f1" ], [ "FStar.PCM.frame_preserving_subframe", @@ -321,7 +307,7 @@ "typing_FStar.PCM.__proj__Mkpcm__item__p" ], 0, - "73164358b232da8ddd9000c03465398b" + "7a2aa7afb837e1bafc0ae34d30a2aa33" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PartialMap.fst.hints b/ulib/.cache/FStar.PartialMap.fst.hints index 710399bfc3f..73664f29841 100644 --- a/ulib/.cache/FStar.PartialMap.fst.hints +++ b/ulib/.cache/FStar.PartialMap.fst.hints @@ -21,7 +21,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "c6b48d0e96ed8f4ba31234aefbf5d1d1" + "9561e2ca54b8a2d90134a61205576b7e" ], [ "FStar.PartialMap.sel_literal", @@ -45,7 +45,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "97a36638a79bdf30ddd58a6199baef3d" + "8b040946cd2296b88a71d5a5a3f36999" ], [ "FStar.PartialMap.sel_upd", @@ -68,7 +68,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "22b0b60d8a6918746fbcf96e5ef98b3a" + "a17e32b32b3a257a0fc3056e0ed13401" ], [ "FStar.PartialMap.sel_upd_distinct_key", @@ -93,7 +93,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "132d95fec94a5b7d3e3424dc972bd52b" + "ed97ceac9276bcf8ca7b2be64a50201a" ], [ "FStar.PartialMap.sel_remove", @@ -116,7 +116,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "b745439f90b3674d41d9eed6ff6db5b9" + "46336c07275f2acfc48ac508e0970b53" ], [ "FStar.PartialMap.sel_remove_distinct_key", @@ -141,21 +141,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "0157b9238575976cc644661de586d561" - ], - [ - "FStar.PartialMap.equal", - 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, - "6f2f658908bc75f7dbff0492c86bad62" + "b4beb75197ab2a620318b8be19d37cd9" ], [ "FStar.PartialMap.eq_intro", @@ -167,7 +153,7 @@ "equation_FStar.PartialMap.equal", "equation_FStar.PartialMap.sel" ], 0, - "7bd6e15819bbe2450b593b792185adba" + "ac212e099cd367841bffb5b5e4bd2012" ], [ "FStar.PartialMap.eq_elim", @@ -186,7 +172,7 @@ "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "10d699ed94c0bc5f5780fe16fbf1a69c" + "3063274e80a96ced8e244f04f312d811" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pervasives.Native.fst.hints b/ulib/.cache/FStar.Pervasives.Native.fst.hints index 7e7f9aa1dc8..655ad74b8d1 100644 --- a/ulib/.cache/FStar.Pervasives.Native.fst.hints +++ b/ulib/.cache/FStar.Pervasives.Native.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "de92265eb6317cf963e0f28b66c1dec3" + "b2e09fd4b3e55b61f8a0f4b707cf546e" ], [ "FStar.Pervasives.Native.__proj__Some__item__v", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" ], 0, - "c56a9873895a6a44478f4d40fd9f4bc1" + "30dc8b9b46b6f019d8a74e1d4b9d61fb" ], [ "FStar.Pervasives.Native.tuple2", @@ -31,7 +31,7 @@ 1, [ "@query" ], 0, - "4277bef85434e9b1c6a62fac63314682" + "ab7e25bdd65465ba7702cfae47bb3720" ], [ "FStar.Pervasives.Native.tuple3", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "8bf035395bb6a85ab9074b786323a7f5" + "a88fe3b1d4e2720d257eebfdb044a7ce" ], [ "FStar.Pervasives.Native.tuple4", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "b58284ff864df0795f6cfb8968c5a2ef" + "2f3abf0bab928128b9019f0b693538a5" ], [ "FStar.Pervasives.Native.tuple5", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "ee2825b351e704e341a402069ae7dd7b" + "3a7b74795494a1a8e87fe908e652a5fb" ], [ "FStar.Pervasives.Native.tuple6", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "d12fde3f335d6657ec1941d311be1cbf" + "b16b7c6dc22ff728a38f72534cdae632" ], [ "FStar.Pervasives.Native.tuple7", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "73face16e8bddac56ec7415a25a7cee9" + "56de3ad7101a48d11a8cffbba66520b8" ], [ "FStar.Pervasives.Native.tuple8", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "0bb70b3a61360f0353f9b3add682722f" + "d792de0727916e23355438bc690514b4" ], [ "FStar.Pervasives.Native.tuple9", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "9672d847461a3efaf0eb34fdca8dfb14" + "ccbc29af4273180ab3afa4c7404364a9" ], [ "FStar.Pervasives.Native.tuple10", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "971e2b66ce361bf07839823e8f53991e" + "b8fd4facbf1db2fb7a1eb9d70bf7e2ee" ], [ "FStar.Pervasives.Native.tuple11", @@ -112,7 +112,7 @@ 1, [ "@query" ], 0, - "9cd39ba92a9ae5c9b20de7025ed70508" + "4e491074836d7b0346ff8daeb4dc1d58" ], [ "FStar.Pervasives.Native.tuple12", @@ -121,7 +121,7 @@ 1, [ "@query" ], 0, - "7c342e39efbb4cb96641ee424f790c95" + "f59994b56233fd70f0905ba149e9ad11" ], [ "FStar.Pervasives.Native.tuple13", @@ -130,7 +130,7 @@ 1, [ "@query" ], 0, - "b76a5b779e4b565aa39fe902fd596b02" + "782c74d5a7428793e055b4a38f426f3f" ], [ "FStar.Pervasives.Native.tuple14", @@ -139,7 +139,7 @@ 1, [ "@query" ], 0, - "b718e577ada91a1ea377f85b613fd54d" + "eba4b1688566fb6ede4a0e8d8472d433" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pervasives.fst.hints b/ulib/.cache/FStar.Pervasives.fst.hints index e33244a3b3a..ec35a3a8f7c 100644 --- a/ulib/.cache/FStar.Pervasives.fst.hints +++ b/ulib/.cache/FStar.Pervasives.fst.hints @@ -1,5 +1,5 @@ [ - "âݷΛá‰K5`Ñ{JÍ\u007fz", + "D.\u0006ïˆH‡oEå‹÷-â†Æ", [ [ "FStar.Pervasives.Lemma", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "d93c8ea65daeecc057a607a0b67b311e" + "43fb8b79eb2b80bb199e6ffa9a57f431" ], [ "FStar.Pervasives.assert_spinoff", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "6e37b3f6be8f8707447582b405475f19" + "69cafc728882f66e4b29a57b21b57373" ], [ "FStar.Pervasives.intro_ambient", @@ -29,7 +29,7 @@ 1, [ "@query", "equation_FStar.Pervasives.ambient", "true_interp" ], 0, - "ceb38106e2606d5d5845eee11248631b" + "4ac32d1dc79d4e8577570c7a27a3ccb3" ], [ "FStar.Pervasives.__proj__UnfoldOnly__item___0", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_13de8e33f187202d2c4a5d80966ea035" ], 0, - "ba88ed9b1d51a26575488016db683bfc" + "12ce0efb698dacd600133705bd6ea52f" ], [ "FStar.Pervasives.__proj__UnfoldFully__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_e6c43ff652fa6b792396796b43993774" ], 0, - "16d969defc1df990b07c680c421e4224" + "2bf8f4ab448ce5993aca84f7ab8a2e5b" ], [ "FStar.Pervasives.__proj__UnfoldAttr__item___0", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_f14ca5ebef9af83c4cf22600f4f19756" ], 0, - "f9d91532c72f005e9ea84e92fe043719" + "6a210b265998b3db1939d39e5c74c891" ], [ "FStar.Pervasives.__proj__UnfoldQual__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_3c8415b91f8065f6f9613629ea06e01c" ], 0, - "40ffdbf4cc040d9a19151d254d168cea" + "22dc496b2ffedecd3606a38f759e346e" ], [ "FStar.Pervasives.__proj__UnfoldNamespace__item___0", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_86b8ac6c2884bef55a3b087726b88bdb" ], 0, - "6bd3d6201dc8ff8c672fe6f10c062e02" + "634a7f0db3d40539f37bcd6549ace61d" ], [ "FStar.Pervasives.assert_norm", @@ -104,7 +104,7 @@ 1, [ "@query" ], 0, - "4d82beb8f9cc55535db1dd62b572e614" + "087310ce8df9a07142f30140e30c5ab7" ], [ "FStar.Pervasives.norm_spec", @@ -113,7 +113,7 @@ 1, [ "@query", "equation_FStar.Pervasives.norm" ], 0, - "929b934325e445d0eb0f4d7d83bd40ef" + "a83758570e1835bfb361ba830f8f321c" ], [ "FStar.Pervasives.div_hoare_to_wp", @@ -131,7 +131,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "4690a980b6e12e32fafbe14f7a6a96d1" + "a25dd20448054dbce28f04dd3d5be535" ], [ "FStar.Pervasives.__proj__V__item__v", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" ], 0, - "3e5b32347ee5306dd509e74bc9220464" + "26008c1c96cfd30b1cc83bb883ff1664" ], [ "FStar.Pervasives.__proj__E__item__e", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" ], 0, - "4e9269535835e8931a96b951fc4041a8" + "8c6166c70367f4dce5df8ab64fedb817" ], [ "FStar.Pervasives.__proj__Err__item__msg", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" ], 0, - "6a147e899f67ff67e6e1de6383c5e5a5" + "74c58b4da0d9ea0749b051ec326e4dac" ], [ "FStar.Pervasives.ex_bind_wp", @@ -185,7 +185,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "9232692c49e424b86787071dc68cc3ab" + "963d44b7fbd2b7065f93ecb32c066ad7" ], [ "FStar.Pervasives.Exn", @@ -194,7 +194,7 @@ 1, [ "@query" ], 0, - "7f932bd4a246da2972c7c75393c49e74" + "b884c93237e40f4e39227fcfd930d604" ], [ "FStar.Pervasives.all_bind_wp", @@ -208,7 +208,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "23a5b9c79231e3b934e107aa4ca40b54" + "1d119f368ecd60a31af5a97905fdffb4" ], [ "FStar.Pervasives.allow_inversion", @@ -217,7 +217,7 @@ 1, [ "@query", "equation_FStar.Pervasives.inversion", "true_interp" ], 0, - "ddbc29696c60762bf7684bfa2e384223" + "2e1b94014cf9d58d1ee4589288b75ffb" ], [ "FStar.Pervasives.invertOption", @@ -232,7 +232,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "85f109f164c780736b83a431bbe47965" + "af2bf96b32b48aeccece902911dd7fd3" ], [ "FStar.Pervasives.either", @@ -241,7 +241,7 @@ 1, [ "@query" ], 0, - "d647952b84e42ce2d0e4792d9e540d2c" + "9092e170bbb45330603264c0d0720593" ], [ "FStar.Pervasives.__proj__Inl__item__v", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" ], 0, - "fce802b90fb61bda47d3adb15c5497ff" + "6111c4aa704ec3fac52fbbc350750592" ], [ "FStar.Pervasives.__proj__Inr__item__v", @@ -269,7 +269,7 @@ "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" ], 0, - "4e8e0d38f97a9c3f759c7edb06b3b95c" + "42ceedc903435f4f9fc699199a9b9f99" ], [ "FStar.Pervasives.false_elim", @@ -282,7 +282,7 @@ "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "ed7f7d1911e7538149a69a8e4f379625" + "01a16d4c410497929cac9fe3f268bd9f" ], [ "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", @@ -296,7 +296,7 @@ "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" ], 0, - "b20a3157eabe6ccf094d3e08255b634f" + "6245cf7629c30b577c5dd88725fd45b1" ], [ "FStar.Pervasives.__proj__Comment__item___0", @@ -310,7 +310,7 @@ "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" ], 0, - "ab375b113fc3d5d3369db12bb92b93e4" + "18b7e01d63b66a823da11fa0bb536c08" ], [ "FStar.Pervasives.__proj__CPrologue__item___0", @@ -324,7 +324,7 @@ "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" ], 0, - "720c77c6c93470dfda1f6533a660580d" + "41c4543f0155699e492fe559b24ed3d7" ], [ "FStar.Pervasives.__proj__CEpilogue__item___0", @@ -338,7 +338,7 @@ "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" ], 0, - "b1931aa0422a8b35221e83eb76f2287a" + "0c439a8509f11413b5642f3202c957d1" ], [ "FStar.Pervasives.__proj__CConst__item___0", @@ -352,7 +352,7 @@ "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" ], 0, - "477ef34563ed40a4f1ccce8b560488ac" + "0123639a7b84f7500afbd15fcbde596c" ], [ "FStar.Pervasives.__proj__CCConv__item___0", @@ -366,7 +366,7 @@ "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" ], 0, - "7733806976504623fd39378dc7fee08d" + "6df3e4fb1b656796c6f890eb0a23a967" ], [ "FStar.Pervasives.coerce_eq", @@ -378,7 +378,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "82ff66290acd9e3b1b6909a1b07991ef" + "ecebe231d27a88a3e8e22cb8da3e295e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pervasives.fsti.hints b/ulib/.cache/FStar.Pervasives.fsti.hints index 461bedbbe0d..3612fdde9f4 100644 --- a/ulib/.cache/FStar.Pervasives.fsti.hints +++ b/ulib/.cache/FStar.Pervasives.fsti.hints @@ -1,5 +1,5 @@ [ - "½á\u0006ƒÁ8£ñ–Ì¥ð\u001aÛ(³", + "\u0019]\u0004x‰}•²mù©¸NÝ;½", [ [ "FStar.Pervasives.Lemma", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "48269f05fdd25e41d9d6fd7256ee2d42" + "afebd270673643d2a2a37927e862d923" ], [ "FStar.Pervasives.div_hoare_to_wp", @@ -29,7 +29,7 @@ "token_correspondence_Prims.pure_wp_monotonic0" ], 0, - "abd968a9ec4b11f912909f782de05644" + "e987a8e1088aa879ea6ddf3175800942" ], [ "FStar.Pervasives.__proj__V__item__v", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" ], 0, - "179bc292f58139d1c5330e74072ff6fe" + "571942f46bdd7140cc85cafed11cba0e" ], [ "FStar.Pervasives.__proj__E__item__e", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" ], 0, - "125de5a1cf8f3185520b1e215d5004ea" + "14a2427d14d988c71678ec7daad7bbbc" ], [ "FStar.Pervasives.__proj__Err__item__msg", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" ], 0, - "ed7f7abfdc4170887af5fe45ed93cca2" + "f994cd969417f85d3c601320bea52400" ], [ "FStar.Pervasives.ex_bind_wp", @@ -83,7 +83,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "58104837f27facd50582803f78b89e6e" + "30c2dd52e2096117d2921b107ad8f98f" ], [ "FStar.Pervasives.Exn", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "32e2688f9bfa9f62eacdb01e9672c576" + "1d0ce59c80a3c344a3a595b5c814e5db" ], [ "FStar.Pervasives.all_bind_wp", @@ -106,7 +106,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "60115c200e1505371a4acb834fa3f3ff" + "491f6f95072a230bc17ad507bf4b4c86" ], [ "FStar.Pervasives.either", @@ -115,7 +115,7 @@ 1, [ "@query" ], 0, - "9cba268a61ad5457e520196ecf4e72e5" + "764e4ca4acf1cf6371ae46580af428b8" ], [ "FStar.Pervasives.__proj__Inl__item__v", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" ], 0, - "1f8c8bfaa31dca2ee6528228c476fa7f" + "67c1efce6338d1d31a137da995727c09" ], [ "FStar.Pervasives.__proj__Inr__item__v", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" ], 0, - "80aae70b86a28b34e9bf934b2ca7dbc8" + "99e8eb6bbc51975acd5fdffe18122507" ], [ "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" ], 0, - "faab86adb42800814c256f802dbebd87" + "dfcf1d3f58cafa8edff31c834a9a4f0f" ], [ "FStar.Pervasives.__proj__Comment__item___0", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" ], 0, - "374929bec8cdaeb945a086f5467eff92" + "c4ccd4c86fa05ef1ec7301d37f6c5aaa" ], [ "FStar.Pervasives.__proj__CPrologue__item___0", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" ], 0, - "adec62f59e3a74e5fe04264bb956cc3d" + "8b096d223f71555b9e81fd30e5b51d01" ], [ "FStar.Pervasives.__proj__CEpilogue__item___0", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" ], 0, - "afba7bffb240819e33c4c1cb7707ce9b" + "8e94249f77fa08fd06a9b3754cba1016" ], [ "FStar.Pervasives.__proj__CConst__item___0", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" ], 0, - "76e02278eaf128d9cc9cacd5cba40712" + "5c72b52583d25786e543a260f385dde4" ], [ "FStar.Pervasives.__proj__CCConv__item___0", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" ], 0, - "1856f3dd1b6020e135b19837ce051c64" + "e55b3d455453ea0b0306924bd1293c01" ], [ "FStar.Pervasives.coerce_eq", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "49aafd05aef9fd5340f1df7680af9563" + "6bc4a879c20b982c7c5309ed747c6761" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Base.fst.hints b/ulib/.cache/FStar.Pointer.Base.fst.hints index 4338e7d3785..19480358d37 100644 --- a/ulib/.cache/FStar.Pointer.Base.fst.hints +++ b/ulib/.cache/FStar.Pointer.Base.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.UInt32.t" ], 0, - "e6632f5bb4c4c9253dccced86694b2a5" + "37f0b5b6260e7e05ccd2068f270812a3" ], [ "FStar.Pointer.Base.__proj__TBase__item__b", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" ], 0, - "b6e6a5ab9ba32ead035c057c54a3d922" + "ad58efd3728e66932d513ffb5bcd010d" ], [ "FStar.Pointer.Base.__proj__TStruct__item__l", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" ], 0, - "959002393b710066d551a0496892503a" + "4acf563361546120e289a243aacdf734" ], [ "FStar.Pointer.Base.__proj__TUnion__item__l", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" ], 0, - "dae6b01de45c51fe18f600dd6b50ba40" + "d1e02fc1ba7ea1f0de0a2bc73b484c3d" ], [ "FStar.Pointer.Base.__proj__TArray__item__length", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "d467d35b2c6344680be6603c8d6a2296" + "d7e35e0ec6c92f49aeb7b673ae47c2ba" ], [ "FStar.Pointer.Base.__proj__TArray__item__t", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "d57d0cbddc5d8e790792f4fdf94d9cbe" + "bc5d283440f466dc8143a7ab51e5a3d7" ], [ "FStar.Pointer.Base.__proj__TPointer__item__t", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" ], 0, - "2c6257c85a2617b7791c4c2ced69ccaf" + "ae6cbb859e224df9cd46248f5921cda7" ], [ "FStar.Pointer.Base.__proj__TNPointer__item__t", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" ], 0, - "a3acd360b852d825e26fde5585434c1b" + "ab2f31dd1329ddfa12f6ea0e064212c4" ], [ "FStar.Pointer.Base.__proj__TBuffer__item__t", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" ], 0, - "82f9f5458ebcd3ad896f9f26086a73fa" + "cdd1702dc1a4b312899e22eacb7fe211" ], [ "FStar.Pointer.Base.typ_of_struct_field'", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" ], 0, - "a7120041c951e3c75940c86c02c0b63a" + "eecf867009c59b872129188aaa23389c" ], [ "FStar.Pointer.Base.typ_of_struct_field", @@ -168,7 +168,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "b96fbe17c7ad7773a083b321094c237f" + "16d940d3dcc75a43d767607b56714086" ], [ "FStar.Pointer.Base.typ_of_union_field", @@ -177,7 +177,7 @@ 1, [ "@query" ], 0, - "2d4bd134f90d03581ab8df38b4967bb0" + "b6f4cb174d32b6f4160643c41a36d239" ], [ "FStar.Pointer.Base.typ_depth", @@ -203,7 +203,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "4441082a45d83d143a250d38e99c7389" + "33e1d3121b6daad6149c817f794bc10d" ], [ "FStar.Pointer.Base.typ_depth", @@ -220,7 +220,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d67a1c02a19febda59d5719bd433eaa5" + "3ab05c2bc8a915ba48eb32e3f6493214" ], [ "FStar.Pointer.Base.typ_depth_typ_of_struct_field", @@ -286,7 +286,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "292df14dd98e7a1477f6aae4d7490182" + "939f2573efd43a7fe41649e0e1fb43f2" ], [ "FStar.Pointer.Base.step", @@ -305,7 +305,7 @@ "typing_FStar.UInt32.v" ], 0, - "7ae285465608b9be2d007e6f67821c6a" + "9ad6e0d85278ab9560ae338632f5f606" ], [ "FStar.Pointer.Base.step", @@ -326,7 +326,7 @@ "typing_FStar.Pointer.Base.struct_field", "typing_FStar.UInt32.t" ], 0, - "3eeaf7b3643182c91628e4d47b56fb9c" + "464382b1c115eff8e7608c20ea08c9d5" ], [ "FStar.Pointer.Base.__proj__StepField__item__l", @@ -340,7 +340,7 @@ "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" ], 0, - "889ad1bea3bcc10c63674d3f7ac5ffa9" + "8f2faea3a2ce715e13f7e2a950e1a56f" ], [ "FStar.Pointer.Base.__proj__StepField__item__fd", @@ -353,7 +353,7 @@ "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" ], 0, - "08b7b13d841f6a27855a6029a6c08c0d" + "40a23ba201657e91955aa048dfe6c05c" ], [ "FStar.Pointer.Base.__proj__StepUField__item__l", @@ -367,7 +367,7 @@ "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" ], 0, - "895d974b9db3c9a23df4f0e982cef371" + "00c22cf1e632825594b10974352b18e4" ], [ "FStar.Pointer.Base.__proj__StepUField__item__fd", @@ -380,7 +380,7 @@ "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" ], 0, - "d11356a5c3c2df0f371cec0a5ea918bd" + "b1242112ce5c6313b28d061b540c85fe" ], [ "FStar.Pointer.Base.__proj__StepCell__item__length", @@ -394,7 +394,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "c7906c4971ee159d0fe5595bdff9c68a" + "743543fdc2b6b1759ac0bd5dd2ce3665" ], [ "FStar.Pointer.Base.__proj__StepCell__item__value", @@ -408,7 +408,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "c412a5ab78caf3b33c84de8861b9e971" + "3a7a6318bbea710c707b87607d2b41aa" ], [ "FStar.Pointer.Base.__proj__StepCell__item__index", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "3806755eda94bb32a7571d891e490bfd" + "e89134bd192527ffafa0fe65e4c867ed" ], [ "FStar.Pointer.Base.path", @@ -433,7 +433,7 @@ "assumption_FStar.Pointer.Base.typ__uu___haseq" ], 0, - "67eeb768e98966b018e95ad54d6635b5" + "2856dac470978406f006e20e765a71f7" ], [ "FStar.Pointer.Base.__proj__PathStep__item__through", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "c41c431027e56d795b7888c4a60e5bde" + "d5ddb29847ac68d2e6779c7ca1f064e2" ], [ "FStar.Pointer.Base.__proj__PathStep__item__to", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "d637cd2b94b98f4707367af2f0f021db" + "e90f6edd07e7bfc7e948e0021cfa1b99" ], [ "FStar.Pointer.Base.__proj__PathStep__item__p", @@ -474,7 +474,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "611e4837b8de1606f3cc971243b8ac50" + "2f9a08b611f24882c5d4a3a1e7d685b6" ], [ "FStar.Pointer.Base.__proj__PathStep__item__s", @@ -487,7 +487,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "ab6b0052ddb2c7c5a9a94425304cc695" + "ce99a893e5395dbdbe283a4a793e0850" ], [ "FStar.Pointer.Base.step_typ_depth", @@ -519,7 +519,7 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l" ], 0, - "163c979646bb20e656028e3550b011e8" + "95e7cc8a94e780053732d09517640903" ], [ "FStar.Pointer.Base.path_typ_depth", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b484f302738a88d95262876e39c3ce72" + "91f85157fce817b334cb0445334830e9" ], [ "FStar.Pointer.Base.path_typ_depth", @@ -559,7 +559,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "a3a198464b6499902531ac46ff2947ab" + "0ec5cb1c212d2245b9fb3483a4015fc1" ], [ "FStar.Pointer.Base.__proj__Pointer__item__from", @@ -573,7 +573,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "a444fec11b37b70d84462597a0b00269" + "ab814d5d534b49163caf9f6c4f5c9721" ], [ "FStar.Pointer.Base.__proj__Pointer__item__contents", @@ -587,7 +587,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "1298afbe8cf0ad730b3d418cfff7ce6a" + "4089c4eaa7f8d6b537d466fa4d8e51ca" ], [ "FStar.Pointer.Base.__proj__Pointer__item__p", @@ -603,7 +603,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "a7f2c9ba4c44946e0cf825bbe6f0861a" + "50942bb758d5845b9f49eb89b4e78baf" ], [ "FStar.Pointer.Base.g_is_null_intro", @@ -617,7 +617,7 @@ "projection_inverse_FStar.Pointer.Base.NullPtr_to" ], 0, - "554f0a5b7316d36e0906a23f5e88415a" + "fcaa7d2588890d7301ce5d0c0a4c31d3" ], [ "FStar.Pointer.Base.not_an_array_cell", @@ -635,7 +635,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "900543f94b27e045671e347ad1f5391b" + "c30573387b01fcfb766a7cd99cbd3cb6" ], [ "FStar.Pointer.Base.__proj__BufferRootSingleton__item__p", @@ -649,7 +649,7 @@ "refinement_interpretation_Tm_refine_422fa8e43652f7856994c0adb062c739" ], 0, - "4a7723d8607651e32b388248fadb91cd" + "6c96eff1a71e34a5f4b7a646711b4e6e" ], [ "FStar.Pointer.Base.__proj__BufferRootArray__item__max_length", @@ -663,7 +663,7 @@ "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" ], 0, - "d95b208cc3b5883d37fb4214b2440b4d" + "f15b265c66501283e162783d260be50c" ], [ "FStar.Pointer.Base.__proj__BufferRootArray__item__p", @@ -683,7 +683,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "582bb0f9314c5d793c3efa5efb35d7eb" + "eb8dc4370e7f09095a16609096447357" ], [ "FStar.Pointer.Base.buffer_root_length", @@ -697,7 +697,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root" ], 0, - "649d9a0aadf544da97e00c4d45315d66" + "eb3dc0e205d9743f7cca8cada27c36e1" ], [ "FStar.Pointer.Base.type_of_base_typ", @@ -733,7 +733,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", "unit_typing" ], 0, - "a583d17df2359cc748e9e2d69313fdeb" + "1b46aab095b03d1f666a520242c46d6d" ], [ "FStar.Pointer.Base.array", @@ -742,7 +742,7 @@ 1, [ "@query" ], 0, - "1a6c74c700e7b445741764b8ac31163f" + "4f5fd15185c417a6bd0d15418a586d4b" ], [ "FStar.Pointer.Base.type_of_struct_field''", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" ], 0, - "dc638d4b58a4029545247a0e5fc92d94" + "8bdd0486b18fc1d814355942c743b03d" ], [ "FStar.Pointer.Base.type_of_struct_field'", @@ -773,7 +773,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "d557b073c1167198429aed43c3dcf7ec" + "bedf2b216fda33d308907fa72164580c" ], [ "FStar.Pointer.Base.gtdata_get_value", @@ -788,7 +788,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "7171bcf2de42722c059d7fa2dec4d4bd" + "ddffbac513b022113f54554f109f7e8a" ], [ "FStar.Pointer.Base.gtdata_create", @@ -806,7 +806,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "2edc51dc38c10c24346c77a63d63c1d8" + "8ce193a3b4a0a0f69cfde7ef56ff9f51" ], [ "FStar.Pointer.Base.gtdata_extensionality", @@ -823,7 +823,7 @@ "proj_equation_Prims.Mkdtuple2__1" ], 0, - "4b975987c84703d13c1e34153fa26174" + "85693b5024cc5753ff6619f4170db9bd" ], [ "FStar.Pointer.Base.type_of_typ'", @@ -846,7 +846,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "64679e8d0316f89818bf45caf3c90d27" + "643a6422998cb7622a44efb07b1bdce4" ], [ "FStar.Pointer.Base.type_of_typ'", @@ -855,7 +855,7 @@ 1, [ "@query" ], 0, - "77dd7a9a4296244e4d96ac69ac5534e8" + "b6e520facf95eb18de6c3c7ab4ac169e" ], [ "FStar.Pointer.Base.type_of_typ", @@ -879,7 +879,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "d40bb388bd8fc35bfe74492602fb74ce" + "24e6589c1e8da09fae76c42327a88c48" ], [ "FStar.Pointer.Base.type_of_typ_array", @@ -897,7 +897,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "19ee2979274a10221771f6228bc1deaa" + "dec9d8364a5aa4f9d5e7e34a2eed0360" ], [ "FStar.Pointer.Base.type_of_typ_struct", @@ -910,7 +910,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "a48aa00befad531e15663fc4d46ba289" + "2a7b1f8d681c7205cabe1a298a6d35ee" ], [ "FStar.Pointer.Base.type_of_typ_type_of_struct_field", @@ -934,7 +934,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "aa761935e2e38286ffa5abb9ebe4580b" + "dbf49383cf9a5b411aa4bbb64b468e05" ], [ "FStar.Pointer.Base.type_of_typ'_eq", @@ -972,7 +972,7 @@ "subterm_ordering_FStar.Pointer.Base.TPointer" ], 0, - "839645918837de7579f91cb208bad233" + "c4f971a937e67c5ff2caa3c55da1cf91" ], [ "FStar.Pointer.Base.struct_sel", @@ -989,7 +989,7 @@ "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" ], 0, - "b4d1d0c9e5fa776a1c95983198d4e83c" + "548eddc68cac8651dd9f93211131c0b1" ], [ "FStar.Pointer.Base.struct_literal_wf", @@ -1003,7 +1003,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b034408d7d69d5df2b663ee29987373a" + "2197d022e1623520732b4ecbf90935c0" ], [ "FStar.Pointer.Base.fun_of_list", @@ -1079,7 +1079,7 @@ "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" ], 0, - "3f74e0eccefce43d5ca268fd9ed7a6df" + "dbbf9013445c5ab76842f1b5fcae1caf" ], [ "FStar.Pointer.Base.struct_upd", @@ -1096,7 +1096,7 @@ "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" ], 0, - "af775dac01dfc34127ab4d3023583a3a" + "1189ec5663835a1c10fe85472c58f28f" ], [ "FStar.Pointer.Base.struct_create_fun", @@ -1113,7 +1113,7 @@ "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" ], 0, - "feb4c177df9fa3ada77a7776ea8498ec" + "a57470abdef897079c3b4fd3909df12f" ], [ "FStar.Pointer.Base.struct_create", @@ -1122,7 +1122,7 @@ 1, [ "@query" ], 0, - "54cb0c1cd9a43bc52d0023b7b4326c60" + "bdd5a35a83632ca21b2cd72d49df16a1" ], [ "FStar.Pointer.Base.struct_sel_struct_create_fun", @@ -1136,7 +1136,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", @@ -1172,7 +1172,7 @@ "typing_Tm_abs_51105ee2e615de5655b7293d0759168b" ], 0, - "ff915013f2b16c676d74b0713d69f6d7" + "a8e8fc3388cf63fa05b213ca0d3798d9" ], [ "FStar.Pointer.Base.type_of_typ_union", @@ -1185,7 +1185,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "b2cff5177b9de01d05c280bc639dcd78" + "07b23aa86d68195262520336a669add9" ], [ "FStar.Pointer.Base.union_get_value", @@ -1219,7 +1219,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "5d8fd07e8845b42fc33d2e05619c1db5" + "e55fffff07f31486ea18f8b52014f904" ], [ "FStar.Pointer.Base.union_create", @@ -1236,7 +1236,7 @@ "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" ], 0, - "876179502caa0655f640477bce6c27d7" + "44880e866b0b30cf50b96b8684cbac64" ], [ "FStar.Pointer.Base.dummy_val", @@ -1414,7 +1414,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "07a466fc6864b8c05966edf935fa7297" + "b15e4c4dde253a35b30b362d1022b38f" ], [ "FStar.Pointer.Base.otype_of_typ", @@ -1444,7 +1444,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "6ef0f665baa4dd3f909a34545e44a032" + "b40128914517bb00818b63aa8336fc2c" ], [ "FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", @@ -1468,7 +1468,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "a8ac907c511a251091f8c6367ce2070b" + "6d0460b728785dfff2b51b366b4fe19e" ], [ "FStar.Pointer.Base.otype_of_typ_base", @@ -1484,7 +1484,7 @@ "projection_inverse_FStar.Pointer.Base.TBase_b" ], 0, - "83e8208aa200d40f67c2f5bb9c974f6d" + "e495e4d7d043955131188bf49a2c4204" ], [ "FStar.Pointer.Base.otype_of_typ_array", @@ -1502,7 +1502,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "fa85a0853c964f6c660608f74fe80377" + "0fee239791d602e0ac94b960ea146869" ], [ "FStar.Pointer.Base.ostruct_upd", @@ -1517,7 +1517,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "e52e6f2e4230839c32f12ece757fb893" + "b107c58e02f132dee2a916143f007116" ], [ "FStar.Pointer.Base.ostruct_create", @@ -1532,7 +1532,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "2ab3427fe9a966a8d98f177bd5521138" + "d2ff480fff014c4ab1bcba8c3c205a90" ], [ "FStar.Pointer.Base.otype_of_typ_struct", @@ -1545,7 +1545,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "80dfd60d74251f204386dbbdfec43571" + "8d5bb1e671f97ee1ac8cd4d958da1395" ], [ "FStar.Pointer.Base.ounion_get_value", @@ -1559,7 +1559,7 @@ "proj_equation_FStar.Pervasives.Native.Some_v" ], 0, - "042541a9b493b09907cd3bf9cf7655c7" + "e67574109fe3081073bf9fc2a44ddd95" ], [ "FStar.Pointer.Base.otype_of_typ_union", @@ -1572,7 +1572,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "c6161a391e7ab56cb09c393329050654" + "c5a765af476a0a0f2e39a8b70444378f" ], [ "FStar.Pointer.Base.struct_field_is_readable", @@ -1595,7 +1595,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "d208895186fc90708b428a051f22edfc" + "6b53a4043e478f29c32e297d208e48f1" ], [ "FStar.Pointer.Base.ovalue_is_readable", @@ -1638,7 +1638,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "4411bfef940a3d922ac8bee4cb697f5d" + "3fc0e9e12467df562304e532c21118e1" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_intro'", @@ -1695,7 +1695,7 @@ "typing_FStar.Pointer.Base.ovalue_is_readable" ], 0, - "c3109d116326fca5773f495c3e6c390d" + "319f6d409a43610af01ea5a07e2613eb" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_intro", @@ -1745,7 +1745,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "270b74a885fcb8d96ebbff204bbb3cbd" + "af64142d0384a877c2e3077180a8ea36" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_elim", @@ -1818,7 +1818,7 @@ "typing_FStar.Pointer.Base.struct_field_is_readable" ], 0, - "1382ac85889a778a3a2e6da1a71e90d1" + "ac2ad189f6b1207bee87b32063007f04" ], [ "FStar.Pointer.Base.ovalue_is_readable_array_elim", @@ -1866,7 +1866,7 @@ "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" ], 0, - "d2a36bc41c352e5da5e14085c53634ea" + "7e0ed7b580f20ceb159baca124e9ca60" ], [ "FStar.Pointer.Base.ovalue_is_readable_array_intro", @@ -1919,7 +1919,7 @@ "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "c195cf9b61f0949c9ddcd1ba9e34dab5" + "3b773b7210ea8bbcbbe7c2389fb4ca41" ], [ "FStar.Pointer.Base.ostruct_field_of_struct_field", @@ -1945,7 +1945,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "2713e17f645c45943aedfa9c2d9c2983" + "ffb88476304b354c6324e3629fa343f7" ], [ "FStar.Pointer.Base.seq_init_index", @@ -1959,7 +1959,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "c7649ee35bc60a8eeff3d39976d87bfe" + "2cba14fb96b8e77a77956f3d6d11ead5" ], [ "FStar.Pointer.Base.ovalue_of_value", @@ -2034,7 +2034,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "c604b03f82ec3b058c50b2bdff66ea53" + "5b5605640a0681e3d68bcc74f562d09a" ], [ "FStar.Pointer.Base.ovalue_is_readable_ostruct_field_of_struct_field", @@ -2067,7 +2067,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "1cda4b99f89a9f0768e307a8388e751e" + "cd96eff8075775c09469360b7c775c1b" ], [ "FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", @@ -2092,7 +2092,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_interpretation_Tm_arrow_3148b61c0b10b09d9fa8c898186315b9", @@ -2209,6 +2209,7 @@ "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "string_inversion", "string_typing", + "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", @@ -2245,7 +2246,7 @@ "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "86b0e49705f5daabf5206527de950968" + "e4bc0a0fcc5106c5a7748d82ca4d8c00" ], [ "FStar.Pointer.Base.value_of_ovalue", @@ -2346,7 +2347,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "87ec70f88f966c95a1603b9f0f896e5e" + "78ec93d9b62b71e13cc05bd58088b101" ], [ "FStar.Pointer.Base.ovalue_of_value_array_index", @@ -2385,7 +2386,7 @@ "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af" ], 0, - "6e8d1f769d623e1c491bc8790060b552" + "3b9c60b700c610efb4d55c10631d0be5" ], [ "FStar.Pointer.Base.value_of_ovalue_array_index", @@ -2431,7 +2432,7 @@ "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50" ], 0, - "1636a0044dcc53fe022ebca54c581805" + "b4ec3d1cc1bc854cbf11be3c64b5a907" ], [ "FStar.Pointer.Base.value_of_ovalue_of_value", @@ -2440,13 +2441,10 @@ 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", @@ -2456,10 +2454,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.DependentMap_pretyping_92448f411d76305dd8df05e8debe964d", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", "FStar.Pointer.Base_interpretation_Tm_arrow_3148b61c0b10b09d9fa8c898186315b9", "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", @@ -2470,24 +2465,17 @@ "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", + "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "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.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", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.dfst", + "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._gtdata_get_key", "equation_FStar.Pointer.Base._union_get_key", "equation_FStar.Pointer.Base.array", @@ -2495,14 +2483,14 @@ "equation_FStar.Pointer.Base.gtdata_create", "equation_FStar.Pointer.Base.gtdata_get_key", "equation_FStar.Pointer.Base.gtdata_get_value", + "equation_FStar.Pointer.Base.ostruct", "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.otype_of_struct_field", "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_create_fun", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_sel", @@ -2515,43 +2503,31 @@ "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.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", + "equation_FStar.Pointer.Base.union_typ", "equation_Prims.nat", "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.otype_of_typ", "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_", - "function_token_typing_Prims.string", + "int_inversion", "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", + "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", "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.otype_of_typ_struct", "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", @@ -2562,51 +2538,40 @@ "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", "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_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", "refinement_interpretation_Tm_refine_bd52d171a74d80903c7842fefd75f8a1", "refinement_interpretation_Tm_refine_bdb60dfe130b3ec462391ffc4dcbf838", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_FStar.Pointer.Base.TArray", + "string_inversion", + "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", - "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_", "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_104b9206a0f6c45cba53cc44776fb1f1" ], 0, - "317fab484e2ba86ae1c039ebc2ca8939" + "0efe79359b05b02449320a21effa2d06" ], [ "FStar.Pointer.Base.none_ovalue", @@ -2658,7 +2623,7 @@ "typing_FStar.Pointer.Base.type_of_base_typ" ], 0, - "ca1d6599c801cad4c546bfeb07c84f6c" + "ab359f5f82c7523377de9066501663ff" ], [ "FStar.Pointer.Base.not_ovalue_is_readable_none_ovalue", @@ -2679,7 +2644,7 @@ "typing_FStar.Pointer.Base.ovalue_is_readable" ], 0, - "511dd899459528e812bb0007a22fe319" + "09e4f6e018f246c150aa806f673f07aa" ], [ "FStar.Pointer.Base.step_sel", @@ -2734,7 +2699,7 @@ "typing_FStar.Pointer.Base.array", "typing_FStar.UInt32.v" ], 0, - "24835d506c9b86da36135227a40e69a8" + "11f9f63e57359913ef91a98aca3daf76" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", @@ -2789,7 +2754,7 @@ "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" ], 0, - "e123d745f6bce1a9cb1ae251c1b1f794" + "33a5aca04f0bb5eb97c3abd7d5a3f14c" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_field", @@ -2819,7 +2784,7 @@ "projection_inverse_FStar.Pointer.Base.TStruct_l" ], 0, - "0d04b88414d07b95607113afdde0718e" + "e62417d7badb49e44bce1181a6200a72" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_union_same", @@ -2890,7 +2855,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "4d1b3ee1e73ac97b484a127dc08dbaa9" + "b0c65fbbfec80b27875c35cb20edd7e6" ], [ "FStar.Pointer.Base.step_sel_none_ovalue", @@ -2915,7 +2880,7 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l" ], 0, - "6cc22e1e3ca4caf6783378859aa15107" + "a8079bd960eb0333cd89afd9461f7677" ], [ "FStar.Pointer.Base.path_sel", @@ -2935,7 +2900,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "1a3ff954d82f2193c5f4e4bb13453a47" + "78fda02b855b992c7e24ae5be6ddfb00" ], [ "FStar.Pointer.Base.path_sel_none_ovalue", @@ -2981,7 +2946,7 @@ "typing_FStar.Pointer.Base.none_ovalue" ], 0, - "d0eab8aa0c1f8a968ce730a6678048a0" + "30176720b963b60ef5785f98ed989279" ], [ "FStar.Pointer.Base.step_upd", @@ -3068,7 +3033,7 @@ "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.DependentMap_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", @@ -3152,7 +3117,7 @@ "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8" ], 0, - "f9146c23439792af93671224296586ae" + "e9d5677add0754a6dc691326863ff56e" ], [ "FStar.Pointer.Base.path_upd", @@ -3172,7 +3137,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "67ee8f3475550dd0e6edb54099e1d9f1" + "c0ac8f858bf537bef16f6fed4e9392c9" ], [ "FStar.Pointer.Base.path_sel_upd_same", @@ -3209,7 +3174,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "ab9b49ec7a34a93a023d0ec2fd7d53e9" + "1ddc9ce6acf92a5765b33c37cbbf072c" ], [ "FStar.Pointer.Base.path_concat", @@ -3235,7 +3200,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "b121d115cb9b841498115921a2f9d260" + "1a315640e16db79d145dc1975477f2d8" ], [ "FStar.Pointer.Base.path_concat_base_r", @@ -3251,7 +3216,7 @@ "projection_inverse_FStar.Pointer.Base.PathBase_from" ], 0, - "f54fe1adc5ccd54ab050044fb62e5ad4" + "81a75d127772a849ae367539ad8b8f35" ], [ "FStar.Pointer.Base.path_concat_base_l", @@ -3283,7 +3248,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "9ae41fedf476a6b00072fcf7254d5616" + "c8ab564ae6daeeb2e594ce2c5f05326a" ], [ "FStar.Pointer.Base.path_concat_assoc", @@ -3321,7 +3286,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "cd1bbaecbd64be169dd46358f845df3a" + "16b3f1dd330f0d96e15c2f5d371f85a3" ], [ "FStar.Pointer.Base.path_sel_concat", @@ -3362,7 +3327,7 @@ "typing_FStar.Pointer.Base.path_sel" ], 0, - "cfa006bcedda36016cb05d77581081b1" + "0f3d1a37be9254d703398438af5d6e4c" ], [ "FStar.Pointer.Base.path_upd_concat", @@ -3412,7 +3377,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "2f393af3ffadf394aea9bcc0ada0a016" + "03b0ed0ce39600c735d60eeb054a47f6" ], [ "FStar.Pointer.Base.path_includes", @@ -3433,7 +3398,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "6cfa6ef8cc81848ec5623662a81a2fda" + "d9985ce1584bc16a833878d9843f7f1e" ], [ "FStar.Pointer.Base.path_includes_base", @@ -3467,7 +3432,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "18cdb6b58ec0660dfbaff6090f1315d3" + "32034d927ad3f67603d23a9e7f590669" ], [ "FStar.Pointer.Base.path_includes_refl", @@ -3484,7 +3449,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "367a7fc3f3663c7157db38362cea218d" + "0c4486e3cf07fa09a260d33132b6e279" ], [ "FStar.Pointer.Base.path_includes_step_r", @@ -3506,7 +3471,7 @@ "projection_inverse_FStar.Pointer.Base.PathStep_to" ], 0, - "43a4986246d86b9df645365f62896535" + "f33bbfd59c43e6bf3f8ff5c9cfb74bdb" ], [ "FStar.Pointer.Base.path_includes_trans", @@ -3553,7 +3518,7 @@ "typing_FStar.Pointer.Base.path_includes" ], 0, - "c8ba354e7c79a3174734c6c899a5bc68" + "07c9e1a1a673328cca8e9ba09c691713" ], [ "FStar.Pointer.Base.path_includes_ind", @@ -3565,7 +3530,7 @@ "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" ], 0, - "25a577cb1d514a52c08bf8861e05e19f" + "532a97fd791d5c333eae594c2eb301df" ], [ "FStar.Pointer.Base.path_includes_ind", @@ -3606,7 +3571,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "afcb9b6c252ddf357efec6bf13ac2efc" + "bbaadc40d9b99b8b7493c6ca7035d217" ], [ "FStar.Pointer.Base.path_length", @@ -3625,7 +3590,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "fbd5a481be84595a89af1b5244c82ee2" + "9bc726b0dcf9586edd794717bc30ae75" ], [ "FStar.Pointer.Base.path_includes_length", @@ -3663,7 +3628,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "7b5955c5a9234e7e2e7af473deaf4bbb" + "83e7d7e125bb9c92f99b1261f0b716a1" ], [ "FStar.Pointer.Base.path_includes_step_l", @@ -3686,7 +3651,7 @@ "refinement_interpretation_Tm_refine_f858bfffcdc33b4edac687bbc0ab10f8" ], 0, - "6dd2b9fa5dcc1cad080500864ea4d8f5" + "6652a1438c89cfe0d755b0dff060e422" ], [ "FStar.Pointer.Base.path_includes_concat", @@ -3727,7 +3692,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "4a821ee0ad36b9854fdc547f7dac11d4" + "f1460f3fd1b6f9540074fe0439d50d66" ], [ "FStar.Pointer.Base.path_includes_exists_concat", @@ -3748,7 +3713,7 @@ "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" ], 0, - "fe9cbadd835c0fa2831f4cb4a1ad6267" + "aae1b6d6cd9c5dfae008ed6f018fb06e" ], [ "FStar.Pointer.Base.path_concat_includes", @@ -3764,7 +3729,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_concat" ], 0, - "d30ad7128a92b9802c9ea1aad7d5ee58" + "dc0d7660ae281ec291bcebd99f0dacd1" ], [ "FStar.Pointer.Base.path_concat_includes", @@ -3780,7 +3745,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_concat" ], 0, - "009b63097696fd56ddf9f8b1d646a019" + "d0a6ea9f3f52ec104012a1c650454662" ], [ "FStar.Pointer.Base.step_disjoint", @@ -3805,7 +3770,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e315662b78bd161a703cb32b6409a157" + "60cd5b4c92566fde33801007001f7873" ], [ "FStar.Pointer.Base.step_eq", @@ -3841,7 +3806,7 @@ "typing_FStar.UInt32.t" ], 0, - "1542fdcf9e9e7c5e2b733ca2d442923f" + "d9b12048fbd008c967e143282cd2e941" ], [ "FStar.Pointer.Base.step_disjoint_not_eq", @@ -3897,7 +3862,7 @@ "typing_FStar.Pointer.Base.step_eq" ], 0, - "ffd297676b8071d2ebbf7d474df3745d" + "2e32b7302230496d420c8394bc73d92c" ], [ "FStar.Pointer.Base.step_disjoint_sym", @@ -3920,7 +3885,7 @@ "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "ad734b4d319dbb195da47647709eb2ed" + "18c88ac93866aa5da2b89cd9119c46f6" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__through", @@ -3934,7 +3899,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "68ef9b6b57e035401be2d60eff12990c" + "8bb5b5c48a667ff516136bfb203a5872" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__to1", @@ -3948,7 +3913,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "ef157a083eab1a7d00dfbea0dfce30cb" + "0364ed013713ee90bb1fd6f5d702d2fa" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__to2", @@ -3962,7 +3927,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "6ab7496d291872566cd7479633dad27d" + "f13c18b179d5a740b2919a083e3166a2" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__p", @@ -3975,7 +3940,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "a1a9badd8a552cb4c25792d238808ca8" + "ce978ca21e86ecc82cc21e08cf1fbef7" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__s1", @@ -3988,7 +3953,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "b5b2697587ffd2cdcf2970a2f6cf5669" + "3189a03cd34ddbedd4f3eefd49ab1d66" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__s2", @@ -4013,7 +3978,7 @@ "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "a5bb4921f442c36f6c0386d8d0732146" + "df0e750b007fa0b135dd4270463dd5c0" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1", @@ -4027,7 +3992,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "710ead6a4ab4336b6392750785713343" + "8e1455020f587016c54b527eeff0b650" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2", @@ -4041,7 +4006,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "648d0023cc5fa8f52acc23b41fe339d6" + "03649793d3db89c894a2b28c111d4b16" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1", @@ -4054,7 +4019,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "2d14aefb17986aa325a137700e2b54ca" + "4fcfb5c2d5683ca17791dabb774ad2c1" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2", @@ -4067,7 +4032,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "addd4eca011eb2332a2ed3df2fe30d68" + "a2f40e40f7ed533b5bc2b44ffc5e02ac" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1'", @@ -4081,7 +4046,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "229e0437fdb3c827dec0c5f7baf4bce8" + "ad72248fc62a8ae0eab706b5550ad855" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2'", @@ -4095,7 +4060,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "8318c649b3467138600d7f4a5c365716" + "cdaf91117bd589349b924ab551024834" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1'", @@ -4124,7 +4089,7 @@ "typing_FStar.Pointer.Base.uu___is_PathDisjointIncludes" ], 0, - "86205d6d7dca14233c821d6fd6b439b8" + "5d685920a51e90f546fca3a154722b1a" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2'", @@ -4137,7 +4102,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "266f25f0579ecfd40c1ccdc869db2e74" + "d02a4c6893485aa1cac56111035e6c5b" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item___8", @@ -4150,7 +4115,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "cf6237613014ab36eee9f657e8ba0995" + "448e26ab4196582dfe42e6b62d543996" ], [ "FStar.Pointer.Base.path_disjoint_t_rect", @@ -4178,7 +4143,7 @@ "subterm_ordering_FStar.Pointer.Base.PathDisjointIncludes" ], 0, - "42cea7b256298f79b7ed7ce379478cd7" + "af0ea01d791224352142a88e97eac17b" ], [ "FStar.Pointer.Base.path_disjoint_ind", @@ -4190,7 +4155,7 @@ "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb" ], 0, - "ddadf74fa0b9547113f19cf01e282f46" + "1702afc22de4af1ca19e1a556ff3635d" ], [ "FStar.Pointer.Base.path_disjoint_ind", @@ -4206,7 +4171,7 @@ "unit_inversion" ], 0, - "9d7bef0d31d8aa88702bcece553d644d" + "527113c19a66e7d9f5fb60b4b74045e6" ], [ "FStar.Pointer.Base.path_disjoint_step", @@ -4221,7 +4186,7 @@ "unit_inversion" ], 0, - "4f0b538fed68a7f9775b382e574363ff" + "a058f70ebe6f279a789233473d237a11" ], [ "FStar.Pointer.Base.path_disjoint_includes", @@ -4235,7 +4200,7 @@ "unit_inversion" ], 0, - "50b97506b81ef585b73391bab7e6a904" + "622a2c6b6b85df803f881aba7790c8be" ], [ "FStar.Pointer.Base.path_disjoint_includes_l", @@ -4249,7 +4214,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_refl" ], 0, - "e8933d890f313d49f9ed003721729b46" + "f761796fd228690721d6e972005dfb5d" ], [ "FStar.Pointer.Base.path_disjoint_sym", @@ -4278,7 +4243,7 @@ "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "0ac2716383e9d827debf5d12aa3c8a3d" + "06d6cd37c52670e744cb58230820eb52" ], [ "FStar.Pointer.Base.path_equal", @@ -4315,7 +4280,7 @@ "typing_FStar.Pointer.Base.step_eq" ], 0, - "09113ba8d191c99a5a398d33cdb402aa" + "ac40d024dae977bc633ae2a1f1c2dec9" ], [ "FStar.Pointer.Base.path_length_concat", @@ -4359,7 +4324,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "e6cd67d0996e80c327fb0f92f3586ff5" + "08ab9b8e496410dd528b5fe25b386046" ], [ "FStar.Pointer.Base.path_concat_inj_l", @@ -4372,7 +4337,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "b73d907ad1a69a7c2ac62816af6d1f27" + "b37853aad9d6bf45c060a3a3ceaf1e0c" ], [ "FStar.Pointer.Base.path_concat_inj_l", @@ -4426,7 +4391,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "da3c3453502113711e3d555fbfdd98ff" + "9fd57b6efd83954864ec3cfce5b51ae7" ], [ "FStar.Pointer.Base.path_disjoint_decomp_t", @@ -4444,7 +4409,7 @@ "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581" ], 0, - "dd0e6074af58f99db1604bfe966f92ce" + "58f20ee7916700392b92ccc7ccb7991a" ], [ "FStar.Pointer.Base.path_disjoint_decomp_includes", @@ -4457,7 +4422,7 @@ "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581" ], 0, - "17441136ec55f67b385563b32a10d480" + "cfda0f362ec3acc6ead665b5fff45981" ], [ "FStar.Pointer.Base.path_disjoint_decomp", @@ -4481,7 +4446,7 @@ "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "4713a088bee4ecf8b46be353b01f6ec9" + "3700b6e0e082573d1632ad56034e7f98" ], [ "FStar.Pointer.Base.path_disjoint_not_path_equal", @@ -4526,7 +4491,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "8dad8545a62ef870b555fcedcbfe5830" + "590a5e16de2498c78f6ff850a916f482" ], [ "FStar.Pointer.Base.path_destruct_l", @@ -4578,7 +4543,7 @@ "typing_FStar.Pointer.Base.uu___is_PathBase" ], 0, - "19c46f80f1cdef647d68b36888a7d9d4" + "a78b8588c64f3243ccd4e543873a0c5a" ], [ "FStar.Pointer.Base.path_equal'", @@ -4636,7 +4601,7 @@ "well-founded-ordering-on-nat" ], 0, - "0f25d1dbdc82b4b3a09272bef4c790d3" + "349695f8992dd15848bc60c1a2f3a144" ], [ "FStar.Pointer.Base.path_includes_concat_l", @@ -4667,7 +4632,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "73c07c17c69c68589fa1c02a50a49631" + "7d786f3f28b90e9589fc9e1ec97671aa" ], [ "FStar.Pointer.Base.path_disjoint_concat", @@ -4692,7 +4657,7 @@ "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d" ], 0, - "e7fcba300731baaebe288717d38768d9" + "714931755f379a2a3a3c66f0489b239b" ], [ "FStar.Pointer.Base.step_sel_upd_other", @@ -4702,11 +4667,12 @@ [ "@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.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_interpretation_Tm_arrow_461c1a04a2297465934fe9913aab7926", @@ -4752,6 +4718,7 @@ "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.option", "fuel_guarded_inversion_FStar.Pointer.Base.step", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", @@ -4800,22 +4767,22 @@ "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.DependentMap.t", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.mem", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.otype_of_struct_field", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.step_disjoint", - "typing_FStar.Pointer.Base.struct_field", "typing_FStar.UInt32.v", + "typing_FStar.Pointer.Base.struct_field", + "typing_FStar.Pointer.Base.uu___is_StepCell", + "typing_FStar.UInt32.v", "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "unit_inversion", "unit_typing" ], 0, - "5995d2df5c2dc9ae9ab1935d2152d6b6" + "bbe5dd434fbf98621b877a8f0272d0b3" ], [ "FStar.Pointer.Base.path_sel_upd_other", @@ -4851,7 +4818,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "f6c9a819433d472714f6d3018611ebeb" + "c2c5bd019735ec51676efd724a5a15fc" ], [ "FStar.Pointer.Base.path_sel_upd_other'", @@ -4860,7 +4827,7 @@ 1, [ "@query" ], 0, - "a3ec540a46a770055a289eeb65ab4c8f" + "a85ca8a44c6cf0a5c14be8cf6fe7c2f4" ], [ "FStar.Pointer.Base.equal", @@ -4895,7 +4862,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "b28e9052623a9e5f562eebf7af696e11" + "26b7aa162e3d01256401224c70c205b5" ], [ "FStar.Pointer.Base.equal", @@ -4927,7 +4894,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "641b13f0adfebffd8f45caebb3dd517a" + "345c9212c4d7e9f763d347294df357f7" ], [ "FStar.Pointer.Base.as_addr", @@ -4945,7 +4912,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "254a27ce88bb210b3d9c10e10236982b" + "8d6c5353b19b0924fffc8a38227686ec" ], [ "FStar.Pointer.Base._field", @@ -4967,7 +4934,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "44f0b6594dbe1bbd3e323c5ccb6d8c0a" + "e28ba4229b4d2a40d9f345a6646349c6" ], [ "FStar.Pointer.Base._cell", @@ -4993,7 +4960,7 @@ "typing_FStar.UInt32.v" ], 0, - "2eaee4cd683457016f8ea2cc9a1e1cd3" + "0e1983dec7430ea4a6afe2224010b070" ], [ "FStar.Pointer.Base._ufield", @@ -5017,7 +4984,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "aa2bfe6bc4fe8e42cb9f6224aa74a2e2" + "eed4f5dd38956d65245868a4f97af69f" ], [ "FStar.Pointer.Base.unused_in", @@ -5034,7 +5001,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "dcdb7070ec83ad2c3e7814b2aa9e2a71" + "5d29af60ec6f2050ecd02dfb3e80a78c" ], [ "FStar.Pointer.Base.live", @@ -5062,7 +5029,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "2810fb84ab5f9f9e9ad3b9450121b801" + "ec8ed6afcb3e3efeb59092e111c9da94" ], [ "FStar.Pointer.Base.nlive", @@ -5074,7 +5041,7 @@ "equation_Prims.l_True" ], 0, - "da147e56928bd647c41ac1b6a65359ff" + "e5d848a58de63e1b29220be98d957ff9" ], [ "FStar.Pointer.Base.live_nlive", @@ -5100,7 +5067,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "e6812fb5ab388f8019026e22aa16a709" + "514e787a03c0c61e7f3bdc46c2747477" ], [ "FStar.Pointer.Base.g_is_null_nlive", @@ -5114,7 +5081,7 @@ "typing_FStar.Pointer.Base.g_is_null" ], 0, - "86274ef5378ce0d6ded792dd48002eba" + "08b8c37caa756d5a046554d8829c3b5d" ], [ "FStar.Pointer.Base.greference_of", @@ -5150,7 +5117,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "ea6d053c650637d28f6cea4ab0db2330" + "daf348b78286e675d38ca15290ef5f6a" ], [ "FStar.Pointer.Base.unused_in_greference_of", @@ -5190,7 +5157,7 @@ "typing_FStar.Pointer.Base.greference_of" ], 0, - "8e9855e3511dcbd736c995c606536a69" + "a9f4782fac049341093943ee19f0e8c7" ], [ "FStar.Pointer.Base.live_not_unused_in", @@ -5239,7 +5206,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "ec9110922bffd4d576167afb3a08a2e5" + "638a8cdfc29b454cb31b3b265765a373" ], [ "FStar.Pointer.Base.gread", @@ -5265,7 +5232,7 @@ "refinement_interpretation_Tm_refine_74d04f3d69c944bb6c1ca407ab636711" ], 0, - "6f34b5f9aa9499e44f235796dd58b1e7" + "72ec65650b8c1f0a138043a8fb18a632" ], [ "FStar.Pointer.Base.frameOf", @@ -5283,7 +5250,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "86fc5a42de22a9ca539506df78df97c1" + "0c0e62ef13f92ce42a806bcbc69cccef" ], [ "FStar.Pointer.Base.live_region_frameOf", @@ -5326,7 +5293,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "6e3e034e279c1f70a9937bebf6690de4" + "cff64823051da9cca55e891896a35fb7" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -5367,7 +5334,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "275ee7f079ee054a41a44a73a0da5d04" + "ac5dd9aab7fb7029eb756f0b029ccba7" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -5410,7 +5377,7 @@ "typing_FStar.Monotonic.HyperStack.greference_of" ], 0, - "ea6036a4c17878b3c464963854baadec" + "886d4fc77a2f5ad4971b13bc0e5d8a21" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -5468,7 +5435,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8d72f16052d163d95f3beeb6b16d08e0" + "630cfb79750f83c386e8a4bf793c17cd" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -5525,7 +5492,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e160997d893b68c47ca639bf859493e9" + "ac0f26a66ece758bb3457f8b171a3a72" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -5560,7 +5527,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "94c7ac8ba50461cae64c08fe0eca6282" + "a86e33c12ffd981dd743d1b3589268a6" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -5599,7 +5566,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "8a91f5f3d444c3029abc6d8fe1ea2814" + "0de71f874d7611d56e65416d4c712c38" ], [ "FStar.Pointer.Base.is_mm", @@ -5617,7 +5584,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "a76692b23a751b11c4f03744b07dcf02" + "f78ef594bd7589200f555153330260b9" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -5643,7 +5610,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "64fa42aaca7829d1b098d0a086dd33da" + "ef85672300af0df53b4b10f0570d8d87" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -5668,7 +5635,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "c8f3de104c03a1013196a529594cc359" + "3e3b3663004be2cd1470f67c9f242d88" ], [ "FStar.Pointer.Base.unused_in_gfield", @@ -5696,7 +5663,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "d3bc66748a4247385dc8013a5f30bca2" + "8d5ca692f4055579d3a5c79723e34106" ], [ "FStar.Pointer.Base.live_gfield", @@ -5725,7 +5692,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "e0e2f39a46df0ae70caaf59e5647488b" + "ef1672fa9466cd8419a5cde0a6e95338" ], [ "FStar.Pointer.Base.gread_gfield", @@ -5741,7 +5708,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "dcb5c6e2a8595c3167b64a1ccd6ed09c" + "e646a9dcc5e3b74403d9473b9cc775fb" ], [ "FStar.Pointer.Base.gread_gfield", @@ -5860,7 +5827,7 @@ "typing_Tm_abs_9960ac31dfa7b5178b9dece32921ded2" ], 0, - "d81817d43027db87b67fdb5d2e029353" + "f87cffd5363107968995814972c712f3" ], [ "FStar.Pointer.Base.frameOf_gfield", @@ -5885,7 +5852,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "0ecde2f18e58bdf49fefe83da49acb2a" + "43a9500e81d9a4a895f526dc5734e5c3" ], [ "FStar.Pointer.Base.is_mm_gfield", @@ -5910,7 +5877,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "540b11c0b6a2744496d4db0743da974c" + "2e2839e2bd46de66e3c4afb0c0a14964" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -5936,7 +5903,7 @@ "typing_FStar.Pointer.Base.gufield" ], 0, - "c851b176ee346f29870f5c432068e83f" + "c3a00efeb1706db58311047430b8f079" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -5961,7 +5928,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "23c34a85f800d7c7039fbeafdcc664e4" + "39a1110a614f345484ddd2a5314fa261" ], [ "FStar.Pointer.Base.unused_in_gufield", @@ -5989,7 +5956,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "b12b9ebdbb32ebb471f61da5f2ca681f" + "cd1a198d1055fd96ea31b6ab8ecafca3" ], [ "FStar.Pointer.Base.live_gufield", @@ -6018,7 +5985,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "c260bf654798564a89bb83388321c57b" + "bb9ca90346a3c5fb54b3c4835e4400aa" ], [ "FStar.Pointer.Base.gread_gufield", @@ -6035,7 +6002,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_union" ], 0, - "6eac690437d05cd7f73732b35dafc54c" + "0a94d1eb9e80facd9adcbab6b2fc5c96" ], [ "FStar.Pointer.Base.gread_gufield", @@ -6165,7 +6132,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "b1972c512d89df9f0d2e24520cbdc60c" + "e603903c994e8ba777743079b21c66d3" ], [ "FStar.Pointer.Base.frameOf_gufield", @@ -6190,7 +6157,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "ccdbfd610136dfeaec37e92016387d90" + "5c458be133eff2963c103a12a57a9f42" ], [ "FStar.Pointer.Base.is_mm_gufield", @@ -6215,7 +6182,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "1ed1eaba11fd981051b8d4dd5cd778bb" + "eb07f199d34ae49783664df2d4671f9b" ], [ "FStar.Pointer.Base.gcell", @@ -6224,7 +6191,7 @@ 1, [ "@query" ], 0, - "e176cf1dec0afd5d6c0bb0ebde14d479" + "63e58dea5391a9af25dbb9cd3d3f63cf" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -6249,7 +6216,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "b82f68369b7ff602f4c08ca43d856d07" + "a40d77359138c98ab11952ae56e49258" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -6274,7 +6241,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "fc9029db7b199bfa712d6817077471f1" + "69b53f71649b6cf7da5416acfb68c01a" ], [ "FStar.Pointer.Base.unused_in_gcell", @@ -6302,7 +6269,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "21d2cc63633b85e56ab593f25f41e672" + "982dc75a474eb3be6138cd27702ace85" ], [ "FStar.Pointer.Base.live_gcell", @@ -6330,7 +6297,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "f025b23be2982dbf8e98bb9dcbe9d8be" + "1e10f4a02d079d6731f975291770a423" ], [ "FStar.Pointer.Base.gread_gcell", @@ -6355,7 +6322,7 @@ "typing_FStar.Pointer.Base.gread" ], 0, - "6ef92e5a691a96b862632b390af9eb3d" + "73213cb674f2c8bd6f8c822bc91d37c8" ], [ "FStar.Pointer.Base.gread_gcell", @@ -6485,7 +6452,7 @@ "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" ], 0, - "da5f89f7164058abc2b84bc4547a49d1" + "c38ecd3763ae7790ab57275ea7ee63b7" ], [ "FStar.Pointer.Base.frameOf_gcell", @@ -6510,7 +6477,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "0ca02e79e621e7805545e7783078d3ad" + "ff69e815c5fe4ed70a12c8634241008a" ], [ "FStar.Pointer.Base.is_mm_gcell", @@ -6535,7 +6502,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "8dd148af8e8a296fb44981406cf9fa77" + "0a16b6b7c641bc3173ebb2afe4def706" ], [ "FStar.Pointer.Base.includes", @@ -6555,7 +6522,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "072444df32317421ed69fb29017d3979" + "ce7a4dcd0cb342167384d597955a6f7d" ], [ "FStar.Pointer.Base.includes_refl", @@ -6587,7 +6554,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "a4a0b621d8dd7d5450460c8ad4445ee6" + "390335ad9e18708f85c5e4d6c1eaeecc" ], [ "FStar.Pointer.Base.includes_trans", @@ -6618,7 +6585,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "7fba5f5c9ab87f5265ab83dc9140848e" + "5a2a1b1cbd3d25f3e8bdd399c1b9ae76" ], [ "FStar.Pointer.Base.includes_gfield", @@ -6673,7 +6640,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "794d867ef6e9218ac39ddd167c0a0268" + "73c35362edad3dd854d048083aaeb4ad" ], [ "FStar.Pointer.Base.includes_gufield", @@ -6730,7 +6697,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "d870fbcdb551ea5dda9ce3c3a0d5cea0" + "d7f67b37d0277753c2f09369210031ff" ], [ "FStar.Pointer.Base.includes_gcell", @@ -6778,7 +6745,7 @@ "unit_typing" ], 0, - "3892de88a8b2bf8671f779ddddf354e2" + "e6070b8ac03ce4e458d2836a58d6d8fd" ], [ "FStar.Pointer.Base.includes_ind", @@ -6792,7 +6759,7 @@ "refinement_interpretation_Tm_refine_bc644e363f3618c98f527a696e25fc11" ], 0, - "1fed8a9ea4b50713678ac56eff8da126" + "3f48166f004863961b8f5ee61a21fb28" ], [ "FStar.Pointer.Base.includes_ind", @@ -6856,7 +6823,7 @@ "typing_FStar.Pointer.Base.path_includes" ], 0, - "0b888250c250dc22e85125acd297f647" + "ee656f3a30ab296f906519d0c936b414" ], [ "FStar.Pointer.Base.readable", @@ -6885,7 +6852,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "c08bdedd8d1621b62cd6fca536c7ce2e" + "b95b57318ff73ab984f80774594e82af" ], [ "FStar.Pointer.Base.readable_live", @@ -6894,7 +6861,7 @@ 1, [ "@query", "equation_FStar.Pointer.Base.readable", "l_and-interp" ], 0, - "8ec22401f18b25561e8e5aa44fc83c1b" + "6037b0e55b672c1b5a772a7f7f1f826d" ], [ "FStar.Pointer.Base.readable_gfield", @@ -6979,7 +6946,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "98530593c66c9560ee308c841ab53d25" + "2526da1431385582adecd7eacef59057" ], [ "FStar.Pointer.Base.readable_struct", @@ -7107,7 +7074,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "591762e3033776f9ce54e70c5b2e2e40" + "31c75475dfa1cceda80ef11cc5c5cec0" ], [ "FStar.Pointer.Base.readable_struct_fields'", @@ -7139,7 +7106,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "6a8c9dd9b00ce6bbe9536a9a2ed61589" + "7f656008f52a3e9b453b0d02ad93cca4" ], [ "FStar.Pointer.Base.readable_struct_fields_nil", @@ -7160,7 +7127,7 @@ "true_interp" ], 0, - "38eafbfd49176970459289070084ccb4" + "3f9a69a247238de26ceafcc8da1a92ba" ], [ "FStar.Pointer.Base.readable_struct_fields_cons", @@ -7194,7 +7161,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "d740199dc7ee16e925bd8b684ebb1c27" + "e6ced3b055927eb16d92245f4a196cdd" ], [ "FStar.Pointer.Base.readable_struct_fields_elim", @@ -7256,7 +7223,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "68c7b0a3db9c7bcc13d7742291afac43" + "72cc012b98d7f1cebcb263d7abe7b341" ], [ "FStar.Pointer.Base.readable_struct_fields_readable_struct", @@ -7293,7 +7260,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "501f3ac6a6a3cab4ab43e6f772181593" + "9691eb7088bd9ca24d5000afdc29e4c0" ], [ "FStar.Pointer.Base.readable_gcell", @@ -7368,7 +7335,7 @@ "typing_FStar.Pointer.Base.path_sel", "unit_typing" ], 0, - "6701a37af7f03d913bee91fd182a573b" + "040a8fd91ac6587b198299a645f7fbb3" ], [ "FStar.Pointer.Base.readable_array", @@ -7469,7 +7436,7 @@ "unit_typing" ], 0, - "1cd0b600ba51b9f7e8294cb711f9e24f" + "184cfba0d9367fb76c18cffc45ea7dfe" ], [ "FStar.Pointer.Base.readable_gufield", @@ -7590,7 +7557,7 @@ "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" ], 0, - "e425d259a981734064ab6c1cc735cd38" + "c76bc66a62b5f0c732d4392ba2ea8564" ], [ "FStar.Pointer.Base.is_active_union_field", @@ -7635,7 +7602,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "70cc4d0f51a2c36fc98935b6013d883a" + "6b3f023da42f98faca916562300f0a3e" ], [ "FStar.Pointer.Base.is_active_union_live", @@ -7647,7 +7614,7 @@ "l_and-interp" ], 0, - "6207db619c7a94c0339d61e75395ed52" + "7b2e9489e9f8776f1c803f79c68d0867" ], [ "FStar.Pointer.Base.is_active_union_field_live", @@ -7659,7 +7626,7 @@ "lemma_FStar.Pointer.Base.live_gufield" ], 0, - "c7493f42b6870fbd3d9cad0b640552f2" + "e8e801f65380b26f69ee4cf41da9c21a" ], [ "FStar.Pointer.Base.is_active_union_field_eq", @@ -7672,7 +7639,7 @@ "equation_FStar.Pointer.Base.struct_field", "l_and-interp" ], 0, - "c92b0599015b69d012669e24bb761150" + "005dbd913feae853cf0647e1bd583f25" ], [ "FStar.Pointer.Base.is_active_union_field_get_key", @@ -7748,7 +7715,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0c92e4b3425441073d6f8bd675047dae" + "98bc9219d264c048eecd1914b35123a8" ], [ "FStar.Pointer.Base.is_active_union_field_readable", @@ -7757,7 +7724,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.readable_gufield" ], 0, - "5e223b52c008fc7da9f6110b70e70316" + "85bc0221aaef5176b37c56d545a43bdf" ], [ "FStar.Pointer.Base.is_active_union_field_includes_readable", @@ -7862,7 +7829,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "d30cb7b0d2052cb932e24d75db47c738" + "34d17ce44b521c8563acf9ec3bc1046a" ], [ "FStar.Pointer.Base._singleton_buffer_of_pointer", @@ -7918,7 +7885,7 @@ "typing_FStar.UInt32.v" ], 0, - "ad9cb98b4b941253e60bd9a6ead389a9" + "c53f279aa61ec1b7274fcaf805efe4bf" ], [ "FStar.Pointer.Base.singleton_buffer_of_pointer", @@ -7943,7 +7910,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "95dc1eb1e990a8700c1514719c002c5d" + "8fc4174de586ce55cf9ad20498a84f37" ], [ "FStar.Pointer.Base.gbuffer_of_array_pointer", @@ -7980,7 +7947,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "e0865e680d305b35df5b46e65c89ec70" + "960bc03a893aa1a8686c5d598fc52006" ], [ "FStar.Pointer.Base.buffer_of_array_pointer", @@ -8014,7 +7981,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt32.v" ], 0, - "00ed8a3c0bc8a6b9d4719b5d8be230d4" + "9b32dcb2661eab55b6849b856940679c" ], [ "FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", @@ -8033,7 +8000,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "107d8fd94e5cb752b6bb012b872512eb" + "202d55b40a87503bc578e8fcb9e67d57" ], [ "FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", @@ -8047,7 +8014,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_blength" ], 0, - "1695c630fc121e2ec0221e301089f590" + "ce756e8d561016a0839811fe57f70ee4" ], [ "FStar.Pointer.Base.buffer_live", @@ -8067,7 +8034,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "ee0acfad8914b6c73facecbbde9fe880" + "ec9d5e210f19cc12d641f828349c9b1f" ], [ "FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", @@ -8101,7 +8068,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "c2be0f39b09914dcd1f11f8e024f5cd1" + "8a458374149e1660217ffaa4fe3c0ac9" ], [ "FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", @@ -8119,7 +8086,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "b977e6096d1faa1655c5d5ea33dc464e" + "0b42a09ea587088b2969e18c34146d1a" ], [ "FStar.Pointer.Base.buffer_unused_in", @@ -8136,7 +8103,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "e6b8085ca4bef4d7ede609b2513b51bf" + "ab214ad6eab71a45ad0ce28fcce7d6e7" ], [ "FStar.Pointer.Base.buffer_live_not_unused_in", @@ -8160,7 +8127,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "81a02e4694c07fcb0d604f94d4aefe8d" + "a6f545867002309db5fcd22a0bfad4c9" ], [ "FStar.Pointer.Base.buffer_unused_in_gsingleton_buffer_of_pointer", @@ -8193,7 +8160,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "99c98cf107f41dfebf376cea6112b9c5" + "9a2bb38e788be0fb95b71d91addaf283" ], [ "FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", @@ -8211,7 +8178,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "840c1fa28ac2146cd2a2b733a674d3a4" + "975d7e9da3058f95f46102be056ef5ac" ], [ "FStar.Pointer.Base.frameOf_buffer", @@ -8229,7 +8196,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "0737ddb386183dc2e57a9364f004a460" + "0ed27dd03dbd2796c4af1d7cea737185" ], [ "FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", @@ -8259,7 +8226,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "5f2b2eebb83bc61b0334bbccb2adff56" + "e1e3ed7b3c0e6d9e722cf9436b4f28ff" ], [ "FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", @@ -8277,7 +8244,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "db9d62e25d614b6568632ee77dd416af" + "69729b88512c3eca4785fe9063e692e8" ], [ "FStar.Pointer.Base.live_region_frameOf_buffer", @@ -8302,7 +8269,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "835ce919a26ce59b14ad752a14001593" + "9db62bbdf3f0e7b1673ad45cd1e57e32" ], [ "FStar.Pointer.Base.buffer_as_addr", @@ -8320,7 +8287,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "6f6cc200492cb305ec50cebd5b873b5e" + "7eaf0d863e689bb2c478dec08e8df39a" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -8354,7 +8321,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "9753f230beefc158c61e26e30de997b8" + "98acbcb1d77b15d1bede216e285c7161" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -8387,7 +8354,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "945061bd0d60219b0c0b7cf07b526d9c" + "b5602447e47cf2b706ae21f904594c69" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -8405,7 +8372,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "4a499bd725642d91cf8d38be03986a32" + "acbee5129a2326a8d91f3ea5fbd40a2b" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -8423,7 +8390,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "8184f1c2d63fc08b577c5e192261e7ad" + "34ba41fbfc0ca5f3c71af3b6476b62fd" ], [ "FStar.Pointer.Base.gsub_buffer", @@ -8453,7 +8420,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "adca709d0a17820ed87b2f113cf3671c" + "906bc6778e58bde030a631a0c266e1f1" ], [ "FStar.Pointer.Base.frameOf_buffer_gsub_buffer", @@ -8471,7 +8438,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "bf5937d7cb6b64d04d15505d06220760" + "9ea4e9d2a8619bdfa52b05cd7d24f486" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -8489,7 +8456,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "5267b5a672b668a3ca2432345e96d6bf" + "b6797b4f0075d7f28b3cfb266b48ebb9" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -8507,7 +8474,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "d2dd959e9b6316c0d21f90bbfbfe10cb" + "6c304559a4579bf3987044ea73bc0bfd" ], [ "FStar.Pointer.Base.sub_buffer", @@ -8516,7 +8483,7 @@ 1, [ "@query" ], 0, - "75af391d8ffbe4d69025db7a41377e27" + "d8e17d3e52011e573de3b8c668b76e1b" ], [ "FStar.Pointer.Base.sub_buffer", @@ -8558,7 +8525,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "6a06125dfcceda97f0754833f12758f5" + "811201b1be96b294a89787d48710ce98" ], [ "FStar.Pointer.Base.offset_buffer", @@ -8579,7 +8546,7 @@ "typing_FStar.UInt32.v" ], 0, - "5b16c82a6eadcb4f97b5d3c1b58da1d6" + "e1d5984443d7f32d4353f6b3b40bfa1c" ], [ "FStar.Pointer.Base.offset_buffer", @@ -8604,7 +8571,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "28494c8c0e3fcbcaa485c76f339f9fe9" + "2ee5f0cfabaecc7c7d4c2da5d9ce4596" ], [ "FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -8618,7 +8585,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_blength" ], 0, - "2268c5c3d0185b9be23460b352d80a5e" + "564c9450969650c5cd7a6de9ab3ed5d0" ], [ "FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", @@ -8636,7 +8603,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "75c93c3e7990e24f7f6a9fc3072a5a18" + "f6c4744aa027e9d072f6c346cc51a746" ], [ "FStar.Pointer.Base.buffer_live_gsub_buffer_intro", @@ -8645,7 +8612,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv" ], 0, - "1924e7c0f4490669cd4b1acadcaf69d5" + "f4b904c12439da42376d866047093a9d" ], [ "FStar.Pointer.Base.buffer_unused_in_gsub_buffer", @@ -8663,7 +8630,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "6f52c347386b8e4e619f657fc0e9463a" + "ca79cdcc696dbcca402b313f76c0b251" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -8689,7 +8656,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "89b425eaa4b3aff64bef15877e589d1e" + "f633c3079d3ddcb9249ec9f406cee151" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -8732,7 +8699,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "a12be61b2c8c5a5a847c95756df103d0" + "4467de3dfbc280a7ced66e9b15932b07" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -8755,7 +8722,7 @@ "typing_FStar.UInt32.v" ], 0, - "fd87cc80d3e381ae6bb18857e68fc698" + "b447b43d0eccca304be54ebe0d4cba7d" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -8787,7 +8754,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "e4e56888821220e667eeed4b2ce5c7b7" + "36d4dbee72d3fae2c7c1b7b78560e182" ], [ "FStar.Pointer.Base.buffer_root_as_seq", @@ -8811,7 +8778,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "b591f27248a0ab6aac7375abf50b8e14" + "6e47d920e5405f9a78cf74da54b13b0c" ], [ "FStar.Pointer.Base.length_buffer_root_as_seq", @@ -8874,7 +8841,7 @@ "typing_FStar.UInt32.v" ], 0, - "223ff9c89d89fb0341da5bf1ebb5358d" + "d0ca57148d12aeb35b76ac91bc8d2158" ], [ "FStar.Pointer.Base.buffer_as_seq", @@ -8920,7 +8887,7 @@ "typing_FStar.UInt32.v" ], 0, - "085c9e96f9a0095037ab3c289051cb18" + "edf4b9833393eb02cd17ed5723dac2da" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -8963,7 +8930,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "634bc0d685758b947d5f9e80c6937bfb" + "041f2660dd9249c009c53ee3817cc8c9" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -9014,7 +8981,7 @@ "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" ], 0, - "1a9833c73ae09960b1957e0a6caf3dd2" + "d69e6eaa0ce7962732ff9fed03ae5ea6" ], [ "FStar.Pointer.Base.buffer_as_seq_gsingleton_buffer_of_pointer", @@ -9188,7 +9155,7 @@ "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" ], 0, - "27fc6903858030bbe9704e750f47dc1d" + "0e9fbd0ab5455def75f9c1153137ac66" ], [ "FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", @@ -9244,7 +9211,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "07bb0b6dfa3a1e39c2eb33a1d23d9221" + "2ccfd2999d340b58e8d810dbc906ec7d" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -9269,7 +9236,7 @@ "typing_FStar.UInt32.v" ], 0, - "644e349db93c78587b8d5809ed0fb998" + "0c937a93bfad06b07182d4983049f170" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -9322,7 +9289,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "92ccf5b23fda8c2f413f0f66845072d9" + "cc1650859e69cf98d493fbbe8dba9584" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell", @@ -9365,7 +9332,7 @@ "unit_typing" ], 0, - "14c726c64e53812ca54e4c208c252ce2" + "ec90875dcd1b8be1cc7a86acca7c9394" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -9374,7 +9341,7 @@ 1, [ "@query" ], 0, - "e9dce1d9bdbe98880354ccd25c0a9547" + "de0f6af113c72c83aa9ebbaed2867b04" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -9433,7 +9400,7 @@ "unit_typing" ], 0, - "27463d7f49c7a434969aced583f0fb6d" + "900043287cfe9e3e25184aacb269068a" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -9457,7 +9424,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "a66e7a04a2c3a70aac3b3703ea423ba9" + "4bd6a872ae64209aba3124e05cc5a6b4" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -9510,7 +9477,7 @@ "typing_FStar.UInt32.v" ], 0, - "9822fdc263985666e5738ee9fcfef6fc" + "2dd6bb16f93753bfba970c8a47fde937" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", @@ -9534,7 +9501,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "d1ffaa680588c078e703ddab5bb536e4" + "bf523ac7d84912edf12957462e47afca" ], [ "FStar.Pointer.Base.live_gpointer_of_buffer_cell", @@ -9574,7 +9541,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "eaea4daddf669df5fe272ff4460c767d" + "581564ea437c5f5f036f3ee92fe39613" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -9604,7 +9571,7 @@ "typing_FStar.UInt32.v" ], 0, - "16ee04909025bf6ae2171a3b9b7361e1" + "e4b644a3c7bec4406f158c0f28c8d476" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -9660,7 +9627,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "93941e7adc50afa5257476c6c4a70ca3" + "78fdecc72cb73a72861a1296e3a66bcd" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -9672,7 +9639,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" ], 0, - "9b5259e6c157c7c8230826610d0b9785" + "5c7c5dec350d6e52d4a73d08e0f03a13" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -9712,7 +9679,7 @@ "typing_FStar.UInt32.v" ], 0, - "e4736eee1344b6377c72a7088be6e63a" + "1a56a2d8996d804b862eb25d234d4265" ], [ "FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", @@ -9746,7 +9713,7 @@ "typing_FStar.UInt32.v" ], 0, - "9de483653233f88a68234c5d7a8e0873" + "0eedea3715a692a08c750f069c937f75" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -9778,7 +9745,7 @@ "typing_FStar.UInt32.v" ], 0, - "1e6ff46d76058ee0d10d3ae25bdb229b" + "e95443eb97e4dd07c1b9685715dcf730" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -9812,7 +9779,7 @@ "typing_FStar.UInt32.v" ], 0, - "f4fd03342c4f3cd48466d6a948e22862" + "91594da13ceaa26d5ac7c1dba114087c" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -9835,7 +9802,7 @@ "typing_FStar.UInt32.v" ], 0, - "bb6d798a296c63faa80eda087df86b43" + "0a7aedeedcdeac470710f6d5376eade8" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -9908,7 +9875,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "3371d37903c57f55ba835fb1af9d9a38" + "b6e2a46cbe76860e40660bd00e168fe4" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -9931,7 +9898,7 @@ "typing_FStar.UInt32.v" ], 0, - "0fe3c0f8006109b0f8ec69c85d07e59f" + "bd7a40456c8eecb10e4f4becdb7f2233" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -9945,7 +9912,7 @@ "@query", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell" ], 0, - "13ca4ae9a7fb790216acd009774dee5c" + "8ede5197125270d325ed463b28babc19" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -9970,7 +9937,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "52d78da839546b76648f58ff26d57515" + "388188b5f6017395c7167d23f224a31c" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -10006,7 +9973,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "05f21dd764db8a81445df07406b9a040" + "f5264ae5d519e4b6c92587853a3e38ae" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -10060,7 +10027,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e" ], 0, - "0c302dae3a732b545a18ce500dd9789b" + "99346e902d02a2df9beb6e76d22bd1cd" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -10117,7 +10084,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "baef0139cdde8b1bf336d24489ee30f5" + "c6d7398d0ed0e2a0007ba69e8d4a3358" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -10149,7 +10116,7 @@ "typing_FStar.UInt32.v" ], 0, - "32ebb390f3d546b7aac9ec48f73ffba2" + "7022bdb7bd215a11ae0be5db43eb6721" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -10229,7 +10196,7 @@ "typing_FStar.UInt32.v" ], 0, - "1275beeef83b95488cf17963cdeccfe9" + "106536f1ba1d4267552200778d3c25ca" ], [ "FStar.Pointer.Base.buffer_readable_buffer_live", @@ -10241,7 +10208,7 @@ "equation_FStar.Pointer.Base.buffer_readable_" ], 0, - "fc72a81cd398221907031b90f562df51" + "e74f403a43ae1fd56aa7359eeb639866" ], [ "FStar.Pointer.Base.buffer_readable_gsingleton_buffer_of_pointer", @@ -10321,7 +10288,7 @@ "typing_FStar.UInt32.v" ], 0, - "79149de43e38fb961bb538bbe1c91bbd" + "8a7277c7c4c57bb93ad2a0fb05061b5b" ], [ "FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", @@ -10342,7 +10309,7 @@ "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c" ], 0, - "111da2522cf461d40fe972ee9ca09355" + "051c83addf9e4d02a0a653b0184f0b5e" ], [ "FStar.Pointer.Base.buffer_readable_gsub_buffer", @@ -10380,7 +10347,7 @@ "typing_FStar.UInt32.v" ], 0, - "dc06d91860b2e2195cfba7dba825335c" + "3470d5c6917108dee04cf0566192fbc9" ], [ "FStar.Pointer.Base.readable_gpointer_of_buffer_cell", @@ -10392,7 +10359,7 @@ "equation_FStar.Pointer.Base.buffer_readable_" ], 0, - "118060c4502de726d48b9c870a0f9990" + "40007549dc83be4f84796d7ec795b773" ], [ "FStar.Pointer.Base.buffer_readable_intro", @@ -10406,7 +10373,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "d7f2c8205928fc1292c377c63444f685" + "d6941cee463994d232c16c03af3b3861" ], [ "FStar.Pointer.Base.buffer_readable_elim", @@ -10418,7 +10385,7 @@ "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell" ], 0, - "5570efc4eaa95d09e1257ad0bd484758" + "6303fd9489da53c093938c9eb420a67a" ], [ "FStar.Pointer.Base.disjoint", @@ -10440,7 +10407,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "3d2fff4918176a883a02a30cfc81d88e" + "dbf22a298b79f861867e4611a6040a76" ], [ "FStar.Pointer.Base.disjoint_root", @@ -10458,7 +10425,7 @@ "true_interp" ], 0, - "036643674aac328350b287dc2f263265" + "f9e71ccac1de9c55bfca8778aee0ea10" ], [ "FStar.Pointer.Base.disjoint_gfield", @@ -10510,7 +10477,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "08ca8e4249e908fe9d84c9150ba2b9c8" + "dd73dd837169c6e5a8157b35c9a4027f" ], [ "FStar.Pointer.Base.disjoint_gcell", @@ -10568,7 +10535,7 @@ "typing_FStar.Pointer.Base.step_disjoint", "typing_FStar.UInt32.v" ], 0, - "4370a366f180de0a5ea2b8015cf7e33c" + "7d6093364ba770fcc7b65e7a5785c9ff" ], [ "FStar.Pointer.Base.disjoint_includes", @@ -10613,7 +10580,7 @@ "typing_FStar.Pointer.Base.path_includes" ], 0, - "60a744188253fb69d6235a8b556c53f4" + "504de417923e38f1138baa684614cf1c" ], [ "FStar.Pointer.Base.disjoint_ind", @@ -10636,7 +10603,7 @@ "true_interp" ], 0, - "b1f1493364243e658a61f5f871bc7336" + "e6090b89952e0d3d33c69a2306552721" ], [ "FStar.Pointer.Base.disjoint_ind", @@ -10725,7 +10692,7 @@ "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "fe0dc1ccbd9132840c42d307fbeee462" + "32f596da161d4086f86642b0ecc421bd" ], [ "FStar.Pointer.Base.disjoint_sym", @@ -10747,7 +10714,7 @@ "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799" ], 0, - "d15454403db62b6ea56a70f82f6e0878" + "f2cd3af89a9f2c86a69eec3628337d7f" ], [ "FStar.Pointer.Base.disjoint_sym'", @@ -10756,7 +10723,7 @@ 1, [ "@query" ], 0, - "4cdf8f5bf42188e7ad7e61cfe0e7773d" + "93be6d7bd9b99890e912cb0af51e5c44" ], [ "FStar.Pointer.Base.disjoint_includes_l", @@ -10765,7 +10732,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.includes_refl" ], 0, - "672ea273632976691aa4fa614e11b5cb" + "e84f1a9e21a86737027432078fcff7c6" ], [ "FStar.Pointer.Base.disjoint_includes_l_swap", @@ -10774,7 +10741,7 @@ 1, [ "@query" ], 0, - "f446c682b1eef5279ae6405abe167c42" + "8eff9723321d424b32a7ecd1a03a34f6" ], [ "FStar.Pointer.Base.disjoint_includes_r", @@ -10783,7 +10750,7 @@ 1, [ "@query" ], 0, - "2d57d8c3ab088b025ecc77973b97007a" + "e87dc2bf56657207a2d0fe31023affb9" ], [ "FStar.Pointer.Base.__proj__LocBuffer__item__t", @@ -10797,7 +10764,7 @@ "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" ], 0, - "bb15ca5b52788de655888dd0f927a3f8" + "752ccf9c7adc4a01ad42754552d04d85" ], [ "FStar.Pointer.Base.__proj__LocBuffer__item__b", @@ -10813,7 +10780,7 @@ "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" ], 0, - "ce533ee2132d6a86af39102c12a91903" + "db098f24238b028c6c0e956322d6aea4" ], [ "FStar.Pointer.Base.__proj__LocPointer__item__t", @@ -10827,7 +10794,7 @@ "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" ], 0, - "5d09f08e087c2dd24cec39f2cdf30e7a" + "85f98dba50f04e0cfad5f3957537d840" ], [ "FStar.Pointer.Base.__proj__LocPointer__item__p", @@ -10847,7 +10814,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "f7006afacf961be154803d4d1602c574" + "09074b01458a06c510f9e345ca02119d" ], [ "FStar.Pointer.Base.loc_aux_includes_pointer", @@ -10864,7 +10831,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "b1e403071438f9199e6c76a0a6b3e1a2" + "a13ccd84212acb88f37ddd28c9dcb835" ], [ "FStar.Pointer.Base.loc_aux_includes_pointer_trans", @@ -10888,7 +10855,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "20cd9d34c2e6bea25788f34b2ef33f7a" + "a740d6425633b4d9a12065bc893541b9" ], [ "FStar.Pointer.Base.loc_aux_includes", @@ -10906,7 +10873,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "3eb61ed97c8e69da0d2bae142699caec" + "e62749900adcdc95c96babf1e5894192" ], [ "FStar.Pointer.Base.loc_aux_includes_refl'", @@ -10931,7 +10898,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "6f535a078aee889893761864601a6cd2" + "962645b26c2724e6a82c1e22268b7575" ], [ "FStar.Pointer.Base.loc_aux_includes_loc_aux_includes_pointer", @@ -10955,7 +10922,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "3f1d8c7aa2bdf08f5ba7370895e281fc" + "80d8574529318063a999b1c7c35c94c0" ], [ "FStar.Pointer.Base.loc_aux_includes_trans", @@ -10977,7 +10944,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "5e1c8ef2f106e0f3a1efba4356e34b20" + "d1a05ee95078bfe368377eb15f24ff2a" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer", @@ -10998,7 +10965,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "d7435280b10f0e5ab77a9e65ce8a4e74" + "5512b791a65629c5ad767a0883c2ab52" ], [ "FStar.Pointer.Base.loc_aux_disjoint_buffer_sym", @@ -11018,7 +10985,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "5f412762cbd4cba12e6129f2c79cf458" + "7aa7f89fbc7a574f1e550b94f7b906ea" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer_buffer_sym", @@ -11041,7 +11008,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "49104902e64a016bb22bebf9d0ea1e9d" + "1b31d4e4ce3064d3f19b66390f198644" ], [ "FStar.Pointer.Base.loc_aux_disjoint", @@ -11061,7 +11028,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "476d56bbb562cfd0d337f05c64b03e31" + "7a7e84cd8f34c5e52231e3d96c0e87c0" ], [ "FStar.Pointer.Base.loc_aux_disjoint_sym", @@ -11089,7 +11056,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "1238c76c5a37744563fbb697ffb427f7" + "aca22b075e7d550df5795cc7bd27d230" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer_includes", @@ -11120,7 +11087,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "4063d7f433cee74e6291ea8a7991aac2" + "0630b1f830ce6ce04bf2820052d6b405" ], [ "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes_pointer", @@ -11144,7 +11111,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "aa8cd4d7ad2274b39c61ebfea1a589ab" + "2adf6b833afc1c0256133ae8093b020c" ], [ "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes", @@ -11168,7 +11135,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "2d73edff9b1d05cc9e8df335bef5ab4c" + "71a936ba6a46fdd38401d5e9b56c3a43" ], [ "FStar.Pointer.Base.loc_aux_preserved", @@ -11182,7 +11149,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux" ], 0, - "b46b2d298d1da44704a9d8ab8e7d73de" + "85d4b1245809818a02738745b7547e26" ], [ "FStar.Pointer.Base.pointer_preserved_intro", @@ -11236,7 +11203,7 @@ "unit_typing" ], 0, - "ad14d5291eda496c48ca6c27f64d6b02" + "3150dc4c87559ef005a99323a5ec7d77" ], [ "FStar.Pointer.Base.pointer_preserved_intro", @@ -11288,7 +11255,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "23b8a00590cad51b3cfb4fb8f9ee1623" + "8e55da5830cef2f903f012700b8b68e2" ], [ "FStar.Pointer.Base.buffer_preserved_intro", @@ -11308,7 +11275,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_9c96b8243c99fcc2ccb0bb6525db8652" ], 0, - "7b00ca2f7fd6e3a15268e72ac2d23360" + "90b43420ec669fef1abd8893ef37d455" ], [ "FStar.Pointer.Base.buffer_preserved_intro", @@ -11325,7 +11292,7 @@ "refinement_interpretation_Tm_refine_4a180d7aa1afd0a2fad463fd9c642bcc" ], 0, - "8c95e2335910b1b2be6404bf1967b564" + "a8439e37ef5efc6ba5d08a9b7de807e8" ], [ "FStar.Pointer.Base.disjoint_not_self", @@ -11347,7 +11314,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "aa7d8c88f56bafc38815bcf9b1ea626d" + "ec15152e4aeeff9ee4b6373e4ea7fcea" ], [ "FStar.Pointer.Base.loc_aux_in_addr", @@ -11365,7 +11332,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "6a962ccab8d05d153613cffeeca133b1" + "f689bcffdba2c21a1d0b75b0772e05cd" ], [ "FStar.Pointer.Base.cls", @@ -11399,7 +11366,7 @@ "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c" ], 0, - "bedb9a0a4e3bb1f6358434f11c8bafd5" + "99354236f602646957e0ac10144b6f95" ], [ "FStar.Pointer.Base.loc_union_idem", @@ -11419,7 +11386,7 @@ "typing_Prims.eq2" ], 0, - "bb1f765b0096b73abfc4120299a42dfd" + "5c121b5e3c0598ffe8db8de7b6065cd9" ], [ "FStar.Pointer.Base.loc_pointer", @@ -11434,7 +11401,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "ec2da32d394e3457f03417a3a714013d" + "21b4b1dd8b6983cee7119c1cbdc0fe4c" ], [ "FStar.Pointer.Base.loc_buffer", @@ -11449,7 +11416,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "3b8c651c9748f1885433da5700061e4d" + "8e0368de2e082c7075d704cbd81cea42" ], [ "FStar.Pointer.Base.loc_addresses", @@ -11463,7 +11430,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ec17f4c8eeaa0168880bf7125d37a96d" + "0cfbd0e796a7fe974149a92c92093135" ], [ "FStar.Pointer.Base.loc_includes_refl", @@ -11496,7 +11463,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "014c7fa506db1ed3d9b675d173528265" + "7edba90c3bd64504ffa1e7dacd9df2a4" ], [ "FStar.Pointer.Base.loc_includes_trans", @@ -11537,7 +11504,7 @@ "typing_FStar.Set.union" ], 0, - "b21b85a074672b959f8c31a325f8ad4c" + "d5194e176e51d0a74d3cf550280ef5a3" ], [ "FStar.Pointer.Base.loc_includes_union_r", @@ -11628,7 +11595,7 @@ "typing_Prims.eq2", "unit_typing" ], 0, - "88b681a767d414d43625b60ac3ae71f5" + "6dd777ee777f3daeaa1f9b941adadf37" ], [ "FStar.Pointer.Base.loc_includes_union_l", @@ -11716,7 +11683,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union", "unit_typing" ], 0, - "eedea9ae4cf831b44a07989e39bfdcef" + "dd253116525a2110446243ea5503fadb" ], [ "FStar.Pointer.Base.loc_includes_none", @@ -11765,7 +11732,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "c75cb3d3f8d578afe1d061881555ca04" + "2a1ef566ff3b0658b9c2eea41f45204d" ], [ "FStar.Pointer.Base.loc_includes_pointer_pointer", @@ -11810,7 +11777,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "cfe953b297ed5ca1125fa0bfd30d0a79" + "f18ae2c3cd1dd6ba548642d0759cbec3" ], [ "FStar.Pointer.Base.loc_includes_gsingleton_buffer_of_pointer", @@ -11898,7 +11865,7 @@ "typing_FStar.UInt32.v" ], 0, - "950fc325349d6d22f95a674fb7d7986b" + "2d72078b676f35c356e400f44c4eba18" ], [ "FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", @@ -11980,7 +11947,7 @@ "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt32.v" ], 0, - "c40168344a43d512e176ef6300d4c250" + "b9460d650f4095fd0baf444d66ee98be" ], [ "FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", @@ -12013,7 +11980,7 @@ "token_correspondence_FStar.Pointer.Base.loc_aux_includes" ], 0, - "05c9126fe456928afbd14d858bd4f35e" + "f31d06c6a0d1f5518870a9b0df9b5d7f" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_r", @@ -12059,7 +12026,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "dd43b86cad47a93feb409e9ef6f9ae88" + "351d93d90a8d98018cfa39ac6805c78f" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -12068,7 +12035,7 @@ 1, [ "@query" ], 0, - "2258dcc60eb62aa2613739e6cd8a26b1" + "cafb41e1ccc0e327f1a08afb6196a1f3" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -12137,7 +12104,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "9981218579a0e0ebd352c161cc4ae80a" + "b71f35170cbb8fa5cbab8b21d9a94427" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12151,7 +12118,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eea3ef01c4250de015d600c30168168e" + "5675103ba6e71b6701a63519a445db8b" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12165,7 +12132,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1d05cabaef7791b5a9712d8e39ee3853" + "d44b94ae94834468228aa9001165f652" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12197,7 +12164,7 @@ "typing_FStar.Set.mem" ], 0, - "5f0d837c229194d72e0a007c5f6855d0" + "df8e3205ed1e98b1b9f34aa4da61b4eb" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12211,7 +12178,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0bbaac766cdb65f319b5ee4dc4027226" + "cce3406f17713418a2d7ea461eb79245" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12225,7 +12192,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e18fd57dd5fb633b35fe1998e9002ed" + "15a82e756aeda7ffde88812ba352a126" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12245,7 +12212,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "dce7fd924045f51b62f1ddfc698d409c" + "fceb6ba738e702c511460cc74dcb3250" ], [ "FStar.Pointer.Base.loc_includes_region_pointer", @@ -12272,7 +12239,7 @@ "typing_FStar.Set.mem" ], 0, - "2df94ab011d72bcaf62377330fc7da53" + "413f63ca8de3df64aecf587bd5b3b19e" ], [ "FStar.Pointer.Base.loc_includes_region_buffer", @@ -12292,7 +12259,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "9c8997d0d082ea70b822412f6b19683c" + "3a7b36db3a794f5a8f625e16c58df0e6" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -12306,7 +12273,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9dbfb28977ec5503b86ce20e2d784af8" + "be31a6aa5167558919905108c03434da" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -12357,7 +12324,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "61b54e823ad5500c1ea63e40ad8999aa" + "2fcc1ff7d2b9846f4159d0b1fd1d226a" ], [ "FStar.Pointer.Base.loc_includes_region_region", @@ -12403,7 +12370,7 @@ "typing_FStar.Set.union" ], 0, - "ebebaa44290f08003ee35447d863ffed" + "d329792c4efc4686efa6236a16ba956e" ], [ "FStar.Pointer.Base.loc_includes_region_union_l", @@ -12467,7 +12434,7 @@ "typing_Prims.eq2" ], 0, - "613bc06f172ca072ad467b6dfa93acb5" + "066353d6dc808c5ba56cc464476a6c7a" ], [ "FStar.Pointer.Base.loc_disjoint_sym", @@ -12507,7 +12474,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "4eb556be2048df33fc624a2cb88116c0" + "42632436893f954b8dc914cc03a7e8ff" ], [ "FStar.Pointer.Base.loc_disjoint_none_r", @@ -12552,7 +12519,7 @@ "typing_FStar.Set.union" ], 0, - "787855890f3bc4252f616c1adb2fa80c" + "4e21fd9fa6abe73ffcb32fae89996546" ], [ "FStar.Pointer.Base.loc_disjoint_union_r", @@ -12626,7 +12593,7 @@ "typing_FStar.Set.union", "unit_typing" ], 0, - "e4155b1d08af7cce509daf7e6b2e42bb" + "bfe1eafc7a664766a66750566f376842" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -12640,7 +12607,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "73caaf43f54e3329e82da7d59122e76f" + "e5d001c167d99a341ec3ef6997f69fe2" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -12665,7 +12632,7 @@ "typing_FStar.Pointer.Base.as_addr" ], 0, - "34fb72589026d0de10f4c03d40c071dd" + "fcc52ab80d9cb6f4edbedb2f348dea28" ], [ "FStar.Pointer.Base.loc_disjoint_gfield", @@ -12711,7 +12678,7 @@ "unit_typing" ], 0, - "4feb75e9317973c2d829c5a2454e37e4" + "612d31d8b54184f766b2abaa7adb330e" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -12725,7 +12692,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed15174a13012a8e76eb0babd6c6fc08" + "0eef6120367a2d5a0c222a89f0751c43" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -12763,7 +12730,7 @@ "unit_typing" ], 0, - "f016b399ba00a0134a67ea049c96b27e" + "01850e08de7bcd94cd15af993346b773" ], [ "FStar.Pointer.Base.loc_disjoint_includes", @@ -12813,7 +12780,7 @@ "typing_FStar.Set.set" ], 0, - "f491c9c5f4793046d83a37dec9c76f8d" + "ae61cb526297c080075871f19ba812e5" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -12827,7 +12794,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c5dfcfa3a240389760e6905a49bcf1d4" + "6c3cf3a6ab0289d8d9520fd5e49e64b1" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -12867,7 +12834,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "c9bae1ace9b42480149100eec1550b9f" + "ae580792446e0d94e284fc4f6a2ecd59" ], [ "FStar.Pointer.Base.live_unused_in_disjoint", @@ -12907,7 +12874,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "b9b8e042cc3dad65345fa441d5db7dfb" + "f5237f1343854d03066a7b90f68835da" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -12921,7 +12888,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8965f2236e3bd5f5d31fa73e81579495" + "2c6435162f3dff9d9a64d51804dbbcff" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -12960,7 +12927,7 @@ "typing_FStar.Pointer.Base.as_addr" ], 0, - "56fd38ef95085abce7d922a1ff327fb9" + "5ac18f47ab8d85bd83eebc8fcc68af2f" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -12974,7 +12941,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "abd3d3b4bdf8750d0a5dfc4e15714b59" + "26d9811eae286a24fe2c273b89123997" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -13013,7 +12980,7 @@ "typing_FStar.Pointer.Base.as_addr" ], 0, - "3b6773c0b03fae9512f11196b4651f0b" + "fd8cc1b81b1178d71aa1e4055580065c" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -13022,7 +12989,7 @@ 1, [ "@query" ], 0, - "f71fa5e28b250748eef3eb460aa9496e" + "1d1ee5c610a98b2474fa45cefd11b1bf" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -13100,7 +13067,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "720115cec4bf9f09b522b6223f0993ea" + "e7dc638513dde94b60325a9f9dcfc81f" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -13114,7 +13081,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cb360af1bd03a55429d4d2d8ecd5db9c" + "ff28c0a1311c7f85a80155970dcacecb" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -13176,7 +13143,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "420ed05e10b24e842ec454a1581292b9" + "519df2f2adba7a3026376bea22e03e8e" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", @@ -13194,7 +13161,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_780a58d3abf8ac8412c61f118449e052" ], 0, - "fa0f0c3f0d416df2f3fa0716da3bcfd5" + "a761d229ba3b5ccb8af0dd6cf7dffb87" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", @@ -13212,7 +13179,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_8c23b222cc3779bf1b758c868f138137" ], 0, - "ce829404839e0212629daa9e634fa191" + "d2a2fb9b8986b85f61e50959811d0661" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -13226,7 +13193,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29ed1cafd438733f2488041476a275fe" + "ad1b5c6db05f40b5bc4a0a4d09ff9111" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -13276,7 +13243,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton" ], 0, - "238330fcf05b0e372a952781c358187c" + "1207d08ae8b7d59b624a80b9c74adf49" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -13290,7 +13257,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "38444dc40f7de7241032f940985b5338" + "dc5dcf74e7602a42dbed1c614ddf3560" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -13304,7 +13271,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0a71f82d96683ad1e5252e30c654d2f" + "44157cd20a4f7ad1ea004fac47ffc93b" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -13329,7 +13296,7 @@ "typing_FStar.Pointer.Base.as_addr", "typing_FStar.Set.mem" ], 0, - "7d684451609ff3233d0fd92789394612" + "028fbf1f738b639a8f6be2b4b367beba" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -13343,7 +13310,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "02999b7daec8facf8bad22da59e7917c" + "9dce0fbac87fae05781ad8ef584d36cb" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -13357,7 +13324,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3447c38d10a9bb3fd68bde0179fb2dfa" + "1bc45b1ee61a49cff80a92f69a9f11bf" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -13385,7 +13352,7 @@ "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem" ], 0, - "63351fca3834763f36ae5df72f4e4c90" + "18060a4f90fe2c499072cf29b5d85e82" ], [ "FStar.Pointer.Base.loc_disjoint_regions", @@ -13431,7 +13398,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "13c8993b7b83d7a634c44000be1e0647" + "2283ce6318c871773e8ae3cd5b5f6863" ], [ "FStar.Pointer.Base.modifies_loc_regions_intro", @@ -13493,7 +13460,7 @@ "typing_FStar.Set.union" ], 0, - "8352639d8d3406ae50abc02305adf5d7" + "063af916537d787a55e9666a5f467ee6" ], [ "FStar.Pointer.Base.modifies_pointer_elim", @@ -13519,7 +13486,7 @@ "token_correspondence_FStar.Pointer.Base.loc_aux_preserved" ], 0, - "0d2a05c1f9bde88ac2a55c279fb62198" + "1b9341a1ebdb82cfa8e69d4d0e5dfab2" ], [ "FStar.Pointer.Base.modifies_buffer_elim'", @@ -13564,7 +13531,7 @@ "typing_FStar.UInt32.uint_to_t" ], 0, - "a29d48a44b2b092893bfa039a1bab8a0" + "a6881e8574bd8affcee131ffc02e8f7a" ], [ "FStar.Pointer.Base.modifies_buffer_elim", @@ -13611,7 +13578,7 @@ "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" ], 0, - "4d909294deca9536fcc69a0e19fa130f" + "76bc06641e8ef086c0afa8ffd39992f1" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -13625,7 +13592,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29c04ea27082dfdc3d4630dafbfb8edd" + "314a41c5c5f67939ac5bcca370ec9a8a" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -13654,7 +13621,7 @@ "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "829fd9dfb0216a5b9f3e002500d4b8dc" + "11e790f2b9e084270af97a4535d48efe" ], [ "FStar.Pointer.Base.modifies_refl", @@ -13703,7 +13670,7 @@ "typing_FStar.Set.complement" ], 0, - "ba4df55cdc098c4a90aa938e012eece5" + "82cc103f880b740e90cf7944e83735f4" ], [ "FStar.Pointer.Base.modifies_loc_includes", @@ -13717,7 +13684,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "c1cf6848ebd2adc2744b8efae10eb7e6" + "a443063416d14d5713c375a4a919e2a3" ], [ "FStar.Pointer.Base.modifies_trans", @@ -13731,7 +13698,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "bbff121926c637e54e95ccddd50a5a03" + "7efe9aafed0b4dc03f3dd6c33036fbf0" ], [ "FStar.Pointer.Base.screate", @@ -13868,7 +13835,7 @@ "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" ], 0, - "efc4ff9d77a2c93543fd1bdcdf170632" + "bd57d462e8fd1523ce9068a34d9f2034" ], [ "FStar.Pointer.Base.domain_upd", @@ -13906,7 +13873,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "8a3ccc4beeafc84302152f5aade77b7a" + "1fd59eefffd513219fda807113824d47" ], [ "FStar.Pointer.Base.ecreate", @@ -14046,7 +14013,7 @@ "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" ], 0, - "245865ef2ec16d7eb652c3d6cab3953d" + "ecb639399cd7488ba038299b8dea7ddc" ], [ "FStar.Pointer.Base.field", @@ -14074,7 +14041,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "56bd4f82675a0dd90946835d786a84a4" + "72a095283dd6e2bf4501386bd12e6379" ], [ "FStar.Pointer.Base.ufield", @@ -14102,7 +14069,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "1baf05dd1c901a8cd506789aad810ae2" + "4ca6b314ddda597a8e2bce6e68c4333d" ], [ "FStar.Pointer.Base.cell", @@ -14111,7 +14078,7 @@ 1, [ "@query" ], 0, - "c30875f0d4d462923a5a90dad0ab565a" + "8505153c901bbd3f5aece6145b634f3b" ], [ "FStar.Pointer.Base.cell", @@ -14134,7 +14101,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "c2255f42eb77fbbb53d8dc5ba5ac8956" + "8dbed4b9f431495702544ce3f497bcfd" ], [ "FStar.Pointer.Base.reference_of", @@ -14185,7 +14152,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "2d795e169c78c0152255f8f41729769d" + "acc9cdf0193ff3a8271c70112d1cf863" ], [ "FStar.Pointer.Base.read", @@ -14238,7 +14205,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0b07f2da011b4a75b089428323f26622" + "5a54aa823127280c36350d89d3431d68" ], [ "FStar.Pointer.Base.is_null", @@ -14269,7 +14236,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "3ffa02ea144aa15154ac6408165e2f9c" + "62db25bfa8c3e9442b4a6eee3290c945" ], [ "FStar.Pointer.Base.owrite", @@ -14435,7 +14402,7 @@ "typing_Prims.l_and" ], 0, - "7c3464cfe1f633fee920f47cd0c49bc1" + "c2513d610eddb6b45fadb44568a4b0bd" ], [ "FStar.Pointer.Base.write", @@ -14463,7 +14430,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "cdb26b3f2efcc77d7b96ed9e0497e703" + "e2ce8863641449863526339bd9d32b78" ], [ "FStar.Pointer.Base.write_union_field", @@ -14504,7 +14471,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "25becf9b2c47989a7159d02cdc180178" + "00cfb5a03eae6b6bb1a1c6246ae93023" ], [ "FStar.Pointer.Base.modifies_fresh_frame_popped", @@ -14533,7 +14500,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "0711f3843d4d72b4ad00923618c3693b" + "400f0186036aab561f9c6fe3cb25461e" ], [ "FStar.Pointer.Base.modifies_only_live_regions", @@ -14548,7 +14515,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "36574b115412d449cf05da232dec8f45" + "dd11b82a971f95afb3627d45ac0176b4" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -14562,7 +14529,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "60a45d5264f96fa122364f5b4b26f0e2" + "1dbe96d3d2be577321353bf86f40cf1c" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -14576,7 +14543,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "df6099fea1d47ecce5c8673aa81beddd" + "d7faeeb279c4220987221f32210b4623" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -14593,7 +14560,7 @@ "equation_Prims.nat" ], 0, - "de42b72a7347ce5efaace81f48851d06" + "303c2ae71b9e4e2555900f946bb1a11c" ], [ "FStar.Pointer.Base.modifies_1_readable_struct", @@ -14666,7 +14633,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "83496ed116cba24c88e4d90148b128d9" + "db97e89e6764112b22befb73953374bd" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -14675,7 +14642,7 @@ 1, [ "@query" ], 0, - "4125f3d5a3f64f12bf3d7e8d66afe2b6" + "712a7afaca4f3a3188d81047da1aed9c" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -14771,7 +14738,7 @@ "typing_FStar.Pointer.Base.path_sel", "unit_typing" ], 0, - "c0a53bb290f7b3087088f9758d969028" + "913c3c82fe4cc7a54ad4492e85a00597" ], [ "FStar.Pointer.Base.read_buffer", @@ -14794,7 +14761,7 @@ "typing_FStar.UInt32.v" ], 0, - "18bebb653312e75d8212b71fab4b4c5d" + "a43a41f8292b52e95c6e32079ef7e28d" ], [ "FStar.Pointer.Base.read_buffer", @@ -14814,7 +14781,7 @@ "refinement_interpretation_Tm_refine_e9f80e94617693055b40900dbd5751b9" ], 0, - "0a83b1779910af6be33109a43700675e" + "2760c9ec5a49f7c02f64b671a5eee4df" ], [ "FStar.Pointer.Base.write_buffer", @@ -14836,7 +14803,7 @@ "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" ], 0, - "aa6ff43177fdc705388e07d5bfacf802" + "1714bafd4e4f6c87db1648d072a44cce" ], [ "FStar.Pointer.Base.write_buffer", @@ -14959,7 +14926,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "002e9a006e0d006d88014ef8210ae46d" + "51559dee1162c646e331b465b532d5e5" ], [ "FStar.Pointer.Base.buffer_live_unused_in_disjoint", @@ -15072,7 +15039,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "d561e380b4d6207af30ab88523a55d31" + "7f7587db882be0f187309d587b2d82a8" ], [ "FStar.Pointer.Base.pointer_live_buffer_unused_in_disjoint", @@ -15209,7 +15176,6 @@ "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "lemma_FStar.Pointer.Base.unused_in_greference_of", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", @@ -15250,7 +15216,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "06b67faa7d214424a828e55291a087fc" + "8bcf971c3c6425f5acb6c113dd58b7f6" ], [ "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", @@ -15331,7 +15297,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89ca3735dfbac788050c0fd98bb27077" + "c8f883d6776d823bdaf1b591871b4f94" ], [ "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", @@ -15388,7 +15354,7 @@ "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem" ], 0, - "d39dab11c09a3c8d5867c221f69b0dd9" + "78efedfbe9bd18461f20a275a496a0f9" ], [ "FStar.Pointer.Base.root_buffer", @@ -15439,7 +15405,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "48de568659fa33d3ed5145e2877d58ba" + "bd6962035dcbd53e6b3b186b76b1db6a" ], [ "FStar.Pointer.Base.buffer_idx", @@ -15464,7 +15430,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "be304adafcf53b84da245ceaf70471a5" + "1d401afcda9f394d262627edd776d8c4" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -15473,7 +15439,7 @@ 1, [ "@query" ], 0, - "ddcde03c136a17d106f098978f9e5f84" + "ad67a0ef9c01eb8ee236874d6c858aa6" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -15500,7 +15466,7 @@ "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "68c34923e90357941a45c90b5c1b1273" + "8585d394baae18c76002dc498f2ba467" ], [ "FStar.Pointer.Base.root_buffer_gsub_buffer", @@ -15520,7 +15486,7 @@ "typing_FStar.Pointer.Base.root_buffer" ], 0, - "bf3a2b5111637ba5144e688c7ab98196" + "b3b7bbb0685f678ff474a2e79aa96f20" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -15541,7 +15507,7 @@ "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "cea9b14e64016ddd5d8b6cf389385a4b" + "596f49cfb06ee9103c01c8863febc755" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -15555,7 +15521,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx" ], 0, - "90ff645fa1cdc3f4d236dcb15086c90e" + "0e55ffca115618041fd46559d24de878" ], [ "FStar.Pointer.Base.buffer_includes_refl", @@ -15570,7 +15536,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f3a293fe94f5396383ee36a383d9457a" + "b6b3bf6ca9461c0407d09bae140ee5cb" ], [ "FStar.Pointer.Base.buffer_includes_trans", @@ -15586,7 +15552,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b92c39599e36c3d1aa332290a97eb2f3" + "f8d6958af8358aaf2b0c905c2c988004" ], [ "FStar.Pointer.Base.buffer_includes_gsub_r", @@ -15623,7 +15589,7 @@ "typing_FStar.UInt32.v" ], 0, - "7ca3dd07c620d27c6ec2b77083063122" + "e1f79c88feb83a79881855a2b540f333" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -15632,7 +15598,7 @@ 1, [ "@query" ], 0, - "b6cc8134a21e76b2833b2dd0e5d0239c" + "123e2202476b440f4b5cdd6580ab457f" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -15677,7 +15643,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0e4fe3280e90160bbb09ce6744443d4f" + "a24e81f986fcc4cf74c93d016ec2b199" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -15710,7 +15676,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "b44abe2dee0a03bd4651bb38619b1a2e" + "f33086e035f49e9845411217213c0cef" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -15763,7 +15729,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "a5248f37e11d32f96bf191fe721d1976" + "d47386a5d3645cec70ffdf767c746056" ], [ "FStar.Pointer.Base.buffer_includes_loc_includes", @@ -15783,7 +15749,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "cae000d092a5d18f553e01d0eb0088e8" + "7638e622b3cbfc6d568f6ecaf91895c4" ], [ "FStar.Pointer.Base.loc_of_cloc_of_loc", @@ -15795,7 +15761,7 @@ "equation_FStar.Pointer.Base.loc_of_cloc" ], 0, - "0b1a615a7c11b1dc92cbbe5f2a4fc8b7" + "d9d3991615a8bf473a0d2107b8e9cc68" ], [ "FStar.Pointer.Base.cloc_of_loc_of_cloc", @@ -15807,7 +15773,7 @@ "equation_FStar.Pointer.Base.loc_of_cloc" ], 0, - "a5515b4049f85db1c43612fe3a144585" + "1762e6d8389c2093e9a0cd0c79d4be8d" ], [ "FStar.Pointer.Base.loc_includes_to_cloc", @@ -15825,7 +15791,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "7ac9f276ff1a6a1274226f58ff330dd0" + "6111ff8529f1190757fcb86b4e00055c" ], [ "FStar.Pointer.Base.loc_disjoint_to_cloc", @@ -15843,7 +15809,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "48236d1fe24a0e591575bb9802bbdc56" + "8ec46e411eac902e2361d8e7fcd7f915" ], [ "FStar.Pointer.Base.modifies_to_cloc", @@ -15861,7 +15827,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "2b7743ea4460aa470314f0eef6f0f526" + "0d941e6e5003d6e7701e3c4ab28db46d" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Base.fsti.hints b/ulib/.cache/FStar.Pointer.Base.fsti.hints index 1b4207a068e..d93c9461711 100644 --- a/ulib/.cache/FStar.Pointer.Base.fsti.hints +++ b/ulib/.cache/FStar.Pointer.Base.fsti.hints @@ -20,7 +20,7 @@ "typing_FStar.UInt32.t" ], 0, - "a5dfa3eb3e130d6174589ee3e50f4dd7" + "f53c8228a8356704ac3bb449d7c48871" ], [ "FStar.Pointer.Base.__proj__TBase__item__b", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" ], 0, - "38c7292d22d1f85dc763e96dd14f92ce" + "23f138e1a50348c40f45b88f69dfc667" ], [ "FStar.Pointer.Base.__proj__TStruct__item__l", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" ], 0, - "6883fe7d839c0efd32980861b868f02d" + "84db22fd4a3977bdb96f056956aeb6bf" ], [ "FStar.Pointer.Base.__proj__TUnion__item__l", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" ], 0, - "65028a2b7b6194d3c8321a1975199092" + "ac2e27e93450b3f0292b710a5ea8b8e5" ], [ "FStar.Pointer.Base.__proj__TArray__item__length", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "68125e8b64038a1766fd22e546f159fa" + "aef1e7a403689c7ce76126736a218c91" ], [ "FStar.Pointer.Base.__proj__TArray__item__t", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "02beed588c77576ba794f8eda39e009f" + "2370b425f3240ec4ca1087398fd63fb4" ], [ "FStar.Pointer.Base.__proj__TPointer__item__t", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" ], 0, - "962674d2c3e020b26c286999bbf9bad3" + "65ee0a8d5d929c5f1866e52f682702e4" ], [ "FStar.Pointer.Base.__proj__TNPointer__item__t", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" ], 0, - "cf74c1fee4b54018d8121b48a580aee3" + "1993d935d929425de806d3fd293966e1" ], [ "FStar.Pointer.Base.__proj__TBuffer__item__t", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" ], 0, - "2941aa4127db1019e42e8fd7f60642f4" + "fb22e9a8c835041cc2926ec2c58fa7fb" ], [ "FStar.Pointer.Base.typ_of_struct_field'", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" ], 0, - "dd247a2e35c6a0ce9f6cf2067c1bc756" + "b1017c1b2f8d2b3049607279b3de3b3c" ], [ "FStar.Pointer.Base.typ_of_struct_field", @@ -170,7 +170,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "69e600d02adb8f4c2f1c865033e18bec" + "4c978bae046cba7b016d38f6234fe50c" ], [ "FStar.Pointer.Base.typ_of_union_field", @@ -179,7 +179,7 @@ 1, [ "@query", "equation_FStar.Pointer.Base.union_typ" ], 0, - "cfd33eccff6678fddcada09ab40b19a2" + "1c68fd208a1f778e4059a195dafd4632" ], [ "FStar.Pointer.Base.typ_depth", @@ -205,7 +205,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "c124e0fad5c5bc34b3f7b60dd8692dba" + "323b83045acd4b00125628b8607a9dc3" ], [ "FStar.Pointer.Base.typ_depth", @@ -222,7 +222,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1b2f72d31525cf1ea1688d272bf80eb2" + "7499ac3ae3d45fa99e665a6825ab670c" ], [ "FStar.Pointer.Base.typ_depth_typ_of_struct_field", @@ -288,7 +288,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "05dbe987251233e6ad81c9631ebaa8e4" + "c950b608b6d1ea5b5690a6824186da24" ], [ "FStar.Pointer.Base.type_of_base_typ", @@ -313,7 +313,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.base_typ" ], 0, - "649a7c27046260cdafe02ce6f5e01191" + "321ac56b8290dca6f615c02e411fa471" ], [ "FStar.Pointer.Base.array", @@ -322,7 +322,7 @@ 1, [ "@query" ], 0, - "22133016d966f5ce3d6cac05f47f6545" + "0b5001daf5ed59b447ba8d7d13fbbb92" ], [ "FStar.Pointer.Base.type_of_struct_field''", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" ], 0, - "ce40e3e80a68628abe37637a213af0d7" + "1c5fd125045ef90fb6be480c45db6cae" ], [ "FStar.Pointer.Base.type_of_struct_field'", @@ -354,7 +354,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "9a7cd394b1168d39755f0b894a7ad420" + "4f04a0df57f53e68b384c44481203042" ], [ "FStar.Pointer.Base.type_of_typ", @@ -376,7 +376,7 @@ "subterm_ordering_FStar.Pointer.Base.TArray" ], 0, - "d8d22f2e24dc5c4013af3f9deeeb8b73" + "e4d41c0a720fa3f6af52911f260ea7f3" ], [ "FStar.Pointer.Base.type_of_typ_array", @@ -394,7 +394,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "842ba064aafeba75e3dd7ef00cd73d67" + "e9123057fafa2bae9c6a53c644752ed3" ], [ "FStar.Pointer.Base.type_of_typ_struct", @@ -403,7 +403,7 @@ 1, [ "@query" ], 0, - "6fd7835e7038325370092ac34f2576e0" + "f86de6235eb9ee1255fb468e6a2736aa" ], [ "FStar.Pointer.Base.type_of_typ_type_of_struct_field", @@ -427,7 +427,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "9d5cfbcfac3da89313802a0da5cff1cc" + "10b66167de3d0626e1ab64ce2b13fe5b" ], [ "FStar.Pointer.Base.struct_literal_wf", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ff76b44ee8637a5b8c6827c759aa0e8" + "ee55ef92c5c4a8e5e15614388df46093" ], [ "FStar.Pointer.Base.fun_of_list", @@ -518,7 +518,7 @@ "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" ], 0, - "020b68ec19dfa0335fed242ce936e58a" + "3a993d91d4ebdcb5d0528fe56342cce2" ], [ "FStar.Pointer.Base.struct_create", @@ -527,7 +527,7 @@ 1, [ "@query" ], 0, - "d2c0ad1388c4dd2312a5a2f5bb588cf0" + "95edb90e29b33f5fa37b95d3f3116a72" ], [ "FStar.Pointer.Base.type_of_typ_union", @@ -536,7 +536,7 @@ 1, [ "@query" ], 0, - "1b140c7ce708ab84743d555c78530eba" + "29ca8e9c41091e943b0b59da68ba7946" ], [ "FStar.Pointer.Base.equal", @@ -545,7 +545,7 @@ 1, [ "@query" ], 0, - "13afd67187e9c7985b9bce8d43808666" + "223754f7d857971d59636d46bddcd93e" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -554,7 +554,7 @@ 1, [ "@query" ], 0, - "0366ddc90e03d28059c341f2a8516710" + "38e7f491265105edba8810a897111d68" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -563,7 +563,7 @@ 1, [ "@query" ], 0, - "bf3822f42a351613286c7c5cbc68ebf0" + "f174166f0eaa166d3fe38fefda8c4008" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -572,7 +572,7 @@ 1, [ "@query" ], 0, - "9b118d270709993e222a04a2fb8b93d4" + "11e3a50607d820a282de34190038c56a" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -581,7 +581,7 @@ 1, [ "@query" ], 0, - "f684c9e4721ee21c7b64361e8a23d7da" + "cce1b09c4ec6ba56d51cac56af264139" ], [ "FStar.Pointer.Base.gread_gfield", @@ -596,7 +596,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "5bff817797c5aa0f74822d255cdc2e44" + "66bfee533a46cc673ae4cbced645307c" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -605,7 +605,7 @@ 1, [ "@query" ], 0, - "172f9b967f341fc7d84556459e8e15a0" + "f96267e71d43f20e5b9c4a33de8fecff" ], [ "FStar.Pointer.Base.gread_gufield", @@ -621,7 +621,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "0130cb8e6fce33cfd8aa0e40dea367ba" + "3f00eeca34555ccd3ac2017a40b5a7f1" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -630,7 +630,7 @@ 1, [ "@query" ], 0, - "c480d4d98c389810534d39c91f7c6c41" + "076c3f3dedfa7a7c6b469f2e34c6ca8c" ], [ "FStar.Pointer.Base.gread_gcell", @@ -653,7 +653,7 @@ "typing_FStar.Pointer.Base.gread" ], 0, - "0b599bff1fa586fe6040f32fa3d3e12d" + "2c31b9986f9467068749d11f2cac9d8c" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -662,7 +662,7 @@ 1, [ "@query" ], 0, - "2b0b80c7c6e9f0f09285830379f4ed13" + "85e115c9f1e7406a493a33ca6ff790e8" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -671,7 +671,7 @@ 1, [ "@query" ], 0, - "0ba4525421495b5c24ebef21ba0360d6" + "bcf731ba9862ade9eb8de9497a24b764" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -680,7 +680,7 @@ 1, [ "@query" ], 0, - "5ec6034fd9dfd8ceecc53b8e2f4052f3" + "acdc8a1e3486490150c6386f9c35c5ce" ], [ "FStar.Pointer.Base.sub_buffer", @@ -689,7 +689,7 @@ 1, [ "@query" ], 0, - "64c9621d045ffb34f3528d884a2694d2" + "dca7a494df877b687354d3c955f68bfe" ], [ "FStar.Pointer.Base.offset_buffer", @@ -710,7 +710,7 @@ "typing_FStar.UInt32.v" ], 0, - "724303dc1588d1d6a35555f8cfb1adcd" + "647c44b934bdc1964f6cd7ac31f38510" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -731,7 +731,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "be58a438d4d2af196cb453bce0d2c7e4" + "e6cd888b34643f4f3b4823313bedfcde" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -743,7 +743,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a94a258af500476aa83257e885ed2b42" + "72d30ef2e8233ad712f297bb608eb264" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -752,7 +752,7 @@ 1, [ "@query" ], 0, - "78f3b9f1ec3d7a410bb161eff0e877c3" + "149c8a1b1b8c8e628edd8b4b4bc6b64a" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -775,7 +775,7 @@ "typing_FStar.UInt32.v" ], 0, - "9b33a6527673c150623cf0064c698306" + "dec15b72ce15e477e1895b9f6a4477cb" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -784,7 +784,7 @@ 1, [ "@query" ], 0, - "2492d2f6c90bae392104a45003580e8a" + "f3c348d1344faa7f568ae87a55c3ae25" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -805,7 +805,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "725316ed070bd11cb744d149611a6571" + "122abac56788799a46ab35eff1f08cb4" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", @@ -826,7 +826,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "8a5590246273ac5b188bbde27ea615d1" + "0611aae8cfcb62cdfa4346a6e0ea92eb" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -857,7 +857,7 @@ "typing_FStar.UInt32.v" ], 0, - "6695e56739501f855d88dc9406b90526" + "bd9e49a47a65b88d0800129d8d1d513b" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -869,7 +869,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" ], 0, - "e1f9e7fa6147d31fe717c03878f00071" + "9d7cd2db4b4642a81c21cf4b03193811" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -878,7 +878,7 @@ 1, [ "@query" ], 0, - "9b6255d37ca1080f182afa8573f43ee5" + "dfc1c8318731aac3c5a6eeea058cdd54" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -896,7 +896,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b133efc4f82512b07b9a1a7f2fdeac1f" + "5ad7a5df17eb1d185dbf3ff41e882462" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -914,7 +914,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "edc5cbaba2c575a37677487b054973ca" + "13519f37f163dc2bc5b4a470ec6a3eaf" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -937,7 +937,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "31181a5dea35721d49c8719588dac734" + "f935b123744f75dc7e8d5b2018f0fa97" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -950,7 +950,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "5cd91ce9d85adb162694c4d75bf793e0" + "8e4ed47c8d711970534ae80d38c4b576" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -962,7 +962,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2ffcd55d504b1616bb9e8f2514fa0408" + "f4036ff1bb8dbbd3d6b8881accb9797b" ], [ "FStar.Pointer.Base.loc_addresses", @@ -976,7 +976,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9bf38067bd5300c10f3dea3d95ad2dd8" + "433ff78356aa90844a07c9407e7053cb" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -985,7 +985,7 @@ 1, [ "@query" ], 0, - "50a10e0e97a01fc9965ac76ede9a0ef5" + "9ab55a7daf00d03f05e5e78efc10d65e" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -999,7 +999,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12b90e1799d42ed416285c300aa093cb" + "69835352f672d47486ba605cff8441f4" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -1013,7 +1013,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2ecddf90c561cf552ebc3f017662ab4" + "861e842ebf11ee0330bd86b800c07258" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -1027,7 +1027,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b40521334505623b9ae0eb259e595c6b" + "503738a39a6402e0e4488fc838b4445a" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -1041,7 +1041,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "042367a8a84d0bc367597c40a2b4ce93" + "ca6743ea3ad9d90881a34bdff2b687fe" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -1055,7 +1055,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e98840fe394437628759983923ed995e" + "ca2f0c7ddfaf2ec44b6ccd15b6cf6489" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -1069,7 +1069,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bff4bba7de471fa1e92d3eb60d99be94" + "d30745a498a76cac2ad043cd31c67707" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -1083,7 +1083,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a6eea01943c5fd8de54acb3efe735d16" + "1548e2f4c1560ff530e730478b498251" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -1097,7 +1097,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14891e2b47f3b2432c5b22f69175aa06" + "77feedd760ccbd39c09055f1eaa130ce" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -1106,7 +1106,7 @@ 1, [ "@query" ], 0, - "d1dea47a1c521fcb8c94e27265593459" + "2818c891f85a908e494e11da4a71c856" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -1120,7 +1120,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ac9c1bc8efe90859aff1a4e1b97506a" + "9749c87bffa5d43108b2175dcbd0aaa8" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", @@ -1133,7 +1133,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "e0be3e25d0b3f9c4e0da89fe0d383249" + "6a7ac0a624bfef50ecf2baacbdf8cd13" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", @@ -1146,7 +1146,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "db82f5be8d9eda2074734c20ff5f4fe4" + "a77716f3296711600459b9069aab62a1" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -1160,7 +1160,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dcb357b0635d6307f534d64c724ddeed" + "ab5418ba44cf97368d5e7d31b403485f" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -1174,7 +1174,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "64c40ac3841ea2cc0056ecd93facb8e5" + "0429a0feb0a071efe4196ede300354e7" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -1188,7 +1188,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1db456e68d81fd638fb4bf6de9c1150" + "ed737210d19d42dc2d00d990eca1cd7a" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -1202,7 +1202,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "640ccf6ec7bfb35618816db23ffd78a8" + "2b7fe3ac715a9faebcd70ea1191e7fe3" ], [ "FStar.Pointer.Base.cell", @@ -1211,7 +1211,7 @@ 1, [ "@query" ], 0, - "2e48c503d883af86141f26799b13ab44" + "633e974a4bd3cd9445e450ce3c8e5bf5" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -1225,7 +1225,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5a2b6981d70bd1442fae7b2267c7470" + "5a810357a35b5d03eb1f46062bbad6a7" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -1234,7 +1234,7 @@ 1, [ "@query" ], 0, - "7d98aa6c1e415cc5e6c1c870ed1e6376" + "c2ef14f9839e62703356c4d75a1d784c" ], [ "FStar.Pointer.Base.read_buffer", @@ -1252,7 +1252,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "60ef0a120e2664ecaf822b7fb9329e39" + "617a00010c9a67a3f1c056e4e6d49cbd" ], [ "FStar.Pointer.Base.write_buffer", @@ -1271,7 +1271,7 @@ "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" ], 0, - "055217c7ae0cbcdbd14bc59601d28ba2" + "0580dc3a342ebc3baa7afd96a8853880" ], [ "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", @@ -1285,7 +1285,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c12415f72d1ba2a4b0d07bd6868d948" + "f983f047192a93addd855f3e1cbb33a7" ], [ "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", @@ -1299,7 +1299,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5448196c1db385b067613ad783f84779" + "d2fa9789264202d3a563bd03c25cc399" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -1308,7 +1308,7 @@ 1, [ "@query" ], 0, - "f614f96cc9a931eda51f8d2e6c39dab0" + "3bd1293f602ccee96c1847acf60d407f" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -1329,7 +1329,7 @@ "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "70a1043dddc62f77742549c23141a68a" + "0ce8f3d1746a618035e13131bc2bdf36" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -1338,7 +1338,7 @@ 1, [ "@query" ], 0, - "9c240ea95e39b55c58ff2568872990f8" + "d3d08708f9bf9b43f90cd38ada79b359" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -1359,7 +1359,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "77c85a9b79ba3e8b8f53bdd6aae80505" + "3ffc1e40f5a9979c0efe97619c1a8985" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived1.fst.hints b/ulib/.cache/FStar.Pointer.Derived1.fst.hints index 561d4f00b3f..10ca53fe17c 100644 --- a/ulib/.cache/FStar.Pointer.Derived1.fst.hints +++ b/ulib/.cache/FStar.Pointer.Derived1.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e989c60ac38f6cdf8b3ae4a6d7a71ca5" + "1be431e1d8f57aca9678708cdeeb2acd" ], [ "FStar.Pointer.Derived1.includes_gufield_gen", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "40e6f5c77a6dbdffd14dd4ffad9a10be" + "ceb4affc7f6d50fd43a3582e4f61d589" ], [ "FStar.Pointer.Derived1.includes_gcell_gen", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "c2f6a616918e7945f1cd33f31793b9e2" + "d3b3b971f9a685cb194227c71465107f" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_r2l", @@ -40,7 +40,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "67700f509ab432e973a41d11972fbb14" + "915cff229bc4968d0ed72aae7baad151" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_l2r", @@ -54,7 +54,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "14b4caabad6f8b73a1ea839dcd4b5751" + "6e9260137f13d9b8e22bb2298a4bb3c6" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_1", @@ -70,7 +70,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "01960d6c18e46e7bf914deae663a673f" + "b56f0a22b14a57eda8ed3d877d35c499" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_2", @@ -84,7 +84,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "88c1d655b130fb4d270cc509edbe6b97" + "9211c65ea0f7ae2f94a816e7136cf172" ], [ "FStar.Pointer.Derived1.loc_includes_region_union_r", @@ -99,7 +99,7 @@ "typing_FStar.Pointer.Base.loc_regions" ], 0, - "71bf94200c543c8e969c307690da4903" + "7354d0d82e14251d5734f482f3a06591" ], [ "FStar.Pointer.Derived1.loc_includes_region_union_assoc", @@ -116,7 +116,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "3382edc567fe92238a53e2d6941d0276" + "f907d717505e741266f5f8707d7f3549" ], [ "FStar.Pointer.Derived1.loc_disjoint_none_l", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "249b6c79d89e64eec0834169d075a8b6" + "f2af48842aaed4bde4118a2a09817070" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_l", @@ -134,7 +134,7 @@ 1, [ "@query" ], 0, - "5909caf4fb21b2232bfcebecf7f00497" + "190ed11c9dfc213a38c5bf746167a65f" ], [ "FStar.Pointer.Derived1.loc_disjoint_gfield_r", @@ -158,7 +158,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "ba0db08a23e345c27ce2518aaaccb5e2" + "b20d3495343cab696e5e32d9d38c42fd" ], [ "FStar.Pointer.Derived1.loc_disjoint_gfield_l", @@ -167,7 +167,7 @@ 1, [ "@query" ], 0, - "ca60568af1c9bcbe0ad877226fc8344f" + "29f0f4c3fa629db04862a9774ad5d0d5" ], [ "FStar.Pointer.Derived1.loc_disjoint_gufield_r", @@ -192,7 +192,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "bb77f824a0808b11eeb3ff72adf081de" + "d2c97790210bcfd9f97062a612f37e48" ], [ "FStar.Pointer.Derived1.loc_disjoint_gufield_l", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "5064ae3510e9957567a64b47314d7ea5" + "9176e915008768e00cc66ee2faa58766" ], [ "FStar.Pointer.Derived1.loc_disjoint_gcell_r", @@ -217,7 +217,7 @@ "lemma_FStar.Pointer.Derived1.includes_gcell_gen" ], 0, - "06d1a0716a910b8758b623844263cead" + "86c233bfb27e7181493f03b4817dac32" ], [ "FStar.Pointer.Derived1.loc_disjoint_gcell_l", @@ -226,7 +226,7 @@ 1, [ "@query" ], 0, - "dcfd48af1bd6d931fd1052acdd2a2afd" + "a0900ebe68f25321f967ced3db9bba7d" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_r", @@ -239,7 +239,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "b6978d3ef47224b27cab928de5548bd8" + "d803974efd52897245924fab9100f099" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_l", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "061cf87e4c4c409f4daf64a151ca34ef" + "b1af5a2898ea1a9843f0a30e02d8cac0" ], [ "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_r", @@ -261,7 +261,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "8dd9ea98daa90d7b28f41358c50fb123" + "f079d589a9feec9e5ee05e7a39e1d21d" ], [ "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_l", @@ -274,7 +274,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "9c4f99a1e353f579ef0fc982fa4548cb" + "9e2153157985c7a6387b60e8605c528c" ], [ "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_r", @@ -287,7 +287,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "b2275a0858b4814939871d55be84aa40" + "e56e11857adab829b74c62295074a412" ], [ "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_l", @@ -300,7 +300,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "4b104a03763e4ebba37e8859211c51bb" + "7e137cab90cfdb11658792e8b27964c3" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_r", @@ -312,7 +312,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "66db507256a4fd0a8641af4d3b97dc81" + "f8c93994a80d8cf7aac51a120f155929" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_l", @@ -324,7 +324,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "d6ad355d66ddbfe90291c4d793e647e3" + "da2d7a84570b849c16d6eeab4320788c" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -338,7 +338,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "db8a865468d230ea36f83ed07875ae34" + "f0e16bde68d1186f024feaf8cd576ed9" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -352,7 +352,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "56defc30c62ffa42618b04dd577433d6" + "dabf320668be1e92ad92dd9854705d48" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -361,7 +361,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.loc_disjoint_pointer_addresses" ], 0, - "92b78686e27756351e465031dad4e405" + "bbbaf82c22a49bd7c826d591f786d218" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_r_elim", @@ -373,7 +373,7 @@ "lemma_FStar.Pointer.Base.loc_includes_union_l" ], 0, - "b80d30d913d9f25ef487e9c2fad4ceda" + "29eb0c6ce95c6580dea7cb17d9768c91" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_l_elim", @@ -386,7 +386,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "972fb27dcfebc0bf28337e2e24c41140" + "6996a9453c81c95e4a8ec4e660ae1241" ], [ "FStar.Pointer.Derived1.modifies_trans_incl_l", @@ -401,7 +401,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "64e6c13a61cb584375d9f8844ed1dc10" + "7773f2738b5701a138a31056bb011182" ], [ "FStar.Pointer.Derived1.modifies_trans_incl_r", @@ -416,7 +416,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "c04618dba85eb9accdddec72b6766fc7" + "4d08a34aa87ae0be8d8f5705b2186a05" ], [ "FStar.Pointer.Derived1.modifies_fresh_frame_popped'", @@ -444,7 +444,7 @@ "typing_FStar.Pointer.Base.loc_union", "typing_FStar.Set.singleton" ], 0, - "5a958f196298db48993ca06cdb47a531" + "f21db8741b7bbaa3f68d095b60cc134a" ], [ "FStar.Pointer.Derived1.buffer_includes_gsub_r_gen", @@ -453,7 +453,7 @@ 1, [ "@query" ], 0, - "788160b8c843f5c036185f80cf9949e0" + "c0559a2c5a55b86434ca48ec1f8b214e" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -462,7 +462,7 @@ 1, [ "@query" ], 0, - "f53a70500546872eff72627cde7a8ae7" + "b29e835ba8e049a460bfaa9ce769f383" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -487,7 +487,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "06c6c9233a6feebdde33ca44b3c71e9e" + "07ad5ff7aeaa77f06cb7b750daa72557" ], [ "FStar.Pointer.Derived1.buffer_contents_equal_aux", @@ -553,7 +553,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0cedf427adf879c9fb02e110314bc8ab" + "b277d116f9d6d2c6b2844ff157e0ddba" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -565,7 +565,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "62db86876837e9d5bb2d15bc97763ecb" + "86a82994256f11df33f772707590e142" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -602,7 +602,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "108574b538ccf9ec273fac20c6f301b0" + "7ad36e3cc85fde7fc57356116a08de77" ], [ "FStar.Pointer.Derived1.buffer_readable_intro_empty", @@ -621,7 +621,7 @@ "typing_FStar.UInt32.v" ], 0, - "c3be8f936fd568dd732066c2d19a27c8" + "ee2be63d92eb0bec7ebe8db9ac95f52f" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -630,7 +630,7 @@ 1, [ "@query" ], 0, - "3c008e6f1222c08e4eea2e1d6a961f07" + "26dd101dfa4a86fc947fcadd989ef1e4" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -662,7 +662,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0b1c9a4df73bd8f5ee06d96d8c9a1990" + "b1699d6ed2f72246f779a910d037425b" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -671,7 +671,7 @@ 1, [ "@query" ], 0, - "5850a159e9237e0ddcbc8e6608afb1e6" + "440e8e7b0101e228602b41246e353137" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -700,7 +700,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "618f84c531e6787f7338042867a35508" + "b3ac2a6899f60f5f08059598fa806af6" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -709,7 +709,7 @@ 1, [ "@query" ], 0, - "a8c89314fa6f0bdb455d862a42e9af0a" + "466f63fbe2ef87a81e2ee74ddc8878b1" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -721,7 +721,7 @@ "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub" ], 0, - "5be0b57ca9c311ed417bc5a665cdbe70" + "215145f7f9f451906410eb450038a503" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -741,7 +741,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "59329674f8e4d51dea6f88c3461964e9" + "d08d25de77cb2f239631ed356ece2cb0" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -800,7 +800,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "e1a00e000fb670140cb1342e39ffe416" + "19c1b477583c7b7e66e1fcca08d3f086" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -824,7 +824,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "7ede1afbbf55c10ec368391d057f210c" + "461947b2b5d0dff5af2c29835985cc75" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -866,7 +866,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.v" ], 0, - "197fca71fd94294b48636bd9dd91cdac" + "3a3e54c06734dfb623730cefefa415a7" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -890,7 +890,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "c0220c8f546e33e3f56b2ae793c30cc8" + "acef39b4d6ff73766b7316b3656f77bf" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -945,7 +945,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.v" ], 0, - "ed0a7c29bc5cb725aaa9a5cd47530c6a" + "bba5d45233d63b9a7bb9c7b582c9e82c" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -975,7 +975,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "fd212113bde4369178c848118a02c4c2" + "53b6c71602c7c996dbb0246683e8c31c" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -1019,7 +1019,7 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" ], 0, - "26cdae404cc1c14c9aa7de212ba0760f" + "3c937bcb623ed80e0b6104c9df60011c" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -1049,7 +1049,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "df18020b31ae0c10659e0f74156926a9" + "7d4ee7537f51eb294f31782a921f7702" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -1094,7 +1094,7 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" ], 0, - "98e758dd1bd2e047c4335c47e4f65e67" + "03cdf3bf7df742471009c13843548b10" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -1125,7 +1125,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "ef53fc9b5ca07945e0c341c7aa13f2cd" + "142f46dbd8bc8775fafc5a6cf572bb1f" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -1160,7 +1160,7 @@ "typing_FStar.UInt32.v" ], 0, - "29e81c4c4f923cd29fa5fba70c1808cb" + "bb8a600c12ad340c41bd16fcd836ab67" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -1191,7 +1191,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "c70c5c4874f8405b07d2b8306013549a" + "1790d086a219669bb227967109ac6937" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -1242,7 +1242,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "a4912640a67a66776050f16ce4b98a58" + "53c82bbb310eae4d980e5ceea6c51a32" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived1.fsti.hints b/ulib/.cache/FStar.Pointer.Derived1.fsti.hints index 32627afff51..ff272bc6fcb 100644 --- a/ulib/.cache/FStar.Pointer.Derived1.fsti.hints +++ b/ulib/.cache/FStar.Pointer.Derived1.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf4165aa1a75751100f7f210e6580335" + "9fbcaa922877ff9c357487e3a1c0ed6b" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "c632d512eeb64b42b587b83424229113" + "d5d3dc175be0d65514ed038f2cf974cb" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -34,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6eec45eb760b88a8165b9ef7bf52387f" + "6b9499e9ad849fb693514a80f3f95315" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "8f827a1a74097ee08b531412bd8a2396" + "e04af040a1fb52d93f8fb2d315bf71d1" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -52,7 +52,7 @@ 1, [ "@query" ], 0, - "4749e905f0f72a676d497437c4cf17ca" + "6c6d8409901085972e9d53ed006b08ea" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -61,7 +61,7 @@ 1, [ "@query" ], 0, - "b7f59c840f25f5bc013e9a63a49b2218" + "86220bd0466a1013fb21a44e221f44ba" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -81,7 +81,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "40d8d70d7c78d54e9133bb8a0b40b7a6" + "3abba19984095d996f98259ea6d3fa96" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -105,7 +105,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "effbe6735375c16b164174ab1e87b381" + "867ea15c9562e9b4b32734f6daa604cd" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -129,7 +129,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "647e2e34872763a0d2a6ee725e9fe108" + "e6a61bb8d52875aa42a90cbf6a102c8e" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -159,7 +159,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "81362fecf7ad9cdaa756700201bb1ffd" + "47edd506341630bc6dff0467de8af076" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -189,7 +189,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "fe845d5b32a2daa92499aeff4e81bb1f" + "41d76903385b01c521c1b26c1bc4b647" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -220,7 +220,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "b8d6354ea10126cbb61aefe7d2ecc044" + "692b001976c1a74686d9e07a5851a8a4" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -251,7 +251,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "66e786a0ac0a7cdf3d6e261dd68f8155" + "b31ba75a58034080ade835e6c7b16ff6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived2.fst.hints b/ulib/.cache/FStar.Pointer.Derived2.fst.hints index d1125dc8577..f261b765a7e 100644 --- a/ulib/.cache/FStar.Pointer.Derived2.fst.hints +++ b/ulib/.cache/FStar.Pointer.Derived2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "94bdeb2bab0fb4a0af0eeb9747da7ee7" + "df1aedc4d8a457113e321f13c943e2a3" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_postcond", @@ -20,7 +20,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "8fd5e475591d5fe7cbc29060bf9e2edf" + "28401a2ff08bc8f907b490f89588d9e8" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_inv", @@ -39,7 +39,7 @@ "typing_FStar.UInt32.v" ], 0, - "f8524b63e09037ed8ae6d0049546563e" + "62f9c61ed16c6e3385f4fea95be43c1e" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_init", @@ -80,7 +80,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "fc33246ebb4a372a287a53307da081e1" + "bc0d8d81173d7b7fa4a9518588b947d2" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_advance", @@ -109,7 +109,7 @@ "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" ], 0, - "d73a05e49081a90628d9ec91aab53a98" + "9c34575df2720bdc576c4eaf8ce07956" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_advance", @@ -163,7 +163,7 @@ "typing_FStar.UInt32.v" ], 0, - "57ec2f618ae9eaa11f09a88de1225e1c" + "61b821d95d3390dc4db17b36045c1d4d" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_aux", @@ -208,7 +208,7 @@ "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" ], 0, - "bdf38389d7d7807dcb8d2b0c580d549b" + "1f52efc49aed4ae7f565a19e5f55fe84" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_fin", @@ -222,7 +222,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "403631210ed3f7b3e13ea84dcf1a73e0" + "3c3336bfea3c0e9095de9c3a75fc852e" ], [ "FStar.Pointer.Derived2.copy_buffer_contents'", @@ -244,7 +244,7 @@ "typing_FStar.Pointer.Base.gsub_buffer" ], 0, - "9b960a71ca1ad432d95164a48965208d" + "858de16fafb05eeac4778463ca63c0ae" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived2.fsti.hints b/ulib/.cache/FStar.Pointer.Derived2.fsti.hints index 726ab502464..d12f0e83867 100644 --- a/ulib/.cache/FStar.Pointer.Derived2.fsti.hints +++ b/ulib/.cache/FStar.Pointer.Derived2.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a25272d6941c87526db4a19e786c411d" + "c7bd299025def5ab2145f5e5e9f8a343" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_postcond", @@ -20,7 +20,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "3e2c57c7abc0be25d0a5323d735f4f00" + "eee80238ce9ef161cb15ee94a6a60ea0" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived3.fst.hints b/ulib/.cache/FStar.Pointer.Derived3.fst.hints index 545a33638b5..74781e6c4f5 100644 --- a/ulib/.cache/FStar.Pointer.Derived3.fst.hints +++ b/ulib/.cache/FStar.Pointer.Derived3.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d073e22334afd965821ad066392a5ffb" + "928efa44ae3fc9564b2b719d3d8b8d58" ], [ "FStar.Pointer.Derived3.fill_buffer_postcond'", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "028d945d32f67be47ad947c845796862" + "b0d2bbf53cbaf7fa81e75e20407b0c12" ], [ "FStar.Pointer.Derived3.fill_buffer_inv", @@ -50,7 +50,7 @@ "typing_FStar.UInt32.v" ], 0, - "ebe5049c8e7b43de1d602077cc4afc6c" + "7a75a418a93c29cfbfe7f48bf6c30d8c" ], [ "FStar.Pointer.Derived3.fill_buffer_init", @@ -94,7 +94,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "ab36f5b323c94740266cdd0b5abd1c26" + "2f29e3a9d991470f330564f4548b0910" ], [ "FStar.Pointer.Derived3.fill_buffer_advance", @@ -123,7 +123,7 @@ "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "40fe0d817aedb16836e29ec8e7123f88" + "7f53e923bf9efd4f02be41ef2435eef4" ], [ "FStar.Pointer.Derived3.fill_buffer_advance", @@ -193,7 +193,7 @@ "typing_FStar.UInt32.v" ], 0, - "9061273c5cca058c0142ca7967d52ba1" + "a0082486ca8821a75730512a862d425f" ], [ "FStar.Pointer.Derived3.fill_buffer_aux", @@ -238,7 +238,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "b8873a1b6b29e906dc4e4469fb24ad97" + "7a3133d6457c6f98b689168c437880ae" ], [ "FStar.Pointer.Derived3.fill_buffer_fin", @@ -252,7 +252,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer" ], 0, - "ba1fd6a84c792b25421b86a36a8ed65a" + "84cc906346ed309da6caa1744275ac2a" ], [ "FStar.Pointer.Derived3.fill_buffer'", @@ -271,7 +271,7 @@ "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "a9a15c6365c38dc30109d470611449c3" + "6f78809ca3dfae51b92bb56958190a62" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Pointer.Derived3.fsti.hints b/ulib/.cache/FStar.Pointer.Derived3.fsti.hints index 7707f31950a..2d6c7fcec8f 100644 --- a/ulib/.cache/FStar.Pointer.Derived3.fsti.hints +++ b/ulib/.cache/FStar.Pointer.Derived3.fsti.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "55b28d34caa156d60743613c59d36c89" + "897a8ee39bef07cca8681986d0a58c07" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PredicateExtensionality.fst.hints b/ulib/.cache/FStar.PredicateExtensionality.fst.hints index d8ffd1ddc68..cc972bc3b61 100644 --- a/ulib/.cache/FStar.PredicateExtensionality.fst.hints +++ b/ulib/.cache/FStar.PredicateExtensionality.fst.hints @@ -18,7 +18,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "6b867ee6e31027d1e6199df72df767ee" + "172665fc3e56de3ac3827c9fd803a3ba" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Printable.fst.hints b/ulib/.cache/FStar.Printable.fst.hints new file mode 100644 index 00000000000..d00ff77409c --- /dev/null +++ b/ulib/.cache/FStar.Printable.fst.hints @@ -0,0 +1,29 @@ +[ + "cñd-ha²OC_ҺвK@", + [ + [ + "FStar.Printable.printable_option", + 1, + 2, + 1, + [ "@query", "lemma_FStar.Pervasives.invertOption" ], + 0, + "c2cdaa0ccc829e89a90988afb932490a" + ], + [ + "FStar.Printable.printable_either", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "fuel_guarded_inversion_FStar.Pervasives.either", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f38f0d4ea668bd112c640bc8d8c5569b" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Printf.fst.hints b/ulib/.cache/FStar.Printf.fst.hints index 138554a87e6..de1725a6180 100644 --- a/ulib/.cache/FStar.Printf.fst.hints +++ b/ulib/.cache/FStar.Printf.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_3beb8710e53474127cdc6910faff6866" ], 0, - "25c0a235bb8474966c82568c554e4a01" + "5ef5155a2a47b6008f965448e8c3b3e9" ], [ "FStar.Printf.arg_type", @@ -33,7 +33,7 @@ "fuel_guarded_inversion_FStar.Printf.arg" ], 0, - "5797352036f0440ee14b441f249bc64c" + "e7465b2ec674b6144b618b03cacc7251" ], [ "FStar.Printf.string_of_arg", @@ -80,7 +80,7 @@ "projection_inverse_FStar.Printf.MkExtension_a" ], 0, - "c8b5e51e25accce65c0819a097da217c" + "0b2f57de94c8859138bd1b5f4cef99a1" ], [ "FStar.Printf.__proj__Lit__item___0", @@ -93,7 +93,7 @@ "refinement_interpretation_Tm_refine_37423919295cd822d336ea93baad95f4" ], 0, - "a6cdd267f241fe2e7242a5754d7a7766" + "93610756172da6034d0d03030e4f0031" ], [ "FStar.Printf.__proj__Arg__item___0", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_d9dc5f03433d2ecffb05bfd949e65ef5" ], 0, - "956d83c0b9c061b0a20671dcea93531c" + "59ef287a0592eddacc5e2e39e860a69a" ], [ "FStar.Printf.dir_type", @@ -125,7 +125,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "db9fe55744a06c130cd86854c28771fe" + "cc4209fc0f7b31d05ea3a19ae17cabc6" ], [ "FStar.Printf.string_of_dirs", @@ -163,7 +163,7 @@ "typing_Tm_abs_de78d2216c960068d4ae00eb06e7b607" ], 0, - "6977ffb1bf27c8734b21ed9d882dd734" + "339f4b764ce44a65ff743a0fb22e90d8" ], [ "FStar.Printf.parse_format", @@ -192,7 +192,7 @@ "typing_FStar.String.char", "typing_Prims.__proj__Cons__item__tl" ], 0, - "32b9fa9b66e55fe004a05ae4f861f177" + "0cb51df93f76708baa837a6783958e1e" ], [ "FStar.Printf.sprintf", @@ -263,7 +263,7 @@ "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "eea3b25e797e687f3ad855ee8083bb66" + "d63fa1e2b49daef9e25892b28b7e4100" ], [ "FStar.Printf.ext_sprintf", @@ -337,7 +337,7 @@ "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "cfd8d4958800e68dceab4b14373e9a64" + "beffeeda6225c9e3f4ccd49654ac9e47" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PropositionalExtensionality.fst.hints b/ulib/.cache/FStar.PropositionalExtensionality.fst.hints index 6144f876535..b644230942e 100644 --- a/ulib/.cache/FStar.PropositionalExtensionality.fst.hints +++ b/ulib/.cache/FStar.PropositionalExtensionality.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "920939709dcbd92a1e55753a014bd1ea" + "321f520776dd6e1fc90742fae0823f89" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PtrdiffT.fst.hints b/ulib/.cache/FStar.PtrdiffT.fst.hints index 5fd13ec8ec6..6e06917cae6 100644 --- a/ulib/.cache/FStar.PtrdiffT.fst.hints +++ b/ulib/.cache/FStar.PtrdiffT.fst.hints @@ -12,20 +12,7 @@ "typing_FStar.Int64.t" ], 0, - "cca8f3548d0041c77be3c35208c76042" - ], - [ - "FStar.PtrdiffT.fits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "cc70bc28c1a0e5c33453ed07b5e94bc1" + "c2cbefd54b0bb68586da52f65f872842" ], [ "FStar.PtrdiffT.fits_lt", @@ -50,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e8ec4cfe49dd5dcca49e33a7de1c89f" + "bbe4b105a3a0ce3ce7eb040bb8c65661" ], [ "FStar.PtrdiffT.v", @@ -67,7 +54,7 @@ "refinement_interpretation_Tm_refine_f547cc520ba3c9ffd45a92889fcd05d0" ], 0, - "e45c1f819d4125fdb915280b82e0bfb0" + "30bb47e88a776efeef7ddb19f6dbee8f" ], [ "FStar.PtrdiffT.int_to_t", @@ -82,7 +69,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "608e73d78d220099ec886f5be4a1b751" + "8cfa15bd3dd90ff04170311cdcc40681" ], [ "FStar.PtrdiffT.ptrdiff_v_inj", @@ -94,7 +81,7 @@ "lemma_FStar.Int64.uv_inv" ], 0, - "f2bcd95a66154749273d075833327acf" + "dfbe96176e8b2407a22873d2c14a571f" ], [ "FStar.PtrdiffT.ptrdiff_v_inj", @@ -108,7 +95,7 @@ "refinement_interpretation_Tm_refine_f547cc520ba3c9ffd45a92889fcd05d0" ], 0, - "a0099d3bd8f29b9903b8c703f71fa886" + "71090d0720d9b9c91d527df249a9ffbc" ], [ "FStar.PtrdiffT.ptrdiff_int_to_t_inj", @@ -120,7 +107,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f4ae1b3ebc907ea6a6e35bf5817facf9" + "c0e5a6b19388b14afbb0fb048e12e9df" ], [ "FStar.PtrdiffT.ptrdiff_int_to_t_inj", @@ -134,7 +121,7 @@ "typing_FStar.PtrdiffT.int_to_t" ], 0, - "142a15ba2eea5d79abf84c1ba424c2a9" + "fe93ab6c954f9ecdb8a798dfd6757333" ], [ "FStar.PtrdiffT.mk", @@ -169,7 +156,7 @@ "typing_FStar.PtrdiffT.max_bound" ], 0, - "5845a02aca971f554075087a6a3fd144" + "7a6f047dd627dca048175a8385684149" ], [ "FStar.PtrdiffT.zero", @@ -178,7 +165,7 @@ 1, [ "@query" ], 0, - "e010dbd52965644b3b7e0dba8df77e57" + "d492d336ad38f7ae90bd0649ad875aad" ], [ "FStar.PtrdiffT.ptrdifft_to_sizet", @@ -211,7 +198,7 @@ "typing_Prims.pow2" ], 0, - "c7b0e287e2470b0ad4892c8e39015fd6" + "d9d59e0f3d846f5ef4844f592685ba3e" ], [ "FStar.PtrdiffT.add", @@ -229,7 +216,7 @@ "typing_FStar.Int64.v", "typing_FStar.PtrdiffT.v" ], 0, - "4dcf279927196a1485efe7c82dd840f9" + "6134fec3897463ebc5e4402fd8839e63" ], [ "FStar.PtrdiffT.div", @@ -241,13 +228,13 @@ "refinement_interpretation_Tm_refine_6ae084591a21f7d4bed34f2acf042fb3" ], 0, - "36afb6a049f948d9a48da75d21fa3079" + "d0d3bfaa5c584865063bbfc82267bcc8" ], [ "FStar.PtrdiffT.div", 2, 2, - 1, + 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", @@ -259,31 +246,25 @@ "equation_FStar.PtrdiffT.min_bound", "equation_FStar.PtrdiffT.t", "equation_FStar.PtrdiffT.v", "equation_Prims.abs", "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", "int_inversion", "int_typing", + "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Ghost.reveal_hide", "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_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6ae084591a21f7d4bed34f2acf042fb3", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a52b5446a4298e72780bb9d607e958e4", "refinement_interpretation_Tm_refine_b2ca36b5b680a6837d66d3c40a2bd567", - "refinement_interpretation_Tm_refine_f547cc520ba3c9ffd45a92889fcd05d0", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.op_Slash", "typing_FStar.PtrdiffT.max_bound" + "refinement_interpretation_Tm_refine_f547cc520ba3c9ffd45a92889fcd05d0" ], 0, - "872458f6d1719eab84c386a4f0b8fc14" + "8922b8bda128e28dc6ba11307fd554dc" ], [ "FStar.PtrdiffT.mod_spec", @@ -313,7 +294,7 @@ "refinement_interpretation_Tm_refine_ac60b3a483ff3158afbeff9eb077e91b" ], 0, - "4960f78851e99541a23e60d085b31fea" + "63e7ba5533deb1fcb1dca4576b84c855" ], [ "FStar.PtrdiffT.rem", @@ -325,7 +306,7 @@ "refinement_interpretation_Tm_refine_6ae084591a21f7d4bed34f2acf042fb3" ], 0, - "bfd1d69759ae0cfcb12a67dbedd84957" + "3e2eddb1d4685f5cb547367326d00f13" ], [ "FStar.PtrdiffT.rem", @@ -365,7 +346,7 @@ "typing_FStar.PtrdiffT.v" ], 0, - "e4b677d6f609c1de838acd3667429c74" + "cbfde8f0908a0304498d6e4a94868356" ], [ "FStar.PtrdiffT.gt", @@ -377,7 +358,7 @@ "equation_FStar.PtrdiffT.v" ], 0, - "a27afd0e02990e7164f4d32ad15ac3b0" + "5a443d44e02a1bca8577190baf9a4705" ], [ "FStar.PtrdiffT.gte", @@ -389,7 +370,7 @@ "equation_FStar.PtrdiffT.v" ], 0, - "6d9f7e73645e328fefd55c5f68aae867" + "d8d5e69416520ec9af38bc1af9a93a93" ], [ "FStar.PtrdiffT.lt", @@ -401,7 +382,7 @@ "equation_FStar.PtrdiffT.v" ], 0, - "87a953956a56fa2061971f226ca182bc" + "386f57d1fdda7be738e16661f879fde3" ], [ "FStar.PtrdiffT.lte", @@ -413,7 +394,7 @@ "equation_FStar.PtrdiffT.v" ], 0, - "38cc398e5626d1873e5e16ed8b453ae2" + "f9ff9dbf355a660aca8ed9e63760b7fa" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.PtrdiffT.fsti.hints b/ulib/.cache/FStar.PtrdiffT.fsti.hints index 4ef1cef026e..16c09ff80f5 100644 --- a/ulib/.cache/FStar.PtrdiffT.fsti.hints +++ b/ulib/.cache/FStar.PtrdiffT.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e994c937a3c959dd9effd20d6c423a39" + "4cf3386eb54b60720dd1e60d5bb05350" ], [ "FStar.PtrdiffT.ptrdiff_int_to_t_inj", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dab1fc7a49612825234e9871098a6766" + "0b7d2aae1860d65d6308e52dad4b1716" ], [ "FStar.PtrdiffT.zero", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "4f94e85359520e6cb2659949b9371a61" + "7e70c791cbf2d8ae0b2521046de811ed" ], [ "FStar.PtrdiffT.div", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_6ae084591a21f7d4bed34f2acf042fb3" ], 0, - "b9abd1705559f90299fd91828a6d2184" + "9723de3cb23c8f02f0864ae3f2b6bef9" ], [ "FStar.PtrdiffT.mod_spec", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_ac60b3a483ff3158afbeff9eb077e91b" ], 0, - "3b66fd50f4aab146198cafd9e8db6345" + "6311c18a98ee98c12707f360c22e16c8" ], [ "FStar.PtrdiffT.rem", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_6ae084591a21f7d4bed34f2acf042fb3" ], 0, - "3ab3bba9a1b17ba1361bd813344d6cda" + "6e6652ce48cf8ba8c2729b581d4e6f9e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Range.fsti.hints b/ulib/.cache/FStar.Range.fsti.hints index 259fee0cdc7..94c61dbfd06 100644 --- a/ulib/.cache/FStar.Range.fsti.hints +++ b/ulib/.cache/FStar.Range.fsti.hints @@ -1 +1 @@ -[ "\u001eÅž/‚yÿ1\u0006\u001cáçS\u0019V[", [] ] \ No newline at end of file +[ "©?³\u0016'Ÿ'\u0000d£‚뤑ý¡", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Real.fsti.hints b/ulib/.cache/FStar.Real.fsti.hints index 656ffd10a17..130833086e5 100644 --- a/ulib/.cache/FStar.Real.fsti.hints +++ b/ulib/.cache/FStar.Real.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_c751fbfd6f4b9a39c463d906ae6adf94" ], 0, - "28697a73f24ac95f41b0555128a1c214" + "4c11d0eb2b9c1d0e550c0226314f81c8" ], [ "FStar.Real.test", @@ -24,7 +24,7 @@ "projection_inverse_BoxReal_proj_0" ], 0, - "fa76b3e7d4c8850a84ff27bd4575f356" + "4523782b5019c41fa3c003fc4fce2673" ], [ "FStar.Real.test1", @@ -36,7 +36,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "07140c101f4be577afd8714a768aa9cc" + "d6bec196393bee8263e86cafaa85a7e3" ], [ "FStar.Real.test_lt1", @@ -45,7 +45,7 @@ 1, [ "@query" ], 0, - "97a67a6858441b3a7f2a60d7eaab44f9" + "a013e62cadfc191f492355dbf0e6be93" ], [ "FStar.Real.test_lt2", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "50cd7e173d5920798e4c9fd7c539ed58" + "9a7939352f949c170bbf3502368fd769" ], [ "FStar.Real.test_lt3", @@ -63,7 +63,7 @@ 1, [ "@query" ], 0, - "12f268d68d1fc728ce54ecaab4e92fcd" + "0a6a1880d80659d6de42200318e69c5d" ], [ "FStar.Real.test_le1", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "25952e18ecf216b194dfbc70fd28d3a5" + "abb792aea1f684aa17e50e86e044c6c4" ], [ "FStar.Real.test_le2", @@ -81,7 +81,7 @@ 1, [ "@query" ], 0, - "3c83b5d57d5a661c37a33ba09fccb16c" + "ee10aa60e2b8da4ba7c35e1afdf9b465" ], [ "FStar.Real.test_le3", @@ -90,7 +90,7 @@ 1, [ "@query" ], 0, - "d11797a80059b9eabaefe905105aaf44" + "3db7708489a9fbd59cd6777f1ec2eacc" ], [ "FStar.Real.test_gt1", @@ -99,7 +99,7 @@ 1, [ "@query" ], 0, - "ebb3002e675f93ea5af56a932e8e6f41" + "8acd8132e2c1841e10187eed5fee6c76" ], [ "FStar.Real.test_gt2", @@ -108,7 +108,7 @@ 1, [ "@query" ], 0, - "70e7f532002f66ab358a2292d22960d0" + "6923b591024f086c97c9d2cf6f573319" ], [ "FStar.Real.test_gt3", @@ -117,7 +117,7 @@ 1, [ "@query" ], 0, - "c712ef3de22adf0bf0ae1451ec7418d6" + "b7473776d85ffed98d5723ba7564ac69" ], [ "FStar.Real.test_ge1", @@ -126,7 +126,7 @@ 1, [ "@query" ], 0, - "d9064a8202f47547fb7c3f7918b6c85d" + "d8d0fb6cc3768933e5cc4eac3e363ce0" ], [ "FStar.Real.test_ge2", @@ -135,7 +135,7 @@ 1, [ "@query" ], 0, - "04d4997e02b51f5606f77b5b48c31003" + "6c0672648638457a375d7391066e801f" ], [ "FStar.Real.test_ge3", @@ -144,7 +144,7 @@ 1, [ "@query" ], 0, - "09d5edfadf4da4c59a38c0558c3f03f6" + "3eec8d38f885482eadb4f58bef87baf3" ], [ "FStar.Real.test_add_eq", @@ -153,7 +153,7 @@ 1, [ "@query" ], 0, - "9a721e5cc12a1cabb7263daa2a7982ed" + "c07fa6faec14a6c0f66efc6767fa1723" ], [ "FStar.Real.test_add_eq'", @@ -162,7 +162,7 @@ 1, [ "@query" ], 0, - "85d6122667e684565b93f324fd0df0e2" + "fd9ea28b4606f2cdc02554f5fcf7e1c2" ], [ "FStar.Real.test_add_lt", @@ -171,7 +171,7 @@ 1, [ "@query" ], 0, - "b927cf4f918018e58d472378e81cd213" + "0148f5db01ef7ede8efd311fa0ec50d1" ], [ "FStar.Real.test_mul_eq", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "b2b4b0badaf3979f9f02d5e8ea7fbab8" + "178fcffc5693a201e4f89a145034f0d0" ], [ "FStar.Real.test_mul_lt", @@ -189,7 +189,7 @@ 1, [ "@query" ], 0, - "ac596f7fc1ec28ea3b01af54fc78872a" + "668268addc9c30c24c700c2f032a9d8d" ], [ "FStar.Real.test_div_eq", @@ -198,7 +198,7 @@ 1, [ "@query" ], 0, - "623d5d51ce82a3c0eca503ef5ed01d42" + "fd336307f2088f36bc5413824f1a390e" ], [ "FStar.Real.test_div_lt", @@ -207,7 +207,7 @@ 1, [ "@query" ], 0, - "f4cd156c1e97849aa429d9a3a203644b" + "ab10696d3ac3ff14324d4e06960c660c" ], [ "FStar.Real.test_sqrt_2_mul", @@ -222,7 +222,7 @@ "typing_FStar.Real.sqrt_2" ], 0, - "c483b6f0e17cdfa8c3b8bf88c7cf1b8f" + "f762c94d2b40cc89288e3521ef4d5c5d" ], [ "FStar.Real.test_sqrt_2_scale", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_3834bf9163484f4b38ebf8a6c6045a0e" ], 0, - "c6609f3e9fd03f2ca1edd979fa63a064" + "cf372f25ac9394411979a78e190603bd" ], [ "FStar.Real.add_id_l", @@ -245,7 +245,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "f35e7de26cb60a66a4d71fe2c256002f" + "833c7f032fec7e3e4a925f011680bb96" ], [ "FStar.Real.add_id_r", @@ -254,7 +254,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "0b5c4e2444b2ada63b6b2d6a81e85df8" + "4211dec84b301ac97355501778a39510" ], [ "FStar.Real.mul_nil_l", @@ -263,7 +263,7 @@ 1, [ "@query" ], 0, - "53bd843f26daa6159eab45a0290dde8b" + "4e48d3f8191cdbed7474ee471126db64" ], [ "FStar.Real.mul_nil_r", @@ -272,7 +272,7 @@ 1, [ "@query" ], 0, - "f473412f88ba98be79897f1bd7d61645" + "590cc5ad22a97cfb1c7e6adcc5bfe097" ], [ "FStar.Real.mul_id_l", @@ -281,7 +281,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "cb96bc2163ac8952f3ac6a38e36b7708" + "e2df03ff13996bcdaa19ef0beec5f485" ], [ "FStar.Real.mul_id_r", @@ -290,7 +290,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "a8333f72737fa47ba757a35974ecf81a" + "0e889d1393b4bfdaeeae22d201da8a17" ], [ "FStar.Real.add_comm", @@ -299,7 +299,7 @@ 1, [ "@query" ], 0, - "1734f09d225e0677aecfbef37affd650" + "10b0786f9c50ff7609cc6a08267886f2" ], [ "FStar.Real.add_assoc", @@ -308,7 +308,7 @@ 1, [ "@query" ], 0, - "436ae074fca726c0ecec7fb159be1be2" + "48a310a7443db1abe0af76fb43c259eb" ], [ "FStar.Real.mul_comm", @@ -317,7 +317,7 @@ 1, [ "@query" ], 0, - "47aaf34d1fcad8f0b362dbc636e75df8" + "58f6ae0141ca2773f5dbbf3d2a6c92dd" ], [ "FStar.Real.mul_assoc", @@ -326,7 +326,7 @@ 1, [ "@query" ], 0, - "9278874c2be6347d4fa283e66196d031" + "d2b579aabd55ccf1169aaeb7d284ea7d" ], [ "FStar.Real.mul_dist", @@ -335,7 +335,7 @@ 1, [ "@query" ], 0, - "6020450839816ad905a609e7fd8bea15" + "000252abc9462b565bf788b20435b106" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Ref.fst.hints b/ulib/.cache/FStar.Ref.fst.hints index 526e364cf10..39117b36850 100644 --- a/ulib/.cache/FStar.Ref.fst.hints +++ b/ulib/.cache/FStar.Ref.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "73caba744ee7cd64a2c58b60ffa174af" + "e280247db6558eeadfd5cb1c99037aa3" ], [ "FStar.Ref.only", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a567da3a6d23adb19011dd71a6993810" + "3089d094485fcdd324fcd3d85974c75b" ], [ "FStar.Ref.alloc", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eaeb98e86cb989bda98bad3b3380d1f0" + "dddef81a2b603f755f6e129717513aee" ], [ "FStar.Ref.alloc", @@ -46,7 +46,7 @@ 1, [ "@query", "equation_FStar.ST.ref" ], 0, - "5f6cd3c4a495f7eed2d616b96e8f32db" + "1bb95651128664d86a57d8a38e51f6af" ], [ "FStar.Ref.write", @@ -64,7 +64,7 @@ "true_interp" ], 0, - "5243db30c28eeffc57efe5613314bfa1" + "b68acb210d69d81673409c42090fe172" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Arith.fst.hints b/ulib/.cache/FStar.Reflection.Arith.fst.hints index 377af2234fc..3734dc3de60 100644 --- a/ulib/.cache/FStar.Reflection.Arith.fst.hints +++ b/ulib/.cache/FStar.Reflection.Arith.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_6d6b1d29bc1fb8239cb0ff88a26a2751" ], 0, - "1b9817a64dba18f5f078e76becce86d2" + "d44017d994d66c021105e394a67f76d3" ], [ "FStar.Reflection.Arith.__proj__Atom__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "a24e361b5adc3bde81baef2a9d9107b7" + "8c1afc69f1a4502cd68c02ddff712eca" ], [ "FStar.Reflection.Arith.__proj__Atom__item___1", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "841c7c5e05e16c574570ea6527d8c43a" + "36a23f3fd54ba65c6e093825dd4a346d" ], [ "FStar.Reflection.Arith.__proj__Plus__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "e20d756761e49b336cb4dff1d0700a25" + "916657934ff9efa901def5a6ef297b91" ], [ "FStar.Reflection.Arith.__proj__Plus__item___1", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "ab83e3c81dea09710a51d21fcea4779f" + "eaa8015ad4981d06882026d918d96ceb" ], [ "FStar.Reflection.Arith.__proj__Mult__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "ee085794595cfcd81cdc8880e5b61a57" + "8f0a9de131d2a733c9d443810d27e2f4" ], [ "FStar.Reflection.Arith.__proj__Mult__item___1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "0c72a08dff73a204da345cbb8636978a" + "984cd55024e465902f33ea5471aad2c9" ], [ "FStar.Reflection.Arith.__proj__Minus__item___0", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "f535d62201d6300065dc7f4851801a16" + "d10fac246e923fd38431fb079f5ae901" ], [ "FStar.Reflection.Arith.__proj__Minus__item___1", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "67346d7e57dfab9e5ac51f4df1631b8f" + "3d70e0bb8d6b424fb47e4e570bed26fd" ], [ "FStar.Reflection.Arith.__proj__Land__item___0", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "b28d752b4e5c3dc9e6da88b1bbeed80a" + "3fd742254beefe6c1a2219428e63a7b9" ], [ "FStar.Reflection.Arith.__proj__Land__item___1", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "44eeb5b4dd4d783fad960da73cf15f75" + "a9d387f3dcb926aacde99c356dda0ef8" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "10fc045e1833bed65f8cdf49b71f555d" + "1de3c686e8f10a1dfabb7a10b2c40688" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "f954e3f866123c3ed2a63a59b5e21f25" + "37b3813a5e2260a8c6e2bb15042d1cf8" ], [ "FStar.Reflection.Arith.__proj__Lor__item___0", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "a8b2af1497c9bb28fc86b6cdeec7f287" + "93bca5401ba85fdd4095b434d409d15e" ], [ "FStar.Reflection.Arith.__proj__Lor__item___1", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "389aca930892063829eb151521a6c471" + "5e9078ed5e455fe152deee0e60af990f" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___0", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "81fb0c8fe4c4675fe4a9a96a6491d71d" + "28e5d8a0c1496204526a8292cda98677" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___1", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "d8757671a15414ea06e81492175ca964" + "378bdf2ac821925123de45d0c425be07" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___0", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "fcc653be7bbd411c41921d28709aa317" + "666614b0d7caa492c2b9fc049c2d9e8c" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___1", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "635cc3785e10d1860f3088d47c5eb4f2" + "2bef7ae1be5172d57fd17754401f3156" ], [ "FStar.Reflection.Arith.__proj__Shl__item___0", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "f5fb7cb2a98bc57fd542ac20eea18c6c" + "ed0c980bbefdce690878f9fc00c05a7e" ], [ "FStar.Reflection.Arith.__proj__Shl__item___1", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "0c06ef62bf7ac0ea8057978f8c7e4921" + "a3d5358213b9ec2add6036a5efc25b61" ], [ "FStar.Reflection.Arith.__proj__Shr__item___0", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "18e0654b714726c50a6c044d4dd4c12c" + "75620d3396e9ba08baef4ed93836c299" ], [ "FStar.Reflection.Arith.__proj__Shr__item___1", @@ -321,7 +321,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "437e1b42f9e63907d9b0aae91d8a2f6f" + "1238dba3fd6f8fda5594ba6434068bf0" ], [ "FStar.Reflection.Arith.__proj__Neg__item___0", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_2b503333970a09999d3f3427b6212452" ], 0, - "26c56368b452de997bfd4c61e27a371f" + "67c7d2c81f869c5c484173d7d203fc05" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___0", @@ -349,7 +349,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "b25075197226aac83aa83e611dd2d03a" + "7951ac412b2276c7d07cd39187b7611c" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___1", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "b40711369e3018368d02601e05272f55" + "159987b9922d32928bbdb263d7bb1bc1" ], [ "FStar.Reflection.Arith.__proj__Umod__item___0", @@ -377,7 +377,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "b01adfc6ff3736037065050b3f7caa81" + "9c31533c7f0430be20a38d4e448e1e3f" ], [ "FStar.Reflection.Arith.__proj__Umod__item___1", @@ -391,7 +391,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "6925b886f7ad49fba71e4c418670c9c9" + "c50b21f18ecc06db471e1ba32661dc32" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___0", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "2d5d82e35f9b7c6abf3d3aee6bef5f1c" + "b20b7f5364655b08e7046b77262382d0" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___1", @@ -419,7 +419,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "9cfd9792bd31cbed4657b70cd084381a" + "04e09b22d4386db06ceca09525312e94" ], [ "FStar.Reflection.Arith.__proj__NatToBv__item___0", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_1d0defb913a4ce54df82c51bcbfdf7e8" ], 0, - "cbcaea2f63a226415bd445e17d747052" + "945da1241d91e6cfee489437a737f930" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___0", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "95ad8a12165b403cab77985854b164e0" + "3550df400b96a485a618c930c46f3494" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___1", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "d4c57ab0dc7f83c7965cb92036305a7d" + "af2fd2ebd70f75b488d07cffa6d8ec3d" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___2", @@ -475,7 +475,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "b3368709b2e2c86b5aa045627a3fba6a" + "b7c6e312a518109cae5ed9e90498e2d6" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___0", @@ -489,7 +489,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "e233b2d80e9302e6e40d970eca0322a4" + "6a0fa7efdc614e221876de7cdcce7535" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___1", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "5e15b20a485a95a817a9830e80129c4b" + "2cbb5990fe6773d0b658087ba9e86fa7" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___0", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "b4cb419669da2a002b2b44107f139dc9" + "70ea87a47816176d686eebefec073255" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___1", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "536f20db446c291e0971d0d9c7e118c3" + "28afb26af56a3ba3a4f6dda2be9474aa" ], [ "FStar.Reflection.Arith.__proj__NotProp__item___0", @@ -545,7 +545,7 @@ "refinement_interpretation_Tm_refine_8d6d8505225a176ad0ad6d4659bf7428" ], 0, - "841e744e2a75001f5c292c1056a3bc3f" + "73d2c5eb421b14e29809a7a1c287cab0" ], [ "FStar.Reflection.Arith.op_let_Bang", @@ -562,7 +562,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ccc86e770a4a5ea2431fdb9b15a7c754" + "1840681378eecfedf26a6e43cd132669" ], [ "FStar.Reflection.Arith.find_idx", @@ -589,7 +589,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "d31144479fdf3ea23a15b22107ae6ec2" + "5482bf7e974d13ed76c9834dd2a14b2f" ], [ "FStar.Reflection.Arith.atom", @@ -630,7 +630,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "32efbdd2725b78e92a1de67445a6c5d5" + "5c101e0a5d9be1970c025424a0f577d4" ], [ "FStar.Reflection.Arith.as_arith_expr", @@ -684,7 +684,7 @@ "typing_tok_FStar.Reflection.Data.Q_Implicit@tok" ], 0, - "972f1c1af7f5742360d8c17464e327fa" + "a7145f9038604aed0c8075456ef14168" ], [ "FStar.Reflection.Arith.run_tm", @@ -712,7 +712,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "f8331ba39c93f273673cbd075b7fdf27" + "cf7f9bef990f07bbf8252e0ee930ddd8" ], [ "FStar.Reflection.Arith.expr_to_string", @@ -758,7 +758,7 @@ "subterm_ordering_FStar.Reflection.Arith.Umod" ], 0, - "4306713391cbfb391dc3666b112cb1b0" + "8a9bc5e97f2becb0ccf5e6336ee3ec86" ], [ "FStar.Reflection.Arith.compare_expr", @@ -783,7 +783,7 @@ "subterm_ordering_FStar.Reflection.Arith.Plus" ], 0, - "c1dee7ca6ee5c2329ab0a41ffaff063b" + "c28bd2c358cf344e298f1f2cd670d5ca" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Builtins.fsti.hints b/ulib/.cache/FStar.Reflection.Builtins.fsti.hints index 4ff97b9c308..d1179b9d72b 100644 --- a/ulib/.cache/FStar.Reflection.Builtins.fsti.hints +++ b/ulib/.cache/FStar.Reflection.Builtins.fsti.hints @@ -1 +1 @@ -[ "È­‹¾\u0017×£ÜF=—¾!ôNÆ", [] ] \ No newline at end of file +[ "ñlŸ^rl»*\\)\tî`2ð", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Compare.fst.hints b/ulib/.cache/FStar.Reflection.Compare.fst.hints index 835a95089f4..2adc7e2af8c 100644 --- a/ulib/.cache/FStar.Reflection.Compare.fst.hints +++ b/ulib/.cache/FStar.Reflection.Compare.fst.hints @@ -1,5 +1,5 @@ [ - " H„—?G\u0002_Ï\t\u0011UI#à©", + "v»qk¼gˆ¿ýC«5._Q", [ [ "FStar.Reflection.Compare.compare_const", @@ -22,7 +22,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "f599582671218a521c2dc4c85342f199" + "8ba28a7b821c61de34fe913a68eab425" ], [ "FStar.Reflection.Compare.compare_universe", @@ -54,7 +54,7 @@ "typing_FStar.Reflection.Builtins.inspect_universe" ], 0, - "3b230a0f3f9dbe3b985dcec67c09b538" + "eaa03c0d1af37a26a62abb6793f09c32" ], [ "FStar.Reflection.Compare.compare_term", @@ -82,6 +82,7 @@ "disc_equation_FStar.Reflection.Data.Tv_Type", "disc_equation_FStar.Reflection.Data.Tv_UInst", "disc_equation_FStar.Reflection.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.Data.Tv_Unsupp", "disc_equation_FStar.Reflection.Data.Tv_Uvar", "disc_equation_FStar.Reflection.Data.Tv_Var", "equation_FStar.Reflection.Data.argv", @@ -93,23 +94,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", - "projection_inverse_FStar.Reflection.Data.Tv_Let_body", - "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Let_def", - "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", "subterm_ordering_FStar.Pervasives.Native.Some", "subterm_ordering_FStar.Reflection.Data.Tv_Abs", @@ -122,7 +107,7 @@ "typing_FStar.Reflection.Builtins.inspect_ln" ], 0, - "ea2cac9dff4b22a431050c55bf740034" + "75f98f1a7561f6a43afbf97863797d50" ], [ "FStar.Reflection.Compare.compare_term", @@ -143,7 +128,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3e26f2464245863338807d9fc16ce97f" + "03fc62f990bafd82ecab3e5e4bf24570" ], [ "FStar.Reflection.Compare.compare_term", @@ -157,7 +142,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "887ca213ecb51bbb76b56fce8b136b87" + "89945af71fc7745c8e0cd442b15e5761" ], [ "FStar.Reflection.Compare.compare_term", @@ -186,7 +171,7 @@ "typing_FStar.Reflection.Builtins.inspect_comp" ], 0, - "cd423ec706a73e07a8fbb8f6d0717c8a" + "92fb204ef26184601afb183f096f077e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Data.fsti.hints b/ulib/.cache/FStar.Reflection.Data.fsti.hints index 3fa8de4525d..a4928c79834 100644 --- a/ulib/.cache/FStar.Reflection.Data.fsti.hints +++ b/ulib/.cache/FStar.Reflection.Data.fsti.hints @@ -1,5 +1,5 @@ [ - ",·Ô’Ø‹*\u000bL7̘y„«§", + "g`Ѭ \u0003trκž÷ÞNÜ`", [ [ "FStar.Reflection.Data.__proj__C_Int__item___0", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_c08a4ee11c42be94891bcd718060ca92" ], 0, - "c10434dfec21419effa3caa17db25583" + "f47cfcd8825513bd145a8de76525554a" ], [ "FStar.Reflection.Data.__proj__C_String__item___0", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_962840888fae5b535c54118d49e496bf" ], 0, - "5e08df3e5510eca46f6bc68fec45141e" + "8d2e873d6ddf1d4209e27957823243da" ], [ "FStar.Reflection.Data.__proj__C_Range__item___0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_1c4955f10fca96488533ede5f0a52638" ], 0, - "eda230deb68777b255b9c243fb21b144" + "cf376ceb6ecd458b1f15880b607497cb" ], [ "FStar.Reflection.Data.__proj__C_Reflect__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_4cc167f1ff8ad32c71798780d20b282e" ], 0, - "7f5f7b044d32dd41eff04981ac13e4ac" + "f6bc8122621f56cdc6f994a83ed603f7" ], [ "FStar.Reflection.Data.__proj__Pat_Constant__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_93ebabe48efa4888ac758a040954784f" ], 0, - "3b31a96740215cce09a971abb8f2a28a" + "661f7ac0613d12c3a6fc87ee8caaacbd" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___0", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "3fc07a322c64c16d904102bc87a27017" + "e921c6deae0fb9c6307835e76a3f4ed0" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___1", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "02fbfd751d3561ffdd6624322889c244" + "92c1cbaf9f2bfc69d090c0a4e43f8c3b" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___2", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "6ae947bf3995c97d472d2f24e3438a90" + "ae0e3970b954a785094094c6b3b975e3" ], [ "FStar.Reflection.Data.__proj__Pat_Var__item___0", @@ -107,19 +107,19 @@ "refinement_interpretation_Tm_refine_e9e10a87c0926c88822ce8a190a55063" ], 0, - "c41c7e1773ad6c52bfc8343d0851fdf5" + "e1abdaf5c57d0fff8cb395dc6fb34af1" ], [ - "FStar.Reflection.Data.__proj__Pat_Wild__item___0", + "FStar.Reflection.Data.__proj__Pat_Var__item___1", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2bd8e811315fcd591a6321d9e806533a" + "refinement_interpretation_Tm_refine_e9e10a87c0926c88822ce8a190a55063" ], 0, - "42c8b271e2777d7d3e01c97ef71d6cac" + "3196df07273d89e09ab1501356a76c5d" ], [ "FStar.Reflection.Data.__proj__Pat_Dot_Term__item___0", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_1e1371e7a5d344539ad5a730bbad78a5" ], 0, - "6b2470782e09b784943cdfe7433984f0" + "d99545a0e587f68e9bda78d73133aae7" ], [ "FStar.Reflection.Data.__proj__Q_Meta__item___0", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_554c6aa863a092a64c8aa33c423562eb" ], 0, - "06f31836833eaa94c648fe4cc333e510" + "f03a6d9dbf6ba902d533b4d23b62ce06" ], [ "FStar.Reflection.Data.__proj__Uv_Succ__item___0", @@ -155,7 +155,7 @@ "refinement_interpretation_Tm_refine_b70af0f3278f9152fa971bfefd9da1a7" ], 0, - "05a54af0891e7574f284cbfb03fe6e27" + "c547d7b5ecb96deb97ebb8522a62e981" ], [ "FStar.Reflection.Data.__proj__Uv_Max__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_65d47be67ba76d6db5759f0ebb8ef3ed" ], 0, - "1c09eaa5e95241542dd0a03e59b7c26e" + "3d14e41db25e559805b7e322452456f9" ], [ "FStar.Reflection.Data.__proj__Uv_BVar__item___0", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_11f0e4f81ce89a33e1d023a76e546642" ], 0, - "998bd2c94f82ec830ffd5c24687be185" + "15be43e7d5d2952528a2f7fc2f007b6b" ], [ "FStar.Reflection.Data.__proj__Uv_Name__item___0", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_8ee838d793e7306656f088a5a007fe01" ], 0, - "cc8a61cb71e7945ce284434deff01b2b" + "31d0cd610a9ddc351fa27f078a12c226" ], [ "FStar.Reflection.Data.__proj__Uv_Unif__item___0", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_ef58d6b412ca285ee19068189ad41352" ], 0, - "5896b4614cce4a55c1bac84703bf3cdf" + "d972e5e9866b970615d0655a50e64ac9" ], [ "FStar.Reflection.Data.__proj__Tv_Var__item__v", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_3eea560ac528b6a63ae8a0784a5c2051" ], 0, - "4772f51c74d8bb6606ca986027a69ca5" + "e192a54df11f00c05f8adbd6b3c6c8c9" ], [ "FStar.Reflection.Data.__proj__Tv_BVar__item__v", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_aa0290e944ffbab8a78d62f482f02e0a" ], 0, - "e91b4d49586fd501b6c0bab76090ee3b" + "27f500bd8ab1c46c7478f8bffb566606" ], [ "FStar.Reflection.Data.__proj__Tv_FVar__item__v", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_ad0c440fdab6ffc192ca7b9c26ec7060" ], 0, - "e642a3f90668e9344c9f6f2bf366e073" + "f139016ff01dd8902c18a1b8690f94de" ], [ "FStar.Reflection.Data.__proj__Tv_UInst__item__v", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_c8c25cce950f7502659e3b46e5cb5351" ], 0, - "60895f8c1e9053292dbd36d53acf5bc3" + "c1ff17e8185f7a457ee174b9dd1deb20" ], [ "FStar.Reflection.Data.__proj__Tv_UInst__item__us", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_c8c25cce950f7502659e3b46e5cb5351" ], 0, - "eedfe148689617a3f33531b52953fbed" + "6b48e782cdbcedf4f8232b6e6f76c646" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__hd", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "daed3aac1becadb0d6d84dc4c350611c" + "b7474976ad779fb826e749c5979790f8" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__a", @@ -287,7 +287,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "d03ee0de69ebf4461f9da14b3a40c7e5" + "f5cae3522e78b75cc770ec070702c311" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__bv", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "c2fa71e19d2f799edb1a3f07acbe8478" + "47e95f1f5e44ad832edc082fcc4bfc3e" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__body", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "4a2db02bd11381a7f533c1975280bc25" + "e1f3803e8bfca5e220e15f0329b13e28" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__bv", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "e8ffb79376acf5ec4b80b6d12b8b90ba" + "3c04bc112fb8568d870eb190c981060f" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__c", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "02d96d97c2498460bcf0a41ace956ca2" + "7f7ca030a9d572ffc6be651f93b96b41" ], [ "FStar.Reflection.Data.__proj__Tv_Type__item___0", @@ -347,7 +347,7 @@ "refinement_interpretation_Tm_refine_46e071c592a079ed4ad7345ac56f609b" ], 0, - "7c479177d8328c21bf8900cc5a443a91" + "797609314020bae57f4d0ca5edbc4d00" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__bv", @@ -359,7 +359,19 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "35e5993787cb26f7299f34d5415d4cd6" + "855ea15f10f145b1c460f5577d1ef8e7" + ], + [ + "FStar.Reflection.Data.__proj__Tv_Refine__item__sort", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" + ], + 0, + "b07fbaccdb0e76194c28f1cc88dec5dc" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__ref", @@ -371,7 +383,7 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "340e30e7ff30a79f003a7e5015fe707c" + "02e3422c1600ae4383b171dda6061bce" ], [ "FStar.Reflection.Data.__proj__Tv_Const__item___0", @@ -383,7 +395,7 @@ "refinement_interpretation_Tm_refine_6367ecde002ce94c1d6d2d25e68fc6d4" ], 0, - "97ac44b4cce3241607fba395303929b0" + "65b76b32938e9930f91808e0f7e4d132" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___0", @@ -395,7 +407,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "37ed620d124d3893e521bf33b9ef066e" + "a9e8c554310742070d542d047c2ad52b" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___1", @@ -407,7 +419,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "5ece75c40906084f63c0af9ec7f7b3aa" + "9728f099384df6c54fe143e47de344f1" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__recf", @@ -419,7 +431,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "42242050750e579f623b9bb6e56eede3" + "d895637ebfbf92ea09e9dffa746b2463" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__attrs", @@ -431,7 +443,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "1223fd26a21aa8c9c85d056d641da50a" + "2c13e19a88152fd33f4ed8e461f56248" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__bv", @@ -443,7 +455,19 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "d905c919bc93066600ecef096c7af49c" + "e67893a798fec7adfbacc1cfad19fd78" + ], + [ + "FStar.Reflection.Data.__proj__Tv_Let__item__ty", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" + ], + 0, + "619e630604a79ea501ed1d5c10f3768f" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__def", @@ -455,7 +479,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "32f4c980ab02f8170abd563fbeff7e25" + "a2963b1c4c98433cfe63c34907e88a44" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__body", @@ -467,7 +491,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "95d9209cf57ec70fe3314ba1fd6dfa00" + "d7e23d1ec3e11b19322cb0adb50a732d" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__scrutinee", @@ -479,7 +503,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "9e6eb4bf215c62711dae0eb38803e85f" + "dbc9ea9787fae0fbdcf25ec028200ae6" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__ret", @@ -491,7 +515,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "1f4336911f68e328bf62881c9398f24d" + "bcf654a0b50889ce741b91aa6b17b31f" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__brs", @@ -503,7 +527,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "b884261abdffc2dd6cb02fdd5a934066" + "d12eb2261e8dc5caa69c3888862e1328" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__e", @@ -515,7 +539,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "5a160c6db665c4bd6725e3edd3b659ca" + "0946ecbf3e4dce7660ac5c66561c98e7" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__t", @@ -527,7 +551,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "44a5f1e48b258948997a8e4962a3f53b" + "9859ffca5c12e09abe466d3a31a2225e" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__tac", @@ -539,7 +563,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "8fbc2568709db416e237d63a5cbd2702" + "f813f6732bb1032029a8477bc3829f1f" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__use_eq", @@ -551,7 +575,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "afb1c61ce8265dde23cd7aea4cd22764" + "dabfd411fa3b8263c564c8c220bd16cd" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__e", @@ -563,7 +587,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "07b22d06a49abc2292c7eec8490aa1d9" + "e56600d4310890eab4a44c14732345d7" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__c", @@ -575,7 +599,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "f9dc4e66fc031cd1865624e61ff1a202" + "f7e86358cd0b02cc6ab7c97f3d1f96b1" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__tac", @@ -587,7 +611,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "30ababd8b96c7e53479f868875cbf182" + "f871a1b111dc0dc5d6ecb9776b9da358" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__use_eq", @@ -599,7 +623,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "a82aaa47bdbbf26cbaff9db7773818f4" + "94f7ce1a23101a7f88914cf0f71e1853" ], [ "FStar.Reflection.Data.__proj__C_Total__item__ret", @@ -611,7 +635,7 @@ "refinement_interpretation_Tm_refine_c49d8c25a13c3bb2a3cf94711118bdc7" ], 0, - "cdc336da04e004e4ffa57ffaea7ba464" + "b2fd517223d1ac3063db71895277c82e" ], [ "FStar.Reflection.Data.__proj__C_GTotal__item__ret", @@ -623,7 +647,7 @@ "refinement_interpretation_Tm_refine_7324379c55c945971c5d4ade74171404" ], 0, - "58181fc08ab6e385ddaab9658d7b569a" + "3cd201d2bb67befba5f6d78b9ddd0723" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___0", @@ -635,7 +659,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "8f9345d56e057fd2c0cde069fccb6b67" + "82beaf303712a153df729063be3e53fa" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___1", @@ -647,7 +671,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "83cf2a1d858fff2d4f64be28063ed2dd" + "8862c8430a44b7f69864c9d6db93d354" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___2", @@ -659,7 +683,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "6a6f31ed24853632c9b0bd583df767a4" + "6f0bc1e5e86865fb09fc16bac4cc10f0" ], [ "FStar.Reflection.Data.__proj__C_Eff__item__us", @@ -671,7 +695,7 @@ "refinement_interpretation_Tm_refine_d34f7235eeaa53312f2cd135652e7875" ], 0, - "0e184d7acdcbedcf9c3f95919d806a21" + "a5bc665546d0d2b7eda6735345b0f010" ], [ "FStar.Reflection.Data.__proj__C_Eff__item__eff_name", @@ -683,7 +707,7 @@ "refinement_interpretation_Tm_refine_d34f7235eeaa53312f2cd135652e7875" ], 0, - "9e8399548c0ac0405a33b05bc8167727" + "039298109e9bbc890727201beb63ae48" ], [ "FStar.Reflection.Data.__proj__C_Eff__item__result", @@ -695,7 +719,7 @@ "refinement_interpretation_Tm_refine_d34f7235eeaa53312f2cd135652e7875" ], 0, - "d958ff5735d428ae2bc4a0e852d13e2d" + "39dfab8cc35947934418b0118ef3f98f" ], [ "FStar.Reflection.Data.__proj__C_Eff__item__eff_args", @@ -707,7 +731,7 @@ "refinement_interpretation_Tm_refine_d34f7235eeaa53312f2cd135652e7875" ], 0, - "47a6a8dc77351d63b5ef2f88ccdb0139" + "4a5d90241747961adb49bb512f20cb9d" ], [ "FStar.Reflection.Data.__proj__C_Eff__item__decrs", @@ -719,7 +743,7 @@ "refinement_interpretation_Tm_refine_d34f7235eeaa53312f2cd135652e7875" ], 0, - "578792b52fbbdb4b17e0daedd38350e8" + "41afcb332e3325bce6ea6a43d45edcff" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__r", @@ -731,7 +755,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "ad5516e4d63c044ec6f2ac545e3d4fe2" + "b7e6b08c3e08dbf171624db70ed60839" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__lbs", @@ -743,7 +767,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "643c1111a22cbc900bb09e5571ed161e" + "17b9e9bb844d9de2df0abd35d6a63ddc" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__nm", @@ -755,7 +779,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "de601a7835846fdd1678ee137420a46b" + "773204eab11d1452c0446be4482f914f" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__univs", @@ -767,7 +791,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "51f8608b9e17a058f692386c7cf71679" + "14d541a0dcd6a981f1126e05a33a798d" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__params", @@ -779,7 +803,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "fbd14e05c1ca03a07a2321aa44340ad5" + "51d0ee9d5644c55a3e413be9543afc0a" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__typ", @@ -791,7 +815,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "fb68f058526db4c2bc0705e10dcb0b99" + "886aa8cbd8c4daf1d02209f49f768fc0" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__cts", @@ -803,7 +827,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "0e96a91643781080e8afed8bcd2bd9ec" + "5c5981247215e9b39d698d46560b9cac" ], [ "FStar.Reflection.Data.__proj__Sg_Val__item__nm", @@ -815,7 +839,7 @@ "refinement_interpretation_Tm_refine_65ef658174c94355a7523878995b3a62" ], 0, - "ad7443cef05962e693d2cf90dea93581" + "0c935c4c287bc10003d4c2a321ac2154" ], [ "FStar.Reflection.Data.__proj__Sg_Val__item__univs", @@ -827,7 +851,7 @@ "refinement_interpretation_Tm_refine_65ef658174c94355a7523878995b3a62" ], 0, - "91e6f3246f00c86ae99669967c801b0f" + "2a8b48dcc7a11d44e7e92fedd9acd4c9" ], [ "FStar.Reflection.Data.__proj__Sg_Val__item__typ", @@ -839,7 +863,7 @@ "refinement_interpretation_Tm_refine_65ef658174c94355a7523878995b3a62" ], 0, - "c9eeaab68e071c1f8217c7b3af6e5485" + "9435eff7ee3387c6b1a956fca62e93bc" ], [ "FStar.Reflection.Data.__proj__Reflectable__item___0", @@ -851,7 +875,7 @@ "refinement_interpretation_Tm_refine_c34f0d7d0e699991a04bb2a7c36e16a1" ], 0, - "f54fb5106636023603de3a09658a2344" + "3ff3b674631178faa223cded426aee36" ], [ "FStar.Reflection.Data.__proj__Discriminator__item___0", @@ -863,7 +887,7 @@ "refinement_interpretation_Tm_refine_eb64b60e267a3f1a1e0c9c733cef94df" ], 0, - "f6c83a5f39ec1fe312293dbb32671c9f" + "4baf54d6918adc2a439eb5887481a8a8" ], [ "FStar.Reflection.Data.__proj__Projector__item___0", @@ -875,7 +899,7 @@ "refinement_interpretation_Tm_refine_4f3f76182786e5ab36d54284447b3450" ], 0, - "53e83241320d417a155c8f0169a1e6fa" + "5fe74bca8c6df81062a6bb5c085f7b3e" ], [ "FStar.Reflection.Data.__proj__RecordType__item___0", @@ -887,7 +911,7 @@ "refinement_interpretation_Tm_refine_e1bbbc91eb2c532bfa5f18d5049ab916" ], 0, - "b15c312e07f961ec10940dc8dd0585f8" + "84d879d5d0beefecab18ab960416f2b9" ], [ "FStar.Reflection.Data.__proj__RecordConstructor__item___0", @@ -899,7 +923,7 @@ "refinement_interpretation_Tm_refine_2f83d1d324168389a85248c3be14b0e2" ], 0, - "a8afdb5320236d097f445840e28bc328" + "000a7138ada45f91588f586d0f58d2fd" ], [ "FStar.Reflection.Data.__proj__Action__item___0", @@ -911,7 +935,7 @@ "refinement_interpretation_Tm_refine_9ab2f17c4e08bebb48a3bbbdd71d4822" ], 0, - "3d09fd89cd3390557850b904819d5fd3" + "462906b5d35c15f63bbc015f5f6d4073" ], [ "FStar.Reflection.Data.var", @@ -925,7 +949,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea5a211f885ff66c43a1b5fd7c1e7e39" + "a8b4d7e6b23614ff5f90fde9a2b59fd1" ], [ "FStar.Reflection.Data.exp", @@ -940,7 +964,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "912de6cd6f1b98caf61bc2e259ed6bef" + "fe4d7d6e30acb802ceb7e4a9fa15cd9b" ], [ "FStar.Reflection.Data.__proj__Var__item___0", @@ -952,7 +976,7 @@ "refinement_interpretation_Tm_refine_9336c13eebdfb5f947bab56afc3c0eaa" ], 0, - "f8eed5bf78a7fa21505e09e2751a5302" + "4b86c86ef41f3bdded890ea2cc5ac635" ], [ "FStar.Reflection.Data.__proj__Mult__item___0", @@ -964,7 +988,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "90c1a4447ea866d275c48509ad962551" + "adb9cb76acf5ab76af22a92b5f5484bc" ], [ "FStar.Reflection.Data.__proj__Mult__item___1", @@ -976,7 +1000,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "02509e5a9efbcac38c54ab895c8ec4ee" + "de072bcd5d60b2431596dd07f013427c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Derived.Lemmas.fst.hints b/ulib/.cache/FStar.Reflection.Derived.Lemmas.fst.hints index 26ebfcff3f9..10c25af4707 100644 --- a/ulib/.cache/FStar.Reflection.Derived.Lemmas.fst.hints +++ b/ulib/.cache/FStar.Reflection.Derived.Lemmas.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "aeb75e3a20607d7d118848a7acb62358" + "aa8cb6f8baab15e1504173c455f6e800" ], [ "FStar.Reflection.Derived.Lemmas.list_ref", @@ -38,7 +38,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "617ec7768d032c09aff66b7dfb2c8748" + "ff74ae12808ea2010102c2b40b09621f" ], [ "FStar.Reflection.Derived.Lemmas.collect_app_order'", @@ -88,7 +88,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "524589fb0bf63e630f9d15cbee36bc4b" + "037d9e33c79fb5cdda692ef46c4a72f9" ], [ "FStar.Reflection.Derived.Lemmas.collect_app_order", @@ -133,7 +133,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "10f600b52d8130d0564fa058f3156bf2" + "b406a86f0c01ba5222570b24d9ac4964" ], [ "FStar.Reflection.Derived.Lemmas.collect_app_ref", @@ -161,7 +161,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "c121808fceaf389f02553db7221fe6a3" + "0928c5535a0d35e8c8fffe19b932d326" ], [ "FStar.Reflection.Derived.Lemmas.collect_abs_order'", @@ -209,7 +209,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "e474de01c4c17fbf36586a51623f1ee1" + "9ba03d71f002af2f0d057fdd4ccc71b8" ], [ "FStar.Reflection.Derived.Lemmas.collect_abs_ln_order", @@ -253,7 +253,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "2604df4cc3482db732174b66091bea37" + "fdb1f9f5825c776e81756ca0f458a5c9" ], [ "FStar.Reflection.Derived.Lemmas.collect_abs_ln_ref", @@ -273,7 +273,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "dcd60b195037f107464bde9b33fee347" + "984121d4e79f4b566c34453fbb93b4fd" ], [ "FStar.Reflection.Derived.Lemmas.collect_arr_order'", @@ -333,7 +333,7 @@ "unit_inversion", "unit_typing" ], 0, - "82a702e0cddc45a63896883c3f30e380" + "daa7f02cf59ff3e33f9674adf9529deb" ], [ "FStar.Reflection.Derived.Lemmas.collect_arr_ln_bs_order", @@ -391,7 +391,7 @@ "typing_FStar.Reflection.Derived.u_unk" ], 0, - "49db499c34fd9df292168f93576647d0" + "2ea0df34c92d46588c09a72a03a55da7" ], [ "FStar.Reflection.Derived.Lemmas.collect_arr_ln_bs_ref", @@ -411,7 +411,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "9d2e39e9ab4c9b6a107b28826aeeb49d" + "225bb9672c87cf24172e90e2747f816a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Derived.fst.hints b/ulib/.cache/FStar.Reflection.Derived.fst.hints index 7369cd738fd..8ee4c5445e6 100644 --- a/ulib/.cache/FStar.Reflection.Derived.fst.hints +++ b/ulib/.cache/FStar.Reflection.Derived.fst.hints @@ -1,5 +1,5 @@ [ - "\t©\u0001÷䟎ßÜv}ÿ‚Æ̦", + "¥\u0004Y÷\u000e*6qnór\u007f]*î", [ [ "FStar.Reflection.Derived.inspect_ln_unascribe", @@ -22,7 +22,7 @@ "typing_FStar.Reflection.Builtins.inspect_ln" ], 0, - "e3bae186ddbc6431bc88c92ca54cb23c" + "fcf9a7ed2816cea9b4da3ed14d658b25" ], [ "FStar.Reflection.Derived.flatten_name", @@ -37,7 +37,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9d20e6889e19d1e5197a73f449210c1a" + "cec347e85927e65b1c8327abac995e02" ], [ "FStar.Reflection.Derived.collect_app_ln'", @@ -54,7 +54,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "05606155541e80e3d54b3942f3b5d19d" + "2b7ce920dbf1732e633a78e178a475b5" ], [ "FStar.Reflection.Derived.mk_app", @@ -70,7 +70,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "916085e641148e00470ca52d91354924" + "c470d93edaaa5316527c650e8b909394" ], [ "FStar.Reflection.Derived.mk_tot_arr_ln", @@ -85,7 +85,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2ac50b3ed1633618adc6578fd22ebba2" + "9001e13557f76eec44293df74b0f4376" ], [ "FStar.Reflection.Derived.collect_arr'", @@ -107,7 +107,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "ae7ff6cfa052659cbb7ea272a259bb24" + "f8faa045619bc5bfd6277e5537394c16" ], [ "FStar.Reflection.Derived.collect_abs'", @@ -124,7 +124,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "a1aa1453ec06ade20c48d173fa7fa83c" + "706f7536eddffdb6dca635201a042819" ], [ "FStar.Reflection.Derived.mk_list", @@ -138,7 +138,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1775557b26e8940b53f97357ef7a7be6" + "729511bd8914e09ea9e45921a5564707" ], [ "FStar.Reflection.Derived.mktuple_n", @@ -164,7 +164,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "48861bee154dc3552bf191ffe2072949" + "3bb59d8edadaa5f699c6c183bb8e96a4" ], [ "FStar.Reflection.Derived.destruct_tuple", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ec360197063d4085576756df87c76aca" + "01de67ecafe1311875b91a6396680805" ], [ "FStar.Reflection.Derived.mkpair", @@ -199,7 +199,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "83315e5a717edf06d50ed379f5d16372" + "2607cb9f469b7bce9240a1d6dbbcc4b2" ], [ "FStar.Reflection.Derived.head", @@ -225,6 +225,7 @@ "disc_equation_FStar.Reflection.Data.Tv_Type", "disc_equation_FStar.Reflection.Data.Tv_UInst", "disc_equation_FStar.Reflection.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.Data.Tv_Unsupp", "disc_equation_FStar.Reflection.Data.Tv_Uvar", "disc_equation_FStar.Reflection.Data.Tv_Var", "fuel_guarded_inversion_FStar.Reflection.Data.term_view", @@ -240,7 +241,7 @@ "typing_FStar.Reflection.Builtins.inspect_ln" ], 0, - "d722ada13f5828f077efd2124fdb5ca9" + "6f73529abb48eb8513d15baebc0c244f" ], [ "FStar.Reflection.Derived.is_any_fvar", @@ -256,7 +257,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "852d419df3e440ca7fb2b9467586600e" + "80efff956d1056f98d1385c766fc197a" ], [ "FStar.Reflection.Derived.is_name_imp", @@ -275,7 +276,7 @@ "typing_FStar.Reflection.Derived.inspect_ln_unascribe" ], 0, - "861a112a70ccf8385aea39f9f62bcc41" + "99db1ee2f074c2960dd1533fe258dba3" ], [ "FStar.Reflection.Derived.maybe_unsquash_term", @@ -289,7 +290,7 @@ "typing_FStar.Reflection.Derived.unsquash_term" ], 0, - "4f3e23ec8b92a0c06353cc2074a03d07" + "a9ce03bede30b463b892d33230679490" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Formula.fst.hints b/ulib/.cache/FStar.Reflection.Formula.fst.hints index 7fa13a6c722..ee155d36639 100644 --- a/ulib/.cache/FStar.Reflection.Formula.fst.hints +++ b/ulib/.cache/FStar.Reflection.Formula.fst.hints @@ -1,487 +1 @@ -[ - "Døi:Ä\u0018`¿f7h58\u001açe", - [ - [ - "FStar.Reflection.Formula.inspect_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "equation_FStar.Reflection.Data.notAscription", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e361b32e21de78830da0963e47a525c3" - ], - [ - "FStar.Reflection.Formula.__proj__Eq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Eq", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c211591d730f7e5c01a4129c90b65dbe" - ], - 0, - "447c266909e476bedce3cea6df8e35b5" - ], - [ - "FStar.Reflection.Formula.__proj__BoolEq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.BoolEq", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d10cc55239f941ac9b7d51f268e99a34" - ], - 0, - "e3e339cbd3d237cc539bb33ad7fc379b" - ], - [ - "FStar.Reflection.Formula.__proj__Comp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Comp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" - ], - 0, - "3fa22bca515eb20bda44a34ce7e9ef30" - ], - [ - "FStar.Reflection.Formula.__proj__Comp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Comp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" - ], - 0, - "d32d5c864afe53a073f64223e9274696" - ], - [ - "FStar.Reflection.Formula.__proj__Comp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Comp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" - ], - 0, - "9031401f0c03ce1804714b738a971462" - ], - [ - "FStar.Reflection.Formula.__proj__And__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.And", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" - ], - 0, - "a8943816d9e789021c7d7205a6a5923e" - ], - [ - "FStar.Reflection.Formula.__proj__And__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.And", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" - ], - 0, - "b4fc5868f2287df32d25ef122d42e46b" - ], - [ - "FStar.Reflection.Formula.__proj__Or__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Or", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" - ], - 0, - "0e0c494aeb0e09b5849b29b3ab1c7a66" - ], - [ - "FStar.Reflection.Formula.__proj__Or__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Or", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" - ], - 0, - "cc69679820c81c26d26e12ef651b8410" - ], - [ - "FStar.Reflection.Formula.__proj__Not__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Not", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_29e7c5cf6551c30393ecefb08e6623eb" - ], - 0, - "4e073d7f121c3b0f469872778d72521e" - ], - [ - "FStar.Reflection.Formula.__proj__Implies__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Implies", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" - ], - 0, - "5ad18c6392fd39fe5f98d2e8b7424310" - ], - [ - "FStar.Reflection.Formula.__proj__Implies__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Implies", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" - ], - 0, - "05178de5b0e1c635fa49a73905b5cb42" - ], - [ - "FStar.Reflection.Formula.__proj__Iff__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Iff", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" - ], - 0, - "947de963d846b712a391812cac7cdd28" - ], - [ - "FStar.Reflection.Formula.__proj__Iff__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Iff", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" - ], - 0, - "8abdcc201d5a49589a194ca4fbe476e6" - ], - [ - "FStar.Reflection.Formula.__proj__Forall__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Forall", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" - ], - 0, - "f96315eadbc877fa6a4118085421c627" - ], - [ - "FStar.Reflection.Formula.__proj__Forall__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Forall", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" - ], - 0, - "c330c234b42e08c2759a797c73f95679" - ], - [ - "FStar.Reflection.Formula.__proj__Exists__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Exists", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" - ], - 0, - "04354c29a6d82799d2496ae46f08962c" - ], - [ - "FStar.Reflection.Formula.__proj__Exists__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Exists", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" - ], - 0, - "d1c078d62bfbf018dcb4c7425d8e64b4" - ], - [ - "FStar.Reflection.Formula.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.App", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" - ], - 0, - "267d5ab81797ea10f3501fca48de3b4f" - ], - [ - "FStar.Reflection.Formula.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.App", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" - ], - 0, - "f80df734743a21a5d6ce8ec60b0c48c1" - ], - [ - "FStar.Reflection.Formula.__proj__Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.Name", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7a293c7c70b01d2e21438df1f5e5cc39" - ], - 0, - "249ebbe2d98a955e8dba66bc3a0b5580" - ], - [ - "FStar.Reflection.Formula.__proj__FV__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.FV", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5eca8a79ec55c6c73689080c32969437" - ], - 0, - "520b37fa0528b22e0bdb1c57f62fb72d" - ], - [ - "FStar.Reflection.Formula.__proj__IntLit__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Formula.IntLit", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_454a52c8a5bb3910907d38a2fb6c4f55" - ], - 0, - "fbf2e0a382c00e5431681ebca8f9a54f" - ], - [ - "FStar.Reflection.Formula.term_as_formula'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Tactics.Result.Success", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equation_FStar.Reflection.Data.notAscription", - "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_81ee81c566e44a628fdd6c48e8c836d6", - "typing_FStar.Reflection.Types.name" - ], - 0, - "b37430a14602748f72f3e2f0168f8719" - ], - [ - "FStar.Reflection.Formula.term_as_formula", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.Derived.unsquash_term", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.Derived.unsquash_term" - ], - 0, - "bb5bc5e3940b1e414fa0f4c5d9b8ad48" - ], - [ - "FStar.Reflection.Formula.formula_as_term_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.Formula.BoolEq", - "data_elim_FStar.Reflection.Formula.Eq", - "disc_equation_FStar.Reflection.Formula.And", - "disc_equation_FStar.Reflection.Formula.App", - "disc_equation_FStar.Reflection.Formula.BoolEq", - "disc_equation_FStar.Reflection.Formula.Comp", - "disc_equation_FStar.Reflection.Formula.Eq", - "disc_equation_FStar.Reflection.Formula.Exists", - "disc_equation_FStar.Reflection.Formula.FV", - "disc_equation_FStar.Reflection.Formula.F_Unknown", - "disc_equation_FStar.Reflection.Formula.False_", - "disc_equation_FStar.Reflection.Formula.Forall", - "disc_equation_FStar.Reflection.Formula.Ge", - "disc_equation_FStar.Reflection.Formula.Gt", - "disc_equation_FStar.Reflection.Formula.Iff", - "disc_equation_FStar.Reflection.Formula.Implies", - "disc_equation_FStar.Reflection.Formula.IntLit", - "disc_equation_FStar.Reflection.Formula.Le", - "disc_equation_FStar.Reflection.Formula.Lt", - "disc_equation_FStar.Reflection.Formula.Name", - "disc_equation_FStar.Reflection.Formula.Not", - "disc_equation_FStar.Reflection.Formula.Or", - "disc_equation_FStar.Reflection.Formula.True_", - "equation_FStar.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.Formula.formula", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Reflection.Formula.BoolEq__0", - "proj_equation_FStar.Reflection.Formula.Comp__0", - "proj_equation_FStar.Reflection.Formula.Eq__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a", - "typing_FStar.Reflection.Formula.__proj__Comp__item___0" - ], - 0, - "8837af512d2aa6ccd39a37e01c3729d2" - ], - [ - "FStar.Reflection.Formula.formula_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Reflection.Formula.Comp", - "disc_equation_FStar.Reflection.Formula.And", - "disc_equation_FStar.Reflection.Formula.App", - "disc_equation_FStar.Reflection.Formula.BoolEq", - "disc_equation_FStar.Reflection.Formula.Comp", - "disc_equation_FStar.Reflection.Formula.Eq", - "disc_equation_FStar.Reflection.Formula.Exists", - "disc_equation_FStar.Reflection.Formula.FV", - "disc_equation_FStar.Reflection.Formula.F_Unknown", - "disc_equation_FStar.Reflection.Formula.False_", - "disc_equation_FStar.Reflection.Formula.Forall", - "disc_equation_FStar.Reflection.Formula.Ge", - "disc_equation_FStar.Reflection.Formula.Gt", - "disc_equation_FStar.Reflection.Formula.Iff", - "disc_equation_FStar.Reflection.Formula.Implies", - "disc_equation_FStar.Reflection.Formula.IntLit", - "disc_equation_FStar.Reflection.Formula.Le", - "disc_equation_FStar.Reflection.Formula.Lt", - "disc_equation_FStar.Reflection.Formula.Name", - "disc_equation_FStar.Reflection.Formula.Not", - "disc_equation_FStar.Reflection.Formula.Or", - "disc_equation_FStar.Reflection.Formula.True_", - "equation_FStar.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.Formula.formula", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Reflection.Formula.Comp__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a", - "refinement_interpretation_Tm_refine_c211591d730f7e5c01a4129c90b65dbe", - "refinement_interpretation_Tm_refine_d10cc55239f941ac9b7d51f268e99a34", - "typing_FStar.Reflection.Formula.__proj__BoolEq__item___0", - "typing_FStar.Reflection.Formula.__proj__Comp__item___0", - "typing_FStar.Reflection.Formula.__proj__Eq__item___0", - "typing_FStar.Reflection.Formula.uu___is_Comp" - ], - 0, - "7ae4981c80d59d11d7a9576d622503df" - ] - ] -] \ No newline at end of file +[ "…½eey8“Ú䡾m\n\u001b¼", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.TermEq.fst.hints b/ulib/.cache/FStar.Reflection.TermEq.fst.hints new file mode 100644 index 00000000000..8bb9f3d545f --- /dev/null +++ b/ulib/.cache/FStar.Reflection.TermEq.fst.hints @@ -0,0 +1,2811 @@ +[ + "J¿\u0000>|­0\u0001aD\u000fÿê•\u0017Ü", + [ + [ + "FStar.Reflection.TermEq.allP0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "1944430eb5db6e4fa77a94f77e7034d7" + ], + [ + "FStar.Reflection.TermEq.allP", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_4241dfee740b6e69b90e9291a40056c8_5", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_079bc076fa8d26d18a7a34c9c68bfbe8", + "subterm_ordering_Prims.Cons" + ], + 0, + "e4046a7e1d95d6180c4f378ad14f5113" + ], + [ + "FStar.Reflection.TermEq.optP0", + 1, + 2, + 1, + [ "@query", "lemma_FStar.Pervasives.invertOption" ], + 0, + "44e4d5667bc23eac7c9714c11a752619" + ], + [ + "FStar.Reflection.TermEq.optP", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "lemma_FStar.Pervasives.invertOption", + "refinement_interpretation_Tm_refine_a9890f77e3e1b1620470df0b39be63e0", + "subterm_ordering_FStar.Pervasives.Native.Some" + ], + 0, + "d1eb046e3090df3a5060351798bbb551" + ], + [ + "FStar.Reflection.TermEq.memP_allP", + 1, + 2, + 1, + [ "@query" ], + 0, + "10d84e01d75798758e44023667e1c437" + ], + [ + "FStar.Reflection.TermEq.memP_allP", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_35cb2760981970a325533aa90cc5a631", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "binder_x_0166ecdca8d30053ecf26790a3a0c5e8_6", + "binder_x_4e640446c35995ab41e394b636020ac8_4", + "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_3", + "binder_x_e09860b75d8922ab497a3e5bc9347578_5", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.eq2", + "equation_Prims.logical", "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", + "l_or-interp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_910acbdbd8a4c60299b6eb0cd8d0455b", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_d7b6586fa38e53ccdc18ceb9ede78ab5", + "refinement_interpretation_Tm_refine_e51688782b37caf0ed224c56709e5fae", + "subterm_ordering_Prims.Cons", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.eq2", "unit_inversion", "unit_typing" + ], + 0, + "a4096f9dcb9d779dd6e66ef2d34a4501" + ], + [ + "FStar.Reflection.TermEq.memP_allP0", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP0.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP0.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_5a98e66daedcb0b3e66fcff80567f12a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", + "binder_x_8691477dadb3127747d6cabdd98d71a0_2", + "binder_x_e09860b75d8922ab497a3e5bc9347578_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.eq2", + "equation_Prims.logical", "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.allP0.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", + "l_or-interp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_84acfca2af9d1b8c0d2bf8a2019ae459", + "subterm_ordering_Prims.Cons", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.eq2", "unit_inversion", "unit_typing" + ], + 0, + "1fa31575ac75cb0877e3a6fccea3d36a" + ], + [ + "FStar.Reflection.TermEq.memP_dec", + 1, + 2, + 1, + [ + "@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_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_e09860b75d8922ab497a3e5bc9347578_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.eq2", + "equation_Prims.logical", "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_eccbb4412870722d7a98c9c6556c8f34", + "subterm_ordering_Prims.Cons", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.eq2", "unit_inversion", "unit_typing" + ], + 0, + "e4621b4acda22994a820e6555e051fc6" + ], + [ + "FStar.Reflection.TermEq.valid", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.TermEq.Eq", + "disc_equation_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "93725051178dc71381b310a1de458781" + ], + [ + "FStar.Reflection.TermEq.op_Amp_Amp_Amp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.valid", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1" + ], + 0, + "f39e154bbeb2e157caca18e7ece4dc96" + ], + [ + "FStar.Reflection.TermEq.bv_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_elim_FStar.Reflection.Data.Mkbv_view", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.Data.ppname_t", + "equation_FStar.Reflection.TermEq.valid", "equation_Prims.eqtype", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "primitive_Prims.op_Equality", + "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_typing", "typing_FStar.Reflection.Builtins.inspect_bv" + ], + 0, + "c2d3ccd71ad613264b00741afc06d634" + ], + [ + "FStar.Reflection.TermEq.fv_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.name", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" + ], + 0, + "84ecade2c898754c8d8e513a48d096df" + ], + [ + "FStar.Reflection.TermEq.opt_cmp", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Pervasives.Native.None", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "lemma_FStar.Pervasives.invertOption", + "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", + "projection_inverse_FStar.Pervasives.Native.Some_v" + ], + 0, + "eb9a29f48a34dfa09d521fba5050da12" + ], + [ + "FStar.Reflection.TermEq.either_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_FStar.Pervasives.either", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Inl_v", + "projection_inverse_FStar.Pervasives.Inr_v", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + ], + 0, + "24a377b597439ab6cbb308259660223d" + ], + [ + "FStar.Reflection.TermEq.pair_cmp", + 1, + 2, + 1, + [ + "@query", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + ], + 0, + "40f12674604e24144cfc9ca9f394efd6" + ], + [ + "FStar.Reflection.TermEq.list_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_Prims.list", + "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_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" + ], + 0, + "d4e040551972a292da7a10d00798411a" + ], + [ + "FStar.Reflection.TermEq.list_dec_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_3dddec8ced2db740e4e8aaf70542be7a_7", + "binder_x_ca3ffab30439fa19a6c7126c8234b837_8", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "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_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_ad67681321c85a58a34484700cb18464", + "subterm_ordering_Prims.Cons" + ], + 0, + "93bd3ae514ae141f66b5553dc891cbb0" + ], + [ + "FStar.Reflection.TermEq.opt_dec_cmp", + 1, + 2, + 1, + [ "@query" ], + 0, + "301e1bb55feb03d212d272fadbec783e" + ], + [ + "FStar.Reflection.TermEq.opt_dec_cmp", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Pervasives.Native.None", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "lemma_FStar.Pervasives.invertOption", + "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", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_a9890f77e3e1b1620470df0b39be63e0", + "subterm_ordering_FStar.Pervasives.Native.Some" + ], + 0, + "62ea68b76b921d039fec6ea304a43709" + ], + [ + "FStar.Reflection.TermEq.either_dec_cmp", + 1, + 2, + 1, + [ "@query" ], + 0, + "161a79b7732ab447ddb0919ad49858a8" + ], + [ + "FStar.Reflection.TermEq.either_dec_cmp", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Pervasives_pretyping_b33635a76275268b8c60db6fa0677ca6", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_FStar.Pervasives.either", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Inl_v", + "projection_inverse_FStar.Pervasives.Inr_v", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_321be57bf92d9543bcfb8d9f77741d2f", + "subterm_ordering_FStar.Pervasives.Inl", + "subterm_ordering_FStar.Pervasives.Inr" + ], + 0, + "17d618f04507def301f3bc7ed6109331" + ], + [ + "FStar.Reflection.TermEq.eq_cmp", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" + ], + 0, + "8dac598f8aecf53ac9c46d9f400d0b13" + ], + [ + "FStar.Reflection.TermEq.range_cmp", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Reflection.TermEq.Eq", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equation_FStar.Range.range", + "equation_FStar.Reflection.TermEq.valid" + ], + 0, + "813dcc9383166f0ab1c5cdf7c1492c8f" + ], + [ + "FStar.Reflection.TermEq.ident_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.ident", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2" + ], + 0, + "6873bce28785c77002b0086b48c3a0df" + ], + [ + "FStar.Reflection.TermEq.univ_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_2f688185004fe91fa8bff5933f367905", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_0", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_typing_intro_FStar.Reflection.Data.Uv_Unk@tok", + "disc_equation_FStar.Reflection.Data.Uv_BVar", + "disc_equation_FStar.Reflection.Data.Uv_Max", + "disc_equation_FStar.Reflection.Data.Uv_Name", + "disc_equation_FStar.Reflection.Data.Uv_Succ", + "disc_equation_FStar.Reflection.Data.Uv_Unif", + "disc_equation_FStar.Reflection.Data.Uv_Unk", + "disc_equation_FStar.Reflection.Data.Uv_Zero", + "equality_tok_FStar.Reflection.Data.Uv_Unk@tok", + "equality_tok_FStar.Reflection.Data.Uv_Zero@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.ident", "equation_Prims.eqtype", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Data.universe_view", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "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.Reflection.Data.Uv_BVar__0", + "projection_inverse_FStar.Reflection.Data.Uv_Max__0", + "projection_inverse_FStar.Reflection.Data.Uv_Name__0", + "projection_inverse_FStar.Reflection.Data.Uv_Succ__0", + "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_FStar.Reflection.Data.Uv_Max", + "subterm_ordering_FStar.Reflection.Data.Uv_Succ", + "typing_FStar.Reflection.Builtins.inspect_universe" + ], + 0, + "0361e52e6610548623257b987d4f88bb" + ], + [ + "FStar.Reflection.TermEq.const_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_4121399001c86a80b7ed8f60ba4ae1b2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.C_True@tok", + "disc_equation_FStar.Reflection.Data.C_False", + "disc_equation_FStar.Reflection.Data.C_Int", + "disc_equation_FStar.Reflection.Data.C_Range", + "disc_equation_FStar.Reflection.Data.C_Reflect", + "disc_equation_FStar.Reflection.Data.C_Reify", + "disc_equation_FStar.Reflection.Data.C_String", + "disc_equation_FStar.Reflection.Data.C_True", + "disc_equation_FStar.Reflection.Data.C_Unit", + "equality_tok_FStar.Reflection.Data.C_False@tok", + "equality_tok_FStar.Reflection.Data.C_Reify@tok", + "equality_tok_FStar.Reflection.Data.C_True@tok", + "equality_tok_FStar.Reflection.Data.C_Unit@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Range.range", + "equation_FStar.Reflection.TermEq.range_cmp", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_FStar.Reflection.Data.vconst", + "function_token_typing_Prims.__cache_version_number__", + "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.Reflection.Data.C_Int__0", + "projection_inverse_FStar.Reflection.Data.C_Reflect__0", + "projection_inverse_FStar.Reflection.Data.C_String__0", + "string_typing" + ], + 0, + "738b57791df8933c4fbe7e0fdeafaa1b" + ], + [ + "FStar.Reflection.TermEq.ctxu_cmp", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.valid" + ], + 0, + "51de2dce024cbe65b3a87afe57725936" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_4121399001c86a80b7ed8f60ba4ae1b2", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_7f568c219263d6c40f0cb883701bdc9f", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_typing_intro_FStar.Reflection.Data.C_True@tok", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.Data.Tv_Abs", + "disc_equation_FStar.Reflection.Data.Tv_App", + "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.Data.Tv_BVar", + "disc_equation_FStar.Reflection.Data.Tv_Const", + "disc_equation_FStar.Reflection.Data.Tv_FVar", + "disc_equation_FStar.Reflection.Data.Tv_Let", + "disc_equation_FStar.Reflection.Data.Tv_Match", + "disc_equation_FStar.Reflection.Data.Tv_Refine", + "disc_equation_FStar.Reflection.Data.Tv_Type", + "disc_equation_FStar.Reflection.Data.Tv_UInst", + "disc_equation_FStar.Reflection.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.Data.Tv_Var", + "equality_tok_FStar.Reflection.Data.Tv_Unknown@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "function_token_typing_FStar.Reflection.TermEq.eq_cmp", + "function_token_typing_Prims.bool", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "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.Reflection.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.Data.Tv_Let_ty", + "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_sort", + "projection_inverse_FStar.Reflection.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.Data.Tv_Uvar__0", + "projection_inverse_FStar.Reflection.Data.Tv_Uvar__1", + "projection_inverse_FStar.Reflection.Data.Tv_Var_v", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "subterm_ordering_FStar.Reflection.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.Data.Tv_App", + "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.Data.Tv_UInst", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "8d7b24d7aa42451c939d45daf0555164" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_0", + "equation_FStar.Reflection.Data.argv", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "867e782a29ca043c983cb4c0e06c16e5" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "binder_x_b90ba98501c0444263072cb94ae6e3aa_0", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.Data.Q_Explicit", + "disc_equation_FStar.Reflection.Data.Q_Implicit", + "disc_equation_FStar.Reflection.Data.Q_Meta", + "equality_tok_FStar.Reflection.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.Data.Q_Implicit@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", + "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.Reflection.Data.Q_Meta__0", + "subterm_ordering_FStar.Reflection.Data.Q_Meta" + ], + 0, + "ea2a7280416db99d73a8904272d49dea" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", + "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_elim_FStar.Reflection.Data.Mkbv_view", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.Data.ppname_t", + "equation_FStar.Reflection.TermEq.valid", "equation_Prims.eqtype", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", + "function_token_typing_Prims.int", + "function_token_typing_Prims.string", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "primitive_Prims.op_Equality", + "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_typing", "typing_FStar.Reflection.Builtins.inspect_bv" + ], + 0, + "032d1af7606f7283003affc37854176e" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 5, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", + "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_1", "bool_inversion", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.match_returns_ascription", + "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", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple3" + ], + 0, + "2d78e83b02e193c10258e48f496ed9dd" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 6, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_1", + "data_elim_FStar.Reflection.Data.Mkbinder_view", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_sort", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", + "typing_FStar.Reflection.Builtins.inspect_binder" + ], + 0, + "cee2adb62922eadff704e9444c6c859c" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 7, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_31f97a73eb7c5a1eaff6242ee230afd6", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Reflection.Data.C_Eff", + "disc_equation_FStar.Reflection.Data.C_GTotal", + "disc_equation_FStar.Reflection.Data.C_Lemma", + "disc_equation_FStar.Reflection.Data.C_Total", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "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.Reflection.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.Data.C_Total_ret", + "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "subterm_ordering_FStar.Reflection.Data.C_Eff", + "subterm_ordering_FStar.Reflection.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.Data.C_Total", + "typing_FStar.Reflection.Builtins.inspect_comp" + ], + 0, + "8dce45c6e4f204f02c7d33ac04f51b8c" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 8, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_c403923547050b963fd85a165f764bab_0", + "binder_x_c403923547050b963fd85a165f764bab_1", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "c31e0d6d5b77e1c17fb9df7a03bcd34c" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 9, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_4121399001c86a80b7ed8f60ba4ae1b2", + "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", + "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_1", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.C_True@tok", + "disc_equation_FStar.Reflection.Data.Pat_Cons", + "disc_equation_FStar.Reflection.Data.Pat_Constant", + "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.Data.Pat_Var", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.valid", + "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "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.Reflection.Data.Pat_Cons__0", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", + "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", + "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", + "projection_inverse_FStar.Reflection.Data.Pat_Var__0", + "subterm_ordering_FStar.Reflection.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term" + ], + 0, + "8705c8b7789f2a312efb356d009465fa" + ], + [ + "FStar.Reflection.TermEq.term_cmp", + 10, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_cf9163d71a1ab7bdac1228304f372dc8_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "93d715c758a58420c7c23b626517c0bc" + ], + [ + "FStar.Reflection.TermEq.defined_list", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.list_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.list_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_2d8d1fe162b0358c6ae25faf1e620849", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", + "binder_x_7fc667d20c037081d0c0dce2c339ebc1_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.def2", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.list_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_FStar.Reflection.TermEq.list_cmp.fuel_instrumented_token", + "function_token_typing_FStar.Reflection.TermEq.list_cmp", + "interpretation_Tm_abs_f870141a993fb23e2fa678db622e8326", + "l_or-interp", "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_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Reflection.TermEq.list_cmp" + ], + 0, + "63c60fd0267f0b0f4aa047331dfb5606" + ], + [ + "FStar.Reflection.TermEq.defined_list_dec", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433" + ], + 0, + "7400d2002474a3cea419cd51d1ec4ada" + ], + [ + "FStar.Reflection.TermEq.defined_list_dec", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_d1c696ac0540850d75d6f76a461e70e5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "binder_x_23111b199e312dabc7d863b983ebf5c5_4", + "binder_x_23111b199e312dabc7d863b983ebf5c5_5", + "binder_x_345986919c16c68ffaba10445b613d0e_7", + "binder_x_a13ca6f14d6b4af2c2ff6b3272818156_8", + "binder_x_daa23f87dc887bf623ec5d83ac7592c4_6", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.def2", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", "l_or-interp", + "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_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2245128a4068dc57f44deffe35598443", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_af128b8df6c0dee9d039a0e538d05090", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "subterm_ordering_Prims.Cons", + "typing_FStar.Reflection.TermEq.list_dec_cmp" + ], + 0, + "e6637bd7654243b4492b1463c7defb06" + ], + [ + "FStar.Reflection.TermEq.faithful_univ", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_2f688185004fe91fa8bff5933f367905", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_0", + "data_typing_intro_FStar.Reflection.Data.Uv_Unk@tok", + "disc_equation_FStar.Reflection.Data.Uv_BVar", + "disc_equation_FStar.Reflection.Data.Uv_Max", + "disc_equation_FStar.Reflection.Data.Uv_Name", + "disc_equation_FStar.Reflection.Data.Uv_Succ", + "disc_equation_FStar.Reflection.Data.Uv_Unif", + "disc_equation_FStar.Reflection.Data.Uv_Unk", + "disc_equation_FStar.Reflection.Data.Uv_Zero", + "fuel_guarded_inversion_FStar.Reflection.Data.universe_view", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", + "subterm_ordering_FStar.Reflection.Data.Uv_Max", + "subterm_ordering_FStar.Reflection.Data.Uv_Succ", + "typing_FStar.Reflection.Builtins.inspect_universe" + ], + 0, + "118dad67fdc42acd0cb0112caef538a7" + ], + [ + "FStar.Reflection.TermEq.faithful_univ_UvMax", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_2f688185004fe91fa8bff5933f367905", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_eaa8eaf7f2f4e20f41e615e5e44e17a1", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "constructor_distinct_FStar.Reflection.Data.Uv_Max", + "data_typing_intro_FStar.Reflection.Data.Uv_Unk@tok", + "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.faithful_univ", + "function_token_typing_FStar.Reflection.Types.universe", + "l_and-interp", "projection_inverse_FStar.Reflection.Data.Uv_Max__0", + "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", + "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", + "refinement_interpretation_Tm_refine_58b40a773ebd116bc4efc0b81acf753a", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "subterm_ordering_FStar.Reflection.Data.Uv_Max", + "token_correspondence_FStar.Reflection.TermEq.faithful_univ", + "true_interp", "typing_FStar.Reflection.Builtins.inspect_universe" + ], + 0, + "75f5b6819aefa37b9bbe6a6e5cdde3ce" + ], + [ + "FStar.Reflection.TermEq.univ_eq_UvMax", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_2f688185004fe91fa8bff5933f367905", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_e93a059858d9de7ac7c5357e68a676c6", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "constructor_distinct_FStar.Reflection.Data.Uv_Max", + "constructor_distinct_FStar.Reflection.Data.Uv_Zero", + "data_typing_intro_FStar.Reflection.Data.Uv_Unk@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.univ_cmp", + "function_token_typing_FStar.Reflection.Types.universe", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.Data.Uv_Max__0", + "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", + "refinement_interpretation_Tm_refine_187f6e4a807d03c421ff1d04d18bef32", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "subterm_ordering_FStar.Reflection.Data.Uv_Max", + "typing_FStar.Reflection.Builtins.inspect_universe" + ], + 0, + "5f56e7a4b5f928198b980d5183ea7420" + ], + [ + "FStar.Reflection.TermEq.univ_faithful_lemma", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6cddc062cf454bf9a20846d16ccd7fae" + ], + 0, + "d2a9b46a3d742baa33a7be7804784d95" + ], + [ + "FStar.Reflection.TermEq.univ_faithful_lemma", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_univ.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_univ.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_2f688185004fe91fa8bff5933f367905", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_0", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_1", + "constructor_distinct_FStar.Reflection.Data.Uv_BVar", + "constructor_distinct_FStar.Reflection.Data.Uv_Name", + "constructor_distinct_FStar.Reflection.Data.Uv_Succ", + "constructor_distinct_FStar.Reflection.Data.Uv_Zero", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.Uv_Unk@tok", + "disc_equation_FStar.Reflection.Data.Uv_Max", + "disc_equation_FStar.Reflection.Data.Uv_Succ", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.Data.Uv_Zero@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Range.range", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.ident_cmp", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_univ.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Reflection.Data.universe_view", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "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.Reflection.Data.Uv_BVar__0", + "projection_inverse_FStar.Reflection.Data.Uv_Max__0", + "projection_inverse_FStar.Reflection.Data.Uv_Name__0", + "projection_inverse_FStar.Reflection.Data.Uv_Succ__0", + "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", + "string_typing", "subterm_ordering_FStar.Reflection.Data.Uv_Max", + "subterm_ordering_FStar.Reflection.Data.Uv_Succ", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "typing_FStar.Reflection.Builtins.inspect_universe" + ], + 0, + "2cd26c1bd030035a47d2cf55066de6eb" + ], + [ + "FStar.Reflection.TermEq.univ_faithful_lemma", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6cddc062cf454bf9a20846d16ccd7fae" + ], + 0, + "0371d4beef3a892a3bce70812d65b11d" + ], + [ + "FStar.Reflection.TermEq.univ_faithful_lemma", + 4, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_eaa8eaf7f2f4e20f41e615e5e44e17a1", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "binder_x_4b2e874d63af6919bff8e5ca77327802_4", + "binder_x_6781041e5072f14a03af8b07643f1f30_1", + "binder_x_6781041e5072f14a03af8b07643f1f30_2", + "binder_x_6d767fc9fcc1fbd993dffb8e18d6b4c9_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "equation_FStar.Reflection.TermEq.def2", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.faithful_univ", + "function_token_typing_FStar.Reflection.Types.universe", + "lemma_FStar.Reflection.TermEq.memP_allP", + "lemma_FStar.Reflection.TermEq.memP_dec", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_16013eefa6ed0731a865cfe406c82576", + "refinement_interpretation_Tm_refine_3bd37055be19acf91f0c34c6d94672ae", + "refinement_interpretation_Tm_refine_72d5357f0d58cedea2012bb3caa6f5e1", + "refinement_interpretation_Tm_refine_8a946fb485a107d3ca2f0e1ebd32225c", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "token_correspondence_FStar.Reflection.TermEq.faithful_univ", + "token_correspondence_FStar.Reflection.TermEq.univ_cmp" + ], + 0, + "99f5a35a565812e2406948765a53ea8c" + ], + [ + "FStar.Reflection.TermEq.faithful", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.Data.Tv_Abs", + "disc_equation_FStar.Reflection.Data.Tv_App", + "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.Data.Tv_BVar", + "disc_equation_FStar.Reflection.Data.Tv_Const", + "disc_equation_FStar.Reflection.Data.Tv_FVar", + "disc_equation_FStar.Reflection.Data.Tv_Let", + "disc_equation_FStar.Reflection.Data.Tv_Match", + "disc_equation_FStar.Reflection.Data.Tv_Refine", + "disc_equation_FStar.Reflection.Data.Tv_Type", + "disc_equation_FStar.Reflection.Data.Tv_UInst", + "disc_equation_FStar.Reflection.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.Data.Tv_Var", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.Data.branch", + "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "subterm_ordering_FStar.Reflection.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.Data.Tv_App", + "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.Data.Tv_UInst", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "f96414597a18d20b99e4959ad2114e7c" + ], + [ + "FStar.Reflection.TermEq.faithful", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_0", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Data.argv", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "dec8fd2fc6185e002e735d7bff13f947" + ], + [ + "FStar.Reflection.TermEq.faithful", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "binder_x_b90ba98501c0444263072cb94ae6e3aa_0", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.Data.Q_Explicit", + "disc_equation_FStar.Reflection.Data.Q_Implicit", + "disc_equation_FStar.Reflection.Data.Q_Meta", + "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Reflection.Data.Q_Meta" + ], + 0, + "35ff02f83353b72eb610824927cf89e7" + ], + [ + "FStar.Reflection.TermEq.faithful", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", + "typing_FStar.Reflection.Builtins.inspect_binder" + ], + 0, + "9dbe7567b755415f60c14548e353b70e" + ], + [ + "FStar.Reflection.TermEq.faithful", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_c403923547050b963fd85a165f764bab_0", + "equation_FStar.Reflection.Data.branch", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "9cc37901ccbca90d98fd9202332f245f" + ], + [ + "FStar.Reflection.TermEq.faithful", + 6, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", + "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", + "data_elim_FStar.Reflection.Data.Pat_Dot_Term", + "data_typing_intro_FStar.Pervasives.Native.Some@tok", + "disc_equation_FStar.Reflection.Data.Pat_Cons", + "disc_equation_FStar.Reflection.Data.Pat_Constant", + "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.Data.Pat_Var", + "equation_FStar.Reflection.Data.universes", + "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Reflection.Data.Pat_Dot_Term__0", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term" + ], + 0, + "5904ce7a60801761562597d097cd177f" + ], + [ + "FStar.Reflection.TermEq.faithful", + 7, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_cf9163d71a1ab7bdac1228304f372dc8_0", + "equation_FStar.Pervasives.Native.fst", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "b391e3674e3ddad6f1a142a2c036b5c5" + ], + [ + "FStar.Reflection.TermEq.faithful", + 8, + 2, + 1, + [ "@query", "equation_Prims.op_Equals_Equals_Equals" ], + 0, + "7067276fc8bffaf03e4877b5ce4c8aaf" + ], + [ + "FStar.Reflection.TermEq.faithful", + 9, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "disc_equation_FStar.Reflection.Data.C_Eff", + "disc_equation_FStar.Reflection.Data.C_GTotal", + "disc_equation_FStar.Reflection.Data.C_Lemma", + "disc_equation_FStar.Reflection.Data.C_Total", + "equation_FStar.Reflection.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "subterm_ordering_FStar.Reflection.Data.C_Eff", + "subterm_ordering_FStar.Reflection.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.Data.C_Total", + "typing_FStar.Reflection.Builtins.inspect_comp" + ], + 0, + "da79ac52556faf0a58fb7d350bec4063" + ], + [ + "FStar.Reflection.TermEq.faithful_Tv_UInst", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "constructor_distinct_FStar.Reflection.Data.Tv_UInst", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "equation_with_fuel_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", + "refinement_interpretation_Tm_refine_86301ec5e32bf76727de089f786163eb", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "subterm_ordering_FStar.Reflection.Data.Tv_UInst", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "5aad44dc2997c27042fec5e384b79411" + ], + [ + "FStar.Reflection.TermEq.faithful_Tv_Let", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@query", "constructor_distinct_FStar.Reflection.Data.Tv_Let", + "equation_with_fuel_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "l_and-interp", + "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.Data.Tv_Let_ty" + ], + 0, + "f739355efe43774dcc71f3b5fbba2349" + ], + [ + "FStar.Reflection.TermEq.term_eq_Tv_Let", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "bool_inversion", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_faaf9fd4fa3d12a28c87e29968d60409", + "subterm_ordering_FStar.Reflection.Data.Tv_Let", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "6114edc3d557e9eabf1b277fb49de7fa" + ], + [ + "FStar.Reflection.TermEq.faithful_Tv_Match", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_1ff147d7887124fb8500a6118db9e1e5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "constructor_distinct_FStar.Reflection.Data.Tv_Match", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Data.branch", + "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Data.branch", + "function_token_typing_FStar.Reflection.TermEq.faithful_branch", + "function_token_typing_FStar.Reflection.Types.term", "l_and-interp", + "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", + "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_9e3952462da31253e033ab2f5cef5e73", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "subterm_ordering_FStar.Reflection.Data.Tv_Match", + "token_correspondence_FStar.Reflection.TermEq.faithful_branch", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "db3165c7886d47e6ad9c5b0b36cacbb6" + ], + [ + "FStar.Reflection.TermEq.term_eq_Tv_Match", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.Types.match_returns_ascription", + "refinement_interpretation_Tm_refine_0f5ce60c4b4beb2ff1c8e253d1f8656b", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "subterm_ordering_FStar.Reflection.Data.Tv_Match", + "typing_FStar.Reflection.Builtins.inspect_ln" + ], + 0, + "600c4d1ee7a98e9513775d7a726f8c5f" + ], + [ + "FStar.Reflection.TermEq.faithful_Pat_Cons", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_750ff61e9370752bc4693ec2d5f94b2c", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "constructor_distinct_FStar.Reflection.Data.Pat_Cons", + "equation_Prims.eqtype", + "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.faithful_pattern_arg", + "function_token_typing_Prims.bool", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.Data.pattern@tok", "l_and-interp", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__0", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", + "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_ab4384c14a17c09c9fcb5623da723150", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "subterm_ordering_FStar.Reflection.Data.Pat_Cons", + "token_correspondence_FStar.Reflection.TermEq.faithful_pattern_arg" + ], + 0, + "402000d82d5d902a68bf0fb9531bd4ac" + ], + [ + "FStar.Reflection.TermEq.pat_eq_Pat_Cons", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_329349d3634b4452a7280d384bc38b18", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "constructor_distinct_FStar.Reflection.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.fv_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.TermEq.opt_dec_cmp", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.pat_arg_cmp", + "function_token_typing_Prims.bool", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.Data.pattern@tok", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__0", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_8fb6d4acedb846df6416fc0ccef8e08d", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "subterm_ordering_FStar.Reflection.Data.Pat_Cons", + "token_correspondence_FStar.Reflection.TermEq.list_dec_cmp", + "token_correspondence_FStar.Reflection.TermEq.pat_arg_cmp", + "typing_FStar.Reflection.TermEq.fv_cmp" + ], + 0, + "360c893c7bd6e67bdb11f3f8d69e7bda" + ], + [ + "FStar.Reflection.TermEq.comp_eq_C_Eff", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "equation_FStar.Reflection.Data.argv", + "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "refinement_interpretation_Tm_refine_91a8c120e93ba47a76a5cd5b483aa922", + "subterm_ordering_FStar.Reflection.Data.C_Eff", + "typing_FStar.Reflection.Builtins.inspect_comp" + ], + 0, + "a4ae4b6d236a6aeadd60dfb9fc3e636b" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "05008779e02c9b6a8461f7e3b37081ab" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.arg_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.binder_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.comp_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.arg_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.binder_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.comp_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_1a4cb1566bd68b4015b90fd8adb25003", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_7f568c219263d6c40f0cb883701bdc9f", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_97980a4a048a9a94254ffc2982e05eb5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_e93a059858d9de7ac7c5357e68a676c6", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.Data.Tv_App", + "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", + "constructor_distinct_FStar.Reflection.Data.Tv_AscribedT", + "constructor_distinct_FStar.Reflection.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.Data.Tv_Var", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.Data.Tv_Abs", + "disc_equation_FStar.Reflection.Data.Tv_App", + "disc_equation_FStar.Reflection.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.Data.Tv_BVar", + "disc_equation_FStar.Reflection.Data.Tv_Const", + "disc_equation_FStar.Reflection.Data.Tv_FVar", + "disc_equation_FStar.Reflection.Data.Tv_Let", + "disc_equation_FStar.Reflection.Data.Tv_Match", + "disc_equation_FStar.Reflection.Data.Tv_Refine", + "disc_equation_FStar.Reflection.Data.Tv_Type", + "disc_equation_FStar.Reflection.Data.Tv_UInst", + "disc_equation_FStar.Reflection.Data.Tv_Var", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.Data.Tv_Unknown@tok", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.Data.universes", + "equation_FStar.Reflection.TermEq.bv_cmp", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.const_cmp", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.fv_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.TermEq.optP", + "equation_FStar.Reflection.TermEq.opt_dec_cmp", + "equation_FStar.Reflection.TermEq.range_cmp", + "equation_FStar.Reflection.TermEq.valid", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.arg_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.binder_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented_token", + "fuel_token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented_token", + "function_token_typing_FStar.Reflection.Data.branch", + "function_token_typing_FStar.Reflection.TermEq.br_cmp", + "function_token_typing_FStar.Reflection.TermEq.eq_cmp", + "function_token_typing_FStar.Reflection.TermEq.term_cmp", + "function_token_typing_FStar.Reflection.TermEq.univ_cmp", + "function_token_typing_FStar.Reflection.Types.bv", + "function_token_typing_FStar.Reflection.Types.comp", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Types.universe", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.Data.aqualv@tok", "kinding_Prims.list@tok", + "l_and-interp", "primitive_Prims.op_Equality", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "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.Reflection.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.Data.Tv_Let_ty", + "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.Data.Tv_Refine_sort", + "projection_inverse_FStar.Reflection.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.Data.Tv_Var_v", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_a9890f77e3e1b1620470df0b39be63e0", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.Data.Tv_App", + "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.Data.Tv_UInst", + "token_correspondence_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.binder_cmp.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.comp_cmp.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "typing_FStar.Reflection.Builtins.inspect_binder", + "typing_FStar.Reflection.Builtins.inspect_ln", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_sort", + "typing_FStar.Reflection.TermEq.arg_cmp", + "typing_FStar.Reflection.TermEq.binding_bv_cmp", + "typing_FStar.Reflection.TermEq.list_dec_cmp", + "typing_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "typing_FStar.Reflection.TermEq.opt_dec_cmp", + "typing_FStar.Reflection.TermEq.term_cmp", + "typing_FStar.Reflection.TermEq.univ_cmp", + "typing_FStar.Reflection.TermEq.uu___is_Unknown" + ], + 0, + "b28e8cea8d9455480cf6da0647fddc2d" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "ee9106decc014c6e8933c532dd23703b" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 4, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_0ad81efd60e8e68b964765420b1bb3c5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_329349d3634b4452a7280d384bc38b18", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_e93a059858d9de7ac7c5357e68a676c6", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_2e55a80de3ea7e6dff8c6be83b8dd816", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", + "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_1", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.Data.Pat_Dot_Term", + "constructor_distinct_FStar.Reflection.Data.Pat_Var", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Reflection.Data.Pat_Cons", + "data_elim_FStar.Reflection.Data.Pat_Dot_Term", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Reflection.Data.Pat_Cons", + "disc_equation_FStar.Reflection.Data.Pat_Constant", + "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.Data.Pat_Var", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.Data.universes", + "equation_FStar.Reflection.TermEq.bv_cmp", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.const_cmp", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.fv_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.TermEq.optP", + "equation_FStar.Reflection.TermEq.opt_dec_cmp", + "equation_FStar.Reflection.TermEq.range_cmp", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented_token", + "function_token_typing_FStar.Reflection.Data.universes", + "function_token_typing_FStar.Reflection.TermEq.list_dec_cmp", + "function_token_typing_FStar.Reflection.TermEq.pat_arg_cmp", + "function_token_typing_FStar.Reflection.TermEq.univ_cmp", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Types.universe", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.Data.pattern@tok", "l_and-interp", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Reflection.Data.Pat_Dot_Term__0", + "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.Reflection.Data.Pat_Cons__0", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", + "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", + "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", + "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", + "projection_inverse_FStar.Reflection.Data.Pat_Var__0", + "projection_inverse_FStar.Reflection.Data.Pat_Var__1", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_a9890f77e3e1b1620470df0b39be63e0", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", + "token_correspondence_FStar.Reflection.TermEq.allP", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "token_correspondence_FStar.Reflection.TermEq.list_dec_cmp", + "typing_FStar.Reflection.Data.uu___is_Pat_Var", + "typing_FStar.Reflection.TermEq.fv_cmp", + "typing_FStar.Reflection.TermEq.list_dec_cmp", + "typing_FStar.Reflection.TermEq.opt_dec_cmp", + "typing_tok_FStar.Reflection.TermEq.Neq@tok" + ], + 0, + "ce1749d327069da60efc3b9a78306a77" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "f871d8eee2a4814b8e561e4264d88826" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 6, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_pattern_arg.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.pat_arg_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "binder_x_cf9163d71a1ab7bdac1228304f372dc8_0", + "binder_x_cf9163d71a1ab7bdac1228304f372dc8_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_pattern_arg.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.pat_arg_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "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", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "typing_FStar.Reflection.TermEq.pat_cmp" + ], + 0, + "0322680477a75922ffd1d4c5628f8345" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 7, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "4c20e310147f93c6a20b6e5d2572c466" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 8, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_750ff61e9370752bc4693ec2d5f94b2c", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "binder_x_24c640a2430da3fb598f44a43a118847_4", + "binder_x_6781041e5072f14a03af8b07643f1f30_1", + "binder_x_6781041e5072f14a03af8b07643f1f30_2", + "binder_x_e51948c7a6d072dcd1ff048c6ced321b_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "equation_FStar.Reflection.TermEq.def2", "equation_Prims.eqtype", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.TermEq.faithful_pattern_arg", + "function_token_typing_Prims.bool", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.Data.pattern@tok", + "lemma_FStar.Reflection.TermEq.memP_allP", + "lemma_FStar.Reflection.TermEq.memP_dec", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_3435ac9693bb210ca09fad8eb6ddc378", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_96d4a7aafca489d7f16d05adf95225f3", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_d66c242560b17a3ebc0beb29e1b23ebe", + "refinement_interpretation_Tm_refine_e25577004e51c1c21705cfbd7a47344e", + "token_correspondence_FStar.Reflection.TermEq.faithful_pattern_arg", + "token_correspondence_FStar.Reflection.TermEq.pat_arg_cmp" + ], + 0, + "855e63b45c5a48b4d459fe7d73582cdb" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 9, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "7cf65ed368da5e1e9e9c827478428c36" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 10, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.br_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.pat_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "binder_x_c403923547050b963fd85a165f764bab_0", + "binder_x_c403923547050b963fd85a165f764bab_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_with_fuel_FStar.Reflection.TermEq.br_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_branch.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Reflection.Data.pattern@tok", "l_and-interp", + "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_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_87c693647385283753c59ba4b3927c94", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Reflection.TermEq.pat_cmp", + "typing_FStar.Reflection.TermEq.term_cmp" + ], + 0, + "9bafff0e2b1904abc2b153191276554a" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 11, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "8e604d0a741f060e47f3b7d94c1ec976" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 12, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_1ff147d7887124fb8500a6118db9e1e5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "binder_x_165d2957d2e73373dd3ed6216c0e200c_3", + "binder_x_6781041e5072f14a03af8b07643f1f30_1", + "binder_x_6781041e5072f14a03af8b07643f1f30_2", + "binder_x_84c0f7d30f56b4b2f275b7d20d968ac4_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.TermEq.def2", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Data.branch", + "function_token_typing_FStar.Reflection.TermEq.faithful_branch", + "lemma_FStar.Reflection.TermEq.memP_allP", + "lemma_FStar.Reflection.TermEq.memP_dec", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_6030903c4d6d93d259971d6a0c023595", + "refinement_interpretation_Tm_refine_9d3bd2c593529ca3133113668bc3c3af", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_bbd0dfc2e05787271666f69da7b523c7", + "refinement_interpretation_Tm_refine_deae10ccea59dd2e671724d093fc90e1", + "token_correspondence_FStar.Reflection.TermEq.br_cmp", + "token_correspondence_FStar.Reflection.TermEq.faithful_branch" + ], + 0, + "1fe324caa68857e09a25ee7e14adee4a" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 13, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "68a6b5d4e1ebd06850406194c24368da" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 14, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.arg_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_0", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_1", + "constructor_distinct_FStar.Reflection.Data.Q_Meta", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.Data.Q_Meta", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_with_fuel_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.arg_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_qual.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Reflection.Data.aqualv", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Reflection.Data.aqualv@tok", "l_and-interp", + "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.Reflection.Data.Q_Meta__0", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Reflection.Data.Q_Meta", + "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", + "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Reflection.TermEq.term_cmp" + ], + 0, + "b222a6415b94b3a3f678ebc4bdefc64c" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 15, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "535e797a0f9332d6ebdcdda52bdfb6b6" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 16, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_qual.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_qual.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_1", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_elim_FStar.Reflection.Data.Mkbinder_view", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.Types.typ", + "equation_with_fuel_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.binding_bv_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "l_and-interp", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_sort", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", + "refinement_interpretation_Tm_refine_abd7c02704925a673e4f7f1430de086f", + "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", + "typing_FStar.Reflection.Builtins.inspect_binder", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual", + "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_sort", + "typing_FStar.Reflection.TermEq.aqual_cmp", + "typing_FStar.Reflection.TermEq.term_cmp" + ], + 0, + "169d6c0fcef07882e22d563d846f2e42" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 17, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "50f24acf58108a1a74aa0785443e4303" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 18, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_qual.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "binder_x_b90ba98501c0444263072cb94ae6e3aa_0", + "binder_x_b90ba98501c0444263072cb94ae6e3aa_1", + "constructor_distinct_FStar.Reflection.Data.Q_Meta", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.Data.Q_Meta", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equation_FStar.Reflection.TermEq.defined", + "equation_with_fuel_FStar.Reflection.TermEq.aqual_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_qual.fuel_instrumented", + "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.Reflection.Data.Q_Meta__0", + "subterm_ordering_FStar.Reflection.Data.Q_Meta" + ], + 0, + "eb56b506eaff5ede89ed33c60844a682" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 19, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "447ddcb0036ca5e5a7850217214b4493" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 20, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@query", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "binder_x_0e15805eae7d0778c5ca635e6ec772c2_4", + "binder_x_4c1796dd013c557da4c20faa29883392_3", + "data_elim_Prims.Cons", "eq2-interp", + "equation_FStar.Reflection.TermEq.def2", + "equation_Prims.op_Equals_Equals_Equals", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_attrs.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented_token", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_Prims.list@tok", "l_and-interp", "l_or-interp", + "lemma_FStar.Reflection.TermEq.memP_allP", + "lemma_FStar.Reflection.TermEq.memP_dec", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", + "refinement_interpretation_Tm_refine_3abde429ed8897ba48c174c9c763032e", + "refinement_interpretation_Tm_refine_6563e322f1edd38250ae3160a2c07b61", + "refinement_interpretation_Tm_refine_7a5f0e6057f58bc14a77e0f4b2d552e2", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_f398b3fb63deb81250872892507bc1f9", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.term_cmp" + ], + 0, + "101da282cbc681aba42a088be80f95ef" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 21, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2e8f3254a19810353a6b668e6bb24431", + "refinement_interpretation_Tm_refine_beb77bcabd8179372b09681b4cd201f3", + "refinement_interpretation_Tm_refine_d77950261686b7670e4252c21a87c320" + ], + 0, + "429876cebee020dfbf63f576435c275f" + ], + [ + "FStar.Reflection.TermEq.faithful_lemma", + 22, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.comp_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.faithful_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.allP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", + "FStar.Reflection.Data_pretyping_31f97a73eb7c5a1eaff6242ee230afd6", + "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_450717e679a7228454f07303fe75f161", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_7f568c219263d6c40f0cb883701bdc9f", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_97980a4a048a9a94254ffc2982e05eb5", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_e93a059858d9de7ac7c5357e68a676c6", + "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", + "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", + "constructor_distinct_FStar.Reflection.Data.C_Eff", + "constructor_distinct_FStar.Reflection.Data.C_GTotal", + "constructor_distinct_FStar.Reflection.Data.C_Lemma", + "constructor_distinct_FStar.Reflection.Data.C_Total", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "constructor_distinct_FStar.Reflection.TermEq.Unknown", + "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.TermEq.Neq@tok", + "disc_equation_FStar.Reflection.Data.C_Eff", + "disc_equation_FStar.Reflection.Data.C_GTotal", + "disc_equation_FStar.Reflection.Data.C_Lemma", + "disc_equation_FStar.Reflection.Data.C_Total", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.Data.universes", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.comparator_for", + "equation_FStar.Reflection.TermEq.def2", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.eq_cmp", + "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", + "equation_FStar.Reflection.Types.name", + "equation_with_fuel_FStar.Reflection.TermEq.comp_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.faithful_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "fuel_guarded_inversion_Prims.list", + "fuel_token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented_token", + "fuel_token_correspondence_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented_token", + "function_token_typing_FStar.Reflection.Data.argv", + "function_token_typing_FStar.Reflection.TermEq.arg_cmp", + "function_token_typing_FStar.Reflection.TermEq.eq_cmp", + "function_token_typing_FStar.Reflection.TermEq.term_cmp", + "function_token_typing_FStar.Reflection.TermEq.univ_cmp", + "function_token_typing_FStar.Reflection.Types.comp", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Types.universe", + "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", + "l_and-interp", "lemma_FStar.Reflection.TermEq.memP_allP", + "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.Reflection.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.Data.C_Total_ret", + "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", + "refinement_interpretation_Tm_refine_27403f79136268fdb2311381e73a4a68", + "refinement_interpretation_Tm_refine_2ffc1c7df37a3f8566ea7dadcaabc472", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_464f8703b004714e18fff77bf899063e", + "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", + "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", + "refinement_interpretation_Tm_refine_db0cf74d9dabab16749e08843dbf26b2", + "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", + "subterm_ordering_FStar.Reflection.Data.C_Eff", + "subterm_ordering_FStar.Reflection.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.Data.C_Total", + "token_correspondence_FStar.Reflection.TermEq.arg_cmp", + "token_correspondence_FStar.Reflection.TermEq.eq_cmp", + "token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.faithful_arg.fuel_instrumented", + "token_correspondence_FStar.Reflection.TermEq.term_cmp", + "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "typing_FStar.Reflection.Builtins.inspect_comp", + "typing_FStar.Reflection.TermEq.list_dec_cmp", + "typing_FStar.Reflection.TermEq.term_cmp", + "typing_FStar.Reflection.Types.name", + "typing_tok_FStar.Reflection.TermEq.Eq@tok" + ], + 0, + "2489f2219754cab8f68baea1d4d40854" + ], + [ + "FStar.Reflection.TermEq.term_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.TermEq.Eq", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.valid", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "typing_FStar.Reflection.TermEq.term_cmp" + ], + 0, + "9abc318ba12ec6b3a9508443af8f044b" + ], + [ + "FStar.Reflection.TermEq.term_eq_dec", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "@query", "constructor_distinct_FStar.Reflection.TermEq.Eq", + "constructor_distinct_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Reflection.TermEq.Eq", + "disc_equation_FStar.Reflection.TermEq.Neq", + "disc_equation_FStar.Reflection.TermEq.Unknown", + "equality_tok_FStar.Reflection.TermEq.Eq@tok", + "equality_tok_FStar.Reflection.TermEq.Neq@tok", + "equality_tok_FStar.Reflection.TermEq.Unknown@tok", + "equation_FStar.Reflection.TermEq.cmpres", + "equation_FStar.Reflection.TermEq.defined", + "equation_FStar.Reflection.TermEq.faithful_term", + "equation_FStar.Reflection.TermEq.valid", + "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", + "refinement_interpretation_Tm_refine_6144dead87faa6e2c6aeae6ec75832e9", + "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented" + ], + 0, + "dcbf96bb357dfea6ae850ead7b6ef489" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Types.fsti.hints b/ulib/.cache/FStar.Reflection.Types.fsti.hints index 1ec0d8e6035..74fb1e3aa5a 100644 --- a/ulib/.cache/FStar.Reflection.Types.fsti.hints +++ b/ulib/.cache/FStar.Reflection.Types.fsti.hints @@ -1,5 +1,5 @@ [ - "HýC\u001c\u0004\u0011‹9\u000eÑ_-©±WÎ", + "ëÁ±9\u0005\b\u000fî\u0014ì¸íqó\u000b", [ [ "FStar.Reflection.Types.name", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7bd1f6144dd9df565654f5f8eb6fe96" + "56a976ff13b0d632217d24061d0cd191" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Typing.Builtins.fsti.hints b/ulib/.cache/FStar.Reflection.Typing.Builtins.fsti.hints index 511b4b3095d..e5d4d951430 100644 --- a/ulib/.cache/FStar.Reflection.Typing.Builtins.fsti.hints +++ b/ulib/.cache/FStar.Reflection.Typing.Builtins.fsti.hints @@ -1 +1 @@ -[ "\u001bÄê1>\u000e\u0013V\u0011\u0005Y@¦å²", [] ] \ No newline at end of file +[ "EÊ\r\fÏGÎ$T\u0001\b[Á\u00010", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Typing.fst.hints b/ulib/.cache/FStar.Reflection.Typing.fst.hints index 2d1c5b9eeb0..1c0a3d6ead5 100644 --- a/ulib/.cache/FStar.Reflection.Typing.fst.hints +++ b/ulib/.cache/FStar.Reflection.Typing.fst.hints @@ -1,6 +1,24 @@ [ - "\u000f÷Ýö\u0012“÷ª7r]ãÈ•ÿj", + "Pcï)ÁÈ˨˜‡Übol\u0000d", [ + [ + "FStar.Reflection.Typing.pack_inspect", + 1, + 2, + 1, + [ "@query" ], + 0, + "58a095427b2ef59c22fe9475425d70ba" + ], + [ + "FStar.Reflection.Typing.pack_inspect_universe", + 1, + 2, + 1, + [ "@query" ], + 0, + "c276fee3f9ea6b6dc8de1d7af5c01a9b" + ], [ "FStar.Reflection.Typing.mk_binder", 1, @@ -10,55 +28,214 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "409db05eb7a2745a01012ff2e1f11d2a" + "86da03a3e2daa1f0910ca573b69eac22" + ], + [ + "FStar.Reflection.Typing.mk_simple_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_typing", "true_interp" + ], + 0, + "37bf637c1d6f9ff9877549b3435d2406" + ], + [ + "FStar.Reflection.Typing.extend_env", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "35273c52aaf74fa89378fe1f97f80897" + ], + [ + "FStar.Reflection.Typing.__proj__DT__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" + ], + 0, + "39c2b201cb971d738f630c64c2977fe0" + ], + [ + "FStar.Reflection.Typing.__proj__DT__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" + ], + 0, + "01f1f084cea10e78254f7eb1c336cf57" + ], + [ + "FStar.Reflection.Typing.__proj__NT__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" + ], + 0, + "00c238de897f63397e0e507534b82bd1" + ], + [ + "FStar.Reflection.Typing.__proj__NT__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" + ], + 0, + "f5f27a0e2f751a822449499574822ab4" + ], + [ + "FStar.Reflection.Typing.__proj__ND__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" + ], + 0, + "9ac793b22822668c3966b1303b123a8b" + ], + [ + "FStar.Reflection.Typing.__proj__ND__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" + ], + 0, + "db11eea85f96b988500235d0be0b3333" + ], + [ + "FStar.Reflection.Typing.shift_subst_elt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.Typing.DT", + "disc_equation_FStar.Reflection.Typing.ND", + "disc_equation_FStar.Reflection.Typing.NT", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "int_inversion", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" + ], + 0, + "0594f46c33723d9f3ba890aa56abd5c2" ], [ - "FStar.Reflection.Typing.__proj__OpenWith__item___0", + "FStar.Reflection.Typing.find_matching_subst_elt_bv", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0982b6d5db185c80fc573ac7bd007412" + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_Prims.Cons" ], 0, - "dfb0c3b0c8270ee93966245d522913c7" + "ca2683e7649d9e8383a3ab95692484f4" ], [ - "FStar.Reflection.Typing.__proj__CloseVar__item___0", + "FStar.Reflection.Typing.subst_db", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a02ae4e772eb7d458c4d4087a0fde7c3" + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term" ], 0, - "5bda304423ff0028e22d35fd0c69b904" + "29d494883a81dc66fcee4279216caebf" ], [ - "FStar.Reflection.Typing.__proj__Rename__item___0", + "FStar.Reflection.Typing.find_matching_subst_elt_var", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de66a466f01d2c19b4409c3b6c377e51" + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.subst", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "87d977569fce040c96fc1cae88977b08" + "015f9cb0a993be79f51359de5343efb9" ], [ - "FStar.Reflection.Typing.__proj__Rename__item___1", + "FStar.Reflection.Typing.subst_var", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de66a466f01d2c19b4409c3b6c377e51" + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term" ], 0, - "e431be739b07a1fe71f5a17571dc4950" + "ae1af099972de3af55ecb01c40a678f7" ], [ "FStar.Reflection.Typing.make_bv", @@ -69,7 +246,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "f64b329f5fa64af47cadca51158dd58c" + "f6216a1ab9bcf8a47a0183a113a8596b" ], [ "FStar.Reflection.Typing.make_bv_with_name", @@ -80,7 +257,40 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "fa7757c97705e4d35245a1fcf5d04993" + "8f970c328b219b8b1833f4b14e5ffe8a" + ], + [ + "FStar.Reflection.Typing.make_namedv", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "7c50d61ba48bb0baab40f86030cc3f60" + ], + [ + "FStar.Reflection.Typing.make_namedv_with_name", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "6edd96f0e3efa12070752765caaa4fc4" + ], + [ + "FStar.Reflection.Typing.var_as_namedv", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "56bf92fbb82f83560a2bf72faad1d0c0" ], [ "FStar.Reflection.Typing.binder_offset_patterns", @@ -89,7 +299,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", @@ -100,7 +310,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "632838727e021c76c491a389f83316e2" + "663bfaa8e502303c5fcf640b4d6d9426" ], [ "FStar.Reflection.Typing.binder_offset_patterns", @@ -109,162 +319,127 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons" ], 0, - "34fd640d6c88b8187a20da59f307f5fa" + "6e782ad2188ca12f20a96ef40538ddde" ], [ - "FStar.Reflection.Typing.open_or_close_term'", + "FStar.Reflection.Typing.subst_term", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_533bf3ef86a910ea5007104587667f43_1", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "disc_equation_FStar.Reflection.Typing.CloseVar", - "disc_equation_FStar.Reflection.Typing.OpenWith", - "disc_equation_FStar.Reflection.Typing.Rename", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_FStar.Reflection.Typing.maybe_index_of_term", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", - "fuel_guarded_inversion_FStar.Reflection.Typing.open_or_close", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln", - "typing_FStar.Reflection.Typing.maybe_index_of_term" + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "050de82c5a4e13bddb1748798763379a" + "bc0ca133f0f17974b14650a514136099" ], [ - "FStar.Reflection.Typing.open_or_close_term'", + "FStar.Reflection.Typing.subst_term", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "77b9176bf34c952f47c504dfd1873899" - ], - [ - "FStar.Reflection.Typing.open_or_close_term'", - 3, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "19d26fae983c91cb2d243af1b0a89ab0" + "8f0d1ba00e8c56ec55cfd3ccf62a5401" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 4, + "FStar.Reflection.Typing.subst_term", + 3, 2, 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "42a91b8e2b8d0220ac90b51086058526" + "9774084b93ec4d9029aae5d38bb131b3" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 5, + "FStar.Reflection.Typing.subst_term", + 4, 2, 1, [ @@ -275,135 +450,116 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ce69690c970df9f8d128fc36c9d23367" + "bbef939f8a1090d479524397db2a073c" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 6, + "FStar.Reflection.Typing.subst_term", + 5, 2, 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.argv", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "3a54ce393a96f96a7cd60ce96d87f2f7" + "e69faa8c6db91aa0ffef8de8cac7a617" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 7, + "FStar.Reflection.Typing.subst_term", + 6, 2, 2, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@query", "binder_x_1210f79d28de3b37e209c686194f1e91_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "@MaxIFuel_assumption", "@query", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_FStar.Reflection.Typing.binder_offset_pattern" + "subterm_ordering_Prims.Cons" ], 0, - "1ab97dd4a655c54d2944f4f770ae698b" + "12c168e135f5c0e806a893f7c45caac6" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 8, + "FStar.Reflection.Typing.subst_term", + 7, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "function_token_typing_FStar.Reflection.Types.term", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "3e5ac337e43712c4dfde4e70db9520c0" + "d6fff6c03951559b67c0832e223e2745" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 9, + "FStar.Reflection.Typing.subst_term", + 8, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_FStar.Reflection.Typing.binder_offset_pattern" + "@MaxIFuel_assumption", "@query", + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "1298fa6ce9988ce8aa6f4513647e861f" + "48ea37ea3942b4eec7d10f2514a26a89" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 10, + "FStar.Reflection.Typing.subst_term", + 9, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "75abb0cb2d91af09ed56a62bcae76f7b" + "e543564b4217520f15a31af81b12b7bc" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 11, + "FStar.Reflection.Typing.subst_term", + 10, 2, 2, [ "@MaxIFuel_assumption", "@query", "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pervasives.Inl", "subterm_ordering_FStar.Pervasives.Inr", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", @@ -411,7 +567,7 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "689dbdba2924ffff76bc0c8f835a8fbf" + "5e6698e09fb0e9e594084f3360c821f0" ], [ "FStar.Reflection.Typing.bv_index_of_make_bv", @@ -419,17 +575,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Typing.bv_index", - "equation_FStar.Reflection.Typing.make_bv", "equation_Prims.nat", + "@query", "equation_FStar.Reflection.Typing.bv_index", + "equation_FStar.Reflection.Typing.make_bv", "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_index", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_index", "typing_FStar.Reflection.Typing.make_bv" ], 0, - "dcd32026563b7b449b8a0cb60705b1b3" + "0d3a7895ac339f427ae3c72b28c7f5ce" + ], + [ + "FStar.Reflection.Typing.namedv_uniq_of_make_namedv", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Reflection.Typing.make_namedv", + "equation_FStar.Reflection.Typing.namedv_uniq", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "typing_FStar.Reflection.Typing.make_namedv" + ], + 0, + "e0b473af3d6cc2acfe7d46f8c57e06c3" + ], + [ + "FStar.Reflection.Typing.b2t_ty", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "39233155c7742eba661699b50b02532f" ], [ "FStar.Reflection.Typing.freevars", @@ -438,51 +619,62 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "data_elim_FStar.Reflection.Data.Tv_App", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", + "data_elim_FStar.Reflection.V2.Data.Tv_App", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Typing.binder_sort", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln" + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "9c88d32c3dcd8688ab23582be885e813" + "0abf092291e0c64b45082b5566798e33" ], [ "FStar.Reflection.Typing.freevars", @@ -497,7 +689,7 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "38e5fe16d1e9754202a8571a50150db8" + "3cd5c44d7e502bc2b45994e2ff829d77" ], [ "FStar.Reflection.Typing.freevars", @@ -508,22 +700,22 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "ca049692ffd2cbbb5b7f8116182772e0" + "547e98549e31c8167033b0ff9c8c0014" ], [ "FStar.Reflection.Typing.freevars", @@ -532,19 +724,19 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.argv", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "96491d01beba974d0d806a1bc6217c51" + "159306c06ee6e587e5e0502598384b65" ], [ "FStar.Reflection.Typing.freevars", @@ -559,77 +751,56 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "366dfe20eb3157fde5c3b06abebc6fc8" + "67a6eae1954c8185494018e9e99bf979" ], [ "FStar.Reflection.Typing.freevars", 6, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "dfeb9c21db58529a34e0eda4b9281e2d" - ], - [ - "FStar.Reflection.Typing.freevars", - 7, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "a424948ac195c4a85722d2465a77ef8d" + "7731fc246570e2190d783f99393130d8" ], [ "FStar.Reflection.Typing.freevars", - 8, + 7, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "66d75797a90b1efd80be25b33b54622b" + "f10dcaa995cc029ecf15d29b15fa75fc" ], [ "FStar.Reflection.Typing.freevars", - 9, + 8, 2, 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", @@ -637,41 +808,41 @@ "subterm_ordering_Prims.Cons" ], 0, - "20c6f17db43d874ba33d546808e814ee" + "bc611fa61bf98b3b1fb559b535f52925" ], [ "FStar.Reflection.Typing.freevars", - 10, + 9, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "824ab5f4e60daee1bd643b96413c41f0" + "f7de674948de2e363ccb9e84138d226f" ], [ "FStar.Reflection.Typing.freevars", - 11, + 10, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "72b7009387fa6a43b1e93bed695a4019" + "02517f63d1182265e1448d890af4cbb4" ], [ "FStar.Reflection.Typing.freevars", - 12, + 11, 2, 2, [ @@ -689,214 +860,65 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple3" ], 0, - "318db5760b6c2820461fedaaa9b3837c" + "dffebd6eaa6a6b497bfbeb1ad28b174f" ], [ - "FStar.Reflection.Typing.apply_term_ctxt", + "FStar.Reflection.Typing.ln'", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_abs_binder", - "disc_equation_FStar.Reflection.Typing.Ctxt_abs_body", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", - "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_binder", - "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_comp", - "disc_equation_FStar.Reflection.Typing.Ctxt_hole", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_body", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_bv", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_def", - "disc_equation_FStar.Reflection.Typing.Ctxt_match_scrutinee", - "disc_equation_FStar.Reflection.Typing.Ctxt_refine_bv", - "disc_equation_FStar.Reflection.Typing.Ctxt_refine_ref", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "fuel_guarded_inversion_FStar.Reflection.Typing.term_ctxt", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_binder", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_body", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_arg", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_binder", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_comp", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_body", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_bv", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_def", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_match_scrutinee", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_bv", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_ref", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" - ], - 0, - "679063ab24c91ec81c75cc95b776e200" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "FStar.Reflection.Typing_pretyping_7923301121c5178ff01556c323780a49", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_7923301121c5178ff01556c323780a49_0", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "equation_FStar.Sealed.Inhabited.is_sealed", "string_typing", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_bv", "true_interp", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" - ], - 0, - "ec54646aa3ce7dbf9131124e5180d65d" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_10e02ccbffae537ece51d36c11cfe3fe_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_binder" - ], - 0, - "7b7f7b45be04ffc4f8798689cb01e34c" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "FStar.Reflection.Typing_pretyping_e1d15572bfdeae94edf473a032c83ad6", - "binder_x_e1d15572bfdeae94edf473a032c83ad6_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_gtotal", - "disc_equation_FStar.Reflection.Typing.Ctxt_total", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "fuel_guarded_inversion_FStar.Reflection.Typing.comp_ctxt", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_gtotal", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_total", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" - ], - 0, - "92f5376867dea687ba5c5d1740db01ed" - ], - [ - "FStar.Reflection.Typing.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c0be68d7971a3e6e4f5dbe4625dd8002" - ], - 0, - "4a47839fb185798abd4f243e88f11d71" - ], - [ - "FStar.Reflection.Typing.typing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c659e35547b336b0e3d5d213eaa6eb46" - ], - 0, - "7316145f2ed72540eb77ecc112ba334a" - ], - [ - "FStar.Reflection.Typing.typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_794dbde7f09e185fa2484cffba288b2e" - ], - 0, - "9940297f60c4eac0a5cd41d173f8f801" - ], - [ - "FStar.Reflection.Typing.extend_env_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "binder_x_b57262eead998d474939c05a17e1ffab_0", - "binder_x_cd3380f97314e714434067f9210b93f6_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.bindings", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "a9efaf2939a42d8576ec976c44b7abeb" - ], - [ - "FStar.Reflection.Typing.ln'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "data_elim_FStar.Reflection.Data.Tv_App", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", + "data_elim_FStar.Reflection.V2.Data.Tv_App", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_FStar.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln" + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "6e99e05c17eb7ce96991207922afe70e" + "68a862fe65ab11435d7c9a92854cc417" ], [ "FStar.Reflection.Typing.ln'", @@ -907,22 +929,22 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "852b3001b5ee98f95c5296b7b9c80d37" + "ea389bb09fec7e0add0f8d45432416c7" ], [ "FStar.Reflection.Typing.ln'", @@ -931,60 +953,42 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.argv", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "3a57bedecdb9f21367ec514f39a64822" + "ba055cf7f239b3295beaeccc58b82f14" ], [ "FStar.Reflection.Typing.ln'", 4, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "54939c95291c264723f491a563c73277" - ], - [ - "FStar.Reflection.Typing.ln'", - 5, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "7ff54584be7ab35487e05a5e6025f910" + "4ac84e6f1adb8c263c549e7d4e17f57a" ], [ "FStar.Reflection.Typing.ln'", - 6, + 5, 2, 1, [ @@ -995,16 +999,16 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f6eb763f398efd044a58b02035636362" + "bfe38035b2f6cfa35dd5ea3a87ab8ce5" ], [ "FStar.Reflection.Typing.ln'", - 7, + 6, 2, 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", @@ -1012,68 +1016,65 @@ "subterm_ordering_Prims.Cons" ], 0, - "513bfb26a58060b5c82ed26ab7183d91" + "290125eb64de5bedc0930cdb15a1216c" ], [ "FStar.Reflection.Typing.ln'", - 8, + 7, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "function_token_typing_FStar.Reflection.Types.term", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "805e9c4d5e7a5765af2c9e7030f8ea35" + "0c9f1a172597d457c9a15785c6a5df95" ], [ "FStar.Reflection.Typing.ln'", - 9, + 8, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "6d095408eedc6835de6023fc6952159c" + "ffb625273a19fe6c9ba43c41c7646ac2" ], [ "FStar.Reflection.Typing.ln'", - 10, + 9, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "073a4bcc622989fa1d665b7c60f7634f" + "95ca211508b999a3264ca38f084ce271" ], [ "FStar.Reflection.Typing.ln'", - 11, + 10, 2, 2, [ @@ -1094,231 +1095,400 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "728f4958db08fd8d377a22d510a0f494" + "eaa4211f056d22dfa0e8d564183c4a76" ], [ - "FStar.Reflection.Typing.binder_offset_pattern_invariant", + "FStar.Reflection.Typing.apply_term_ctxt", 1, 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_533bf3ef86a910ea5007104587667f43_1", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_FStar.Reflection.Data.Pat_Cons", - "constructor_distinct_FStar.Reflection.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Reflection.Data.Pat_Var", - "constructor_distinct_FStar.Reflection.Data.Pat_Wild", - "disc_equation_FStar.Reflection.Data.Pat_Cons", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__0", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", - "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", - "projection_inverse_FStar.Reflection.Data.Pat_Var__0", - "projection_inverse_FStar.Reflection.Data.Pat_Wild__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "typing_FStar.Reflection.Typing.open_or_close_pattern_" + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", + "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", + "disc_equation_FStar.Reflection.Typing.Ctxt_abs_binder", + "disc_equation_FStar.Reflection.Typing.Ctxt_abs_body", + "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", + "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", + "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_binder", + "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_comp", + "disc_equation_FStar.Reflection.Typing.Ctxt_hole", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_body", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_bv", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_def", + "disc_equation_FStar.Reflection.Typing.Ctxt_match_scrutinee", + "disc_equation_FStar.Reflection.Typing.Ctxt_refine_bv", + "disc_equation_FStar.Reflection.Typing.Ctxt_refine_ref", + "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", + "fuel_guarded_inversion_FStar.Reflection.Typing.term_ctxt", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_binder", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_body", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_arg", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_binder", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_comp", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_body", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_bv", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_def", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_match_scrutinee", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_bv", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_ref", + "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" ], 0, - "01baa2246517fa93b3d8cce9a1030ec9" + "965a9a948b5f0842f8fcfe8894789a17" ], [ - "FStar.Reflection.Typing.binder_offset_pattern_invariant", + "FStar.Reflection.Typing.mk_comp", + 1, 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Tactics.Types.E_Ghost", + "disc_equation_FStar.Tactics.Types.E_Total", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.comp_typ", + "fuel_guarded_inversion_FStar.Tactics.Types.tot_or_ghost", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Tactics.Types.tot_or_ghost@tok", + "projection_inverse_BoxBool_proj_0", + "typing_FStar.Pervasives.Native.fst" + ], + 0, + "bc7b04e4a9024ff2e9e161c392984c91" + ], + [ + "FStar.Reflection.Typing.is_non_informative_name", + 1, 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" + ], + 0, + "eadef85f8abece27c2c8f3363d80fbda" + ], + [ + "FStar.Reflection.Typing.typing", + 1, 2, + 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@query", "binder_x_1210f79d28de3b37e209c686194f1e91_0", - "binder_x_533bf3ef86a910ea5007104587667f43_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "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_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_FStar.Reflection.Typing.binder_offset_pattern", - "typing_FStar.Reflection.Typing.open_or_close_patterns_" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c0be68d7971a3e6e4f5dbe4625dd8002" ], 0, - "02fe6c739f258535f44e16ef90887159" + "88f2aeedc18806a6719e8b250d6d3639" ], [ - "FStar.Reflection.Typing.open_close_inverse'", + "FStar.Reflection.Typing.typing", + 2, + 2, 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c659e35547b336b0e3d5d213eaa6eb46" + ], + 0, + "c9ff51800feebe7fd499af4e0249096e" + ], + [ + "FStar.Reflection.Typing.typing", + 3, 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_22ac1eff8b8271b7b57d7d4addc7435f" + ], + 0, + "e43f121533aef600429b71204103a319" + ], + [ + "FStar.Reflection.Typing.extend_env_l", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "binder_x_b57262eead998d474939c05a17e1ffab_0", + "binder_x_cd3380f97314e714434067f9210b93f6_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.bindings", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "d7dccee9adcf878e9b43901dff81334e" + ], + [ + "FStar.Reflection.Typing.binder_offset_pattern_invariant", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_1", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "typing_FStar.Reflection.Typing.subst_pattern" + ], + 0, + "b3e9007e4ffc847a6ccf4a117f3fa62c" + ], + [ + "FStar.Reflection.Typing.binder_offset_pattern_invariant", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", "binder_x_397fe7c4a78e1ff89a217f78a78d0167_1", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_with_fuel_FStar.Reflection.Typing.binder_offset_patterns.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "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", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons", + "typing_FStar.Reflection.Typing.subst_patterns" + ], + 0, + "05466510ef2b38fdca58aab9ed9e0f66" + ], + [ + "FStar.Reflection.Typing.open_close_inverse'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "FStar.Reflection.Types_pretyping_8632d594431d6c78cb2dd50457d25394", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_ca977abcf7ce4979aeb84c6ca378c313_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedT", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Let", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_FStar.Reflection.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.Data.Tv_UInst", - "constructor_distinct_FStar.Reflection.Data.Tv_Unknown", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.CloseVar", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", - "constructor_distinct_Prims.Cons", + "constructor_distinct_FStar.Reflection.Types.term", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedC", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unsupp", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.unit", + "data_elim_FStar.Reflection.V2.Data.Mknamedv_view", + "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_AscribedT@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Let@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equality_tok_FStar.Reflection.Data.Tv_Unknown@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedC@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_BVar@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Let@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unsupp@tok", + "equation_FStar.List.Tot.Base.hd", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.bv_index", - "equation_FStar.Reflection.Typing.maybe_index_of_term", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.sort_default", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Sealed.Inhabited.seal", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.namedv_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", + "lemma_FStar.Reflection.Typing.inspect_pack_binder", "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", "lemma_FStar.Reflection.Typing.pack_inspect", - "lemma_FStar.Reflection.Typing.pack_inspect_bv", + "lemma_FStar.Reflection.Typing.pack_inspect_namedv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "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_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_index", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1326,93 +1496,107 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", - "projection_inverse_FStar.Reflection.Data.Tv_Let_body", - "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Let_def", - "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_FStar.Reflection.Data.Tv_Type__0", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.CloseVar__0", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_index", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", "refinement_interpretation_Tm_refine_2b5f293318d32fcf3a42079e026cd31d", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_b57ff77ab369c4726d7787717ccd613f", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.inspect_ln", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_sort", - "typing_FStar.Reflection.Typing.maybe_index_of_term", - "typing_FStar.Reflection.Typing.open_or_close_branches_", - "typing_FStar.Reflection.Typing.open_or_close_term_", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "true_interp", "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.namedv_uniq", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.Typing.subst_term", "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_bv", "unit_inversion", - "unit_typing" + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.inspect_namedv", + "typing_FStar.Reflection.V2.Builtins.pack_bv", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Reflection.V2.Data.__proj__Mknamedv_view__item__sort", + "typing_FStar.Sealed.seal", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "unit_inversion", "unit_typing" ], 0, - "df3b00bac864a9920de7b01e94012329" + "6d6c814bdd1ceb7f67ec9c9e6109c01f" ], [ "FStar.Reflection.Typing.open_close_inverse'", @@ -1422,141 +1606,99 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_81d27fc69d5d9af58a5420a4b4aa1811_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "data_elim_FStar.Reflection.Data.Mkbv_view", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.ln__bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "function_token_typing_Prims.string", "int_inversion", "int_typing", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "lemma_FStar.Reflection.Typing.pack_inspect_bv", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7efcc9d502220787326478a11aeceb61", - "string_typing", "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_index", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_sort", - "typing_FStar.Reflection.Typing.open_or_close_bv_", - "typing_FStar.Reflection.Typing.open_or_close_term_", - "typing_FStar.Reflection.Typing.open_with_var" - ], - 0, - "02ec9f35ec01f2a70ad75c8a3b5e6b77" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln__bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_e017b6b1be2d6d0f52edf5c384a263c5_1", "bool_inversion", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.var", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_Prims.Cons@tok", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln__binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "int_inversion", "int_typing", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "function_token_typing_Prims.string", "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", "refinement_interpretation_Tm_refine_c6a3c7c4eb278d2079b6f26403b9f254", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "string_typing", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Typing.open_or_close_binder_", - "typing_FStar.Reflection.Typing.open_or_close_bv_", - "typing_FStar.Reflection.Typing.open_or_close_terms_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_binder", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.Typing.subst_terms", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname" ], 0, - "323abcc213111ab3fef2de2cfcad3a27" + "39e68c7abefda8c6158876c73ed671de" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 4, + 3, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", "binder_x_2643a5ff5d0465576d832be3d4c55c79_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", @@ -1566,15 +1708,15 @@ "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_terms_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_terms" ], 0, - "28ffc13bafb4e13b88e8b2ddfe85150e" + "c359ac2f098fd0d941cbf5a41f735a90" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 5, + 4, 2, 1, [ @@ -1583,410 +1725,475 @@ "@fuel_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__args.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", "binder_x_2e9b6c71378164267f7ec3010aa27ef0_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.C_Eff", - "constructor_distinct_FStar.Reflection.Data.C_GTotal", - "constructor_distinct_FStar.Reflection.Data.C_Lemma", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Reflection.Data.C_Eff@tok", - "data_typing_intro_FStar.Reflection.Data.C_GTotal@tok", - "data_typing_intro_FStar.Reflection.Data.C_Lemma@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", + "constructor_distinct_FStar.Reflection.V2.Data.C_Eff", + "constructor_distinct_FStar.Reflection.V2.Data.C_GTotal", + "constructor_distinct_FStar.Reflection.V2.Data.C_Lemma", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Eff@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_GTotal@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Lemma@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__args.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Reflection.Typing.inspect_pack_comp", "lemma_FStar.Reflection.Typing.pack_inspect_comp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.C_Eff_decrs", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_args", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_name", - "projection_inverse_FStar.Reflection.Data.C_Eff_result", - "projection_inverse_FStar.Reflection.Data.C_Eff_us", - "projection_inverse_FStar.Reflection.Data.C_GTotal_ret", - "projection_inverse_FStar.Reflection.Data.C_Lemma__0", - "projection_inverse_FStar.Reflection.Data.C_Lemma__1", - "projection_inverse_FStar.Reflection.Data.C_Lemma__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.V2.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", "refinement_interpretation_Tm_refine_2cfaf79cc3f8960c42240cf945c08f90", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_comp", - "typing_FStar.Reflection.Typing.open_or_close_comp_", - "typing_FStar.Reflection.Typing.open_or_close_term_", - "typing_FStar.Reflection.Typing.open_with_var" + "token_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_comp", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "76a16f2d5b4cb2ad2e405b165e2c4c08" + "f2aea56d9b31bfaf81a85d5f6c09586a" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 6, + 5, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e21c1d48a84edf851a6c755885e724c1_1", "bool_inversion", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", + "binder_x_b98c3b0360d09cccf31b5e494aa3a30c_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__args.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", "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_03e3929a84382d35ffa657281027323d", + "refinement_interpretation_Tm_refine_507afb1fb397cbd615fc1f49a10e2451", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_args_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_args" ], 0, - "56ce769d9a6b05b08e6f2203e6788a25" + "0d527392dcadf186b8a844d51360c5e7" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 7, + 6, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_727f3aff10e281e7979e862cdf760643_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", + "binder_x_2839db2faca35f2f9f40863dbcc22a3d_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", + "equation_with_fuel_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "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.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_2c5714fe3b57f8a894754e14b7ce4a70", + "refinement_interpretation_Tm_refine_2d13988d26965677413783ba3324a3fb", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", - "typing_FStar.Reflection.Typing.open_or_close_patterns_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.open_with_var_elt", + "typing_FStar.Reflection.Typing.subst_patterns" ], 0, - "743f8d27f78fa8e09aaf6bb17b31929d" + "0ccd21678f69745decc26d2906cf84f8" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 8, + 7, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.ln__bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_031e79a775a3171f5254dafc362c3a78_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "binder_x_104d2ed9bc0170bdf4e19a7050e54bca_1", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Reflection.Data.Pat_Cons", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Reflection.Data.Pat_Var", - "constructor_distinct_FStar.Reflection.Data.Pat_Wild", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Dot_Term", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Var", "constructor_distinct_Prims.unit", - "data_elim_FStar.Reflection.Data.Pat_Dot_Term", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "equation_FStar.Reflection.Data.var", + "data_elim_FStar.Reflection.V2.Data.Pat_Dot_Term", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "int_typing", "lemma_FStar.Pervasives.invertOption", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Subtraction", "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_FStar.Reflection.Data.Pat_Cons__0", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", - "projection_inverse_FStar.Reflection.Data.Pat_Var__0", - "projection_inverse_FStar.Reflection.Data.Pat_Wild__0", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_sort", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9fa70b90ef68f2fbabc203acbf104e32", + "refinement_interpretation_Tm_refine_e1901b339319144a3ec4fd577420200b", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_pattern_", - "typing_FStar.Reflection.Typing.open_with_var", "unit_inversion", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_pattern", "unit_inversion", "unit_typing" ], 0, - "0f9235eb792a4f0ac6e724c822b085b9" + "5b2861c47c36f1f4d105da6ff3849015" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 9, + 8, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "binder_x_72d2180a08379b7d7822f24a3748351b_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.branch", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_ec13dc0f3af86255c7284b3086ccaabd_1", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_typing", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "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.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e403c7dcb7f910ced31e998f53ead10a", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "refinement_interpretation_Tm_refine_eeb29a4a9dd90c88f19a9032f25ac54d", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", - "typing_FStar.Reflection.Typing.open_or_close_branch_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_branch" ], 0, - "2d53cf75c31aefa33285eb764d35ac02" + "129e765f20c8539af0c97647f1d78106" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 10, + 9, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_7ed7293c612404bb064ed03be4861346_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", + "binder_x_affb24357c3dffb77b41f31f26e8880a_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", "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_2d80ef9aeb6a06747762d256274f6e41", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2f031b5131799915db09c1b15d92bd6", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_branches_", - "typing_FStar.Reflection.Typing.open_with_var" + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_branches" ], 0, - "9a2b19e97cf1ff5571b7d5aa147905b7" + "d10c7578442fe06b9399e2d5bf526055" ], [ "FStar.Reflection.Typing.open_close_inverse'", - 11, + 10, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.ln__comp.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "binder_x_ad53e621994e2f81ff819e51f7e7b4d7_1", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_2", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_2", + "binder_x_ad53e621994e2f81ff819e51f7e7b4d7_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "int_typing", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Inl_a", @@ -2002,22 +2209,33 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_dba1f8b610542fe9a444a670cd00fbd7", - "subterm_ordering_FStar.Pervasives.Inl", + "string_typing", "subterm_ordering_FStar.Pervasives.Inl", "subterm_ordering_FStar.Pervasives.Inr", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Mktuple3", "subterm_ordering_FStar.Pervasives.Native.Some", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_match_returns_", - "typing_FStar.Reflection.Typing.open_with_var" + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.open_with_var_elt", + "typing_FStar.Reflection.Typing.subst_match_returns" ], 0, - "cb7b7166810f94c13dfbfaf0f6f31e84" + "3a94b6d71972221159abfe715531075e" ], [ "FStar.Reflection.Typing.open_close_inverse", @@ -2030,7 +2248,7 @@ "refinement_interpretation_Tm_refine_20af190947748fb2aed9fa71fd51bfba" ], 0, - "016656576dfaf2a39f9855662d42378c" + "87fb7af746d5385912d3112f15d0ea2d" ], [ "FStar.Reflection.Typing.close_open_inverse'", @@ -2039,139 +2257,184 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Reflection.Types_pretyping_8632d594431d6c78cb2dd50457d25394", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_72d3dc2138979af33a86bf028f9a81f4_2", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_8632d594431d6c78cb2dd50457d25394_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_c63940a81327ffa0b7765585da27eea6_2", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedT", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Let", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_FStar.Reflection.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.Data.Tv_UInst", - "constructor_distinct_FStar.Reflection.Data.Tv_Unknown", - "constructor_distinct_FStar.Reflection.Data.Tv_Uvar", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.CloseVar", - "constructor_distinct_FStar.Reflection.Typing.OpenWith", - "data_elim_FStar.Pervasives.Native.Mktuple2", + "constructor_distinct_FStar.Reflection.Types.term", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedC", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unsupp", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Uvar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.unit", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Reflection.Data.Mkbv_view", + "data_elim_FStar.Reflection.V2.Data.Mkbv_view", + "data_elim_FStar.Reflection.V2.Data.Tv_Abs", + "data_elim_FStar.Reflection.V2.Data.Tv_Arrow", + "data_elim_FStar.Reflection.V2.Data.Tv_AscribedC", + "data_elim_FStar.Reflection.V2.Data.Tv_AscribedT", + "data_elim_FStar.Reflection.V2.Data.Tv_Let", + "data_elim_FStar.Reflection.V2.Data.Tv_Refine", + "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_App@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_AscribedT@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Let@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Match@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Var@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mknamedv_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Abs@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_App@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Arrow@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedC@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Let@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Refine@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Var@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equality_tok_FStar.Reflection.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unsupp@tok", + "equation_FStar.List.Tot.Base.hd", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.binder_sort", "equation_FStar.Reflection.Typing.bv_index", - "equation_FStar.Reflection.Typing.maybe_index_of_term", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.Typing.namedv_uniq", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.open_with_var_elt", "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.sort_default", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.var_as_bv", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Reflection.Typing.var_as_namedv", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Sealed.Inhabited.seal", + "equation_FStar.Sealed.Inhabited.sealed", + "equation_FStar.Sealed.Inhabited.sealed_", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.bv_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "fuel_guarded_inversion_Prims.list", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", "fuel_token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented_token", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "kinding_FStar.Reflection.Data.aqualv@tok", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.bv_index_of_make_bv", "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", + "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "lemma_FStar.Reflection.Typing.inspect_pack_namedv", "lemma_FStar.Reflection.Typing.pack_inspect", "lemma_FStar.Reflection.Typing.pack_inspect_bv", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", @@ -2179,9 +2442,14 @@ "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.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_index", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "proj_equation_FStar.Reflection.V2.Data.Mknamedv_view_uniq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -2189,99 +2457,115 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", - "projection_inverse_FStar.Reflection.Data.Tv_Let_body", - "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Let_def", - "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_FStar.Reflection.Data.Tv_Type__0", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", - "projection_inverse_FStar.Reflection.Data.Tv_Uvar__0", - "projection_inverse_FStar.Reflection.Data.Tv_Uvar__1", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.CloseVar__0", - "projection_inverse_FStar.Reflection.Typing.OpenWith__0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_sort", + "projection_inverse_FStar.Reflection.V2.Data.Mknamedv_view_uniq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Uvar__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Uvar__1", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", + "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_49c67f5f01ef4483dbeb73e370644baa", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "refinement_interpretation_Tm_refine_c63185f4de7d4d3f01b3dc7e39bdedd0", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_bb1c8313568d41d3ee9f6bb4150c7795", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "true_interp", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Builtins.inspect_ln", - "typing_FStar.Reflection.Builtins.pack_bv", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_sort", - "typing_FStar.Reflection.Data.uu___is_Tv_AscribedC", - "typing_FStar.Reflection.Data.uu___is_Tv_AscribedT", - "typing_FStar.Reflection.Data.var", + "typing_FStar.Reflection.Typing.binder_sort", "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.maybe_index_of_term", - "typing_FStar.Reflection.Typing.open_or_close_binder_", - "typing_FStar.Reflection.Typing.open_or_close_match_returns_", - "typing_FStar.Reflection.Typing.open_or_close_term_", + "typing_FStar.Reflection.Typing.freevars_binder", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term", + "typing_FStar.Reflection.Typing.namedv_uniq", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.pp_name_default", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.Typing.subst_binder", + "typing_FStar.Reflection.Typing.subst_term", "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_bv", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "unit_inversion", - "unit_typing" + "typing_FStar.Reflection.Typing.var_as_namedv", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.inspect_bv", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Builtins.pack_namedv", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__qual", + "typing_FStar.Reflection.V2.Data.uu___is_Tv_Var", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Sealed.seal", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.union", "unit_inversion", "unit_typing" ], 0, - "edaf7c940c31e17e1321d440b7a8010d" + "805e739848cb43e6c71b5cbd960412c0" ], [ "FStar.Reflection.Typing.close_open_inverse'", @@ -2294,82 +2578,85 @@ "@fuel_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_3bb8e9313a42abf2cadd714c41a6c1ce_2", "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", - "binder_x_7c53e237aae544ddef42def782fc3cb9_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.C_Eff", - "constructor_distinct_FStar.Reflection.Data.C_GTotal", - "constructor_distinct_FStar.Reflection.Data.C_Lemma", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "data_typing_intro_FStar.Reflection.Data.C_Eff@tok", - "data_typing_intro_FStar.Reflection.Data.C_GTotal@tok", - "data_typing_intro_FStar.Reflection.Data.C_Lemma@tok", - "data_typing_intro_FStar.Reflection.Data.C_Total@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", + "constructor_distinct_FStar.Reflection.V2.Data.C_Eff", + "constructor_distinct_FStar.Reflection.V2.Data.C_GTotal", + "constructor_distinct_FStar.Reflection.V2.Data.C_Lemma", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Eff@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_GTotal@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Lemma@tok", + "data_typing_intro_FStar.Reflection.V2.Data.C_Total@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", - "int_inversion", "lemma_FStar.Reflection.Typing.inspect_pack_comp", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.inspect_pack_comp", "lemma_FStar.Reflection.Typing.pack_inspect_comp", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.C_Eff_decrs", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_args", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_name", - "projection_inverse_FStar.Reflection.Data.C_Eff_result", - "projection_inverse_FStar.Reflection.Data.C_Eff_us", - "projection_inverse_FStar.Reflection.Data.C_GTotal_ret", - "projection_inverse_FStar.Reflection.Data.C_Lemma__0", - "projection_inverse_FStar.Reflection.Data.C_Lemma__1", - "projection_inverse_FStar.Reflection.Data.C_Lemma__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.V2.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b6116254c12f6481637422f8b9252be2", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", + "refinement_interpretation_Tm_refine_6f728b588f0851692ed7ccf295956f28", + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_comp", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "typing_FStar.Reflection.Typing.freevars_comp", - "typing_FStar.Reflection.Typing.open_or_close_comp_", - "typing_FStar.Reflection.Typing.open_or_close_term_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem", "typing_FStar.Set.union" + "typing_FStar.Reflection.Typing.subst_comp", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.V2.Builtins.inspect_comp", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "3bd751ca7d3373283a2ee3cab0a38090" + "4174daa5e6b8d6e1c5a7a792fe0ad7f2" ], [ "FStar.Reflection.Typing.close_open_inverse'", @@ -2380,31 +2667,33 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_1", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c00dd4f36ab0a7f6c404f300506991c2_2", "bool_inversion", + "binder_x_ea0da8a91aa6f9dc2798bd273b778afd_2", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_args.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -2413,19 +2702,18 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d4a9671a18e0d5caf722138770f993bb", + "refinement_interpretation_Tm_refine_fc236d74efee5214e7c315c92119a6c9", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_args", - "typing_FStar.Reflection.Typing.open_or_close_args_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.subst_args", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "0c11ae97a30e71b4a3339bffc083a3f4" + "ddfa47cee778cf2774052415068ad19f" ], [ "FStar.Reflection.Typing.close_open_inverse'", @@ -2434,451 +2722,469 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_1", - "binder_x_b3d59d9630d6f6da452ffd81527ccf83_2", + "binder_x_82e76799f0125b5813c9f4a1febaf995_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "data_typing_intro_FStar.Reflection.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.var", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_Prims.Cons@tok", + "equation_FStar.Reflection.Types.typ", "equation_FStar.Reflection.Typing.open_with_var", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.ppname_t", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "int_inversion", "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "function_token_typing_Prims.string", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_41e176e12cf058f76d98fd90f77cc224", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "refinement_interpretation_Tm_refine_ca1c4a530575a2bfdb3aeb74a13b419e", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "string_typing", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_attrs", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_bv", - "typing_FStar.Reflection.Data.__proj__Mkbinder_view__item__binder_qual", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_binder", - "typing_FStar.Reflection.Typing.open_or_close_binder_", - "typing_FStar.Reflection.Typing.open_or_close_bv_", - "typing_FStar.Reflection.Typing.open_or_close_terms_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.subst_binder", + "typing_FStar.Reflection.Typing.subst_term", + "typing_FStar.Reflection.Typing.subst_terms", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__qual", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "e46df32e0bf97021361eeee7322aa92b" + "b20797bd8b54dd058360d1d88d447e08" ], [ "FStar.Reflection.Typing.close_open_inverse'", 5, 2, 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_86b665295715472d343bb968c9e4ef48_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_1", - "data_typing_intro_FStar.Reflection.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.ppname_t", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Reflection.Types.typ", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "function_token_typing_Prims.string", "int_inversion", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "lemma_FStar.Reflection.Typing.pack_inspect_bv", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_622c1eb847e20c2e57111ab5551516b7", - "string_typing", "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_index", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_ppname", - "typing_FStar.Reflection.Data.__proj__Mkbv_view__item__bv_sort", - "typing_FStar.Reflection.Typing.open_or_close_bv_", - "typing_FStar.Reflection.Typing.open_or_close_term_", - "typing_FStar.Reflection.Typing.open_with_var" - ], - 0, - "ff5e82111a856eae5b510b21440afbf1" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 6, - 2, - 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_08a55b116ccabb4d4dadadd27d63e5c4_2", "binder_x_8f4ecaebfe94b74de5c259be54b852b3_1", + "binder_x_942b4db1883910cf8652b0119f2a2b85_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cec9f3ad969b7f2dde610a91929689fb", + "refinement_interpretation_Tm_refine_747549c0a6a36d91420e511e115c0ade", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_terms", - "typing_FStar.Reflection.Typing.open_or_close_terms_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.subst_terms", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "299bba14f800292ba72186a21f4f7a12" + "e41c7d0498ef9622b54d924bdb77af95" ], [ "FStar.Reflection.Typing.close_open_inverse'", - 7, + 6, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_2231f919805405ad1b9734087e4371bb_1", - "binder_x_53a63e994a0a2d94be19213c2a31b5ef_2", + "binder_x_83efb4a812f8549f739254a861a96c05_1", + "binder_x_9f2d3f8dd4fcd5341fbdde8cfe13d721_2", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9bbc7e11c3ab681ab0a54f77aa2e458e", + "refinement_interpretation_Tm_refine_b9e531b2169f9e99df212db09afae302", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_branches", - "typing_FStar.Reflection.Typing.open_or_close_branches_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.subst_branches", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "0140ac1c3ef1c41711c2d23abeba99a6" + "e0b025f2af0390294f17a064543ece0d" ], [ "FStar.Reflection.Typing.close_open_inverse'", - 8, + 7, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c403923547050b963fd85a165f764bab_1", - "binder_x_d2e16dc5ff2426dfa39a5e1fae067fc8_2", "bool_inversion", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_5490d5191129a35701d26698958bb478_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bc8eadfd94036c9373a0af981455121f_2", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "int_inversion", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "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.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6a0da771a360ab2b17e1b2614327699c", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "refinement_interpretation_Tm_refine_c47a08e7bbaebe8a32858101b2925dc4", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", "typing_FStar.Reflection.Typing.freevars_branch", - "typing_FStar.Reflection.Typing.open_or_close_branch_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.subst_branch", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "7f63d4e4a0cf879e6401c7c7326803cf" + "0971cd499ddbaf92ac9969bbaaef0abc" ], [ "FStar.Reflection.Typing.close_open_inverse'", - 9, + 8, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_4f354a5e72a967b94c190873e9a3a1a0_2", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_1", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f8278fbc89d3481d2d2280cb6d7a0670_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Reflection.Data.Pat_Cons", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Reflection.Data.Pat_Var", - "constructor_distinct_FStar.Reflection.Data.Pat_Wild", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Dot_Term", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Var", "constructor_distinct_Prims.unit", - "data_elim_FStar.Reflection.Data.Pat_Dot_Term", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_elim_FStar.Reflection.V2.Data.Pat_Dot_Term", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "equation_FStar.Reflection.Data.var", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Pervasives.invertOption", "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_FStar.Reflection.Data.Pat_Cons__0", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", - "projection_inverse_FStar.Reflection.Data.Pat_Var__0", - "projection_inverse_FStar.Reflection.Data.Pat_Wild__0", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_sort", "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", - "refinement_interpretation_Tm_refine_52bc7e7c95111e70ebb1a13f97841991", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bc2377ff57970a41dee357f5d34885bf", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_or_close_pattern_", - "typing_FStar.Reflection.Typing.open_with_var", "unit_inversion", + "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "typing_FStar.Reflection.Typing.open_with_var", + "typing_FStar.Reflection.Typing.subst_pattern", "unit_inversion", "unit_typing" ], 0, - "605989eae8a334fc87379d409010d72d" + "1a2fa2efcce0a5764363ae54b3053123" ], [ "FStar.Reflection.Typing.close_open_inverse'", - 10, + 9, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1210f79d28de3b37e209c686194f1e91_1", - "binder_x_2229042418756c05d67a0d22e313714a_2", + "binder_x_2c5b00978c8a1988a206b8ab7987ff40_2", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", + "equation_with_fuel_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "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.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d5f26f7d198c35f0b9be68399327c4de", + "refinement_interpretation_Tm_refine_a6f0e2b9f28781faa0991aed0724cb75", "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", "typing_FStar.Reflection.Typing.freevars_patterns", - "typing_FStar.Reflection.Typing.open_or_close_patterns_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.Typing.open_with_var_elt", + "typing_FStar.Reflection.Typing.subst_patterns", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "7584c69f17e09c9c7f9604db60f75754" + "a776594f83efadb445c43b29d4c18292" ], [ "FStar.Reflection.Typing.close_open_inverse'", - 11, + 10, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_d6cfbd9f2bffce2b0baa1a64dc96f891_2", "bool_inversion", + "binder_x_cf76863c844f1d2cebfe12c9b70a5f05_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Inl", "data_elim_FStar.Pervasives.Inr", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_elim_FStar.Reflection.Typing.DT", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", "equation_FStar.Reflection.Typing.open_with_var", - "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", + "equation_FStar.Reflection.Typing.open_with_var_elt", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", @@ -2896,27 +3202,37 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_137b7eb3c31c6174bc3b494cbf2c0f2d", - "refinement_interpretation_Tm_refine_1fb406263e67599cd5511c5cff53fa57", + "refinement_interpretation_Tm_refine_413b070bbdee84cade68053020f995f4", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Inl", + "string_typing", "subterm_ordering_FStar.Pervasives.Inl", "subterm_ordering_FStar.Pervasives.Inr", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Mktuple3", "subterm_ordering_FStar.Pervasives.Native.Some", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.freevars_binder", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.freevars_match_returns", - "typing_FStar.Reflection.Typing.open_or_close_match_returns_", "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Set.mem", "typing_FStar.Set.union" + "typing_FStar.Reflection.Typing.open_with_var_elt", + "typing_FStar.Reflection.Typing.subst_match_returns", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "dab78159fe927bc16535913ae994ea5e" + "9f86aeea923205be4c71a4ef7a4ffdb5" ], [ "FStar.Reflection.Typing.close_open_inverse", @@ -2925,7 +3241,7 @@ 1, [ "@query" ], 0, - "92a3677db47b5966dfe23efb838a21c8" + "21ed438093ad41d8bee39c82cfd97c4d" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -2934,116 +3250,141 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Tv_Abs", - "constructor_distinct_FStar.Reflection.Data.Tv_App", - "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", - "constructor_distinct_FStar.Reflection.Data.Tv_AscribedT", - "constructor_distinct_FStar.Reflection.Data.Tv_BVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Const", - "constructor_distinct_FStar.Reflection.Data.Tv_FVar", - "constructor_distinct_FStar.Reflection.Data.Tv_Let", - "constructor_distinct_FStar.Reflection.Data.Tv_Match", - "constructor_distinct_FStar.Reflection.Data.Tv_Refine", - "constructor_distinct_FStar.Reflection.Data.Tv_Type", - "constructor_distinct_FStar.Reflection.Data.Tv_UInst", - "constructor_distinct_FStar.Reflection.Data.Tv_Unknown", - "constructor_distinct_FStar.Reflection.Data.Tv_Uvar", - "constructor_distinct_FStar.Reflection.Data.Tv_Var", - "constructor_distinct_FStar.Reflection.Typing.CloseVar", - "data_elim_FStar.Reflection.Data.Tv_App", - "data_elim_FStar.Reflection.Data.Tv_AscribedC", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedC", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unsupp", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Uvar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Reflection.Typing.ND", + "data_elim_FStar.Reflection.V2.Data.Tv_App", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Pervasives.Native.None@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedC@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_AscribedT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Let@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equality_tok_FStar.Reflection.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_FStar.Reflection.Typing.bv_index", "equation_Prims.nat", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.binder_sort", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", "fuel_token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented_token", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Reflection.Typing.pack_inspect", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "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.Reflection.V2.Data.Mkbinder_view_attrs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -3051,73 +3392,85 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_body", - "projection_inverse_FStar.Reflection.Data.Tv_Abs_bv", - "projection_inverse_FStar.Reflection.Data.Tv_App_a", - "projection_inverse_FStar.Reflection.Data.Tv_App_hd", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Arrow_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Reflection.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Reflection.Data.Tv_BVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Const__0", - "projection_inverse_FStar.Reflection.Data.Tv_FVar_v", - "projection_inverse_FStar.Reflection.Data.Tv_Let_attrs", - "projection_inverse_FStar.Reflection.Data.Tv_Let_body", - "projection_inverse_FStar.Reflection.Data.Tv_Let_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Let_def", - "projection_inverse_FStar.Reflection.Data.Tv_Let_recf", - "projection_inverse_FStar.Reflection.Data.Tv_Match_brs", - "projection_inverse_FStar.Reflection.Data.Tv_Match_ret", - "projection_inverse_FStar.Reflection.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_bv", - "projection_inverse_FStar.Reflection.Data.Tv_Refine_ref", - "projection_inverse_FStar.Reflection.Data.Tv_Type__0", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_us", - "projection_inverse_FStar.Reflection.Data.Tv_UInst_v", - "projection_inverse_FStar.Reflection.Data.Tv_Uvar__0", - "projection_inverse_FStar.Reflection.Data.Tv_Uvar__1", - "projection_inverse_FStar.Reflection.Data.Tv_Var_v", - "projection_inverse_FStar.Reflection.Typing.CloseVar__0", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__1", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_ln", - "typing_FStar.Reflection.Builtins.pack_ln", - "typing_FStar.Reflection.Data.var", - "typing_FStar.Reflection.Typing.bv_index", - "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Set.empty", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "typing_FStar.Reflection.Typing.binder_sort", + "typing_FStar.Reflection.Typing.freevars", + "typing_FStar.Reflection.Typing.freevars_binder", + "typing_FStar.Reflection.Typing.namedv_uniq", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.pack_ln", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.union", "unit_inversion", "unit_typing" ], 0, - "7b3028915e26733213a15820912ede23" + "ef529a0a15e007af2c722def1583679a" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3126,47 +3479,63 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Inl", "data_elim_FStar.Pervasives.Inr", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_Prims.nat", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_match_returns.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_match_returns_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", @@ -3183,6 +3552,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_137b7eb3c31c6174bc3b494cbf2c0f2d", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pervasives.Inl", @@ -3190,16 +3564,21 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Mktuple3", "subterm_ordering_FStar.Pervasives.Native.Some", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Reflection.Typing.freevars_binder", "typing_FStar.Reflection.Typing.freevars_match_returns", - "typing_FStar.Set.mem", "typing_FStar.Set.union" + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "acfe339d25195fadd02ee5926ed629aa" + "f410250c57d528c6f9fc3b756dc64b58" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3210,24 +3589,29 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", - "@query", "binder_x_2231f919805405ad1b9734087e4371bb_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branches_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", @@ -3237,12 +3621,11 @@ "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_branches.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_branches", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "d5dfbff66a272b48e9f4033344308314" + "0e0039521bac64685d5fdb12cffd5fb9" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3251,45 +3634,70 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_c403923547050b963fd85a165f764bab_0", "bool_inversion", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", + "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_5490d5191129a35701d26698958bb478_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.ND", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_branch.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_branch_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.Typing.shift_subst_n", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "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.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", "typing_FStar.Reflection.Typing.freevars_branch", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "3809249ea85fd7b0225290ed3c30874c" + "d48948ba1da7510eb03200549b932efe" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3299,71 +3707,67 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "FStar.Reflection.Typing_interpretation_Tm_arrow_9e72ef1630cdf33c9355eb388bb685f6", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", + "FStar.Reflection.Typing_interpretation_Tm_arrow_089a567b1c3869b14b4ee926d9bc77f4", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Data.Pat_Cons", - "constructor_distinct_FStar.Reflection.Data.Pat_Constant", - "constructor_distinct_FStar.Reflection.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Reflection.Data.Pat_Var", - "constructor_distinct_FStar.Reflection.Data.Pat_Wild", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Dot_Term", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Var", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_opt.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Pervasives.invertOption", "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_FStar.Reflection.Data.Pat_Cons__0", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__1", - "projection_inverse_FStar.Reflection.Data.Pat_Cons__2", - "projection_inverse_FStar.Reflection.Data.Pat_Constant__0", - "projection_inverse_FStar.Reflection.Data.Pat_Dot_Term__0", - "projection_inverse_FStar.Reflection.Data.Pat_Var__0", - "projection_inverse_FStar.Reflection.Data.Pat_Wild__0", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_sort", "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "unit_inversion", "unit_typing" ], 0, - "6c7b4ab732985bf747ed84cf9104bce1" + "fbc1909e5576e08c1a21825d97e4022d" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3372,49 +3776,72 @@ 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_pattern_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", + "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.ND", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "data_elim_FStar.Reflection.Typing.ND", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_patterns_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "equation_with_fuel_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.Typing.shift_subst_n", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "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.Reflection.Typing.ND__0", + "projection_inverse_FStar.Reflection.Typing.ND__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_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.map", "token_correspondence_FStar.Reflection.Typing.freevars_pattern.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_patterns.fuel_instrumented", - "typing_FStar.Reflection.Data.var", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", "typing_FStar.Reflection.Typing.binder_offset_pattern", "typing_FStar.Reflection.Typing.freevars_patterns", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "129efaa4a26a1def50144869d800887b" + "b4560714c20dc3c59d370c60d60e7057" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3425,23 +3852,28 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "@query", "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", @@ -3451,12 +3883,11 @@ "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_terms", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "77c41bff28a57bae001d93f579c08cb2" + "2171b22f83f6e8c4540a9be2bcb9534c" ], [ "FStar.Reflection.Typing.close_with_not_free_var", @@ -3465,189 +3896,166 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars_binder.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_binder_.fuel_instrumented", - "int_inversion", "lemma_FStar.Reflection.Typing.pack_inspect_binder", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.pack_inspect_binder", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "projection_inverse_FStar.Reflection.Data.Mkbinder_view_binder_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "token_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_binder", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_binder", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" ], 0, - "b4cc35110d58db048fc8d9c0291ca787" + "0e91464c1f162ce111e877c2bd61b3d2" ], [ "FStar.Reflection.Typing.close_with_not_free_var", 9, 2, 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.freevars_bv.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_bv_.fuel_instrumented", - "int_inversion", "lemma_FStar.Reflection.Typing.pack_inspect_bv", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_index", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_index", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_ppname", - "projection_inverse_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "3624391c347d959e641bd6331b263ce1" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 10, - 2, - 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_terms_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "constructor_distinct_FStar.Reflection.Data.C_Eff", - "constructor_distinct_FStar.Reflection.Data.C_GTotal", - "constructor_distinct_FStar.Reflection.Data.C_Lemma", - "constructor_distinct_FStar.Reflection.Data.C_Total", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "constructor_distinct_FStar.Reflection.V2.Data.C_Eff", + "constructor_distinct_FStar.Reflection.V2.Data.C_GTotal", + "constructor_distinct_FStar.Reflection.V2.Data.C_Lemma", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_comp.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_comp_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", - "int_inversion", "lemma_FStar.Reflection.Typing.pack_inspect_comp", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.pack_inspect_comp", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Reflection.Data.C_Eff_decrs", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_args", - "projection_inverse_FStar.Reflection.Data.C_Eff_eff_name", - "projection_inverse_FStar.Reflection.Data.C_Eff_result", - "projection_inverse_FStar.Reflection.Data.C_Eff_us", - "projection_inverse_FStar.Reflection.Data.C_GTotal_ret", - "projection_inverse_FStar.Reflection.Data.C_Lemma__0", - "projection_inverse_FStar.Reflection.Data.C_Lemma__1", - "projection_inverse_FStar.Reflection.Data.C_Lemma__2", - "projection_inverse_FStar.Reflection.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.V2.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Builtins.inspect_comp", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_comp", - "typing_FStar.Set.mem", "typing_FStar.Set.union" + "typing_FStar.Reflection.V2.Builtins.inspect_comp", + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "78a74caef6dc1423d8b86210a9cdc7e0" + "98bf96d474adce7344f2bfb141ae9540" ], [ "FStar.Reflection.Typing.close_with_not_free_var", - 11, + 10, 2, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.open_or_close_term_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", - "binder_x_ba4a962d971ae5b4b83c395bf4ad035c_1", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_11780bfdea76ec0c85fcb9ae834c65d2_1", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Typing.CloseVar@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.var", "equation_Prims.nat", + "data_typing_intro_FStar.Reflection.Typing.ND@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.open_or_close_args_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_args.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -3660,12 +4068,786 @@ "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", "token_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "typing_FStar.Reflection.Data.var", "typing_FStar.Reflection.Typing.freevars_args", - "typing_FStar.Set.mem" + "typing_FStar.Reflection.V2.Data.var", "typing_FStar.Set.mem" + ], + 0, + "e1b9283248ba35978224ff6e6cfd7cd5" + ], + [ + "FStar.Reflection.Typing.equiv_abs_close", + 1, + 2, + 1, + [ "@query" ], + 0, + "ed3e31bb8c1cd185e619e9ed0614a8e3" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Abs", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_App", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Arrow", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedC", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_AscribedT", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_BVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Const", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Match", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Refine", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Type", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_UInst", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unknown", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Unsupp", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_Var", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Match@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "equality_tok_FStar.Reflection.V2.Data.Tv_Unsupp@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Typing.bv_index", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.Typing.subst_db", + "equation_FStar.Reflection.Typing.subst_var", + "equation_FStar.Reflection.Typing.tun", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_bv.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.find_matching_subst_elt_var.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln_.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "function_token_typing_FStar.Reflection.Types.match_returns_ascription", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Reflection.Typing.pack_inspect", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "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.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__1", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Abs_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V2.Data.Tv_App_hd", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Arrow_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_c", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedC_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_e", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_t", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_tac", + "projection_inverse_FStar.Reflection.V2.Data.Tv_AscribedT_use_eq", + "projection_inverse_FStar.Reflection.V2.Data.Tv_BVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Const__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_body", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_def", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Let_recf", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_brs", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_ret", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Match_scrutinee", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_b", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Refine_ref", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Type__0", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_us", + "projection_inverse_FStar.Reflection.V2.Data.Tv_UInst_v", + "projection_inverse_FStar.Reflection.V2.Data.Tv_Var_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "token_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.Typing.ln_", + "typing_FStar.Reflection.Typing.shift_subst", + "typing_FStar.Reflection.Typing.tun", + "typing_FStar.Reflection.V2.Builtins.inspect_ln", + "typing_FStar.Reflection.V2.Builtins.pack_ln", "unit_inversion", + "unit_typing" + ], + 0, + "709e0fad3df1f8495f3eb0216e919801" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.pack_inspect_binder", + "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "typing_FStar.Reflection.Typing.ln__binder", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" + ], + 0, + "2bd741b9766cebf577090048a9ec8e44" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Reflection.V2.Data.C_Eff", + "constructor_distinct_FStar.Reflection.V2.Data.C_GTotal", + "constructor_distinct_FStar.Reflection.V2.Data.C_Lemma", + "constructor_distinct_FStar.Reflection.V2.Data.C_Total", + "constructor_distinct_Tm_unit", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Reflection.Typing.pack_inspect_comp", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_decrs", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_args", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_eff_name", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_result", + "projection_inverse_FStar.Reflection.V2.Data.C_Eff_us", + "projection_inverse_FStar.Reflection.V2.Data.C_GTotal_ret", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__0", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__1", + "projection_inverse_FStar.Reflection.V2.Data.C_Lemma__2", + "projection_inverse_FStar.Reflection.V2.Data.C_Total_ret", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "typing_FStar.Reflection.Typing.ln__comp", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" + ], + 0, + "c879abe86871170982f46a94bff11616" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 4, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_terms.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@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", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__terms.fuel_instrumented", + "typing_FStar.Reflection.Typing.ln__terms" + ], + 0, + "4757458d92b08cb61e04d607178c2a63" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 5, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_binder.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_comp.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Inl", + "constructor_distinct_FStar.Pervasives.Inr", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Typing.shift_subst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__match_returns.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_match_returns.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.either", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Inl_a", + "projection_inverse_FStar.Pervasives.Inl_b", + "projection_inverse_FStar.Pervasives.Inl_v", + "projection_inverse_FStar.Pervasives.Inr_a", + "projection_inverse_FStar.Pervasives.Inr_b", + "projection_inverse_FStar.Pervasives.Inr_v", + "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", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__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_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_FStar.Pervasives.Inl", + "subterm_ordering_FStar.Pervasives.Inr", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple3", + "subterm_ordering_FStar.Pervasives.Native.Some", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__binder.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__comp.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Reflection.Typing.ln__match_returns", + "typing_FStar.Reflection.Typing.shift_subst" + ], + 0, + "724df25a37402f9b764b7a4286492d3c" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 6, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__branch.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "binder_x_83efb4a812f8549f739254a861a96c05_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branches.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@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", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__branches.fuel_instrumented", + "typing_FStar.Reflection.Typing.ln__branches" + ], + 0, + "bb2d9271bde0286dd1a2c0f0eee93c1a" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 7, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.argv", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_args.fuel_instrumented", + "int_inversion", "kinding_FStar.Reflection.Typing.subst_elt@tok", + "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_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__args.fuel_instrumented", + "typing_FStar.Reflection.Typing.ln__args" + ], + 0, + "0ea0d7ac6dc5e3813ad94d54039ccb75" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 8, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", + "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "binder_x_5490d5191129a35701d26698958bb478_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", + "equation_FStar.Reflection.V2.Data.branch", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_branch.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.Typing.shift_subst_n", + "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "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.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__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_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.ln__branch" + ], + 0, + "db4a0d2e999ae72ad6279adc5113a248" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 9, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", + "@query", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Cons", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Constant", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Dot_Term", + "constructor_distinct_FStar.Reflection.V2.Data.Pat_Var", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.nat", + "equation_with_fuel_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "lemma_FStar.Pervasives.invertOption", + "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_FStar.Reflection.V2.Data.Pat_Cons_head", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_subpats", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Cons_univs", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Constant_c", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_ppname", + "projection_inverse_FStar.Reflection.V2.Data.Pat_Var_sort", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term", + "typing_FStar.Reflection.Typing.ln_", + "typing_FStar.Reflection.V2.Data.uu___is_Pat_Constant", + "unit_inversion", "unit_typing" + ], + 0, + "229cd3ae217cbeac838e790fbd51d324" + ], + [ + "FStar.Reflection.Typing.open_with_gt_ln", + 10, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "@query", + "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", + "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", + "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", + "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", + "constructor_distinct_FStar.Reflection.Typing.DT", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_typing_intro_FStar.Reflection.Typing.DT@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.Typing.shift_subst_elt", + "equation_FStar.Reflection.Typing.shift_subst_n", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", + "function_token_typing_FStar.Reflection.Typing.shift_subst_n", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "kinding_FStar.Reflection.Typing.subst_elt@tok", + "kinding_FStar.Reflection.V2.Data.pattern@tok", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Reflection.Typing.DT__0", + "projection_inverse_FStar.Reflection.Typing.DT__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_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.map", + "token_correspondence_FStar.Reflection.Typing.ln__pattern.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.ln__patterns.fuel_instrumented", + "token_correspondence_FStar.Reflection.Typing.shift_subst_elt", + "token_correspondence_FStar.Reflection.Typing.shift_subst_n", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Reflection.Typing.binder_offset_pattern", + "typing_FStar.Reflection.Typing.ln__patterns" ], 0, - "91c0c894d022afbcd740e67bb4352293" + "710d603a16404dc564d0343f306d9542" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.Typing.fsti.hints b/ulib/.cache/FStar.Reflection.Typing.fsti.hints index 3b1597484d0..c637f63a322 100644 --- a/ulib/.cache/FStar.Reflection.Typing.fsti.hints +++ b/ulib/.cache/FStar.Reflection.Typing.fsti.hints @@ -1,5 +1,5 @@ [ - "nð¦°\u0015öÞ×9\u001b'ÂÒ±Ëú", + "I\u0004¸\u0000\u001aÜ%êµVÊL¹!eQ", [ [ "FStar.Reflection.Typing.mk_binder", @@ -10,55 +10,214 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "70904c1637215d4ab8bef1d810652f40" + "741e7e2717205440a4b971e904e8c635" ], [ - "FStar.Reflection.Typing.__proj__OpenWith__item___0", + "FStar.Reflection.Typing.mk_simple_binder", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0982b6d5db185c80fc573ac7bd007412" + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Reflection.Typing.pp_name_t", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "lemma_FStar.Reflection.Typing.inspect_pack_binder", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "lemma_FStar.Sealed.Inhabited.sealed_singleton", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_typing", "true_interp" + ], + 0, + "9dbfbb4d85ae43cb39364070dcc9ea7f" + ], + [ + "FStar.Reflection.Typing.extend_env", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "f6b5c68216550f6306edf2f952dd4224" + "2108c731fea6f50c4d712a0921ae5f34" ], [ - "FStar.Reflection.Typing.__proj__CloseVar__item___0", + "FStar.Reflection.Typing.__proj__DT__item___0", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a02ae4e772eb7d458c4d4087a0fde7c3" + "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" ], 0, - "7d74e714b9f76e1a78e6192694ba75b2" + "e069121bba3c110f01acdae358c41960" ], [ - "FStar.Reflection.Typing.__proj__Rename__item___0", + "FStar.Reflection.Typing.__proj__DT__item___1", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de66a466f01d2c19b4409c3b6c377e51" + "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" ], 0, - "2a57aa4ee130950fecdccbacd2ec83cb" + "01f1f084cea10e78254f7eb1c336cf57" ], [ - "FStar.Reflection.Typing.__proj__Rename__item___1", + "FStar.Reflection.Typing.__proj__NT__item___0", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de66a466f01d2c19b4409c3b6c377e51" + "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" ], 0, - "69a003501a3d543985b2890f798e05c7" + "00c238de897f63397e0e507534b82bd1" + ], + [ + "FStar.Reflection.Typing.__proj__NT__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" + ], + 0, + "f5f27a0e2f751a822449499574822ab4" + ], + [ + "FStar.Reflection.Typing.__proj__ND__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" + ], + 0, + "9ac793b22822668c3966b1303b123a8b" + ], + [ + "FStar.Reflection.Typing.__proj__ND__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" + ], + 0, + "db11eea85f96b988500235d0be0b3333" + ], + [ + "FStar.Reflection.Typing.shift_subst_elt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.Typing.DT", + "disc_equation_FStar.Reflection.Typing.ND", + "disc_equation_FStar.Reflection.Typing.NT", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Reflection.Typing.subst_elt", + "int_inversion", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" + ], + 0, + "0594f46c33723d9f3ba890aa56abd5c2" + ], + [ + "FStar.Reflection.Typing.find_matching_subst_elt_bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.subst", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_Prims.Cons" + ], + 0, + "a9cd1eb32e7abe2352999bcdafec8321" + ], + [ + "FStar.Reflection.Typing.subst_db", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term" + ], + 0, + "29d494883a81dc66fcee4279216caebf" + ], + [ + "FStar.Reflection.Typing.find_matching_subst_elt_var", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_397fe7c4a78e1ff89a217f78a78d0167_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.subst", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" + ], + 0, + "6a29d873530638c8c426a26e91320bde" + ], + [ + "FStar.Reflection.Typing.subst_var", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Reflection.Typing.maybe_uniq_of_term", + "equation_FStar.Reflection.V2.Data.var", "equation_Prims.nat", + "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Reflection.Typing.maybe_uniq_of_term" + ], + 0, + "ae1af099972de3af55ecb01c40a678f7" ], [ "FStar.Reflection.Typing.make_bv", @@ -69,7 +228,7 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "1243b325599648fb3093077b713e93ac" + "c0b5ef37d7be7f301563297119cd2d79" ], [ "FStar.Reflection.Typing.make_bv_with_name", @@ -80,7 +239,40 @@ "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" ], 0, - "fa7757c97705e4d35245a1fcf5d04993" + "59bb45bda7c02b79bc4dfc7f2ed0a254" + ], + [ + "FStar.Reflection.Typing.make_namedv", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "a4594a9067a9be3d74baf89f68c5a394" + ], + [ + "FStar.Reflection.Typing.make_namedv_with_name", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "0d12eca0792cf035841ad0cdaee88256" + ], + [ + "FStar.Reflection.Typing.var_as_namedv", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "e93a188b2e56296062ebd9e03f4147b9" ], [ "FStar.Reflection.Typing.binder_offset_patterns", @@ -89,7 +281,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", @@ -100,7 +292,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "f13f9865644d7cf829de25a4b3f76210" + "663bfaa8e502303c5fcf640b4d6d9426" ], [ "FStar.Reflection.Typing.binder_offset_patterns", @@ -109,162 +301,127 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons" ], 0, - "48d857930af1b69f86cea599000fc6bc" + "ef0fe953a4bef55446e6af2f7fed6cc5" ], [ - "FStar.Reflection.Typing.open_or_close_term'", + "FStar.Reflection.Typing.subst_term", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_533bf3ef86a910ea5007104587667f43_1", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "disc_equation_FStar.Reflection.Typing.CloseVar", - "disc_equation_FStar.Reflection.Typing.OpenWith", - "disc_equation_FStar.Reflection.Typing.Rename", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Data.var", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_FStar.Reflection.Typing.maybe_index_of_term", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", - "fuel_guarded_inversion_FStar.Reflection.Typing.open_or_close", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln", - "typing_FStar.Reflection.Typing.maybe_index_of_term" + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "16c213ae4dca35b2e022476e8d2deed3" + "04f82cd0108b4083c5813626491225f5" ], [ - "FStar.Reflection.Typing.open_or_close_term'", + "FStar.Reflection.Typing.subst_term", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "2d6de882b69597f80a3952367db8ace4" - ], - [ - "FStar.Reflection.Typing.open_or_close_term'", - 3, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "63b44c6a2a4a9f357ea0cabc25be2716" + "2d05cf056954915c873a36cecd46e6ef" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 4, + "FStar.Reflection.Typing.subst_term", + 3, 2, 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "a3da7c5531178947008b76362d0bb12b" + "c7c1c3801562c31030d89a60c006c263" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 5, + "FStar.Reflection.Typing.subst_term", + 4, 2, 1, [ @@ -275,135 +432,116 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "fdcbb1ea46724ce0b46d5a2822ce6143" + "e7e57679033ec61ca8ade41f606a1093" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 6, + "FStar.Reflection.Typing.subst_term", + 5, 2, 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.argv", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "df3780557d3f0eb2e0b5a92ad03d3f7a" + "e69faa8c6db91aa0ffef8de8cac7a617" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 7, + "FStar.Reflection.Typing.subst_term", + 6, 2, 2, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@query", "binder_x_1210f79d28de3b37e209c686194f1e91_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "@MaxIFuel_assumption", "@query", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_FStar.Reflection.Typing.binder_offset_pattern" + "subterm_ordering_Prims.Cons" ], 0, - "234de57702c9e988690781449ca1652a" + "12c168e135f5c0e806a893f7c45caac6" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 8, + "FStar.Reflection.Typing.subst_term", + 7, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "function_token_typing_FStar.Reflection.Types.term", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "342e47e552767b82d58e00c4f83b143a" + "2d1e49c231cf6c6fe6b6628a96cae09a" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 9, + "FStar.Reflection.Typing.subst_term", + 8, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.binder_offset_pattern.fuel_instrumented", - "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_FStar.Reflection.Typing.binder_offset_pattern" + "@MaxIFuel_assumption", "@query", + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "e18da02269074c47be3eecf8b8147fb7" + "08d2186955ab3434e328f081ad9b36ee" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 10, + "FStar.Reflection.Typing.subst_term", + 9, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ca1a9343eb6c82c37985c634c9442f81" + "52b2fad7caa31d04e5848557d35640d2" ], [ - "FStar.Reflection.Typing.open_or_close_term'", - 11, + "FStar.Reflection.Typing.subst_term", + 10, 2, 2, [ "@MaxIFuel_assumption", "@query", "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_FStar.Reflection.Types.term", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pervasives.Inl", "subterm_ordering_FStar.Pervasives.Inr", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", @@ -411,7 +549,18 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "40be204ae16cf9902f377f0b7eaebd33" + "e1b2832b98301b05efc3e2c36446a34b" + ], + [ + "FStar.Reflection.Typing.b2t_ty", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" + ], + 0, + "388cb8c851c9c4c3587449a0f7c07d84" ], [ "FStar.Reflection.Typing.freevars", @@ -420,51 +569,62 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "data_elim_FStar.Reflection.Data.Tv_App", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", + "data_elim_FStar.Reflection.V2.Data.Tv_App", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.Typing.binder_sort", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln" + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "ea5a979e9fd22f9a34e4635d16cac257" + "e4f2f14b1b793a93d6c617d41ec0fb6b" ], [ "FStar.Reflection.Typing.freevars", @@ -479,7 +639,7 @@ "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "c08af50337465c757d391a5780f47e9d" + "831ca0e972bad7f46c43814c21f00774" ], [ "FStar.Reflection.Typing.freevars", @@ -490,22 +650,22 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "486aae8601d7c70a7f50c23935be383f" + "bd1981b7f923411e5c0489bc3631845d" ], [ "FStar.Reflection.Typing.freevars", @@ -514,19 +674,19 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.argv", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "65ba34032d2250d5ef6ae2be213383a2" + "159306c06ee6e587e5e0502598384b65" ], [ "FStar.Reflection.Typing.freevars", @@ -541,77 +701,56 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "a7edfba8489d26e69b139a0ac1126f11" + "0faf61ba7ee9e5e26603951cb883ebc4" ], [ "FStar.Reflection.Typing.freevars", 6, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" - ], - 0, - "03321809c7104555e775a0593096d180" - ], - [ - "FStar.Reflection.Typing.freevars", - 7, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "8e4c648f28f1c19550a01c938be8c5ef" + "58d61ed127b99591b602e31e88a40faf" ], [ "FStar.Reflection.Typing.freevars", - 8, + 7, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "6301451c35f460573a8be927f320fe64" + "71468d2324de950c6ef8acf2509c5d08" ], [ "FStar.Reflection.Typing.freevars", - 9, + 8, 2, 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", @@ -619,41 +758,41 @@ "subterm_ordering_Prims.Cons" ], 0, - "89f48da4f97bbff29e44dc2754550efc" + "bc611fa61bf98b3b1fb559b535f52925" ], [ "FStar.Reflection.Typing.freevars", - 10, + 9, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "22fc0c7971768b694643c1f8b78af773" + "a21f33303fe07351399b577411576b94" ], [ "FStar.Reflection.Typing.freevars", - 11, + 10, 2, 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "93077549e50f19d6a875e52f44fc62cb" + "af3c387061247e10a81e33368ddcea6e" ], [ "FStar.Reflection.Typing.freevars", - 12, + 11, 2, 2, [ @@ -671,412 +810,374 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple3" ], 0, - "b13ffd832d56863eee5fa2e6be095dd6" + "f6f3b069d765f92ecb551b4b3503005b" ], [ - "FStar.Reflection.Typing.apply_term_ctxt", + "FStar.Reflection.Typing.ln'", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_abs_binder", - "disc_equation_FStar.Reflection.Typing.Ctxt_abs_body", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", - "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_binder", - "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_comp", - "disc_equation_FStar.Reflection.Typing.Ctxt_hole", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_body", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_bv", - "disc_equation_FStar.Reflection.Typing.Ctxt_let_def", - "disc_equation_FStar.Reflection.Typing.Ctxt_match_scrutinee", - "disc_equation_FStar.Reflection.Typing.Ctxt_refine_bv", - "disc_equation_FStar.Reflection.Typing.Ctxt_refine_ref", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "fuel_guarded_inversion_FStar.Reflection.Typing.term_ctxt", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "data_elim_FStar.Reflection.V2.Data.Tv_App", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", + "equation_FStar.Reflection.V2.Data.simple_binder", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "function_token_typing_FStar.Reflection.Types.match_returns_ascription", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_binder", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_body", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_arg", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_binder", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_comp", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_body", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_bv", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_def", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_match_scrutinee", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_bv", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_ref", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "cce41eba20f05ccdb18cce6ee1aa1bbe" + "68a862fe65ab11435d7c9a92854cc417" ], [ - "FStar.Reflection.Typing.apply_term_ctxt", + "FStar.Reflection.Typing.ln'", 2, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "FStar.Reflection.Typing_pretyping_7923301121c5178ff01556c323780a49", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_7923301121c5178ff01556c323780a49_0", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "equation_FStar.Sealed.Inhabited.is_sealed", "string_typing", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_bv", "true_interp", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "9895fb67b7d8e943031523c82fab49de" + "db18eb4744713e771e7b9357454821eb" ], [ - "FStar.Reflection.Typing.apply_term_ctxt", + "FStar.Reflection.Typing.ln'", 3, 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_10e02ccbffae537ece51d36c11cfe3fe_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_binder" - ], - 0, - "73d9c673b97ee5d614e0de426de10cb5" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 4, 2, - 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "FStar.Reflection.Typing_pretyping_e1d15572bfdeae94edf473a032c83ad6", - "binder_x_e1d15572bfdeae94edf473a032c83ad6_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_gtotal", - "disc_equation_FStar.Reflection.Typing.Ctxt_total", - "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", - "fuel_guarded_inversion_FStar.Reflection.Typing.comp_ctxt", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "binder_x_5e6b41a750bd7aa4071f48df725e7670_0", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V2.Data.argv", + "fuel_guarded_inversion_Prims.list", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_gtotal", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_total", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons" ], 0, - "42be1279939d5661173ec8b679101689" + "ba055cf7f239b3295beaeccc58b82f14" ], [ - "FStar.Reflection.Typing.typing", - 1, + "FStar.Reflection.Typing.ln'", + 4, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c0be68d7971a3e6e4f5dbe4625dd8002" + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" ], 0, - "b59914a5f6287a3e17e7c26f925dde91" + "576b0e246faefdc9ba64d8fcea268cf5" ], [ - "FStar.Reflection.Typing.typing", - 2, + "FStar.Reflection.Typing.ln'", + 5, 2, 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c659e35547b336b0e3d5d213eaa6eb46" + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "4b7149aa9344a517876fb0415272ce3b" + "83b4d59da515331dde9658b026f0a04b" ], [ - "FStar.Reflection.Typing.typing", - 3, + "FStar.Reflection.Typing.ln'", + 6, 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_794dbde7f09e185fa2484cffba288b2e" - ], - 0, - "367ab7284889e3cf5a906d768fc9326c" - ], - [ - "FStar.Reflection.Typing.extend_env_l", - 1, 2, - 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "binder_x_b57262eead998d474939c05a17e1ffab_0", - "binder_x_cd3380f97314e714434067f9210b93f6_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.bindings", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + "binder_x_a6ee9ae239d772ed9afa43947240deaa_0", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_Prims.Cons" ], 0, - "c089e24e28c4edaef73aeef5eb145a17" + "290125eb64de5bedc0930cdb15a1216c" ], [ "FStar.Reflection.Typing.ln'", - 1, - 2, + 7, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_8632d594431d6c78cb2dd50457d25394_0", - "data_elim_FStar.Reflection.Data.Tv_App", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "equation_FStar.Reflection.Data.argv", - "equation_FStar.Reflection.Data.branch", - "equation_FStar.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", - "function_token_typing_FStar.Reflection.Types.match_returns_ascription", + "FStar.Reflection.V2.Data_pretyping_67cb0ad3a62c28bae5241fc21b2afc48", + "binder_x_67cb0ad3a62c28bae5241fc21b2afc48_0", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "function_token_typing_FStar.Reflection.Types.term", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Tv_Abs", - "subterm_ordering_FStar.Reflection.Data.Tv_App", - "subterm_ordering_FStar.Reflection.Data.Tv_Arrow", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedC", - "subterm_ordering_FStar.Reflection.Data.Tv_AscribedT", - "subterm_ordering_FStar.Reflection.Data.Tv_Let", - "subterm_ordering_FStar.Reflection.Data.Tv_Match", - "subterm_ordering_FStar.Reflection.Data.Tv_Refine", - "typing_FStar.Reflection.Builtins.inspect_ln" + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Cons", + "subterm_ordering_FStar.Reflection.V2.Data.Pat_Dot_Term" ], 0, - "2a10d47388fa4ee5e8fab56bbcbbfc82" + "5fddeed5a35bcaab437149b87da308b7" ], [ "FStar.Reflection.Typing.ln'", + 8, 2, - 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "equation_FStar.Reflection.Data.argv", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "subterm_ordering_FStar.Reflection.Data.C_Eff", - "subterm_ordering_FStar.Reflection.Data.C_GTotal", - "subterm_ordering_FStar.Reflection.Data.C_Lemma", - "subterm_ordering_FStar.Reflection.Data.C_Total", - "typing_FStar.Reflection.Builtins.inspect_comp" + "binder_x_5490d5191129a35701d26698958bb478_0", + "equation_FStar.Reflection.V2.Data.branch", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "21ac92f7941e564884f83078c194e2a9" + "f6fef54399d2323d787b00edfaf05482" ], [ "FStar.Reflection.Typing.ln'", - 3, - 2, + 9, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", - "binder_x_0d0fc60574ad20bdbe0523f80130447e_0", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", + "binder_x_83efb4a812f8549f739254a861a96c05_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.argv", + "equation_FStar.Reflection.V2.Data.branch", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons" + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "8bb154041ed7582099df6b716e1a2f75" + "2a2341442324f5fa72445c19678aa4b3" ], [ "FStar.Reflection.Typing.ln'", - 4, + 10, 2, 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_ee3d6a79e269959c6dd27ecd9eb693ff", - "binder_x_ee3d6a79e269959c6dd27ecd9eb693ff_0", - "fuel_guarded_inversion_FStar.Reflection.Data.bv_view", - "proj_equation_FStar.Reflection.Data.Mkbv_view_bv_sort", - "refinement_interpretation_Tm_refine_1c105ef4c922434275579d1494f2ce16", - "subterm_ordering_FStar.Reflection.Data.Mkbv_view", - "typing_FStar.Reflection.Builtins.inspect_bv" + "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Reflection.Types.match_returns_ascription", + "fuel_guarded_inversion_FStar.Pervasives.either", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Pervasives.Inl", + "subterm_ordering_FStar.Pervasives.Inr", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "subterm_ordering_FStar.Pervasives.Native.Mktuple3", + "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "01725ac5a38aa5c1216925f9000a5920" + "64b4602409f84d12de35f2a2d8e623d0" ], [ - "FStar.Reflection.Typing.ln'", - 5, - 2, + "FStar.Reflection.Typing.apply_term_ctxt", + 1, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", - "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", - "fuel_guarded_inversion_FStar.Reflection.Data.binder_view", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_attrs", - "proj_equation_FStar.Reflection.Data.Mkbinder_view_binder_bv", - "refinement_interpretation_Tm_refine_7d950a3ed1bb658ecb1aacea05b4b552", - "subterm_ordering_FStar.Reflection.Data.Mkbinder_view", - "typing_FStar.Reflection.Builtins.inspect_binder" + "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", + "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", + "disc_equation_FStar.Reflection.Typing.Ctxt_abs_binder", + "disc_equation_FStar.Reflection.Typing.Ctxt_abs_body", + "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", + "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", + "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_binder", + "disc_equation_FStar.Reflection.Typing.Ctxt_arrow_comp", + "disc_equation_FStar.Reflection.Typing.Ctxt_hole", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_body", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_bv", + "disc_equation_FStar.Reflection.Typing.Ctxt_let_def", + "disc_equation_FStar.Reflection.Typing.Ctxt_match_scrutinee", + "disc_equation_FStar.Reflection.Typing.Ctxt_refine_bv", + "disc_equation_FStar.Reflection.Typing.Ctxt_refine_ref", + "equality_tok_FStar.Reflection.Typing.Ctxt_hole@tok", + "fuel_guarded_inversion_FStar.Reflection.Typing.term_ctxt", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_binder", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_abs_body", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_arg", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_binder", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_arrow_comp", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_body", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_bv", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_let_def", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_match_scrutinee", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_bv", + "subterm_ordering_FStar.Reflection.Typing.Ctxt_refine_ref", + "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" ], 0, - "c8f1ec3afacc03e490858208fceebf97" + "f1232a855d9a0a2cf573caf128856503" ], [ - "FStar.Reflection.Typing.ln'", - 6, - 2, + "FStar.Reflection.Typing.mk_comp", + 1, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + "disc_equation_FStar.Tactics.Types.E_Ghost", + "disc_equation_FStar.Tactics.Types.E_Total", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.Typing.comp_typ", + "fuel_guarded_inversion_FStar.Tactics.Types.tot_or_ghost", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Tactics.Types.tot_or_ghost@tok", + "projection_inverse_BoxBool_proj_0", + "typing_FStar.Pervasives.Native.fst" ], 0, - "2b2cbf64852ba10cd8d7961144f28136" + "ddf726465257165edfd4102bb2a67e26" ], [ - "FStar.Reflection.Typing.ln'", - 7, - 2, + "FStar.Reflection.Typing.is_non_informative_name", + 1, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_1210f79d28de3b37e209c686194f1e91_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons" + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" ], 0, - "49f0b9d1054661e53ff388a1a1c8c83b" + "2a152d0ab9f6b1666b959887a08e9808" ], [ - "FStar.Reflection.Typing.ln'", - 8, - 2, + "FStar.Reflection.Typing.typing", + 1, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_b13b8ae97d6287e20f30cbcd87e50a3a", - "binder_x_b13b8ae97d6287e20f30cbcd87e50a3a_0", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Reflection.Data.Pat_Cons", - "subterm_ordering_FStar.Reflection.Data.Pat_Dot_Term", - "subterm_ordering_FStar.Reflection.Data.Pat_Var", - "subterm_ordering_FStar.Reflection.Data.Pat_Wild" + "refinement_interpretation_Tm_refine_c0be68d7971a3e6e4f5dbe4625dd8002" ], 0, - "0a35604d9eff168c7a7ace186c7678f5" + "1cd32998ff2190cf1494873fd0557cc1" ], [ - "FStar.Reflection.Typing.ln'", - 9, + "FStar.Reflection.Typing.typing", 2, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c403923547050b963fd85a165f764bab_0", - "equation_FStar.Reflection.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + "refinement_interpretation_Tm_refine_c659e35547b336b0e3d5d213eaa6eb46" ], 0, - "bc08099bad2451565d4e1c58762483ad" + "24caedc63c921cd86c1b884e59ab080e" ], [ - "FStar.Reflection.Typing.ln'", - 10, - 2, + "FStar.Reflection.Typing.typing", + 3, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_2231f919805405ad1b9734087e4371bb_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + "refinement_interpretation_Tm_refine_22ac1eff8b8271b7b57d7d4addc7435f" ], 0, - "deeaa2ddc7d2f44ffb2b5ef53b3b2537" + "23fa2f7bdba29082c6a66b7ce1ebe250" ], [ - "FStar.Reflection.Typing.ln'", - 11, - 2, + "FStar.Reflection.Typing.extend_env_l", + 1, 2, + 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_8c6d9d286e8502e3174e0d1fbb443edb_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Inl", - "subterm_ordering_FStar.Pervasives.Inr", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple3", - "subterm_ordering_FStar.Pervasives.Native.Some" + "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "binder_x_b57262eead998d474939c05a17e1ffab_0", + "binder_x_cd3380f97314e714434067f9210b93f6_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Typing.bindings", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "6ec7ae1abfe24b208aff415f11324224" + "cd3ef83b79103688e581c4a55140dc33" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Builtins.fsti.hints b/ulib/.cache/FStar.Reflection.V1.Builtins.fsti.hints new file mode 100644 index 00000000000..02227779472 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Builtins.fsti.hints @@ -0,0 +1 @@ +[ "ðÖ%)òdÍÅáG=\u0015á‹ëB", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Compare.fst.hints b/ulib/.cache/FStar.Reflection.V1.Compare.fst.hints new file mode 100644 index 00000000000..09ac8b71025 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Compare.fst.hints @@ -0,0 +1,177 @@ +[ + "EÅè¹D“c$ƒE×\u0005áö\u0005ý", + [ + [ + "FStar.Reflection.V1.Compare.compare_const", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V1.Data.C_False", + "disc_equation_FStar.Reflection.V1.Data.C_Int", + "disc_equation_FStar.Reflection.V1.Data.C_Range", + "disc_equation_FStar.Reflection.V1.Data.C_Reflect", + "disc_equation_FStar.Reflection.V1.Data.C_Reify", + "disc_equation_FStar.Reflection.V1.Data.C_String", + "disc_equation_FStar.Reflection.V1.Data.C_True", + "disc_equation_FStar.Reflection.V1.Data.C_Unit", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.vconst", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + ], + 0, + "ebef7663f239f41d4327af2f55a4c79d" + ], + [ + "FStar.Reflection.V1.Compare.compare_universe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "FStar.Reflection.V1.Data_pretyping_438504b6f97ced328f3e3a3ae4a8f57f", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_0", + "data_typing_intro_FStar.Reflection.V1.Data.Uv_Unk@tok", + "disc_equation_FStar.Reflection.V1.Data.Uv_BVar", + "disc_equation_FStar.Reflection.V1.Data.Uv_Max", + "disc_equation_FStar.Reflection.V1.Data.Uv_Name", + "disc_equation_FStar.Reflection.V1.Data.Uv_Succ", + "disc_equation_FStar.Reflection.V1.Data.Uv_Unif", + "disc_equation_FStar.Reflection.V1.Data.Uv_Unk", + "disc_equation_FStar.Reflection.V1.Data.Uv_Zero", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.universe_view", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Reflection.V1.Data.Uv_Succ__0", + "refinement_interpretation_Tm_refine_03d2d714a6c1dbc9f851e5b9a0f366e8", + "refinement_interpretation_Tm_refine_e67163bc840c73ee523c9f1276ad9f69", + "subterm_ordering_FStar.Reflection.V1.Data.Uv_Max", + "subterm_ordering_FStar.Reflection.V1.Data.Uv_Succ", + "typing_FStar.Reflection.V1.Builtins.inspect_universe" + ], + 0, + "c7b877b19179d6570cca13c1b58272d8" + ], + [ + "FStar.Reflection.V1.Compare.compare_term", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V1.Data.Tv_App", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V1.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Const", + "disc_equation_FStar.Reflection.V1.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Let", + "disc_equation_FStar.Reflection.V1.Data.Tv_Match", + "disc_equation_FStar.Reflection.V1.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V1.Data.Tv_Type", + "disc_equation_FStar.Reflection.V1.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V1.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Var", + "equation_FStar.Reflection.V1.Data.argv", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "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.Reflection.V1.Data.Tv_AscribedT_tac", + "refinement_interpretation_Tm_refine_c93f906b176387caf8bd4c734339125f", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Refine", + "typing_FStar.Reflection.V1.Builtins.inspect_ln" + ], + 0, + "05446af2911ea981f48a35189ef6a79a" + ], + [ + "FStar.Reflection.V1.Compare.compare_term", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "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", + "subterm_ordering_Prims.Cons" + ], + 0, + "2444cd2165d2449c1e8d152227b9003c" + ], + [ + "FStar.Reflection.V1.Compare.compare_term", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_b2ccf0d7e121d6d430b3d91e53f7f2aa_0", + "equation_FStar.Reflection.V1.Data.argv", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "15444e749e3c66d1cb6fb1cbd2461a4c" + ], + [ + "FStar.Reflection.V1.Compare.compare_term", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", + "disc_equation_FStar.Reflection.V1.Data.C_Eff", + "disc_equation_FStar.Reflection.V1.Data.C_GTotal", + "disc_equation_FStar.Reflection.V1.Data.C_Lemma", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", + "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_d07a17fce4c7fc461beb3e8203b764ee", + "subterm_ordering_FStar.Reflection.V1.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V1.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V1.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V1.Data.C_Total", + "typing_FStar.Reflection.V1.Builtins.inspect_comp" + ], + 0, + "9ac0c9992b5e6c8d4784d0976fcee703" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Data.fsti.hints b/ulib/.cache/FStar.Reflection.V1.Data.fsti.hints new file mode 100644 index 00000000000..d483d4528aa --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Data.fsti.hints @@ -0,0 +1,955 @@ +[ + "òÌD)ž‰&\u000fU‘»>†qï ", + [ + [ + "FStar.Reflection.V1.Data.__proj__C_Int__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5faa3d085d6529796186d2f166ec3e3b" + ], + 0, + "8d755afc5c48d8fa19d5cebd416396af" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_String__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_20333e6843d20bb61911371ec2d163f9" + ], + 0, + "215c2e44a933f1ebe9ad897755166ec3" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Range__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b5d9cb8b96e7aa7e89d03554e19f54d1" + ], + 0, + "f00a0cc8c5330f83f7f4f9f7003359eb" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Reflect__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_af549649e5c395212daa7d7972b2fa6c" + ], + 0, + "2a5138cafd7cd95c763ca27ab95fbbec" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Constant__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_9d623f63121aabf00b7a6c2ed62a1c39" + ], + 0, + "eb45c50b754ee60fe27e11998f52952a" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Cons__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d37fd99d741f59e6859367a7115261d5" + ], + 0, + "4604ea6e074d382fd8157e79e3fd11ee" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Cons__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d37fd99d741f59e6859367a7115261d5" + ], + 0, + "9a47eb38404545009b13b06c5d435c9e" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Cons__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d37fd99d741f59e6859367a7115261d5" + ], + 0, + "c4fd3f0f584d30a23a899215ab33cb34" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Var__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b054274b17dabddd2297af2c70372aa5" + ], + 0, + "114f7bc9119c171ebeef553a1e7a34c4" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Var__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b054274b17dabddd2297af2c70372aa5" + ], + 0, + "b1ec76ae467af9bca53845bfac0d393f" + ], + [ + "FStar.Reflection.V1.Data.__proj__Pat_Dot_Term__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_32857d2ae27267a29cf8705f99948fe4" + ], + 0, + "8a8e87f6b36e9a765605c0c2b719e4d3" + ], + [ + "FStar.Reflection.V1.Data.__proj__Q_Meta__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c0becfe1087eb1a2e96cfe0e3f84488" + ], + 0, + "800890b356003445bd9f9bee4d666590" + ], + [ + "FStar.Reflection.V1.Data.__proj__Uv_Succ__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f469f8548f3b6e6c539e4a528c5a13fd" + ], + 0, + "e22a3f393e29483b0968332ebf29dcf6" + ], + [ + "FStar.Reflection.V1.Data.__proj__Uv_Max__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_673ba89f3ec96045465ef1c7bc1da526" + ], + 0, + "ecdec3d808721bb4b37d59625572a71a" + ], + [ + "FStar.Reflection.V1.Data.__proj__Uv_BVar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0bccbb9d82a71b03568292ca3b6e2e2c" + ], + 0, + "d704218a28a1eb7f86acd36bfac660d6" + ], + [ + "FStar.Reflection.V1.Data.__proj__Uv_Name__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cfa6fd28fe814f8756341be41995bc20" + ], + 0, + "ebff666cceea6acbcd4ed8daa5dcda21" + ], + [ + "FStar.Reflection.V1.Data.__proj__Uv_Unif__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_34e35b938cb965c3284c46d46fda950c" + ], + 0, + "b15a0f8cbd324eef4844907a218ab1e2" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Var__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ac7ab67a82b9d6a7f0756b15a2d8dbd9" + ], + 0, + "907d84ba397582086b7d9fe942453033" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_BVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f436b7d3d2f02c9267c5aabde2b87606" + ], + 0, + "5c39c482258d1217c472e8bca2155ebf" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_FVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f11656ac8d25912e4fb3284f32b71abd" + ], + 0, + "13496b96773def6317cc3f9ee434a082" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_UInst__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5acf95e7de71a6bcfb3b7a25dc7e50b3" + ], + 0, + "02b9bb96ee43ca8be62cd86bd9165b7c" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_UInst__item__us", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5acf95e7de71a6bcfb3b7a25dc7e50b3" + ], + 0, + "2eb486f8d07d1b8082d72760daeb413e" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_App__item__hd", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_563dd6c46b41527fa4608b62210fd6da" + ], + 0, + "b3f3a2996f19294dfbd9bd89e31cdb3c" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_App__item__a", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_563dd6c46b41527fa4608b62210fd6da" + ], + 0, + "d676014042f32a7c391fe821a91a74cb" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Abs__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_8c42fe35f460045606da623e72254641" + ], + 0, + "d6f8ac39d46c2eb354bfe766954b5487" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Abs__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_8c42fe35f460045606da623e72254641" + ], + 0, + "7aefdc1a856ae7f4fbb0171aba14190c" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Arrow__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5730fe8e56c39c65a07a73afc6ec4cda" + ], + 0, + "8dd6ab8c176273019b0af5135c2cdd43" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Arrow__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5730fe8e56c39c65a07a73afc6ec4cda" + ], + 0, + "06cbec55d4138b3cc23467899e2f9ee9" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Type__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_af4274e7d4358b25287142e54dd2febd" + ], + 0, + "d2b615a15fdb4a2cfb3916f16213641f" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Refine__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5ff4de323a387a73a7ab910fc7e00ae7" + ], + 0, + "74f4528c8db06c00f09089243aab00c1" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Refine__item__sort", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5ff4de323a387a73a7ab910fc7e00ae7" + ], + 0, + "9c694a84f237163c659e8ef746357457" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Refine__item__ref", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5ff4de323a387a73a7ab910fc7e00ae7" + ], + 0, + "40b446431541fa42af6ddab4ae6e67f3" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Const__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ab36f2c5a1987a868713af0740020802" + ], + 0, + "ab5e2b865bbca5c0e60c02fc2f27098f" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Uvar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_26389b868214dcf3205bbfb6d6a82044" + ], + 0, + "9bf77657f1250a30fd88d8b6d0f15859" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Uvar__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_26389b868214dcf3205bbfb6d6a82044" + ], + 0, + "fe84b0ce3cf88cbfea11d9ee2671de96" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__recf", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "51d572abbeda8e55abd7860242d16608" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__attrs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "5069a00b1a6fe1d427181aeaa935c57c" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "ab91a0d2bb7183ed308c773bd0b87629" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__ty", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "5a6d4ce11d8b4c8460dc2eb1b11452f5" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__def", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "28b9ba9eb61e75f9ce4edd5b245880fe" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Let__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aa3214956e95ba92710251de6ae8eee" + ], + 0, + "ae70e87187c273497972a5b465543e84" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Match__item__scrutinee", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_763a4b5b6214e1dd87a03c65beb109e1" + ], + 0, + "929965281f70d75e68122ef61c468e1d" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Match__item__ret", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_763a4b5b6214e1dd87a03c65beb109e1" + ], + 0, + "b9a58fc3fe4ee6b302f3f61eab921499" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_Match__item__brs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_763a4b5b6214e1dd87a03c65beb109e1" + ], + 0, + "ed35ad9a40f78df61b61d6da3ee50c9b" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedT__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0e4e467f2e7420d0a00c571d1b9f3c98" + ], + 0, + "8c7f136c501420345844f623a1f2183f" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedT__item__t", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0e4e467f2e7420d0a00c571d1b9f3c98" + ], + 0, + "b050c0c705ba37da7fc4648308c3c783" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedT__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0e4e467f2e7420d0a00c571d1b9f3c98" + ], + 0, + "813895292bbfccccff1205c6620faa5d" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedT__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0e4e467f2e7420d0a00c571d1b9f3c98" + ], + 0, + "ca6176b3bc5d47fb5ccc7db5333ac9c0" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedC__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c70e5cc7fa76b0c5fafcadb1c6760f00" + ], + 0, + "ce9b05276f76e7aeb74fc3da14613609" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedC__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c70e5cc7fa76b0c5fafcadb1c6760f00" + ], + 0, + "ea8439b6a400cf1a83ff5b3a2182ed73" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedC__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c70e5cc7fa76b0c5fafcadb1c6760f00" + ], + 0, + "695fa7e90fc0ff2d165a0b3a09e62735" + ], + [ + "FStar.Reflection.V1.Data.__proj__Tv_AscribedC__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c70e5cc7fa76b0c5fafcadb1c6760f00" + ], + 0, + "79b810f4987b8d080623d698766eb5fe" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Total__item__ret", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1da80b8d10b61c766ff8e467df7dd950" + ], + 0, + "bed77bc2401ab28cfd17dd67978d8781" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_GTotal__item__ret", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0620da020c821ec7e521a018dce18ac1" + ], + 0, + "c34a598bab63635cc2a238bce44ae22e" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Lemma__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e86623164f60a62649ddc84727261986" + ], + 0, + "87727e93a577a02db33ec26dd70bf815" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Lemma__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e86623164f60a62649ddc84727261986" + ], + 0, + "33ef7f31b3650ceb5a75521e9a33fac5" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Lemma__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e86623164f60a62649ddc84727261986" + ], + 0, + "56f4a5c1f2863869218a826baf6cd431" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Eff__item__us", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1a95e70a5bb3bd58904b1f905f8f614" + ], + 0, + "386afc84f9432da7814bfe76f6634663" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Eff__item__eff_name", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1a95e70a5bb3bd58904b1f905f8f614" + ], + 0, + "0d774f0275b5798ec19db741c0137d85" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Eff__item__result", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1a95e70a5bb3bd58904b1f905f8f614" + ], + 0, + "72f5d6d460061d12f57eab04d2e5d6f4" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Eff__item__eff_args", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1a95e70a5bb3bd58904b1f905f8f614" + ], + 0, + "542b7c6ef18274af98c8cbc228a715d5" + ], + [ + "FStar.Reflection.V1.Data.__proj__C_Eff__item__decrs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a1a95e70a5bb3bd58904b1f905f8f614" + ], + 0, + "14f189402e5a086299cb941f0f7303e3" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Let__item__r", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6823610c6506c42a7079b513145ff476" + ], + 0, + "b25c619a59ebb7b60a759a370118afb0" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Let__item__lbs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6823610c6506c42a7079b513145ff476" + ], + 0, + "b4ae7024a1212ea31b810c05ce256272" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Inductive__item__nm", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_53eda7b16bf0d76ac6387bfe75b9c989" + ], + 0, + "da4e5e13ff7f52abae108be8cf885c7c" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Inductive__item__univs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_53eda7b16bf0d76ac6387bfe75b9c989" + ], + 0, + "4cce92c3893e2b5fd4c67d2bde4833e2" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Inductive__item__params", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_53eda7b16bf0d76ac6387bfe75b9c989" + ], + 0, + "8ee3d9e2cbf46fafae79db0ad78e7f58" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Inductive__item__typ", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_53eda7b16bf0d76ac6387bfe75b9c989" + ], + 0, + "5dd86b9bee08e122687b1bc572ad90bc" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Inductive__item__cts", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_53eda7b16bf0d76ac6387bfe75b9c989" + ], + 0, + "89c03c04fcf04b4189e9fb54abdf4d99" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Val__item__nm", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_499901c8bdeb6207051525350960057b" + ], + 0, + "522c061418c1278bcaa374299b717d02" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Val__item__univs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_499901c8bdeb6207051525350960057b" + ], + 0, + "6dc0fa893b3bb96ec31e6d42c752ae2a" + ], + [ + "FStar.Reflection.V1.Data.__proj__Sg_Val__item__typ", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_499901c8bdeb6207051525350960057b" + ], + 0, + "d88e6d72a44cda72f66a46019db0d00d" + ], + [ + "FStar.Reflection.V1.Data.__proj__Reflectable__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c598b0fcb6018215b34a0a0f4175ab3f" + ], + 0, + "c8fb0dcb2c96049367a6e5106a05345e" + ], + [ + "FStar.Reflection.V1.Data.__proj__Discriminator__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f97eda6eaf064cc6a32252c6aeb9db00" + ], + 0, + "79ddc1fa76cca42e36a638d61ea7306e" + ], + [ + "FStar.Reflection.V1.Data.__proj__Projector__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0cb9146dcf278ad296f8fcd7574c46e6" + ], + 0, + "f73090dc72dcdfc4000ac50593caa799" + ], + [ + "FStar.Reflection.V1.Data.__proj__RecordType__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a4eb03973cc92f16348ebfcc38b2ccf6" + ], + 0, + "9ba7572d651e8d83a44000b2272b3b8f" + ], + [ + "FStar.Reflection.V1.Data.__proj__RecordConstructor__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_56d2fc442b33085f467ecf131b1ccb32" + ], + 0, + "50586731275c1952e95eb6eda60583c8" + ], + [ + "FStar.Reflection.V1.Data.__proj__Action__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5e24d81c8869a32e4083ec2aedc05d68" + ], + 0, + "8540728c8fdf55c2a5c5bccd40d7cbd9" + ], + [ + "FStar.Reflection.V1.Data.var", + 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, + "1bd082b4a061de37f46661ad874c9722" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Derived.Lemmas.fst.hints b/ulib/.cache/FStar.Reflection.V1.Derived.Lemmas.fst.hints new file mode 100644 index 00000000000..e3e92d1191d --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Derived.Lemmas.fst.hints @@ -0,0 +1,411 @@ +[ + "Âøï\bæ_[ W’9côè['", + [ + [ + "FStar.Reflection.V1.Derived.Lemmas.forall_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "d81fec50e172a6a2f8b1071b0dc9efd9" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.list_ref", + 1, + 2, + 1, + [ + "@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_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_or-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" + ], + 0, + "e00d8d6a0a2aab9503f05ff03b417191" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_app_order'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "@query", + "FStar.Reflection.V1.Data_pretyping_03b64131d3fd752335c1b26ebd92a4c0", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "binder_x_e6c68e7948a2246d59ca54c3fc10958c_0", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_App", + "constructor_distinct_Prims.Cons", + "data_typing_intro_FStar.Reflection.V1.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_App", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", "eq2-interp", + "equation_FStar.Reflection.V1.Data.argv", + "equation_FStar.Reflection.V1.Data.notAscription", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.V1.Data.argv", + "interpretation_Tm_abs_f6b7658173ec04b2f534e9cf5eecc662", + "l_or-interp", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V1.Data.Tv_App_hd", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "47dd75cade9dec2669c3e622acb8e6de" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_app_order", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "@query", + "FStar.Reflection.V1.Data_pretyping_03b64131d3fd752335c1b26ebd92a4c0", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_App", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.V1.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_App", "eq2-interp", + "equation_FStar.Reflection.V1.Data.argv", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_FStar.Reflection.V1.Derived.collect_app_ln", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_app_ln_.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "function_token_typing_FStar.Reflection.V1.Data.argv", + "interpretation_Tm_abs_85566c7c8df731c3a224cf2746a88be4", + "l_or-interp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.Tv_App_a", + "projection_inverse_FStar.Reflection.V1.Data.Tv_App_hd", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "593d219eaa0abe3a6d6724b863a06212" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_app_ref", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", + "FStar.Reflection.V1.Data_pretyping_03b64131d3fd752335c1b26ebd92a4c0", + "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.V1.Data.Q_Explicit@tok", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Reflection.V1.Data.argv", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.V1.Data.argv", + "interpretation_Tm_abs_2da18f1f2278925b52f2297c93e8b6d3", + "interpretation_Tm_abs_85566c7c8df731c3a224cf2746a88be4", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "a34fd53fc5fee0e9d02e5502f55092d1" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_abs_order'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_52c73f1537469f70e612a88f9f703f75_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_2", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_Abs", + "constructor_distinct_Prims.Cons", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", "eq2-interp", + "equation_FStar.Reflection.Types.binders", + "equation_FStar.Reflection.V1.Data.notAscription", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.binder", + "interpretation_Tm_abs_88db7430a1c3639d8496d12204015d2d", + "l_or-interp", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Abs_bv", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Abs", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "d802a93115af462fa2991d32f52ead20" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_abs_ln_order", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_Abs", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Abs", "eq2-interp", + "equation_FStar.List.Tot.Base.rev", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_FStar.Reflection.V1.Derived.collect_abs_ln", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_abs_.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.binder", + "interpretation_Tm_abs_a82480bae6989a45d8b80861ded2fdba", + "l_or-interp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Abs_body", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Abs_bv", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Abs", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "439d0e0f80f06f1b5ad739f643804be3" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_abs_ln_ref", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "constructor_distinct_Prims.Nil", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_FStar.Reflection.V1.Derived.collect_abs_ln", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "function_token_typing_FStar.Reflection.Types.binder", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_Prims.Nil_a" + ], + 0, + "a8d39af22c88db2604ab4400fc4725e9" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_arr_order'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_52c73f1537469f70e612a88f9f703f75_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_2", + "constructor_distinct_FStar.Reflection.V1.Data.C_Total", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_Arrow", + "constructor_distinct_Prims.Cons", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", "eq2-interp", + "equation_FStar.Reflection.Types.binders", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.V1.Data.notAscription", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.comp_view", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.binder", + "interpretation_Tm_abs_88db7430a1c3639d8496d12204015d2d", + "l_or-interp", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Arrow_c", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "subterm_ordering_FStar.Reflection.V1.Data.C_Total", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Arrow", + "typing_FStar.Reflection.V1.Builtins.inspect_comp", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", + "unit_inversion", "unit_typing" + ], + 0, + "9f491e9c25331da05e317eeb58d6eaff" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_arr_ln_bs_order", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", + "@fuel_correspondence_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "@fuel_irrelevance_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "constructor_distinct_FStar.Reflection.V1.Data.C_Total", + "constructor_distinct_FStar.Reflection.V1.Data.Tv_Arrow", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_typing_intro_FStar.Reflection.V1.Data.C_Total@tok", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", "eq2-interp", + "equation_FStar.List.Tot.Base.rev", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_FStar.Reflection.V1.Derived.collect_arr_ln_bs", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", + "equation_with_fuel_FStar.Reflection.V1.Derived.collect_arr_.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.binder", + "interpretation_Tm_abs_a82480bae6989a45d8b80861ded2fdba", + "l_or-interp", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V1.Data.C_Total_ret", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Arrow_bv", + "projection_inverse_FStar.Reflection.V1.Data.Tv_Arrow_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_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Arrow", + "typing_FStar.Reflection.V1.Builtins.pack_comp", + "typing_FStar.Reflection.V1.Derived.collect_arr_", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "d6a2d2375fd98903347c0a62e704c55d" + ], + [ + "FStar.Reflection.V1.Derived.Lemmas.collect_arr_ln_bs_ref", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "constructor_distinct_Prims.Nil", + "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", + "equation_FStar.Reflection.V1.Derived.collect_arr_ln_bs", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", + "function_token_typing_FStar.Reflection.Types.binder", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_Prims.Nil_a" + ], + 0, + "4a7f446f5cfa2aa9b6a6e79dad365fd7" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Derived.fst.hints b/ulib/.cache/FStar.Reflection.V1.Derived.fst.hints new file mode 100644 index 00000000000..9638bf93767 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Derived.fst.hints @@ -0,0 +1,302 @@ +[ + "¡\u000bÞ·\bô—‡54\tÿ)†‘Ý", + [ + [ + "FStar.Reflection.V1.Derived.inspect_ln_unascribe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "equation_FStar.Reflection.V1.Data.notAscription", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c93f906b176387caf8bd4c734339125f", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedT", + "typing_FStar.Reflection.V1.Builtins.inspect_ln" + ], + 0, + "d69c3d804a00f20b6d29d3db239465e9" + ], + [ + "FStar.Reflection.V1.Derived.flatten_name", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_20ccd379c93014ff7fe3312d7f024a43_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.Types.name", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "string_typing", + "subterm_ordering_Prims.Cons" + ], + 0, + "71e758089e8e599dc4f923879b934e67" + ], + [ + "FStar.Reflection.V1.Derived.collect_app_ln'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "aa2a93730ee0a532391340e49c5ad496" + ], + [ + "FStar.Reflection.V1.Derived.mk_app", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_e6c68e7948a2246d59ca54c3fc10958c_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V1.Data.argv", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "3076f49dbb2161a86e8ccbddbb290558" + ], + [ + "FStar.Reflection.V1.Derived.mk_tot_arr_ln", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_e5e1b3cb8778ee07449986a28fe7a42d_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "4bb8e47886fb04dd1b06bad2683d67dc" + ], + [ + "FStar.Reflection.V1.Derived.collect_arr'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Types.typ", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "subterm_ordering_FStar.Reflection.V1.Data.C_Total", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Arrow", + "typing_FStar.Reflection.V1.Builtins.inspect_comp", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "523b946dd0cc36ebdbcca987e9911fc8" + ], + [ + "FStar.Reflection.V1.Derived.collect_abs'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Abs", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "65d2b13f6bcf02e8c8f506f774668d84" + ], + [ + "FStar.Reflection.V1.Derived.mk_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "7254b7b03459f3afccb4bc2d96087c60" + ], + [ + "FStar.Reflection.V1.Derived.mktuple_n", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "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", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7fdc6e9b6bcce2335cfa1ed7e2262154", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "de173e0c507c39da73952b1e939f9e56" + ], + [ + "FStar.Reflection.V1.Derived.destruct_tuple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", + "function_token_typing_Prims.string", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "d6c77148288fd34b9eb876e355fc7882" + ], + [ + "FStar.Reflection.V1.Derived.mkpair", + 1, + 4, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "function_token_typing_FStar.Reflection.Types.term", + "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" + ], + 0, + "8509a3178b6b37af4448bb5b267d516c" + ], + [ + "FStar.Reflection.V1.Derived.head", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V1.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V1.Data.Tv_App", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V1.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Const", + "disc_equation_FStar.Reflection.V1.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Let", + "disc_equation_FStar.Reflection.V1.Data.Tv_Match", + "disc_equation_FStar.Reflection.V1.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V1.Data.Tv_Type", + "disc_equation_FStar.Reflection.V1.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V1.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Var", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c93f906b176387caf8bd4c734339125f", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Match", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_Refine", + "typing_FStar.Reflection.V1.Builtins.inspect_ln" + ], + 0, + "0ba2a0b59b3bbe2d2e94f8a5ebe26f38" + ], + [ + "FStar.Reflection.V1.Derived.is_any_fvar", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_dce109b66917edb1ca83b9408101b740_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.op_Equals_Equals_Equals", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "string_typing", + "subterm_ordering_Prims.Cons" + ], + 0, + "70816d5ae7d523cc04b96e3cfa87a81b" + ], + [ + "FStar.Reflection.V1.Derived.is_name_imp", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Data_pretyping_53a94627fd42faa96f3756b600d974bd", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", + "data_typing_intro_FStar.Reflection.V1.Data.Tv_Unknown@tok", + "equation_FStar.Reflection.Types.name", + "equation_Prims.op_Equals_Equals_Equals", + "refinement_interpretation_Tm_refine_085c4ea95342a684af62577a8dc2f275", + "subterm_ordering_FStar.Reflection.V1.Data.Tv_App", + "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe" + ], + 0, + "d7c846d63442b5aa91be3aa363fc1bc9" + ], + [ + "FStar.Reflection.V1.Derived.maybe_unsquash_term", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Reflection.V1.Derived.unsquash_term", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "typing_FStar.Reflection.V1.Derived.unsquash_term" + ], + 0, + "cf75af7a6585f80f2cf2451230041c82" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.Formula.fst.hints b/ulib/.cache/FStar.Reflection.V1.Formula.fst.hints new file mode 100644 index 00000000000..d9469c84880 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.Formula.fst.hints @@ -0,0 +1,467 @@ +[ + "PH~qLÕ\u0019­ùU\u0004\u0010’õù", + [ + [ + "FStar.Reflection.V1.Formula.inspect_unascribe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "equation_FStar.Reflection.V1.Data.notAscription", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "ceadcc88fa240fe9ab6a4d83c03de089" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Eq__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c159c2ab705109c5eede23ce60d1a1d5" + ], + 0, + "5e2d0b2a75fc55b8921d583a0a52c33a" + ], + [ + "FStar.Reflection.V1.Formula.__proj__BoolEq__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f9843a1e0fa842080a099df61098fe3c" + ], + 0, + "64a7edea9a2cd94fe4f0175bd1213314" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Comp__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" + ], + 0, + "63b44e9be2f1c4130e244697b202d2ae" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Comp__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" + ], + 0, + "874d7ae79d342dd3cf64194fbe59da67" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Comp__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" + ], + 0, + "a196d274bd721a6d55c79156c5fbee7a" + ], + [ + "FStar.Reflection.V1.Formula.__proj__And__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e221a3130787c7f22b540ea067f59738" + ], + 0, + "12d528afa9a13340307eaa1d16fb2400" + ], + [ + "FStar.Reflection.V1.Formula.__proj__And__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e221a3130787c7f22b540ea067f59738" + ], + 0, + "09353c3eb13b4342defd91956775bf9d" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Or__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c2d102001c6f5ad38d95df605da9a67b" + ], + 0, + "a7cc92dd5ab834cca28ddb9e2c906eca" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Or__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c2d102001c6f5ad38d95df605da9a67b" + ], + 0, + "e38e1de918e905e79494993456016aea" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Not__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eb67ccd9da6d95f8a9ac681ccb63960c" + ], + 0, + "1c88a08f9ffc4fb1c19d63b4629142d4" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Implies__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c306bcca85c3beec47ebb8a66e774d9c" + ], + 0, + "1c2abe215c98571e4c5015c3cdca71cc" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Implies__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c306bcca85c3beec47ebb8a66e774d9c" + ], + 0, + "1f803947ee4fb1fd29f68d0d7c50ca3f" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Iff__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ea7738e9570dbba9725e53927b8aa6fe" + ], + 0, + "0a6a6a3a6c230c81c03be32328469640" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Iff__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ea7738e9570dbba9725e53927b8aa6fe" + ], + 0, + "18b709c27734b0d578696760bb5078df" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Forall__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" + ], + 0, + "985b17b88e9c2e8e39b2cd3049917c64" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Forall__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" + ], + 0, + "958825bc76791043b43e05eb5d7d72d9" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Forall__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" + ], + 0, + "2a234fc143d61f9d21facd7ebe90b194" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Exists__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" + ], + 0, + "11e150e9b65605610a4ae9ab11965a79" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Exists__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" + ], + 0, + "4ba692b6f2eca281c8a2478236f36005" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Exists__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" + ], + 0, + "2320ddd49b76967ab2025c47f907293d" + ], + [ + "FStar.Reflection.V1.Formula.__proj__App__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1ee274dfd17f17e1ecf33125783660bc" + ], + 0, + "997daa28d9bf7ca6b9cc8cb0fc9f15f8" + ], + [ + "FStar.Reflection.V1.Formula.__proj__App__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1ee274dfd17f17e1ecf33125783660bc" + ], + 0, + "2fb26dc38436080cbf8df28cc7d096be" + ], + [ + "FStar.Reflection.V1.Formula.__proj__Name__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_8ef17d2316fd40ddbc4f231fee6853ea" + ], + 0, + "6dd6b4234dc6d6d1facc8e9c13368eb9" + ], + [ + "FStar.Reflection.V1.Formula.__proj__FV__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_45e00844f020dddc92d64cbe8c06f82e" + ], + 0, + "ff8621269cb577455ff3bd8832cc2232" + ], + [ + "FStar.Reflection.V1.Formula.__proj__IntLit__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_551436a37f812b60bf36b7c0e212b02d" + ], + 0, + "2a2be1e57e8a77854903d8cf89201c22" + ], + [ + "FStar.Reflection.V1.Formula.term_as_formula'", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Reflection.V1.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V1.Data.Tv_App", + "disc_equation_FStar.Reflection.V1.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V1.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Const", + "disc_equation_FStar.Reflection.V1.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Let", + "disc_equation_FStar.Reflection.V1.Data.Tv_Match", + "disc_equation_FStar.Reflection.V1.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V1.Data.Tv_Type", + "disc_equation_FStar.Reflection.V1.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V1.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V1.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V1.Data.Tv_Var", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V1.Data.notAscription", + "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Reflection.V1.Data.term_view", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_e3969e336e354b8824e54f1179b85ebe", + "typing_FStar.Reflection.Types.name" + ], + 0, + "f7dfe69192a45a08ae293f637f5e5aa4" + ], + [ + "FStar.Reflection.V1.Formula.term_as_formula", + 1, + 2, + 1, + [ + "@query", "equation_FStar.Reflection.V1.Derived.unsquash_term", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "typing_FStar.Reflection.V1.Derived.unsquash_term" + ], + 0, + "7b60a3b966690b1e06f9c629c25d0568" + ], + [ + "FStar.Reflection.V1.Formula.formula_as_term_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Reflection.V1.Formula.BoolEq", + "data_elim_FStar.Reflection.V1.Formula.Eq", + "disc_equation_FStar.Reflection.V1.Formula.And", + "disc_equation_FStar.Reflection.V1.Formula.App", + "disc_equation_FStar.Reflection.V1.Formula.BoolEq", + "disc_equation_FStar.Reflection.V1.Formula.Comp", + "disc_equation_FStar.Reflection.V1.Formula.Eq", + "disc_equation_FStar.Reflection.V1.Formula.Exists", + "disc_equation_FStar.Reflection.V1.Formula.FV", + "disc_equation_FStar.Reflection.V1.Formula.F_Unknown", + "disc_equation_FStar.Reflection.V1.Formula.False_", + "disc_equation_FStar.Reflection.V1.Formula.Forall", + "disc_equation_FStar.Reflection.V1.Formula.Ge", + "disc_equation_FStar.Reflection.V1.Formula.Gt", + "disc_equation_FStar.Reflection.V1.Formula.Iff", + "disc_equation_FStar.Reflection.V1.Formula.Implies", + "disc_equation_FStar.Reflection.V1.Formula.IntLit", + "disc_equation_FStar.Reflection.V1.Formula.Le", + "disc_equation_FStar.Reflection.V1.Formula.Lt", + "disc_equation_FStar.Reflection.V1.Formula.Name", + "disc_equation_FStar.Reflection.V1.Formula.Not", + "disc_equation_FStar.Reflection.V1.Formula.Or", + "disc_equation_FStar.Reflection.V1.Formula.True_", + "equation_FStar.Reflection.Types.typ", + "fuel_guarded_inversion_FStar.Reflection.V1.Formula.comparison", + "fuel_guarded_inversion_FStar.Reflection.V1.Formula.formula", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Reflection.V1.Formula.BoolEq__0", + "proj_equation_FStar.Reflection.V1.Formula.Comp__0", + "proj_equation_FStar.Reflection.V1.Formula.Eq__0", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7", + "typing_FStar.Reflection.V1.Formula.__proj__Comp__item___0" + ], + 0, + "ba9a7501edcc876848bb7e00ac47a4db" + ], + [ + "FStar.Reflection.V1.Formula.formula_to_string", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_FStar.Reflection.V1.Formula.Comp", + "disc_equation_FStar.Reflection.V1.Formula.And", + "disc_equation_FStar.Reflection.V1.Formula.App", + "disc_equation_FStar.Reflection.V1.Formula.BoolEq", + "disc_equation_FStar.Reflection.V1.Formula.Comp", + "disc_equation_FStar.Reflection.V1.Formula.Eq", + "disc_equation_FStar.Reflection.V1.Formula.Exists", + "disc_equation_FStar.Reflection.V1.Formula.FV", + "disc_equation_FStar.Reflection.V1.Formula.F_Unknown", + "disc_equation_FStar.Reflection.V1.Formula.False_", + "disc_equation_FStar.Reflection.V1.Formula.Forall", + "disc_equation_FStar.Reflection.V1.Formula.Ge", + "disc_equation_FStar.Reflection.V1.Formula.Gt", + "disc_equation_FStar.Reflection.V1.Formula.Iff", + "disc_equation_FStar.Reflection.V1.Formula.Implies", + "disc_equation_FStar.Reflection.V1.Formula.IntLit", + "disc_equation_FStar.Reflection.V1.Formula.Le", + "disc_equation_FStar.Reflection.V1.Formula.Lt", + "disc_equation_FStar.Reflection.V1.Formula.Name", + "disc_equation_FStar.Reflection.V1.Formula.Not", + "disc_equation_FStar.Reflection.V1.Formula.Or", + "disc_equation_FStar.Reflection.V1.Formula.True_", + "equation_FStar.Reflection.Types.typ", + "fuel_guarded_inversion_FStar.Reflection.V1.Formula.comparison", + "fuel_guarded_inversion_FStar.Reflection.V1.Formula.formula", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Reflection.V1.Formula.Comp__0", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7", + "refinement_interpretation_Tm_refine_c159c2ab705109c5eede23ce60d1a1d5", + "refinement_interpretation_Tm_refine_f9843a1e0fa842080a099df61098fe3c", + "typing_FStar.Reflection.V1.Formula.__proj__BoolEq__item___0", + "typing_FStar.Reflection.V1.Formula.__proj__Comp__item___0", + "typing_FStar.Reflection.V1.Formula.__proj__Eq__item___0", + "typing_FStar.Reflection.V1.Formula.uu___is_Comp" + ], + 0, + "41ceab2d853885724444a6c9ff74f51f" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V1.fst.hints b/ulib/.cache/FStar.Reflection.V1.fst.hints new file mode 100644 index 00000000000..f1a50d7daf1 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V1.fst.hints @@ -0,0 +1 @@ +[ "\u0010„YÊïêæÑ]Û…5ðj\u0005.", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V2.Arith.fst.hints b/ulib/.cache/FStar.Reflection.V2.Arith.fst.hints new file mode 100644 index 00000000000..a62666e0e62 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V2.Arith.fst.hints @@ -0,0 +1,714 @@ +[ + "à•\b\u0003øŒ~ý;Æ9Ò)7»", + [ + [ + "FStar.Reflection.V2.Arith.__proj__Lit__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4d1cb3c993734a3fba956c5fe4976c12" + ], + 0, + "61688dc5bb836dc4d8fb7a6547b0a093" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Atom__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_00ef060fe2f582144545d97e04a0b689" + ], + 0, + "b04d3124acbdbb9908799e8024cceaa6" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Atom__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_00ef060fe2f582144545d97e04a0b689" + ], + 0, + "d3d96e3285e8ac2c58a65f077e01c728" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Plus__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e8c359500aaaa6140c41b4199a66f37d" + ], + 0, + "ba86f1e718d80992cb81e324d892728c" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Plus__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e8c359500aaaa6140c41b4199a66f37d" + ], + 0, + "006becd2771deeff02fa0c8b1bc3a966" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Mult__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cb7887f66aaf81cf3b08943b824923d6" + ], + 0, + "a683648b82b6464744a7eaa8f703cee3" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Mult__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cb7887f66aaf81cf3b08943b824923d6" + ], + 0, + "f0c0be13a69b84c9cdd2d1371d30e4b9" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Minus__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a5e0affa9413e25a5b2f1a84e90ffa73" + ], + 0, + "101aa2b53dd7cddb5a7934b092ea9b80" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Minus__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a5e0affa9413e25a5b2f1a84e90ffa73" + ], + 0, + "6cd9d2512cd7f0a453c8ca5feb17167d" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Land__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3bb0a7c63b66ff76c0ffe8210e11a673" + ], + 0, + "47c27d1eb36d7eed7e7e54cd53b808ac" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Land__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3bb0a7c63b66ff76c0ffe8210e11a673" + ], + 0, + "6a25033ba5305caaf0817c940ac6eff1" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lxor__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d166f24f5408964467b992c7995ac5b0" + ], + 0, + "47d85978d7f4241617029c9e40393aeb" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lxor__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d166f24f5408964467b992c7995ac5b0" + ], + 0, + "04ebffa17423a2f948778253958471a9" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lor__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6883495ebe4821767722685375943886" + ], + 0, + "6acb1318b1e60f468adffcb9e214b78e" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lor__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6883495ebe4821767722685375943886" + ], + 0, + "1d8350609f4d5d56c169f8d8198fdbbe" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Ladd__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_113d9dcc6235d27a60e662ef38afe4d0" + ], + 0, + "78e40ef32367ce15f57b863c9e13892a" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Ladd__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_113d9dcc6235d27a60e662ef38afe4d0" + ], + 0, + "c5b760ff76da78842f983a8d7576554b" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lsub__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eb488b848213879d7329c56c6f3404f7" + ], + 0, + "e8c6ed7a502b02719375138f2d38092b" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Lsub__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eb488b848213879d7329c56c6f3404f7" + ], + 0, + "fa4addeb682bfd5f543b87241f3bdfb3" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Shl__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f6614337e84efeaed6ab116c452f819b" + ], + 0, + "0ee126350fd88f932712422265d7f6c8" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Shl__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f6614337e84efeaed6ab116c452f819b" + ], + 0, + "ae691a112ccc5451494de27bbfb32b2d" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Shr__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_db4615492a525a2589a26b54ef32b95d" + ], + 0, + "0630823964c80a08bd2f96883aafbcb3" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Shr__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_db4615492a525a2589a26b54ef32b95d" + ], + 0, + "6cfd81f03397e15b9b1f02397189fb8b" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Neg__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_576dcc28ba9b015823ce4eecd4b50224" + ], + 0, + "87ff5dea4d2570a26b5a4f1ac276ee36" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Udiv__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_acccefa836c301dcceeeb8bb747bba07" + ], + 0, + "588342c9dc0a8b5d8d19470b0bfa50d3" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Udiv__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_acccefa836c301dcceeeb8bb747bba07" + ], + 0, + "a77fb5926cf4ec65a3d162b1ee3120e2" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Umod__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0cf473721790d7db60a8b9fa4b495eb9" + ], + 0, + "83e1925301f44863efa52a044a53df5f" + ], + [ + "FStar.Reflection.V2.Arith.__proj__Umod__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0cf473721790d7db60a8b9fa4b495eb9" + ], + 0, + "7fcb29eb38d0f389e2c4924babf6627f" + ], + [ + "FStar.Reflection.V2.Arith.__proj__MulMod__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_bacdde8675993a12d66684e76458ae68" + ], + 0, + "fcf1dc816a9b82454749ce74c5bb0b59" + ], + [ + "FStar.Reflection.V2.Arith.__proj__MulMod__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_bacdde8675993a12d66684e76458ae68" + ], + 0, + "8821f5c95094a95e31a65af6723a99b2" + ], + [ + "FStar.Reflection.V2.Arith.__proj__NatToBv__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_49f1a48168da21aeb37e62f4ffdf4019" + ], + 0, + "8fd51ea19b9c087487835adc33824c3d" + ], + [ + "FStar.Reflection.V2.Arith.__proj__CompProp__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" + ], + 0, + "bbce7c5b44c6b0ad8e9a70bc136f4709" + ], + [ + "FStar.Reflection.V2.Arith.__proj__CompProp__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" + ], + 0, + "625b1f6b2a549fa6bfd136ec50d5ad23" + ], + [ + "FStar.Reflection.V2.Arith.__proj__CompProp__item___2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" + ], + 0, + "3a22c58af30cb3c8fddad6c198eac17b" + ], + [ + "FStar.Reflection.V2.Arith.__proj__AndProp__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ff8bf3409ae7106aaaabee631f89b9ae" + ], + 0, + "ddd398e6299e4b76bf4249f30e99e6cb" + ], + [ + "FStar.Reflection.V2.Arith.__proj__AndProp__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ff8bf3409ae7106aaaabee631f89b9ae" + ], + 0, + "847182699cbc7c02b7df2e3c5123fd4b" + ], + [ + "FStar.Reflection.V2.Arith.__proj__OrProp__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_49e17b8364ef666c8b205a87bf2cdab0" + ], + 0, + "5ebe2511b625f8dd375475a774773359" + ], + [ + "FStar.Reflection.V2.Arith.__proj__OrProp__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_49e17b8364ef666c8b205a87bf2cdab0" + ], + 0, + "caa193dc7f12a5140a690b286c2a6683" + ], + [ + "FStar.Reflection.V2.Arith.__proj__NotProp__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_458adec99a866220f677cc3d346f804a" + ], + 0, + "a83350ce4b00c5c58bb899059df63f2a" + ], + [ + "FStar.Reflection.V2.Arith.op_let_Bang", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Reflection.V2.Arith.st", + "fuel_guarded_inversion_FStar.Pervasives.either", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_proj_0", "string_typing" + ], + 0, + "1cba9bd0f46d9f3f8e86d01273ea7665" + ], + [ + "FStar.Reflection.V2.Arith.find_idx", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "data_elim_FStar.Tactics.Result.Success", + "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_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4501b6df4a08ac35eca8c9b092d837fc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_4501b6df4a08ac35eca8c9b092d837fc", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" + ], + 0, + "d9b5b2e894df7de14ce31351cd0a5d82" + ], + [ + "FStar.Reflection.V2.Arith.atom", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@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_FStar.Tactics.Result.Success", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.Arith.st", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "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", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_918745f7523ef4e244cf28d017b01d6d", + "refinement_interpretation_Tm_refine_b8509cd3a450e90a5388a276ab471464", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_b8509cd3a450e90a5388a276ab471464", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Pervasives.Native.fst" + ], + 0, + "41ff2af97275f929764fb7df1a40f6cc" + ], + [ + "FStar.Reflection.V2.Arith.as_arith_expr", + 1, + 4, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "FStar.Reflection.V2.Data_pretyping_f60681fbcdc25fab56ef0ee7d5de8af8", + "constructor_distinct_FStar.Reflection.V2.Data.Tv_FVar", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_Prims.Cons", "eq2-interp", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equality_tok_FStar.Reflection.V2.Data.Q_Implicit@tok", + "equation_FStar.Reflection.Types.name", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", + "equation_Prims.eqtype", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.V2.Data.argv", + "interpretation_Tm_abs_d7f7b2f15d07eaf341b1cf555a42a408", + "kinding_FStar.Reflection.V2.Data.aqualv@tok", "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", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Reflection.V2.Data.Tv_FVar_v", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2", + "typing_FStar.Reflection.Types.name", + "typing_Prims.__proj__Cons__item__hd", + "typing_Prims.__proj__Cons__item__tl", + "typing_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "typing_tok_FStar.Reflection.V2.Data.Q_Implicit@tok" + ], + 0, + "64b074a1dea19cf5c24bc4021c2cabce" + ], + [ + "FStar.Reflection.V2.Arith.run_tm", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.V2.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", + "function_token_typing_FStar.Reflection.Types.term", + "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_Prims.Nil_a", "string_typing" + ], + 0, + "09dd3ecfc9d5f915e5f340e72c7626ef" + ], + [ + "FStar.Reflection.V2.Arith.expr_to_string", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Arith_pretyping_1c084c389819290d965124d50e2bdf98", + "binder_x_1c084c389819290d965124d50e2bdf98_0", + "disc_equation_FStar.Reflection.V2.Arith.Atom", + "disc_equation_FStar.Reflection.V2.Arith.Ladd", + "disc_equation_FStar.Reflection.V2.Arith.Land", + "disc_equation_FStar.Reflection.V2.Arith.Lit", + "disc_equation_FStar.Reflection.V2.Arith.Lor", + "disc_equation_FStar.Reflection.V2.Arith.Lsub", + "disc_equation_FStar.Reflection.V2.Arith.Lxor", + "disc_equation_FStar.Reflection.V2.Arith.Minus", + "disc_equation_FStar.Reflection.V2.Arith.MulMod", + "disc_equation_FStar.Reflection.V2.Arith.Mult", + "disc_equation_FStar.Reflection.V2.Arith.NatToBv", + "disc_equation_FStar.Reflection.V2.Arith.Neg", + "disc_equation_FStar.Reflection.V2.Arith.Plus", + "disc_equation_FStar.Reflection.V2.Arith.Shl", + "disc_equation_FStar.Reflection.V2.Arith.Shr", + "disc_equation_FStar.Reflection.V2.Arith.Udiv", + "disc_equation_FStar.Reflection.V2.Arith.Umod", + "fuel_guarded_inversion_FStar.Reflection.V2.Arith.expr", + "projection_inverse_BoxBool_proj_0", + "subterm_ordering_FStar.Reflection.V2.Arith.Ladd", + "subterm_ordering_FStar.Reflection.V2.Arith.Land", + "subterm_ordering_FStar.Reflection.V2.Arith.Lor", + "subterm_ordering_FStar.Reflection.V2.Arith.Lsub", + "subterm_ordering_FStar.Reflection.V2.Arith.Lxor", + "subterm_ordering_FStar.Reflection.V2.Arith.Minus", + "subterm_ordering_FStar.Reflection.V2.Arith.MulMod", + "subterm_ordering_FStar.Reflection.V2.Arith.Mult", + "subterm_ordering_FStar.Reflection.V2.Arith.NatToBv", + "subterm_ordering_FStar.Reflection.V2.Arith.Neg", + "subterm_ordering_FStar.Reflection.V2.Arith.Plus", + "subterm_ordering_FStar.Reflection.V2.Arith.Shl", + "subterm_ordering_FStar.Reflection.V2.Arith.Shr", + "subterm_ordering_FStar.Reflection.V2.Arith.Udiv", + "subterm_ordering_FStar.Reflection.V2.Arith.Umod" + ], + 0, + "ae92c4805d225aae962f11e5c46b7441" + ], + [ + "FStar.Reflection.V2.Arith.compare_expr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Arith_pretyping_1c084c389819290d965124d50e2bdf98", + "binder_x_1c084c389819290d965124d50e2bdf98_0", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Reflection.V2.Arith.Minus__0", + "projection_inverse_FStar.Reflection.V2.Arith.Minus__1", + "projection_inverse_FStar.Reflection.V2.Arith.Mult__0", + "projection_inverse_FStar.Reflection.V2.Arith.Mult__1", + "projection_inverse_FStar.Reflection.V2.Arith.Neg__0", + "subterm_ordering_FStar.Reflection.V2.Arith.Minus", + "subterm_ordering_FStar.Reflection.V2.Arith.Mult", + "subterm_ordering_FStar.Reflection.V2.Arith.Neg", + "subterm_ordering_FStar.Reflection.V2.Arith.Plus" + ], + 0, + "2e9990e39031d438cd1db41676a88263" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V2.Builtins.fsti.hints b/ulib/.cache/FStar.Reflection.V2.Builtins.fsti.hints new file mode 100644 index 00000000000..631a110c678 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V2.Builtins.fsti.hints @@ -0,0 +1 @@ +[ "‹`ô9ñx>\u0012§:ê°\u0019½V\u0014", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V2.Compare.fst.hints b/ulib/.cache/FStar.Reflection.V2.Compare.fst.hints new file mode 100644 index 00000000000..7531655b418 --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V2.Compare.fst.hints @@ -0,0 +1,198 @@ +[ + "Žµ\u001e5”gu„\njÒõ\u0017¡gP", + [ + [ + "FStar.Reflection.V2.Compare.compare_const", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V2.Data.C_False", + "disc_equation_FStar.Reflection.V2.Data.C_Int", + "disc_equation_FStar.Reflection.V2.Data.C_Range", + "disc_equation_FStar.Reflection.V2.Data.C_Reflect", + "disc_equation_FStar.Reflection.V2.Data.C_Reify", + "disc_equation_FStar.Reflection.V2.Data.C_String", + "disc_equation_FStar.Reflection.V2.Data.C_True", + "disc_equation_FStar.Reflection.V2.Data.C_Unit", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.vconst", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + ], + 0, + "554bc36da1dccdc83417dc078b32a64b" + ], + [ + "FStar.Reflection.V2.Compare.compare_universe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_fd1daa8e4b5ab420d7e908e7afd35083", + "FStar.Reflection.V2.Data_pretyping_af09a89e04bc42e7a172b373e9fc384a", + "binder_x_fd1daa8e4b5ab420d7e908e7afd35083_0", + "data_typing_intro_FStar.Reflection.V2.Data.Uv_Unk@tok", + "disc_equation_FStar.Reflection.V2.Data.Uv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Uv_Max", + "disc_equation_FStar.Reflection.V2.Data.Uv_Name", + "disc_equation_FStar.Reflection.V2.Data.Uv_Succ", + "disc_equation_FStar.Reflection.V2.Data.Uv_Unif", + "disc_equation_FStar.Reflection.V2.Data.Uv_Unk", + "disc_equation_FStar.Reflection.V2.Data.Uv_Zero", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.universe_view", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Reflection.V2.Data.Uv_Succ__0", + "refinement_interpretation_Tm_refine_03d2d714a6c1dbc9f851e5b9a0f366e8", + "refinement_interpretation_Tm_refine_efb5a8e775a62f8500dd162848701b2b", + "subterm_ordering_FStar.Reflection.V2.Data.Uv_Max", + "subterm_ordering_FStar.Reflection.V2.Data.Uv_Succ", + "typing_FStar.Reflection.V2.Builtins.inspect_universe" + ], + 0, + "e894ac9a7cea65f1f9fa86707360f56d" + ], + [ + "FStar.Reflection.V2.Compare.compare_term", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "FStar.Reflection.V2.Data_pretyping_9a2be86692da5fc1b335167d5a2d5432", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", + "data_typing_intro_FStar.Reflection.V2.Data.Tv_Unknown@tok", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "equation_FStar.Reflection.V2.Data.argv", + "equation_FStar.Reflection.V2.Data.simple_binder", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "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.Reflection.V2.Data.Tv_AscribedT_tac", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "subterm_ordering_FStar.Pervasives.Native.Some", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Abs", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_App", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Arrow", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedC", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_AscribedT", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Let", + "subterm_ordering_FStar.Reflection.V2.Data.Tv_Refine", + "typing_FStar.Reflection.V2.Builtins.inspect_ln" + ], + 0, + "afbe207dd9f800bd6f82b2f876e0dc4a" + ], + [ + "FStar.Reflection.V2.Compare.compare_term", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_1", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", + "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", + "subterm_ordering_Prims.Cons" + ], + 0, + "dda11a1d1148f8ee403ac2c6b1df1dd5" + ], + [ + "FStar.Reflection.V2.Compare.compare_term", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_361dfc4573b43c27f2e6992afb02fb12_0", + "equation_FStar.Reflection.V2.Data.argv", + "subterm_ordering_FStar.Pervasives.Native.Mktuple2" + ], + 0, + "ee895e4708e8fb2524d499b0ab954e9a" + ], + [ + "FStar.Reflection.V2.Compare.compare_term", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", + "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_d18ff27796a0bc9f3abc9a0780da76bd", + "subterm_ordering_FStar.Reflection.V2.Data.C_Eff", + "subterm_ordering_FStar.Reflection.V2.Data.C_GTotal", + "subterm_ordering_FStar.Reflection.V2.Data.C_Lemma", + "subterm_ordering_FStar.Reflection.V2.Data.C_Total", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" + ], + 0, + "f56c9990dd9855728041ee9b27767bee" + ], + [ + "FStar.Reflection.V2.Compare.compare_term", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "binder_x_193ed3b15b4f1e32b0876428f6cfe8b0_0", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_sort", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "subterm_ordering_FStar.Reflection.V2.Data.Mkbinder_view", + "typing_FStar.Reflection.V2.Builtins.inspect_binder" + ], + 0, + "975abcd40ca3193b67bc55e7d1dad04d" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Reflection.V2.Data.fsti.hints b/ulib/.cache/FStar.Reflection.V2.Data.fsti.hints new file mode 100644 index 00000000000..e078e2ca2db --- /dev/null +++ b/ulib/.cache/FStar.Reflection.V2.Data.fsti.hints @@ -0,0 +1,931 @@ +[ + "A#:¯Hö ›\n롇Ùú", + [ + [ + "FStar.Stubs.Syntax.Syntax.__proj__DB__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a60c1955d846f28c14f0dccba675d567" + ], + 0, + "eccd148836232c5d8fa7845ff42f6696" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__DB__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a60c1955d846f28c14f0dccba675d567" + ], + 0, + "c2eced7fe709aea883c6235b7c2d4ad8" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__DT__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ae77d74f5b6921008dc31af9e75a50f5" + ], + 0, + "f09643282e9333a8b8376ad669325774" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__DT__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ae77d74f5b6921008dc31af9e75a50f5" + ], + 0, + "7564b6dbc60981aad10f86e3d70aea99" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__NM__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0267269f45d6fd12cdc74fb6d004d04b" + ], + 0, + "407c8401d2045b7c0dcc7856900cf320" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__NM__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0267269f45d6fd12cdc74fb6d004d04b" + ], + 0, + "ad8188f4100d6faae664740bfd6d3880" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__NT__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_99c151968ce40534e3fb9a4c963b1a19" + ], + 0, + "75a5166a0926ce865496448da21f99cb" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__NT__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_99c151968ce40534e3fb9a4c963b1a19" + ], + 0, + "47d10fa26270068ee352d34b5dfcc3c7" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__UN__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f643c5eb6d5b9ca17fe4c5e0fdbe65e" + ], + 0, + "be2db4d4c91546ebc633a4d8e5ad5d54" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__UN__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f643c5eb6d5b9ca17fe4c5e0fdbe65e" + ], + 0, + "db840c76d0e51cda4e9a306b178106e3" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__UD__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c8eb10759a737b8258f5bbb6f7ed1381" + ], + 0, + "4b8194759918fe6753fbf5b32ccea0f2" + ], + [ + "FStar.Stubs.Syntax.Syntax.__proj__UD__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c8eb10759a737b8258f5bbb6f7ed1381" + ], + 0, + "103079665da21707139a27960a108cd0" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.TSet.fst.hints b/ulib/.cache/FStar.TSet.fst.hints index f3e32f95df3..6600d67e23e 100644 --- a/ulib/.cache/FStar.TSet.fst.hints +++ b/ulib/.cache/FStar.TSet.fst.hints @@ -1,75 +1,6 @@ [ "©r\rj4ªùîg.–q\u001ḋ4", [ - [ - "FStar.TSet.empty", - 1, - 0, - 0, - [ - "@query", "equation_Prims.l_False", "equation_Prims.subtype_of", - "false_interp", "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a" - ], - 0, - "b0c435ffdd3e7b7bf4a6d0305ef96c8c" - ], - [ - "FStar.TSet.singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "0f9b3e70798988d120d95dab1a2c3dbd" - ], - [ - "FStar.TSet.union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_or", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "50e7b853408adf7e616f30dc1090e9d9" - ], - [ - "FStar.TSet.intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "eedf15b57e21c7258aab969a9d26a395" - ], - [ - "FStar.TSet.complement", - 1, - 0, - 0, - [ - "@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, - "a7facdbe5bd6a1609c67af70b2bd58b4" - ], [ "FStar.TSet.mem_empty", 1, @@ -89,7 +20,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "85450dd0b424a8eb26352f73d5fe403a" + "4865296bf1c37d788fa8c354349bbc33" ], [ "FStar.TSet.mem_singleton", @@ -109,7 +40,7 @@ "typing_Tm_abs_45fa948b68f0fd9176df0a5d041d6d26" ], 0, - "ba0cc89a76de9eb80709bf885df44495" + "b63c89e176b218ce2e46238e0d6584bd" ], [ "FStar.TSet.mem_union", @@ -129,7 +60,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "ad539c0d6315123a907bc27743c5502b" + "960fb8581bef3c8035280cf811c61b5d" ], [ "FStar.TSet.mem_intersect", @@ -149,7 +80,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "1f085c6b746235a0d505e7235ff82163" + "9affaa1b7e0fa97b1dd2b69e904f155d" ], [ "FStar.TSet.mem_complement", @@ -169,7 +100,7 @@ "typing_Tm_abs_8402846257d25eaf50dd86bcd1ba6a0b" ], 0, - "30b0460ae767992b50addd0def340b55" + "7facd528129a9c712d1d98052d597ab8" ], [ "FStar.TSet.mem_subset", @@ -178,7 +109,7 @@ 0, [ "@query", "equation_FStar.TSet.subset" ], 0, - "10c788b6ee5f52d2a44fcdbabd19ddcf" + "f55b6d417082c3c6d3eaa5969d472b69" ], [ "FStar.TSet.subset_mem", @@ -187,7 +118,7 @@ 0, [ "@query", "equation_FStar.TSet.subset" ], 0, - "a1da6a4a09bb874dfcb004d059785db0" + "0b4a7eba58c089829790febc9f08caaa" ], [ "FStar.TSet.lemma_equal_intro", @@ -196,7 +127,7 @@ 0, [ "@query", "equation_FStar.TSet.equal", "equation_FStar.TSet.mem" ], 0, - "a89eb29888ccfdd25913851ffb3cbb6e" + "8a8c0173cc9f9a5eae12aea503e25bb6" ], [ "FStar.TSet.lemma_equal_elim", @@ -212,7 +143,7 @@ "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "eaea5c5a3fa9e49bc1d87282038bd78b" + "7b0a303fc0c7764e22c83bc8f5cd45d0" ], [ "FStar.TSet.lemma_equal_refl", @@ -221,21 +152,7 @@ 0, [ "@query", "lemma_FStar.TSet.lemma_equal_intro" ], 0, - "f66d56fa5241c51584922156a5ae133c" - ], - [ - "FStar.TSet.tset_of_set", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2d2854cecb3c74cca27e55f1380204e7" + "a4c5463c77398a5c81a8927a4f7a27b5" ], [ "FStar.TSet.lemma_mem_tset_of_set_l", @@ -262,7 +179,7 @@ "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127" ], 0, - "9d978d5ababfc8dd53c77f60db30090b" + "60ea28131f4a811fd4265729afcb62bd" ], [ "FStar.TSet.lemma_mem_tset_of_set_r", @@ -286,7 +203,7 @@ "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127" ], 0, - "cc4022eb262bac0bf980647d0e991110" + "f3c59b24a4fdaef07b339f982f0b6308" ], [ "FStar.TSet.lemma_mem_tset_of_set", @@ -295,21 +212,7 @@ 0, [ "@query" ], 0, - "4db9b2c3d8bff6e1fcb85c3a0c0d89ee" - ], - [ - "FStar.TSet.filter", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "340dd6089347b9553a375d93f7b7da8d" + "5a68ef8e0de176fbff120952d5871856" ], [ "FStar.TSet.lemma_mem_filter", @@ -329,21 +232,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "f1a1ad33e2b454f2c56580afb7d0706b" - ], - [ - "FStar.TSet.exists_y_in_s", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "93df4d22829b57e92dfb01772ecde488" + "4ae380750d7d37b86a71533ea93a0b6d" ], [ "FStar.TSet.lemma_mem_map", @@ -364,7 +253,7 @@ "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "7268d0a0fb313853f6280b31b8df91c8" + "38c40a07517674e7f8598dc094b51aab" ], [ "FStar.TSet.as_set'", @@ -378,7 +267,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "00608bc40acc66440715ce2a33acba78" + "096142d09aed9214d6a91620195c88b3" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.TSet.fsti.hints b/ulib/.cache/FStar.TSet.fsti.hints index f2ac944488a..0fefc5e4feb 100644 --- a/ulib/.cache/FStar.TSet.fsti.hints +++ b/ulib/.cache/FStar.TSet.fsti.hints @@ -1,5 +1,5 @@ [ - "Å\u000bšŽ{1ÊI\u001eù¢»Ï÷GŸ", + "0·³NËM:6Êi76vóE¥", [ [ "FStar.TSet.as_set'", @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ffcb18ba7fef67c50c96f988089e26fa" + "daa01759537620622cc6de4c7f19a496" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Arith.fst.hints b/ulib/.cache/FStar.Tactics.Arith.fst.hints index cedc481c387..8378032861a 100644 --- a/ulib/.cache/FStar.Tactics.Arith.fst.hints +++ b/ulib/.cache/FStar.Tactics.Arith.fst.hints @@ -1 +1 @@ -[ "fÐL)„Ä7ü‚\u0005º·–¤*&", [] ] \ No newline at end of file +[ "äÑÈg\u000b­ó\u0015L\u000b. #«¹", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.BV.fst.hints b/ulib/.cache/FStar.Tactics.BV.fst.hints index 40ca252e3f1..93c5adb0350 100644 --- a/ulib/.cache/FStar.Tactics.BV.fst.hints +++ b/ulib/.cache/FStar.Tactics.BV.fst.hints @@ -1,5 +1,5 @@ [ - "!hmjY\u0006Yì[¦ˆ•&_rS", + "\u001f¨c÷âþ \u000b¬œ´Çm3ã¬", [ [ "FStar.Tactics.BV.cong_bvand", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2de2bb725ceaa77aabdb153c3353bebf" + "79b8e489776fb0b1d119da913db2a44d" ], [ "FStar.Tactics.BV.cong_bvand", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a3f7fca0d3fc73085a9ac6db6ee52dfa" + "fbca31e5248cda39f1a12f02e51c345d" ], [ "FStar.Tactics.BV.cong_bvand", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "4a5574f9fd2c91cd76254f098e30f3bd" + "2cca3bf07e8a4013f23c9313963c24c3" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2a0e6b5b3f864705c3a5ace03b63513a" + "a4b8bae6d447eda69d438aa38c739730" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "74f5df162ebac473635f1c40ded4f3a8" + "c081a01ce5bf53d49d1ef98ce342a1a7" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "64c714c2578ce7e06778937980464d9d" + "f36142ec03a4ce39b3e55732c6b1f1a4" ], [ "FStar.Tactics.BV.cong_bvor", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c01cd63cc00f9a8118c936eacb0dd036" + "2778e5e4b8b3e2ea96d594f478d53bd6" ], [ "FStar.Tactics.BV.cong_bvor", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bb5404c43024a22b49357991415927fa" + "ca7f947f50db1f4686a9b31d502d19b2" ], [ "FStar.Tactics.BV.cong_bvor", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "09b4ed61ea62375fb1065bed8efb0a68" + "1a32f7c73c952c192ce175312c9f7962" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7c2a1ff90d3c313a57c9b15a9cd9ac46" + "846a8547328d9808e07ae306b98663b9" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e46c89fa4ad7ff29fa9970a7676c98a2" + "53b08e36592dea4167153903788262f4" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -161,7 +161,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "aae3d024df638373613f47393d596dab" + "708d97ee61a7e2aa3e4ce868a1f8ab67" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -182,7 +182,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b5fe361559cf9060d603788beaf4c4c3" + "3845731ac7b6f563474ae3c6f23e9cbc" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5f7285438ac59967e82ed00e1c5dbe9a" + "421bffe549e5bedb12e08a20c2ab009f" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -206,7 +206,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "8a402567e72773a816dcb14f171ee419" + "f424f287fa0b414f6f9f924d59373ea8" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -221,7 +221,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c5a47ea2ed03ea882ec8dc0dabefd55b" + "9f400d64dfafb4f5f7ea970c7da7bf9a" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bf014a237482f9382d0363ca30de94a9" + "23f3e4ea8921cbfbb21618ded461972e" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -245,7 +245,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "a456db4497051ec296fcca3af37582db" + "515e586312b6afa0bc6939d45e907063" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -260,7 +260,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dbd17eb91ef00fac57a0a549f8a33fbf" + "6cd9b78de8c094736f1bfeabcf3a13b8" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -272,7 +272,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "da2ced0b843ffd20ac3b0167897f70d8" + "04c39e3fb90516ef5ba841dee1617826" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -284,7 +284,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "e41221097086bc01b4398340a1c42d08" + "f1294a81b700cbb42fa91230ee0d65ba" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5b6f0cc40404e0c1ffc03c21685897ea" + "d55aa6d6cf6af92bf7b9ef78766b2649" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c8de9e0906f98d40eac2625c5a42779c" + "c1cf926048aaa78bc9090ed0a13809bb" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "f016bb9d72ee65c29bebf3922db7e6a8" + "ccb88358a03f040b35fb92b616bf65be" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -338,7 +338,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "855d885accc340981695d7f4f4ab3afd" + "924310e898fded37274211d7ba3ebcd5" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -350,7 +350,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1b4809325bb11c2765594801ad7d0b58" + "19d8929445012734991473a796178090" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -362,7 +362,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "df849d49c3a565608ba5ee1e607565de" + "7a2e980c274910953f087ee948890a50" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -377,7 +377,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e5edfb399dbe7908d65e72599c39acae" + "e91a519525f618d55a71176bc01ede01" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -389,7 +389,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6f6916adb90b00d5897b9dfaa10d103c" + "0a499f2114329481bbc950109c3204e7" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -401,7 +401,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "2a75356d436ce16a1345b6a386abcfc9" + "74ed26e43261cef5c0bd8f8127ebca1b" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -416,7 +416,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fb7c0fe8f432d08f2a242bcbf4fb3e56" + "423a4ea15ef7fef0404e72b11bc634c4" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -428,7 +428,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "19d87a22b61718b95936b846a032c11b" + "fc8f0a4ecf1d4ac46f37e48df1d6f612" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -440,7 +440,7 @@ "refinement_interpretation_Tm_refine_aa61d08cb2b82c11785e865870bb7288" ], 0, - "fe7e15a3a0cef180e9ad57e9b2873a91" + "b970dd7f07cb3a69109a4592d4dee110" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -452,7 +452,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "647db699b7d591688bcc31cd6c5ae844" + "4b5b0a4cb2a0d48b912b93320aff5d18" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "013d7a37e917b4c777e833eca7a57d89" + "ac7584ad75ed660bad6a5d363365c739" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -473,7 +473,7 @@ 1, [ "@query", "b2t_def" ], 0, - "cbc31ab93c5b691e12319a2434af8fec" + "027ed98a667714a0a1f9aeac035d8eba" ], [ "FStar.Tactics.BV.trans", @@ -488,7 +488,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "313acffa386f963db9efa4ff22cd5727" + "7c043ed0b9e53fbd5189c43dcf2ef99d" ], [ "FStar.Tactics.BV.trans", @@ -500,7 +500,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d81c6a3f27729d574c753fb6951ed3be" + "7eda332bf2e7e8393290e5d0ece5679a" ], [ "FStar.Tactics.BV.trans", @@ -512,7 +512,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "8cefca1a8c30bf4489bbd38c34bbca61" + "2ae1a8684016e3e2b9b92cdf293ea511" ], [ "FStar.Tactics.BV.trans_lt", @@ -524,7 +524,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d7a5160ca39cc67ef87b2ad9fd133b6f" + "81a9cbdb7646a43f5eea9c20014f6445" ], [ "FStar.Tactics.BV.trans_lt", @@ -536,7 +536,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0df21112df6db4b927e5596667721e3c" + "2fd3d945dff7de18b593429ac951b04b" ], [ "FStar.Tactics.BV.trans_lt", @@ -549,7 +549,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "47c807a15f4fd083afd4b2caa6868f0a" + "336129c87019084695c0b3aa813a84c0" ], [ "FStar.Tactics.BV.trans_lt2", @@ -561,7 +561,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "57613cabd00c41aa569293c8a39c273e" + "d7b03d097702925fa8678631ba68052a" ], [ "FStar.Tactics.BV.trans_lt2", @@ -573,7 +573,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "25fe88c461f91602944aa55cbae98e43" + "0fb1c64381e80becc848875d96c1d026" ], [ "FStar.Tactics.BV.trans_lt2", @@ -586,7 +586,7 @@ "refinement_interpretation_Tm_refine_4bbbd6f11b25aac1398a0fe769fa12ff" ], 0, - "3ade9496205fe7a7e8bd887aaf93c130" + "4834ad99b7832e8239fe128f942325bd" ], [ "FStar.Tactics.BV.arith_to_bv_tac", @@ -605,7 +605,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "ecff9ea99ee066598356616f891c6e84" + "2127096f5dc627908ed8f56b7caaf020" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Builtins.fst.hints b/ulib/.cache/FStar.Tactics.Builtins.fst.hints new file mode 100644 index 00000000000..e666d7c1f7b --- /dev/null +++ b/ulib/.cache/FStar.Tactics.Builtins.fst.hints @@ -0,0 +1 @@ +[ "[ñ\u0017\u0004¾hu{¢\u0013;™\u0003]´", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Builtins.fsti.hints b/ulib/.cache/FStar.Tactics.Builtins.fsti.hints index bbb2c54bce4..fee3b1a394a 100644 --- a/ulib/.cache/FStar.Tactics.Builtins.fsti.hints +++ b/ulib/.cache/FStar.Tactics.Builtins.fsti.hints @@ -1 +1 @@ -[ "Ó¬˜µ%\u001bQÃ\u001bwâ\u0011ßI\u0004\u0013", [] ] \ No newline at end of file +[ "¥\u0011¨Q– \u001f¯J4:r&x¤A", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Canon.fst.hints b/ulib/.cache/FStar.Tactics.Canon.fst.hints index 67d1d8b1a70..7271fb8cdba 100644 --- a/ulib/.cache/FStar.Tactics.Canon.fst.hints +++ b/ulib/.cache/FStar.Tactics.Canon.fst.hints @@ -1,5 +1,5 @@ [ - " !\u0010,cÈÀ\u0013ò\u0011d}üü¦i", + "Ø\u001aýÀìÇkñµ¬ý\u000eþ8¦®", [ [ "FStar.Tactics.Canon.distr", @@ -11,7 +11,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "8b8d2720971c97e0b5b2eda2118248ee" + "cacd6f55a2d822f82b5631a0d20c7159" ], [ "FStar.Tactics.Canon.distl", @@ -23,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "ca9d429fe30cf0602a556f6f2ac0f5ef" + "493cef7d9bc432f539ce205ba1ee54c8" ], [ "FStar.Tactics.Canon.ass_plus_l", @@ -35,7 +35,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b7a56aa570e5107b04a416db7749d1cc" + "e747ec8420ffda5d4e0c0803d1ec29a5" ], [ "FStar.Tactics.Canon.ass_mult_l", @@ -47,7 +47,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2e4526ba044616028630c1cf26bd49c7" + "f0516dfae43b4aa99b7207ea0dc3e14f" ], [ "FStar.Tactics.Canon.comm_plus", @@ -56,7 +56,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "50c641970d9afb76c3d0190644df497e" + "5f6331579bd1bd398abe5b77cbe99ff9" ], [ "FStar.Tactics.Canon.sw_plus", @@ -68,7 +68,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7da27304c3db6fcd3e5b49cf24982459" + "1f8ad31c65499771f8198f0da0cf44d5" ], [ "FStar.Tactics.Canon.sw_mult", @@ -80,7 +80,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c324f9de11f617f88c79a838cd883e28" + "1f923c897ac2c95c934d7929aef0987e" ], [ "FStar.Tactics.Canon.comm_mult", @@ -89,7 +89,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "b35700b472147c8e6e55267f3477498e" + "96f777985cb26223a20be018258f560c" ], [ "FStar.Tactics.Canon.trans", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "19e006fc4ce06b531862d3641f5ebc8c" + "ab9b6123ed68368eda3e8a17811fd047" ], [ "FStar.Tactics.Canon.cong_plus", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "79b47e17c3fdd424cb8d470eea18a269" + "e2274af379c03526a9d2ef13fc80f992" ], [ "FStar.Tactics.Canon.cong_mult", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" ], 0, - "2fce4eed0b11907321aabb5111fec70c" + "ecf5a83e20c2b89944c9ce16ee871829" ], [ "FStar.Tactics.Canon.neg_minus_one", @@ -137,7 +137,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d1a911308b84f920beee553eba0f2c4e" + "6c1b471944073b583150bc79279e5ab8" ], [ "FStar.Tactics.Canon.x_plus_zero", @@ -149,7 +149,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "69ce187249e173811ab1fab527f4177b" + "6ddd9e5b8e0f0e3e25cadb12eb14a1bd" ], [ "FStar.Tactics.Canon.zero_plus_x", @@ -161,7 +161,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "e654266ea553a83f14837f5cb9057dd7" + "b1cf2551942cb6776893be1a279ad8fa" ], [ "FStar.Tactics.Canon.x_mult_zero", @@ -173,7 +173,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "089ed24188d7738dc5d1b9e137e4f922" + "0b90d1ed6c2fc57801093c774361c3f4" ], [ "FStar.Tactics.Canon.zero_mult_x", @@ -185,7 +185,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "633d4ca6c8848fdc904af3eefc8befa9" + "bdd8ccfe5c09634d95dcedc2f5ac4cee" ], [ "FStar.Tactics.Canon.x_mult_one", @@ -197,7 +197,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "03527bfd719cd279a1f09630c6ea4039" + "7986945a01ae9f66f2a85f2479827f3b" ], [ "FStar.Tactics.Canon.one_mult_x", @@ -209,7 +209,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "7af8f1726d214c01611f2473c05ca46e" + "010ca7471253dc46acb5530148d86016" ], [ "FStar.Tactics.Canon.minus_is_plus", @@ -221,7 +221,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "e81a550c27eafbc1e665562ad03db327" + "a0e0ad35f368e4222d618ec9a8767a24" ], [ "FStar.Tactics.Canon.canon_point_entry", @@ -240,7 +240,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "944c0a1bcb78ffa0ae190a97e840f274" + "7fc7c9b5e9b49ced698692a6a2ba5cd2" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.CanonCommMonoid.fst.hints b/ulib/.cache/FStar.Tactics.CanonCommMonoid.fst.hints index fe86e4b55ea..ef42a24e1d7 100644 --- a/ulib/.cache/FStar.Tactics.CanonCommMonoid.fst.hints +++ b/ulib/.cache/FStar.Tactics.CanonCommMonoid.fst.hints @@ -1,5 +1,5 @@ [ - "L¢ì§q#óAÝ:S¹)Ž§è", + "”·,ª_:\u0000\u000b_\u0001}¼?¸Žî", [ [ "FStar.Tactics.CanonCommMonoid.var", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ebe263159f57f73c5c76e39295df717" + "540496b05f3262c7077046f864fa49c3" ], [ "FStar.Tactics.CanonCommMonoid.exp", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce1fd4196fac28d4fcc961fcbefcc192" + "941b723c6c2dd7ee3709971f4e9cc5e8" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Var__item___0", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_4a6a28f8ee0308139802aa0c22c74203" ], 0, - "4bf2b28d544e0678180856140ac19e5f" + "6fb016e4cf61b056ad4cd6b4a96c9e9b" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "41cc1496bb4f07770f78ffb283203c5b" + "5103681d54de23d6517f9502d3427b9e" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "87f6547c96d3f52458f407d789871207" + "bacb803862d145901671a4d9e3054249" ], [ "FStar.Tactics.CanonCommMonoid.exp_to_string", @@ -91,7 +91,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "17086626c431fdc054528c4eb9a346bf" + "cd5ec14c835ba1e54467e7580483a758" ], [ "FStar.Tactics.CanonCommMonoid.mdenote", @@ -118,7 +118,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "2ca01a3b42b5b7e72a97a37259ae9041" + "c3c6d6474d0f0c82368bf39d30a24347" ], [ "FStar.Tactics.CanonCommMonoid.xsdenote", @@ -140,7 +140,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "293c4683a01070a43bcc795ff6477880" + "845e5536d61bebb1a7708ef44eb37f57" ], [ "FStar.Tactics.CanonCommMonoid.flatten", @@ -160,7 +160,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "51768576fb06214bf5e607d3d889374f" + "d2aa54f388ffd1edd32bd54c39e220c8" ], [ "FStar.Tactics.CanonCommMonoid.flatten_correct_aux", @@ -204,7 +204,7 @@ "unit_typing" ], 0, - "62863b4abf255e3b621af2ff20e1d110" + "73050205d691d0b6701bea5538557069" ], [ "FStar.Tactics.CanonCommMonoid.flatten_correct", @@ -255,7 +255,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "e3fbe2f76987221fa7b00a83e5183e06" + "fb68622be9f55996b048b4a285a12330" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", @@ -273,7 +273,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "54d59e2797f75bd138a4e5949a855378" + "f1b815db907462e9097a608b9335dfd5" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", @@ -333,7 +333,7 @@ "unit_typing" ], 0, - "0120a60d35644d82b709f4ea1f83626b" + "7f645eca5070daa7ef7762dcacd38e74" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_correct", @@ -356,7 +356,7 @@ "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" ], 0, - "adbd3adf4e0f0cd2d8279b72a4056f92" + "c9096db6deb11e8e5b5eff90b3c92302" ], [ "FStar.Tactics.CanonCommMonoid.apply_swaps_correct", @@ -386,7 +386,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "fb52e8a47e7672dfc803b3379012b2b4" + "c1917032ddea7ab203cba6162c7b5e4e" ], [ "FStar.Tactics.CanonCommMonoid.permute_via_swaps_correct_aux", @@ -401,7 +401,7 @@ "refinement_interpretation_Tm_refine_07caab675e3d0b857bb71eaad3d06725" ], 0, - "371bdfd7f9e4b7dae926d68e8b2289fe" + "93fa399f1d1f0f91967ead2cb62ebf1e" ], [ "FStar.Tactics.CanonCommMonoid.sort_via_swaps", @@ -422,7 +422,7 @@ "typing_FStar.Tactics.CanonCommMonoid.var", "unit_typing" ], 0, - "2894ca58362cea656b0e1e3021617184" + "3d758e02262c262219e41df41b4e26ed" ], [ "FStar.Tactics.CanonCommMonoid.sortWith_via_swaps", @@ -446,7 +446,7 @@ "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "d6a35c51f4bad716d60edf2389f40646" + "f2dbca4a6cb894e43911b449f8ce6294" ], [ "FStar.Tactics.CanonCommMonoid.canon_correct", @@ -455,7 +455,7 @@ 1, [ "@query", "equation_FStar.Tactics.CanonCommMonoid.canon" ], 0, - "5c919ffb50f1c49c531ec3d04154f6e3" + "36391a5d821c18cfd69937cd54f79353" ], [ "FStar.Tactics.CanonCommMonoid.monoid_reflect", @@ -467,7 +467,7 @@ "refinement_interpretation_Tm_refine_56d0f688d16de61a4660d3251e66c1bb" ], 0, - "461adef76cc423d3a16343857e01b0fb" + "ef5a1465a56432ae4c3545383fd658d7" ], [ "FStar.Tactics.CanonCommMonoid.where_aux", @@ -484,7 +484,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b3aa0001daebfd5ec8067781747b5403" + "9d7f8964e0f3b85187d3e1b0a6f72757" ], [ "FStar.Tactics.CanonCommMonoid.reification_aux", @@ -499,7 +499,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7ec64934b6a3947db5c2f0fcee9a4e91" + "b3f3fd8cb78f08e43b4e27a26df8453f" ], [ "FStar.Tactics.CanonCommMonoid.term_mem", @@ -515,7 +515,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "2a3819303393b97b080f1d2e7b7a2e59" + "0efd0e36edb58cc5667ba4414db80241" ], [ "FStar.Tactics.CanonCommMonoid.quote_list", @@ -527,7 +527,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "d37d93acb030af91845fc252523fcf76" + "a0431fe8600defd68f2d5f13e835e173" ], [ "FStar.Tactics.CanonCommMonoid.quote_exp", @@ -542,7 +542,7 @@ "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp" ], 0, - "6a7ef5d20b3e9575c7f1dc82590374bd" + "3c6819b376e200284ec8725fe7a1c53b" ], [ "FStar.Tactics.CanonCommMonoid.const_compare", @@ -568,7 +568,7 @@ "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "bad52a410faea49d27d03c863edcf838" + "cdb0e05b5e2d3102161fae94d2ee1a2b" ], [ "FStar.Tactics.CanonCommMonoid.canon_monoid_const", @@ -586,7 +586,7 @@ "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "54954c7b9dfc8f9b02c7f2d7125d1eba" + "7046f65f1e5f28c2be52bb5d01524566" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -604,7 +604,7 @@ "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "b0c4c9af5d9d95a400df3bb8c9bea47a" + "6842c0c3970f38e1b6865d026980cfd0" ], [ "FStar.Tactics.CanonCommMonoid.special_compare", @@ -630,7 +630,7 @@ "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "f19622368099842eab2bf3380a74b354" + "c4e047a62f7b9debe2c89ccaffc540a9" ], [ "FStar.Tactics.CanonCommMonoid.special_first_correct", @@ -648,7 +648,7 @@ "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "0a0d92ad616f9a7512f4e2db670bd528" + "aeb37389f33663ccec94ffd5086cae73" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints b/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints index 0f462d0a130..7df9e986498 100644 --- a/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints +++ b/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints @@ -1,5 +1,5 @@ [ - "\u0015ν<\u001a·/Ž8ó,ùö\u001až˜", + "›\u0018P&FZ›t1êŸävép>", [ [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "461f2ecaccbf042fffeb0a22606ef5e2" + "44fcb39aabda3bce5b1ed0242b3fcd6a" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Mult__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_496b10ac03e2c5cb04fe228893de270f" ], 0, - "fd40b82c80f7e3a6e5dcb959ed990eaf" + "562c956964c3f65aa7595e84f5a73591" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Mult__item___1", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_496b10ac03e2c5cb04fe228893de270f" ], 0, - "7b0f9ec8f78416ce74479caaf547dd35" + "3ed4a17dbb3f4e894d6bdafe726803a9" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Atom__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_80aab36172ecf8308d174cdb9d933a95" ], 0, - "2473fd684395bfa0aa31673f33c7a1b8" + "4c4f1434e9aaca574cb22a1617c2e852" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.exp_to_string", @@ -75,7 +75,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" ], 0, - "7e71205db518549e1e9bd4ec06932d78" + "b51ce958a2883717c76a514f1eddc1ab" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.mdenote", @@ -104,7 +104,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" ], 0, - "30e796085eea5d10bbfc71590f2301ab" + "f4d3c87a74086da80e11f3c0ae4ea8e3" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote", @@ -128,7 +128,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "92163c77e8f6317bd5ab6f6437c6c4de" + "396a96e15c192685b041b8555d162086" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten", @@ -148,7 +148,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" ], 0, - "3f35645643216d4763d76abe3dd11012" + "b1288c64601d6add91ceb3deca86ccdc" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten_correct_aux", @@ -192,7 +192,7 @@ "unit_typing" ], 0, - "6cb58bf99b878163ce4423174cdb9592" + "1cd9853fa74f8db0a8007676ce306541" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten_correct", @@ -243,7 +243,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" ], 0, - "1d6e75e40c6b27e68cda962627b20855" + "74bb54ccdecc9cbc441eb7105446c139" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_aux_correct", @@ -262,7 +262,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "a9ac967b84702afa432a63944e0a2a7e" + "1823cf3c1dd70555f480780c1973a385" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_aux_correct", @@ -322,7 +322,7 @@ "unit_typing" ], 0, - "c439c8ab3f3a73a4f376c85e5eb5a745" + "8fc6de689bfb2878afb7c25115d5ea09" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_correct", @@ -343,7 +343,7 @@ "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" ], 0, - "b070c2c125073cc3ce075e9a21ce19d8" + "13faa94552d5b57ac592521ed5668cdc" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swaps_correct", @@ -379,7 +379,7 @@ "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux" ], 0, - "5c37de68d489ce453449ac9e14c29ea2" + "e0c01629d23e3f65e47fa86f2cfeca8c" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.permute_via_swaps_correct_aux", @@ -391,7 +391,7 @@ "refinement_interpretation_Tm_refine_2880f704fc4616f79eb73c6d72df32bd" ], 0, - "afc7c96721443f7219dd34f0fae8a2c0" + "db4263cf55947ff0312736bd887e7e80" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.sort_via_swaps", @@ -405,7 +405,7 @@ "function_token_typing_FStar.List.Tot.Base.sortWith" ], 0, - "ae8c6d9968db3a0796e8312e1e78d1b5" + "f2be46ee74bd3d3456eec102b0805845" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.canon_correct", @@ -416,7 +416,7 @@ "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.canon" ], 0, - "fcce1970a4c20cc1afc1e50f97bb7fc0" + "505fc8b2c1da882fa138044e0e7c42a4" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.monoid_reflect_orig", @@ -425,7 +425,7 @@ 1, [ "@query" ], 0, - "a1980b59a811524147420104e2a6c825" + "623957d7065267142f7cb2cbe27af3cd" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.monoid_reflect", @@ -437,7 +437,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "723583505f9005c6fb06f1d43948c311" + "c46c29a22af702515a72bd59fd0e5e9c" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.where_aux", @@ -454,7 +454,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ef475cb907e9b4694b5be389ef60f54b" + "6cce87dd97ed44f248416ef281170c2c" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.fatom", @@ -469,7 +469,7 @@ "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "deaba64f20fb8612933ec9e804b5339b" + "e4555045e7174aff89a9d68e81bf3491" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.convert_map", @@ -478,12 +478,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_6a31099f9ea2a39bbcf5728faaec5ae6_0", + "binder_x_e0486d619ff5dc7d89c9dd83f7b28827_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "65542a4972c38fcecf53f96ba8892e27" + "3c5607bac7c8162592171fea07d5ca23" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.quote_exp", @@ -503,7 +505,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" ], 0, - "b704a2bdbc420b0a0c879cd90d1e1c91" + "7b0fe7de8a00acae36f88a3729d75df7" ], [ "FStar.Tactics.CanonCommMonoidSimple.Equiv.canon_monoid", @@ -521,7 +523,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e2ea3ad76f3818957ce5aa075bc28c08" + "2814f1d1a8062d8a27b43792812c0c72" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.fst.hints b/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.fst.hints index a95ec98674d..bceb77d9379 100644 --- a/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.fst.hints +++ b/ulib/.cache/FStar.Tactics.CanonCommMonoidSimple.fst.hints @@ -1,5 +1,5 @@ [ - "æpÚô_“\u0002Le®Õ—¦DøÙ", + "“6VDýŸ\u001f£_\u001dP·©Ø{Ë»Ï\u0019ø", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.MApply.fst.hints b/ulib/.cache/FStar.Tactics.MApply.fst.hints new file mode 100644 index 00000000000..821b7991a44 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.MApply.fst.hints @@ -0,0 +1,67 @@ +[ + "IG)çœtön¾\u0005H¼@¢¡½", + [ + [ + "FStar.Tactics.MApply.push1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" + ], + 0, + "e4e0c2ef481ef68ef3803b3c8895773b" + ], + [ + "FStar.Tactics.MApply.push1'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" + ], + 0, + "72e7fbf4c727f7c46926d54189b56815" + ], + [ + "FStar.Tactics.MApply.apply_squash_or_lem", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", + "constructor_distinct_FStar.Tactics.Result.Failed", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.inspect_comp", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_FStar.Reflection.V2.Data.comp_view@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "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", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab0a58301bde52827a5e3798d7f038f5", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Reflection.V2.Data.__proj__C_Total__item__ret", + "typing_FStar.Reflection.V2.Derived.unsquash_term" + ], + 0, + "ed22a2b166a64d0a9998e69efb73883b" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.NamedView.fst.hints b/ulib/.cache/FStar.Tactics.NamedView.fst.hints new file mode 100644 index 00000000000..7ee37c2dbe7 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.NamedView.fst.hints @@ -0,0 +1,998 @@ +[ + "ü˜ñÎX\u0001ÇP@ì‘\u0001™Êê", + [ + [ + "FStar.Tactics.NamedView.__proj__Uv_Succ__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_82914602a13807f685e45dd78cc5636a" + ], + 0, + "c7b8b992ee931347d6f72dc9f43e8101" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Max__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6078923c349de6ec41dd797ce0f793ee" + ], + 0, + "921f08a9317a2adefadf3528ac33e6ac" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_BVar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_47d91bede15db6781395bb141c3d640d" + ], + 0, + "99a01179b5d7da9a3c08bc3cae3785ff" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Name__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_69980a892705a9a64d8e676222efcd27" + ], + 0, + "da15b66ccc90d68904d7f87b727bdfd5" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Unif__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_46ecd4555b9cddd750f1c172ed151b64" + ], + 0, + "888b821ca9b016446a7c5eca25c7fbfc" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Constant__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_760215d17bae6326cab536ca4b3b4619" + ], + 0, + "7b40a1454788e43fda7bd17889c2c09d" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Cons__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1568b2d9001092df78423ad5031cadd0" + ], + 0, + "2123f5381484ac54c785d890952c2338" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Var__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5915aca42c70b204fb8abd23a0546bb3" + ], + 0, + "6a6856b5c5edeb23334e5c90ef37df27" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Dot_Term__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_fd8d0efc3ead3b7a2f2a11433fff8eaa" + ], + 0, + "4489c27846db616ea74010e61c8c251e" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Var__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_87a3dba5453ef74fda9f0336086dad8a" + ], + 0, + "32c52e36d109186973ef8f57934d3771" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_BVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2041770b714b0ea10869e92b575e16fd" + ], + 0, + "fc6f55925a18541dafa77b512585e944" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_FVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3" + ], + 0, + "7b87d408188270f73579cd7c7c0bb7ba" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_UInst__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" + ], + 0, + "3483c13b4cc443beb49e7749ca593d37" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_UInst__item__us", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" + ], + 0, + "847dc04dca29e3aa02aeb2fcb242e9e7" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_App__item__hd", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" + ], + 0, + "9085ddc3423efda820a612999ffa07ac" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_App__item__a", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" + ], + 0, + "51f8595f0678587e677e180bc7a93cb9" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Abs__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" + ], + 0, + "ed20a857a32870906961ae006b8c9071" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Abs__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" + ], + 0, + "e9158d2f063be4a318d3386fef923753" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" + ], + 0, + "a75e4ce6185054fc417c5eed29ac27fa" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" + ], + 0, + "709b9374e9da76763507726be7641a00" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Type__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b305bae344c1a3fca91e8645cdcd9dd7" + ], + 0, + "358ce925914946acf54d4ac0397812e6" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Refine__item__b", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" + ], + 0, + "03384dec1690c9e2dabc221fc78bd08d" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Refine__item__ref", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" + ], + 0, + "fd8af13dacbde0db740d98201e9e6614" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Const__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e43528237c88eee4c4a7209fbfece30a" + ], + 0, + "b6bf7a5ad1c65dfe41a1345569066b32" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" + ], + 0, + "fc92ca5afaa9230ddf51df7a0a19bf61" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" + ], + 0, + "f8697805b08d4be37655c7b5db9e607b" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__recf", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "4d08832dae0d8d5297c3728eadabb1ee" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__attrs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "e0baeddf81961f46589a84b9ddf07ec2" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__b", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "8dc0876e3a59024d2dee83603bf755f5" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__def", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "54d2bd43087a5acd284edf42d8209013" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "c0d1b77dc2e58ed7b5871b5a8ed8b2e8" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__scrutinee", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "0f404a653855f2709be175b5670d3f05" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__ret", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "578b930f1bbdc4623534c8b13861b463" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__brs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "e973fe20dc4eee3e3fd443f16dce10f0" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "99aff6dc756821e411517d7c3f390f01" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__t", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "b23654e0745a4593f203efda4b2e3536" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "c01684eb24deaf1fc0c4567e28a3054b" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "855443302b2e98e52e16e5b8c50aabc7" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "97d85318672b83e2a167c29c8006e9b8" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "6b8fa8c1768cc01203caa5cfea0828e4" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "a80a01f47045256ea06b91690663a95a" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "5bf0b593fcb380947b17924432bc975f" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Let__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c417824af864c5dfeb7045b84af008c" + ], + 0, + "2e11c00bdf1978ed706e3f81d11100eb" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1" + ], + 0, + "20cbe43fcc4bef1a4b9e8a9b86f3375c" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Val__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ca9b00c9dce34c559545c63ba449a355" + ], + 0, + "33c20b6e9b201ea6f792bfa35dec5bb3" + ], + [ + "FStar.Tactics.NamedView.open_universe_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V2.Data.Uv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Uv_Max", + "disc_equation_FStar.Reflection.V2.Data.Uv_Name", + "disc_equation_FStar.Reflection.V2.Data.Uv_Succ", + "disc_equation_FStar.Reflection.V2.Data.Uv_Unif", + "disc_equation_FStar.Reflection.V2.Data.Uv_Unk", + "disc_equation_FStar.Reflection.V2.Data.Uv_Zero", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.universe_view", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "0b0a77e97f27d887a06b3fb389466260" + ], + [ + "FStar.Tactics.NamedView.close_universe_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Tactics.NamedView.Uv_BVar", + "disc_equation_FStar.Tactics.NamedView.Uv_Max", + "disc_equation_FStar.Tactics.NamedView.Uv_Name", + "disc_equation_FStar.Tactics.NamedView.Uv_Succ", + "disc_equation_FStar.Tactics.NamedView.Uv_Unif", + "disc_equation_FStar.Tactics.NamedView.Uv_Unk", + "disc_equation_FStar.Tactics.NamedView.Uv_Zero", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_universe_view", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "6d462b2934948fea1c66069453dd047e" + ], + [ + "FStar.Tactics.NamedView.open_term_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "typing_FStar.Reflection.V2.Data.binder_is_simple" + ], + 0, + "dd1de849870f63007957da5c83263400" + ], + [ + "FStar.Tactics.NamedView.open_comp_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V2.Data.simple_binder", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "refinement_interpretation_Tm_refine_59ec70b79e7a0b94aa012278910238fd", + "typing_FStar.Reflection.V2.Data.binder_is_simple" + ], + 0, + "beca96341d40c085848910088ad5934a" + ], + [ + "FStar.Tactics.NamedView.close_term_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.simple_binder", + "equation_FStar.Tactics.NamedView.term", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", + "typing_FStar.Reflection.V2.Builtins.pack_binder", + "typing_FStar.Reflection.V2.Data.uu___is_Q_Explicit", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__attrs", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__ppname", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__qual", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__sort" + ], + 0, + "e51d70fa1c1fd5444f8a2b17b55f90d3" + ], + [ + "FStar.Tactics.NamedView.close_comp_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.simple_binder", + "equation_FStar.Tactics.NamedView.term", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", + "typing_FStar.Reflection.V2.Builtins.pack_binder", + "typing_FStar.Reflection.V2.Data.uu___is_Q_Explicit", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__attrs", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__ppname", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__qual", + "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__sort" + ], + 0, + "95699e6b0cdf766ec7af43c9ace4fcaa" + ], + [ + "FStar.Tactics.NamedView.__open_term_n_aux", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "40fd0334b063fb1b3aa9f29a9ce36e81" + ], + [ + "FStar.Tactics.NamedView.close_term_n", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "2784ced593145ca9a948213cd942553b" + ], + [ + "FStar.Tactics.NamedView.open_term_n_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Reflection.V2.Data.simple_binder", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "fe719142fd859021c5cf71d1d6dea140" + ], + [ + "FStar.Tactics.NamedView.close_term_n_simple", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_f4c13322c621c41319827af95956c250_0", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.simple_binder", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" + ], + 0, + "fe264f05d908a633d4e733e11065c13f" + ], + [ + "FStar.Tactics.NamedView.open_pat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Reflection.V2.Data.Pat_Dot_Term_t", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "dba0d5458ed4e0d003ec8f883b97ca5a" + ], + [ + "FStar.Tactics.NamedView.close_pat", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Tactics.NamedView_pretyping_0c18f6b93a2f839f94942e4946e144cb", + "binder_x_b095297e66da3cf228bdc8f1227bada4_0", + "data_elim_FStar.Tactics.NamedView.Pat_Dot_Term", + "disc_equation_FStar.Tactics.NamedView.Pat_Cons", + "disc_equation_FStar.Tactics.NamedView.Pat_Constant", + "disc_equation_FStar.Tactics.NamedView.Pat_Dot_Term", + "disc_equation_FStar.Tactics.NamedView.Pat_Var", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.NamedView.pattern", + "fuel_guarded_inversion_FStar.Tactics.NamedView.pattern__Pat_Dot_Term__payload", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Tactics.NamedView.Pat_Dot_Term__0", + "projection_inverse_BoxBool_proj_0", + "typing_FStar.Tactics.NamedView.__proj__Mkpattern__Pat_Dot_Term__payload__item__t" + ], + 0, + "4b460131b210fca6e32ba9a8446ea754" + ], + [ + "FStar.Tactics.NamedView.open_match_returns_ascription", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.Mktuple3", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Reflection.Types.match_returns_ascription", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", + "fuel_guarded_inversion_FStar.Pervasives.either", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.binder", + "function_token_typing_FStar.Reflection.Types.comp", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_Prims.bool", + "kinding_FStar.Pervasives.Native.option@tok", + "kinding_FStar.Pervasives.Native.tuple3@tok", + "kinding_FStar.Pervasives.either@tok", + "lemma_FStar.Pervasives.invertOption", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Mktuple3__1", + "projection_inverse_BoxBool_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_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___2" + ], + 0, + "dc5fc69d990191069119453a6965cb45" + ], + [ + "FStar.Tactics.NamedView.close_match_returns_ascription", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Pervasives.either", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "874cc720d885d29c3f03708fddcf39f8" + ], + [ + "FStar.Tactics.NamedView.open_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "eab45ecbd6af2ef94991c10a835334c1" + ], + [ + "FStar.Tactics.NamedView.close_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Tactics.NamedView.Tv_Abs", + "disc_equation_FStar.Tactics.NamedView.Tv_App", + "disc_equation_FStar.Tactics.NamedView.Tv_Arrow", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "disc_equation_FStar.Tactics.NamedView.Tv_BVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Const", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Let", + "disc_equation_FStar.Tactics.NamedView.Tv_Match", + "disc_equation_FStar.Tactics.NamedView.Tv_Refine", + "disc_equation_FStar.Tactics.NamedView.Tv_Type", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_Unknown", + "disc_equation_FStar.Tactics.NamedView.Tv_Unsupp", + "disc_equation_FStar.Tactics.NamedView.Tv_Uvar", + "disc_equation_FStar.Tactics.NamedView.Tv_Var", + "equation_FStar.Tactics.NamedView.match_returns_ascription", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", + "function_token_typing_FStar.Tactics.NamedView.match_returns_ascription", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "01912d77cd33f274a9e6e53ca45ea17f" + ], + [ + "FStar.Tactics.NamedView.open_n_binders_from_arrow", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "2590ba78e3e99b645f96293bea03e095" + ], + [ + "FStar.Tactics.NamedView.open_sigelt_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V2.Data.Sg_Inductive", + "disc_equation_FStar.Reflection.V2.Data.Sg_Let", + "disc_equation_FStar.Reflection.V2.Data.Sg_Val", + "disc_equation_FStar.Reflection.V2.Data.Unk", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.sigelt_view", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "6077fbc740f20dab5a32ec4c973e0e3a" + ], + [ + "FStar.Tactics.NamedView.mk_arr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "dafe03e0411e2e1e2a17d1a30ed6f6f0" + ], + [ + "FStar.Tactics.NamedView.close_sigelt_view", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.V2.Data.Sg_Inductive", + "constructor_distinct_FStar.Reflection.V2.Data.Sg_Let", + "constructor_distinct_FStar.Reflection.V2.Data.Sg_Val", + "disc_equation_FStar.Reflection.V2.Data.Unk", + "disc_equation_FStar.Tactics.NamedView.Sg_Inductive", + "disc_equation_FStar.Tactics.NamedView.Sg_Let", + "disc_equation_FStar.Tactics.NamedView.Sg_Val", + "disc_equation_FStar.Tactics.NamedView.Unk", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_sigelt_view", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_33c42578a141bae50a85a36b068dcc2c" + ], + 0, + "debe72c73a320f1f9158d2e989bc556d" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.NamedView.fsti.hints b/ulib/.cache/FStar.Tactics.NamedView.fsti.hints new file mode 100644 index 00000000000..f4a152b6b9d --- /dev/null +++ b/ulib/.cache/FStar.Tactics.NamedView.fsti.hints @@ -0,0 +1,545 @@ +[ + "SFìAÑ¿°\u0006mŠd‚шãí", + [ + [ + "FStar.Tactics.NamedView.__proj__Uv_Succ__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_82914602a13807f685e45dd78cc5636a" + ], + 0, + "0631eb04ea1e82e6617cb7ac33e69f16" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Max__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6078923c349de6ec41dd797ce0f793ee" + ], + 0, + "921f08a9317a2adefadf3528ac33e6ac" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_BVar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_47d91bede15db6781395bb141c3d640d" + ], + 0, + "99a01179b5d7da9a3c08bc3cae3785ff" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Name__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_69980a892705a9a64d8e676222efcd27" + ], + 0, + "da15b66ccc90d68904d7f87b727bdfd5" + ], + [ + "FStar.Tactics.NamedView.__proj__Uv_Unif__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_46ecd4555b9cddd750f1c172ed151b64" + ], + 0, + "888b821ca9b016446a7c5eca25c7fbfc" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Constant__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_760215d17bae6326cab536ca4b3b4619" + ], + 0, + "7b40a1454788e43fda7bd17889c2c09d" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Cons__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1568b2d9001092df78423ad5031cadd0" + ], + 0, + "2123f5381484ac54c785d890952c2338" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Var__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5915aca42c70b204fb8abd23a0546bb3" + ], + 0, + "6a6856b5c5edeb23334e5c90ef37df27" + ], + [ + "FStar.Tactics.NamedView.__proj__Pat_Dot_Term__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_fd8d0efc3ead3b7a2f2a11433fff8eaa" + ], + 0, + "4489c27846db616ea74010e61c8c251e" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Var__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_87a3dba5453ef74fda9f0336086dad8a" + ], + 0, + "32c52e36d109186973ef8f57934d3771" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_BVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2041770b714b0ea10869e92b575e16fd" + ], + 0, + "fc6f55925a18541dafa77b512585e944" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_FVar__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3" + ], + 0, + "7b87d408188270f73579cd7c7c0bb7ba" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_UInst__item__v", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" + ], + 0, + "3483c13b4cc443beb49e7749ca593d37" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_UInst__item__us", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" + ], + 0, + "847dc04dca29e3aa02aeb2fcb242e9e7" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_App__item__hd", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" + ], + 0, + "9085ddc3423efda820a612999ffa07ac" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_App__item__a", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" + ], + 0, + "51f8595f0678587e677e180bc7a93cb9" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Abs__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" + ], + 0, + "ed20a857a32870906961ae006b8c9071" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Abs__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" + ], + 0, + "e9158d2f063be4a318d3386fef923753" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__bv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" + ], + 0, + "a75e4ce6185054fc417c5eed29ac27fa" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" + ], + 0, + "709b9374e9da76763507726be7641a00" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Type__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b305bae344c1a3fca91e8645cdcd9dd7" + ], + 0, + "358ce925914946acf54d4ac0397812e6" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Refine__item__b", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" + ], + 0, + "03384dec1690c9e2dabc221fc78bd08d" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Refine__item__ref", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" + ], + 0, + "fd8af13dacbde0db740d98201e9e6614" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Const__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e43528237c88eee4c4a7209fbfece30a" + ], + 0, + "b6bf7a5ad1c65dfe41a1345569066b32" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" + ], + 0, + "fc92ca5afaa9230ddf51df7a0a19bf61" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" + ], + 0, + "f8697805b08d4be37655c7b5db9e607b" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__recf", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "4d08832dae0d8d5297c3728eadabb1ee" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__attrs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "e0baeddf81961f46589a84b9ddf07ec2" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__b", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "8dc0876e3a59024d2dee83603bf755f5" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__def", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "54d2bd43087a5acd284edf42d8209013" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Let__item__body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" + ], + 0, + "c0d1b77dc2e58ed7b5871b5a8ed8b2e8" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__scrutinee", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "0f404a653855f2709be175b5670d3f05" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__ret", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "578b930f1bbdc4623534c8b13861b463" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_Match__item__brs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" + ], + 0, + "e973fe20dc4eee3e3fd443f16dce10f0" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "99aff6dc756821e411517d7c3f390f01" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__t", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "b23654e0745a4593f203efda4b2e3536" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "c01684eb24deaf1fc0c4567e28a3054b" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" + ], + 0, + "855443302b2e98e52e16e5b8c50aabc7" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__e", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "97d85318672b83e2a167c29c8006e9b8" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__c", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "6b8fa8c1768cc01203caa5cfea0828e4" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__tac", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "a80a01f47045256ea06b91690663a95a" + ], + [ + "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__use_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" + ], + 0, + "5bf0b593fcb380947b17924432bc975f" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Let__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0c417824af864c5dfeb7045b84af008c" + ], + 0, + "2e11c00bdf1978ed706e3f81d11100eb" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1" + ], + 0, + "20cbe43fcc4bef1a4b9e8a9b86f3375c" + ], + [ + "FStar.Tactics.NamedView.__proj__Sg_Val__item___0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ca9b00c9dce34c559545c63ba449a355" + ], + 0, + "33c20b6e9b201ea6f792bfa35dec5bb3" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.PatternMatching.fst.hints b/ulib/.cache/FStar.Tactics.PatternMatching.fst.hints index 85c0ce07377..22d18935cf7 100644 --- a/ulib/.cache/FStar.Tactics.PatternMatching.fst.hints +++ b/ulib/.cache/FStar.Tactics.PatternMatching.fst.hints @@ -1,5 +1,5 @@ [ - "bÐÐÉ\u0006CÈ‘Î*À3•0Å9", + "\t„{\u0000†b‡†]Î\u0010šÄepµ", [ [ "FStar.Tactics.PatternMatching.mustfail", @@ -15,7 +15,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "ae7b81f5be7e3b9164a5938d42c7dd62" + "76945191a55b95d0bbc7a79d84e90c1f" ], [ "FStar.Tactics.PatternMatching.pattern", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da23d3d181c12157b5f5772a305593f1" + "f8bf8212f7149ff36ea08558e399290b" ], [ "FStar.Tactics.PatternMatching.__proj__PVar__item__name", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_d9b8f24a6bf5cc20c41ce6c89e40c950" ], 0, - "ac667d056c8a9526dfe5d620a374cf2d" + "9946f0128754d43b325166bfd14a482d" ], [ "FStar.Tactics.PatternMatching.__proj__PQn__item__qn", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_dcacada30c995d5df0dda904debf8ade" ], 0, - "034aae7b1c505feb7fe40bcecfff2306" + "174f410f709d541ffff0823a8a822184" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__hd", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "6c56b6ddf249b6ff2340649f13b06af1" + "17ace32f75b3ce00c1c1f54180b2da1b" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__arg", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "143e763debaf8d1f4aee0e366728def9" + "c797b83c0e9ceac235926ff05e3083d3" ], [ "FStar.Tactics.PatternMatching.desc_of_pattern", @@ -103,7 +103,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern" ], 0, - "651024c6cbf9535efa7f6656fc6c52ed" + "cbde5909045ad205a775d06c005bb82f" ], [ "FStar.Tactics.PatternMatching.string_of_pattern", @@ -124,7 +124,7 @@ "subterm_ordering_FStar.Tactics.PatternMatching.PApp" ], 0, - "19d2babd70fc0a672603905b0dd02250" + "e59e5d9935ece40bc3a807d0f1850afe" ], [ "FStar.Tactics.PatternMatching.__proj__NameMismatch__item___0", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_d15f1db5894be4fd72d8d2d81b3b66a4" ], 0, - "8080ff76c084787864df472909b52cae" + "7d5e140d8a5448527c18e6007ddd5a36" ], [ "FStar.Tactics.PatternMatching.__proj__SimpleMismatch__item___0", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_db12bca470f96953211e00dbb78ca79e" ], 0, - "21978e5aad871493b606bc239e6797b0" + "d44a25b03a5ccd91701baef5b8a97920" ], [ "FStar.Tactics.PatternMatching.__proj__NonLinearMismatch__item___0", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_73b112489bf96f9d8e50c987ef430115" ], 0, - "36019e5993384c4ef92d92488e0d4b62" + "848ce436b2fcb5fecf06dc1a868986eb" ], [ "FStar.Tactics.PatternMatching.__proj__UnsupportedTermInPattern__item___0", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_58dbf4b11eef86ba37dc4ef8aba2e392" ], 0, - "81a564fb838c460386c37495c5498f7b" + "5b15c53c041b8e47f73eceb25f10ad54" ], [ "FStar.Tactics.PatternMatching.__proj__IncorrectTypeInAbsPatBinder__item___0", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_efa8ec6f8c16043b47d24fee8a829b8b" ], 0, - "31f21c06d3f481209a030c094b65f9f6" + "b496e5d59dadfc7c217261a9cbc8a3d7" ], [ "FStar.Tactics.PatternMatching.term_head", @@ -203,31 +203,30 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "disc_equation_FStar.Tactics.NamedView.Tv_Abs", + "disc_equation_FStar.Tactics.NamedView.Tv_App", + "disc_equation_FStar.Tactics.NamedView.Tv_Arrow", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "disc_equation_FStar.Tactics.NamedView.Tv_BVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Const", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Let", + "disc_equation_FStar.Tactics.NamedView.Tv_Match", + "disc_equation_FStar.Tactics.NamedView.Tv_Refine", + "disc_equation_FStar.Tactics.NamedView.Tv_Type", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_Unknown", + "disc_equation_FStar.Tactics.NamedView.Tv_Unsupp", + "disc_equation_FStar.Tactics.NamedView.Tv_Uvar", + "disc_equation_FStar.Tactics.NamedView.Tv_Var", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "projection_inverse_BoxBool_proj_0" ], 0, - "94fcbacb84f09a0fcce546924df231e8" + "a91da4b246de985696cef1c07dfdc2d5" ], [ "FStar.Tactics.PatternMatching.string_of_match_exception", @@ -244,7 +243,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_exception" ], 0, - "a06c2d43778930d1150e16d5ac3eefed" + "4c1dbddbf8a6d55d5d6006d074f695e1" ], [ "FStar.Tactics.PatternMatching.__proj__Success__item___0", @@ -258,7 +257,7 @@ "refinement_interpretation_Tm_refine_c7ba5c40c025be2c3a156f4b8aedaf8a" ], 0, - "4c9f20190dcd0e0698dd465d0154c0c3" + "f5f101416b440abb349cd73ce15f41db" ], [ "FStar.Tactics.PatternMatching.__proj__Failure__item___0", @@ -272,7 +271,7 @@ "refinement_interpretation_Tm_refine_316fd14117972ae9c59d166cb1539224" ], 0, - "96cbf788b02f68f7624fabef55906b6e" + "7e9d802c7176fc22243d709acba05810" ], [ "FStar.Tactics.PatternMatching.op_let_Question", @@ -287,7 +286,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0a3fb84630eff97fd216a2fc8e37dbd8" + "98a4fe568cecc7c1caeb39b191269118" ], [ "FStar.Tactics.PatternMatching.lift_exn_tac", @@ -308,7 +307,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "c6837e404a90ab32f5316266f39ad7c2" + "97b55ade3df5c291e08bd16df84db7f5" ], [ "FStar.Tactics.PatternMatching.lift_exn_tactic", @@ -329,7 +328,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "baefdae8ee924303c6363da7e7c49751" + "99a3220a6a6a29b9ec5c759035e84c18" ], [ "FStar.Tactics.PatternMatching.interp_pattern_aux", @@ -341,7 +340,11 @@ "FStar.Tactics.PatternMatching_pretyping_31a7406add2f09c4be2d04a6d939a4ee", "data_typing_intro_FStar.Tactics.PatternMatching.PType@tok", "disc_equation_FStar.Tactics.PatternMatching.PApp", + "disc_equation_FStar.Tactics.PatternMatching.PQn", + "disc_equation_FStar.Tactics.PatternMatching.PType", + "disc_equation_FStar.Tactics.PatternMatching.PVar", "equation_FStar.Tactics.PatternMatching.varname", + "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.string", "lemma_FStar.Pervasives.invertOption", @@ -352,7 +355,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "3005ba5fed916fc23ec66091ce619c74" + "d635285b1fff1cfdadeb2a245e29fd62" ], [ "FStar.Tactics.PatternMatching.match_term", @@ -379,7 +382,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "e92ab29fef27694da588332f88435406" + "b4845cea9e0e0cf0475ecd3b3401cb68" ], [ "FStar.Tactics.PatternMatching.string_of_matching_problem", @@ -398,7 +401,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "b34890cf96ac5b2539c3bfb3c24c7d18" + "0459a755d320c4155eb246d10c9cb1ce" ], [ "FStar.Tactics.PatternMatching.assoc_varname_fail", @@ -418,7 +421,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "6ecc5a1d1b2eda9a056c6e17475de038" + "4d8b9bfbc9ce35d1d0a72fa7bf68f384" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_single_hyp", @@ -444,7 +447,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "692bd46d4b9b3adec6f5d59b67ba0659" + "a93d284aa141fa795429fe65098f1d2d" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_hyps", @@ -456,7 +459,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b11fed120b2f735e6189ddb3320b633e" + "92f46e505c56c9e8d3f6be9c06f25fee" ], [ "FStar.Tactics.PatternMatching.solve_mp", @@ -488,7 +491,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "21cd1528d928d9c3a21eebb90a090e56" + "93be35f7ac92abd50d433fd75c71f943" ], [ "FStar.Tactics.PatternMatching.pattern_of_term", @@ -512,7 +515,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "01983d0f21450fba95e09bdb8f2149fe" + "bcf3e89a856ea24b1ff774f3bbcce995" ], [ "FStar.Tactics.PatternMatching.__proj__ABKVar__item___0", @@ -526,7 +529,7 @@ "refinement_interpretation_Tm_refine_08c29827d03e4af73e9edc0810d78998" ], 0, - "051c0e55146b921ab7c2c53abd8f50de" + "5b427f269af4c56157ed663b392a5d88" ], [ "FStar.Tactics.PatternMatching.string_of_abspat_binder_kind", @@ -541,7 +544,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "2fd92c4ebd3fc9a22b540c0735a28578" + "295d63f5cd6ebc233f4f7f61032fbe3c" ], [ "FStar.Tactics.PatternMatching.classify_abspat_binder", @@ -558,7 +561,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "fd511e6d2fbd8cb2237b92fbfc463285" + "e7de4b2cded551875139fcde909563c8" ], [ "FStar.Tactics.PatternMatching.matching_problem_of_abs", @@ -574,14 +577,16 @@ "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", "disc_equation_FStar.Tactics.PatternMatching.ABKVar", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.term", "equation_FStar.Tactics.PatternMatching.varname", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple4", "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.binder", "function_token_typing_FStar.Reflection.Types.term", "function_token_typing_Prims.string", + "kinding_FStar.Tactics.NamedView.binder@tok", "kinding_FStar.Tactics.PatternMatching.abspat_binder_kind@tok", "proj_equation_FStar.Pervasives.Native.Mktuple4__3", "projection_inverse_BoxBool_proj_0", @@ -595,7 +600,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple4__item___3" ], 0, - "5c13230f3bc2ea57725c306b2fb7a23a" + "e53cf6a50c6e5539cbdd8a30ffc5e508" ], [ "FStar.Tactics.PatternMatching.arg_type_of_binder_kind", @@ -610,7 +615,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "a04a18df9cc50f4a8a02a25e0e6f61ab" + "a43fa3361489b7df3def1c27f2173ec4" ], [ "FStar.Tactics.PatternMatching.locate_fn_of_binder_kind", @@ -625,7 +630,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "e26ff8a4c729710f4c3be06adfab801e" + "78dab007645b18de079dc12b7078aea2" ], [ "FStar.Tactics.PatternMatching.hoist_and_apply", @@ -633,12 +638,34 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "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", + "projection_inverse_Prims.Nil_a", "true_interp" ], 0, - "761f719632017854c03c2d4a0104337b" + "ba8e97629d48f7c35dc35675c32e77ca" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Print.fst.hints b/ulib/.cache/FStar.Tactics.Print.fst.hints index 409de7429f9..a94c7adedf4 100644 --- a/ulib/.cache/FStar.Tactics.Print.fst.hints +++ b/ulib/.cache/FStar.Tactics.Print.fst.hints @@ -1,5 +1,5 @@ [ - "Ì’&\u0005‘0‰8ˆZ/—b8\u001d", + "ÙhC}\u0006%ï ë.ÖUÐ}ï\r", [ [ "FStar.Tactics.Print.print_list_aux", @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b7f5e8556e7d2094432b223689fa5a3a" + "cb48c433584d25865df6cb48985673ed" ], [ "FStar.Tactics.Print.universe_to_ast_string", @@ -20,20 +20,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Uv_BVar", - "disc_equation_FStar.Reflection.Data.Uv_Max", - "disc_equation_FStar.Reflection.Data.Uv_Name", - "disc_equation_FStar.Reflection.Data.Uv_Succ", - "disc_equation_FStar.Reflection.Data.Uv_Unif", - "disc_equation_FStar.Reflection.Data.Uv_Unk", - "disc_equation_FStar.Reflection.Data.Uv_Zero", - "fuel_guarded_inversion_FStar.Reflection.Data.universe_view", + "disc_equation_FStar.Tactics.NamedView.Uv_BVar", + "disc_equation_FStar.Tactics.NamedView.Uv_Max", + "disc_equation_FStar.Tactics.NamedView.Uv_Name", + "disc_equation_FStar.Tactics.NamedView.Uv_Succ", + "disc_equation_FStar.Tactics.NamedView.Uv_Unif", + "disc_equation_FStar.Tactics.NamedView.Uv_Unk", + "disc_equation_FStar.Tactics.NamedView.Uv_Zero", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_universe_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_006f6ce78d817f5a23cf0c8e2fee52c8", - "typing_FStar.Reflection.Builtins.inspect_universe" + "typing_FStar.Tactics.NamedView.inspect_universe" ], 0, - "b167d6c7173b0edfa1265a95f14f9d31" + "592fc38ea0067634cb468326432360a9" ], [ "FStar.Tactics.Print.term_to_ast_string", @@ -42,31 +41,30 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "disc_equation_FStar.Tactics.NamedView.Tv_Abs", + "disc_equation_FStar.Tactics.NamedView.Tv_App", + "disc_equation_FStar.Tactics.NamedView.Tv_Arrow", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "disc_equation_FStar.Tactics.NamedView.Tv_BVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Const", + "disc_equation_FStar.Tactics.NamedView.Tv_FVar", + "disc_equation_FStar.Tactics.NamedView.Tv_Let", + "disc_equation_FStar.Tactics.NamedView.Tv_Match", + "disc_equation_FStar.Tactics.NamedView.Tv_Refine", + "disc_equation_FStar.Tactics.NamedView.Tv_Type", + "disc_equation_FStar.Tactics.NamedView.Tv_UInst", + "disc_equation_FStar.Tactics.NamedView.Tv_Unknown", + "disc_equation_FStar.Tactics.NamedView.Tv_Unsupp", + "disc_equation_FStar.Tactics.NamedView.Tv_Uvar", + "disc_equation_FStar.Tactics.NamedView.Tv_Var", + "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "projection_inverse_BoxBool_proj_0" ], 0, - "e888fa29444aa464b646378d30773019" + "a91da4b246de985696cef1c07dfdc2d5" ], [ "FStar.Tactics.Print.term_to_ast_string", @@ -82,19 +80,20 @@ "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Reflection.Types.match_returns_ascription", - "equation_Prims.eqtype", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.match_returns_ascription", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.binder", - "function_token_typing_FStar.Reflection.Types.comp", - "function_token_typing_FStar.Reflection.Types.match_returns_ascription", "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Tactics.NamedView.match_returns_ascription", "function_token_typing_Prims.bool", "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple3@tok", "kinding_FStar.Pervasives.either@tok", + "kinding_FStar.Reflection.V2.Data.comp_view@tok", + "kinding_FStar.Tactics.NamedView.binder@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -109,7 +108,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "46aea9f890d474fd8d44d69cb221aa0c" + "2f4f80f0182ef1bf0d44eac88eb9361d" ], [ "FStar.Tactics.Print.term_to_ast_string", @@ -118,17 +117,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.inspect_comp", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", + "projection_inverse_BoxBool_proj_0" ], 0, - "79076ae2d16f8e1fe8ebaf5470d7115b" + "755a4cfc8abdbc80bd2172165f41720c" ], [ "FStar.Tactics.Print.term_to_ast_string", @@ -137,19 +136,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_False", - "disc_equation_FStar.Reflection.Data.C_Int", - "disc_equation_FStar.Reflection.Data.C_Range", - "disc_equation_FStar.Reflection.Data.C_Reflect", - "disc_equation_FStar.Reflection.Data.C_Reify", - "disc_equation_FStar.Reflection.Data.C_String", - "disc_equation_FStar.Reflection.Data.C_True", - "disc_equation_FStar.Reflection.Data.C_Unit", - "fuel_guarded_inversion_FStar.Reflection.Data.vconst", + "disc_equation_FStar.Reflection.V2.Data.C_False", + "disc_equation_FStar.Reflection.V2.Data.C_Int", + "disc_equation_FStar.Reflection.V2.Data.C_Range", + "disc_equation_FStar.Reflection.V2.Data.C_Reflect", + "disc_equation_FStar.Reflection.V2.Data.C_Reify", + "disc_equation_FStar.Reflection.V2.Data.C_String", + "disc_equation_FStar.Reflection.V2.Data.C_True", + "disc_equation_FStar.Reflection.V2.Data.C_Unit", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.vconst", "projection_inverse_BoxBool_proj_0" ], 0, - "1bc60b3558a7a13ce2b8a38a2268982d" + "3da80366bbd5f8702fc102b9af42166c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Result.fsti.hints b/ulib/.cache/FStar.Tactics.Result.fsti.hints index 7add4553c6d..1306e018973 100644 --- a/ulib/.cache/FStar.Tactics.Result.fsti.hints +++ b/ulib/.cache/FStar.Tactics.Result.fsti.hints @@ -1,5 +1,5 @@ [ - "ãËÏ^\u001c6_>„S,êï\u0010uÚ", + "¼Íå*ýÆÊ#‰²R£;\"¿ø", [ [ "FStar.Tactics.Result.__proj__Success__item__v", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "43fd87137975426fa5951db9830034d5" + "6855a697ed82d6866c28cee4f7f2a08c" ], [ "FStar.Tactics.Result.__proj__Success__item__ps", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "510a5b90cf7170d9cecc5cbca18a3204" + "4cb38a5e6442bd92d6312e5669fad958" ], [ "FStar.Tactics.Result.__proj__Failed__item__exn", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "fdbc5ec905bf5b6e937c17a5dcbec049" + "1366c1cd3d8cc6d66f3d3c0b553036a9" ], [ "FStar.Tactics.Result.__proj__Failed__item__ps", @@ -47,22 +47,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "84706444cd1c12e217983ed6120c7888" - ], - [ - "FStar.Tactics.Result.result_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.Result.Failed", - "disc_equation_FStar.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "490ac23bf0590187f970e456e5d1fc01" + "0f5e19d1613eb1496f2891bd28aaf3d7" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.SMT.fst.hints b/ulib/.cache/FStar.Tactics.SMT.fst.hints new file mode 100644 index 00000000000..2da62d14484 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.SMT.fst.hints @@ -0,0 +1 @@ +[ "¾’u\u0002º>~Ê/k¹Rî8‹–", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Simplifier.fst.hints b/ulib/.cache/FStar.Tactics.Simplifier.fst.hints index 14407312ca6..e33aec0f762 100644 --- a/ulib/.cache/FStar.Tactics.Simplifier.fst.hints +++ b/ulib/.cache/FStar.Tactics.Simplifier.fst.hints @@ -1,5 +1,5 @@ [ - "wÕ8€ûÅ>Ãz¥Ž_IÞ·y", + "`\u0018\u001eùõl;°G¿¦áQ²Dg", [ [ "FStar.Tactics.Simplifier.lem_iff_trans", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "7651e5da08390655dd85107bff4fbebb" + "e5fd3666bb048789f7ddd6418b6e7d4c" ], [ "FStar.Tactics.Simplifier.lem_fa_false", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "07a5e2767c01a5190b65ffca542d08e0" + "e72101b405c2937fd869c55fc2ad60ef" ], [ "FStar.Tactics.Simplifier.lem_ex_true", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "7c98a8f3674b8241cdd48a481c6a27d1" + "167156e07f9711e52f026dd0ee63777c" ], [ "FStar.Tactics.Simplifier.and_cong", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "c3dc1b729071bcebc0df2a20eb1c02a9" + "f33b64497475640965c9f3be688122f5" ], [ "FStar.Tactics.Simplifier.or_cong", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "5fde09050afbfd5ec7afb0596d26f32f" + "ddc3ace350cb5e502b9564ca075063d4" ], [ "FStar.Tactics.Simplifier.imp_cong", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "933fef95f372fb3e45a6a934258359a2" + "504378b90eb960f45763c33bfc443428" ], [ "FStar.Tactics.Simplifier.fa_cong", @@ -74,7 +74,7 @@ 1, [ "@query", "true_interp" ], 0, - "75dd6cce1cd76d9f92cf2560831ac58a" + "6ec5acfc5802fbacd35fedb27010a27d" ], [ "FStar.Tactics.Simplifier.fa_cong", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "72977c8405fea4b292757dcf8a08cc0a" + "4f817197f653b2daf9c7c0ff124682fd" ], [ "FStar.Tactics.Simplifier.fa_cong", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "e6573885f9ac82a946607a9335e8e00e" + "1c3572d3ca828bfb4519830d94aa801a" ], [ "FStar.Tactics.Simplifier.ex_cong", @@ -109,7 +109,7 @@ 1, [ "@query", "true_interp" ], 0, - "92e21d2d5b16a7ca7502c57e3c60ffd7" + "3ac784aa3cb616f8c620f39009e5177a" ], [ "FStar.Tactics.Simplifier.ex_cong", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173" ], 0, - "172ef6ba80c3e142fec6340ad5c49806" + "3a37c9d3e81f6b86d60b2d0ae334fc7a" ], [ "FStar.Tactics.Simplifier.ex_cong", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173" ], 0, - "7a45c9b592656739d174eb38ccc32c02" + "be75ac10821deb834a237f5a9bb969e1" ], [ "FStar.Tactics.Simplifier.neg_cong", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "d9554969dbc524eb9a08220bf60916db" + "bc616a59bd79e28522e105726a71790c" ], [ "FStar.Tactics.Simplifier.iff_cong", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" ], 0, - "e513e1f12b878e9c31588752425152c6" + "69f357840fd84638339b719371afc6c1" ], [ "FStar.Tactics.Simplifier.inhabit", @@ -173,7 +173,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6aaed741d3038c8fba56383b5bbe19f3" + "ab0e3b27294003782fd8f704e127c940" ], [ "FStar.Tactics.Simplifier.equiv", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a4c53a7808d14b1fc5351d1c434218fc" + "8996a9cdc73b64becb8fec744774d88b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.SyntaxHelpers.fst.hints b/ulib/.cache/FStar.Tactics.SyntaxHelpers.fst.hints index e32b9f63ab4..f8c76d43967 100644 --- a/ulib/.cache/FStar.Tactics.SyntaxHelpers.fst.hints +++ b/ulib/.cache/FStar.Tactics.SyntaxHelpers.fst.hints @@ -1,85 +1 @@ -[ - "¡SEiHH‹x±yM—üë\u000fG", - [ - [ - "FStar.Tactics.SyntaxHelpers.mk_arr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" - ], - 0, - "02086481009dcc6086fe75b8f8dd0d1c" - ], - [ - "FStar.Tactics.SyntaxHelpers.mk_arr_curried", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1feb82c626050f73a81cdd3f3e20e735" - ], - [ - "FStar.Tactics.SyntaxHelpers.mk_tot_arr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" - ], - 0, - "722b92f7866ffa1b064ad141002b22b7" - ], - [ - "FStar.Tactics.SyntaxHelpers.lookup_lb_view", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Tactics.SyntaxHelpers_interpretation_Tm_arrow_9cee15d608581612622ea4ace43954b0", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Types.letbinding", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "typing_FStar.List.Tot.Base.find", - "typing_Tm_abs_221246e01212a4a5cd2192fb779fba3d" - ], - 0, - "d7f382488c625880b7420dc2a8db0a36" - ], - [ - "FStar.Tactics.SyntaxHelpers.inspect_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "equation_FStar.Reflection.Data.notAscription", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "357581bc92b665f9a059cade98c741ee" - ] - ] -] \ No newline at end of file +[ "ñÇ\\%q˜\u0019Ë*–‡»,¸ìN", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Typeclasses.fst.hints b/ulib/.cache/FStar.Tactics.Typeclasses.fst.hints index 10ec28260d1..7d54ff6e318 100644 --- a/ulib/.cache/FStar.Tactics.Typeclasses.fst.hints +++ b/ulib/.cache/FStar.Tactics.Typeclasses.fst.hints @@ -1,5 +1,5 @@ [ - "8ˆî†ÊÔ€\u0016\t\u0013T&o\"Ñ\r", + "‰@Ž¢ØîD‹ÐŠb\u001eˆ\u0000Yô", [ [ "FStar.Tactics.Typeclasses.first", @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "05f20a35c6f5405058402933029d2ea6" + "fbb8464ca2fc0245021af62e39619cac" ], [ "FStar.Tactics.Typeclasses.mk_abs", @@ -23,7 +23,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "0226674d15e6ad90547271fd9ba5b76a" + "074e90b847ae225e8d54350a4e65a557" ], [ "FStar.Tactics.Typeclasses.last", @@ -35,7 +35,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "3268b7d5c66d03d2cd3c897ff29564de" + "af804fde4f83195b43dd17cb4918cd09" ], [ "FStar.Tactics.Typeclasses.mk_class", @@ -47,46 +47,52 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", - "FStar.Reflection.Types_pretyping_193ed3b15b4f1e32b0876428f6cfe8b0", + "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", + "FStar.Tactics.NamedView_pretyping_aa11da717b0f96191732249a5f8a1b65", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", + "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Reflection.Data.Sg_Inductive", "data_elim_FStar.Tactics.Result.Success", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.Data.Sg_Inductive", + "disc_equation_FStar.Tactics.NamedView.Sg_Inductive", + "disc_equation_FStar.Tactics.NamedView.Unk", "disc_equation_FStar.Tactics.Result.Failed", + "disc_equation_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Data.ctor", - "equation_FStar.Reflection.Types.binders", "equation_FStar.Reflection.Types.name", - "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", + "equation_FStar.Reflection.V2.Data.ctor", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Tactics.NamedView.binders", + "equation_FStar.Tactics.NamedView.comp", + "equation_FStar.Tactics.NamedView.namedv", + "equation_FStar.Tactics.NamedView.term", + "equation_FStar.Tactics.Typeclasses.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.ctor", - "function_token_typing_FStar.Reflection.Types.binder", - "function_token_typing_FStar.Reflection.Types.binders", - "function_token_typing_FStar.Reflection.Types.comp", + "function_token_typing_FStar.List.Tot.Base.op_At", "function_token_typing_FStar.Reflection.Types.sigelt", + "function_token_typing_FStar.Reflection.Types.term", + "function_token_typing_FStar.Reflection.V2.Data.ctor", + "function_token_typing_FStar.Tactics.NamedView.binders", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", + "kinding_FStar.Reflection.V2.Data.comp_view@tok", + "kinding_FStar.Tactics.NamedView.binder@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "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", - "proj_equation_FStar.Reflection.Data.Sg_Inductive_cts", - "proj_equation_FStar.Reflection.Data.Sg_Inductive_params", + "proj_equation_FStar.Tactics.NamedView.Mknamed_sigelt_view__Sg_Inductive__payload_ctors", + "proj_equation_FStar.Tactics.NamedView.Sg_Inductive__0", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", @@ -96,23 +102,27 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", + "token_correspondence_FStar.Tactics.Typeclasses.op_At", + "true_interp", "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Builtins.explode_qn", - "typing_FStar.Reflection.Builtins.inspect_sigelt", - "typing_FStar.Reflection.Builtins.lookup_typ", - "typing_FStar.Reflection.Derived.name_of_binder", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Reflection.V2.Builtins.explode_qn", + "typing_FStar.Reflection.V2.Builtins.lookup_typ", + "typing_FStar.Tactics.NamedView.__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__ctors", + "typing_FStar.Tactics.NamedView.__proj__Mknamed_sigelt_view__Sg_Inductive__payload__item__params", + "typing_FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0", "typing_Prims.strcat" ], 0, - "57dfd686326965ad6d74ad9323bf30ce" + "fdaf4f08adda925d538465a63b58a7fa" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Typeclasses.fsti.hints b/ulib/.cache/FStar.Tactics.Typeclasses.fsti.hints new file mode 100644 index 00000000000..4838f415bb2 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.Typeclasses.fsti.hints @@ -0,0 +1 @@ +[ "Ã3DÔû?V±Ñ\u0002\u000fyxÅ€ª", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Types.fsti.hints b/ulib/.cache/FStar.Tactics.Types.fsti.hints index f26b0e8296c..ba45c9c1961 100644 --- a/ulib/.cache/FStar.Tactics.Types.fsti.hints +++ b/ulib/.cache/FStar.Tactics.Types.fsti.hints @@ -1 +1 @@ -[ "õ­}⨴@Œq\u000f‡\b\u0001Ž¯§", [] ] \ No newline at end of file +[ "<ƒæ­yý€#ÏW¢ÿ\u0012:ý‹", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Unseal.fsti.hints b/ulib/.cache/FStar.Tactics.Unseal.fsti.hints new file mode 100644 index 00000000000..4350155f527 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.Unseal.fsti.hints @@ -0,0 +1 @@ +[ "oã3s©\u001dÑö[—\u001cr\u0019qË:", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Util.fst.hints b/ulib/.cache/FStar.Tactics.Util.fst.hints index 769c57dbb35..0ade6650378 100644 --- a/ulib/.cache/FStar.Tactics.Util.fst.hints +++ b/ulib/.cache/FStar.Tactics.Util.fst.hints @@ -1,5 +1,5 @@ [ - "ßØÆÊ‘Ë›·µï\u0003ˆý~–Ë", + "»jìíI¡½Œû\u0017¡QØÏY³", [ [ "FStar.Tactics.Util.map", @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "26019bac9269680a67f5c701f728bd94" + "5fa6a0f583b4952d96ea8e93bd0687fe" ], [ "FStar.Tactics.Util.__mapi", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "54c38a2b227b740db324a2de7dbc4f00" + "344cce76169d1ccfc2a9e31d2ee5122d" ], [ "FStar.Tactics.Util.iter", @@ -40,7 +40,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "d4027bde686358e7de1743d9ebc07d0f" + "827f3c570fc854dd0dda0d6111eec2bb" ], [ "FStar.Tactics.Util.iteri_aux", @@ -53,7 +53,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4b74ee9527f6f20732e28044325cb7ba" + "ee7504696492980dee22eb7b5cc03e5a" ], [ "FStar.Tactics.Util.fold_left", @@ -65,7 +65,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b2756e8d013e5bfdaaca2c7a55590035" + "70f8861111975e4279d6d0acd0592c8e" ], [ "FStar.Tactics.Util.fold_right", @@ -77,7 +77,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "350245ae8044312a767bc1a3af070a5a" + "4b8165aea641d59d89a26f780623056b" ], [ "FStar.Tactics.Util.filter", @@ -90,7 +90,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "72f52ff922e83d358ad7f26c640e8c3a" + "37f67be540dc7c5705ae978bafead7bc" ], [ "FStar.Tactics.Util.filter_map_acc", @@ -108,7 +108,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "3f2c8a637026fadf63b1495166cd60b4" + "3c4ea57078c17541b5e79d7c92703ca0" ], [ "FStar.Tactics.Util.tryPick", @@ -125,7 +125,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "10aab95db567c3cdb1d516d167f20fe7" + "8341e80d29f0cafaaa2951c9aef33ddc" ], [ "FStar.Tactics.Util.map_opt", @@ -134,7 +134,7 @@ 0, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "eeb33ba0b2fa71fedf1f7a9d8850ee3b" + "c9ee22a09813186ebacf8ba0ea719815" ], [ "FStar.Tactics.Util.tryFind", @@ -147,7 +147,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b6e8d99cde81192e08ffcaefa7d76e82" + "d7e8ee3dc90ad7eed958109e278fa73f" ], [ "FStar.Tactics.Util.fold_left2", @@ -178,7 +178,20 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "0aca2cc2969200d9598b5037b8eb9891" + "cd8deac33a5fb27b02617a5895c22169" + ], + [ + "FStar.Tactics.Util.string_of_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "7bbf7ac6b9eb87ab850293bbb89f37ad" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V1.Builtins.fsti.hints b/ulib/.cache/FStar.Tactics.V1.Builtins.fsti.hints new file mode 100644 index 00000000000..96500e3aefb --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V1.Builtins.fsti.hints @@ -0,0 +1 @@ +[ "&ÁÀ\u0005*èbeã²Éàð¢¨", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V1.Derived.fst.hints b/ulib/.cache/FStar.Tactics.V1.Derived.fst.hints new file mode 100644 index 00000000000..5537d0f8e9f --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V1.Derived.fst.hints @@ -0,0 +1,632 @@ +[ + "ºcÍà›ßÓ\u0010cƒ\u0007Á¸j¼", + [ + [ + "FStar.Tactics.V1.Derived.fail", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok" + ], + 0, + "2bb1a80b99ae50a4f9de92348d7ac5e4" + ], + [ + "FStar.Tactics.V1.Derived.fail_silently", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Tactics.Types_pretyping_44d92714caae41c1068a904c983c4672", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok", + "disc_equation_FStar.Tactics.Result.Success", + "projection_inverse_BoxBool_proj_0", "string_inversion" + ], + 0, + "fafb490a650f123f268557803b6d8ef8" + ], + [ + "FStar.Tactics.V1.Derived._cur_goal", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "a62bd07baa906267c82f1a8d8d88db50" + ], + [ + "FStar.Tactics.V1.Derived.cur_goal_safe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Result.Success@tok", + "disc_equation_Prims.Cons", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Tactics.Types.goal", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "typing_FStar.Tactics.Types.goals_of" + ], + 0, + "a0acc595482af36c3e1aa2c15a7adc93" + ], + [ + "FStar.Tactics.V1.Derived.run_tactic", + 1, + 2, + 1, + [ "@query" ], + 0, + "474a93e1b785ed7c97374f9111b57879" + ], + [ + "FStar.Tactics.V1.Derived.dismiss", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "a62bd07baa906267c82f1a8d8d88db50" + ], + [ + "FStar.Tactics.V1.Derived.flip", + 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", + "function_token_typing_FStar.Tactics.Types.goal", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "typing_Prims.__proj__Cons__item__tl" + ], + 0, + "89fcd7204d22ecebd140e8e92cc1390b" + ], + [ + "FStar.Tactics.V1.Derived.smt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Tactics.Types.goal", + "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "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", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" + ], + 0, + "f93755cf4a748eefbc6ca465b71daa2b" + ], + [ + "FStar.Tactics.V1.Derived.divide", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "int_inversion", "primitive_Prims.op_LessThan", + "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" + ], + 0, + "a3e388de8db519a0caa5c6c946ea87c2" + ], + [ + "FStar.Tactics.V1.Derived.iseq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "85ad0108c9c28c996faa52df5084d334" + ], + [ + "FStar.Tactics.V1.Derived.focus", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f97e1c3dcd95f0bba45058e2397ec076" + ], + [ + "FStar.Tactics.V1.Derived.mapAll", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f97e1c3dcd95f0bba45058e2397ec076" + ], + [ + "FStar.Tactics.V1.Derived.iterAll", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "6b61be8465c672665757cc8483e73589" + ], + [ + "FStar.Tactics.V1.Derived.guard", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok", + "data_typing_intro_FStar.Tactics.Result.Success@tok", + "disc_equation_FStar.Tactics.Result.Failed", + "disc_equation_FStar.Tactics.Result.Success", + "equation_FStar.Pervasives.pattern", + "function_token_typing_FStar.Pervasives.pattern", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Tactics.Result.Success_ps", + "projection_inverse_BoxBool_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", "string_typing" + ], + 0, + "bf74c8cac79ccae8e6e72421d13de8af" + ], + [ + "FStar.Tactics.V1.Derived.try_with", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.V1.Derived.Goal_not_trivial@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "disc_equation_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Pervasives.either", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "25fc9348b3873d731eef80b84549fa02" + ], + [ + "FStar.Tactics.V1.Derived.repeat", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.V1.Derived.Goal_not_trivial@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "disc_equation_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Pervasives.either", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "b24aab069c7c0fdb60811284da053601" + ], + [ + "FStar.Tactics.V1.Derived.revert_all", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "47f639a7bd92c93a832429069b74c899" + ], + [ + "FStar.Tactics.V1.Derived.__assumption_aux", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "d9d9213bc9ae90a6acf8128fe7a66cf2" + ], + [ + "FStar.Tactics.V1.Derived.__eq_sym", + 1, + 2, + 1, + [ "@query" ], + 0, + "ac5cd4505102eec8eb4257aadf643599" + ], + [ + "FStar.Tactics.V1.Derived.try_rewrite_equality", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "284b14bd644ff6abbdaebc50b942aa02" + ], + [ + "FStar.Tactics.V1.Derived.rewrite_all_context_equalities", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "88b46bdd51c261b4cbc5cea23b97d48c" + ], + [ + "FStar.Tactics.V1.Derived.__un_sq_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "4c56a26b4efb5181532d0e91f74ad410" + ], + [ + "FStar.Tactics.V1.Derived.push1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" + ], + 0, + "9f72902f2d6a4f40afa5d705902b356c" + ], + [ + "FStar.Tactics.V1.Derived.push1'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" + ], + 0, + "a115ea82addbb9b65d0ea0c7c365b1ea" + ], + [ + "FStar.Tactics.V1.Derived.apply_squash_or_lem", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", + "constructor_distinct_FStar.Tactics.Result.Failed", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V1.Formula.False_@tok", + "disc_equation_FStar.Reflection.V1.Data.C_Total", + "equation_FStar.Reflection.Types.typ", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.comp", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "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", + "refinement_interpretation_Tm_refine_1da80b8d10b61c766ff8e467df7dd950", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d07a17fce4c7fc461beb3e8203b764ee", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_FStar.Reflection.V1.Builtins.inspect_comp", + "typing_FStar.Reflection.V1.Data.__proj__C_Total__item__ret", + "typing_FStar.Reflection.V1.Derived.unsquash_term" + ], + 0, + "c88fe514ad66cb52894a80498978e242" + ], + [ + "FStar.Tactics.V1.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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "8c23063f79acd442285a340159058555" + ], + [ + "FStar.Tactics.V1.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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "8c23063f79acd442285a340159058555" + ], + [ + "FStar.Tactics.V1.Derived.extract_nth", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "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", "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Equality", "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_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "well-founded-ordering-on-nat" + ], + 0, + "a75ffcf9e5fed8e8a382d79270063350" + ], + [ + "FStar.Tactics.V1.Derived.bump_nth", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "equation_Prims.pos", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Tactics.Types.goal", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Subtraction", "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_774ba3f728d91ead8ef40be66c9802e5" + ], + 0, + "9edc56e48caf57997f9b9e37168faa6a" + ], + [ + "FStar.Tactics.V1.Derived.destruct_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" + ], + 0, + "21dcfa2b871f4b6e80d39695a7e6c3f1" + ], + [ + "FStar.Tactics.V1.Derived.get_match_body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "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", + "typing_FStar.Reflection.V1.Derived.unsquash_term" + ], + 0, + "bbd92093ca126d0668264d325d77fe57" + ], + [ + "FStar.Tactics.V1.Derived.last", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "10a36ce43a02d057e98ed19b7eb45a1e" + ], + [ + "FStar.Tactics.V1.Derived.nth_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", + "@query", "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Reflection.Types.binders", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.binder", + "int_inversion", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_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", + "typing_FStar.List.Tot.Base.nth" + ], + 0, + "8497e19bddd3766c746dfd2729035c96" + ], + [ + "FStar.Tactics.V1.Derived.mk_abs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "9cd14b649864b76f06d9efe9b007d644" + ], + [ + "FStar.Tactics.V1.Derived.lem_trans", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "2df0adb16dedafa334af1e4400e8914a" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V1.Logic.fst.hints b/ulib/.cache/FStar.Tactics.V1.Logic.fst.hints new file mode 100644 index 00000000000..596f4673893 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V1.Logic.fst.hints @@ -0,0 +1,237 @@ +[ + "÷þéjq7\u0006€âZ\fdø¡$ö", + [ + [ + "FStar.Tactics.V1.Logic.revert_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" + ], + 0, + "3b6d579ec348740392ed058f3f779d84" + ], + [ + "FStar.Tactics.V1.Logic.l_revert_all", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.binders", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "e948bfb1b7fa28601e17b693fb2affe5" + ], + [ + "FStar.Tactics.V1.Logic.split_lem", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "db428997e78533b0653bd3e54d9b3d1e" + ], + [ + "FStar.Tactics.V1.Logic.imp_intro_lem", + 1, + 2, + 1, + [ "@query" ], + 0, + "b6d6bd6d72c7eb6931c1995ff10ca6ee" + ], + [ + "FStar.Tactics.V1.Logic.__lemma_to_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "485f33411dd2dff6386842653e9fe663" + ], + [ + "FStar.Tactics.V1.Logic.simplify_eq_implication", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V1.Formula.False_@tok", + "equation_FStar.Reflection.Types.typ", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V1.Formula.formula@tok", + "lemma_FStar.Pervasives.invertOption" + ], + 0, + "07d87ee61eaa607099887df5e3b6a2d0" + ], + [ + "FStar.Tactics.V1.Logic.unfold_definition_and_simplify_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V1.Formula.False_@tok", + "equation_FStar.Reflection.Types.typ", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V1.Formula.formula@tok", + "lemma_FStar.Pervasives.invertOption" + ], + 0, + "5a0c86f49533c5aa90fc128e9abb4006" + ], + [ + "FStar.Tactics.V1.Logic.vbind", + 1, + 2, + 1, + [ "@query" ], + 0, + "999839edcc9703884226ef72ac12129b" + ], + [ + "FStar.Tactics.V1.Logic.or_ind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d", + "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" + ], + 0, + "815f199a9bede9e7796ef31f8e57b192" + ], + [ + "FStar.Tactics.V1.Logic.bool_ind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "refinement_interpretation_Tm_refine_ce68865ee89c16a426a5f72d4d69b452", + "refinement_interpretation_Tm_refine_f43a14ea418029049992089ed14dc4a2" + ], + 0, + "9c448a2cc3ac26d80c458786d6d6c690" + ], + [ + "FStar.Tactics.V1.Logic.or_intro_1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "d32267abf4d271e9e9f3a0ed43cb4914" + ], + [ + "FStar.Tactics.V1.Logic.or_intro_2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "b0d41337cea38bde4e96235f05b9b811" + ], + [ + "FStar.Tactics.V1.Logic.__and_elim", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", + "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" + ], + 0, + "b15a5ada7032ba0b0ac99ce1edd39fc0" + ], + [ + "FStar.Tactics.V1.Logic.__and_elim'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", + "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" + ], + 0, + "ebd162908911337c34dec3e5a4a919d9" + ], + [ + "FStar.Tactics.V1.Logic.__witness", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "8a8789a4bef2e93861b7262e6c2053b7" + ], + [ + "FStar.Tactics.V1.Logic.__forall_inst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" + ], + 0, + "8aee83a6eecdd226a6455b8e79eac625" + ], + [ + "FStar.Tactics.V1.Logic.sklem0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" + ], + 0, + "bedeff84a808f134b6da9c6c19041928" + ], + [ + "FStar.Tactics.V1.Logic.lemma_from_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "0a43f83034c90b2310c3e4c7ca56e3f7" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V1.SyntaxHelpers.fst.hints b/ulib/.cache/FStar.Tactics.V1.SyntaxHelpers.fst.hints new file mode 100644 index 00000000000..a8953ed891e --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V1.SyntaxHelpers.fst.hints @@ -0,0 +1,87 @@ +[ + "Sk#4|ìÙ‘3y£4\u000b", + [ + [ + "FStar.Tactics.V1.SyntaxHelpers.mk_arr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "10ca387b978c75e60dcd6d04aa3a97fa" + ], + [ + "FStar.Tactics.V1.SyntaxHelpers.mk_arr_curried", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "cb543fc49edfa9315a3cb6a1fc5a2c53" + ], + [ + "FStar.Tactics.V1.SyntaxHelpers.mk_tot_arr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "633b3fdf37f5970563719a967dd0f81b" + ], + [ + "FStar.Tactics.V1.SyntaxHelpers.lookup_lb_view", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Tactics.V1.SyntaxHelpers_interpretation_Tm_arrow_9cee15d608581612622ea4ace43954b0", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Reflection.Types.letbinding", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", + "typing_FStar.List.Tot.Base.find", + "typing_Tm_abs_37868cdadba52273508e4e7efc2080db" + ], + 0, + "a4e1053d88707015f729a34e75e00f36" + ], + [ + "FStar.Tactics.V1.SyntaxHelpers.inspect_unascribe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V1.Data.Tv_AscribedT", + "equation_FStar.Reflection.V1.Data.notAscription", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "7b5351e8bd6ce0e8f96cca2c10ccef54" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V1.fst.hints b/ulib/.cache/FStar.Tactics.V1.fst.hints new file mode 100644 index 00000000000..3c7b5b98402 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V1.fst.hints @@ -0,0 +1 @@ +[ "JŽ\u000b’õ@û«¿‚T\u0015(>#a", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.Builtins.fsti.hints b/ulib/.cache/FStar.Tactics.V2.Builtins.fsti.hints new file mode 100644 index 00000000000..e25a56aac37 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.Builtins.fsti.hints @@ -0,0 +1 @@ +[ "\"ľ³\u001f=Sh×QmŽ@©Õs", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.Derived.fst.hints b/ulib/.cache/FStar.Tactics.V2.Derived.fst.hints new file mode 100644 index 00000000000..8002d959f47 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.Derived.fst.hints @@ -0,0 +1,728 @@ +[ + "z¥üK¾\u001b$\u0010[„4ˆn\u0001Àw", + [ + [ + "FStar.Tactics.V2.Derived.fail", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok" + ], + 0, + "120d9e3b7daeecfd47f6a885d0089fc9" + ], + [ + "FStar.Tactics.V2.Derived.fail_silently", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Tactics.Types_pretyping_44d92714caae41c1068a904c983c4672", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok", + "disc_equation_FStar.Tactics.Result.Success", + "projection_inverse_BoxBool_proj_0", "string_inversion" + ], + 0, + "612d35e39d772ab3158ee32ef5e0f476" + ], + [ + "FStar.Tactics.V2.Derived._cur_goal", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "a62bd07baa906267c82f1a8d8d88db50" + ], + [ + "FStar.Tactics.V2.Derived.cur_goal_safe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Result.Success@tok", + "disc_equation_Prims.Cons", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Tactics.Types.goal", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.Result.Success_a", + "projection_inverse_FStar.Tactics.Result.Success_ps", + "projection_inverse_FStar.Tactics.Result.Success_v", + "typing_FStar.Tactics.Types.goals_of" + ], + 0, + "a9040ad9b97fe6a72e324d77911b9dd7" + ], + [ + "FStar.Tactics.V2.Derived.run_tactic", + 1, + 2, + 1, + [ "@query" ], + 0, + "c3b883172d4c8d9be6f3602578ce7369" + ], + [ + "FStar.Tactics.V2.Derived.dismiss", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "a62bd07baa906267c82f1a8d8d88db50" + ], + [ + "FStar.Tactics.V2.Derived.flip", + 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", + "function_token_typing_FStar.Tactics.Types.goal", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "typing_Prims.__proj__Cons__item__tl" + ], + 0, + "89fcd7204d22ecebd140e8e92cc1390b" + ], + [ + "FStar.Tactics.V2.Derived.smt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Tactics.Types.goal", + "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "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", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" + ], + 0, + "ec03717722510e613bbaec10cc41fca1" + ], + [ + "FStar.Tactics.V2.Derived.divide", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "int_inversion", "primitive_Prims.op_LessThan", + "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" + ], + 0, + "3036b9fbd3c02dab3585929697e2d6e7" + ], + [ + "FStar.Tactics.V2.Derived.iseq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "292f6d342736cc8a0de6c90296ed9855" + ], + [ + "FStar.Tactics.V2.Derived.focus", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f97e1c3dcd95f0bba45058e2397ec076" + ], + [ + "FStar.Tactics.V2.Derived.mapAll", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f97e1c3dcd95f0bba45058e2397ec076" + ], + [ + "FStar.Tactics.V2.Derived.iterAll", + 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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "6b61be8465c672665757cc8483e73589" + ], + [ + "FStar.Tactics.V2.Derived.fresh_namedv_named", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" + ], + 0, + "c2a75afc88171cec4bb304eb65cb6927" + ], + [ + "FStar.Tactics.V2.Derived.fresh_namedv", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "string_typing", "true_interp" + ], + 0, + "cba00f700c8bb228f0af4969c2354b7f" + ], + [ + "FStar.Tactics.V2.Derived.fresh_binder_named", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_Prims.Nil_a", "true_interp" + ], + 0, + "802d003aea7cbf5120b13ecf46b31268" + ], + [ + "FStar.Tactics.V2.Derived.fresh_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Sealed.Inhabited.is_sealed", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_Prims.Nil_a", "string_typing", "true_interp" + ], + 0, + "bd091f7c6dddd037804e60d064b42d9b" + ], + [ + "FStar.Tactics.V2.Derived.fresh_implicit_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "string_typing", "true_interp" + ], + 0, + "120afc3052664100eef44378c9e4c5d3" + ], + [ + "FStar.Tactics.V2.Derived.guard", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.Common.TacticFailure@tok", + "data_typing_intro_FStar.Tactics.Result.Failed@tok", + "data_typing_intro_FStar.Tactics.Result.Success@tok", + "disc_equation_FStar.Tactics.Result.Failed", + "disc_equation_FStar.Tactics.Result.Success", + "equation_FStar.Pervasives.pattern", + "function_token_typing_FStar.Pervasives.pattern", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Tactics.Result.Success_ps", + "projection_inverse_BoxBool_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", "string_typing" + ], + 0, + "1a074f008ec606e3a04f9b2f3e855fcf" + ], + [ + "FStar.Tactics.V2.Derived.try_with", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "disc_equation_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Pervasives.either", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "25fc9348b3873d731eef80b84549fa02" + ], + [ + "FStar.Tactics.V2.Derived.repeat", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Tactics.V2.Derived.Goal_not_trivial@tok", + "disc_equation_FStar.Pervasives.Inl", + "disc_equation_FStar.Pervasives.Inr", + "disc_equation_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Pervasives.either", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "b24aab069c7c0fdb60811284da053601" + ], + [ + "FStar.Tactics.V2.Derived.revert_all", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "6af6056b2a620b17d7e28a12eaeec251" + ], + [ + "FStar.Tactics.V2.Derived.__assumption_aux", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "5f8a9ad4142e01870b04fc54a9d791a0" + ], + [ + "FStar.Tactics.V2.Derived.__eq_sym", + 1, + 2, + 1, + [ "@query" ], + 0, + "e84d26187b1fbaa1a4217b0cd95e9289" + ], + [ + "FStar.Tactics.V2.Derived.try_rewrite_equality", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "ef0fe8d75438f702cd9941c1801223e9" + ], + [ + "FStar.Tactics.V2.Derived.rewrite_all_context_equalities", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "bd1ca571f09af4b4a5c578e5671c1235" + ], + [ + "FStar.Tactics.V2.Derived.__un_sq_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "4793deb7842882e5b5dd75190ee85192" + ], + [ + "FStar.Tactics.V2.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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "8c23063f79acd442285a340159058555" + ], + [ + "FStar.Tactics.V2.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", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "8c23063f79acd442285a340159058555" + ], + [ + "FStar.Tactics.V2.Derived.extract_nth", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "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", "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Equality", "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_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "well-founded-ordering-on-nat" + ], + 0, + "92fed90969799ca27486030107c3ee1a" + ], + [ + "FStar.Tactics.V2.Derived.bump_nth", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "equation_Prims.pos", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Tactics.Types.goal", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Subtraction", "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_774ba3f728d91ead8ef40be66c9802e5" + ], + 0, + "a11c75f5bc063bd213e45a3145e03c26" + ], + [ + "FStar.Tactics.V2.Derived.destruct_list", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "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_414d0a9f578ab0048252f8c8f552b99f", + "typing_FStar.Reflection.Types.name" + ], + 0, + "354e38ade8cc0217c79e8ae1edce652b" + ], + [ + "FStar.Tactics.V2.Derived.get_match_body", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "lemma_FStar.Pervasives.invertOption", + "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", + "typing_FStar.Reflection.V2.Derived.unsquash_term" + ], + 0, + "e92f9caf87b33c4f849bff6ed6ae0814" + ], + [ + "FStar.Tactics.V2.Derived.last", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "1ac831866991b785f2865f63d945e012" + ], + [ + "FStar.Tactics.V2.Derived.nth_var", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", + "@query", "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Tactics.Result.Success", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Tactics.NamedView.binding", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "int_inversion", "kinding_FStar.Reflection.V2.Data.binding@tok", + "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_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", + "typing_FStar.List.Tot.Base.nth" + ], + 0, + "2e5d1ad31f60bf1cfcdbe7207fd202c2" + ], + [ + "FStar.Tactics.V2.Derived.mk_abs", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "0a1a21921986367cccbb2897ac2a1f87" + ], + [ + "FStar.Tactics.V2.Derived.namedv_to_simple_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_Prims.Nil_a" + ], + 0, + "a0f9cf8af4199732d5a04288250bab98" + ], + [ + "FStar.Tactics.V2.Derived.binding_to_simple_binder", + 1, + 2, + 1, + [ + "@query", "constructor_distinct_FStar.Reflection.V2.Data.Q_Explicit", + "constructor_distinct_Prims.Nil", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", + "equality_tok_FStar.Reflection.V2.Data.Q_Explicit@tok", + "equation_FStar.Tactics.NamedView.is_simple_binder", + "equation_FStar.Tactics.NamedView.term", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", + "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", + "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", + "projection_inverse_Prims.Nil_a" + ], + 0, + "2fb27a62657f8e1b84f0caa2d9a39edb" + ], + [ + "FStar.Tactics.V2.Derived.lem_trans", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" + ], + 0, + "7d77fa6401bd7f580cf5b66253a14120" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.Logic.fst.hints b/ulib/.cache/FStar.Tactics.V2.Logic.fst.hints new file mode 100644 index 00000000000..615f31fa82b --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.Logic.fst.hints @@ -0,0 +1,240 @@ +[ + "…þš\u001dÆÊÚ\u0002+¡zòâT\u001b", + [ + [ + "FStar.Tactics.V2.Logic.revert_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" + ], + 0, + "d5844c150018fbac66c710a4a98c64a8" + ], + [ + "FStar.Tactics.V2.Logic.l_revert_all", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "equation_FStar.Tactics.NamedView.binding", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "2f87f91ac1d9a7b1151223e63d3adafa" + ], + [ + "FStar.Tactics.V2.Logic.split_lem", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "991594cec8393b48b71a43faf2e71233" + ], + [ + "FStar.Tactics.V2.Logic.imp_intro_lem", + 1, + 2, + 1, + [ "@query" ], + 0, + "f748c2ae6e596ca6a6549d5d57fa5480" + ], + [ + "FStar.Tactics.V2.Logic.__lemma_to_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "ffe37df31c3873ce9c0615ffd1fd8ea1" + ], + [ + "FStar.Tactics.V2.Logic.simplify_eq_implication", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Formula.formula@tok", + "lemma_FStar.Pervasives.invertOption" + ], + 0, + "ed34a2ac0aa19a8641e2dbe4ff91a0fd" + ], + [ + "FStar.Tactics.V2.Logic.unfold_definition_and_simplify_eq", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V2.Formula.False_@tok", + "equation_FStar.Reflection.Types.typ", + "equation_FStar.Tactics.NamedView.term", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "function_token_typing_FStar.Reflection.Types.term", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Reflection.V2.Formula.formula@tok", + "lemma_FStar.Pervasives.invertOption" + ], + 0, + "e5481f40fa31a8ca6231e93c9d46ccd0" + ], + [ + "FStar.Tactics.V2.Logic.vbind", + 1, + 2, + 1, + [ "@query" ], + 0, + "78de4c9e6434801c805e49988e4c51cb" + ], + [ + "FStar.Tactics.V2.Logic.or_ind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d", + "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" + ], + 0, + "bc43a756b49fb34cd4555e822769fe85" + ], + [ + "FStar.Tactics.V2.Logic.bool_ind", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "refinement_interpretation_Tm_refine_ce68865ee89c16a426a5f72d4d69b452", + "refinement_interpretation_Tm_refine_f43a14ea418029049992089ed14dc4a2" + ], + 0, + "4129be36a0dfd54c53fae6aed857532e" + ], + [ + "FStar.Tactics.V2.Logic.or_intro_1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "947aa28702a51ca2cfa699a076bb9706" + ], + [ + "FStar.Tactics.V2.Logic.or_intro_2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "149284301f40ed3fc53b20d95732b881" + ], + [ + "FStar.Tactics.V2.Logic.__and_elim", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", + "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" + ], + 0, + "abed77e7829556bc42df0d71a3b07ad8" + ], + [ + "FStar.Tactics.V2.Logic.__and_elim'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", + "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" + ], + 0, + "30f8aa0eebc77616733e0ecc470e3f97" + ], + [ + "FStar.Tactics.V2.Logic.__witness", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "365b5a0be779d7ace24b9a49beabab17" + ], + [ + "FStar.Tactics.V2.Logic.__forall_inst", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" + ], + 0, + "70eabbfe02a8c220e2906d6d2b1f955a" + ], + [ + "FStar.Tactics.V2.Logic.sklem0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" + ], + 0, + "129ebb80bd4e4537b7545a5a6a4d1fb6" + ], + [ + "FStar.Tactics.V2.Logic.lemma_from_squash", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "de7b342cd2b64855ab4f035b942ed2cf" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.SyntaxCoercions.fst.hints b/ulib/.cache/FStar.Tactics.V2.SyntaxCoercions.fst.hints new file mode 100644 index 00000000000..88788cbcfff --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.SyntaxCoercions.fst.hints @@ -0,0 +1 @@ +[ "A‹I{Âì\"™ñ{ËBáŽJ", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.SyntaxHelpers.fst.hints b/ulib/.cache/FStar.Tactics.V2.SyntaxHelpers.fst.hints new file mode 100644 index 00000000000..103ca0bbd81 --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.SyntaxHelpers.fst.hints @@ -0,0 +1,74 @@ +[ + "ÅÐM\u0007ÅZˆá\u0016¹c\u0003\u0004£\u001e¸", + [ + [ + "FStar.Tactics.V2.SyntaxHelpers.mk_arr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "46de2ec0cc9a441d54ddac3636b7c41f" + ], + [ + "FStar.Tactics.V2.SyntaxHelpers.mk_tot_arr", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "89777abbacb89afa2887d26576d519a9" + ], + [ + "FStar.Tactics.V2.SyntaxHelpers.lookup_lb", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Tactics.V2.SyntaxHelpers_interpretation_Tm_arrow_374c03c1cfa24243255001ac8638abdc", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", + "kinding_FStar.Tactics.NamedView.letbinding@tok", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", + "typing_FStar.List.Tot.Base.find", + "typing_Tm_abs_05615d89f55dc02b0e27fc2e9c82ea85" + ], + 0, + "63e842847fbf5732b1b947a17e2c517d" + ], + [ + "FStar.Tactics.V2.SyntaxHelpers.inspect_unascribe", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedC", + "disc_equation_FStar.Tactics.NamedView.Tv_AscribedT", + "equation_FStar.Tactics.NamedView.notAscription", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "8999ee90a31a0aa59508bcaa1bb48ced" + ] + ] +] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.V2.fst.hints b/ulib/.cache/FStar.Tactics.V2.fst.hints new file mode 100644 index 00000000000..e3f6fd7850b --- /dev/null +++ b/ulib/.cache/FStar.Tactics.V2.fst.hints @@ -0,0 +1 @@ +[ "¯O\f\t@ÔaÆqù¤-âk", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.Visit.fst.hints b/ulib/.cache/FStar.Tactics.Visit.fst.hints index 4cb62fb3fc1..b897330ae8a 100644 --- a/ulib/.cache/FStar.Tactics.Visit.fst.hints +++ b/ulib/.cache/FStar.Tactics.Visit.fst.hints @@ -1,6 +1,48 @@ [ - "ÕÁ|þ%U7Í’EýˆÓ‘L", + "Þª´ƒmè BþË*ìWe\u0001e", [ + [ + "FStar.Tactics.Visit.on_sort_simple_binder", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Reflection.V2.Data_pretyping_7b3ccabe23cca8c272ef0af89dbfe4e9", + "bool_inversion", "constructor_distinct_FStar.Tactics.Result.Failed", + "constructor_distinct_FStar.Tactics.Result.Success", + "data_elim_FStar.Reflection.V2.Data.Mkbinder_view", + "data_elim_FStar.Tactics.Result.Success", + "data_typing_intro_FStar.Reflection.V2.Data.Mkbinder_view@tok", + "data_typing_intro_FStar.Reflection.V2.Data.Q_Explicit@tok", + "disc_equation_FStar.Reflection.V2.Data.Q_Explicit", + "disc_equation_Prims.Nil", "equation_FStar.Reflection.Types.typ", + "equation_FStar.Reflection.V2.Data.simple_binder", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.binder_view", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "lemma_FStar.Reflection.V2.Builtins.simple_binder_defn", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_ppname", + "proj_equation_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_attrs", + "projection_inverse_FStar.Reflection.V2.Data.Mkbinder_view_qual", + "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_59ec70b79e7a0b94aa012278910238fd", + "refinement_interpretation_Tm_refine_f8add969ed520f10123d9e882319340e", + "typing_FStar.Reflection.V2.Builtins.inspect_binder", + "typing_FStar.Reflection.V2.Builtins.pack_binder", + "typing_FStar.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", + "typing_FStar.Reflection.V2.Data.binder_is_simple" + ], + 0, + "b3fde8d338fcf15c3cc4d04eac3306c6" + ], [ "FStar.Tactics.Visit.visit_tm", 1, @@ -13,27 +55,28 @@ "data_elim_FStar.Pervasives.Native.Mktuple3", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Reflection.Data.Tv_Abs", - "disc_equation_FStar.Reflection.Data.Tv_App", - "disc_equation_FStar.Reflection.Data.Tv_Arrow", - "disc_equation_FStar.Reflection.Data.Tv_AscribedC", - "disc_equation_FStar.Reflection.Data.Tv_AscribedT", - "disc_equation_FStar.Reflection.Data.Tv_BVar", - "disc_equation_FStar.Reflection.Data.Tv_Const", - "disc_equation_FStar.Reflection.Data.Tv_FVar", - "disc_equation_FStar.Reflection.Data.Tv_Let", - "disc_equation_FStar.Reflection.Data.Tv_Match", - "disc_equation_FStar.Reflection.Data.Tv_Refine", - "disc_equation_FStar.Reflection.Data.Tv_Type", - "disc_equation_FStar.Reflection.Data.Tv_UInst", - "disc_equation_FStar.Reflection.Data.Tv_Unknown", - "disc_equation_FStar.Reflection.Data.Tv_Uvar", - "disc_equation_FStar.Reflection.Data.Tv_Var", + "disc_equation_FStar.Reflection.V2.Data.Tv_Abs", + "disc_equation_FStar.Reflection.V2.Data.Tv_App", + "disc_equation_FStar.Reflection.V2.Data.Tv_Arrow", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedC", + "disc_equation_FStar.Reflection.V2.Data.Tv_AscribedT", + "disc_equation_FStar.Reflection.V2.Data.Tv_BVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Const", + "disc_equation_FStar.Reflection.V2.Data.Tv_FVar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Let", + "disc_equation_FStar.Reflection.V2.Data.Tv_Match", + "disc_equation_FStar.Reflection.V2.Data.Tv_Refine", + "disc_equation_FStar.Reflection.V2.Data.Tv_Type", + "disc_equation_FStar.Reflection.V2.Data.Tv_UInst", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unknown", + "disc_equation_FStar.Reflection.V2.Data.Tv_Unsupp", + "disc_equation_FStar.Reflection.V2.Data.Tv_Uvar", + "disc_equation_FStar.Reflection.V2.Data.Tv_Var", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Reflection.Data.term_view", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.term_view", "fuel_guarded_inversion_FStar.Tactics.Result.__result", "function_token_typing_FStar.Reflection.Types.binder", "function_token_typing_FStar.Reflection.Types.comp", @@ -45,13 +88,13 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2ec6ce5a1e7a7fbf7c3d0a16c7b15719", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_89eb48691f77287fc28fe1ec5c75f42c", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Reflection.Builtins.inspect_ln" + "typing_FStar.Reflection.V2.Builtins.inspect_ln" ], 0, - "f4262f62903bbbe0f171dd3c60bca068" + "ba1d9bc06f26c61ca288e9c4a35bcd1c" ], [ "FStar.Tactics.Visit.visit_tm", @@ -60,16 +103,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.Pat_Cons", - "disc_equation_FStar.Reflection.Data.Pat_Constant", - "disc_equation_FStar.Reflection.Data.Pat_Dot_Term", - "disc_equation_FStar.Reflection.Data.Pat_Var", - "disc_equation_FStar.Reflection.Data.Pat_Wild", - "fuel_guarded_inversion_FStar.Reflection.Data.pattern", + "disc_equation_FStar.Reflection.V2.Data.Pat_Cons", + "disc_equation_FStar.Reflection.V2.Data.Pat_Constant", + "disc_equation_FStar.Reflection.V2.Data.Pat_Dot_Term", + "disc_equation_FStar.Reflection.V2.Data.Pat_Var", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.pattern", "projection_inverse_BoxBool_proj_0" ], 0, - "4d608a1016522cfd227513f9bc8466c3" + "55cd098b5a3fe7288122edce0bb8abc0" ], [ "FStar.Tactics.Visit.visit_tm", @@ -78,17 +120,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.Data.C_Eff", - "disc_equation_FStar.Reflection.Data.C_GTotal", - "disc_equation_FStar.Reflection.Data.C_Lemma", - "disc_equation_FStar.Reflection.Data.C_Total", - "fuel_guarded_inversion_FStar.Reflection.Data.comp_view", + "disc_equation_FStar.Reflection.V2.Data.C_Eff", + "disc_equation_FStar.Reflection.V2.Data.C_GTotal", + "disc_equation_FStar.Reflection.V2.Data.C_Lemma", + "disc_equation_FStar.Reflection.V2.Data.C_Total", + "fuel_guarded_inversion_FStar.Reflection.V2.Data.comp_view", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_009de88c96609808518aba8f4bd3fcdc", - "typing_FStar.Reflection.Builtins.inspect_comp" + "refinement_interpretation_Tm_refine_d18ff27796a0bc9f3abc9a0780da76bd", + "typing_FStar.Reflection.V2.Builtins.inspect_comp" ], 0, - "81cfc3da6b2e52d43cc1f405ff3f936b" + "587d6454f1705429f9af94f2af2d18ae" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tactics.fst.hints b/ulib/.cache/FStar.Tactics.fst.hints index 707e2ab2375..225b9bc83ac 100644 --- a/ulib/.cache/FStar.Tactics.fst.hints +++ b/ulib/.cache/FStar.Tactics.fst.hints @@ -1 +1 @@ -[ "ý²ëv0ìÆÀBj‘\u0003\u0014ò", [] ] \ No newline at end of file +[ "Ž³¼t˜5×k¢Í’Ïùéõþ", [] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.TaggedUnion.fst.hints b/ulib/.cache/FStar.TaggedUnion.fst.hints index 246eaa193bb..65053ffd491 100644 --- a/ulib/.cache/FStar.TaggedUnion.fst.hints +++ b/ulib/.cache/FStar.TaggedUnion.fst.hints @@ -55,7 +55,7 @@ "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "63c3dbab620536dc5a6d243cad4cc306" + "629a6d3c17d6c6f78d81999c88872d95" ], [ "FStar.TaggedUnion.tag_field", @@ -93,7 +93,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "0e07741059647211ff25b4d2f29bb42c" + "026826d2ea5027b8e3cdf443f49c302c" ], [ "FStar.TaggedUnion.union_field", @@ -133,7 +133,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "182ed90ca46a2c9d21450165feb3339e" + "b6f3bf7d5bc33b00a8d7d61a6f06e0ab" ], [ "FStar.TaggedUnion.field_of_tag'", @@ -199,7 +199,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "9c86fbcb515c285726cd1a2dc8504012" + "4681f325705cdda3e639ada6dc598bcb" ], [ "FStar.TaggedUnion.field_of_tag", @@ -208,7 +208,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "503ff8e68b9f214a2da61fd86967ee50" + "ee02f070ed322fbc0a2754a9ccbc985a" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -272,7 +272,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t" ], 0, - "112c36345df19a0bd45c47952a957e52" + "6dd4e9f6b9d4ebc6f0573a9e7ceba42f" ], [ "FStar.TaggedUnion.tag_of_field", @@ -281,7 +281,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "41377810e7a3ab914fa489cc2d3f882e" + "d2197f92f3088a7164fc2daa247bd8b8" ], [ "FStar.TaggedUnion.field_of_tag_of_field'", @@ -290,7 +290,7 @@ 1, [ "@query" ], 0, - "09774d9fe74db728179d61fd66804a83" + "76780c61a3ffedea20b91957099f23ab" ], [ "FStar.TaggedUnion.field_of_tag_of_field'", @@ -363,7 +363,7 @@ "typing_FStar.TaggedUnion.tag_of_field_", "typing_FStar.UInt32.t" ], 0, - "a139a59bb84f31a644617f4d30a987ee" + "3f3f3161a9b470aeff9de16508034c9c" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -372,7 +372,7 @@ 1, [ "@query" ], 0, - "83524c58a0910ead24e314180d2e9969" + "312141b95f22292989dd4b1b564dd063" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -392,7 +392,7 @@ "string_inversion" ], 0, - "03ec10951e8e7076a69813fd2dc21cd4" + "40954386b929fb63fa83c6c759127145" ], [ "FStar.TaggedUnion.tag_of_field_of_tag'", @@ -466,7 +466,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "ed8859e9881c36b097576960f6a1530b" + "90ac5e7bf48776c3b3680e1cab9c4d7e" ], [ "FStar.TaggedUnion.tag_of_field_of_tag", @@ -478,7 +478,7 @@ "equation_FStar.TaggedUnion.tag_of_field" ], 0, - "7714a690c4bd3bce03d44d456d9954b8" + "62e44b136dfe19bd43cba4b06b7e22eb" ], [ "FStar.TaggedUnion.field_matches_tag_intro", @@ -493,7 +493,7 @@ "function_token_typing_FStar.UInt32.n_minus_one" ], 0, - "8f9ec1bcd4a70c9af54734677b688481" + "1a0bbca86f6ebdf779b26501f4ea82de" ], [ "FStar.TaggedUnion.field_matches_tag_elim", @@ -505,7 +505,7 @@ "equation_FStar.TaggedUnion.field_matches_tag" ], 0, - "31934b8e50fa8cff51f1c267b6745c0c" + "bdabcc56f823e9b18ab848bbbfb01794" ], [ "FStar.TaggedUnion.assert_field_matches_tag", @@ -537,7 +537,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "440896d7da9ae656ccd82382016573bc" + "8eb06cd954de8f9f028aff1d3020ccbf" ], [ "FStar.TaggedUnion.valid", @@ -586,7 +586,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "f8cc6d9d1c2e1b924f569b3ba0aeed9f" + "393117e410d24dcafdd561b0a737b2cb" ], [ "FStar.TaggedUnion.valid_live", @@ -608,7 +608,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "845504394bb68db975d48c36a87424ab" + "8163e7dee502a2c8aaaef434c4205376" ], [ "FStar.TaggedUnion.read_tag", @@ -675,7 +675,7 @@ "typing_FStar.TaggedUnion.typ_l", "typing_FStar.UInt32.t" ], 0, - "95b22adb6c3a19246bc074d29319db2a" + "47b62929df1292e42f797521fc4731f1" ], [ "FStar.TaggedUnion.gfield", @@ -740,7 +740,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "22b309d2aee1f86756bcbc8b2e1fee34" + "59020e5656fd7283156102d2ba134ee3" ], [ "FStar.TaggedUnion.field", @@ -815,7 +815,7 @@ "typing_FStar.TaggedUnion.gread_tag", "typing_FStar.TaggedUnion.typ" ], 0, - "a3b6243aadf52dda0652b668f3eef696" + "bbc59165c430ebe1f271d88feec06f90" ], [ "FStar.TaggedUnion.write", @@ -933,7 +933,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "99ea22907b118536f30438155c9d4389" + "47409a7e430b007db3e0837a19ae5335" ], [ "FStar.TaggedUnion.write_tag", @@ -1051,7 +1051,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "dbb07dfac2bbe12086447ec9fa2fc81d" + "99ff5b61eae15184ec89b79638ca4f6e" ], [ "FStar.TaggedUnion.includes_gfield", @@ -1067,7 +1067,7 @@ "typing_FStar.TaggedUnion.gfield" ], 0, - "8e622571b6adf231d1f09dfbf3987a7c" + "00a9c3ecb7e74da96b0e700fd150bd34" ], [ "FStar.TaggedUnion.includes_gfield_gen", @@ -1076,7 +1076,7 @@ 1, [ "@query" ], 0, - "f8523fd20aed279d3c81a647f3373e5e" + "a94150229ff36af30b4e928ebd1f40fd" ], [ "FStar.TaggedUnion.live_gfield", @@ -1139,7 +1139,7 @@ "typing_FStar.TaggedUnion.union_field", "typing_Prims.uu___is_Cons" ], 0, - "967aecc087c70b20baff4ad6b675b4b0" + "3512e90696b4a23f372c1f8cddcbab3e" ], [ "FStar.TaggedUnion.modifies_1_valid", @@ -1231,7 +1231,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "68684a3ec0c5c03af2f9cb1bead08984" + "23ea29f1c32cfe98979103de19dfd684" ], [ "FStar.TaggedUnion.modifies_1_field_tag", @@ -1324,7 +1324,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "55ca3a9530042149426e87858b093fee" + "4dfd25fd32909fb91c583eb49fcd35f7" ], [ "FStar.TaggedUnion.modifies_1_field", @@ -1348,7 +1348,7 @@ "typing_FStar.TaggedUnion.gfield", "typing_FStar.TaggedUnion.typ" ], 0, - "4603544dd6ed31ab673dd7c667ede853" + "6c756ee63a60db2e0a0c668d7f3ca25a" ], [ "FStar.TaggedUnion.modifies_1_field_tag_equal", @@ -1357,7 +1357,7 @@ 1, [ "@query", "lemma_FStar.TaggedUnion.modifies_1_field_tag" ], 0, - "cf1d3e5f7c63e4c4d091100f39d6e7d9" + "cffdca3ecc58dd6da8f3e7d386211aef" ], [ "FStar.TaggedUnion.readable_intro", @@ -1428,7 +1428,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "4125c6bf2c0b778c246da065d1412480" + "3bf34a88fae47060543c21286c0d7688" ], [ "FStar.TaggedUnion.readable_field", @@ -1514,7 +1514,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "e71c8912629ad36150dac3a4d29f2041" + "f150f5a798d2873808fd8694f41afc77" ], [ "FStar.TaggedUnion.raw_get_value", @@ -1590,7 +1590,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "5b264153e4d7cc418ba19482d6494af5" + "200529c7b3a2df9023373ccd507fee54" ], [ "FStar.TaggedUnion.get_tag", @@ -1612,7 +1612,7 @@ "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4" ], 0, - "4bfc57bc3df0c6bcbb64cdb1d35ee61e" + "609a45af7f810f1fc24f344b9e277007" ], [ "FStar.TaggedUnion.get_value", @@ -1621,7 +1621,7 @@ 1, [ "@query", "equation_FStar.TaggedUnion.get_field" ], 0, - "33e308dcab0ed737337a43e669408f91" + "748f68ff8866250049bff4eaf479b9fd" ], [ "FStar.TaggedUnion.valid_matching_tags", @@ -1709,7 +1709,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "fbd23bf3db5acc8ccbcab4f5b55debf1" + "dc94b5b55bedafef6a0f5c76176b7fc3" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.TaggedUnion.fsti.hints b/ulib/.cache/FStar.TaggedUnion.fsti.hints index 99fee6b25af..cc9c5687add 100644 --- a/ulib/.cache/FStar.TaggedUnion.fsti.hints +++ b/ulib/.cache/FStar.TaggedUnion.fsti.hints @@ -65,7 +65,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "86cbab04062fa5cd07bf83f18d8448c8" + "de16dfe1154b854b679ec0605d696d5c" ], [ "FStar.TaggedUnion.field_of_tag", @@ -74,7 +74,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "4932b8f44823ac469fae9fa65829ee38" + "20f439574288002e7249b2ada2bd4512" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -138,7 +138,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t" ], 0, - "b92663e62d1db74bbfaaa5b0dc734191" + "58b71061891960ad8080ee5a529f6e70" ], [ "FStar.TaggedUnion.tag_of_field", @@ -147,7 +147,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "b8c984f6b124ef12847f45bdebe7c6f4" + "c77bc3903f452ab8b4467fb46287803a" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "f4754e204df4816a4e3c1367c70f368c" + "5375cb1bfad222ad4af00cc9df1ff9d6" ], [ "FStar.TaggedUnion.includes_gfield_gen", @@ -165,7 +165,7 @@ 1, [ "@query" ], 0, - "76ed35604b415f204f4c0ddc75d12a7a" + "c0cefc8a66e816a3f2e34641aad1697a" ], [ "FStar.TaggedUnion.get_tag", @@ -187,7 +187,7 @@ "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4" ], 0, - "2d3632e3951632bd09efc808a9e30640" + "2da2ee37c05ecac7845b8c619bb0dcfe" ], [ "FStar.TaggedUnion.get_value", @@ -196,7 +196,7 @@ 1, [ "@query", "equation_FStar.TaggedUnion.get_field" ], 0, - "e4c8cfdb44e118fd9856c43ca5eadc35" + "ce71461f29faf4beaf069259f7d67a0b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Tcp.fsti.hints b/ulib/.cache/FStar.Tcp.fsti.hints index 56593ae5373..b6130de5476 100644 --- a/ulib/.cache/FStar.Tcp.fsti.hints +++ b/ulib/.cache/FStar.Tcp.fsti.hints @@ -12,7 +12,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "a8446ea0f9126eec9329110d11e3db4b" + "f00109d9d66d7ea81dec2d4b44a377d8" ], [ "FStar.Tcp.__proj__RecvError__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_0b16c523f4a6aeeba204a171d1e8f098" ], 0, - "4e37fac72d048e798a9f4a42b70506dd" + "9f59a29a3d231a5649734e0f3aba65ab" ], [ "FStar.Tcp.__proj__Received__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_e0e9f2a62a06f869cff002e4825e3dc6" ], 0, - "a7721348ccdc548db556d825fa10154d" + "f14930ac582e45d66ec8304d3004321a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.TwoLevelHeap.fst.hints b/ulib/.cache/FStar.TwoLevelHeap.fst.hints index 585b78f106f..47f3c8bc5b7 100644 --- a/ulib/.cache/FStar.TwoLevelHeap.fst.hints +++ b/ulib/.cache/FStar.TwoLevelHeap.fst.hints @@ -11,7 +11,7 @@ "equation_FStar.TwoLevelHeap.ref_as_rref" ], 0, - "b4c4affc948569275834354ab67ca06b" + "1e6afb80f75677756a63f0041ba3d4cd" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt.fst.hints b/ulib/.cache/FStar.UInt.fst.hints index 6e4e7cc0134..f7258d8bb97 100644 --- a/ulib/.cache/FStar.UInt.fst.hints +++ b/ulib/.cache/FStar.UInt.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d94915b2b82a071e367beb5ab5b448d2" + "511f0e6508376d2a68bd2a6ffcd48ab9" ], [ "FStar.UInt.zero", @@ -30,7 +30,7 @@ "typing_Prims.pow2" ], 0, - "2b70399eb1691f20383a49db78854789" + "7a9f988f64b0210aef2b99605b17dc7a" ], [ "FStar.UInt.pow2_n", @@ -55,7 +55,7 @@ "typing_Prims.pow2" ], 0, - "210b0b30024f8fae441b459a8b90e3a0" + "17fd56e0e3dd4625bfd1300f0d1b3e98" ], [ "FStar.UInt.one", @@ -80,7 +80,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "8d5b24e30fb48e7e7a4049259ea67144" + "72c912855b2456885e4ac79bdbafacee" ], [ "FStar.UInt.ones", @@ -101,7 +101,7 @@ "typing_Prims.pow2" ], 0, - "702dd654e53fe97b9381952299c7f846" + "357122e3843691502c4f566b2fd01a6b" ], [ "FStar.UInt.incr", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "4a5586a4d388d8906d4671854a6b337a" + "3db9d9185acfa01e63f6a69df9c530ca" ], [ "FStar.UInt.decr", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "01b9984474dd3c2e579620088acad3c9" + "36731e3218749306b240d2648a9bf502" ], [ "FStar.UInt.incr_underspec", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "8b9f0ef2ee6c8e0cce65a5146992a470" + "4694adfa00b5e020651bdce7bf57203c" ], [ "FStar.UInt.decr_underspec", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "95151fdcc1436ca68698e669155a6c7f" + "f17dbd3f92ef3d5c8a2e3c2348b9e0e3" ], [ "FStar.UInt.incr_mod", @@ -204,7 +204,7 @@ "typing_Prims.pow2" ], 0, - "77333f76eb1734ad0fbeb790f1053b70" + "d6cb3207a2861e290d9ccb46f642c301" ], [ "FStar.UInt.decr_mod", @@ -225,7 +225,7 @@ "typing_Prims.pow2" ], 0, - "cb4ebf58d13243f896358e901168a0b6" + "ed363bc2031e443faa76c269755aa24e" ], [ "FStar.UInt.add", @@ -234,7 +234,7 @@ 1, [ "@query" ], 0, - "f97c9b4b803b77a83377b07fa1f338ea" + "6cc4ba12b296ec62bcdfccc4392d3053" ], [ "FStar.UInt.add_underspec", @@ -254,7 +254,7 @@ "typing_FStar.UInt.fits" ], 0, - "a1af731a8501e877fce8de0eb8fa8df6" + "4ba401370ae813194a2db7981e4e6e8b" ], [ "FStar.UInt.add_mod", @@ -275,7 +275,7 @@ "typing_Prims.pow2" ], 0, - "dcb3bcebb984516ac2e87523cca970e1" + "6f92eeba5d9906ec51d80ebfe44a4482" ], [ "FStar.UInt.sub", @@ -284,7 +284,7 @@ 1, [ "@query" ], 0, - "178a3b06ec05ae613fb54c531c8bf640" + "1650fffa15f121e49fd7cbd740541134" ], [ "FStar.UInt.sub_underspec", @@ -305,7 +305,7 @@ "typing_FStar.UInt.fits" ], 0, - "dab9ab91e6c9fd925f3b8ea588fd0792" + "aa6aff060e2edcd25cceed538d0f1796" ], [ "FStar.UInt.sub_mod", @@ -326,7 +326,7 @@ "typing_Prims.pow2" ], 0, - "0e6beccefe0218d0edd6836d50333a37" + "06e9cee9686021a9aaccf6448a21684b" ], [ "FStar.UInt.mul", @@ -335,7 +335,7 @@ 1, [ "@query" ], 0, - "8e8e601dd93cef98aba012522451bc86" + "902cce8b34712d06a1294957abc0d360" ], [ "FStar.UInt.mul_underspec", @@ -355,7 +355,7 @@ "typing_FStar.UInt.fits" ], 0, - "3b6f694769f2a7c79e0726bf30401326" + "2f5e8969e1892049e86054a4db74176d" ], [ "FStar.UInt.mul_mod", @@ -376,7 +376,7 @@ "typing_Prims.pow2" ], 0, - "387673481fdd63818ba3ef84d835bea4" + "d567ba5d5ce981677dd5e9c4f1c0dc62" ], [ "FStar.UInt.lt_square_div_lt", @@ -391,7 +391,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "97eb8163c3253e2d92598c28ca4c866b" + "6572ad731bfcf4ea34083aa53b513be9" ], [ "FStar.UInt.lt_square_div_lt", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "59fed72f8e6a54b2977d2a61e1d07a9c" + "430a250f56eae9685019e1e575bb0d07" ], [ "FStar.UInt.mul_div", @@ -429,7 +429,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "f5703e2ca2f342fbc09a421c47fc0c27" + "7a0c94a2a8f946fa13425574f278fcc1" ], [ "FStar.UInt.div", @@ -438,7 +438,7 @@ 0, [ "@query" ], 0, - "852738b283ad1c3f289e49a08d650e2a" + "8c9d21b6510a286d45b71168b103f363" ], [ "FStar.UInt.div_underspec", @@ -447,7 +447,7 @@ 0, [ "@query" ], 0, - "b4c733d84a79bf0c7a2fb09fadda6dd6" + "a9266a7418c925090d4fd698c21a25fb" ], [ "FStar.UInt.div_underspec", @@ -468,7 +468,7 @@ "typing_FStar.UInt.fits" ], 0, - "87c23ef82c7efdba798ea775e58b668f" + "b2994b505b25e3cb979173e50867b004" ], [ "FStar.UInt.div_size", @@ -483,7 +483,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a1d9a4c67ad7d7c267dd8296ce08232f" + "2d213bede099f7004d041d6881f4c4d6" ], [ "FStar.UInt.div_size", @@ -495,7 +495,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "70583a2729f82278b8b79b66918e678a" + "54a04cfad4da4d399f60327782cab5e9" ], [ "FStar.UInt.div_size", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "d5fef6488b1dc2cec26ef5394ae85639" + "4eab78828e70144638cac82fff21806b" ], [ "FStar.UInt.udiv", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3803f075e71e0a72a4b0c044980b330f" + "63d3b9a527fa6f8ef3f4a6e56d63457c" ], [ "FStar.UInt.udiv", @@ -545,7 +545,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "bb29939b3d7cf88e5b529ac155babda3" + "aefb3ba5d3221c87b74116bf819d0c24" ], [ "FStar.UInt.mod", @@ -568,7 +568,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "6e3633c23ba8e98dd6e05da023f8857e" + "47da81395b97641d91362cf6bc3443c0" ], [ "FStar.UInt.eq", @@ -582,7 +582,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bffc0a8111205992fc00e044cb30acb0" + "d829e75be98c31a0408f13533692246f" ], [ "FStar.UInt.to_uint_t", @@ -603,7 +603,7 @@ "typing_Prims.pow2" ], 0, - "f2000259c014eed26223ebca490ca060" + "5605f412248ca5f45e994d44868a81a6" ], [ "FStar.UInt.to_vec", @@ -642,7 +642,7 @@ "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "89e7ea371d4cd8c0f2c56558c0cd60b6" + "ed1b6d3d28e42825d8a2801500b69c75" ], [ "FStar.UInt.from_vec", @@ -680,7 +680,7 @@ "well-founded-ordering-on-nat" ], 0, - "ed2656140ee02cc537f1d618587f158d" + "c242745cf8301af42ac5c97b0594d747" ], [ "FStar.UInt.to_vec_lemma_1", @@ -696,7 +696,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e29769aefdf585ad7f40cfa83f44720b" + "e08b1f2aa343d7c1f91aa408b567ec46" ], [ "FStar.UInt.to_vec_lemma_1", @@ -714,7 +714,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "b647075d6b239de479a31b7279106eea" + "c9ddf6ab7cebacbc24a5b52b042d1ec0" ], [ "FStar.UInt.to_vec_lemma_2", @@ -728,7 +728,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "250e7b7e1f599a86af0d2f9b2765a544" + "390c53b16f0a218f3c191d9bf41589e8" ], [ "FStar.UInt.to_vec_lemma_2", @@ -742,7 +742,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3546ecc74847920714bfbdb349250a25" + "7bf071d383f98633b87ef64e3829fb99" ], [ "FStar.UInt.to_vec_lemma_2", @@ -801,7 +801,7 @@ "well-founded-ordering-on-nat" ], 0, - "2bacebd415ed043faae88272a27f9c6d" + "c71ae6421c734d1fa514a6ccf0c35ca7" ], [ "FStar.UInt.inverse_aux", @@ -819,7 +819,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "62a69650aa31c45c3b406333ee3e2b8c" + "2ea72a691690402f83c82749ecac44a5" ], [ "FStar.UInt.inverse_aux", @@ -835,7 +835,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "7b50a49bbb34505200bb756b8d18e47f" + "66df6371fc2a8e5de7ce3aa3f3f271f8" ], [ "FStar.UInt.inverse_aux", @@ -901,7 +901,7 @@ "well-founded-ordering-on-nat" ], 0, - "e7dd5c351b1668a36bb63d85f356d651" + "f07f3735be4caf8f68d6b59a3c80c1bc" ], [ "FStar.UInt.inverse_vec_lemma", @@ -926,7 +926,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "ff3429fae34ed5197bd736b8d7fa7e84" + "0466e7bc77ff0b12ebed1e500cafd3f5" ], [ "FStar.UInt.inverse_num_lemma", @@ -940,7 +940,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0f54023b808b0a1e34ed32cffcd8bd4d" + "55b69f77a2646d23ba291bf3d82080de" ], [ "FStar.UInt.inverse_num_lemma", @@ -960,7 +960,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "7135f46b0ab34532caa597484d29ac33" + "6dcbd3aa0bf7ab06a52e4dd824e6c2da" ], [ "FStar.UInt.from_vec_lemma_1", @@ -974,7 +974,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ff7f90f29bb960a18c50828a914069eb" + "1424c74cbc8ec1eb072d3dc409192124" ], [ "FStar.UInt.from_vec_lemma_1", @@ -989,7 +989,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "9b394046db0e43762ac62b302ebbf069" + "4fc296196d42c7c8015b6656a8487f54" ], [ "FStar.UInt.from_vec_lemma_2", @@ -1005,7 +1005,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "505c420dba4501d8a2256571a71e9bd9" + "1b285032f1e6f9dfe92afb8cc8e591a9" ], [ "FStar.UInt.from_vec_lemma_2", @@ -1022,7 +1022,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "b83075a08a7b0d8b1f9c2f727dedd36a" + "b4c0b5a8c9de47d16d795f11bd0741ea" ], [ "FStar.UInt.from_vec_aux", @@ -1047,7 +1047,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "7eab8c77361bdf05bb713c2672b32eae" + "01c313459fcef8b81968bfd02ea8fc34" ], [ "FStar.UInt.from_vec_aux", @@ -1075,7 +1075,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "6cfd07925e8270662561496595658901" + "fc5d07f5abd18fda91695a179e462542" ], [ "FStar.UInt.seq_slice_lemma", @@ -1104,7 +1104,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "7c004cad051c94c94b01ff0e835a6b01" + "b42bd1a1345add4733ea6231d527942d" ], [ "FStar.UInt.seq_slice_lemma", @@ -1137,7 +1137,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "3c9de50795feffd69672c1f0b8ac0f91" + "aa1dbdcaeb64a8c9a2ee8fe00e524b47" ], [ "FStar.UInt.from_vec_propriety", @@ -1167,7 +1167,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "548767fea96ef2e69c4f862729917d3e" + "ad3a38d55524e08b6eb85dd26a0f7d1e" ], [ "FStar.UInt.from_vec_propriety", @@ -1198,7 +1198,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "09d8a480b7d354110de1e30666dc44e3" + "9aaf7471476c3271021f7ecd50b1895b" ], [ "FStar.UInt.from_vec_propriety", @@ -1256,7 +1256,7 @@ "well-founded-ordering-on-nat" ], 0, - "649756d3d4a3802e1e620246bc03a923" + "90899a01502eedb8149ab8ee23d4f950" ], [ "FStar.UInt.append_lemma", @@ -1274,7 +1274,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "18d414b9ddf51342c9b8d44b737cf326" + "a284a394564ba9cc5055f67a6e5746ef" ], [ "FStar.UInt.append_lemma", @@ -1286,7 +1286,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "582855328f5a0507a1cb880c493050a2" + "ae8716f89398c3990f5fc725fddd0188" ], [ "FStar.UInt.append_lemma", @@ -1322,7 +1322,7 @@ "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "3120a39f5fec8a2e6708380dff1255dc" + "a798952e225adcfd25d3a05930c4c2b0" ], [ "FStar.UInt.slice_left_lemma", @@ -1349,7 +1349,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1fa73645cbfe35a32e559fb91689ac67" + "bcfa85eee0cd49495f45ceae09a2406a" ], [ "FStar.UInt.slice_left_lemma", @@ -1358,7 +1358,7 @@ 1, [ "@query" ], 0, - "652d96d3ec16a55021bd53d448efc557" + "13a3d123edf647c7f4bd2b50b9693019" ], [ "FStar.UInt.slice_left_lemma", @@ -1393,7 +1393,7 @@ "typing_FStar.UInt.from_vec" ], 0, - "897df60709b6316c0fb8da4a7b77ea66" + "ca64032aa5e3166fab0a811b60de63f8" ], [ "FStar.UInt.slice_right_lemma", @@ -1420,7 +1420,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "21278f831a4dca3f3746f4977b4d21e9" + "85116cc4b5e883c4b2e6544ef70b7a05" ], [ "FStar.UInt.slice_right_lemma", @@ -1429,7 +1429,7 @@ 1, [ "@query" ], 0, - "60b4f3a99d8264bb685ced46c6c481cc" + "17f2b5f4fb6b0070314df4265e4c74f8" ], [ "FStar.UInt.slice_right_lemma", @@ -1463,7 +1463,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "8deea35cf8e85009615f944d2bba92f5" + "f238985b8305d66efd134ba509fdb593" ], [ "FStar.UInt.zero_to_vec_lemma", @@ -1483,7 +1483,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4c3d7c7e69bf515ee9e672719218c109" + "629af1f6fb6058a25a72171e5506f511" ], [ "FStar.UInt.zero_to_vec_lemma", @@ -1505,7 +1505,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "aa503360cf5791549b073a49b7027e77" + "814fe0325a320ca70792ca6d936c49e9" ], [ "FStar.UInt.zero_to_vec_lemma", @@ -1555,7 +1555,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "bbf09fa8bcea6f649a40ad36c9d97d88" + "ff3a226819bc446bfa37c5e5c6c566a3" ], [ "FStar.UInt.zero_from_vec_lemma", @@ -1571,7 +1571,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8efc5cfba93ea6f75a65adfa0a7de2e2" + "590a12bdf4aa5096846fe17a03582e3f" ], [ "FStar.UInt.zero_from_vec_lemma", @@ -1601,7 +1601,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "5530a030c15531aa5f4b4ec5cfa5d401" + "972b50c23b2a68b7fa860aa0b99721c8" ], [ "FStar.UInt.one_to_vec_lemma", @@ -1617,7 +1617,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "3ccaa480edb2cdd337f54a70e909f5fd" + "ad34b1c4fe017c99d854c8e7bb81bc53" ], [ "FStar.UInt.one_to_vec_lemma", @@ -1671,7 +1671,7 @@ "typing_FStar.UInt.zero", "typing_Prims.pow2" ], 0, - "0959d0a2b83b89682c9910ec83f06823" + "e40e22dd054742e578f888bb6516880e" ], [ "FStar.UInt.pow2_to_vec_lemma", @@ -1688,7 +1688,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "3b82f2839547041d48858fe8a8a00d24" + "11140844e8b8f9b3b19e63aee0e10703" ], [ "FStar.UInt.pow2_to_vec_lemma", @@ -1706,7 +1706,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "36da94240202e08a0efc87fab580efe6" + "474d6d36e7e4a99e759cd021df4267be" ], [ "FStar.UInt.pow2_to_vec_lemma", @@ -1767,7 +1767,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "39fdf26c794acc56f19cea2b24f2a4e2" + "125101037bf30d73d840946cfb8f0557" ], [ "FStar.UInt.pow2_from_vec_lemma", @@ -1786,7 +1786,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "81f0bd1c9e036a64915dde6871383863" + "ea6377b416999d2104fe45e2709a4ac8" ], [ "FStar.UInt.pow2_from_vec_lemma", @@ -1818,7 +1818,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "20207e0720bfa3eb3a58148048bdaa4d" + "b234c0d857c5ae6eb0d7cd15b0118654" ], [ "FStar.UInt.ones_to_vec_lemma", @@ -1838,7 +1838,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "073ff952d595daf706cfc98b17b9bf7a" + "dd1ed99ce03adb121152dc09029e6da9" ], [ "FStar.UInt.ones_to_vec_lemma", @@ -1858,7 +1858,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "d25da9383b201078356cf4c25de64cae" + "6e1ff7358de0cf7af03b9a301224eba1" ], [ "FStar.UInt.ones_to_vec_lemma", @@ -1910,7 +1910,7 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "1d16c44cdbd7d051a292909fe34eac2d" + "5f566660ce248f5d760cca8fa8d29642" ], [ "FStar.UInt.ones_from_vec_lemma", @@ -1926,7 +1926,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d88296a559407cece6abb255a11b95a8" + "dfbabf88e7dce10dcb38ed2a9ddefe05" ], [ "FStar.UInt.ones_from_vec_lemma", @@ -1956,7 +1956,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "82cd8af7fefda80120323d3205abe51b" + "67a771a1a63f297699d3b491c204ad75" ], [ "FStar.UInt.nth", @@ -1965,7 +1965,7 @@ 1, [ "@query" ], 0, - "f4abe2efa33fd5260e8a95a33b1548bc" + "392dd9f004f9e4bd759d0c8629898abb" ], [ "FStar.UInt.nth", @@ -1980,7 +1980,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "c8812a96c79d3c958bed5e3abce23f70" + "507c2fb74e86fa8df4f75a3bdd1c8114" ], [ "FStar.UInt.nth_lemma", @@ -1996,7 +1996,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2e79fa668e2e36301e1f44d8bf6415fe" + "8f56d917f5efa7649f38fe8c76296117" ], [ "FStar.UInt.nth_lemma", @@ -2008,7 +2008,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cd3651fd1423c3acf1a06dbc3e74e4d5" + "d8217910512fbfb74cda5a95bd646e31" ], [ "FStar.UInt.nth_lemma", @@ -2034,7 +2034,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec" ], 0, - "876d34b467347f014abec6ea98336d83" + "f5f396365b4134d1d0d65ebd67ea5631" ], [ "FStar.UInt.zero_nth_lemma", @@ -2043,7 +2043,7 @@ 1, [ "@query" ], 0, - "29155fbc6c158e8c3533738196ca8e66" + "397eaee1ca55977612bf26efb3f58200" ], [ "FStar.UInt.zero_nth_lemma", @@ -2067,7 +2067,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "5610e3874068f3a4d4c960ce825851de" + "f2215c704a12522dd33e3a96edc68ebe" ], [ "FStar.UInt.pow2_nth_lemma", @@ -2100,7 +2100,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "dd0d6bb4c976a31fb6ec30b184b3ae93" + "0640e65eeaf831c0a62275085cd598d0" ], [ "FStar.UInt.one_nth_lemma", @@ -2133,7 +2133,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "dbebb59b40a4676ca881a0a002f5ab35" + "c7b630b2f6dee8e3fffe75e7525c16d6" ], [ "FStar.UInt.ones_nth_lemma", @@ -2142,7 +2142,7 @@ 1, [ "@query" ], 0, - "3ccdf6ad5b61967c8ff0843c26b2c145" + "948d483b205c55aa0fd5fe36858c1ad8" ], [ "FStar.UInt.ones_nth_lemma", @@ -2166,7 +2166,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "b5cb801954250665b30dda2d22af2f55" + "5467cc208c26732010d14c0256448b2b" ], [ "FStar.UInt.logand", @@ -2181,7 +2181,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "beaba1106afb37108a97986b0af989cf" + "32943f318d36906c4d166433960000e9" ], [ "FStar.UInt.logand", @@ -2193,7 +2193,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f3ed19e111621f73108bf58d07ee3b40" + "189886c7b55fc8e6d1c08e79bf454bcc" ], [ "FStar.UInt.logxor", @@ -2208,7 +2208,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f7ebed8cf04cc344a4b59f6dc25ba98f" + "65a602b436b2bafc581a23f579fabe45" ], [ "FStar.UInt.logxor", @@ -2220,7 +2220,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3b418701a1c953275a0777ce8416d692" + "b42f48710eb47b889257057f60d6ad5e" ], [ "FStar.UInt.logor", @@ -2235,7 +2235,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0b6d72e93ea3edde9d42777dd6978e03" + "14d9d252849c6992465d1ec30e5a72ed" ], [ "FStar.UInt.logor", @@ -2247,7 +2247,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "707ecf51132d71dcceb55360eaf69fab" + "4cb7d9144a48103e92e3480e7aab0e87" ], [ "FStar.UInt.lognot", @@ -2256,7 +2256,7 @@ 1, [ "@query" ], 0, - "f14a02aa07075404967dc1a34cae4872" + "5a7a9b953faa8a75e9992bdc8cabf7f0" ], [ "FStar.UInt.lognot", @@ -2265,7 +2265,7 @@ 1, [ "@query" ], 0, - "d6c2e890cfe16af1c0412a660aeb217f" + "a9806ef2438d98182c6a2440d5142a78" ], [ "FStar.UInt.logand_definition", @@ -2277,7 +2277,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6f5a65f5aa5a6b20ec8cefd0d3c4254d" + "3726368a26255b707c994ccbeb019b5f" ], [ "FStar.UInt.logand_definition", @@ -2289,7 +2289,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "23b3dce3c3ff172722097c6e891ee708" + "bc8554a9dca2b5d3807e76ccdc45dd4c" ], [ "FStar.UInt.logand_definition", @@ -2314,7 +2314,7 @@ "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec" ], 0, - "bfc64eb29a8fa625651ee81541839c89" + "353738f119c239c3f3a7e94a330bae3d" ], [ "FStar.UInt.logxor_definition", @@ -2326,7 +2326,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0ca10a863f329ecbfcffb35a7f31c2e8" + "b181670f83578a5cb0bf3ac9d1df44d1" ], [ "FStar.UInt.logxor_definition", @@ -2338,7 +2338,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5d9cc7b7e3fb638cb46760b42cb628a0" + "498022f772b9ae31f0eeb329a2ab553f" ], [ "FStar.UInt.logxor_definition", @@ -2363,7 +2363,7 @@ "typing_FStar.BitVector.logxor_vec", "typing_FStar.UInt.to_vec" ], 0, - "627899497eb963e001fe76fc5742682f" + "56bbff0803def3a16b90ae3196907172" ], [ "FStar.UInt.logor_definition", @@ -2375,7 +2375,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e81a9118046a3127034771ba7cf9cf40" + "8d340ad14b96ef87cafa7b0760a94406" ], [ "FStar.UInt.logor_definition", @@ -2387,7 +2387,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bd1878291e34d0c13bbbf8425a43534d" + "bd690b5739c8be17d0a9cfb3aa5285ec" ], [ "FStar.UInt.logor_definition", @@ -2412,7 +2412,7 @@ "typing_FStar.BitVector.logor_vec", "typing_FStar.UInt.to_vec" ], 0, - "fed8644d89ec227d88cf6bf826475515" + "d471786b1fc0eea38454307a5ca13618" ], [ "FStar.UInt.lognot_definition", @@ -2421,7 +2421,7 @@ 1, [ "@query" ], 0, - "7853a5bf7129e49fdaaf0080043ec039" + "29aabe2e15f5649035957229ae6bf227" ], [ "FStar.UInt.lognot_definition", @@ -2430,7 +2430,7 @@ 1, [ "@query" ], 0, - "d0efe61c8bed42eb4fc9f1563f258260" + "ef4d100cd7d851f8a657eb8d655ffd3d" ], [ "FStar.UInt.lognot_definition", @@ -2455,7 +2455,7 @@ "typing_FStar.BitVector.lognot_vec", "typing_FStar.UInt.to_vec" ], 0, - "bcdaaf30dffe1ef3539adad8d96a26fe" + "648e193a4ace0b00939cbca1bdf52be3" ], [ "FStar.UInt.minus", @@ -2464,7 +2464,7 @@ 1, [ "@query" ], 0, - "3ce561b1bca25279760acf1a5c94e710" + "6f9a7026cb70212178436c355db75a1d" ], [ "FStar.UInt.minus", @@ -2488,7 +2488,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "1df647c8efcbaa15039ad11e5ff82ff5" + "d1971268db71df593775f6f7c68d765d" ], [ "FStar.UInt.logand_commutative", @@ -2504,7 +2504,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c702477705252a6e51dfa30a94ab1032" + "3070bf693b469aa7e32a07dba9e18e24" ], [ "FStar.UInt.logand_commutative", @@ -2516,7 +2516,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "62d0c037413ced04d92621c0148302d0" + "b91fc8ed14eff734513bce0ed177d585" ], [ "FStar.UInt.logand_commutative", @@ -2533,7 +2533,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "19b4fe01e5d8e4f02f515f92a066d8c6" + "9b71b15f29c5df43c5db4168612f1467" ], [ "FStar.UInt.logand_associative", @@ -2549,7 +2549,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9e6922a53fbae0b66b0a799a4772f92b" + "ecf8ee0092a75b1d79b161d3be29aed9" ], [ "FStar.UInt.logand_associative", @@ -2561,7 +2561,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a3f4669543965b192026ec2a30bb0232" + "930369638109a04d319c7827f9f49e84" ], [ "FStar.UInt.logand_associative", @@ -2585,7 +2585,7 @@ "typing_FStar.UInt.logand", "typing_FStar.UInt.nth" ], 0, - "b2d94c20887b22c5149dd278c5281ffe" + "0ff367863d2524388a78fb71e129c2d5" ], [ "FStar.UInt.logand_self", @@ -2601,7 +2601,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6fdc01cc795dfc1257b4306a3ae09413" + "a1d2d40e7c2a1a75e33db27f77f4faa3" ], [ "FStar.UInt.logand_self", @@ -2610,7 +2610,7 @@ 1, [ "@query" ], 0, - "cdae6c28496a5d218fa01d94d6d04273" + "1946f346c1e1b2ae2eeaf9659f1d887c" ], [ "FStar.UInt.logand_self", @@ -2627,7 +2627,7 @@ "typing_FStar.UInt.nth" ], 0, - "aaa9f426983c32c4e0eb95b450e5bfed" + "3698efbd725fce2b90d250440a566403" ], [ "FStar.UInt.logand_lemma_1", @@ -2643,7 +2643,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5cceafc47a11de0fc1cf10f8c827dfab" + "8b18ea344a338dbab5c96e1eed81d7d9" ], [ "FStar.UInt.logand_lemma_1", @@ -2652,7 +2652,7 @@ 1, [ "@query" ], 0, - "85bca194ccf75d96465e8a40d35eda79" + "10600776be48e90dfb5a150d42a35e10" ], [ "FStar.UInt.logand_lemma_1", @@ -2669,7 +2669,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4042148c44dd62852d17b0957bb41850" + "830b6a07f8119c48b6da42018d8d4122" ], [ "FStar.UInt.logand_lemma_2", @@ -2685,7 +2685,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "43968c161f417a3c920c784486828b12" + "864595700d58d786747d6a87016b1ed8" ], [ "FStar.UInt.logand_lemma_2", @@ -2694,7 +2694,7 @@ 1, [ "@query" ], 0, - "42d7841b1cf421a120ad6f7e9ac987cf" + "d9a34f0e0ba3379775341b21937257d0" ], [ "FStar.UInt.logand_lemma_2", @@ -2714,7 +2714,7 @@ "typing_FStar.UInt.nth" ], 0, - "38ed6aced36f392e92af4336b957394f" + "e505568081199257b0586bcfd74af3cd" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -2729,7 +2729,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0d7153be3300bfa7bae0b663fd49fd04" + "688e22bebaa3f55525f75236f754f217" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -2744,7 +2744,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f6a325079f6ee07242981c541b603f01" + "b0db2e4e9a42f812c37e65fd3b28469f" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -2789,7 +2789,7 @@ "well-founded-ordering-on-nat" ], 0, - "58835523c200d5927c612a11cae506ec" + "b6c106c51daa23d82c8e39e6550e89f3" ], [ "FStar.UInt.logand_le", @@ -2801,7 +2801,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "75bb8864b11b91f86a7bf93b50e84c0a" + "e8e63416251600fef5f15c82fc5501ca" ], [ "FStar.UInt.logand_le", @@ -2813,7 +2813,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a3157ff8b150aebf1e474238d63f2498" + "05e8970e01892e4a5b850ba83f8ff0e1" ], [ "FStar.UInt.logand_le", @@ -2848,7 +2848,7 @@ "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.length" ], 0, - "8b4821b98cc1de9a211eda05fe00320b" + "80fe707d53a7a32c1515112d5b30e58c" ], [ "FStar.UInt.logxor_commutative", @@ -2864,7 +2864,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e4ebcf74506728ad3ff62e5c630bd6e0" + "ffdf03b16d8d20c245f1da288b934ebd" ], [ "FStar.UInt.logxor_commutative", @@ -2876,7 +2876,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "80df67ffcb409937daa2fb4fb73fa3e7" + "9155014069dd329783c1bac339236167" ], [ "FStar.UInt.logxor_commutative", @@ -2896,7 +2896,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "23a5c38e790f12e6c1ed640a9c9a37a7" + "a905d6e5a819f0e61f8cd1ccf11836e2" ], [ "FStar.UInt.logxor_associative", @@ -2912,7 +2912,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b19967a3757c5f85b884fc7b66811345" + "3d6e85b90395eb358e832acd352c42e7" ], [ "FStar.UInt.logxor_associative", @@ -2924,7 +2924,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e9b452f03dd06e709497a16348073c73" + "449e219924510633e1689085a026b306" ], [ "FStar.UInt.logxor_associative", @@ -2946,7 +2946,7 @@ "typing_FStar.UInt.logxor", "typing_FStar.UInt.nth" ], 0, - "bd365ded5d74f4ac64bac3d87523b305" + "29e165cf09c26e036eab22987a18e8ac" ], [ "FStar.UInt.logxor_self", @@ -2962,7 +2962,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "03a260e8a837670cb9b5e333cfc8feec" + "ee8e63f350eb67882edbe74462141b15" ], [ "FStar.UInt.logxor_self", @@ -2971,7 +2971,7 @@ 1, [ "@query" ], 0, - "172a6abeb48e84a4fb64597f679668f6" + "bb6dc58225ce3451639b44a8e7643a49" ], [ "FStar.UInt.logxor_self", @@ -2988,7 +2988,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3c94445aa13311a210c206f9c31ed36d" + "d840ddfd818725049307b35f20d01a58" ], [ "FStar.UInt.logxor_lemma_1", @@ -3004,7 +3004,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e8f34e28f25a2f09dc81a190bdfa38b4" + "4c3b6f80b8bc88ce5452edb72776e173" ], [ "FStar.UInt.logxor_lemma_1", @@ -3013,7 +3013,7 @@ 1, [ "@query" ], 0, - "0ab683129ca44ccd4b14f5239e71bb76" + "907c9b0f98aabe12aef50a2296817c28" ], [ "FStar.UInt.logxor_lemma_1", @@ -3032,7 +3032,7 @@ "typing_FStar.UInt.nth" ], 0, - "2eeaa458cfed577c6be689c7441290e5" + "a56edaf62c4c00152cac39390449c40b" ], [ "FStar.UInt.logxor_lemma_2", @@ -3048,7 +3048,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6be942a4969db65d32b9c2e080decc2c" + "9d282d2f0fe3ec94cf86a410083ebce9" ], [ "FStar.UInt.logxor_lemma_2", @@ -3057,7 +3057,7 @@ 1, [ "@query" ], 0, - "9296aca3c308780f34cac8c4cd0800c8" + "53441bbc722de99fd353300187a86f4f" ], [ "FStar.UInt.logxor_lemma_2", @@ -3078,7 +3078,7 @@ "typing_FStar.UInt.nth" ], 0, - "4b5e47d5d1aa3bbbb40aa1a0710725af" + "9c27300651bf42a19313ea51d89fafc0" ], [ "FStar.UInt.xor_lemma", @@ -3092,7 +3092,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "21632a2698cd2d586a2deb22be4d30e1" + "da278c819b45cd188950fba669340605" ], [ "FStar.UInt.logxor_inv", @@ -3108,7 +3108,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "597ed4ff1fe48e53bdeeaf5b9ec828b0" + "6adaf100bebf5fcf7852e81b50ce74d4" ], [ "FStar.UInt.logxor_inv", @@ -3120,7 +3120,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3694461bbf519021c7b0d9f72829237e" + "d668c1894b2d0fdeb9d9cd6014d49cd6" ], [ "FStar.UInt.logxor_inv", @@ -3153,7 +3153,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "9beead80de289f9950effa452ba712ff" + "b37d1ad47af13eb60387356c2bdff3ae" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3169,7 +3169,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b4c9fe1559b37d933be98ff020db0fc4" + "e8945ebbb419c6790100dafd3cf1ab2b" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3181,7 +3181,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "535dbc03569793bb209898a2f5ddc68b" + "3bbd17ddf5f2a46b8eaa78d31d1b8bcc" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3216,7 +3216,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.logxor" ], 0, - "b065e7b6dccf498ee965d88a204ee720" + "b576407b5a7d0bfa1f18fa55d48da8ef" ], [ "FStar.UInt.logor_commutative", @@ -3232,7 +3232,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "aa03cb28eebdccfd211b666260d3f083" + "47c397477dada3c7aa08ba2173be6fb9" ], [ "FStar.UInt.logor_commutative", @@ -3244,7 +3244,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "90b8facb08237dfa53395abc68f0c285" + "d64d14a614469e81b524e9c430071d12" ], [ "FStar.UInt.logor_commutative", @@ -3261,7 +3261,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5ef6dd08f3a58f443f8172a6fa0ea22a" + "458837effc3b266dac24dc449c0bb120" ], [ "FStar.UInt.logor_associative", @@ -3277,7 +3277,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7de86f3e35649ceaccde2653e560acbb" + "7190f302b5d419f13200e57be537e49b" ], [ "FStar.UInt.logor_associative", @@ -3289,7 +3289,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b62c40a7465ebefb871697d24f9741bd" + "8cde92d2d636f5c4a7987ea6f7239a11" ], [ "FStar.UInt.logor_associative", @@ -3311,7 +3311,7 @@ "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec" ], 0, - "157f182510223f5b750a9d99a88ef98f" + "50c4eec8659eb7876e1d2a538c4deea2" ], [ "FStar.UInt.logor_self", @@ -3327,7 +3327,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e86cab898f3c12ea7d225d5f8bf9a421" + "10cc1bbae7f47b3117e1ed55c22751da" ], [ "FStar.UInt.logor_self", @@ -3336,7 +3336,7 @@ 1, [ "@query" ], 0, - "6f448752cbfef8091f414124925e9dcd" + "9a07abcf06013c67f60219d7180569c4" ], [ "FStar.UInt.logor_self", @@ -3353,7 +3353,7 @@ "typing_FStar.UInt.nth" ], 0, - "6d9c6c4ca95288ef498ab44024400714" + "0655f5a6ca0b6033a1c59097f014f977" ], [ "FStar.UInt.logor_lemma_1", @@ -3369,7 +3369,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "15eabcbbda04749cdd92346689379013" + "ba8b2570ecd0d96360011bb77eaed743" ], [ "FStar.UInt.logor_lemma_1", @@ -3378,7 +3378,7 @@ 1, [ "@query" ], 0, - "02020f4a2b05ea1faf4c7b044c564078" + "bfe8a1de1a736eeacbac27d707914d02" ], [ "FStar.UInt.logor_lemma_1", @@ -3397,7 +3397,7 @@ "typing_FStar.UInt.nth" ], 0, - "c4ea6ff4b5e4690586967a6727162298" + "b64b1b7824cb682c9e54e8cdc3bc9b79" ], [ "FStar.UInt.logor_lemma_2", @@ -3413,7 +3413,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0f603c3767ffc79fe7f1bdaecf271ef3" + "ab2ecdaa1ea933b39e537ce031ab02ee" ], [ "FStar.UInt.logor_lemma_2", @@ -3422,7 +3422,7 @@ 1, [ "@query" ], 0, - "74c8ce7f2a2385083c210968be2863bc" + "6c8b1eea2189db7a5966c8b4d0cf1c5e" ], [ "FStar.UInt.logor_lemma_2", @@ -3440,7 +3440,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f00426b7cc85e3e92264fa7294590ff7" + "479c232fe1af47f5d948c0fff401d3db" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3455,7 +3455,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4613343b2f0f1e02db54cf38ac8ae188" + "09ae0c2091522f264c6c47f590c50d07" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3470,7 +3470,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "218b8899a20738e706e19c200c8a2650" + "4e28fbe8744c2f97c5875a679b72bae5" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3515,7 +3515,7 @@ "typing_FStar.UInt.from_vec", "well-founded-ordering-on-nat" ], 0, - "a828a998da445263d3cac33f284a703d" + "b0066b222318ef82310f52e2e9dde1be" ], [ "FStar.UInt.logor_ge", @@ -3527,7 +3527,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "76fa475b3961a3717ee07ca083492727" + "5fb0979f81a898f7c515847917a7ce36" ], [ "FStar.UInt.logor_ge", @@ -3539,7 +3539,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "68879cac80b4ece21afe8e4a0de8b550" + "8c981727ea49f9ac04f421980b0a241d" ], [ "FStar.UInt.logor_ge", @@ -3575,7 +3575,7 @@ "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.length" ], 0, - "f947595bb12bea36797e70aff29f0c5e" + "6b66ac799a074d72679ee0144a7fb60c" ], [ "FStar.UInt.lognot_self", @@ -3591,7 +3591,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e0d382a7582d9a3ac6d18372d9a70ef2" + "881c774670e5afdafbf3f1ac1e39e6f4" ], [ "FStar.UInt.lognot_self", @@ -3600,7 +3600,7 @@ 1, [ "@query" ], 0, - "4f079f0d20f12bbbb68d710067233fc7" + "680a6eba758802672c9a9dfbf9c3fafb" ], [ "FStar.UInt.lognot_self", @@ -3619,7 +3619,7 @@ "typing_FStar.UInt.lognot", "typing_FStar.UInt.nth" ], 0, - "48556c4d3d34dd054c2d29a8e2a75b0b" + "4b5c7f9aaf1468830b392e9f77b7d870" ], [ "FStar.UInt.lognot_lemma_1", @@ -3635,7 +3635,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f2b0170bf8e08ca0941f3947e29188f7" + "eee842024bb1f6813e9088bcc9c85536" ], [ "FStar.UInt.lognot_lemma_1", @@ -3650,7 +3650,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c653b39a7b1eb2088da8729185b629db" + "cdc7fdc50ab6a95b58cd91bc8f1c0491" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -3670,7 +3670,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "6792539d1d78503787c8485c2fc7ad4b" + "8a7b878f22102a3ba7895aa85815e2da" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -3688,7 +3688,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "4077d4154902fc3b03cdfb6b686fb85f" + "67a597d9c7d1512c34e8ba1fcdc07e07" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -3736,7 +3736,7 @@ "typing_FStar.UInt.to_vec", "well-founded-ordering-on-nat" ], 0, - "2912e117e630b57391e4bc7ef73df987" + "a402f7ad1f905eb8254083d23cb47246" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -3754,7 +3754,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "9ad599ee0a09d66d3f164e478cd3ca86" + "0884bb2227b0eed7dfcb9637012cbfd8" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -3772,7 +3772,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "700a581dff85533658ae59bdb5fe1cb6" + "d9249b62d00f3ca068a0cd30ae74aa19" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -3819,7 +3819,7 @@ "well-founded-ordering-on-nat" ], 0, - "c8e0e7e50e5f0c4c71414da6f1597a2f" + "3cef9d1892623af19d4cce5923cff416" ], [ "FStar.UInt.index_to_vec_ones", @@ -3844,7 +3844,7 @@ "typing_Prims.pow2" ], 0, - "8ea02d6242d5c23c8c9f23d2f65c4275" + "22d2c73cac73e0c105a8b2c44d1490ad" ], [ "FStar.UInt.index_to_vec_ones", @@ -3869,7 +3869,7 @@ "typing_Prims.pow2" ], 0, - "58a3f4bfb7669d18fed5dcd45b9041da" + "b3ad15ba1f45313d4402d12b05b40934" ], [ "FStar.UInt.index_to_vec_ones", @@ -3929,7 +3929,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0bceab56a8e76fe971af552eadf16c1a" + "ac31fc304a86bff39ac949cb56d5fabb" ], [ "FStar.UInt.logor_disjoint", @@ -3945,7 +3945,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "28b6d479c1d8e2de9bb15292672c5e6e" + "3b11cf7c239fc6d99195166edf1c32af" ], [ "FStar.UInt.logor_disjoint", @@ -3957,7 +3957,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ae16457c11a5b5a72b1886344ab6a0f7" + "efa75db0c1eea38852b5d5d178e000e2" ], [ "FStar.UInt.logor_disjoint", @@ -4020,7 +4020,7 @@ "typing_FStar.Seq.Properties.split" ], 0, - "2ee2f31b5ef29bf4973a0f77ad4553a3" + "3c3dd3aa9b07fd5ae3c659e90f4ed25b" ], [ "FStar.UInt.logand_mask", @@ -4041,7 +4041,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "52eba9fb5e5dd5cceb76124494a0ed7c" + "339a0d6123f8c89067aa73546bfa1086" ], [ "FStar.UInt.logand_mask", @@ -4050,7 +4050,7 @@ 1, [ "@query" ], 0, - "c75fe9c9269191abb63ccca07e14f3cd" + "f195928ce32fa155d9f483d4490fe6c1" ], [ "FStar.UInt.logand_mask", @@ -4114,7 +4114,7 @@ "typing_FStar.Seq.Properties.split" ], 0, - "c5afb6379a990f0817088861d580807e" + "9f5a694d3a598f9ea2c89ea5a85a53dd" ], [ "FStar.UInt.shift_left", @@ -4123,7 +4123,7 @@ 1, [ "@query" ], 0, - "57cde2ad6b3c8e549838c28985269130" + "de827afca0e7b90f918744e9fc86804f" ], [ "FStar.UInt.shift_left", @@ -4132,7 +4132,7 @@ 1, [ "@query" ], 0, - "0af7347071ad9edb477e2b44077df598" + "4a7d438deb88f0eef8c905abf50635ca" ], [ "FStar.UInt.shift_right", @@ -4141,7 +4141,7 @@ 1, [ "@query" ], 0, - "352435001c718b004ed3aad9fde7ba85" + "a8079b32aa13a44cae4c93ca8d0c1647" ], [ "FStar.UInt.shift_right", @@ -4150,7 +4150,7 @@ 1, [ "@query" ], 0, - "e114c7568ec39c94970b28b386956ddc" + "a6cbd13afc9fadf842dd859c57091994" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4162,7 +4162,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a7406018510a78e012baf50da637faf1" + "7eb45e312628f143767a3d881c09d233" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4171,7 +4171,7 @@ 1, [ "@query" ], 0, - "12b9f63ffd528ef7d29a9f70e2d1b659" + "3803529b96f5ba47386ae6dd04deeecf" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4200,7 +4200,7 @@ "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "82617599013a90ff20699291c9370da3" + "732e3d971ff3a63d05521e27afb6634e" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4217,7 +4217,7 @@ "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "cea55f0b9a2e5e57c02f058641e3e9b2" + "482751ed5f32199c182b4c8a42f0c541" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4226,7 +4226,7 @@ 1, [ "@query" ], 0, - "5a825503834e4d80389696e2c651b958" + "0547aae9c0b1df6fc6bbd08713f88972" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4255,7 +4255,7 @@ "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "5019c5f8e6ce670f35a701fcb6d42a8a" + "d83a885ae2fcde51e40bc1dabe6cf5d1" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4267,7 +4267,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e788f97c6cc4ef24756af485a3e06018" + "66b77652a49ad17cc0b2457272bdf9af" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4276,7 +4276,7 @@ 1, [ "@query" ], 0, - "1ed0bf64966ee240a5831b18663eb6bf" + "92743edefb6dec70514474f3a3072c7e" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4305,7 +4305,7 @@ "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "e4cbab0b28eaaa318def1b0b378df091" + "e61a38df920f02b7394913d56ea90b91" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4322,7 +4322,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "ee99d4139a5e14cc19afc4da7cf908d0" + "42c36661f1b9fb04f91080bc3c18da72" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4331,7 +4331,7 @@ 1, [ "@query" ], 0, - "75f5544b734d9ee12db78bb7f1de5ab3" + "8c2138a0130801dd0cb20260cea10ffe" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4360,7 +4360,7 @@ "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "c70e48119b80371056a88a977e0104ad" + "3efc48f0a77b031ad1a43cb22ae33095" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4376,7 +4376,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b76f9b6b25ed10c1106ed28ed6462307" + "7a6dc62d99927022e9e7e7319a1bdc9f" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4388,7 +4388,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "432dac97672740316581907d8d4f244e" + "700f24016e1b89a0e45429df3326ba75" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4420,7 +4420,7 @@ "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "23e91fc0a6c8a514b93467699000bcce" + "1386f94f2c402c986ab91d0ac4cbfe8a" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4436,7 +4436,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d5a41114163b9efd78dc0e60f1f39106" + "d0497c90d4100823f05242c65fca66b2" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4448,7 +4448,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1f050d7dcb79c1f4a34eacc9eaf5e0c0" + "aa01a9337d0a1fe1c0757e4e0445e599" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4480,7 +4480,7 @@ "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "06d50fee91c20e033b85ab4a5e1c217e" + "9bda8bb784c89e36184a020667c1577e" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4496,7 +4496,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2c9bc20d46fead29dca72b62f063338e" + "5e5079d53b84408efea6d90264ae45d1" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4508,7 +4508,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fcb5755df026282eaa8aafa436f150c0" + "1f97721bbb9ca43bc339e52656c7bb89" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4543,7 +4543,7 @@ "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "f294068b30418f12480e2da1207227f1" + "e0870feb3c06ca6942499b1b3424e9c8" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4559,7 +4559,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "da66d05453e715ab8f578e8a60e9c574" + "03e41e2aac10a3bde3c35e8ece1b8d7f" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4571,7 +4571,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5d107f601f591a521eaa798efcea1c65" + "a14c4473ca120f10dde91c023af9b759" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4606,7 +4606,7 @@ "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "017cfca949cb959f166af62b8f7bcaeb" + "2f7a3860e5c763dc7bcd08dc9dc67093" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -4622,7 +4622,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db7068100c1af440d4b3fbc9f6f997ae" + "26d88935cfe1266a378ec7f136e4608f" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -4634,7 +4634,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bd9159e0b3b64108818b7e18cb9a8b76" + "f1bc7a40cae979c403ba711e498ddcb4" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -4667,7 +4667,7 @@ "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "04e9807b4504f0068720b0c3dbbf9b78" + "1014924292d75e8612446cfc10c464ec" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -4683,7 +4683,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d6d07716ef1a1cb09664469e51401748" + "58926fa262a8ed10a0fe1d34f9b20314" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -4695,7 +4695,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b19ff7c3e8be2f8c1f59e052e5f35a39" + "b1af95c86cea8d3532cf0cfcd177184e" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -4727,7 +4727,7 @@ "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "e224d43be2bf31d5f57e57f72e9f2f10" + "75a4898139ef6526b0fe4e74ad85d720" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -4742,7 +4742,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "27edd2d45aa7943ae20f6453321bda12" + "d4792de6049c86b9d8417bcbc3a17723" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -4751,7 +4751,7 @@ 1, [ "@query" ], 0, - "8d1527684865e6f4a534f651742e0889" + "c89c8955429d4b8530e6c6de43f47b14" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -4776,7 +4776,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "6af7e7e5444d597bfb7278b2709722c3" + "75cacb355c26ec51b6ea668bddadce6f" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -4791,7 +4791,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "edc34ff236e7c35f5e4003a88da932e1" + "69d0209cf0391ab780447e99635e9c39" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -4800,7 +4800,7 @@ 1, [ "@query" ], 0, - "9c6548f076780b199611cd94b1d3cabd" + "e414a5c8c22dca4252f00077d8c49abc" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -4830,7 +4830,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e426dd2a2e099909ca60f3e153259085" + "f517983a10e049d852c79f318eec3e9f" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -4846,7 +4846,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d8fbd50f8673b3de62a62d84ff4281ea" + "7bff5e9c253ac008de40fe9b3ee5de3d" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -4855,7 +4855,7 @@ 1, [ "@query" ], 0, - "490bdd91bd14b9eb555d602cf97edee8" + "def11a2c17626e715606207c22f08f5d" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -4901,7 +4901,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "537235c50668a98e4f52d6ac60cf8900" + "e15657f61852b03ecc3c26afd729121e" ], [ "FStar.UInt.shift_left_value_lemma", @@ -4916,7 +4916,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "502b754ce35b24619890f6b858798c97" + "863681a3d079f5d08e3dc502b940c499" ], [ "FStar.UInt.shift_left_value_lemma", @@ -4925,7 +4925,7 @@ 1, [ "@query" ], 0, - "745a42c1a365f49fd3dfeb4dec48afd5" + "4b43056e4815599c09d58d2cdd3d381b" ], [ "FStar.UInt.shift_left_value_lemma", @@ -4950,7 +4950,7 @@ "unit_inversion", "unit_typing" ], 0, - "a4f9af9a239f0f1399dfe5b7fbaaed68" + "84d7b8202cefceaf9567088717490442" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -4959,7 +4959,7 @@ 1, [ "@query" ], 0, - "8137d618ce7c690fcff28920a922ce38" + "d4ce707ce7f9ab174dc6431dfba22a96" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -4968,7 +4968,7 @@ 1, [ "@query" ], 0, - "30302b92e934396bedbdbad895914683" + "f44d4cde669186a2aa4301ceea90fd4f" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -4997,7 +4997,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "9ce76614422c1380b7827ca9cb23ec96" + "bf952bf27ce9315cdd223843753158d9" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5006,7 +5006,7 @@ 1, [ "@query" ], 0, - "d07c4278000727dec983d63904ebe52b" + "61af36a734868d26c6823403663d102a" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5015,7 +5015,7 @@ 1, [ "@query" ], 0, - "725242a32975ef3444fca855448bff6d" + "f0e7d643ae0347122aeffc0fd0f11ab6" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5043,7 +5043,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "ae132fcb5e56e1abea8dde16c3c6030d" + "5b4356d9b8f680eb1c37ae40b6b569c4" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5059,7 +5059,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "53f8d37324aca6046ea339bd2b5b4a6b" + "6d6023f02fa2734aca648004d5c13fcc" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5068,7 +5068,7 @@ 1, [ "@query" ], 0, - "0a5a551fd3790fc7b1ed2932b5a1255e" + "8560b92d50a9bc3a87bdc14972d6778d" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5112,7 +5112,7 @@ "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length" ], 0, - "ca205a2f7d7d19d30f8bd73868582665" + "49ed101394ab7a7af589b299917efcda" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5121,7 +5121,7 @@ 1, [ "@query" ], 0, - "ad1c03958c43cc387d0bca6a47807019" + "55ef7f31f7c48d54ad59af032b990f42" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5130,7 +5130,7 @@ 1, [ "@query" ], 0, - "3f4087475cf54282f6eac50188a2db33" + "a2b50343c202d9a375354a70eb4af387" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5155,7 +5155,7 @@ "unit_inversion", "unit_typing" ], 0, - "9b07dbedd273be94fb575d51ff367865" + "9468630b34756cdf9e752e0d80ad38af" ], [ "FStar.UInt.msb", @@ -5164,7 +5164,7 @@ 1, [ "@query" ], 0, - "57bc5b0b6be25f4abcbcb6d4699706d2" + "71dc62bef4353f603f6583c28d5284d1" ], [ "FStar.UInt.msb", @@ -5176,7 +5176,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "60485f6835193c85548e0ac3e8f25dd1" + "cf3a2d243a6e7fbe5b344f369e5cc152" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5189,7 +5189,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "450694b257f25b297e3098189afe778e" + "6244ad649ae5ff758639b95f28c49fcf" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5198,7 +5198,7 @@ 1, [ "@query" ], 0, - "dd505d7052c62bc8b592c4989825e13e" + "5a99c762b7874f83e0ce2c1c584892c6" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5259,7 +5259,7 @@ "typing_FStar.UInt.to_vec", "typing_Prims.pow2" ], 0, - "bd1f696374c0193f79e6869a64c560d3" + "0faa9417ce0ce0e7fc92d9eacb848160" ], [ "FStar.UInt.plus_one_mod", @@ -5271,7 +5271,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b651d41d4be53af4e6309ab96d545dc7" + "138ab55d7b40392de44b1ae97ea87dca" ], [ "FStar.UInt.plus_one_mod", @@ -5286,7 +5286,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4ad10aaf9f8fdcf54e71334ec2a19c33" + "5f2cfc706312652a0cef2a97324db7f3" ], [ "FStar.UInt.lemma_minus_zero", @@ -5295,7 +5295,7 @@ 1, [ "@query" ], 0, - "8be59391ea160fdf3864a5298f679ebf" + "f6b31066355e5609435e5beec56598f1" ], [ "FStar.UInt.lemma_minus_zero", @@ -5304,7 +5304,7 @@ 1, [ "@query" ], 0, - "5d04fe8225e131f1ed819eabb756aa80" + "6a8f078abd47d06e49a2492641f70cd5" ], [ "FStar.UInt.lemma_minus_zero", @@ -5330,7 +5330,7 @@ "typing_FStar.UInt.lognot" ], 0, - "913ece35ba8126e9557c16359af39176" + "1a06c969934dc8e5495539f139ff25a6" ], [ "FStar.UInt.lemma_msb_gte", @@ -5346,7 +5346,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5da36bb46df1c201c2c2f237b132213d" + "511d506ef432b617e70dbf9931dc3e42" ], [ "FStar.UInt.lemma_msb_gte", @@ -5362,7 +5362,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "426f20accc658862cc6d8d820fb943ac" + "f351dbe85845a6c7735449d7fb8fe633" ], [ "FStar.UInt.lemma_msb_gte", @@ -5417,7 +5417,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb" ], 0, - "c04e7ad20e355252f18347ee68f71078" + "81b5ecc08b7835f142e5aeb5877561c2" ], [ "FStar.UInt.lemma_uint_mod", @@ -5432,7 +5432,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "07bc216a3527e0d0a1f28662cc5ca29b" + "44d83dcdeeb00944933c00d4eb35c900" ], [ "FStar.UInt.lemma_uint_mod", @@ -5441,7 +5441,7 @@ 1, [ "@query" ], 0, - "c20810089b6511901c134bbbc98eb0bd" + "8a280905387accd6b6fdd19b15e33333" ], [ "FStar.UInt.lemma_uint_mod", @@ -5467,7 +5467,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "606158719f2e2714785a83f66e7ab872" + "4ba6e7b966a0ebcb69a4a22c6e1091ad" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5483,7 +5483,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5f80fce9ee6545dff771dd10c76d3e38" + "685c846de1707a0e39c29a60b794d5a4" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5495,7 +5495,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a905f8abb045e12e7a1c2b319a6a0c89" + "d1dacdce3727d9e34f31bb5124ba21c4" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5515,7 +5515,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "620a362e13cfe7dd02749e70fab365ba" + "ffc631e5d3177e9ef6625ed2f7158cd2" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -5527,7 +5527,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3ce91a6a1dc2ead93a1a0eec3d0607e8" + "c2ac489b9e9c3d316940e1e512c177da" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -5542,7 +5542,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8c37485f701a3a53775b0bd6253c0b75" + "ca16651e489173b80fdd83e47e7678bb" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5558,7 +5558,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "99a887ab489e027d88f03cc28213e757" + "61a8b868cc73b179f5f3d45195e38311" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5570,7 +5570,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bbef261805a03b14fa8ae86c10c4237f" + "d082e364d861fdcecbd35a5c288dc22a" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5587,7 +5587,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "485916bf96c1e403c687c933de00fc1a" + "cadd918c2399dc933e2f14d04751b57c" ], [ "FStar.UInt.zero_extend_vec", @@ -5596,7 +5596,7 @@ 1, [ "@query" ], 0, - "a90f74fac0d35def01e7aa677aea3d08" + "f382e4debf698d1e01b23f5a6266654e" ], [ "FStar.UInt.zero_extend_vec", @@ -5620,7 +5620,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "e5a2136e4048dc255ba5288ed6e2e878" + "b6a8006fee2377b55f58df85eb23d088" ], [ "FStar.UInt.one_extend_vec", @@ -5629,7 +5629,7 @@ 1, [ "@query" ], 0, - "e9fb427efa7a10dbfcbaa81953f0c070" + "043732972008d55924494aabf7f36df3" ], [ "FStar.UInt.one_extend_vec", @@ -5653,7 +5653,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "c6e30eef28f3b3fd2e546248e325aeba" + "ca99cfc4f65677f62ae6ed5f2f4131d7" ], [ "FStar.UInt.zero_extend", @@ -5662,7 +5662,7 @@ 1, [ "@query" ], 0, - "cc861a62eb5d08ab5a96d85c55c92ede" + "137af0f8435179c260e4c03b9a829914" ], [ "FStar.UInt.zero_extend", @@ -5676,7 +5676,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fa54a83edbedbb2d93c36f7332b1928c" + "7801cea8ac6adff2580bf9cfaefd46f8" ], [ "FStar.UInt.one_extend", @@ -5685,7 +5685,7 @@ 1, [ "@query" ], 0, - "33486ac76ae67107f6b4325519933ae3" + "99fb46edeed4382c5ee1c7b970ff59d6" ], [ "FStar.UInt.one_extend", @@ -5699,7 +5699,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "79efa5f2088545f196a41ad8258c7530" + "35d9c1e33be11a143d4b930f50f7622c" ], [ "FStar.UInt.lemma_zero_extend", @@ -5712,7 +5712,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ee9e26b1ce680d794b86238ea2fed545" + "0ed52bd87367f4915a2c582cae6fc4b0" ], [ "FStar.UInt.lemma_zero_extend", @@ -5721,7 +5721,7 @@ 1, [ "@query" ], 0, - "8e207eb530012a940b91957008cfe411" + "3c247976076587e3981e42ab805cb02e" ], [ "FStar.UInt.lemma_zero_extend", @@ -5779,7 +5779,7 @@ "typing_FStar.UInt.zero_extend_vec", "typing_Prims.pow2" ], 0, - "c9ef7d6977f20c897a52418575af93fc" + "3e401719ea385952128ae7e99e2c5f16" ], [ "FStar.UInt.lemma_one_extend", @@ -5788,7 +5788,7 @@ 1, [ "@query" ], 0, - "06ae7b5a5c44266f5d276df92ece8822" + "818cea6d8f3462b88503a41a6bbf9321" ], [ "FStar.UInt.lemma_one_extend", @@ -5797,7 +5797,7 @@ 1, [ "@query" ], 0, - "4551a9c3e9790da477aa2a6b7733f150" + "d1c6140d5e98a42285c637bff7586ed3" ], [ "FStar.UInt.lemma_one_extend", @@ -5858,7 +5858,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.one_extend_vec" ], 0, - "d020a7138054e5025a0a7d85792009e0" + "803f38de227662a4e7efe3270d3682b6" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -5871,7 +5871,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "33a6323c5a38c6678638aa167268450c" + "b0cbf3f67894ce3f75e06a757ab1360f" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -5880,7 +5880,7 @@ 1, [ "@query" ], 0, - "8793e167bbbf9a203dd5d834e03c4b4d" + "f0afd6fcb8548fc7476b00e374265506" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -5950,7 +5950,7 @@ "typing_Prims.pow2" ], 0, - "3e6dab436ab3de69b69399b242cb7871" + "80b42ffbe1933af10c88fec08270df98" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -5964,7 +5964,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9e4c174867e6ec2fcca8c388d38454d6" + "e562907aae173bcb88c17aa409f3ed85" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -5973,7 +5973,7 @@ 1, [ "@query" ], 0, - "c8f5f9bdac6be994e71663d6faf34568" + "21b334a641f969e792fcb87983e1c02d" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -6038,7 +6038,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "318e5ab53072879779e176f54d34453c" + "eb79302fbddc794bfc7c1d38b9118dcf" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6047,7 +6047,7 @@ 1, [ "@query" ], 0, - "5151e1704a18eb9dfb36556ec36aa71b" + "a8718aa858a4a1c1655134c00e45d857" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6056,7 +6056,7 @@ 1, [ "@query" ], 0, - "ec2e177b447a8ed26265cf43362dbd52" + "af9fe150152958dac5d5b82b1bdfb962" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6123,7 +6123,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "d4ef90f35ccbba8f46d217c1401cdce7" + "d24333bd5ab78ea101533f21cbc8ec9f" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6152,7 +6152,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "55bdd2465cf646e9d6fea35843b500dc" + "548c144b484ff39850af3d66d0f6c9ed" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6161,7 +6161,7 @@ 1, [ "@query" ], 0, - "d9349c672261b42ea5b296d16f8d926f" + "2af9196bd9c523a5c053dd807f264d50" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6189,7 +6189,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "057f3cf942146aeebf898c4bd874cff8" + "3ae2850c94cfa0ac1e9b495809477372" ], [ "FStar.UInt.lemma_mod_variation", @@ -6204,7 +6204,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8b40ab62150c762289746664c4a3381f" + "e3b2759b43f471af06a8885974988cae" ], [ "FStar.UInt.lemma_mod_variation", @@ -6213,7 +6213,7 @@ 1, [ "@query" ], 0, - "a25e9d625a1c743b0670f35e579fffbc" + "fba541fa9cabbe1e2367b50073e62a3b" ], [ "FStar.UInt.lemma_mod_variation", @@ -6240,7 +6240,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "abb1a3157aace9c804458096d4daf14d" + "4e2e13c203e26f455619b22df3e48ed5" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -6252,7 +6252,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "41590a98f4f1c9b3ef424ef72676865e" + "ceee3f2dd633905ad97f44f453cc70c1" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -6273,7 +6273,7 @@ "typing_Prims.pow2" ], 0, - "057dd896bba9b52dd3e4577bee1578a2" + "8f18d1ff5019c11b495980a0a5e8e80b" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6288,7 +6288,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e4181c7bf5d80b52d693d1dd9c892416" + "3aaa9b6ab01d0b762b70347d8da8e1e9" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6297,7 +6297,7 @@ 1, [ "@query" ], 0, - "bcb7311f260bddc726dc1b2244b2f026" + "16f68e1af602003279e1b25dee850df4" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6324,7 +6324,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "e8eac3bdcc16b6721f50fcef69529da5" + "a2d2a1660cdae0e5e25f5748401f627d" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -6354,7 +6354,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "530bd2d4b38b4ec152d55440dd1f3524" + "4d1634650b4e524bc7be0ad18b9083a8" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -6363,7 +6363,7 @@ 1, [ "@query" ], 0, - "df1c2701ff024345854f021bce9c961b" + "0a319c2ba4c2d4b86e049978a08b78c5" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -6393,7 +6393,7 @@ "typing_FStar.UInt.lognot" ], 0, - "548ea1e1acbb23ffa740a89c359f68e6" + "f17ace83b0a82f7548ba6130ce8b193a" ], [ "FStar.UInt.lemma_lognot_value", @@ -6422,7 +6422,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "ee17b4b6589702c288d48061995676dd" + "6a569c6bab67151dfcf5c49057456840" ], [ "FStar.UInt.lemma_lognot_value", @@ -6431,7 +6431,7 @@ 1, [ "@query" ], 0, - "52cee0f3cdc970b6f854c808d11dcaae" + "1ccdb0317343eca76ccb3362350ff69f" ], [ "FStar.UInt.lemma_lognot_value", @@ -6450,7 +6450,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4d050db4195405dfe0c1dc48a6c6e5fa" + "f57fb83f8a255a91d57353771b09af5a" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", @@ -6471,7 +6471,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e67b9b73fece2043fe181018e516d8ee" + "1098c69c70ed53c0d8962753ddac4ecd" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", @@ -6480,7 +6480,7 @@ 1, [ "@query" ], 0, - "0672a7fd28e1ff51a46b409585ae39d1" + "5c524aa464bb80cfedaa483f63764762" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", @@ -6511,7 +6511,7 @@ "typing_FStar.UInt.fits" ], 0, - "bba73f079bfc45952597e4857189a6e4" + "8c9517a568c4759d2d23e21b47bea3a6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt.fsti.hints b/ulib/.cache/FStar.UInt.fsti.hints index f7ac519d2d8..b38e75856fc 100644 --- a/ulib/.cache/FStar.UInt.fsti.hints +++ b/ulib/.cache/FStar.UInt.fsti.hints @@ -21,7 +21,7 @@ "typing_Prims.pow2" ], 0, - "c5b6fd679046ed6424c4631713cfef2e" + "f4d59e0b6d4d55ea7b6734d5ef4e764c" ], [ "FStar.UInt.pow2_n", @@ -46,7 +46,7 @@ "typing_Prims.pow2" ], 0, - "2823b2131de01cc94f0de5c4d9f248b6" + "5d499539f45bbed49fea5ea43484d8b7" ], [ "FStar.UInt.one", @@ -71,7 +71,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "f67b4401cad0c2174588eca9c38dcd80" + "274f0bbec86cbdfb4f60502bb46aac24" ], [ "FStar.UInt.ones", @@ -92,7 +92,7 @@ "typing_Prims.pow2" ], 0, - "70b5402b9fd9c87c707af57a64883de9" + "e89af6c70e665305f45d06607ac200c4" ], [ "FStar.UInt.incr", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "f524b5777cb201a8f4f2672692549080" + "d6227a9dc3493bf4fe1bcd57260202fb" ], [ "FStar.UInt.decr", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "70f3e14e6402c2ef7c2479e076e393f4" + "1adeadc3e72fb4a48127ff58b55ee1d1" ], [ "FStar.UInt.incr_mod", @@ -153,7 +153,7 @@ "typing_Prims.pow2" ], 0, - "4f1a84890b385926dacbe4ef96bd22fd" + "6344cf22a4bb5e91e66e852895017604" ], [ "FStar.UInt.decr_mod", @@ -174,7 +174,7 @@ "typing_Prims.pow2" ], 0, - "f161fc3601d67789d91f6c383b5c1a30" + "4ac0371916c8d9c06ee3e4564bb72305" ], [ "FStar.UInt.add", @@ -183,7 +183,7 @@ 1, [ "@query" ], 0, - "7d741d064d9bf1c21decc19c375ff0ac" + "7d41068f32f3a6302f6bd68e13c309d4" ], [ "FStar.UInt.add_mod", @@ -204,7 +204,7 @@ "typing_Prims.pow2" ], 0, - "4928b28d7c7725d2707a0f76af46b286" + "7c24d958471842d5839231f1cd174bbe" ], [ "FStar.UInt.sub", @@ -213,7 +213,7 @@ 1, [ "@query" ], 0, - "ce4b30694c5c59ed5d89aa6d950fdcbe" + "4fae4555be100e637b46937bb6f90b99" ], [ "FStar.UInt.sub_mod", @@ -234,7 +234,7 @@ "typing_Prims.pow2" ], 0, - "a71fe2b418c2dfcefa7235e38f8f6c70" + "9b26828756e9989c1f8a608f1e8cf344" ], [ "FStar.UInt.mul", @@ -243,7 +243,7 @@ 1, [ "@query" ], 0, - "1ccf669e47624c8a4ed8c61ee7dfb23e" + "f9208c15a5771a1bbcef37b9268d307b" ], [ "FStar.UInt.mul_mod", @@ -264,7 +264,7 @@ "typing_Prims.pow2" ], 0, - "30c2b6c157732e2e4ce4b942ef4de714" + "fb30a4915f754bf3d8d01e59864565b5" ], [ "FStar.UInt.lt_square_div_lt", @@ -273,7 +273,7 @@ 1, [ "@query" ], 0, - "f7c02c602df125d54f983d5384683973" + "d72462dd31d906f8cf9aa1cff6d7b6a7" ], [ "FStar.UInt.mul_div", @@ -297,7 +297,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "a9f46e5eca0adeeee6894e8c3ef0d5aa" + "6ea64d482c019909b36c91258d4c8372" ], [ "FStar.UInt.div", @@ -306,7 +306,7 @@ 1, [ "@query" ], 0, - "a7b330596a5ebf48ee0657db966544df" + "e1bb103c935b19587ce19475ad8e8dbd" ], [ "FStar.UInt.div_underspec", @@ -315,7 +315,7 @@ 1, [ "@query" ], 0, - "e018bf33960dfcb8808b0509b667b8a0" + "bb36ba6833297502927b0e42464082d2" ], [ "FStar.UInt.div_size", @@ -327,7 +327,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "121e1367d6b5f55ad11131c7118414f7" + "a825c2b3d4cd20b2786bfd8e4dc04870" ], [ "FStar.UInt.udiv", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d227c38d11623b62457225f1e4782450" + "50ae2d427fa2626e82132743372a7972" ], [ "FStar.UInt.udiv", @@ -353,7 +353,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "a619463ba27da0813d1606feb7d79b10" + "098506a3a99b8e687eabdf06a129ce62" ], [ "FStar.UInt.mod", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e7c043ca3419c8715cece27596a20e82" + "f09892aaa0b48cffdc589280ab6c3fac" ], [ "FStar.UInt.eq", @@ -393,7 +393,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d966fd698aad6a903967e28a699f30c4" + "e3b34f4c30ab095432724cef61ab200c" ], [ "FStar.UInt.to_uint_t", @@ -414,7 +414,7 @@ "typing_Prims.pow2" ], 0, - "70f63f58c0240a10b5f118caab4a5db7" + "c63b60b9749e929cbdaa4d613fa45e19" ], [ "FStar.UInt.to_vec", @@ -452,7 +452,7 @@ "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "d0d1cee8029ad67d32615ca9936c4715" + "af2dc0093280ad15898ab0143766aad7" ], [ "FStar.UInt.from_vec", @@ -490,7 +490,7 @@ "well-founded-ordering-on-nat" ], 0, - "e33cc50d66b3c8799cd9ca3f785574d1" + "c7560340e4f1f75c29c83d9a9dfe15ee" ], [ "FStar.UInt.to_vec_lemma_1", @@ -506,7 +506,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d1e6f69d257a5a146401965cc28ec739" + "387eeceb48ca56e671046b925abb4737" ], [ "FStar.UInt.to_vec_lemma_2", @@ -520,7 +520,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1fb291689ba5bedd160f7ae69c0e2325" + "d39581b433c559ec94e89d488eb2f301" ], [ "FStar.UInt.inverse_aux", @@ -538,7 +538,7 @@ "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "e624bd1136f2cf8827e810a7bd821fee" + "2e88e4816714b3129b6f441cdcf288d7" ], [ "FStar.UInt.inverse_num_lemma", @@ -552,7 +552,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6dd0f368a598a4a95d9eacb50f65915c" + "36e67338159b268e19a5b0d3ee206a27" ], [ "FStar.UInt.from_vec_lemma_1", @@ -566,7 +566,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "449bb38395f3dfb4c05c62f301ab8038" + "c4426338e5377988f6d81809bf7a39a0" ], [ "FStar.UInt.from_vec_lemma_2", @@ -582,7 +582,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d625b403d13996c4c9aee9bbcbd5c515" + "c215d887170b302045c3b3cddbec8e8c" ], [ "FStar.UInt.from_vec_aux", @@ -607,7 +607,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "ffb2ab4a63808bcc8913146cf9c076bd" + "8a7d9dd49b57e4fdbe9719c9c7505861" ], [ "FStar.UInt.seq_slice_lemma", @@ -636,7 +636,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "f52add6294b60a4680da10731bb0d023" + "5d47758e0c2ba16cebd203769c5a38aa" ], [ "FStar.UInt.from_vec_propriety", @@ -666,7 +666,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "4adf74bdd42f59f82773988aeedad404" + "4ec740b6817b3a10398141867ed08267" ], [ "FStar.UInt.append_lemma", @@ -684,7 +684,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "e0e819bdc5f6fb44f8c3c7fe7fa3c412" + "65f8be4d3295b97a947742063874fd9b" ], [ "FStar.UInt.slice_left_lemma", @@ -711,7 +711,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "e2bd524bd40fc364def66828a26d4a83" + "a31246b3c447fb0de195e9986292e9ab" ], [ "FStar.UInt.slice_right_lemma", @@ -736,7 +736,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "065d1d227ffb86114fcd764592a943bc" + "b546f00c8607e42f5c2334f3eedde3b6" ], [ "FStar.UInt.zero_to_vec_lemma", @@ -756,7 +756,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "c1d382ef2c2d300a62a702372eb928a4" + "2c3fa8c8b1e2c911db772a30193b9b7b" ], [ "FStar.UInt.zero_from_vec_lemma", @@ -772,7 +772,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "92600aabde13717a71dd0d4ee00b76d5" + "60376edbc09cd7436563ace0ad1bb44b" ], [ "FStar.UInt.one_to_vec_lemma", @@ -788,7 +788,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "84ba9a65a70693ad02ee64f52e0b0ebf" + "a652556e74d583dd4230f353ed33f66b" ], [ "FStar.UInt.pow2_to_vec_lemma", @@ -805,7 +805,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "65e44f9787bfb12c801f6ec99a9bca44" + "c506628c8d2ad2fa6fcbfd14be70b5b6" ], [ "FStar.UInt.pow2_from_vec_lemma", @@ -824,7 +824,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "7afd8c638f2136d2e7c994b323195a81" + "8df4d88ee71c55facbf7163bd390223b" ], [ "FStar.UInt.ones_to_vec_lemma", @@ -844,7 +844,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "09936fc28e8af984bd195fda83f9d7b0" + "489523701bbb14744a1fe1d489d98643" ], [ "FStar.UInt.ones_from_vec_lemma", @@ -860,7 +860,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4570bfdfb853842560d68d4d83273418" + "83362f0cb6cdb39d5a74a230647f53e1" ], [ "FStar.UInt.nth", @@ -869,7 +869,7 @@ 1, [ "@query" ], 0, - "9b9e0f807b10a0200ebc1ba01e4eafd9" + "d656e091a835281ca04b193101d5218d" ], [ "FStar.UInt.nth", @@ -884,7 +884,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "098fb396fd12f2d400b4ae2ec03905bb" + "4e49031145f65e6d7754dcf269d3de87" ], [ "FStar.UInt.nth_lemma", @@ -900,7 +900,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4938cf7d151d447f9a667c4fe3fc9341" + "33432ae61a33b0607d21ecf8d9897a04" ], [ "FStar.UInt.zero_nth_lemma", @@ -909,7 +909,7 @@ 1, [ "@query" ], 0, - "ce6ea94745f56bba929540a62a3267fd" + "19be70b4e569e80f5212d386e45f43da" ], [ "FStar.UInt.ones_nth_lemma", @@ -918,7 +918,7 @@ 1, [ "@query" ], 0, - "8fdab477a89a9903b1e469bc74772eba" + "c18e26bc7e0ec9d86f7c07cb0f84bc94" ], [ "FStar.UInt.logand", @@ -930,7 +930,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "92946cccbd99d78b7a0307b421c66524" + "a20b3cfe6072364174548d5696bff18b" ], [ "FStar.UInt.logand", @@ -942,7 +942,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c47687ba5fdce72437d7d0bcafbc9e11" + "b39801862c4ab85e438d2d670150ce49" ], [ "FStar.UInt.logxor", @@ -954,7 +954,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ab50bf4b98e364806659f2c9df671bfb" + "ac953644b5dad2780607f7c27e078963" ], [ "FStar.UInt.logxor", @@ -966,7 +966,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8cfcc588fef2febf42637f99bff1072d" + "b98f3d94116299a52c0cdd8ade78bbbe" ], [ "FStar.UInt.logor", @@ -978,7 +978,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fda08c258a060f59930ff54f2dc72629" + "5eb7ebffaaab7bae78cc2284dfbc2551" ], [ "FStar.UInt.logor", @@ -990,7 +990,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9fa0b8aeed1019cf653c3034ea6b2838" + "c1c13e1033acebea46d842d79bf318a7" ], [ "FStar.UInt.lognot", @@ -999,7 +999,7 @@ 1, [ "@query" ], 0, - "f47fc54d5ac573f6ed73e16df9991160" + "b6d92bf6823a2bc8721884f653044f5d" ], [ "FStar.UInt.lognot", @@ -1011,7 +1011,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "acbb52716c208dd35c3312e435f1f8c9" + "2eae3834b35169e64424613dac11d0a2" ], [ "FStar.UInt.logand_definition", @@ -1023,7 +1023,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "edfe903dc911b8debf2f45059f93917b" + "46e5708fa1a4e355b88bed8649604ad0" ], [ "FStar.UInt.logxor_definition", @@ -1035,7 +1035,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "85538374e87d370eebf254f48f3043fd" + "8485cb4dff3980b5ba49e0547a8ee7c1" ], [ "FStar.UInt.logor_definition", @@ -1047,7 +1047,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "902afb145b52a5aa64a2c1aa62f9863f" + "129ba89f3f0f7394a0af7c547815fb00" ], [ "FStar.UInt.lognot_definition", @@ -1056,7 +1056,7 @@ 1, [ "@query" ], 0, - "0c5e52a97d43d2faa9fac8213e43cfe1" + "98bca0e7d29bf8faca120ecffe33f736" ], [ "FStar.UInt.minus", @@ -1065,7 +1065,7 @@ 1, [ "@query" ], 0, - "d7dbf3ca2cfda78a3d8931b13622a043" + "a593f47795cfa8ded6c2329bc93d5c2f" ], [ "FStar.UInt.minus", @@ -1089,7 +1089,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "b6eeb2187a4ffe09877ac342aeb68cbb" + "a587f176bc86f5e2c037b424bd48392f" ], [ "FStar.UInt.logand_commutative", @@ -1105,7 +1105,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8d4278ade3666dbfd81ae200e077bb92" + "6c58c2c1ae0659bacd3633095d9bcbaf" ], [ "FStar.UInt.logand_associative", @@ -1121,7 +1121,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d6f4fdb4cff738a37e3655d095c80e86" + "914784920e29a36eeb4980f87f571256" ], [ "FStar.UInt.logand_self", @@ -1137,7 +1137,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0212b8b3d09e8e8d2d5203c6c21ee557" + "7215a4ee1419d432c35788b92d76024e" ], [ "FStar.UInt.logand_lemma_1", @@ -1153,7 +1153,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "23bba0bf521308b476a712ca89c7016a" + "7a6c655aafb104904570a71eb1ac0702" ], [ "FStar.UInt.logand_lemma_2", @@ -1169,7 +1169,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8b9a39d3da58f9d9639df92730d64e94" + "740955d17b07db586aedde1b17ada9ac" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -1181,7 +1181,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "aec10fdf85839d01ec2f4a4da650daf3" + "b9d5ec173c615607527415c988663a5f" ], [ "FStar.UInt.logand_le", @@ -1193,7 +1193,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ae88548b392f989b561e3a1b967bbd86" + "e88b46921a80a940280715b8aa82f2bf" ], [ "FStar.UInt.logxor_commutative", @@ -1209,7 +1209,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5861db7a588e0605ec3162501c1f44d3" + "175ff14375a5101b9f3873e5c0748cf7" ], [ "FStar.UInt.logxor_associative", @@ -1225,7 +1225,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2ecd6c7aefce895fc950ce89fa7ec27f" + "9b6af2de21bcd65dfe3c10823bd7980a" ], [ "FStar.UInt.logxor_self", @@ -1241,7 +1241,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9c254ae39b6ea3e07c15cac5ba8d5871" + "d35d8246a7223207ae85be4d7a95effe" ], [ "FStar.UInt.logxor_lemma_1", @@ -1257,7 +1257,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c2611939e3da2531ad1a0cf9604736c4" + "eea3bb8e37210253e49ee88dea2154fd" ], [ "FStar.UInt.logxor_lemma_2", @@ -1273,7 +1273,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "516edd2382cb03d9b6180432c3a4a12c" + "3765353015b562459ffd2caa52ac2ecf" ], [ "FStar.UInt.logxor_inv", @@ -1289,7 +1289,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ab48fc7038b5bc3f63b1310899d4afb9" + "0f05a969cb58c123bfd5d1658e3f3556" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -1305,7 +1305,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e2a1ffee06b5e4550696743ba87a7f88" + "53c3ea6e03a0c2a7e8672a1085e166f3" ], [ "FStar.UInt.logor_commutative", @@ -1321,7 +1321,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3fac5d13575f5ff0daa5e670120f6373" + "209c67e06cf00af72bce45c2ff9a71cd" ], [ "FStar.UInt.logor_associative", @@ -1337,7 +1337,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "42531575e800cc1a56d9e732ab2b93d8" + "22c90c7892a01f3fd642e582e19b91b0" ], [ "FStar.UInt.logor_self", @@ -1353,7 +1353,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0c5ec037a91a9411d006a4e457301e82" + "acd54d0490526272c03ccf50f6ec5908" ], [ "FStar.UInt.logor_lemma_1", @@ -1369,7 +1369,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c395d0e26998f94564332faf1d55f83b" + "00f50c8ed25386799eee27d05eda08f3" ], [ "FStar.UInt.logor_lemma_2", @@ -1385,7 +1385,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0124b9b3eb551a3a577f1d591b39da9f" + "417ecaa4d01fae2a89cd05ce0ad2eaea" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -1397,7 +1397,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9d88f85851de3a2fd5a9651acfda0fb3" + "d408b58c1e8420031ff618de2e15b218" ], [ "FStar.UInt.logor_ge", @@ -1409,7 +1409,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "02291e01821dff5dd7bc74e85d596013" + "391c86196f8837d471828757f5696757" ], [ "FStar.UInt.lognot_self", @@ -1425,7 +1425,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "48b33940e084a3566599ea04ed2f97c0" + "517106e741e47b341140f58af9a4e54f" ], [ "FStar.UInt.lognot_lemma_1", @@ -1441,7 +1441,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "185b26d963a142990184281cfdc1979d" + "52387f1b84e763dd53ddd33ba3d92827" ], [ "FStar.UInt.index_to_vec_ones", @@ -1466,7 +1466,7 @@ "typing_Prims.pow2" ], 0, - "3aabe9b2f39e3d79e06a1c090620a069" + "80d562c455644aecf496ec1f4daaa651" ], [ "FStar.UInt.logor_disjoint", @@ -1479,7 +1479,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "98ae6ed2e6ed85517e844ba7e017e57a" + "0e4dc12a9be5de0fd4a05c2daa519eef" ], [ "FStar.UInt.logand_mask", @@ -1500,7 +1500,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "7860badf4446de195b3e98fdb0d6ce1d" + "b24e90ae45e6b9755820cbf50448f012" ], [ "FStar.UInt.shift_left", @@ -1509,7 +1509,7 @@ 1, [ "@query" ], 0, - "db2d7875c13311b57c8401fade85cac9" + "fa4b329666ab4f929be03008b4106279" ], [ "FStar.UInt.shift_left", @@ -1521,7 +1521,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dfa219589d131fcb472875b3e762542a" + "47fc4221d2bcdd9725278222cd762fc8" ], [ "FStar.UInt.shift_right", @@ -1530,7 +1530,7 @@ 1, [ "@query" ], 0, - "d01900399cb4ea612d6c22d5a846ba9a" + "309247c6e308611e40d296ea85e54228" ], [ "FStar.UInt.shift_right", @@ -1542,7 +1542,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "de76b6d43966ac41af91190dd76d2329" + "4a17f1168e2b12afdd7703a1bf0f3c21" ], [ "FStar.UInt.shift_left_lemma_1", @@ -1554,7 +1554,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8ad6c58448d594befd6fdb75e108b817" + "5c41d21527c56181de8edc03655b2ef8" ], [ "FStar.UInt.shift_left_lemma_2", @@ -1571,7 +1571,7 @@ "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "60165de0e08b530b924b78a1e44dac31" + "3f6c90934943b3809eacae9e650ddce8" ], [ "FStar.UInt.shift_right_lemma_1", @@ -1583,7 +1583,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2c6922af9d5cc4b19054cdc4568b432c" + "8a4630bec817483cb5b60076be97137f" ], [ "FStar.UInt.shift_right_lemma_2", @@ -1600,7 +1600,7 @@ "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "5b2d254f46765c4314f58a366a2eed4a" + "0741a9a7a53e0d2fcdd9ef0b74a59626" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -1616,7 +1616,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "67673d28eebc05f027c31660cd3e2e75" + "1686c00fa02ea083820b8e6c40a31ba2" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -1632,7 +1632,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7509e84540e13ec6ea269f3f22b3098b" + "53f46caf1f7f9b813d5a2a9ece7ec61d" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -1648,7 +1648,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2195fb5702375caf450babcb68363589" + "38f31cc965e92cb4698fda66271413dd" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -1664,7 +1664,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "96794057124c5d41769a7c8342bab06a" + "90c65721b0e6ecd598a8ccb71614e9d1" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -1680,7 +1680,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "409a9bc5ea021391f8b6ca59466e0c7b" + "7ef2dfd6ba9506568137edb23719778e" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -1696,7 +1696,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "86502dc675ca5c8e74ca4ba65f80e137" + "9787a11bd07ade8366843c32ce6ae38a" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -1708,7 +1708,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ad0cad8e479074e6a55cb09b6da9b504" + "d9094ecb7a6bba214c6220e833647e99" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -1720,7 +1720,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8664cd477721c6983e7aebbad2449cc9" + "aceab68e0f43cf49bb61cd94c1af2797" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -1733,7 +1733,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "7484840bc7fa16c9d3bd96e418035293" + "75573b943ed40e3583a237af4bffa6ab" ], [ "FStar.UInt.shift_left_value_lemma", @@ -1745,7 +1745,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "82e9d94b574ee6f176e2a9b56bb56613" + "4480fc60edc310ee2f8d75bd57c18908" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -1754,7 +1754,7 @@ 1, [ "@query" ], 0, - "d813d86f17408d16b6093144a17b6789" + "2f7cee498b8c555fc4697c494bb7bf4f" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -1763,7 +1763,7 @@ 1, [ "@query" ], 0, - "0cb918cd50237f5037773ff45b45ee44" + "331f77f8e3b6639f1d46adb3f1f71e62" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -1776,7 +1776,7 @@ "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "e3987b6cd5f5c03636153ff1f3a5b147" + "eec71bad08da2237ac0e2fe0f009677f" ], [ "FStar.UInt.shift_right_value_lemma", @@ -1785,7 +1785,7 @@ 1, [ "@query" ], 0, - "b82b5af79a179f7f60f1f196d4738488" + "a7dd4adf7b1805f3974cfc2c839daaa9" ], [ "FStar.UInt.msb", @@ -1794,7 +1794,7 @@ 1, [ "@query" ], 0, - "cbfe9ea20a770c8bcccff91f9b9bce7c" + "7ff045af7deb14c1a72d2a10fe8a066b" ], [ "FStar.UInt.msb", @@ -1806,7 +1806,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3783cec81c692c05be5827363e1cbe7c" + "c64626fcc7fb2a0dbbb76e413f6701cb" ], [ "FStar.UInt.lemma_msb_pow2", @@ -1819,7 +1819,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "257cc2a2ad6ab902890bb03c11ab649b" + "d1a1f72230e5c9ca0991fb9fc65f4036" ], [ "FStar.UInt.lemma_minus_zero", @@ -1828,7 +1828,7 @@ 1, [ "@query" ], 0, - "93e1e46e7e6e16046f18f15e82b434c9" + "8e8d36ec8ea0f7cb7da55cd45764ca2f" ], [ "FStar.UInt.lemma_msb_gte", @@ -1841,7 +1841,7 @@ "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" ], 0, - "532192a0fab188e1fb6f1a9f17c60685" + "47cbac58a1d6a3b7cec2de6ed3359ee6" ], [ "FStar.UInt.lemma_uint_mod", @@ -1853,7 +1853,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d12eb1ada29e5d10bb268dc50e39a6d3" + "caf87a9127a2fc9fc27fc404938366b9" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -1869,7 +1869,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0ffbb64d752618076fbd465f93930e09" + "067c856caa831a84914408624dbb8677" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -1881,7 +1881,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3ac1a8f8560f1bb7dbb2d5e0a2eadbe5" + "7a97023c070c29a578e31d02ecf8e3eb" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -1897,7 +1897,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "131dfeba1957100790a193e01ea29439" + "f6f9c74dd1b743a32f43383d7798723e" ], [ "FStar.UInt.zero_extend_vec", @@ -1906,7 +1906,7 @@ 1, [ "@query" ], 0, - "a19963b18c97ed0c429db0d409e5be9e" + "eb6069dfdc59ff30a6b659e26d673b91" ], [ "FStar.UInt.zero_extend_vec", @@ -1930,7 +1930,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "58eb2b95b7024aa71687cc606229f78b" + "cf880dc6ceaeada989abb3732fde9995" ], [ "FStar.UInt.one_extend_vec", @@ -1939,7 +1939,7 @@ 1, [ "@query" ], 0, - "566161831c20ff767f046f872881da89" + "963811b92133d8f0953b58db9acf6ea9" ], [ "FStar.UInt.one_extend_vec", @@ -1963,7 +1963,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "bc1081fe7d55ad0198b1c7d0166c6a68" + "30af13eb8e060bd34b4baf20f5425adc" ], [ "FStar.UInt.zero_extend", @@ -1972,7 +1972,7 @@ 1, [ "@query" ], 0, - "a413f9e2860f5d1528ea12edbea8ea56" + "b45b4d755fee8d9e5b5fc6d1d3182aee" ], [ "FStar.UInt.zero_extend", @@ -1986,7 +1986,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "842e73851631d63eb0069dbaf959cc4f" + "6a0c646c5ec0b3d131490cdb4522fe90" ], [ "FStar.UInt.one_extend", @@ -1995,7 +1995,7 @@ 1, [ "@query" ], 0, - "ce13fa82c562bd7bec373b66fb8b5e42" + "13385c249b08f2c5e8f326c393c6969f" ], [ "FStar.UInt.one_extend", @@ -2009,7 +2009,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "26cdbcff81e808204532ad716554eb24" + "ec813628674c449ba639786106575c4a" ], [ "FStar.UInt.lemma_zero_extend", @@ -2022,7 +2022,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "736c8c4016520452858fb28132bb4ec7" + "7b6272fd3c965411c57da4e298e87f27" ], [ "FStar.UInt.lemma_one_extend", @@ -2031,7 +2031,7 @@ 1, [ "@query" ], 0, - "ac3a2faef03e241c804778efdf88a2da" + "3ad58fbabfc808312689306b04d23785" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -2044,7 +2044,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "38869128f260fb693e7c5216a496bd57" + "6cbe5c66e3f4cb5fd13918cd61df3222" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -2058,7 +2058,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "47a5cd444ad3f6d7a9af046f33119309" + "9d5bb7bbc1a2eedd3b881b04b090028a" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -2067,7 +2067,7 @@ 1, [ "@query" ], 0, - "eb906753cc8bb45100bd3c56d7424ef7" + "ccca28628176768484064eb5a3811317" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -2097,7 +2097,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "8a93671b64734a130f07d0dce3a3544e" + "d449574071ce2e354eaace0b252ec1af" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -2109,7 +2109,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cdbfebd18351d11aa419f2465760e794" + "f694a46824a3ac34ebb84b7528621b93" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -2140,7 +2140,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "78a0ac232b8bb33e0f490f4c2b130539" + "6a28ebf1957675f3ac1b2456dc35f7b0" ], [ "FStar.UInt.lemma_lognot_value", @@ -2170,7 +2170,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "56272ece2866b2807b9f1f516b24b5be" + "f46f3c492ad4f9266d3365479f95cac3" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", @@ -2191,7 +2191,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b196a8d554fad973d106a2241f2b0f71" + "e5acf40cef1a5a2ae3b70d6dfe2fb927" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt128.fst.hints b/ulib/.cache/FStar.UInt128.fst.hints index 4b01d9e688b..5622781b41b 100644 --- a/ulib/.cache/FStar.UInt128.fst.hints +++ b/ulib/.cache/FStar.UInt128.fst.hints @@ -1,5 +1,5 @@ [ - "J2ÍJf!“\u0002&2Œf\u0004rÿ", + "\u0014êûÑ\u0005&°»b9vX\u0002\u001e\u0000j", [ [ "FStar.UInt128.carry_uint64_ok", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "186512db443f0ee25c61e40d5647f7fe" + "6ea2d3d3906eea331010fc6866fead1c" ], [ "FStar.UInt128.carry_uint64_ok", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "186512db443f0ee25c61e40d5647f7fe" + "6ea2d3d3906eea331010fc6866fead1c" ], [ "FStar.UInt128.fact1", @@ -65,7 +65,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "41f78b1f167c761c1ec425c4ff616895" + "7914043d2f368ba0cef807648c5deab0" ], [ "FStar.UInt128.fact0", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "4db463a12cef0fe74231a139433d43f6" + "96823f746134b2d0d319623673c940a6" ], [ "FStar.UInt128.lem_ult_1", @@ -91,7 +91,7 @@ 1, [ "@query" ], 0, - "ea60beea40c2a18d1fab7dd09c26dd7d" + "90a6eacd49f6ebf8bf76c73ae3d9dca4" ], [ "FStar.UInt128.lem_ult_2", @@ -100,7 +100,7 @@ 1, [ "@query" ], 0, - "d9c4188c81ed242671cca187de3a85ec" + "f5f153fb974a6225dbbbfc352ff59921" ], [ "FStar.UInt128.int2bv_ult", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c701145c368964851cf85cb331c484d6" + "f2fd9f1b1655a80cb43d09425f1a4ab0" ], [ "FStar.UInt128.int2bv_ult", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "5069ff68bd4c31502acd208194575826" + "2fe2e55c67cea07c0e083b6d237d0cc5" ], [ "FStar.UInt128.lem_ult", @@ -149,7 +149,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "3990b5dba6448fbf1e56143ac1cd9261" + "4e93e8043a5ed884282a57154c0b72fb" ], [ "FStar.UInt128.carry_uint64_equiv", @@ -201,7 +201,7 @@ "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "73c132c149fc5367321a386e128b6b33" + "19b67b9b92c1edcc9c19107c65ab206e" ], [ "FStar.UInt128.uint128", @@ -214,7 +214,7 @@ "typing_FStar.UInt64.t" ], 0, - "900a05d709f1a4038fd8ae2136a673d8" + "605b8e667fe646ee70cf088694ed2e44" ], [ "FStar.UInt128.t", @@ -223,7 +223,7 @@ 0, [ "@query", "assumption_FStar.UInt128.uint128__uu___haseq" ], 0, - "4706afd25608770f66957462acb5e43d" + "7a46c8079a4769caa309beffee293d92" ], [ "FStar.UInt128.v", @@ -235,7 +235,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "560faaa97898907866d7f6b07e8c32af" + "6daecc479f1f2667373dc803d2709002" ], [ "FStar.UInt128.v", @@ -261,7 +261,7 @@ "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "f30695092fc184bba227d1abf48ba439" + "c78ddc57c8e1effa1a9203e7a5b85f20" ], [ "FStar.UInt128.div_mod", @@ -275,7 +275,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0794211d67ed9046a3e274088d6d09ff" + "8343cb23e3eef42826acc8d3c7e391b1" ], [ "FStar.UInt128.uint_to_t", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "26ab3d956585e19a191be807c052d887" + "4ec099662bd283efd41a1d0bea958080" ], [ "FStar.UInt128.uint_to_t", @@ -303,7 +303,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "04560b35d08164c126eb003139285a78" + "a6e4cc35f8e3a1a2503db8b26b463877" ], [ "FStar.UInt128.uint_to_t", @@ -334,7 +334,7 @@ "typing_FStar.UInt128.n" ], 0, - "a103fb630e700fcead122800880b762a" + "f7bdcb90d7741c63159ab096f1ddd36b" ], [ "FStar.UInt128.v_inj", @@ -346,7 +346,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "00d0cd6f541f05660231380fd0b7adbe" + "9412adf4b244830247c20539ad2fc883" ], [ "FStar.UInt128.v_inj", @@ -380,7 +380,7 @@ "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" ], 0, - "57c76585a4111855c5d5c71760583b90" + "9f03418fae6b7ca6a6c4ad731c380d5f" ], [ "FStar.UInt128.constant_time_carry_ok", @@ -422,7 +422,7 @@ "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt64.v" ], 0, - "93601bc64a9977fe23e0e6395a465d31" + "f925715b821b1a222ff005c31baeadff" ], [ "FStar.UInt128.carry", @@ -444,7 +444,7 @@ "typing_FStar.UInt64.logxor", "typing_FStar.UInt64.v" ], 0, - "3dc2940e099c9cdbe94a868bf598b3bf" + "1c18af0f0eab0e0184573fd7769573cd" ], [ "FStar.UInt128.carry_sum_ok", @@ -472,7 +472,7 @@ "typing_FStar.UInt64.v" ], 0, - "d643f2c910750748fd7c69073087f903" + "9bc370261bdc725a8251b1445cc45eb9" ], [ "FStar.UInt128.add", @@ -484,7 +484,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f8e8fa7210d5ded110065fdcba657384" + "2dd5c1775b7a7143e8122b3acedd5d50" ], [ "FStar.UInt128.add", @@ -521,7 +521,7 @@ "typing_Prims.pow2" ], 0, - "f2a65ee3e8902bac37b0694fb47bcc20" + "36f24b6230884e3ddc2d04b2fdd5f2e4" ], [ "FStar.UInt128.add_underspec", @@ -533,7 +533,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cd994daa7ceb16e3a41a436bf1838f23" + "51d7fc765a9034acc5d8054abf1e79a6" ], [ "FStar.UInt128.add_underspec", @@ -569,7 +569,7 @@ "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.v" ], 0, - "7da2af7d0a5626af24a1a4ad4187858b" + "1c9f76f7054a56595f99977fb67eb356" ], [ "FStar.UInt128.mod_mod", @@ -581,7 +581,7 @@ "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "a63a2b0aa70ecdad9e8b79a89f4ae4c5" + "22112d6e8db554bfb71858014c778ed6" ], [ "FStar.UInt128.mod_mod", @@ -595,7 +595,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a3eff65c6e6309c093263f6e4d3d770d" + "a5c42370e617f8bd974a0270ac78c47d" ], [ "FStar.UInt128.mod_spec", @@ -607,7 +607,7 @@ "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "0b78c9fa96e187d9634455dc3b3595a2" + "3f4ad10c4c7700badaa4c6714eaa720f" ], [ "FStar.UInt128.div_product", @@ -619,7 +619,7 @@ "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "92d7fd668e53f44134195fc44116422c" + "328f0be40faf6e0438ec00d9717b5922" ], [ "FStar.UInt128.div_product", @@ -628,7 +628,7 @@ 0, [ "@query" ], 0, - "3cc7897a730b7bb5f1bc1bddcd22bbc6" + "24e701a4957c702ba5b7fac8d247ed4a" ], [ "FStar.UInt128.mul_div_cancel", @@ -641,7 +641,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "aac6833b0e66e0cecdabfbe21fe7773c" + "2952931b18e06f68912000e79f189916" ], [ "FStar.UInt128.mul_div_cancel", @@ -655,7 +655,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "30382b01a1df9e50ccf6521dc25eedd3" + "06aa8f134679797e73afbecba252ea49" ], [ "FStar.UInt128.mod_mul", @@ -668,7 +668,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "130204e31a22d10472da19df4f8d806d" + "29e45db5abfad7dcac0893014b04dd28" ], [ "FStar.UInt128.mod_mul", @@ -682,7 +682,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c4c4d2713abbcc0349c8a11cd86062d9" + "4f8acde168b8534337aab66827b56a44" ], [ "FStar.UInt128.mod_spec_rew_n", @@ -696,7 +696,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7615e3fc25b6229fecbfc2512399f863" + "6007fd991217858bcb05154979a45a5b" ], [ "FStar.UInt128.mod_add", @@ -709,7 +709,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "6dd46c7b84c78ab7153925825689fcb4" + "dcae9f2a9033590929ac5c631272f94b" ], [ "FStar.UInt128.mod_add", @@ -718,7 +718,7 @@ 0, [ "@query" ], 0, - "8e407965332b2b815a8cc392807b4b73" + "f19c350fed193afb12731fff85990986" ], [ "FStar.UInt128.mod_add_small", @@ -731,7 +731,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "0def728768a0d7dbe4a6b11d74614536" + "f2582aa2e3b74ff0ed83ed8bc606bb8e" ], [ "FStar.UInt128.mod_add_small", @@ -743,7 +743,7 @@ "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "a6bf4d848a644162c8361dcd314b0ddc" + "77267669cf1586b46464cd7f8594605d" ], [ "FStar.UInt128.add_mod", @@ -759,7 +759,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8343a3a354047a180e9fb3ad80360023" + "55d2a8ac1378b63afb1e5e247ce2f7ef" ], [ "FStar.UInt128.add_mod", @@ -795,7 +795,7 @@ "typing_Prims.pow2" ], 0, - "ceb249d19c4165453051338405a58b12" + "d7cc27bc353a67e6ea3a391446b9bbf6" ], [ "FStar.UInt128.sub", @@ -807,7 +807,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cb53d10316057a0dd0da8d5a2586316c" + "69d27eab5a2b6435e6d9fd10b77e2770" ], [ "FStar.UInt128.sub", @@ -841,7 +841,7 @@ "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "89580c47c465d536882acf32a9bd6464" + "aafb74c49e2490e32c3f34555f0b4b37" ], [ "FStar.UInt128.sub_underspec", @@ -853,7 +853,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "56779ddd292b985fe72f22c51d3b2c26" + "4fad4b6e7256f2bcbfa290a4e867dffe" ], [ "FStar.UInt128.sub_underspec", @@ -887,7 +887,7 @@ "typing_FStar.UInt64.v" ], 0, - "61196e28835208355165b4c0159d525a" + "21e97cc079382ce83d15e3d516127397" ], [ "FStar.UInt128.sub_mod_pos_ok", @@ -927,7 +927,7 @@ "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "ba7d3b20098a29aab6c3a487c5b3c911" + "c89ab49f4f3911056c4f630dfbaafc9c" ], [ "FStar.UInt128.u64_diff_wrap", @@ -952,7 +952,7 @@ "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "6fcd6e34bf76ce20ded5fa5cf3318998" + "43a0cea199000dddf0a3a9724a519c6c" ], [ "FStar.UInt128.sub_mod_wrap1_ok", @@ -994,7 +994,7 @@ "typing_FStar.UInt64.v" ], 0, - "3092a50907b23825529f321567ef85e3" + "90b5bf0a34ee068496e6ba3c38d06b03" ], [ "FStar.UInt128.sum_lt", @@ -1003,7 +1003,7 @@ 0, [ "@query" ], 0, - "b2c6039bdca8e84e8f6f6239bdc25642" + "56642e6c70817377051becef8a72c18f" ], [ "FStar.UInt128.sub_mod_wrap2_ok", @@ -1039,7 +1039,7 @@ "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "638658e7a15fb3a74f5ffb0725884f69" + "c981023abd52efd98772bb7edf37552d" ], [ "FStar.UInt128.sub_mod_wrap_ok", @@ -1060,7 +1060,7 @@ "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" ], 0, - "e2bcf5d4b02c716eb840a2f8048b2b00" + "e1119ccad3c9e604b361b1f21a069f38" ], [ "FStar.UInt128.sub_mod", @@ -1076,7 +1076,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "62fb485941fbc857237e15d1e4c23f39" + "d20a0ca9a559ca8466076c7c2e1ad113" ], [ "FStar.UInt128.sub_mod", @@ -1116,7 +1116,7 @@ "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "8a2747bd88bd9a3f7bf7f1127e42df7e" + "9d16cb2649712bfb2386f0395996f7b1" ], [ "FStar.UInt128.shift_bound", @@ -1129,7 +1129,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6c67a488a5e1b8798c40cc7d9be7b7be" + "8365f5cafbf007f74ef4f2c30b70aebe" ], [ "FStar.UInt128.shift_bound", @@ -1149,7 +1149,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "865fe562b14bc2a3bbd8c0c64c263fdf" + "c624502e04f3e3ec4fac080c21fda219" ], [ "FStar.UInt128.append_uint", @@ -1162,7 +1162,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "194f0df459094f1fb4cf5e96f89a0028" + "7212d0fdd63e3dab5f044c1f68382141" ], [ "FStar.UInt128.append_uint", @@ -1186,7 +1186,7 @@ "typing_Prims.pow2" ], 0, - "79b838f0f5d46e8ac35d49f8efd3d5fc" + "ea6f07fc74c1e2c65dcabb2d7e2ebbf5" ], [ "FStar.UInt128.to_vec_append", @@ -1198,7 +1198,7 @@ "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "54f35fec4314ba7c100e82f9c5f80892" + "710e7574d949f9a47f1403929bcb4d14" ], [ "FStar.UInt128.to_vec_append", @@ -1228,7 +1228,7 @@ "typing_FStar.UInt.to_vec", "typing_FStar.UInt128.append_uint" ], 0, - "e773f09eb4154aab987e78fbd49df68f" + "f5c1a3c8115fb989c62be38a616246ae" ], [ "FStar.UInt128.to_vec_v", @@ -1243,7 +1243,7 @@ "proj_equation_FStar.UInt128.Mkuint128_low" ], 0, - "ed0a59a046a355761476845b8225417f" + "fd80b42644b10b0d42100f52587e1e1a" ], [ "FStar.UInt128.logand_vec_append", @@ -1261,7 +1261,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "53f492ace22c980a5682dcc4b08580df" + "7c8ce22eb859f8749429ce0714c466d6" ], [ "FStar.UInt128.logand_vec_append", @@ -1274,7 +1274,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7b4d42d2d320dd16863ec2afb3326b04" + "93536f6c55688a1730a6c4a0333f7246" ], [ "FStar.UInt128.logand_vec_append", @@ -1307,7 +1307,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "78fe8aeea168cd335757114abbc30c34" + "5203b26d5e640486751c90aa1b19d47f" ], [ "FStar.UInt128.logand", @@ -1319,7 +1319,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5272915a837445ed77224368fbbced32" + "a800f8bb7f54d146de77e9bf26c4fd81" ], [ "FStar.UInt128.logand", @@ -1360,7 +1360,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "af7d508e9d3ba1c60512293d49ea9da4" + "433c3a2b7789a7ffe3a54f60b935241b" ], [ "FStar.UInt128.logxor_vec_append", @@ -1378,7 +1378,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "05a5cfaac8cf2e58938a80bb9a6b66e7" + "a45319808965f4bbe253db53bf4b27a4" ], [ "FStar.UInt128.logxor_vec_append", @@ -1391,7 +1391,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "51aad740d44cebf1e5edfc86b73bbcc7" + "40308741f91152f1fcd9e909c525d00b" ], [ "FStar.UInt128.logxor_vec_append", @@ -1424,7 +1424,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "3af840ca34820f43dae6d047fd1c54bc" + "cee6e8c46a41a0ea16c9d81871f32de8" ], [ "FStar.UInt128.logxor", @@ -1436,7 +1436,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a695c3c1e6a0166746bc3b9e829ab385" + "d51c9a9fe490f65bf6d8d15d2db842e8" ], [ "FStar.UInt128.logxor", @@ -1477,7 +1477,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "a04e321ed90c7f5be7cb6a221796afc9" + "d59a710b60ef9475b309f43749f80b44" ], [ "FStar.UInt128.logor_vec_append", @@ -1495,7 +1495,7 @@ "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "b67faa6d5dc9bc1c85613dc2bfd2ab88" + "1d3b8d82df756cedc2e10198e0d4fffe" ], [ "FStar.UInt128.logor_vec_append", @@ -1508,7 +1508,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c9c8d831a9ab7ddc12d620c0045b42d5" + "de669a4daec46826bad5aeed21013290" ], [ "FStar.UInt128.logor_vec_append", @@ -1541,7 +1541,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "4e710df8183a919979c289ca7fd7387a" + "ed285feafd77209519738efb7aae69b1" ], [ "FStar.UInt128.logor", @@ -1553,7 +1553,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "fe09f0716f04e23c4f1475a1b0bb41cc" + "930a68d00daa54d7903cb9c6008e337e" ], [ "FStar.UInt128.logor", @@ -1594,7 +1594,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "d60ffbfb9a38fbee82243861655053d8" + "6c3d1b448bfd66b9031782e14bb102f5" ], [ "FStar.UInt128.lognot_vec_append", @@ -1614,7 +1614,7 @@ "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "c0a4521f81d5f760b1f39a7dfaf92298" + "076ceb553d0518fafce1a7e901953549" ], [ "FStar.UInt128.lognot_vec_append", @@ -1627,7 +1627,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "95cd8e438a95dbb93f9c3ef50a3ba6a9" + "df4f2200cc35e3c7c4bf800048dd03a0" ], [ "FStar.UInt128.lognot_vec_append", @@ -1660,7 +1660,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "daa064dad1016c2258e299fb31d9091d" + "a003291f73441137d11f6cf77486c3c3" ], [ "FStar.UInt128.lognot", @@ -1672,7 +1672,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "dc8f058493f14a1899e11b1282190a5f" + "377639b4fe450de84215f223e00ad724" ], [ "FStar.UInt128.lognot", @@ -1713,7 +1713,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "e932d1152a855ed02c86e46da61ae1e4" + "eed497894bce0e2d1b9528d86fddcd8e" ], [ "FStar.UInt128.__uint_to_t", @@ -1725,7 +1725,7 @@ "equation_FStar.UInt.size", "equation_FStar.UInt128.n" ], 0, - "6bcf29ce5533f4bbea833807118e9164" + "9bc389e706b6c96036b627762b017426" ], [ "FStar.UInt128.mod_mul_cancel", @@ -1739,7 +1739,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c4b693004932cc318203dc3eca26baf6" + "894eff76ee31821bf4aeedfd33cffd87" ], [ "FStar.UInt128.shift_past_mod", @@ -1757,7 +1757,7 @@ "typing_Prims.pow2" ], 0, - "b5c04cf77983994a1d227fdd33866d6b" + "b934e6504ab086fc39394037d047044e" ], [ "FStar.UInt128.mod_double", @@ -1770,7 +1770,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "e080113802e83d2f394a03c791dbf8ac" + "80fe6b1d5e7159dc37e813b4e91c35be" ], [ "FStar.UInt128.mod_double", @@ -1779,7 +1779,7 @@ 0, [ "@query" ], 0, - "c78645331b242e273d28f01bbe68730e" + "fd40e2d97b5665b90c6a437769d4a6c1" ], [ "FStar.UInt128.shift_left_large_val", @@ -1792,7 +1792,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "33d67eefaac37e8ebd1ddbc2c026c437" + "80f7aa0d54c4dff64bb4a399ce5de5ee" ], [ "FStar.UInt128.shift_left_large_lemma", @@ -1816,7 +1816,7 @@ "typing_Prims.pow2" ], 0, - "cb74745ff7d76670417d065960d54b21" + "3ecb0c32b13c250dc4c3a81bf7672ab0" ], [ "FStar.UInt128.shift_left_large_lemma_t", @@ -1832,7 +1832,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "3d091698099aece94ad7df343064c3cb" + "0e3b657d82ea287ec09d4dcd7272a364" ], [ "FStar.UInt128.shift_left_large_lemma_t", @@ -1851,7 +1851,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e4111f343a300c4bd6507e1999a93347" + "bc0281c183c853060dfcb6231560308f" ], [ "FStar.UInt128.u32_64", @@ -1871,7 +1871,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "52c29ec36dd88d44789e107cf9e0da10" + "fe6c869c6b43f5dbf0454575aeb33ceb" ], [ "FStar.UInt128.div_pow2_diff", @@ -1885,7 +1885,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "8dd54c3ce9da9ad1721c01750f072fd4" + "b668cc19f7868233dc7ee317591a7fac" ], [ "FStar.UInt128.div_pow2_diff", @@ -1903,7 +1903,7 @@ "typing_Prims.pow2" ], 0, - "10f1f52b566e877ca8479adc2c2dd97c" + "1db206bb758ee240cd81ca2884e1bf8c" ], [ "FStar.UInt128.mod_mul_pow2", @@ -1916,7 +1916,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2912b70f25e92e77a147675f18f215c8" + "62a59ef8df88c2f60c52465062a26f8a" ], [ "FStar.UInt128.mod_mul_pow2", @@ -1925,7 +1925,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "db95174f4648ff2a280062bc5021a08a" + "ffcbd0195e40a9f7146848085299996c" ], [ "FStar.UInt128.pow2_div_bound", @@ -1946,7 +1946,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "caba5f2846c401d3e0597f26f212ef81" + "6779cc6e41c596ecd0d53e1f38c2030d" ], [ "FStar.UInt128.add_u64_shift_left", @@ -1975,7 +1975,7 @@ "typing_FStar.UInt64.v" ], 0, - "5437ac2ba0e67d5b73f7820ebbef80d4" + "7732ed3dbdd6b90a51156017174f0120" ], [ "FStar.UInt128.div_plus_multiple", @@ -1989,7 +1989,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "09f472d277a78be6cc5f7f6e70f24e9f" + "8ff20aa58343a15a93ee13e561f8cdce" ], [ "FStar.UInt128.div_add_small", @@ -2002,7 +2002,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e6487939e13eee4fac8f916c2c93e6a8" + "99a557ed315babad80a82ad57d8a9f14" ], [ "FStar.UInt128.div_add_small", @@ -2016,7 +2016,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6902f9dcbe56b69b09eb6849d6f5c9e7" + "2992f3e1ed0cb2e7835a75fe0f94aed6" ], [ "FStar.UInt128.add_mod_small", @@ -2029,7 +2029,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b26df778261e651be447ef936fa42ab2" + "d88edfa89d9d59fa88519e49615a84a2" ], [ "FStar.UInt128.add_mod_small", @@ -2043,7 +2043,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b0a7b69720c893233bda875d2e0c75ed" + "6c5ea1ab176cd7fd631bf808120f768c" ], [ "FStar.UInt128.mod_then_mul_64", @@ -2052,7 +2052,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "43234ad9eeb6f1411fd507bd49f18a23" + "2f39199f024586cbcbe51069adf9dd9d" ], [ "FStar.UInt128.mul_abc_to_acb", @@ -2061,7 +2061,7 @@ 0, [ "@query" ], 0, - "dd36dab70fa95ca1c72b81e160631bf9" + "760d07e137b7ac5a0c0421e2014dbff1" ], [ "FStar.UInt128.add_u64_shift_left_respec", @@ -2089,7 +2089,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "5b8ef62ccc0ce88a35381fb259545188" + "d9fa049e577c6cb3fc6d38630eb8f437" ], [ "FStar.UInt128.add_mod_small'", @@ -2101,7 +2101,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c6775638e5388f662429037bee4e8885" + "ece79ddfacaa49ae9e3f794d2a9bd02d" ], [ "FStar.UInt128.add_mod_small'", @@ -2115,7 +2115,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "efe32a0b264c5cb021a3789a7cb88353" + "61b614a516fb426f7879224f9d663633" ], [ "FStar.UInt128.shift_t_val", @@ -2133,7 +2133,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a862073444429ced39e14b5191e93f81" + "6866b906ecbf673ba67d628326e0ab79" ], [ "FStar.UInt128.mul_mod_bound", @@ -2142,7 +2142,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "4d07080ca56c2fe9033bb63f7c5c6c49" + "72d1b6292d4947623e81f39240302349" ], [ "FStar.UInt128.mul_mod_bound", @@ -2160,7 +2160,7 @@ "typing_Prims.pow2" ], 0, - "231d3f5ca1f8628d6680cbb2937e10e2" + "50505344340936edea803533da917cf5" ], [ "FStar.UInt128.add_lt_le", @@ -2169,7 +2169,7 @@ 0, [ "@query" ], 0, - "2d6b84400d0c4d1445c998d35f995c9a" + "6901fa4aa47890df36586574bac6d9b0" ], [ "FStar.UInt128.u64_pow2_bound", @@ -2194,7 +2194,7 @@ "typing_Prims.pow2" ], 0, - "4398728abbef81184bc5e7acf1b35bae" + "e0f2c04422e68665e47c52eaf96a7d29" ], [ "FStar.UInt128.shift_t_mod_val'", @@ -2223,7 +2223,7 @@ "typing_Prims.pow2" ], 0, - "59fdd0d20e29cd328385f9d3cfcb3f9a" + "b04613ba05ed0398e770ad66e6c496a5" ], [ "FStar.UInt128.shift_t_mod_val", @@ -2239,7 +2239,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "0ec1b222f5694edfb09d29a08c5ead48" + "5df769a66c5e024aff52c0188b63ff29" ], [ "FStar.UInt128.shift_left_small", @@ -2284,7 +2284,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "6d804fc83eca7d8640b7db80bf0598d2" + "944b9ba751be9776f895185b285e9cc0" ], [ "FStar.UInt128.shift_left_large", @@ -2296,7 +2296,7 @@ "refinement_interpretation_Tm_refine_a2a071dd127b029ef35393f42269ee33" ], 0, - "0095f5d0e761ee11b955fdbb14228910" + "57d19c484cb25d409908e3e361d2f894" ], [ "FStar.UInt128.shift_left_large", @@ -2334,7 +2334,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "349b74a7361ad9a8d2c82c65c6c5bccf" + "4802416ec29bb4ed6aa091441add02dd" ], [ "FStar.UInt128.shift_left", @@ -2356,7 +2356,7 @@ "typing_FStar.UInt32.v" ], 0, - "fa85007fa26e15ba347c0d5e5d67ac35" + "fda2f0de23b77e7f0357182611789acf" ], [ "FStar.UInt128.shift_left", @@ -2378,7 +2378,7 @@ "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" ], 0, - "af0e1d2a1348ce084685b4ed771defb3" + "144cf6d0a1add351c8e2bc7aba00cf0e" ], [ "FStar.UInt128.add_u64_shift_right", @@ -2409,7 +2409,7 @@ "typing_FStar.UInt64.v" ], 0, - "9ce42c665b7342a921a320f2be8aee8b" + "ff2b96e55d00e697667565d56042399b" ], [ "FStar.UInt128.mul_pow2_diff", @@ -2424,7 +2424,7 @@ "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "eb31e141a3962f2ae70c72012bfb0509" + "9831e2f4e0528d9acf7c9c64a3a01335" ], [ "FStar.UInt128.mul_pow2_diff", @@ -2443,7 +2443,7 @@ "typing_Prims.pow2" ], 0, - "eebe4e969deeb0aace1122cf8c34b758" + "df5b3bd750a51b363f9b31735bf6197f" ], [ "FStar.UInt128.add_u64_shift_right_respec", @@ -2466,7 +2466,7 @@ "typing_FStar.UInt64.v" ], 0, - "653ffb47962420060db5ab07c6171da3" + "6b97a164f1c416584417d496df1f5dee" ], [ "FStar.UInt128.mul_div_spec", @@ -2483,7 +2483,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b24ecd03bf3c11ed8d0d86e1bf7df985" + "24d3822a8a3533c86288feee03fe76ac" ], [ "FStar.UInt128.mul_distr_sub", @@ -2496,7 +2496,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9fcd009add5ee63f8738bf567b3eaa60" + "8ea775a42557c63cec8a8ea05e6929d6" ], [ "FStar.UInt128.div_product_comm", @@ -2508,7 +2508,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dd7ef5f493a0331005b0d4b8f8047419" + "9f4fa104ced334f8366b08c4b0973330" ], [ "FStar.UInt128.div_product_comm", @@ -2521,7 +2521,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "46ee4f85193f5cb1b28e1052ee9bd44b" + "307357fe845fde730e433793cc29ef96" ], [ "FStar.UInt128.shift_right_reconstruct", @@ -2537,7 +2537,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "edfa8e17edcef5709eeb630380340e4e" + "1e88e431398d4e5cbea42115442e24e5" ], [ "FStar.UInt128.shift_right_reconstruct", @@ -2562,7 +2562,7 @@ "typing_Prims.pow2" ], 0, - "1039d0d544f36dc46bc62c908bdc8dbc" + "1df9b75d51de72da6decfb8292b129ba" ], [ "FStar.UInt128.u128_div_pow2", @@ -2578,7 +2578,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "afd472d214421761ad7b403c21226817" + "4a51b977f93422c68bff593834c59658" ], [ "FStar.UInt128.u128_div_pow2", @@ -2601,7 +2601,7 @@ "typing_Prims.pow2" ], 0, - "a99db0b8e15be308c5a95f8ec5939dfb" + "dd0c10624048ac096bea3b36261bb545" ], [ "FStar.UInt128.shift_right_small", @@ -2643,7 +2643,7 @@ "typing_Prims.pow2" ], 0, - "fd84eb0fbe1166d79d887c6e93a47184" + "4cbc29a336e44dbe01136d08bc6941c9" ], [ "FStar.UInt128.shift_right_large", @@ -2683,7 +2683,7 @@ "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "3bedaea44428838b3a87a5f1e603eadc" + "11711bd673eca9ae65dc32d5ea4cd2e0" ], [ "FStar.UInt128.shift_right", @@ -2703,7 +2703,7 @@ "typing_FStar.UInt32.v" ], 0, - "85d2915d2250385f7537708bad1f8a55" + "408324d9a9dfef91ce94946d3bfd3580" ], [ "FStar.UInt128.shift_right", @@ -2724,7 +2724,7 @@ "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" ], 0, - "20f89431fd1ac0c4f633cb5f6ef3074f" + "c8a9f26f49aa0f7c8d76a6735170ad12" ], [ "FStar.UInt128.eq", @@ -2736,7 +2736,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5fcc7e42c139069db21371b4fa169a02" + "91a555b04456759bb31c117523e87d8a" ], [ "FStar.UInt128.eq", @@ -2767,7 +2767,7 @@ "typing_FStar.UInt64.v" ], 0, - "43781aa6c0c71218dbde125896079d34" + "d50719933c6a9c31013b5190dcdf76b1" ], [ "FStar.UInt128.gt", @@ -2779,7 +2779,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b71904671e109710820a972dd1212cf2" + "4c794797335901b2194a41e17528487d" ], [ "FStar.UInt128.gt", @@ -2812,7 +2812,7 @@ "typing_FStar.UInt64.v" ], 0, - "0d2534951cdbe460b5260d3392129d7b" + "c37255008ca9a21d430402a876620170" ], [ "FStar.UInt128.lt", @@ -2824,7 +2824,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f0bb0e0c19132415b5b2bfff73d21581" + "8e7eba194d66466ffd95a19078917077" ], [ "FStar.UInt128.lt", @@ -2857,7 +2857,7 @@ "typing_FStar.UInt64.v" ], 0, - "1e5ec8423bd985faf009915a88cb229b" + "5a6ad7ec343fd801a335fd4abcd18bf8" ], [ "FStar.UInt128.gte", @@ -2869,7 +2869,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a6c362f7f2ac8175d36d23fbceb0af4b" + "b6803d8b6c8dd445f57c2849c7731938" ], [ "FStar.UInt128.gte", @@ -2904,7 +2904,7 @@ "typing_FStar.UInt64.v" ], 0, - "c4876f22189f7f608e1a260c11aa64e3" + "a0d57cf6a72ba8d7306b0e30514fa324" ], [ "FStar.UInt128.lte", @@ -2916,7 +2916,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "805708f0607d919c68dbca632bc24324" + "0f69769907ad815032cdbf3b7dbcc11f" ], [ "FStar.UInt128.lte", @@ -2950,7 +2950,7 @@ "typing_FStar.UInt64.v" ], 0, - "3caf55a8ec9fbaa89922a16ca36ffddd" + "44779733b85a760ec2297e104f6c8ecd" ], [ "FStar.UInt128.u64_logand_comm", @@ -2963,7 +2963,7 @@ "typing_FStar.UInt64.logand" ], 0, - "42f4a145d2d4ad97010e04b9a9afdb21" + "1f3d1589435cf1eed1e6b3a2e5addc23" ], [ "FStar.UInt128.u64_and_0", @@ -2976,7 +2976,7 @@ "typing_FStar.UInt64.logand" ], 0, - "5dad838a44577fb594da3fffc3401ee4" + "26b417ec220cba5b068e0ef0be8b2f46" ], [ "FStar.UInt128.u64_0_and", @@ -2985,7 +2985,7 @@ 0, [ "@query", "lemma_FStar.UInt128.u64_and_0" ], 0, - "6e80727219cb2eb1ea202919c42e4fb3" + "4de0aa7668e060fea0f2058cf49a14ed" ], [ "FStar.UInt128.u64_1s_and", @@ -2999,7 +2999,7 @@ "typing_FStar.UInt64.logand" ], 0, - "c2d03b7815672fa16766e6eba684b4c3" + "5f94cea98dff54a8924ad90f256a81a9" ], [ "FStar.UInt128.eq_mask", @@ -3015,7 +3015,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e26349d1c0c02f932dc9370033f8cc94" + "714d358bd97efd1ba1ae8dd418add752" ], [ "FStar.UInt128.eq_mask", @@ -3052,7 +3052,7 @@ "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "af1397d28a6a6dd4ba0c6b44b42bcffc" + "1a2d248094ff45af95275cc8b09a74e9" ], [ "FStar.UInt128.gte_characterization", @@ -3082,7 +3082,7 @@ "typing_FStar.UInt64.v" ], 0, - "aac3dab80680dbc682f14fd200bea9e5" + "eac275d50133f2a8be8217470a653649" ], [ "FStar.UInt128.lt_characterization", @@ -3112,7 +3112,7 @@ "typing_FStar.UInt64.v" ], 0, - "0189ee85b03803d55ff06a4a40e1c803" + "432496b1412e86855de57b3712a38f33" ], [ "FStar.UInt128.u64_logor_comm", @@ -3125,7 +3125,7 @@ "typing_FStar.UInt64.logor" ], 0, - "5f15823c03a09cd24acc49d1773a4121" + "145305283ab6d2272726be2234dc2906" ], [ "FStar.UInt128.u64_or_1", @@ -3139,7 +3139,7 @@ "typing_FStar.UInt64.logor" ], 0, - "2ff314e8234384e24565b5703db84931" + "278e41c72276442c263554dd15abb0a4" ], [ "FStar.UInt128.u64_1_or", @@ -3152,7 +3152,7 @@ "lemma_FStar.UInt128.u64_or_1" ], 0, - "c354a0fed6df6a395297c72934d2ec08" + "a4f44103157984a1e167462bfa9ba7c3" ], [ "FStar.UInt128.u64_or_0", @@ -3166,7 +3166,7 @@ "typing_FStar.UInt64.logor" ], 0, - "9cd46cf29fc8ad30884bce1213802307" + "c8f9e0a26d5ce32e9225d20d27ff7019" ], [ "FStar.UInt128.u64_not_0", @@ -3180,7 +3180,7 @@ "typing_FStar.UInt64.lognot" ], 0, - "4887ab79c38973e6e175185538dda6a4" + "2173a6fd798305a11fe3cd6f23e2b2b7" ], [ "FStar.UInt128.u64_not_1", @@ -3210,7 +3210,7 @@ "typing_FStar.UInt.ones", "typing_FStar.UInt64.lognot" ], 0, - "96461329386b13aab3c0965dca885816" + "4d715b42e25be752c78ee0c279a112b5" ], [ "FStar.UInt128.gte_mask", @@ -3222,7 +3222,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e1cd2918e57e791b926aa2c20e80c2d2" + "fcc6e680dd82b06c953f71082a24cd11" ], [ "FStar.UInt128.gte_mask", @@ -3254,7 +3254,7 @@ "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "e5762639c6ebee48702e04e3b57f8afd" + "6cabe3d7ee1bdf2780a3866d4b15d8aa" ], [ "FStar.UInt128.uint64_to_uint128", @@ -3266,7 +3266,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0cb028301e0d3bb1eab3ef6c7c3326ee" + "0bc0511a55f069a302bbe9f22bfc5acf" ], [ "FStar.UInt128.uint64_to_uint128", @@ -3295,7 +3295,7 @@ "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "e0a11ce3d507a729df5e65cf0f8b0d19" + "dc1956073173b01cea120ea2884ce6e2" ], [ "FStar.UInt128.uint128_to_uint64", @@ -3304,7 +3304,7 @@ 0, [ "@query" ], 0, - "2f19718b97000e97356e5c6d5e317dcd" + "683516837fb77e3c814f4880859a6871" ], [ "FStar.UInt128.uint128_to_uint64", @@ -3330,7 +3330,7 @@ "typing_FStar.UInt64.v" ], 0, - "7dfef1213ad29a14b351477d98bd7b5e" + "439249fd913d3121458eeea7089045c3" ], [ "FStar.UInt128.u64_l32_mask", @@ -3350,7 +3350,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "31c4bb25b1b6c379cea5c68c97115fbc" + "1984335feaced3207e8a493501e3f432" ], [ "FStar.UInt128.u64_mod_32", @@ -3364,7 +3364,7 @@ "typing_FStar.UInt128.u64_l32_mask" ], 0, - "adee1df5b7bbbcbecc4eddf773c756a3" + "2c9c1d5588e4ffbe752dd71b12c07422" ], [ "FStar.UInt128.u64_32_digits", @@ -3378,7 +3378,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1f2cd366da4156353496fb5a1bee0bea" + "93577251bcd6f3ff9a9c5391075d4f68" ], [ "FStar.UInt128.mul32_digits", @@ -3387,7 +3387,7 @@ 0, [ "@query" ], 0, - "14d9004dd5d2a884926fb1d78f499da9" + "773e4087b804ec33460749f61afcf46b" ], [ "FStar.UInt128.mul32_digits", @@ -3407,7 +3407,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b796b61a1e64026c6f85e9b362d9837b" + "e120c4cfcf7c04194bb1ea9a6fac06ca" ], [ "FStar.UInt128.u32_32", @@ -3427,7 +3427,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8c8e700c8066a4de1c23f6a46af3fa6f" + "64b00ef2a0d521090dfbdcc40e900977" ], [ "FStar.UInt128.u32_combine", @@ -3457,7 +3457,7 @@ "typing_FStar.UInt64.v" ], 0, - "7b70c5da8f120e2a2bc625eaf2bc0133" + "e5075d3a7131ccc5bc57aa25e7da81e0" ], [ "FStar.UInt128.lemma_mult_le_left", @@ -3470,7 +3470,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c888ccd743df5cade3f497a8d5dc3a2a" + "634aca6a17011351b14de75aca867360" ], [ "FStar.UInt128.product_bound", @@ -3486,7 +3486,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c6da0e55fffbe531f88e194784d777c7" + "ef7acccbabc50c2611a87b5d6f5302b3" ], [ "FStar.UInt128.uint_product_bound", @@ -3499,7 +3499,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f1756cd933a705694fb421e486a3d145" + "8a248ff4d69c9b56e062f4da5f107e31" ], [ "FStar.UInt128.uint_product_bound", @@ -3520,7 +3520,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "01bfc486d96aea633e2f2adc26f58b29" + "8d1d42d253ed7310f06b637eb4041add" ], [ "FStar.UInt128.u32_product_bound", @@ -3542,7 +3542,7 @@ "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" ], 0, - "fb647c4f51ebe0eb4ab662a218fcfd88" + "152e6197792e29e8426fb8bc93b6948f" ], [ "FStar.UInt128.mul32", @@ -3583,7 +3583,7 @@ "typing_FStar.UInt64.v" ], 0, - "6f8c1e594b3c11c2881ad8a1177d0e9d" + "6ed4b47dc3aaa9cd1ad82ed146e17238" ], [ "FStar.UInt128.l32", @@ -3606,7 +3606,7 @@ "typing_Prims.pow2" ], 0, - "ed10df96bb2de195b7449aeaa18bab23" + "cba70994af639232ca949a76bda90ea6" ], [ "FStar.UInt128.h32", @@ -3631,7 +3631,7 @@ "typing_Prims.pow2" ], 0, - "ef1471682c202a95e121bcfb1ecb29e8" + "0c2a20c6faa6b0395fa9691d0cb23b19" ], [ "FStar.UInt128.mul32_bound", @@ -3650,7 +3650,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "33f090479ab8f50ebb2d2a6fd0e986c5" + "8e74a3e8faa18a81615a558a24191e81" ], [ "FStar.UInt128.pll", @@ -3659,7 +3659,7 @@ 0, [ "@query" ], 0, - "4521ecd3becc3741e85ff7f9c80129bc" + "ca6c20e4e8a7cedb5b7a26d73646a63d" ], [ "FStar.UInt128.plh", @@ -3668,7 +3668,7 @@ 0, [ "@query" ], 0, - "ca6adc05c10c721ec1d3aa42a038da6a" + "d9a1988c8adad3cf6c18abc5baf25fc5" ], [ "FStar.UInt128.phl", @@ -3677,7 +3677,7 @@ 0, [ "@query" ], 0, - "2f859a1a98ce72470ae8f5b1e8a12dff" + "418c0ed3a3c77911c1b675a1437e2659" ], [ "FStar.UInt128.phh", @@ -3686,7 +3686,7 @@ 0, [ "@query" ], 0, - "c6b712ef73ae9c8a8375f2bdf24e8f20" + "9b965d34d68145654da2a648c6fccc16" ], [ "FStar.UInt128.mul_wide_low", @@ -3695,7 +3695,7 @@ 0, [ "@query" ], 0, - "49cd77a06a0afce69bfcb2e0d5a47ce8" + "a5256d9a31fd31d87cc06acddcf2f499" ], [ "FStar.UInt128.mul_wide_high", @@ -3710,7 +3710,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "8f0d754c35edca722ae84a2c2bb5d9ce" + "09b9cac597574e801e57880c6996fb0d" ], [ "FStar.UInt128.mul_wide_impl_t'", @@ -3750,7 +3750,7 @@ "typing_FStar.UInt64.v" ], 0, - "f684cec3f1e4a599eaf41a8f676d39a7" + "cf2302c0ba86aa4397993ec8470707e8" ], [ "FStar.UInt128.u32_combine'", @@ -3779,7 +3779,7 @@ "typing_FStar.UInt128.u32_32", "typing_FStar.UInt64.v" ], 0, - "af2f4652b92a4d7c008bfbd7fb7155b6" + "395d7506a0936cdbf293112916a92dda" ], [ "FStar.UInt128.mul_wide_impl", @@ -3832,7 +3832,7 @@ "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt64.v" ], 0, - "3a3c16914d5d30053b728627f1fbd8ce" + "f15e29b8906c938a0f0d6f610db9882a" ], [ "FStar.UInt128.product_sums", @@ -3844,7 +3844,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "6344552a56ff65fb703104b9f5146ccf" + "bbf3e277a405dbdc01c60f106858f9a0" ], [ "FStar.UInt128.u64_32_product", @@ -3866,7 +3866,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "5e91cc55a35b0f9f9ef0a39e3d5756db" + "6759d670196e595c8445f16c05369efe" ], [ "FStar.UInt128.product_expand", @@ -3892,7 +3892,7 @@ "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "991ee61341efff37f5b16279686abf07" + "ea3b172981e181dd4176ba50965a600d" ], [ "FStar.UInt128.product_low_expand", @@ -3904,7 +3904,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "9b808ea43791c371818cf57dca86d9ef" + "d6894d8eb2a3a92c0b88848a2edb45a8" ], [ "FStar.UInt128.add_mod_then_mod", @@ -3919,7 +3919,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "97f238a7d1c48e0ca47cb66f73280390" + "77266ce6913651f71dd11f0a7837b8f2" ], [ "FStar.UInt128.shift_add", @@ -3937,7 +3937,7 @@ "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" ], 0, - "645da33706aac57ba9cc3a8e608db2ac" + "bb02abfbc81a8b0dee4715ec54211bf2" ], [ "FStar.UInt128.mul_wide_low_ok", @@ -3969,7 +3969,7 @@ "typing_Prims.pow2" ], 0, - "bc8f872bfa30e1068070b2a6bbfab286" + "58323d9bf54a82e86cab29c51dccaf9b" ], [ "FStar.UInt128.product_high32", @@ -3978,7 +3978,7 @@ 0, [ "@query" ], 0, - "693fc905bedbee75b96499c2e3df4aec" + "f883fc66af318ead13c1ab5b8d4f772d" ], [ "FStar.UInt128.product_high32", @@ -4007,7 +4007,7 @@ "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h" ], 0, - "2e3d74affb25acd8288aed42c3b5e022" + "b3c33d885a602b1cee30364376d2673b" ], [ "FStar.UInt128.product_high_expand", @@ -4016,7 +4016,7 @@ 0, [ "@query" ], 0, - "09990c9b9735ef3cc63f5da1458bace1" + "989648c60a04f6c6eaeb051f7fc151df" ], [ "FStar.UInt128.product_high_expand", @@ -4047,7 +4047,7 @@ "typing_Prims.pow2" ], 0, - "6d3736190ef4f766acdbc78776d81ad2" + "7bf730e79c49aa8763d0c0b0db04c516" ], [ "FStar.UInt128.mod_spec_multiply", @@ -4059,7 +4059,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "04765c9acfd6733eb01de78713c0f90d" + "3406e6176bfc85ccdad67211787f5841" ], [ "FStar.UInt128.mod_spec_multiply", @@ -4072,7 +4072,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "034d4b1ee7f1663b6d541aac518a16f1" + "80b70ccb24dc1291fb069ea023e30f84" ], [ "FStar.UInt128.mod_spec_mod", @@ -4084,7 +4084,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f4912f835b25e2a20e67b02dd86d7328" + "061db83591065f26709ddef9b0c8d3ee" ], [ "FStar.UInt128.mod_spec_mod", @@ -4100,7 +4100,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dd007b6ed995996016d34afd9843e53d" + "01ab6b7e1d18cc0c3ed1c2e78c59e846" ], [ "FStar.UInt128.mul_injective", @@ -4115,7 +4115,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "144ee1d36d2e63a1f04f91c55860811c" + "f6eb7bf8526c25c668b58bb9468eb2a7" ], [ "FStar.UInt128.div_sum_combine1", @@ -4127,7 +4127,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1ae95207c69ff4af3c435058aa3f39f8" + "33950b9cc693a8dc84f96068ef251403" ], [ "FStar.UInt128.div_sum_combine1", @@ -4143,7 +4143,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e3d724d022cd9354b9cb67656c6f61de" + "a7ac9e848d7291c6bf3e3cf3774bd672" ], [ "FStar.UInt128.mod_0", @@ -4157,7 +4157,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0c53243116ab56dd3e4eb480f148f357" + "d73d31a9844f60170fdd36d156ab4fd5" ], [ "FStar.UInt128.n_minus_mod_exact", @@ -4169,7 +4169,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "37ae301760d4cb3e1aa32e98faeae2d1" + "3e04dd8da7fc9f815a689eef054a3d85" ], [ "FStar.UInt128.sub_mod_gt_0", @@ -4184,7 +4184,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cf8b105d773a0e083fe18757fe7b9a0a" + "87aa01c54fce7cb9a3dc2ba211a97973" ], [ "FStar.UInt128.sum_rounded_mod_exact", @@ -4196,7 +4196,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b7b48d9b2ea2d2011a03285507a25446" + "963f2865b7f0a9c77894796bdca600ac" ], [ "FStar.UInt128.sum_rounded_mod_exact", @@ -4210,7 +4210,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "938fbe9d71a0b573483a3b101458e6ac" + "bb0e89837eaaaaf009fc49ca13310f08" ], [ "FStar.UInt128.div_sum_combine", @@ -4222,7 +4222,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "30357746288379f900057562f7fb2a66" + "c61303620e3d47e508931c5c670d9e28" ], [ "FStar.UInt128.div_sum_combine", @@ -4239,7 +4239,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "28bd93c182a84320227d073ad17bd5af" + "c5632b69f99f7b2fd23f632634d20d9a" ], [ "FStar.UInt128.sum_shift_carry", @@ -4251,7 +4251,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "561897945d167afc887a3eed1550b0fc" + "00193db62a887d19becfe255e33a562a" ], [ "FStar.UInt128.sum_shift_carry", @@ -4267,7 +4267,7 @@ "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a51f98cae2d529e16c8df45d2717760e" + "d1f292bd1ab207d623275ea03d5c991c" ], [ "FStar.UInt128.mul_wide_high_ok", @@ -4295,7 +4295,7 @@ "typing_FStar.UInt128.pll_h", "typing_FStar.UInt64.v" ], 0, - "f5cbb4ca4e1b1200fe3bc8aa953e0462" + "b3cdb35ab3d9aa426329768d9e75ed7c" ], [ "FStar.UInt128.product_div_bound", @@ -4307,7 +4307,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f3bf592148b24a18af4d5c5ae81d7cef" + "788374722c91df7b3d1c5925b26c1d00" ], [ "FStar.UInt128.product_div_bound", @@ -4328,7 +4328,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "a31b27847425ac622044df05686862ef" + "e1639c9a7a21acf31c4a26036cae3326" ], [ "FStar.UInt128.mul_wide", @@ -4361,7 +4361,7 @@ "typing_FStar.UInt128.u32_32", "typing_Prims.pow2" ], 0, - "cb1d72939bce7e8d68ced86e28be3ac2" + "8ef3ccc086fdc1c8b5af46ed5d5f9cde" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt128.fsti.hints b/ulib/.cache/FStar.UInt128.fsti.hints index 39bf4636858..90e2e6a0dae 100644 --- a/ulib/.cache/FStar.UInt128.fsti.hints +++ b/ulib/.cache/FStar.UInt128.fsti.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f5db094ebda8fcc1d618ac2b0962ae14" + "d12931fba5806e9e78fc48fb7d749434" ], [ "FStar.UInt128.uint_to_t", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52d41a8f8e3b92bfaff937c6c81051ba" + "fad8b2e5efb9c99c85ee7b4cfeb11b92" ], [ "FStar.UInt128.v_inj", @@ -39,7 +39,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7d2f493442a996d5cd420a421c7ee334" + "31e038205ba1f6c3d4ed02287efe6703" ], [ "FStar.UInt128.add", @@ -51,7 +51,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "15c5203e6ccdfc34154ec701321d4cfe" + "554e619a8222d31bbb1959b71ae8ebdc" ], [ "FStar.UInt128.add_underspec", @@ -63,7 +63,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6fcc9805a82a581a414c7804cd74e5ef" + "5d9299dcc5599bdcbb2dca7bd6fa7963" ], [ "FStar.UInt128.add_mod", @@ -75,7 +75,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9244f0af78b54cc27500258016c59d02" + "9cf1a0ddd124e6f258532609417e07ea" ], [ "FStar.UInt128.sub", @@ -87,7 +87,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "262c2ffb6a5e31ddfdbb8a0b9c310ba1" + "7d84e5b6a2d80f98c6bb6ccbf4907012" ], [ "FStar.UInt128.sub_underspec", @@ -99,7 +99,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d8fab0c726f66eccb8d7e388741feb12" + "0251551bd492da4d8469fb028db29525" ], [ "FStar.UInt128.sub_mod", @@ -111,7 +111,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0ede90714315c539203d7cc087525948" + "0b51d2b4128727542f3f68a060ee38ed" ], [ "FStar.UInt128.logand", @@ -123,7 +123,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e63fb91eed3e24c70166c6d151ee08b6" + "bf3c9aede310ee4bfef3dd74611bb692" ], [ "FStar.UInt128.logxor", @@ -135,7 +135,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a935ddfca346b04303fda67191165d3d" + "034e09022bbfe16b9e0a6b6360ff0fdb" ], [ "FStar.UInt128.logor", @@ -147,7 +147,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b3b36ac86861e00d693262f77d940413" + "e7bb41e7bf1404e8ec473e2ae48eb014" ], [ "FStar.UInt128.lognot", @@ -159,7 +159,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0c9ca027b0f955b49fd1e024346f6ff9" + "8126f507a7bb8e2b57e548734e19e8bd" ], [ "FStar.UInt128.__uint_to_t", @@ -171,7 +171,7 @@ "equation_FStar.UInt.size", "equation_FStar.UInt128.n" ], 0, - "b1d874403c13eeff8d708ffd23bc294c" + "e78e6f6315e8ab312217c3e4fdd1d66e" ], [ "FStar.UInt128.shift_left", @@ -193,7 +193,7 @@ "typing_FStar.UInt32.v" ], 0, - "41d7fedfd5ebb28da38ea1fcf00fc89f" + "5f0ef8e9b483287a3ea6ac4737753662" ], [ "FStar.UInt128.shift_right", @@ -213,7 +213,7 @@ "typing_FStar.UInt32.v" ], 0, - "1e5f2ed0daae6ec3fcf416347c04a341" + "1eb07f18e6877b0e6488d8f8d522a263" ], [ "FStar.UInt128.eq", @@ -225,7 +225,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b97ec960a666c52354e0ce0bc5e0c18d" + "e843dd60a529e910cc0933a56385929c" ], [ "FStar.UInt128.gt", @@ -237,7 +237,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "584fe40af11729bcdda0a8191e82acb9" + "aa82d95fdf194d19443b45c4599b7106" ], [ "FStar.UInt128.lt", @@ -249,7 +249,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b0500b18517ed770baf4226d69e65b12" + "b3e17e769f3f4f89ccbbcd648ba62930" ], [ "FStar.UInt128.gte", @@ -261,7 +261,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "877c04a2bccab3998b25d10ef7a384d9" + "2570cc02753d8a934f59e4dd6ce4bb02" ], [ "FStar.UInt128.lte", @@ -273,7 +273,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "22149efb3bee8c8c368273b1720c5072" + "bfe24f9dc7a86f78b4b5d7936980ec74" ], [ "FStar.UInt128.eq_mask", @@ -289,7 +289,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c9f3ec35fa4dac2b91720a7324727b1" + "37f13744e44c9b80888b8f0800d08038" ], [ "FStar.UInt128.gte_mask", @@ -301,7 +301,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0535c4be08178525bb729dddbb5db72c" + "10a1d37834f47c604cf1241856e941ef" ], [ "FStar.UInt128.uint64_to_uint128", @@ -313,7 +313,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4b10ca88eb2dee59b469e81f0183d566" + "314e03b7f5772de8f96041d16fb92c28" ], [ "FStar.UInt128.uint128_to_uint64", @@ -322,7 +322,7 @@ 1, [ "@query" ], 0, - "ff9f2d8dcd29c646c2a787550d043270" + "a335db83f621b12de31116f3c2003f94" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt16.fst.hints b/ulib/.cache/FStar.UInt16.fst.hints index 792afdf2ff4..ff32cad9141 100644 --- a/ulib/.cache/FStar.UInt16.fst.hints +++ b/ulib/.cache/FStar.UInt16.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed6ac831254679a8cf08e6ce561b213b" + "234248914bd6fa4e87ab25bb1fe1d38a" ], [ "FStar.UInt16.uint_to_t", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "172a1ff6d074efa0cd56da37aa5d0f2e" + "dec910e7c617f35f823171329f2393e7" ], [ "FStar.UInt16.uint_to_t", @@ -44,7 +44,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "15b43437f782dae3bd640c3dc057cc0f" + "c14c4ab38fc9773bd3f65de2404916d3" ], [ "FStar.UInt16.uv_inv", @@ -57,7 +57,7 @@ "proj_equation_FStar.UInt16.Mk_v" ], 0, - "67e8bfc674366e056aad07be22251b54" + "5534a5efd7e109ab9c56f43825e55088" ], [ "FStar.UInt16.vu_inv", @@ -70,7 +70,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "21b4ba5378456c4038450dad75f362e7" + "208a3898548ec27bb875bd1df4029a19" ], [ "FStar.UInt16.v_inj", @@ -79,7 +79,7 @@ 0, [ "@query", "lemma_FStar.UInt16.uv_inv" ], 0, - "20561a1994ad96a18678324676ef6055" + "5241656ed9afd3da6933a65e6b249c70" ], [ "FStar.UInt16.zero", @@ -101,7 +101,7 @@ "typing_Prims.pow2" ], 0, - "36c9cea3846d44e140941ad36dbe1813" + "b2c652f7ac85e761d436224dfcbd03a1" ], [ "FStar.UInt16.one", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bd6e749879c06d662103d94388800471" + "315662a066723164e36edd8ab4168239" ], [ "FStar.UInt16.add", @@ -134,7 +134,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "6efbb37014f7a478fc7f60a8851ff5bb" + "0b77757012a9679f2ab5aa9eab74b004" ], [ "FStar.UInt16.add_underspec", @@ -147,7 +147,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "5930fab219ef55d4452eb1857347e033" + "3cda095112c0d4b357d5d2765389ab69" ], [ "FStar.UInt16.add_mod", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15b79a568147727376897bf13ab7e565" + "54a2a01e6c7668faec638981267cf1d2" ], [ "FStar.UInt16.add_mod", @@ -177,7 +177,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "e2c3015cada95ef60a40168bc5977929" + "18f5e61f72b07cb0e34416c0f3b87dbe" ], [ "FStar.UInt16.sub", @@ -190,7 +190,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "b3374786609e2f190cd0a2cd2e92d512" + "afb1bf049a1f8baaee49a5597eb9a2a8" ], [ "FStar.UInt16.sub_underspec", @@ -203,7 +203,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "4d31c8b95b312d4bb92fab9290265b19" + "270f0344d54f344971ceecf550a6cbb5" ], [ "FStar.UInt16.sub_mod", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "50ce34e63c94bc45eca6b5fa9de95066" + "0b7156e52136cb35e46c7a835943d41a" ], [ "FStar.UInt16.sub_mod", @@ -233,7 +233,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "a2d27824269a70839ee9c3c0e219e527" + "7f848152af44f1c04ff5faf6e648ca7d" ], [ "FStar.UInt16.mul", @@ -246,7 +246,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "19aa65da0d90408a0e38fd78a0a917ec" + "3f8b74a0847a8f03d8fa5b607a67f412" ], [ "FStar.UInt16.mul_underspec", @@ -259,7 +259,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "9678acf6fc9a618869c914130ba50242" + "e6f52e1e2fb1126979e6d9b803df1d38" ], [ "FStar.UInt16.mul_mod", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ce8c32a50730df788c089bc1a398219" + "856a4c29e881ac6c4f9043d0bb3a1bed" ], [ "FStar.UInt16.mul_mod", @@ -289,7 +289,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "ba0559545428c6c19365115cf31548d0" + "f51d6a8a5745759d668a5f16def73207" ], [ "FStar.UInt16.div", @@ -318,7 +318,7 @@ "typing_FStar.UInt16.v" ], 0, - "2f8b8aa32622dd11b004aec5d4aadc0a" + "1af23cc7bedf3896fafe1d1ada12a093" ], [ "FStar.UInt16.div", @@ -347,7 +347,7 @@ "typing_FStar.UInt16.v" ], 0, - "15d66dcbcd54247e2c79d13347405fed" + "c08f85222dfccd6c3ca0e0f5ccf5b1de" ], [ "FStar.UInt16.rem", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "d5ce89d3d595699fbfc6fb4e2157c6b4" + "1a9fce327b78179a5a2cbc18fbcbfb73" ], [ "FStar.UInt16.rem", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "600027e61d2e36c0029c8a0c5bb6f822" + "08a4f40481a68a2b09e08f64b52f4503" ], [ "FStar.UInt16.logand", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "88d7079a359fd3b694ee495242f17336" + "40a9abfe452c6ef72b1e16cbc03cf5dd" ], [ "FStar.UInt16.logand", @@ -409,7 +409,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "ad38724456d4ab762bd6c23afa1f8de7" + "9616e6aa7494a38a059077e74b088b31" ], [ "FStar.UInt16.logxor", @@ -422,7 +422,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "0c22a35ba75a47948c75f5fdbb3f3544" + "e1851cac5c11a6e117cb1b33c1e6e5f8" ], [ "FStar.UInt16.logor", @@ -435,7 +435,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "ca3a08d91c85a416fdbfc238bf287b4e" + "061a2aed22454565d3e5ac493e7ac4b5" ], [ "FStar.UInt16.lognot", @@ -448,7 +448,7 @@ "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "3c079ba3aeed6a3fe04c423f62c3071a" + "caba96cba57699989d050d7c60abb569" ], [ "FStar.UInt16.shift_right", @@ -471,7 +471,7 @@ "typing_FStar.UInt32.v" ], 0, - "cf4852849fd63ac6bca76eb0055681ba" + "fdcd6ac7152c16609d499b89c2cf4bc2" ], [ "FStar.UInt16.shift_right", @@ -491,7 +491,7 @@ "typing_FStar.UInt32.v" ], 0, - "daffbce125b7a446ca490ed93d9944a0" + "054de6b2ce9385abd66f896344d679f7" ], [ "FStar.UInt16.shift_left", @@ -514,7 +514,7 @@ "typing_FStar.UInt32.v" ], 0, - "e76afae938e12b3f04e598ccfa5afa22" + "5370b3a64317554b2d3faf22354f759b" ], [ "FStar.UInt16.shift_left", @@ -534,7 +534,7 @@ "typing_FStar.UInt32.v" ], 0, - "db647762b265829c23b326d34bb41eeb" + "21f4a29e3ebc47e23314254e1fbe644b" ], [ "FStar.UInt16.minus", @@ -554,7 +554,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c54bdea407c01dd5f9ee7be114242855" + "45ca9c8f956252b9f6e45bbc8de1c982" ], [ "FStar.UInt16.n_minus_one", @@ -574,7 +574,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "593ad471287a0782cbe222b80951d2c0" + "951b53e4dbce68d0b1221e0aa5785870" ], [ "FStar.UInt16.eq_mask", @@ -672,7 +672,7 @@ "typing_FStar.UInt32.v" ], 0, - "82605fef7a14f1724498e3cd64c02447" + "f248234a65a6b5b34a80098f5e2e44f4" ], [ "FStar.UInt16.lemma_sub_msbs", @@ -731,7 +731,7 @@ "typing_Prims.pow2" ], 0, - "c12297fc89a4a46509d3a064609955ef" + "bcdbfdc1cd581348c50eb51532f4bec1" ], [ "FStar.UInt16.gte_mask", @@ -806,7 +806,7 @@ "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" ], 0, - "58fdd2b82f0204fd0617691932f05002" + "013795a28846f157fa881628f905ff60" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt16.fsti.hints b/ulib/.cache/FStar.UInt16.fsti.hints index 889eb46a594..e61dd3389e3 100644 --- a/ulib/.cache/FStar.UInt16.fsti.hints +++ b/ulib/.cache/FStar.UInt16.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1a061c70a0a802076066dff4d09e2f00" + "b5a571d8b69e8895401bbc5ade0e5b86" ], [ "FStar.UInt16.add_mod", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b217afaffdcc72033be557d6647524a4" + "166980f65eb1678397f169a495929dac" ], [ "FStar.UInt16.sub_mod", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "47e3547f546eee57e21199cb4f54d9e0" + "3a4b7e0af57a645f039034624d150e21" ], [ "FStar.UInt16.mul_mod", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ca32e2b5133e4e194b57ee8edffc63d5" + "47eec0155139479341e63527e299bcaa" ], [ "FStar.UInt16.div", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_3e34e2c4f5ba554ca9d5a94a7452f876" ], 0, - "d4a500285f7aa2cf71cac2946eb4501c" + "bbab1e5a986b90e12f7877d1e2437fe4" ], [ "FStar.UInt16.rem", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "27696edae02d8afaa1fdb7353b19dcad" + "af0427c844ea0d189a7efc9e5b3c3bc5" ], [ "FStar.UInt16.logand", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89d61a3fd37c8a62abfa6c2a958b3719" + "ce46b89cb1758b3db0d27c9a7a66e785" ], [ "FStar.UInt16.shift_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "b33b39932f328329c3f6724e2cb416f2" + "a03149ab423c02339a01d6d81af6e710" ], [ "FStar.UInt16.shift_left", @@ -136,7 +136,7 @@ "typing_FStar.UInt32.v" ], 0, - "4de1c8cc74912fc1f8232aa4f6463e5b" + "d309ef2014c01b4a0f9cbacaaafed62e" ], [ "FStar.UInt16.minus", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cccc06bc3871bc84c4fa2cd44db68689" + "ef64e0e511eecdc63fe5d963e221cc1e" ], [ "FStar.UInt16.n_minus_one", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a3b336bff644ab8ce8af7e634b68068d" + "6b01f66cc8761c9990e175fa2862668b" ], [ "FStar.UInt16.eq_mask", @@ -257,7 +257,7 @@ "typing_FStar.UInt32.v" ], 0, - "e35a8c4c3c8e17b1738d1511887caa8a" + "b84d3974f863b24cd481349bef79e022" ], [ "FStar.UInt16.gte_mask", @@ -330,7 +330,7 @@ "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" ], 0, - "0532c9bd1463f78ea48f6b3ae11ec3e3" + "28eef35e7187462f774ccdfeb1239bb8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt32.fst.hints b/ulib/.cache/FStar.UInt32.fst.hints index cb2c3102843..a499222b8d5 100644 --- a/ulib/.cache/FStar.UInt32.fst.hints +++ b/ulib/.cache/FStar.UInt32.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b487c83deae7adf0b6c8402173d28ed9" + "862ba413246a0a6b2c88c27ac47ef6ee" ], [ "FStar.UInt32.uint_to_t", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "3f48c821da9fb1af1afd0d19d538f461" + "84c8e335a9b597e0ac6c9e80b04d6784" ], [ "FStar.UInt32.uint_to_t", @@ -44,7 +44,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "6ffe35f02034f80a090c2d53861df64e" + "e9b40ef97d6d49eebf133626e3286189" ], [ "FStar.UInt32.uv_inv", @@ -57,7 +57,7 @@ "proj_equation_FStar.UInt32.Mk_v" ], 0, - "6eca2e736f6be537dede4b527d5ef265" + "42cd0064604b7b1a2c9527587e79e2a8" ], [ "FStar.UInt32.vu_inv", @@ -70,7 +70,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "f9b3b69ba29d11602927b1ed2c0eaf3b" + "f7ec39cc46e7074eeb610c65bf1c994a" ], [ "FStar.UInt32.v_inj", @@ -79,7 +79,7 @@ 0, [ "@query", "lemma_FStar.UInt32.uv_inv" ], 0, - "3bc883ff4ff33d55eaaddceaaec3b9a0" + "188d4d52182bf018f466bf6a475b17ce" ], [ "FStar.UInt32.zero", @@ -101,7 +101,7 @@ "typing_Prims.pow2" ], 0, - "9af85ffe9c96529aeb8ef63d312d5016" + "d3fdd7f3631927444e2b2e177f79075a" ], [ "FStar.UInt32.one", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0300e4320076f934f9ba0a815d885d36" + "5acf25e20cc5994673c745686ad366e2" ], [ "FStar.UInt32.add", @@ -134,7 +134,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "f121625deec5a8fe24c6dfaf5e70d9df" + "9a8b057cde8f314435ab5c15e4b6858f" ], [ "FStar.UInt32.add_underspec", @@ -147,7 +147,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "07cde9998387679b4e2c2814652954ad" + "f826e8d3b3ff6180e468aa56a95b9f09" ], [ "FStar.UInt32.add_mod", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb2ba7741b02b299dc765960dc55b2f4" + "97853529538674f96038aa8b05865a05" ], [ "FStar.UInt32.add_mod", @@ -177,7 +177,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "9db78adbd1175dc1739eb113e45005d7" + "2880d49656f50b13cd877d6643a76307" ], [ "FStar.UInt32.sub", @@ -190,7 +190,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "d7f72ecf849b9d53fe45da7daf37c5a2" + "de902b0c34144ef5b628aaf9b90b2f8d" ], [ "FStar.UInt32.sub_underspec", @@ -203,7 +203,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "4a447a1ac0a2e68b37d2e8dc7ba80cff" + "dbeb4232a78726a4fe13faad4703acdf" ], [ "FStar.UInt32.sub_mod", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ff99100ca876ff163ea60bcaa5deee3c" + "daa4e70e9469480292beeb38462b35ec" ], [ "FStar.UInt32.sub_mod", @@ -233,7 +233,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "0b1d5384fc5b21b2a7b2c0db4a55d3c3" + "bcb291cfc71689aa2b7bce81074d2085" ], [ "FStar.UInt32.mul", @@ -246,7 +246,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "58d39590152df06e06acd7aa2deb8eb7" + "3cb8ac9df4529e1a7e2632304474edeb" ], [ "FStar.UInt32.mul_underspec", @@ -259,7 +259,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "2f8086096154ff4e0c7449a5f1cc8af3" + "5e13b34d8ba590d14e1e5eb7d95cedcf" ], [ "FStar.UInt32.mul_mod", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a8980993d5f85c6e6bd7dae6c318d400" + "626f258b1810b4d0ebfe2557febd0f0b" ], [ "FStar.UInt32.mul_mod", @@ -289,7 +289,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "2e42522d253b644f46d0c76e3876395f" + "788d659291e06ea53d5493c779c9cd68" ], [ "FStar.UInt32.div", @@ -318,7 +318,7 @@ "typing_FStar.UInt32.v" ], 0, - "c7764ba81e383ba455c3f2c1f68be3d5" + "2c2dcf22e204f889152479f132be7e58" ], [ "FStar.UInt32.div", @@ -347,7 +347,7 @@ "typing_FStar.UInt32.v" ], 0, - "ca025a3982c563c345dcc2aa4bbac7ac" + "4fbc55e4d4ea7868951e05b1edd7735f" ], [ "FStar.UInt32.rem", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "16df00029c743d9f3c6ea07af6afaf68" + "4d9a6564219589324e42990003bd889f" ], [ "FStar.UInt32.rem", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "3af5a52098c6de4e5e8022a490348859" + "a57ac5d931968afe4b588840a47dd2ff" ], [ "FStar.UInt32.logand", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c7cd4ee9bfe15f9ce029c6889ad22a5" + "c11cd41dce8f65a8efad58eebf117fa5" ], [ "FStar.UInt32.logand", @@ -409,7 +409,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "5fd0791514765340b6f269a137ceb3b1" + "1df1e41d75d8890b49c735a8fa967ce1" ], [ "FStar.UInt32.logxor", @@ -422,7 +422,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "9f580d5d7a37e7afb2ea735723b76f0c" + "39a8b023d76cadf80244a8877e3e00b1" ], [ "FStar.UInt32.logor", @@ -435,7 +435,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "ff05b9ae3651a7dae7b541c34134c5ca" + "c0da8c26dd7d44ea5467943c1f567553" ], [ "FStar.UInt32.lognot", @@ -448,7 +448,7 @@ "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "e5b64c894f3aec82a32c0d5d343418d7" + "df35c872bb878ef8c41867ef36623d7d" ], [ "FStar.UInt32.shift_right", @@ -472,7 +472,7 @@ "typing_FStar.UInt32.v" ], 0, - "be494ff19523e5badf9933ea4f57d7fe" + "20eed71c0af09d6da82892c0453e4108" ], [ "FStar.UInt32.shift_right", @@ -492,7 +492,7 @@ "typing_FStar.UInt32.v" ], 0, - "aa9accfd70c909efd8743eedc8d4cf9e" + "0ab126e2d7355aca97a85dced3991d6c" ], [ "FStar.UInt32.shift_left", @@ -516,7 +516,7 @@ "typing_FStar.UInt32.v" ], 0, - "90f2234d3c67491b32333d3800ef5923" + "dd2e40102eb1eae0b842008b043aea69" ], [ "FStar.UInt32.shift_left", @@ -536,7 +536,7 @@ "typing_FStar.UInt32.v" ], 0, - "ad30b5b07e28dca8e506b69366a426d2" + "6fde7947e8b41db468f1007bbf32e755" ], [ "FStar.UInt32.minus", @@ -556,7 +556,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9bd2aee791eaab5342ec98d965aab530" + "77388e63f69271e7044763953d994594" ], [ "FStar.UInt32.n_minus_one", @@ -576,7 +576,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c23ca9fb617a3e3a5dbfa95fe9c806b4" + "c1e20ab6644eb6b7aa200da82c3a6b3e" ], [ "FStar.UInt32.eq_mask", @@ -659,7 +659,7 @@ "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v" ], 0, - "e9c501e2b751c97baf443157281f92ba" + "a71cb367d09d881e5bab914f13f442bc" ], [ "FStar.UInt32.lemma_sub_msbs", @@ -724,7 +724,7 @@ "typing_Prims.pow2" ], 0, - "ffe297b7b4192f954972c9d35a8cdfed" + "d47c0da1c5972570dd1565565639a95a" ], [ "FStar.UInt32.gte_mask", @@ -800,7 +800,7 @@ "typing_FStar.UInt32.v" ], 0, - "61683e47373948b748bcfc52f80a98d7" + "e8769d4e92680f4e2a1961b8f2516350" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt32.fsti.hints b/ulib/.cache/FStar.UInt32.fsti.hints index 60841383aef..8d5d85d0aa5 100644 --- a/ulib/.cache/FStar.UInt32.fsti.hints +++ b/ulib/.cache/FStar.UInt32.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b5184c85091779d361bd2cc17c6a2db8" + "6cfadb736325607e508dd20b7635dfd0" ], [ "FStar.UInt32.add_mod", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "561c2264bcbf7154aa5bee83a5990311" + "72b4534a1d523d6a3cfbe55fe5c139f0" ], [ "FStar.UInt32.sub_mod", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5ea97147d4a5c732447bec62019280b6" + "ac3ea1cb6b60a22da86d93cf57b9654f" ], [ "FStar.UInt32.mul_mod", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66d099aabaebbda4172ff650f0b74f2a" + "cb2376b7f6cd8862f76ec0bb8695d4dc" ], [ "FStar.UInt32.div", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_0941c9ff95557f2d53bc8f8179ab793e" ], 0, - "ffcf8f2e57596920281e8f7230e5150e" + "f76d7837c061fdbe575c868488380b4a" ], [ "FStar.UInt32.rem", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c4d207323c43accd9773a7e24b964ad0" + "f93265be329593b7af84c4ade2421ce9" ], [ "FStar.UInt32.logand", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1bd734db368a3642747890dc7f491d9" + "cfef3c1918ae0e2e411e04a610c3f667" ], [ "FStar.UInt32.shift_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "f8f2dfb336afb3390902403ffad67872" + "86f67d6d7ad549a16d39873c6bf0302f" ], [ "FStar.UInt32.shift_left", @@ -136,7 +136,7 @@ "typing_FStar.UInt32.v" ], 0, - "706f31b2b96a2f7c4a32cb4085a5c100" + "7f30d9a4d8ae2944d9881e5e4ef9f52f" ], [ "FStar.UInt32.minus", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dd0e4d6bc10201efc30a52dce2493b56" + "b5c2122de0ab7168c682df8cf8f9221b" ], [ "FStar.UInt32.n_minus_one", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2f4e1aa65b65efa0b836a0aa8cccecbe" + "a32fbd96af2272426510f1dff44dfcdc" ], [ "FStar.UInt32.eq_mask", @@ -250,7 +250,7 @@ "typing_FStar.UInt32.v" ], 0, - "85a48d4d5ba8c9ab096af60cf5feb638" + "26af9f0ce3d27247811340fe1676ca2c" ], [ "FStar.UInt32.gte_mask", @@ -323,7 +323,7 @@ "typing_FStar.UInt32.v" ], 0, - "6a089e425e9513b2cd7b369cf5e32574" + "4aed0b289fbf514eba7b5e37b294cabe" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt64.fst.hints b/ulib/.cache/FStar.UInt64.fst.hints index 665ebf83653..853382a9c68 100644 --- a/ulib/.cache/FStar.UInt64.fst.hints +++ b/ulib/.cache/FStar.UInt64.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4c93792f29eac435c32985ddee6cf9e" + "042ac1a9a1906969a7cc29fe2ed106fd" ], [ "FStar.UInt64.uint_to_t", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "cfcb22f8181e799cd904b4b0e78978f1" + "9bd3f733efbc7f58432d2147480e2ec2" ], [ "FStar.UInt64.uint_to_t", @@ -44,7 +44,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "282c1ccb6f4a99e8001c3c7f2c2cc835" + "9143e80fde2229c2887889818240f320" ], [ "FStar.UInt64.uv_inv", @@ -57,7 +57,7 @@ "proj_equation_FStar.UInt64.Mk_v" ], 0, - "9f7070dd8c92c7133d5776c6933ac16c" + "f36ead51a0b5e4e6b4d3913597e5a9f6" ], [ "FStar.UInt64.vu_inv", @@ -70,7 +70,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "1779d3fdfc9fbe895cb58c5e8475829d" + "12e2c2e27b38eff8e2ed4bb4fcf5fb8c" ], [ "FStar.UInt64.v_inj", @@ -79,7 +79,7 @@ 0, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "af58cf1955a7dcf1382bbff8901d7d17" + "eaabd41aa9050a302f2a7af7ed11d0b6" ], [ "FStar.UInt64.zero", @@ -101,7 +101,7 @@ "typing_Prims.pow2" ], 0, - "376aac77e263a6dd2a66a17393a2e022" + "2e4b630b8e5aecbf857ad63007bd7b88" ], [ "FStar.UInt64.one", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "26c9308d649ea07fc17f250a9b855d75" + "6f58ebb1d839bd87fe75b0b40a966a04" ], [ "FStar.UInt64.add", @@ -134,7 +134,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "bcb6c70c777c9f6e0625c0f5bca66937" + "497a28b02f1c9c55b14977cdc02694e8" ], [ "FStar.UInt64.add_underspec", @@ -147,7 +147,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "a1db0940529d2b4324307a2174cf4453" + "b998729b2c7e83757376bcaf9dbf54e0" ], [ "FStar.UInt64.add_mod", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da55d0101a1cf7dbf109966203a176c4" + "4a0c1c462ad8b8ecb14686e609005af1" ], [ "FStar.UInt64.add_mod", @@ -177,7 +177,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "49ec8f622e75340433c0600051f9e26d" + "00ac4864f72f6c9a699e53feae652561" ], [ "FStar.UInt64.sub", @@ -190,7 +190,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "4eb3782ac8635bf8d5d6278992c7cc80" + "78d38a1dcd82fc7f95c477f2b9d61ad1" ], [ "FStar.UInt64.sub_underspec", @@ -203,7 +203,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "2a1c1b4b2370f659c6093a038c4c8c41" + "51f03d2a7f7f18d0e0edcf73cbd50b0a" ], [ "FStar.UInt64.sub_mod", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "09056cce06226d5effaf74d85f22cb69" + "ee8c8d290cbeb7e0182a56d67d4b6648" ], [ "FStar.UInt64.sub_mod", @@ -233,7 +233,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "0b5e399d01726a6355d41ce7fa34846d" + "c3d963bedaa31ef3fd7cdf46104cfd10" ], [ "FStar.UInt64.mul", @@ -246,7 +246,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "f65e9aebf9196233e3ab60eec236ec6d" + "969e1b72756003fb006d88e7d8fbdd84" ], [ "FStar.UInt64.mul_underspec", @@ -259,7 +259,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "dc031d5fa8eb2242d19d3e76e52a8d55" + "64eaaaf7939b08dec19387a49dffe6c4" ], [ "FStar.UInt64.mul_mod", @@ -276,7 +276,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c31d32ed38e878a5d0491dffbdbd805" + "8051ae2e91148fb542c879f2aa8b137b" ], [ "FStar.UInt64.mul_mod", @@ -289,7 +289,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "f90eefa2395acc052fd4e9b651974b6d" + "fa4ad9d9dadf5f21eee405779eef42c5" ], [ "FStar.UInt64.div", @@ -318,7 +318,7 @@ "typing_FStar.UInt64.v" ], 0, - "34a57d4e6f9ca4e97757cd29b24dfac8" + "4531e5016622c91ce04c8d92ecf00e99" ], [ "FStar.UInt64.div", @@ -347,7 +347,7 @@ "typing_FStar.UInt64.v" ], 0, - "cb3c9d444ef11ac6f3d1d638607942f1" + "04caa87f56fa3f9724d85f6e68928ae9" ], [ "FStar.UInt64.rem", @@ -365,7 +365,7 @@ "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "8f09f8d2d2df2e9f63ec66849cbafbc2" + "860cb21e51b6bf3b8f47d4b8f7852365" ], [ "FStar.UInt64.rem", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "c8d67db231ace823371103843dc34f9a" + "2606c36ff919a02441f80df35e51c4bd" ], [ "FStar.UInt64.logand", @@ -396,7 +396,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c11823110739c6aafb59ff9d4434ee5" + "025a645493bb4af6177bb2a0cdce6a47" ], [ "FStar.UInt64.logand", @@ -409,7 +409,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "e5ed23e864952908503a9b3a0260a4c1" + "c9c7e54b64c724e503d3b88ec085d06f" ], [ "FStar.UInt64.logxor", @@ -422,7 +422,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "77ca386cd67cb2fc19c839c37b22406a" + "668d7814d16ac5573d111e2c067e79dd" ], [ "FStar.UInt64.logor", @@ -435,7 +435,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "12744af161fb91e9a597f1a7b0073f10" + "42e6a25fa36d8307e71f2968cd8832ca" ], [ "FStar.UInt64.lognot", @@ -448,7 +448,7 @@ "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "538a7850c9a8504ac03dacf09ac89979" + "c3c0498b1405f5a6e14cd377e2593cba" ], [ "FStar.UInt64.shift_right", @@ -471,7 +471,7 @@ "typing_FStar.UInt32.v" ], 0, - "42ea6cc5d6d29d06d171826f97a3c76d" + "94a9c9f831f5f3362238691d58a79217" ], [ "FStar.UInt64.shift_right", @@ -491,7 +491,7 @@ "typing_FStar.UInt32.v" ], 0, - "e35710d9ec5da9c435e94f26acce54f2" + "9c965e792d28d36759938275fd7e94e8" ], [ "FStar.UInt64.shift_left", @@ -514,7 +514,7 @@ "typing_FStar.UInt32.v" ], 0, - "11faf367e92950b74f54d3551ae3edc3" + "b6dba9a8f33c820a8b91e4896de46af2" ], [ "FStar.UInt64.shift_left", @@ -534,7 +534,7 @@ "typing_FStar.UInt32.v" ], 0, - "98e5ef101ccb07663245eb6c10461b6a" + "ed753cad69ab8fea12f72efc7d71ee9b" ], [ "FStar.UInt64.minus", @@ -554,7 +554,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "be80257963ee78073ebe9680b4cc4890" + "ec1f33b95a8c3a67a5ec28cbb43470f1" ], [ "FStar.UInt64.n_minus_one", @@ -574,7 +574,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c75ccac8e5bbc7b7eef62c32b2c08767" + "593f63cd051bd80e2682b9eb1c05035c" ], [ "FStar.UInt64.eq_mask", @@ -670,7 +670,7 @@ "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v" ], 0, - "6edfeb2e42a5f818e5cee9ef2c681d92" + "57b37d6a8824d2ae99db2cd40ccafd66" ], [ "FStar.UInt64.lemma_sub_msbs", @@ -729,7 +729,7 @@ "typing_Prims.pow2" ], 0, - "61d1dfc451e856827ba84f22339f127e" + "e09ebb9f974615541b5147ed062337ed" ], [ "FStar.UInt64.gte_mask", @@ -804,7 +804,7 @@ "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v" ], 0, - "410643db25c7b453bb95a5b49f3bf7d5" + "50d37c70353717fa70847a186040e4f7" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt64.fsti.hints b/ulib/.cache/FStar.UInt64.fsti.hints index a1a5e21d95f..5c97a97eeab 100644 --- a/ulib/.cache/FStar.UInt64.fsti.hints +++ b/ulib/.cache/FStar.UInt64.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b99f9033a0a7a832b27a6909eb3a16c8" + "96c27d4ad75a4aa06316a87b430f4eb7" ], [ "FStar.UInt64.add_mod", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4801cb52ba0827ca7129b2f298d02422" + "921822f35abd8c5482a713095b9f2d41" ], [ "FStar.UInt64.sub_mod", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d0eaf8282c265817fff9319692c05597" + "5fc800542d3981af7a38b4ebbed2cec4" ], [ "FStar.UInt64.mul_mod", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1d6411f7ad3504ab4aacc1d807fdf3b" + "55d0a25e373f7bde2d1f6be6631b36f2" ], [ "FStar.UInt64.div", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_94d25b6e0041d543efd58300424ecc37" ], 0, - "568d343bf03f61879603389cba8679ec" + "cc274707ef1ce5be0eec5de8abed07f0" ], [ "FStar.UInt64.rem", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_94d25b6e0041d543efd58300424ecc37" ], 0, - "181c85f15037d7bb7fe89daf41d77789" + "3a342d57f748f0cf39b9d6757782156e" ], [ "FStar.UInt64.logand", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ecedbfb34a8c714b28f268677eb878d6" + "f2d61714983428f85a2b1fddcafcc9d2" ], [ "FStar.UInt64.shift_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "bc3189056ebca1c329ec5cc0eada59c9" + "31a4120a49938f10d9c18c543268a624" ], [ "FStar.UInt64.shift_left", @@ -136,7 +136,7 @@ "typing_FStar.UInt32.v" ], 0, - "b47a8ea75b6e7e351ebb10f38d00581f" + "3af2ce1f5b3cebefdfa7d17591e60681" ], [ "FStar.UInt64.minus", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a108adc79c5bb5eefce12dd1c113fe07" + "e5e7aab47c9b9f5178e2eb4f0631564f" ], [ "FStar.UInt64.n_minus_one", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a8528a9d6c5a8c9e8c594c714c49e071" + "57ac75e9e513da403944fd1c2c8efa86" ], [ "FStar.UInt64.eq_mask", @@ -257,7 +257,7 @@ "typing_FStar.UInt64.v" ], 0, - "99aa82ac86b7d8d14317d2b424db6572" + "cc2675f3cd3215a9df46d056a0c85225" ], [ "FStar.UInt64.gte_mask", @@ -327,7 +327,7 @@ "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v" ], 0, - "6e46704b0e9c326e76d387c6850d116a" + "a2756800b5918fb014ec78f20164f44c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt8.fst.hints b/ulib/.cache/FStar.UInt8.fst.hints index 718ad17ecb6..6d282e0aa49 100644 --- a/ulib/.cache/FStar.UInt8.fst.hints +++ b/ulib/.cache/FStar.UInt8.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c718b2679e6f5a659acc3dd9c37e0342" + "e6f79bdb63741c74a3d80a1ac870a29d" ], [ "FStar.UInt8.uint_to_t", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "820f159e91e7dc8ed0e2e3c1a940f7f3" + "d1da7e500e43a74337ec521068affb60" ], [ "FStar.UInt8.uint_to_t", @@ -43,7 +43,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "01ded27ad9a83faad032ec62ba819847" + "514474f35a700bd5110ad4c3e30b9a09" ], [ "FStar.UInt8.uv_inv", @@ -56,7 +56,7 @@ "proj_equation_FStar.UInt8.Mk_v" ], 0, - "2127962339d593588a4b6b9e34d02699" + "37f2f4fa7851f39908746baa58c463be" ], [ "FStar.UInt8.vu_inv", @@ -69,7 +69,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "6f0c6e0e0df0a66b4ab92a3b6fa95100" + "af309a570c810175f69f88b5213d8003" ], [ "FStar.UInt8.v_inj", @@ -78,7 +78,7 @@ 1, [ "@query", "lemma_FStar.UInt8.uv_inv" ], 0, - "ed428dc65b1424d62b73cea6bfa84176" + "e847546916befd9f869077d3cc931a32" ], [ "FStar.UInt8.zero", @@ -100,7 +100,7 @@ "typing_Prims.pow2" ], 0, - "ff1432f37f26fb5a52f67e277b3522a0" + "f3a404fc6dd7378f47d17615746e5c54" ], [ "FStar.UInt8.one", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4ec7e97d07fb5bb3c45c22e1eae2918b" + "ea28d06c44f6e46a891c08127d7c7cf0" ], [ "FStar.UInt8.add", @@ -133,7 +133,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "fb20ac5ebf94ba2b764f482f5a7646d8" + "86a4757d88f8da11525f3532d28e6fb3" ], [ "FStar.UInt8.add_underspec", @@ -145,7 +145,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "be0da06fae3957db1b595b45e3777bff" + "db53037732648c0ab301c627ce05194d" ], [ "FStar.UInt8.add_mod", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd097a6db96bbaf8155d47252b003c70" + "4798f62672f40090a11642bde808a397" ], [ "FStar.UInt8.add_mod", @@ -174,7 +174,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "3b29a4c980d733e88a42235a0f904332" + "2c690f40aaf424eb49ee93cf521f42b9" ], [ "FStar.UInt8.sub", @@ -187,7 +187,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "7d62b4baf05e0319151aab818671c961" + "3b15c85d266447b586d3bc4df03956a8" ], [ "FStar.UInt8.sub_underspec", @@ -199,7 +199,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "01978c3999d02fa55de521060ac82bb9" + "9cd7e0608dbb7ec6fbf077739f092c74" ], [ "FStar.UInt8.sub_mod", @@ -216,7 +216,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a57f192f816f5bbbae0d3db847d89a68" + "6d3aec3fa7374dc3b5351a3cb7327c0b" ], [ "FStar.UInt8.sub_mod", @@ -228,7 +228,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "a2dcb32d5f3a998ea4db6ba8fd60aeaa" + "2ce877a0693def01bb3192fb6f5cdc69" ], [ "FStar.UInt8.mul", @@ -241,7 +241,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "20242cf61c4e12a5bd7890f566b82a3d" + "73c0a6a25ac58c7364e450a14735c5d7" ], [ "FStar.UInt8.mul_underspec", @@ -253,7 +253,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "122fe4c3fb074d5d703988637daf6032" + "1fa1bf569e0b723fe26ad1825dae0ff8" ], [ "FStar.UInt8.mul_mod", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1e831a0c3c9df5e04c7cf94e2347c57" + "c00fd711234f3c29465f34d7f120721d" ], [ "FStar.UInt8.mul_mod", @@ -282,7 +282,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "00980ecb620cc0838333ffbdbd7b74d7" + "88e115360c953c126495b21b5ae1289a" ], [ "FStar.UInt8.div", @@ -311,7 +311,7 @@ "typing_FStar.UInt8.v" ], 0, - "acfd5ffb018bbb528ec27e30caf93a00" + "5843eb0e5240a93b896d6c28c3bcde57" ], [ "FStar.UInt8.div", @@ -340,7 +340,7 @@ "typing_FStar.UInt8.v" ], 0, - "29709eaacf400ecc4382f09d8a05f95b" + "ad0450a6a99df6e110713e4adbc488e4" ], [ "FStar.UInt8.rem", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "4a946a489f20381f64788546c7f1876c" + "ebe72999e5fc40bb5b3e0046fd9ccb10" ], [ "FStar.UInt8.rem", @@ -372,7 +372,7 @@ "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "0fbc2875bddb70162d27568baa5d84b8" + "86894a1a5a2aa62de1e4d82f7c06cb31" ], [ "FStar.UInt8.logand", @@ -389,7 +389,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "25adc173115f8376136efbf657623967" + "0b53e51e41bf3785c39ff39895aff611" ], [ "FStar.UInt8.logand", @@ -401,7 +401,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "4e401f5760fc902a76360d0cc3c13b7e" + "99080af8b42dc691cdd4f32d1cd981d1" ], [ "FStar.UInt8.logxor", @@ -413,7 +413,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "64bde3dfdcf91b7a93ca2bc4d494cc0f" + "83df08a88f65774ae06508951930160e" ], [ "FStar.UInt8.logor", @@ -425,7 +425,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "ee94e7139afc8451ebfe0125f765be91" + "3003c8c01ea311c57d80b781310a2e9a" ], [ "FStar.UInt8.lognot", @@ -437,7 +437,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "923a009af9738f2e60876ac2f95cb4d5" + "289d3957a37457aa5ab48a00150baf83" ], [ "FStar.UInt8.shift_right", @@ -460,7 +460,7 @@ "typing_FStar.UInt32.v" ], 0, - "e4a9abde80e6123bb766c2c1b0a69e46" + "f41e56ef3f3a1fb43cbd46c98955fded" ], [ "FStar.UInt8.shift_right", @@ -480,7 +480,7 @@ "typing_FStar.UInt32.v" ], 0, - "240db947fe4873a1af1deccc5c0b97af" + "6af4478350685c437eab5383c837cfc9" ], [ "FStar.UInt8.shift_left", @@ -503,7 +503,7 @@ "typing_FStar.UInt32.v" ], 0, - "58fc698917585d42c3891cbf5bbf1b84" + "780ce8794a655755a82977db985132e6" ], [ "FStar.UInt8.shift_left", @@ -523,7 +523,7 @@ "typing_FStar.UInt32.v" ], 0, - "75dfa37774cfc891b071b3095915a5dc" + "a72dc744cd108e5c56abbe5f823001c7" ], [ "FStar.UInt8.minus", @@ -543,7 +543,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "236d3b56346849a84e50e201328d9651" + "b9c50dcbbfb7bd5706042198ecd3b939" ], [ "FStar.UInt8.n_minus_one", @@ -563,7 +563,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c75c7a3e5e5fb344d6a741e8edccfb37" + "ec11138eed7c7aea54993766cddaafa5" ], [ "FStar.UInt8.eq_mask", @@ -648,7 +648,7 @@ "typing_FStar.UInt8.v", "typing_Prims.pow2" ], 0, - "c30a2a91529e6c8d8aed291f09d4ca17" + "ccae36760c0447c229024dcc61ae88eb" ], [ "FStar.UInt8.lemma_sub_msbs", @@ -705,7 +705,7 @@ "typing_FStar.UInt8.v", "typing_Prims.pow2" ], 0, - "ac8f75dc2ccf69d6d2b9c1286ee4af59" + "87022769f711fb99eb48e7ab5ab45c6a" ], [ "FStar.UInt8.gte_mask", @@ -780,7 +780,7 @@ "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v" ], 0, - "7c2b6ccc81b0e569c505f730a2649831" + "52aa28f6ed6ea9fad03cc0e338b1f51a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.UInt8.fsti.hints b/ulib/.cache/FStar.UInt8.fsti.hints index a1a19881ae2..e3f02c94f87 100644 --- a/ulib/.cache/FStar.UInt8.fsti.hints +++ b/ulib/.cache/FStar.UInt8.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e4e72fb72a6e7fa60f96257431b41024" + "68a046e35faca66025b80c34460d58d6" ], [ "FStar.UInt8.add_mod", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a2a6bae52a265981275285639ddb8a4" + "ef44bb870bb6c7a76d0ca111bfc91f6f" ], [ "FStar.UInt8.sub_mod", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "868b33fe56002afe8c7b2ae80855079f" + "ae2cf69fcac63d3264c3ce7f72959ef2" ], [ "FStar.UInt8.mul_mod", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3bb0e0bc4da20474bc94e9669ddf2ccd" + "391cc83131912b04c9063b8dcc0f18d7" ], [ "FStar.UInt8.div", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_a8cb57fcf32c2764d2e39fc97ecb3aa0" ], 0, - "45968469f1ef7450c831280e17d617fc" + "825786f6d923976e26703a18f2e3dea2" ], [ "FStar.UInt8.rem", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_a8cb57fcf32c2764d2e39fc97ecb3aa0" ], 0, - "51bc1e7fd79db302fe9ad5f3e316ebc2" + "25308fe6f08bfd010284b3ed799c7029" ], [ "FStar.UInt8.logand", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6d7a3e05243cdb7b790e1e25bce6769e" + "9b2c9ff55a8825702d81d97900d719f4" ], [ "FStar.UInt8.shift_right", @@ -116,7 +116,7 @@ "typing_FStar.UInt32.v" ], 0, - "3287db0b7354bdd2b952b5f9a92dc73b" + "e75269851698631f9071a959f7b7c1ae" ], [ "FStar.UInt8.shift_left", @@ -136,7 +136,7 @@ "typing_FStar.UInt32.v" ], 0, - "3db10f7cde559691fe102408c1a4bca1" + "5926cf14d1d8b7b188f848f49de93138" ], [ "FStar.UInt8.minus", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1a77999332659539b01c9f0952d3d533" + "c3ad10e99839a706adeb95d421417899" ], [ "FStar.UInt8.n_minus_one", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6201adbb4bdd9fc7aff9fcae6d898ddc" + "0e353490b7ce8ad094af2d007c98e2ac" ], [ "FStar.UInt8.eq_mask", @@ -256,7 +256,7 @@ "typing_FStar.UInt8.v" ], 0, - "e99b7b51e67128d9aca7f12e6ab48488" + "b98da31acc0b2c910fd78a8c6104f59c" ], [ "FStar.UInt8.gte_mask", @@ -329,7 +329,7 @@ "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v" ], 0, - "4a195e7b38e482bbc258a9e6928ab8b0" + "dd90bb534fb718804ef6a14e6b82469b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Universe.PCM.fst.hints b/ulib/.cache/FStar.Universe.PCM.fst.hints index 69b70e4fd2b..964ff41ef35 100644 --- a/ulib/.cache/FStar.Universe.PCM.fst.hints +++ b/ulib/.cache/FStar.Universe.PCM.fst.hints @@ -40,7 +40,7 @@ "typing_FStar.Universe.downgrade_val" ], 0, - "7edcb947f5099348dead675695237c9e" + "282c674d89ed97c393c25f7782a091ca" ], [ "FStar.Universe.PCM.raise_frame_preserving_upd", @@ -86,7 +86,7 @@ "typing_FStar.Universe.raise_t", "typing_FStar.Universe.raise_val" ], 0, - "f1d62431756e863b896572c42295d3cd" + "ca14a5afceb59dabde3d804605ba3e15" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Universe.fst.hints b/ulib/.cache/FStar.Universe.fst.hints index d03ac3edf2a..37d15e06a21 100644 --- a/ulib/.cache/FStar.Universe.fst.hints +++ b/ulib/.cache/FStar.Universe.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_FStar.Universe.Ret__0" ], 0, - "defb841886e66e574dbbce87ea96d8a2" + "19ac876b9827199a540acdcb805780cf" ], [ "FStar.Universe.raise_val_downgrade_val", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_FStar.Universe.raise0" ], 0, - "a6ff8fa2725d7f3f05c72306a9ccb2df" + "d6a0f243e1a6c94d82273bdc8e48e6a1" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Util.fst.hints b/ulib/.cache/FStar.Util.fst.hints index bcdff1b4783..36f705b3e7e 100644 --- a/ulib/.cache/FStar.Util.fst.hints +++ b/ulib/.cache/FStar.Util.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "273d7edba5835c07a8fc4ad6740a4528" + "f2073e84975b0b67bf4830b1ee560500" ], [ "FStar.Util.op_Plus_Plus_At", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "782f400f8f7afb9129a5d6ba82866a54" + "1f99e5018da590fadf6856f4514cdc87" ], [ "FStar.Util.op_Plus_Plus_At", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d114722c8e40810f579974b4c3632c64" + "280378ff71bf23e6e46330d598f64085" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.VConfig.fsti.hints b/ulib/.cache/FStar.VConfig.fsti.hints index 13e48a71198..f7f81f9c586 100644 --- a/ulib/.cache/FStar.VConfig.fsti.hints +++ b/ulib/.cache/FStar.VConfig.fsti.hints @@ -1,5 +1,5 @@ [ - "…7Ùƒƒ\u000e¥\u0005šO\u0011´ý\u000e™§", + "\"\u007f—ùâ\u0012ê䧣[\u001c\u007fÙZG", [ [ "FStar.VConfig.vconfig", @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f966e5fe9640f227e53f6184d0d78770" + "4ffc0a8396e9377b13200eda4f09e41b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Vector.Base.fst.hints b/ulib/.cache/FStar.Vector.Base.fst.hints index 260e36cfb43..6901278cdec 100644 --- a/ulib/.cache/FStar.Vector.Base.fst.hints +++ b/ulib/.cache/FStar.Vector.Base.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7568e9ecd1a2270a032013dbfb67727a" + "fdd569a721287dd04a6f89a1f6e8dce9" ], [ "FStar.Vector.Base.raw_length", @@ -23,7 +23,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "3f1198af3b9a61604dd3f679f2e3479d" + "5a166dde9a1e9cd8c2a3b5777c0ed8f5" ], [ "FStar.Vector.Base.reveal", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb749a297e0feb84398070d8d829e2a0" + "50ac0a718de90e94d392ace500106cbc" ], [ "FStar.Vector.Base.reveal", @@ -46,7 +46,7 @@ 1, [ "@query", "equation_FStar.Vector.Base.raw_length" ], 0, - "729be47266709924e96359fea04e6007" + "95ceebbf6e0a52d259f714271dde0fce" ], [ "FStar.Vector.Base.hide", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" ], 0, - "6db99b07b1cc5099246c20b4f9ebe013" + "22b218b82faef5a388149fb0ee7cabc9" ], [ "FStar.Vector.Base.hide", @@ -89,7 +89,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "35224d2b084a95c86addbe93d6ef9b79" + "d4c591370b3758238493b42039d098dc" ], [ "FStar.Vector.Base.hide_reveal", @@ -112,7 +112,7 @@ "typing_FStar.UInt32.v" ], 0, - "9cd0211e777cffb95c3704e94447853b" + "4eef104fc5ae63a49c28e34f785adbb9" ], [ "FStar.Vector.Base.hide_reveal", @@ -124,7 +124,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "28562eb2fdafa2574106d60e1df0d4e6" + "0aeafde56a6c51d56a913020ee4852fe" ], [ "FStar.Vector.Base.reveal_hide", @@ -149,7 +149,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1303c8ed576fc397b6f5a808ffaedf21" + "1a225bdc2797a63074a0c5c379e2f6f9" ], [ "FStar.Vector.Base.reveal_hide", @@ -161,7 +161,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "b5673cf958d5ee426b227d6883ad197b" + "3eb5fab3cfed961980584886f9420eaf" ], [ "FStar.Vector.Base.extensionality", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "acb89095a64e5b78e0b8a1afc8908df4" + "0095b6cfebb9fd584b6250420ab9e7ff" ], [ "FStar.Vector.Base.init", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "abe091212022f4827a03090d98779ce3" + "e32414dcf50dfddd6abcee81265d8f3c" ], [ "FStar.Vector.Base.index", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" ], 0, - "5e49ebbcf88132dbf0b546cb3802087f" + "c58f38bdf52f2b6ed6838362897b9202" ], [ "FStar.Vector.Base.update", @@ -237,7 +237,7 @@ "typing_FStar.UInt32.v" ], 0, - "fa0f733e4a378047a4cbe7147fc8715c" + "445ba7ab9b45a595fa805a41c34129df" ], [ "FStar.Vector.Base.append", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "254afc5d3f71f27043e4f3f98b4313cd" + "104d024c8e5c0c3483977ee965f90923" ], [ "FStar.Vector.Base.append", @@ -266,7 +266,7 @@ "typing_FStar.UInt32.add" ], 0, - "7c83d7e632ae222397319c3efe0b9a58" + "253205e4f265d63040cc40cce4353fed" ], [ "FStar.Vector.Base.sub", @@ -288,7 +288,7 @@ "typing_FStar.UInt32.v" ], 0, - "72d8720993b86b3d6e0a2730aa765857" + "362c4792fbc0c19c747d83616d48e6bf" ], [ "FStar.Vector.Base.sub", @@ -317,7 +317,7 @@ "typing_FStar.UInt32.v" ], 0, - "d513411af7107c347d94e465ec18ebe8" + "70d1667eaf4615dd36705b1c8d2b9526" ], [ "FStar.Vector.Base.reveal_init", @@ -331,7 +331,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d2c9b516c4b5b10cb78429b00cf582d7" + "6e55321a72959d74c4de676c890d2f09" ], [ "FStar.Vector.Base.reveal_init", @@ -343,7 +343,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "b5d497ee7ad526a709d567f2dfa3be74" + "bb67c5823053bd468c03738ca9102a44" ], [ "FStar.Vector.Base.reveal_index", @@ -362,7 +362,7 @@ "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" ], 0, - "cc97d129e9ac9b3186ee9a23e675a72e" + "68e77255efb70e8f5febc470d33b8e69" ], [ "FStar.Vector.Base.reveal_index", @@ -374,7 +374,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "ad1a82e9e1df8283b594f2f8080667fc" + "465dcb68104c9aa4e6bec796a6eee2f0" ], [ "FStar.Vector.Base.reveal_update", @@ -393,7 +393,7 @@ "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" ], 0, - "3f2c26f1de7e5caa9bc7101899fb8237" + "ccf747d83148eb465d780f3b18ef3395" ], [ "FStar.Vector.Base.reveal_update", @@ -405,7 +405,7 @@ "equation_FStar.Vector.Base.update" ], 0, - "f791cd78b9cfd8e39b1c007d73ceddaf" + "9a0b19b85361657edc3315162ecc6e0f" ], [ "FStar.Vector.Base.reveal_append", @@ -417,7 +417,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "001dce005c3145974758ad23a9917506" + "e6b48cae52f11db8545640fc407bbdef" ], [ "FStar.Vector.Base.reveal_append", @@ -429,7 +429,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "4c53db161713dd7e3477b9b2c25e7c5c" + "5de0288f37e8c3bacb5721524adda2c9" ], [ "FStar.Vector.Base.reveal_sub", @@ -453,7 +453,7 @@ "typing_FStar.UInt32.v" ], 0, - "a00d12e33f4d7262af36d4321c76cb97" + "396ed3c46616f9cebcd73814230afa34" ], [ "FStar.Vector.Base.reveal_sub", @@ -465,7 +465,7 @@ "equation_FStar.Vector.Base.sub" ], 0, - "84fa35e8cee07c45cc0cb7402accd6f2" + "ab5d25f3ace1eaf2c631ec32cd4db0fa" ], [ "FStar.Vector.Base.t_has_eq", @@ -487,7 +487,7 @@ "typing_Tm_abs_145348957eab7e2ba681dbbb97dce28c" ], 0, - "7e2ea7876c0f30b3b5be4c3686f0a291" + "fa9b0745ba082acb130a1402130ad28f" ], [ "FStar.Vector.Base.length", @@ -501,7 +501,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d0bc8e9393606e1eb9af41dffb0e96c6" + "9472a6d57ef64c236af0d4241e7923af" ], [ "FStar.Vector.Base.as_raw", @@ -514,7 +514,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "338f781e0d086e4c1f00bdb196a2ceda" + "9ea42a08a69409ee15b78d54f8f3c85d" ], [ "FStar.Vector.Base.from_raw", @@ -526,7 +526,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "04da11871987b128b68f48256ac1d91f" + "f215c3877f20c98d3a361fac33ccfd9b" ], [ "FStar.Vector.Base.as_raw_from_raw", @@ -540,7 +540,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "3d65eb4cd67888557a0544d8483ebde5" + "ec11ed24987259b90c476a906577d8b9" ], [ "FStar.Vector.Base.from_raw_as_raw", @@ -556,7 +556,7 @@ "fuel_guarded_inversion_Prims.dtuple2" ], 0, - "9695eef072b6a88f0f83c7ce79730382" + "36ab2046e7d78b29836da7af64b9adc9" ], [ "FStar.Vector.Base.op_At_At", @@ -569,7 +569,7 @@ "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" ], 0, - "e5f617bca1412bf9819a72c8335c6756" + "1ac97124c11f66006bdf1a40a15a6595" ], [ "FStar.Vector.Base.slice", @@ -592,7 +592,7 @@ "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.len" ], 0, - "6a7b037ef8c466485ae00f835ecc1810" + "1dee9af7479c666c643cc341c58ddeaa" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Vector.Base.fsti.hints b/ulib/.cache/FStar.Vector.Base.fsti.hints index 3e6396abc39..3f48bc3ee61 100644 --- a/ulib/.cache/FStar.Vector.Base.fsti.hints +++ b/ulib/.cache/FStar.Vector.Base.fsti.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "196320ac870224f564158803129323c0" + "8149feeab1bcc00954f2baac22eec0fb" ], [ "FStar.Vector.Base.reveal", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "afa8db16554c847e17bdaefdbc253e37" + "2c1f5bfa22f6388062e879718fdc4fee" ], [ "FStar.Vector.Base.hide", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" ], 0, - "0d1489405690fac16a1ae601643b8bfd" + "e24d445d0fa5d4a7dcd2c821a06d3c0b" ], [ "FStar.Vector.Base.hide_reveal", @@ -69,7 +69,7 @@ "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" ], 0, - "bf4ed4f17d045b1ec1627a4653269ba6" + "b8b6f543e5a0e8d1755b2373555194bc" ], [ "FStar.Vector.Base.reveal_hide", @@ -94,7 +94,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "b53ca4d0745c565cd07869919f19fc8f" + "c7d3c4026ab298663bcd1e60e5bdf308" ], [ "FStar.Vector.Base.append", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "5f8b2b3642d38dd89f0b0541d049f27a" + "1c036961a22c719feeb292abb6158dac" ], [ "FStar.Vector.Base.sub", @@ -128,7 +128,7 @@ "typing_FStar.UInt32.v" ], 0, - "1e467e2c1b4609bde89804b6804fd33d" + "530ef5ffc0d58114388264f7f5c78222" ], [ "FStar.Vector.Base.reveal_init", @@ -142,7 +142,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4b689c7cce410db05f0d69b8457ff587" + "3f02164c345830d86bac29317848c077" ], [ "FStar.Vector.Base.reveal_index", @@ -161,7 +161,7 @@ "typing_FStar.Vector.Base.reveal" ], 0, - "82dc17deeb7685c38a954a6711c072c8" + "e0c4b8f4a0b9a2c426bb0e3672f6b608" ], [ "FStar.Vector.Base.reveal_update", @@ -180,7 +180,7 @@ "typing_FStar.Vector.Base.reveal" ], 0, - "26e9257be5a396daa2d2bdb8b27b089a" + "18fe10184759112afccf8b5b23aa4a8c" ], [ "FStar.Vector.Base.reveal_append", @@ -192,7 +192,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "a0fefbec7f1cfd2680e31c988c92acbd" + "dba99e6505e61bf145664074aa21ca0a" ], [ "FStar.Vector.Base.reveal_sub", @@ -215,7 +215,7 @@ "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" ], 0, - "fb48e8f39737b77f9a6fe724c2718a88" + "1cee90d78e8a73f99a79a85906ade7e4" ], [ "FStar.Vector.Base.length", @@ -229,7 +229,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "08af3e33f12eadd0b9e234124ee56f22" + "6ca0e399d331ae31817dbc1b076f9edc" ], [ "FStar.Vector.Base.as_raw_from_raw", @@ -242,7 +242,7 @@ "typing_FStar.Vector.Base.from_raw" ], 0, - "502e269cc1bf69ea1ba9386f10920196" + "fa0f44198c54b727b9eb5645815210d4" ], [ "FStar.Vector.Base.op_At_At", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" ], 0, - "aa1282a043dec4f74d2bfdcf592fc6f7" + "a80475e7c62fec12bbf233f9d99de9fb" ], [ "FStar.Vector.Base.slice", @@ -277,7 +277,7 @@ "typing_FStar.UInt32.v" ], 0, - "3c7e02c23f10a0210a109af410acc2a3" + "9040ef7a29ea052a8337c9022e30bf4a" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Vector.Properties.fst.hints b/ulib/.cache/FStar.Vector.Properties.fst.hints index ffeba84fed4..7f0373e4257 100644 --- a/ulib/.cache/FStar.Vector.Properties.fst.hints +++ b/ulib/.cache/FStar.Vector.Properties.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_0251261d5a9adbe2aa6976ed4ea7693e" ], 0, - "ba38af58c190e3f45756a0dafcdb9d90" + "ee4d57776b79b816a65e1a384faf2d77" ], [ "FStar.Vector.Properties.append_inj", @@ -32,7 +32,7 @@ "typing_FStar.Vector.Base.reveal" ], 0, - "bb73a7888b5e4591f92365ff3379b256" + "13fc9ae6951b737b543316bb2199e6d6" ], [ "FStar.Vector.Properties.head", @@ -53,7 +53,7 @@ "typing_FStar.UInt32.v" ], 0, - "7a20e502737007caab137d13e435318f" + "1d2fd979cef246525d5462fc505a77e4" ], [ "FStar.Vector.Properties.tail", @@ -75,7 +75,7 @@ "typing_FStar.UInt32.v" ], 0, - "d3f4eaaf47b7c169e7ebed4b5689c314" + "632e16ae4fce3cfeda654ff3e0338beb" ], [ "FStar.Vector.Properties.head_append", @@ -113,7 +113,7 @@ "typing_FStar.Vector.Base.reveal" ], 0, - "c989411dbd6c765efe8652e1b99ba2b4" + "fc5404410c2c3abb381bbba880192bc2" ], [ "FStar.Vector.Properties.tail_append", @@ -154,7 +154,7 @@ "typing_FStar.Vector.Properties.tail" ], 0, - "0894d8d70bffef7e03a73b2432e5a3ff" + "808d7605cbfa0c6c55141cb1f696378d" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.WellFounded.Util.fst.hints b/ulib/.cache/FStar.WellFounded.Util.fst.hints index d9ea450a3fe..5eb7d3c2a02 100644 --- a/ulib/.cache/FStar.WellFounded.Util.fst.hints +++ b/ulib/.cache/FStar.WellFounded.Util.fst.hints @@ -17,7 +17,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "d0dfad78f7178385d6313255fdb47d81" + "a9e1cd69d7d9d67a1f9ebc78276d3884" ], [ "FStar.WellFounded.Util.intro_lift_binrel", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "77f3640855c20ddd4fb3eb2536fdec67" + "7c1f28339cf18eaa30b7b46c70bd5328" ], [ "FStar.WellFounded.Util.elim_lift_binrel", @@ -51,7 +51,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "96dfab1c1c3a498a47f2d915a33e54c1" + "5deb1b880ba450905975b195aa805f92" ], [ "FStar.WellFounded.Util.elim_lift_binrel", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_90adeae11e4eb652ec4345664db5e79a" ], 0, - "055a104315bcd9ff66f65e05894f8bd6" + "1d29654bbcee0110d2c45ac8333a5ab6" ], [ "FStar.WellFounded.Util.lower_binrel", @@ -94,7 +94,7 @@ "typing_FStar.Pervasives.dsnd", "unit_inversion", "unit_typing" ], 0, - "494c94aa665feb84528dc9a98803322b" + "490e9a80ae65e885cacb6a4448f2a1f6" ], [ "FStar.WellFounded.Util.lower_binrel", @@ -172,7 +172,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "c561bc42d6a782c804b388b835ee30d7" + "7c4dbf9fffc7c9a65290e9bfef7a7fe8" ], [ "FStar.WellFounded.Util.lower_binrel_squashed", @@ -193,7 +193,7 @@ "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed" ], 0, - "34c987237f95d24b26c5fc8d6afba15d" + "127c29cfaa55f8b60b2230cb184118b9" ], [ "FStar.WellFounded.Util.lower_binrel_squashed", @@ -215,7 +215,7 @@ "true_interp" ], 0, - "30ecccd212d2c2d2f6ecafefa509a2db" + "ae2965bb37fae99ab37352ef2320c3fb" ], [ "FStar.WellFounded.Util.lift_binrel_squashed_well_founded", @@ -249,7 +249,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "535486897584d5e0fed20c152e650db9" + "60caa5f015c260caf22b934231f46808" ], [ "FStar.WellFounded.Util.lift_binrel_squashed_intro", @@ -258,7 +258,7 @@ 1, [ "@query", "true_interp" ], 0, - "7b4dea1e62dcd6a12f19e83b39b94d98" + "eeefe826759e2820443c5d8da1f547b6" ], [ "FStar.WellFounded.Util.lift_binrel_squashed_intro", @@ -272,7 +272,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "60fc74f300f3740a5e38869fd82d628f" + "4be42218258ccf2eec2140ddf7010442" ], [ "FStar.WellFounded.Util.unsquash_well_founded", @@ -286,7 +286,7 @@ "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation" ], 0, - "ee16033475dc1301a6f3f43fb57d86c4" + "ef27df047a3dda6e0122f651517eb9d4" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.WellFounded.Util.fsti.hints b/ulib/.cache/FStar.WellFounded.Util.fsti.hints index f7cb7f8d993..e853e2a232b 100644 --- a/ulib/.cache/FStar.WellFounded.Util.fsti.hints +++ b/ulib/.cache/FStar.WellFounded.Util.fsti.hints @@ -17,7 +17,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "ecdb5d327cad1136c4d2be147781f2fb" + "bebffdc6f667da113c31fb0adf78e11a" ], [ "FStar.WellFounded.Util.elim_lift_binrel", @@ -34,7 +34,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "4fd3d0bab7363102b1a88754242dd352" + "0cb39d1d514fdfbfc443b598828a1908" ], [ "FStar.WellFounded.Util.lower_binrel", @@ -57,7 +57,7 @@ "typing_FStar.Pervasives.dsnd", "unit_inversion", "unit_typing" ], 0, - "f55c030bc941b53bac7149a483298acd" + "23c7f9d6c566793205aa4862d2612b0f" ], [ "FStar.WellFounded.Util.lift_binrel_squashed", @@ -74,7 +74,7 @@ "proj_equation_Prims.Mkdtuple2__2" ], 0, - "06e6423fe2637cb5ee5af982afaa825d" + "6249d742dcba51b6910d6b8b5743206e" ], [ "FStar.WellFounded.Util.lower_binrel_squashed", @@ -95,7 +95,7 @@ "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed" ], 0, - "da6412ca1ca7186db1209f3b7c6632df" + "ee3f9a9eeda1613b4484fa7de3020286" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.WellFounded.fst.hints b/ulib/.cache/FStar.WellFounded.fst.hints index 035c0c3897c..d326ec7edab 100644 --- a/ulib/.cache/FStar.WellFounded.fst.hints +++ b/ulib/.cache/FStar.WellFounded.fst.hints @@ -15,7 +15,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "8d0566864d363b21896e57d833e8c1f5" + "2567ed9fc57530d5de2b1368052982b4" ], [ "FStar.WellFounded.as_well_founded", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_08096815b34009f752dc2abd29b19dd1" ], 0, - "b752664e2028141a13bf74c60deed3be" + "a718b674b89a1de1f308e16f63c3576e" ], [ "FStar.WellFounded.subrelation_wf", @@ -41,7 +41,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "87d73672b0aab838c6660ac7576f0164" + "8f11394493c4c14ad6346e7fb11ebb12" ], [ "FStar.WellFounded.subrelation_squash_wf", @@ -58,7 +58,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "4be75b6ef281d4bbc0688327e012f5c3" + "633b9a4f9e1bfd6cb195e860623febbb" ], [ "FStar.WellFounded.subrelation_as_wf", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "4b0b8c32d9feaa85e20ca9ce668fa7f9" + "22cfb14f703d6f12f61db953cad47544" ], [ "FStar.WellFounded.inverse_image_wf", @@ -86,7 +86,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "6b786a813a44d8040967a9e6fb44d23e" + "c30c70fe565d21f05b4d77e19398ff65" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.WellFoundedRelation.fst.hints b/ulib/.cache/FStar.WellFoundedRelation.fst.hints index 170b18f08ba..138d331b107 100644 --- a/ulib/.cache/FStar.WellFoundedRelation.fst.hints +++ b/ulib/.cache/FStar.WellFoundedRelation.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.WellFoundedRelation.default_relation" ], 0, - "3d9a6d4462cf6669ac4d0e4d2a2f85da" + "0eda643301189549e0884f10240c4575" ], [ "FStar.WellFoundedRelation.default_wfr", @@ -34,7 +34,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "05bd852909c2122e1ef2c8a4f10d73a3" + "088f4a7aaf0b2190194b9f438091509d" ], [ "FStar.WellFoundedRelation.empty_decreaser", @@ -46,7 +46,7 @@ "false_interp" ], 0, - "1bf111217731c154a4f079a9b7bfc18f" + "8457f05c3a5d1d44040755a0615066b1" ], [ "FStar.WellFoundedRelation.empty_wfr", @@ -60,7 +60,7 @@ "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation" ], 0, - "0265d2eff2eeb89ea4be357c346a6abc" + "a94d2fe8ed3c2c52b39c9f31b15ef691" ], [ "FStar.WellFoundedRelation.acc_decreaser", @@ -84,7 +84,7 @@ "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" ], 0, - "8f7921a9507a3f49f81b579d06fbf568" + "564ce2d55f98aa943f6a420efe878466" ], [ "FStar.WellFoundedRelation.eta_expand_well_founded", @@ -99,7 +99,7 @@ "token_correspondence_FStar.WellFounded.Util.lift_binrel" ], 0, - "2abdfaa423afb2c768908def88129eeb" + "ba2e5da1d1d5385a84cabed7667ddc03" ], [ "FStar.WellFoundedRelation.acc_to_wfr", @@ -134,7 +134,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "d3aba57027c31351b3cfd05d94c82685" + "029c2d48b14a44b0deeaf1b2caac3754" ], [ "FStar.WellFoundedRelation.subrelation_decreaser", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_f86db90ee8ccc3e74f6c29a8f48386c4" ], 0, - "3cea35c446cd299bd4a610c782b7827d" + "a520a45c79e9119b7bbfcceee7c13d98" ], [ "FStar.WellFoundedRelation.subrelation_to_wfr", @@ -178,7 +178,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "6befb256032eadabd734fbacce7ad822" + "1f0c950ed8cc86b2c735064029b31520" ], [ "FStar.WellFoundedRelation.inverse_image_decreaser", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_affccb777651b70a29d8e0b024a2343c" ], 0, - "18dfe2efd63069a082b8d173657f75f0" + "703c0f80627c5251938160b664531c67" ], [ "FStar.WellFoundedRelation.inverse_image_to_wfr", @@ -224,7 +224,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "7da028d02c40e5378fcd3324a3aa69a7" + "5b2a9edc9f0a70e051896165518fbe81" ], [ "FStar.WellFoundedRelation.lex_nondep_decreaser", @@ -254,7 +254,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "d44e9eed6c2248a37c0dbb5f7e17739c" + "2dd44f3a9a20d9a30ab5e3ffe92dc0a0" ], [ "FStar.WellFoundedRelation.lex_nondep_wfr", @@ -279,7 +279,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "993bc6abc58b100cf3e9854880613848" + "45c0685eb93cc0f97d68f869eecc1fe7" ], [ "FStar.WellFoundedRelation.lex_dep_relation", @@ -288,7 +288,7 @@ 1, [ "@query" ], 0, - "3514d787f86d59bb4c026fb229adaef1" + "581156db461c80f45824bc3a88d19539" ], [ "FStar.WellFoundedRelation.lex_dep_decreaser", @@ -320,7 +320,7 @@ "typing_FStar.Pervasives.dsnd" ], 0, - "f76976678e6addc66093fb14b5a133ef" + "022d8cbe32d7de8ac63fc957f9c763e8" ], [ "FStar.WellFoundedRelation.lex_dep_wfr", @@ -346,7 +346,7 @@ "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" ], 0, - "9dbf408ef882f37d237a7bc5683098a2" + "3006bd03cdc315c45aaa1c4b53d8efcf" ], [ "FStar.WellFoundedRelation.bool_wfr", @@ -365,7 +365,7 @@ "well-founded-ordering-on-nat" ], 0, - "1846b52983ad633c13f41fce1d3e93f2" + "0c7aa81f11c2bb92cd5e27bd0388bba6" ], [ "FStar.WellFoundedRelation.option_relation", @@ -374,7 +374,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "a1ab35b2fe0f6da375dc8da1fd0735b9" + "0e5f645b4fc44404399ac66a9cbc1d48" ], [ "FStar.WellFoundedRelation.option_wfr", @@ -421,7 +421,7 @@ "typing_FStar.WellFoundedRelation.bool_wfr", "unit_typing" ], 0, - "5eb0e8baa1571fa4ad6fee3eefd91f97" + "3e091e11ec8bdd1af7d278506e7be5f9" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.WellFoundedRelation.fsti.hints b/ulib/.cache/FStar.WellFoundedRelation.fsti.hints index 649e5269338..2748a32909e 100644 --- a/ulib/.cache/FStar.WellFoundedRelation.fsti.hints +++ b/ulib/.cache/FStar.WellFoundedRelation.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2400fd93b60f7321606df7e35f32a982" + "607098596ba8b0501c417bc495c905a1" ], [ "FStar.WellFoundedRelation.option_relation", @@ -17,7 +17,7 @@ 1, [ "@query", "lemma_FStar.Pervasives.invertOption" ], 0, - "92ff2c1494f352aed6ffe6e3ec3b1b39" + "5084a05f8a2e60890b3c4156a1d7054b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/FStar.Witnessed.Core.fst.hints b/ulib/.cache/FStar.Witnessed.Core.fst.hints index 69295e4753f..e2dbc12e172 100644 --- a/ulib/.cache/FStar.Witnessed.Core.fst.hints +++ b/ulib/.cache/FStar.Witnessed.Core.fst.hints @@ -11,7 +11,7 @@ "equation_FStar.Witnessed.Core.witnessed", "unit_inversion" ], 0, - "c3096fa04fb8e966a3af51c6cc361621" + "87f32fe51df2f727b8f0f78d2b7e5c44" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Buffer.fst.hints b/ulib/.cache/LowStar.Buffer.fst.hints index e67de01c438..cde1bd974c9 100644 --- a/ulib/.cache/LowStar.Buffer.fst.hints +++ b/ulib/.cache/LowStar.Buffer.fst.hints @@ -14,7 +14,7 @@ "true_interp" ], 0, - "8be169924a14a1893a126a6ecc8a7fce" + "33e43a81213ebe09e0280f049bc5b55e" ], [ "LowStar.Buffer.assign_list_t", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cc1b0549d07ba7a62812be60278adbd0" + "9822dcf5e5be678d164b1d01a612d41f" ], [ "LowStar.Buffer.assign_list", @@ -129,7 +129,7 @@ "unit_typing" ], 0, - "77b8e8c28c9e11c7b3edbdedbfcb6bdf" + "50884b35e8b372271af8d7baeff93fae" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferCompat.fst.hints b/ulib/.cache/LowStar.BufferCompat.fst.hints index 2a4e504fe61..37fabe18fc8 100644 --- a/ulib/.cache/LowStar.BufferCompat.fst.hints +++ b/ulib/.cache/LowStar.BufferCompat.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_c91c357d8b481b71bcfe70f0ece722d9" ], 0, - "c70129989e9701471e837b572287ca24" + "6266833853114894c6346431035149f6" ], [ "LowStar.BufferCompat.rcreate_mm", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "5c211ef45b27252b1f653ce2638030ee" + "6ed95df3de7b6c594b978254c6ba0c61" ], [ "LowStar.BufferCompat.create", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195" ], 0, - "8a6be9e805c824c163c752a80a450f23" + "943079f608d6a1a2427cb85b3da359c1" ], [ "LowStar.BufferCompat.createL", @@ -59,7 +59,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "22a6b60fe0157d37641b62d2c42822a9" + "10a7a6745d0e069d79368fc5fc8fa12e" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferOps.fst.hints b/ulib/.cache/LowStar.BufferOps.fst.hints index 1e0d1df065b..9fe61030500 100644 --- a/ulib/.cache/LowStar.BufferOps.fst.hints +++ b/ulib/.cache/LowStar.BufferOps.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Tm_refine_47188798f74eff613c4825c6754a4c5f" ], 0, - "542f46010e2866fab89148e8794a77bc" + "07906dd6478bf1062d64118a30f24e53" ], [ "LowStar.BufferOps.op_Star_Equals", @@ -43,7 +43,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "54226d6f7ada9eb4a7d65b25be392714" + "7e25b01e5050af4a7a9a003b42c7a824" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.Down.fst.hints b/ulib/.cache/LowStar.BufferView.Down.fst.hints index 74a6d88e21d..e9b2929aa6d 100644 --- a/ulib/.cache/LowStar.BufferView.Down.fst.hints +++ b/ulib/.cache/LowStar.BufferView.Down.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e679f7cf318c88350cb9f7cdebb3c22e" + "e78b7e428d9a9b31437621119a61678c" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "1a8063dcca5978c88aeafe95f4520f7f" + "396aac0e65f18280fa58991f2dd162d5" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Down.View_n" ], 0, - "9377f31efae6bd5259bc942567dab67f" + "0e3f19c0208cd0b5ed9fdbf51927f680" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "b21414cb8b1eec58448583f9ef0da0f0" + "4ab4e14e65daca6644a7522706418a63" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184" ], 0, - "6fa811674ce8fb147da62e2b1cfc530c" + "27e4ac337cebd3828cfcf2c1c6f318e2" ], [ "LowStar.BufferView.Down.as_buffer", @@ -78,7 +78,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3" ], 0, - "20c3dcf4838f3ceb4f11af9d2d37f109" + "338c58120130aa939ac8ac0865c21d14" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -87,7 +87,7 @@ 1, [ "@query" ], 0, - "3fda0296f70f0166a0064b7abdb6a483" + "06123fde1b22eccdcea7924dd72c1c27" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -109,7 +109,7 @@ "projection_inverse_LowStar.BufferView.Down.BufferView_buf" ], 0, - "485cb13fef26e4ee9902347636991ebb" + "e186e1466a7f240b0e993fc77ab2baa0" ], [ "LowStar.BufferView.Down.get_view", @@ -121,7 +121,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__1" ], 0, - "475bfa461d707ff9a27805a72a85d801" + "78c437984d6adcd5cb935ce0aaf9df03" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -130,7 +130,7 @@ 1, [ "@query" ], 0, - "702c9400b62fa96fd1adfc594876b5a1" + "5af51358f447fa167c3253abe64b4b7e" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -148,7 +148,7 @@ "projection_inverse_LowStar.BufferView.Down.BufferView_v" ], 0, - "de7ab0d9153fcd1941f1e5dae67991d7" + "5374d76066fffc5e1a9ff0dca7366373" ], [ "LowStar.BufferView.Down.length", @@ -183,7 +183,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "cdee61826de3cf175226d3ca878a8e0c" + "eee44a4358d3c7f630ee62456eaafee0" ], [ "LowStar.BufferView.Down.length_eq", @@ -192,7 +192,7 @@ 1, [ "@query", "equation_LowStar.BufferView.Down.length" ], 0, - "2b1e93c55765258e3c9f07f25e1c3db8" + "795616c3d93206a6268b1c415a1ce92c" ], [ "LowStar.BufferView.Down.indexing'", @@ -209,7 +209,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "95d0678cab8912b94c7be7aa36c92b25" + "8215e0bf720a7323d331a959766e3391" ], [ "LowStar.BufferView.Down.indexing", @@ -229,7 +229,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "59be504d6bc12ad1ad0ff4e635b40e57" + "04d1697612bb09be85257035c44fb401" ], [ "LowStar.BufferView.Down.indexing", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513" ], 0, - "03ee6c011d0ccb1381065de6907834cf" + "1640d28c6477d766791bff0c5e5b04d3" ], [ "LowStar.BufferView.Down.sel'", @@ -256,7 +256,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "623ca0a6117e91a2d64d5255a2a319c2" + "86c82bf7e8911ddb254cc9813218a0aa" ], [ "LowStar.BufferView.Down.sel'", @@ -277,7 +277,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "f41c5a0142fb37c1583f768a56a73816" + "69cf9a9ebf9004716537dc2c2bddd6a8" ], [ "LowStar.BufferView.Down.sel", @@ -311,7 +311,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "5965d1015f1e926edfa6ac2957745566" + "974105f4ae4a43344cb69829e53a07ba" ], [ "LowStar.BufferView.Down.lemma_g_upd_with_same_seq", @@ -326,7 +326,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "718467c06efb6b74efa88a040e0ff7a2" + "8f8ea04c36be4b0276204f29b25983c0" ], [ "LowStar.BufferView.Down.upd'", @@ -375,7 +375,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "7408df580e5dd668bc117d3545f73845" + "e7a708e97ceb9f0475a6d4fc5eed7e28" ], [ "LowStar.BufferView.Down.upd'", @@ -441,7 +441,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "d5a1f7db8a391535dc6bb603ad8fc80d" + "27d4c366e2d8aa99e745990fd87ed0a6" ], [ "LowStar.BufferView.Down.sel_upd", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "1d4beac0177eb43754f85174d92efa6a" + "0ccb095a994687f5b76f8b17fa28a109" ], [ "LowStar.BufferView.Down.sel_upd", @@ -491,7 +491,7 @@ "typing_LowStar.BufferView.Down.upd_" ], 0, - "dbb3cf9dcd76bb11d4596ce5c61d755b" + "f4c036ee0d00a32a7bc775222e7485b1" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "f7f451c90d701ca8fc82b806649804c0" + "e1bac33fc7e786bc23c5e67d6e79061e" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -529,7 +529,7 @@ "typing_LowStar.BufferView.Down.upd_" ], 0, - "8035f2b4f2806379cb3ee1e29e66b1dd" + "bf48ea7037094bc5338021ff8d2f0407" ], [ "LowStar.BufferView.Down.upd_modifies", @@ -553,7 +553,7 @@ "typing_LowStar.BufferView.Down.upd_" ], 0, - "af2f57a7b94d14593e0b8e512528b14c" + "b0c4e7f2c45e52bd23c860825c8adb37" ], [ "LowStar.BufferView.Down.upd_equal_domains", @@ -567,7 +567,7 @@ "typing_LowStar.BufferView.Down.upd_" ], 0, - "46c116f8b32b5c4e4dae8dac23d816ef" + "5c9eb6ceddeed46700a8a35602d495ac" ], [ "LowStar.BufferView.Down.seq_fold_right_gtot", @@ -591,7 +591,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "9582ce07d98010406163222c87c94959" + "29f3d642a3d6426fdbf09455e4cc8a80" ], [ "LowStar.BufferView.Down.as_seq'_len", @@ -651,7 +651,7 @@ "well-founded-ordering-on-nat" ], 0, - "027bd976ed3be23e6ad78643147047cd" + "675c4899d92f492d034975b4bce719fd" ], [ "LowStar.BufferView.Down.as_seq'_injective", @@ -720,7 +720,7 @@ "well-founded-ordering-on-nat" ], 0, - "0cd35ce85ad0a25163faa9754e5c560d" + "5c442329897f9b479fe51cfebff225ff" ], [ "LowStar.BufferView.Down.as_seq", @@ -778,7 +778,7 @@ "typing_FStar.Seq.Properties.tail" ], 0, - "538220287dc8fed4367a5fa17983270c" + "ea4877500731f936d4c012c24ff68b72" ], [ "LowStar.BufferView.Down.sel'_tail", @@ -805,7 +805,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "b9943abc3e7c28d8adec31975c7670b3" + "ca433ae362d06a5289dbbcbf5d92ca45" ], [ "LowStar.BufferView.Down.sel'_tail", @@ -840,7 +840,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "7363e1440112054cd04aabaf73be9808" + "a05d469947e474605b4a7b59c430215b" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -887,7 +887,7 @@ "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "5e376f061850058ade47b56990c8f30b" + "7f204f16ce60d19d52a41a4c098151f1" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -903,7 +903,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "18fbdf67d224af85a235e7b7057bf1b9" + "f6c465b0e558d9fe1a1e8a6b4a842f40" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -970,7 +970,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "1ecc51495dd0595ee3c6497fe0cfddd9" + "abbb2af10792cff19fe5a9cb0175f9fc" ], [ "LowStar.BufferView.Down.as_seq_sel", @@ -985,7 +985,7 @@ "typing_LowStar.BufferView.Down.as_seq" ], 0, - "6bff850a5d22307888a4b8c58954ba04" + "a535c0675e973dc5603a2942b69d8cba" ], [ "LowStar.BufferView.Down.as_seq_sel", @@ -1070,7 +1070,7 @@ "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "88dd07660afe7f271916e837a06d5477" + "39b0f8a4e356cb2f87f461a8ce92c2b6" ], [ "LowStar.BufferView.Down.get_sel", @@ -1111,7 +1111,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "c7cc61a064f3caa6d4eeafcf5fa6c25f" + "3d9d104baca0f31c429fb12538e8f071" ], [ "LowStar.BufferView.Down.get_sel", @@ -1125,7 +1125,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7d03c22209215491772655cbd7766b53" + "537c47a46cc1f764d3ed33d5fd491729" ], [ "LowStar.BufferView.Down.as_seq'_slice", @@ -1146,7 +1146,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "d589504417e6721e494a1bd5bab34ac0" + "731304cc436e7217190309416aef3fdc" ], [ "LowStar.BufferView.Down.as_seq'_slice", @@ -1154,21 +1154,55 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", + "@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_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "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__", + "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_174c805accce17d395df001d6d84af64", + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n" + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a2db20c0583128e59815c507a66126da", + "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.Properties.head", + "typing_FStar.Seq.Properties.tail", + "typing_LowStar.BufferView.Down.__proj__View__item__n", + "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "db78feeefe5d0a6de0fe6896185c764a" + "bf8f9b804bffac31a3a0d2bab957ebf4" ], [ "LowStar.BufferView.Down.as_seq'_slice", @@ -1249,7 +1283,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0def897cfb2c8049b861c922cb4f1991" + "fc631038bd7bbb6492b47be25c86277c" ], [ "LowStar.BufferView.Down.put_sel", @@ -1338,7 +1372,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "cfdfa2e813e6ca0cf8f8efe730af9496" + "19323f3887275057265369b33dfcc8ba" ], [ "LowStar.BufferView.Down.put_sel", @@ -1428,7 +1462,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "88b7b7fea4b52a943257a3c72a00ca37" + "e96795ca404ec458e33c5d28b763ff23" ], [ "LowStar.BufferView.Down.upd_seq'", @@ -1445,13 +1479,13 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3bae2ebe0fc863c1675fc379ddacfaab", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5cd7f1f70e7dce462d6a0826017d69a5", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b316c457ecdb2d2e5c5bdf4d65941ed", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "db4d2498cabb87435f73bce6bd2888c9" + "158fa95e9842fd094bf695d15331e788" ], [ "LowStar.BufferView.Down.upd_seq'", @@ -1496,7 +1530,7 @@ "well-founded-ordering-on-nat" ], 0, - "081354cc79cd1f6053825db102c16b14" + "e79b422b0442c1a19ef6b4d05a23adda" ], [ "LowStar.BufferView.Down.upd_seq", @@ -1510,7 +1544,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "71cb11d50089aca3861709ead013ef60" + "2cfad4ee7156542a558c5f53e59b4929" ], [ "LowStar.BufferView.Down.upd_seq", @@ -1524,7 +1558,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2a039ce8d4ef0a6e3a86126344327217" + "1d07c92f65268bd09c64fccb0d8676b8" ], [ "LowStar.BufferView.Down.upd_seq", @@ -1588,7 +1622,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "baea92dee27763e3482cf78fb2800674" + "2fa87356042f97961dde85744b9333e0" ], [ "LowStar.BufferView.Down.as_seq'_cons", @@ -1647,7 +1681,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" ], 0, - "c5ed137320de9c1850f92f5f2b3b2f15" + "45d377e3ada01ceec726d40d47a4ea67" ], [ "LowStar.BufferView.Down.upd_seq'_spec", @@ -1670,7 +1704,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "13af0de620658106bdd7b43d1bfdd752" + "a7b0c148a292bd77b08fbf462a201d0c" ], [ "LowStar.BufferView.Down.upd_seq'_spec", @@ -1758,7 +1792,7 @@ "well-founded-ordering-on-nat" ], 0, - "a4091691d8dc9029effaef18abcf6fdd" + "a898e05232ab10c86f230ed3c9e730d0" ], [ "LowStar.BufferView.Down.upd_seq_spec", @@ -1780,7 +1814,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "cc786b0d224d0c4b12475d932a7a4ba2" + "da5c5d28763606aef03ae1ae2479c5c5" ], [ "LowStar.BufferView.Down.upd_seq_spec", @@ -1794,7 +1828,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8404c509de6b10cd96d5ff96d2b6fab" + "39cccfbc7014b4b8cf8eee0d3ff0700a" ], [ "LowStar.BufferView.Down.upd_seq_spec", @@ -1887,7 +1921,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "f81e0fa7ec7c8cbe5ae9b89b8364b855" + "de8059c34d2d20c1bd949367f1513f46" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.Down.fsti.hints b/ulib/.cache/LowStar.BufferView.Down.fsti.hints index ccbf91bb65b..da67987f660 100644 --- a/ulib/.cache/LowStar.BufferView.Down.fsti.hints +++ b/ulib/.cache/LowStar.BufferView.Down.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "27cd2dcdff6b71ff3280cde3d78e2eb5" + "8d74e7d403dd9d21fb3269520092f587" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "46387e9c1490e07706fb07281cc77c87" + "640992e85540f0dd3b189820537c34fa" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Down.View_n" ], 0, - "2cc2bab47370720b41dbfa265a461d75" + "f49706914f85bfdccc8c88459f8bce55" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "bbd18ea5ed03683fb568c2f49d8a3bdb" + "e3f8035d92830887680471581928aa22" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184" ], 0, - "23ae4799baa0da9efb378732026d9c0b" + "d3131a9d2dfe6eb8da83633701dbb7fb" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "865f393d116750d1aaa9e1c0ee475415" + "a6448e8200a6ae7646195d103a3d7754" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "ed293370ce86f12ba4c50ec65bbfc87f" + "55cc93a580dcc788fbb684fc0efa8930" ], [ "LowStar.BufferView.Down.indexing", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "fa28d2de8166327d24878055903017f4" + "f822080edde865b16e9c6d7d0faa31f4" ], [ "LowStar.BufferView.Down.sel_upd", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "aa08945f78f54bea7fcf707ef41c4c40" + "488dab9d46567cc8fa7a6233b3fdc152" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "c2ed9d87311a96d89e90528a9fcd3257" + "f3da5636ca61aeed7406652dd4e34d37" ], [ "LowStar.BufferView.Down.as_seq_sel", @@ -130,7 +130,7 @@ "typing_LowStar.BufferView.Down.as_seq" ], 0, - "37ab24b50475d13269d8d986c11f6938" + "d54caec7d75b71a8a69674feeeb4bbfa" ], [ "LowStar.BufferView.Down.get_sel", @@ -170,7 +170,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "6fd5c9e39206374258137862506fd036" + "17ce06e38811c6f941a77f7ea6d32aa0" ], [ "LowStar.BufferView.Down.put_sel", @@ -229,7 +229,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "2c1284c3e7a8be3c93cdeab74e26a945" + "617e0c70b0c55b383db6158f4fc8b782" ], [ "LowStar.BufferView.Down.upd_seq", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "23b931ba886fef34df29d49de1e70897" + "e07514349964a173d85eeca32a438746" ], [ "LowStar.BufferView.Down.upd_seq_spec", @@ -259,7 +259,7 @@ "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "e5ce1da96ae899361ea05dfd3298b6b9" + "877f055802402eae736849d0854c76c8" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.Up.fst.hints b/ulib/.cache/LowStar.BufferView.Up.fst.hints index 498305557a4..11381caa2f0 100644 --- a/ulib/.cache/LowStar.BufferView.Up.fst.hints +++ b/ulib/.cache/LowStar.BufferView.Up.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "51336f6376bed51d061843f8a11f807c" + "81028094e3ff74340622dbe8aa9a85ac" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "29f6acd8f463fe87a6910384ad3d32b0" + "d14ee934aca118cae947ea895fff9bc6" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Up.View_n" ], 0, - "1eb170361ffca4f9824a3f27e0d1170c" + "08ac498568ce9755782ef901394da74e" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "e5da3eceb826cf7374492c0a5e9bf702" + "ccc28202e2835c12997f4f45d5941cf9" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -62,7 +62,7 @@ "token_correspondence_LowStar.BufferView.Up.inverses" ], 0, - "38ff76f50553942090af2fcf6c05140e" + "0b396c6e1125800e88fe2cb15e5e8eb0" ], [ "LowStar.BufferView.Up.buffer", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "a1fd224cff70da354015bce66c9f8e01" + "7c7ba0cf9457bad274ee6ab9e7cde740" ], [ "LowStar.BufferView.Up.__proj__Buffer__item__v", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "8e59dbcc08b9640488a3776feed7b468" + "645fd866f5aa38ede4565f493a871e4a" ], [ "LowStar.BufferView.Up.__proj__Buffer__item__v", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f" ], 0, - "6c9e14299b1f8eaf710f3a8fa3b89a09" + "b48663a8c69e91d6b17451bcc38ce875" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "e69dbe9ff397f1f10f88c591edc92e6a" + "b2b9dc2d772c8d2513a550501c01c0e7" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -116,7 +116,7 @@ 1, [ "@query" ], 0, - "d990715301eaf56d14efe5cd149e0389" + "52ce60c6f924953123362598b623391e" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "52a4a7d714f7c69f481cecd72674526b" + "812deff41994f6c51e68a5d25abff0b9" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -134,7 +134,7 @@ 1, [ "@query" ], 0, - "5801908103e5345e82040412d575ba6a" + "e76599cc104608f47267bf6c6d1c9c17" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f" ], 0, - "04659e464ce01923da83e1d552bad76e" + "fef6aa1cc1d5c97680e1955540847bc9" ], [ "LowStar.BufferView.Up.length", @@ -189,7 +189,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "2638ec4f60ddd00064a7cd6ba2fb0b9b" + "e6709b6e676bc117383400fdef40ae4b" ], [ "LowStar.BufferView.Up.length_eq", @@ -198,7 +198,7 @@ 1, [ "@query" ], 0, - "65baf2bb31c1af27f3f0445d10e7bf97" + "8827c87754cfb11671e6d0e0d354975e" ], [ "LowStar.BufferView.Up.length_eq", @@ -207,7 +207,7 @@ 1, [ "@query", "equation_LowStar.BufferView.Up.length" ], 0, - "8ab842dcf149102dbd4fa32809a4f83a" + "61ae63c40080d3560960facec4d02733" ], [ "LowStar.BufferView.Up.view_indexing", @@ -237,7 +237,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "87b2fac11f4bc9d012a44d7371288685" + "085f6a167bca10410bb283cda75759e2" ], [ "LowStar.BufferView.Up.split_at_i", @@ -294,7 +294,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "0a3921032ec084a52f0be182b5f4f356" + "6cde332a9a030ba49bf29f05ef8347de" ], [ "LowStar.BufferView.Up.sel", @@ -313,18 +313,17 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "8ac5ab6059d576fd6a0ad2e04aa80aee" + "c2855094c08e34849f81eee607d74918" ], [ "LowStar.BufferView.Up.upd'", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.Up.Buffer", "data_elim_LowStar.BufferView.Up.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -357,9 +356,6 @@ "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_LowStar.BufferView.Up.Buffer_down_buf", - "proj_equation_LowStar.BufferView.Up.Buffer_src", - "proj_equation_LowStar.BufferView.Up.Buffer_v", "proj_equation_LowStar.BufferView.Up.View_get", "proj_equation_LowStar.BufferView.Up.View_n", "proj_equation_LowStar.BufferView.Up.View_put", @@ -375,7 +371,6 @@ "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", @@ -405,7 +400,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "4fdb3ad50a3a2f0d83b7ef6f7714d08b" + "f263c1bc9994c30efbbd6baf5fa4837f" ], [ "LowStar.BufferView.Up.sel_upd1", @@ -425,7 +420,7 @@ "typing_LowStar.BufferView.Up.upd_" ], 0, - "ad01d6e3abeb9372f1cab1ea11e0331c" + "03eaa0629985bd017320e465ad30b8d9" ], [ "LowStar.BufferView.Up.lt_leq_mul", @@ -440,7 +435,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "be23197206fbceafef612884b0b7906e" + "fa8f6fa0aa8a03d8cbbfb47d601ed235" ], [ "LowStar.BufferView.Up.sel_upd2", @@ -454,7 +449,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f211da8a372d28a1685fcaf44bdc351e" + "95dcfc0c75e184808a465c9f2ad4d4d4" ], [ "LowStar.BufferView.Up.sel_upd2", @@ -547,7 +542,7 @@ "typing_LowStar.BufferView.Up.upd_" ], 0, - "71487693590d5fd512f06bcb6c3bee19" + "dc0ca93bb2f81bf9ca0396c0de765fef" ], [ "LowStar.BufferView.Up.sel_upd", @@ -562,7 +557,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7581404defa98afaac7fe68817af4a42" + "415f1ae36954048188388379c0fe06fe" ], [ "LowStar.BufferView.Up.sel_upd", @@ -590,7 +585,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "82a95e46cb5fec538fa72e7145e3db14" + "dd94364225315156126934196c7b4000" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -602,7 +597,7 @@ "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" ], 0, - "6823614df349d91b4a1567da01b016d9" + "b28c0505741dc4a98a074d07e32d3b46" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -645,7 +640,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "45e586d88e4a630aad60519556a73f09" + "324926ce2cf0ef0e2ef5803dfdefc569" ], [ "LowStar.BufferView.Up.upd_modifies", @@ -702,7 +697,7 @@ "typing_LowStar.BufferView.Up.upd" ], 0, - "9b17589133ba48949d8024447b3aa58d" + "e961444a1bf20ed9ef8c4ac22c3d3faf" ], [ "LowStar.BufferView.Up.upd_equal_domains", @@ -744,7 +739,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "234ef3afc83daf8ae56e559dc7b0ab7a" + "7cabecacb9a88acb3c842a67b49b01f0" ], [ "LowStar.BufferView.Up.as_seq'", @@ -754,10 +749,10 @@ [ "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2544290a8f22427cc17a9d15ae64f69b" + "refinement_interpretation_Tm_refine_36b98cc73abfbc9044c3f23b95f14c0e" ], 0, - "037044a7ace3ea7f2114ec5de63024e3" + "62807676a398024bbeb0491ccdb7552e" ], [ "LowStar.BufferView.Up.as_seq'", @@ -811,7 +806,7 @@ "well-founded-ordering-on-nat" ], 0, - "d15d6e4a7f5da0d2f1e250058c0dc597" + "eb9e6ecc6a1be739a45a98876e48437e" ], [ "LowStar.BufferView.Up.as_seq", @@ -870,7 +865,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "ab385a81273d750a4e6553b0503486d9" + "746fcfaf1e9d7b1e5b2b5458ffbe233e" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -886,7 +881,7 @@ "typing_LowStar.BufferView.Up.as_seq" ], 0, - "113d1c5d2418b139c1e394b813bec7e3" + "c1bc252f9dd963b6ae1c55d1d0a841bc" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -956,7 +951,7 @@ "well-founded-ordering-on-nat" ], 0, - "622a568c2d5bccb88211400210ee6234" + "5272b0257dae3a63713aba8709a61a7c" ], [ "LowStar.BufferView.Up.get_sel", @@ -1020,7 +1015,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "6237219d3021693dd7c66506ad0a2c20" + "a7173ab7679f00da9606947e3445f4e1" ], [ "LowStar.BufferView.Up.get_sel", @@ -1086,7 +1081,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "6f0822234c016abe758e5aa5ebf6f813" + "3f0055d4faef00a915acabad8a95006c" ], [ "LowStar.BufferView.Up.put_sel", @@ -1145,7 +1140,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "1dbb88dbd954a9f038211351bc8fa64e" + "a810527546d84cc2f412c7757a999ccb" ], [ "LowStar.BufferView.Up.put_sel", @@ -1221,7 +1216,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "17ddb860157eded8e3db8073e4d65c48" + "f24b4764d486a4ddec28bdd9645d147b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.Up.fsti.hints b/ulib/.cache/LowStar.BufferView.Up.fsti.hints index f44028072e8..1acdefb1c27 100644 --- a/ulib/.cache/LowStar.BufferView.Up.fsti.hints +++ b/ulib/.cache/LowStar.BufferView.Up.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5e5811039545e327e4c49e7ec0033c43" + "b492b785f5594ce89fb8be7ae610bcfe" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "62de898bc3025c7c4333f3fbe88d1e50" + "fa1fb92b8370425adabc3f3b0d3eaa0b" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Up.View_n" ], 0, - "d684a5860320464a594661caa7372ce9" + "45765d8023164e615c8edd193306fdb6" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "47dc90086c85ef548c1b31ad6d38824a" + "50eadd39306457828fb16da6842b8201" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -62,7 +62,7 @@ "token_correspondence_LowStar.BufferView.Up.inverses" ], 0, - "f0fc5248c4b807b34d7f412b8ab0b0ee" + "58cd1bbf4924c160cba24c6868a70d7c" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "a5dd3e30d751205feb19bd4b438a324c" + "27accfe36abae4138ca3d1e509eb4c07" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "cddf30134b9b36bf4b516301ed91526e" + "1e372ef48a4c1d3c9733014214f36433" ], [ "LowStar.BufferView.Up.length_eq", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "51bf770966d018ac1c240a40b82aad78" + "27c81fd5d567027abff611abf828e5b8" ], [ "LowStar.BufferView.Up.sel_upd", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d0ee00bf433a13fcd533f7ce6d9bc60" + "37a08c8874e34833c2ab5ce91483edce" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -116,7 +116,7 @@ "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" ], 0, - "dba2b0d7fabc5d8ffd06d0a06bfbfb28" + "472354ad9baaf6568aaa6dd18e7115c2" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -130,7 +130,7 @@ "typing_LowStar.BufferView.Up.as_seq" ], 0, - "ddbb1a2002a2463b4cd75a4b9067a93e" + "687f9f422efa410480f8bba1187c6820" ], [ "LowStar.BufferView.Up.get_sel", @@ -173,7 +173,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "3b42ce6507a1329a42d0739007c3a90f" + "735ff259d32ccda695144aa99f3b1f9e" ], [ "LowStar.BufferView.Up.put_sel", @@ -201,7 +201,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "6fa4f8dfe6ceb65c0a911b00bff5bc17" + "508daaa35dd5956d5ac2ace7bbd398d5" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.fst.hints b/ulib/.cache/LowStar.BufferView.fst.hints index 3a9e3d16442..989dd31a632 100644 --- a/ulib/.cache/LowStar.BufferView.fst.hints +++ b/ulib/.cache/LowStar.BufferView.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5c36a2fea62f085a3ab3554fca185c36" + "7d25badf380610e0dc839f32a41991c7" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "003a5be85ad655e6e32bf2fff0ce10f5" + "7bd1449492ba392b4ee1e0d5061de523" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.View_n" ], 0, - "8bad626ad20440a80e326f387c97c645" + "39c2d87ae44db24384c3e94ea0a5a8fd" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "a42c2ded7dfea1bf926d7b8d76d3fb82" + "d5a92449f5207d31430743f7d7d35e7e" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a" ], 0, - "152da11553d3be1cf2c56976aa5166d0" + "918e5276c6e244c10a0f96fb3d15eba2" ], [ "LowStar.BufferView.buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "73db6a7b48f9d40f97c9243c557d5854" + "a1e0ff12108631b9c8238299cbdc4913" ], [ "LowStar.BufferView.__proj__BufferView__item__v", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "c0440dcdad10bd9046ec9ab2c16ef014" + "50b005e1cc1e11752f1848e199ba910f" ], [ "LowStar.BufferView.__proj__BufferView__item__v", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "a83970045ca16fedc181f50441c1342e" + "98f5832b7bba230ed5fde2ab42a498c6" ], [ "LowStar.BufferView.mk_buffer_view", @@ -105,7 +105,7 @@ 1, [ "@query" ], 0, - "0c4ca216a0ee0b3177a185f01a880122" + "b5c88c89a2e0d123a2a037a8574067df" ], [ "LowStar.BufferView.mk_buffer_view", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "91b6d4b5fa82dc086ec03148896b8094" + "25fbb0ba2e46cb890740d657348fc515" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -123,7 +123,7 @@ 1, [ "@query" ], 0, - "4200b638d9aca856160f72a004449da2" + "71b6219a03fe005691a4cc1658b05a40" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -132,7 +132,7 @@ 1, [ "@query" ], 0, - "2fc67bf1d6aaa3f71a0479d65e1801f5" + "f9fd61240f1aba626be01380a3802d0c" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "a2eedc4ded1b09cdf76b2b73a2657e07" + "79810bb25effeb1d932d67af1d982135" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -166,7 +166,7 @@ 1, [ "@query" ], 0, - "cc40256819d25ca2d0e0147cddf18c1a" + "cc319beca427b93e96288f125a1cf018" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -175,7 +175,7 @@ 1, [ "@query" ], 0, - "926110068e459f0d139a91a6c01ce861" + "937d7cde5c82dcbeed3d5d87a24d2561" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "2133b2e9143294d2f6c67dd9f8140c5e" + "d12c1aac139f734b67ebdda2faa15f6a" ], [ "LowStar.BufferView.length", @@ -239,7 +239,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "b1e0e739101f839192dc5b2599a8f9e4" + "6f4ad1a2c262e8fd092d88efd6b4df90" ], [ "LowStar.BufferView.length_eq", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "fa8b94317a7e24762a9e48811727fc03" + "88de1ee1659d9a7c71317f988c2eaf40" ], [ "LowStar.BufferView.length_eq", @@ -257,7 +257,7 @@ 1, [ "@query", "equation_LowStar.BufferView.length" ], 0, - "c09f3cb59875f0a3513322180fe751f1" + "66c9414fb45758a315bba778f7f31b4a" ], [ "LowStar.BufferView.view_indexing", @@ -283,7 +283,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "e8ca10416a109c424f861031b19cc672" + "e01ce3f820d439bc037d5113a3bca17d" ], [ "LowStar.BufferView.split_at_i", @@ -357,7 +357,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "876a859d620b5f3ad1dd043b7f55ad01" + "756597b6250d911d86992195c0e6d60a" ], [ "LowStar.BufferView.sel", @@ -378,7 +378,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "72d443e807c81d0abcc1aa40509cfff4" + "5d95fb37b2c457fb62e198052fd084d3" ], [ "LowStar.BufferView.upd", @@ -420,7 +420,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "9164bdfcc5f7dbbc0ffb16858a2df3a4" + "291837b15e269f64bbecfe6bdec942f2" ], [ "LowStar.BufferView.sel_upd1", @@ -439,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", @@ -495,7 +496,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "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", @@ -517,7 +518,7 @@ "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "f7420109a44fa73220abefb83b2beda2" + "a6d94fdd1a2ef8d7a604de03517da976" ], [ "LowStar.BufferView.sel_upd2", @@ -531,7 +532,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eed089786ed340fd327b4eafad662b3c" + "c5876113ae7102e7ec4c221408116f20" ], [ "LowStar.BufferView.sel_upd2", @@ -624,7 +625,7 @@ "typing_LowStar.BufferView.split_at_i" ], 0, - "c0f5af5b0f5ac9e2f2802c86a59e6a4a" + "8a4c5364fa94017737225a10ead7f3aa" ], [ "LowStar.BufferView.sel_upd", @@ -639,7 +640,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7d3a2e9868b39758448188737fe35a6" + "1946b94430589bead9fd5dfb5b3627fb" ], [ "LowStar.BufferView.sel_upd", @@ -667,7 +668,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "f3d6afa642ca32a272ab05600c4b7079" + "754831b6e046b8a46895b41dea640c10" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -679,7 +680,7 @@ "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" ], 0, - "bf1b1111b625e74ce50bdf97389f2622" + "38145cdb66f9c87a2b62b8ce1aad9498" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -716,7 +717,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "4d6dd47ffb3022245199a24ce62fe56b" + "f5d0ccda45c6dff2c721bacf8e57a015" ], [ "LowStar.BufferView.upd_modifies", @@ -818,10 +819,10 @@ [ "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a3cc53f6af9b729746af1db5495e31b" + "refinement_interpretation_Tm_refine_58a5c2646e86c5111e15c4f4889fa1e1" ], 0, - "e7049356c239d0463120e1b612954302" + "883c5a9662defd82c3018ceec6adff1d" ], [ "LowStar.BufferView.as_seq'", @@ -874,7 +875,7 @@ "typing_LowStar.BufferView.length", "well-founded-ordering-on-nat" ], 0, - "c9574c88ed4fd6d3a27d0dca51a18765" + "463eb76e13e3cc7de6c43167794d5e84" ], [ "LowStar.BufferView.as_seq", @@ -896,7 +897,7 @@ "typing_LowStar.BufferView.length" ], 0, - "476faa08a25cbb1e17559e75d39b8392" + "1348a5b7eb008d60fe8f71627e453442" ], [ "LowStar.BufferView.as_seq_sel", @@ -911,7 +912,7 @@ "typing_LowStar.BufferView.as_seq" ], 0, - "c43ebf12ad24d4e6d4294a8a45a508fc" + "29b0077e3f0aef3cbfeb6d6722b95a61" ], [ "LowStar.BufferView.as_seq_sel", @@ -1001,7 +1002,7 @@ "well-founded-ordering-on-nat" ], 0, - "1068a1b195eb89be03733c08191ee387" + "dfa706adc89987fc981845c19815d4de" ], [ "LowStar.BufferView.get_sel", @@ -1078,7 +1079,7 @@ "typing_LowStar.BufferView.split_at_i" ], 0, - "b5e77a5adf6a19cab6ff2079dae16f71" + "e9ca7292250d6ee57571cc06084a2197" ], [ "LowStar.BufferView.get_sel", @@ -1163,7 +1164,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "8244810c7035a0eb3361df9948b2af60" + "7cb1aff7c475eb4756dc0419d3fe0d12" ], [ "LowStar.BufferView.put_sel", @@ -1213,7 +1214,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "793513813f4ed0c3ccdfcd9fe86c9781" + "ca6a7a1c13db3aea770a8af072b833f6" ], [ "LowStar.BufferView.put_sel", @@ -1300,7 +1301,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "25ced7eaceb4288465dda8c303795f8c" + "5cdc2227bd7248c4367052e70de7faf6" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.BufferView.fsti.hints b/ulib/.cache/LowStar.BufferView.fsti.hints index 7a31021061b..e5f43f63613 100644 --- a/ulib/.cache/LowStar.BufferView.fsti.hints +++ b/ulib/.cache/LowStar.BufferView.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "60b0e110fffc25c7d3fe9e66f7d8cf16" + "a4e60ee1ddceb2b81ef37fabad50b147" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "bb4bbf53467a9cffc5946ab888e3ba34" + "e1cf24e37e1c2367a2a8aa331547a9f4" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.View_n" ], 0, - "f3bc2209c3daa5926e6dc7241904056d" + "4d297c51c0740f3f8bf8d791bc37d2b1" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "31225bc4dd1f9d4bf012b00660e2501b" + "ccece7fd5be7ec87e7501b4f9906d1a1" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a" ], 0, - "020948a1bc837ad2c08ae8f3f78c69e9" + "fa542e29559c06dd183750f480e48acb" ], [ "LowStar.BufferView.mk_buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "bf85db679d3180b5cff3c531ad87f5e3" + "c189054a8bc0da119c121f884dca881d" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "00526863253192ebf79fe8169dc1b208" + "538b060061b6327121ee470e817f6245" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "54e0a815636727816df091d30ab8ff5d" + "30b211b22ff94a21150577e474d82c5e" ], [ "LowStar.BufferView.length_eq", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "ff92bafed82764d2152098855c7a29cf" + "df7fb13248223cb719ae902907df8915" ], [ "LowStar.BufferView.sel_upd", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "25ce80314e9ab3019213925e010a4d2c" + "5a83e98e99a0c3bfe2f2481472d38ba7" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" ], 0, - "48ef84c083a7f6a9ce1d55f2691e32bf" + "1dde6b4256e8147f3f581033fd6f8336" ], [ "LowStar.BufferView.as_seq_sel", @@ -139,7 +139,7 @@ "typing_LowStar.BufferView.as_seq" ], 0, - "484ed81c3a58e577d43e5c346949d63f" + "aa75fc9be6837576d63956f3a9dd5763" ], [ "LowStar.BufferView.get_sel", @@ -197,7 +197,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "481af9a1ada0a434cac25c58f1d45c05" + "09c19caa1c9a0319e65384ed6fb2a84a" ], [ "LowStar.BufferView.put_sel", @@ -242,7 +242,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "3ce0e143c70e4cf25016abcccab9f592" + "32760254b2d29bcbeac4eebbffd90546" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Comment.fst.hints b/ulib/.cache/LowStar.Comment.fst.hints index 82ea31f50c0..9e4e5b80a8d 100644 --- a/ulib/.cache/LowStar.Comment.fst.hints +++ b/ulib/.cache/LowStar.Comment.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "288f888eb45892902e249f034e942119" + "88ffbc628ea1da2dee1e2c6b63b9cb35" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.ConstBuffer.fst.hints b/ulib/.cache/LowStar.ConstBuffer.fst.hints index 524542d7d51..93acad12096 100644 --- a/ulib/.cache/LowStar.ConstBuffer.fst.hints +++ b/ulib/.cache/LowStar.ConstBuffer.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "f025001c480df03c1a0d4d203dd24174" + "e92bcf422ca2f852f82aebb822371007" ], [ "LowStar.ConstBuffer.q_preorder", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "3311cb3d3996649eb4f24c17dc4e57d3" + "b0d148057f61fed907352067c3db4b7d" ], [ "LowStar.ConstBuffer.qbuf_mbuf", @@ -54,7 +54,7 @@ "typing_LowStar.ConstBuffer.qbuf_qual" ], 0, - "3edaaa0f73b107c2c5df262cda2e544e" + "3dea864c1c1f11c48692b16e1659266a" ], [ "LowStar.ConstBuffer.of_buffer", @@ -68,7 +68,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "94565e3f4966e443d170a5a3070b59d8" + "3e154c72aa3558ee2b652a5fcc9d33bd" ], [ "LowStar.ConstBuffer.of_buffer", @@ -87,7 +87,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "67aa2b4be617589ee4ae999ce6b081cb" + "89c1dcf1f7b88caade0092b2ef6a69ef" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -101,7 +101,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "e1582ddf0b8927731f155d5c564738cc" + "74f362f83341c6d1e2a29c5b63618cef" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -120,7 +120,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "931e5044987734fb44a62f99dea3fdaf" + "c506d76acb3ecbce87e2974f212133ee" ], [ "LowStar.ConstBuffer.of_qbuf", @@ -132,7 +132,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "fad44f418cdeea16d87505118c2ff45c" + "db6837352a34692efb9c3a5a49625929" ], [ "LowStar.ConstBuffer.of_qbuf", @@ -160,7 +160,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "3c0b57ff7fa4929fce25feb2cac485be" + "a8f0be06294ec46530db62c9fb3599b4" ], [ "LowStar.ConstBuffer.is_null", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_b6fc4b28553b30d6d16a1c2dfb4f28c6" ], 0, - "f899e5908d2b40dbbe3d99bfe726343e" + "05648c23c739f265620b4f02891179be" ], [ "LowStar.ConstBuffer.index", @@ -199,7 +199,7 @@ "typing_LowStar.ConstBuffer.qbuf_pre" ], 0, - "f2fddc4c18636900266d6831d5438345" + "fbab8f720c5d0e2161f2a38df3c50ca4" ], [ "LowStar.ConstBuffer.index", @@ -216,7 +216,7 @@ "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b" ], 0, - "6a3a89ae1fe46ac46ccdcb75261ed1b0" + "ce5a85d84d08999342aa2e087b6113d5" ], [ "LowStar.ConstBuffer.gsub", @@ -230,7 +230,7 @@ "refinement_interpretation_Tm_refine_45c9ac010a8185462ba0ae9369ce8dd3" ], 0, - "0971fa392261c3fc59ab42221eec540f" + "62d414444c6e1f52076442df7b1efd19" ], [ "LowStar.ConstBuffer.sub", @@ -314,7 +314,7 @@ "typing_LowStar.ConstBuffer.qbuf_pre" ], 0, - "f5838ac42747a2a7f7375bcb71f028e1" + "78bd99128e2db03725e809e808129e42" ], [ "LowStar.ConstBuffer.cast", @@ -326,7 +326,7 @@ "equation_LowStar.ConstBuffer.as_qbuf" ], 0, - "8783550ad57cf7e8080262647a60ea6a" + "6c83a0e2f1b4f39bc76cc010ee486ae2" ], [ "LowStar.ConstBuffer.to_buffer", @@ -342,7 +342,7 @@ "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" ], 0, - "e93d303582d7b2c351c69ddd05b9969c" + "65bb91c74ef5a8fe7d28b74a0cd18d00" ], [ "LowStar.ConstBuffer.to_buffer", @@ -358,7 +358,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "409cf5029a46f842e3d1096f1dfad4f8" + "5b728c7b090d8e81a4b5dc6815f8f482" ], [ "LowStar.ConstBuffer.to_ibuffer", @@ -374,7 +374,7 @@ "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" ], 0, - "c90179b245832a3e74e75da99d595704" + "a6f1032878f83ccd949842b512a4dc20" ], [ "LowStar.ConstBuffer.to_ibuffer", @@ -390,7 +390,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "fc28caccea4ef0bd8daa3106698272d3" + "5eb7aa99f5e2aed1a14457e3158cc788" ], [ "LowStar.ConstBuffer.test", @@ -491,7 +491,7 @@ "typing_tok_LowStar.ConstBuffer.IMMUTABLE@tok" ], 0, - "c5995adfc947528584db7e1271d354b3" + "6ac14ad7ef84caaddebf6ec86a4dcb9b" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.ConstBuffer.fsti.hints b/ulib/.cache/LowStar.ConstBuffer.fsti.hints index d468d518350..7c14458f35c 100644 --- a/ulib/.cache/LowStar.ConstBuffer.fsti.hints +++ b/ulib/.cache/LowStar.ConstBuffer.fsti.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "6b2332e6aefc44d644f0050a63ad0857" + "f6214ad3ca21ef566cec3261fa84a17b" ], [ "LowStar.ConstBuffer.q_preorder", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "dfc9c7a4b08f23740417c956003a00d4" + "2a83b19031e32edbff58e81dd125f30c" ], [ "LowStar.ConstBuffer.qbuf_mbuf", @@ -54,7 +54,7 @@ "typing_LowStar.ConstBuffer.qbuf_qual" ], 0, - "768876370822cbe982fdde933b886231" + "862b108980f4efa6af0f6e02fb55eb7d" ], [ "LowStar.ConstBuffer.of_buffer", @@ -68,7 +68,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "afae404c05239d56d613b870f662a272" + "0a8fb7bf410b5fd5414df8b13f58a218" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -82,7 +82,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "acb75871e00af99d1cdd0b2cd061d8b3" + "0bc679c2b42d79eef32ddca2e92a7bda" ], [ "LowStar.ConstBuffer.of_qbuf", @@ -99,7 +99,7 @@ "typing_LowStar.ConstBuffer.as_qbuf" ], 0, - "0bf541acb5bf0e7210dc85548970834d" + "fe9b403d0d604468a9577ac3c04b78e7" ], [ "LowStar.ConstBuffer.index", @@ -122,7 +122,7 @@ "typing_LowStar.ConstBuffer.qbuf_pre" ], 0, - "b72c74477046c86b6261e7e57b54e14a" + "81cd81ea48581e645bce644bc028ad00" ], [ "LowStar.ConstBuffer.gsub", @@ -136,7 +136,7 @@ "refinement_interpretation_Tm_refine_45c9ac010a8185462ba0ae9369ce8dd3" ], 0, - "d907dca069726484a3e3a897baaadf8a" + "669f8bfe006df8d6232285db98d8a284" ], [ "LowStar.ConstBuffer.to_buffer", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" ], 0, - "7f0480aa625a9b909a0b30750c38b843" + "8348ae60f0d5584eec7ef799ab3c6690" ], [ "LowStar.ConstBuffer.to_ibuffer", @@ -168,7 +168,7 @@ "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" ], 0, - "4d26e858d0845235c1687585a986cc0f" + "41d7f99970077715020b20bcece1c4ca" ], [ "LowStar.ConstBuffer.test", @@ -279,7 +279,7 @@ "typing_tok_LowStar.ConstBuffer.IMMUTABLE@tok" ], 0, - "5fbafff9c9b96d01d60950fadd185ba3" + "72d99ec41a6ce233a6c280c007be4e19" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Endianness.fst.hints b/ulib/.cache/LowStar.Endianness.fst.hints index 3cb4bf47a5a..895fc746d3a 100644 --- a/ulib/.cache/LowStar.Endianness.fst.hints +++ b/ulib/.cache/LowStar.Endianness.fst.hints @@ -21,7 +21,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "c99f6c945a7f4b892e2c23e8d70bf91d" + "73a7ddb6cefb9a56d7bb0d3786035b47" ], [ "LowStar.Endianness.store_post", @@ -43,7 +43,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "0461a140f06e1609a843e22ccce43cac" + "37bbba48657a45f087ad875941a65048" ], [ "LowStar.Endianness.store16_le_i", @@ -62,7 +62,7 @@ "typing_FStar.UInt32.v" ], 0, - "90fd56115fdb808d3bff6cd062c5f633" + "13803ecfb8f49f193053ced35f7fc702" ], [ "LowStar.Endianness.load16_le_i", @@ -86,7 +86,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "5b489a892783b0b732652a345bc0e101" + "696ef7c850f873d3ae16bb5fef510b44" ], [ "LowStar.Endianness.store16_be_i", @@ -105,7 +105,7 @@ "typing_FStar.UInt32.v" ], 0, - "bce15b74448cb6ad9ca7c180015bdd77" + "c99e117a836026b4f91ba705e238e3cd" ], [ "LowStar.Endianness.load16_be_i", @@ -129,7 +129,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "08c431f3bdd226094e6d75aa273d95a2" + "6b59834d0d885c40ea39fcd59c6362d1" ], [ "LowStar.Endianness.store32_le_i", @@ -148,7 +148,7 @@ "typing_FStar.UInt32.v" ], 0, - "bf57fd9aaf0996c3c4ef0a67cb69a5da" + "e559b2c27be2baab1ce8bcad4b3d7303" ], [ "LowStar.Endianness.load32_le_i", @@ -172,7 +172,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "9516bdd9b681e6bdb45e667569dddb58" + "3b01ad13b5063d67fb01a10b7abecea6" ], [ "LowStar.Endianness.store32_be_i", @@ -191,7 +191,7 @@ "typing_FStar.UInt32.v" ], 0, - "9f38581a448088edec5545edc235638c" + "de2e1df19b3341f2b957e50190f6b671" ], [ "LowStar.Endianness.load32_be_i", @@ -215,7 +215,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "f4ef530b2f7bd3c3d75b3617c8b182f8" + "99fbfd784b0218523654ab92d784eb4e" ], [ "LowStar.Endianness.store64_le_i", @@ -234,7 +234,7 @@ "typing_FStar.UInt32.v" ], 0, - "6547d17ddedfcf57f20c7059cd80a5d5" + "0fbc9993e87b13fd3a5bb0f0c3a59579" ], [ "LowStar.Endianness.load64_le_i", @@ -258,7 +258,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "5a5593a15fa556898a887153dba31dce" + "7d81708c2295b27aff892b31870a8599" ], [ "LowStar.Endianness.store64_be_i", @@ -277,7 +277,7 @@ "typing_FStar.UInt32.v" ], 0, - "d774a1c6346832e0ec6c612ed7620aed" + "b574e59b8ccea699bfc136c415819430" ], [ "LowStar.Endianness.load64_be_i", @@ -301,7 +301,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "daa6773e1f62b1291fbe0e879dc3211c" + "8ef03eb5577ac02b272a6dce94a0db65" ], [ "LowStar.Endianness.store128_le_i", @@ -322,7 +322,7 @@ "typing_FStar.UInt32.v" ], 0, - "5ecadbc606759329cf36e4c01bef9f34" + "30627ae48a24c72643f602b0e0739569" ], [ "LowStar.Endianness.load128_le_i", @@ -346,7 +346,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "2ddd77ba78c96ef313cc68a92b0d8927" + "6fcb4da316427b19bc9a45bdfb5847ac" ], [ "LowStar.Endianness.store128_be_i", @@ -367,7 +367,7 @@ "typing_FStar.UInt32.v" ], 0, - "1e4632fdf3709753496b053ebaddaf7e" + "e411e6af2dc40999343089a942ece412" ], [ "LowStar.Endianness.load128_be_i", @@ -391,7 +391,7 @@ "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" ], 0, - "0003daaf88322e84a8b757cf7a2c400b" + "fe4ad57122dfc7fc4148f07f632b3aa5" ], [ "LowStar.Endianness.store16_le", @@ -415,7 +415,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "49f543456b80d4b43f76fe5d3c1562ce" + "dabdcfac2087c8e500069415fdb24760" ], [ "LowStar.Endianness.load16_le", @@ -435,7 +435,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "cc1233dcd9b08a8a95192f5e7f4d5f7a" + "07952b0b2130398b1d915486612bbcbb" ], [ "LowStar.Endianness.store16_be", @@ -459,7 +459,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "35a1af0f92def6a1045cb779bd2e5992" + "8ccd1b045f1688600cd4b718d50c0fac" ], [ "LowStar.Endianness.load16_be", @@ -503,7 +503,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "af4b91badbc92a528d87c52224f2c938" + "a67929e806605409e9483ab6934e89d3" ], [ "LowStar.Endianness.load32_le", @@ -547,7 +547,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "142da4ac9a063034c49a2831523da7a0" + "42ee712a89b94c836433f2e8d14f2365" ], [ "LowStar.Endianness.load32_be", @@ -591,7 +591,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "ef96d76d1ec18cc3b8d6374ea8b92b85" + "f91819c7372af0a729655aac68756241" ], [ "LowStar.Endianness.load64_le", @@ -655,7 +655,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "5b6084836e25e5bee44ebe1209707929" + "fe307662b7bf0139739de181eb401571" ], [ "LowStar.Endianness.load128_le", @@ -703,7 +703,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "aac238b6136d12be5d878f093005d974" + "6852777bc3fec20de3c863be1c0dfdef" ], [ "LowStar.Endianness.load128_be", @@ -751,7 +751,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "c12c90796731bdfae3c7feaf1bd2e67c" + "e4fecb22dd71d92f4270a98d690ba61b" ], [ "LowStar.Endianness.index_32_be", @@ -786,7 +786,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "8719bfbe84b1e0a91a00e2b66e229fcb" + "f0eee940c23813ac32464a2e89f4dea2" ], [ "LowStar.Endianness.index_32_le", @@ -821,7 +821,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "064abda942dc90e3867b4da6c75e5a3b" + "6d7818917c4bbf92d5cad7ce1afe6c96" ], [ "LowStar.Endianness.index_64_be", @@ -857,7 +857,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "6e731fd2e2c6c8dcf3a3ba17d4657c0f" + "635ea4cdf6fcfb91f78ba533d616506f" ], [ "LowStar.Endianness.index_64_le", @@ -893,7 +893,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "468741a83169536a7613cc344ded61b0" + "901a100339fc3d470988175607fd627e" ], [ "LowStar.Endianness.interval_4_disjoint", @@ -910,7 +910,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "63fa3754bb59a9e4fb88f180d53ec804" + "5e109f5ccb18bfa5f1a07c0da1fb910d" ], [ "LowStar.Endianness.upd_32_be", @@ -962,7 +962,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "c9d47408d99b454919bd7cd8d132b867" + "704d087da1e4197a1f99b4d96bd4c3b9" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.ImmutableBuffer.fst.hints b/ulib/.cache/LowStar.ImmutableBuffer.fst.hints index 183862372cb..8fb92128a50 100644 --- a/ulib/.cache/LowStar.ImmutableBuffer.fst.hints +++ b/ulib/.cache/LowStar.ImmutableBuffer.fst.hints @@ -15,7 +15,7 @@ "lemma_FStar.Seq.Base.lemma_eq_refl" ], 0, - "d9e444bfed012ac927f3597b20107191" + "f5cd46f2adbd3598981dacc1cd8b913c" ], [ "LowStar.ImmutableBuffer.sub_ptr_value_is", @@ -84,7 +84,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "c58e2a32f2d72c59ed50eba8015ab834" + "31440e7845dea8b69a3054783edf50d6" ], [ "LowStar.ImmutableBuffer.igcmalloc", @@ -116,7 +116,7 @@ "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "4466737d20644f771024b2707d408a1e" + "08df78e7a33d10a0b6d8f181af0a535f" ], [ "LowStar.ImmutableBuffer.igcmalloc_and_blit", @@ -160,7 +160,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "ffcef8c65b45d99bd36ad228d4384952" + "68e94bbbc9ff97f84ff0b58f173020a3" ], [ "LowStar.ImmutableBuffer.igcmalloc_partial", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_9bb7e4178ec4950c9c8fabe04895cc5e" ], 0, - "c609ac3bc150de2c1d5c05ec6f1fa9d2" + "3c4944965d2710c45c22d252bf3b9f14" ], [ "LowStar.ImmutableBuffer.imalloc", @@ -210,7 +210,7 @@ "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "6ff225fcdb359b46696f4876cb51bf47" + "9e1bca32ae138eac6e7b88671fa3e68d" ], [ "LowStar.ImmutableBuffer.imalloc_and_blit", @@ -252,7 +252,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "e4016ac4fd499059bb8ac1cfce25b012" + "dfe42a380bc4408695f4915c17e06ec0" ], [ "LowStar.ImmutableBuffer.imalloc_partial", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_a13ad9873c825c57ec2b8db765ed0391" ], 0, - "4f10e293df92ae946be37bda10ffb2f2" + "9f76234db7e3523b348fde9057e1785d" ], [ "LowStar.ImmutableBuffer.ialloca", @@ -302,7 +302,7 @@ "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "82c6ef790b43cabb98ba8444c975bd19" + "4ac060f9c9f837c5a3eb21e26b3e72c7" ], [ "LowStar.ImmutableBuffer.ialloca_and_blit", @@ -345,7 +345,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "8630ce34ac4d7fc7ba99fb29d3c91973" + "1dc36178b76ca5cc19ef80a82bdf8f2c" ], [ "LowStar.ImmutableBuffer.ialloca_of_list", @@ -381,7 +381,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "8073f3c8c3d62399c90690bbf6ac094a" + "967b7670a15edb8986b91d0baee5607f" ], [ "LowStar.ImmutableBuffer.igcmalloc_of_list", @@ -412,7 +412,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "6e5431505aeccd219a902dd1a9d9835a" + "4c2b0f198d30eca3df563fafbaa0de75" ], [ "LowStar.ImmutableBuffer.igcmalloc_of_list_partial", @@ -425,7 +425,7 @@ "refinement_interpretation_Tm_refine_667d56804fc34f39d6995f541eff3ada" ], 0, - "f91bd1111346e11bd0b62f97ca7e3a37" + "5b7c9fe4a48f321dc1c6e433c44ca79d" ], [ "LowStar.ImmutableBuffer.witness_contents", @@ -453,7 +453,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "2a86e97d51ece9e4d845e776eff91d63" + "fce34fd7b34fff5196a7745029836e24" ], [ "LowStar.ImmutableBuffer.recall_contents", @@ -471,7 +471,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "4af1dd7540776cf6eab7f1f322b5e382" + "80eecd9d5fce7e925633dccd17016e2f" ], [ "LowStar.ImmutableBuffer.witness_value", @@ -495,7 +495,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "f958caf133b1ea7d5944b53bf7001739" + "3399028411584c619fee5a08c582a5d7" ], [ "LowStar.ImmutableBuffer.recall_value", @@ -517,7 +517,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "5da446ae5b75b7bafd31b2533dcb6c98" + "0f47a3b553e6b3bb18557dd4c39b4af2" ], [ "LowStar.ImmutableBuffer.inhabited_immutable_buffer_is_distinct_from_buffer", @@ -543,7 +543,7 @@ "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "3750c665eaa8b4bee03bd66839274340" + "7c4bd431ea0f0d29a8b940da0564d87a" ], [ "LowStar.ImmutableBuffer.buffer_immutable_buffer_disjoint", @@ -593,7 +593,7 @@ "unit_typing" ], 0, - "0629961229b1345c08aeffd6de797020" + "f77ca6ca901436e38a502ddba8049fea" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Literal.fsti.hints b/ulib/.cache/LowStar.Literal.fsti.hints index 96459c6a829..900d402283e 100644 --- a/ulib/.cache/LowStar.Literal.fsti.hints +++ b/ulib/.cache/LowStar.Literal.fsti.hints @@ -20,7 +20,7 @@ "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.tl" ], 0, - "8efd14b94b45b39e8775fe9cfcaf4725" + "a6b9cad532a2fdbed029c381b95cff67" ], [ "LowStar.Literal.ascii_chars_of_ascii_string", @@ -40,7 +40,7 @@ "string_inversion" ], 0, - "992322c2a3ed3853274eec0b22eea00f" + "863f86f28e0bd0608c0aced3bb40f704" ], [ "LowStar.Literal.u8_of_ascii_char", @@ -75,7 +75,7 @@ "typing_Prims.pow2" ], 0, - "a461e9684711cb92839fee4c52eb8681" + "95793d0043084bae3c3a8f13a0ea8594" ], [ "LowStar.Literal.u8s_of_ascii_string", @@ -111,7 +111,7 @@ "typing_LowStar.Literal.ascii_chars_of_ascii_string" ], 0, - "773c0ecba0c6aa22567b3646573e9303" + "e930d686abf23f6f921f1ae4e7c6c056" ], [ "LowStar.Literal.buffer_of_literal_post", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7cefcd32078a999703cac1051282b5e" + "28b4b6e7bcd53df8ad5dafb07d8334b7" ], [ "LowStar.Literal.buf_len_of_literal", @@ -195,7 +195,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "2055cab946bb1b10df59f31fdd116e1f" + "871a98df6726a7122708880d4b574572" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Monotonic.Buffer.fst.hints b/ulib/.cache/LowStar.Monotonic.Buffer.fst.hints index 3a5914fad57..5b0c46740c7 100644 --- a/ulib/.cache/LowStar.Monotonic.Buffer.fst.hints +++ b/ulib/.cache/LowStar.Monotonic.Buffer.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" ], 0, - "29c4dd74b4cc2c2579da2450fc572e9f" + "022b7f176333a8811f52f0b117747942" ], [ "LowStar.Monotonic.Buffer.srel_to_lsrel", @@ -33,7 +33,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "dc2c366f7bf4252bbaf3474e3496a628" + "49c8bf492b5e6406faf909cb2c7305fe" ], [ "LowStar.Monotonic.Buffer.lemma_seq_sub_compatilibity_is_reflexive", @@ -67,7 +67,7 @@ "typing_FStar.Seq.Properties.replace_subseq" ], 0, - "c4e69808ce975f3d758480491d1531d2" + "818ae3a168e70348f8526c3a62b73354" ], [ "LowStar.Monotonic.Buffer.lemma_seq_sub_compatibility_is_transitive", @@ -113,7 +113,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "adb84d2087385dc50692ee3da8fad12d" + "d7dbaa823c151ded363fe99aa0d6cae5" ], [ "LowStar.Monotonic.Buffer.mbuffer", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "08884852fb07d21731f8fa7ec8fd3b89" + "39be751a31a0c5e500e5a208edb16fd1" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "f738bf172a684b095b0a9914d5b7bd70" + "8bb2907df8b5b1630ee2c19c0ac81fd9" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a4ac09ae8554baceb73674297ca464c8" + "12f98ae7a77cb8fe0193f08392133c11" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "403147a427508834abbd027fad0d8103" + "1cdba86beb7f6737b7d1f2aa47af6e94" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "c4d68cc62ea2399af4540dc0e40438d3" + "bb233230ee189b5719bd7a0be87339ff" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__length", @@ -225,7 +225,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "0e263f8101b14639f2b26379aa747dd9" + "80a5265aca8a27352a18ed86c67880d5" ], [ "LowStar.Monotonic.Buffer.mnull", @@ -242,7 +242,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "c50cf16bdfa7c2cab2c11eda2a235fdb" + "a8c99396f019f38fa543c9e56f26b0e5" ], [ "LowStar.Monotonic.Buffer.null_unique", @@ -259,7 +259,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7dd98d1f520d7361092c3c6543f26d53" + "98c1f17f96662cf5fb963b529cf43139" ], [ "LowStar.Monotonic.Buffer.unused_in", @@ -282,7 +282,7 @@ "typing_FStar.UInt32.v" ], 0, - "97fa4c2a0f1c09cb9ddcaa3e3b83d8ac" + "2d50150d3aff42d7c3998cb301724c3c" ], [ "LowStar.Monotonic.Buffer.buffer_compatible", @@ -309,7 +309,7 @@ "typing_FStar.UInt32.v" ], 0, - "f9e42a49a41c3dafdf142e72f7409cee" + "0830c71a4be6c3655a0c04dcef1737c8" ], [ "LowStar.Monotonic.Buffer.live", @@ -332,7 +332,7 @@ "typing_FStar.UInt32.v" ], 0, - "8bd424ce6be4098bec904f284790354a" + "a7d66ac9efb1be3a99f8a9db62680d13" ], [ "LowStar.Monotonic.Buffer.live_null", @@ -349,7 +349,7 @@ "true_interp" ], 0, - "054d1d1fb42714362a558a11b80daa3f" + "f337a7e39e4606a6775509edc0ebfe42" ], [ "LowStar.Monotonic.Buffer.live_is_null", @@ -358,7 +358,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "d04c76a5b1286d93d73c12b4c313e59c" + "4cdf5d39d7292e0fff7fae8fcdad72db" ], [ "LowStar.Monotonic.Buffer.live_not_unused_in", @@ -410,7 +410,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "daad1aa6eb32896a9f129755448bf167" + "63691269a1daa747411900c5596e8409" ], [ "LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", @@ -465,7 +465,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "8fb8ac301a1e97650bac3c8f5ea5ac1f" + "074438e66ab89e71143bb1dd9bce6a7a" ], [ "LowStar.Monotonic.Buffer.frameOf", @@ -486,7 +486,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "06e2e6051f9aeebf8cd025b406f41ca2" + "604d103f82b69881f58fbd470eb5735e" ], [ "LowStar.Monotonic.Buffer.as_addr", @@ -508,7 +508,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "28d6f4ee7919a4f13a432ae4705d2a72" + "889edf5236285ed9928f88d44d1a7a13" ], [ "LowStar.Monotonic.Buffer.unused_in_equiv", @@ -566,7 +566,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "47b5ecf527c8be307be64f3d54c38e85" + "8a4285aa01cbcc5892c58af04a7dc7b3" ], [ "LowStar.Monotonic.Buffer.live_region_frameOf", @@ -600,7 +600,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "2b02f4431cd1d8c6e398faa807ff8258" + "16f41beafb204b0d4d8e47de24d61ecf" ], [ "LowStar.Monotonic.Buffer.len", @@ -614,7 +614,7 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "71cc0449be1f48d697554270f8ac95ab" + "a2deef3cb3d23896d2ea18c3fb440918" ], [ "LowStar.Monotonic.Buffer.length", @@ -628,7 +628,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "333054a397d96fd1fbaebe85f16fac3f" + "7f07c2a90df837dd33d10e41e01689c8" ], [ "LowStar.Monotonic.Buffer.len_null", @@ -644,7 +644,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "6959cf8ad35b78809f8ced2eeb6ea03d" + "e7662bf5623ab15d632ba6d07726730f" ], [ "LowStar.Monotonic.Buffer.length_null_1", @@ -676,7 +676,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "bfcd3ad6f82ac97b88ab5846bebd328a" + "af63540634c901633f222bfd11ef5d11" ], [ "LowStar.Monotonic.Buffer.length_null_2", @@ -688,7 +688,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0e0eab155644fa1df7b2fccc22215db0" + "1b3527509d4da49ceb6400f93dbbcb55" ], [ "LowStar.Monotonic.Buffer.as_seq", @@ -725,7 +725,7 @@ "typing_FStar.UInt32.v" ], 0, - "0bc7bda664fc203760657a494522dbf6" + "551c6c87b9687b81ccc6526d588a5a3a" ], [ "LowStar.Monotonic.Buffer.length_as_seq", @@ -787,7 +787,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "4fc8425593f2e107c32c8fc7ac6f975f" + "345ea8623e5d3828f89519e764ac99c5" ], [ "LowStar.Monotonic.Buffer.get", @@ -796,7 +796,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], 0, - "9271f9d84447fae64149570ffff8016e" + "952b07c5f934efb65aed8f0481a7d0ad" ], [ "LowStar.Monotonic.Buffer.mbuffer_injectivity_in_first_preorder", @@ -809,7 +809,7 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "af7ff17a11294c23c9eab81d9c4f7076" + "c71d2a0d0b1e65d78d85eaa1d049c7b7" ], [ "LowStar.Monotonic.Buffer.compatible_sub", @@ -829,7 +829,7 @@ "typing_FStar.UInt32.v" ], 0, - "b1bced60e475daca976dc6ec695442e9" + "aee199e10e503f5be734491de79273c7" ], [ "LowStar.Monotonic.Buffer.mgsub", @@ -860,7 +860,7 @@ "typing_FStar.UInt32.t", "typing_FStar.UInt32.v" ], 0, - "f4fc0a289d6046cec10fa8606db762df" + "b76214d1a46ec60ae086c55c2e27a285" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -872,7 +872,7 @@ "refinement_interpretation_Tm_refine_688eb7732240687f918bb9a141526765" ], 0, - "de7106d5b035de5561fe8777ebba96d5" + "d555c34a8300b0e7a4708d83fe8c241e" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -948,7 +948,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "febae81b5b9baec7e99042b9f4e73aa9" + "8e3ebf29da8cfc58bc90a84638bfdbbc" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -962,7 +962,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c0b420ac439ce53e489a1526a6b7ec8f" + "58d1c74d72bdfc617f79d998b73c0d4a" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -990,7 +990,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "ab7bcb7e2e5908fca753987c1c67b67f" + "292ba1cebf2b7b8064f973409cdd0348" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -1004,7 +1004,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ec335ed861879627e06d4844a073d8c8" + "e8b8c13a4d815ba159557cb2561a11d8" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -1051,7 +1051,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "c3ecfe6ad1a89cbd19f159ceb789c130" + "f6c28efe92f9102aeeaf5754a4e5f677" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -1065,7 +1065,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2d32327aa6e71ebd444915e216b8f29c" + "6483c9419c590c13ead896863cc2303d" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -1103,7 +1103,7 @@ "typing_FStar.UInt32.v" ], 0, - "a4903c4036e3f22b337c4c206fd3f25e" + "f86eb0e036a3fd673a4a2776f2de5a87" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -1117,7 +1117,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9052925251aa44d781865d49f1fd7f6f" + "44c8886ac406546c3d745fb817f18298" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -1149,7 +1149,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "8ec29f9897aef75ae3e68f7687cfaffa" + "39f2b8b9018b5c59380ad8caef868f36" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -1158,7 +1158,7 @@ 1, [ "@query" ], 0, - "ad648b14bbefdacb528466f9fb27ca0a" + "e55edbeed20ffc84a2d67d0d1db49f5f" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -1211,7 +1211,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "c038644d458ea0c446fa10c3b40440f0" + "8c01ea3ed410a13b2f0fb2104fd487aa" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -1234,7 +1234,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "a2dfaf40dc76cf92ebb9f62c09016442" + "7df30d63fe789cb2a27e90b2df72db04" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -1284,7 +1284,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "2166db1873a2a2e4da6f4edb90ab89aa" + "710fa016113cb8193938845848d0bfb9" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -1296,7 +1296,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "e449e771dbd53e527b3379d015c5fd99" + "9047b05f9e10e08f32ca4694c744c882" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -1341,7 +1341,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "53cee54fb0c7f5bc0e190d0e084faa08" + "89df31251942ebb7f0adce150b30f855" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -1363,7 +1363,7 @@ "typing_FStar.UInt32.v" ], 0, - "1af547937b2ba754f225385e0cba82ed" + "fff88fa56c706ab36291c6efa61866ee" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -1434,7 +1434,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "39fb48683a2c43fc6c57cd90cee6f9ce" + "814d77744cf46315866605abb238b61e" ], [ "LowStar.Monotonic.Buffer.lemma_equal_instances_implies_equal_types", @@ -1443,7 +1443,7 @@ 1, [ "@query" ], 0, - "93907aae704f74835e817758dca2a695" + "a41432b465f67d526a7761eaebe66ede" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders'", @@ -1507,7 +1507,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "48f6805b6c1c0299cdcdba669ccccc92" + "40554e55c3ecf0271037442f1e242eb0" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -1516,7 +1516,7 @@ 1, [ "@query" ], 0, - "c3863f148cfa20f19a705a4a4b88e947" + "c42140664624f9e0832589560a2fbbcb" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -1525,7 +1525,7 @@ 1, [ "@query" ], 0, - "e9248b088c28fdc7e45baafdb6b46973" + "aa0e232fa3f770a1269ae4c443b1aeec" ], [ "LowStar.Monotonic.Buffer.ubuffer_of_buffer'", @@ -1557,7 +1557,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "7f1bcfc98dbafad01a06c0e9adf42e11" + "a16ab78d6c6e2006a36ba83e89be7da3" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved'", @@ -1585,7 +1585,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "d0600a92d7a922e7ca2cda0f1d4a1e8c" + "51d4081c62e3a4839c46dbd5f11278fc" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", @@ -1625,7 +1625,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "46c591e082d624efcd356ec5684ce050" + "86e9b639bfa49c6de62037f9a42146b1" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", @@ -1668,7 +1668,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "8114f58aeb4158512378afd14059bd6e" + "95107929283e929897cca10814ab8fa4" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_refl", @@ -1710,7 +1710,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "b028a0028e8f0f07c54f9c697624a40f" + "875c60d0b4e39d06888f36396d11bd5c" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_trans", @@ -1762,7 +1762,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "41fe3065466b554f2b10797b6f11a054" + "77f5b383aa9756ac7a1059465b344546" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1771,7 +1771,7 @@ 1, [ "@query" ], 0, - "39269ef251f1dff8e126c51304d282a8" + "7c8697b284d83186a77ab63e7e1a06df" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1780,7 +1780,7 @@ 1, [ "@query" ], 0, - "3f503c9a1a425c340c473a14183b9611" + "0efbacb84b8ebbf62ce01b05b93513b8" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1850,7 +1850,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "149a17121d1b986da213bbf0adca5924" + "adcfd5adeaf15286c4d3dbaf610be8e6" ], [ "LowStar.Monotonic.Buffer.addr_unused_in_ubuffer_preserved", @@ -1909,7 +1909,7 @@ "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content" ], 0, - "541e4a68b4fd9e2cfaccb026c97489e1" + "567328abbc1eef70db7c562dd5aae037" ], [ "LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", @@ -1972,7 +1972,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "b66cfc114c02eb04e3a8023f17d7b5c6" + "bc9044c2e92b72458cabdfa85788edf1" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_elim", @@ -2044,7 +2044,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "fd5b481f55b932e80888f25d1243b083" + "eb6e6089698864e93190207e8ea9ffd1" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", @@ -2068,7 +2068,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "eb3b70941f8d961e99af7db607012d9e" + "406f7217bf1bbef960c215979de2ef0b" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", @@ -2148,7 +2148,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "55b4a1f4c3c8ed47c986b07fa8aef74f" + "40c76e8e2d23a317ec81254156ae2c9e" ], [ "LowStar.Monotonic.Buffer.unused_in_ubuffer_preserved", @@ -2157,7 +2157,7 @@ 1, [ "@query" ], 0, - "b7c128be94d99af773de0e4e1ca39f30" + "1b0a52bca8874ae3fd9850589664e721" ], [ "LowStar.Monotonic.Buffer.ubuffer_includes_refl", @@ -2170,7 +2170,7 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" ], 0, - "0fb2fb55c0c1860a39016bbb32c4ac59" + "c7175c97f2f7ad2fe36b95875416db7c" ], [ "LowStar.Monotonic.Buffer.ubuffer_includes_trans", @@ -2183,7 +2183,7 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" ], 0, - "d61343f38cb47f94a008f82beb133b9f" + "29e9bb0e9b9ce7e759ec7eb2497b1b5a" ], [ "LowStar.Monotonic.Buffer.ubuffer_disjoint_sym", @@ -2201,7 +2201,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "4c356002d204207aa8f7dfad4fcfcd0c" + "0e7e71f94c3c29eb65c703b3cf2a0403" ], [ "LowStar.Monotonic.Buffer.ubuffer_disjoint_includes", @@ -2235,7 +2235,7 @@ "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length" ], 0, - "bc2922ecc1498ac851a923753a11c64d" + "2888d302a8d660d17393deaf13e629e2" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2244,7 +2244,7 @@ 1, [ "@query" ], 0, - "1b9cef4e92a9ace0c9c853754ed19723" + "eabf8bea47cf7eb70915c74b47ffed58" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2253,7 +2253,7 @@ 1, [ "@query" ], 0, - "8d44d5765cea87c4ddf42573dcc3446b" + "d21fbb3bbf6738d22cf89b0e662263d8" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2290,7 +2290,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "5e75d0192c88b996a24828e5ce7f802b" + "7a6e16aa9f195f226dedbb0d37560792" ], [ "LowStar.Monotonic.Buffer.modifies_0_live_region", @@ -2303,7 +2303,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions" ], 0, - "708461213c8ac5311ad31e8664da9946" + "500aa461592f16f9e82611ad917f9f94" ], [ "LowStar.Monotonic.Buffer.modifies_0_mreference", @@ -2320,7 +2320,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "a6e787e03073004cd0b791ee486ae6a0" + "1eaf8fccab6d6454e491a3da330be743" ], [ "LowStar.Monotonic.Buffer.modifies_0_ubuffer", @@ -2329,7 +2329,7 @@ 1, [ "@query" ], 0, - "fb0be6b391ad2c5b8739b1e50456dd3a" + "2af5524fc82728ce6db97e4ef2b5dea4" ], [ "LowStar.Monotonic.Buffer.modifies_0_unused_in", @@ -2345,7 +2345,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "91cf9da4d7f528ee00e0fa1baa0e37c3" + "4cacab1d7cccc2031b1acdc6b2da52df" ], [ "LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", @@ -2354,7 +2354,7 @@ 1, [ "@query" ], 0, - "2d9429cea08bd38f37718e5252247e83" + "2a1840198962ba7fa0f577d7f726b545" ], [ "LowStar.Monotonic.Buffer.modifies_1_live_region", @@ -2368,7 +2368,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_1_" ], 0, - "f925e59dbf28557889825c14cd7fbfb2" + "205be0d236201daffb464234a24b9f77" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_live_region", @@ -2383,7 +2383,7 @@ "l_and-interp" ], 0, - "e3b0b21765b22f5b472ab33427eb63fa" + "c30ff170e3d730d08d926d2fad26d26f" ], [ "LowStar.Monotonic.Buffer.modifies_1_liveness", @@ -2400,7 +2400,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "efa3fd5fb0cb51d176adea55b0742198" + "f5ae68b1f47227c4ec003dfe65fef1e1" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_liveness", @@ -2420,7 +2420,7 @@ "l_and-interp" ], 0, - "63cce02e9c045a1205bf8a44b2ee64b9" + "f2e0f8c9f4f4d785b3cea31efee8feb2" ], [ "LowStar.Monotonic.Buffer.modifies_1_unused_in", @@ -2436,7 +2436,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "04ff60d54ad85b0aa890e521cdd24b09" + "20884cfa1faab877e423939992268b76" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_unused_in", @@ -2453,7 +2453,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "29fb2c1f3484601a22c8ee3c392df0ae" + "1f03d43d013f289160dc2fb228382e6b" ], [ "LowStar.Monotonic.Buffer.modifies_1_mreference", @@ -2462,7 +2462,7 @@ 1, [ "@query" ], 0, - "41b9fb63310d789538e7812b52fab22a" + "08322fe350f8bdee5c4213e47f7e1771" ], [ "LowStar.Monotonic.Buffer.modifies_1_mreference", @@ -2480,7 +2480,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "f8be5be2f24d017448bfb966493fa452" + "60c93388579564730cde18e241fc019a" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_mreference", @@ -2500,7 +2500,7 @@ "l_and-interp" ], 0, - "91db9e758d6c23a9847b9481113b91b0" + "50a8fa1d3776f998137bde3a3f49c300" ], [ "LowStar.Monotonic.Buffer.modifies_1_ubuffer", @@ -2513,7 +2513,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_ubuffers" ], 0, - "ff9a5fb2b4b52daf875b789f86f91169" + "419e944834519d84bbeab603f87edafa" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_ubuffer", @@ -2596,7 +2596,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "eb70f2bdbdd92aab8cf48f868f46e5f6" + "d1af1dceeed215024e74951293fa0cce" ], [ "LowStar.Monotonic.Buffer.modifies_1_null", @@ -2620,7 +2620,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "49f837b40859c424a718d78c2184a75b" + "42ca31d5dbe9d2572c11c03ba7f6f7b5" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in", @@ -2634,7 +2634,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "879437c4ed1ea472ee7e348318eb5aad" + "1b1ae9d5727b44673dc36b53e01d88c0" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_live_region", @@ -2648,7 +2648,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_addr_of_" ], 0, - "abd5e0bac1ebe57007a317859595ef20" + "2be5ddf7455133ed17ccdff26b8b2680" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", @@ -2657,7 +2657,7 @@ 1, [ "@query" ], 0, - "630924dc08f4f63194c5952c8d64368f" + "988b38407a2dba15efbfad38ff482584" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", @@ -2674,7 +2674,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "67a9d123272833f63953e4674685424c" + "14f59bc6d5c0aee2b2af053e0dd627a7" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", @@ -2688,7 +2688,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0db4dd1a89edfdb205927423aec3296" + "9dadc20584cc7ab1f16cec7f1955f738" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", @@ -2704,7 +2704,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "811e128beed7c34aedc129050aa2b944" + "522c0af11bb86d275fc765cf6f1d327f" ], [ "LowStar.Monotonic.Buffer.cls", @@ -2713,7 +2713,7 @@ 1, [ "@query" ], 0, - "52b409d3d9956bbc332ab812fd18d880" + "54a3c382e04994c1220c9279bf9db8dc" ], [ "LowStar.Monotonic.Buffer.loc_union_idem", @@ -2722,7 +2722,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "5c9711b2b809e23b54d74c783e2dd2de" + "9133fa49748305f91da2c2c2e29dbe23" ], [ "LowStar.Monotonic.Buffer.loc_union_comm", @@ -2731,7 +2731,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "7f798cee2256a0dc80c80af145eb2de9" + "9fa18378f5fae93cb406db0d321bceb8" ], [ "LowStar.Monotonic.Buffer.loc_union_assoc", @@ -2740,7 +2740,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "6c1663887981df20b14547f7ab276e1f" + "a3aea763bfd3a0131232c9428b511954" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_1", @@ -2749,7 +2749,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "ac7aba3eabaeafc49bd5825ea08dfbde" + "e678f8fdaa989f55e02289d6fbdf9ffc" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_2", @@ -2758,7 +2758,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "0fbe7b7db8bca06cfb385c7efbbc7923" + "e062b8d61aeace0ba163592bed73f178" ], [ "LowStar.Monotonic.Buffer.loc_union_loc_none_l", @@ -2770,7 +2770,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "ee78de0f0c55bd26db9688560f38d87f" + "0fff10f576b4e341f1a51adc2e3619a3" ], [ "LowStar.Monotonic.Buffer.loc_union_loc_none_r", @@ -2782,7 +2782,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "e8f2aa56c21af9e5ca69347aa1765ac1" + "3610549fb374de38c658aebce2b9189d" ], [ "LowStar.Monotonic.Buffer.loc_buffer_eq", @@ -2859,7 +2859,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "b8183510dca8668ce53b370652af5e62" + "c91eb4d8c9bc40b47a5143a75a125f5b" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_high", @@ -2889,7 +2889,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "9cc886e8e0141df0c28754962c195570" + "84272c0db19f8667814b456208be7f6a" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_none", @@ -2904,7 +2904,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "d007240fec42660fd4cd82c568ae9423" + "f09817cc75a7365856665d4f8dc29267" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -2926,7 +2926,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "dee75a7a40d57be4b50e69411bc08bf4" + "e5c151f853b6d655ee5ff7d1dce147ed" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -3008,7 +3008,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "2f33b35a1d97a1235d0a3c4db44db7a4" + "4469013ae41ac180dafe6720b7726720" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -3029,7 +3029,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "fe91481505b098e1c42dcbe4a426401e" + "9b851343c5df552529038501f26bf7e1" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -3113,7 +3113,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "b7b5d46502abcc1d973dd647edc62936" + "b324fe09d2f0d9d818a0b0b518101db8" ], [ "LowStar.Monotonic.Buffer.loc_buffer_null", @@ -3132,7 +3132,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "b84a55579d7f59a2be062bab47b8aa9f" + "fc594e7b4305550e5280819b8c1ca4c6" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -3155,7 +3155,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "fdbc1cb0c905e949ffc4c969fdee0a45" + "9ad3fa352b39b75b3544e808de2e1c4e" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -3240,7 +3240,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "bedeefdd7575b79f82bd221eab2d5dd4" + "db8030a6cdb26bb0ec45267773f8b38b" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -3254,7 +3254,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c249df7aed0ed517fb8691b9f2d6979a" + "a5a35c5521cb91c66ad162968de44c1f" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -3295,7 +3295,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "5c90056d5ba1d76230026a42827913b1" + "e41dff5b7287caa7e838299fe6be2e11" ], [ "LowStar.Monotonic.Buffer.loc_addresses", @@ -3309,7 +3309,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "602a48ee0225743ce6042b8420abae9c" + "d6e9a921489f2685a8a27828b31aedf0" ], [ "LowStar.Monotonic.Buffer.loc_addr_of_buffer", @@ -3323,7 +3323,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6f6b19c838c905d3d3f8300f87fc508" + "29d57fc9dfbc04a93bdfe79487fa5892" ], [ "LowStar.Monotonic.Buffer.loc_mreference", @@ -3337,7 +3337,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a964f8ba089dab3665673fc7a8a00e47" + "15656e0edec30d68ccb4eebde82fe5d7" ], [ "LowStar.Monotonic.Buffer.loc_freed_mreference", @@ -3351,7 +3351,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "129d3f2bcd4f737db8e130458e0baedf" + "812da6edd52782f18878fe74a5c1193a" ], [ "LowStar.Monotonic.Buffer.loc_includes_refl", @@ -3360,7 +3360,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "c951f3ed452172c82a0f51fec9f14896" + "6ae0cbda194da5bf2968d9244bda99ab" ], [ "LowStar.Monotonic.Buffer.loc_includes_trans", @@ -3369,7 +3369,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "f28bc51a43dc32be006a2550d3f9776b" + "2127868070d2614cfa453846de10ae6b" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r", @@ -3381,7 +3381,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "9a4baee9238f0b6c34cacb8f9f35a1a8" + "8a5aed582852ffadd78b50f94efc2b8d" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l", @@ -3393,7 +3393,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "bc8c0c092765e66696b5dae72c3b24e2" + "07e8858fcc5224ff7c440ab57af23bc1" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r'", @@ -3402,7 +3402,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "7da7e9d7cdbdc0b8bc40217bccb4db48" + "7212d298d8f8e45e5664e8f16d4f40df" ], [ "LowStar.Monotonic.Buffer.loc_includes_none", @@ -3414,7 +3414,7 @@ "equation_LowStar.Monotonic.Buffer.loc_none" ], 0, - "6704999cf14fc2908e5f7a1120fd5698" + "6f80c71590b6e79a428fff892f335559" ], [ "LowStar.Monotonic.Buffer.loc_includes_buffer", @@ -3474,7 +3474,7 @@ "refinement_interpretation_Tm_refine_7fcf96841079a9b7c5e6465b36bd88f2" ], 0, - "43964b9a5a08832eacccec96e0889a8f" + "a81fb3872aefc5a84439729bb5d4ba06" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", @@ -3574,7 +3574,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "c4b441feb01978286569ec1fe532b5c1" + "853466e23d2ca81cca1f361e750e1a6e" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -3586,7 +3586,7 @@ "refinement_interpretation_Tm_refine_d2c48fac9e3e3e29e2ee91bde69407b8" ], 0, - "7fc9ff1cdfc690015a59273039dab6b8" + "45424e9f94d11470c4da108a829f302f" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -3776,6 +3776,7 @@ "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.loc", "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", "equation_LowStar.Monotonic.Buffer.loc_includes", "equation_LowStar.Monotonic.Buffer.loc_none", @@ -3819,7 +3820,6 @@ "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d8bb3167af6f93903b13dbe541690b88", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", @@ -3830,7 +3830,6 @@ "typing_FStar.Monotonic.HyperStack.is_mm", "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", @@ -3838,6 +3837,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", + "typing_LowStar.Monotonic.Buffer.loc_none", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond" ], @@ -3959,7 +3959,7 @@ "unit_typing" ], 0, - "aad9953cadc6b1ebb687e5f885d5b132" + "49c76caa855dad18e5278a4ce7f963a6" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -3973,7 +3973,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f76c22319126992fe446d19617d5dce5" + "904c5a5e8194d9e5396bf2016e5cd916" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -3987,7 +3987,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e98d8629eb1a71eda4698afde6785c3" + "4ca4372adcf9d3c7d74227d39956a55a" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -4026,7 +4026,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "62b4fd32e4970433bfa096002cb85f6a" + "aa44bcecdcf61ceaf8fe8ff27b7a4613" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_buffer", @@ -4059,7 +4059,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "2913498a3107f9a88c34b4e90e21baf4" + "f0b380cbb5f2927ed1d13d9ece0c99c5" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -4073,7 +4073,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "090aaca523e7bf45b45edc1d39fb7c59" + "fefbad5a25fa999bb1eb5ea13dbb5c28" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -4086,7 +4086,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "88875196ab7fd8cfe62ebfc7ef7c0f92" + "dc3fc4cda32133cd65db63934ec381b1" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -4100,7 +4100,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2f9741a5baa6b5d49d24ac4d8cc31703" + "348370d26932a7ac1009120011d0bdbd" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -4114,7 +4114,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton" ], 0, - "b22f099664513b623eff7c527f69cc1e" + "3f04c8d48ead8cb6dc7cb36ee48e2b3f" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region", @@ -4127,7 +4127,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "41a0b308576a435c38d8a37968029ec8" + "4d44b1d941e737482419940364a47252" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region'", @@ -4141,7 +4141,7 @@ "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "553b0ad713cf3101f5b20a8c591ef239" + "b4f8342b902789fe4b9bf6c680240a16" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_union_l", @@ -4155,7 +4155,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "045ef8bf816b540276d49ed0e5e8f75a" + "eb2c2d7a80554d10eb81cbfc13d4cbc2" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -4169,7 +4169,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fea35ed17bc94c73301d5e303b07820d" + "35ab9545832265093a1c5de8a0418912" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -4182,7 +4182,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "65ef0209f881b359cc153748048c9a7b" + "1a28a1972c7d5528fdb22708759cf9a3" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -4196,7 +4196,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "21bdd64029ec47983081178814b05051" + "886eae3ca2088bb22b1d115e46c3207e" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -4210,7 +4210,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "908ea13c31d969d92eb04cfc53543ac0" + "ce5fa521079f775033f3ea1c52d309c0" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -4224,7 +4224,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ab27283d7b04bb3514cf9c267758ab0f" + "4ff41218d1e0b314a26630cae7cf7d5e" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -4238,7 +4238,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c343afda621741ace6942aee2f0e8d97" + "514cfe47dbfb636a3e0e1a160a73edd0" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", @@ -4247,7 +4247,7 @@ 1, [ "@query" ], 0, - "badc01c5fd6a82d8592e7ba94f856c3d" + "d13e44abaf40b191b7266307c0e35715" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -4261,7 +4261,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "47aadf8a53b2a172e054cfff35e476f5" + "a064fb665d1ab7d8ba2391303b7a1a52" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -4270,7 +4270,7 @@ 1, [ "@query" ], 0, - "3a57e05cbac73429ac3868e82bd87ff3" + "46634d2357bd7787096b4482aefb26fe" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_regions", @@ -4279,7 +4279,7 @@ 1, [ "@query" ], 0, - "cd381b8055d2aa5759cfa719fd926504" + "af4b50b8cdf2e817f6f582426ca4b22d" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym", @@ -4288,7 +4288,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint" ], 0, - "171655808f434ad36b0352f43b879ede" + "0f8e24c60e1406bad1bbb6111f421a20" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym'", @@ -4297,7 +4297,7 @@ 1, [ "@query" ], 0, - "a7586626ada29ae744a7e1a338c52e39" + "42140ff58e94a44b930c70c01e52df89" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_none_r", @@ -4309,7 +4309,7 @@ "equation_LowStar.Monotonic.Buffer.loc_none" ], 0, - "3691390c637609295f7f311c7aa62993" + "0f984b1ced06d03c244d164178f0ae56" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r", @@ -4321,7 +4321,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "a04685f2b5f5c27d254d2b96b73afc48" + "ca0e8802ac0a0ec21c4f4a196e002822" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes", @@ -4333,7 +4333,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "9965331473aa3788333bc4181d31cd7c" + "5dfe9539e1666830cecbdfda86c62915" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r'", @@ -4342,7 +4342,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "ebcddb3e180be8d8bb3201f5ea49d65d" + "694077b7e44aaf197770271ced2546f0" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -4351,7 +4351,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "52929de27e9970de33f4c6b1f9522dc3" + "12eb9453109a4fea930bccc6ec8398d2" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_buffer", @@ -4393,7 +4393,7 @@ "refinement_interpretation_Tm_refine_aaf355181a39cd24cd66fda642891fa9" ], 0, - "c77d5715cea96bdb1bb73cb27f146932" + "29928d3931e3b742075f1f558f1704e9" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", @@ -4475,7 +4475,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "da56d088077611a6d3a2e9242a420149" + "dd3b02834dfb522b0c554f9d3fb79f7e" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_loc_buffer_from_to", @@ -4579,7 +4579,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "05d1f356799b2b4bf9d37ad637dfcc79" + "e99736bdd60ea8f1a3fc089f645d86f2" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_addresses", @@ -4592,7 +4592,7 @@ "equation_LowStar.Monotonic.Buffer.loc_disjoint" ], 0, - "97babf9579b42ae5861538d6ea85cff8" + "abba60f97a2f232a3d62bd8c4053796c" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_regions", @@ -4604,7 +4604,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "93a50fc4f2351f74f715373c5e2bb8b7" + "32576819f9595e9625e1604a58bdeaab" ], [ "LowStar.Monotonic.Buffer.modifies_live_region", @@ -4619,7 +4619,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "c9ce775c2865fd05575bef389a7c5e42" + "56bd787748e35bbd4dea446c57b7c5bf" ], [ "LowStar.Monotonic.Buffer.modifies_mreference_elim", @@ -4637,7 +4637,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "7743e987b11d1359d4e87130ebdca541" + "8e34619db3a8795c193d77c9b1b8dc15" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_elim", @@ -4670,7 +4670,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "186c6ee0867428afb36cb04cbdac6c9e" + "65ce29a65a5d12a35ada74faa1823b3e" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -4692,7 +4692,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "f679d87ab99c4e4505e7e937c758711e" + "a37fa6698254aaadb4b7540d6877b344" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -4731,7 +4731,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "1a39bbdf195959ebf4a9eacf24375817" + "bd2e3b4d99e0983f72316fd9b5e54b73" ], [ "LowStar.Monotonic.Buffer.modifies_refl", @@ -4740,7 +4740,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "271cb8c4f7f75f35635dd19510a9b03d" + "710bb6568404000ed364820fb8b541c5" ], [ "LowStar.Monotonic.Buffer.modifies_loc_includes", @@ -4752,7 +4752,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "558e8c516a489ecff4e48c89c053b482" + "eb26564bc052f50418e3c3df77ead839" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", @@ -4784,7 +4784,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5fbe1eee5595d8df9e25bec004b52ee7" + "def00aee2f20b182708b05818ddf378d" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", @@ -4798,7 +4798,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "132dce50ae0ef3ffd7154a5319a4bc99" + "031bafdd64cef50d9ff4c4c34f5f0308" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_buffer", @@ -4829,7 +4829,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "327c147f58fa0a7b1caa6a85c93eaf85" + "c44f350531fec7d144fc9c7f50ba1852" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -4842,7 +4842,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "8134632c5e13c7ea09ae94f492899d25" + "51e14a9bc2bd9c62f12065daa48152a3" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_regions", @@ -4855,7 +4855,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "d820c36a35273510251e637329368387" + "2cbac69ab5e9758f4e7cb1268c487515" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_address_liveness_insensitive", @@ -4869,7 +4869,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "d8af34df846c73f0043556ee208db876" + "43e90beee99318bb04c546568c9a0096" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference", @@ -4890,7 +4890,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "60d7b3f7b55f11c527417f27696fe289" + "905604ae35e30c7fd305af661d6b263d" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", @@ -4915,7 +4915,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "567b093295c1ca62e8c502b4156f91f0" + "8a45e2fab17b8f9d4e5e603b81e7d272" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", @@ -4951,7 +4951,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "159d9f7b1262ccdf7dda2646b6d54f42" + "2b45ec4812bfa5e621a52e3a3fd59b1e" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", @@ -4970,7 +4970,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "81bb6c7858646cdf5fba7795c47fd421" + "31ade5997e032483414f1b671504758d" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region", @@ -4993,7 +4993,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "0b005a8fdfb0c3c06965f941ba28a239" + "524cf6e58c8bc8f484281ff6c824688d" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference", @@ -5020,7 +5020,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "00c03f77d12355d4ee29593e36c2a3c1" + "82eccf4246d75e47767ae7291a71f406" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer", @@ -5053,7 +5053,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "296613cdc1ea00912429197dc122b77a" + "98e3bb1b6560d545cff4395166afeac1" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", @@ -5073,7 +5073,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "ef0e5c1ab080cf918549abd51dcdec39" + "58e45537981e10ca9bdb5b27d23590c4" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", @@ -5109,7 +5109,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "d90a747d50a08dfa68093bcdde56672c" + "a685da52a6f801e16d55770014be15e6" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", @@ -5129,7 +5129,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "f4b330902520b83871ed89b83b432d6b" + "36cd600bf74244f4885e8c7c8c0fa086" ], [ "LowStar.Monotonic.Buffer.modifies_trans", @@ -5141,7 +5141,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "08aed4d86ba13206070b032511bb3a50" + "e90f67bae3a95badcda426d53c6bda78" ], [ "LowStar.Monotonic.Buffer.modifies_trans_linear", @@ -5156,7 +5156,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "c08d8b8216ba54c70fe97efa04534859" + "9f680823026c09f52de49bf4cfe837ce" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_regions", @@ -5169,7 +5169,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "d6f06c4f4d298d771ccbc4c0302d6c8a" + "030ccb35ef4cbf423b97799900728504" ], [ "LowStar.Monotonic.Buffer.no_upd_fresh_region", @@ -5193,7 +5193,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "c2eb46afd9dc0858c4c19cde47f429e5" + "a18cce1ed5b36d890038d9f3df0c5171" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -5210,7 +5210,7 @@ "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511" ], 0, - "19cd737d4bc2eb20d08c27feb3163f0c" + "2192f7396be746a2e0df30af44c03363" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -5222,7 +5222,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "ad62518d321cdc58247aeb09dd1af3a7" + "97184cafacf6c76b9e0f57cb7d76fb77" ], [ "LowStar.Monotonic.Buffer.modifies_fresh_frame_popped", @@ -5250,7 +5250,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "1db678f225d814c4e35a4c41bba1a49e" + "4e4c7fcbd3c83dc692d635c9575a67f2" ], [ "LowStar.Monotonic.Buffer.modifies_loc_regions_intro", @@ -5262,7 +5262,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "bcdbac219c25dd8bacec9e8c7d327aa7" + "1174b198b5b812d599d5e51e173a3073" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -5276,7 +5276,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f133e97e59ba4e8b473c33d316ace112" + "c3d2dc777d7a2cbe1737284e4b69e4e9" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -5295,7 +5295,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "dc35469f825f0ba609635851df8fa109" + "7092ea7b0896679040027150b91d6926" ], [ "LowStar.Monotonic.Buffer.modifies_ralloc_post", @@ -5308,7 +5308,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "f92ed79f00e7df5dd0c842b168fe98a0" + "3df139bd6b4b9d997c93c13a2795f422" ], [ "LowStar.Monotonic.Buffer.modifies_salloc_post", @@ -5321,7 +5321,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "bb1754031754762711f84d8a6409f855" + "e005ed185bfbc4205efaf0ddf763983f" ], [ "LowStar.Monotonic.Buffer.modifies_free", @@ -5335,7 +5335,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "4eea47b696795ad5db29c9016fdcc477" + "d11972cec1265cdc607b7ec082f8f31f" ], [ "LowStar.Monotonic.Buffer.modifies_none_modifies", @@ -5347,7 +5347,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "576fe58077bfeb0283aad8401ce22841" + "8c26657ec33013b91137cbf134de6d23" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -5363,7 +5363,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2fb645dbb2a9ee5342e5cea64026d86c" + "66a624bb80cbd266ee913b9267d554cd" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -5377,7 +5377,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "1bf370544b59888cf1bde3f4e1154a10" + "f0d03e906afbb1a9f7352c65b4a46d89" ], [ "LowStar.Monotonic.Buffer.modifies_0_modifies", @@ -5389,7 +5389,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "ec9dc5a0ff1b34291bdd161fdec7ee29" + "e063d00169b9661dc03ebe6d182cd181" ], [ "LowStar.Monotonic.Buffer.modifies_1_modifies", @@ -5449,7 +5449,7 @@ "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "9e5fa5862d652c5bac36f7291053700f" + "980da23c2ce20c48fa051f2ee7091178" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_modifies", @@ -5509,7 +5509,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "9ddd86ef60d010d7788f4057ae8850d0" + "0cbba05ab7cf5e93d8c8d29704c80cf4" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_modifies", @@ -5526,7 +5526,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in" ], 0, - "41e12fecb3fdbcd14083f34310776f81" + "24c157eadd3edf4d90f475aaa33fe06c" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", @@ -5556,7 +5556,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "73296c9679274e94a59b0faec263a1cd" + "445c9e021dee489b011d6a76960d2660" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", @@ -5733,7 +5733,7 @@ "unit_typing" ], 0, - "73b05406385e2190d4128003de00be40" + "8a401aaa4f989f98ef03f4451d3f1883" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -5763,7 +5763,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "69aa24ebe851c860245ec8349835f307" + "627e616c169f9724435efbe93fe5f26a" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -5784,7 +5784,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "bd963e63a6121e9167209f8c8a039818" + "542c97b63490dd76a3c04023551f410d" ], [ "LowStar.Monotonic.Buffer.not_live_region_does_not_contain_addr", @@ -5793,7 +5793,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "b01d8b02a6bb5deed01ce0c42b5117a0" + "1b6d7ff6b3a354567fc549e06536c92d" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -5802,7 +5802,7 @@ 1, [ "@query" ], 0, - "1dec89e0d9286582fb5d6f69319971ae" + "9e09de97ca30a92a919809b71529d180" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -5811,7 +5811,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "202e2156723ff09ff313f0744d0bc0ea" + "1565bf9758616299d52ce59015d4516e" ], [ "LowStar.Monotonic.Buffer.addr_unused_in_does_not_contain_addr", @@ -5825,7 +5825,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "741f7055d82611eed6eaea01cf8acbe2" + "d2e6efd6063f76dff57711b15f558678" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -5837,7 +5837,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "7f143b351b3ea20ebd8e51c1248cc0fc" + "62d2a5d6b057441f8d7b666ebd27fb0f" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -5849,7 +5849,7 @@ "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "15cfa347e01b6457fc434b1b9ad56844" + "8d18590c40c04fee7becb21e41224d3a" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -5858,7 +5858,7 @@ 1, [ "@query" ], 0, - "5ea06812dbc03c63c2092fb2ba473c0e" + "64acfdd19582577011f023257b0c1c3b" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -5867,7 +5867,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "239981c2cfb7fcc1fe6c7d375da2b900" + "dd3c1da6d04c7644fd335eeef60b273f" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -5881,7 +5881,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9040abab18d465046b2e17c68c1d7693" + "a1d4d55e2e827a1b228d1ec1db1d165a" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -5895,7 +5895,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "62947389d9127c895753468db59f511c" + "ee839157fc5f060b2802b720002549e5" ], [ "LowStar.Monotonic.Buffer.loc_regions_unused_in", @@ -5908,7 +5908,7 @@ "equation_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "3efcc02eac13f6b11b17deb54a1aadd8" + "35fd18d2f1bab0714409da6bde0e35ab" ], [ "LowStar.Monotonic.Buffer.loc_unused_in_not_unused_in_disjoint", @@ -5921,7 +5921,7 @@ "equation_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "8315c97e2a3c130e4718dd84056e1a2e" + "c17d31cd98f1368a98d84023c60755f2" ], [ "LowStar.Monotonic.Buffer.not_live_region_loc_not_unused_in_disjoint", @@ -5935,7 +5935,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "62b19ae1ccd4d9f4f93ee0d61e04e1e5" + "39205acc1054bbe3de448d9f07b283bf" ], [ "LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", @@ -5956,7 +5956,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "adb2379c2ebfed37098a6117a4e480ec" + "feddff3f2f2ea04d71203a538d12521c" ], [ "LowStar.Monotonic.Buffer.live_loc_not_unused_in", @@ -5988,7 +5988,7 @@ "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "44f12c4046b67cc425720b9b04788ddb" + "d3fd94602aa23dc9354ba9e0d1c06399" ], [ "LowStar.Monotonic.Buffer.unused_in_loc_unused_in", @@ -6016,7 +6016,7 @@ "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "3f1eca9b461e289dc293380b05edc6c6" + "84be02ac954409de5529d963fdee8002" ], [ "LowStar.Monotonic.Buffer.modifies_address_liveness_insensitive_unused_in", @@ -6033,7 +6033,7 @@ "unit_typing" ], 0, - "f713729b025a30a2dcce13e4bdb942f5" + "d97ff646f584fd0fabb7b2f89b1ede96" ], [ "LowStar.Monotonic.Buffer.modifies_only_not_unused_in", @@ -6046,7 +6046,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "add7d6fcc8c111de876cd73e16f865a4" + "5ce7f6cdfc4cb08a657f293ec4617dbe" ], [ "LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", @@ -6066,7 +6066,7 @@ "unit_typing" ], 0, - "9f1aca2fd545afb49461af70f20854f8" + "52da17075603d731b0e90a95ada8956a" ], [ "LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", @@ -6086,7 +6086,7 @@ "unit_typing" ], 0, - "1a3ecaba8cabc8060e9b866043533769" + "afb2c4da609d2f50d1d9d426ce15d0d5" ], [ "LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", @@ -6095,7 +6095,7 @@ 1, [ "@query" ], 0, - "e08e813b9a95eb8ae727cc99934aae03" + "97935019df629dad3f58f52a54f8e056" ], [ "LowStar.Monotonic.Buffer.modifies_loc_unused_in", @@ -6104,7 +6104,7 @@ 1, [ "@query" ], 0, - "368267e688f396c7582ea4d7597532ea" + "1ba7a7507ae5199fb1b199a5a1aea1c8" ], [ "LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", @@ -6146,7 +6146,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e10d73ac677f100f1d04261c45004d3d" + "f696435d271c236cad7d815b264510d8" ], [ "LowStar.Monotonic.Buffer.fresh_frame_modifies", @@ -6158,7 +6158,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "8911e923b13cdde282daf23903d037a1" + "35fc26250fded0fdcc5e00ca8bbb9a96" ], [ "LowStar.Monotonic.Buffer.popped_modifies", @@ -6171,7 +6171,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "f2ffb8f39d53182eef2dd80eb52cca36" + "75b2800f4689d6eff14ff4b2385622cc" ], [ "LowStar.Monotonic.Buffer.modifies_remove_new_locs", @@ -6192,7 +6192,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "316498d4667a3aaba43d7a5e82d60aab" + "ee0dc57c790f042e00a7a767d6469fae" ], [ "LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", @@ -6236,7 +6236,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "5620b380eb647a4c5d0a8d56f2677ca1" + "8e45a50e247eecfe1c8ea8f2a5fe6eea" ], [ "LowStar.Monotonic.Buffer.disjoint_neq", @@ -6321,7 +6321,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "07bcc18500623cfdee6b8dba9978ae0a" + "f1bcf6b0a7453d316b64f57701cf921f" ], [ "LowStar.Monotonic.Buffer.empty_disjoint", @@ -6437,7 +6437,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "2c5043a113fd39c77d83e9d000be7ab3" + "c9577339e776219efcced110e4950ee3" ], [ "LowStar.Monotonic.Buffer.deref", @@ -6451,7 +6451,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "c8199b544f8447e01028553ac6c24708" + "033b217347c367e15cf8dea9cd263701" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -6465,7 +6465,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "ba6acb4f183e655421bb45008608aa8d" + "56791efc0a2e37a1148ea07c2800c797" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -6585,7 +6585,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382", "unit_typing" ], 0, - "0d3c7a61a1173d6a90be053f9529dfe4" + "f3a420d29e46fddb9aeea553aeeffaad" ], [ "LowStar.Monotonic.Buffer.is_null", @@ -6608,7 +6608,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "ee2ed69d481dc6e14a28a732ded5914d" + "91f3f241ff4d1ac2b2ec4ffb20ce85f0" ], [ "LowStar.Monotonic.Buffer.msub", @@ -6620,7 +6620,7 @@ "refinement_interpretation_Tm_refine_dd746fcfb4d28e01f9bfeaa4c7073fea" ], 0, - "4507540b8572557a35516810852daebc" + "50ac43d4f308c63c65c1c8b5a3e0c0a2" ], [ "LowStar.Monotonic.Buffer.msub", @@ -6679,7 +6679,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "afdc40429e4af24f145ea256f613e3bf" + "3df2f2b9e0161d713bb36773aa364af9" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -6702,7 +6702,7 @@ "typing_FStar.UInt32.v" ], 0, - "f6f4d5dfd4520eb25e37447c97ff19ca" + "8d13681ab5a42c5051ef16ccf34957fb" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -6762,7 +6762,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "f985af506f54fc1019fc5aa8390a2829" + "a4dba53bdd93c1a77ff8566d07cb81d8" ], [ "LowStar.Monotonic.Buffer.index", @@ -6779,7 +6779,7 @@ "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" ], 0, - "6c9b0536e3dd91057ba2085aedcc5399" + "2fe4794bf905c4fc69c23903537cc04b" ], [ "LowStar.Monotonic.Buffer.index", @@ -6839,7 +6839,7 @@ "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "7ec5d4425052dcec27a857c98325b84d" + "635aef69ea26c5d4d1eedac4b14ae38e" ], [ "LowStar.Monotonic.Buffer.g_upd_seq", @@ -6902,7 +6902,7 @@ "typing_LowStar.Monotonic.Buffer.length", "unit_typing" ], 0, - "d6f74a777e5d4c634c4b13bbd40dbcac" + "7378c5bc15f741c0b6b273853909be55" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -6916,7 +6916,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "536d2d4d60a945673d3c0d6ea13e2bea" + "7833862e8c75cd6f01bee55205c12eab" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -6990,7 +6990,7 @@ "LowStar.Monotonic.Buffer.g_upd_seq_as_seq", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", @@ -6998,7 +6998,6 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "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", @@ -7084,6 +7083,7 @@ "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.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", @@ -7102,7 +7102,6 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "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", @@ -7133,6 +7132,7 @@ "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", @@ -7159,6 +7159,7 @@ "typing_FStar.Seq.Properties.lseq", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.UInt.fits", "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", @@ -7173,7 +7174,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "6172f251fcf4d1f86dcfc585991280c8" + "8b358031d1f8fec4e69d08b654a4aaff" ], [ "LowStar.Monotonic.Buffer.g_upd", @@ -7190,7 +7191,7 @@ "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" ], 0, - "56e95757c23eaf7932c167335d6737c7" + "50c44d3687f04a3089f09178223ef44b" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -7213,7 +7214,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "2e30b2ac82a95ac1a3be377b4fef6ce4" + "91d5671118d661304e6b2c2c1e3ea479" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -7397,7 +7398,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "6b34690f5417a700f84f8ca0e5bbe29b" + "0cac40fa93630358c901d86a504f61ed" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -7414,7 +7415,7 @@ "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" ], 0, - "9acc9470bcf7e65848673da6328aefbd" + "1ec3e3f59bdcfd7f2a000327c4b26b9d" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -7505,7 +7506,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "e01e29a0fb34ec475f8f098d2f691a19" + "750e57533ac2f8fd0864d4f6b801cd07" ], [ "LowStar.Monotonic.Buffer.upd", @@ -7528,7 +7529,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "3ba8397ae49e424c24a2e664539200f6" + "231a151d072d741843a04aeaae792964" ], [ "LowStar.Monotonic.Buffer.recallable", @@ -7550,7 +7551,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "fdd5a7202f2a47d91d3d41a50ad0bc82" + "906e7cce68a81712f570223702022156" ], [ "LowStar.Monotonic.Buffer.region_lifetime_buf", @@ -7570,7 +7571,7 @@ "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "263909dc06e21928da38ca150af3942c" + "7e158c117fed5b2ff7554fe924378b75" ], [ "LowStar.Monotonic.Buffer.region_lifetime_sub", @@ -7622,7 +7623,7 @@ "typing_FStar.UInt32.v" ], 0, - "5d9f758ef04c06407e82e2fc18a01815" + "6cd54d6c3005ed6b3c8a9123322110a2" ], [ "LowStar.Monotonic.Buffer.recallable_null", @@ -7637,7 +7638,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "f3510b63f40282c5b90577d739bf309a" + "ae76d01be252ad6d018c3daa61161c4f" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -7649,7 +7650,7 @@ "refinement_interpretation_Tm_refine_d7fe91e0a74586eb44d93699b6010249" ], 0, - "0268e219061dfe6c6fa3e542acf2617b" + "f278a24077501700642f4f1086c92c61" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -7712,7 +7713,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "36d90ccd75ab1250b2181a0ce987e8d0" + "80f3d30571e42036eafe867baacb8beb" ], [ "LowStar.Monotonic.Buffer.recall", @@ -7767,7 +7768,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "7047d7c43a62f0b008d4b71f5c0ac67b" + "2769d97e8988c3b5cdce4f3d977427fd" ], [ "LowStar.Monotonic.Buffer.witnessed", @@ -7790,7 +7791,7 @@ "typing_FStar.UInt32.v" ], 0, - "4dfb83a8ef8c2407c43dc18e1d8e48a3" + "a9af674bb5be67730f7f9060e5dc2893" ], [ "LowStar.Monotonic.Buffer.lemma_stable_on_rel_is_stable_on_rrel", @@ -7841,7 +7842,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "1b0d382697c75d8ed21d24e88ff0d114" + "c5d34773a767988616673f42d7877978" ], [ "LowStar.Monotonic.Buffer.witness_p", @@ -7898,7 +7899,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "unit_typing" ], 0, - "247dee5424c9c85c282521a59a301306" + "c159a14bd6eed9371c460c2d249fe6fd" ], [ "LowStar.Monotonic.Buffer.recall_p", @@ -7952,7 +7953,7 @@ "typing_FStar.UInt32.v" ], 0, - "a23b6034ba888d4f4877118ff7be1e52" + "778c790acf9bfcbf432ae5074f405b30" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial", @@ -7961,7 +7962,7 @@ 1, [ "@query" ], 0, - "00793d34ef9153bf53f1d29cba0350dc" + "568bb0709880de58a79639d4bcf1ebc7" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial", @@ -8023,7 +8024,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "14f17360a4c01c56dc017f679ce5416f" + "1826b9c99cd79cb5d5343f0ec29f3208" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial_st", @@ -8032,7 +8033,7 @@ 1, [ "@query" ], 0, - "f16568971bdb26a593a36ddd3a11d5bf" + "5352bf2046b4175932b78cf0d7febaa0" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial_st", @@ -8105,7 +8106,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "a6f17c2f1933ec825b43180d99f242d3" + "b1834f7151fe32262c26301caee47dcb" ], [ "LowStar.Monotonic.Buffer.freeable", @@ -8127,7 +8128,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "e21824e33d14c914af75c2944ccc78e1" + "beeca90a14905a5437ce7a9d5c455608" ], [ "LowStar.Monotonic.Buffer.free", @@ -8204,7 +8205,7 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses" ], 0, - "f77806473b64c502dd8012f7adb7ccbd" + "46372b24ec38c08e53fb52cce8322973" ], [ "LowStar.Monotonic.Buffer.freeable_length", @@ -8223,7 +8224,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "fe91a933afd9768ce2ede90fa87be338" + "2ddc0cd2f6a635bdea2e3720ecfa3518" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -8237,7 +8238,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ca8ac3cfd41cdd08c41a4ef2607abc8" + "928ed62446efb079eecf1f72a42315ac" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -8325,7 +8326,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___382" ], 0, - "0ee8202a54f84857c13d2256f8897006" + "c1f6cb87772ff4fe4b5de08956182fc4" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint'", @@ -8355,7 +8356,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "021ae88433c52abf1faccbe3437ac806" + "b27e801a54835a6058f595907f4f2532" ], [ "LowStar.Monotonic.Buffer.alloc_heap_common", @@ -8485,7 +8486,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" ], 0, - "217bf98268b3052861bc0c5befc8269d" + "f567f6b653f592315cd22a18d1479774" ], [ "LowStar.Monotonic.Buffer.alloc_heap_common", @@ -8609,7 +8610,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" ], 0, - "09cfaf22da0b4ac5df9cb9833abe29e0" + "136ae202875cae31f1e1f7a202812936" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -8623,7 +8624,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "395b46106cfbef484a056f003fa3ca9f" + "1b57282d5e64dfe3af464ef6135889aa" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -8669,7 +8670,7 @@ "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "f939241f49699b72acb0819cd134cd80" + "5e8125413fa8e2665d82e3ed837f5e60" ], [ "LowStar.Monotonic.Buffer.read_sub_buffer", @@ -8754,7 +8755,7 @@ "typing_FStar.UInt32.v" ], 0, - "7bb8d2071d707eda9795ed1bbd8f1127" + "ea66ea41fe868ec38ac22d9866170a1e" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", @@ -8805,7 +8806,7 @@ "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "62c7b54cdca0606fb363ffdf25dc3b44" + "9d0de41b1d5d02a656d4060ce82b2a48" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_partial", @@ -8822,7 +8823,7 @@ "refinement_interpretation_Tm_refine_d75f91319c913af58cda6efbb0a1f440" ], 0, - "0094c45d89da4b6bf8716c8cb897438d" + "fe2bf81c2f27a37f2e04e3ce74a15887" ], [ "LowStar.Monotonic.Buffer.mmalloc", @@ -8836,7 +8837,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ac1a2363e7e8a914cdc361f798bd75ed" + "81339b0c3c8e6f365e571abe34951c5a" ], [ "LowStar.Monotonic.Buffer.mmalloc", @@ -8880,7 +8881,7 @@ "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "f3bee351d6203b5d5949b5e41e6fd351" + "a5733ae213c5882ce54dfae2b6683532" ], [ "LowStar.Monotonic.Buffer.mmalloc_and_blit", @@ -8901,7 +8902,7 @@ "typing_FStar.UInt32.v" ], 0, - "60b37f1a4f4837d328746f67c811fa6c" + "5a4718e37550677fdf18a94e30539560" ], [ "LowStar.Monotonic.Buffer.mmalloc_and_blit", @@ -8961,7 +8962,7 @@ "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "d022b21ce8a52055026eb54cb658507e" + "9ac20f4dd1d91bfce6406710459f62dd" ], [ "LowStar.Monotonic.Buffer.mmalloc_partial", @@ -8978,7 +8979,7 @@ "refinement_interpretation_Tm_refine_c53c3591da3f77fb9f2db8075ff367b6" ], 0, - "c34fdf6d88877854cf4989b2528556bd" + "b0f3c02748d0ab4e1bf68b040621cf50" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -8996,7 +8997,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e5ca69dd40626e36a6d3ccd13f7cfc0f" + "3b92c4ba07f73602aea26cd3193cc3d0" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -9097,7 +9098,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "aacef18a7b11c1922364014b192ece04" + "386ecc518a33df15b32f931158dee216" ], [ "LowStar.Monotonic.Buffer.malloca_and_blit", @@ -9120,7 +9121,7 @@ "typing_FStar.UInt32.v" ], 0, - "f80d83c4195b1305138067e1a287eae0" + "805a677a87d6006cf7789e835839d623" ], [ "LowStar.Monotonic.Buffer.malloca_and_blit", @@ -9224,7 +9225,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "39442c889ada8ef3e845b8ab0783bee7" + "a8221dd2d9f17fdd339ff8713534f420" ], [ "LowStar.Monotonic.Buffer.malloca_of_list", @@ -9337,7 +9338,7 @@ "typing_FStar.UInt32.t", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "3a1de99ccbc22e678f1b1d41b95ac710" + "8e204e216f89b2984414b4081a4c24ed" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list", @@ -9449,7 +9450,7 @@ "typing_FStar.UInt32.t" ], 0, - "1b48806cacda12ca5c66b9001f1fbb34" + "2055e4e6227753c4e76e2e3a9f559b91" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", @@ -9462,7 +9463,7 @@ "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" ], 0, - "4f29e77dbfbe4bc7ff9f1a263f11a8da" + "996ed8e39567d518df32723dc90b111b" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn", @@ -9476,7 +9477,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a3c1dd87de3f02b1b54cfcbde5e8f299" + "5e3cfa09616fbbe266f369c481596677" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn", @@ -9579,7 +9580,7 @@ "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "c7cccfbefedb14b7816b4d83cd6f5019" + "acf9e88a028654b46849c06df9ca2b7b" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", @@ -9593,7 +9594,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c53d7a8fa181b9cb3a831e18406765da" + "49f27d7c82a5669b045031fdfb5ce2e1" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", @@ -9701,7 +9702,7 @@ "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "ebc5056b271436c42f0f68d13b2c87c0" + "0b7d34b7ca1393a4216fac5ba1186d47" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", @@ -9722,7 +9723,7 @@ "typing_FStar.UInt32.v" ], 0, - "3bd7aec5b36629d9c64ece0f49e972c3" + "76165e9829f6a4e828116551516c2895" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", @@ -9838,7 +9839,7 @@ "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "9bd551fb458a9ed5a97414e2721fd1a1" + "62d8e408cec089d55ae49577b5388e88" ], [ "LowStar.Monotonic.Buffer.blit", @@ -9889,7 +9890,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "eb2906b1092f33e6e431acb4970578da" + "6fb74e407b05c80de5fa7d5fb5f470c3" ], [ "LowStar.Monotonic.Buffer.blit", @@ -10018,7 +10019,7 @@ "unit_typing" ], 0, - "4e2ff8f74ce226b8405bb121dffaf942" + "99e0924be2ddadb55d225fd17134b105" ], [ "LowStar.Monotonic.Buffer.fill'", @@ -10156,7 +10157,7 @@ "unit_inversion", "unit_typing" ], 0, - "32d1093129408c711b183b1306ba662f" + "0fba24a5a5b582db6e3423f456db94e4" ], [ "LowStar.Monotonic.Buffer.fill", @@ -10182,7 +10183,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "83b73e2b5b171d03e77e7fed3c90b519" + "492d54e316ddc2e2df119e4cccda2142" ], [ "LowStar.Monotonic.Buffer.fill", @@ -10218,7 +10219,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "9f00282d644ac0901a62f5aef21c55cd" + "160e71a091842b19fe2796f123436360" ], [ "LowStar.Monotonic.Buffer.coerce", @@ -10230,7 +10231,7 @@ "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "628e215b56602d095930c3c74b07c9c0" + "45f73141997f747629c99a2b2f4adc4a" ], [ "LowStar.Monotonic.Buffer.cloc_cls", @@ -10239,7 +10240,7 @@ 1, [ "@query" ], 0, - "311cf9e2c324e97922f25bde2d4363e7" + "ce4092e02a132e748eca5b99df0cf572" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc", @@ -10257,7 +10258,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "4a721891df380303719cb8b70d40c09a" + "882c5b6286c860340143fd7bdc51ec0f" ], [ "LowStar.Monotonic.Buffer.loc_of_cloc", @@ -10275,7 +10276,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "7e73380312ed07bce73d71fe8ac89318" + "4f118d5143e9c296ca2607bf5c3f757f" ], [ "LowStar.Monotonic.Buffer.loc_of_cloc_of_loc", @@ -10289,7 +10290,7 @@ "equation_LowStar.Monotonic.Buffer.loc_of_cloc" ], 0, - "7e95f5250838a9a36f30d4e4ae4a320c" + "cd7a6f96844e03eb1870912a5941775d" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_of_cloc", @@ -10303,7 +10304,7 @@ "equation_LowStar.Monotonic.Buffer.loc_of_cloc" ], 0, - "2cda8f221b45a1aa854fbc5185034205" + "82ed7f93fefb7ade5a83cc4b75904418" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_none", @@ -10323,7 +10324,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "62399958b0c1181a94cc4ec996296fbe" + "32f3565977f546d5e6d41764abe57525" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_union", @@ -10343,7 +10344,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "3fff9779504c28704a025bdda0dc156c" + "0def2cb822ebae313a70a49d8ff74e28" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -10357,7 +10358,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5f5389232de3f8ba96e314f7aba51572" + "fb11d740498407e71fe559cf085c2eae" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -10371,7 +10372,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "784b4c3bf5380803305f58beb4b81c50" + "8c8646b4a738b50c8cf292c4af42177d" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -10391,7 +10392,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "4b00829d295df7e84d95e2a458105eba" + "15c698f0e692650bf065046c48815cff" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_regions", @@ -10411,7 +10412,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "45e62880516f6cf367e9de7134e8a005" + "6a18455170d1594779c67f9b5beb4904" ], [ "LowStar.Monotonic.Buffer.loc_includes_to_cloc", @@ -10431,7 +10432,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "699bd91f2452cfdf3f57231d09089894" + "84fcfcf12d5e5466718f3fb2558dc30e" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_to_cloc", @@ -10451,7 +10452,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "f62edad9676f4ebe2459d396d945f997" + "6a665a8e1bfeab8a4450c6a99a35ce15" ], [ "LowStar.Monotonic.Buffer.modifies_to_cloc", @@ -10471,7 +10472,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "b05f3978a3d7b4ec2f1f43814a72ed1f" + "266c4b672ed96b7bdf35c5a3b6dcc747" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Monotonic.Buffer.fsti.hints b/ulib/.cache/LowStar.Monotonic.Buffer.fsti.hints index 69db2e7968f..c01f967d5c2 100644 --- a/ulib/.cache/LowStar.Monotonic.Buffer.fsti.hints +++ b/ulib/.cache/LowStar.Monotonic.Buffer.fsti.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" ], 0, - "db6901a713ade0e2c0ff0b437e868312" + "47d834c8c3eb1211ea65c88065b1fdd5" ], [ "LowStar.Monotonic.Buffer.live_is_null", @@ -23,7 +23,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "a706bea89b1855d2f4f496f8a5776f35" + "d3821413fec2ae4f3ca697538995981f" ], [ "LowStar.Monotonic.Buffer.length", @@ -37,7 +37,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "97bc651bf5a70846f9b8700ae0109ab3" + "835e8e892b5a484e66b78a940639a875" ], [ "LowStar.Monotonic.Buffer.length_null_1", @@ -62,7 +62,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "e98521f76f4e4a94a24d5a4f17ee6b17" + "f5e16581969f94a1e88a642cf84a198f" ], [ "LowStar.Monotonic.Buffer.length_null_2", @@ -74,7 +74,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "04cb8ee51f79e2e27906c75b0a9ee43d" + "8a194a2c8801d020bebece09fac326d2" ], [ "LowStar.Monotonic.Buffer.get", @@ -83,7 +83,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], 0, - "96c622021144183b0e8bf5d353e385fa" + "89222241809bcffd1c4c07269bac1902" ], [ "LowStar.Monotonic.Buffer.compatible_sub", @@ -103,7 +103,7 @@ "typing_FStar.UInt32.v" ], 0, - "79c6193b1e8483cf9f8b584050a7859a" + "f2051490e1cb2fd09d06fe22d4779319" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_688eb7732240687f918bb9a141526765" ], 0, - "8459e219fc2debb7d3297a64d4e7f49c" + "085948bfa5bb19fabf8f4c86ebc036ef" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -129,7 +129,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "904ead79b531b30848bbd7dc699107b5" + "bdce1477e8a02ee53778dbc703807319" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "74a1913469a11bdc28e94683582dfe85" + "fa797fe6106025277611810db9a8cfec" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fb5f6d346d8309b52a3656be850958fc" + "8163bb30fab8351a713c2a4f0a3273ac" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e3f5bd71b3bb1ccc38bddc5a19878acb" + "e8ff30bbba3fe27d9b3db791f7b5bc4f" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "c359c970acaed7031328e4028ba32327" + "46273e06bbabde141e95f85eb79ed698" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -203,7 +203,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "8b41a1fb99584e58ba03536c8104bdc3" + "706147af18d4b8578122783f84e1e306" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -215,7 +215,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "35cf9b512cd1d309be5bbbcb178a324b" + "387afff65ac5d3a349cb75806f6027af" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -237,7 +237,7 @@ "typing_FStar.UInt32.v" ], 0, - "248c5fff441321ff834fd937076ff8de" + "8352e9c2093d2d5bc30fce2e762c8f08" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -246,7 +246,7 @@ 1, [ "@query" ], 0, - "c6f26db825add53dbe633a33e629582a" + "0076f4adec8ab8da565fd6ca446833fc" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_1", @@ -255,7 +255,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "09cc759556c131f13df5ee116a5fcfd7" + "1b37f9a667fa8e6c1a5683317be8a934" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_2", @@ -264,7 +264,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "9ada61557818f017b6ec6b76c46dbc6c" + "cbe2e84b758a12ea907fff22794c2345" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -286,7 +286,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "5c03f212a37f2d66ed089fd63e36632a" + "f0ddd0f1550e425ffd8ef1f95be4c1e0" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -307,7 +307,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "7ceec94143feabd2fa19873b94b33654" + "e356da1ddfed363d9e9ab978f7dac5a2" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -329,7 +329,7 @@ "typing_FStar.UInt32.v" ], 0, - "6503fd06359e3a8fa7facc1d9ca39bb8" + "98e98c92e305f9cb608c0e446ebbe8d8" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2bd4fa40031481d6f64fd4702897178b" + "62cf358302bf4252da1037e7fd371ec2" ], [ "LowStar.Monotonic.Buffer.loc_addresses", @@ -357,7 +357,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f54b1690e4ec0f0eda4d77f40b8be1db" + "f397f8cac8f97f9a0ddd1efb083240e9" ], [ "LowStar.Monotonic.Buffer.loc_addr_of_buffer", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "18186b6eb3e77da3a7281f944850f37e" + "38dfa32fd5f012917ea19dd2875a7da7" ], [ "LowStar.Monotonic.Buffer.loc_mreference", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "86ad6bf4c59f07ceb1288345757d0979" + "586de44fa5c88ce4f75832fd7cd5498f" ], [ "LowStar.Monotonic.Buffer.loc_freed_mreference", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b34ce6764c8c13c1e5098c5b58eb0434" + "3c3e55d71692c347ab44a78389092a98" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r'", @@ -408,7 +408,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "dd02b1c1061b1658637eb10672b97654" + "bac45d227b0ca83bca1835e896af818f" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", @@ -420,7 +420,7 @@ "refinement_interpretation_Tm_refine_7fcf96841079a9b7c5e6465b36bd88f2" ], 0, - "ac8eb5da512deb7e5999f5be7c25b04d" + "8a7d4db31ffa87fc5dca2598826fb4f7" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", @@ -437,7 +437,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "5363a7ce8ca511aa2e40f97b042a4ccc" + "3b3288642fb79882173b53de92bab09b" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -449,7 +449,7 @@ "refinement_interpretation_Tm_refine_d2c48fac9e3e3e29e2ee91bde69407b8" ], 0, - "7b7248e1ae745a9a3e8c279943f31949" + "bcda505595f508d7f05708ec434b6c88" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -463,7 +463,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6cf887028397dbd5cbe48c263edf9caa" + "77ab41f0db9e3db2c2514e62fefe9adc" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", @@ -486,7 +486,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "dc122f257522477fb103da32564c79d6" + "37722182215d3ead54c10a10eca2394b" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_buffer'", @@ -501,7 +501,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "485632117b420ae893f8b7cd1b99377e" + "493498ad0865428a7a312eb89a4821de" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -515,7 +515,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2a987404f018953cedef551085565f2" + "7813ee747a5fbbc0a226afa6f3153a22" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -529,7 +529,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d93e25f771246ab562208ac2b6b7fd9f" + "961cdf2cfe52fc11f734a601e88d2fd2" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -543,7 +543,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton" ], 0, - "595904c2c3417105b1a4fcff7f78b83b" + "ae44c93bf822829f6896076c420336aa" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region'", @@ -557,7 +557,7 @@ "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "cecf96a62c05e8f5f437d84f6440f782" + "ca513d483d243c115d88fddc10dc8aa5" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -571,7 +571,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7cf7c8ed4d20977cb7974a2f79282758" + "0247b484bd3bc43977d2e922fe1fa0a1" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -585,7 +585,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aab5eb823af3e7772b59bedaa9d0dac4" + "1a9dbb59ae7f95797e8e87121e2f6eba" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -599,7 +599,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de9da794ef54112fb2d3c15e54ab5c90" + "9bd144132a1a1f0bf800718bf4b9ae19" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -613,7 +613,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "23b56b30759367a39653b538bf8ddf9a" + "edb290a6a4d82f74bfb8af3dc1840855" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -627,7 +627,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f4dfb3f5d15d197049701a65d3b4f017" + "50aaab600b7d9ffa42f73ae69cdef448" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", @@ -636,7 +636,7 @@ 1, [ "@query" ], 0, - "5de1a36ec28388e8da76659b44790717" + "54ef7289536ca50c95da89aeed2add0f" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -650,7 +650,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ef53ea187154fb23221d57baf4825a5" + "05af4fc549c1b2693dd65985bb265ee9" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -659,7 +659,7 @@ 1, [ "@query" ], 0, - "968fd39590c561d6e7e575e0f9517359" + "da16b166204e17750b90a05ee20fc50f" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_regions", @@ -668,7 +668,7 @@ 1, [ "@query" ], 0, - "a9301a769b0560d40affed58c6f7998b" + "417f16ea0bfe1dbd294fa474cdcd2694" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym'", @@ -677,7 +677,7 @@ 1, [ "@query" ], 0, - "d2599b7effe343a185b2a56097623fd4" + "41b0538d04f6af7a6d543f25017caa02" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r'", @@ -686,7 +686,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "893a0a83f8bf287f9f7634cd2dabedd8" + "6cf4a8510035961e89ba56d4dd99b353" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -695,7 +695,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "37e6f628039d53a999d3fbc41697da53" + "b596255d4866350fb8dd46ee0ef747fd" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", @@ -707,7 +707,7 @@ "refinement_interpretation_Tm_refine_aaf355181a39cd24cd66fda642891fa9" ], 0, - "88711a9a622718086c8c2483fc9bd2b3" + "6307800f59295ba5a84b09a9b9988034" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_addresses", @@ -721,7 +721,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5afadd8ed00bc25b1ed42c0f8f7a0f90" + "79c1c22ec1f91d387276feae858e577e" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -743,7 +743,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "b5d31d395f8acf757a2b298aaa294b8f" + "29efd739dd477441cbddee5e76c475ad" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", @@ -757,7 +757,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f5ce353a4986ed2b15175a22442cd06f" + "c38eca65bbee354e2264d804a15904f9" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -771,7 +771,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f94832f673d2b7c854a85b737055058d" + "8badd627e0d4e92bccd24e9b247a8878" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", @@ -805,7 +805,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "b8b39d8db8d0d913d8347509b99ec9fe" + "6f5882ff654c444c6a3b4ae8f718ac37" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", @@ -821,7 +821,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "a50051f1cc9a24e44adfddca5002c350" + "391ff31c01214e9bba4aae207bc0291e" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", @@ -839,7 +839,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "af238eb43ec58cf2ef0070c7252d457f" + "46abba15902604cbee0ae6fca0be8c8e" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", @@ -872,7 +872,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "424f51551e5a4927f227a5639dbfcb13" + "1ef091bcd12badca947a1d4fcfe7e83d" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", @@ -889,7 +889,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "61a6204152213171c90951dca8e44ac0" + "a4d09dcb2b7c04795726d136572ff118" ], [ "LowStar.Monotonic.Buffer.modifies_trans_linear", @@ -904,7 +904,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "d9754d29299eac0cf9454430b6527826" + "bcc6d13716a512c5dc5ab9df45d2e94a" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -921,7 +921,7 @@ "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511" ], 0, - "82907186d89219da876e6e7da1573bb5" + "29b12398606b4fcf96225720bcceae6f" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -935,7 +935,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4b27e96e74cc3722ddb638aa7264621f" + "fcef6b7e07dd865ba5045110c2a06094" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -951,7 +951,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4ff9a51a3148788b0864c10a702bcc96" + "b63212d34370aea68e5d096295043bc4" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -981,7 +981,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "6cef8a293626d277d83ff27e5c5f9a1c" + "2284d0a9413a5464185cfb032a8f0030" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -990,7 +990,7 @@ 1, [ "@query" ], 0, - "600e4ef28b6a4152f47434cfb858578a" + "d30f766af24220b215842afacedc526a" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -1002,7 +1002,7 @@ "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" ], 0, - "cae40e558338d214060089db11927dae" + "1c7456a0cbee9aaba4eb29820a0622d2" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -1011,7 +1011,7 @@ 1, [ "@query" ], 0, - "87727fdcbda3f7c8842a76f4dcb6e439" + "6f71550472b0855c81cb58c62a3252ab" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -1025,7 +1025,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93ae2e494d2639abc31afcdd72fb37be" + "ea7d4d77d2962e2444ac9ee7b9e16544" ], [ "LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", @@ -1046,7 +1046,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "72a4a7398b9ebe1166a8df13b5ea1119" + "82c3dfa5a3b834ca6e4198696c530846" ], [ "LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", @@ -1055,7 +1055,7 @@ 1, [ "@query" ], 0, - "da397c9123c0a1af5c3ddf7c43417eea" + "f898e65f889828c0e429ada205d4be53" ], [ "LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", @@ -1097,7 +1097,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6b7cb501f863431076fa9ec08f6f1a83" + "3ea6373b7521b322236b56625ed04145" ], [ "LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", @@ -1136,7 +1136,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "c13d2ede76dbbf617c4b07be2cb44265" + "21bdc316e153e5d216d67ecbaa06397f" ], [ "LowStar.Monotonic.Buffer.deref", @@ -1150,7 +1150,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "0941ee7ea5c4dcebb706a833c9d7712e" + "495e42d714ba807a25536f845a449eaf" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -1164,7 +1164,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "64e34b70b29f306d0f82d92519a4814d" + "205d898b17c0fe24e0e023af58883168" ], [ "LowStar.Monotonic.Buffer.msub", @@ -1176,7 +1176,7 @@ "refinement_interpretation_Tm_refine_dd746fcfb4d28e01f9bfeaa4c7073fea" ], 0, - "be80b10d7691ba189c06a12ae7dbbc39" + "3e56b59792129a75f670d6a166c41231" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -1199,7 +1199,7 @@ "typing_FStar.UInt32.v" ], 0, - "6fc3bc4d1f7135dc697a384111f9d6c2" + "cf91801f9d18129572668c9a6bfe430c" ], [ "LowStar.Monotonic.Buffer.index", @@ -1216,7 +1216,7 @@ "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" ], 0, - "5578760deb7b6b2448bbe228a57d7616" + "aae1ddce34694f460a9bceb2bd8c07c6" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -1229,7 +1229,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bda44c7b14050a8c9c4a227ffc616e9c" + "0e2dac88091bb6ffe155ccc6d476ddd1" ], [ "LowStar.Monotonic.Buffer.g_upd", @@ -1246,7 +1246,7 @@ "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" ], 0, - "3cf65ab449278172ba8f8622b384ae54" + "e758bf97167e4dd7291b1a28b5335790" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -1269,7 +1269,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "7a7e14e492a7a64f1fc384ff785e911e" + "e530ecfb4191d037a881477bf87be892" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -1286,7 +1286,7 @@ "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" ], 0, - "12cf4fffc00202dc68711a134d1578c7" + "4907ec23d7381e901270e12475dac946" ], [ "LowStar.Monotonic.Buffer.upd", @@ -1309,7 +1309,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "359416544152c2754e9b8d0dba0d3a4a" + "42498c4cc4fe9545629c62c69af283f5" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -1321,7 +1321,7 @@ "refinement_interpretation_Tm_refine_d7fe91e0a74586eb44d93699b6010249" ], 0, - "f48e6dcaf0a8d368ebd238bde41bc0ab" + "9fcc4d386e0cdd6a9a3a91bf93959404" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial", @@ -1330,7 +1330,7 @@ 1, [ "@query" ], 0, - "debbc038fd3ce26db9587e6b92325f66" + "32f546b10cd24d828bf63735222c1f12" ], [ "LowStar.Monotonic.Buffer.witnessed_functorial_st", @@ -1339,7 +1339,7 @@ 1, [ "@query" ], 0, - "7cfc495729af3dfc40ceab3c8f0b42f6" + "8e6752e6912e5e6be7de3402013e1766" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -1353,7 +1353,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9b9dd10377400c11ed3533db96f8d54b" + "5b3fec374ef94fb26ad43a2fb55412c5" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint'", @@ -1381,7 +1381,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "916463cc50b01f896f2380a38510fb91" + "4c5a6b219ed26dac66322da0eddc0353" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -1395,7 +1395,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7524d42842f67a67f399bcfbbf034039" + "3ed6b37441585cd4f19ad6e6833dbe1d" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", @@ -1416,7 +1416,7 @@ "typing_FStar.UInt32.v" ], 0, - "e3ed8565d1f847825fccdc984a95f307" + "fb4c554126d792df1a0e31454678212f" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_partial", @@ -1433,7 +1433,7 @@ "refinement_interpretation_Tm_refine_d75f91319c913af58cda6efbb0a1f440" ], 0, - "30f276d77b0c2f6e44b7ff3bed2e0f95" + "cd404d8c8503a539a152b83fbc2b1acd" ], [ "LowStar.Monotonic.Buffer.mmalloc", @@ -1447,7 +1447,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "add2d7feecb83beb7e842c8ac5a5f6af" + "9b410d0c7080b7b02201128200d01c9d" ], [ "LowStar.Monotonic.Buffer.mmalloc_and_blit", @@ -1468,7 +1468,7 @@ "typing_FStar.UInt32.v" ], 0, - "9dad72d295b93287312a371691eb7c1b" + "854bded8e7ca5d9025066deca2c7d973" ], [ "LowStar.Monotonic.Buffer.mmalloc_partial", @@ -1485,7 +1485,7 @@ "refinement_interpretation_Tm_refine_c53c3591da3f77fb9f2db8075ff367b6" ], 0, - "9cb0d1c09f2c4bcab44e69c9c9699c13" + "425b4fc3cd1d1dd9eab0440781a64374" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -1503,7 +1503,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "da5a1bc339f049f39ce0616a2bfd1a6a" + "9ddfcc4e30b4935ddefbc77b5dc7ef42" ], [ "LowStar.Monotonic.Buffer.malloca_and_blit", @@ -1526,7 +1526,7 @@ "typing_FStar.UInt32.v" ], 0, - "5c28b968d557ed35ad2d896fa697ea72" + "910b0434152e552a7298da9fed7d6482" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", @@ -1539,7 +1539,7 @@ "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" ], 0, - "9af9e2089e949f037d096f608f79dad1" + "f4074e4a61cbbc4dc2a11ce9a211512b" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn", @@ -1553,7 +1553,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "24897510c9c80f9866dc727de3787f95" + "b6f89240f5097aa2a860b4f89c4e4446" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", @@ -1567,7 +1567,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ab3d49d7f42156896301ed4eb76d517e" + "077f0872d1f887e8740ef00dd6bf7b77" ], [ "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", @@ -1588,7 +1588,7 @@ "typing_FStar.UInt32.v" ], 0, - "d465634409d22a10209cb3fbf1f0ed68" + "0ad1aa81c0a90de169002b11db683cdd" ], [ "LowStar.Monotonic.Buffer.blit", @@ -1631,7 +1631,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "24e0d9d36e174b5b62bf30233bc079b8" + "ce6d7ddd480671ff55d6316b2ebc7114" ], [ "LowStar.Monotonic.Buffer.fill", @@ -1657,7 +1657,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "f023cef94c0d9126ed044d64db6cb4e1" + "9f8583b0317a9fdaff4673de9927e130" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -1671,7 +1671,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5ff4cf0dc98c35913f89054f4f8a476b" + "272a0d3c697e5f9ed7282d42bf064c38" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.PrefixFreezableBuffer.fst.hints b/ulib/.cache/LowStar.PrefixFreezableBuffer.fst.hints index 7366ab3169b..613a956e85c 100644 --- a/ulib/.cache/LowStar.PrefixFreezableBuffer.fst.hints +++ b/ulib/.cache/LowStar.PrefixFreezableBuffer.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_08c7fe00e52c8a1d05a53ba00562f3a3" ], 0, - "6cb2c795b8842893ab94ad3c96acf014" + "a8ed39004cb4f4cac172b5f268764667" ], [ "LowStar.PrefixFreezableBuffer.pre", @@ -22,7 +22,7 @@ 0, [ "@query" ], 0, - "253ab575530b91a8c2272aeff4735dbe" + "737e6092a86d1540d1c07d4dfd73d4cc" ], [ "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", @@ -44,7 +44,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a75e646eee5e7585eafdb37d47c0bb9e" + "ac4d119987dc622b770cbb85a33a5a0f" ], [ "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder_elim", @@ -64,7 +64,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ebeaccc3cc5bfa00ef9b3952410e332a" + "23cfacabd4c9d4f1c65e8085c4ffc3e4" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_at_least", @@ -73,7 +73,7 @@ 0, [ "@query" ], 0, - "de095a006af5009ea1cf06d9eb03f7a6" + "c051556e34bfb2b40fe3178176480754" ], [ "LowStar.PrefixFreezableBuffer.slice_is", @@ -93,7 +93,7 @@ "typing_FStar.UInt32.v" ], 0, - "938fb1a54ffe61e450c3a7dfacc34fdc" + "4226be10ad6f86e6b18884b5a309858a" ], [ "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", @@ -111,7 +111,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "5b031afbd650b85b4a1b1f979b455fbc" + "1f6173887663853e38447082bac79faa" ], [ "LowStar.PrefixFreezableBuffer.update_frozen_until_alloc", @@ -146,7 +146,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "a10238b962517103d338909080ab2a2a" + "fda9fd9ecbb0d612cf122edef05aa538" ], [ "LowStar.PrefixFreezableBuffer.gcmalloc", @@ -235,7 +235,7 @@ "typing_Prims.pow2" ], 0, - "c97118f8089ec691e48a82c04309c0d1" + "f5bdd7151af091ef19944ab202ca6337" ], [ "LowStar.PrefixFreezableBuffer.malloc", @@ -324,7 +324,7 @@ "typing_Prims.pow2" ], 0, - "13b6e4b17d760dbdade74331d7be6326" + "cf5c53ac62b6afc1b7a63cc24773a427" ], [ "LowStar.PrefixFreezableBuffer.alloca", @@ -416,7 +416,7 @@ "typing_Prims.pow2" ], 0, - "9e11a839a6423bbc6e4d1b929603a1ca" + "007eac93d3588139db9cee3ea118e231" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -442,7 +442,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "18346831e1667ce4690b0927f7b38e68" + "c2133b62050b41e95955e133617b8007" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -489,7 +489,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "4652062650b5ac7f1a22ebb1561c8f53" + "d14c798dfd4857d23a4a67e32d58cf8c" ], [ "LowStar.PrefixFreezableBuffer.le_pre_post_index", @@ -519,7 +519,7 @@ "typing_FStar.UInt8.t" ], 0, - "82aab4567d38bcc637b031194c0fceb4" + "8b49fd6d4b7a5b86462d2f95675e691d" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -545,7 +545,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "7b4a71bd09a41537db2c78331fa284cc" + "58c6b54860787ed38c5090246188ede7" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -597,7 +597,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "01ddda5354e56545a11f78cd37b61e05" + "4b60f63db8402c081768d4fd55f2c402" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -615,7 +615,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "c42fa86e802360ab590c705447284b49" + "0e710dd7ceeb9d8c2277336bdbb94a9d" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -634,7 +634,7 @@ "refinement_interpretation_Tm_refine_fbc6cdf7a4e822a1f7db80065d517f22" ], 0, - "fbca6ccda6fc5a3b4ef3686fdbcd9cbd" + "30cc8af5e42d7138ca7a68ed339da1ba" ], [ "LowStar.PrefixFreezableBuffer.witness_slice", @@ -694,7 +694,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "c74eb00704b5f072c334e72c7136ea98" + "5fe80c21405a626c662228125e8ddd6d" ], [ "LowStar.PrefixFreezableBuffer.recall_slice", @@ -715,7 +715,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "5dde7e55bedc6080fd4d7bcea79a68ca" + "c59f08d7e13b4ed8ca7e0804b1288540" ], [ "LowStar.PrefixFreezableBuffer.witness_frozen_until", @@ -754,7 +754,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "b92f7ecca5f8aabde0df251af80a6a99" + "303ccd2b8c7f3403df88fadc4ffe8cfa" ], [ "LowStar.PrefixFreezableBuffer.recall_frozen_until", @@ -775,7 +775,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "f27525d3af8c0b3d2524c5a736eb47b0" + "067c4f3308ccab6bd97b8677fdc5af7a" ], [ "LowStar.PrefixFreezableBuffer.recall_frozen_until_default", @@ -799,7 +799,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "b666772ff58ce2d196e2e5be90fb3840" + "9688fcf8db3c11d2eb4cfc5ad5413381" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.PrefixFreezableBuffer.fsti.hints b/ulib/.cache/LowStar.PrefixFreezableBuffer.fsti.hints index 1e2fc3f9a96..5a3a000c655 100644 --- a/ulib/.cache/LowStar.PrefixFreezableBuffer.fsti.hints +++ b/ulib/.cache/LowStar.PrefixFreezableBuffer.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_08c7fe00e52c8a1d05a53ba00562f3a3" ], 0, - "9cb5dfd793eac76936cfbe51d3e23518" + "6228134a16c035e911ee9127cd49afb9" ], [ "LowStar.PrefixFreezableBuffer.pre", @@ -22,7 +22,7 @@ 0, [ "@query" ], 0, - "19cdbdb90b5724c5daefa21cf839d0b4" + "c7ac7efe2a994b42619090ef3d0aa1c1" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_at_least", @@ -31,7 +31,7 @@ 0, [ "@query" ], 0, - "b0c97145f1bc40f025d08363ed96b46b" + "35dae25bb972e7226b5fdf8272a9cd5f" ], [ "LowStar.PrefixFreezableBuffer.slice_is", @@ -51,7 +51,7 @@ "typing_FStar.UInt32.v" ], 0, - "a8da142ae7f08dd777fb5f3dcb263ab5" + "f6d86f1a7cdd74ceceed774834443c1a" ], [ "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", @@ -69,7 +69,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "5a37615118de2b2bc94389dd7dd44531" + "7526742cd731c26021fc9b07f6d95965" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -94,7 +94,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "75e6bfe02ea6fb6829162c04f64f2773" + "2069f240c765b6e3a561834fea5682bb" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -119,7 +119,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "98243ee6b65b7dc65570258ec3a8fa0f" + "a23bc4133029b934479792b29bf6d27f" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -137,7 +137,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "1ec078ca3750e6c468e89ba3b1838019" + "61c2a6a8ab437114796ac27d1fba7c0c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Printf.fst.hints b/ulib/.cache/LowStar.Printf.fst.hints index 0d109c8a0dd..9b40346817c 100644 --- a/ulib/.cache/LowStar.Printf.fst.hints +++ b/ulib/.cache/LowStar.Printf.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_LowStar.Printf.base_typ__uu___haseq" ], 0, - "b510408e6b4e0f52132cb364768c64b9" + "ebe44ae0c12a621eb1874d9f7355fd78" ], [ "LowStar.Printf.__proj__Base__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_9f66bb39275d9d5b77f8ccc15400eabe" ], 0, - "00d79fdadb34709659e27149ff3e1160" + "3b991bdabf2886c95a0ac31418bd5e74" ], [ "LowStar.Printf.__proj__Array__item___0", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_6148b8d0e9c7b9138b37557165b1bfac" ], 0, - "df38b34082bd6e569f5d44baad7a514a" + "8f13b53580a72e14fa6387cba4414c83" ], [ "LowStar.Printf.base_typ_as_type", @@ -59,7 +59,7 @@ "fuel_guarded_inversion_LowStar.Printf.base_typ" ], 0, - "8ec9a380d7ae11184b3cfeedc90503b5" + "e42f14e6beaf25618f06315e4689b1e9" ], [ "LowStar.Printf.fragment", @@ -68,7 +68,7 @@ 1, [ "@query", "assumption_LowStar.Printf.arg__uu___haseq" ], 0, - "4d241ecb366644ef8072b552db515bf4" + "d95ebbcdc831109beecea3dfa6631d70" ], [ "LowStar.Printf.__proj__Frag__item___0", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_722d669b0cd0657fe44a93f2eadb26c0" ], 0, - "cd1868ad0fdc8d558bb743849c5f2b0f" + "79411da492dc5b0e493b994273c9a34b" ], [ "LowStar.Printf.__proj__Interpolate__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_055b832b498eb94d06df5025ab885722" ], 0, - "1441947f457413db2a80aeb072726395" + "a1c54bdeeb4371586e53abc2f7a1c869" ], [ "LowStar.Printf.parse_format", @@ -138,7 +138,7 @@ "well-founded-ordering-on-nat" ], 0, - "827a93115bf764775f92c9fc958baef4" + "5f4eb16977d52bec058184aa6261c11c" ], [ "LowStar.Printf.lift", @@ -147,7 +147,7 @@ 1, [ "@query" ], 0, - "b318f18bf0fae3980765d18d4103f5e0" + "57ac2ac7807901163b2d5e6615649c07" ], [ "LowStar.Printf.arg_t", @@ -163,7 +163,7 @@ "fuel_guarded_inversion_LowStar.Printf.arg" ], 0, - "399949dae955c4704efb3d2c516dc81e" + "2cb3a766223fa8041d1e520262b9e78b" ], [ "LowStar.Printf.live_frags", @@ -207,7 +207,7 @@ "typing_tok_Prims.T@tok" ], 0, - "0b3681344968e9a8eb696eea6fdb39f4" + "adcf609188c78a8d7ea860ee34182d64" ], [ "LowStar.Printf.interpret_frags", @@ -238,7 +238,7 @@ "typing_Prims.__proj__Cons__item__hd" ], 0, - "f9b114295530caf9b8d4b3ea2716c2d0" + "00c71756d004b9b010a43f2527889a58" ], [ "LowStar.Printf.coerce", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "f11795886a01b6c0164155e2b85d1ca7" + "4fda91e4239900b7c3e5380efea08aff" ], [ "LowStar.Printf.print_frags", @@ -364,7 +364,7 @@ "unit_typing" ], 0, - "d77dc3b614bf1a0f8b886bc112fb9483" + "e63e52430ceb7ecd821c917051c152f1" ], [ "LowStar.Printf.aux", @@ -409,7 +409,7 @@ "typing_Prims.__proj__Cons__item__hd" ], 0, - "59c043e448008985ac87620dd17e3dc1" + "6663e8cbb78e6bcf9bd4a4bcccfc4ce4" ], [ "LowStar.Printf.interpret_format_string", @@ -437,7 +437,7 @@ "typing_LowStar.Printf.parse_format_string" ], 0, - "5630cd4a3451395ec1a823d1ef8149c8" + "e24f84fcbdba7ac63d71756364ed787e" ], [ "LowStar.Printf.printf'", @@ -470,7 +470,7 @@ "typing_LowStar.Printf.parse_format_string" ], 0, - "9937d46b9779172a3289e1bfb1ec66cb" + "c476a407ff4f7d7267ae11298317a237" ], [ "LowStar.Printf.intro_normal_f", @@ -479,7 +479,7 @@ 1, [ "@query" ], 0, - "c9424352cfe1080edaf59a1e90aa5f09" + "1cd65091e12b5d2950872e01f796eba1" ], [ "LowStar.Printf.skip'", @@ -524,7 +524,7 @@ "typing_LowStar.Printf.parse_format_string" ], 0, - "6fdbdb27953b37458671e52990c63583" + "fab1cafb09fb64f864c7d3e3c622b21f" ], [ "LowStar.Printf.test", @@ -533,7 +533,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "f1ae376c168e6612407ae87acf15688f" + "582fe5677fe33cb2e76dd13d78e433db" ], [ "LowStar.Printf.test2", @@ -542,7 +542,7 @@ 1, [ "@query" ], 0, - "45872f0cb416f3a19d347b8196eaa12a" + "6b5fc854b396474e74e034353a55dff1" ], [ "LowStar.Printf.test3", @@ -551,7 +551,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "352d9f89ea6599c81f24ef250cb9a149" + "ba83a5803e6580cf85919850e9705b37" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.RVector.fst.hints b/ulib/.cache/LowStar.RVector.fst.hints index 9a8cff7eb06..76c1eee482e 100644 --- a/ulib/.cache/LowStar.RVector.fst.hints +++ b/ulib/.cache/LowStar.RVector.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "f3111bb268672fd5fa303e719a0df3c3" + "89bc227b18e2b61907f532f1595e5d3d" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -29,7 +29,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "961d89c74012a1ec066f985174d37d43" + "8f8b1c08fc2b5a19603e937eca76b448" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -44,7 +44,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "53e139e34b7588f1587c66abc7b7c438" + "0e665016d0b1ad819fa8e4d71deeddfb" ], [ "LowStar.RVector.rv_elems_inv", @@ -68,7 +68,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "1c601e3761543cd84a9ec1b54bfbe6ae" + "70e339ae65be17b4f2e3a9778c8a4770" ], [ "LowStar.RVector.elems_inv", @@ -111,7 +111,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "b9314cb957cf90da6aa6fad39fc16cdd" + "693fade94894eeffdd0f34ae603bdcbf" ], [ "LowStar.RVector.rv_elems_reg", @@ -135,7 +135,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "df431a3718618d06539353134ef119fc" + "8aae82e79276f28112993375dfe810c6" ], [ "LowStar.RVector.elems_reg", @@ -178,7 +178,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "8f8bcd253222bc2ee09cf345cf8ac92d" + "fb353cb0e5193ca85277bd45ea3dcfb6" ], [ "LowStar.RVector.rs_elems_inv_live_region", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_f1f2f094978d3d0de047f2788ba84bd1" ], 0, - "15dae242e323575c4a10d57bdd273a1d" + "f7c6186878c840f2e2bf4fd5e7e5a5b7" ], [ "LowStar.RVector.rs_elems_inv_live_region", @@ -243,7 +243,7 @@ "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" ], 0, - "22fae966005324ca42f06301767cd04a" + "690f4e323fbd000a6e4c429aa0d4c3b1" ], [ "LowStar.RVector.rv_elems_inv_live_region", @@ -269,7 +269,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "04d19802d19e84196103d2218f9dc768" + "b9b7b1fa46829cd4e77d09a79375e910" ], [ "LowStar.RVector.rs_loc_elems", @@ -297,7 +297,7 @@ "well-founded-ordering-on-nat" ], 0, - "e02ae9d54209d73ed65b9b4387ad25f9" + "b05f2f5d1050655c223e149bbbe6b694" ], [ "LowStar.RVector.rv_loc_elems", @@ -321,7 +321,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "2abcd263bb8462cca71360dc556e95eb" + "9e05316f50ff374a505cb3d8adb88207" ], [ "LowStar.RVector.rv_loc_elem", @@ -347,7 +347,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "71e418b162439dada7d2940d95dcf719" + "a36f09e0b199571ba68e80a3886352e6" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_ad18b7adea7c11cbf35529b927ec76c3" ], 0, - "881378c048ab6fd99824ae9131c593ef" + "9ce8a6fac5457f4c514d999829491fbd" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -379,7 +379,7 @@ "refinement_interpretation_Tm_refine_cf9a68d2d6b7304d20d70c242504e32a" ], 0, - "e701fa578a2a5100daa796340fec681e" + "df53b39dc9da17cf527c29badd8117d7" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -420,7 +420,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "bad1c716c1b9b9810590c7a27996d55c" + "ec7eb4a43751456af63abd7a6bae3f39" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -434,7 +434,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "9755f308cd827e866485533eede1472e" + "266d025299343d49027e04e574c5b0c3" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -448,7 +448,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "5052b211120918ea57ee5ebf3ca6b6d7" + "c251f5a221d5c7d489167c925ab9f83e" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -505,7 +505,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "c23ec3ec7d0b2848579a29c86d4e998e" + "8aeed7578d07a435252a5fd72e5d428c" ], [ "LowStar.RVector.rs_loc_elem_included", @@ -548,7 +548,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "664e4aa55cbd8074487a263a8b5f3bab" + "fc8a5407153e2e378d373f44dba5de55" ], [ "LowStar.RVector.rs_loc_elems_included", @@ -560,7 +560,7 @@ "refinement_interpretation_Tm_refine_964d929d32c5cc50d613bad12c6f124e" ], 0, - "c0653158b3520ef81e5be375c6ac93de" + "611ffb8e9fa7b9209ca7cca0999211fe" ], [ "LowStar.RVector.rs_loc_elems_included", @@ -624,7 +624,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "b5a4d4578d25fe4ff32a9a1935d44f9c" + "aae43818f76b4d287a0c6f1febb6896d" ], [ "LowStar.RVector.rv_loc_elems_included", @@ -651,7 +651,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "feaa23ba2957d5a2b03ec738f0ee100f" + "1db2cfeb00675d69e762cbe91962dca2" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -674,7 +674,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "a67799af9197fbe2699c2935c637f0f4" + "c034c38670ce876de190cbea39c52e3a" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -694,7 +694,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6f7c8b7297cd11a307523899eadad3f8" + "d4d72806b3e0921aaf6b8afd82cc726e" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -742,7 +742,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "ffcee86e67d537f418490063fc15cb3d" + "a380da780da7ebcbfc106dbca28e1b5a" ], [ "LowStar.RVector.rs_loc_elem_disj_forall", @@ -764,7 +764,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "cf42a95b51d3aaad20545959fe43a69b" + "bc1222c6207dd4355d782022a3658567" ], [ "LowStar.RVector.rs_loc_elem_disj_forall", @@ -812,7 +812,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "5aaaa1d16946180e1e2b82e2d1b1ad38" + "3db640efc95b4a05de42602e9b5fb1fb" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -828,7 +828,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "a90dc604b71995a79d8d89ea0a842b84" + "a64e9374dd7f131ec59d2c711f0fbc00" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -844,7 +844,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "0eb197e330fb21b648a32314c5c35bbd" + "07cd7353541a63ae18896ecaf02f2001" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -894,7 +894,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "5683c5194132fd4d2663f3b2e531a812" + "66e9e72aa0c02b8020a2057e83d5b1fc" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -912,7 +912,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "c39076a1fce2ae59229de9daa1967b54" + "29ace6e623485c6b0bdf5e4b49dc75e6" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -931,7 +931,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "c40ff0eba495bb54a6a0511037ed70b5" + "748fcfd85dbb7b9433c5f77462d19d74" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -983,7 +983,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "7d445d24ecf03cce3d6c1309352f56df" + "cce62cc5eead022f7d433c3cba822e14" ], [ "LowStar.RVector.rv_loc_elems_disj", @@ -1005,7 +1005,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "28fa0d534853320b214a702bc6fa87c5" + "dad993497690c29ae0e6c9860f83e6db" ], [ "LowStar.RVector.rv_loc_elems_disj", @@ -1040,7 +1040,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "1594fd6b8cdac6051bff52ac43a815f2" + "3b04554e06365b987a14c82b63108688" ], [ "LowStar.RVector.rs_loc_elems_parent_disj", @@ -1052,7 +1052,7 @@ "refinement_interpretation_Tm_refine_89b6b41d44e468b98625d034083ce5b6" ], 0, - "6064fab90dd3e9a9e9fe3994c4846618" + "79052974045a777b682e7d14f11a8fb6" ], [ "LowStar.RVector.rs_loc_elems_parent_disj", @@ -1121,7 +1121,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "e76ef9648b53d02cf8d8120f194a60e7" + "86666c68140854121608e12689ab9d7d" ], [ "LowStar.RVector.rv_loc_elems_parent_disj", @@ -1148,7 +1148,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "d5a414b4b63fd8988b72ec67db2c3d78" + "42c9d72b245ae92d08ec35fb36b33ed5" ], [ "LowStar.RVector.rs_loc_elems_each_disj", @@ -1160,7 +1160,7 @@ "refinement_interpretation_Tm_refine_a5f834eae33f06dfd112e4da03e1561c" ], 0, - "dc136b0c38e93189acb59adc1f1981d0" + "eb249ea6c7fe77ab9af1e929399c6a5b" ], [ "LowStar.RVector.rs_loc_elems_each_disj", @@ -1228,7 +1228,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "6a6a39c8047802f71ded7eeb7d92900e" + "eed31e0b8749ecf4f525d6b6d31c0f87" ], [ "LowStar.RVector.rv_loc_elems_each_disj", @@ -1254,7 +1254,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "dbf929cf26f528b432694d522dfd8967" + "a579e5cd35955559aa9bd34a87d3d6c2" ], [ "LowStar.RVector.rv_loc_elems_preserved", @@ -1346,7 +1346,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "c1a292e0ca29b69fc2df9f0bc0e62bb7" + "6f1d5506b46048e83c0246b3279af04e" ], [ "LowStar.RVector.rs_elems_inv_preserved", @@ -1395,7 +1395,7 @@ "typing_LowStar.RVector.rs_loc_elem", "well-founded-ordering-on-nat" ], 0, - "2d8b9644ded8792d70ca7a80da8e8093" + "311856c973bc4c193564dfbfb1212120" ], [ "LowStar.RVector.rv_elems_inv_preserved", @@ -1425,7 +1425,7 @@ "typing_LowStar.Vector.loc_vector" ], 0, - "0d4b8d7ccf8ef0f266d07b1a9bda2d61" + "057183e9939e4c82240c41c7240cd71c" ], [ "LowStar.RVector.rv_inv_preserved_", @@ -1482,7 +1482,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "e75a443765e966d591e041543af2a289" + "561acc47f4c9e3834d95f6171c533dfc" ], [ "LowStar.RVector.rv_inv_preserved_", @@ -1532,7 +1532,7 @@ "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of" ], 0, - "6ac33edd24de5c4f4a37b458c65db222" + "57cf1ea8db830c18390576ccf4cef59d" ], [ "LowStar.RVector.rv_inv_preserved", @@ -1599,7 +1599,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "34f62dca8a03bb585b4b1fa3e10a5572" + "1bdceb207af6c95e5939b092aaf8a1ed" ], [ "LowStar.RVector.rv_inv_preserved_int", @@ -1695,7 +1695,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.get" ], 0, - "e69ce1a9b613d69e501dee8bdfacebd8" + "240b7076abc6967f7bf2ffdb33f62b0c" ], [ "LowStar.RVector.as_seq_seq", @@ -1721,7 +1721,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "8965026226442496a5cf2cb68f3539da" + "aa86fd464bdce85d84369b1faabff235" ], [ "LowStar.RVector.as_seq_seq", @@ -1749,7 +1749,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "485de92d06646e345833212c2f59639a" + "d39f12bb8251db4ba3cd9e21bed4ea1d" ], [ "LowStar.RVector.as_seq_seq", @@ -1807,7 +1807,7 @@ "well-founded-ordering-on-nat" ], 0, - "968d5a4f161b2cb5632cba3dcea4185e" + "cb6380d0bc2830d305ccc6a961d0fc42" ], [ "LowStar.RVector.as_seq_sub", @@ -1816,7 +1816,7 @@ 1, [ "@query" ], 0, - "babf7dc28d5520dbf54c5aac18fc7c42" + "b5b089bc315b58c8120c9d01adec697d" ], [ "LowStar.RVector.as_seq_sub", @@ -1825,7 +1825,7 @@ 1, [ "@query" ], 0, - "ef67a5b855a2be48fb48a6d494e6e55d" + "d1c5e37da17c1a74e5cc94fab9b7e4ec" ], [ "LowStar.RVector.as_seq_sub", @@ -1850,7 +1850,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "dbdbef10245e3e77c80ad2ba13075f82" + "61c2e898a6ff172e73972caef31607f7" ], [ "LowStar.RVector.as_seq", @@ -1859,7 +1859,7 @@ 1, [ "@query" ], 0, - "979c6641b9cd7d5a70c1bc3111e183a6" + "a39363d46c8ccdb3a7c0693cbdff7d43" ], [ "LowStar.RVector.as_seq", @@ -1904,7 +1904,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "e9722a088567f77dd7ffa35f34196503" + "3c273e3c210fcf056a5ee52d009e9ee3" ], [ "LowStar.RVector.as_seq_sub_as_seq", @@ -1959,7 +1959,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "34ea983902f0db9f7f9c9ce5580d0321" + "4825f63f822c0a6d76441960e4b0d3bc" ], [ "LowStar.RVector.as_seq_sub_as_seq", @@ -1975,7 +1975,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "198513cb37056f3e3bda091bca9b20a5" + "bf999cb39c5fa26b871d27b6ce3bcb0c" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2020,7 +2020,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "657d3bd59ce4a9a810f923549e45cead" + "409d4244c28d6a6df5f92487c6c90d4d" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2065,7 +2065,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "e9f18309bf370df57d64868295d3fbea" + "59c7b6acca53c641c0a663df76f20934" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2143,7 +2143,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "e258290e0f03c1ca71a61958e63c2e47" + "d71b210900a5bac3187f2b3d544bcddb" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2169,7 +2169,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "3d894a102f5cdc389052986277c66c9a" + "b87239ef6032016dc336bb03eafcb877" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2192,7 +2192,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "2550fdc0ab1d5a3aa62c054ed8a47e6f" + "ccbb37b72b65b0bcf64ae7a5a8c38941" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2250,7 +2250,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "ca9500cadf96a35d810801b057d12405" + "06ac10093cd88a400660096bd4f40abd" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2297,7 +2297,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "070db393ebcb2b48a97d83f0d6c1f4ca" + "5744595a1f53b77b1b7ca6950806f624" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2347,7 +2347,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "174c57b9b7dd7edc5592714700019c58" + "dd045af9a586e93205aff7e143e0d50e" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2429,7 +2429,7 @@ "well-founded-ordering-on-nat" ], 0, - "3d2435a77744bc3e5b9b3d54ecdc69dd" + "65e8de6ea2f948f8c5f3dcd8e3e11fbd" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2478,7 +2478,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "29a5ff520122a40ab01e482bd97b32d5" + "782b23d14a85333298e2ee4b5c5f480e" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2527,7 +2527,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "db893c4a0a200cba4ed705ca4d955600" + "ee786bc6b53e0b6a672dd5891acdbb85" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2609,7 +2609,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "490452847916a4d1aa542af59569ebf6" + "a4339c408fe8ede0b1864784421b01fc" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2624,7 +2624,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "34fed8029be779f151bb68d286d40294" + "822a3bb69d1203741dba2c9e31dcb840" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2639,7 +2639,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "a20ed6dbe5621b7c89d61bef4405abe5" + "a3300ce5a2ba3697477c548d9a176136" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2704,7 +2704,7 @@ "well-founded-ordering-on-nat" ], 0, - "d2f1bd636b89a3d91d64b932c681af3b" + "1d135e11ec50bf255d669a820ac6a4cf" ], [ "LowStar.RVector.as_seq_sub_preserved", @@ -2717,7 +2717,7 @@ "refinement_interpretation_Tm_refine_a91e9dd2b692c4b96e7ede497500bc46" ], 0, - "7d254ec152a2ad91cd6073bdf6564ee3" + "2c6d5ae3d5ec42de989ff0cbfce03134" ], [ "LowStar.RVector.as_seq_sub_preserved", @@ -2748,7 +2748,7 @@ "typing_LowStar.Vector.loc_vector" ], 0, - "2e388ed02e07b03c649c56368d6aa590" + "932f3c82cfbf0d8a36fd0f78004b35ec" ], [ "LowStar.RVector.as_seq_preserved_", @@ -2802,7 +2802,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "844e9d1c5d111b40cd2f67d32a9742fa" + "8aab1030cafe868dbe10540b53df9b09" ], [ "LowStar.RVector.as_seq_preserved_", @@ -2849,7 +2849,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "e2a391dddb2856d1121a39803f547237" + "deacdf8d02a7c522bf2097ca53999594" ], [ "LowStar.RVector.as_seq_preserved", @@ -2861,7 +2861,7 @@ "refinement_interpretation_Tm_refine_c00a71fcaf24f00a676e93707de5404b" ], 0, - "34de3f89cd897dab59cb8572cf647da3" + "d1ca4efc3de4b272aeb7e37bf4e24461" ], [ "LowStar.RVector.as_seq_preserved", @@ -2928,7 +2928,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "d1dab95fe74c7b57f054f9cfa56bb782" + "2d60435aab4c844217f7fcea5b1bccbd" ], [ "LowStar.RVector.alloc_empty", @@ -2944,7 +2944,7 @@ "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9" ], 0, - "94a0761270fa26098921a78a7f77835d" + "19c4ae6ca4e66959e2e8ea2e32cecae0" ], [ "LowStar.RVector.alloc_", @@ -2968,7 +2968,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "fc8abd9361180ed426d10abd135979db" + "c051bae68adcbf555d6f228da8fff37f" ], [ "LowStar.RVector.alloc_", @@ -3169,7 +3169,7 @@ "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing" ], 0, - "a10a66b815712240a05573eda7ef47d3" + "72f27e56c0a0ba597b016bf8534fd956" ], [ "LowStar.RVector.alloc_rid", @@ -3187,7 +3187,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "25c568067dc77899d267806962317c0c" + "271d95f633da046a8a5f57598a751f9b" ], [ "LowStar.RVector.alloc_rid", @@ -3277,7 +3277,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "39b17476bd8a1c55ade6c1805b029dfb" + "66eb3d06332813370a1fd206ef9da059" ], [ "LowStar.RVector.alloc_reserve", @@ -3286,7 +3286,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "0dbc05d768c986840ab4d40e7122a608" + "5dd3c727e2cf88461dca7d670ffaf9ac" ], [ "LowStar.RVector.alloc_reserve", @@ -3337,7 +3337,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "7358eeb31edce269b965926d34155c87" + "2dc6936d1202e2f71c28cd3bf204dbc0" ], [ "LowStar.RVector.alloc", @@ -3355,7 +3355,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "5f71079169b716a09bfe485c1d55148e" + "f485d8b23ca0f6975a759c0adee9442f" ], [ "LowStar.RVector.alloc", @@ -3425,7 +3425,7 @@ "typing_LowStar.Vector.loc_vector" ], 0, - "4475bff987cd9b169ca5cc8ff3521588" + "879e78515ce713fa80d0ffe9ab8f32dc" ], [ "LowStar.RVector.insert", @@ -3480,7 +3480,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "13aecfc6479b2d54bce3194e5dc83f5c" + "d7d0e78ece26242a5d92623db4deb3c5" ], [ "LowStar.RVector.insert", @@ -3643,7 +3643,7 @@ "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of" ], 0, - "f5ea98b761463bb7715cb953aa49c7a0" + "e75755376c4632c98054a56782fe5791" ], [ "LowStar.RVector.insert_copy", @@ -3680,7 +3680,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "22915dbba88f01dfa014a02206a50691" + "a5852f00a3522f44326471aeb53f280a" ], [ "LowStar.RVector.insert_copy", @@ -3860,7 +3860,7 @@ "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of" ], 0, - "a1d4916b4a3ea49844a1915e95f61b05" + "8b7879da4b1911fc0789db735830a514" ], [ "LowStar.RVector.assign", @@ -3916,7 +3916,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "8dd2e596a8407a167584319944707fee" + "e74f84e6953039297f4fcbc2216adbd8" ], [ "LowStar.RVector.assign", @@ -4089,7 +4089,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "54becfa65f04e1ddc4975e29f3a2e4ce" + "304bce16e9417f522ab9d7d3afa67912" ], [ "LowStar.RVector.r_sep_forall", @@ -4104,7 +4104,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "263840a67c32276dde90c287b91425c3" + "a8bb17f81ef039f94327a76dcf8b67b3" ], [ "LowStar.RVector.r_sep_forall", @@ -4119,7 +4119,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "d263c230c689b83eb6720e7ef640b940" + "25b255f90f61cb605ff911722d13658c" ], [ "LowStar.RVector.assign_copy", @@ -4147,7 +4147,7 @@ "typing_FStar.UInt32.v" ], 0, - "c6f31ae4d3d990de4f410bb3ae22f564" + "0a706834bc818b9dd58f9f7d56fd398b" ], [ "LowStar.RVector.assign_copy", @@ -4284,7 +4284,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "19ee584fb208cc46281f5ec5b7f43c2c" + "2eefca89f20f590182bef0f06c52afc2" ], [ "LowStar.RVector.free_elems", @@ -4326,7 +4326,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "e68259da9aafa68f33b00a207850266b" + "4ebd21ec073c69d7937ddf5737bbc2a7" ], [ "LowStar.RVector.free_elems", @@ -4442,7 +4442,7 @@ "typing_LowStar.Vector.as_seq", "unit_inversion", "unit_typing" ], 0, - "680078dad78d3ccb6e061a4622e82606" + "b49fc7f428748e55cdab30e99522200c" ], [ "LowStar.RVector.flush", @@ -4475,7 +4475,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "293d094917ba92a9c781ae8c97061ac0" + "7ed1d2a075d83e51a41b0b95e21adbb2" ], [ "LowStar.RVector.flush", @@ -4658,7 +4658,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "46938b9b38a6df6812ffa8f041558643" + "49534a4605068c8414178ca3eaeed384" ], [ "LowStar.RVector.free_elems_from", @@ -4681,7 +4681,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "ff6f28d82104da4be8dcc59a6cb29294" + "d427dbb3e83cfe6f826ac6a1b01a686a" ], [ "LowStar.RVector.free_elems_from", @@ -4809,7 +4809,7 @@ "unit_inversion", "unit_typing" ], 0, - "ec7401070285d4e0c10a1a3db10d326e" + "661d5a505d55d942c507635a15abd86a" ], [ "LowStar.RVector.shrink", @@ -4831,7 +4831,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "823634135bd25a05c59a04ce12f1e6af" + "470d66f5093b399fb5eef9b2ffffe0d7" ], [ "LowStar.RVector.shrink", @@ -4987,7 +4987,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "fffe9fc977e66262bc08771d201ad766" + "685d3cbd7a22350e1bc86030f2a079e9" ], [ "LowStar.RVector.free", @@ -5128,7 +5128,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "faaa46ab9a9f3d2ab008dd1e265a3df2" + "c76b9e5abbee842bac8b97a77eea62de" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Regional.Instances.fst.hints b/ulib/.cache/LowStar.Regional.Instances.fst.hints index ed58f873536..cf5e1c4c10d 100644 --- a/ulib/.cache/LowStar.Regional.Instances.fst.hints +++ b/ulib/.cache/LowStar.Regional.Instances.fst.hints @@ -14,7 +14,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "7072d25c7a3f72ed7e37bc8f0c4c48d4" + "bd3b54619c8d2acabafdc4260aa8a095" ], [ "LowStar.Regional.Instances.buffer_repr", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e89ecc20d3f20b4f4d8378372aae348" + "5e98be88ba48f397f462d25f12beee40" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -45,7 +45,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "14c5441ce4d768d495cdfe58c26c67b4" + "ca27781b4f79af6fa83be76cd2935647" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -62,7 +62,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "3a56963f29b7183e1aa20c6a331408dd" + "fb3bae6d3b20169861703c2af4403529" ], [ "LowStar.Regional.Instances.buffer_r_sep", @@ -79,7 +79,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "d0a122d701c0e08eb9086f20cc82a70a" + "ee6cf33774c40db9ea22a52be1e70f58" ], [ "LowStar.Regional.Instances.buffer_r_sep", @@ -119,7 +119,7 @@ "typing_LowStar.Regional.Instances.buffer_region_of" ], 0, - "6e4e21374226e27e4fddc8eb459ce77e" + "6e2818aa488eba7bf0c5366f5f3a4555" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -141,7 +141,7 @@ "typing_FStar.UInt32.v" ], 0, - "17f96c6acefdc932444dfd84f1af64ba" + "fb660a340707d8d3cc34f6e4e26f5587" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -164,7 +164,7 @@ "typing_FStar.UInt32.v" ], 0, - "848a893e75c58d282baf6a438f1d612a" + "07dbab098df28c01d523883a151b939e" ], [ "LowStar.Regional.Instances.buffer_r_alloc", @@ -179,7 +179,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "452e0e9d51e1057d1ad56cedc0eae254" + "d10465c466ead63a6fddb2062871b45d" ], [ "LowStar.Regional.Instances.buffer_r_alloc", @@ -255,7 +255,7 @@ "typing_LowStar.Regional.Instances.buffer_r_repr" ], 0, - "5974f72da4590f83fa2463a1df085562" + "18a359382c4bd83a6df3f744f81e2ece" ], [ "LowStar.Regional.Instances.buffer_r_free", @@ -298,7 +298,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "d39027e4383461d4f359eb21d3fc3049" + "22232954119c02bd9f9de5ae2ef8840e" ], [ "LowStar.Regional.Instances.buffer_copy", @@ -315,7 +315,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "73b2bbd7edbd299e45b1ab856f32a183" + "94da99cef18f09b1dba9bf6fd890ddb3" ], [ "LowStar.Regional.Instances.buffer_copy", @@ -386,7 +386,7 @@ "typing_LowStar.Regional.Instances.buffer_region_of" ], 0, - "14e986b9d75b1250741d5b8835aac2c8" + "8e04c286b27dbe91edec47a51c0844ba" ], [ "LowStar.Regional.Instances.buffer_regional", @@ -419,7 +419,7 @@ "typing_FStar.UInt32.v" ], 0, - "75413a23871f650bef0a198a117a2649" + "16eff260008cb6d97878f5099dc4626d" ], [ "LowStar.Regional.Instances.buffer_copyable", @@ -456,7 +456,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "667a940544e480197fe7f7070ab0ae42" + "b445e1a74caa3cf9d1350622958c2c87" ], [ "LowStar.Regional.Instances.vector_r_inv_reg", @@ -480,7 +480,7 @@ "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "04ab21e7eee4f04c16941839092fbc59" + "334c65fff574333489d0f6acf33ac72c" ], [ "LowStar.Regional.Instances.vector_r_repr", @@ -489,7 +489,7 @@ 1, [ "@query", "equation_LowStar.Regional.Instances.vector_r_inv" ], 0, - "dc780fb4d823b06abbac624fc85e74bd" + "19270e346bf9d6bd02c678a7351882b0" ], [ "LowStar.Regional.Instances.vector_r_sep", @@ -501,7 +501,7 @@ "refinement_interpretation_Tm_refine_81532a600f70737405b4e2f998ff7d31" ], 0, - "119f8bcf3f6a8a5aa4a8306b8652c78f" + "bda4877166a0d83599d7599252c2d347" ], [ "LowStar.Regional.Instances.vector_r_sep", @@ -531,7 +531,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "e9f040b8636a4ffa17005f0ff63e73d4" + "da3acc5789b171c96bd0a55b9b763dc8" ], [ "LowStar.Regional.Instances.vector_r_alloc", @@ -540,7 +540,7 @@ 1, [ "@query" ], 0, - "ae7450f5f8203210de00400f033d7c32" + "abb8b17fa58f9b614213f6fe086f4235" ], [ "LowStar.Regional.Instances.vector_r_alloc", @@ -669,7 +669,7 @@ "typing_Prims.pow2" ], 0, - "dbb66efeb18bdeb30312634020334cf8" + "0c9873ae8e0d4e133fd1160182440946" ], [ "LowStar.Regional.Instances.vector_r_free", @@ -725,7 +725,7 @@ "typing_LowStar.Vector.loc_addr_of_vector" ], 0, - "c790bb06ec51bd4162ebe7f06174570e" + "a891104f96b4cf650aed3380a71b9134" ], [ "LowStar.Regional.Instances.vector_regional", @@ -793,7 +793,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "7f483798cd37f7b6eb016bce4147a687" + "feec4d9623ce3cad7ec9fe1878f47898" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Regional.fst.hints b/ulib/.cache/LowStar.Regional.fst.hints index 52d83c43da7..1eb7864ba6a 100644 --- a/ulib/.cache/LowStar.Regional.fst.hints +++ b/ulib/.cache/LowStar.Regional.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_718358e92384bc2acf69094450acf35b" ], 0, - "4de0178bf8edecff489cc9025370ae17" + "856c75a24929e4b78815307c54312a2f" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_42aeff1cbaf215a87bd41fcad1d3a34f" ], 0, - "37a13aafdf1e4f5f81f81f847254cd4f" + "96cc6f2a8e18e4cb9af822c6f96c0ffd" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_8f5aab72ba7978f5a2d037757e5c8f31" ], 0, - "b0732261af78c2ce395585a6f930f66f" + "23cb46040c3e974470ed5947e0d334c2" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -46,7 +46,7 @@ 1, [ "@query" ], 0, - "b7c0bfe3f32237035b101d50546aadd9" + "79f89434ef042dbb869009e5e3056772" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -77,7 +77,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "cca5b09e8742c7100b88c816acf38d49" + "db31692732167bde38e8b9a8f0a3664f" ], [ "LowStar.Regional.rg_alloc", @@ -91,7 +91,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "307e3bf28202e982c1e498a219dedf56" + "c6d94706fb780d3ef02730136b29818b" ], [ "LowStar.Regional.rg_free", @@ -107,7 +107,7 @@ "token_correspondence_LowStar.Regional.rg_inv" ], 0, - "c06b0ec55c747f0fe210b237296daa00" + "fac2f85409ebe8e28c4a0a7129ef9956" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.ToFStarBuffer.fst.hints b/ulib/.cache/LowStar.ToFStarBuffer.fst.hints index b4b4d9f8f35..8f8bf7e6cbc 100644 --- a/ulib/.cache/LowStar.ToFStarBuffer.fst.hints +++ b/ulib/.cache/LowStar.ToFStarBuffer.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "fd21c9e5fc972b38efe46398349de86d" + "ab77b8a06a750c8665050ef3a029507f" ], [ "LowStar.ToFStarBuffer.as_addr_old_to_new", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "16b23be4100336fb0029570c51dfeb4b" + "b03fbf834b57b35c72bc2d2da372005a" ], [ "LowStar.ToFStarBuffer.gsub_new_to_old", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1bc72633d49853dcded39f766964ed98" + "ce65490ae4fd810f19c936eafe1670fc" ], [ "LowStar.ToFStarBuffer.gsub_old_to_new", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "84b017d2d9751b4e69f0823c8767512f" + "224010918fa8a9e85296ea4e0215eadf" ], [ "LowStar.ToFStarBuffer.old_and_new_cl", @@ -64,7 +64,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_aloc" ], 0, - "469bf093f40d5d5a997567d9643d0669" + "333b50a218a4e91c1b8860b20c15d167" ], [ "LowStar.ToFStarBuffer.old_to_new_modifies", @@ -91,7 +91,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "6014a262f74d85a64fd0a4dbcff0366f" + "1db6d5286186b5210ae733bf935ade63" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_none", @@ -106,7 +106,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b55696fe32991f47fbb3763587c7b8d0" + "0fec5dbabe563cc9ce84600f5c06bdc0" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_none", @@ -120,7 +120,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "b59cb6c0663a19b19ac2b753253ed55d" + "aca9c06d5b8fea953255131fdeab4e74" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_union", @@ -136,7 +136,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7b23373f34fc68a7b37aaa07c59b2e39" + "0b84bd7a6bb61a0fd3f2dfb583995a48" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_union", @@ -151,7 +151,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_comm" ], 0, - "e0782e2f3eda9f0e68ba1c08822393a6" + "0f6a21042e3a05e1fe826a0b6478a485" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_addresses", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cd14da36c0efa12c43a94de992e42bf4" + "94deb3ec8bfc9c9193b6883dfecf0760" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_addresses", @@ -180,7 +180,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d42a3f59d7e9ca5ea4bd35038706d7d3" + "601401cd4c64d0e37ccc00d8c9fc9776" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_addresses", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "57a55566ad27de5e5c5707e00ee431e9" + "fe7b12dad915db6d65e9e5d75a2fdf1f" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_addresses", @@ -208,7 +208,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "46068b5170a9cce61f69d877e6b59c0a" + "7473a6b96bbec22f636f6ee172143607" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_regions", @@ -223,7 +223,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9ca99a11bbc4148ef08fac36f94b1468" + "84d61d87aa0f21428a1974195fd2b9dc" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_regions", @@ -237,7 +237,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "5a9a17e97e8808a2fae04356f49d0efb" + "0b0003abd058183d4e747ac161f7796e" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", @@ -251,7 +251,7 @@ "equation_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "0c97a2b72dffedaa9bb703d0e1910058" + "1677137e0418020435041e739fb4167c" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_none", @@ -265,7 +265,7 @@ "equation_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "e6fdf9fbc67df4ca8418da468ffdd653" + "b28f7d26eedb97c8d7d176b3ef2ffad5" ], [ "LowStar.ToFStarBuffer.coerce", @@ -277,7 +277,7 @@ "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "bb8aab25127e5a783be62da4b596b204" + "079ddd55108aeb62a9780c5de44dafe1" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_union", @@ -296,7 +296,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "c844c6043e1c556b8cf18b90847757f2" + "f1761361960dd8d8c810d11143354cb8" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_addresses", @@ -310,7 +310,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62a4050ae5b4621306b517c2cb6c0b42" + "acb358dc38780e369024c61a2f373784" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_addresses", @@ -326,7 +326,7 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses" ], 0, - "6c7b5bbbee9e928293fea422b9c432f9" + "feed874f734ba653204d7f49f117c770" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_regions", @@ -342,7 +342,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "0f53fd7466add629a66512f2c0d8ad0a" + "8558420b7c378dbe4191215f831cce2c" ], [ "LowStar.ToFStarBuffer.old_to_new_modifies'", @@ -351,7 +351,7 @@ 1, [ "@query" ], 0, - "cfd2c1592ca6ee5389ab2cb96076ab16" + "cf0bc4d68dcfa694028877bd4d6e931e" ], [ "LowStar.ToFStarBuffer.modifies_0_modifies", @@ -374,7 +374,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "83f542c4bbdf0c6da99bfff3ee950047" + "a5236097f32af9aa9cba52605970df6a" ], [ "LowStar.ToFStarBuffer.modifies_1_modifies", @@ -395,7 +395,7 @@ "typing_LowStar.ToFStarBuffer.new_to_old_ghost" ], 0, - "33a1274903d054ab85eeecdbc9fb9947" + "b1a6e70214e9fbc0db1e49525bdab885" ], [ "LowStar.ToFStarBuffer.modifies_2_modifies", @@ -423,7 +423,7 @@ "typing_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "a86787c24f6f9b6cc809d81bd2786ae5" + "13f76dae33bc71ad62ebc46f5a079053" ], [ "LowStar.ToFStarBuffer.ex1", @@ -466,7 +466,7 @@ "typing_LowStar.ToFStarBuffer.new_to_old_ghost" ], 0, - "b032be94b63be452746547cc381c23a1" + "4e9eae289cad6795dbb9946ff6ea82eb" ], [ "LowStar.ToFStarBuffer.new_eqb", @@ -520,7 +520,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "6339b9d14970bbcb3f24e17f9345e93f" + "76cc2698136e2809377a1c535f248676" ], [ "LowStar.ToFStarBuffer.new_blit", @@ -567,7 +567,7 @@ "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "f7cbc4632ab5516aad438d3a5655e131" + "c5561f60163642debd15abd3d0fe52f6" ], [ "LowStar.ToFStarBuffer.new_fill", @@ -612,7 +612,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "d67d5d2ef3c18782b7d036b58c8b3861" + "ba02c94cf402915ba41e5183681b8529" ], [ "LowStar.ToFStarBuffer.ex1'", @@ -667,7 +667,7 @@ "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "8029d027f53fb47bcbb76cc4a060d753" + "c62c723b267138844d6fdae662355c25" ], [ "LowStar.ToFStarBuffer.ex1''", @@ -697,7 +697,7 @@ "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "dc83d62460726714412dd297b92fd4d4" + "79ae856c6ea3b0e95e8523b280c0824c" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.UninitializedBuffer.fst.hints b/ulib/.cache/LowStar.UninitializedBuffer.fst.hints index f09064954f3..42b85a1e680 100644 --- a/ulib/.cache/LowStar.UninitializedBuffer.fst.hints +++ b/ulib/.cache/LowStar.UninitializedBuffer.fst.hints @@ -18,7 +18,7 @@ "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5331cf39cf2a499400da544fe118c78a" + "5da1e8069a3b49ce7fcb2c2cfc60c52f" ], [ "LowStar.UninitializedBuffer.uindex", @@ -48,7 +48,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "69a4c0e263cad32dc47a6faaa1d015b3" + "d33b788b053f00918667bc0b26883bf8" ], [ "LowStar.UninitializedBuffer.uupd", @@ -100,7 +100,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "9b29c6005988a1990a5dcd37d465fd0b" + "c4f6e093e19e25db07a539f72b127118" ], [ "LowStar.UninitializedBuffer.ugcmalloc", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_b6a3dd939315ba29644bfc855e16c500" ], 0, - "fb050449397884153a2b16a2d2159486" + "d5de0381eaabbdbe8780d3061de54899" ], [ "LowStar.UninitializedBuffer.ugcmalloc_partial", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_68d4074054df2bfcbaf4824f0cb08ff4" ], 0, - "ed432af6e6fe640e99c1c9ee1bafb18e" + "d9eca1df5e91c52252b1dd287e06b873" ], [ "LowStar.UninitializedBuffer.umalloc", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" ], 0, - "653cdd640e3e0ab51905aa353bab7d5c" + "f44e46673badc5bd75361bca4ccc792f" ], [ "LowStar.UninitializedBuffer.umalloc_partial", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" ], 0, - "3e17d9fea2c528f1d6ffcebfffa675ee" + "215a7b0afdf3c462576a61fbed769378" ], [ "LowStar.UninitializedBuffer.ualloca", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_6413a577f72a80a6b328303f1b5f8ced" ], 0, - "57df0a9da1fca712e86c4fdf7e34be08" + "26370f87e9562b2fa828e15a31b07908" ], [ "LowStar.UninitializedBuffer.ublit_post_j", @@ -233,7 +233,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "a22b4b8ea1ea724ca5191039b0e37959" + "a1a556acb1aad58dd9ba059b9096e668" ], [ "LowStar.UninitializedBuffer.ublit", @@ -301,7 +301,7 @@ "unit_inversion", "unit_typing" ], 0, - "4b1c7371147a13934f7a742b8d55dc96" + "4bef3d847fa36c31f2f1db00023f59d1" ], [ "LowStar.UninitializedBuffer.witness_initialized", @@ -335,7 +335,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "b466c436519fd71c5ae22a199f2dfaaf" + "049cf95455369049c742c10ce80e2946" ], [ "LowStar.UninitializedBuffer.recall_initialized", @@ -359,7 +359,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "bcceafcddfccc2f305e3bf8249acd453" + "c16d87f54b56025cbb175755e580ac23" ], [ "LowStar.UninitializedBuffer.buffer_immutable_buffer_disjoint", @@ -443,7 +443,7 @@ "typing_tok_Prims.T@tok", "unit_inversion", "unit_typing" ], 0, - "ebe64911a8aed9827d472211f5d856d1" + "9ef4bcd07b831e02c07963c9f509ffab" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/LowStar.Vector.fst.hints b/ulib/.cache/LowStar.Vector.fst.hints index 2effedfd7cc..d741fc8b87f 100644 --- a/ulib/.cache/LowStar.Vector.fst.hints +++ b/ulib/.cache/LowStar.Vector.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5359af8e226337916eca3b3758e76ad8" + "b670a5f99666f7fb6ec8dc4c6d8e0810" ], [ "LowStar.Vector.as_seq", @@ -59,7 +59,7 @@ "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "7e709abe3eb50acdff080d5a1a42511d" + "a8cdacdadd69ebc2739bf590e07dfdd7" ], [ "LowStar.Vector.loc_vector_within", @@ -82,7 +82,7 @@ "typing_FStar.UInt32.v" ], 0, - "686c8642ef843b027a0c4698ed5d1013" + "03af403fcdc02e5815e4972214041939" ], [ "LowStar.Vector.loc_vector_within", @@ -106,7 +106,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "ca76620bcc9865171bcf2cde4c9e06d0" + "b53a4abbd78052efb536cbfc3d60a695" ], [ "LowStar.Vector.loc_vector_within", @@ -167,7 +167,7 @@ "well-founded-ordering-on-nat" ], 0, - "78e70b7bda341a3ef1f4a797ba743e5b" + "d728d451c492964304f3e585bbc6346b" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -191,7 +191,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "75ce44fee3d9b829cf0774001305f0ad" + "ac076ad4e15f353f9daab82a1b252911" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -216,7 +216,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "c13ba84f0e2a6a93809e4521d4999ce9" + "5e4f38f344db7efbda5a4a1b6f18322f" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -284,7 +284,7 @@ "well-founded-ordering-on-nat" ], 0, - "13421b2d8370a8fecf62dc2008c01113" + "707fbeea76c9597fc4344016d745e461" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -309,7 +309,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "3419164a17318ecaed7df06cde2e5dad" + "c31d9a1c6e5a17f1033e62579c3a5fc8" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -335,7 +335,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "2d35204cb6a41f1c0965af15b8047939" + "4deea06983fba9b8e8a52d70f59172b5" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -401,7 +401,7 @@ "well-founded-ordering-on-nat" ], 0, - "3243d761cabae7d011fc2bfed5de5c84" + "e0a66f939534f3661fa304d1da8be976" ], [ "LowStar.Vector.loc_vector_within_included", @@ -424,7 +424,7 @@ "typing_FStar.UInt32.v" ], 0, - "57de8fde9821da2d78429609add71f4d" + "52e952c2daa953efe7f46a11e96a5847" ], [ "LowStar.Vector.loc_vector_within_included", @@ -448,7 +448,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "3e7fdb909271541218b665ce472f9436" + "0aabd5b64c8772614da8d020937f30c1" ], [ "LowStar.Vector.loc_vector_within_included", @@ -516,7 +516,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "833cf2fcf30cec5c74a8d1ee1ee57ceb" + "b476a5e6e7cd5f37ca3a49107a703e5b" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -551,7 +551,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "0bc1648b06f0282850cbd86ff054a490" + "2f1665f02ab9b9694fdfc634f7dac10f" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -588,7 +588,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "c16844bd350fad8db5f7aca0b01d7f4b" + "b614e7f2de735ffc3fa3cdd815d9bea0" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -663,7 +663,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "3ff1c9037cd15c9e537296b54dc6c9d7" + "8bb09ee3bf28f28179677f8f3b246906" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -686,7 +686,7 @@ "typing_FStar.UInt32.v" ], 0, - "531cf5c4bd9defd84a6d3aca8122dd42" + "5d9f9af6ef54bc64b1b3ce4527beb0f1" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -711,7 +711,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "f874e69dc459ee3c5831c5c50a16e56b" + "7944cd8fd6ea88dc6f6c95fa28b740fa" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -783,7 +783,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "6d945b646ab4d1d07741d829117584cf" + "da483787b9c3008050cf61ce21b2f373" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -819,7 +819,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "7d4b442f7f09a4f9dcbbb557a3dfd23a" + "3365c8319d3475bb84d565bcb1ec9126" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -853,7 +853,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "0973640db0c2e188222788b0bf7c2457" + "d21ea62845f12cecdc5cb4e0ef14860d" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -911,7 +911,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "314d4cc0d4f32b39d44383fb6a3c5874" + "33a88b48f4ba48ad6ce7a095fad5e7d3" ], [ "LowStar.Vector.modifies_as_seq", @@ -920,7 +920,7 @@ 1, [ "@query" ], 0, - "aefd585a06188257a739cf8457bbe2e9" + "c29558220645865240a6dae1a3d4093a" ], [ "LowStar.Vector.modifies_as_seq", @@ -976,7 +976,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "549abd473bc324280ddb21254bdfd05a" + "5e2da486017d9f8fa0cdc29a2fbc9a1c" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1008,7 +1008,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "d9abe7bdf49b1268b9befbb01ed3cd53" + "e8914344b260dd68f4ec0ec03d3514da" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1041,7 +1041,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "b42898700f7809c4a43a077c5bf65803" + "36e323c2e9b6980e7ef0b066ff57f89a" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1134,7 +1134,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "8641a9b954b9b867be58878d60ac20d5" + "3e9e076a3607626dbeb23f17d62fbb54" ], [ "LowStar.Vector.alloc_empty", @@ -1159,7 +1159,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "8fd2af9afdd5efe2333f999f843504e0" + "95dc01bb8704f31515bbb6b70c4bb90d" ], [ "LowStar.Vector.alloc_empty_as_seq_empty", @@ -1193,7 +1193,7 @@ "typing_LowStar.Vector.alloc_empty", "typing_LowStar.Vector.as_seq" ], 0, - "5bee11bca6fc143cf2c8e15a4658c14b" + "9ee95f6ffb228a37c42fad1635d6fba9" ], [ "LowStar.Vector.alloc_rid", @@ -1212,7 +1212,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "8d157139ae57094489ce25b9c7a0ac1d" + "934c6d4e34cbe1e9534243c227a11f4b" ], [ "LowStar.Vector.alloc_rid", @@ -1297,7 +1297,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "2fcefbe5e93caaddba37169f648a2f68" + "85738d1c6c0f24b7ae5c2db941ed45dc" ], [ "LowStar.Vector.alloc", @@ -1316,7 +1316,7 @@ "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "3de7101f923fe350d1bdec48dda60a05" + "c1c92b8435a5ffa64fe64a0888d0ed7c" ], [ "LowStar.Vector.alloc", @@ -1346,7 +1346,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "9b4226da5343cb21a364b53f214adaba" + "ba64a75dd44c365948b5aaa5c0feaeba" ], [ "LowStar.Vector.alloc_reserve", @@ -1418,7 +1418,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "3f3b0397cd10afb99e745a075667aea4" + "f32384f8286ba7a07c3938c725b9d10b" ], [ "LowStar.Vector.alloc_by_buffer", @@ -1485,7 +1485,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "3deb87c1c75bf4b7be915159bfeebf72" + "b713a6a9e298c99d8810153744ba1311" ], [ "LowStar.Vector.free", @@ -1502,7 +1502,7 @@ "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534" ], 0, - "00b061dc731f7f4837bcd1054a884df5" + "a4793517ae0331d2a4286ea3f11773b5" ], [ "LowStar.Vector.get", @@ -1522,7 +1522,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "fc6e2982b309c18f2bdcbd6d3ab0d54f" + "e9e2e5c83b057ba9638ec51a136940d2" ], [ "LowStar.Vector.index", @@ -1542,7 +1542,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "59817c231e9cd0457dc4af209e82dcf2" + "316b16860905d2455ffa2d2d1f54e025" ], [ "LowStar.Vector.index", @@ -1596,7 +1596,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "37068687c1050a4ff1b4769b3dbdd72a" + "279887c4c11ba1c6b56218a67ed03550" ], [ "LowStar.Vector.front", @@ -1619,7 +1619,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "f780a822ab4190580ddbe7c62b24921e" + "63e988d66b0dbd2f4eccacdc6496c1af" ], [ "LowStar.Vector.front", @@ -1686,7 +1686,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "d9e9e69883e191aee71c54c46bf818ee" + "67028b44047b1c79c0a019fa99be9973" ], [ "LowStar.Vector.back", @@ -1725,7 +1725,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "89a3b21b409148970ec91a848fe244e6" + "8ae6a4a4d5ffaa485126aedbb9514fb1" ], [ "LowStar.Vector.back", @@ -1802,7 +1802,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "354945201793fecf3c0012c448137b76" + "722d2b788c2cbc6eb724c400e225d65c" ], [ "LowStar.Vector.clear", @@ -1835,7 +1835,7 @@ "typing_LowStar.Vector.__proj__Vec__item__sz" ], 0, - "4497071db8c4d00ffa728067564a886a" + "0ea7e81d5225b7524cf7a4f01bf16cab" ], [ "LowStar.Vector.clear_as_seq_empty", @@ -1886,7 +1886,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.clear" ], 0, - "d7efa39bd7f6f03561bf1de5e9642ba3" + "345c1fe8e273fbe180a7d85b0ed334f8" ], [ "LowStar.Vector.slice_append", @@ -1903,7 +1903,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "2b521a4553bbbe682b84389ae7a7037f" + "5753e08ffc7fd8dd53a9eab457a3d840" ], [ "LowStar.Vector.slice_append", @@ -1940,7 +1940,7 @@ "typing_FStar.Seq.Base.slice" ], 0, - "ca3fd89dfecba162a07df1a09013cc0b" + "4da85c9093f04a44fd50702c90b4126c" ], [ "LowStar.Vector.assign", @@ -1979,7 +1979,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "9602216a218d54e2aa40a56ecda331b1" + "9ad59d959de603dd82965eea882f24b3" ], [ "LowStar.Vector.assign", @@ -2085,7 +2085,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "00cd3733d3f9fc65a728f2c0e4b1004d" + "835637eb8d9cbb414fba5107d30b9692" ], [ "LowStar.Vector.new_capacity", @@ -2131,7 +2131,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.max_uint32" ], 0, - "e8426e55ce4d0717454d9e7266aa0cac" + "a713a85fbc6f97bedb8cc2da90d09cc0" ], [ "LowStar.Vector.insert", @@ -2178,7 +2178,7 @@ "typing_LowStar.Vector.max_uint32" ], 0, - "7a9f8612b6b452ec828dbdab6b09b1cd" + "29659266b9e4c55739d9d816ae0e8769" ], [ "LowStar.Vector.insert", @@ -2345,7 +2345,7 @@ "typing_LowStar.Vector.resize_ratio" ], 0, - "48c74d0c0b8110280daeff95dae1b96a" + "d390a337af0de9fb8cf2d57a16e6a01d" ], [ "LowStar.Vector.flush", @@ -2400,7 +2400,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "d80e1e39917275c00cf1e83d42aae6f7" + "5f0fa31497792efa84799c27d934cc1a" ], [ "LowStar.Vector.flush", @@ -2529,7 +2529,7 @@ "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of" ], 0, - "97072591fa11f2d3dcc058398861f7d0" + "41699c5e7b1416c9637154a5a84b5d79" ], [ "LowStar.Vector.shrink", @@ -2546,7 +2546,7 @@ "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf" ], 0, - "16a19e06fcebe7f660ad85cf9397e1ea" + "2a5c149dc9a3f2c0be46355496546d52" ], [ "LowStar.Vector.fold_left_seq", @@ -2570,7 +2570,7 @@ "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "5cbcc2f7cc2d7e164bf42225508f4963" + "405ff6b2040fd17cd714cd635db852f1" ], [ "LowStar.Vector.fold_left_buffer", @@ -2658,7 +2658,7 @@ "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" ], 0, - "cbc5153e157f205c59c04336803ca52a" + "1f2350740226f15ce56bb88dd77ae76d" ], [ "LowStar.Vector.fold_left", @@ -2710,7 +2710,7 @@ "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "5c88f648d4ef7e2f81402cfe9eae666a" + "bd78b523c9c98df1f05405b6d9b0b1a4" ], [ "LowStar.Vector.forall_seq", @@ -2724,7 +2724,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "240874e6e7bc1ccd6b7c991aaf1c1d94" + "09718624031cb03f0369b644eaa880fb" ], [ "LowStar.Vector.forall_buffer", @@ -2737,7 +2737,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "304987ad8a36589ecf7ceb9e4a628116" + "67027db2aee6c25d718511fb07be5443" ], [ "LowStar.Vector.forall_", @@ -2759,7 +2759,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "54c2904097feb94c229dba5c75855c04" + "1a6161cd277b1d6ac2c24694c689e9eb" ], [ "LowStar.Vector.forall_all", @@ -2799,7 +2799,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "8e8ad54c1f4b17e4cb24e17551145548" + "864a0675d98d43adaf647e344dba14a1" ], [ "LowStar.Vector.forall2_seq", @@ -2821,7 +2821,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "df9fa886f1fd2f3f6adf66fefef2d952" + "c7f4c785295edd203b3be7c7c00b8770" ], [ "LowStar.Vector.forall2_buffer", @@ -2834,7 +2834,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "814ee3e95d247b83ad0afa23b6ef9d56" + "a38a7a1a5781709368e77ef12df41fbf" ], [ "LowStar.Vector.forall2", @@ -2856,7 +2856,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "cb781c5f95226775145a664e14d0afed" + "631d73a9a330c5e045953983b4db53e3" ], [ "LowStar.Vector.forall2_all", @@ -2896,7 +2896,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "16eebcaa7fccef458c2239335e992a83" + "e696edb8d53c0252b7718009e596aff4" ], [ "LowStar.Vector.get_as_seq_index", @@ -2929,7 +2929,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "891caa97a984a28107922f1ddc21ee39" + "f289ea21b1ad13190705a04d4a769fe4" ], [ "LowStar.Vector.get_as_seq_index", @@ -2971,7 +2971,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "2f52bed96f4e2df7e8e5a61df6be1d4f" + "ed84040d9a46b1cc58de9d285350366b" ], [ "LowStar.Vector.get_preserved", @@ -3004,7 +3004,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "cb6736f46d950e73e2114d659a250e33" + "aec2e637305cd6bd6ee3a1ee7b070f39" ], [ "LowStar.Vector.get_preserved", @@ -3076,7 +3076,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "c962858e6a148cff427ddf523da05f38" + "34d7e31cf0c8ce04193f4e4eccdab6a3" ], [ "LowStar.Vector.get_preserved_within", @@ -3085,7 +3085,7 @@ 1, [ "@query" ], 0, - "eb4a59bb7ce1c58a3641bafa6b6bd59f" + "265b38ed705b99c1c9fa6e2e818fe802" ], [ "LowStar.Vector.get_preserved_within", @@ -3127,7 +3127,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "510bb7e1972e32c9cdca276e8d10040f" + "47935127cbbafd1c45bff90d17a7a900" ], [ "LowStar.Vector.forall_seq_ok", @@ -3141,7 +3141,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "bdca084b58d14841932f03a6c4713bf3" + "54d489b2d4977c6ea1211dddc7da4ade" ], [ "LowStar.Vector.forall_seq_ok", @@ -3150,7 +3150,7 @@ 1, [ "@query", "equation_LowStar.Vector.forall_seq" ], 0, - "763a9ae39958057a56a756946de1be9a" + "4068db5873b600727d42da6ddaadf2a9" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3173,7 +3173,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "ce4c43d42a862985a577422d23a6c994" + "9fddbb36a9340304fd82fd763a89909a" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3193,7 +3193,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "088fcefaee931ae3968425b9e6ec7dbb" + "a9d3d41fe03dc4a42180d867644d0d49" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3202,7 +3202,7 @@ 1, [ "@query", "equation_LowStar.Vector.forall2_seq" ], 0, - "183830dd9fa588a8bf7bca19685da34b" + "ae643969b00615729a569afa78cb210a" ], [ "LowStar.Vector.forall_as_seq", @@ -3221,7 +3221,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "992d163f502d7538952d7c520ac2a9b2" + "caf09378cda905463cfd11e106a6c7c8" ], [ "LowStar.Vector.forall_as_seq", @@ -3235,7 +3235,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f8d7cbd513f53f23bc6909b03b72f1de" + "3bb349a856fc702774fcb55caedf72e9" ], [ "LowStar.Vector.forall_as_seq", @@ -3268,7 +3268,7 @@ "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" ], 0, - "ef1f3f89ec1bb2c2be993836bed9a016" + "0c086b4db2501ae17bf9ae25fa728cd6" ], [ "LowStar.Vector.forall_preserved", @@ -3306,7 +3306,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "04c0f9f32d236636cc2db8918aa68a9f" + "fc4d0ef3843e5c2fdbbceeca4f2cf280" ], [ "LowStar.Vector.forall2_extend", @@ -3355,7 +3355,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "75140ecc487c806d49b20725dc8ca1ea" + "aff83c8045f933cfab0522cbe80c1e6d" ], [ "LowStar.Vector.forall2_extend", @@ -3400,7 +3400,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "7248da408274c95997d8ee751e2eda19" + "05169586909309fa3458c272d7c73183" ], [ "LowStar.Vector.forall2_forall_left", @@ -3422,7 +3422,7 @@ "typing_FStar.UInt32.v" ], 0, - "eebc16606f25e3f0703f305a47c62b4a" + "e911b99afe60be729e9bd49c5c66e33a" ], [ "LowStar.Vector.forall2_forall_left", @@ -3457,7 +3457,7 @@ "typing_FStar.UInt32.v" ], 0, - "bc5c7b717dbe12475370c43516d2e975" + "1641b829b55bba0dc5a5375bfb69eda2" ], [ "LowStar.Vector.forall2_forall_right", @@ -3496,7 +3496,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "6fae472dc1b9f86aaf8b7dd69443d4a7" + "2867c7b6fd45beb451939d7663b285e5" ], [ "LowStar.Vector.forall2_forall_right", @@ -3556,7 +3556,7 @@ "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "cdb5cce39d677998a83272d71d45c187" + "f03a6a1f44d5019fc2979bf3474e3a1f" ] ] ] \ No newline at end of file diff --git a/ulib/.cache/prims.fst.hints b/ulib/.cache/prims.fst.hints index c53565ce710..ce81666a00f 100644 --- a/ulib/.cache/prims.fst.hints +++ b/ulib/.cache/prims.fst.hints @@ -1,5 +1,5 @@ [ - "ù\u001eé•ÐNLõ¦­ñ\u0006YgáH", + "Ì\u0005\u0000µ³5±ZÿåæS^c¯–", [ [ "Prims.op_Equals_Equals_Equals", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "bc6963a9036e41e9608af571dc0a0343" + "aa8bdf6bebfb4b56ada23a6bde1c00cb" ], [ "Prims.list", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "5f8fd7da2d5c3afb6cfc6a58d7b418eb" + "6cdd7c1abf2e11e4832a85ae5b8ea9a8" ], [ "Prims.__proj__Cons__item__hd", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "b182afee33b9b333614803adaddb5006" + "77cc378bdc87b5a872b6bd521562e1a2" ], [ "Prims.__proj__Cons__item__tl", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "8c5cad3dc0459b98f5f2073f9a771117" + "dde0bffa2657be97041158ae91d2b33a" ], [ "Prims._assert", @@ -52,7 +52,7 @@ 1, [ "@query" ], 0, - "9890cc61081207acb7234ea6b60b8f56" + "965171f1c71244e37676b156c569af44" ], [ "Prims.cut", @@ -61,7 +61,7 @@ 1, [ "@query" ], 0, - "92745040c930c9a9641d54dbc6b9c189" + "5b079583fbe30869bd69cbea3908d82f" ], [ "Prims.pow2", @@ -79,7 +79,7 @@ "well-founded-ordering-on-nat" ], 0, - "8f376d3ee25503f36dd7bd91a99df775" + "88158efb9e6952b25d81abbff66d2c20" ] ] ] \ No newline at end of file diff --git a/ulib/.gitignore b/ulib/.gitignore index 90fdcad5e7c..fd6c867cee3 100644 --- a/ulib/.gitignore +++ b/ulib/.gitignore @@ -10,3 +10,5 @@ fs/extracted dep.graph dep_simpl.graph depgraph.pdf + +depgraph-* diff --git a/ulib/FStar.BigOps.fst b/ulib/FStar.BigOps.fst index 223406bdc41..552c224774c 100644 --- a/ulib/FStar.BigOps.fst +++ b/ulib/FStar.BigOps.fst @@ -14,7 +14,7 @@ limitations under the License. *) module FStar.BigOps -module T = FStar.Tactics +module T = FStar.Tactics.V2 let normal_eq (#a:Type) (f:a) = () diff --git a/ulib/FStar.Class.Add.fst b/ulib/FStar.Class.Add.fst new file mode 100644 index 00000000000..e98b4c94fbb --- /dev/null +++ b/ulib/FStar.Class.Add.fst @@ -0,0 +1,40 @@ +(* + Copyright 2008-2023 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.Class.Add + +(* A class for (additive, whatever that means) monoids *) +class additive a = { + zero : a; + plus : a -> a -> a; +} + +val (++) : #a:_ -> {| additive a |} -> a -> a -> a +let (++) = plus + +instance add_int : additive int = { + zero = 0; + plus = (+); +} + +instance add_bool : additive bool = { + zero = false; + plus = ( || ); +} + +instance add_list #a : additive (list a) = { + zero = []; + plus = List.Tot.Base.append; +} diff --git a/ulib/FStar.Class.Eq.Raw.fst b/ulib/FStar.Class.Eq.Raw.fst new file mode 100644 index 00000000000..b096fd3fde1 --- /dev/null +++ b/ulib/FStar.Class.Eq.Raw.fst @@ -0,0 +1,57 @@ +(* + Copyright 2008-2023 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.Class.Eq.Raw + +class deq a = { + eq : a -> a -> bool; +} + +let eq_instance_of_eqtype (#a:eqtype) : deq a = { + eq = (fun x y -> x = y) +} + +// FIXME: It would be easier to have a single eqtype instance, +// but resolution will sometimes use for any type, even though +// it should not. +instance int_has_eq : deq int = eq_instance_of_eqtype +instance unit_has_eq : deq unit = eq_instance_of_eqtype +instance bool_has_eq : deq bool = eq_instance_of_eqtype +instance string_has_eq : deq string = eq_instance_of_eqtype + +let rec eqList #a (eq : a -> a -> bool) (xs ys : list a) : Tot bool = + match xs, ys with + | [], [] -> true + | x::xs, y::ys -> eq x y && eqList eq xs ys + | _, _ -> false + +instance eq_list (_ : deq 'a) : deq (list 'a) = { + eq = eqList eq; +} + +instance eq_pair (_ : deq 'a) (_ : deq 'b) : deq ('a * 'b) = { + eq = (fun (a,b) (c,d) -> eq a c && eq b d) +} + +instance eq_option (_ : deq 'a) : deq (option 'a) = { + eq = (fun o1 o2 -> + match o1, o2 with + | None, None -> true + | Some x, Some y -> eq x y + | _, _ -> false); +} + +val (=) : #a:Type -> {| deq a |} -> a -> a -> bool +let (=) = eq diff --git a/ulib/FStar.Class.Eq.fst b/ulib/FStar.Class.Eq.fst new file mode 100644 index 00000000000..eba5bcfac2c --- /dev/null +++ b/ulib/FStar.Class.Eq.fst @@ -0,0 +1,72 @@ +(* + Copyright 2008-2023 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.Class.Eq + +open FStar.Tactics.Typeclasses +module Raw = FStar.Class.Eq.Raw + +let decides_eq (#a:Type) (f : a -> a -> bool) : prop = + forall x y. f x y <==> x == y + +class deq a = { + raw : Raw.deq a; + eq_dec : squash (decides_eq raw.eq); +} + +(* Superclass *) +instance deq_raw_deq (a:Type) (d:deq a) : Raw.deq a = d.raw + +let eq (#a:Type) {| d : deq a |} (x y : a) : bool = + d.raw.eq x y + +let eq_instance_of_eqtype (#a:eqtype) {| Raw.deq a |} : deq a = { + raw = Raw.eq_instance_of_eqtype #a; + eq_dec = (); +} + +instance int_has_eq : deq int = eq_instance_of_eqtype +instance unit_has_eq : deq unit = eq_instance_of_eqtype +instance bool_has_eq : deq bool = eq_instance_of_eqtype +instance string_has_eq : deq string = eq_instance_of_eqtype + +let eqList_ok (#a:Type) (d : deq a) : Lemma (decides_eq #(list a) (Raw.eqList d.raw.eq)) = + let rec aux (xs ys : list a) : Lemma (Raw.eqList d.raw.eq xs ys <==> xs == ys) = + match xs, ys with + | x::xs, y::ys -> + aux xs ys + | [], [] -> () + | _ -> () + in + Classical.forall_intro_2 aux; + () + +instance eq_list (d : deq 'a) : deq (list 'a) = { + raw = Raw.eq_list d.raw; + eq_dec = eqList_ok d; +} + +instance eq_pair (_ : deq 'a) (_ : deq 'b) : deq ('a * 'b) = { + raw = solve; + eq_dec = (); +} + +instance eq_option (_ : deq 'a) : deq (option 'a) = { + raw = solve; + eq_dec = (); +} + +val (=) : #a:Type -> {| deq a |} -> a -> a -> bool +let (=) = eq diff --git a/ulib/FStar.Printable.fst b/ulib/FStar.Class.Printable.fst similarity index 99% rename from ulib/FStar.Printable.fst rename to ulib/FStar.Class.Printable.fst index 2e6033c81f8..8f781012915 100644 --- a/ulib/FStar.Printable.fst +++ b/ulib/FStar.Class.Printable.fst @@ -16,7 +16,7 @@ Authors: Brian G. Milnes *) -module FStar.Printable +module FStar.Class.Printable open FStar.String open FStar.Seq.Properties diff --git a/ulib/FStar.Class.TotalOrder.Raw.fst b/ulib/FStar.Class.TotalOrder.Raw.fst new file mode 100644 index 00000000000..ec055f2a041 --- /dev/null +++ b/ulib/FStar.Class.TotalOrder.Raw.fst @@ -0,0 +1,88 @@ +(* + 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 FStar.Class.TotalOrder.Raw + +open FStar.Order + +let flip = function + | Lt -> Gt + | Eq -> Eq + | Gt -> Lt + +let raw_comparator (a:Type) = a -> a -> order + +class totalorder (a:Type) = { + compare : raw_comparator a; +} + +val (<) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (<) x y = compare x y = Lt + +val (>) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (>) x y = compare x y = Gt + +val (=) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (=) x y = compare x y = Eq + +val (<=) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (<=) x y = compare x y <> Gt + +val (>=) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (>=) x y = compare x y <> Lt + +val (<>) : #t:Type -> {|totalorder t|} -> t -> t -> bool +let (<>) x y = compare x y <> Eq + +instance _ : totalorder int = { + compare = Order.compare_int; +} + +instance _ : totalorder bool = { + compare = (fun b1 b2 -> match b1, b2 with | false, false | true, true -> Eq | false, _ -> Lt | _ -> Gt); +} + +(* Lex order on tuples *) +instance totalorder_pair #a #b (d1 : totalorder a) (d2 : totalorder b) : totalorder (a & b) = { + compare = (fun (xa,xb) (ya, yb) -> + match compare xa ya with + | Lt -> Lt + | Gt -> Gt + | Eq -> compare xb yb); +} + +instance totalorder_option #a (d : totalorder a) : totalorder (option a) = { + compare = (fun o1 o2 -> match o1, o2 with + | None, None -> Eq + | None, Some _ -> Lt + | Some _, None -> Gt + | Some a1, Some a2 -> compare a1 a2); +} + +let rec raw_compare_lists #a (d : totalorder a) : raw_comparator (list a) = + fun l1 l2 -> + match l1, l2 with + | [], [] -> Eq + | [], _::_ -> Lt + | _::_, [] -> Gt + | x::xs, y::ys -> + match compare x y with + | Lt -> Lt + | Gt -> Gt + | Eq -> raw_compare_lists d xs ys + +instance totalorder_list #a (d : totalorder a) : totalorder (list a) = { + compare = raw_compare_lists d; +} diff --git a/ulib/FStar.FiniteMap.Base.fst b/ulib/FStar.FiniteMap.Base.fst index 3159ff0bb25..0a1b1fde69f 100644 --- a/ulib/FStar.FiniteMap.Base.fst +++ b/ulib/FStar.FiniteMap.Base.fst @@ -40,7 +40,7 @@ open FStar.FunctionalExtensionality module FLT = FStar.List.Tot module FSet = FStar.FiniteSet.Base open FStar.FiniteSet.Ambient -module T = FStar.Tactics +module T = FStar.Tactics.V2 // Finite maps type map (a: eqtype) (b: Type u#b) = (keys: FSet.set a) & (setfun_t a b keys) diff --git a/ulib/FStar.FunctionalExtensionality.fst b/ulib/FStar.FunctionalExtensionality.fst index dd6a3ce6fe1..20d368a78ba 100644 --- a/ulib/FStar.FunctionalExtensionality.fst +++ b/ulib/FStar.FunctionalExtensionality.fst @@ -32,7 +32,7 @@ let quantifier_as_lemma (#a:Type) (#b: a -> Type) : Lemma (b x) = () -open FStar.Tactics.Builtins +open FStar.Tactics.V2.Builtins open FStar.Reflection.Types open FStar.Tactics.Types open FStar.Tactics.Effect diff --git a/ulib/FStar.HyperStack.ST.fsti b/ulib/FStar.HyperStack.ST.fsti index b2814b3a567..1d406287a92 100644 --- a/ulib/FStar.HyperStack.ST.fsti +++ b/ulib/FStar.HyperStack.ST.fsti @@ -17,7 +17,6 @@ module FStar.HyperStack.ST open FStar.HyperStack -module W = FStar.Monotonic.Witnessed module HS = FStar.HyperStack open FStar.Preorder diff --git a/ulib/FStar.Map.fsti b/ulib/FStar.Map.fsti index fde0b9e45ab..8f38448be9e 100644 --- a/ulib/FStar.Map.fsti +++ b/ulib/FStar.Map.fsti @@ -105,7 +105,7 @@ val lemma_SelConst: #key:eqtype -> #value:Type -> v:value -> k:key -> [SMTPat (sel (const v) k)] val lemma_SelRestrict: #key:eqtype -> #value:Type -> m:t key value -> ks:S.set key -> k:key -> - Lemma (requires True) (ensures (S.mem k ks ==> sel (restrict ks m) k == sel m k)) + Lemma (requires True) (ensures (sel (restrict ks m) k == sel m k)) [SMTPat (sel (restrict ks m) k)] val lemma_SelConcat1: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> k:key -> diff --git a/ulib/FStar.ModifiesGen.fst b/ulib/FStar.ModifiesGen.fst index eb44cd01a61..0eaacb449e9 100644 --- a/ulib/FStar.ModifiesGen.fst +++ b/ulib/FStar.ModifiesGen.fst @@ -15,6 +15,9 @@ *) module FStar.ModifiesGen +#set-options "--split_queries no" +#set-options "--using_facts_from '*,-FStar.Tactics,-FStar.Reflection,-FStar.List'" + module HS = FStar.HyperStack module HST = FStar.HyperStack.ST @@ -30,7 +33,6 @@ let aloc_domain (#al: aloc_t) (c: cls al) (regions: Ghost.erased (Set.set HS.rid module F = FStar.FunctionalExtensionality - [@@(unifier_hint_injective)] let i_restricted_g_t = F.restricted_g_t @@ -43,14 +45,13 @@ 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 } ) (non_live_addrs: i_restricted_g_t - (addrs_dom regions) - (non_live_addrs_codom regions region_liveness_tags)) + (addrs_dom regions) + (non_live_addrs_codom regions region_liveness_tags)) (r:addrs_dom regions) = (y: GSet.set nat { GSet.subset (non_live_addrs r) y } ) noeq @@ -60,15 +61,15 @@ type loc' (#al: aloc_t u#x) (c: cls al) : Type u#x = (region_liveness_tags: Ghost.erased (Set.set HS.rid) { Ghost.reveal region_liveness_tags `Set.subset` Ghost.reveal regions } ) -> (non_live_addrs: i_restricted_g_t - (addrs_dom regions) - (non_live_addrs_codom regions region_liveness_tags)) -> + (addrs_dom regions) + (non_live_addrs_codom regions region_liveness_tags)) -> (live_addrs: i_restricted_g_t - (addrs_dom regions) + (addrs_dom regions) (live_addrs_codom regions region_liveness_tags non_live_addrs)) -> (aux: Ghost.erased (GSet.set (aloc c)) { aloc_domain c regions live_addrs `GSet.subset` Ghost.reveal aux /\ - Ghost.reveal aux `GSet.subset` (aloc_domain c regions (fun _ -> GSet.complement GSet.empty)) + Ghost.reveal aux `GSet.subset` (aloc_domain c regions (fun _ -> GSet.complement GSet.empty)) } ) -> loc' c @@ -77,16 +78,16 @@ let loc = loc' let mk_non_live_addrs (#regions:_) (#region_liveness_tags:_) (f: (x:addrs_dom regions -> GTot (non_live_addrs_codom regions region_liveness_tags x))) : i_restricted_g_t - (addrs_dom regions) - (non_live_addrs_codom regions region_liveness_tags) = + (addrs_dom regions) + (non_live_addrs_codom regions region_liveness_tags) = F.on_dom_g _ f let mk_live_addrs (#regions:_) (#region_liveness_tags:_) (#non_live_addrs_codom: _) (f: (x:addrs_dom regions -> GTot (live_addrs_codom regions region_liveness_tags non_live_addrs_codom x))) : i_restricted_g_t - (addrs_dom regions) - (live_addrs_codom regions region_liveness_tags non_live_addrs_codom) = + (addrs_dom regions) + (live_addrs_codom regions region_liveness_tags non_live_addrs_codom) = F.on_dom_g _ f let loc_none #a #c = @@ -610,7 +611,7 @@ 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" +#push-options "--z3rlimit 15" 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)))) @@ -626,7 +627,6 @@ let loc_disjoint_regions #al #c preserve_liveness1 preserve_liveness2 rs1 rs2 = // FIXME: WHY WHY WHY this assert? assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux (loc_regions #_ #c preserve_liveness1 rs1))) (Ghost.reveal (Loc?.aux (loc_regions #_ #c preserve_liveness2 rs2)))) - let loc_none_in_some_region #a (c: cls a) (r: HS.rid) : GTot (loc c) = Loc (Ghost.hide (Set.singleton r)) @@ -635,17 +635,6 @@ let loc_none_in_some_region #a (c: cls a) (r: HS.rid) : GTot (loc c) = (mk_live_addrs (fun _ -> GSet.empty)) (Ghost.hide GSet.empty) -let dummy #a (c: cls a) (r: HS.rid) : Tot unit = - let l = loc_none_in_some_region c r in - let l1 = loc_region_only false r in - let l2 = loc_none in - assert ((l1 `loc_union` l2) `loc_includes` l); - assert (l1 `loc_disjoint` l); - assert (l1 `loc_disjoint` l2); - assert (~ (l2 `loc_includes` l)) - -#push-options "--z3rlimit 128" - (** Liveness-insensitive memory locations *) let address_liveness_insensitive_locs #al c = @@ -816,9 +805,9 @@ let modifies_preserves_alocs_intro then begin if GSet.mem a (addrs_of_loc_aux s r) then - Classical.move_requires (f r a) b + Classical.move_requires (f r a) b else - c.same_mreference_aloc_preserved b h1 h2 (fun a' pre' r' -> ()) + c.same_mreference_aloc_preserved b h1 h2 (fun a' pre' r' -> ()) end else if Set.mem r (regions_of_loc s) then begin assert (GSet.mem a (addrs_of_loc_weak s r)); @@ -945,7 +934,6 @@ val modifies_intro_strong : Lemma (modifies l h h') -#reset-options "--z3rlimit 100 --initial_fuel 1 --max_fuel 1" let modifies_intro_strong #al #c l h h' regions mrefs lives unused_ins alocs = Classical.forall_intro (Classical.move_requires regions); assert (modifies_preserves_regions l h h'); @@ -958,7 +946,7 @@ let modifies_intro_strong #al #c l h h' regions mrefs lives unused_ins alocs = assert_norm (Loc?.region_liveness_tags (loc_mreference #_ #c p) == Ghost.hide Set.empty); assert (loc_disjoint_region_liveness_tags (loc_mreference p) l); // FIXME: WHY WHY WHY is this assert necessary? - assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux (loc_mreference p))) (Ghost.reveal (Loc?.aux l))); + assert_spinoff (loc_aux_disjoint (Ghost.reveal (Loc?.aux (loc_mreference p))) (Ghost.reveal (Loc?.aux l))); // FIXME: Now this one is too :) assert (loc_disjoint_addrs (loc_mreference p) l); assert ((loc_disjoint (loc_mreference p) l)); @@ -975,8 +963,6 @@ let modifies_intro_strong #al #c l h h' regions mrefs lives unused_ins alocs = alocs r a b ) -#reset-options - let modifies_intro #al #c l h h' regions mrefs lives unused_ins alocs = modifies_intro_strong l h h' regions @@ -1046,7 +1032,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" +#push-options "--z3rlimit 20 --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 @@ -1083,8 +1069,6 @@ let modifies_preserves_region_liveness_aloc #al #c l1 l2 h h' #r #n x = assert (GSet.subset (Loc?.non_live_addrs l1 r) (Loc?.live_addrs l1 r)) end else () -// #reset-options - let modifies_trans' (#al: aloc_t) (#c: cls al) (s: loc c) @@ -1113,7 +1097,7 @@ let addr_unused_in_aloc_preserved (ensures (c.aloc_preserved b h1 h2)) = c.same_mreference_aloc_preserved b h1 h2 (fun a' pre r' -> assert False) -#push-options "--z3rlimit_factor 2" +#push-options "--z3rlimit 10" let modifies_only_live_regions_weak (#al: aloc_t) (#c: cls al) (rs: Set.set HS.rid) @@ -1287,8 +1271,7 @@ let modifies_loc_regions_intro #al #c rs h1 h2 = f r a b ) -#set-options "--z3rlimit 16" - +#push-options "--z3rlimit 20" let modifies_loc_addresses_intro_weak (#al: aloc_t) (#c: cls al) (r: HS.rid) @@ -1320,7 +1303,6 @@ 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); @@ -1334,8 +1316,6 @@ let modifies_loc_addresses_intro #al #c r s l h1 h2 = loc_includes_restrict_to_regions l (Set.complement (Set.singleton r)) #pop-options -#reset-options - let modifies_ralloc_post #al #c #a #rel i init h x h' = let g (r: HS.rid) (a: nat) (b: al r a) : Lemma (c.aloc_preserved b h h') @@ -1374,14 +1354,12 @@ let modifies_upd #al #c #t #pre r v h = (fun r n -> ()) (fun r a b -> c.same_mreference_aloc_preserved #r #a b h h' (fun a' pre' r' -> ())) -#push-options "--z3rlimit 16" - +#push-options "--z3rlimit 15" let addrs_of_loc_loc_union_loc_of_aloc_eq_loc_union_loc_addresses_singleton (#al: aloc_t) (#c: cls al) (l: loc c) (#r0: HS.rid) (#a0: nat) (al0: al r0 a0) (r: HS.rid) : Lemma (addrs_of_loc (loc_union l (loc_of_aloc al0)) r == addrs_of_loc (loc_union l (loc_addresses true r0 (Set.singleton a0))) r) = assert (addrs_of_loc (loc_union l (loc_of_aloc al0)) r `GSet.equal` addrs_of_loc (loc_union l (loc_addresses true r0 (Set.singleton a0))) r) - #pop-options let addrs_of_loc_weak_loc_includes #al (#c: cls al) (l: loc c) (r0: HS.rid) (a0: nat) : Lemma @@ -1405,8 +1383,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 256 --max_fuel 0 --max_ifuel 0" - +#push-options "--z3rlimit 15 --fuel 0 --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); assert (modifies_preserves_regions (loc_union l (loc_of_aloc al0)) h h'); @@ -1431,10 +1408,14 @@ let modifies_strengthen' #al #c l #r0 #a0 al0 h h' alocs = end else begin assert (loc_disjoint (loc_union l (loc_addresses true r0 (Set.singleton a0))) (loc_of_aloc b)) + by (let open FStar.Tactics.V2.Builtins in + let open FStar.Tactics.SMT in + set_rlimit 64; + set_options "--z3cliopt 'smt.qi.eager_threshold=5'"; + ()) end ); assert (modifies (loc_union l (loc_of_aloc al0)) h h') - #pop-options let modifies_strengthen #al #c l #r0 #a0 al0 h h' alocs = @@ -1483,7 +1464,6 @@ let disjoint_addrs_of_loc_loc_disjoint let l2' = Ghost.reveal (Loc?.aux l2) in assert (forall (b1 b2: aloc c) . (GSet.mem b1 l1' /\ GSet.mem b2 l2') ==> aloc_disjoint b1 b2) - let loc_not_unused_in #al c h = let f (r: HS.rid) : GTot (GSet.set nat) = GSet.comprehend (fun a -> StrongExcludedMiddle.strong_excluded_middle (HS.live_region h r /\ ~ (h `does_not_contain_addr` (r, a)))) @@ -1516,23 +1496,22 @@ let loc_addresses_unused_in #al c r a h = () let loc_addresses_not_unused_in #al c r a h = () -#reset-options "--z3cliopt 'smt.qi.eager_threshold=100' --z3rlimit_factor 4" +#push-options "--z3rlimit 15" 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 (loc_disjoint #al #c (loc_unused_in #al c h) - (loc_not_unused_in #al c h)) - + assert_spinoff (loc_disjoint #al #c (loc_unused_in #al c h) + (loc_not_unused_in #al c h)) +#pop-options -#push-options "--initial_fuel 2 --max_fuel 2 --initial_ifuel 1 --max_ifuel 1" +#push-options "--z3cliopt 'smt.qi.eager_threshold=100'" 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" +#push-options "--z3rlimit 16" let modifies_address_liveness_insensitive_unused_in #al c h h' = assert (forall r . HS.live_region h r ==> HS.live_region h' r) ; let ln' = loc_not_unused_in c h' in @@ -1544,9 +1523,10 @@ let modifies_address_liveness_insensitive_unused_in #al c h h' = assert (forall (r: HS.rid) . Loc?.non_live_addrs lu' r `GSet.subset` Loc?.non_live_addrs lu r); assert (forall (r: HS.rid) . Loc?.live_addrs lu' r `GSet.subset` Loc?.live_addrs lu r); assert (lu `loc_includes` lu') +#pop-options +#pop-options -#reset-options -#push-options "--max_fuel 0 --max_ifuel 0" +#push-options "--max_fuel 0 --max_ifuel 0 --z3rlimit 16" 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'); @@ -1557,8 +1537,7 @@ let modifies_only_not_unused_in #al #c l h h' = then c.same_mreference_aloc_preserved b h h' (fun a' pre' r' -> ()) else () ) - -#set-options "--z3rlimit 16" +#pop-options let mreference_live_loc_not_unused_in #al c #t #pre h b = Classical.move_requires (does_not_contain_addr_addr_unused_in h) (HS.frameOf b, HS.as_addr b); @@ -1567,14 +1546,14 @@ 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 "--z3cliopt 'smt.qi.eager_threshold=100'" - +#push-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); loc_addresses_unused_in c (HS.frameOf b) (Set.singleton (HS.as_addr b)) h; loc_includes_addresses_addresses c false true (HS.frameOf b) (Set.singleton (HS.as_addr b)) (Set.singleton (HS.as_addr b)); loc_includes_trans (loc_unused_in c h) (loc_freed_mreference b) (loc_mreference b); () +#pop-options (* * Compositionality *) @@ -1730,7 +1709,6 @@ 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)) = @@ -1790,7 +1768,6 @@ let mem_union_aux_of_aux_left_elim [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)))) @@ -1805,12 +1782,10 @@ let addrs_of_loc_union_loc_of_loc let union_loc_of_loc_none #al c b = assert (loc_equal #_ #(cls_union c) (union_loc_of_loc c b (loc_none #_ #(c b))) (loc_none #_ #(cls_union c))) -#set-options "--z3rlimit 16" - +#push-options "--z3rlimit 15" 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 "--z3cliopt 'smt.qi.eager_threshold=100'" +#pop-options 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)) @@ -1818,8 +1793,7 @@ let union_loc_of_loc_addresses #al c b preserve_liveness r n = let union_loc_of_loc_regions #al c b preserve_liveness r = assert (loc_equal #_ #(cls_union c) (union_loc_of_loc c b (loc_regions #_ #(c b) preserve_liveness r)) (loc_regions #_ #(cls_union c) preserve_liveness r)) -#set-options "--z3rlimit 32" - +#push-options "--z3rlimit 15" let union_loc_of_loc_includes_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1840,9 +1814,9 @@ let union_loc_of_loc_includes_intro let doml = aloc_domain (cls_union c) (Loc?.regions larger) (Loc?.live_addrs larger) in let doms = aloc_domain (cls_union c) (Loc?.regions smaller) (Loc?.live_addrs smaller) in assert (doml `loc_aux_includes` doms) +#pop-options -#reset-options "--z3rlimit 200 --max_fuel 0 --max_ifuel 0 --smtencoding.valid_intro true --smtencoding.valid_elim true" - +#push-options "--fuel 0 --ifuel 0 --z3rlimit 50 --z3cliopt 'smt.qi.eager_threshold=1'" let union_loc_of_loc_includes_elim (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1900,17 +1874,26 @@ let union_loc_of_loc_includes_elim assert (forall (r: HS.rid) (a: nat) (x: aloc (c b)) . (GSet.mem x auxs /\ GSet.mem x.addr (addrs_of_loc_weak smaller x.region)) ==> GSet.mem x (GSet.union auxl doml) + ) by ( + let open FStar.Tactics.V2.Builtins in + set_options "--z3cliopt 'smt.qi.eager_threshold=1'"; + () ); - assert (larger `loc_includes'` smaller) - -#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" + assert (larger `loc_includes'` smaller) by ( + let open FStar.Tactics.V2.Builtins in + let open FStar.Tactics.SMT in + set_rlimit 75; + set_options "--z3cliopt 'smt.qi.eager_threshold=1'"; + () + ); + () +#pop-options let union_loc_of_loc_includes #al c b s1 s2 = Classical.move_requires (union_loc_of_loc_includes_elim c b s1) s2; Classical.move_requires (union_loc_of_loc_includes_intro c b s1) s2 -#set-options "--z3rlimit 32" - +#push-options "--fuel 0 --ifuel 0" let union_loc_of_loc_disjoint_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1946,18 +1929,28 @@ let union_loc_of_loc_disjoint_intro xl.addr `GSet.mem` addrs_of_loc_weak larger xl.region /\ xs.addr `GSet.mem` addrs_of_loc smaller xs.region /\ aloc_disjoint xl xs - )); + )) by ( + let open FStar.Tactics.V2.Builtins in + let open FStar.Tactics.SMT in + set_rlimit 64; + set_options "--z3cliopt 'smt.qi.eager_threshold=1'"; + () + ); assert (doml ` loc_aux_disjoint` auxs); assert (forall (xl xs: aloc (cls_union c)) . (GSet.mem xl auxl /\ GSet.mem xs doms) ==> ( xl.addr `GSet.mem` addrs_of_loc larger xl.region /\ xs.addr `GSet.mem` addrs_of_loc_weak smaller xs.region /\ aloc_disjoint xl xs - )); + )) by ( + let open FStar.Tactics.SMT in + set_rlimit 15; + () + ); assert (auxl ` loc_aux_disjoint` doms); - assert (loc_disjoint_aux larger' smaller') - -#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" + assert (loc_disjoint_aux larger' smaller'); + () +#pop-options #push-options "--z3rlimit 32" let union_loc_of_loc_disjoint_elim @@ -1983,8 +1976,7 @@ let union_loc_of_loc_disjoint #al c b s1 s2 = Classical.move_requires (union_loc_of_loc_disjoint_elim c b s1) s2; Classical.move_requires (union_loc_of_loc_disjoint_intro c b s1) s2 -#set-options "--z3rlimit 32" - +#push-options "--z3rlimit 32" let modifies_union_loc_of_loc_elim (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -2016,7 +2008,9 @@ let modifies_union_loc_of_loc_elim Classical.forall_intro (Classical.move_requires g); assert ((cls_union c).aloc_preserved (make_cls_union_aloc b b') h1 h2) ) +#pop-options +#push-options "--z3rlimit 32" let modifies_union_loc_of_loc_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -2064,8 +2058,7 @@ let modifies_union_loc_of_loc_intro Classical.forall_intro (Classical.move_requires f); assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux l)) (GSet.singleton ll)) ) - -#reset-options +#pop-options let modifies_union_loc_of_loc #al c b l h1 h2 = Classical.move_requires (modifies_union_loc_of_loc_elim c b l h1) h2; @@ -2087,7 +2080,6 @@ 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)) @@ -2160,8 +2152,7 @@ let raise_loc_addresses #al #c preserve_liveness r a = let raise_loc_regions #al #c preserve_liveness r = assert (raise_loc u#x u#y (loc_regions #_ #c preserve_liveness r) `loc_equal` loc_regions preserve_liveness r) -#set-options "--z3rlimit 16" - +#push-options "--z3rlimit 15 --z3cliopt 'smt.qi.eager_threshold=100'" let raise_loc_includes #al #c l1 l2 = let l1' = raise_loc l1 in let l2' = raise_loc l2 in @@ -2170,8 +2161,7 @@ let raise_loc_includes #al #c l1 l2 = assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l1)) <==> GSet.mem (upgrade_aloc x) (Ghost.reveal (Loc?.aux l1'))); 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 "--z3cliopt 'smt.qi.eager_threshold=100'" +#pop-options let raise_loc_disjoint #al #c l1 l2 = let l1' = raise_loc l1 in diff --git a/ulib/FStar.Pervasives.fst b/ulib/FStar.Pervasives.fst index 79be0ec9e98..ce0c46da13f 100644 --- a/ulib/FStar.Pervasives.fst +++ b/ulib/FStar.Pervasives.fst @@ -185,3 +185,5 @@ let no_subtyping = () let admit_termination = () let singleton #_ x = x + +let coercion = () diff --git a/ulib/FStar.Pervasives.fsti b/ulib/FStar.Pervasives.fsti index 94e6f8ce76d..a811a6a513b 100644 --- a/ulib/FStar.Pervasives.fsti +++ b/ulib/FStar.Pervasives.fsti @@ -1184,3 +1184,5 @@ unfold let eqtype_as_type (a:eqtype) : Type = a along a provable equality (as in the body of this function). Occasionally, you may need to apply this explicitly *) let coerce_eq (#a:Type) (#b:Type) (_:squash (a == b)) (x:a) : b = x + +val coercion : unit diff --git a/ulib/FStar.Reflection.Formula.fst b/ulib/FStar.Reflection.Formula.fst index 4bb49c059eb..3e8ff064485 100644 --- a/ulib/FStar.Reflection.Formula.fst +++ b/ulib/FStar.Reflection.Formula.fst @@ -14,222 +14,6 @@ limitations under the License. *) module FStar.Reflection.Formula -open FStar.List.Tot -open FStar.Tactics.Effect -open FStar.Tactics.Builtins -open FStar.Reflection.Builtins -open FStar.Reflection.Types -open FStar.Reflection.Derived -open FStar.Reflection.Const -open FStar.Reflection.Data -///// Cannot open FStar.Tactics.Derived here ///// -private let bv_to_string (bv : bv) : Tac string = - let bvv = inspect_bv bv in - unseal (bvv.bv_ppname) -private let rec inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) = - match inspect t with - | Tv_AscribedT t _ _ _ - | Tv_AscribedC t _ _ _ -> - inspect_unascribe t - | tv -> tv -private let rec collect_app' (args : list argv) (t : term) - : Tac (term * list argv) = - match inspect_unascribe t with - | Tv_App l r -> - collect_app' (r::args) l - | _ -> (t, args) -private let collect_app = collect_app' [] -///// - -noeq type comparison = - | Eq of option typ (* Propositional equality (eq2), maybe annotated *) - | BoolEq of option typ (* Decidable, boolean equality (eq), maybe annotated *) - | Lt | Le | Gt | Ge (* Orderings, at type `int` (and subtypes) *) - -noeq type formula = - | True_ : formula - | False_ : formula - | Comp : comparison -> term -> term -> formula - | And : term -> term -> formula - | Or : term -> term -> formula - | Not : term -> formula - | Implies: term -> term -> formula - | Iff : term -> term -> formula - | Forall : bv -> typ -> term -> formula - | Exists : bv -> typ -> term -> formula - | App : term -> term -> formula - | Name : bv -> formula - | FV : fv -> formula - | IntLit : int -> formula - | F_Unknown : formula // Also a baked-in "None" - -let mk_Forall (typ : term) (pred : term) : Tac formula = - let b = pack_bv ({ bv_ppname = as_ppname "x"; - bv_index = 0; }) in - Forall b typ (pack_ln (Tv_App pred (pack_ln (Tv_BVar b), Q_Explicit))) - -let mk_Exists (typ : term) (pred : term) : Tac formula = - let b = pack_bv ({ bv_ppname = as_ppname "x"; - bv_index = 0; }) in - Exists b typ (pack_ln (Tv_App pred (pack_ln (Tv_BVar b), Q_Explicit))) - -let term_as_formula' (t:term) : Tac formula = - match inspect_unascribe t with - | Tv_Var n -> - Name n - - | Tv_FVar fv - | Tv_UInst fv _ -> - // Cannot use `when` clauses when verifying! - let qn = inspect_fv fv in - if qn = true_qn then True_ - else if qn = false_qn then False_ - else FV fv - - // TODO: l_Forall - // ...or should we just try to drop all squashes? - // TODO: b2t at this point ? - | Tv_App h0 t -> begin - let (h, ts) = collect_app h0 in - let h = un_uinst h in - match inspect_ln h, ts@[t] with - | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit); (a3, Q_Explicit)] -> - let qn = inspect_fv fv in - if qn = eq2_qn then Comp (Eq (Some a1)) a2 a3 - else if qn = eq1_qn then Comp (BoolEq (Some a1)) a2 a3 - else if qn = lt_qn then Comp Lt a2 a3 - else if qn = lte_qn then Comp Le a2 a3 - else if qn = gt_qn then Comp Gt a2 a3 - else if qn = gte_qn then Comp Ge a2 a3 - else App h0 (fst t) - | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] -> - let qn = inspect_fv fv in - if qn = imp_qn then Implies a1 a2 - else if qn = and_qn then And a1 a2 - else if qn = iff_qn then Iff a1 a2 - else if qn = or_qn then Or a1 a2 - // Non-annotated comparisons - else if qn = eq2_qn then Comp (Eq None) a1 a2 - else if qn = eq1_qn then Comp (BoolEq None) a1 a2 - else App h0 (fst t) - - | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit)] -> - let qn = inspect_fv fv in - if qn = forall_qn then mk_Forall a1 a2 - else if qn = exists_qn then mk_Exists a1 a2 - else App h0 (fst t) - | Tv_FVar fv, [(a, Q_Explicit)] -> - let qn = inspect_fv fv in - if qn = not_qn then Not a - else if qn = b2t_qn then begin - if term_eq a (`false) then False_ - else if term_eq a (`true) then True_ - else App h0 (fst t) - end - else App h0 (fst t) - | _ -> - App h0 (fst t) - end - - | Tv_Const (C_Int i) -> - IntLit i - - (* Not formulas. *) - | Tv_Let _ _ _ _ _ _ - | Tv_Match _ _ _ - | Tv_Type _ - | Tv_Abs _ _ - | Tv_Arrow _ _ - | Tv_Uvar _ _ - | Tv_Unknown - | Tv_Unsupp - | Tv_Refine _ _ _ -> F_Unknown - - (* Other constants? *) - | Tv_Const _ -> F_Unknown - - (* Should not occur, we're using inspect_ln *) - | Tv_BVar _ -> F_Unknown - -// Unsquashing -let term_as_formula (t:term) : Tac formula = - match unsquash_term t with - | None -> F_Unknown - | Some t -> - term_as_formula' t - -let term_as_formula_total (t:term) : Tac formula = - term_as_formula' (maybe_unsquash_term t) - -let formula_as_term_view (f:formula) : Tot term_view = - let mk_app' tv args = List.Tot.Base.fold_left (fun tv a -> Tv_App (pack_ln tv) a) tv args in - let e = Q_Explicit in - let i = Q_Implicit in - match f with - | True_ -> Tv_FVar (pack_fv true_qn) - | False_ -> Tv_FVar (pack_fv false_qn) - | Comp (Eq None) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(l,e);(r,e)] - | Comp (Eq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(t,i);(l,e);(r,e)] - | Comp (BoolEq None) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(l,e);(r,e)] - | Comp (BoolEq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(t,i);(l,e);(r,e)] - | Comp Lt l r -> mk_app' (Tv_FVar (pack_fv lt_qn)) [(l,e);(r,e)] - | Comp Le l r -> mk_app' (Tv_FVar (pack_fv lte_qn)) [(l,e);(r,e)] - | Comp Gt l r -> mk_app' (Tv_FVar (pack_fv gt_qn)) [(l,e);(r,e)] - | Comp Ge l r -> mk_app' (Tv_FVar (pack_fv gte_qn)) [(l,e);(r,e)] - | And p q -> mk_app' (Tv_FVar (pack_fv and_qn)) [(p,e);(q,e)] - | Or p q -> mk_app' (Tv_FVar (pack_fv or_qn)) [(p,e);(q,e)] - | Implies p q -> mk_app' (Tv_FVar (pack_fv imp_qn)) [(p,e);(q,e)] - | Not p -> mk_app' (Tv_FVar (pack_fv not_qn)) [(p,e)] - | Iff p q -> mk_app' (Tv_FVar (pack_fv iff_qn)) [(p,e);(q,e)] - | Forall b sort t -> Tv_Unknown // TODO: decide on meaning of this - | Exists b sort t -> Tv_Unknown // TODO: ^ - - | App p q -> - Tv_App p (q, Q_Explicit) - - | Name b -> - Tv_Var b - - | FV fv -> - Tv_FVar fv - - | IntLit i -> - Tv_Const (C_Int i) - - | F_Unknown -> - Tv_Unknown - -let formula_as_term (f:formula) : Tot term = - pack_ln (formula_as_term_view f) - -let formula_to_string (f:formula) : Tac string = - match f with - | True_ -> "True_" - | False_ -> "False_" - | Comp (Eq mt) l r -> "Eq" ^ - (match mt with - | None -> "" - | Some t -> " (" ^ term_to_string t ^ ")") ^ - " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | Comp (BoolEq mt) l r -> "BoolEq" ^ - (match mt with - | None -> "" - | Some t -> " (" ^ term_to_string t ^ ")") ^ - " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | Comp Lt l r -> "Lt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | Comp Le l r -> "Le (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | Comp Gt l r -> "Gt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | Comp Ge l r -> "Ge (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" - | And p q -> "And (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" - | Or p q -> "Or (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" - | Implies p q -> "Implies (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" - | Not p -> "Not (" ^ term_to_string p ^ ")" - | Iff p q -> "Iff (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" - | Forall bs _sort t -> "Forall (" ^ term_to_string t ^ ")" - | Exists bs _sort t -> "Exists (" ^ term_to_string t ^ ")" - | App p q -> "App (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" - | Name bv -> "Name (" ^ bv_to_string bv ^ ")" - | FV fv -> "FV (" ^ flatten_name (inspect_fv fv) ^ ")" - | IntLit i -> "Int " ^ string_of_int i - | F_Unknown -> "?" +(* This module is a temporary for Meta-F* migration *) +include FStar.Reflection.V1.Formula diff --git a/ulib/FStar.Reflection.Types.fsti b/ulib/FStar.Reflection.Types.fsti index 83d5fa58dcf..6bb9bac0e1d 100644 --- a/ulib/FStar.Reflection.Types.fsti +++ b/ulib/FStar.Reflection.Types.fsti @@ -16,11 +16,12 @@ module FStar.Reflection.Types include FStar.Range -include FStar.VConfig include FStar.Sealed +assume new type namedv // named fresh variable +assume new type bv // db variable assume new type binder -assume new type bv + assume new type term assume new type env assume new type fv @@ -29,12 +30,12 @@ assume new type sigelt // called `def` in the paper, but we keep the internal na assume new type ctx_uvar_and_subst assume new type letbinding +assume new type ident assume new type universe_uvar assume new type universe type name : eqtype = list string -type ident = string * range type univ_name = ident type typ = term type binders = list binder @@ -45,3 +46,5 @@ type binders = list binder * the bool says whether returns (bool = false) or returns$ (bool = true, use type equality *) type match_returns_ascription = binder & (either term comp & option term & bool) + +type decls = list sigelt diff --git a/ulib/FStar.Reflection.Builtins.fsti b/ulib/FStar.Reflection.V1.Builtins.fsti similarity index 97% rename from ulib/FStar.Reflection.Builtins.fsti rename to ulib/FStar.Reflection.V1.Builtins.fsti index 8f7050f43ea..1f5aa8e68fe 100644 --- a/ulib/FStar.Reflection.Builtins.fsti +++ b/ulib/FStar.Reflection.V1.Builtins.fsti @@ -13,11 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Builtins +module FStar.Reflection.V1.Builtins open FStar.Order open FStar.Reflection.Types -open FStar.Reflection.Data +open FStar.Reflection.V1.Data +open FStar.VConfig (*** Views ***) @@ -128,10 +129,6 @@ val sigelt_opts : sigelt -> option vconfig (** Embed a vconfig as a term, for instance to use it with the check_with attribute *) val embed_vconfig : vconfig -> term -(** Marker to check a sigelt with a particular vconfig *) -irreducible -let check_with (vcfg : vconfig) : unit = () - (** Substitute an open bv (a name) by a term [t1] in a term [t2]. *) val subst : bv -> t1:term -> t2:term -> term diff --git a/ulib/FStar.Reflection.Compare.fst b/ulib/FStar.Reflection.V1.Compare.fst similarity index 98% rename from ulib/FStar.Reflection.Compare.fst rename to ulib/FStar.Reflection.V1.Compare.fst index 4fb66a0c4a9..b04bc5e0f89 100644 --- a/ulib/FStar.Reflection.Compare.fst +++ b/ulib/FStar.Reflection.V1.Compare.fst @@ -13,12 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Compare +module FStar.Reflection.V1.Compare open FStar.Reflection.Types -open FStar.Reflection.Data -open FStar.Reflection.Builtins -open FStar.Reflection.Derived +open FStar.Reflection.V1.Data +open FStar.Reflection.V1.Builtins +open FStar.Reflection.V1.Derived open FStar.Order let compare_name (n1 n2 : name) : order = diff --git a/ulib/FStar.Reflection.Data.fsti b/ulib/FStar.Reflection.V1.Data.fsti similarity index 90% rename from ulib/FStar.Reflection.Data.fsti rename to ulib/FStar.Reflection.V1.Data.fsti index 72fbc9e06af..855439e0df7 100644 --- a/ulib/FStar.Reflection.Data.fsti +++ b/ulib/FStar.Reflection.V1.Data.fsti @@ -13,10 +13,21 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Data +module FStar.Reflection.V1.Data + +(* What's this!? Well, the compiler now works fully with V2, so whenever +we need to reason/extract a term, we need things like V2.Tv_App and V2.pack_ln +in scope. So, force them into scope here. *) +module X = FStar.Reflection.V2.Data +module X = FStar.Reflection.V2.Builtins open FStar.Reflection.Types +(* V1 does not really use the primitive ident type, but this +explicit pair of string & range *) +type ident = string & range +type univ_name = ident + noeq type vconst = | C_Unit : vconst @@ -156,7 +167,7 @@ type sigelt_view = | Unk -(* Qualifiers for sigelts, see FStar.Syntax.Syntax for an explanation. *) +(* Qualifiers for sigelts, see src/FStar.Syntax.Syntax for an explanation. *) noeq type qualifier = | Assumption @@ -184,11 +195,5 @@ type qualifier = | Effect | OnlyName +(* Should remove, but there are clients using it. *) let var : eqtype = nat - -type exp : Type = - | Unit : exp - | Var : var -> exp - | Mult : exp -> exp -> exp - -type decls = list sigelt diff --git a/ulib/FStar.Reflection.Derived.Lemmas.fst b/ulib/FStar.Reflection.V1.Derived.Lemmas.fst similarity index 94% rename from ulib/FStar.Reflection.Derived.Lemmas.fst rename to ulib/FStar.Reflection.V1.Derived.Lemmas.fst index e8b9f1c5280..fcf1afb2cb1 100644 --- a/ulib/FStar.Reflection.Derived.Lemmas.fst +++ b/ulib/FStar.Reflection.V1.Derived.Lemmas.fst @@ -13,12 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Derived.Lemmas +module FStar.Reflection.V1.Derived.Lemmas open FStar.Reflection.Types -open FStar.Reflection.Builtins -open FStar.Reflection.Data -open FStar.Reflection.Derived +open FStar.Reflection.V1.Builtins +open FStar.Reflection.V1.Data +open FStar.Reflection.V1.Derived open FStar.List.Tot let rec forall_list (p:'a -> Type) (l:list 'a) : Type = @@ -78,7 +78,7 @@ let rec collect_abs_order' (bds: binders) (tt t: term) | _ -> () val collect_abs_ln_order : (t:term) -> - Lemma (ensures forall bds body. + Lemma (ensures forall bds body. (bds, body) == collect_abs_ln t ==> (body << t /\ bds <<: t) \/ (body == t /\ bds == []) @@ -112,19 +112,19 @@ let rec collect_arr_order' (bds: binders) (tt: term) (c: comp) | _ -> () val collect_arr_ln_bs_order : (t:term) -> - Lemma (ensures forall bds c. + Lemma (ensures forall bds c. (bds, c) == collect_arr_ln_bs t ==> (c << t /\ bds <<: t) \/ (c == pack_comp (C_Total t) /\ bds == []) ) -let collect_arr_ln_bs_order t = +let collect_arr_ln_bs_order t = match inspect_ln_unascribe t with | Tv_Arrow b c -> collect_arr_order' [b] t c; Classical.forall_intro_2 (rev_memP #binder); inspect_pack_comp_inv (C_Total t) | _ -> inspect_pack_comp_inv (C_Total t) -val collect_arr_ln_bs_ref : (t:term) -> list (bd:binder{bd << t}) +val collect_arr_ln_bs_ref : (t:term) -> list (bd:binder{bd << t}) * (c:comp{ c == pack_comp (C_Total t) \/ c << t}) let collect_arr_ln_bs_ref t = let bds, c = collect_arr_ln_bs t in diff --git a/ulib/FStar.Reflection.Derived.fst b/ulib/FStar.Reflection.V1.Derived.fst similarity index 98% rename from ulib/FStar.Reflection.Derived.fst rename to ulib/FStar.Reflection.V1.Derived.fst index 30a73be605b..e2e35d1497f 100644 --- a/ulib/FStar.Reflection.Derived.fst +++ b/ulib/FStar.Reflection.V1.Derived.fst @@ -13,13 +13,14 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Derived +module FStar.Reflection.V1.Derived open FStar.Reflection.Types -open FStar.Reflection.Builtins -open FStar.Reflection.Data open FStar.Reflection.Const +open FStar.Reflection.V1.Builtins +open FStar.Reflection.V1.Data open FStar.Order +open FStar.VConfig let bv_of_binder (b : binder) : bv = (inspect_binder b).binder_bv diff --git a/ulib/FStar.Reflection.V1.Formula.fst b/ulib/FStar.Reflection.V1.Formula.fst new file mode 100644 index 00000000000..d4651a6aa12 --- /dev/null +++ b/ulib/FStar.Reflection.V1.Formula.fst @@ -0,0 +1,236 @@ +(* + 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 FStar.Reflection.V1.Formula + +open FStar.List.Tot.Base +open FStar.Tactics.Effect +open FStar.Tactics.V1.Builtins +open FStar.Reflection.Types +open FStar.Reflection.Const +open FStar.Reflection.V1.Builtins +open FStar.Reflection.V1.Derived +open FStar.Reflection.V1.Data + +///// Cannot open FStar.Tactics.Derived here ///// +private let bv_to_string (bv : bv) : Tac string = + let bvv = inspect_bv bv in + unseal (bvv.bv_ppname) +private let rec inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) = + match inspect t with + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> + inspect_unascribe t + | tv -> tv +private let rec collect_app' (args : list argv) (t : term) + : Tac (term * list argv) = + match inspect_unascribe t with + | Tv_App l r -> + collect_app' (r::args) l + | _ -> (t, args) +private let collect_app = collect_app' [] +///// + +noeq type comparison = + | Eq of option typ (* Propositional equality (eq2), maybe annotated *) + | BoolEq of option typ (* Decidable, boolean equality (eq), maybe annotated *) + | Lt | Le | Gt | Ge (* Orderings, at type `int` (and subtypes) *) + +noeq type formula = + | True_ : formula + | False_ : formula + | Comp : comparison -> term -> term -> formula + | And : term -> term -> formula + | Or : term -> term -> formula + | Not : term -> formula + | Implies: term -> term -> formula + | Iff : term -> term -> formula + | Forall : bv -> typ -> term -> formula + | Exists : bv -> typ -> term -> formula + | App : term -> term -> formula + | Name : bv -> formula + | FV : fv -> formula + | IntLit : int -> formula + | F_Unknown : formula // Also a baked-in "None" + +let mk_Forall (typ : term) (pred : term) : Tac formula = + let b = pack_bv ({ bv_ppname = as_ppname "x"; + bv_index = 0; }) in + Forall b typ (pack_ln (Tv_App pred (pack_ln (Tv_BVar b), Q_Explicit))) + +let mk_Exists (typ : term) (pred : term) : Tac formula = + let b = pack_bv ({ bv_ppname = as_ppname "x"; + bv_index = 0; }) in + Exists b typ (pack_ln (Tv_App pred (pack_ln (Tv_BVar b), Q_Explicit))) + +let term_as_formula' (t:term) : Tac formula = + match inspect_unascribe t with + | Tv_Var n -> + Name n + + | Tv_FVar fv + | Tv_UInst fv _ -> + // Cannot use `when` clauses when verifying! + let qn = inspect_fv fv in + if qn = true_qn then True_ + else if qn = false_qn then False_ + else FV fv + + // TODO: l_Forall + // ...or should we just try to drop all squashes? + // TODO: b2t at this point ? + | Tv_App h0 t -> begin + let (h, ts) = collect_app h0 in + let h = un_uinst h in + match inspect_ln h, ts@[t] with + | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit); (a3, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = eq2_qn then Comp (Eq (Some a1)) a2 a3 + else if qn = eq1_qn then Comp (BoolEq (Some a1)) a2 a3 + else if qn = lt_qn then Comp Lt a2 a3 + else if qn = lte_qn then Comp Le a2 a3 + else if qn = gt_qn then Comp Gt a2 a3 + else if qn = gte_qn then Comp Ge a2 a3 + else App h0 (fst t) + | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = imp_qn then Implies a1 a2 + else if qn = and_qn then And a1 a2 + else if qn = iff_qn then Iff a1 a2 + else if qn = or_qn then Or a1 a2 + // Non-annotated comparisons + else if qn = eq2_qn then Comp (Eq None) a1 a2 + else if qn = eq1_qn then Comp (BoolEq None) a1 a2 + else App h0 (fst t) + + | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = forall_qn then mk_Forall a1 a2 + else if qn = exists_qn then mk_Exists a1 a2 + else App h0 (fst t) + | Tv_FVar fv, [(a, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = not_qn then Not a + else if qn = b2t_qn then begin + if term_eq a (`false) then False_ + else if term_eq a (`true) then True_ + else App h0 (fst t) + end + else App h0 (fst t) + | _ -> + App h0 (fst t) + end + + | Tv_Const (C_Int i) -> + IntLit i + + (* Not formulas. *) + | Tv_Let _ _ _ _ _ _ + | Tv_Match _ _ _ + | Tv_Type _ + | Tv_Abs _ _ + | Tv_Arrow _ _ + | Tv_Uvar _ _ + | Tv_Unknown + | Tv_Unsupp + | Tv_Refine _ _ _ -> F_Unknown + + (* Other constants? *) + | Tv_Const _ -> F_Unknown + + (* Should not occur, we're using inspect_ln *) + | Tv_BVar _ -> F_Unknown + +// Unsquashing +let term_as_formula (t:term) : Tac formula = + match unsquash_term t with + | None -> F_Unknown + | Some t -> + term_as_formula' t + +let term_as_formula_total (t:term) : Tac formula = + term_as_formula' (maybe_unsquash_term t) + +let formula_as_term_view (f:formula) : Tot term_view = + let mk_app' tv args = List.Tot.Base.fold_left (fun tv a -> Tv_App (pack_ln tv) a) tv args in + let e = Q_Explicit in + let i = Q_Implicit in + match f with + | True_ -> Tv_FVar (pack_fv true_qn) + | False_ -> Tv_FVar (pack_fv false_qn) + | Comp (Eq None) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(l,e);(r,e)] + | Comp (Eq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(t,i);(l,e);(r,e)] + | Comp (BoolEq None) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(l,e);(r,e)] + | Comp (BoolEq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(t,i);(l,e);(r,e)] + | Comp Lt l r -> mk_app' (Tv_FVar (pack_fv lt_qn)) [(l,e);(r,e)] + | Comp Le l r -> mk_app' (Tv_FVar (pack_fv lte_qn)) [(l,e);(r,e)] + | Comp Gt l r -> mk_app' (Tv_FVar (pack_fv gt_qn)) [(l,e);(r,e)] + | Comp Ge l r -> mk_app' (Tv_FVar (pack_fv gte_qn)) [(l,e);(r,e)] + | And p q -> mk_app' (Tv_FVar (pack_fv and_qn)) [(p,e);(q,e)] + | Or p q -> mk_app' (Tv_FVar (pack_fv or_qn)) [(p,e);(q,e)] + | Implies p q -> mk_app' (Tv_FVar (pack_fv imp_qn)) [(p,e);(q,e)] + | Not p -> mk_app' (Tv_FVar (pack_fv not_qn)) [(p,e)] + | Iff p q -> mk_app' (Tv_FVar (pack_fv iff_qn)) [(p,e);(q,e)] + | Forall b sort t -> Tv_Unknown // TODO: decide on meaning of this + | Exists b sort t -> Tv_Unknown // TODO: ^ + + | App p q -> + Tv_App p (q, Q_Explicit) + + | Name b -> + Tv_Var b + + | FV fv -> + Tv_FVar fv + + | IntLit i -> + Tv_Const (C_Int i) + + | F_Unknown -> + Tv_Unknown + +let formula_as_term (f:formula) : Tot term = + pack_ln (formula_as_term_view f) + +let formula_to_string (f:formula) : Tac string = + match f with + | True_ -> "True_" + | False_ -> "False_" + | Comp (Eq mt) l r -> "Eq" ^ + (match mt with + | None -> "" + | Some t -> " (" ^ term_to_string t ^ ")") ^ + " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp (BoolEq mt) l r -> "BoolEq" ^ + (match mt with + | None -> "" + | Some t -> " (" ^ term_to_string t ^ ")") ^ + " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Lt l r -> "Lt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Le l r -> "Le (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Gt l r -> "Gt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Ge l r -> "Ge (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | And p q -> "And (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Or p q -> "Or (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Implies p q -> "Implies (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Not p -> "Not (" ^ term_to_string p ^ ")" + | Iff p q -> "Iff (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Forall bs _sort t -> "Forall (" ^ term_to_string t ^ ")" + | Exists bs _sort t -> "Exists (" ^ term_to_string t ^ ")" + | App p q -> "App (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Name bv -> "Name (" ^ bv_to_string bv ^ ")" + | FV fv -> "FV (" ^ flatten_name (inspect_fv fv) ^ ")" + | IntLit i -> "Int " ^ string_of_int i + | F_Unknown -> "?" diff --git a/ulib/FStar.Reflection.V1.fst b/ulib/FStar.Reflection.V1.fst new file mode 100644 index 00000000000..b2155618fcd --- /dev/null +++ b/ulib/FStar.Reflection.V1.fst @@ -0,0 +1,24 @@ +(* + 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 FStar.Reflection.V1 + +include FStar.Reflection.Types +include FStar.Reflection.V1.Data +include FStar.Reflection.V1.Builtins +include FStar.Reflection.V1.Derived +include FStar.Reflection.V1.Derived.Lemmas +include FStar.Reflection.Const +include FStar.Reflection.V1.Compare diff --git a/ulib/FStar.Reflection.Arith.fst b/ulib/FStar.Reflection.V2.Arith.fst similarity index 98% rename from ulib/FStar.Reflection.Arith.fst rename to ulib/FStar.Reflection.V2.Arith.fst index 34c9705b48f..dbae1b6635b 100644 --- a/ulib/FStar.Reflection.Arith.fst +++ b/ulib/FStar.Reflection.V2.Arith.fst @@ -13,10 +13,10 @@ See the License for the specific language governing permissions and limitations under the License. *) -module FStar.Reflection.Arith +module FStar.Reflection.V2.Arith -open FStar.Tactics -open FStar.Reflection +open FStar.Tactics.V2 +open FStar.Reflection.V2 module O = FStar.Order (* @@ -194,7 +194,7 @@ let is_arith_expr t = // val is_arith_prop : term -> tm prop val is_arith_prop : term -> st -> Tac (either string (prop * st)) let rec is_arith_prop (t:term) = fun i -> - (let! f = lift term_as_formula t in + (let! f = lift (fun t -> term_as_formula t) t in match f with | Comp (Eq _) l r -> liftM2 eq (is_arith_expr l) (is_arith_expr r) | Comp (BoolEq _) l r -> liftM2 eq (is_arith_expr l) (is_arith_expr r) diff --git a/ulib/FStar.Reflection.V2.Builtins.fsti b/ulib/FStar.Reflection.V2.Builtins.fsti new file mode 100644 index 00000000000..dc293635fe7 --- /dev/null +++ b/ulib/FStar.Reflection.V2.Builtins.fsti @@ -0,0 +1,186 @@ +(* + 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 FStar.Reflection.V2.Builtins + +open FStar.Order +open FStar.Reflection.Types +open FStar.Reflection.V2.Data +open FStar.VConfig + +(*** Views ***) + +(* NOTE: You probably want inspect/pack from FStar.Tactics, which work + * over a fully named representation. If you use these, you have to + * work with de Bruijn indices (using Tv_BVar). The only reason these + * two exists is that they can be made Tot, and hence can be used in + * specifications. *) + +(** "Inspecting" a term: reveal one level of its syntax via the type +term_view. + +Crucially, this function guarantees that the result "precedes" the +argument, since it is morally exposing the subterms of [t] in the view. +This can be justified by this model of [term] and [term_view]: + + type term = | Pack of term_view + let pack_ln = Pack + let inspect_ln (Pack tv) = tv + +Where inspect_ln would give exactly this guarantee on its result. Of +course, the [term] type is actually implemented via internal F* terms, +but the inspect and pack should be consistent with this model. +*) + +(* Views *) +val inspect_ln : (t:term) -> tv:term_view{tv << t} +val pack_ln : term_view -> term + +val inspect_comp : (c:comp) -> cv:comp_view{cv << c} +val pack_comp : comp_view -> comp + +val inspect_sigelt : sigelt -> sigelt_view +val pack_sigelt : sv:sigelt_view{~(Unk? sv)} -> sigelt + +val inspect_fv : fv -> name +val pack_fv : name -> fv + +val inspect_namedv : v:namedv -> nv:namedv_view {nv << v} +val pack_namedv : namedv_view -> namedv + +val inspect_bv : v:bv -> bvv:bv_view {bvv << v} +val pack_bv : bv_view -> bv + +val inspect_lb : lb:letbinding -> lbv:lb_view {lbv << lb} +val pack_lb : lb_view -> letbinding + +val inspect_binder : b:binder -> bv:binder_view {bv << b} +val pack_binder : binder_view -> binder + +val inspect_universe : u:universe -> uv:universe_view{uv << u} +val pack_universe : universe_view -> universe + +val inspect_ident : i:ident -> iv:ident_view{iv << i} +val pack_ident : ident_view -> ident + +(* The bijection lemmas: the view exposes all details of terms. *) +val pack_inspect_inv : (t:term) -> Lemma (~(Tv_Unsupp? (inspect_ln t)) ==> pack_ln (inspect_ln t) == t) +val inspect_pack_inv : (tv:term_view) -> Lemma (inspect_ln (pack_ln tv) == tv) + +val pack_inspect_comp_inv : (c:comp) -> Lemma (pack_comp (inspect_comp c) == c) +val inspect_pack_comp_inv : (cv:comp_view) -> Lemma (inspect_comp (pack_comp cv) == cv) + +val inspect_pack_namedv (xv:namedv_view) : Lemma (inspect_namedv (pack_namedv xv) == xv) +val pack_inspect_namedv (x:namedv) : Lemma (pack_namedv (inspect_namedv x) == x) + +val inspect_pack_bv (xv:bv_view) : Lemma (inspect_bv (pack_bv xv) == xv) +val pack_inspect_bv (x:bv) : Lemma (pack_bv (inspect_bv x) == x) + +val inspect_pack_binder (bview:binder_view) : Lemma (inspect_binder (pack_binder bview) == bview) +val pack_inspect_binder (b:binder) : Lemma (pack_binder (inspect_binder b) == b) + +val pack_inspect_fv (fv:fv) : Lemma (ensures pack_fv (inspect_fv fv) == fv) +val inspect_pack_fv (nm:name) : Lemma (ensures inspect_fv (pack_fv nm) == nm) + +val pack_inspect_universe (u:universe) : Lemma (pack_universe (inspect_universe u) == u) +val inspect_pack_universe (uv:universe_view) : Lemma (inspect_universe (pack_universe uv) == uv) + +val pack_inspect_ident (u:ident) : Lemma (pack_ident (inspect_ident u) == u) +val inspect_pack_ident (uv:ident_view) : Lemma (inspect_ident (pack_ident uv) == uv) + +val simple_binder_defn (b:binder) : + Lemma (binder_is_simple b <==> + Q_Explicit? (inspect_binder b).qual /\ Nil? (inspect_binder b).attrs) + [SMTPat (binder_is_simple b)] + +(** These are equivalent to [String.concat "."], [String.split ['.']] + * and [String.compare]. We're only taking them as primitives to break + * the dependency of Reflection/Tactics into FStar.String, which + * pulls a LOT of modules. *) +val implode_qn : list string -> string +val explode_qn : string -> list string +val compare_string : s1:string -> s2:string -> x:int{x == 0 <==> s1 == s2} + +(** Lookup a top-level definition in the environment (not necessarily +a type) *) +val lookup_typ : env -> name -> option sigelt + +(** Compare two bvs by their index. This should really not be a +primitive, and just use inspect to compare the index field. *) +[@@(deprecated "Use FStar.Reflection.V2.Derived.compare_bv")] +val compare_bv : bv -> bv -> order + +(** (As above.) Compare two namedv by their uniq. This should really not +be a primitive, and just use inspect to compare the uniq field. *) +[@@(deprecated "Use FStar.Reflection.V2.Derived.compare_namedv")] +val compare_namedv : namedv -> namedv -> order + +(** Returns all bindings in an environment *) +val vars_of_env : env -> list binding + +(** Returns the current module of an environment. *) +val moduleof : env -> name + +(** Returns all top-level names marked with a given attribute. +Used e.g. to find all typeclass instances. *) +val lookup_attr : term -> env -> list fv + +(** Returns all top-level names in an environment. *) +val all_defs_in_env : env -> list fv + +(** Returns all top-level names in a given module. *) +val defs_in_module : env -> name -> list fv + +(** Compare two terms for equality using the internal implementation. +Deprecated, we should use the userland version instead. *) +[@@(deprecated "Use FStar.Reflection.V2.TermEq.term_eq")] +val term_eq : term -> term -> bool + +(** Return all module names which are opened in the given scope. *) +val env_open_modules : env -> list name + +(** [push_binding] extends the environment with a single binding. +This is useful as one traverses the syntax of a term, +pushing bindings as one traverses (and opens) a binder in a lambda, +match, etc. *) +val push_namedv : env -> namedv -> env + +(** Attributes are terms, not to be confused with Prims.attribute. *) +val sigelt_attrs : sigelt -> list term +val set_sigelt_attrs : list term -> sigelt -> sigelt + +(** Setting and reading qualifiers from sigelts *) +val sigelt_quals : sigelt -> list qualifier +val set_sigelt_quals : list qualifier -> sigelt -> sigelt + +(** Obtains the vconfig under which a particular sigelt was typechecked. + This function returns None if "--record_options" was not on when + typechecking the sigelt. *) +val sigelt_opts : sigelt -> option vconfig + +(** Embed a vconfig as a term, for instance to use it with the check_with attribute *) +val embed_vconfig : vconfig -> term + +(** Apply a substitution on a term *) +val subst_term : subst_t -> term -> term + +(** Apply a substitution on a computation. TODO: userspace? *) +val subst_comp : subst_t -> comp -> comp + +(** Get the range of a term, i.e., the source location where it was defined. *) +val range_of_term : term -> range + +(** Get the range of a sigelt, i.e., the source location where it was defined. *) +val range_of_sigelt : sigelt -> range diff --git a/ulib/FStar.Reflection.V2.Compare.fst b/ulib/FStar.Reflection.V2.Compare.fst new file mode 100644 index 00000000000..207fa22e8e0 --- /dev/null +++ b/ulib/FStar.Reflection.V2.Compare.fst @@ -0,0 +1,206 @@ +(* + 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 FStar.Reflection.V2.Compare + +open FStar.Reflection.Types +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Builtins +open FStar.Reflection.V2.Derived +open FStar.Order + +let compare_name (n1 n2 : name) : order = + compare_list n1 n2 (fun s1 s2 -> order_from_int (compare_string s1 s2)) + +let compare_fv (f1 f2 : fv) : order = + compare_name (inspect_fv f1) (inspect_fv f2) + +let compare_const (c1 c2 : vconst) : order = + match c1, c2 with + | C_Unit, C_Unit -> Eq + | C_Int i, C_Int j -> order_from_int (i - j) + | C_True, C_True -> Eq + | C_False, C_False -> Eq + | C_String s1, C_String s2 -> order_from_int (compare_string s1 s2) + | C_Range r1, C_Range r2 -> Eq + | C_Reify, C_Reify -> Eq + | C_Reflect l1, C_Reflect l2 -> compare_name l1 l2 + | C_Unit, _ -> Lt | _, C_Unit -> Gt + | C_Int _, _ -> Lt | _, C_Int _ -> Gt + | C_True, _ -> Lt | _, C_True -> Gt + | C_False, _ -> Lt | _, C_False -> Gt + | C_String _, _ -> Lt | _, C_String _ -> Gt + | C_Range _, _ -> Lt | _, C_Range _ -> Gt + | C_Reify, _ -> Lt | _, C_Reify -> Gt + | C_Reflect _, _ -> Lt | _, C_Reflect _ -> Gt + +let compare_ident (i1 i2:ident) : order = + let nm1, _ = inspect_ident i1 in + let nm2, _ = inspect_ident i2 in + order_from_int (compare_string nm1 nm2) + +let rec compare_universe (u1 u2:universe) : order = + match inspect_universe u1, inspect_universe u2 with + | Uv_Zero, Uv_Zero -> Eq + | Uv_Succ u1, Uv_Succ u2 -> compare_universe u1 u2 + | Uv_Max us1, Uv_Max us2 -> + compare_list us1 us2 (fun x y -> compare_universe x y) + | Uv_BVar n1, Uv_BVar n2 -> compare_int n1 n2 + | Uv_Name i1, Uv_Name i2 -> compare_ident i1 i2 + | Uv_Unif u1, Uv_Unif u2 -> Eq //AR: TODO + | Uv_Unk, Uv_Unk -> Eq + | Uv_Zero, _ -> Lt | _, Uv_Zero -> Gt + | Uv_Succ _, _ -> Lt | _, Uv_Succ _ -> Gt + | Uv_Max _, _ -> Lt | _, Uv_Max _ -> Gt + | Uv_BVar _, _ -> Lt | _, Uv_BVar _ -> Gt + | Uv_Name _, _ -> Lt | _, Uv_Name _ -> Gt + | Uv_Unif _, _ -> Lt | _, Uv_Unif _ -> Gt + | Uv_Unk, _ -> Lt + +let compare_universes (us1 us2:universes) : order = + compare_list us1 us2 compare_universe + +let rec compare_term (s t : term) : Tot order (decreases s) = + match inspect_ln s, inspect_ln t with + | Tv_Var sv, Tv_Var tv -> + compare_namedv sv tv + + | Tv_BVar sv, Tv_BVar tv -> + compare_bv sv tv + + | Tv_FVar sv, Tv_FVar tv -> + compare_fv sv tv + + | Tv_UInst sv sus, Tv_UInst tv tus -> + lex (compare_fv sv tv) (fun _ -> compare_universes sus tus) + + | Tv_App h1 a1, Tv_App h2 a2 -> + lex (compare_term h1 h2) (fun () -> compare_argv a1 a2) + + | Tv_Abs b1 e1, Tv_Abs b2 e2 -> + lex (compare_binder b1 b2) (fun () -> compare_term e1 e2) + + | Tv_Refine b1 e1, Tv_Refine b2 e2 -> + lex (compare_binder b1 b2) (fun () -> + compare_term e1 e2) + + | Tv_Arrow b1 e1, Tv_Arrow b2 e2 -> + lex (compare_binder b1 b2) (fun () -> compare_comp e1 e2) + + | Tv_Type su, Tv_Type tu -> compare_universe su tu + + | Tv_Const c1, Tv_Const c2 -> + compare_const c1 c2 + + | Tv_Uvar u1 _, Tv_Uvar u2 _-> + compare_int u1 u2 + + | Tv_Let _r1 _attrs1 b1 t1 t1', Tv_Let _r2 _attrs2 b2 t2 t2' -> + lex (compare_binder b1 b2) (fun () -> + lex (compare_term t1 t2) (fun () -> + compare_term t1' t2')) + + | Tv_Match _ _ _, Tv_Match _ _ _ -> + Eq // TODO + + | Tv_AscribedT e1 t1 tac1 _, Tv_AscribedT e2 t2 tac2 _ -> + lex (compare_term e1 e2) (fun () -> + lex (compare_term t1 t2) (fun () -> + match tac1, tac2 with + | None, None -> Eq + | None, _ -> Lt + | _, None -> Gt + | Some e1, Some e2 -> compare_term e1 e2)) + + | Tv_AscribedC e1 c1 tac1 _, Tv_AscribedC e2 c2 tac2 _ -> + lex (compare_term e1 e2) (fun () -> + lex (compare_comp c1 c2) (fun () -> + match tac1, tac2 with + | None, None -> Eq + | None, _ -> Lt + | _, None -> Gt + | Some e1, Some e2 -> compare_term e1 e2)) + + | Tv_Unknown, Tv_Unknown -> + Eq + + | Tv_Unsupp, Tv_Unsupp -> + Eq + + // From here onward, they must have different constructors. Order them arbitrarily as in the definition. + | Tv_Var _, _ -> Lt | _, Tv_Var _ -> Gt + | Tv_BVar _, _ -> Lt | _, Tv_BVar _ -> Gt + | Tv_FVar _, _ -> Lt | _, Tv_FVar _ -> Gt + | Tv_UInst _ _, _ -> Lt | _, Tv_UInst _ _ -> Gt + | Tv_App _ _, _ -> Lt | _, Tv_App _ _ -> Gt + | Tv_Abs _ _, _ -> Lt | _, Tv_Abs _ _ -> Gt + | Tv_Arrow _ _, _ -> Lt | _, Tv_Arrow _ _ -> Gt + | Tv_Type _, _ -> Lt | _, Tv_Type _ -> Gt + | Tv_Refine _ _ , _ -> Lt | _, Tv_Refine _ _ -> Gt + | Tv_Const _, _ -> Lt | _, Tv_Const _ -> Gt + | Tv_Uvar _ _, _ -> Lt | _, Tv_Uvar _ _ -> Gt + | Tv_Let _ _ _ _ _, _ -> Lt | _, Tv_Let _ _ _ _ _ -> Gt + | Tv_Match _ _ _, _ -> Lt | _, Tv_Match _ _ _ -> Gt + | Tv_AscribedT _ _ _ _, _ -> Lt | _, Tv_AscribedT _ _ _ _ -> Gt + | Tv_AscribedC _ _ _ _, _ -> Lt | _, Tv_AscribedC _ _ _ _ -> Gt + | Tv_Unknown, _ -> Lt | _, Tv_Unknown -> Gt + | Tv_Unsupp, _ -> Lt | _, Tv_Unsupp -> Gt +and compare_term_list (l1 l2:list term) : Tot order (decreases l1) = + match l1, l2 with + | [], [] -> Eq + | [], _ -> Lt + | _, [] -> Gt + | hd1::tl1, hd2::tl2 -> + lex (compare_term hd1 hd2) (fun () -> compare_term_list tl1 tl2) + +and compare_argv (a1 a2 : argv) : Tot order (decreases a1) = + let a1, q1 = a1 in + let a2, q2 = a2 in + match q1, q2 with + (* We should never see Q_Meta here *) + | Q_Implicit, Q_Explicit -> Lt + | Q_Explicit, Q_Implicit -> Gt + | _, _ -> compare_term a1 a2 +and compare_comp (c1 c2 : comp) : Tot order (decreases c1) = + let cv1 = inspect_comp c1 in + let cv2 = inspect_comp c2 in + match cv1, cv2 with + | C_Total t1, C_Total t2 + + | C_GTotal t1, C_GTotal t2 -> compare_term t1 t2 + + | C_Lemma p1 q1 s1, C_Lemma p2 q2 s2 -> + lex (compare_term p1 p2) + (fun () -> + lex (compare_term q1 q2) + (fun () -> compare_term s1 s2) + ) + + | C_Eff us1 eff1 res1 args1 _decrs1, + C_Eff us2 eff2 res2 args2 _decrs2 -> + (* This could be more complex, not sure it is worth it *) + lex (compare_universes us1 us2) + (fun _ -> lex (compare_name eff1 eff2) + (fun _ -> compare_term res1 res2)) + + | C_Total _, _ -> Lt | _, C_Total _ -> Gt + | C_GTotal _, _ -> Lt | _, C_GTotal _ -> Gt + | C_Lemma _ _ _, _ -> Lt | _, C_Lemma _ _ _ -> Gt + | C_Eff _ _ _ _ _, _ -> Lt | _, C_Eff _ _ _ _ _ -> Gt + +and compare_binder (b1 b2 : binder) : order = + let bview1 = inspect_binder b1 in + let bview2 = inspect_binder b2 in + compare_term bview1.sort bview2.sort diff --git a/ulib/FStar.Reflection.V2.Data.fsti b/ulib/FStar.Reflection.V2.Data.fsti new file mode 100644 index 00000000000..cdabcf3772e --- /dev/null +++ b/ulib/FStar.Reflection.V2.Data.fsti @@ -0,0 +1,241 @@ +(* + 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 FStar.Reflection.V2.Data + +include FStar.Stubs.Syntax.Syntax +open FStar.Reflection.Types + +(* The type of a string observable only with a tactic. + All values of type ppname_t are provably equal *) +let ppname_t = FStar.Sealed.Inhabited.sealed "" +let as_ppname (x:string) : ppname_t = FStar.Sealed.Inhabited.seal x + +noeq +type vconst = + | C_Unit : vconst + | C_Int : int -> vconst // Not exposing the full details of our integer repr. + | C_True : vconst + | C_False : vconst + | C_String : string -> vconst + | C_Range : range -> vconst + | C_Reify : vconst + | C_Reflect : name -> vconst + (* TODO: complete *) + +type universes = list universe + +type ident_view = string & range + +noeq +type pattern = + // A built-in constant + | Pat_Constant : + c : vconst -> + pattern + + // A fully applied constructor, each boolean marks whether the + // argument was an explicitly-provided implicit argument + | Pat_Cons : + head : fv -> + univs : option universes -> + subpats : list (pattern * bool) -> + pattern + + // A pattern-bound variable. It has a sealed sort in it. + // This sort is ignored by the typechecker, but may be useful + // for metaprogram to look at heuristically. There is nothing + // else here but a ppname, the variable is referred to by its DB index. + // This means all Pat_Var are provably equal. + | Pat_Var : + sort : sealed term -> + ppname : ppname_t -> + pattern + + // Dot pattern: resolved by other elements in the pattern and type + | Pat_Dot_Term : + t : option term -> + pattern + +type branch = pattern * term // | pattern -> term + +noeq +type aqualv = + | Q_Implicit + | Q_Explicit + | Q_Meta of term + +type argv = term * aqualv + +(* A named variable, with a unique identifier *) +noeq +type namedv_view = { + uniq : nat; + sort : sealed typ; // REMOVE? + ppname : ppname_t; +} + +(* A bound variable, with a de Bruijn index *) +noeq +type bv_view = { + index : nat; + sort : sealed typ; // REMOVE? + ppname : ppname_t; +} + +(* Binders consist of a type, qualifiers, and attributes. There is also +a sealed name. *) +noeq +type binder_view = { + sort : typ; + qual : aqualv; + attrs : list term; + ppname : ppname_t; +} + +(* A binding is a variable in the environment. It is like a namedv, but has +an explicit (unsealed) sort *) +noeq +type binding = { + uniq : nat; + sort : typ; + ppname : ppname_t; +} +type bindings = list binding + +(** We use the binder type for letbindings and refinements, +but no qualifiers nor attributes can appear there. We call these +binders simple. This module assumes an abstract predicate +for them, which is later assumed to be equivalent to being a binder +without qualifiers nor attributes (once inspect_binder is in scope). *) +val binder_is_simple : binder -> Tot bool + +type simple_binder = b:binder{binder_is_simple b} + +noeq +type universe_view = + | Uv_Zero : universe_view + | Uv_Succ : universe -> universe_view + | Uv_Max : universes -> universe_view + | Uv_BVar : nat -> universe_view + | Uv_Name : univ_name -> universe_view + | Uv_Unif : universe_uvar -> universe_view + | Uv_Unk : universe_view + +noeq +type term_view = + | Tv_Var : v:namedv -> term_view + | Tv_BVar : v:bv -> term_view + | Tv_FVar : v:fv -> term_view + | Tv_UInst : v:fv -> us:universes -> term_view + | Tv_App : hd:term -> a:argv -> term_view + | Tv_Abs : bv:binder -> body:term -> term_view + | Tv_Arrow : bv:binder -> c:comp -> term_view + | Tv_Type : universe -> term_view + | Tv_Refine : b:simple_binder -> ref:term -> term_view + | Tv_Const : vconst -> term_view + | Tv_Uvar : nat -> ctx_uvar_and_subst -> term_view + | Tv_Let : recf:bool -> attrs:(list term) -> b:simple_binder -> def:term -> body:term -> term_view + | Tv_Match : scrutinee:term -> ret:option match_returns_ascription -> brs:(list branch) -> term_view + | Tv_AscribedT : e:term -> t:term -> tac:option term -> use_eq:bool -> term_view + | Tv_AscribedC : e:term -> c:comp -> tac:option term -> use_eq:bool -> term_view + | Tv_Unknown : term_view // An underscore: _ + | Tv_Unsupp : term_view // failed to inspect, not supported + +let notAscription (tv:term_view) : bool = + not (Tv_AscribedT? tv) && not (Tv_AscribedC? tv) + +// Very basic for now +noeq +type comp_view = + | C_Total : ret:typ -> comp_view + | C_GTotal : ret:typ -> comp_view + | C_Lemma : term -> term -> term -> comp_view // pre, post, patterns + | C_Eff : us:universes -> + eff_name:name -> + result:term -> + eff_args:(list argv) -> + decrs:list term -> + comp_view + +(* Constructor for an inductive type. See explanation in +[Sg_Inductive] below. *) +type ctor = name & typ + +noeq +type lb_view = { + lb_fv : fv; + lb_us : list univ_name; + lb_typ : typ; + lb_def : term +} + +noeq +type sigelt_view = + | Sg_Let : + (r:bool) -> + (lbs:list letbinding) -> + sigelt_view + + // Sg_Inductive basically coalesces the Sig_bundle used internally, + // where the type definition and its constructors are split. + // While that might be better for typechecking, this is probably better for metaprogrammers + // (no mutually defined types for now) + | Sg_Inductive : + (nm:name) -> // name of the inductive type being defined + (univs:list univ_name) -> // universe variables + (params:binders) -> // parameters + (typ:typ) -> // the type annotation for the inductive, i.e., indices -> Type #u + (cts:list ctor) -> // the constructors, opened with univs and applied to params already + sigelt_view + + | Sg_Val : + (nm:name) -> + (univs:list univ_name) -> + (typ:typ) -> + sigelt_view + + | Unk + +(* Qualifiers for sigelts, see src/FStar.Syntax.Syntax for an explanation. *) +noeq +type qualifier = + | Assumption + | InternalAssumption + | New + | Private + | Unfold_for_unification_and_vcgen + | Visible_default + | Irreducible + | Inline_for_extraction + | NoExtract + | Noeq + | Unopteq + | TotalEffect + | Logic + | Reifiable + | Reflectable of name + | Discriminator of name + | Projector of name * ident + | RecordType of list ident * list ident + | RecordConstructor of list ident * list ident + | Action of name + | ExceptionConstructor + | HasMaskedEffect + | Effect + | OnlyName + +(* Should remove, but there are clients using it. *) +let var : eqtype = nat diff --git a/ulib/FStar.Reflection.V2.Derived.Lemmas.fst b/ulib/FStar.Reflection.V2.Derived.Lemmas.fst new file mode 100644 index 00000000000..dbdb2ab8b93 --- /dev/null +++ b/ulib/FStar.Reflection.V2.Derived.Lemmas.fst @@ -0,0 +1,132 @@ +(* + 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 FStar.Reflection.V2.Derived.Lemmas + +open FStar.Reflection.Types +open FStar.Reflection.V2.Builtins +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Derived +open FStar.List.Tot + +let rec forall_list (p:'a -> Type) (l:list 'a) : Type = + match l with + | [] -> True + | x::xs -> p x /\ forall_list p xs + +let forallP (p: 'a -> Type) (l: list 'a): Type + = forall (x: 'a). memP x l ==> p x +// Precedence relation on the element of a list +unfold let (<<:) (l: list 'a) (r: 'r) + = forallP (fun x -> x << r) l + +// A glorified `id` +val list_ref : (#a:Type) -> (#p:(a -> Type)) -> (l:list a) -> + Pure (list (x:a{p x})) + (requires (forallP p l)) + (ensures (fun _ -> True)) +let rec list_ref #a #p l = + match l with + | [] -> [] + | x::xs -> x :: list_ref #a #p xs + +val collect_app_order' : (args:list argv) -> (tt:term) -> (t:term) -> + Lemma (requires args <<: tt /\ t << tt) + (ensures (let fn, args' = collect_app_ln' args t in + args' <<: tt /\ fn << tt)) + (decreases t) +let rec collect_app_order' args tt t = + match inspect_ln_unascribe t with + | Tv_App l r -> collect_app_order' (r::args) tt l + | _ -> () + +val collect_app_order : (t:term) -> + Lemma (ensures (forall (f:term). forall (s:list argv). (f,s) == collect_app_ln t ==> + (f << t /\ s <<: t) + \/ (f == t /\ s == []))) +let collect_app_order t = + match inspect_ln_unascribe t with + | Tv_App l r -> collect_app_order' [r] t l + | _ -> () + +val collect_app_ref : (t:term) -> (h:term{h == t \/ h << t}) * list (a:argv{fst a << t}) +let collect_app_ref t = + let h, a = collect_app_ln t in + collect_app_order t; + h, list_ref a + +(**** [collect_abs_ln t] is smaller than [t] *) +let rec collect_abs_order' (bds: binders) (tt t: term) + : Lemma (requires t << tt /\ bds <<: tt) + (ensures (let bds', body = collect_abs' bds t in + (bds' <<: tt /\ body << tt))) + (decreases t) + = match inspect_ln_unascribe t with + | Tv_Abs b body -> collect_abs_order' (b::bds) tt body + | _ -> () + +val collect_abs_ln_order : (t:term) -> + Lemma (ensures forall bds body. + (bds, body) == collect_abs_ln t ==> + (body << t /\ bds <<: t) + \/ (body == t /\ bds == []) + ) +let collect_abs_ln_order t = + match inspect_ln_unascribe t with + | Tv_Abs b body -> collect_abs_order' [b] t body; + let bds, body = collect_abs' [] t in + Classical.forall_intro (rev_memP bds) + | _ -> () + +val collect_abs_ln_ref : (t:term) -> list (bd:binder{bd << t}) * (body:term{body == t \/ body << t}) +let collect_abs_ln_ref t = + let bds, body = collect_abs_ln t in + collect_abs_ln_order t; + list_ref bds, body + + + +(**** [collect_arr_ln_bs t] is smaller than [t] *) +let rec collect_arr_order' (bds: binders) (tt: term) (c: comp) + : Lemma (requires c << tt /\ bds <<: tt) + (ensures (let bds', c' = collect_arr' bds c in + bds' <<: tt /\ c' << tt)) + (decreases c) + = match inspect_comp c with + | C_Total ret -> + ( match inspect_ln_unascribe ret with + | Tv_Arrow b c -> collect_arr_order' (b::bds) tt c + | _ -> ()) + | _ -> () + +val collect_arr_ln_bs_order : (t:term) -> + Lemma (ensures forall bds c. + (bds, c) == collect_arr_ln_bs t ==> + (c << t /\ bds <<: t) + \/ (c == pack_comp (C_Total t) /\ bds == []) + ) +let collect_arr_ln_bs_order t = + match inspect_ln_unascribe t with + | Tv_Arrow b c -> collect_arr_order' [b] t c; + Classical.forall_intro_2 (rev_memP #binder); + inspect_pack_comp_inv (C_Total t) + | _ -> inspect_pack_comp_inv (C_Total t) + +val collect_arr_ln_bs_ref : (t:term) -> list (bd:binder{bd << t}) + * (c:comp{ c == pack_comp (C_Total t) \/ c << t}) +let collect_arr_ln_bs_ref t = + let bds, c = collect_arr_ln_bs t in + collect_arr_ln_bs_order t; + list_ref bds, c diff --git a/ulib/FStar.Reflection.V2.Derived.fst b/ulib/FStar.Reflection.V2.Derived.fst new file mode 100644 index 00000000000..14e5a093f68 --- /dev/null +++ b/ulib/FStar.Reflection.V2.Derived.fst @@ -0,0 +1,290 @@ +(* + 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 FStar.Reflection.V2.Derived + +open FStar.Reflection.Types +open FStar.Reflection.Const +open FStar.Reflection.V2.Builtins +open FStar.Reflection.V2.Data +open FStar.Order +open FStar.VConfig + +let rec inspect_ln_unascribe (t:term) : tv:term_view{tv << t /\ notAscription tv} = + match inspect_ln t with + | Tv_AscribedT t' _ _ _ + | Tv_AscribedC t' _ _ _ -> inspect_ln_unascribe t' + | tv -> tv + +let compare_bv (v1 v2 : bv) : order = + Order.compare_int (inspect_bv v1).index (inspect_bv v2).index + +let compare_namedv (v1 v2 : namedv) : order = + Order.compare_int (inspect_namedv v1).uniq (inspect_namedv v2).uniq + +let shift n s = match s with + | DB i t -> DB (i+n) t + | DT i t -> DT (i+n) t + | UN i t -> UN (i+n) t + | NM x i -> NM x (i+n) + | UD x i -> UD x (i+n) + | NT _ _ -> s +let shift_subst n s = List.Tot.map (shift n) s + +let subst1 (n:namedv) (t1:term) (t2:term) : term = + subst_term [NT n t1] t2 + +(* + * AR: add versions that take attributes as arguments? + *) +let mk_binder (nm : string) (sort : typ) : simple_binder = + let bv : binder_view = { + ppname = seal nm; + qual = Q_Explicit; + attrs = []; + sort = sort; + } + in + inspect_pack_binder bv; + pack_binder bv + +let mk_implicit_binder (nm : string) (sort : typ) : binder = + pack_binder { + ppname = seal nm; + qual = Q_Implicit; + attrs = []; + sort = sort; + } + +let push_binding (e:env) (b:binding) : env = + let nv : namedv = pack_namedv { + uniq = b.uniq; + sort = seal b.sort; + ppname = b.ppname; + } + in + push_namedv e nv + +let type_of_binder (b : binder) : typ = + (inspect_binder b).sort + +val flatten_name : name -> Tot string +let rec flatten_name ns = + match ns with + | [] -> "" + | [n] -> n + | n::ns -> n ^ "." ^ flatten_name ns + +(* Helpers for dealing with nested applications and arrows *) +let rec collect_app_ln' (args : list argv) (t : term) : Tot (term * list argv) (decreases t) = + match inspect_ln_unascribe t with + | Tv_App l r -> + collect_app_ln' (r::args) l + | _ -> (t, args) + +val collect_app_ln : term -> term * list argv +let collect_app_ln = collect_app_ln' [] + +let rec mk_app (t : term) (args : list argv) : Tot term (decreases args) = + match args with + | [] -> t + | (x::xs) -> mk_app (pack_ln (Tv_App t x)) xs + +// Helper for when all arguments are explicit +let mk_e_app (t : term) (args : list term) : Tot term = + let e t = (t, Q_Explicit) in + mk_app t (List.Tot.Base.map e args) + +let u_unk : universe = pack_universe Uv_Unk + +let rec mk_tot_arr_ln (bs: list binder) (cod : term) : Tot term (decreases bs) = + match bs with + | [] -> cod + | (b::bs) -> pack_ln (Tv_Arrow b (pack_comp (C_Total (mk_tot_arr_ln bs cod)))) + +let rec collect_arr' (bs : list binder) (c : comp) : Tot (list binder * comp) (decreases c) = + begin match inspect_comp c with + | C_Total t -> + begin match inspect_ln_unascribe t with + | Tv_Arrow b c -> + collect_arr' (b::bs) c + | _ -> + (bs, c) + end + | _ -> (bs, c) + end + +val collect_arr_ln_bs : typ -> list binder * comp +let collect_arr_ln_bs t = + let (bs, c) = collect_arr' [] (pack_comp (C_Total t)) in + (List.Tot.Base.rev bs, c) + +val collect_arr_ln : typ -> list typ * comp +let collect_arr_ln t = + let bs, c = collect_arr_ln_bs t in + List.Tot.Base.map type_of_binder bs, c + +let rec collect_abs' (bs : list binder) (t : term) : Tot (list binder * term) (decreases t) = + match inspect_ln_unascribe t with + | Tv_Abs b t' -> + collect_abs' (b::bs) t' + | _ -> (bs, t) + +val collect_abs_ln : term -> list binder * term +let collect_abs_ln t = + let (bs, t') = collect_abs' [] t in + (List.Tot.Base.rev bs, t') + +let fv_to_string (fv:fv) : string = implode_qn (inspect_fv fv) + +let mk_stringlit (s : string) : term = + pack_ln (Tv_Const (C_String s)) + +let mk_strcat (t1 t2 : term) : term = + mk_e_app (pack_ln (Tv_FVar (pack_fv ["Prims"; "strcat"]))) [t1; t2] + +let mk_cons (h t : term) : term = + mk_e_app (pack_ln (Tv_FVar (pack_fv cons_qn))) [h; t] + +let mk_cons_t (ty h t : term) : term = + mk_app (pack_ln (Tv_FVar (pack_fv cons_qn))) [(ty, Q_Implicit); (h, Q_Explicit); (t, Q_Explicit)] + +let rec mk_list (ts : list term) : term = + match ts with + | [] -> pack_ln (Tv_FVar (pack_fv nil_qn)) + | t::ts -> mk_cons t (mk_list ts) + +let mktuple_n (ts : list term{List.Tot.Base.length ts <= 8}) : term = + match List.Tot.Base.length ts with + | 0 -> pack_ln (Tv_Const C_Unit) + | 1 -> let [x] = ts in x + | n -> begin + let qn = match n with + | 2 -> mktuple2_qn + | 3 -> mktuple3_qn + | 4 -> mktuple4_qn + | 5 -> mktuple5_qn + | 6 -> mktuple6_qn + | 7 -> mktuple7_qn + | 8 -> mktuple8_qn + in mk_e_app (pack_ln (Tv_FVar (pack_fv qn))) ts + end + +let destruct_tuple (t : term) : option (list term) = + let head, args = collect_app_ln t in + match inspect_ln head with + | Tv_FVar fv -> + if List.Tot.Base.mem + (inspect_fv fv) [mktuple2_qn; mktuple3_qn; mktuple4_qn; mktuple5_qn; + mktuple6_qn; mktuple7_qn; mktuple8_qn] + then Some (List.Tot.Base.concatMap (fun (t, q) -> + match q with + | Q_Explicit -> [t] + | _ -> []) args) + else None + | _ -> None + +let mkpair (t1 t2 : term) : term = + mktuple_n [t1;t2] + +let rec head (t : term) : term = + match inspect_ln t with + | Tv_Match t _ _ + | Tv_Let _ _ _ t _ + | Tv_Abs _ t + | Tv_Refine _ t + | Tv_App t _ + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> head t + + | Tv_Unknown + | Tv_Uvar _ _ + | Tv_Const _ + | Tv_Type _ + | Tv_Var _ + | Tv_BVar _ + | Tv_FVar _ + | Tv_UInst _ _ + | Tv_Arrow _ _ + | Tv_Unsupp -> t + +(** Checks if a term `t` is equal to some FV (a top level name). +Ignores universes and ascriptions. *) +let is_fvar (t : term) (nm:string) : bool = + match inspect_ln_unascribe t with + | Tv_FVar fv + | Tv_UInst fv _ -> implode_qn (inspect_fv fv) = nm + | _ -> false + +(** Checks if a term `t` is equal to any FV (a top level name) from +those given in the list. Ignores universes and ascriptions. *) +let rec is_any_fvar (t : term) (nms:list string) : bool = + match nms with + | [] -> false + | v::vs -> is_fvar t v || is_any_fvar t vs + +let is_uvar (t : term) : bool = + match inspect_ln (head t) with + | Tv_Uvar _ _ -> true + | _ -> false + +let binder_set_qual (q:aqualv) (b:binder) : Tot binder = + let bview = inspect_binder b in + pack_binder { bview with qual=q } + +(** Set a vconfig for a sigelt *) +val add_check_with : vconfig -> sigelt -> Tot sigelt +let add_check_with vcfg se = + let attrs = sigelt_attrs se in + let vcfg_t = embed_vconfig vcfg in + let t = `(check_with (`#vcfg_t)) in + set_sigelt_attrs (t :: attrs) se + +let un_uinst (t:term) : term = + match inspect_ln t with + | Tv_UInst fv _ -> pack_ln (Tv_FVar fv) + | _ -> t + +(* Returns [true] iff the term [t] is just the name [nm], though +possibly universe-instantiated and applied to some implicit arguments. +*) +let rec is_name_imp (nm : name) (t : term) : bool = + begin match inspect_ln_unascribe t with + | Tv_FVar fv + | Tv_UInst fv _ -> + if inspect_fv fv = nm + then true + else false + | Tv_App l (_, Q_Implicit) -> + is_name_imp nm l + | _ -> false + end + +(* If t is of the shape [squash t'], return [Some t'], +otherwise [None]. *) +let unsquash_term (t : term) : option term = + match inspect_ln_unascribe t with + | Tv_App l (r, Q_Explicit) -> + if is_name_imp squash_qn l + then Some r + else None + | _ -> None + +(* As [unsquash_term], but returns the original term if +[t] is not a squash. *) +let maybe_unsquash_term (t : term) : term = + match unsquash_term t with + | Some t' -> t' + | None -> t diff --git a/ulib/FStar.Reflection.V2.Formula.fst b/ulib/FStar.Reflection.V2.Formula.fst new file mode 100644 index 00000000000..9f7cf13d068 --- /dev/null +++ b/ulib/FStar.Reflection.V2.Formula.fst @@ -0,0 +1,251 @@ +(* + 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 FStar.Reflection.V2.Formula + +open FStar.List.Tot.Base + +open FStar.Reflection.Types +open FStar.Reflection.Const +open FStar.Reflection.V2.Builtins +open FStar.Reflection.V2.Derived +open FStar.Reflection.V2.Data + +open FStar.Tactics.Common +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.NamedView + +///// Helpers (we cannot use the ones in Tactics.V2.Derived, those are for named views ///// +private let rec inspect_unascribe (t:term) : Tac term_view = + match inspect t with + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> + inspect_unascribe t + | tv -> tv + +private let rec collect_app' (args : list argv) (t : term) + : Tac (term * list argv) (decreases t) = + match inspect_unascribe t with + | Tv_App l r -> + collect_app' (r::args) l + | _ -> (t, args) + +private let collect_app = collect_app' [] +///// + +[@@plugin] +noeq type comparison = + | Eq of option typ (* Propositional equality (eq2), maybe annotated *) + | BoolEq of option typ (* Decidable, boolean equality (eq), maybe annotated *) + | Lt | Le | Gt | Ge (* Orderings, at type `int` (and subtypes) *) + +[@@plugin] +noeq type formula = + | True_ : formula + | False_ : formula + | Comp : comparison -> term -> term -> formula + | And : term -> term -> formula + | Or : term -> term -> formula + | Not : term -> formula + | Implies: term -> term -> formula + | Iff : term -> term -> formula + | Forall : bv -> typ -> term -> formula + | Exists : bv -> typ -> term -> formula + | App : term -> term -> formula + | Name : namedv -> formula + | FV : fv -> formula + | IntLit : int -> formula + | F_Unknown : formula // Also a baked-in "None" + +let mk_Forall (typ : term) (pred : term) : Tot formula = + let b = pack_bv ({ ppname = as_ppname "x"; + sort = seal typ; + index = 0; }) in + Forall b typ (pack (Tv_App pred (pack (Tv_BVar b), Q_Explicit))) + +let mk_Exists (typ : term) (pred : term) : Tot formula = + let b = pack_bv ({ ppname = as_ppname "x"; + sort = seal typ; + index = 0; }) in + Exists b typ (pack (Tv_App pred (pack (Tv_BVar b), Q_Explicit))) + +[@@plugin] +let term_as_formula' (t:term) : Tac formula = + match inspect_unascribe t with + | Tv_Var n -> + Name n + + | Tv_FVar fv + | Tv_UInst fv _ -> + // Cannot use `when` clauses when verifying! + let qn = inspect_fv fv in + if qn = true_qn then True_ + else if qn = false_qn then False_ + else FV fv + + // TODO: l_Forall + // ...or should we just try to drop all squashes? + // TODO: b2t at this point ? + | Tv_App h0 t -> begin + let (h, ts) = collect_app h0 in + let h = un_uinst h in + match inspect h, ts@[t] with + | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit); (a3, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = eq2_qn then Comp (Eq (Some a1)) a2 a3 + else if qn = eq1_qn then Comp (BoolEq (Some a1)) a2 a3 + else if qn = lt_qn then Comp Lt a2 a3 + else if qn = lte_qn then Comp Le a2 a3 + else if qn = gt_qn then Comp Gt a2 a3 + else if qn = gte_qn then Comp Ge a2 a3 + else App h0 (fst t) + | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = imp_qn then Implies a1 a2 + else if qn = and_qn then And a1 a2 + else if qn = iff_qn then Iff a1 a2 + else if qn = or_qn then Or a1 a2 + // Non-annotated comparisons + else if qn = eq2_qn then Comp (Eq None) a1 a2 + else if qn = eq1_qn then Comp (BoolEq None) a1 a2 + else App h0 (fst t) + + | Tv_FVar fv, [(a1, Q_Implicit); (a2, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = forall_qn then mk_Forall a1 a2 + else if qn = exists_qn then mk_Exists a1 a2 + else App h0 (fst t) + | Tv_FVar fv, [(a, Q_Explicit)] -> + let qn = inspect_fv fv in + if qn = not_qn then Not a + else if qn = b2t_qn then begin + if term_eq a (`false) then False_ + else if term_eq a (`true) then True_ + else App h0 (fst t) + end + else App h0 (fst t) + | _ -> + App h0 (fst t) + end + + | Tv_Const (C_Int i) -> + IntLit i + + (* Not formulas. *) + | Tv_Let _ _ _ _ _ + | Tv_Match _ _ _ + | Tv_Type _ + | Tv_Abs _ _ + | Tv_Arrow _ _ + | Tv_Uvar _ _ + | Tv_Unknown + | Tv_Unsupp + | Tv_Refine _ _ -> F_Unknown + + (* Other constants? *) + | Tv_Const _ -> F_Unknown + + (* Should not occur, we're using inspect *) + | Tv_BVar _ -> F_Unknown + | _ -> raise (TacticFailure "???") + +// Unsquashing +let term_as_formula (t:term) : Tac formula = + match unsquash_term t with + | None -> F_Unknown + | Some t -> + term_as_formula' t + +// Badly named, this only means it always returns a formula even if not properly +// squashed at the top-level. +let term_as_formula_total (t:term) : Tac formula = + term_as_formula' (maybe_unsquash_term t) + +let formula_as_term_view (f:formula) : Tot term_view = + let mk_app' tv args = List.Tot.Base.fold_left (fun tv a -> Tv_App (pack tv) a) tv args in + let e = Q_Explicit in + let i = Q_Implicit in + match f with + | True_ -> Tv_FVar (pack_fv true_qn) + | False_ -> Tv_FVar (pack_fv false_qn) + | Comp (Eq None) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(l,e);(r,e)] + | Comp (Eq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq2_qn)) [(t,i);(l,e);(r,e)] + | Comp (BoolEq None) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(l,e);(r,e)] + | Comp (BoolEq (Some t)) l r -> mk_app' (Tv_FVar (pack_fv eq1_qn)) [(t,i);(l,e);(r,e)] + | Comp Lt l r -> mk_app' (Tv_FVar (pack_fv lt_qn)) [(l,e);(r,e)] + | Comp Le l r -> mk_app' (Tv_FVar (pack_fv lte_qn)) [(l,e);(r,e)] + | Comp Gt l r -> mk_app' (Tv_FVar (pack_fv gt_qn)) [(l,e);(r,e)] + | Comp Ge l r -> mk_app' (Tv_FVar (pack_fv gte_qn)) [(l,e);(r,e)] + | And p q -> mk_app' (Tv_FVar (pack_fv and_qn)) [(p,e);(q,e)] + | Or p q -> mk_app' (Tv_FVar (pack_fv or_qn)) [(p,e);(q,e)] + | Implies p q -> mk_app' (Tv_FVar (pack_fv imp_qn)) [(p,e);(q,e)] + | Not p -> mk_app' (Tv_FVar (pack_fv not_qn)) [(p,e)] + | Iff p q -> mk_app' (Tv_FVar (pack_fv iff_qn)) [(p,e);(q,e)] + | Forall b sort t -> Tv_Unknown // TODO: decide on meaning of this + | Exists b sort t -> Tv_Unknown // TODO: ^ + + | App p q -> + Tv_App p (q, Q_Explicit) + + | Name b -> + Tv_Var b + + | FV fv -> + Tv_FVar fv + + | IntLit i -> + Tv_Const (C_Int i) + + | F_Unknown -> + Tv_Unknown + +let formula_as_term (f:formula) : Tot term = + pack (formula_as_term_view f) + +private let namedv_to_string (namedv : namedv) : Tac string = + let namedvv = inspect_namedv namedv in + unseal namedvv.ppname + +let formula_to_string (f:formula) : Tac string = + match f with + | True_ -> "True_" + | False_ -> "False_" + | Comp (Eq mt) l r -> "Eq" ^ + (match mt with + | None -> "" + | Some t -> " (" ^ term_to_string t ^ ")") ^ + " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp (BoolEq mt) l r -> "BoolEq" ^ + (match mt with + | None -> "" + | Some t -> " (" ^ term_to_string t ^ ")") ^ + " (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Lt l r -> "Lt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Le l r -> "Le (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Gt l r -> "Gt (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | Comp Ge l r -> "Ge (" ^ term_to_string l ^ ") (" ^ term_to_string r ^ ")" + | And p q -> "And (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Or p q -> "Or (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Implies p q -> "Implies (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Not p -> "Not (" ^ term_to_string p ^ ")" + | Iff p q -> "Iff (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Forall bs _sort t -> "Forall (" ^ term_to_string t ^ ")" + | Exists bs _sort t -> "Exists (" ^ term_to_string t ^ ")" + | App p q -> "App (" ^ term_to_string p ^ ") (" ^ term_to_string q ^ ")" + | Name bv -> "Name (" ^ namedv_to_string bv ^ ")" + | FV fv -> "FV (" ^ flatten_name (inspect_fv fv) ^ ")" + | IntLit i -> "Int " ^ string_of_int i + | F_Unknown -> "?" diff --git a/ulib/FStar.Reflection.TermEq.fst b/ulib/FStar.Reflection.V2.TermEq.fst similarity index 87% rename from ulib/FStar.Reflection.TermEq.fst rename to ulib/FStar.Reflection.V2.TermEq.fst index b50ea6fa06b..b244bce6447 100644 --- a/ulib/FStar.Reflection.TermEq.fst +++ b/ulib/FStar.Reflection.V2.TermEq.fst @@ -1,8 +1,8 @@ -module FStar.Reflection.TermEq +module FStar.Reflection.V2.TermEq open FStar.Reflection.Types -open FStar.Reflection.Data -open FStar.Reflection.Builtins +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Builtins module L = FStar.List.Tot @@ -101,7 +101,17 @@ let bv_cmp x1 x2 = let v2 = inspect_bv x2 in pack_inspect_bv x1; pack_inspect_bv x2; - if v1.bv_index = v2.bv_index then Eq else Neq + sealed_singl v1.sort v2.sort; + if v1.index = v2.index then Eq else Neq + +val namedv_cmp : comparator_for namedv +let namedv_cmp x1 x2 = + let v1 = inspect_namedv x1 in + let v2 = inspect_namedv x2 in + pack_inspect_namedv x1; + pack_inspect_namedv x2; + sealed_singl v1.sort v2.sort; + if v1.uniq = v2.uniq then Eq else Neq val fv_cmp : comparator_for fv let fv_cmp f1 f2 = @@ -179,8 +189,12 @@ let range_cmp r1 r2 = val ident_cmp : comparator_for ident let ident_cmp i1 i2 = - Sealed.sealed_singl (snd i1) (snd i2); - eq_cmp (fst i1) (fst i2) + let iv1 = inspect_ident i1 in + let iv2 = inspect_ident i2 in + pack_inspect_ident i1; + pack_inspect_ident i2; + Sealed.sealed_singl (snd iv1) (snd iv2); + eq_cmp (fst iv1) (fst iv2) val univ_cmp : comparator_for universe let rec univ_cmp (u1 u2 : universe) = @@ -219,7 +233,6 @@ val term_cmp : comparator_for term val binder_cmp : comparator_for binder val aqual_cmp : comparator_for aqualv val arg_cmp : comparator_for argv -val binding_bv_cmp : comparator_for bv val comp_cmp : comparator_for comp val pat_cmp : comparator_for pattern val pat_arg_cmp : comparator_for (pattern & bool) @@ -234,7 +247,7 @@ let rec term_cmp t1 t2 = match tv1, tv2 with | Tv_Unsupp, _ | _, Tv_Unsupp -> Unknown - | Tv_Var v1, Tv_Var v2 -> bv_cmp v1 v2 + | Tv_Var v1, Tv_Var v2 -> namedv_cmp v1 v2 | Tv_BVar v1, Tv_BVar v2 -> bv_cmp v1 v2 | Tv_FVar f1, Tv_FVar f2 -> fv_cmp f1 f2 | Tv_UInst f1 u1, Tv_UInst f2 u2 -> @@ -254,9 +267,8 @@ let rec term_cmp t1 t2 = | Tv_Type u1, Tv_Type u2 -> univ_cmp u1 u2 - | Tv_Refine v1 sort1 r1, Tv_Refine v2 sort2 r2 -> - binding_bv_cmp v1 v2 - &&& term_cmp sort1 sort2 + | Tv_Refine sb1 r1, Tv_Refine sb2 r2 -> + binder_cmp sb1 sb2 &&& term_cmp r1 r2 | Tv_Const c1, Tv_Const c2 -> @@ -265,11 +277,10 @@ let rec term_cmp t1 t2 = | Tv_Uvar n1 u1, Tv_Uvar n2 u2 -> eq_cmp n1 n2 &&& ctxu_cmp u1 u2 - | Tv_Let r1 attrs1 bv1 ty1 e1 b1, Tv_Let r2 attrs2 bv2 ty2 e2 b2 -> + | Tv_Let r1 attrs1 sb1 e1 b1, Tv_Let r2 attrs2 sb2 e2 b2 -> eq_cmp r1 r2 &&& list_dec_cmp t1 t2 term_cmp attrs1 attrs2 - &&& binding_bv_cmp bv1 bv2 - &&& term_cmp ty1 ty2 + &&& binder_cmp sb1 sb2 &&& term_cmp e1 e2 &&& term_cmp b1 b2 @@ -304,17 +315,6 @@ and aqual_cmp a1 a2 = | Q_Meta m1, Q_Meta m2 -> term_cmp m1 m2 | _ -> Neq -(* FIXME: currently we need to compare the indices -of binding bvs, but they should not matter at all. *) -and binding_bv_cmp x1 x2 = - let v1 = inspect_bv x1 in - let v2 = inspect_bv x2 in - pack_inspect_bv x1; - pack_inspect_bv x2; - if v1.bv_index = v2.bv_index - then Eq - else Neq - and match_returns_ascription_cmp asc1 asc2 = let (b1, (tc1, tacopt1, eq1)) = asc1 in let (b2, (tc2, tacopt2, eq2)) = asc2 in @@ -328,10 +328,9 @@ and binder_cmp b1 b2 = let bv2 = inspect_binder b2 in pack_inspect_binder b1; pack_inspect_binder b2; - binding_bv_cmp bv1.binder_bv bv2.binder_bv - &&& term_cmp bv1.binder_sort bv2.binder_sort - &&& aqual_cmp bv1.binder_qual bv2.binder_qual - &&& list_dec_cmp b1 b2 term_cmp bv1.binder_attrs bv2.binder_attrs + term_cmp bv1.sort bv2.sort + &&& aqual_cmp bv1.qual bv2.qual + &&& list_dec_cmp b1 b2 term_cmp bv1.attrs bv2.attrs and comp_cmp c1 c2 = let cv1 = inspect_comp c1 in @@ -363,15 +362,16 @@ and br_cmp br1 br2 = and pat_cmp p1 p2 = match p1, p2 with - | Pat_Var v1 st1, Pat_Var v2 st2 -> - Sealed.sealed_singl st1 st2; - bv_cmp v1 v2 - | Pat_Constant c1, Pat_Constant c2 -> const_cmp c1 c2 - | Pat_Dot_Term t1, Pat_Dot_Term t2 -> opt_dec_cmp p1 p2 term_cmp t1 t2 - | Pat_Cons f1 us1 args1, Pat_Cons f2 us2 args2 -> - fv_cmp f1 f2 + | Pat_Var x1 s1, Pat_Var x2 s2 -> + sealed_singl x1 x2; + sealed_singl s1 s2; + Eq + | Pat_Constant x1, Pat_Constant x2 -> const_cmp x1 x2 + | Pat_Dot_Term x1, Pat_Dot_Term x2 -> opt_dec_cmp p1 p2 term_cmp x1 x2 + | Pat_Cons head1 us1 subpats1, Pat_Cons head2 us2 subpats2 -> + fv_cmp head1 head2 &&& opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) us1 us2 - &&& list_dec_cmp p1 p2 pat_arg_cmp args1 args2 + &&& list_dec_cmp p1 p2 pat_arg_cmp subpats1 subpats2 | _ -> Neq @@ -473,14 +473,14 @@ let rec faithful t = faithful_binder b /\ faithful_comp c | Tv_Type u -> faithful_univ u - | Tv_Refine b sort phi -> - faithful sort + | Tv_Refine b phi -> + faithful_binder b /\ faithful phi | Tv_Uvar n u -> False - | Tv_Let r ats x ty e b -> + | Tv_Let r ats x e b -> faithful_attrs ats - /\ faithful ty + /\ faithful_binder x /\ faithful e /\ faithful b @@ -510,7 +510,7 @@ and faithful_qual (q:aqualv) : Type0 = and faithful_binder (b:binder) : Type0 = match inspect_binder b with - | {binder_sort=sort; binder_qual=q; binder_attrs=attrs} -> + | {sort=sort; qual=q; attrs=attrs} -> faithful sort /\ faithful_qual q /\ faithful_attrs attrs and faithful_branch (b : branch) : Type0 = @@ -520,11 +520,12 @@ and faithful_branch (b : branch) : Type0 = and faithful_pattern (p : pattern) : Type0 = match p with | Pat_Constant _ -> True - | Pat_Cons h usopt pats -> - optP p (allP p faithful_univ) usopt - /\ allP p faithful_pattern_arg pats + | Pat_Cons head univs subpats -> + optP p (allP p faithful_univ) univs + /\ allP p faithful_pattern_arg subpats + (* non-binding bvs are always OK *) - | Pat_Var bv _ -> True + | Pat_Var _ _ -> True | Pat_Dot_Term None -> True | Pat_Dot_Term (Some t) -> faithful t @@ -555,17 +556,17 @@ let faithful_Tv_UInst (t : term) (f : fv) (us : list universe) (ensures allP t faithful_univ us) = () -let faithful_Tv_Let (t : term) (recf : bool) (attrs : list term) (bv:bv) (ty:typ) (def body : term) - : Lemma (requires inspect_ln t == Tv_Let recf attrs bv ty def body +let faithful_Tv_Let (t : term) (recf : bool) (attrs : list term) (b:simple_binder) (ty:typ) (def body : term) + : Lemma (requires inspect_ln t == Tv_Let recf attrs b def body /\ faithful t) (ensures faithful_attrs attrs) = () -let term_eq_Tv_Let (t1 t2 : term) (recf1 recf2 : bool) (attrs1 attrs2 : list term) (bv1 bv2:bv) (ty1 ty2:typ) (def1 def2 body1 body2: term) - : Lemma (requires inspect_ln t1 == Tv_Let recf1 attrs1 bv1 ty1 def1 body1 - /\ inspect_ln t2 == Tv_Let recf2 attrs2 bv2 ty2 def2 body2) - (ensures term_cmp t1 t2 == (eq_cmp recf1 recf2 &&& list_dec_cmp t1 t2 term_cmp attrs1 attrs2 &&& binding_bv_cmp bv1 bv2 &&& term_cmp ty1 ty2 &&& term_cmp def1 def2 &&& term_cmp body1 body2)) - = assume (term_cmp t1 t2 == (eq_cmp recf1 recf2 &&& list_dec_cmp t1 t2 term_cmp attrs1 attrs2 &&& binding_bv_cmp bv1 bv2 &&& term_cmp ty1 ty2 &&& term_cmp def1 def2 &&& term_cmp body1 body2)) // #2908, somehow assert_norm also does not work +let term_eq_Tv_Let (t1 t2 : term) (recf1 recf2 : bool) (attrs1 attrs2 : list term) (b1 b2:simple_binder) (def1 def2 body1 body2: term) + : Lemma (requires inspect_ln t1 == Tv_Let recf1 attrs1 b1 def1 body1 + /\ inspect_ln t2 == Tv_Let recf2 attrs2 b2 def2 body2) + (ensures term_cmp t1 t2 == (eq_cmp recf1 recf2 &&& list_dec_cmp t1 t2 term_cmp attrs1 attrs2 &&& binder_cmp b1 b2 &&& term_cmp def1 def2 &&& term_cmp body1 body2)) + = assume (term_cmp t1 t2 == (eq_cmp recf1 recf2 &&& list_dec_cmp t1 t2 term_cmp attrs1 attrs2 &&& binder_cmp b1 b2 &&& term_cmp def1 def2 &&& term_cmp body1 body2)) // #2908, somehow assert_norm also does not work let faithful_Tv_Match (t : term) (sc : term) (o : option match_returns_ascription) (brs : list branch) : Lemma (requires inspect_ln t == Tv_Match sc o brs /\ faithful t) @@ -582,10 +583,10 @@ let term_eq_Tv_Match (t1 t2 : term) (sc1 sc2 : term) (o1 o2 : option match_retur &&& opt_dec_cmp t1 t2 match_returns_ascription_cmp o1 o2 &&& list_dec_cmp t1 t2 br_cmp brs1 brs2)) // #2908, somehow assert_norm also does not work -let faithful_Pat_Cons (p : pattern) (f:fv) (ous : option universes) (args : list (pattern & bool)) - : Lemma (requires p == Pat_Cons f ous args /\ faithful_pattern p) - (ensures allP p faithful_pattern_arg args) - = assert_norm (faithful_pattern p ==> allP p faithful_pattern_arg args) // #2908 +let faithful_Pat_Cons (p : pattern) (f:fv) (ous : option universes) (subpats : list (pattern & bool)) + : Lemma (requires p == Pat_Cons f ous subpats /\ faithful_pattern p) + (ensures allP p faithful_pattern_arg subpats) + = assert_norm (faithful_pattern p ==> allP p faithful_pattern_arg subpats) // #2908 let pat_eq_Pat_Cons (p1 p2 : pattern) (f1 f2 : fv) (ous1 ous2 : option universes) (args1 args2 : list (pattern & bool)) : Lemma (requires p1 == Pat_Cons f1 ous1 args1 /\ p2 == Pat_Cons f2 ous2 args2) @@ -633,16 +634,16 @@ let rec faithful_lemma (t1 t2 : term) = faithful_lemma_comp c1 c2 | Tv_Type u1, Tv_Type u2 -> univ_faithful_lemma u1 u2 - | Tv_Refine b1 sort1 t1, Tv_Refine b2 sort2 t2 -> - faithful_lemma sort1 sort2; + | Tv_Refine b1 t1, Tv_Refine b2 t2 -> + faithful_lemma_binder b1 b2; faithful_lemma t1 t2 - | Tv_Let r1 ats1 x1 ty1 e1 b1, Tv_Let r2 ats2 x2 ty2 e2 b2 -> + | Tv_Let r1 ats1 x1 e1 b1, Tv_Let r2 ats2 x2 e2 b2 -> faithful_lemma_attrs_dec t1 t2 ats1 ats2; - faithful_lemma ty1 ty2; + faithful_lemma_binder x1 x2; faithful_lemma e1 e2; faithful_lemma b1 b2; - (***)term_eq_Tv_Let t1 t2 r1 r2 ats1 ats2 x1 x2 ty1 ty2 e1 e2 b1 b2; + (***)term_eq_Tv_Let t1 t2 r1 r2 ats1 ats2 x1 x2 e1 e2 b1 b2; () | Tv_Match sc1 o1 brs1, Tv_Match sc2 o2 brs2 -> @@ -671,20 +672,22 @@ let rec faithful_lemma (t1 t2 : term) = and faithful_lemma_pattern (p1 p2 : pattern) : Lemma (requires faithful_pattern p1 /\ faithful_pattern p2) (ensures defined (pat_cmp p1 p2)) = match p1, p2 with - | Pat_Var v1 _, Pat_Var v2 _ -> () - | Pat_Constant c1, Pat_Constant c2 -> () - | Pat_Dot_Term (Some t1), Pat_Dot_Term (Some t2) -> faithful_lemma t1 t2 - | Pat_Cons f1 uso1 args1, Pat_Cons f2 uso2 args2 -> - (***)faithful_Pat_Cons p1 f1 uso1 args1; - (***)faithful_Pat_Cons p2 f2 uso2 args2; - let aux : squash (defined (opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) uso1 uso2)) = - match uso1, uso2 with + | Pat_Var _ _, Pat_Var _ _ -> () + | Pat_Constant _, Pat_Constant _ -> () + | Pat_Dot_Term (Some t1), Pat_Dot_Term (Some t2) -> + faithful_lemma t1 t2 + | Pat_Cons head1 univs1 subpats1, Pat_Cons head2 univs2 subpats2 -> + (***)faithful_Pat_Cons p1 head1 univs1 subpats1; + (***)faithful_Pat_Cons p2 head2 univs2 subpats2; + let aux : squash (defined (opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) univs1 univs2)) = + match univs1, univs2 with | Some us1, Some us2 -> univ_faithful_lemma_list p1 p2 us1 us2 | _ -> () in - faithful_lemma_pattern_args p1 p2 args1 args2; - (***)pat_eq_Pat_Cons p1 p2 f1 f2 uso1 uso2 args1 args2 + faithful_lemma_pattern_args p1 p2 subpats1 subpats2; + (***)pat_eq_Pat_Cons p1 p2 head1 head2 univs1 univs2 subpats1 subpats2; + () | _ -> () @@ -742,14 +745,13 @@ and faithful_lemma_arg (a1 a2 : argv) : Lemma (requires faithful_arg a1 /\ faith and faithful_lemma_binder (b1 b2 : binder) : Lemma (requires faithful_binder b1 /\ faithful_binder b2) (ensures defined (binder_cmp b1 b2)) = let bv1 = inspect_binder b1 in let bv2 = inspect_binder b2 in - faithful_lemma_qual bv1.binder_qual bv2.binder_qual; - faithful_lemma bv1.binder_sort bv2.binder_sort; - faithful_lemma_attrs_dec b1 b2 bv1.binder_attrs bv2.binder_attrs; + faithful_lemma_qual bv1.qual bv2.qual; + faithful_lemma bv1.sort bv2.sort; + faithful_lemma_attrs_dec b1 b2 bv1.attrs bv2.attrs; assert_norm ( - (binding_bv_cmp bv1.binder_bv bv2.binder_bv - &&& term_cmp bv1.binder_sort bv2.binder_sort - &&& aqual_cmp bv1.binder_qual bv2.binder_qual - &&& list_dec_cmp b1 b2 term_cmp bv1.binder_attrs bv2.binder_attrs) == binder_cmp b1 b2); + (term_cmp bv1.sort bv2.sort + &&& aqual_cmp bv1.qual bv2.qual + &&& list_dec_cmp b1 b2 term_cmp bv1.attrs bv2.attrs) == binder_cmp b1 b2); () and faithful_lemma_qual (q1 q2 : aqualv) : Lemma (requires faithful_qual q1 /\ faithful_qual q2) (ensures defined (aqual_cmp q1 q2)) = @@ -809,18 +811,23 @@ and faithful_lemma_comp (c1 c2 : comp) : Lemma (requires faithful_comp c1 /\ fai | _ -> () #pop-options + +let faithful_term = t:term{faithful t} + (* A conservative version: works on all terms, returns `true` if they are guaranteed to be equal. *) let term_eq (t1 t2 : term) : (b:bool{b ==> t1 == t2}) = - match term_cmp t1 t2 with - | Eq -> true - | _ -> false - -let faithful_term = t:term{faithful t} + Eq? (term_cmp t1 t2) (* A fully decidable version, for faithful terms. *) let term_eq_dec (t1 t2 : faithful_term) : (b:bool{b <==> t1 == t2}) = faithful_lemma t1 t2; - match term_cmp t1 t2 with - | Eq -> true - | Neq -> false + Eq? (term_cmp t1 t2) + +(* Idem for universes *) +let faithful_universe = t:universe{faithful_univ t} +let univ_eq (u1 u2 : universe) : (b:bool{b ==> u1 == u2}) = + Eq? (univ_cmp u1 u2) +let univ_eq_dec (u1 u2 : faithful_universe) : (b:bool{b <==> u1 == u2}) = + univ_faithful_lemma u1 u2; + Eq? (univ_cmp u1 u2) diff --git a/ulib/FStar.Reflection.V2.fst b/ulib/FStar.Reflection.V2.fst new file mode 100644 index 00000000000..395d7f1d08d --- /dev/null +++ b/ulib/FStar.Reflection.V2.fst @@ -0,0 +1,24 @@ +(* + 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 FStar.Reflection.V2 + +include FStar.Reflection.Types +include FStar.Reflection.V2.Data +include FStar.Reflection.V2.Builtins +include FStar.Reflection.V2.Derived +include FStar.Reflection.V2.Derived.Lemmas +include FStar.Reflection.Const +include FStar.Reflection.V2.Compare diff --git a/ulib/FStar.Reflection.fst b/ulib/FStar.Reflection.fst index 88df3c67908..7f2c5f7cdee 100644 --- a/ulib/FStar.Reflection.fst +++ b/ulib/FStar.Reflection.fst @@ -15,10 +15,6 @@ *) module FStar.Reflection -include FStar.Reflection.Types -include FStar.Reflection.Data -include FStar.Reflection.Builtins -include FStar.Reflection.Derived -include FStar.Reflection.Derived.Lemmas -include FStar.Reflection.Const -include FStar.Reflection.Compare +(* This switch currently points to V1. Ask for V2 explicitly by +importing FStar.Reflection.V2 *) +include FStar.Reflection.V1 diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fst b/ulib/FStar.ReflexiveTransitiveClosure.fst index e177d69dc4a..03cb02a99e7 100644 --- a/ulib/FStar.ReflexiveTransitiveClosure.fst +++ b/ulib/FStar.ReflexiveTransitiveClosure.fst @@ -15,7 +15,7 @@ *) module FStar.ReflexiveTransitiveClosure -open FStar.Tactics +open FStar.Tactics.V2 #set-options "--max_ifuel 1 --max_fuel 0" noeq @@ -68,7 +68,7 @@ let closure_step #a r x y = let q : squash (r x y) = () in assert (squash (r x y) ==> closure r x y) by (let xy = implies_intro () in - let xy : squash (r x y) = unquote xy in + let xy : squash (r x y) = unquote (binding_to_term xy) in squash_intro (); mapply (`Step); assumption()) @@ -149,13 +149,13 @@ 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 x in - let y : a = unquote y in + let x : a = unquote (binding_to_term x) in + let y : a = unquote (binding_to_term y) in let px = implies_intro () in mapply (`squash_implies_to_arrow); mapply (`FStar.Squash.return_squash); apply (`squash_double_arrow); mapply (`FStar.Squash.return_squash); let xy = intro () in - let xy : _closure r x y = unquote xy in + let xy : _closure r x y = unquote (binding_to_term xy) in exact (quote (_stable_on_closure r p hr x y xy (Squash.get_proof _)))) diff --git a/ulib/FStar.Seq.Base.fst b/ulib/FStar.Seq.Base.fst index 442b1433055..fa7b2fbc8ed 100644 --- a/ulib/FStar.Seq.Base.fst +++ b/ulib/FStar.Seq.Base.fst @@ -124,7 +124,12 @@ let rec lemma_index_upd1' (#a:Type) (s:seq a) (n:nat{n < length s}) (v:a) : Lemma (requires True) (ensures (index (upd s n v) n == v)) (decreases (length s)) -= if n = 0 then () else lemma_index_upd1' #a (tl s) (n - 1) v += if n = 0 + then () + else begin + lemma_index_upd1' #a (tl s) (n - 1) v; + assert (index (upd (tl s) (n-1) v) (n-1) == v) + end let lemma_index_upd1 = lemma_index_upd1' diff --git a/ulib/FStar.Seq.Properties.fst b/ulib/FStar.Seq.Properties.fst index 589ef8290fc..3a7e6b5c6d7 100644 --- a/ulib/FStar.Seq.Properties.fst +++ b/ulib/FStar.Seq.Properties.fst @@ -189,6 +189,12 @@ let lemma_swap_permutes_aux #_ s i j x = end #pop-options +let append_permutations #a s1 s2 s1' s2' = + ( + lemma_append_count s1 s2; + lemma_append_count s1' s2' + ) + let lemma_swap_permutes #a s i j = FStar.Classical.forall_intro #a diff --git a/ulib/FStar.Seq.Properties.fsti b/ulib/FStar.Seq.Properties.fsti index 1c67ecf8b6a..3734681e829 100644 --- a/ulib/FStar.Seq.Properties.fsti +++ b/ulib/FStar.Seq.Properties.fsti @@ -196,6 +196,11 @@ val lemma_swap_permutes_aux: #a:eqtype -> s:seq a -> i:nat{i j:nat{ type permutation (a:eqtype) (s1:seq a) (s2:seq a) = (forall i. count i s1 = count i s2) + +val append_permutations: #a:eqtype -> s1:seq a -> s2:seq a -> s1':seq a -> s2':seq a -> Lemma + (requires permutation a s1 s1' /\ permutation a s2 s2') + (ensures permutation a (append s1 s2) (append s1' s2')) + val lemma_swap_permutes (#a:eqtype) (s:seq a) (i:nat{i namedv -> subst_elt + | DT : int -> term -> subst_elt + | NM : namedv -> int -> subst_elt + | NT : namedv -> term -> subst_elt + | UN : int -> universe -> subst_elt + | UD : ident -> int -> subst_elt +type subst_t = list subst_elt diff --git a/ulib/FStar.TSet.fsti b/ulib/FStar.TSet.fsti index a4e2159e523..c77951a07d1 100644 --- a/ulib/FStar.TSet.fsti +++ b/ulib/FStar.TSet.fsti @@ -18,8 +18,6 @@ module FStar.TSet #set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" -module P = FStar.PropositionalExtensionality -module F = FStar.FunctionalExtensionality (* * AR: mark it must_erase_for_extraction temporarily until CMI comes in diff --git a/ulib/FStar.Tactics.Arith.fst b/ulib/FStar.Tactics.Arith.fst index 59970ae8dd7..6fb725a306a 100644 --- a/ulib/FStar.Tactics.Arith.fst +++ b/ulib/FStar.Tactics.Arith.fst @@ -15,9 +15,9 @@ *) module FStar.Tactics.Arith -open FStar.Tactics -open FStar.Reflection.Formula -open FStar.Reflection.Arith +open FStar.Tactics.V2 +open FStar.Reflection.V2.Formula +open FStar.Reflection.V2.Arith // decide if the current goal is arith, drop the built representation of it let is_arith_goal () : Tac bool = diff --git a/ulib/FStar.Tactics.BV.fst b/ulib/FStar.Tactics.BV.fst index 506f3dc645d..a50395418c3 100644 --- a/ulib/FStar.Tactics.BV.fst +++ b/ulib/FStar.Tactics.BV.fst @@ -15,9 +15,9 @@ *) module FStar.Tactics.BV -open FStar.Tactics -open FStar.Reflection.Formula -open FStar.Reflection.Arith +open FStar.Tactics.V2 +open FStar.Reflection.V2.Formula +open FStar.Reflection.V2.Arith open FStar.BV open FStar.UInt @@ -189,7 +189,7 @@ let bv_tac () = focus (fun () -> ) let bv_tac_lt n = focus (fun () -> - let nn = pack_ln (Tv_Const (C_Int n)) in + let nn = pack (Tv_Const (C_Int n)) in let t = mk_app (`trans_lt2) [(nn, Q_Implicit)] in apply_lemma t; arith_to_bv_tac (); diff --git a/ulib/FStar.Tactics.Builtins.fst b/ulib/FStar.Tactics.Builtins.fst new file mode 100644 index 00000000000..9839ba92f3c --- /dev/null +++ b/ulib/FStar.Tactics.Builtins.fst @@ -0,0 +1,19 @@ +(* + 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 FStar.Tactics.Builtins + +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.Builtins diff --git a/ulib/FStar.Tactics.Canon.fst b/ulib/FStar.Tactics.Canon.fst index 15b14b229c5..6e8d8416a31 100644 --- a/ulib/FStar.Tactics.Canon.fst +++ b/ulib/FStar.Tactics.Canon.fst @@ -15,9 +15,9 @@ *) module FStar.Tactics.Canon -open FStar.Tactics -open FStar.Reflection -open FStar.Reflection.Arith +open FStar.Reflection.V2 +open FStar.Tactics.V2 +open FStar.Reflection.V2.Arith open FStar.Mul module O = FStar.Order diff --git a/ulib/FStar.Tactics.CanonCommMonoid.fst b/ulib/FStar.Tactics.CanonCommMonoid.fst index 3310c9528a5..429268f5c3a 100644 --- a/ulib/FStar.Tactics.CanonCommMonoid.fst +++ b/ulib/FStar.Tactics.CanonCommMonoid.fst @@ -17,8 +17,8 @@ module FStar.Tactics.CanonCommMonoid open FStar.Algebra.CommMonoid open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Tactics.V2 open FStar.Classical open FStar.Tactics.CanonCommSwaps @@ -399,7 +399,7 @@ let canon_monoid_aux "SL.AutoTactic.compare_b"; "SL.AutoTactic.compare_v"; `%FStar.Order.int_of_order; - `%FStar.Reflection.compare_term; + `%FStar.Reflection.V2.compare_term; `%FStar.List.Tot.sortWith; `%FStar.List.Tot.partition; `%FStar.List.Tot.bool_of_compare; diff --git a/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst b/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst index 98c1a112b9c..e9b197d3582 100644 --- a/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst +++ b/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst @@ -17,10 +17,9 @@ module FStar.Tactics.CanonCommMonoidSimple.Equiv open FStar.Algebra.CommMonoid.Equiv open FStar.List -open FStar.Tactics -open FStar.Reflection open FStar.Classical open FStar.Tactics.CanonCommSwaps +open FStar.Tactics.V2 let term_eq = FStar.Tactics.term_eq_old @@ -286,8 +285,8 @@ let fatom (t:term) (ts:list term) (am:amap term) : Tac (exp * list term * amap t // This expects that mult, unit, and t have already been normalized let rec reification_aux (ts:list term) (am:amap term) (mult unit t : term) : Tac (exp * list term * amap term) = - let hd, tl = collect_app_ref t in - match inspect hd, list_unref tl with + let hd, tl = collect_app t in + match inspect hd, tl with | Tv_FVar fv, [(t1, Q_Explicit) ; (t2, Q_Explicit)] -> if term_eq (pack (Tv_FVar fv)) mult then (let (e1, ts, am) = reification_aux ts am mult unit t1 in @@ -318,7 +317,7 @@ let rec convert_map (m : list (atom * term)) : term = match m with | [] -> `[] | (a, t)::ps -> - let a = pack_ln (Tv_Const (C_Int a)) in + let a = pack (Tv_Const (C_Int a)) in (* let t = norm_term [delta] t in *) `((`#a, (`#t)) :: (`#(convert_map ps))) @@ -334,7 +333,7 @@ let rec quote_exp (e:exp) : term = match e with | Unit -> (`Unit) | Mult e1 e2 -> (`Mult (`#(quote_exp e1)) (`#(quote_exp e2))) - | Atom n -> let nt = pack_ln (Tv_Const (C_Int n)) in + | Atom n -> let nt = pack (Tv_Const (C_Int n)) in (`Atom (`#nt)) let canon_lhs_rhs (eq: term) (m: term) (lhs rhs:term) : Tac unit = @@ -374,11 +373,11 @@ let canon_monoid (eq: term) (m: term) : Tac unit = norm [iota; zeta]; let t = cur_goal () in // removing top-level squash application - let sq, rel_xy = collect_app_ref t in + let sq, rel_xy = collect_app t in // unpacking the application of the equivalence relation (lhs `EQ?.eq eq` rhs) (match rel_xy with | [(rel_xy,_)] -> ( - let rel, xy = collect_app_ref rel_xy in + let rel, xy = collect_app rel_xy in if (length xy >= 2) then ( match FStar.List.Tot.Base.index xy (length xy - 2) , FStar.List.Tot.index xy (length xy - 1) with diff --git a/ulib/FStar.Tactics.CanonCommMonoidSimple.fst b/ulib/FStar.Tactics.CanonCommMonoidSimple.fst index 6ecc3f07681..03e30811ff3 100644 --- a/ulib/FStar.Tactics.CanonCommMonoidSimple.fst +++ b/ulib/FStar.Tactics.CanonCommMonoidSimple.fst @@ -17,8 +17,8 @@ module FStar.Tactics.CanonCommMonoidSimple open FStar.Algebra.CommMonoid open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Tactics.V2 open FStar.Classical open FStar.Tactics.CanonCommSwaps diff --git a/ulib/FStar.Tactics.CanonCommSemiring.fst b/ulib/FStar.Tactics.CanonCommSemiring.fst index e9d4f20ef4d..17970ba43b9 100644 --- a/ulib/FStar.Tactics.CanonCommSemiring.fst +++ b/ulib/FStar.Tactics.CanonCommSemiring.fst @@ -44,8 +44,8 @@ module FStar.Tactics.CanonCommSemiring /// - http://www.cs.ru.nl/~freek/courses/tt-2014/read/10.1.1.61.3041.pdf open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Tactics.V2 open FStar.Algebra.CommMonoid let term_eq = FStar.Tactics.term_eq_old diff --git a/ulib/FStar.Tactics.CanonMonoid.fst b/ulib/FStar.Tactics.CanonMonoid.fst index bc10a31d87a..caea39312a2 100644 --- a/ulib/FStar.Tactics.CanonMonoid.fst +++ b/ulib/FStar.Tactics.CanonMonoid.fst @@ -17,8 +17,8 @@ module FStar.Tactics.CanonMonoid open FStar.Algebra.Monoid open FStar.List -open FStar.Tactics -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Tactics.V2 (* Only dump when debugging is on *) let dump m = if debugging () then dump m diff --git a/ulib/FStar.Tactics.Derived.fst b/ulib/FStar.Tactics.Derived.fst index d54312465b0..97c1e367d06 100644 --- a/ulib/FStar.Tactics.Derived.fst +++ b/ulib/FStar.Tactics.Derived.fst @@ -15,954 +15,5 @@ *) module FStar.Tactics.Derived -open FStar.List.Tot -open FStar.Reflection -open FStar.Reflection.Formula -open FStar.Tactics.Types -open FStar.Tactics.Effect -open FStar.Tactics.Builtins -open FStar.Tactics.Result -open FStar.Tactics.Util -open FStar.Tactics.SyntaxHelpers -open FStar.VConfig - -module L = FStar.List.Tot -module V = FStar.Tactics.Visit - -let name_of_bv (bv : bv) : Tac string = - unseal ((inspect_bv bv).bv_ppname) - -let bv_to_string (bv : bv) : Tac string = - (* Could also print type...? *) - name_of_bv bv - -let name_of_binder (b : binder) : Tac string = - name_of_bv (bv_of_binder b) - -let binder_to_string (b : binder) : Tac string = - bv_to_string (bv_of_binder b) //TODO: print aqual, attributes - -exception Goal_not_trivial - -let goals () : Tac (list goal) = goals_of (get ()) -let smt_goals () : Tac (list goal) = smt_goals_of (get ()) - -let fail (#a:Type) (m:string) - : TAC a (fun ps post -> post (Failed (TacticFailure m) ps)) - = raise #a (TacticFailure m) - -let fail_silently (#a:Type) (m:string) - : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure m) ps)) - = set_urgency 0; - raise #a (TacticFailure m) - -(** Return the current *goal*, not its type. (Ignores SMT goals) *) -let _cur_goal () : Tac goal = - match goals () with - | [] -> fail "no more goals" - | g::_ -> g - -(** [cur_env] returns the current goal's environment *) -let cur_env () : Tac env = goal_env (_cur_goal ()) - -(** [cur_goal] returns the current goal's type *) -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. -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 == []))) - (ensures (fun ps0 r -> exists g. r == Success g ps0)) - = 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 - set_guard_policy pol; - let r = f () in - set_guard_policy old_pol; - r - -(** [exact e] will solve a goal [Gamma |- w : t] if [e] has type exactly -[t] in [Gamma]. *) -let exact (t : term) : Tac unit = - with_policy SMT (fun () -> t_exact true false t) - -(** [exact_with_ref e] will solve a goal [Gamma |- w : t] if [e] has -type [t'] where [t'] is a subtype of [t] in [Gamma]. This is a more -flexible variant of [exact]. *) -let exact_with_ref (t : term) : Tac unit = - with_policy SMT (fun () -> t_exact true true t) - -let trivial () : Tac unit = - norm [iota; zeta; reify_; delta; primops; simplify; unmeta]; - let g = cur_goal () in - match term_as_formula g with - | True_ -> exact (`()) - | _ -> raise Goal_not_trivial - -(* Another hook to just run a tactic without goals, just by reusing `with_tactic` *) -let run_tactic (t:unit -> Tac unit) - : Pure unit - (requires (set_range_of (with_tactic (fun () -> trivial (); t ()) (squash True)) (range_of t))) - (ensures (fun _ -> True)) - = () - -(** Ignore the current goal. If left unproven, this will fail after -the tactic finishes. *) -let dismiss () : Tac unit = - match goals () with - | [] -> fail "dismiss: no more goals" - | _::gs -> set_goals gs - -(** Flip the order of the first two goals. *) -let flip () : Tac unit = - let gs = goals () in - match goals () with - | [] | [_] -> fail "flip: less than two goals" - | g1::g2::gs -> set_goals (g2::g1::gs) - -(** Succeed if there are no more goals left, and fail otherwise. *) -let qed () : Tac unit = - match goals () with - | [] -> () - | _ -> fail "qed: not done!" - -(** [debug str] is similar to [print str], but will only print the message -if the [--debug] option was given for the current module AND -[--debug_level Tac] is on. *) -let debug (m:string) : Tac unit = - if debugging () then print m - -(** [smt] will mark the current goal for being solved through the SMT. -This does not immediately run the SMT: it just dumps the goal in the -SMT bin. Note, if you dump a proof-relevant goal there, the engine will -later raise an error. *) -let smt () : Tac unit = - match goals (), smt_goals () with - | [], _ -> fail "smt: no active goals" - | g::gs, gs' -> - begin - set_goals gs; - set_smt_goals (g :: gs') - end - -let idtac () : Tac unit = () - -(** Push the current goal to the back. *) -let later () : Tac unit = - match goals () with - | g::gs -> set_goals (gs @ [g]) - | _ -> fail "later: no goals" - -(** [apply f] will attempt to produce a solution to the goal by an application -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 false false t - -let apply_noinst (t : term) : Tac unit = - t_apply true true false t - -(** [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. As a small optimization, [unit] arguments are -discharged by the engine. Just a thin wrapper around [t_apply_lemma]. *) -let apply_lemma (t : term) : Tac unit = - t_apply_lemma false false t - -(** See docs for [t_trefl] *) -let trefl () : Tac unit = - t_trefl false - -(** See docs for [t_trefl] *) -let trefl_guard () : Tac unit = - t_trefl true - -(** See docs for [t_commute_applied_match] *) -let commute_applied_match () : Tac unit = - t_commute_applied_match () - -(** Similar to [apply_lemma], but will not instantiate uvars in the -goal while applying. *) -let apply_lemma_noinst (t : term) : Tac unit = - t_apply_lemma true false t - -let apply_lemma_rw (t : term) : Tac unit = - t_apply_lemma false 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 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. *) -let exact_guard (t : term) : Tac unit = - with_policy Goal (fun () -> t_exact true false t) - -(** (TODO: explain better) When running [pointwise tau] For every -subterm [t'] of the goal's type [t], the engine will build a goal [Gamma -|= t' == ?u] and run [tau] on it. When the tactic proves the goal, -the engine will rewrite [t'] for [?u] in the original goal type. This -is done for every subterm, bottom-up. This allows to recurse over an -unknown goal type. By inspecting the goal, the [tau] can then decide -what to do (to not do anything, use [trefl]). *) -let t_pointwise (d:direction) (tau : unit -> Tac unit) : Tac unit = - let ctrl (t:term) : Tac (bool & ctrl_flag) = - true, Continue - in - let rw () : Tac unit = - tau () - in - ctrl_rewrite d ctrl rw - -(** [topdown_rewrite ctrl rw] is used to rewrite those sub-terms [t] - of the goal on which [fst (ctrl t)] returns true. - - On each such sub-term, [rw] is presented with an equality of goal - of the form [Gamma |= t == ?u]. When [rw] proves the goal, - the engine will rewrite [t] for [?u] in the original goal - type. - - The goal formula is traversed top-down and the traversal can be - controlled by [snd (ctrl t)]: - - When [snd (ctrl t) = 0], the traversal continues down through the - position in the goal term. - - When [snd (ctrl t) = 1], the traversal continues to the next - sub-tree of the goal. - - When [snd (ctrl t) = 2], no more rewrites are performed in the - goal. -*) -let topdown_rewrite (ctrl : term -> Tac (bool * int)) - (rw:unit -> Tac unit) : Tac unit - = let ctrl' (t:term) : Tac (bool & ctrl_flag) = - let b, i = ctrl t in - let f = - match i with - | 0 -> Continue - | 1 -> Skip - | 2 -> Abort - | _ -> fail "topdown_rewrite: bad value from ctrl" - in - b, f - in - ctrl_rewrite TopDown ctrl' rw - -let pointwise (tau : unit -> Tac unit) : Tac unit = t_pointwise BottomUp tau -let pointwise' (tau : unit -> Tac unit) : Tac unit = t_pointwise TopDown tau - -let cur_module () : Tac name = - moduleof (top_env ()) - -let open_modules () : Tac (list name) = - env_open_modules (top_env ()) - -let fresh_uvar (o : option typ) : Tac term = - let e = cur_env () in - uvar_env e o - -let unify (t1 t2 : term) : Tac bool = - let e = cur_env () in - unify_env e t1 t2 - -let unify_guard (t1 t2 : term) : Tac bool = - let e = cur_env () in - unify_guard_env e t1 t2 - -let tmatch (t1 t2 : term) : Tac bool = - let e = cur_env () in - match_env e t1 t2 - -(** [divide n t1 t2] will split the current set of goals into the [n] -first ones, and the rest. It then runs [t1] on the first set, and [t2] -on the second, returning both results (and concatenating remaining goals). *) -let divide (n:int) (l : unit -> Tac 'a) (r : unit -> Tac 'b) : Tac ('a * 'b) = - if n < 0 then - fail "divide: negative n"; - let gs, sgs = goals (), smt_goals () in - let gs1, gs2 = List.Tot.Base.splitAt n gs in - - set_goals gs1; set_smt_goals []; - let x = l () in - let gsl, sgsl = goals (), smt_goals () in - - set_goals gs2; set_smt_goals []; - let y = r () in - let gsr, sgsr = goals (), smt_goals () in - - set_goals (gsl @ gsr); set_smt_goals (sgs @ sgsl @ sgsr); - (x, y) - -let rec iseq (ts : list (unit -> Tac unit)) : Tac unit = - match ts with - | t::ts -> let _ = divide 1 t (fun () -> iseq ts) in () - | [] -> () - -(** [focus t] runs [t ()] on the current active goal, hiding all others -and restoring them at the end. *) -let focus (t : unit -> Tac 'a) : Tac 'a = - match goals () with - | [] -> fail "focus: no goals" - | g::gs -> - let sgs = smt_goals () in - set_goals [g]; set_smt_goals []; - let x = t () in - set_goals (goals () @ gs); set_smt_goals (smt_goals () @ sgs); - x - -(** Similar to [dump], but only dumping the current goal. *) -let dump1 (m : string) = focus (fun () -> dump m) - -let rec mapAll (t : unit -> Tac 'a) : Tac (list 'a) = - match goals () with - | [] -> [] - | _::_ -> let (h, t) = divide 1 t (fun () -> mapAll t) in h::t - -let rec iterAll (t : unit -> Tac unit) : Tac unit = - (* Could use mapAll, but why even build that list *) - match goals () with - | [] -> () - | _::_ -> let _ = divide 1 t (fun () -> iterAll t) in () - -let iterAllSMT (t : unit -> Tac unit) : Tac unit = - let gs, sgs = goals (), smt_goals () in - set_goals sgs; - set_smt_goals []; - iterAll t; - let gs', sgs' = goals (), smt_goals () in - set_goals gs; - set_smt_goals (gs'@sgs') - -(** Runs tactic [t1] on the current goal, and then tactic [t2] on *each* -subgoal produced by [t1]. Each invocation of [t2] runs on a proofstate -with a single goal (they're "focused"). *) -let seq (f : unit -> Tac unit) (g : unit -> Tac unit) : Tac unit = - focus (fun () -> f (); iterAll g) - -let exact_args (qs : list aqualv) (t : term) : Tac unit = - focus (fun () -> - let n = List.Tot.Base.length qs in - let uvs = repeatn n (fun () -> fresh_uvar None) in - let t' = mk_app t (zip uvs qs) in - exact t'; - iter (fun uv -> if is_uvar uv - then unshelve uv - else ()) (L.rev uvs) - ) - -let exact_n (n : int) (t : term) : Tac unit = - exact_args (repeatn n (fun () -> Q_Explicit)) t - -(** [ngoals ()] returns the number of goals *) -let ngoals () : Tac int = List.Tot.Base.length (goals ()) - -(** [ngoals_smt ()] returns the number of SMT goals *) -let ngoals_smt () : Tac int = List.Tot.Base.length (smt_goals ()) - -(* Create a fresh bound variable (bv), using a generic name. See also -[fresh_bv_named]. *) -let fresh_bv () : Tac bv = - (* These bvs are fresh anyway through a separate counter, - * but adding the integer allows for more readability when - * generating code *) - let i = fresh () in - fresh_bv_named ("x" ^ string_of_int i) - -let fresh_binder_named nm t : Tac binder = - mk_binder (fresh_bv_named nm) t - -let fresh_binder t : Tac binder = - (* See comment in fresh_bv *) - let i = fresh () in - fresh_binder_named ("x" ^ string_of_int i) t - -let fresh_implicit_binder_named nm t : Tac binder = - mk_implicit_binder (fresh_bv_named nm) t - -let fresh_implicit_binder t : Tac binder = - (* See comment in fresh_bv *) - let i = fresh () in - fresh_implicit_binder_named ("x" ^ string_of_int i) t - -let guard (b : bool) : TacH unit (requires (fun _ -> True)) - (ensures (fun ps r -> if b - then Success? r /\ Success?.ps r == ps - else Failed? r)) - (* ^ the proofstate on failure is not exactly equal (has the psc set) *) - = - 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 - | Inl e -> h e - | Inr x -> x - -let trytac (t : unit -> Tac 'a) : Tac (option 'a) = - try Some (t ()) - with - | _ -> None - -let or_else (#a:Type) (t1 : unit -> Tac a) (t2 : unit -> Tac a) : Tac a = - try t1 () - with | _ -> t2 () - -val (<|>) : (unit -> Tac 'a) -> - (unit -> Tac 'a) -> - (unit -> Tac 'a) -let (<|>) t1 t2 = fun () -> or_else t1 t2 - -let first (ts : list (unit -> Tac 'a)) : Tac 'a = - L.fold_right (<|>) ts (fun () -> fail "no tactics to try") () - -let rec repeat (#a:Type) (t : unit -> Tac a) : Tac (list a) = - match catch t with - | Inl _ -> [] - | Inr x -> x :: repeat t - -let repeat1 (#a:Type) (t : unit -> Tac a) : Tac (list a) = - t () :: repeat t - -let repeat' (f : unit -> Tac 'a) : Tac unit = - let _ = repeat f in () - -let norm_term (s : list norm_step) (t : term) : Tac term = - let e = - try cur_env () - with | _ -> top_env () - in - norm_term_env e s t - -(** Join all of the SMT goals into one. This helps when all of them are -expected to be similar, and therefore easier to prove at once by the SMT -solver. TODO: would be nice to try to join them in a more meaningful -way, as the order can matter. *) -let join_all_smt_goals () = - let gs, sgs = goals (), smt_goals () in - set_smt_goals []; - set_goals sgs; - repeat' join; - let sgs' = goals () in // should be a single one - set_goals gs; - set_smt_goals sgs' - -let discard (tau : unit -> Tac 'a) : unit -> Tac unit = - fun () -> let _ = tau () in () - -// TODO: do we want some value out of this? -let rec repeatseq (#a:Type) (t : unit -> Tac a) : Tac unit = - let _ = trytac (fun () -> (discard t) `seq` (discard (fun () -> repeatseq t))) in () - -let tadmit () = tadmit_t (`()) - -let admit1 () : Tac unit = - tadmit () - -let admit_all () : Tac unit = - let _ = repeat tadmit in - () - -(** [is_guard] returns whether the current goal arose from a typechecking guard *) -let is_guard () : Tac bool = - Tactics.Types.is_guard (_cur_goal ()) - -let skip_guard () : Tac unit = - if is_guard () - then smt () - else fail "" - -let guards_to_smt () : Tac unit = - let _ = repeat skip_guard in - () - -let simpl () : Tac unit = norm [simplify; primops] -let whnf () : Tac unit = norm [weak; hnf; primops; delta] -let compute () : Tac unit = norm [primops; iota; delta; zeta] - -let intros () : Tac (list binder) = repeat intro - -let intros' () : Tac unit = let _ = intros () in () -let destruct tm : Tac unit = let _ = t_destruct tm in () -let destruct_intros tm : Tac unit = seq (fun () -> let _ = t_destruct tm in ()) intros' - -private val __cut : (a:Type) -> (b:Type) -> (a -> b) -> a -> b -private let __cut a b f x = f x - -let tcut (t:term) : Tac binder = - let g = cur_goal () in - let tt = mk_e_app (`__cut) [t; g] in - apply tt; - intro () - -let pose (t:term) : Tac binder = - apply (`__cut); - flip (); - exact t; - intro () - -let intro_as (s:string) : Tac binder = - let b = intro () in - rename_to b s - -let pose_as (s:string) (t:term) : Tac binder = - let b = pose t in - rename_to b s - -let for_each_binder (f : binder -> Tac 'a) : Tac (list 'a) = - map f (cur_binders ()) - -let rec revert_all (bs:binders) : Tac unit = - match bs with - | [] -> () - | _::tl -> revert (); - revert_all tl - -(* Some syntax utility functions *) -let bv_to_term (bv : bv) : Tac term = pack (Tv_Var bv) -let binder_to_term (b : binder) : Tac term = - let bview = inspect_binder b in - bv_to_term bview.binder_bv -let binder_sort (b : binder) : Tac typ = - (inspect_binder b).binder_sort - -// Cannot define this inside `assumption` due to #1091 -private -let rec __assumption_aux (bs : binders) : Tac unit = - match bs with - | [] -> - fail "no assumption matches goal" - | b::bs -> - let t = binder_to_term b in - try exact t with | _ -> - try (apply (`FStar.Squash.return_squash); - exact t) with | _ -> - __assumption_aux bs - -let assumption () : Tac unit = - __assumption_aux (cur_binders ()) - -let destruct_equality_implication (t:term) : Tac (option (formula * term)) = - match term_as_formula t with - | Implies lhs rhs -> - let lhs = term_as_formula' lhs in - begin match lhs with - | Comp (Eq _) _ _ -> Some (lhs, rhs) - | _ -> None - end - | _ -> None - -private -let __eq_sym #t (a b : t) : Lemma ((a == b) == (b == a)) = - FStar.PropositionalExtensionality.apply (a==b) (b==a) - -(** Like [rewrite], but works with equalities [v == e] and [e == v] *) -let rewrite' (b:binder) : Tac unit = - ((fun () -> rewrite b) - <|> (fun () -> binder_retype b; - apply_lemma (`__eq_sym); - rewrite b) - <|> (fun () -> fail "rewrite' failed")) - () - -let rec try_rewrite_equality (x:term) (bs:binders) : Tac unit = - match bs with - | [] -> () - | x_t::bs -> - begin match term_as_formula (type_of_binder x_t) with - | Comp (Eq _) y _ -> - if term_eq x y - then rewrite x_t - else try_rewrite_equality x bs - | _ -> - try_rewrite_equality x bs - end - -let rec rewrite_all_context_equalities (bs:binders) : Tac unit = - match bs with - | [] -> () - | x_t::bs -> begin - (try rewrite x_t with | _ -> ()); - rewrite_all_context_equalities bs - end - -let rewrite_eqs_from_context () : Tac unit = - rewrite_all_context_equalities (cur_binders ()) - -let rewrite_equality (t:term) : Tac unit = - try_rewrite_equality t (cur_binders ()) - -let unfold_def (t:term) : Tac unit = - match inspect t with - | Tv_FVar fv -> - let n = implode_qn (inspect_fv fv) in - norm [delta_fully [n]] - | _ -> fail "unfold_def: term is not a fv" - -(** Rewrites left-to-right, and bottom-up, given a set of lemmas stating -equalities. The lemmas need to prove *propositional* equalities, that -is, using [==]. *) -let l_to_r (lems:list term) : Tac unit = - let first_or_trefl () : Tac unit = - fold_left (fun k l () -> - (fun () -> apply_lemma_rw l) - `or_else` k) - trefl lems () in - pointwise first_or_trefl - -let mk_squash (t : term) : term = - let sq : term = pack_ln (Tv_FVar (pack_fv squash_qn)) in - mk_e_app sq [t] - -let mk_sq_eq (t1 t2 : term) : term = - let eq : term = pack_ln (Tv_FVar (pack_fv eq2_qn)) in - mk_squash (mk_e_app eq [t1; t2]) - -(** Rewrites all appearances of a term [t1] in the goal into [t2]. -Creates a new goal for [t1 == t2]. *) -let grewrite (t1 t2 : term) : Tac unit = - let e = tcut (mk_sq_eq t1 t2) in - let e = pack_ln (Tv_Var (bv_of_binder e)) in - pointwise (fun () -> - (* If the LHS is a uvar, do nothing, so we do not instantiate it. *) - let is_uvar = - match term_as_formula (cur_goal()) with - | Comp (Eq _) lhs rhs -> - (match inspect_ln lhs with - | Tv_Uvar _ _ -> true - | _ -> false) - | _ -> false - in - if is_uvar - then trefl () - else try exact e with | _ -> trefl ()) - -private -let __un_sq_eq (#a:Type) (x y : a) (_ : (x == y)) : Lemma (x == y) = () - -(** A wrapper to [grewrite] which takes a binder of an equality type *) -let grewrite_eq (b:binder) : Tac unit = - match term_as_formula (type_of_binder b) with - | Comp (Eq _) l r -> - grewrite l r; - iseq [idtac; (fun () -> exact (binder_to_term b))] - | _ -> - begin match term_as_formula' (type_of_binder b) with - | Comp (Eq _) l r -> - grewrite l r; - iseq [idtac; (fun () -> apply_lemma (`__un_sq_eq); - exact (binder_to_term b))] - | _ -> - fail "grewrite_eq: binder type is not an equality" - end - -private val push1 : (#p:Type) -> (#q:Type) -> - squash (p ==> q) -> - squash p -> - squash q -private let push1 #p #q f u = () - -private val push1' : (#p:Type) -> (#q:Type) -> - (p ==> q) -> - squash p -> - squash q -private let push1' #p #q f u = () - -(* - * Some easier applying, which should prevent frustration - * (or cause more when it doesn't do what you wanted to) - *) -val apply_squash_or_lem : d:nat -> term -> Tac unit -let rec apply_squash_or_lem d t = - (* Before anything, try a vanilla apply and apply_lemma *) - try apply t with | _ -> - try apply (`FStar.Squash.return_squash); apply t with | _ -> - try apply_lemma t with | _ -> - - // Fuel cutoff, just in case. - if d <= 0 then fail "mapply: out of fuel" else begin - - let ty = tc (cur_env ()) t in - let tys, c = collect_arr ty in - match inspect_comp c with - | C_Lemma pre post _ -> - begin - let post = `((`#post) ()) in (* unthunk *) - let post = norm_term [] post in - (* Is the lemma an implication? We can try to intro *) - match term_as_formula' post with - | Implies p q -> - apply_lemma (`push1); - apply_squash_or_lem (d-1) t - - | _ -> - fail "mapply: can't apply (1)" - end - | C_Total rt -> - begin match unsquash_term rt with - (* If the function returns a squash, just apply it, since our goals are squashed *) - | Some rt -> - // DUPLICATED, refactor! - begin - let rt = norm_term [] rt in - (* Is the lemma an implication? We can try to intro *) - match term_as_formula' rt with - | Implies p q -> - apply_lemma (`push1); - apply_squash_or_lem (d-1) t - - | _ -> - fail "mapply: can't apply (1)" - end - - (* If not, we can try to introduce the squash ourselves first *) - | None -> - // DUPLICATED, refactor! - begin - let rt = norm_term [] rt in - (* Is the lemma an implication? We can try to intro *) - match term_as_formula' rt with - | Implies p q -> - apply_lemma (`push1); - apply_squash_or_lem (d-1) t - - | _ -> - apply (`FStar.Squash.return_squash); - apply t - end - end - | _ -> fail "mapply: can't apply (2)" - end - -(* `m` is for `magic` *) -let mapply (t : term) : Tac unit = - apply_squash_or_lem 10 t - - -private -let admit_dump_t () : Tac unit = - dump "Admitting"; - apply (`admit) - -val admit_dump : #a:Type -> (#[admit_dump_t ()] x : (unit -> Admit a)) -> unit -> Admit a -let admit_dump #a #x () = x () - -private -let magic_dump_t () : Tac unit = - dump "Admitting"; - apply (`magic); - exact (`()); - () - -val magic_dump : #a:Type -> (#[magic_dump_t ()] x : a) -> unit -> Tot a -let magic_dump #a #x () = x - -let change_with t1 t2 : Tac unit = - focus (fun () -> - grewrite t1 t2; - iseq [idtac; trivial] - ) - -let change_sq (t1 : term) : Tac unit = - change (mk_e_app (`squash) [t1]) - -let finish_by (t : unit -> Tac 'a) : Tac 'a = - let x = t () in - or_else qed (fun () -> fail "finish_by: not finished"); - x - -let solve_then #a #b (t1 : unit -> Tac a) (t2 : a -> Tac b) : Tac b = - dup (); - let x = focus (fun () -> finish_by t1) in - let y = t2 x in - trefl (); - y - -let add_elem (t : unit -> Tac 'a) : Tac 'a = focus (fun () -> - apply (`Cons); - focus (fun () -> - let x = t () in - qed (); - x - ) - ) - -(* - * Specialize a function by partially evaluating it - * For example: - * let rec foo (l:list int) (x:int) :St int = - match l with - | [] -> x - | hd::tl -> x + foo tl x - - let f :int -> St int = synth_by_tactic (specialize (foo [1; 2]) [%`foo]) - - * would make the definition of f as x + x + x - * - * f is the term that needs to be specialized - * l is the list of names to be delta-ed - *) -let specialize (#a:Type) (f:a) (l:list string) :unit -> Tac unit - = fun () -> solve_then (fun () -> exact (quote f)) (fun () -> norm [delta_only l; iota; zeta]) - -let tlabel (l:string) = - match goals () with - | [] -> fail "tlabel: no goals" - | h::t -> - set_goals (set_label l h :: t) - -let tlabel' (l:string) = - match goals () with - | [] -> fail "tlabel': no goals" - | h::t -> - let h = set_label (l ^ get_label h) h in - set_goals (h :: t) - -let focus_all () : Tac unit = - set_goals (goals () @ smt_goals ()); - set_smt_goals [] - -private -let rec extract_nth (n:nat) (l : list 'a) : option ('a * list 'a) = - match n, l with - | _, [] -> None - | 0, hd::tl -> Some (hd, tl) - | _, hd::tl -> begin - match extract_nth (n-1) tl with - | Some (hd', tl') -> Some (hd', hd::tl') - | None -> None - end - -let bump_nth (n:pos) : Tac unit = - // n-1 since goal numbering begins at 1 - match extract_nth (n - 1) (goals ()) with - | None -> fail "bump_nth: not that many goals" - | Some (h, t) -> set_goals (h :: t) - -let rec destruct_list (t : term) : Tac (list term) = - let head, args = collect_app t in - match inspect_ln head, args with - | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] - | Tv_FVar fv, [(_, Q_Implicit); (a1, Q_Explicit); (a2, Q_Explicit)] -> - if inspect_fv fv = cons_qn - then a1 :: destruct_list a2 - else raise NotAListLiteral - | Tv_FVar fv, _ -> - if inspect_fv fv = nil_qn - then [] - else raise NotAListLiteral - | _ -> - raise NotAListLiteral - -private let get_match_body () : Tac term = - match unsquash_term (cur_goal ()) with - | None -> fail "" - | Some t -> match inspect_unascribe t with - | Tv_Match sc _ _ -> sc - | _ -> fail "Goal is not a match" - -private let rec last (x : list 'a) : Tac 'a = - match x with - | [] -> fail "last: empty list" - | [x] -> x - | _::xs -> last xs - -(** When the goal is [match e with | p1 -> e1 ... | pn -> en], -destruct it into [n] goals for each possible case, including an -hypothesis for [e] matching the corresponding pattern. *) -let branch_on_match () : Tac unit = - focus (fun () -> - let x = get_match_body () in - let _ = t_destruct x in - iterAll (fun () -> - let bs = repeat intro in - let b = last bs in (* this one is the equality *) - grewrite_eq b; - norm [iota]) - ) - -(** When the argument [i] is non-negative, [nth_binder] grabs the nth -binder in the current goal. When it is negative, it grabs the (-i-1)th -binder counting from the end of the goal. That is, [nth_binder (-1)] -will return the last binder, [nth_binder (-2)] the second to last, and -so on. *) -let nth_binder (i:int) : Tac binder = - let bs = cur_binders () in - let k : int = if i >= 0 then i else List.Tot.Base.length bs + i in - let k : nat = if k < 0 then fail "not enough binders" else k in - match List.Tot.Base.nth bs k with - | None -> fail "not enough binders" - | Some b -> b - -exception Appears - -(** Decides whether a top-level name [nm] syntactically -appears in the term [t]. *) -let name_appears_in (nm:name) (t:term) : Tac bool = - let ff (t : term) : Tac term = - match t with - | Tv_FVar fv -> - if inspect_fv fv = nm then - raise Appears; - t - | t -> t - in - try ignore (V.visit_tm ff t); false with - | Appears -> true - | e -> raise e - -(** [mk_abs [x1; ...; xn] t] returns the term [fun x1 ... xn -> t] *) -let rec mk_abs (args : list binder) (t : term) : Tac term (decreases args) = - match args with - | [] -> t - | a :: args' -> - let t' = mk_abs args' t in - pack (Tv_Abs a t') - -(** [string_to_term_with_lb [(id1, t1); ...; (idn, tn)] e s] parses -[s] as a term in environment [e] augmented with bindings -[id1, t1], ..., [idn, tn]. *) -let string_to_term_with_lb - (letbindings: list (string * term)) - (e: env) (t: string): Tac term - = let unk = pack_ln Tv_Unknown in - let e, lb_bvs = fold_left (fun (e, lb_bvs) (i, v) -> - let e, bv = push_bv_dsenv e i in - e, (v,bv)::lb_bvs - ) (e, []) letbindings in - let t = string_to_term e t in - fold_left (fun t (i, bv) -> pack (Tv_Let false [] bv unk i t)) t lb_bvs - -private -val lem_trans : (#a:Type) -> (#x:a) -> (#z:a) -> (#y:a) -> - squash (x == y) -> squash (y == z) -> Lemma (x == z) -private -let lem_trans #a #x #z #y e1 e2 = () - -(** Transivity of equality: reduce [x == z] to [x == ?u] and [?u == z]. *) -let trans () : Tac unit = apply_lemma (`lem_trans) - -(* Alias to just use the current vconfig *) -let smt_sync () : Tac unit = t_smt_sync (get_vconfig ()) - -(* smt_sync': as smt_sync, but using a particular fuel/ifuel *) -let smt_sync' (fuel ifuel : nat) : Tac unit = - let vcfg = get_vconfig () in - let vcfg' = { vcfg with initial_fuel = fuel; max_fuel = fuel - ; initial_ifuel = ifuel; max_ifuel = ifuel } - in - t_smt_sync vcfg' +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.Derived diff --git a/ulib/FStar.Tactics.Effect.fst b/ulib/FStar.Tactics.Effect.fst index 52d2335ca21..bdf819664cf 100644 --- a/ulib/FStar.Tactics.Effect.fst +++ b/ulib/FStar.Tactics.Effect.fst @@ -1,4 +1,4 @@ -(* +(* Copyright 2008-2018 Microsoft Research Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/ulib/FStar.Tactics.Effect.fsti b/ulib/FStar.Tactics.Effect.fsti index 1eda4e5b0eb..d13675d525d 100644 --- a/ulib/FStar.Tactics.Effect.fsti +++ b/ulib/FStar.Tactics.Effect.fsti @@ -16,7 +16,6 @@ module FStar.Tactics.Effect open FStar.Monotonic.Pure -open FStar.Calc open FStar.Reflection.Types open FStar.Tactics.Types @@ -131,6 +130,12 @@ let tac_subcomp (a:Type) (ensures fun _ -> True) = f +let tac_close (a b:Type) + (wp_f:b -> tac_wp_t a) + (f:(x:b -> tac_repr a (wp_f x))) = + + tac_repr a (fun ps post -> forall (x:b). wp_f x ps post) + /// default effect is Tac : meaning, unannotated TAC functions will be /// typed as Tac a /// @@ -145,10 +150,10 @@ effect { return=tac_return; bind=tac_bind; if_then_else=tac_if_then_else; - subcomp=tac_subcomp } + subcomp=tac_subcomp; + close = tac_close } } - (* Hoare variant *) effect TacH (a:Type) (pre : proofstate -> Tot Type0) (post : proofstate -> __result a -> Tot Type0) = TAC a (fun ps post' -> pre ps /\ (forall r. post ps r ==> post' r)) diff --git a/ulib/FStar.Tactics.Logic.fst b/ulib/FStar.Tactics.Logic.fst index fab7a27edfb..0f3c6122aca 100644 --- a/ulib/FStar.Tactics.Logic.fst +++ b/ulib/FStar.Tactics.Logic.fst @@ -15,350 +15,5 @@ *) module FStar.Tactics.Logic -open FStar.Tactics.Effect -open FStar.Tactics.Builtins -open FStar.Tactics.Derived -open FStar.Tactics.Util -open FStar.Reflection -open FStar.Reflection.Formula - -(** Returns the current goal as a [formula]. *) -let cur_formula () : Tac formula = term_as_formula (cur_goal ()) - -private val revert_squash : (#a:Type) -> (#b : (a -> Type)) -> - (squash (forall (x:a). b x)) -> - x:a -> squash (b x) -let revert_squash #a #b s x = let x : (_:unit{forall x. b x}) = s in () - -(** Revert an introduced binder as a forall. *) -let l_revert () : Tac unit = - revert (); - apply (`revert_squash) - -(** Repeated [l_revert]. *) -let rec l_revert_all (bs:binders) : Tac unit = - match bs with - | [] -> () - | _::tl -> begin l_revert (); l_revert_all tl end - -private let fa_intro_lem (#a:Type) (#p:a -> Type) (f:(x:a -> squash (p x))) : Lemma (forall (x:a). p x) = - FStar.Classical.lemma_forall_intro_gtot - ((fun x -> FStar.IndefiniteDescription.elim_squash (f x)) <: (x:a -> GTot (p x))) - -(** Introduce a forall. *) -let forall_intro () : Tac binder = - apply_lemma (`fa_intro_lem); - intro () - -(** Introduce a forall, with some given name. *) -let forall_intro_as (s:string) : Tac binder = - apply_lemma (`fa_intro_lem); - intro_as s - -(** Repeated [forall_intro]. *) -let forall_intros () : Tac binders = repeat1 forall_intro - -private val split_lem : (#a:Type) -> (#b:Type) -> - squash a -> squash b -> Lemma (a /\ b) -let split_lem #a #b sa sb = () - -(** Split a conjunction into two goals. *) -let split () : Tac unit = - try apply_lemma (`split_lem) - with | _ -> fail "Could not split goal" - -private val imp_intro_lem : (#a:Type) -> (#b : Type) -> - (a -> squash b) -> - Lemma (a ==> b) -let imp_intro_lem #a #b f = - FStar.Classical.give_witness (FStar.Classical.arrow_to_impl (fun (x:squash a) -> FStar.Squash.bind_squash x f)) - -(** Introduce an implication. *) -let implies_intro () : Tac binder = - apply_lemma (`imp_intro_lem); - intro () - -let implies_intro_as (s:string) : Tac binder = - apply_lemma (`imp_intro_lem); - intro_as s - -(** Repeated [implies_intro]. *) -let implies_intros () : Tac binders = repeat1 implies_intro - -(** "Logical" intro: introduce a forall or an implication. *) -let l_intro () = forall_intro `or_else` implies_intro - -(** Repeated [l]. *) -let l_intros () = repeat l_intro - -let squash_intro () : Tac unit = - apply (`FStar.Squash.return_squash) - -let l_exact (t:term) = - try exact t with - | _ -> (squash_intro (); exact t) - -let hyp (b:binder) : Tac unit = l_exact (binder_to_term b) - -private -let __lemma_to_squash #req #ens (_ : squash req) (h : (unit -> Lemma (requires req) (ensures ens))) : squash ens = - h () - -let pose_lemma (t : term) : Tac binder = - let c = tcc (cur_env ()) t in - let pre, post = - match inspect_comp c with - | C_Lemma pre post _ -> pre, post - | _ -> fail "" - in - let post = `((`#post) ()) in (* unthunk *) - let post = norm_term [] post in - (* If the precondition is trivial, do not cut by it *) - match term_as_formula' pre with - | True_ -> - pose (`(__lemma_to_squash #(`#pre) #(`#post) () (fun () -> (`#t)))) - | _ -> - let reqb = tcut (`squash (`#pre)) in - - let b = pose (`(__lemma_to_squash #(`#pre) #(`#post) (`#(binder_to_term reqb)) (fun () -> (`#t)))) in - flip (); - ignore (trytac trivial); - b - -let explode () : Tac unit = - ignore ( - repeatseq (fun () -> first [(fun () -> ignore (l_intro ())); - (fun () -> ignore (split ()))])) - -let rec visit (callback:unit -> Tac unit) : Tac unit = - focus (fun () -> - or_else callback - (fun () -> - let g = cur_goal () in - match term_as_formula g with - | Forall _b _sort _phi -> - let binders = forall_intros () in - seq (fun () -> visit callback) (fun () -> l_revert_all binders) - | And p q -> - seq split (fun () -> visit callback) - | Implies p q -> - let _ = implies_intro () in - seq (fun () -> visit callback) l_revert - | _ -> - () - ) - ) - -let rec simplify_eq_implication () : Tac unit = - let e = cur_env () in - let g = cur_goal () in - let r = destruct_equality_implication g in - match r with - | None -> - fail "Not an equality implication" - | Some (_, rhs) -> - let eq_h = implies_intro () in // G, eq_h:x=e |- P - rewrite eq_h; // G, eq_h:x=e |- P[e/x] - clear_top (); // G |- P[e/x] - visit simplify_eq_implication - -let rewrite_all_equalities () : Tac unit = - visit simplify_eq_implication - -let rec unfold_definition_and_simplify_eq (tm:term) : Tac unit = - let g = cur_goal () in - match term_as_formula g with - | App hd arg -> - if term_eq hd tm - then trivial () - else () - | _ -> begin - let r = destruct_equality_implication g in - match r with - | None -> fail "Not an equality implication" - | Some (_, rhs) -> - let eq_h = implies_intro () in - rewrite eq_h; - clear_top (); - visit (fun () -> unfold_definition_and_simplify_eq tm) - end - -private val vbind : (#p:Type) -> (#q:Type) -> squash p -> (p -> squash q) -> Lemma q -let vbind #p #q sq f = FStar.Classical.give_witness_from_squash (FStar.Squash.bind_squash sq f) - -(** A tactic to unsquash a hypothesis. Perhaps you are looking -for [unsquash_term]. *) -let unsquash (t:term) : Tac term = - let v = `vbind in - apply_lemma (mk_e_app v [t]); - let b = intro () in - pack_ln (Tv_Var (bv_of_binder b)) - -private val or_ind : (#p:Type) -> (#q:Type) -> (#phi:Type) -> - (p \/ q) -> - (squash (p ==> phi)) -> - (squash (q ==> phi)) -> - Lemma phi -let or_ind #p #q #phi o l r = () - -let cases_or (o:term) : Tac unit = - apply_lemma (mk_e_app (`or_ind) [o]) - -private val bool_ind : (b:bool) -> (phi:Type) -> (squash (b == true ==> phi)) -> - (squash (b == false ==> phi)) -> - Lemma phi -let bool_ind b phi l r = () - -let cases_bool (b:term) : Tac unit = - let bi = `bool_ind in - seq (fun () -> apply_lemma (mk_e_app bi [b])) - (fun () -> let _ = trytac (fun () -> let b = implies_intro () in rewrite b; clear_top ()) in ()) - -private val or_intro_1 : (#p:Type) -> (#q:Type) -> squash p -> Lemma (p \/ q) -let or_intro_1 #p #q _ = () - -private val or_intro_2 : (#p:Type) -> (#q:Type) -> squash q -> Lemma (p \/ q) -let or_intro_2 #p #q _ = () - -let left () : Tac unit = - apply_lemma (`or_intro_1) - -let right () : Tac unit = - apply_lemma (`or_intro_2) - -private val __and_elim : (#p:Type) -> (#q:Type) -> (#phi:Type) -> - (p /\ q) -> - squash (p ==> q ==> phi) -> - Lemma phi -let __and_elim #p #q #phi p_and_q f = () - -private val __and_elim' : (#p:Type) -> (#q:Type) -> (#phi:Type) -> - squash (p /\ q) -> - squash (p ==> q ==> phi) -> - Lemma phi -let __and_elim' #p #q #phi p_and_q f = () - -let and_elim (t : term) : Tac unit = - begin - try apply_lemma (`(__and_elim (`#t))) - with | _ -> apply_lemma (`(__and_elim' (`#t))) - end - -let destruct_and (t : term) : Tac (binder * binder) = - and_elim t; - (implies_intro (), implies_intro ()) - -private val __witness : (#a:Type) -> (x:a) -> (#p:(a -> Type)) -> squash (p x) -> squash (exists (x:a). p x) -private let __witness #a x #p _ = () - -let witness (t : term) : Tac unit = - apply_raw (`__witness); - exact t - -private -let __elim_exists' #t (#pred : t -> Type0) #goal (h : (exists x. pred x)) - (k : (x:t -> pred x -> squash goal)) : squash goal = - FStar.Squash.bind_squash #(x:t & pred x) h (fun (|x, pf|) -> k x pf) - -(* returns witness and proof as binders *) -let elim_exists (t : term) : Tac (binder & binder) = - apply_lemma (`(__elim_exists' (`#(t)))); - let x = intro () in - let pf = intro () in - (x, pf) - -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 = - try pose (`__forall_inst_sq (`#fa) (`#x)) with | _ -> - try pose (`__forall_inst (`#fa) (`#x)) with | _ -> - fail "could not instantiate" - -let instantiate_as (fa : term) (x : term) (s : string) : Tac binder = - let b = instantiate fa x in - rename_to b s - -private -let sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : - Lemma (requires (forall x. p x ==> phi)) - (ensures phi) = () - -private -let rec sk_binder' (acc:binders) (b:binder) : Tac (binders * binder) = - focus (fun () -> - try - apply_lemma (`(sklem0 (`#(binder_to_term b)))); - if ngoals () <> 1 then fail "no"; - clear b; - let bx = forall_intro () in - let b' = implies_intro () in - sk_binder' (bx::acc) b' (* We might have introduced a new existential, so possibly recurse *) - with | _ -> (acc, b) (* If the above failed, just return *) - ) - -(* Skolemizes a given binder for an existential, returning the introduced new binders - * and the skolemized formula. *) -let sk_binder b = sk_binder' [] b - -let skolem () = - let bs = binders_of_env (cur_env ()) in - map sk_binder bs - -private -val lemma_from_squash : #a:Type -> #b:(a -> Type) -> (x:a -> squash (b x)) -> x:a -> Lemma (b x) -private -let lemma_from_squash #a #b f x = let _ = f x in assert (b x) - -private -let easy_fill () = - let _ = repeat intro in - (* If the goal is `a -> Lemma b`, intro will fail, try to use this switch *) - let _ = trytac (fun () -> apply (`lemma_from_squash); intro ()) in - smt () - -val easy : #a:Type -> (#[easy_fill ()] _ : a) -> a -let easy #a #x = x - -private -let lem1_fa #a #pre #post - ($lem : (x:a -> Lemma (requires pre x) (ensures post x))) : - Lemma (forall (x:a). pre x ==> post x) = - let l' x : Lemma (pre x ==> post x) = - Classical.move_requires lem x - in - Classical.forall_intro l' - -private -let lem2_fa #a #b #pre #post - ($lem : (x:a -> y:b -> Lemma (requires pre x y) (ensures post x y))) : - Lemma (forall (x:a) (y:b). pre x y ==> post x y) = - let l' x y : Lemma (pre x y ==> post x y) = - Classical.move_requires (lem x) y - in - Classical.forall_intro_2 l' - -private -let lem3_fa #a #b #c #pre #post - ($lem : (x:a -> y:b -> z:c -> Lemma (requires pre x y z) (ensures post x y z))) : - Lemma (forall (x:a) (y:b) (z:c). pre x y z ==> post x y z) = - let l' x y z : Lemma (pre x y z ==> post x y z) = - Classical.move_requires (lem x y) z - in - Classical.forall_intro_3 l' - -(** Add a lemma into the local context, quantified for all arguments. -Only works for lemmas with up to 3 arguments for now. It is expected -that `t` is a top-level name, this has not been battle-tested for other -kinds of terms. *) -let using_lemma (t : term) : Tac binder = - try pose_lemma (`(lem1_fa (`#t))) with | _ -> - try pose_lemma (`(lem2_fa (`#t))) with | _ -> - try pose_lemma (`(lem3_fa (`#t))) with | _ -> - fail #binder "using_lemma: failed to instantiate" +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.Logic diff --git a/ulib/FStar.Tactics.MApply.fst b/ulib/FStar.Tactics.MApply.fst new file mode 100644 index 00000000000..b898e04b20b --- /dev/null +++ b/ulib/FStar.Tactics.MApply.fst @@ -0,0 +1,111 @@ +module FStar.Tactics.MApply + +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula + +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.NamedView +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions + +open FStar.Tactics.Typeclasses + +private val push1 : (#p:Type) -> (#q:Type) -> + squash (p ==> q) -> + squash p -> + squash q +private let push1 #p #q f u = () + +private val push1' : (#p:Type) -> (#q:Type) -> + (p ==> q) -> + squash p -> + squash q +private let push1' #p #q f u = () + +(* + * Some easier applying, which should prevent frustration + * (or cause more when it doesn't do what you wanted to) + *) +val apply_squash_or_lem : d:nat -> term -> Tac unit +let rec apply_squash_or_lem d t = + (* Before anything, try a vanilla apply and apply_lemma *) + try apply t with | _ -> + try apply (`FStar.Squash.return_squash); apply t with | _ -> + try apply_lemma t with | _ -> + + // Fuel cutoff, just in case. + if d <= 0 then fail "mapply: out of fuel" else begin + + let ty = tc (cur_env ()) t in + let tys, c = collect_arr ty in + match inspect_comp c with + | C_Lemma pre post _ -> + begin + let post = `((`#post) ()) in (* unthunk *) + let post = norm_term [] post in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' post with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + fail "mapply: can't apply (1)" + end + | C_Total rt -> + begin match unsquash_term rt with + (* If the function returns a squash, just apply it, since our goals are squashed *) + | Some rt -> + // DUPLICATED, refactor! + begin + let rt = norm_term [] rt in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' rt with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + fail "mapply: can't apply (1)" + end + + (* If not, we can try to introduce the squash ourselves first *) + | None -> + // DUPLICATED, refactor! + begin + let rt = norm_term [] rt in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' rt with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + apply (`FStar.Squash.return_squash); + apply t + end + end + | _ -> fail "mapply: can't apply (2)" + end + +class termable (a : Type) = { + to_term : a -> Tac term +} + +instance termable_term : termable term = { + to_term = (fun t -> t); +} + +instance termable_binding : termable binding = { + to_term = (fun b -> binding_to_term b); +} + +(* `m` is for `magic` *) +let mapply0 (t : term) : Tac unit = + apply_squash_or_lem 10 t + +let mapply (#ty:Type) {| termable ty |} (x : ty) : Tac unit = + let t = to_term x in + apply_squash_or_lem 10 t diff --git a/ulib/FStar.Tactics.NamedView.fst b/ulib/FStar.Tactics.NamedView.fst new file mode 100644 index 00000000000..090984f176e --- /dev/null +++ b/ulib/FStar.Tactics.NamedView.fst @@ -0,0 +1,662 @@ +(* + 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 FStar.Tactics.NamedView + +(* inner let bindings not encoded, OK *) +#set-options "--warn_error -242" + +(* This file is part of the tactics core, we open only what's needed. *) +open FStar.Tactics.Effect +open FStar.Tactics.Util +open FStar.Tactics.V2.Builtins + +exception LengthMismatch +exception NotEnoughBinders + +(* We work with reflection V2. *) +module R = FStar.Reflection.V2 +module RD = FStar.Reflection.V2.Data + +let open_universe_view (v:RD.universe_view) : named_universe_view = + match v with + | R.Uv_Zero -> Uv_Zero + | R.Uv_Succ u -> Uv_Succ u + | R.Uv_Max us -> Uv_Max us + | R.Uv_BVar n -> Uv_BVar n + | R.Uv_Name i -> Uv_Name (inspect_ident i) + | R.Uv_Unif uvar -> Uv_Unif uvar + | R.Uv_Unk -> Uv_Unk + +let inspect_universe (u:universe) : named_universe_view = + let v = R.inspect_universe u in + open_universe_view v + +let close_universe_view (v:named_universe_view) : R.universe_view = + match v with + | Uv_Zero -> R.Uv_Zero + | Uv_Succ u -> R.Uv_Succ u + | Uv_Max us -> R.Uv_Max us + | Uv_BVar n -> R.Uv_BVar n + | Uv_Name i -> R.Uv_Name (pack_ident i) + | Uv_Unif uvar -> R.Uv_Unif uvar + | Uv_Unk -> R.Uv_Unk + +let pack_universe (uv:named_universe_view) : universe = + let uv = close_universe_view uv in + R.pack_universe uv + +private +let __binding_to_binder (bnd : binding) (b : R.binder) : binder = + { + ppname = bnd.ppname; + uniq = bnd.uniq; + sort = bnd.sort; + qual = (inspect_binder b).qual; + attrs = (inspect_binder b).attrs; + } + +private +let r_binder_to_namedv (b : binder) : R.namedv = + pack_namedv { + uniq = b.uniq; + sort = seal b.sort; + ppname = b.ppname; + } + +private +let open_binder (b : R.binder) : Tac binder = + let n = fresh () in + let bv = inspect_binder b in + { + uniq = n; + sort = bv.sort; + ppname = bv.ppname; + qual = bv.qual; + attrs = bv.attrs; + } + +private +let close_binder (b : binder) : R.binder = + pack_binder { + sort = b.sort; + qual = b.qual; + ppname = b.ppname; + attrs = b.attrs; + } + +private +let open_term_with (b : R.binder) (nb : binder) (t : term) : Tac term = + let nv : R.namedv = pack_namedv { + uniq = nb.uniq; + sort = seal nb.sort; + ppname = nb.ppname; + } + in + let t' = subst_term [DB 0 nv] t in + t' + +private +let open_term (b : R.binder) (t : term) : Tac (binder & term) = + let bndr : binder = open_binder b in + (bndr, open_term_with b bndr t) + +let subst_comp (s : subst_t) (c : comp) : comp = + inspect_comp (R.subst_comp s (pack_comp c)) + +private +let open_comp (b : R.binder) (t : comp) : Tac (binder & comp) = + let n = fresh () in + let bv : binder_view = inspect_binder b in + let nv : R.namedv = pack_namedv { + uniq = n; + sort = seal bv.sort; + ppname = bv.ppname; + } + in + let t' = subst_comp [DB 0 nv] t in + let bndr : binder = { + uniq = n; + sort = bv.sort; + ppname = bv.ppname; + qual = bv.qual; + attrs = bv.attrs; + } + in + (bndr, t') + +private +let open_comp_with (b : R.binder) (nb : binder) (c : comp) : Tac comp = + let nv : R.namedv = pack_namedv { + uniq = nb.uniq; + sort = seal nb.sort; + ppname = nb.ppname; + } + in + let t' = subst_comp [DB 0 nv] c in + t' + +(* FIXME: unfortunate duplication here. The effect means this proof cannot +be done extrinsically. Can we add a refinement to the binder? *) +private +let open_term_simple (b : R.simple_binder) (t : term) : Tac (simple_binder & term) = + let n = fresh () in + let bv : binder_view = inspect_binder b in + let nv : R.namedv = pack_namedv { + uniq = n; + sort = seal bv.sort; + ppname = bv.ppname; + } + in + let t' = subst_term [DB 0 nv] t in + let bndr : binder = { + uniq = n; + sort = bv.sort; + ppname = bv.ppname; + qual = bv.qual; + attrs = bv.attrs; + } + in + (bndr, t') + +private +let open_comp_simple (b : R.simple_binder) (t : comp) : Tac (simple_binder & comp) = + let n = fresh () in + let bv : binder_view = inspect_binder b in + let nv : R.namedv = pack_namedv { + uniq = n; + sort = seal bv.sort; + ppname = bv.ppname; + } + in + let t' = subst_comp [DB 0 nv] t in + let bndr : binder = { + uniq = n; + sort = bv.sort; + ppname = bv.ppname; + qual = bv.qual; + attrs = bv.attrs; + } + in + (bndr, t') + +(* This can be useful externally *) +let close_term (b:binder) (t:term) : R.binder & term = + let nv = r_binder_to_namedv b in + let t' = subst_term [NM nv 0] t in + let b = pack_binder { sort = b.sort; ppname = b.ppname; qual = b.qual; attrs = b.attrs } in + (b, t') +private +let close_comp (b:binder) (t:comp) : R.binder & comp = + let nv = r_binder_to_namedv b in + let t' = subst_comp [NM nv 0] t in + let b = pack_binder { sort = b.sort; ppname = b.ppname; qual = b.qual; attrs = b.attrs } in + (b, t') + +private +let close_term_simple (b:simple_binder) (t:term) : R.simple_binder & term = + let nv = r_binder_to_namedv b in + let t' = subst_term [NM nv 0] t in + let bv : binder_view = { sort = b.sort; ppname = b.ppname; qual = b.qual; attrs = b.attrs } in + let b = pack_binder bv in + inspect_pack_binder bv; + (b, t') +private +let close_comp_simple (b:simple_binder) (t:comp) : R.simple_binder & comp = + let nv = r_binder_to_namedv b in + let t' = subst_comp [NM nv 0] t in + let bv : binder_view = { sort = b.sort; ppname = b.ppname; qual = b.qual; attrs = b.attrs } in + let b = pack_binder bv in + inspect_pack_binder bv; + (b, t') + +private +let r_subst_binder_sort (s : subst_t) (b : R.binder) : R.binder = + let v = inspect_binder b in + let v = { v with sort = subst_term s v.sort } in + pack_binder v + +let subst_binder_sort (s : subst_t) (b : binder) : binder = + { b with sort = subst_term s b.sort } + +(* Can't define this inside open_term_n. See #2955 *) +private +let rec __open_term_n_aux (bs : list R.binder) (nbs : list binder) (s : subst_t) : Tac (list binder & subst_t) = + match bs with + | [] -> nbs, s + | b::bs -> + let b = r_subst_binder_sort s b in + let b = open_binder b in + let nv = r_binder_to_namedv b in + __open_term_n_aux bs (b::nbs) (DB 0 nv :: shift_subst 1 s) + +private +let open_term_n (bs : list R.binder) (t : term) : Tac (list binder & term) = + let nbs, s = __open_term_n_aux bs [] [] in + List.Tot.rev nbs, subst_term s t + +private +let rec open_term_n_with (bs : list R.binder) (nbs : list binder) (t : term) : Tac term = + match bs, nbs with + | [], [] -> t + | b::bs, nb::nbs -> + let t' = open_term_n_with bs nbs t in + let t'' = open_term_with b nb t' in + t'' + | _ -> raise LengthMismatch + +private +let close_term_n (bs : list binder) (t : term) : list R.binder & term = + let rec aux (bs : list binder) (cbs : list R.binder) (s : subst_t) : list R.binder & subst_t = + match bs with + | [] -> cbs, s + | b::bs -> + let b = subst_binder_sort s b in + let nv = r_binder_to_namedv b in + let b = close_binder b in + aux bs (b::cbs) (NM nv 0 :: shift_subst 1 s) + in + let cbs, s = aux bs [] [] in + List.Tot.rev cbs, subst_term s t + +private +let rec open_term_n_simple (bs : list R.simple_binder) (t : term) : Tac (list simple_binder & term) = + match bs with + | [] -> ([], t) + | b::bs -> + let bs', t' = open_term_n_simple bs t in + let b', t'' = open_term_simple b t' in + (b'::bs', t'') + +private +let rec close_term_n_simple (bs : list simple_binder) (t : term) : list R.simple_binder & term = + match bs with + | [] -> ([], t) + | b::bs -> + let bs', t' = close_term_n_simple bs t in + let b', t'' = close_term_simple b t' in + (b'::bs', t'') + +private +let rec open_pat (p : R.pattern) (s : subst_t) : Tac (pattern & subst_t) = + match p with + | R.Pat_Constant c -> + Pat_Constant {c=c}, s + + | R.Pat_Var ssort n -> + let sort = unseal ssort in + let sort = subst_term s sort in + let nvv : namedv = { + uniq = fresh(); + sort = seal sort; + ppname = n; + } + in + let nv = pack_namedv nvv in + Pat_Var {v=nvv; sort=seal sort}, (DB 0 nv) :: shift_subst 1 s + + | R.Pat_Cons head univs subpats -> + let subpats, s = fold_left (fun (pats,s) (pat,b) -> + let pat, s' = open_pat pat s in + ((pat,b)::pats, s')) + ([], s) subpats + in + let subpats = List.Tot.rev subpats in + Pat_Cons {head=head; univs=univs; subpats=subpats}, s + + | R.Pat_Dot_Term None -> + Pat_Dot_Term {t=None}, s + + | R.Pat_Dot_Term (Some t) -> + let t = subst_term s t in + Pat_Dot_Term {t=Some t}, s + +private +let open_branch (b : R.branch) : Tac branch = + let (pat, t) = b in + let pat, s = open_pat pat [] in + let t' = subst_term s t in + (pat, t') + +private +let rec close_pat (p : pattern) (s : subst_t) : Tot (R.pattern & subst_t) = + match p with + | Pat_Constant {c} -> + R.Pat_Constant c, s + + | Pat_Var {v; sort} -> + let nv = pack_namedv v in + (* NOTE: we cannot do anything on the sort wihtout going + into TAC. Need a sealed_bind. *) + //let sort = unseal sort in + //let sort = subst_term s sort in + //let sort = seal sort in + let s = (NM nv 0) :: shift_subst 1 s in + R.Pat_Var sort v.ppname, s + + | Pat_Cons {head; univs; subpats} -> + let subpats, s = List.Tot.fold_left (fun (pats,s) (pat,b) -> + assume(pat << p); + let pat, s' = close_pat pat s in + ((pat,b)::pats, s')) + ([], s) subpats + in + let subpats = List.Tot.rev subpats in + R.Pat_Cons head univs subpats, s + + | Pat_Dot_Term {t=None} -> + R.Pat_Dot_Term None, s + + | Pat_Dot_Term {t=Some t} -> + let t = subst_term s t in + R.Pat_Dot_Term (Some t), s + +private +let close_branch (b : branch) : Tot R.branch = + let (pat, t) = b in + let pat, s = close_pat pat [] in + let t' = subst_term s t in + (pat, t') + +private +let open_match_returns_ascription (mra : R.match_returns_ascription) : Tac match_returns_ascription = + let (b, (ct, topt, use_eq)) = mra in + let nb = open_binder b in + let ct = match ct with + | Inl t -> Inl (open_term_with b nb t) + | Inr c -> + let c = inspect_comp c in + let c = open_comp_with b nb c in + Inr c + in + let topt = + match topt with + | None -> None + | Some t -> Some (open_term_with b nb t) + in + (nb, (ct, topt, use_eq)) + +private +let close_match_returns_ascription (mra : match_returns_ascription) : R.match_returns_ascription = + let (nb, (ct, topt, use_eq)) = mra in + let b = close_binder nb in + // FIXME: all this is repeating the close_binder work, for no good reason + let ct = match ct with + | Inl t -> Inl (snd (close_term nb t)) + | Inr c -> + let _, c = close_comp nb c in + let c = pack_comp c in + Inr c + in + let topt = + match topt with + | None -> None + | Some t -> Some (snd (close_term nb t)) + in + (b, (ct, topt, use_eq)) + +private +let open_view (tv:term_view) : Tac named_term_view = + match tv with + (* Nothing interesting *) + | RD.Tv_Var v -> Tv_Var (inspect_namedv v) + | RD.Tv_BVar v -> Tv_BVar (inspect_bv v) + | RD.Tv_FVar v -> Tv_FVar v + | RD.Tv_UInst v us -> Tv_UInst v us + | RD.Tv_App hd a -> Tv_App hd a + | RD.Tv_Type u -> Tv_Type u + | RD.Tv_Const c -> Tv_Const c + | RD.Tv_Uvar n ctx_uvar_and_subst -> Tv_Uvar n ctx_uvar_and_subst + | RD.Tv_AscribedT e t tac use_eq -> Tv_AscribedT e t tac use_eq + | RD.Tv_AscribedC e c tac use_eq -> Tv_AscribedC e (inspect_comp c) tac use_eq + | RD.Tv_Unknown -> Tv_Unknown + | RD.Tv_Unsupp -> Tv_Unsupp + + (* Below are the nodes that actually involve a binder. + Open them and convert to named binders. *) + + | RD.Tv_Abs b body -> + let nb, body = open_term b body in + Tv_Abs nb body + + | RD.Tv_Arrow b c -> + let nb, c = open_comp b (inspect_comp c) in + Tv_Arrow nb c + + | RD.Tv_Refine b ref -> + let nb, ref = open_term_simple b ref in + Tv_Refine nb ref + + | RD.Tv_Let recf attrs b def body -> + let nb, body = open_term_simple b body in + let def = + if recf + then subst_term [DB 0 (r_binder_to_namedv nb)] def + else def + in + Tv_Let recf attrs nb def body + + | RD.Tv_Match scrutinee ret brs -> + let brs = map open_branch brs in + let ret = map_opt open_match_returns_ascription ret in + Tv_Match scrutinee ret brs + +private +let close_view (tv : named_term_view) : Tot term_view = + match tv with + (* Nothing interesting *) + | Tv_Var v -> RD.Tv_Var (pack_namedv v) + | Tv_BVar v -> RD.Tv_BVar (pack_bv v) + | Tv_FVar v -> RD.Tv_FVar v + | Tv_UInst v us -> RD.Tv_UInst v us + | Tv_App hd a -> RD.Tv_App hd a + | Tv_Type u -> RD.Tv_Type u + | Tv_Const c -> RD.Tv_Const c + | Tv_Uvar n ctx_uvar_and_subst -> RD.Tv_Uvar n ctx_uvar_and_subst + | Tv_AscribedT e t tac use_eq -> RD.Tv_AscribedT e t tac use_eq + | Tv_AscribedC e c tac use_eq -> RD.Tv_AscribedC e (pack_comp c) tac use_eq + | Tv_Unknown -> RD.Tv_Unknown + | Tv_Unsupp -> RD.Tv_Unsupp + + (* Below are the nodes that actually involve a binder. + Open them and convert to named binders. *) + + | Tv_Abs nb body -> + let b, body = close_term nb body in + RD.Tv_Abs b body + + | Tv_Arrow nb c -> + let b, c = close_comp nb c in + let c = pack_comp c in + RD.Tv_Arrow b c + + | Tv_Refine nb ref -> + let b, ref = close_term_simple nb ref in + RD.Tv_Refine b ref + + | Tv_Let recf attrs nb def body -> + let def = + if recf + then subst_term [NM (r_binder_to_namedv nb) 0] def + else def + in + let b, body = close_term_simple nb body in + RD.Tv_Let recf attrs b def body + + | Tv_Match scrutinee ret brs -> + let brs = List.Tot.map close_branch brs in + (* NOTE: this used to use FStar.Option.mapTot, but that brings + in way too many dependencies. *) + let ret = + match ret with + | None -> None + | Some asc -> Some (close_match_returns_ascription asc) + in + RD.Tv_Match scrutinee ret brs + +[@@plugin; coercion] +let inspect (t:term) : Tac named_term_view = + let t = compress t in + let tv = inspect_ln t in + open_view tv + +[@@plugin; coercion] +let pack (tv:named_term_view) : Tot term = + let tv = close_view tv in + pack_ln tv + +private +let open_univ_s (us : list R.univ_name) : Tac (list univ_name & subst_t) = + let n = List.Tot.length us in + let s = mapi (fun i u -> UN (n-1-i) (R.pack_universe (R.Uv_Name u))) us in + Util.map (fun i -> inspect_ident i) us, s + +private +let close_univ_s (us : list univ_name) : list R.univ_name & subst_t = + let n = List.Tot.length us in + let us = List.Tot.map (fun i -> pack_ident i) us in + let s = List.Tot.mapi (fun i u -> UD u (n-i-1)) us in + us, s + +private +let open_lb (lb : R.letbinding) : Tac letbinding = + let {lb_fv; lb_us; lb_typ; lb_def} = inspect_lb lb in + let lb_us, s = open_univ_s lb_us in + let lb_typ = subst_term s lb_typ in + let lb_def = subst_term s lb_def in + { lb_fv; lb_us; lb_typ; lb_def } + +private +let close_lb (lb : letbinding) : R.letbinding = + let {lb_fv; lb_us; lb_typ; lb_def} = lb in + let lb_us, s = close_univ_s lb_us in + let lb_typ = subst_term s lb_typ in + let lb_def = subst_term s lb_def in + pack_lb { lb_fv; lb_us; lb_typ; lb_def } + +private +let subst_r_binders (s:subst_t) (bs : list R.binder) : list R.binder = + List.Tot.mapi (fun i b -> r_subst_binder_sort (shift_subst i s) b) bs + +private +let rec open_n_binders_from_arrow (bs : binders) (t : term) : Tac term = + match bs with + | [] -> t + | b::bs -> + match inspect t with + | Tv_Arrow b' (C_Total t') -> + let t' = subst_term [NT (r_binder_to_namedv b') (pack (Tv_Var (inspect_namedv (r_binder_to_namedv b))))] t' in + open_n_binders_from_arrow bs t' + | _ -> raise NotEnoughBinders + +private +let open_sigelt_view (sv : sigelt_view) : Tac named_sigelt_view = + match sv with + | RD.Sg_Let isrec lbs -> + let lbs = map open_lb lbs in + (* open universes, maybe *) + Sg_Let { isrec; lbs } + + | RD.Sg_Inductive nm univs params typ ctors -> + let nparams = List.Tot.length params in + + (* Open universes everywhere *) + let univs, s = open_univ_s univs in + let params = subst_r_binders s params in + let typ = subst_term (shift_subst nparams s) typ in + let ctors = map (fun (nm, ty) -> nm, subst_term s ty) ctors in + + (* Open parameters in themselves and in type *) + let params, typ = open_term_n params typ in + (* Remove the parameter binders from the constructors, + replace them by the opened param binders. Hence we get + Cons : a0 -> list a0 + instead of + Cons : #a:Type -> a -> list a + for the returned open parameter a0. *) + let ctors = + map (fun (nm, ty) -> + let ty'= open_n_binders_from_arrow params ty in + nm, ty') + ctors + in + + Sg_Inductive {nm; univs; params; typ; ctors} + + | RD.Sg_Val nm univs typ -> + let univs, s = open_univ_s univs in + let typ = subst_term s typ in + Sg_Val {nm; univs; typ} + + | RD.Unk -> Unk + +private +let rec mk_arr (args : list binder) (t : term) : Tac term = + match args with + | [] -> t + | a :: args' -> + let t' = C_Total (mk_arr args' t) in + pack (Tv_Arrow a t') + +private +let close_sigelt_view (sv : named_sigelt_view{~(Unk? sv)}) : Tac (sv:sigelt_view{~(RD.Unk? sv)}) = + match sv with + | Sg_Let { isrec; lbs } -> + let lbs = List.Tot.map close_lb lbs in + RD.Sg_Let isrec lbs + + | Sg_Inductive {nm; univs; params; typ; ctors} -> + let nparams = List.Tot.length params in + (* Abstract constructors by the parameters. This + is the inverse of the open_n_binders_from_arrow above. *) + let ctors = + map (fun (nm, ty) -> + let ty' = mk_arr params ty in + nm, ty') + ctors + in + + (* Close parameters in themselves and typ *) + let params, typ = close_term_n params typ in + + (* close univs *) + let univs, s = close_univ_s univs in + let params = subst_r_binders s params in + let typ = subst_term (shift_subst nparams s) typ in + let ctors = map (fun (nm, ty) -> nm, subst_term s ty) ctors in + + RD.Sg_Inductive nm univs params typ ctors + + | Sg_Val {nm; univs; typ} -> + let univs, s = close_univ_s univs in + let typ = subst_term s typ in + RD.Sg_Val nm univs typ + +[@@plugin] +let inspect_sigelt (s : sigelt) : Tac named_sigelt_view = + let sv = R.inspect_sigelt s in + (* dump ("sv orig = " ^ term_to_string (quote sv)); *) + open_sigelt_view sv + +[@@plugin] +let pack_sigelt (sv:named_sigelt_view{~(Unk? sv)}) : Tac sigelt = + let sv = close_sigelt_view sv in + R.pack_sigelt sv + +let tcc (e:env) (t:term) : Tac comp = + let c : R.comp = V2.Builtins.tcc e t in + R.inspect_comp c + +let comp_to_string (c:comp) : Tac string = V2.Builtins.comp_to_string (R.pack_comp c) diff --git a/ulib/FStar.Tactics.NamedView.fsti b/ulib/FStar.Tactics.NamedView.fsti new file mode 100644 index 00000000000..c936254ee00 --- /dev/null +++ b/ulib/FStar.Tactics.NamedView.fsti @@ -0,0 +1,218 @@ +(* + Copyright 2008-2023 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.Tactics.NamedView + +open FStar.Tactics.Effect +open FStar.Reflection.V2 +open FStar.Reflection.V2.Data +module R = FStar.Reflection.V2 + +(* Re export the syntax types. Expose variables as their views, users do +not need to pack/inspect these if they are using the named view. *) +type namedv = R.namedv_view +type bv = R.bv_view +type comp = R.comp_view +type binding = R.binding (* already good *) +(* Terms and universes are still *deep*, so we do not change their +representation, and the user needs to pack/inspect. *) +type term = R.term +type universe = R.universe + +[@@plugin] +noeq +type binder = { + uniq : nat; + + ppname : ppname_t; + sort : R.typ; + qual : aqualv; + attrs : list term; +} +type binders = list binder + +let is_simple_binder (b:binder) = Q_Explicit? b.qual /\ Nil? b.attrs +type simple_binder = b:binder{is_simple_binder b} + +type univ_name = string & Range.range + +[@@plugin] +noeq +type named_universe_view = + | Uv_Zero : named_universe_view + | Uv_Succ : universe -> named_universe_view + | Uv_Max : universes -> named_universe_view + | Uv_BVar : nat -> named_universe_view + | Uv_Name : univ_name -> named_universe_view + | Uv_Unif : R.universe_uvar -> named_universe_view + | Uv_Unk : named_universe_view + +[@@plugin] +noeq +type pattern = + // A built-in constant + | Pat_Constant { + c : vconst + } + + // A fully applied constructor, each boolean marks whether the + // argument was an explicitly-provided implicit argument + | Pat_Cons { + head : fv; + univs : option universes; + subpats : list (pattern * bool) + } + + // A pattern-bound *named* variable. + | Pat_Var { + v : namedv; + sort : sealed typ; + } + + // Dot pattern: resolved by other elements in the pattern and type + | Pat_Dot_Term { + t : option term; + } + +type branch = pattern & term +type match_returns_ascription = binder & (either term comp & option term & bool) + +[@@plugin] +noeq +type named_term_view = + | Tv_Var : v:namedv -> named_term_view + | Tv_BVar : v:bv -> named_term_view + | Tv_FVar : v:fv -> named_term_view + | Tv_UInst : v:fv -> us:universes -> named_term_view + | Tv_App : hd:term -> a:argv -> named_term_view + | Tv_Abs : bv:binder -> body:term -> named_term_view + | Tv_Arrow : bv:binder -> c:comp -> named_term_view + | Tv_Type : universe -> named_term_view + | Tv_Refine : b:simple_binder -> ref:term -> named_term_view + | Tv_Const : vconst -> named_term_view + | Tv_Uvar : nat -> ctx_uvar_and_subst -> named_term_view + | Tv_Let : recf:bool -> attrs:(list term) -> b:simple_binder -> def:term -> body:term -> named_term_view + | Tv_Match : scrutinee:term -> ret:option match_returns_ascription -> brs:(list branch) -> named_term_view + | Tv_AscribedT : e:term -> t:term -> tac:option term -> use_eq:bool -> named_term_view + | Tv_AscribedC : e:term -> c:comp -> tac:option term -> use_eq:bool -> named_term_view + | Tv_Unknown : named_term_view // An underscore: _ + | Tv_Unsupp : named_term_view // failed to inspect, not supported + +// Repeat from FStar.R.Data +let notAscription (tv:named_term_view) : bool = + not (Tv_AscribedT? tv) && not (Tv_AscribedC? tv) + +[@@plugin] +noeq +type letbinding = { + lb_fv : fv; + lb_us : list univ_name; (* opened *) + lb_typ : typ; + lb_def : term; +} + +[@@plugin] +noeq +type named_sigelt_view = + | Sg_Let { + isrec : bool; + lbs : list letbinding; + } + + // Sg_Inductive basically coalesces the Sig_bundle used internally, + // where the type definition and its constructors are split. + // While that might be better for typechecking, this is probably better for metaprogrammers + // (no mutually defined types for now) + | Sg_Inductive { + nm : name; // name of the inductive type being defined + univs : list univ_name; // named universe variables + params : binders; // parameters + typ : typ; // the type annotation for the inductive, i.e., indices -> Type #u + ctors : list ctor; // the constructors, opened with univs and applied to params already + } + + | Sg_Val { + nm : name; + univs : list univ_name; + typ : typ; + } + + | Unk + +(* Some helpers. The latter two are not marked coercions as they make a +choice to not add qualifiers/attrs, so we let the user call them. *) +[@@coercion] +let binder_to_binding (b : binder) : binding = + { + ppname = b.ppname; + uniq = b.uniq; + sort = b.sort; + } +let binding_to_binder (bnd : binding) : binder = + { + ppname = bnd.ppname; + uniq = bnd.uniq; + sort = bnd.sort; + qual = Q_Explicit; + attrs = [] + } +let namedv_to_binder (v : namedv) (sort : term) : binder = + { + uniq = v.uniq; + sort = sort; + ppname = v.ppname; + qual = Q_Explicit; + attrs = []; + } + +[@@plugin; coercion] +val inspect_universe (u:universe) : Tot named_universe_view + +[@@plugin; coercion] +val pack_universe (uv:named_universe_view) : Tot universe + +[@@plugin] +val close_term (b:binder) (t:term) : Tot (R.binder & term) + +[@@plugin; coercion] +val inspect (t:term) : Tac named_term_view + +[@@plugin; coercion] +val pack (tv:named_term_view) : Tot term + +[@@plugin; coercion] +val inspect_sigelt (s : sigelt) : Tac named_sigelt_view + +[@@plugin; coercion] +val pack_sigelt (sv:named_sigelt_view{~(Unk? sv)}) : Tac sigelt + +(* Some primitives mention `R.comp`, wrap them to use `ThisModule.comp = R.comp_view` *) +[@@plugin] +val tcc (e:env) (t:term) : Tac comp +[@@plugin] +val comp_to_string (c:comp) : Tac string + +(* Clients of this module use the named view. *) +let universe_view = named_universe_view +let term_view = named_term_view +let sigelt_view = named_sigelt_view + +(* Temporary adapters, to avoid breaking existing code too much. *) +let inspect_namedv = id #namedv +let pack_namedv = id #namedv +let inspect_bv = id #bv +let pack_bv = id #bv +let inspect_comp = id #comp +let pack_comp = id #comp diff --git a/ulib/FStar.Tactics.PatternMatching.fst b/ulib/FStar.Tactics.PatternMatching.fst index fa61b8fceea..4c7fa322ab0 100644 --- a/ulib/FStar.Tactics.PatternMatching.fst +++ b/ulib/FStar.Tactics.PatternMatching.fst @@ -23,7 +23,7 @@ module FStar.Tactics.PatternMatching -open FStar.Tactics +open FStar.Tactics.V2 /// Contents /// ======== @@ -140,18 +140,18 @@ let implies_intro' () : Tac unit = let repeat' #a (f: unit -> Tac a) : Tac unit = let _ = repeat f in () -let and_elim' (h: binder) : Tac unit = - and_elim (pack (Tv_Var (bv_of_binder h))); +let and_elim' (h: binding) : Tac unit = + and_elim (pack (Tv_Var h)); clear h (** Use a hypothesis at type a to satisfy a goal at type squash a *) -let exact_hyp (a: Type0) (h: binder) : Tac unit = +let exact_hyp (a: Type0) (h: namedv) : Tac unit = let hd = quote (FStar.Squash.return_squash #a) in - exact (mk_app hd [((pack (Tv_Var (bv_of_binder h))), Q_Explicit)]) + exact (mk_app hd [((pack (Tv_Var h)), Q_Explicit)]) (** Use a hypothesis h (of type a) to satisfy a goal at type a *) -let exact_hyp' (h: binder): Tac unit = - exact (pack (Tv_Var (bv_of_binder h))) +let exact_hyp' (h: namedv): Tac unit = + exact (pack (Tv_Var h)) /// Pattern types /// ============= @@ -209,10 +209,10 @@ let term_head t : Tac string = | Tv_Abs x t -> "Tv_Abs" | Tv_Arrow x t -> "Tv_Arrow" | Tv_Type _ -> "Tv_Type" - | Tv_Refine x _ t -> "Tv_Refine" + | Tv_Refine x t -> "Tv_Refine" | Tv_Const cst -> "Tv_Const" | Tv_Uvar i t -> "Tv_Uvar" - | Tv_Let r attrs b _ t1 t2 -> "Tv_Let" + | Tv_Let r attrs b t1 t2 -> "Tv_Let" | Tv_Match t _ branches -> "Tv_Match" | Tv_AscribedT _ _ _ _ -> "Tv_AscribedT" | Tv_AscribedC _ _ _ _ -> "Tv_AscribedC" @@ -319,9 +319,6 @@ let rec interp_pattern_aux (pat: pattern) (cur_bindings: bindings) (tm:term) | PQn qn -> interp_qn qn cur_bindings tm | PType -> interp_type cur_bindings tm | PApp p_hd p_arg -> interp_app p_hd p_arg cur_bindings tm - // GM: Jul 11 2018, sadly this is needed, seems this monad layered - // on top of Tac causesq queries to be hard on Z3 - | _ -> fail "?" (** Match a pattern `pat` against a term. Returns a result in the exception monad. **) @@ -349,8 +346,8 @@ let debug msg : Tac unit = () // print msg /// Definitions /// ----------- -let absvar = binder -type hypothesis = binder +let absvar = binding +type hypothesis = binding /// A matching problem is composed of holes (``mp_vars``), hypothesis patterns /// (``mp_hyps``), and a goal pattern (``mp_goal``). @@ -388,8 +385,8 @@ let string_of_matching_solution ms = varname ^ ": " ^ (term_to_string tm)) ms.ms_vars) in let hyps = String.concat "\n " - (map (fun (nm, binder) -> - nm ^ ": " ^ (binder_to_string binder)) ms.ms_hyps) in + (map (fun (nm, binding) -> + nm ^ ": " ^ (binding_to_string binding)) ms.ms_hyps) in "\n{ vars: " ^ vars ^ "\n" ^ " hyps: " ^ hyps ^ " }" @@ -401,7 +398,7 @@ let assoc_varname_fail (#b: Type) (key: varname) (ls: list (varname * b)) | Some x -> x let ms_locate_hyp (a: Type) (solution: matching_solution) - (name: varname) : Tac binder = + (name: varname) : Tac hypothesis = assoc_varname_fail name solution.ms_hyps let ms_locate_var (a: Type) (solution: matching_solution) @@ -446,7 +443,7 @@ let rec solve_mp_for_single_hyp #a | h :: hs -> or_else // Must be in ``Tac`` here to run `body` (fun () -> - match interp_pattern_aux pat part_sol.ms_vars (type_of_binder h) with + match interp_pattern_aux pat part_sol.ms_vars (type_of_binding h) with | Failure ex -> fail ("Failed to match hyp: " ^ (string_of_match_exception ex)) | Success bindings -> @@ -475,7 +472,7 @@ let rec solve_mp_for_hyps #a The solution returned is constructed to ensure that the continuation ``body`` succeeds: this implements the usual backtracking-match semantics. **) let solve_mp #a (problem: matching_problem) - (hypotheses: binders) (goal: term) + (hypotheses: list hypothesis) (goal: term) (body: matching_solution -> Tac a) : Tac a = let goal_ps = @@ -502,12 +499,15 @@ let solve_mp #a (problem: matching_problem) /// variables are holes, free variables are constants, and applications are /// application patterns. +(* FIXME: MOVE *) +let name_of_namedv (x:namedv) : Tac string = + unseal (inspect_namedv x).ppname (** Compile a term `tm` into a pattern. **) let rec pattern_of_term_ex tm : Tac (match_res pattern) = match inspect tm with | Tv_Var bv -> - return (PVar (name_of_bv bv)) + return (PVar (name_of_namedv bv)) | Tv_FVar fv | Tv_UInst fv _ -> let qn = fv_to_string fv in @@ -556,7 +556,7 @@ let pattern_of_term tm : Tac pattern = // inference, requiring non-trivial normalization. // let var (a: Type) = a -let hyp (a: Type) = binder +let hyp (a: Type) = binding let pm_goal (a: Type) = unit let hyp_qn = `%hyp @@ -581,12 +581,15 @@ noeq type abspat_argspec = type abspat_continuation = list abspat_argspec * term -let classify_abspat_binder binder : Tac (abspat_binder_kind * term) = +let type_of_named_binder (nb : binder) : term = + nb.sort + +let classify_abspat_binder (b : binder): Tac (abspat_binder_kind * term) = let varname = "v" in let hyp_pat = PApp (PQn hyp_qn) (PVar varname) in let goal_pat = PApp (PQn goal_qn) (PVar varname) in - let typ = type_of_binder binder in + let typ = type_of_named_binder b in match interp_pattern hyp_pat typ with | Success [(_, hyp_typ)] -> ABKHyp, hyp_typ | Success _ -> fail "classifiy_abspat_binder: impossible (1)" @@ -597,7 +600,7 @@ let classify_abspat_binder binder : Tac (abspat_binder_kind * term) = | Failure _ -> ABKVar typ, typ (** Split an abstraction `tm` into a list of binders and a body. **) -let rec binders_and_body_of_abs tm : Tac (binders * term) = +let rec binders_and_body_of_abs tm : Tac (list binder * term) = match inspect tm with | Tv_Abs binder tm -> let binders, body = binders_and_body_of_abs tm in @@ -607,6 +610,10 @@ let rec binders_and_body_of_abs tm : Tac (binders * term) = let cleanup_abspat (t: term) : Tac term = norm_term [] t + +let name_of_named_binder (nb : binder) : Tac string = + unseal nb.ppname + (** Parse a notation into a matching problem and a continuation. Pattern-matching notations are of the form ``(fun binders… -> continuation)``, @@ -626,13 +633,13 @@ let matching_problem_of_abs (tm: term) let binders, body = binders_and_body_of_abs (cleanup_abspat tm) in debug ("Got binders: " ^ (String.concat ", " - (map (fun b -> name_of_binder b <: Tac string) binders))); + (map (fun b -> name_of_named_binder b <: Tac string) binders))); - let classified_binders = + let classified_binders : list (binder & string & abspat_binder_kind & typ) = map (fun binder -> - let bv_name = name_of_binder binder in + let bv_name = name_of_named_binder binder in debug ("Got binder: " ^ bv_name ^ "; type is " ^ - term_to_string (type_of_binder binder)); + term_to_string (type_of_named_binder binder)); let binder_kind, typ = classify_abspat_binder binder in (binder, bv_name, binder_kind, typ)) binders in @@ -640,7 +647,7 @@ let matching_problem_of_abs (tm: term) let problem = fold_left (fun problem (binder, bv_name, binder_kind, typ) -> - debug ("Compiling binder " ^ name_of_binder binder ^ + debug ("Compiling binder " ^ name_of_named_binder binder ^ ", classified as " ^ string_of_abspat_binder_kind binder_kind ^ ", with type " ^ term_to_string typ); match binder_kind with @@ -654,7 +661,7 @@ let matching_problem_of_abs (tm: term) let continuation = let abspat_argspec_of_binder xx : Tac abspat_argspec = match xx with | (binder, xx, binder_kind, yy) -> - { asa_name = binder; asa_kind = binder_kind } in + { asa_name = binder_to_binding binder; asa_kind = binder_kind } in (map abspat_argspec_of_binder classified_binders, tm) in let mp = @@ -691,7 +698,7 @@ matching solution ``solution_term``. **) let abspat_arg_of_abspat_argspec solution_term (argspec: abspat_argspec) : Tac term = let loc_fn = locate_fn_of_binder_kind argspec.asa_kind in - let name_tm = pack (Tv_Const (C_String (name_of_binder argspec.asa_name))) in + let name_tm = pack (Tv_Const (C_String (unseal argspec.asa_name.ppname))) in let locate_args = [(arg_type_of_binder_kind argspec.asa_kind, Q_Explicit); (solution_term, Q_Explicit); (name_tm, Q_Explicit)] in mk_app loc_fn locate_args @@ -706,8 +713,16 @@ let rec hoist_and_apply (head:term) (arg_terms:list term) (hoisted_args:list arg | [] -> mk_app head (List.rev hoisted_args) | arg_term::rest -> let n = List.Tot.length hoisted_args in - let bv = fresh_bv_named ("x" ^ (string_of_int n)) in - pack (Tv_Let false [] bv (pack Tv_Unknown) arg_term (hoist_and_apply head rest ((pack (Tv_Var bv), Q_Explicit)::hoisted_args))) + //let bv = fresh_bv_named ("x" ^ (string_of_int n)) in + let nb : binder = { + ppname = seal ("x" ^ string_of_int n); + sort = pack Tv_Unknown; + uniq = fresh (); + qual = Q_Explicit; + attrs = [] ; + } + in + pack (Tv_Let false [] nb arg_term (hoist_and_apply head rest ((pack (Tv_Var (binder_to_namedv nb)), Q_Explicit)::hoisted_args))) let specialize_abspat_continuation' (continuation: abspat_continuation) (solution_term:term) @@ -723,7 +738,7 @@ bindings. **) let specialize_abspat_continuation (continuation: abspat_continuation) : Tac term = let solution_binder = fresh_binder (`matching_solution) in - let solution_term = pack (Tv_Var (bv_of_binder solution_binder)) in + let solution_term = pack (Tv_Var (binder_to_namedv solution_binder)) in let applied = specialize_abspat_continuation' continuation solution_term in let thunked = pack (Tv_Abs solution_binder applied) in debug ("Specialized into " ^ (term_to_string thunked)); @@ -756,7 +771,7 @@ let match_abspat #b #a (abspat: a) (k: abspat_continuation -> Tac (matching_solution -> Tac b)) : Tac b = let goal = cur_goal () in - let hypotheses = binders_of_env (cur_env ()) in + let hypotheses = vars_of_env (cur_env ()) in let problem, continuation = interp_abspat abspat in solve_mp problem hypotheses goal (k continuation) @@ -812,29 +827,27 @@ let fetch_eq_side' #a : Tac (term * term) = gpm (fun (left right: a) (g: pm_goal (squash (left == right))) -> (quote left, quote right)) () -let _ = - assert_by_tactic (1 + 1 == 2) - (fun () -> let l, r = fetch_eq_side' #int in - print (term_to_string l ^ " / " ^ term_to_string r)) +(* let _ = *) +(* assert_by_tactic (1 + 1 == 2) *) +(* (fun () -> let l, r = fetch_eq_side' #int in *) +(* print (term_to_string l ^ " / " ^ term_to_string r)) *) -let _ = - assert_by_tactic (1 + 1 == 2) - (gpm (fun (left right: int) (g: pm_goal (squash (left == right))) -> - let l, r = quote left, quote right in - print (term_to_string l ^ " / " ^ term_to_string r) <: Tac unit)) +(* let _ = *) +(* assert_by_tactic (1 + 1 == 2) *) +(* (gpm (fun (left right: int) (g: pm_goal (squash (left == right))) -> *) +(* let l, r = quote left, quote right in *) +(* print (term_to_string l ^ " / " ^ term_to_string r) <: Tac unit)) *) /// Commenting out the following example and comparing ``pm`` and ``gpm`` can be /// instructive: -(* -let test_bt (a: Type0) (b: Type0) (c: Type0) (d: Type0) = - assert_by_tactic ((a ==> d) ==> (b ==> d) ==> (c ==> d) ==> a ==> d) - (fun () -> repeat' implies_intro'; - gpm (fun (a b: Type0) (h: hyp (a ==> b)) -> - print (binder_to_string h); - fail "fail here" <: Tac unit); - qed ()) -*) +// let test_bt (a: Type0) (b: Type0) (c: Type0) (d: Type0) = +// assert_by_tactic ((a ==> d) ==> (b ==> d) ==> (c ==> d) ==> a ==> d) +// (fun () -> repeat' implies_intro'; +// gpm (fun (a b: Type0) (h: hyp (a ==> b)) -> +// print (binder_to_string h); +// fail "fail here" <: Tac unit); +// qed ()) /// A real-life example /// ------------------- @@ -844,20 +857,20 @@ let test_bt (a: Type0) (b: Type0) (c: Type0) (d: Type0) = /// tried in succession, until one succeeds. The whole process is repeated as /// long as at least one tactic succeeds. -let example (#a:Type0) (#b:Type0) (#c:Type0) :unit = - assert_by_tactic (a /\ b ==> c == b ==> c) - (fun () -> 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: pm_goal (squash (a ==> b))) -> - implies_intro' () <: Tac unit) `or_else` - (fun () -> gpm #unit (fun (a b: Type0) (h: hyp (a /\ b)) -> - and_elim' h <: Tac unit) `or_else` - (fun () -> gpm #unit (fun (a b: Type0) (h: hyp (a == b)) (g: pm_goal (squash a)) -> - rewrite h <: Tac unit) `or_else` - (fun () -> gpm #unit (fun (a: Type0) (h: hyp a) (g: pm_goal (squash a)) -> - exact_hyp a h <: Tac unit) ()))))); - qed ()) +(* let example (#a:Type0) (#b:Type0) (#c:Type0) :unit = *) +(* assert_by_tactic (a /\ b ==> c == b ==> c) *) +(* (fun () -> 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: pm_goal (squash (a ==> b))) -> *) +(* implies_intro' () <: Tac unit) `or_else` *) +(* (fun () -> gpm #unit (fun (a b: Type0) (h: hyp (a /\ b)) -> *) +(* and_elim' h <: Tac unit) `or_else` *) +(* (fun () -> gpm #unit (fun (a b: Type0) (h: hyp (a == b)) (g: pm_goal (squash a)) -> *) +(* rewrite h <: Tac unit) `or_else` *) +(* (fun () -> gpm #unit (fun (a: Type0) (h: hyp a) (g: pm_goal (squash a)) -> *) +(* exact_hyp a h <: Tac unit) ()))))); *) +(* qed ()) *) /// Possible extensions /// =================== diff --git a/ulib/FStar.Tactics.Print.fst b/ulib/FStar.Tactics.Print.fst index 80d91af59ae..25f710c3dba 100644 --- a/ulib/FStar.Tactics.Print.fst +++ b/ulib/FStar.Tactics.Print.fst @@ -1,9 +1,13 @@ module FStar.Tactics.Print -open FStar.Reflection +open FStar.Reflection.V2 open FStar.Tactics.Effect -open FStar.Tactics.Builtins -open FStar.Tactics.Derived +open FStar.Tactics.V2.Builtins +open FStar.Tactics.V2.Derived +open FStar.Tactics.NamedView + +let namedv_to_string (x:namedv) : Tac string= + unseal x.ppname ^ "#" ^ string_of_int x.uniq private let paren (s:string) : string = "(" ^ s ^ ")" @@ -35,7 +39,7 @@ let universes_to_ast_string (us:universes) : Tac string = let rec term_to_ast_string (t:term) : Tac string = match inspect t with - | Tv_Var bv -> "Tv_Var " ^ bv_to_string bv + | Tv_Var bv -> "Tv_Var " ^ namedv_to_string bv | Tv_BVar bv -> "Tv_BVar " ^ bv_to_string bv | Tv_FVar fv -> "Tv_FVar " ^ fv_to_string fv | Tv_UInst fv us -> @@ -44,12 +48,12 @@ let rec term_to_ast_string (t:term) : Tac string = | Tv_Abs x e -> "Tv_Abs " ^ paren (binder_to_string x ^ ", " ^ term_to_ast_string e) | Tv_Arrow x c -> "Tv_Arrow " ^ paren (binder_to_string x ^ ", " ^ comp_to_ast_string c) | Tv_Type u -> "Type" ^ paren (universe_to_ast_string u) - | Tv_Refine x sort e -> "Tv_Refine " ^ paren (bv_to_string x ^ ", " ^ term_to_ast_string sort ^", " ^ term_to_ast_string e) + | Tv_Refine x e -> "Tv_Refine " ^ paren (binder_to_string x ^ ", " ^ term_to_ast_string e) | Tv_Const c -> const_to_ast_string c | Tv_Uvar i _ -> "Tv_Uvar " ^ string_of_int i - | Tv_Let recf _ x _ e1 e2 -> + | Tv_Let recf _ x e1 e2 -> "Tv_Let " ^ paren (string_of_bool recf ^ ", " ^ - bv_to_string x ^ ", " ^ + binder_to_string x ^ ", " ^ term_to_ast_string e1 ^ ", " ^ term_to_ast_string e2) | Tv_Match e ret_opt brs -> diff --git a/ulib/FStar.Tactics.SMT.fst b/ulib/FStar.Tactics.SMT.fst new file mode 100644 index 00000000000..bbd20fe986c --- /dev/null +++ b/ulib/FStar.Tactics.SMT.fst @@ -0,0 +1,35 @@ +module FStar.Tactics.SMT + +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.VConfig + +(* Alias to just use the current vconfig *) +let smt_sync () : Tac unit = t_smt_sync (get_vconfig ()) + +(* smt_sync': as smt_sync, but using a particular fuel/ifuel *) +let smt_sync' (fuel ifuel : nat) : Tac unit = + let vcfg = get_vconfig () in + let vcfg' = { vcfg with initial_fuel = fuel; max_fuel = fuel + ; initial_ifuel = ifuel; max_ifuel = ifuel } + in + t_smt_sync vcfg' + +(* Getting/setting solver configuration *) + +let get_rlimit () : Tac int = (get_vconfig()).z3rlimit +let set_rlimit (v : int) : Tac unit = set_vconfig { get_vconfig () with z3rlimit = v } + +let get_initial_fuel () : Tac int = (get_vconfig ()).initial_fuel +let get_initial_ifuel () : Tac int = (get_vconfig ()).initial_ifuel +let get_max_fuel () : Tac int = (get_vconfig ()).max_fuel +let get_max_ifuel () : Tac int = (get_vconfig ()).max_ifuel + +let set_initial_fuel (v : int) : Tac unit = set_vconfig { get_vconfig () with initial_fuel = v } +let set_initial_ifuel (v : int) : Tac unit = set_vconfig { get_vconfig () with initial_ifuel = v } +let set_max_fuel (v : int) : Tac unit = set_vconfig { get_vconfig () with max_fuel = v } +let set_max_ifuel (v : int) : Tac unit = set_vconfig { get_vconfig () with max_ifuel = v } + +(* Set both min and max *) +let set_fuel (v : int) : Tac unit = set_vconfig { get_vconfig () with initial_fuel = v; max_fuel = v } +let set_ifuel (v : int) : Tac unit = set_vconfig { get_vconfig () with initial_ifuel = v; max_ifuel = v } diff --git a/ulib/FStar.Tactics.Simplifier.fst b/ulib/FStar.Tactics.Simplifier.fst index a6d5a8c2df6..e0fae7dbb1d 100644 --- a/ulib/FStar.Tactics.Simplifier.fst +++ b/ulib/FStar.Tactics.Simplifier.fst @@ -15,8 +15,8 @@ *) module FStar.Tactics.Simplifier -open FStar.Tactics -open FStar.Reflection.Formula +open FStar.Tactics.V2 +open FStar.Reflection.V2.Formula open FStar.Reflection.Const (* A correct-by-construction logical simplifier @@ -124,9 +124,8 @@ let fa_cong #a #p #q f = let do1 () : Tac unit = let _ = l_intros () in let t = quote f in - let x = nth_binder (-1) in - let bb = pose (mk_e_app t [binder_to_term x]) in - dump "a"; + let x = nth_var (-1) in + let bb = pose (mk_e_app t [binding_to_term x]) in () in iseq [do1; do1] @@ -140,10 +139,9 @@ let ex_cong #a #p #q f = split(); let do1 () : Tac unit = let [ex] = l_intros () in - let (b, pf) = elim_exists ex in + let (b, pf) = elim_exists (binding_to_term ex) in let t = quote f in - let bb = pose (mk_e_app t [binder_to_term b]) in - dump "a"; + let bb = pose (mk_e_app t [binding_to_term b]) in () in iseq [do1; do1] diff --git a/ulib/FStar.Tactics.SyntaxHelpers.fst b/ulib/FStar.Tactics.SyntaxHelpers.fst index 965692d39cf..73077a511d1 100644 --- a/ulib/FStar.Tactics.SyntaxHelpers.fst +++ b/ulib/FStar.Tactics.SyntaxHelpers.fst @@ -1,95 +1,19 @@ -module FStar.Tactics.SyntaxHelpers - -open FStar.Reflection -open FStar.Tactics.Effect -open FStar.Tactics.Builtins -open FStar.Tactics.Types - -(* These are fully-named variants of functions found in FStar.Reflection *) - -private -let rec collect_arr' (bs : list binder) (c : comp) : Tac (list binder * comp) = - begin match inspect_comp c with - | C_Total t -> - begin match inspect t with - | Tv_Arrow b c -> - collect_arr' (b::bs) c - | _ -> - (bs, c) - end - | _ -> (bs, c) - end - -val collect_arr_bs : typ -> Tac (list binder * comp) -let collect_arr_bs t = - let (bs, c) = collect_arr' [] (pack_comp (C_Total t)) in - (List.Tot.Base.rev bs, c) - -val collect_arr : typ -> Tac (list typ * comp) -let collect_arr t = - let (bs, c) = collect_arr' [] (pack_comp (C_Total t)) in - let ts = List.Tot.Base.map type_of_binder bs in - (List.Tot.Base.rev ts, c) - -private -let rec collect_abs' (bs : list binder) (t : term) : Tac (list binder * term) (decreases t) = - match inspect t with - | Tv_Abs b t' -> - collect_abs' (b::bs) t' - | _ -> (bs, t) +(* + Copyright 2008-2018 Microsoft Research -val collect_abs : term -> Tac (list binder * term) -let collect_abs t = - let (bs, t') = collect_abs' [] t in - (List.Tot.Base.rev bs, t') + 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 -(* Copied from FStar.Tactics.Derived *) -private -let fail (#a:Type) (m:string) = raise #a (TacticFailure m) + http://www.apache.org/licenses/LICENSE-2.0 -let rec mk_arr (bs: list binder) (cod : comp) : Tac term = - match bs with - | [] -> fail "mk_arr, empty binders" - | [b] -> pack (Tv_Arrow b cod) - | (b::bs) -> - pack (Tv_Arrow b (pack_comp (C_Total (mk_arr bs cod)))) - -let rec mk_arr_curried (bs: list binder) (cod : comp) : Tac term = - match bs with - | [] -> fail "mk_arr, empty binders" - | [b] -> pack_curried (Tv_Arrow b cod) - | (b::bs) -> pack_curried (Tv_Arrow b (pack_comp (C_Total (mk_arr_curried bs cod)))) - -let rec mk_tot_arr (bs: list binder) (cod : term) : Tac term = - match bs with - | [] -> cod - | (b::bs) -> - pack (Tv_Arrow b (pack_comp (C_Total (mk_tot_arr bs cod)))) - -let lookup_lb_view (lbs:list letbinding) (nm:name) : Tac lb_view = - let o = FStar.List.Tot.Base.find - (fun lb -> - let lbv = inspect_lb lb in - (inspect_fv lbv.lb_fv) = nm) - lbs - in - match o with - | Some lb -> inspect_lb lb - | None -> fail "lookup_lb_view: Name not in let group" - -let rec inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) = - match inspect t with - | Tv_AscribedT t _ _ _ - | Tv_AscribedC t _ _ _ -> - inspect_unascribe t - | tv -> tv - -(* Helpers for dealing with nested applications and arrows *) -let rec collect_app' (args : list argv) (t : term) - : Tac (term * list argv) = - match inspect_unascribe t with - | Tv_App l r -> - collect_app' (r::args) l - | _ -> (t, args) + 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.Tactics.SyntaxHelpers -let collect_app = collect_app' [] +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.SyntaxHelpers diff --git a/ulib/FStar.Tactics.Typeclasses.fst b/ulib/FStar.Tactics.Typeclasses.fst index c96fbe43d63..6f3378509ac 100644 --- a/ulib/FStar.Tactics.Typeclasses.fst +++ b/ulib/FStar.Tactics.Typeclasses.fst @@ -15,9 +15,17 @@ *) module FStar.Tactics.Typeclasses -open FStar.List.Tot -open FStar.Tactics -module T = FStar.Tactics +open FStar.Reflection.V2 +open FStar.Tactics.Common +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions +open FStar.Tactics.NamedView + +module L = FStar.List.Tot.Base +let (@) = L.op_At (* The attribute that marks classes *) irreducible @@ -32,6 +40,7 @@ let tcinstance : unit = () irreducible let no_method : unit = () +private let rec first (f : 'a -> Tac 'b) (l : list 'a) : Tac 'b = match l with | [] -> fail "no cands" @@ -44,13 +53,13 @@ let rec tcresolve' (seen:list term) (fuel:int) : Tac unit = fail "out of fuel"; debug ("fuel = " ^ string_of_int fuel); let g = cur_goal () in - if FStar.List.Tot.Base.existsb (term_eq g) seen then + if L.existsb (term_eq g) seen then fail "loop"; let seen = g :: seen in local seen fuel `or_else` (fun () -> global seen fuel `or_else` (fun () -> fail ("could not solve constraint: " ^ term_to_string g))) and local (seen:list term) (fuel:int) () : Tac unit = - let bs = binders_of_env (cur_env ()) in - first (fun b -> trywith seen fuel (pack (Tv_Var (bv_of_binder b)))) bs + let bs = vars_of_env (cur_env ()) in + first (fun (b:binding) -> trywith seen fuel (pack (Tv_Var b))) bs and global (seen:list term) (fuel:int) () : Tac unit = let cands = lookup_attr (`tcinstance) (cur_env ()) in first (fun fv -> trywith seen fuel (pack (Tv_FVar fv))) cands @@ -58,10 +67,11 @@ and trywith (seen:list term) (fuel:int) (t:term) : Tac unit = debug ("Trying to apply hypothesis/instance: " ^ term_to_string t); (fun () -> apply_noinst t) `seq` (fun () -> tcresolve' seen (fuel-1)) +private let rec maybe_intros () : Tac unit = let g = cur_goal () in match inspect_ln g with - | Tv_Arrow _ _ -> + | Reflection.V2.Tv_Arrow _ _ -> ignore (intro ()); maybe_intros () | _ -> () @@ -77,39 +87,43 @@ let tcresolve () : Tac unit = | TacticFailure s -> fail ("Typeclass resolution failed: " ^ s) | e -> raise e -(* Solve an explicit argument by typeclass resolution *) -unfold let solve (#a:Type) (#[tcresolve ()] ev : a) : Tot a = ev - (**** Generating methods from a class ****) (* In TAC, not Tot *) +private let rec mk_abs (bs : list binder) (body : term) : Tac term (decreases bs) = match bs with | [] -> body | b::bs -> pack (Tv_Abs b (mk_abs bs body)) +private let rec last (l : list 'a) : Tac 'a = match l with | [] -> fail "last: empty list" | [x] -> x | _::xs -> last xs +private let filter_no_method_binders (bs:binders) : binders = let has_no_method_attr (b:binder) : bool - = let attrs = (inspect_binder b).binder_attrs in + = let attrs = b.attrs in let is_no_method (t:term) : bool = match inspect_ln t with - | Tv_FVar fv -> + | Reflection.V2.Tv_FVar fv -> let n = flatten_name (inspect_fv fv) in n = `%no_method | _ -> false in - List.Tot.existsb is_no_method attrs + L.existsb is_no_method attrs in - List.Tot.filter (fun b -> not (has_no_method_attr b)) bs + L.filter (fun b -> not (has_no_method_attr b)) bs + +private +let binder_set_meta (b : binder) (t : term) : binder = + { b with qual = Q_Meta t } [@@plugin] let mk_class (nm:string) : Tac decls = @@ -117,90 +131,88 @@ let mk_class (nm:string) : Tac decls = let r = lookup_typ (top_env ()) ns in guard (Some? r); let Some se = r in - let to_propagate = List.Tot.filter (function Inline_for_extraction | NoExtract -> true | _ -> false) (sigelt_quals se) in + let to_propagate = L.filter (function Inline_for_extraction | NoExtract -> true | _ -> false) (sigelt_quals se) in let sv = inspect_sigelt se in guard (Sg_Inductive? sv); - let Sg_Inductive name us params ty ctors = sv in - (* dump ("got it, name = " ^ implode_qn name); *) - (* dump ("got it, ty = " ^ term_to_string ty); *) + let Sg_Inductive {nm=name;univs=us;params;typ=ity;ctors} = sv in + (* print ("params = " ^ Tactics.Util.string_of_list binder_to_string params); *) + (* print ("got it, name = " ^ implode_qn name); *) + (* print ("got it, ity = " ^ term_to_string ity); *) let ctor_name = last name in // Must have a single constructor - guard (List.Tot.Base.length ctors = 1); + guard (L.length ctors = 1); let [(c_name, ty)] = ctors in - (* dump ("got ctor " ^ implode_qn c_name ^ " of type " ^ term_to_string ty); *) + (* print ("got ctor " ^ implode_qn c_name ^ " of type " ^ term_to_string ty); *) let bs, cod = collect_arr_bs ty in let r = inspect_comp cod in guard (C_Total? r); let C_Total cod = r in (* must be total *) + (* print ("params = " ^ Tactics.Util.string_of_list binder_to_string params); *) + (* print ("n_params = " ^ string_of_int (List.Tot.Base.length params)); *) (* print ("n_univs = " ^ string_of_int (List.Tot.Base.length us)); *) + (* print ("cod = " ^ term_to_string cod); *) + + (* print ("n_bs = " ^ string_of_int (List.Tot.Base.length bs)); *) let base : string = "__proj__Mk" ^ ctor_name ^ "__item__" in (* Make a sigelt for each method *) - T.map (fun b -> - (* dump ("b = " ^ term_to_string (type_of_binder b)); *) + Tactics.Util.map (fun (b:binder) -> let s = name_of_binder b in - (* dump ("b = " ^ s); *) let ns = cur_module () in let sfv = pack_fv (ns @ [s]) in - let dbv = fresh_bv_named "d" in + let dbv = fresh_namedv_named "d" in let tcr = (`tcresolve) in - let tcdict = pack_binder { - binder_bv=dbv; - binder_qual=Q_Meta tcr; - binder_attrs=[]; - binder_sort=cod; + let tcdict = { + ppname = seal "dict"; + sort = cod; + uniq = fresh(); + qual = Q_Meta tcr; + attrs = []; } in let proj_name = cur_module () @ [base ^ s] in let proj = pack (Tv_FVar (pack_fv proj_name)) in - let proj_ty = + let proj_lb = match lookup_typ (top_env ()) proj_name with | None -> fail "mk_class: proj not found?" | Some se -> match inspect_sigelt se with - | Sg_Let _ lbs -> begin - let ({lb_fv=_;lb_us=_;lb_typ=typ;lb_def=_}) = - lookup_lb_view lbs proj_name in typ - end + | Sg_Let {lbs} -> lookup_lb lbs proj_name | _ -> fail "mk_class: proj not Sg_Let?" in - //dump ("proj_ty = " ^ term_to_string proj_ty); + (* print ("proj_ty = " ^ term_to_string proj_lb.lb_typ); *) + let ty = - let bs, cod = collect_arr_bs proj_ty in + let bs, cod = collect_arr_bs proj_lb.lb_typ in let ps, bs = List.Tot.Base.splitAt (List.Tot.Base.length params) bs in match bs with | [] -> fail "mk_class: impossible, no binders" | b1::bs' -> - let bv = (inspect_binder b1).binder_bv in - let b1 = pack_binder { - binder_bv=bv; - binder_qual=Q_Meta tcr; - binder_attrs=[]; - binder_sort=(inspect_binder b1).binder_sort; - } in - mk_arr_curried (ps@(b1::bs')) cod + let b1 = binder_set_meta b1 tcr in + mk_arr (ps@(b1::bs')) cod in - - let def : term = - let bs = (map (fun b -> binder_set_qual Q_Implicit b) params) - @ [tcdict] in - mk_abs bs (mk_e_app proj [binder_to_term tcdict]) + let def = + let bs, body = collect_abs proj_lb.lb_def in + let ps, bs = List.Tot.Base.splitAt (List.Tot.Base.length params) bs in + match bs with + | [] -> fail "mk_class: impossible, no binders" + | b1::bs' -> + let b1 = binder_set_meta b1 tcr in + mk_abs (ps@(b1::bs')) body in - //dump ("def = " ^ term_to_string def); - //dump ("ty = " ^ term_to_string ty); + (* print ("def = " ^ term_to_string def); *) + (* print ("ty = " ^ term_to_string ty); *) let ty : term = ty in let def : term = def in let sfv : fv = sfv in - let lbv = {lb_fv=sfv;lb_us=us;lb_typ=ty;lb_def=def} in - let lb = pack_lb lbv in - let se = pack_sigelt (Sg_Let false [lb]) in + let lb = { lb_fv=sfv; lb_us=proj_lb.lb_us; lb_typ=ty; lb_def=def } in + let se = pack_sigelt (Sg_Let {isrec=false; lbs=[lb]}) in let se = set_sigelt_quals to_propagate se in - let attrs = (inspect_binder b).binder_attrs in - let se = set_sigelt_attrs attrs se in - //dump ("trying to return : " ^ term_to_string (quote se)); + let se = set_sigelt_attrs b.attrs se in + (* print ("trying to return : " ^ term_to_string (quote se)); *) se ) (filter_no_method_binders bs) diff --git a/ulib/FStar.Tactics.Typeclasses.fsti b/ulib/FStar.Tactics.Typeclasses.fsti new file mode 100644 index 00000000000..8543efbce10 --- /dev/null +++ b/ulib/FStar.Tactics.Typeclasses.fsti @@ -0,0 +1,41 @@ +(* + 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 FStar.Tactics.Typeclasses + +open FStar.Tactics.Effect +open FStar.Reflection.Types (* for `decls` *) + +(* The attribute that marks classes *) +val tcclass : unit + +(* The attribute that marks instances *) +val tcinstance : unit + +(* The attribute that marks class fields + to signal that no method should be generated for them *) +val no_method : unit + +(* The typeclass resolution metaprogram. This is a plugin, clients can +run this tactics without having to know its definition in the .fst *) +val tcresolve : unit -> Tac unit + +(* The metaprogram to generate class methods. Also a plugin. This +is inserted automatically by the desugaring phase for any `class` +declaration. *) +val mk_class (nm:string) : Tac decls + +(* Helper to solve an explicit argument by typeclass resolution *) +unfold let solve (#a:Type) (#[tcresolve ()] ev : a) : Tot a = ev diff --git a/ulib/FStar.Tactics.Types.fsti b/ulib/FStar.Tactics.Types.fsti index deb321b99a5..bf1e8bae8ff 100644 --- a/ulib/FStar.Tactics.Types.fsti +++ b/ulib/FStar.Tactics.Types.fsti @@ -70,3 +70,9 @@ type unfold_side = type tot_or_ghost = | E_Total | E_Ghost + +(* Typing reflection *) +val subtyping_token (g:env) (t0 t1:typ) : Type0 +val equiv_token (g:env) (t0 t1:typ) : Type0 +val typing_token (g:env) (e:term) (c:tot_or_ghost & typ) : Type0 +let issues = list FStar.Issue.issue diff --git a/ulib/FStar.Tactics.Unseal.fsti b/ulib/FStar.Tactics.Unseal.fsti new file mode 100644 index 00000000000..b2ee8515f9e --- /dev/null +++ b/ulib/FStar.Tactics.Unseal.fsti @@ -0,0 +1,25 @@ +(* + Copyright 2008-2023 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. +*) +(** +The [unseal] primitive to observe sealed values. +*) +module FStar.Tactics.Unseal + +open FStar.Sealed +open FStar.Tactics.Effect + +(** Observe a sealed value. See Sealed.seal too. *) +val unseal : #a:Type -> sealed a -> Tac a diff --git a/ulib/FStar.Tactics.Util.fst b/ulib/FStar.Tactics.Util.fst index f339e4f27c3..e154488a08a 100644 --- a/ulib/FStar.Tactics.Util.fst +++ b/ulib/FStar.Tactics.Util.fst @@ -16,7 +16,7 @@ module FStar.Tactics.Util open FStar.Tactics.Effect -open FStar.List.Tot +open FStar.List.Tot.Base (* Tac list functions, since there's no effect polymorphism *) val map: ('a -> Tac 'b) -> list 'a -> Tac (list 'b) @@ -115,3 +115,8 @@ let rec fold_left2 (#a #b #c:Type) (f:a -> b -> c -> Tac a) (x:a) (l1:list b) (l | [], [] -> x | hd1::tl1, hd2::tl2 -> fold_left2 f (f x hd1 hd2) tl1 tl2 + +let rec string_of_list #a (f : a -> Tac string) (l : list a) : Tac string = + match l with + | [] -> "" + | x::xs -> f x ^ ";" ^ string_of_list f xs diff --git a/ulib/FStar.Tactics.Builtins.fsti b/ulib/FStar.Tactics.V1.Builtins.fsti similarity index 98% rename from ulib/FStar.Tactics.Builtins.fsti rename to ulib/FStar.Tactics.V1.Builtins.fsti index fc58662349e..4439443094c 100644 --- a/ulib/FStar.Tactics.Builtins.fsti +++ b/ulib/FStar.Tactics.V1.Builtins.fsti @@ -17,19 +17,18 @@ Every tactic primitive, i.e., those built into the compiler @summary Tactic primitives *) -module FStar.Tactics.Builtins +module FStar.Tactics.V1.Builtins open FStar.Tactics.Effect -open FStar.Reflection +open FStar.Reflection.V1.Builtins open FStar.Reflection.Types -open FStar.Reflection.Data +open FStar.Reflection.V1.Data open FStar.Reflection.Const open FStar.Tactics.Types open FStar.Tactics.Result open FStar.VConfig -(** Observe a sealed value. See Sealed.seal too. *) -val unseal : #a:Type -> sealed a -> Tac a +include FStar.Tactics.Unseal (** [top_env] returns the environment where the tactic started running. * This works even if no goals are present. *) @@ -358,10 +357,12 @@ Absolutely unsafe. Raises a warning. *) val tadmit_t : term -> Tac unit (** View a term in a fully-named representation *) +[@@coercion] val inspect : term -> Tac term_view (** Pack a term view on a fully-named representation back into a term. Note: calling this with Tv_Unsupp will raise an exception. *) +[@@coercion] val pack : term_view -> Tac term (** Similar to [pack] above, but does not flatten arrows, it leaves @@ -460,14 +461,6 @@ val free_uvars : term -> Tac (list int) (** TODO: maybe the equiv APIs should require typing of the arguments? *) -val subtyping_token (g:env) (t0 t1:typ) : Type0 - -val equiv_token (g:env) (t0 t1:typ) : Type0 - -val typing_token (g:env) (e:term) (c:tot_or_ghost & typ) : Type0 - -let issues = list FStar.Issue.issue - val check_subtyping (g:env) (t0 t1:typ) : Tac (option (subtyping_token g t0 t1) & issues) diff --git a/ulib/FStar.Tactics.V1.Derived.fst b/ulib/FStar.Tactics.V1.Derived.fst new file mode 100644 index 00000000000..9c8c095af22 --- /dev/null +++ b/ulib/FStar.Tactics.V1.Derived.fst @@ -0,0 +1,960 @@ +(* + 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 FStar.Tactics.V1.Derived + +open FStar.Reflection.V1 +open FStar.Reflection.V1.Formula +open FStar.Tactics.Types +open FStar.Tactics.Effect +open FStar.Tactics.Result +open FStar.Tactics.Util +open FStar.Tactics.V1.Builtins +open FStar.Tactics.V1.SyntaxHelpers +open FStar.VConfig + +module L = FStar.List.Tot.Base +module V = FStar.Tactics.Visit +private let (@) = L.op_At + +let name_of_bv (bv : bv) : Tac string = + unseal ((inspect_bv bv).bv_ppname) + +let bv_to_string (bv : bv) : Tac string = + (* Could also print type...? *) + name_of_bv bv + +let name_of_binder (b : binder) : Tac string = + name_of_bv (bv_of_binder b) + +let binder_to_string (b : binder) : Tac string = + bv_to_string (bv_of_binder b) //TODO: print aqual, attributes + +exception Goal_not_trivial + +let goals () : Tac (list goal) = goals_of (get ()) +let smt_goals () : Tac (list goal) = smt_goals_of (get ()) + +let fail (#a:Type) (m:string) + : TAC a (fun ps post -> post (Failed (TacticFailure m) ps)) + = raise #a (TacticFailure m) + +let fail_silently (#a:Type) (m:string) + : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure m) ps)) + = set_urgency 0; + raise #a (TacticFailure m) + +(** Return the current *goal*, not its type. (Ignores SMT goals) *) +let _cur_goal () : Tac goal = + match goals () with + | [] -> fail "no more goals" + | g::_ -> g + +(** [cur_env] returns the current goal's environment *) +let cur_env () : Tac env = goal_env (_cur_goal ()) + +(** [cur_goal] returns the current goal's type *) +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. +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 == []))) + (ensures (fun ps0 r -> exists g. r == Success g ps0)) + = 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 + set_guard_policy pol; + let r = f () in + set_guard_policy old_pol; + r + +(** [exact e] will solve a goal [Gamma |- w : t] if [e] has type exactly +[t] in [Gamma]. *) +let exact (t : term) : Tac unit = + with_policy SMT (fun () -> t_exact true false t) + +(** [exact_with_ref e] will solve a goal [Gamma |- w : t] if [e] has +type [t'] where [t'] is a subtype of [t] in [Gamma]. This is a more +flexible variant of [exact]. *) +let exact_with_ref (t : term) : Tac unit = + with_policy SMT (fun () -> t_exact true true t) + +let trivial () : Tac unit = + norm [iota; zeta; reify_; delta; primops; simplify; unmeta]; + let g = cur_goal () in + match term_as_formula g with + | True_ -> exact (`()) + | _ -> raise Goal_not_trivial + +(* Another hook to just run a tactic without goals, just by reusing `with_tactic` *) +let run_tactic (t:unit -> Tac unit) + : Pure unit + (requires (set_range_of (with_tactic (fun () -> trivial (); t ()) (squash True)) (range_of t))) + (ensures (fun _ -> True)) + = () + +(** Ignore the current goal. If left unproven, this will fail after +the tactic finishes. *) +let dismiss () : Tac unit = + match goals () with + | [] -> fail "dismiss: no more goals" + | _::gs -> set_goals gs + +(** Flip the order of the first two goals. *) +let flip () : Tac unit = + let gs = goals () in + match goals () with + | [] | [_] -> fail "flip: less than two goals" + | g1::g2::gs -> set_goals (g2::g1::gs) + +(** Succeed if there are no more goals left, and fail otherwise. *) +let qed () : Tac unit = + match goals () with + | [] -> () + | _ -> fail "qed: not done!" + +(** [debug str] is similar to [print str], but will only print the message +if the [--debug] option was given for the current module AND +[--debug_level Tac] is on. *) +let debug (m:string) : Tac unit = + if debugging () then print m + +(** [smt] will mark the current goal for being solved through the SMT. +This does not immediately run the SMT: it just dumps the goal in the +SMT bin. Note, if you dump a proof-relevant goal there, the engine will +later raise an error. *) +let smt () : Tac unit = + match goals (), smt_goals () with + | [], _ -> fail "smt: no active goals" + | g::gs, gs' -> + begin + set_goals gs; + set_smt_goals (g :: gs') + end + +let idtac () : Tac unit = () + +(** Push the current goal to the back. *) +let later () : Tac unit = + match goals () with + | g::gs -> set_goals (gs @ [g]) + | _ -> fail "later: no goals" + +(** [apply f] will attempt to produce a solution to the goal by an application +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 false false t + +let apply_noinst (t : term) : Tac unit = + t_apply true true false t + +(** [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. As a small optimization, [unit] arguments are +discharged by the engine. Just a thin wrapper around [t_apply_lemma]. *) +let apply_lemma (t : term) : Tac unit = + t_apply_lemma false false t + +(** See docs for [t_trefl] *) +let trefl () : Tac unit = + t_trefl false + +(** See docs for [t_trefl] *) +let trefl_guard () : Tac unit = + t_trefl true + +(** See docs for [t_commute_applied_match] *) +let commute_applied_match () : Tac unit = + t_commute_applied_match () + +(** Similar to [apply_lemma], but will not instantiate uvars in the +goal while applying. *) +let apply_lemma_noinst (t : term) : Tac unit = + t_apply_lemma true false t + +let apply_lemma_rw (t : term) : Tac unit = + t_apply_lemma false 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 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. *) +let exact_guard (t : term) : Tac unit = + with_policy Goal (fun () -> t_exact true false t) + +(** (TODO: explain better) When running [pointwise tau] For every +subterm [t'] of the goal's type [t], the engine will build a goal [Gamma +|= t' == ?u] and run [tau] on it. When the tactic proves the goal, +the engine will rewrite [t'] for [?u] in the original goal type. This +is done for every subterm, bottom-up. This allows to recurse over an +unknown goal type. By inspecting the goal, the [tau] can then decide +what to do (to not do anything, use [trefl]). *) +let t_pointwise (d:direction) (tau : unit -> Tac unit) : Tac unit = + let ctrl (t:term) : Tac (bool & ctrl_flag) = + true, Continue + in + let rw () : Tac unit = + tau () + in + ctrl_rewrite d ctrl rw + +(** [topdown_rewrite ctrl rw] is used to rewrite those sub-terms [t] + of the goal on which [fst (ctrl t)] returns true. + + On each such sub-term, [rw] is presented with an equality of goal + of the form [Gamma |= t == ?u]. When [rw] proves the goal, + the engine will rewrite [t] for [?u] in the original goal + type. + + The goal formula is traversed top-down and the traversal can be + controlled by [snd (ctrl t)]: + + When [snd (ctrl t) = 0], the traversal continues down through the + position in the goal term. + + When [snd (ctrl t) = 1], the traversal continues to the next + sub-tree of the goal. + + When [snd (ctrl t) = 2], no more rewrites are performed in the + goal. +*) +let topdown_rewrite (ctrl : term -> Tac (bool * int)) + (rw:unit -> Tac unit) : Tac unit + = let ctrl' (t:term) : Tac (bool & ctrl_flag) = + let b, i = ctrl t in + let f = + match i with + | 0 -> Continue + | 1 -> Skip + | 2 -> Abort + | _ -> fail "topdown_rewrite: bad value from ctrl" + in + b, f + in + ctrl_rewrite TopDown ctrl' rw + +let pointwise (tau : unit -> Tac unit) : Tac unit = t_pointwise BottomUp tau +let pointwise' (tau : unit -> Tac unit) : Tac unit = t_pointwise TopDown tau + +let cur_module () : Tac name = + moduleof (top_env ()) + +let open_modules () : Tac (list name) = + env_open_modules (top_env ()) + +let fresh_uvar (o : option typ) : Tac term = + let e = cur_env () in + uvar_env e o + +let unify (t1 t2 : term) : Tac bool = + let e = cur_env () in + unify_env e t1 t2 + +let unify_guard (t1 t2 : term) : Tac bool = + let e = cur_env () in + unify_guard_env e t1 t2 + +let tmatch (t1 t2 : term) : Tac bool = + let e = cur_env () in + match_env e t1 t2 + +(** [divide n t1 t2] will split the current set of goals into the [n] +first ones, and the rest. It then runs [t1] on the first set, and [t2] +on the second, returning both results (and concatenating remaining goals). *) +let divide (n:int) (l : unit -> Tac 'a) (r : unit -> Tac 'b) : Tac ('a * 'b) = + if n < 0 then + fail "divide: negative n"; + let gs, sgs = goals (), smt_goals () in + let gs1, gs2 = List.Tot.Base.splitAt n gs in + + set_goals gs1; set_smt_goals []; + let x = l () in + let gsl, sgsl = goals (), smt_goals () in + + set_goals gs2; set_smt_goals []; + let y = r () in + let gsr, sgsr = goals (), smt_goals () in + + set_goals (gsl @ gsr); set_smt_goals (sgs @ sgsl @ sgsr); + (x, y) + +let rec iseq (ts : list (unit -> Tac unit)) : Tac unit = + match ts with + | t::ts -> let _ = divide 1 t (fun () -> iseq ts) in () + | [] -> () + +(** [focus t] runs [t ()] on the current active goal, hiding all others +and restoring them at the end. *) +let focus (t : unit -> Tac 'a) : Tac 'a = + match goals () with + | [] -> fail "focus: no goals" + | g::gs -> + let sgs = smt_goals () in + set_goals [g]; set_smt_goals []; + let x = t () in + set_goals (goals () @ gs); set_smt_goals (smt_goals () @ sgs); + x + +(** Similar to [dump], but only dumping the current goal. *) +let dump1 (m : string) = focus (fun () -> dump m) + +let rec mapAll (t : unit -> Tac 'a) : Tac (list 'a) = + match goals () with + | [] -> [] + | _::_ -> let (h, t) = divide 1 t (fun () -> mapAll t) in h::t + +let rec iterAll (t : unit -> Tac unit) : Tac unit = + (* Could use mapAll, but why even build that list *) + match goals () with + | [] -> () + | _::_ -> let _ = divide 1 t (fun () -> iterAll t) in () + +let iterAllSMT (t : unit -> Tac unit) : Tac unit = + let gs, sgs = goals (), smt_goals () in + set_goals sgs; + set_smt_goals []; + iterAll t; + let gs', sgs' = goals (), smt_goals () in + set_goals gs; + set_smt_goals (gs'@sgs') + +(** Runs tactic [t1] on the current goal, and then tactic [t2] on *each* +subgoal produced by [t1]. Each invocation of [t2] runs on a proofstate +with a single goal (they're "focused"). *) +let seq (f : unit -> Tac unit) (g : unit -> Tac unit) : Tac unit = + focus (fun () -> f (); iterAll g) + +let exact_args (qs : list aqualv) (t : term) : Tac unit = + focus (fun () -> + let n = List.Tot.Base.length qs in + let uvs = repeatn n (fun () -> fresh_uvar None) in + let t' = mk_app t (zip uvs qs) in + exact t'; + iter (fun uv -> if is_uvar uv + then unshelve uv + else ()) (L.rev uvs) + ) + +let exact_n (n : int) (t : term) : Tac unit = + exact_args (repeatn n (fun () -> Q_Explicit)) t + +(** [ngoals ()] returns the number of goals *) +let ngoals () : Tac int = List.Tot.Base.length (goals ()) + +(** [ngoals_smt ()] returns the number of SMT goals *) +let ngoals_smt () : Tac int = List.Tot.Base.length (smt_goals ()) + +(* Create a fresh bound variable (bv), using a generic name. See also +[fresh_bv_named]. *) +let fresh_bv () : Tac bv = + (* These bvs are fresh anyway through a separate counter, + * but adding the integer allows for more readability when + * generating code *) + let i = fresh () in + fresh_bv_named ("x" ^ string_of_int i) + +let fresh_binder_named nm t : Tac binder = + mk_binder (fresh_bv_named nm) t + +let fresh_binder t : Tac binder = + (* See comment in fresh_bv *) + let i = fresh () in + fresh_binder_named ("x" ^ string_of_int i) t + +let fresh_implicit_binder_named nm t : Tac binder = + mk_implicit_binder (fresh_bv_named nm) t + +let fresh_implicit_binder t : Tac binder = + (* See comment in fresh_bv *) + let i = fresh () in + fresh_implicit_binder_named ("x" ^ string_of_int i) t + +let guard (b : bool) : TacH unit (requires (fun _ -> True)) + (ensures (fun ps r -> if b + then Success? r /\ Success?.ps r == ps + else Failed? r)) + (* ^ the proofstate on failure is not exactly equal (has the psc set) *) + = + 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 + | Inl e -> h e + | Inr x -> x + +let trytac (t : unit -> Tac 'a) : Tac (option 'a) = + try Some (t ()) + with + | _ -> None + +let or_else (#a:Type) (t1 : unit -> Tac a) (t2 : unit -> Tac a) : Tac a = + try t1 () + with | _ -> t2 () + +val (<|>) : (unit -> Tac 'a) -> + (unit -> Tac 'a) -> + (unit -> Tac 'a) +let (<|>) t1 t2 = fun () -> or_else t1 t2 + +let first (ts : list (unit -> Tac 'a)) : Tac 'a = + L.fold_right (<|>) ts (fun () -> fail "no tactics to try") () + +let rec repeat (#a:Type) (t : unit -> Tac a) : Tac (list a) = + match catch t with + | Inl _ -> [] + | Inr x -> x :: repeat t + +let repeat1 (#a:Type) (t : unit -> Tac a) : Tac (list a) = + t () :: repeat t + +let repeat' (f : unit -> Tac 'a) : Tac unit = + let _ = repeat f in () + +let norm_term (s : list norm_step) (t : term) : Tac term = + let e = + try cur_env () + with | _ -> top_env () + in + norm_term_env e s t + +(** Join all of the SMT goals into one. This helps when all of them are +expected to be similar, and therefore easier to prove at once by the SMT +solver. TODO: would be nice to try to join them in a more meaningful +way, as the order can matter. *) +let join_all_smt_goals () = + let gs, sgs = goals (), smt_goals () in + set_smt_goals []; + set_goals sgs; + repeat' join; + let sgs' = goals () in // should be a single one + set_goals gs; + set_smt_goals sgs' + +let discard (tau : unit -> Tac 'a) : unit -> Tac unit = + fun () -> let _ = tau () in () + +// TODO: do we want some value out of this? +let rec repeatseq (#a:Type) (t : unit -> Tac a) : Tac unit = + let _ = trytac (fun () -> (discard t) `seq` (discard (fun () -> repeatseq t))) in () + +let tadmit () = tadmit_t (`()) + +let admit1 () : Tac unit = + tadmit () + +let admit_all () : Tac unit = + let _ = repeat tadmit in + () + +(** [is_guard] returns whether the current goal arose from a typechecking guard *) +let is_guard () : Tac bool = + Tactics.Types.is_guard (_cur_goal ()) + +let skip_guard () : Tac unit = + if is_guard () + then smt () + else fail "" + +let guards_to_smt () : Tac unit = + let _ = repeat skip_guard in + () + +let simpl () : Tac unit = norm [simplify; primops] +let whnf () : Tac unit = norm [weak; hnf; primops; delta] +let compute () : Tac unit = norm [primops; iota; delta; zeta] + +let intros () : Tac (list binder) = repeat intro + +let intros' () : Tac unit = let _ = intros () in () +let destruct tm : Tac unit = let _ = t_destruct tm in () +let destruct_intros tm : Tac unit = seq (fun () -> let _ = t_destruct tm in ()) intros' + +private val __cut : (a:Type) -> (b:Type) -> (a -> b) -> a -> b +private let __cut a b f x = f x + +let tcut (t:term) : Tac binder = + let g = cur_goal () in + let tt = mk_e_app (`__cut) [t; g] in + apply tt; + intro () + +let pose (t:term) : Tac binder = + apply (`__cut); + flip (); + exact t; + intro () + +let intro_as (s:string) : Tac binder = + let b = intro () in + rename_to b s + +let pose_as (s:string) (t:term) : Tac binder = + let b = pose t in + rename_to b s + +let for_each_binder (f : binder -> Tac 'a) : Tac (list 'a) = + map f (cur_binders ()) + +let rec revert_all (bs:binders) : Tac unit = + match bs with + | [] -> () + | _::tl -> revert (); + revert_all tl + +(* Some syntax utility functions *) +let bv_to_term (bv : bv) : Tac term = pack (Tv_Var bv) + +[@@coercion] +let binder_to_term (b : binder) : Tac term = + let bview = inspect_binder b in + bv_to_term bview.binder_bv + +let binder_sort (b : binder) : Tac typ = + (inspect_binder b).binder_sort + +// Cannot define this inside `assumption` due to #1091 +private +let rec __assumption_aux (bs : binders) : Tac unit = + match bs with + | [] -> + fail "no assumption matches goal" + | b::bs -> + let t = binder_to_term b in + try exact t with | _ -> + try (apply (`FStar.Squash.return_squash); + exact t) with | _ -> + __assumption_aux bs + +let assumption () : Tac unit = + __assumption_aux (cur_binders ()) + +let destruct_equality_implication (t:term) : Tac (option (formula * term)) = + match term_as_formula t with + | Implies lhs rhs -> + let lhs = term_as_formula' lhs in + begin match lhs with + | Comp (Eq _) _ _ -> Some (lhs, rhs) + | _ -> None + end + | _ -> None + +private +let __eq_sym #t (a b : t) : Lemma ((a == b) == (b == a)) = + FStar.PropositionalExtensionality.apply (a==b) (b==a) + +(** Like [rewrite], but works with equalities [v == e] and [e == v] *) +let rewrite' (b:binder) : Tac unit = + ((fun () -> rewrite b) + <|> (fun () -> binder_retype b; + apply_lemma (`__eq_sym); + rewrite b) + <|> (fun () -> fail "rewrite' failed")) + () + +let rec try_rewrite_equality (x:term) (bs:binders) : Tac unit = + match bs with + | [] -> () + | x_t::bs -> + begin match term_as_formula (type_of_binder x_t) with + | Comp (Eq _) y _ -> + if term_eq x y + then rewrite x_t + else try_rewrite_equality x bs + | _ -> + try_rewrite_equality x bs + end + +let rec rewrite_all_context_equalities (bs:binders) : Tac unit = + match bs with + | [] -> () + | x_t::bs -> begin + (try rewrite x_t with | _ -> ()); + rewrite_all_context_equalities bs + end + +let rewrite_eqs_from_context () : Tac unit = + rewrite_all_context_equalities (cur_binders ()) + +let rewrite_equality (t:term) : Tac unit = + try_rewrite_equality t (cur_binders ()) + +let unfold_def (t:term) : Tac unit = + match inspect t with + | Tv_FVar fv -> + let n = implode_qn (inspect_fv fv) in + norm [delta_fully [n]] + | _ -> fail "unfold_def: term is not a fv" + +(** Rewrites left-to-right, and bottom-up, given a set of lemmas stating +equalities. The lemmas need to prove *propositional* equalities, that +is, using [==]. *) +let l_to_r (lems:list term) : Tac unit = + let first_or_trefl () : Tac unit = + fold_left (fun k l () -> + (fun () -> apply_lemma_rw l) + `or_else` k) + trefl lems () in + pointwise first_or_trefl + +let mk_squash (t : term) : term = + let sq : term = pack_ln (Tv_FVar (pack_fv squash_qn)) in + mk_e_app sq [t] + +let mk_sq_eq (t1 t2 : term) : term = + let eq : term = pack_ln (Tv_FVar (pack_fv eq2_qn)) in + mk_squash (mk_e_app eq [t1; t2]) + +(** Rewrites all appearances of a term [t1] in the goal into [t2]. +Creates a new goal for [t1 == t2]. *) +let grewrite (t1 t2 : term) : Tac unit = + let e = tcut (mk_sq_eq t1 t2) in + let e = pack_ln (Tv_Var (bv_of_binder e)) in + pointwise (fun () -> + (* If the LHS is a uvar, do nothing, so we do not instantiate it. *) + let is_uvar = + match term_as_formula (cur_goal()) with + | Comp (Eq _) lhs rhs -> + (match inspect_ln lhs with + | Tv_Uvar _ _ -> true + | _ -> false) + | _ -> false + in + if is_uvar + then trefl () + else try exact e with | _ -> trefl ()) + +private +let __un_sq_eq (#a:Type) (x y : a) (_ : (x == y)) : Lemma (x == y) = () + +(** A wrapper to [grewrite] which takes a binder of an equality type *) +let grewrite_eq (b:binder) : Tac unit = + match term_as_formula (type_of_binder b) with + | Comp (Eq _) l r -> + grewrite l r; + iseq [idtac; (fun () -> exact (binder_to_term b))] + | _ -> + begin match term_as_formula' (type_of_binder b) with + | Comp (Eq _) l r -> + grewrite l r; + iseq [idtac; (fun () -> apply_lemma (`__un_sq_eq); + exact (binder_to_term b))] + | _ -> + fail "grewrite_eq: binder type is not an equality" + end + +private val push1 : (#p:Type) -> (#q:Type) -> + squash (p ==> q) -> + squash p -> + squash q +private let push1 #p #q f u = () + +private val push1' : (#p:Type) -> (#q:Type) -> + (p ==> q) -> + squash p -> + squash q +private let push1' #p #q f u = () + +(* + * Some easier applying, which should prevent frustration + * (or cause more when it doesn't do what you wanted to) + *) +val apply_squash_or_lem : d:nat -> term -> Tac unit +let rec apply_squash_or_lem d t = + (* Before anything, try a vanilla apply and apply_lemma *) + try apply t with | _ -> + try apply (`FStar.Squash.return_squash); apply t with | _ -> + try apply_lemma t with | _ -> + + // Fuel cutoff, just in case. + if d <= 0 then fail "mapply: out of fuel" else begin + + let ty = tc (cur_env ()) t in + let tys, c = collect_arr ty in + match inspect_comp c with + | C_Lemma pre post _ -> + begin + let post = `((`#post) ()) in (* unthunk *) + let post = norm_term [] post in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' post with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + fail "mapply: can't apply (1)" + end + | C_Total rt -> + begin match unsquash_term rt with + (* If the function returns a squash, just apply it, since our goals are squashed *) + | Some rt -> + // DUPLICATED, refactor! + begin + let rt = norm_term [] rt in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' rt with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + fail "mapply: can't apply (1)" + end + + (* If not, we can try to introduce the squash ourselves first *) + | None -> + // DUPLICATED, refactor! + begin + let rt = norm_term [] rt in + (* Is the lemma an implication? We can try to intro *) + match term_as_formula' rt with + | Implies p q -> + apply_lemma (`push1); + apply_squash_or_lem (d-1) t + + | _ -> + apply (`FStar.Squash.return_squash); + apply t + end + end + | _ -> fail "mapply: can't apply (2)" + end + +(* `m` is for `magic` *) +let mapply (t : term) : Tac unit = + apply_squash_or_lem 10 t + + +private +let admit_dump_t () : Tac unit = + dump "Admitting"; + apply (`admit) + +val admit_dump : #a:Type -> (#[admit_dump_t ()] x : (unit -> Admit a)) -> unit -> Admit a +let admit_dump #a #x () = x () + +private +let magic_dump_t () : Tac unit = + dump "Admitting"; + apply (`magic); + exact (`()); + () + +val magic_dump : #a:Type -> (#[magic_dump_t ()] x : a) -> unit -> Tot a +let magic_dump #a #x () = x + +let change_with t1 t2 : Tac unit = + focus (fun () -> + grewrite t1 t2; + iseq [idtac; trivial] + ) + +let change_sq (t1 : term) : Tac unit = + change (mk_e_app (`squash) [t1]) + +let finish_by (t : unit -> Tac 'a) : Tac 'a = + let x = t () in + or_else qed (fun () -> fail "finish_by: not finished"); + x + +let solve_then #a #b (t1 : unit -> Tac a) (t2 : a -> Tac b) : Tac b = + dup (); + let x = focus (fun () -> finish_by t1) in + let y = t2 x in + trefl (); + y + +let add_elem (t : unit -> Tac 'a) : Tac 'a = focus (fun () -> + apply (`Cons); + focus (fun () -> + let x = t () in + qed (); + x + ) + ) + +(* + * Specialize a function by partially evaluating it + * For example: + * let rec foo (l:list int) (x:int) :St int = + match l with + | [] -> x + | hd::tl -> x + foo tl x + + let f :int -> St int = synth_by_tactic (specialize (foo [1; 2]) [%`foo]) + + * would make the definition of f as x + x + x + * + * f is the term that needs to be specialized + * l is the list of names to be delta-ed + *) +let specialize (#a:Type) (f:a) (l:list string) :unit -> Tac unit + = fun () -> solve_then (fun () -> exact (quote f)) (fun () -> norm [delta_only l; iota; zeta]) + +let tlabel (l:string) = + match goals () with + | [] -> fail "tlabel: no goals" + | h::t -> + set_goals (set_label l h :: t) + +let tlabel' (l:string) = + match goals () with + | [] -> fail "tlabel': no goals" + | h::t -> + let h = set_label (l ^ get_label h) h in + set_goals (h :: t) + +let focus_all () : Tac unit = + set_goals (goals () @ smt_goals ()); + set_smt_goals [] + +private +let rec extract_nth (n:nat) (l : list 'a) : option ('a * list 'a) = + match n, l with + | _, [] -> None + | 0, hd::tl -> Some (hd, tl) + | _, hd::tl -> begin + match extract_nth (n-1) tl with + | Some (hd', tl') -> Some (hd', hd::tl') + | None -> None + end + +let bump_nth (n:pos) : Tac unit = + // n-1 since goal numbering begins at 1 + match extract_nth (n - 1) (goals ()) with + | None -> fail "bump_nth: not that many goals" + | Some (h, t) -> set_goals (h :: t) + +let rec destruct_list (t : term) : Tac (list term) = + let head, args = collect_app t in + match inspect_ln head, args with + | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] + | Tv_FVar fv, [(_, Q_Implicit); (a1, Q_Explicit); (a2, Q_Explicit)] -> + if inspect_fv fv = cons_qn + then a1 :: destruct_list a2 + else raise NotAListLiteral + | Tv_FVar fv, _ -> + if inspect_fv fv = nil_qn + then [] + else raise NotAListLiteral + | _ -> + raise NotAListLiteral + +private let get_match_body () : Tac term = + match unsquash_term (cur_goal ()) with + | None -> fail "" + | Some t -> match inspect_unascribe t with + | Tv_Match sc _ _ -> sc + | _ -> fail "Goal is not a match" + +private let rec last (x : list 'a) : Tac 'a = + match x with + | [] -> fail "last: empty list" + | [x] -> x + | _::xs -> last xs + +(** When the goal is [match e with | p1 -> e1 ... | pn -> en], +destruct it into [n] goals for each possible case, including an +hypothesis for [e] matching the corresponding pattern. *) +let branch_on_match () : Tac unit = + focus (fun () -> + let x = get_match_body () in + let _ = t_destruct x in + iterAll (fun () -> + let bs = repeat intro in + let b = last bs in (* this one is the equality *) + grewrite_eq b; + norm [iota]) + ) + +(** When the argument [i] is non-negative, [nth_binder] grabs the nth +binder in the current goal. When it is negative, it grabs the (-i-1)th +binder counting from the end of the goal. That is, [nth_binder (-1)] +will return the last binder, [nth_binder (-2)] the second to last, and +so on. *) +let nth_binder (i:int) : Tac binder = + let bs = cur_binders () in + let k : int = if i >= 0 then i else List.Tot.Base.length bs + i in + let k : nat = if k < 0 then fail "not enough binders" else k in + match List.Tot.Base.nth bs k with + | None -> fail "not enough binders" + | Some b -> b + +exception Appears + +(** Decides whether a top-level name [nm] syntactically +appears in the term [t]. *) +let name_appears_in (nm:name) (t:term) : Tac bool = + let ff (t : term) : Tac term = + match inspect_ln t with + | Tv_FVar fv -> + if inspect_fv fv = nm then + raise Appears; + t + | _ -> t + in + try ignore (V.visit_tm ff t); false with + | Appears -> true + | e -> raise e + +(** [mk_abs [x1; ...; xn] t] returns the term [fun x1 ... xn -> t] *) +let rec mk_abs (args : list binder) (t : term) : Tac term (decreases args) = + match args with + | [] -> t + | a :: args' -> + let t' = mk_abs args' t in + pack (Tv_Abs a t') + +(** [string_to_term_with_lb [(id1, t1); ...; (idn, tn)] e s] parses +[s] as a term in environment [e] augmented with bindings +[id1, t1], ..., [idn, tn]. *) +let string_to_term_with_lb + (letbindings: list (string * term)) + (e: env) (t: string): Tac term + = let unk = pack_ln Tv_Unknown in + let e, lb_bvs = fold_left (fun (e, lb_bvs) (i, v) -> + let e, bv = push_bv_dsenv e i in + e, (v,bv)::lb_bvs + ) (e, []) letbindings in + let t = string_to_term e t in + fold_left (fun t (i, bv) -> pack (Tv_Let false [] bv unk i t)) t lb_bvs + +private +val lem_trans : (#a:Type) -> (#x:a) -> (#z:a) -> (#y:a) -> + squash (x == y) -> squash (y == z) -> Lemma (x == z) +private +let lem_trans #a #x #z #y e1 e2 = () + +(** Transivity of equality: reduce [x == z] to [x == ?u] and [?u == z]. *) +let trans () : Tac unit = apply_lemma (`lem_trans) diff --git a/ulib/FStar.Tactics.V1.Logic.fst b/ulib/FStar.Tactics.V1.Logic.fst new file mode 100644 index 00000000000..56ea4b00b48 --- /dev/null +++ b/ulib/FStar.Tactics.V1.Logic.fst @@ -0,0 +1,364 @@ +(* + 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 FStar.Tactics.V1.Logic + +open FStar.Tactics.Effect +open FStar.Tactics.V1.Builtins +open FStar.Tactics.V1.Derived +open FStar.Tactics.Util +open FStar.Reflection.V1 +open FStar.Reflection.V1.Formula + +(** Returns the current goal as a [formula]. *) +let cur_formula () : Tac formula = term_as_formula (cur_goal ()) + +private val revert_squash : (#a:Type) -> (#b : (a -> Type)) -> + (squash (forall (x:a). b x)) -> + x:a -> squash (b x) +let revert_squash #a #b s x = let x : (_:unit{forall x. b x}) = s in () + +(** Revert an introduced binder as a forall. *) +let l_revert () : Tac unit = + revert (); + apply (`revert_squash) + +(** Repeated [l_revert]. *) +let rec l_revert_all (bs:binders) : Tac unit = + match bs with + | [] -> () + | _::tl -> begin l_revert (); l_revert_all tl end + +private let fa_intro_lem (#a:Type) (#p:a -> Type) (f:(x:a -> squash (p x))) : Lemma (forall (x:a). p x) = + FStar.Classical.lemma_forall_intro_gtot + ((fun x -> FStar.IndefiniteDescription.elim_squash (f x)) <: (x:a -> GTot (p x))) + +(** Introduce a forall. *) +let forall_intro () : Tac binder = + apply_lemma (`fa_intro_lem); + intro () + +(** Introduce a forall, with some given name. *) +let forall_intro_as (s:string) : Tac binder = + apply_lemma (`fa_intro_lem); + intro_as s + +(** Repeated [forall_intro]. *) +let forall_intros () : Tac binders = repeat1 forall_intro + +private val split_lem : (#a:Type) -> (#b:Type) -> + squash a -> squash b -> Lemma (a /\ b) +let split_lem #a #b sa sb = () + +(** Split a conjunction into two goals. *) +let split () : Tac unit = + try apply_lemma (`split_lem) + with | _ -> fail "Could not split goal" + +private val imp_intro_lem : (#a:Type) -> (#b : Type) -> + (a -> squash b) -> + Lemma (a ==> b) +let imp_intro_lem #a #b f = + FStar.Classical.give_witness (FStar.Classical.arrow_to_impl (fun (x:squash a) -> FStar.Squash.bind_squash x f)) + +(** Introduce an implication. *) +let implies_intro () : Tac binder = + apply_lemma (`imp_intro_lem); + intro () + +let implies_intro_as (s:string) : Tac binder = + apply_lemma (`imp_intro_lem); + intro_as s + +(** Repeated [implies_intro]. *) +let implies_intros () : Tac binders = repeat1 implies_intro + +(** "Logical" intro: introduce a forall or an implication. *) +let l_intro () = forall_intro `or_else` implies_intro + +(** Repeated [l]. *) +let l_intros () = repeat l_intro + +let squash_intro () : Tac unit = + apply (`FStar.Squash.return_squash) + +let l_exact (t:term) = + try exact t with + | _ -> (squash_intro (); exact t) + +let hyp (b:binder) : Tac unit = l_exact (binder_to_term b) + +private +let __lemma_to_squash #req #ens (_ : squash req) (h : (unit -> Lemma (requires req) (ensures ens))) : squash ens = + h () + +let pose_lemma (t : term) : Tac binder = + let c = tcc (cur_env ()) t in + let pre, post = + match inspect_comp c with + | C_Lemma pre post _ -> pre, post + | _ -> fail "" + in + let post = `((`#post) ()) in (* unthunk *) + let post = norm_term [] post in + (* If the precondition is trivial, do not cut by it *) + match term_as_formula' pre with + | True_ -> + pose (`(__lemma_to_squash #(`#pre) #(`#post) () (fun () -> (`#t)))) + | _ -> + let reqb = tcut (`squash (`#pre)) in + + let b = pose (`(__lemma_to_squash #(`#pre) #(`#post) (`#(binder_to_term reqb)) (fun () -> (`#t)))) in + flip (); + ignore (trytac trivial); + b + +let explode () : Tac unit = + ignore ( + repeatseq (fun () -> first [(fun () -> ignore (l_intro ())); + (fun () -> ignore (split ()))])) + +let rec visit (callback:unit -> Tac unit) : Tac unit = + focus (fun () -> + or_else callback + (fun () -> + let g = cur_goal () in + match term_as_formula g with + | Forall _b _sort _phi -> + let binders = forall_intros () in + seq (fun () -> visit callback) (fun () -> l_revert_all binders) + | And p q -> + seq split (fun () -> visit callback) + | Implies p q -> + let _ = implies_intro () in + seq (fun () -> visit callback) l_revert + | _ -> + () + ) + ) + +let rec simplify_eq_implication () : Tac unit = + let e = cur_env () in + let g = cur_goal () in + let r = destruct_equality_implication g in + match r with + | None -> + fail "Not an equality implication" + | Some (_, rhs) -> + let eq_h = implies_intro () in // G, eq_h:x=e |- P + rewrite eq_h; // G, eq_h:x=e |- P[e/x] + clear_top (); // G |- P[e/x] + visit simplify_eq_implication + +let rewrite_all_equalities () : Tac unit = + visit simplify_eq_implication + +let rec unfold_definition_and_simplify_eq (tm:term) : Tac unit = + let g = cur_goal () in + match term_as_formula g with + | App hd arg -> + if term_eq hd tm + then trivial () + else () + | _ -> begin + let r = destruct_equality_implication g in + match r with + | None -> fail "Not an equality implication" + | Some (_, rhs) -> + let eq_h = implies_intro () in + rewrite eq_h; + clear_top (); + visit (fun () -> unfold_definition_and_simplify_eq tm) + end + +private val vbind : (#p:Type) -> (#q:Type) -> squash p -> (p -> squash q) -> Lemma q +let vbind #p #q sq f = FStar.Classical.give_witness_from_squash (FStar.Squash.bind_squash sq f) + +(** A tactic to unsquash a hypothesis. Perhaps you are looking +for [unsquash_term]. *) +let unsquash (t:term) : Tac term = + let v = `vbind in + apply_lemma (mk_e_app v [t]); + let b = intro () in + pack_ln (Tv_Var (bv_of_binder b)) + +private val or_ind : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p \/ q) -> + (squash (p ==> phi)) -> + (squash (q ==> phi)) -> + Lemma phi +let or_ind #p #q #phi o l r = () + +let cases_or (o:term) : Tac unit = + apply_lemma (mk_e_app (`or_ind) [o]) + +private val bool_ind : (b:bool) -> (phi:Type) -> (squash (b == true ==> phi)) -> + (squash (b == false ==> phi)) -> + Lemma phi +let bool_ind b phi l r = () + +let cases_bool (b:term) : Tac unit = + let bi = `bool_ind in + seq (fun () -> apply_lemma (mk_e_app bi [b])) + (fun () -> let _ = trytac (fun () -> let b = implies_intro () in rewrite b; clear_top ()) in ()) + +private val or_intro_1 : (#p:Type) -> (#q:Type) -> squash p -> Lemma (p \/ q) +let or_intro_1 #p #q _ = () + +private val or_intro_2 : (#p:Type) -> (#q:Type) -> squash q -> Lemma (p \/ q) +let or_intro_2 #p #q _ = () + +let left () : Tac unit = + apply_lemma (`or_intro_1) + +let right () : Tac unit = + apply_lemma (`or_intro_2) + +private val __and_elim : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi +let __and_elim #p #q #phi p_and_q f = () + +private val __and_elim' : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + squash (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi +let __and_elim' #p #q #phi p_and_q f = () + +let and_elim (t : term) : Tac unit = + begin + try apply_lemma (`(__and_elim (`#t))) + with | _ -> apply_lemma (`(__and_elim' (`#t))) + end + +let destruct_and (t : term) : Tac (binder * binder) = + and_elim t; + (implies_intro (), implies_intro ()) + +private val __witness : (#a:Type) -> (x:a) -> (#p:(a -> Type)) -> squash (p x) -> squash (exists (x:a). p x) +private let __witness #a x #p _ = () + +let witness (t : term) : Tac unit = + apply_raw (`__witness); + exact t + +private +let __elim_exists' #t (#pred : t -> Type0) #goal (h : (exists x. pred x)) + (k : (x:t -> pred x -> squash goal)) : squash goal = + FStar.Squash.bind_squash #(x:t & pred x) h (fun (|x, pf|) -> k x pf) + +(* returns witness and proof as binders *) +let elim_exists (t : term) : Tac (binder & binder) = + apply_lemma (`(__elim_exists' (`#(t)))); + let x = intro () in + let pf = intro () in + (x, pf) + +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 = + try pose (`__forall_inst_sq (`#fa) (`#x)) with | _ -> + try pose (`__forall_inst (`#fa) (`#x)) with | _ -> + fail "could not instantiate" + +let instantiate_as (fa : term) (x : term) (s : string) : Tac binder = + let b = instantiate fa x in + rename_to b s + +private +let sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : + Lemma (requires (forall x. p x ==> phi)) + (ensures phi) = () + +private +let rec sk_binder' (acc:binders) (b:binder) : Tac (binders * binder) = + focus (fun () -> + try + apply_lemma (`(sklem0 (`#(binder_to_term b)))); + if ngoals () <> 1 then fail "no"; + clear b; + let bx = forall_intro () in + let b' = implies_intro () in + sk_binder' (bx::acc) b' (* We might have introduced a new existential, so possibly recurse *) + with | _ -> (acc, b) (* If the above failed, just return *) + ) + +(* Skolemizes a given binder for an existential, returning the introduced new binders + * and the skolemized formula. *) +let sk_binder b = sk_binder' [] b + +let skolem () = + let bs = binders_of_env (cur_env ()) in + map sk_binder bs + +private +val lemma_from_squash : #a:Type -> #b:(a -> Type) -> (x:a -> squash (b x)) -> x:a -> Lemma (b x) +private +let lemma_from_squash #a #b f x = let _ = f x in assert (b x) + +private +let easy_fill () = + let _ = repeat intro in + (* If the goal is `a -> Lemma b`, intro will fail, try to use this switch *) + let _ = trytac (fun () -> apply (`lemma_from_squash); intro ()) in + smt () + +val easy : #a:Type -> (#[easy_fill ()] _ : a) -> a +let easy #a #x = x + +private +let lem1_fa #a #pre #post + ($lem : (x:a -> Lemma (requires pre x) (ensures post x))) : + Lemma (forall (x:a). pre x ==> post x) = + let l' x : Lemma (pre x ==> post x) = + Classical.move_requires lem x + in + Classical.forall_intro l' + +private +let lem2_fa #a #b #pre #post + ($lem : (x:a -> y:b -> Lemma (requires pre x y) (ensures post x y))) : + Lemma (forall (x:a) (y:b). pre x y ==> post x y) = + let l' x y : Lemma (pre x y ==> post x y) = + Classical.move_requires (lem x) y + in + Classical.forall_intro_2 l' + +private +let lem3_fa #a #b #c #pre #post + ($lem : (x:a -> y:b -> z:c -> Lemma (requires pre x y z) (ensures post x y z))) : + Lemma (forall (x:a) (y:b) (z:c). pre x y z ==> post x y z) = + let l' x y z : Lemma (pre x y z ==> post x y z) = + Classical.move_requires (lem x y) z + in + Classical.forall_intro_3 l' + +(** Add a lemma into the local context, quantified for all arguments. +Only works for lemmas with up to 3 arguments for now. It is expected +that `t` is a top-level name, this has not been battle-tested for other +kinds of terms. *) +let using_lemma (t : term) : Tac binder = + try pose_lemma (`(lem1_fa (`#t))) with | _ -> + try pose_lemma (`(lem2_fa (`#t))) with | _ -> + try pose_lemma (`(lem3_fa (`#t))) with | _ -> + fail #binder "using_lemma: failed to instantiate" diff --git a/ulib/FStar.Tactics.V1.SyntaxHelpers.fst b/ulib/FStar.Tactics.V1.SyntaxHelpers.fst new file mode 100644 index 00000000000..9818009c2b9 --- /dev/null +++ b/ulib/FStar.Tactics.V1.SyntaxHelpers.fst @@ -0,0 +1,95 @@ +module FStar.Tactics.V1.SyntaxHelpers + +open FStar.Reflection.V1 +open FStar.Tactics.Effect +open FStar.Tactics.V1.Builtins +open FStar.Tactics.Types + +(* These are fully-named variants of functions found in FStar.Reflection *) + +private +let rec collect_arr' (bs : list binder) (c : comp) : Tac (list binder * comp) = + begin match inspect_comp c with + | C_Total t -> + begin match inspect t with + | Tv_Arrow b c -> + collect_arr' (b::bs) c + | _ -> + (bs, c) + end + | _ -> (bs, c) + end + +val collect_arr_bs : typ -> Tac (list binder * comp) +let collect_arr_bs t = + let (bs, c) = collect_arr' [] (pack_comp (C_Total t)) in + (List.Tot.Base.rev bs, c) + +val collect_arr : typ -> Tac (list typ * comp) +let collect_arr t = + let (bs, c) = collect_arr' [] (pack_comp (C_Total t)) in + let ts = List.Tot.Base.map type_of_binder bs in + (List.Tot.Base.rev ts, c) + +private +let rec collect_abs' (bs : list binder) (t : term) : Tac (list binder * term) (decreases t) = + match inspect t with + | Tv_Abs b t' -> + collect_abs' (b::bs) t' + | _ -> (bs, t) + +val collect_abs : term -> Tac (list binder * term) +let collect_abs t = + let (bs, t') = collect_abs' [] t in + (List.Tot.Base.rev bs, t') + +(* Copied from FStar.Tactics.Derived *) +private +let fail (#a:Type) (m:string) = raise #a (TacticFailure m) + +let rec mk_arr (bs: list binder) (cod : comp) : Tac term = + match bs with + | [] -> fail "mk_arr, empty binders" + | [b] -> pack (Tv_Arrow b cod) + | (b::bs) -> + pack (Tv_Arrow b (pack_comp (C_Total (mk_arr bs cod)))) + +let rec mk_arr_curried (bs: list binder) (cod : comp) : Tac term = + match bs with + | [] -> fail "mk_arr, empty binders" + | [b] -> pack_curried (Tv_Arrow b cod) + | (b::bs) -> pack_curried (Tv_Arrow b (pack_comp (C_Total (mk_arr_curried bs cod)))) + +let rec mk_tot_arr (bs: list binder) (cod : term) : Tac term = + match bs with + | [] -> cod + | (b::bs) -> + pack (Tv_Arrow b (pack_comp (C_Total (mk_tot_arr bs cod)))) + +let lookup_lb_view (lbs:list letbinding) (nm:name) : Tac lb_view = + let o = FStar.List.Tot.Base.find + (fun lb -> + let lbv = inspect_lb lb in + (inspect_fv lbv.lb_fv) = nm) + lbs + in + match o with + | Some lb -> inspect_lb lb + | None -> fail "lookup_lb_view: Name not in let group" + +let rec inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) = + match inspect t with + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> + inspect_unascribe t + | tv -> tv + +(* Helpers for dealing with nested applications and arrows *) +let rec collect_app' (args : list argv) (t : term) + : Tac (term * list argv) = + match inspect_unascribe t with + | Tv_App l r -> + collect_app' (r::args) l + | _ -> (t, args) + +let collect_app = collect_app' [] diff --git a/ulib/FStar.Tactics.V1.fst b/ulib/FStar.Tactics.V1.fst new file mode 100644 index 00000000000..8cc492761b8 --- /dev/null +++ b/ulib/FStar.Tactics.V1.fst @@ -0,0 +1,35 @@ +(* + 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 FStar.Tactics.V1 + +(* I don't expect many uses of tactics without syntax handling *) +include FStar.Reflection.Types +include FStar.Reflection.Const +include FStar.Reflection.V1.Data +include FStar.Reflection.V1.Builtins +include FStar.Reflection.V1.Derived +include FStar.Reflection.V1.Formula +include FStar.Reflection.V1.Compare + +include FStar.Tactics.Types +include FStar.Tactics.Effect +include FStar.Tactics.V1.Builtins +include FStar.Tactics.V1.Derived +include FStar.Tactics.V1.SyntaxHelpers +include FStar.Tactics.V1.Logic +include FStar.Tactics.Util +include FStar.Tactics.Print +include FStar.Tactics.Visit diff --git a/ulib/FStar.Tactics.V2.Builtins.fsti b/ulib/FStar.Tactics.V2.Builtins.fsti new file mode 100644 index 00000000000..3afc3ae9c3d --- /dev/null +++ b/ulib/FStar.Tactics.V2.Builtins.fsti @@ -0,0 +1,524 @@ +(* + 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. +*) +(** +Every tactic primitive, i.e., those built into the compiler +@summary Tactic primitives +*) +module FStar.Tactics.V2.Builtins + +open FStar.Reflection.Types +open FStar.Reflection.Const +open FStar.Reflection.V2.Data +open FStar.Reflection.V2.Builtins + +open FStar.Tactics.Effect +open FStar.Tactics.Types +open FStar.Tactics.Result +open FStar.VConfig + +include FStar.Tactics.Unseal + +(** Resolve unification variable indirections at the top of the term. *) +val compress : term -> Tac term + +(** [top_env] returns the environment where the tactic started running. + * This works even if no goals are present. *) +val top_env : unit -> Tac env + +(** [fresh ()] returns a fresh number generated by incrementing an +internal counter. The counter does not get reset when catching a +failure. *) +val fresh : unit -> Tac nat + +(** [refine_intro] will turn a goal of shape [w : x:t{phi}] +into [w : t] and [phi{w/x}] *) +val refine_intro : unit -> Tac unit + +(** [tc] returns the type of a term in [env], +or fails if it is untypeable. *) +val tc : env -> term -> Tac term + +(** [tcc] like [tc], but returns the full computation type +with the effect label and its arguments (WPs, etc) as well *) +val tcc : env -> term -> Tac comp + +(** [unshelve] creates a goal from a term for its given type. +It can be used when the system decided not to present a goal, but +you want one anyway. For example, if you request a uvar through +[uvar_env] or [fresh_uvar], you might want to instantiate it +explicitly. *) +val unshelve : term -> Tac unit + +(** [unquote t] with turn a quoted term [t] into an actual value, of +any type. This will fail at tactic runtime if the quoted term does not +typecheck to type [a]. *) +val unquote : #a:Type -> term -> Tac a + +(** [catch t] will attempt to run [t] and allow to recover from a +failure. If [t] succeeds with return value [a], [catch t] returns [Inr +a]. On failure, it returns [Inl msg], where [msg] is the error [t] +raised, and all unionfind effects are reverted. See also [recover] and +[or_else]. *) +val catch : #a:Type -> (unit -> Tac a) -> TacS (either exn a) + +(** Like [catch t], but will not discard unionfind effects on failure. *) +val recover : #a:Type -> (unit -> Tac a) -> TacS (either exn a) + +(** [norm steps] will call the normalizer on the current goal's +type and witness, with its reduction behaviour parameterized +by the flags in [steps]. +Currently, the flags (provided in FStar.Pervasives) are +[simpl] (do logical simplifications) +[whnf] (only reduce until weak head-normal-form) +[primops] (performing primitive reductions, such as arithmetic and +string operations) +[delta] (unfold names) +[zeta] (unroll let rec bindings, but with heuristics to avoid loops) +[zeta_full] (unroll let rec bindings fully) +[iota] (reduce match statements over constructors) +[delta_only] (restrict delta to only unfold this list of fully-qualified identifiers) +*) +val norm : list norm_step -> Tac unit + +(** [norm_term_env e steps t] will call the normalizer on the term [t] +using the list of steps [steps], over environment [e]. The list has the same meaning as for [norm]. *) +val norm_term_env : env -> list norm_step -> term -> Tac term + +(** [norm_binding_type steps b] will call the normalizer on the type of the [b] +binding for the current goal. Notably, this cannot be done via var_retype and norm, +because of uvars being resolved to lambda-abstractions. *) +val norm_binding_type : list norm_step -> binding -> Tac unit + +(** [intro] pushes the first argument of an arrow goal into the +environment, turning [Gamma |- ?u : x:a -> b] into [Gamma, x:a |- ?u' : b]. +Note that this does not work for logical implications/forall. See +FStar.Tactics.Logic for that. +*) +val intro : unit -> Tac binding + +(** Similar to intros, but allows to build a recursive function. +Currently broken (c.f. issue #1103) +*) +val intro_rec : unit -> Tac (binding * binding) + +(** [rename_to b nm] will rename the binder [b] to [nm] in +the environment, goal, and witness in a safe manner. The only use of this +is to make goals and terms more user readable. The primitive returns +the new binder, since the old one disappears from the context. *) +val rename_to : binding -> string -> Tac binding + +(** [revert] pushes out a binder from the environment into the goal type, +so a behaviour opposite to [intros]. +*) +val revert : unit -> Tac unit + +(** [var_retype] changes the type of a variable in the context. After +calling it with a binding of type `t`, the user is presented with a goal +of the form `t == ?u` to be filled. The original goal (following that +one) has the type of `b` in the context replaced by `?u`. *) +val var_retype : binding -> Tac unit + +(** [clear_top] will drop the outermost binder from the environment. Can +only be used if the goal does not at all depend on it. *) +val clear_top : unit -> Tac unit + +(** [clear] will drop the given binder from the context, is nothing +depends on it. *) +val clear : binding -> Tac unit + +(** If [b] is a binding of type [v == r], [rewrite b] will rewrite the +variable [v] for [r] everywhere in the current goal type and witness. *) +val rewrite : binding -> Tac unit + +(** First boolean is whether to attempt to introduce a refinement +before solving. In that case, a goal for the refinement formula will be +added. Second boolean is whether to set the expected type internally. +Just use `exact` from FStar.Tactics.Derived if you don't know what's up +with all this. *) +val t_exact : maybe_refine:bool -> set_expected_typ:bool -> term -> Tac unit + +(** Inner primitive for [apply], takes a boolean specifying whether +to not ask for implicits that appear free in posterior goals, a +boolean specifying whether it's forbidden to instantiate uvars in the +goal, and a boolean specifying whether uvars resolved during unification +of the goal to the term should be typechecked as part of t_apply + +If the third boolean is false, those uvars will be typechecked at the +end by the tactics engine. + +Example: when [uopt] is true, applying transitivity to [|- a = c] +will give two goals, [|- a = ?u] and [|- ?u = c] without asking to +instantiate [?u] since it will most likely be constrained later by +solving these goals. In any case, we track [?u] and will fail if it's +not solved later. + +Example: when [noinst] is true, applying a function returning +[1 = 2] will fail on a goal of the shape [1 = ?u] since it must +instantiate [?u]. We use this in typeclass resolution. + +You may want [apply] from FStar.Tactics.Derived, or one of +the other user facing variants. +*) +val t_apply : uopt:bool -> noinst:bool -> tc_resolved_uvars:bool -> term -> Tac unit + +(** [t_apply_lemma ni nilhs 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. As a small optimization, +[unit] arguments are discharged by the engine. For the meaning of +the [noinst] boolean arg see [t_apply], briefly, it does not allow to +instantiate uvars in the goal. The [noinst_lhs] flag is similar, it +forbids instantiating uvars *but only on the LHS of the goal*, provided +the goal is an equality. It is meant to be useful for rewrite-goals, of +the shape [X = ?u]. Setting [noinst] means [noinst_lhs] is ignored. *) +val t_apply_lemma : noinst:bool -> noinst_lhs:bool -> term -> Tac unit +// TODO: do the unit thing too for [apply]. + +(** [print str] has no effect on the proofstate, but will have the side effect +of printing [str] on the compiler's standard output. *) +val print : string -> Tac unit + +(** [debugging ()] returns true if the current module has the debug flag +on, i.e. when [--debug MyModule --debug_level Tac] was passed in. *) +val debugging : unit -> Tac bool + +(** Similar to [print], but will dump a text representation of the proofstate +along with the message. *) +val dump : string -> Tac unit + +(** Similar to [dump], but will print *every* unsolved implicit +in the proofstate, not only the visible/focused goals. When the +[print_resolved] boolean is true, it will also print every solved goal. +Warning, these can be a *lot*. *) +val dump_all : print_resolved:bool -> string -> Tac unit + +(** Will print a goal for every unresolved implicit in the provided goal. *) +val dump_uvars_of : goal -> string -> Tac unit + +(** Solves a goal [Gamma |= squash (l == r)] by attempting to unify +[l] with [r]. This currently only exists because of some universe +problems when trying to [apply] a reflexivity lemma. When [allow_guards] +is [true], it is allowed that (some) guards are raised during the +unification process and added as a single goal to be discharged later. +Currently, the only guards allowed here are for equating refinement +types (e.g. [x:int{x>0}] and [x:int{0 Tac unit + +(** Provides a proof for the equality +[(match e with ... | pi -> ei ...) a1 .. an + == (match e with ... | pi -> e1 a1 .. an)]. +This is particularly useful to rewrite the expression on the left to the +one on the right when the RHS is actually a unification variable. *) +val t_commute_applied_match : unit -> Tac unit + +(** In case there are goals that are already solved which have + non-trivial typing guards, make those guards as explicit proof + obligations in the tactic state, solving any trivial ones by simplification. + See tests/bug-reports/Bug2635.fst for some examples + + Update 11/14/2022: with the introduction of the core typechecker, + this primitive should no longer be necessary. Try using the compat pre core + flags, or `with_compat_pre_core` primitive if your code breaks without + this.*) +[@@deprecated "This will soon be removed, please use compat pre core settings if needed"] +val gather_or_solve_explicit_guards_for_resolved_goals : unit -> Tac unit + +(** [ctrl_rewrite] will traverse the current goal, and call [ctrl] + * repeatedly on subterms. When [ctrl t] returns [(true, _)], the + * tactic will call [rw] with a goal of type [t = ?u], which once + * solved will rewrite [t] to the solution of [?u]. No goal is + * made if [ctrl t] returns [(false, _)]. + * + * The second component of the return value of [ctrl] specifies + * whether for continue descending in the goal or not. It can + * either be: + * - Continue: keep on with further subterms + * - Skip: stop descending in this tree + * - Abort: stop everything + * + * The first argument is the direction, [TopDown] or [BottomUp]. It + * specifies how the AST of the goal is traversed (preorder or postorder). + * + * Note: for [BottomUp] a [Skip] means to stop trying to rewrite everything + * from the current node up to the root, but still consider siblings. This + * means that [ctrl_rewrite BottomUp (fun _ -> (true, Skip)) t] will call [t] + * for every leaf node in the AST. + * + * See [pointwise] and [topdown_rewrite] for more friendly versions. + *) +val ctrl_rewrite : + direction -> + (ctrl : term -> Tac (bool & ctrl_flag)) -> + (rw:unit -> Tac unit) -> + Tac unit + +(** Given the current goal [Gamma |- w : t], +[dup] will turn this goal into +[Gamma |- ?u : t] and +[Gamma |= ?u == w]. It can thus be used to change +a goal's witness in any way needed, by choosing +some [?u] (possibly with exact) and then solving the other goal. +*) +val dup : unit -> Tac unit + +// Proof namespace management +(** [prune "A.B.C"] will mark all top-level definitions in module +[A.B.C] (and submodules of it) to not be encoded to the SMT, for the current goal. +The string is a namespace prefix. [prune ""] will prune everything, but note +that [prune "FStar.S"] will not prune ["FStar.Set"]. *) +val prune : string -> Tac unit + +(** The opposite operation of [prune]. The latest one takes precedence. *) +val addns : string -> Tac unit + +(** Destruct a value of an inductive type by matching on it. The generated +match has one branch for each constructor and is therefore trivially +exhaustive, no VC is generated for that purpose. It returns a list +with the fvars of each constructor and their arities, in the order +they appear as goals. *) +val t_destruct : term -> Tac (list (fv * nat)) + +(** Set command line options for the current goal. Mostly useful to +change SMT encoding options such as [set_options "--z3rlimit 20"]. *) +val set_options : string -> Tac unit + +(** Creates a new, unconstrained unification variable in environment +[env]. The type of the uvar can optionally be provided in [o]. If not +provided, a second uvar is created for the type. *) +val uvar_env : env -> option typ -> Tac term + +(** Creates a new, unconstrained unification variable in environment +[env]. The type of the uvar must be provided and the uvar can be solved +to a Ghost term of that type *) +val ghost_uvar_env : env -> typ -> Tac term + +(** Creates a new, unconstrained universe unification variable. +The returned term is Type (U_Unif ?u). *) +val fresh_universe_uvar : unit -> Tac term + +(** Call the unifier on two terms. The returned boolean specifies +whether unification was possible. When the tactic returns true, the +terms have been unified, instantiating uvars as needed. When false, +unification was not possible and no change to uvars occurs. *) +val unify_env : env -> t1:term -> t2:term -> Tac bool + +(** Similar to [unify_env], but allows for some guards to be raised +during unification (see [t_trefl] for an explanation). Will add a new +goal with the guard. *) +val unify_guard_env : env -> t1:term -> t2:term -> Tac bool + +(** Check if [t1] matches [t2], i.e., whether [t2] can have its uvars +instantiated into unifying with [t1]. When the tactic returns true, the +terms have been unified, instantiating uvars as needed. When false, +matching was not possible and no change to uvars occurs. *) +val match_env : env -> t1:term -> t2:term -> Tac bool + +(** Launches an external process [prog] with arguments [args] and input +[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. *) +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 inaccessible integer within +the bv too. *) +(* val fresh_bv_named : string -> Tac bv *) + +(** Change the goal to another type, given that it is convertible +to the current type. *) +val change : typ -> Tac unit + +(** Get the current guard policy. The guard policy specifies what should +be done when a VC arises internally from the tactic engine. Options +are SMT (mark it as an SMT goal), Goal (add it as an extra goal) +and Force (only allow trivial guards, that need no SMT. *) +val get_guard_policy : unit -> Tac guard_policy + +(** Set the current guard policy. See [get_guard_policy} for an explanation *) +val set_guard_policy : guard_policy -> Tac unit + +(** [lax_on] returns true iff the current environment has the +`--lax` option set, and thus drops all verification conditions. *) +val lax_on : unit -> Tac bool + +(** Admit the current goal and set the witness to the given term. +Absolutely unsafe. Raises a warning. *) +val tadmit_t : term -> Tac unit + +(** Join the first two goals, which must be irrelevant, in a single +one by finding a maximal prefix of their environment and reverting +appropriately. Useful to minimize SMT queries that share internal +obligations. *) +val join : unit -> Tac unit + +(* Local metastate via a string-keyed map. [lget] fails if the +found element is not typeable at the requested type. *) +val lget : #a:Type -> string -> Tac a +val lset : #a:Type -> string -> a -> Tac unit + +(** Set the current set of active goals at will. Obligations remain +in the implicits. *) +val set_goals : list goal -> Tac unit + +(** Set the current set of SMT goals at will. Obligations remain in the +implicits. TODO: This is a really bad name, there's no special "SMT" +about these goals. *) +val set_smt_goals : list goal -> Tac unit + +(** [curms ()] returns the current (wall) time in milliseconds *) +val curms : unit -> Tac int + +(** [set_urgency u] sets the urgency of error messages. Usually set just +before raising an exception (see e.g. [fail_silently]). *) +val set_urgency : int -> TacS unit + +(** [string_to_term e s] runs the F* parser on the string [s] in the +environment [e], and produces a term. *) +val string_to_term : env -> string -> Tac term + +(** [push_bv_dsenv e id] pushes a identifier [id] into the parsing +environment of [e] an environment. It returns a new environment that +has the identifier [id] along with its corresponding binding. *) +val push_bv_dsenv : env -> string -> Tac (env * binding) + +(** Print a term via the pretty printer. This is considered effectful +since 1) setting options can change the behavior of this function, and +hence is not really pure; and 2) this function could expose details of +the term representation that do not show up in the view, invalidating +the pack_inspect_inv/inspeck_pack_inv lemmas. *) +val term_to_string : term -> Tac string + +(** Print a computation type via the pretty printer. See comment +on [term_to_string]. *) +val comp_to_string : comp -> Tac string + +(** Print a source range as a string *) +val range_to_string : range -> Tac string + +(** A variant of Reflection.term_eq that may inspect more underlying +details of terms. This function could distinguish two _otherwise equal +terms_, but that distinction cannot leave the Tac effect. + +This is only exposed as a migration path. Please use +[Reflection.term_eq] instead. *) +[@@deprecated "use Reflection.term_eq instead"] +val term_eq_old : term -> term -> Tac bool + +(** Runs the input tactic `f` with compat pre core setting `n`. +It is an escape hatch for maintaining backward compatibility +for code that breaks with the core typechecker. *) +val with_compat_pre_core : #a:Type -> n:int -> f:(unit -> Tac a) -> Tac a + +(** Get the [vconfig], including fuel, ifuel, rlimit, etc, +associated with the current goal. *) +val get_vconfig : unit -> Tac vconfig + +(** Set the [vconfig], including fuel, ifuel, rlimit, etc, associated +with the current goal. This vconfig will be used if the goal is +attempted by SMT at the end of a tactic run. *) +val set_vconfig : vconfig -> Tac unit + +(** Attempt to solve the current goal with SMT immediately, and fail +if it cannot be solved. The vconfig specifies fuels, limits, etc. The +current goal's vconfig is ignored in favor of this one. *) +val t_smt_sync : vconfig -> Tac unit + +(** This returns the free uvars that appear in a term. This is not +a reflection primitive as it depends on the state of the UF graph. *) +val free_uvars : term -> Tac (list int) + + +(***** APIs used in the meta DSL framework *****) + +(** Meta DSL framework is an experimental feature + See examples/dsls/ for more details + Following APIs are part of the framework *) + +(** TODO: maybe the equiv APIs should require typing of the arguments? *) + +val check_subtyping (g:env) (t0 t1:typ) + : Tac (option (subtyping_token g t0 t1) & issues) + +val check_equiv (g:env) (t0 t1:typ) + : Tac (option (equiv_token g t0 t1) & issues) + +// +// Compute the type of e using the core typechecker +// +val core_compute_term_type (g:env) (e:term) (eff:tot_or_ghost) + : Tac (option (t:typ{typing_token g e (eff, t)}) & issues) + +// +// Check that e:t using the core typechecker +// +val core_check_term (g:env) (e:term) (t:typ) (eff:tot_or_ghost) + : Tac (option (typing_token g e (eff, t)) & issues) + +// +// Instantiate the implicits in e and compute its type +// +val tc_term (g:env) (e:term) (eff:tot_or_ghost) + : Tac (option (r:(term & typ){typing_token g (fst r) (eff, snd r)}) & issues) + +val universe_of (g:env) (e:term) + : Tac (option (u:universe{typing_token g e (E_Total, pack_ln (Tv_Type u))}) & issues) + +type prop_validity_token (g:env) (t:term) = + e:term{typing_token g t (E_Total, pack_ln (Tv_FVar (pack_fv prop_qn))) /\ + typing_token g e (E_Total, t)} + +val check_prop_validity (g:env) (t:term) + : Tac (option (prop_validity_token g t) & issues) + +// Can't immediately move to FStar.Tactics.Types since pattern is not in scope there +val match_complete_token (g:env) (sc:term) (t:typ) (pats:list pattern) (bnds:list (list binding)) + : Type0 + +// Returns elaborated patterns, the bindings for each one, and a token +val check_match_complete (g:env) (sc:term) (t:typ) (pats:list pattern) + : Tac (option (pats_bnds:(list pattern & list (list binding)) + {match_complete_token g sc t (fst pats_bnds) (snd pats_bnds) + /\ List.Tot.length (fst pats_bnds) == List.Tot.length (snd pats_bnds) + /\ List.Tot.length (fst pats_bnds) == List.Tot.length pats})) + +// +// Instantiate implicits in t +// +// When the return value is Some (t', ty), +// t' is the elaborated t, and ty is its type +// +// This API does not return a proof for typing of t' +// The client may follow it up with another call to core_check_term get the proof +// +val instantiate_implicits (g:env) (t:term) + : Tac (option (term & typ) & issues) + +val maybe_relate_after_unfolding (g:env) (t1 t2:term) + : Tac (option unfold_side & issues) + +val maybe_unfold_head (g:env) (t0:term) + : Tac (option (t1:term{equiv_token g t0 t1}) & issues) + +val push_open_namespace (g:env) (ns:name) + : Tac env + +val push_module_abbrev (g:env) (n:string) (m:name) + : Tac env + +val resolve_name (g:env) (n:name) + : Tac (option (either bv fv)) + +val log_issues (issues:list FStar.Issue.issue) + : Tac unit diff --git a/ulib/FStar.Tactics.V2.Derived.fst b/ulib/FStar.Tactics.V2.Derived.fst new file mode 100644 index 00000000000..00c873ac741 --- /dev/null +++ b/ulib/FStar.Tactics.V2.Derived.fst @@ -0,0 +1,936 @@ +(* + 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 FStar.Tactics.V2.Derived + +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula +open FStar.Tactics.Types +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.Result +open FStar.Tactics.Util +open FStar.Tactics.V2.SyntaxHelpers +open FStar.VConfig +open FStar.Tactics.NamedView +open FStar.Tactics.V2.SyntaxCoercions + +module L = FStar.List.Tot.Base +module V = FStar.Tactics.Visit +private let (@) = L.op_At + +let name_of_bv (bv : bv) : Tac string = + unseal ((inspect_bv bv).ppname) + +let bv_to_string (bv : bv) : Tac string = + (* Could also print type...? *) + name_of_bv bv + +let name_of_binder (b : binder) : Tac string = + unseal b.ppname + +let binder_to_string (b : binder) : Tac string = + // TODO: print aqual, attributes..? or no? + name_of_binder b ^ "@@" ^ string_of_int b.uniq ^ "::(" ^ term_to_string b.sort ^ ")" + +let binding_to_string (b : binding) : Tac string = + unseal b.ppname + +let type_of_var (x : namedv) : Tac typ = + unseal ((inspect_namedv x).sort) + +let type_of_binding (x : binding) : Tot typ = + x.sort + +exception Goal_not_trivial + +let goals () : Tac (list goal) = goals_of (get ()) +let smt_goals () : Tac (list goal) = smt_goals_of (get ()) + +let fail (#a:Type) (m:string) + : TAC a (fun ps post -> post (Failed (TacticFailure m) ps)) + = raise #a (TacticFailure m) + +let fail_silently (#a:Type) (m:string) + : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure m) ps)) + = set_urgency 0; + raise #a (TacticFailure m) + +(** Return the current *goal*, not its type. (Ignores SMT goals) *) +let _cur_goal () : Tac goal = + match goals () with + | [] -> fail "no more goals" + | g::_ -> g + +(** [cur_env] returns the current goal's environment *) +let cur_env () : Tac env = goal_env (_cur_goal ()) + +(** [cur_goal] returns the current goal's type *) +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. +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 == []))) + (ensures (fun ps0 r -> exists g. r == Success g ps0)) + = match goals_of (get ()) with + | g :: _ -> g + +let cur_vars () : Tac (list binding) = + vars_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 + set_guard_policy pol; + let r = f () in + set_guard_policy old_pol; + r + +(** [exact e] will solve a goal [Gamma |- w : t] if [e] has type exactly +[t] in [Gamma]. *) +let exact (t : term) : Tac unit = + with_policy SMT (fun () -> t_exact true false t) + +(** [exact_with_ref e] will solve a goal [Gamma |- w : t] if [e] has +type [t'] where [t'] is a subtype of [t] in [Gamma]. This is a more +flexible variant of [exact]. *) +let exact_with_ref (t : term) : Tac unit = + with_policy SMT (fun () -> t_exact true true t) + +let trivial () : Tac unit = + norm [iota; zeta; reify_; delta; primops; simplify; unmeta]; + let g = cur_goal () in + match term_as_formula g with + | True_ -> exact (`()) + | _ -> raise Goal_not_trivial + +(* Another hook to just run a tactic without goals, just by reusing `with_tactic` *) +let run_tactic (t:unit -> Tac unit) + : Pure unit + (requires (set_range_of (with_tactic (fun () -> trivial (); t ()) (squash True)) (range_of t))) + (ensures (fun _ -> True)) + = () + +(** Ignore the current goal. If left unproven, this will fail after +the tactic finishes. *) +let dismiss () : Tac unit = + match goals () with + | [] -> fail "dismiss: no more goals" + | _::gs -> set_goals gs + +(** Flip the order of the first two goals. *) +let flip () : Tac unit = + let gs = goals () in + match goals () with + | [] | [_] -> fail "flip: less than two goals" + | g1::g2::gs -> set_goals (g2::g1::gs) + +(** Succeed if there are no more goals left, and fail otherwise. *) +let qed () : Tac unit = + match goals () with + | [] -> () + | _ -> fail "qed: not done!" + +(** [debug str] is similar to [print str], but will only print the message +if the [--debug] option was given for the current module AND +[--debug_level Tac] is on. *) +let debug (m:string) : Tac unit = + if debugging () then print m + +(** [smt] will mark the current goal for being solved through the SMT. +This does not immediately run the SMT: it just dumps the goal in the +SMT bin. Note, if you dump a proof-relevant goal there, the engine will +later raise an error. *) +let smt () : Tac unit = + match goals (), smt_goals () with + | [], _ -> fail "smt: no active goals" + | g::gs, gs' -> + begin + set_goals gs; + set_smt_goals (g :: gs') + end + +let idtac () : Tac unit = () + +(** Push the current goal to the back. *) +let later () : Tac unit = + match goals () with + | g::gs -> set_goals (gs @ [g]) + | _ -> fail "later: no goals" + +(** [apply f] will attempt to produce a solution to the goal by an application +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 false false t + +let apply_noinst (t : term) : Tac unit = + t_apply true true false t + +(** [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. As a small optimization, [unit] arguments are +discharged by the engine. Just a thin wrapper around [t_apply_lemma]. *) +let apply_lemma (t : term) : Tac unit = + t_apply_lemma false false t + +(** See docs for [t_trefl] *) +let trefl () : Tac unit = + t_trefl false + +(** See docs for [t_trefl] *) +let trefl_guard () : Tac unit = + t_trefl true + +(** See docs for [t_commute_applied_match] *) +let commute_applied_match () : Tac unit = + t_commute_applied_match () + +(** Similar to [apply_lemma], but will not instantiate uvars in the +goal while applying. *) +let apply_lemma_noinst (t : term) : Tac unit = + t_apply_lemma true false t + +let apply_lemma_rw (t : term) : Tac unit = + t_apply_lemma false 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 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. *) +let exact_guard (t : term) : Tac unit = + with_policy Goal (fun () -> t_exact true false t) + +(** (TODO: explain better) When running [pointwise tau] For every +subterm [t'] of the goal's type [t], the engine will build a goal [Gamma +|= t' == ?u] and run [tau] on it. When the tactic proves the goal, +the engine will rewrite [t'] for [?u] in the original goal type. This +is done for every subterm, bottom-up. This allows to recurse over an +unknown goal type. By inspecting the goal, the [tau] can then decide +what to do (to not do anything, use [trefl]). *) +let t_pointwise (d:direction) (tau : unit -> Tac unit) : Tac unit = + let ctrl (t:term) : Tac (bool & ctrl_flag) = + true, Continue + in + let rw () : Tac unit = + tau () + in + ctrl_rewrite d ctrl rw + +(** [topdown_rewrite ctrl rw] is used to rewrite those sub-terms [t] + of the goal on which [fst (ctrl t)] returns true. + + On each such sub-term, [rw] is presented with an equality of goal + of the form [Gamma |= t == ?u]. When [rw] proves the goal, + the engine will rewrite [t] for [?u] in the original goal + type. + + The goal formula is traversed top-down and the traversal can be + controlled by [snd (ctrl t)]: + + When [snd (ctrl t) = 0], the traversal continues down through the + position in the goal term. + + When [snd (ctrl t) = 1], the traversal continues to the next + sub-tree of the goal. + + When [snd (ctrl t) = 2], no more rewrites are performed in the + goal. +*) +let topdown_rewrite (ctrl : term -> Tac (bool * int)) + (rw:unit -> Tac unit) : Tac unit + = let ctrl' (t:term) : Tac (bool & ctrl_flag) = + let b, i = ctrl t in + let f = + match i with + | 0 -> Continue + | 1 -> Skip + | 2 -> Abort + | _ -> fail "topdown_rewrite: bad value from ctrl" + in + b, f + in + ctrl_rewrite TopDown ctrl' rw + +let pointwise (tau : unit -> Tac unit) : Tac unit = t_pointwise BottomUp tau +let pointwise' (tau : unit -> Tac unit) : Tac unit = t_pointwise TopDown tau + +let cur_module () : Tac name = + moduleof (top_env ()) + +let open_modules () : Tac (list name) = + env_open_modules (top_env ()) + +let fresh_uvar (o : option typ) : Tac term = + let e = cur_env () in + uvar_env e o + +let unify (t1 t2 : term) : Tac bool = + let e = cur_env () in + unify_env e t1 t2 + +let unify_guard (t1 t2 : term) : Tac bool = + let e = cur_env () in + unify_guard_env e t1 t2 + +let tmatch (t1 t2 : term) : Tac bool = + let e = cur_env () in + match_env e t1 t2 + +(** [divide n t1 t2] will split the current set of goals into the [n] +first ones, and the rest. It then runs [t1] on the first set, and [t2] +on the second, returning both results (and concatenating remaining goals). *) +let divide (n:int) (l : unit -> Tac 'a) (r : unit -> Tac 'b) : Tac ('a * 'b) = + if n < 0 then + fail "divide: negative n"; + let gs, sgs = goals (), smt_goals () in + let gs1, gs2 = List.Tot.Base.splitAt n gs in + + set_goals gs1; set_smt_goals []; + let x = l () in + let gsl, sgsl = goals (), smt_goals () in + + set_goals gs2; set_smt_goals []; + let y = r () in + let gsr, sgsr = goals (), smt_goals () in + + set_goals (gsl @ gsr); set_smt_goals (sgs @ sgsl @ sgsr); + (x, y) + +let rec iseq (ts : list (unit -> Tac unit)) : Tac unit = + match ts with + | t::ts -> let _ = divide 1 t (fun () -> iseq ts) in () + | [] -> () + +(** [focus t] runs [t ()] on the current active goal, hiding all others +and restoring them at the end. *) +let focus (t : unit -> Tac 'a) : Tac 'a = + match goals () with + | [] -> fail "focus: no goals" + | g::gs -> + let sgs = smt_goals () in + set_goals [g]; set_smt_goals []; + let x = t () in + set_goals (goals () @ gs); set_smt_goals (smt_goals () @ sgs); + x + +(** Similar to [dump], but only dumping the current goal. *) +let dump1 (m : string) = focus (fun () -> dump m) + +let rec mapAll (t : unit -> Tac 'a) : Tac (list 'a) = + match goals () with + | [] -> [] + | _::_ -> let (h, t) = divide 1 t (fun () -> mapAll t) in h::t + +let rec iterAll (t : unit -> Tac unit) : Tac unit = + (* Could use mapAll, but why even build that list *) + match goals () with + | [] -> () + | _::_ -> let _ = divide 1 t (fun () -> iterAll t) in () + +let iterAllSMT (t : unit -> Tac unit) : Tac unit = + let gs, sgs = goals (), smt_goals () in + set_goals sgs; + set_smt_goals []; + iterAll t; + let gs', sgs' = goals (), smt_goals () in + set_goals gs; + set_smt_goals (gs'@sgs') + +(** Runs tactic [t1] on the current goal, and then tactic [t2] on *each* +subgoal produced by [t1]. Each invocation of [t2] runs on a proofstate +with a single goal (they're "focused"). *) +let seq (f : unit -> Tac unit) (g : unit -> Tac unit) : Tac unit = + focus (fun () -> f (); iterAll g) + +let exact_args (qs : list aqualv) (t : term) : Tac unit = + focus (fun () -> + let n = List.Tot.Base.length qs in + let uvs = repeatn n (fun () -> fresh_uvar None) in + let t' = mk_app t (zip uvs qs) in + exact t'; + iter (fun uv -> if is_uvar uv + then unshelve uv + else ()) (L.rev uvs) + ) + +let exact_n (n : int) (t : term) : Tac unit = + exact_args (repeatn n (fun () -> Q_Explicit)) t + +(** [ngoals ()] returns the number of goals *) +let ngoals () : Tac int = List.Tot.Base.length (goals ()) + +(** [ngoals_smt ()] returns the number of SMT goals *) +let ngoals_smt () : Tac int = List.Tot.Base.length (smt_goals ()) + +(* sigh GGG fix names!! *) +let fresh_namedv_named (s:string) : Tac namedv = + let n = fresh () in + pack_namedv ({ + ppname = seal s; + sort = seal (pack Tv_Unknown); + uniq = n; + }) + +(* Create a fresh bound variable (bv), using a generic name. See also +[fresh_namedv_named]. *) +let fresh_namedv () : Tac namedv = + let n = fresh () in + pack_namedv ({ + ppname = seal ("x" ^ string_of_int n); + sort = seal (pack Tv_Unknown); + uniq = n; + }) + +let fresh_binder_named (s : string) (t : typ) : Tac simple_binder = + let n = fresh () in + { + ppname = seal s; + sort = t; + uniq = n; + qual = Q_Explicit; + attrs = [] ; + } + +let fresh_binder (t : typ) : Tac simple_binder = + let n = fresh () in + { + ppname = seal ("x" ^ string_of_int n); + sort = t; + uniq = n; + qual = Q_Explicit; + attrs = [] ; + } + +let fresh_implicit_binder (t : typ) : Tac binder = + let n = fresh () in + { + ppname = seal ("x" ^ string_of_int n); + sort = t; + uniq = n; + qual = Q_Implicit; + attrs = [] ; + } + +let guard (b : bool) : TacH unit (requires (fun _ -> True)) + (ensures (fun ps r -> if b + then Success? r /\ Success?.ps r == ps + else Failed? r)) + (* ^ the proofstate on failure is not exactly equal (has the psc set) *) + = + 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 + | Inl e -> h e + | Inr x -> x + +let trytac (t : unit -> Tac 'a) : Tac (option 'a) = + try Some (t ()) + with + | _ -> None + +let or_else (#a:Type) (t1 : unit -> Tac a) (t2 : unit -> Tac a) : Tac a = + try t1 () + with | _ -> t2 () + +val (<|>) : (unit -> Tac 'a) -> + (unit -> Tac 'a) -> + (unit -> Tac 'a) +let (<|>) t1 t2 = fun () -> or_else t1 t2 + +let first (ts : list (unit -> Tac 'a)) : Tac 'a = + L.fold_right (<|>) ts (fun () -> fail "no tactics to try") () + +let rec repeat (#a:Type) (t : unit -> Tac a) : Tac (list a) = + match catch t with + | Inl _ -> [] + | Inr x -> x :: repeat t + +let repeat1 (#a:Type) (t : unit -> Tac a) : Tac (list a) = + t () :: repeat t + +let repeat' (f : unit -> Tac 'a) : Tac unit = + let _ = repeat f in () + +let norm_term (s : list norm_step) (t : term) : Tac term = + let e = + try cur_env () + with | _ -> top_env () + in + norm_term_env e s t + +(** Join all of the SMT goals into one. This helps when all of them are +expected to be similar, and therefore easier to prove at once by the SMT +solver. TODO: would be nice to try to join them in a more meaningful +way, as the order can matter. *) +let join_all_smt_goals () = + let gs, sgs = goals (), smt_goals () in + set_smt_goals []; + set_goals sgs; + repeat' join; + let sgs' = goals () in // should be a single one + set_goals gs; + set_smt_goals sgs' + +let discard (tau : unit -> Tac 'a) : unit -> Tac unit = + fun () -> let _ = tau () in () + +// TODO: do we want some value out of this? +let rec repeatseq (#a:Type) (t : unit -> Tac a) : Tac unit = + let _ = trytac (fun () -> (discard t) `seq` (discard (fun () -> repeatseq t))) in () + +let tadmit () = tadmit_t (`()) + +let admit1 () : Tac unit = + tadmit () + +let admit_all () : Tac unit = + let _ = repeat tadmit in + () + +(** [is_guard] returns whether the current goal arose from a typechecking guard *) +let is_guard () : Tac bool = + Tactics.Types.is_guard (_cur_goal ()) + +let skip_guard () : Tac unit = + if is_guard () + then smt () + else fail "" + +let guards_to_smt () : Tac unit = + let _ = repeat skip_guard in + () + +let simpl () : Tac unit = norm [simplify; primops] +let whnf () : Tac unit = norm [weak; hnf; primops; delta] +let compute () : Tac unit = norm [primops; iota; delta; zeta] + +let intros () : Tac (list binding) = repeat intro + +let intros' () : Tac unit = let _ = intros () in () +let destruct tm : Tac unit = let _ = t_destruct tm in () +let destruct_intros tm : Tac unit = seq (fun () -> let _ = t_destruct tm in ()) intros' + +private val __cut : (a:Type) -> (b:Type) -> (a -> b) -> a -> b +private let __cut a b f x = f x + +let tcut (t:term) : Tac binding = + let g = cur_goal () in + let tt = mk_e_app (`__cut) [t; g] in + apply tt; + intro () + +let pose (t:term) : Tac binding = + apply (`__cut); + flip (); + exact t; + intro () + +let intro_as (s:string) : Tac binding = + let b = intro () in + rename_to b s + +let pose_as (s:string) (t:term) : Tac binding = + let b = pose t in + rename_to b s + +let for_each_binding (f : binding -> Tac 'a) : Tac (list 'a) = + map f (cur_vars ()) + +let rec revert_all (bs:list binding) : Tac unit = + match bs with + | [] -> () + | _::tl -> revert (); + revert_all tl + +let binder_sort (b : binder) : Tot typ = b.sort + +// Cannot define this inside `assumption` due to #1091 +private +let rec __assumption_aux (xs : list binding) : Tac unit = + match xs with + | [] -> + fail "no assumption matches goal" + | b::bs -> + try exact b with | _ -> + try (apply (`FStar.Squash.return_squash); + exact b) with | _ -> + __assumption_aux bs + +let assumption () : Tac unit = + __assumption_aux (cur_vars ()) + +let destruct_equality_implication (t:term) : Tac (option (formula * term)) = + match term_as_formula t with + | Implies lhs rhs -> + let lhs = term_as_formula' lhs in + begin match lhs with + | Comp (Eq _) _ _ -> Some (lhs, rhs) + | _ -> None + end + | _ -> None + +private +let __eq_sym #t (a b : t) : Lemma ((a == b) == (b == a)) = + FStar.PropositionalExtensionality.apply (a==b) (b==a) + +(** Like [rewrite], but works with equalities [v == e] and [e == v] *) +let rewrite' (x:binding) : Tac unit = + ((fun () -> rewrite x) + <|> (fun () -> var_retype x; + apply_lemma (`__eq_sym); + rewrite x) + <|> (fun () -> fail "rewrite' failed")) + () + +let rec try_rewrite_equality (x:term) (bs:list binding) : Tac unit = + match bs with + | [] -> () + | x_t::bs -> + begin match term_as_formula (type_of_binding x_t) with + | Comp (Eq _) y _ -> + if term_eq x y + then rewrite x_t + else try_rewrite_equality x bs + | _ -> + try_rewrite_equality x bs + end + +let rec rewrite_all_context_equalities (bs:list binding) : Tac unit = + match bs with + | [] -> () + | x_t::bs -> begin + (try rewrite x_t with | _ -> ()); + rewrite_all_context_equalities bs + end + +let rewrite_eqs_from_context () : Tac unit = + rewrite_all_context_equalities (cur_vars ()) + +let rewrite_equality (t:term) : Tac unit = + try_rewrite_equality t (cur_vars ()) + +let unfold_def (t:term) : Tac unit = + match inspect t with + | Tv_FVar fv -> + let n = implode_qn (inspect_fv fv) in + norm [delta_fully [n]] + | _ -> fail "unfold_def: term is not a fv" + +(** Rewrites left-to-right, and bottom-up, given a set of lemmas stating +equalities. The lemmas need to prove *propositional* equalities, that +is, using [==]. *) +let l_to_r (lems:list term) : Tac unit = + let first_or_trefl () : Tac unit = + fold_left (fun k l () -> + (fun () -> apply_lemma_rw l) + `or_else` k) + trefl lems () in + pointwise first_or_trefl + +let mk_squash (t : term) : Tot term = + let sq : term = pack (Tv_FVar (pack_fv squash_qn)) in + mk_e_app sq [t] + +let mk_sq_eq (t1 t2 : term) : Tot term = + let eq : term = pack (Tv_FVar (pack_fv eq2_qn)) in + mk_squash (mk_e_app eq [t1; t2]) + +(** Rewrites all appearances of a term [t1] in the goal into [t2]. +Creates a new goal for [t1 == t2]. *) +let grewrite (t1 t2 : term) : Tac unit = + let e = tcut (mk_sq_eq t1 t2) in + let e = pack (Tv_Var e) in + pointwise (fun () -> + (* If the LHS is a uvar, do nothing, so we do not instantiate it. *) + let is_uvar = + match term_as_formula (cur_goal()) with + | Comp (Eq _) lhs rhs -> + (match inspect lhs with + | Tv_Uvar _ _ -> true + | _ -> false) + | _ -> false + in + if is_uvar + then trefl () + else try exact e with | _ -> trefl ()) + +private +let __un_sq_eq (#a:Type) (x y : a) (_ : (x == y)) : Lemma (x == y) = () + +(** A wrapper to [grewrite] which takes a binder of an equality type *) +let grewrite_eq (b:binding) : Tac unit = + match term_as_formula (type_of_binding b) with + | Comp (Eq _) l r -> + grewrite l r; + iseq [idtac; (fun () -> exact b)] + | _ -> + begin match term_as_formula' (type_of_binding b) with + | Comp (Eq _) l r -> + grewrite l r; + iseq [idtac; (fun () -> apply_lemma (`__un_sq_eq); + exact b)] + | _ -> + fail "grewrite_eq: binder type is not an equality" + end + +private +let admit_dump_t () : Tac unit = + dump "Admitting"; + apply (`admit) + +val admit_dump : #a:Type -> (#[admit_dump_t ()] x : (unit -> Admit a)) -> unit -> Admit a +let admit_dump #a #x () = x () + +private +let magic_dump_t () : Tac unit = + dump "Admitting"; + apply (`magic); + exact (`()); + () + +val magic_dump : #a:Type -> (#[magic_dump_t ()] x : a) -> unit -> Tot a +let magic_dump #a #x () = x + +let change_with t1 t2 : Tac unit = + focus (fun () -> + grewrite t1 t2; + iseq [idtac; trivial] + ) + +let change_sq (t1 : term) : Tac unit = + change (mk_e_app (`squash) [t1]) + +let finish_by (t : unit -> Tac 'a) : Tac 'a = + let x = t () in + or_else qed (fun () -> fail "finish_by: not finished"); + x + +let solve_then #a #b (t1 : unit -> Tac a) (t2 : a -> Tac b) : Tac b = + dup (); + let x = focus (fun () -> finish_by t1) in + let y = t2 x in + trefl (); + y + +let add_elem (t : unit -> Tac 'a) : Tac 'a = focus (fun () -> + apply (`Cons); + focus (fun () -> + let x = t () in + qed (); + x + ) + ) + +(* + * Specialize a function by partially evaluating it + * For example: + * let rec foo (l:list int) (x:int) :St int = + match l with + | [] -> x + | hd::tl -> x + foo tl x + + let f :int -> St int = synth_by_tactic (specialize (foo [1; 2]) [%`foo]) + + * would make the definition of f as x + x + x + * + * f is the term that needs to be specialized + * l is the list of names to be delta-ed + *) +let specialize (#a:Type) (f:a) (l:list string) :unit -> Tac unit + = fun () -> solve_then (fun () -> exact (quote f)) (fun () -> norm [delta_only l; iota; zeta]) + +let tlabel (l:string) = + match goals () with + | [] -> fail "tlabel: no goals" + | h::t -> + set_goals (set_label l h :: t) + +let tlabel' (l:string) = + match goals () with + | [] -> fail "tlabel': no goals" + | h::t -> + let h = set_label (l ^ get_label h) h in + set_goals (h :: t) + +let focus_all () : Tac unit = + set_goals (goals () @ smt_goals ()); + set_smt_goals [] + +private +let rec extract_nth (n:nat) (l : list 'a) : option ('a * list 'a) = + match n, l with + | _, [] -> None + | 0, hd::tl -> Some (hd, tl) + | _, hd::tl -> begin + match extract_nth (n-1) tl with + | Some (hd', tl') -> Some (hd', hd::tl') + | None -> None + end + +let bump_nth (n:pos) : Tac unit = + // n-1 since goal numbering begins at 1 + match extract_nth (n - 1) (goals ()) with + | None -> fail "bump_nth: not that many goals" + | Some (h, t) -> set_goals (h :: t) + +let rec destruct_list (t : term) : Tac (list term) = + let head, args = collect_app t in + match inspect head, args with + | Tv_FVar fv, [(a1, Q_Explicit); (a2, Q_Explicit)] + | Tv_FVar fv, [(_, Q_Implicit); (a1, Q_Explicit); (a2, Q_Explicit)] -> + if inspect_fv fv = cons_qn + then a1 :: destruct_list a2 + else raise NotAListLiteral + | Tv_FVar fv, _ -> + if inspect_fv fv = nil_qn + then [] + else raise NotAListLiteral + | _ -> + raise NotAListLiteral + +private let get_match_body () : Tac term = + match unsquash_term (cur_goal ()) with + | None -> fail "" + | Some t -> match inspect_unascribe t with + | Tv_Match sc _ _ -> sc + | _ -> fail "Goal is not a match" + +private let rec last (x : list 'a) : Tac 'a = + match x with + | [] -> fail "last: empty list" + | [x] -> x + | _::xs -> last xs + +(** When the goal is [match e with | p1 -> e1 ... | pn -> en], +destruct it into [n] goals for each possible case, including an +hypothesis for [e] matching the corresponding pattern. *) +let branch_on_match () : Tac unit = + focus (fun () -> + let x = get_match_body () in + let _ = t_destruct x in + iterAll (fun () -> + let bs = repeat intro in + let b = last bs in (* this one is the equality *) + grewrite_eq b; + norm [iota]) + ) + +(** When the argument [i] is non-negative, [nth_binder] grabs the nth +binder in the current goal. When it is negative, it grabs the (-i-1)th +binder counting from the end of the goal. That is, [nth_binder (-1)] +will return the last binder, [nth_binder (-2)] the second to last, and +so on. *) +let nth_var (i:int) : Tac binding = + let bs = cur_vars () in + let k : int = if i >= 0 then i else List.Tot.Base.length bs + i in + let k : nat = if k < 0 then fail "not enough binders" else k in + match List.Tot.Base.nth bs k with + | None -> fail "not enough binders" + | Some b -> b + +exception Appears + +(** Decides whether a top-level name [nm] syntactically +appears in the term [t]. *) +let name_appears_in (nm:name) (t:term) : Tac bool = + let ff (t : term) : Tac term = + match inspect t with + | Tv_FVar fv -> + if inspect_fv fv = nm then + raise Appears; + t + | tv -> pack tv + in + try ignore (V.visit_tm ff t); false with + | Appears -> true + | e -> raise e + +(** [mk_abs [x1; ...; xn] t] returns the term [fun x1 ... xn -> t] *) +let rec mk_abs (args : list binder) (t : term) : Tac term (decreases args) = + match args with + | [] -> t + | a :: args' -> + let t' = mk_abs args' t in + pack (Tv_Abs a t') + +// GGG Needed? delete if not +let namedv_to_simple_binder (n : namedv) : Tac simple_binder = + let nv = inspect_namedv n in + { + ppname = nv.ppname; + uniq = nv.uniq; + sort = unseal nv.sort; (* GGG USINGSORT *) + qual = Q_Explicit; + attrs = []; + } + +[@@coercion] +let binding_to_simple_binder (b : binding) : Tot simple_binder = + { + ppname = b.ppname; + uniq = b.uniq; + sort = b.sort; + qual = Q_Explicit; + attrs = []; + } + +(** [string_to_term_with_lb [(id1, t1); ...; (idn, tn)] e s] parses +[s] as a term in environment [e] augmented with bindings +[id1, t1], ..., [idn, tn]. *) +let string_to_term_with_lb + (letbindings: list (string * term)) + (e: env) (t: string): Tac term + = let e, lb_bindings : env * list (term & binding) = + fold_left (fun (e, lb_bvs) (i, v) -> + let e, b = push_bv_dsenv e i in + e, (v, b)::lb_bvs + ) (e, []) letbindings in + let t = string_to_term e t in + fold_left (fun t (i, b) -> + pack (Tv_Let false [] (binding_to_simple_binder b) i t)) + t lb_bindings + +private +val lem_trans : (#a:Type) -> (#x:a) -> (#z:a) -> (#y:a) -> + squash (x == y) -> squash (y == z) -> Lemma (x == z) +private +let lem_trans #a #x #z #y e1 e2 = () + +(** Transivity of equality: reduce [x == z] to [x == ?u] and [?u == z]. *) +let trans () : Tac unit = apply_lemma (`lem_trans) + +(* Alias to just use the current vconfig *) +let smt_sync () : Tac unit = t_smt_sync (get_vconfig ()) + +(* smt_sync': as smt_sync, but using a particular fuel/ifuel *) +let smt_sync' (fuel ifuel : nat) : Tac unit = + let vcfg = get_vconfig () in + let vcfg' = { vcfg with initial_fuel = fuel; max_fuel = fuel + ; initial_ifuel = ifuel; max_ifuel = ifuel } + in + t_smt_sync vcfg' diff --git a/ulib/FStar.Tactics.V2.Logic.fst b/ulib/FStar.Tactics.V2.Logic.fst new file mode 100644 index 00000000000..52c2af3112f --- /dev/null +++ b/ulib/FStar.Tactics.V2.Logic.fst @@ -0,0 +1,378 @@ +(* + 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 FStar.Tactics.V2.Logic + +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions +open FStar.Tactics.NamedView +open FStar.Tactics.Util + +(** Returns the current goal as a [formula]. *) +let cur_formula () : Tac formula = term_as_formula (cur_goal ()) + +private val revert_squash : (#a:Type) -> (#b : (a -> Type)) -> + (squash (forall (x:a). b x)) -> + x:a -> squash (b x) +let revert_squash #a #b s x = let x : (_:unit{forall x. b x}) = s in () + +(** Revert an introduced binder as a forall. *) +let l_revert () : Tac unit = + revert (); + apply (`revert_squash) + +(** Repeated [l_revert]. *) +let rec l_revert_all (bs:list binding) : Tac unit = + match bs with + | [] -> () + | _::tl -> begin l_revert (); l_revert_all tl end + +private let fa_intro_lem (#a:Type) (#p:a -> Type) (f:(x:a -> squash (p x))) : Lemma (forall (x:a). p x) = + FStar.Classical.lemma_forall_intro_gtot + ((fun x -> FStar.IndefiniteDescription.elim_squash (f x)) <: (x:a -> GTot (p x))) + +(** Introduce a forall. *) +let forall_intro () : Tac binding = + apply_lemma (`fa_intro_lem); + intro () + +(** Introduce a forall, with some given name. *) +let forall_intro_as (s:string) : Tac binding = + apply_lemma (`fa_intro_lem); + intro_as s + +(** Repeated [forall_intro]. *) +let forall_intros () : Tac (list binding) = repeat1 forall_intro + +private val split_lem : (#a:Type) -> (#b:Type) -> + squash a -> squash b -> Lemma (a /\ b) +let split_lem #a #b sa sb = () + +(** Split a conjunction into two goals. *) +let split () : Tac unit = + try apply_lemma (`split_lem) + with | _ -> fail "Could not split goal" + +private val imp_intro_lem : (#a:Type) -> (#b : Type) -> + (a -> squash b) -> + Lemma (a ==> b) +let imp_intro_lem #a #b f = + FStar.Classical.give_witness (FStar.Classical.arrow_to_impl (fun (x:squash a) -> FStar.Squash.bind_squash x f)) + +(** Introduce an implication. *) +let implies_intro () : Tac binding = + apply_lemma (`imp_intro_lem); + intro () + +let implies_intro_as (s:string) : Tac binding = + apply_lemma (`imp_intro_lem); + intro_as s + +(** Repeated [implies_intro]. *) +let implies_intros () : Tac (list binding) = repeat1 implies_intro + +(** "Logical" intro: introduce a forall or an implication. *) +let l_intro () = forall_intro `or_else` implies_intro + +(** Repeated [l]. *) +let l_intros () = repeat l_intro + +let squash_intro () : Tac unit = + apply (`FStar.Squash.return_squash) + +let l_exact (t:term) = + try exact t with + | _ -> (squash_intro (); exact t) + +// FIXME: should this take a binding? It's less general... +// but usually what we want. Coercions could help. +let hyp (x:namedv) : Tac unit = l_exact (namedv_to_term x) + +private +let __lemma_to_squash #req #ens (_ : squash req) (h : (unit -> Lemma (requires req) (ensures ens))) : squash ens = + h () + +let pose_lemma (t : term) : Tac binding = + let c = tcc (cur_env ()) t in + let pre, post = + match c with + | C_Lemma pre post _ -> pre, post + | _ -> fail "" + in + let post = `((`#post) ()) in (* unthunk *) + let post = norm_term [] post in + (* If the precondition is trivial, do not cut by it *) + match term_as_formula' pre with + | True_ -> + pose (`(__lemma_to_squash #(`#pre) #(`#post) () (fun () -> (`#t)))) + | _ -> + let reqb = tcut (`squash (`#pre)) in + + let b = pose (`(__lemma_to_squash #(`#pre) #(`#post) (`#(reqb <: term)) (fun () -> (`#t)))) in + flip (); + ignore (trytac trivial); + b + +let explode () : Tac unit = + ignore ( + repeatseq (fun () -> first [(fun () -> ignore (l_intro ())); + (fun () -> ignore (split ()))])) + +let rec visit (callback:unit -> Tac unit) : Tac unit = + focus (fun () -> + or_else callback + (fun () -> + let g = cur_goal () in + match term_as_formula g with + | Forall _b _sort _phi -> + let binders = forall_intros () in + seq (fun () -> visit callback) (fun () -> l_revert_all binders) + | And p q -> + seq split (fun () -> visit callback) + | Implies p q -> + let _ = implies_intro () in + seq (fun () -> visit callback) l_revert + | _ -> + () + ) + ) + +let rec simplify_eq_implication () : Tac unit = + let e = cur_env () in + let g = cur_goal () in + let r = destruct_equality_implication g in + match r with + | None -> + fail "Not an equality implication" + | Some (_, rhs) -> + let eq_h = implies_intro () in // G, eq_h:x=e |- P + rewrite eq_h; // G, eq_h:x=e |- P[e/x] + clear_top (); // G |- P[e/x] + visit simplify_eq_implication + +let rewrite_all_equalities () : Tac unit = + visit simplify_eq_implication + +let rec unfold_definition_and_simplify_eq (tm:term) : Tac unit = + let g = cur_goal () in + match term_as_formula g with + | App hd arg -> + if term_eq hd tm + then trivial () + else () + | _ -> begin + let r = destruct_equality_implication g in + match r with + | None -> fail "Not an equality implication" + | Some (_, rhs) -> + let eq_h = implies_intro () in + rewrite eq_h; + clear_top (); + visit (fun () -> unfold_definition_and_simplify_eq tm) + end + +private val vbind : (#p:Type) -> (#q:Type) -> squash p -> (p -> squash q) -> Lemma q +let vbind #p #q sq f = FStar.Classical.give_witness_from_squash (FStar.Squash.bind_squash sq f) + +(** A tactic to unsquash a hypothesis. Perhaps you are looking +for [unsquash_term]. + +Pre: + goal = + G |- e : squash s + t : squash r + +Post: + G, x:r |- e : squash s + `x` is returned as a term +*) +let unsquash (t : term) : Tac term = + let v = `vbind in + apply_lemma (mk_e_app v [t]); + let b = intro () in + pack (Tv_Var b) + +private val or_ind : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p \/ q) -> + (squash (p ==> phi)) -> + (squash (q ==> phi)) -> + Lemma phi +let or_ind #p #q #phi o l r = () + +let cases_or (o:term) : Tac unit = + apply_lemma (mk_e_app (`or_ind) [o]) + +private val bool_ind : (b:bool) -> (phi:Type) -> (squash (b == true ==> phi)) -> + (squash (b == false ==> phi)) -> + Lemma phi +let bool_ind b phi l r = () + +let cases_bool (b:term) : Tac unit = + let bi = `bool_ind in + seq (fun () -> apply_lemma (mk_e_app bi [b])) + (fun () -> let _ = trytac (fun () -> let b = implies_intro () in rewrite b; clear_top ()) in ()) + +private val or_intro_1 : (#p:Type) -> (#q:Type) -> squash p -> Lemma (p \/ q) +let or_intro_1 #p #q _ = () + +private val or_intro_2 : (#p:Type) -> (#q:Type) -> squash q -> Lemma (p \/ q) +let or_intro_2 #p #q _ = () + +let left () : Tac unit = + apply_lemma (`or_intro_1) + +let right () : Tac unit = + apply_lemma (`or_intro_2) + +private val __and_elim : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi +let __and_elim #p #q #phi p_and_q f = () + +private val __and_elim' : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + squash (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi +let __and_elim' #p #q #phi p_and_q f = () + +let and_elim (t : term) : Tac unit = + begin + try apply_lemma (`(__and_elim (`#t))) + with | _ -> apply_lemma (`(__and_elim' (`#t))) + end + +let destruct_and (t : term) : Tac (binding * binding) = + and_elim t; + (implies_intro (), implies_intro ()) + +private val __witness : (#a:Type) -> (x:a) -> (#p:(a -> Type)) -> squash (p x) -> squash (exists (x:a). p x) +private let __witness #a x #p _ = () + +let witness (t : term) : Tac unit = + apply_raw (`__witness); + exact t + +private +let __elim_exists' #t (#pred : t -> Type0) #goal (h : (exists x. pred x)) + (k : (x:t -> pred x -> squash goal)) : squash goal = + FStar.Squash.bind_squash #(x:t & pred x) h (fun (|x, pf|) -> k x pf) + +(* returns witness and proof as binders *) +let elim_exists (t : term) : Tac (binding & binding) = + apply_lemma (`(__elim_exists' (`#(t)))); + let x = intro () in + let pf = intro () in + (x, pf) + +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 binding = + try pose (`__forall_inst_sq (`#fa) (`#x)) with | _ -> + try pose (`__forall_inst (`#fa) (`#x)) with | _ -> + fail "could not instantiate" + +let instantiate_as (fa : term) (x : term) (s : string) : Tac binding = + let b = instantiate fa x in + rename_to b s + +private +let sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : + Lemma (requires (forall x. p x ==> phi)) + (ensures phi) = () + +private +let rec sk_binder' (acc:list binding) (b:binding) : Tac (list binding & binding) = + focus (fun () -> + try + apply_lemma (`(sklem0 (`#b))); + if ngoals () <> 1 then fail "no"; + clear b; + let bx = forall_intro () in + let b' = implies_intro () in + sk_binder' (bx::acc) b' (* We might have introduced a new existential, so possibly recurse *) + with | _ -> (acc, b) (* If the above failed, just return *) + ) + +(* Skolemizes a given binder for an existential, returning the introduced new binders + * and the skolemized formula. *) +let sk_binder b = sk_binder' [] b + +let skolem () = + let bs = vars_of_env (cur_env ()) in + map sk_binder bs + +private +val lemma_from_squash : #a:Type -> #b:(a -> Type) -> (x:a -> squash (b x)) -> x:a -> Lemma (b x) +private +let lemma_from_squash #a #b f x = let _ = f x in assert (b x) + +private +let easy_fill () = + let _ = repeat intro in + (* If the goal is `a -> Lemma b`, intro will fail, try to use this switch *) + let _ = trytac (fun () -> apply (`lemma_from_squash); intro ()) in + smt () + +val easy : #a:Type -> (#[easy_fill ()] _ : a) -> a +let easy #a #x = x + +private +let lem1_fa #a #pre #post + ($lem : (x:a -> Lemma (requires pre x) (ensures post x))) : + Lemma (forall (x:a). pre x ==> post x) = + let l' x : Lemma (pre x ==> post x) = + Classical.move_requires lem x + in + Classical.forall_intro l' + +private +let lem2_fa #a #b #pre #post + ($lem : (x:a -> y:b -> Lemma (requires pre x y) (ensures post x y))) : + Lemma (forall (x:a) (y:b). pre x y ==> post x y) = + let l' x y : Lemma (pre x y ==> post x y) = + Classical.move_requires (lem x) y + in + Classical.forall_intro_2 l' + +private +let lem3_fa #a #b #c #pre #post + ($lem : (x:a -> y:b -> z:c -> Lemma (requires pre x y z) (ensures post x y z))) : + Lemma (forall (x:a) (y:b) (z:c). pre x y z ==> post x y z) = + let l' x y z : Lemma (pre x y z ==> post x y z) = + Classical.move_requires (lem x y) z + in + Classical.forall_intro_3 l' + +(** Add a lemma into the local context, quantified for all arguments. +Only works for lemmas with up to 3 arguments for now. It is expected +that `t` is a top-level name, this has not been battle-tested for other +kinds of terms. *) +let using_lemma (t : term) : Tac binding = + try pose_lemma (`(lem1_fa (`#t))) with | _ -> + try pose_lemma (`(lem2_fa (`#t))) with | _ -> + try pose_lemma (`(lem3_fa (`#t))) with | _ -> + fail "using_lemma: failed to instantiate" diff --git a/ulib/FStar.Tactics.V2.SyntaxCoercions.fst b/ulib/FStar.Tactics.V2.SyntaxCoercions.fst new file mode 100644 index 00000000000..6777835a19d --- /dev/null +++ b/ulib/FStar.Tactics.V2.SyntaxCoercions.fst @@ -0,0 +1,33 @@ +module FStar.Tactics.V2.SyntaxCoercions + +open FStar.Tactics.Builtins +open FStar.Tactics.NamedView +open FStar.Sealed + +[@@coercion] +let namedv_to_term (x : namedv) : Tot term = + pack (Tv_Var x) + +[@@coercion] +let binder_to_namedv (b : binder) : Tot namedv = + { + ppname = b.ppname; + uniq = b.uniq; + sort = seal b.sort; + } + +[@@coercion] +let binder_to_term (b : binder) : Tot term = + pack (Tv_Var (binder_to_namedv b)) + +[@@coercion] +let binding_to_namedv (b : binding) : Tot namedv = + { + ppname = b.ppname; + sort = seal b.sort; + uniq = b.uniq + } + +[@@coercion] +let binding_to_term (x : binding) : Tot term = + namedv_to_term (binding_to_namedv x) diff --git a/ulib/FStar.Tactics.V2.SyntaxHelpers.fst b/ulib/FStar.Tactics.V2.SyntaxHelpers.fst new file mode 100644 index 00000000000..52eea97cf45 --- /dev/null +++ b/ulib/FStar.Tactics.V2.SyntaxHelpers.fst @@ -0,0 +1,88 @@ +module FStar.Tactics.V2.SyntaxHelpers + +open FStar.Reflection.V2 +open FStar.Tactics.Effect +open FStar.Tactics.V2.Builtins +open FStar.Tactics.Types +open FStar.Tactics.NamedView + +(* These are fully-named variants of functions found in FStar.Reflection *) + +private +let rec collect_arr' (bs : list binder) (c : comp) : Tac (list binder * comp) = + begin match c with + | C_Total t -> + begin match inspect t with + | Tv_Arrow b c -> + collect_arr' (b::bs) c + | _ -> + (bs, c) + end + | _ -> (bs, c) + end + +val collect_arr_bs : typ -> Tac (list binder * comp) +let collect_arr_bs t = + let (bs, c) = collect_arr' [] (C_Total t) in + (List.Tot.Base.rev bs, c) + +val collect_arr : typ -> Tac (list typ * comp) +let collect_arr t = + let (bs, c) = collect_arr' [] (C_Total t) in + let ts = List.Tot.Base.map (fun (b:binder) -> b.sort) bs in + (List.Tot.Base.rev ts, c) + +private +let rec collect_abs' (bs : list binder) (t : term) : Tac (list binder * term) (decreases t) = + match inspect t with + | Tv_Abs b t' -> + collect_abs' (b::bs) t' + | _ -> (bs, t) + +val collect_abs : term -> Tac (list binder * term) +let collect_abs t = + let (bs, t') = collect_abs' [] t in + (List.Tot.Base.rev bs, t') + +(* Copied from FStar.Tactics.V2.Derived *) +private +let fail (#a:Type) (m:string) = raise #a (TacticFailure m) + +let rec mk_arr (bs: list binder) (cod : comp) : Tac term = + match bs with + | [] -> fail "mk_arr, empty binders" + | [b] -> pack (Tv_Arrow b cod) + | (b::bs) -> + pack (Tv_Arrow b (C_Total (mk_arr bs cod))) + +let rec mk_tot_arr (bs: list binder) (cod : term) : Tac term = + match bs with + | [] -> cod + | (b::bs) -> + pack (Tv_Arrow b (C_Total (mk_tot_arr bs cod))) + +let lookup_lb (lbs:list letbinding) (nm:name) : Tac letbinding = + let o = FStar.List.Tot.Base.find + (fun lb -> (inspect_fv lb.lb_fv) = nm) + lbs + in + match o with + | Some lb -> lb + | None -> fail "lookup_letbinding: Name not in let group" + +let rec inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) = + match inspect t with + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> + inspect_unascribe t + | tv -> tv + +(* Helpers for dealing with nested applications and arrows *) +let rec collect_app' (args : list argv) (t : term) + : Tac (term * list argv) = + match inspect_unascribe t with + | Tv_App l r -> + collect_app' (r::args) l + | _ -> (t, args) + +let collect_app = collect_app' [] diff --git a/ulib/FStar.Tactics.V2.fst b/ulib/FStar.Tactics.V2.fst new file mode 100644 index 00000000000..f180eeebf38 --- /dev/null +++ b/ulib/FStar.Tactics.V2.fst @@ -0,0 +1,36 @@ +(* + 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 FStar.Tactics.V2 + +(* REVISIT THIS LIST! *) + +include FStar.Reflection.Types +include FStar.Reflection.V2 +include FStar.Reflection.V2.Formula + +include FStar.Tactics.Types +include FStar.Tactics.Effect + +include FStar.Tactics.V2.Builtins +include FStar.Tactics.V2.Derived +include FStar.Tactics.V2.SyntaxHelpers +include FStar.Tactics.V2.Logic +include FStar.Tactics.V2.SyntaxCoercions +include FStar.Tactics.Util +include FStar.Tactics.Print +include FStar.Tactics.Visit +include FStar.Tactics.NamedView +include FStar.Tactics.MApply diff --git a/ulib/FStar.Tactics.Visit.fst b/ulib/FStar.Tactics.Visit.fst index 95124f5788d..43e87cee6bc 100644 --- a/ulib/FStar.Tactics.Visit.fst +++ b/ulib/FStar.Tactics.Visit.fst @@ -17,14 +17,21 @@ module FStar.Tactics.Visit (* Visit a term and transform it step by step. *) -open FStar.Reflection +open FStar.Reflection.V2 open FStar.Tactics.Effect open FStar.Tactics.Types open FStar.Tactics.Util let on_sort_binder (f : term -> Tac term) (b:binder) : Tac binder = let bview = inspect_binder b in - let bview = { bview with binder_sort = f bview.binder_sort } in + let bview = { bview with sort = f bview.sort } in + pack_binder bview + +(* Same *) +let on_sort_simple_binder (f : term -> Tac term) (b:simple_binder) : Tac simple_binder = + let bview = inspect_binder b in + let bview = { bview with sort = f bview.sort } in + inspect_pack_binder bview; pack_binder bview let rec visit_tm (ff : term -> Tac term) (t : term) : Tac term = @@ -53,15 +60,15 @@ let rec visit_tm (ff : term -> Tac term) (t : term) : Tac term = let l = visit_tm ff l in let r = visit_tm ff r in Tv_App l (r, q) - | Tv_Refine b sort r -> - let sort = visit_tm ff sort in + | Tv_Refine b r -> + let b = on_sort_simple_binder (visit_tm ff) b in let r = visit_tm ff r in - Tv_Refine b sort r - | Tv_Let r attrs b ty def t -> - let ty = visit_tm ff ty in + Tv_Refine b r + | Tv_Let r attrs b def t -> + let b = on_sort_simple_binder (visit_tm ff) b in let def = visit_tm ff def in let t = visit_tm ff t in - Tv_Let r attrs b ty def t + Tv_Let r attrs b def t | Tv_Match sc ret_opt brs -> let sc = visit_tm ff sc in let ret_opt = map_opt (fun (b, asc) -> @@ -91,13 +98,15 @@ and visit_br (ff : term -> Tac term) (b:branch) : Tac branch = (p, t) and visit_pat (ff : term -> Tac term) (p:pattern) : Tac pattern = match p with - | Pat_Constant c -> p - | Pat_Cons fv us l -> - let l = (map (fun(p,b) -> (visit_pat ff p, b)) l) in - Pat_Cons fv us l - | Pat_Var bv st -> Pat_Var bv st - | Pat_Dot_Term eopt -> - Pat_Dot_Term (map_opt (visit_tm ff) eopt) + | Pat_Constant _ -> p + | Pat_Var v s -> Pat_Var v s + | Pat_Cons head univs subpats -> + let subpats = (map (fun(p,b) -> (visit_pat ff p, b)) subpats) in + Pat_Cons head univs subpats + | Pat_Dot_Term t -> + let t = map_opt (visit_tm ff) t in + Pat_Dot_Term t + and visit_comp (ff : term -> Tac term) (c : comp) : Tac comp = let cv = inspect_comp c in let cv' = diff --git a/ulib/FStar.Tactics.fst b/ulib/FStar.Tactics.fst index e814f156d15..1a38262f954 100644 --- a/ulib/FStar.Tactics.fst +++ b/ulib/FStar.Tactics.fst @@ -15,21 +15,5 @@ *) module FStar.Tactics -(* I don't expect many uses of tactics without syntax handling *) -include FStar.Reflection.Types -include FStar.Reflection.Data -include FStar.Reflection.Builtins -include FStar.Reflection.Derived -include FStar.Reflection.Formula -include FStar.Reflection.Const -include FStar.Reflection.Compare - -include FStar.Tactics.Types -include FStar.Tactics.Effect -include FStar.Tactics.Builtins -include FStar.Tactics.Derived -include FStar.Tactics.Logic -include FStar.Tactics.Util -include FStar.Tactics.SyntaxHelpers -include FStar.Tactics.Print -include FStar.Tactics.Visit +include FStar.Tactics.V1 +include FStar.Tactics.SMT (* Version agnostic *) diff --git a/ulib/FStar.UInt128.fst b/ulib/FStar.UInt128.fst index 25a5c38041d..205bb2eb286 100644 --- a/ulib/FStar.UInt128.fst +++ b/ulib/FStar.UInt128.fst @@ -27,10 +27,17 @@ module U64 = FStar.UInt64 module Math = FStar.Math.Lemmas open FStar.BV -open FStar.Tactics -module T = FStar.Tactics +open FStar.Tactics.V2 +module T = FStar.Tactics.V2 module TBV = FStar.Tactics.BV +#set-options "--max_fuel 0 --max_ifuel 0 --split_queries no" +#set-options "--using_facts_from '*,-FStar.Tactics,-FStar.Reflection'" + +(* TODO: explain why exactly this is needed? It leads to failures in +HACL* otherwise, claiming that some functions are not Low*. *) +#set-options "--normalize_pure_terms_for_extraction" + [@@ noextract_to "krml"] noextract let carry_uint64 (a b: uint_t 64) : Tot (uint_t 64) = @@ -88,9 +95,6 @@ let lem_ult (a b:uint_t 64) lem_ult_1 a b; lem_ult_2 a b -#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" - let constant_time_carry (a b: U64.t) : Tot U64.t = let open U64 in // CONSTANT_TIME_CARRY macro @@ -128,22 +132,42 @@ let v_inj (x1 x2: t): Lemma (requires (v x1 == v x2)) assert (uint_to_t (v x2) == x2); () +(* A weird helper used below... seems like the native encoding of +bitvectors may be making these proofs much harder than they should be? *) +let bv2int_fun (#n:pos) (a b : bv_t n) + : Lemma (requires a == b) + (ensures bv2int a == bv2int b) + = () + +(* This proof is quite brittle. It has a bunch of annotations to get +decent verification performance. *) let constant_time_carry_ok (a b:U64.t) : Lemma (constant_time_carry a b == (if U64.lt a b then U64.uint_to_t 1 else U64.uint_to_t 0)) = calc (==) { U64.v (constant_time_carry a b); - (==) { carry_uint64_equiv a b } + (==) { carry_uint64_equiv a b } carry_uint64 (U64.v a) (U64.v b); - (==) { carry_uint64_ok (U64.v a) (U64.v b) } + (==) { inverse_num_lemma (carry_uint64 (U64.v a) (U64.v b)) } + bv2int (int2bv (carry_uint64 (U64.v a) (U64.v b))); + (==) { carry_uint64_ok (U64.v a) (U64.v b); + bv2int_fun (int2bv (carry_uint64 (U64.v a) (U64.v b))) (carry_bv (U64.v a) (U64.v b)); + () + } bv2int (carry_bv (U64.v a) (U64.v b)); - (==) { lem_ult (U64.v a) (U64.v b) } + (==) { + lem_ult (U64.v a) (U64.v b); + bv2int_fun (carry_bv (U64.v a) (U64.v b)) (if U64.v a < U64.v b then int2bv 1 else int2bv 0) + } bv2int (if U64.v a < U64.v b then int2bv 1 else int2bv 0); - } - + }; + assert ( + bv2int (if U64.v a < U64.v b then int2bv 1 else int2bv 0) + == U64.v (if U64.lt a b then U64.uint_to_t 1 else U64.uint_to_t 0)) by (T.norm []); + U64.v_inj (constant_time_carry a b) (if U64.lt a b then U64.uint_to_t 1 else U64.uint_to_t 0) let carry (a b: U64.t) : Pure U64.t (requires True) @@ -189,17 +213,12 @@ let div_product n m1 m2 = val mul_div_cancel : n:nat -> k:nat{k>0} -> Lemma ((n * k) / k == n) let mul_div_cancel n k = - Math.lemma_mod_plus 0 n k; - assert ((n * k) % k == 0) + Math.cancel_mul_div n k val mod_mul: n:nat -> k1:pos -> k2:pos -> Lemma ((n % k2) * k1 == (n * k1) % (k1*k2)) let mod_mul n k1 k2 = - mod_spec (n*k1) (k1*k2); - div_product (n*k1) k1 k2; - mul_div_cancel n k1; - Math.lemma_mul_sub_distr k1 n (n / k2 * k2); - mod_spec n k2 + Math.modulo_scale_lemma n k1 k2 let mod_spec_rew_n (n:nat) (k:nat{k > 0}) : Lemma (n == n / k * k + n % k) = mod_spec n k @@ -215,25 +234,13 @@ let mod_add_small n1 n2 k = mod_add n1 n2 k; Math.small_modulo_lemma_1 (n1%k + n2%k) k -#set-options "--z3rlimit 20" - -#push-options "--warn_error -271" +// This proof is pretty stable with the calc proof, but it can fail +// ~1% of the times, so add a retry. +#push-options "--split_queries no --z3rlimit 20 --retry 5" let add_mod (a b: t) : Pure t (requires True) (ensures (fun r -> (v a + v b) % pow2 128 = v r)) = - let mod_mul_pat (n:nat) (k1:pos) (k2:pos) - : Lemma ((n % k2) * k1 == (n * k1) % (k1*k2)) - [SMTPat ()] - = mod_mul n k1 k2 in - - let mod_mod_pat (a:nat) (k k':pos) - : Lemma - (requires (k' >= k)) - (ensures ((a % k) % k' == a % k)) - [SMTPat ()] - = assert (a % k < k) in - let l = U64.add_mod a.low b.low in let r = { low = l; high = U64.add_mod (U64.add_mod a.high b.high) (carry l b.low)} in @@ -243,13 +250,19 @@ let add_mod (a b: t) : Pure t let b_h = U64.v b.high in carry_sum_ok a.low b.low; Math.lemma_mod_plus_distr_l (a_h + b_h) ((a_l + b_l) / (pow2 64)) (pow2 64); - assert (U64.v r.high == (a_h + b_h + (a_l + b_l) / (pow2 64)) % pow2 64); - // mod_mul (a_h + b_h + (a_l + b_l) / (pow2 64)) (pow2 64) (pow2 64); - assert (U64.v r.high * pow2 64 == - (a_h * pow2 64 + - b_h * pow2 64 + - (a_l + b_l) / (pow2 64) * (pow2 64)) % pow2 128); - // mod_mod (U64.v r.low) (pow2 64) (pow2 64); + calc (==) { + U64.v r.high * pow2 64; + == {} + ((a_h + b_h + (a_l + b_l) / (pow2 64)) % pow2 64) * pow2 64; + == { mod_mul (a_h + b_h + (a_l + b_l) / (pow2 64)) (pow2 64) (pow2 64) } + ((a_h + b_h + (a_l + b_l) / (pow2 64)) * pow2 64) % (pow2 64 * pow2 64); + == {} + ((a_h + b_h + (a_l + b_l)/(pow2 64)) * pow2 64) + % pow2 128; + == {} + (a_h * pow2 64 + b_h * pow2 64 + ((a_l + b_l)/(pow2 64)) * pow2 64) + % pow2 128; + }; assert (U64.v r.low == (U64.v r.low) % pow2 128); mod_add_small (a_h * pow2 64 + b_h * pow2 64 + @@ -265,11 +278,10 @@ let add_mod (a b: t) : Pure t (a_h * pow2 64 + b_h * pow2 64 + a_l + b_l) % pow2 128); + assert_spinoff ((v a + v b) % pow2 128 = v r); r #pop-options -#set-options "--z3rlimit 5" - let sub (a b: t) : Pure t (requires (v a - v b >= 0)) (ensures (fun r -> v r = v a - v b)) = @@ -287,13 +299,13 @@ let sub_mod_impl (a b: t) : t = { low = l; high = U64.sub_mod (U64.sub_mod a.high b.high) (carry a.low l); } -#set-options "--z3rlimit 20" +#push-options "--retry 10" // flaky let sub_mod_pos_ok (a b:t) : Lemma (requires (v a - v b >= 0)) (ensures (v (sub_mod_impl a b) = v a - v b)) = assert (sub a b == sub_mod_impl a b); () -#set-options "--z3rlimit 5" +#pop-options val u64_diff_wrap : a:U64.t -> b:U64.t -> Lemma (requires (U64.v a < U64.v b)) @@ -340,7 +352,7 @@ let sub_mod_wrap_ok (a b:t) : Lemma then sub_mod_wrap1_ok a b else sub_mod_wrap2_ok a b -#set-options "--z3rlimit 40" +#push-options "--z3rlimit 40" let sub_mod (a b: t) : Pure t (requires True) (ensures (fun r -> v r = (v a - v b) % pow2 128)) = @@ -348,7 +360,7 @@ let sub_mod (a b: t) : Pure t then sub_mod_pos_ok a b else sub_mod_wrap_ok a b); sub_mod_impl a b -#set-options "--z3rlimit 5" +#pop-options val shift_bound : #n:nat -> num:UInt.uint_t n -> n':nat -> Lemma (num * pow2 n' <= pow2 (n'+n) - pow2 n') @@ -480,7 +492,7 @@ let shift_left_large_val (#n1:nat) (#n2: nat) (a1:UInt.uint_t n1) (a2:UInt.uint_ Math.paren_mul_right a2 (pow2 n1) (pow2 s); Math.pow2_plus n1 s -#set-options "--z3rlimit 40" +#push-options "--z3rlimit 40" let shift_left_large_lemma (#n1: nat) (#n2: nat) (a1:UInt.uint_t n1) (a2:UInt.uint_t n2) (s: nat{s >= n2}) : Lemma (((a1 + a2 * pow2 n1) * pow2 s) % pow2 (n1+n2) == (a1 * pow2 s) % pow2 (n1+n2)) = @@ -489,7 +501,7 @@ let shift_left_large_lemma (#n1: nat) (#n2: nat) (a1:UInt.uint_t n1) (a2:UInt.ui shift_past_mod a2 (n1+n2) (n1+s); mod_double (a1 * pow2 s) (pow2 (n1+n2)); () -#set-options "--z3rlimit 5" +#pop-options val shift_left_large_lemma_t : a:t -> s:nat -> Lemma (requires (s >= 64)) @@ -520,8 +532,8 @@ let mod_mul_pow2 n e1 e2 = let pow2_div_bound #b (n:UInt.uint_t b) (s:nat{s <= b}) : Lemma (n / pow2 s < pow2 (b - s)) = Math.lemma_div_lt n b s -#reset-options "--max_fuel 0 --max_ifuel 0 --smtencoding.elim_box true --smtencoding.l_arith_repr native --z3rlimit 40" -#set-options "--normalize_pure_terms_for_extraction" + +#push-options "--smtencoding.l_arith_repr native --z3rlimit 40" let add_u64_shift_left (hi lo: U64.t) (s: U32.t{U32.v s < 64}) : Pure U64.t (requires (U32.v s <> 0)) (ensures (fun r -> U64.v r = (U64.v hi * pow2 (U32.v s)) % pow2 64 + U64.v lo / pow2 (64 - U32.v s))) = @@ -538,8 +550,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" -#set-options "--normalize_pure_terms_for_extraction" +#pop-options let div_plus_multiple (a:nat) (b:nat) (k:pos) : @@ -551,15 +562,12 @@ 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 -> Lemma (requires (n < k1)) @@ -597,7 +605,6 @@ let add_u64_shift_left_respec (hi lo:U64.t) (s:U32.t{U32.v s < 64}) : Pure U64.t mul_abc_to_acb hi (pow2 s) (pow2 64); r -#set-options "--z3rlimit 40" val add_mod_small' : n:nat -> m:nat -> k:pos -> Lemma (requires (n + m % k < k)) (ensures (n + m % k == (n + m) % k)) @@ -605,15 +612,18 @@ let add_mod_small' n m k = Math.lemma_mod_lt (n + m % k) k; Math.modulo_lemma n k; mod_add n m k -#set-options "--z3rlimit 5" +#push-options "--retry 5" let shift_t_val (a: t) (s: nat) : Lemma (v a * pow2 s == U64.v a.low * pow2 s + U64.v a.high * pow2 (64+s)) = Math.pow2_plus 64 s; () +#pop-options val mul_mod_bound : n:nat -> s1:nat -> s2:nat{s2>=s1} -> Lemma (n * pow2 s1 % pow2 s2 <= pow2 s2 - pow2 s1) + +#push-options "--retry 5" let mul_mod_bound n s1 s2 = // n * pow2 s1 % pow2 s2 == n % pow2 (s2-s1) * pow2 s1 // n % pow2 (s2-s1) <= pow2 (s2-s1) - 1 @@ -623,6 +633,7 @@ let mul_mod_bound n s1 s2 = Math.lemma_mod_lt n (pow2 (s2-s1)); Math.lemma_mult_le_right (pow2 s1) (n % pow2 (s2-s1)) (pow2 (s2-s1) - 1); Math.pow2_plus (s2-s1) s1 +#pop-options let add_lt_le (a a' b b': int) : Lemma (requires (a < a' /\ b <= b')) @@ -633,7 +644,6 @@ let u64_pow2_bound (a: UInt.uint_t 64) (s: nat) : Math.pow2_plus 64 s; Math.lemma_mult_le_right (pow2 s) a (pow2 64) -#set-options "--z3rlimit 20" let shift_t_mod_val' (a: t) (s: nat{s < 64}) : Lemma ((v a * pow2 s) % pow2 128 == U64.v a.low * pow2 s + U64.v a.high * pow2 (64+s) % pow2 128) = @@ -646,7 +656,6 @@ let shift_t_mod_val' (a: t) (s: nat{s < 64}) : add_mod_small' (a_l * pow2 s) (a_h * pow2 (64+s)) (pow2 128); shift_t_val a s; () -#set-options "--z3rlimit 5" let shift_t_mod_val (a: t) (s: nat{s < 64}) : Lemma ((v a * pow2 s) % pow2 128 == @@ -658,8 +667,6 @@ let shift_t_mod_val (a: t) (s: nat{s < 64}) : Math.paren_mul_right a_h (pow2 64) (pow2 s); () -#reset-options "--normalize_pure_terms_for_extraction" -#set-options "--z3rlimit 300" let shift_left_small (a: t) (s: U32.t) : Pure t (requires (U32.v s < 64)) (ensures (fun r -> v r = (v a * pow2 (U32.v s)) % pow2 128)) = @@ -676,8 +683,8 @@ let shift_left_small (a: t) (s: U32.t) : Pure t val shift_left_large : a:t -> s:U32.t{U32.v s >= 64 /\ U32.v s < 128} -> r:t{v r = (v a * pow2 (U32.v s)) % pow2 128} -#reset-options "--max_fuel 0 --max_ifuel 0" -#set-options "--normalize_pure_terms_for_extraction --z3rlimit 150" + +#push-options "--z3rlimit 50 --retry 5" // sporadically fails let shift_left_large a s = let h_shift = U32.sub s u32_64 in assert (U32.v h_shift < 64); @@ -689,7 +696,7 @@ let shift_left_large a s = assert (U64.v r.high * pow2 64 == (U64.v a.low * pow2 (U32.v s)) % pow2 128); shift_left_large_lemma_t a (U32.v s); r -#set-options "--z3rlimit 128 --max_fuel 0 --max_ifuel 0" +#pop-options let shift_left a s = if (U32.lt s u32_64) then shift_left_small a s @@ -712,7 +719,6 @@ let add_u64_shift_right (hi lo: U64.t) (s: U32.t{U32.v s < 64}) : Pure U64.t mod_mul_pow2 (U64.v hi) s (64 - s); U64.add low high -#set-options "--z3rlimit 10" val mul_pow2_diff: a:nat -> n1:nat -> n2:nat{n2 <= n1} -> Lemma (a * pow2 (n1 - n2) == a * pow2 n1 / pow2 n2) let mul_pow2_diff a n1 n2 = @@ -899,24 +905,16 @@ 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 - (requires (b <= c)) - (ensures (a * b <= a * c)) -let lemma_mult_le_left a b c = () let product_bound (a b:nat) (k:pos) : Lemma (requires (a < k /\ b < k)) (ensures a * b <= k * k - 2*k + 1) = Math.lemma_mult_le_right b a (k-1); - lemma_mult_le_left (k-1) b (k-1) + Math.lemma_mult_le_left (k-1) b (k-1) val uint_product_bound : #n:nat -> a:UInt.uint_t n -> b:UInt.uint_t n -> Lemma (a * b <= pow2 (2*n) - 2*(pow2 n) + 1) @@ -1015,7 +1013,6 @@ let u32_combine' (hi lo: U64.t) : Pure U64.t (ensures (fun r -> U64.v r = U64.v hi * pow2 32 % pow2 64 + U64.v lo)) = U64.add lo (U64.shift_left hi u32_32) -#set-options "--z3rlimit 20" inline_for_extraction noextract let mul_wide_impl (x: U64.t) (y: U64.t) : Tot (r:t{U64.v r.low == mul_wide_low x y /\ @@ -1042,7 +1039,6 @@ let mul_wide_impl (x: U64.t) (y: U64.t) : assert (U64.v r1 == (phh x y + (phl x y + pll_h x y) / pow2 32 + (plh x y + (phl x y + pll_h x y) % pow2 32) / pow2 32) % pow2 64); let r = { low = r0; high = r1; } in r -#set-options "--z3rlimit 5" let product_sums (a b c d:nat) : Lemma ((a + b) * (c + d) == a * c + a * d + b * c + b * d) = () @@ -1097,9 +1093,9 @@ let mul_wide_low_ok (x y: U64.t) : assert (mul_wide_low x y == ((plh x y + phl x y + pll_h x y) * pow2 32 + pll_l x y) % pow2 64); product_low_expand x y +#push-options "--z3rlimit 10" 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; @@ -1112,7 +1108,7 @@ let product_high32 x y = 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) -#push-options "--z3rlimit 80" +#push-options "--z3rlimit 15 --retry 5" // sporadically fails let product_high_expand x y = Math.pow2_plus 32 32; div_product (mul_wide_high x y) (pow2 32) (pow2 32); @@ -1154,7 +1150,6 @@ let n_minus_mod_exact (n:nat) (k:pos) : let sub_mod_gt_0 (n:nat) (k:pos) : Lemma (0 <= n - n % k) = () -#set-options "--z3rlimit 20" val sum_rounded_mod_exact : n:nat -> m:nat -> k:pos -> Lemma (((n - n%k) + (m - m%k)) / k * k == (n - n%k) + (m - m%k)) let sum_rounded_mod_exact n m k = @@ -1167,13 +1162,13 @@ let sum_rounded_mod_exact n m k = val div_sum_combine : n:nat -> m:nat -> k:pos -> Lemma (n / k + m / k == (n + (m - n % k) - m % k) / k) -#push-options "--z3rlimit 60" +#push-options "--retry 5" // sporadically fails let div_sum_combine n m k = sum_rounded_mod_exact n m k; div_sum_combine1 n m k; mul_injective (n / k + m / k) (((n - n%k) + (m - m%k)) / k) k; assert (n + m - n % k - m % k == (n - n%k) + (m - m%k)) -#set-options "--z3rlimit 5" +#pop-options val sum_shift_carry : a:nat -> b:nat -> k:pos -> Lemma (a / k + (b + a%k) / k == (a + b) / k) @@ -1195,7 +1190,6 @@ let product_div_bound (#n:pos) (x y: UInt.uint_t n) : product_bound x y (pow2 n); pow2_div_bound #(n+n) (x * y) n -#set-options "--z3rlimit 100" let mul_wide (x y:U64.t) : Pure t (requires True) (ensures (fun r -> v r == U64.v x * U64.v y)) = diff --git a/ulib/FStar.VConfig.fsti b/ulib/FStar.VConfig.fsti index 034439c6d7e..657074a19c6 100644 --- a/ulib/FStar.VConfig.fsti +++ b/ulib/FStar.VConfig.fsti @@ -50,3 +50,7 @@ type vconfig = { trivial_pre_for_unannotated_effectful_fns : bool; reuse_hint_for : option string; } + +(** Marker to check a sigelt with a particular vconfig *) +irreducible +let check_with (vcfg : vconfig) : unit = () diff --git a/ulib/Makefile.extract b/ulib/Makefile.extract index 577476e5c40..c263e998b73 100644 --- a/ulib/Makefile.extract +++ b/ulib/Makefile.extract @@ -47,6 +47,13 @@ depgraph.pdf: dep.graph $(call msg, "DOT", $@) $(Q)dot -Tpdf -o $@ dep_simpl.graph +# make depgraph-FStar.Tactics.fst.pdf to get a dep graph of FStar.Tactics.fst downwards +depgraph-%.pdf: + $(Q)$(MY_FSTAR) --dep graph $(EXTRACT_MODULES) $(addprefix --include , $(INCLUDE_PATHS)) $* --output_deps_to $@.graph + $(Q)$(FSTAR_HOME)/.scripts/simpl_graph.py $@.graph > $@.graph.simpl + $(call msg, "DOT", $@) + $(Q)dot -Tpdf -o $@ $@.graph.simpl + depend.extract: $(DEPEND) include $(DEPEND) diff --git a/ulib/Makefile.verify b/ulib/Makefile.verify index 12ebe8c5889..289c34cd472 100644 --- a/ulib/Makefile.verify +++ b/ulib/Makefile.verify @@ -44,7 +44,6 @@ include gmake/Makefile.tmpl @echo --use_hints --hint_info # bumping the rlimit for these files -%FStar.ModifiesGen.fst.checked: OTHERFLAGS+=--z3rlimit_factor 8 %LowStar.Monotonic.Buffer.fst.checked: OTHERFLAGS+=--z3rlimit_factor 4 #turn off 271 (pattern uses theory symbols warning), to be fixed soon diff --git a/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst b/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst index 14f6c631108..2156993c907 100644 --- a/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst +++ b/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst @@ -1,9 +1,5 @@ module FStar.InteractiveHelpers.PostProcess -module HS = FStar.HyperStack -module ST = FStar.HyperStack.ST -module B = LowStar.Buffer - open FStar.List open FStar.Tactics open FStar.Mul diff --git a/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti b/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti index cd94b26a750..aaae32e06fb 100644 --- a/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti +++ b/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti @@ -22,7 +22,8 @@ module FStar.Reflection.Typing.Builtins IT IS HIGHLY EXPERIMENTAL AND NOT YET READY TO USE. *) -open FStar.Reflection +open FStar.Reflection.V2 +open FStar.Range val dummy_range : range diff --git a/ulib/experimental/FStar.Reflection.Typing.fst b/ulib/experimental/FStar.Reflection.Typing.fst index fb4ab77ff1f..5dbc9ec66c7 100644 --- a/ulib/experimental/FStar.Reflection.Typing.fst +++ b/ulib/experimental/FStar.Reflection.Typing.fst @@ -26,36 +26,33 @@ module FStar.Reflection.Typing *) open FStar.List.Tot -open FStar.Reflection +open FStar.Reflection.V2 -module R = FStar.Reflection -module T = FStar.Tactics -module FTB = FStar.Tactics.Builtins +module R = FStar.Reflection.V2 +module T = FStar.Tactics.V2 module RTB = FStar.Reflection.Typing.Builtins -let inspect_pack t = R.inspect_pack_inv t +let inspect_pack = R.inspect_pack_inv +let pack_inspect = R.pack_inspect_inv -let pack_inspect t = R.pack_inspect_inv t - -let inspect_pack_bv t = admit () - -let pack_inspect_bv t = admit () +let inspect_pack_namedv = R.inspect_pack_namedv +let pack_inspect_namedv = R.pack_inspect_namedv -let inspect_pack_binder (bv:_) = admit () - -let pack_inspect_binder (t:R.binder) = admit () - -let pack_inspect_comp (t:R.comp) = admit () - -let inspect_pack_comp (t:R.comp_view) = admit () +let inspect_pack_bv = R.inspect_pack_bv +let pack_inspect_bv = R.pack_inspect_bv -let pack_inspect_fv (fv:R.fv) = admit () +let inspect_pack_binder = R.inspect_pack_binder +let pack_inspect_binder = R.pack_inspect_binder -let inspect_pack_fv (nm:R.name) = admit () +let inspect_pack_comp = R.inspect_pack_comp_inv +let pack_inspect_comp = R.pack_inspect_comp_inv -let pack_inspect_universe u = admit () +let inspect_pack_fv = R.inspect_pack_fv +let pack_inspect_fv = R.pack_inspect_fv + +let inspect_pack_universe = R.inspect_pack_universe +let pack_inspect_universe = R.pack_inspect_universe -let inspect_pack_universe u = admit () let lookup_bvar (e:env) (x:int) : option term = magic () @@ -66,7 +63,7 @@ let lookup_bvar_extend_env (g:env) (x y:var) (ty:term) = admit () let lookup_fvar_extend_env (g:env) (x:fv) (us:universes) (y:var) (ty:term) = admit () -let open_or_close_ctx_uvar_and_subst (c:ctx_uvar_and_subst) (v:open_or_close) (i:nat) = magic () +let subst_ctx_uvar_and_subst _ _ = magic () let open_with (t:term) (v:term) = RTB.open_with t v @@ -85,6 +82,10 @@ let rename (t:term) (x y:var)= RTB.rename t x y let rename_spec (t:term) (x y:var) = admit () let bv_index_of_make_bv (n:nat) = () +let namedv_uniq_of_make_namedv (n:nat) = () + +let bindings_ok_for_pat bnds pat = magic () +let bindings_ok_pat_constant c = admit () let subtyping_token_renaming (g:env) (bs0:bindings) @@ -93,7 +94,7 @@ let subtyping_token_renaming (g:env) (y:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) y) }) (t:term) (t0 t1:term) - (d:FTB.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) = magic () + (d:T.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) = magic () let subtyping_token_weakening (g:env) (bs0:bindings) @@ -101,38 +102,37 @@ let subtyping_token_weakening (g:env) (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) (t:term) (t0 t1:term) - (d:FTB.subtyping_token (extend_env_l g (bs1@bs0)) t0 t1) = magic () + (d:T.subtyping_token (extend_env_l g (bs1@bs0)) t0 t1) = magic () let well_typed_terms_are_ln _ _ _ _ = admit () let type_correctness _ _ _ _ = admit () -let rec binder_offset_pattern_invariant (p:pattern) (s:open_or_close) (i:nat) +let rec binder_offset_pattern_invariant (p:pattern) (ss:subst) : Lemma (ensures binder_offset_pattern p == - binder_offset_pattern (open_or_close_pattern' p s i)) + binder_offset_pattern (subst_pattern p ss)) (decreases p) = match p with | Pat_Cons _ _ pats -> - binder_offset_patterns_invariant pats s i + binder_offset_patterns_invariant pats ss | _ -> () -and binder_offset_patterns_invariant (p:list (pattern & bool)) (s:open_or_close) (i:nat) +and binder_offset_patterns_invariant (p:list (pattern & bool)) (ss:subst) : Lemma (ensures binder_offset_patterns p == - binder_offset_patterns (open_or_close_patterns' p s i)) + binder_offset_patterns (subst_patterns p ss)) (decreases p) = match p with | [] -> () | (hd, _)::tl -> - binder_offset_pattern_invariant hd s i; + binder_offset_pattern_invariant hd ss; let n = binder_offset_pattern hd in - binder_offset_patterns_invariant tl s (i + n) + binder_offset_patterns_invariant tl (shift_subst_n n ss) let rec open_close_inverse' (i:nat) (t:term { ln' t (i - 1) }) (x:var) - : Lemma - (ensures open_or_close_term' - (open_or_close_term' t (CloseVar x) i) - (open_with_var x) - i + : Lemma + (ensures subst_term + (subst_term t [ ND x i ]) + (open_with_var x i) == t) (decreases t) = match inspect_ln t with @@ -142,8 +142,8 @@ let rec open_close_inverse' (i:nat) (t:term { ln' t (i - 1) }) (x:var) | Tv_Const _ | Tv_Unsupp | Tv_Unknown - | Tv_Var _ | Tv_BVar _ -> () + | Tv_Var _ -> () | Tv_App t1 a -> open_close_inverse' i t1 x; open_close_inverse' i (fst a) x @@ -156,13 +156,13 @@ let rec open_close_inverse' (i:nat) (t:term { ln' t (i - 1) }) (x:var) open_close_inverse'_binder i b x; open_close_inverse'_comp (i + 1) c x - | Tv_Refine b sort f -> - open_close_inverse' i sort x; + | Tv_Refine b f -> + open_close_inverse'_binder i b x; open_close_inverse' (i + 1) f x - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> open_close_inverse'_terms i attrs x; - open_close_inverse' i ty x; + open_close_inverse'_binder i b x; (if recf then open_close_inverse' (i + 1) def x else open_close_inverse' i def x); @@ -191,24 +191,24 @@ let rec open_close_inverse' (i:nat) (t:term { ln' t (i - 1) }) (x:var) and open_close_inverse'_binder (i:nat) (b:binder { ln'_binder b (i - 1) }) (x:var) - : Lemma (ensures open_or_close_binder' - (open_or_close_binder' b (CloseVar x) i) - (open_with_var x) - i + : Lemma (ensures subst_binder + (subst_binder b [ ND x i ]) + (open_with_var x i) == b) (decreases b) = let bndr = inspect_binder b in - let {binder_bv=bv; binder_qual=q; binder_attrs=attrs; binder_sort=sort} = bndr in + let {ppname; qual=q; attrs=attrs; sort=sort} = bndr in open_close_inverse' i sort x; open_close_inverse'_terms i attrs x; - assert (open_or_close_terms' (open_or_close_terms' attrs (CloseVar x) i) (open_with_var x) i == attrs); + assert (subst_terms (subst_terms attrs [ ND x i ]) + (open_with_var x i) == attrs); pack_inspect_binder b; - assert (pack_binder {binder_bv=bv; binder_qual=q; binder_attrs=attrs; binder_sort=sort} == b) + assert (pack_binder {ppname; qual=q; attrs=attrs; sort=sort} == b) and open_close_inverse'_terms (i:nat) (ts:list term { ln'_terms ts (i - 1) }) (x:var) - : Lemma (ensures open_or_close_terms' (open_or_close_terms' ts (CloseVar x) i) - (open_with_var x) - i + : Lemma (ensures subst_terms + (subst_terms ts [ ND x i ]) + (open_with_var x i) == ts) (decreases ts) = match ts with @@ -219,9 +219,9 @@ and open_close_inverse'_terms (i:nat) (ts:list term { ln'_terms ts (i - 1) }) (x and open_close_inverse'_comp (i:nat) (c:comp { ln'_comp c (i - 1) }) (x:var) : Lemma - (ensures open_or_close_comp' (open_or_close_comp' c (CloseVar x) i) - (open_with_var x) - i + (ensures subst_comp + (subst_comp c [ ND x i ]) + (open_with_var x i) == c) (decreases c) = match inspect_comp c with @@ -242,9 +242,9 @@ and open_close_inverse'_args (i:nat) (ts:list argv { ln'_args ts (i - 1) }) (x:var) : Lemma - (ensures open_or_close_args' (open_or_close_args' ts (CloseVar x) i) - (open_with_var x) - i + (ensures subst_args + (subst_args ts [ ND x i ]) + (open_with_var x i) == ts) (decreases ts) = match ts with @@ -257,9 +257,9 @@ and open_close_inverse'_patterns (i:nat) (ps:list (pattern & bool) { ln'_patterns ps (i - 1) }) (x:var) : Lemma - (ensures open_or_close_patterns' (open_or_close_patterns' ps (CloseVar x) i) - (open_with_var x) - i + (ensures subst_patterns + (subst_patterns ps [ ND x i ]) + (open_with_var x i) == ps) (decreases ps) = match ps with @@ -267,14 +267,14 @@ and open_close_inverse'_patterns (i:nat) | (p, b)::ps' -> open_close_inverse'_pattern i p x; let n = binder_offset_pattern p in - binder_offset_pattern_invariant p (CloseVar x) i; + binder_offset_pattern_invariant p [ ND x i ]; open_close_inverse'_patterns (i + n) ps' x and open_close_inverse'_pattern (i:nat) (p:pattern{ln'_pattern p (i - 1)}) (x:var) : Lemma - (ensures open_or_close_pattern' (open_or_close_pattern' p (CloseVar x) i) - (open_with_var x) - i + (ensures subst_pattern + (subst_pattern p [ ND x i ]) + (open_with_var x i) == p) (decreases p) = match p with @@ -292,16 +292,15 @@ and open_close_inverse'_pattern (i:nat) (p:pattern{ln'_pattern p (i - 1)}) (x:va and open_close_inverse'_branch (i:nat) (br:branch{ln'_branch br (i - 1)}) (x:var) - : Lemma - (ensures open_or_close_branch' - (open_or_close_branch' br (CloseVar x) i) - (open_with_var x) - i + : Lemma + (ensures subst_branch + (subst_branch br [ ND x i ]) + (open_with_var x i) == br) (decreases br) = let p, t = br in let j = binder_offset_pattern p in - binder_offset_pattern_invariant p (CloseVar x) i; + binder_offset_pattern_invariant p [ ND x i ]; open_close_inverse'_pattern i p x; open_close_inverse' (i + j) t x @@ -309,10 +308,9 @@ and open_close_inverse'_branches (i:nat) (brs:list branch { ln'_branches brs (i - 1) }) (x:var) : Lemma - (ensures open_or_close_branches' - (open_or_close_branches' brs (CloseVar x) i) - (open_with_var x) - i + (ensures subst_branches + (subst_branches brs [ ND x i ]) + (open_with_var x i) == brs) (decreases brs) = match brs with @@ -325,10 +323,9 @@ and open_close_inverse'_match_returns (i:nat) (m:match_returns_ascription { ln'_match_returns m (i - 1) }) (x:var) : Lemma - (ensures open_or_close_match_returns' - (open_or_close_match_returns' m (CloseVar x) i) - (open_with_var x) - i + (ensures subst_match_returns + (subst_match_returns m [ ND x i ]) + (open_with_var x i) == m) (decreases m) = let b, (ret, as_, eq) = m in @@ -358,10 +355,9 @@ let rec close_open_inverse' (i:nat) (t:term) (x:var { ~(x `Set.mem` freevars t) }) : Lemma - (ensures open_or_close_term' - (open_or_close_term' t (open_with_var x) i) - (CloseVar x) - i + (ensures subst_term + (subst_term t (open_with_var x i)) + [ ND x i ] == t) (decreases t) = match inspect_ln t with @@ -371,9 +367,9 @@ let rec close_open_inverse' (i:nat) | Tv_Type _ | Tv_Const _ | Tv_Unsupp - | Tv_Unknown - | Tv_Var _ + | Tv_Unknown -> () | Tv_BVar _ -> () + | Tv_Var _ -> () | Tv_App t1 a -> close_open_inverse' i t1 x; close_open_inverse' i (fst a) x @@ -386,13 +382,13 @@ let rec close_open_inverse' (i:nat) close_open_inverse'_binder i b x; close_open_inverse'_comp (i + 1) c x - | Tv_Refine bv sort f -> - close_open_inverse' i sort x; + | Tv_Refine b f -> + close_open_inverse'_binder i b x; close_open_inverse' (i + 1) f x - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> close_open_inverse'_terms i attrs x; - close_open_inverse' i ty x; + close_open_inverse'_binder i b x; close_open_inverse' (if recf then (i + 1) else i) def x; close_open_inverse' (i + 1) body x @@ -421,10 +417,9 @@ and close_open_inverse'_comp (i:nat) (c:comp) (x:var{ ~(x `Set.mem` freevars_comp c) }) : Lemma - (ensures open_or_close_comp' - (open_or_close_comp' c (open_with_var x) i) - (CloseVar x) - i + (ensures subst_comp + (subst_comp c (open_with_var x i)) + [ ND x i ] == c) (decreases c) = match inspect_comp c with @@ -444,10 +439,9 @@ and close_open_inverse'_comp (i:nat) and close_open_inverse'_args (i:nat) (args:list argv) (x:var{ ~(x `Set.mem` freevars_args args) }) : Lemma - (ensures open_or_close_args' - (open_or_close_args' args (open_with_var x) i) - (CloseVar x) - i + (ensures subst_args + (subst_args args (open_with_var x i)) + [ ND x i] == args) (decreases args) = match args with @@ -458,23 +452,21 @@ and close_open_inverse'_args (i:nat) (args:list argv) (x:var{ ~(x `Set.mem` free and close_open_inverse'_binder (i:nat) (b:binder) (x:var{ ~(x `Set.mem` freevars_binder b) }) : Lemma - (ensures open_or_close_binder' - (open_or_close_binder' b (open_with_var x) i) - (CloseVar x) - i + (ensures subst_binder + (subst_binder b (open_with_var x i)) + [ ND x i ] == b) (decreases b) = let bndr = inspect_binder b in - close_open_inverse' i bndr.binder_sort x; - close_open_inverse'_terms i bndr.binder_attrs x; + close_open_inverse' i bndr.sort x; + close_open_inverse'_terms i bndr.attrs x; pack_inspect_binder b and close_open_inverse'_terms (i:nat) (ts:list term) (x:var{ ~(x `Set.mem` freevars_terms ts) }) : Lemma - (ensures open_or_close_terms' - (open_or_close_terms' ts (open_with_var x) i) - (CloseVar x) - i + (ensures subst_terms + (subst_terms ts (open_with_var x i)) + [ ND x i ] == ts) (decreases ts) = match ts with @@ -486,10 +478,9 @@ and close_open_inverse'_terms (i:nat) (ts:list term) (x:var{ ~(x `Set.mem` freev and close_open_inverse'_branches (i:nat) (brs:list branch) (x:var{ ~(x `Set.mem` freevars_branches brs) }) : Lemma - (ensures open_or_close_branches' - (open_or_close_branches' brs (open_with_var x) i) - (CloseVar x) - i + (ensures subst_branches + (subst_branches brs (open_with_var x i)) + [ ND x i ] == brs) (decreases brs) = match brs with @@ -502,15 +493,14 @@ and close_open_inverse'_branch (i:nat) (br:branch) (x:var{ ~(x `Set.mem` freevars_branch br) }) : Lemma - (ensures open_or_close_branch' - (open_or_close_branch' br (open_with_var x) i) - (CloseVar x) - i + (ensures subst_branch + (subst_branch br (open_with_var x i)) + [ ND x i ] == br) (decreases br) = let p, t = br in close_open_inverse'_pattern i p x; - binder_offset_pattern_invariant p (open_with_var x) i; + binder_offset_pattern_invariant p (open_with_var x i); close_open_inverse' (i + binder_offset_pattern p) t x @@ -518,10 +508,9 @@ and close_open_inverse'_pattern (i:nat) (p:pattern) (x:var{ ~(x `Set.mem` freevars_pattern p) }) : Lemma - (ensures open_or_close_pattern' - (open_or_close_pattern' p (open_with_var x) i) - (CloseVar x) - i + (ensures subst_pattern + (subst_pattern p (open_with_var x i)) + [ ND x i ] == p) (decreases p) = match p with @@ -541,9 +530,9 @@ and close_open_inverse'_patterns (i:nat) (ps:list (pattern & bool)) (x:var {~ (x `Set.mem` freevars_patterns ps) }) : Lemma - (ensures open_or_close_patterns' (open_or_close_patterns' ps (open_with_var x) i) - (CloseVar x) - i + (ensures subst_patterns + (subst_patterns ps (open_with_var x i)) + [ ND x i ] == ps) (decreases ps) = match ps with @@ -551,16 +540,15 @@ and close_open_inverse'_patterns (i:nat) | (p, b)::ps' -> close_open_inverse'_pattern i p x; let n = binder_offset_pattern p in - binder_offset_pattern_invariant p (open_with_var x) i; + binder_offset_pattern_invariant p (open_with_var x i); close_open_inverse'_patterns (i + n) ps' x and close_open_inverse'_match_returns (i:nat) (m:match_returns_ascription) (x:var{ ~(x `Set.mem` freevars_match_returns m) }) : Lemma - (ensures open_or_close_match_returns' - (open_or_close_match_returns' m (open_with_var x) i) - (CloseVar x) - i + (ensures subst_match_returns + (subst_match_returns m (open_with_var x i)) + [ ND x i ] == m) (decreases m) = let b, (ret, as_, eq) = m in @@ -582,7 +570,7 @@ let close_open_inverse (e:R.term) (x:var {~ (x `Set.mem` freevars e) }) let rec close_with_not_free_var (t:R.term) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars t))) - (ensures open_or_close_term' t (CloseVar x) i == t) + (ensures subst_term t [ ND x i ] == t) (decreases t) = match inspect_ln t with @@ -600,14 +588,14 @@ let rec close_with_not_free_var (t:R.term) (x:var) (i:nat) close_binder_with_not_free_var b x i; close_comp_with_not_free_var c x (i + 1) | Tv_Type _ -> () - | Tv_Refine bv sort t -> - close_with_not_free_var sort x i; + | Tv_Refine b t -> + close_binder_with_not_free_var b x i; close_with_not_free_var t x (i + 1) | Tv_Const _ -> () | Tv_Uvar _ _ -> assert False - | Tv_Let recf attrs bv ty e1 e2 -> + | Tv_Let recf attrs b e1 e2 -> close_terms_with_not_free_var attrs x i; - close_with_not_free_var ty x i; + close_binder_with_not_free_var b x i; (if recf then close_with_not_free_var e1 x (i + 1) else close_with_not_free_var e1 x i); close_with_not_free_var e2 x (i + 1) @@ -640,7 +628,7 @@ and close_match_returns_with_not_free_var (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_match_returns r))) - (ensures open_or_close_match_returns' r (CloseVar x) i == r) + (ensures subst_match_returns r [ ND x i ] == r) (decreases r) = let b, (ret, as_opt, _) = r in @@ -657,7 +645,7 @@ and close_branches_with_not_free_var (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_branches brs))) - (ensures open_or_close_branches' brs (CloseVar x) i == brs) + (ensures subst_branches brs [ ND x i ] == brs) (decreases brs) = match brs with @@ -671,7 +659,7 @@ and close_branch_with_not_free_var (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_branch br))) - (ensures open_or_close_branch' br (CloseVar x) i == br) + (ensures subst_branch br [ ND x i ] == br) (decreases br) = let p, t = br in @@ -681,7 +669,7 @@ and close_branch_with_not_free_var and close_pattern_with_not_free_var (p:R.pattern) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_pattern p))) - (ensures open_or_close_pattern' p (CloseVar x) i == p) + (ensures subst_pattern p [ ND x i ] == p) (decreases p) = match p with @@ -697,7 +685,7 @@ and close_pattern_with_not_free_var (p:R.pattern) (x:var) (i:nat) and close_patterns_with_not_free_var (l:list (R.pattern & bool)) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_patterns l))) - (ensures open_or_close_patterns' l (CloseVar x) i == l) + (ensures subst_patterns l [ ND x i ] == l) (decreases l) = match l with @@ -709,7 +697,7 @@ and close_patterns_with_not_free_var (l:list (R.pattern & bool)) (x:var) (i:nat) and close_terms_with_not_free_var (l:list R.term) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_terms l))) - (ensures open_or_close_terms' l (CloseVar x) i == l) + (ensures subst_terms l [ ND x i ] == l) (decreases l) = match l with @@ -721,17 +709,17 @@ and close_terms_with_not_free_var (l:list R.term) (x:var) (i:nat) and close_binder_with_not_free_var (b:R.binder) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_binder b))) - (ensures open_or_close_binder' b (CloseVar x) i == b) + (ensures subst_binder b [ ND x i ] == b) (decreases b) = - let {binder_bv; binder_attrs; binder_sort} = inspect_binder b in - close_with_not_free_var binder_sort x i; - close_terms_with_not_free_var binder_attrs x i + let {attrs; sort} = inspect_binder b in + close_with_not_free_var sort x i; + close_terms_with_not_free_var attrs x i and close_comp_with_not_free_var (c:R.comp) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_comp c))) - (ensures open_or_close_comp' c (CloseVar x) i == c) + (ensures subst_comp c [ ND x i ] == c) (decreases c) = match inspect_comp c with @@ -749,7 +737,7 @@ and close_comp_with_not_free_var (c:R.comp) (x:var) (i:nat) and close_args_with_not_free_var (l:list R.argv) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars_args l))) - (ensures open_or_close_args' l (CloseVar x) i == l) + (ensures subst_args l [ ND x i ] == l) (decreases l) = match l with @@ -770,19 +758,19 @@ let equiv_abs_close #g #e1 #e2 ty q x eq = open_close_inverse' 0 e2 x; let eq : equiv (extend_env g x ty) - (open_or_close_term' - (open_or_close_term' e1 (CloseVar x) 0) - (open_with_var x) 0) - (open_or_close_term' - (open_or_close_term' e2 (CloseVar x) 0) - (open_with_var x) 0) = + (subst_term + (subst_term e1 [ ND x 0 ]) + (open_with_var x 0)) + (subst_term + (subst_term e2 [ ND x 0 ]) + (open_with_var x 0)) = eq in equiv_abs _ _ _ eq let rec open_with_gt_ln e i t j : Lemma (requires ln' e i /\ i < j) - (ensures open_or_close_term' e (OpenWith t) j == e) + (ensures subst_term e [ DT j t ] == e) (decreases e) = match inspect_ln e with | Tv_UInst _ _ @@ -802,13 +790,13 @@ let rec open_with_gt_ln e i t j | Tv_Arrow b c -> open_with_gt_ln_binder b i t j; open_with_gt_ln_comp c (i + 1) t (j + 1) - | Tv_Refine bv sort f -> - open_with_gt_ln sort i t j; + | Tv_Refine b f -> + open_with_gt_ln_binder b i t j; open_with_gt_ln f (i + 1) t (j + 1) | Tv_Uvar j c -> admit () - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> open_with_gt_ln_terms attrs i t j; - open_with_gt_ln ty i t j; + open_with_gt_ln_binder b i t j; (if recf then open_with_gt_ln def (i + 1) t (j + 1) else open_with_gt_ln def i t j); @@ -834,16 +822,16 @@ let rec open_with_gt_ln e i t j and open_with_gt_ln_binder (b:binder) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_binder b i /\ i < j) - (ensures open_or_close_binder' b (OpenWith t) j == b) + (ensures subst_binder b [ DT j t ] == b) (decreases b) = - let {binder_bv;binder_attrs;binder_sort} = inspect_binder b in - open_with_gt_ln binder_sort i t j; - open_with_gt_ln_terms binder_attrs i t j + let {attrs;sort} = inspect_binder b in + open_with_gt_ln sort i t j; + open_with_gt_ln_terms attrs i t j and open_with_gt_ln_comp (c:comp) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_comp c i /\ i < j) - (ensures open_or_close_comp' c (OpenWith t) j == c) + (ensures subst_comp c [ DT j t ] == c) (decreases c) = match inspect_comp c with @@ -860,7 +848,7 @@ and open_with_gt_ln_comp (c:comp) (i:nat) (t:term) (j:nat) and open_with_gt_ln_terms (l:list term) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_terms l i /\ i < j) - (ensures open_or_close_terms' l (OpenWith t) j == l) + (ensures subst_terms l [ DT j t ] == l) (decreases l) = match l with | [] -> () @@ -870,7 +858,7 @@ and open_with_gt_ln_terms (l:list term) (i:nat) (t:term) (j:nat) and open_with_gt_ln_match_returns (m:match_returns_ascription) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_match_returns m i /\ i < j) - (ensures open_or_close_match_returns' m (OpenWith t) j == m) + (ensures subst_match_returns m [ DT j t ] == m) (decreases m) = let b, (ret, as_, _) = m in @@ -885,7 +873,7 @@ and open_with_gt_ln_match_returns (m:match_returns_ascription) (i:nat) (t:term) and open_with_gt_ln_branches (l:list branch) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_branches l i /\ i < j) - (ensures open_or_close_branches' l (OpenWith t) j == l) + (ensures subst_branches l [ DT j t ] == l) (decreases l) = match l with | [] -> () @@ -895,7 +883,7 @@ and open_with_gt_ln_branches (l:list branch) (i:nat) (t:term) (j:nat) and open_args_with_gt_ln_args (l:list argv) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_args l i /\ i < j) - (ensures open_or_close_args' l (OpenWith t) j == l) + (ensures subst_args l [ DT j t ] == l) (decreases l) = match l with @@ -906,7 +894,7 @@ and open_args_with_gt_ln_args (l:list argv) (i:nat) (t:term) (j:nat) and open_with_gt_ln_branch (b:branch) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_branch b i /\ i < j) - (ensures open_or_close_branch' b (OpenWith t) j == b) + (ensures subst_branch b [ DT j t ] == b) (decreases b) = let p, t1 = b in @@ -916,7 +904,7 @@ and open_with_gt_ln_branch (b:branch) (i:nat) (t:term) (j:nat) and open_with_gt_ln_pat (p:pattern) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_pattern p i /\ i < j) - (ensures open_or_close_pattern' p (OpenWith t) j == p) + (ensures subst_pattern p [ DT j t ] == p) (decreases p) = match p with @@ -931,7 +919,7 @@ and open_with_gt_ln_pat (p:pattern) (i:nat) (t:term) (j:nat) and open_with_gt_ln_pats (l:list (pattern & bool)) (i:nat) (t:term) (j:nat) : Lemma (requires ln'_patterns l i /\ i < j) - (ensures open_or_close_patterns' l (OpenWith t) j == l) + (ensures subst_patterns l [ DT j t ] == l) (decreases l) = match l with @@ -940,3 +928,5 @@ and open_with_gt_ln_pats (l:list (pattern & bool)) (i:nat) (t:term) (j:nat) open_with_gt_ln_pat (fst hd) i t j; let k = binder_offset_pattern (fst hd) in open_with_gt_ln_pats tl (i + k) t (j + k) + +let if_complete_match (g:env) (t:term) = magic() diff --git a/ulib/experimental/FStar.Reflection.Typing.fsti b/ulib/experimental/FStar.Reflection.Typing.fsti index 8144635b2dc..42801c55a48 100644 --- a/ulib/experimental/FStar.Reflection.Typing.fsti +++ b/ulib/experimental/FStar.Reflection.Typing.fsti @@ -28,10 +28,38 @@ module FStar.Reflection.Typing *) open FStar.List.Tot -open FStar.Reflection -module R = FStar.Reflection -module T = FStar.Tactics -module FTB = FStar.Tactics.Builtins +open FStar.Reflection.V2 +module L = FStar.List.Tot +module R = FStar.Reflection.V2 +module T = FStar.Tactics.V2 +module RD = FStar.Reflection.V2.Data + +(* MOVE to some helper module *) +let rec fold_left_dec #a #b + (acc : a) + (l : list b) + (f : a -> (x:b{x << l}) -> a) + : Tot a (decreases l) + = + match l with + | [] -> acc + | x::xs -> fold_left_dec (f acc x) xs f + +let rec map_dec #a #b + (l : list a) + (f : (x:a{x << l}) -> b) + : Tot (list b) (decreases l) + = + match l with + | [] -> [] + | x::xs -> f x :: map_dec xs f + +let rec zip2prop #a #b (f : a -> b -> Type0) (xs : list a) (ys : list b) : Type0 = + match xs, ys with + | [], [] -> True + | x::xx, y::yy -> f x y /\ zip2prop f xx yy + | _ -> False +(* / MOVE *) val inspect_pack (t:R.term_view) : Lemma (ensures R.(inspect_ln (pack_ln t) == t)) @@ -42,6 +70,14 @@ val pack_inspect (t:R.term) (ensures R.(pack_ln (inspect_ln t) == t)) [SMTPat R.(pack_ln (inspect_ln t))] +val inspect_pack_namedv (t:R.namedv_view) + : Lemma (ensures R.(inspect_namedv (pack_namedv t) == t)) + [SMTPat R.(inspect_namedv (pack_namedv t))] + +val pack_inspect_namedv (t:R.namedv) + : Lemma (ensures R.(pack_namedv (inspect_namedv t) == t)) + [SMTPat R.(pack_namedv (inspect_namedv t))] + val inspect_pack_bv (t:R.bv_view) : Lemma (ensures R.(inspect_bv (pack_bv t) == t)) [SMTPat R.(inspect_bv (pack_bv t))] @@ -58,31 +94,31 @@ val pack_inspect_binder (t:R.binder) : Lemma (ensures (R.pack_binder (R.inspect_binder t) == t)) [SMTPat (R.pack_binder (R.inspect_binder t))] +val inspect_pack_comp (t:R.comp_view) + : Lemma (ensures (R.inspect_comp (R.pack_comp t) == t)) + [SMTPat (R.inspect_comp (R.pack_comp t))] + val pack_inspect_comp (t:R.comp) : Lemma (ensures (R.pack_comp (R.inspect_comp t) == t)) [SMTPat (R.pack_comp (R.inspect_comp t))] -val inspect_pack_comp (t:R.comp_view) - : Lemma (ensures (R.inspect_comp (R.pack_comp t) == t)) - [SMTPat (R.inspect_comp (R.pack_comp t))] +val inspect_pack_fv (nm:R.name) + : Lemma (ensures R.inspect_fv (R.pack_fv nm) == nm) + [SMTPat (R.inspect_fv (R.pack_fv nm))] val pack_inspect_fv (fv:R.fv) : Lemma (ensures R.pack_fv (R.inspect_fv fv) == fv) [SMTPat (R.pack_fv (R.inspect_fv fv))] -val inspect_pack_fv (nm:R.name) - : Lemma (ensures R.inspect_fv (R.pack_fv nm) == nm) - [SMTPat (R.inspect_fv (R.pack_fv nm))] +val inspect_pack_universe (u:R.universe_view) + : Lemma (ensures R.inspect_universe (R.pack_universe u) == u) + [SMTPat (R.inspect_universe (R.pack_universe u))] val pack_inspect_universe (u:R.universe) : Lemma (requires ~(Uv_Unk? (inspect_universe u))) (ensures R.pack_universe (R.inspect_universe u) == u) [SMTPat (R.pack_universe (R.inspect_universe u))] -val inspect_pack_universe (u:R.universe_view) - : Lemma (ensures R.inspect_universe (R.pack_universe u) == u) - [SMTPat (R.inspect_universe (R.pack_universe u))] - val lookup_bvar (e:env) (x:int) : option term val lookup_fvar_uinst (e:R.env) (x:R.fv) (us:list R.universe) : option R.term @@ -93,16 +129,32 @@ let pp_name_t = FStar.Sealed.Inhabited.sealed "x" let pp_name_default : pp_name_t = FStar.Sealed.Inhabited.seal "x" let seal_pp_name x : pp_name_t = FStar.Sealed.Inhabited.seal x -let mk_binder (pp_name:pp_name_t) (x:var) (ty:term) (q:aqualv) +let tun = pack_ln Tv_Unknown + +let sort_t = FStar.Sealed.Inhabited.sealed tun +let sort_default : sort_t = FStar.Sealed.Inhabited.seal tun +let seal_sort x : sort_t = FStar.Sealed.Inhabited.seal x + +let mk_binder (pp_name:pp_name_t) (ty:term) (q:aqualv) : binder = pack_binder - { binder_bv=pack_bv ({bv_ppname=pp_name; - bv_index=x}); - binder_qual=q; - binder_attrs=[]; - binder_sort=ty} + { ppname = pp_name; + qual = q; + attrs = []; + sort = ty} + +let mk_simple_binder (pp_name:pp_name_t) (ty:term) : simple_binder + = pack_binder + { ppname = pp_name; + qual = Q_Explicit; + attrs = []; + sort = ty} let extend_env (e:env) (x:var) (ty:term) : env = - R.push_binder e (mk_binder (seal_pp_name "x") x ty Q_Explicit) + R.push_binding e ({ + ppname = seal_pp_name "x"; + uniq = x; + sort = ty; + }) val lookup_bvar_extend_env (g:env) (x y:var) (ty:term) : Lemma @@ -117,39 +169,128 @@ val lookup_fvar_extend_env (g:env) (x:fv) (us:universes) (y:var) (ty:term) (ensures lookup_fvar_uinst (extend_env g y ty) x us == lookup_fvar_uinst g x us) [SMTPat (lookup_fvar_uinst (extend_env g y ty) x us)] -let as_binder (x:var) (ty:term) = - mk_binder (seal_pp_name "x") x ty Q_Explicit - let bv_index (x:bv) : var - = (inspect_bv x).bv_index + = (inspect_bv x).index + +let namedv_uniq (x:namedv) + : var + = (inspect_namedv x).uniq let binder_sort (b:binder) = - (inspect_binder b).binder_sort + (inspect_binder b).sort let binder_qual (b:binder) = - let { binder_qual = q } = inspect_binder b in q + let { qual = q } = inspect_binder b in q noeq -type open_or_close = - | OpenWith of term - | CloseVar of var - | Rename : var -> var -> open_or_close +type subst_elt = + | DT : nat -> term -> subst_elt + | NT : var -> term -> subst_elt + | ND : var -> nat -> subst_elt -let tun = pack_ln Tv_Unknown +let shift_subst_elt (n:nat) = function + | DT i t -> DT (i + n) t + | NT x t -> NT x t + | ND x i -> ND x (i + n) + +let subst = list subst_elt + +let shift_subst_n (n:nat) = L.map (shift_subst_elt n) -let make_bv (n:nat) = { - bv_ppname = pp_name_default; - bv_index = n; +let shift_subst = shift_subst_n 1 + +let maybe_uniq_of_term (x:term) = + match inspect_ln x with + | Tv_Var namedv -> Some (namedv_uniq namedv) + | _ -> None + +let rec find_matching_subst_elt_bv (s:subst) (bv:bv) : option subst_elt = + match s with + | [] -> None + | (DT j t)::ss -> + if j = bv_index bv + then Some (DT j t) + else find_matching_subst_elt_bv ss bv + | _::ss -> find_matching_subst_elt_bv ss bv + +let subst_db (bv:bv) (s:subst) : term = + match find_matching_subst_elt_bv s bv with + | Some (DT _ t) -> + (match maybe_uniq_of_term t with + | None -> t + | Some k -> + //if we're substituting a name j for a name k, retain the pp_name of j + let v : namedv = pack_namedv { + sort = (inspect_bv bv).sort; + ppname = (inspect_bv bv).ppname; + uniq = k; + } in + pack_ln (Tv_Var v)) + | _ -> pack_ln (Tv_BVar bv) + +let rec find_matching_subst_elt_var (s:subst) (v:namedv) : option subst_elt = + match s with + | [] -> None + | (NT y _)::rest + | (ND y _)::rest -> + if y = namedv_uniq v + then Some (L.hd s) + else find_matching_subst_elt_var rest v + | _::rest -> find_matching_subst_elt_var rest v + +let subst_var (v:namedv) (s:subst) : term = + match find_matching_subst_elt_var s v with + | Some (NT _ t) -> + (match maybe_uniq_of_term t with + | None -> t + | Some k -> + pack_ln (Tv_Var (pack_namedv { inspect_namedv v with uniq = k }))) + | Some (ND _ i) -> + let bv = pack_bv { + sort = (inspect_namedv v).sort; + ppname = (inspect_namedv v).ppname; + index = i; + } in + pack_ln (Tv_BVar bv) + | _ -> pack_ln (Tv_Var v) + +let make_bv (n:nat) : bv_view = { + ppname = pp_name_default; + index = n; + sort = sort_default; } -let make_bv_with_name (s:pp_name_t) (n:nat) = { - bv_ppname = s; - bv_index = n; +let make_bv_with_name (s:pp_name_t) (n:nat) : bv_view = { + ppname = s; + index = n; + sort = sort_default; } + + let var_as_bv (v:nat) = pack_bv (make_bv v) -let var_as_term (v:var) = pack_ln (Tv_Var (var_as_bv v)) -let binder_of_t_q t q = mk_binder pp_name_default 0 t q +let make_namedv (n:nat) : namedv_view = { + ppname = pp_name_default; + uniq = n; + sort = sort_default; +} + +let make_namedv_with_name (s:pp_name_t) (n:nat) : namedv_view = { + ppname = s; + uniq = n; + sort = sort_default; +} + +let var_as_namedv (v:nat) : namedv = + pack_namedv { + uniq = v; + sort = sort_default; + ppname = pp_name_default; + } + +let var_as_term (v:var) = pack_ln (Tv_Var (var_as_namedv v)) + +let binder_of_t_q t q = mk_binder pp_name_default t q let mk_abs ty qual t : R.term = R.pack_ln (R.Tv_Abs (binder_of_t_q ty qual) t) let mk_total t = pack_comp (C_Total t) let mk_ghost t = pack_comp (C_GTotal t) @@ -159,16 +300,13 @@ let mk_ghost_arrow ty qual t : R.term = R.pack_ln (R.Tv_Arrow (binder_of_t_q ty qual) (mk_ghost t)) let bound_var i : R.term = R.pack_ln (R.Tv_BVar (R.pack_bv (make_bv i))) let mk_let ppname (e1 t1 e2:R.term) = - R.pack_ln (R.Tv_Let false [] (R.pack_bv (make_bv_with_name ppname 0)) t1 e1 e2) + R.pack_ln (R.Tv_Let false [] (mk_simple_binder ppname t1) e1 e2) -let open_with_var (x:var) = OpenWith (pack_ln (Tv_Var (var_as_bv x))) - -let maybe_index_of_term (x:term) = - match inspect_ln x with - | Tv_Var bv -> Some (bv_index bv) - | _ -> None - -val open_or_close_ctx_uvar_and_subst (c:ctx_uvar_and_subst) (v:open_or_close) (i:nat) +let open_with_var_elt (x:var) (i:nat) : subst_elt = + DT i (pack_ln (Tv_Var (var_as_namedv x))) +let open_with_var (x:var) (i:nat) : subst = [open_with_var_elt x i] + +val subst_ctx_uvar_and_subst (c:ctx_uvar_and_subst) (ss:subst) : ctx_uvar_and_subst let rec binder_offset_patterns (ps:list (pattern & bool)) @@ -188,10 +326,10 @@ and binder_offset_pattern (p:pattern) | Pat_Var _ _ -> 1 - | Pat_Cons fv us pats -> - binder_offset_patterns pats + | Pat_Cons head univs subpats -> + binder_offset_patterns subpats -let rec open_or_close_term' (t:term) (v:open_or_close) (i:nat) +let rec subst_term (t:term) (ss:subst) : Tot term (decreases t) = match inspect_ln t with | Tv_UInst _ _ @@ -200,210 +338,195 @@ let rec open_or_close_term' (t:term) (v:open_or_close) (i:nat) | Tv_Const _ | Tv_Unsupp | Tv_Unknown -> t - | Tv_Var x -> - (match v with - | OpenWith _ -> t - | CloseVar y -> - if bv_index x = y - then pack_ln (Tv_BVar (pack_bv { inspect_bv x with bv_index = i })) - else t - | Rename y z -> - if bv_index x = y - then pack_ln (Tv_Var (pack_bv { inspect_bv x with bv_index = z })) - else t) - - | Tv_BVar j -> - (match v with - | Rename _ _ -> t - | CloseVar _ -> t - | OpenWith v -> - if i=bv_index j - then ( - match maybe_index_of_term v with - | None -> v - | Some k -> - //if we're substituting a name j for a name k, retain the pp_name of j - pack_ln (Tv_Var (pack_bv { inspect_bv j with bv_index = k })) - ) - else t - ) - + | Tv_Var x -> subst_var x ss + | Tv_BVar j -> subst_db j ss | Tv_App hd argv -> - pack_ln (Tv_App (open_or_close_term' hd v i) - (open_or_close_term' (fst argv) v i, snd argv)) + pack_ln (Tv_App (subst_term hd ss) + (subst_term (fst argv) ss, snd argv)) | Tv_Abs b body -> - let b' = open_or_close_binder' b v i in - pack_ln (Tv_Abs b' (open_or_close_term' body v (i + 1))) + let b' = subst_binder b ss in + pack_ln (Tv_Abs b' (subst_term body (shift_subst ss))) | Tv_Arrow b c -> - let b' = open_or_close_binder' b v i in - pack_ln (Tv_Arrow b' (open_or_close_comp' c v (i + 1))) + let b' = subst_binder b ss in + pack_ln (Tv_Arrow b' (subst_comp c (shift_subst ss))) - | Tv_Refine bv sort f -> - pack_ln (Tv_Refine bv (open_or_close_term' sort v i) - (open_or_close_term' f v (i + 1))) + | Tv_Refine b f -> + let b = subst_binder b ss in + pack_ln (Tv_Refine b (subst_term f (shift_subst ss))) | Tv_Uvar j c -> - pack_ln (Tv_Uvar j (open_or_close_ctx_uvar_and_subst c v i)) + pack_ln (Tv_Uvar j (subst_ctx_uvar_and_subst c ss)) - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> + let b = subst_binder b ss in pack_ln (Tv_Let recf - (open_or_close_terms' attrs v i) - bv - (open_or_close_term' ty v i) + (subst_terms attrs ss) + b (if recf - then open_or_close_term' def v (i + 1) - else open_or_close_term' def v i) - (open_or_close_term' body v (i + 1))) + then subst_term def (shift_subst ss) + else subst_term def ss) + (subst_term body (shift_subst ss))) | Tv_Match scr ret brs -> - pack_ln (Tv_Match (open_or_close_term' scr v i) + pack_ln (Tv_Match (subst_term scr ss) (match ret with | None -> None - | Some m -> Some (open_or_close_match_returns' m v i)) - (open_or_close_branches' brs v i)) + | Some m -> Some (subst_match_returns m ss)) + (subst_branches brs ss)) | Tv_AscribedT e t tac b -> - pack_ln (Tv_AscribedT (open_or_close_term' e v i) - (open_or_close_term' t v i) + pack_ln (Tv_AscribedT (subst_term e ss) + (subst_term t ss) (match tac with | None -> None - | Some tac -> Some (open_or_close_term' tac v i)) + | Some tac -> Some (subst_term tac ss)) b) | Tv_AscribedC e c tac b -> - pack_ln (Tv_AscribedC (open_or_close_term' e v i) - (open_or_close_comp' c v i) + pack_ln (Tv_AscribedC (subst_term e ss) + (subst_comp c ss) (match tac with | None -> None - | Some tac -> Some (open_or_close_term' tac v i)) + | Some tac -> Some (subst_term tac ss)) b) -and open_or_close_binder' (b:binder) (v:open_or_close) (i:nat) - : Tot binder (decreases b) +and subst_binder (b:binder) (ss:subst) + : Tot (b':binder{binder_is_simple b ==> binder_is_simple b'}) (decreases b) = let bndr = inspect_binder b in - pack_binder {binder_bv=bndr.binder_bv; - binder_qual=bndr.binder_qual; - binder_attrs=open_or_close_terms' bndr.binder_attrs v i; - binder_sort=open_or_close_term' bndr.binder_sort v i} - -and open_or_close_comp' (c:comp) (v:open_or_close) (i:nat) + pack_binder { + ppname = bndr.ppname; + qual = bndr.qual; + attrs = subst_terms bndr.attrs ss; + sort = subst_term bndr.sort ss + } + +and subst_comp (c:comp) (ss:subst) : Tot comp (decreases c) = match inspect_comp c with | C_Total t -> - pack_comp (C_Total (open_or_close_term' t v i)) + pack_comp (C_Total (subst_term t ss)) | C_GTotal t -> - pack_comp (C_GTotal (open_or_close_term' t v i)) + pack_comp (C_GTotal (subst_term t ss)) | C_Lemma pre post pats -> - pack_comp (C_Lemma (open_or_close_term' pre v i) - (open_or_close_term' post v i) - (open_or_close_term' pats v i)) + pack_comp (C_Lemma (subst_term pre ss) + (subst_term post ss) + (subst_term pats ss)) | C_Eff us eff_name res args decrs -> pack_comp (C_Eff us eff_name - (open_or_close_term' res v i) - (open_or_close_args' args v i) - (open_or_close_terms' decrs v i)) + (subst_term res ss) + (subst_args args ss) + (subst_terms decrs ss)) -and open_or_close_terms' (ts:list term) (v:open_or_close) (i:nat) - : Tot (list term) (decreases ts) +and subst_terms (ts:list term) (ss:subst) + : Tot (ts':list term{Nil? ts ==> Nil? ts'}) // property useful for subst_binder + (decreases ts) = match ts with | [] -> [] - | t::ts -> open_or_close_term' t v i :: open_or_close_terms' ts v i + | t::ts -> subst_term t ss :: subst_terms ts ss -and open_or_close_args' (ts:list argv) (v:open_or_close) (i:nat) +and subst_args (ts:list argv) (ss:subst) : Tot (list argv) (decreases ts) = match ts with | [] -> [] - | (t,q)::ts -> (open_or_close_term' t v i,q) :: open_or_close_args' ts v i + | (t,q)::ts -> (subst_term t ss,q) :: subst_args ts ss -and open_or_close_patterns' (ps:list (pattern & bool)) (v:open_or_close) (i:nat) +and subst_patterns (ps:list (pattern & bool)) (ss:subst) : Tot (list (pattern & bool)) (decreases ps) = match ps with | [] -> ps | (p, b)::ps -> let n = binder_offset_pattern p in - let p = open_or_close_pattern' p v i in - let ps = open_or_close_patterns' ps v (i + n) in + let p = subst_pattern p ss in + let ps = subst_patterns ps (shift_subst_n n ss) in (p,b)::ps -and open_or_close_pattern' (p:pattern) (v:open_or_close) (i:nat) +and subst_pattern (p:pattern) (ss:subst) : Tot pattern (decreases p) = match p with | Pat_Constant _ -> p | Pat_Cons fv us pats -> - let pats = open_or_close_patterns' pats v i in + let pats = subst_patterns pats ss in Pat_Cons fv us pats - | Pat_Var bv st -> - Pat_Var bv st + | Pat_Var bv s -> + Pat_Var bv s | Pat_Dot_Term topt -> Pat_Dot_Term (match topt with | None -> None - | Some t -> Some (open_or_close_term' t v i)) + | Some t -> Some (subst_term t ss)) -and open_or_close_branch' (br:branch) (v:open_or_close) (i:nat) +and subst_branch (br:branch) (ss:subst) : Tot branch (decreases br) = let p, t = br in - let p = open_or_close_pattern' p v i in + let p = subst_pattern p ss in let j = binder_offset_pattern p in - let t = open_or_close_term' t v (i + j) in + let t = subst_term t (shift_subst_n j ss) in p, t -and open_or_close_branches' (brs:list branch) (v:open_or_close) (i:nat) +and subst_branches (brs:list branch) (ss:subst) : Tot (list branch) (decreases brs) = match brs with | [] -> [] - | br::brs -> open_or_close_branch' br v i :: open_or_close_branches' brs v i + | br::brs -> subst_branch br ss :: subst_branches brs ss -and open_or_close_match_returns' (m:match_returns_ascription) (v:open_or_close) (i:nat) +and subst_match_returns (m:match_returns_ascription) (ss:subst) : Tot match_returns_ascription (decreases m) = let b, (ret, as_, eq) = m in - let b = open_or_close_binder' b v i in + let b = subst_binder b ss in let ret = match ret with - | Inl t -> Inl (open_or_close_term' t v (i + 1)) - | Inr c -> Inr (open_or_close_comp' c v (i + 1)) + | Inl t -> Inl (subst_term t (shift_subst ss)) + | Inr c -> Inr (subst_comp c (shift_subst ss)) in let as_ = match as_ with | None -> None - | Some t -> Some (open_or_close_term' t v (i + 1)) + | Some t -> Some (subst_term t (shift_subst ss)) in b, (ret, as_, eq) val open_with (t:term) (v:term) : term - + val open_with_spec (t v:term) - : Lemma (open_with t v == open_or_close_term' t (OpenWith v) 0) + : Lemma (open_with t v == + subst_term t [ DT 0 v ]) val open_term (t:term) (v:var) : term val open_term_spec (t:term) (v:var) - : Lemma (open_term t v == open_or_close_term' t (open_with_var v) 0) + : Lemma (open_term t v == + subst_term t (open_with_var v 0)) val close_term (t:term) (v:var) : term val close_term_spec (t:term) (v:var) - : Lemma (close_term t v == open_or_close_term' t (CloseVar v) 0) + : Lemma (close_term t v == + subst_term t [ ND v 0 ]) val rename (t:term) (x y:var) : term val rename_spec (t:term) (x y:var) - : Lemma (rename t x y == open_or_close_term' t (Rename x y) 0) + : Lemma (rename t x y == + subst_term t [ NT x (var_as_term y)]) val bv_index_of_make_bv (n:nat) : Lemma (ensures bv_index (pack_bv (make_bv n)) == n) [SMTPat (bv_index (pack_bv (make_bv n)))] +val namedv_uniq_of_make_namedv (n:nat) + : Lemma (ensures namedv_uniq (pack_namedv (make_namedv n)) == n) + [SMTPat (namedv_uniq (pack_namedv (make_namedv n)))] + let constant_as_term (v:vconst) = pack_ln (Tv_Const v) let unit_exp = constant_as_term C_Unit let unit_fv = pack_fv unit_lid @@ -433,7 +556,7 @@ let eq2 (u:universe) (t v0 v1:term) let b2t_lid : R.name = ["Prims"; "b2t"] let b2t_fv : R.fv = R.pack_fv b2t_lid -let b2t_ty : R.term = R.(pack_ln (Tv_Arrow (as_binder 0 bool_ty) (mk_total (tm_type u_zero)))) +let b2t_ty : R.term = R.pack_ln (R.Tv_Arrow (mk_binder (seal "x") bool_ty Q_Explicit) (mk_total (tm_type u_zero))) //////////////////////////////////////////////////////////////////////////////// @@ -454,7 +577,7 @@ let rec freevars (e:term) | Tv_Unsupp | Tv_BVar _ -> Set.empty - | Tv_Var x -> Set.singleton (bv_index x) + | Tv_Var x -> Set.singleton (namedv_uniq x) | Tv_App e1 (e2, _) -> Set.union (freevars e1) (freevars e2) @@ -465,13 +588,13 @@ let rec freevars (e:term) | Tv_Arrow b c -> Set.union (freevars_binder b) (freevars_comp c) - | Tv_Refine bv sort f -> - freevars sort `Set.union` + | Tv_Refine b f -> + freevars (binder_sort b) `Set.union` freevars f - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> freevars_terms attrs `Set.union` - freevars ty `Set.union` + freevars (binder_sort b) `Set.union` freevars def `Set.union` freevars body @@ -532,9 +655,8 @@ and freevars_terms (ts:list term) and freevars_binder (b:binder) : Tot (Set.set var) (decreases b) = let bndr = inspect_binder b in - freevars bndr.binder_sort `Set.union` - freevars_terms bndr.binder_attrs - + freevars bndr.sort `Set.union` + freevars_terms bndr.attrs and freevars_pattern (p:pattern) : Tot (Set.set var) (decreases p) @@ -542,10 +664,10 @@ and freevars_pattern (p:pattern) | Pat_Constant _ -> Set.empty - | Pat_Cons fv us pats -> - freevars_patterns pats + | Pat_Cons head univs subpats -> + freevars_patterns subpats - | Pat_Var bv _ -> Set.empty + | Pat_Var bv s -> Set.empty | Pat_Dot_Term topt -> freevars_opt topt freevars @@ -603,16 +725,16 @@ let rec ln' (e:term) (n:int) ln'_binder b n && ln'_comp c (n + 1) - | Tv_Refine bv sort f -> - ln' sort n && + | Tv_Refine b f -> + ln'_binder b n && ln' f (n + 1) | Tv_Uvar _ _ -> false - | Tv_Let recf attrs bv ty def body -> + | Tv_Let recf attrs b def body -> ln'_terms attrs n && - ln' ty n && + ln'_binder b n && (if recf then ln' def (n + 1) else ln' def n) && ln' body (n + 1) @@ -664,8 +786,8 @@ and ln'_args (ts:list argv) (i:int) and ln'_binder (b:binder) (n:int) : Tot bool (decreases b) = let bndr = inspect_binder b in - ln' bndr.binder_sort n && - ln'_terms bndr.binder_attrs n + ln' bndr.sort n && + ln'_terms bndr.attrs n and ln'_terms (ts:list term) (n:int) : Tot bool (decreases ts) @@ -690,10 +812,10 @@ and ln'_pattern (p:pattern) (i:int) = match p with | Pat_Constant _ -> true - | Pat_Cons fv us pats -> - ln'_patterns pats i + | Pat_Cons head univs subpats -> + ln'_patterns subpats i - | Pat_Var bv _ -> true + | Pat_Var bv s -> true | Pat_Dot_Term topt -> (match topt with @@ -859,7 +981,7 @@ and univ_leq : universe -> universe -> Type0 = univ_leq u (u_max u v) let mk_if (scrutinee then_ else_:R.term) : R.term = - pack_ln (Tv_Match scrutinee None [(Pat_Constant C_True, then_); + pack_ln (Tv_Match scrutinee None [(Pat_Constant C_True, then_); (Pat_Constant C_False, else_)]) @@ -867,13 +989,13 @@ let mk_if (scrutinee then_ else_:R.term) : R.term = type comp_typ = T.tot_or_ghost & typ let close_comp_typ' (c:comp_typ) (x:var) (i:nat) = - fst c, open_or_close_term' (snd c) (CloseVar x) i + fst c, subst_term (snd c) [ ND x i ] let close_comp_typ (c:comp_typ) (x:var) = close_comp_typ' c x 0 let open_comp_typ' (c:comp_typ) (x:var) (i:nat) = - fst c, open_or_close_term' (snd c) (open_with_var x) i + fst c, subst_term (snd c) (open_with_var x i) let open_comp_typ (c:comp_typ) (x:var) = open_comp_typ' c x 0 @@ -892,6 +1014,16 @@ type relation = | R_Eq | R_Sub +let binding = var & term +let bindings = list binding +let rename_bindings bs x y = FStar.List.Tot.map (fun (v, t) -> (v, rename t x y)) bs + +let rec extend_env_l (g:env) (bs:bindings) + : env + = match bs with + | [] -> g + | (x,t)::bs -> extend_env (extend_env_l g bs) x t + // // TODO: support for erasable attribute // @@ -903,6 +1035,24 @@ let is_non_informative_name (l:name) : bool = let is_non_informative_fv (f:fv) : bool = is_non_informative_name (inspect_fv f) +let rec __close_term_vs (i:nat) (vs : list var) (t : term) : Tot term (decreases vs) = + match vs with + | [] -> t + | v::vs -> + subst_term (__close_term_vs (i+1) vs t) [ND v i] + +let close_term_vs (vs : list var) (t : term) : term = + __close_term_vs 0 vs t + +let close_term_bs (bs : list binding) (t : term) : term = + close_term_vs (List.Tot.map fst bs) t + +let bindings_to_refl_bindings (bs : list binding) : list R.binding = + L.map (fun (v, ty) -> {uniq=v; sort=ty; ppname = pp_name_default}) bs + +let refl_bindings_to_bindings (bs : list R.binding) : list binding = + L.map (fun b -> b.uniq, b.sort) bs + [@@ no_auto_projectors] noeq type non_informative : term -> Type0 = @@ -937,7 +1087,49 @@ type non_informative : term -> Type0 = q:aqualv -> t1:term -> non_informative (mk_arrow_ct t0 q (T.E_Ghost, t1)) - + +val bindings_ok_for_pat : env -> list R.binding -> pattern -> Type0 + +val bindings_ok_pat_constant : + g:env -> c:R.vconst -> Lemma (bindings_ok_for_pat g [] (Pat_Constant c)) + +let bindings_ok_for_branch (g:env) (bs : list R.binding) (br : branch) : Type0 = + bindings_ok_for_pat g bs (fst br) + +let bindings_ok_for_branch_N (g:env) (bss : list (list R.binding)) (brs : list branch) = + zip2prop (bindings_ok_for_branch g) bss brs + +let binding_to_namedv (b:R.binding) : Tot namedv = + pack_namedv { + RD.uniq = b.uniq; + RD.sort = seal b.sort; + RD.ppname = b.ppname; + } + +(* Elaborates the p pattern into a term, using the bs bindings for the +pattern variables. The resulting term is properly scoped only on an +environment which contains all of bs. See for instance the branch_typing +judg. Returns an option, since this can fail if e.g. there are not +enough bindings, and returns the list of unused binders as well, which +should be empty if the list of binding was indeed ok. *) +let rec elaborate_pat (p : pattern) (bs : list R.binding) : Tot (option (term & list R.binding)) (decreases p) = + match p, bs with + | Pat_Constant c, _ -> Some (pack_ln (Tv_Const c), bs) + | Pat_Cons fv univs subpats, bs -> + let head = pack_ln (Tv_FVar fv) in + fold_left_dec + (Some (head, bs)) + subpats + (fun st pi -> + let (p,i) = pi in + match st with | None -> None | Some (head, bs) -> + match elaborate_pat p bs with | None -> None | Some (t, bs') -> Some (pack_ln (Tv_App head (t, (if i then Q_Implicit else Q_Explicit))), bs')) + + | Pat_Var _ _, b::bs -> + Some (pack_ln (Tv_Var (binding_to_namedv b)), bs) + | Pat_Dot_Term (Some t), _ -> Some (t, bs) + | Pat_Dot_Term None, _ -> None + | _ -> None [@@ no_auto_projectors] noeq @@ -946,13 +1138,13 @@ type typing : env -> term -> comp_typ -> Type0 = g:env -> e:term -> c:comp_typ -> - squash (FTB.typing_token g e c) -> + squash (T.typing_token g e c) -> typing g e c | T_Var : g:env -> - x:bv { Some? (lookup_bvar g (bv_index x)) } -> - typing g (pack_ln (Tv_Var x)) (T.E_Total, Some?.v (lookup_bvar g (bv_index x))) + x:namedv { Some? (lookup_bvar g (namedv_uniq x)) } -> + typing g (pack_ln (Tv_Var x)) (T.E_Total, Some?.v (lookup_bvar g (namedv_uniq x))) | T_FVar : g:env -> @@ -984,9 +1176,9 @@ type typing : env -> term -> comp_typ -> Type0 = ty_eff:T.tot_or_ghost -> typing g ty (ty_eff, tm_type u) -> typing (extend_env g x ty) (open_term body x) body_c -> - typing g (pack_ln (Tv_Abs (mk_binder pp_name 0 ty q) body)) + typing g (pack_ln (Tv_Abs (mk_binder pp_name ty q) body)) (T.E_Total, - pack_ln (Tv_Arrow (mk_binder pp_name 0 ty q) + pack_ln (Tv_Arrow (mk_binder pp_name ty q) (mk_comp (close_comp_typ body_c x)))) | T_App : @@ -1028,7 +1220,7 @@ type typing : env -> term -> comp_typ -> Type0 = t2_eff:T.tot_or_ghost -> typing g t1 (t1_eff, tm_type u1) -> typing (extend_env g x t1) (open_term t2 x) (t2_eff, tm_type u2) -> - typing g (pack_ln (Tv_Arrow (mk_binder pp_name 0 t1 q) (mk_comp (eff, t2)))) + typing g (pack_ln (Tv_Arrow (mk_binder pp_name t1 q) (mk_comp (eff, t2)))) (T.E_Total, tm_type (u_max u1 u2)) | T_Refine: @@ -1042,7 +1234,7 @@ type typing : env -> term -> comp_typ -> Type0 = e_eff:T.tot_or_ghost -> typing g t (t_eff, tm_type u1) -> typing (extend_env g x t) (open_term e x) (e_eff, tm_type u2) -> - typing g (pack_ln (Tv_Refine (pack_bv (make_bv 0)) t e)) (T.E_Total, tm_type u1) + typing g (pack_ln (Tv_Refine (mk_simple_binder pp_name_default t) e)) (T.E_Total, tm_type u1) | T_PropIrrelevance: g:env -> @@ -1079,15 +1271,21 @@ type typing : env -> term -> comp_typ -> Type0 = typing g ty (ty_eff, tm_type u_ty) -> //typedness of ty cannot rely on hyp typing g (mk_if scrutinee then_ else_) (eff, ty) - // | T_Match: - // g:env -> - // scrutinee:term -> - // i_ty:term -> - // branches:list branch -> - // ty:term -> - // typing g scrutinee i_ty -> - // branches_typing g scrutinee i_ty branches ty -> - // typing g (pack_ln (Tv_Match scrutinee None branches)) ty + | T_Match: + g:env -> + sc_u : universe -> + sc_ty : typ -> + sc : term -> + ty_eff:T.tot_or_ghost -> + typing g sc_ty (ty_eff, tm_type sc_u) -> + eff:T.tot_or_ghost -> + typing g sc (eff, sc_ty) -> + branches:list branch -> + ty:comp_typ -> + bnds:list (list R.binding) -> + complet : match_is_complete g sc sc_ty (List.Tot.map fst branches) bnds -> // complete patterns + branches_typing g sc_u sc_ty sc ty branches bnds -> // each branch has proper type + typing g (pack_ln (Tv_Match sc None branches)) ty and related : env -> term -> relation -> term -> Type0 = | Rel_equiv: @@ -1102,7 +1300,7 @@ and related : env -> term -> relation -> term -> Type0 = g:env -> t0:term -> t1:term -> - squash (FTB.subtyping_token g t0 t1) -> + squash (T.subtyping_token g t0 t1) -> related g t0 R_Sub t1 | Rel_arrow: @@ -1136,9 +1334,9 @@ and related : env -> term -> relation -> term -> Type0 = } -> related g t1 R_Eq t2 -> related (extend_env g x t1) - (open_or_close_term' e1 (open_with_var x) 0) + (subst_term e1 (open_with_var x 0)) R_Eq - (open_or_close_term' e2 (open_with_var x) 0) -> + (subst_term e2 (open_with_var x 0)) -> related g (mk_abs t1 q e1) R_Eq (mk_abs t2 q e2) and equiv : env -> term -> term -> Type0 = @@ -1177,13 +1375,13 @@ and equiv : env -> term -> term -> Type0 = e:R.term { ln' e 0 } -> arg:R.term { ln arg } -> equiv g (R.pack_ln (R.Tv_App (mk_abs t q e) (arg, q))) - (open_or_close_term' e (OpenWith arg) 0) + (subst_term e [ DT 0 arg ]) | EQ_Token: g:env -> t0:term -> t1:term -> - squash (FTB.equiv_token g t0 t1) -> + squash (T.equiv_token g t0 t1) -> equiv g t0 t1 | EQ_Ctxt: @@ -1215,7 +1413,57 @@ and related_comp : env -> comp_typ -> relation -> comp_typ -> Type0 = non_informative t -> related_comp g (T.E_Ghost, t) R_Sub (T.E_Total, t) -// and branches_typing : env -> term -> term -> list branch -> term -> Type0 = +and branches_typing (g:env) (sc_u:universe) (sc_ty:typ) (sc:term) (rty:comp_typ) + : (brs:list branch) -> (bnds : list (list R.binding)) -> Type0 += + (* This judgement only enforces that branch_typing holds for every + element of brs and its respective bnds (which must have the same + length). *) + + | BT_Nil : + branches_typing g sc_u sc_ty sc rty [] [] + + | BT_S : + + br : branch -> + bnds : list R.binding -> + pf : branch_typing g sc_u sc_ty sc rty br bnds -> + + rest_br : list branch -> + rest_bnds : list (list R.binding) -> + rest : branches_typing g sc_u sc_ty sc rty rest_br rest_bnds -> + branches_typing g sc_u sc_ty sc rty (br :: rest_br) (bnds :: rest_bnds) + +and branch_typing (g:env) (sc_u:universe) (sc_ty:typ) (sc:term) (rty:comp_typ) + : (br : branch) -> (bnds : list R.binding) -> Type0 += + | BO : + pat : pattern -> + bnds : list R.binding{bindings_ok_for_pat g bnds pat} -> + hyp_var:var{None? (lookup_bvar (extend_env_l g (refl_bindings_to_bindings bnds)) hyp_var)} -> + + body:term -> + + _ : squash (Some? (elaborate_pat pat bnds)) -> + + typing (extend_env + (extend_env_l g (refl_bindings_to_bindings bnds)) + hyp_var (eq2 sc_u sc_ty sc (fst (Some?.v (elaborate_pat pat bnds)))) + ) + body rty -> + + branch_typing g sc_u sc_ty sc rty + (pat, close_term_bs (refl_bindings_to_bindings bnds) body) + bnds + +and match_is_complete : env -> term -> typ -> list pattern -> list (list R.binding) -> Type0 = + | MC_Tok : + env:_ -> + sc:_ -> + ty:_ -> + pats:_ -> + bnds:_ -> + squash (T.match_complete_token env sc ty pats bnds) -> match_is_complete env sc ty pats bnds and sub_typing (g:env) (t1 t2:term) = related g t1 R_Sub t2 @@ -1225,15 +1473,6 @@ type tot_typing (g:env) (e:term) (t:term) = typing g e (T.E_Total, t) type ghost_typing (g:env) (e:term) (t:term) = typing g e (T.E_Ghost, t) -let bindings = list (var & term) -let rename_bindings bs x y = FStar.List.Tot.map (fun (v, t) -> (v, rename t x y)) bs - -let rec extend_env_l (g:env) (bs:bindings) - : env - = match bs with - | [] -> g - | (x,t)::bs -> extend_env (extend_env_l g bs) x t - val subtyping_token_renaming (g:env) (bs0:bindings) (bs1:bindings) @@ -1241,10 +1480,10 @@ val subtyping_token_renaming (g:env) (y:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) y) }) (t:term) (t0 t1:term) - (d:FTB.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) - : FTB.subtyping_token (extend_env_l g (rename_bindings bs1 x y@(y,t)::bs0)) - (rename t0 x y) - (rename t1 x y) + (d:T.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) + : T.subtyping_token (extend_env_l g (rename_bindings bs1 x y@(y,t)::bs0)) + (rename t0 x y) + (rename t1 x y) val subtyping_token_weakening (g:env) (bs0:bindings) @@ -1252,8 +1491,8 @@ val subtyping_token_weakening (g:env) (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) (t:term) (t0 t1:term) - (d:FTB.subtyping_token (extend_env_l g (bs1@bs0)) t0 t1) - : FTB.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1 + (d:T.subtyping_token (extend_env_l g (bs1@bs0)) t0 t1) + : T.subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1 let simplify_umax (#g:R.env) (#t:R.term) (#u:R.universe) (d:typing g t (T.E_Total, tm_type (u_max u u))) @@ -1272,91 +1511,86 @@ val well_typed_terms_are_ln (g:R.env) (e:R.term) (c:comp_typ) (_:typing g e c) val type_correctness (g:R.env) (e:R.term) (c:comp_typ) (_:typing g e c) : GTot (u:R.universe & typing g (snd c) (T.E_Total, tm_type u)) -val binder_offset_pattern_invariant (p:pattern) (s:open_or_close) (i:nat) - : Lemma (binder_offset_pattern p == binder_offset_pattern (open_or_close_pattern' p s i)) +val binder_offset_pattern_invariant (p:pattern) (ss:subst) + : Lemma (binder_offset_pattern p == binder_offset_pattern (subst_pattern p ss)) -val binder_offset_patterns_invariant (p:list (pattern & bool)) (s:open_or_close) (i:nat) - : Lemma (binder_offset_patterns p == binder_offset_patterns (open_or_close_patterns' p s i)) +val binder_offset_patterns_invariant (p:list (pattern & bool)) (ss:subst) + : Lemma (binder_offset_patterns p == binder_offset_patterns (subst_patterns p ss)) val open_close_inverse' (i:nat) (t:term { ln' t (i - 1) }) (x:var) : Lemma - (ensures open_or_close_term' - (open_or_close_term' t (CloseVar x) i) - (open_with_var x) - i + (ensures subst_term + (subst_term t [ ND x i ]) + (open_with_var x i) == t) val open_close_inverse'_binder (i:nat) (b:binder { ln'_binder b (i - 1) }) (x:var) - : Lemma (ensures open_or_close_binder' - (open_or_close_binder' b (CloseVar x) i) - (open_with_var x) - i + : Lemma (ensures subst_binder + (subst_binder b [ ND x i ]) + (open_with_var x i) == b) val open_close_inverse'_terms (i:nat) (ts:list term { ln'_terms ts (i - 1) }) (x:var) - : Lemma (ensures open_or_close_terms' (open_or_close_terms' ts (CloseVar x) i) - (open_with_var x) - i + : Lemma (ensures subst_terms + (subst_terms ts [ ND x i ]) + (open_with_var x i) == ts) val open_close_inverse'_comp (i:nat) (c:comp { ln'_comp c (i - 1) }) (x:var) : Lemma - (ensures open_or_close_comp' (open_or_close_comp' c (CloseVar x) i) - (open_with_var x) - i + (ensures subst_comp + (subst_comp c [ ND x i ]) + (open_with_var x i) == c) val open_close_inverse'_args (i:nat) (ts:list argv { ln'_args ts (i - 1) }) (x:var) : Lemma - (ensures open_or_close_args' (open_or_close_args' ts (CloseVar x) i) - (open_with_var x) - i + (ensures subst_args + (subst_args ts [ ND x i ]) + (open_with_var x i) == ts) val open_close_inverse'_patterns (i:nat) - (ps:list (pattern & bool) { ln'_patterns ps (i - 1) }) - (x:var) + (ps:list (pattern & bool) { ln'_patterns ps (i - 1) }) + (x:var) : Lemma - (ensures open_or_close_patterns' (open_or_close_patterns' ps (CloseVar x) i) - (open_with_var x) - i + (ensures subst_patterns + (subst_patterns ps [ ND x i ]) + (open_with_var x i) == ps) val open_close_inverse'_pattern (i:nat) (p:pattern{ln'_pattern p (i - 1)}) (x:var) : Lemma - (ensures open_or_close_pattern' (open_or_close_pattern' p (CloseVar x) i) - (open_with_var x) - i + (ensures subst_pattern + (subst_pattern p [ ND x i ]) + (open_with_var x i) == p) val open_close_inverse'_branch (i:nat) (br:branch{ln'_branch br (i - 1)}) (x:var) : Lemma - (ensures open_or_close_branch' - (open_or_close_branch' br (CloseVar x) i) - (open_with_var x) - i + (ensures subst_branch + (subst_branch br [ ND x i ]) + (open_with_var x i) == br) val open_close_inverse'_branches (i:nat) - (brs:list branch { ln'_branches brs (i - 1) }) - (x:var) + (brs:list branch { ln'_branches brs (i - 1) }) + (x:var) : Lemma - (ensures open_or_close_branches' - (open_or_close_branches' brs (CloseVar x) i) - (open_with_var x) - i + (ensures subst_branches + (subst_branches brs [ ND x i ]) + (open_with_var x i) == brs) val open_close_inverse'_match_returns (i:nat) - (m:match_returns_ascription { ln'_match_returns m (i - 1) }) - (x:var) + (m:match_returns_ascription { ln'_match_returns m (i - 1) }) + (x:var) : Lemma - (ensures open_or_close_match_returns' - (open_or_close_match_returns' m (CloseVar x) i) - (open_with_var x) - i + (ensures subst_match_returns + (subst_match_returns m [ ND x i ]) + (open_with_var x i) == m) val open_close_inverse (e:R.term { ln e }) (x:var) @@ -1364,94 +1598,85 @@ val open_close_inverse (e:R.term { ln e }) (x:var) val close_open_inverse' (i:nat) - (t:term) - (x:var { ~(x `Set.mem` freevars t) }) + (t:term) + (x:var { ~(x `Set.mem` freevars t) }) : Lemma - (ensures open_or_close_term' - (open_or_close_term' t (open_with_var x) i) - (CloseVar x) - i + (ensures subst_term + (subst_term t (open_with_var x i)) + [ ND x i ] == t) val close_open_inverse'_comp (i:nat) (c:comp) (x:var{ ~(x `Set.mem` freevars_comp c) }) : Lemma - (ensures open_or_close_comp' - (open_or_close_comp' c (open_with_var x) i) - (CloseVar x) - i + (ensures subst_comp + (subst_comp c (open_with_var x i)) + [ ND x i ] == c) val close_open_inverse'_args (i:nat) (args:list argv) (x:var{ ~(x `Set.mem` freevars_args args) }) : Lemma - (ensures open_or_close_args' - (open_or_close_args' args (open_with_var x) i) - (CloseVar x) - i + (ensures subst_args + (subst_args args (open_with_var x i)) + [ ND x i] == args) val close_open_inverse'_binder (i:nat) (b:binder) (x:var{ ~(x `Set.mem` freevars_binder b) }) : Lemma - (ensures open_or_close_binder' - (open_or_close_binder' b (open_with_var x) i) - (CloseVar x) - i + (ensures subst_binder + (subst_binder b (open_with_var x i)) + [ ND x i ] == b) val close_open_inverse'_terms (i:nat) (ts:list term) (x:var{ ~(x `Set.mem` freevars_terms ts) }) : Lemma - (ensures open_or_close_terms' - (open_or_close_terms' ts (open_with_var x) i) - (CloseVar x) - i + (ensures subst_terms + (subst_terms ts (open_with_var x i)) + [ ND x i ] == ts) val close_open_inverse'_branches (i:nat) (brs:list branch) (x:var{ ~(x `Set.mem` freevars_branches brs) }) : Lemma - (ensures open_or_close_branches' - (open_or_close_branches' brs (open_with_var x) i) - (CloseVar x) - i + (ensures subst_branches + (subst_branches brs (open_with_var x i)) + [ ND x i ] == brs) val close_open_inverse'_branch (i:nat) (br:branch) (x:var{ ~(x `Set.mem` freevars_branch br) }) : Lemma - (ensures open_or_close_branch' - (open_or_close_branch' br (open_with_var x) i) - (CloseVar x) - i + (ensures subst_branch + (subst_branch br (open_with_var x i)) + [ ND x i ] == br) val close_open_inverse'_pattern (i:nat) (p:pattern) (x:var{ ~(x `Set.mem` freevars_pattern p) }) : Lemma - (ensures open_or_close_pattern' - (open_or_close_pattern' p (open_with_var x) i) - (CloseVar x) - i + (ensures subst_pattern + (subst_pattern p (open_with_var x i)) + [ ND x i ] == p) val close_open_inverse'_patterns (i:nat) (ps:list (pattern & bool)) (x:var {~ (x `Set.mem` freevars_patterns ps) }) : Lemma - (ensures open_or_close_patterns' (open_or_close_patterns' ps (open_with_var x) i) - (CloseVar x) - i + (ensures subst_patterns + (subst_patterns ps (open_with_var x i)) + [ ND x i ] == ps) val close_open_inverse'_match_returns (i:nat) (m:match_returns_ascription) (x:var{ ~(x `Set.mem` freevars_match_returns m) }) : Lemma - (ensures open_or_close_match_returns' - (open_or_close_match_returns' m (open_with_var x) i) - (CloseVar x) - i + (ensures subst_match_returns + (subst_match_returns m (open_with_var x i)) + [ ND x i ] == m) val close_open_inverse (e:R.term) (x:var {~ (x `Set.mem` freevars e) }) @@ -1463,23 +1688,23 @@ val close_open_inverse (e:R.term) (x:var {~ (x `Set.mem` freevars e) }) val close_with_not_free_var (t:R.term) (x:var) (i:nat) : Lemma (requires ~ (Set.mem x (freevars t))) - (ensures open_or_close_term' t (CloseVar x) i == t) + (ensures subst_term t [ ND x i ] == t) // may be it should require e1 and e2 to be ln at 0, // and x not in FV e1 and FV e2 val equiv_abs (#g:R.env) (#e1 #e2:R.term) (ty:R.typ) (q:R.aqualv) (x:var{None? (lookup_bvar g x)}) (eq:equiv (extend_env g x ty) - (open_or_close_term' e1 (open_with_var x) 0) - (open_or_close_term' e2 (open_with_var x) 0)) + (subst_term e1 (open_with_var x 0)) + (subst_term e2 (open_with_var x 0))) : equiv g (mk_abs ty q e1) (mk_abs ty q e2) val equiv_arrow (#g:R.env) (#e1 #e2:R.term) (ty:R.typ) (q:R.aqualv) (x:var{None? (lookup_bvar g x)}) (eq:equiv (extend_env g x ty) - (open_or_close_term' e1 (open_with_var x) 0) - (open_or_close_term' e2 (open_with_var x) 0)) + (subst_term e1 (open_with_var x 0)) + (subst_term e2 (open_with_var x 0))) : equiv g (mk_arrow ty q e1) (mk_arrow ty q e2) @@ -1487,14 +1712,14 @@ val equiv_arrow (#g:R.env) (#e1 #e2:R.term) (ty:R.typ) (q:R.aqualv) val equiv_abs_close (#g:R.env) (#e1 #e2:R.term) (ty:R.typ) (q:R.aqualv) (x:var{None? (lookup_bvar g x)}) (eq:equiv (extend_env g x ty) e1 e2) - : equiv g (mk_abs ty q (open_or_close_term' e1 (CloseVar x) 0)) - (mk_abs ty q (open_or_close_term' e2 (CloseVar x) 0)) + : equiv g (mk_abs ty q (subst_term e1 [ ND x 0 ])) + (mk_abs ty q (subst_term e2 [ ND x 0 ])) val open_with_gt_ln (e:term) (i:nat) (t:term) (j:nat) : Lemma (requires ln' e i /\ i < j) - (ensures open_or_close_term' e (OpenWith t) j == e) - [SMTPat (ln' e i); SMTPat (open_or_close_term' e (OpenWith t) j)] + (ensures subst_term e [ DT j t ] == e) + [SMTPat (ln' e i); SMTPat (subst_term e [ DT j t ])] // // Type of the top-level tactic that would splice-in the definitions @@ -1520,3 +1745,45 @@ type fstar_top_env = g:fstar_env { // type dsl_tac_t = g:fstar_top_env -> T.Tac (r:(R.term & R.typ){typing g (fst r) (T.E_Total, snd r)}) + +val if_complete_match (g:env) (t:term) + : T.match_complete_token g t bool_ty [ + Pat_Constant C_True; + Pat_Constant C_False; + ] [[]; []] + +// Derived rule for if + + +let mkif + (g:fstar_env) + (scrutinee:term) + (then_:term) + (else_:term) + (ty:term) + (u_ty:universe) + (hyp:var { None? (lookup_bvar g hyp) /\ ~(hyp `Set.mem` (freevars then_ `Set.union` freevars else_)) }) + (eff:T.tot_or_ghost) + (ty_eff:T.tot_or_ghost) + (ts : typing g scrutinee (eff, bool_ty)) + (tt : typing (extend_env g hyp (eq2 (pack_universe Uv_Zero) bool_ty scrutinee true_bool)) then_ (eff, ty)) + (te : typing (extend_env g hyp (eq2 (pack_universe Uv_Zero) bool_ty scrutinee false_bool)) else_ (eff, ty)) + (tr : typing g ty (ty_eff, tm_type u_ty)) +: typing g (mk_if scrutinee then_ else_) (eff, ty) += let brt = (Pat_Constant C_True, then_) in + let bre = (Pat_Constant C_False, else_) in + bindings_ok_pat_constant g C_True; + bindings_ok_pat_constant g C_False; + let brty () : branches_typing g u_zero bool_ty scrutinee (eff,ty) [brt; bre] [[]; []] = + BT_S (Pat_Constant C_True, then_) [] + (BO (Pat_Constant C_True) [] hyp then_ () tt) + _ _ ( + BT_S (Pat_Constant C_False, else_) [] + (BO (Pat_Constant C_False) [] hyp else_ () te) + _ _ + BT_Nil) + in + T_Match g u_zero bool_ty scrutinee T.E_Total (T_FVar g bool_fv) eff ts [brt; bre] (eff, ty) + [[]; []] + (MC_Tok g scrutinee bool_ty _ _ (Squash.return_squash (if_complete_match g scrutinee))) + (brty ()) diff --git a/ulib/prims.fst b/ulib/prims.fst index f67614ac7e3..3a9b6d93578 100644 --- a/ulib/prims.fst +++ b/ulib/prims.fst @@ -708,4 +708,4 @@ val string_of_int: int -> Tot string (** THIS IS MEANT TO BE KEPT IN SYNC WITH FStar.CheckedFiles.fs Incrementing this forces all .checked files to be invalidated *) irreducible -let __cache_version_number__ = 56 +let __cache_version_number__ = 57